From: <li...@us...> - 2014-01-26 18:44:09
|
Revision: 49584 http://sourceforge.net/p/tikiwiki/code/49584 Author: lindonb Date: 2014-01-26 18:44:07 +0000 (Sun, 26 Jan 2014) Log Message: ----------- [bp/r49580 and r49582][FIX]tracker: Replacing r43697 with a better (hopefully) fix for header field descriptions. Previous fix caused other field descriptions to no longer be directly under the field input and other issues. Revision Links: -------------- http://sourceforge.net/p/tikiwiki/code/49580 http://sourceforge.net/p/tikiwiki/code/49582 http://sourceforge.net/p/tikiwiki/code/43697 Modified Paths: -------------- branches/11.x/lib/core/Tracker/Field/Header.php branches/11.x/lib/wiki-plugins/wikiplugin_tracker.php Modified: branches/11.x/lib/core/Tracker/Field/Header.php =================================================================== --- branches/11.x/lib/core/Tracker/Field/Header.php 2014-01-26 17:38:36 UTC (rev 49583) +++ branches/11.x/lib/core/Tracker/Field/Header.php 2014-01-26 18:44:07 UTC (rev 49584) @@ -74,7 +74,9 @@ $toggle = $this->getOption(1); $inTable = isset($context['inTable']) ? $context['inTable'] : ''; $name = htmlspecialchars(tra($this->getConfiguration('name'))); - + //to distinguish header description display on tiki-view_tracker.php versus when plugin tracker is used + $desclass = isset($context['pluginTracker']) && $context['pluginTracker'] == 'y' ? + 'trackerplugindesc' : 'description'; $data_toggle = ''; if ($prefs['javascript_enabled'] === 'y' && ($toggle === 'o' || $toggle === 'c')) { $class = ' ' . ($toggle === 'c' ? 'trackerHeaderClose' : 'trackerHeaderOpen'); @@ -84,23 +86,31 @@ $js = ' (function() { var processTableForHeaders = function( $table ) { - var $hdr, $newtable = $("<table>").attr("class", $table.attr("class")); + var $hdr, $descdiv, $newtable = $("<table>").attr("class", $table.attr("class")); $("tr", $table).each(function() { // step through each row if ($(".hdrField", this).length) { // chop the table... var $this = $(this); var $sibs = $this.nextAll("tr"); var level = $(".hdrField:first", this).data("level"); - var name = $("td:first", this).text(); + var name = $(".hdrField:first", this).data("name"); $hdr = $("<h" + level + ">").text($.trim(name)); + $descdiv = $("div.' . $desclass . '", this); var toggle = $(".hdrField:first", this).data("toggle"); if (toggle) { $hdr.click(function(){ $newtable.toggle(); + if (typeof $descdiv != \'undefined\') { + $descdiv.toggle(); + } $(this).toggleClass("trackerHeaderClose") .toggleClass("trackerHeaderOpen"); }).addClass(toggle === "c" ? "trackerHeaderClose" : "trackerHeaderOpen"); - if (toggle === "c") $newtable.hide(); - + if (toggle === "c") { + $newtable.hide(); + if (typeof $descdiv != \'undefined\') { + $descdiv.hide(); + } + } } $sibs.each(function(){ $newtable.append(this); @@ -110,6 +120,9 @@ } }); $table.after($newtable).after($hdr); + if (typeof $descdiv != \'undefined\' && $("tr", $newtable).length > 0){ + $newtable.before($descdiv); + } if ($("tr", $newtable).length) { processTableForHeaders($newtable); // recurse until done } @@ -124,8 +137,8 @@ $headerlib->add_jq_onready($js); // just a marker for jQ to find - $html = '<span class="hdrField' . $class . '" data-level="' . $level . '" ' . - $data_toggle .' style="display:none;"></span>'; + $html = '<span class="hdrField' . $class . '" data-level="' . $level . '" ' . '" data-name="' . $name . '" ' + . $data_toggle .' style="display:none;"></span>'; return $html; } Modified: branches/11.x/lib/wiki-plugins/wikiplugin_tracker.php =================================================================== --- branches/11.x/lib/wiki-plugins/wikiplugin_tracker.php 2014-01-26 17:38:36 UTC (rev 49583) +++ branches/11.x/lib/wiki-plugins/wikiplugin_tracker.php 2014-01-26 18:44:07 UTC (rev 49584) @@ -1387,12 +1387,10 @@ } $back .= wikiplugin_tracker_render_input($f, $item, $dynamicSave); - $back .= "</td></tr>"; } if ($f['type'] != 'S' && empty($tpl) && empty($wiki)) { - $back .= '<tr><td class="plugindesc_cell" colspan="2">'; - $back .= '<span class="trackerplugindesc">'; + $back .= '<div class="trackerplugindesc">'; if ($f['descriptionIsParsed'] == 'y') { $back .= $tikilib->parse_data($f['description']); @@ -1400,8 +1398,7 @@ $back .= tra($f['description']); } - $back .= '</span>'; - $back .= "</td></tr>"; + $back .= '</div>'; } } } @@ -1531,7 +1528,7 @@ $handler = TikiLib::lib("trk")->get_field_handler($f, $item); } - $input = $handler->renderInput(array('inTable' => 'y')); + $input = $handler->renderInput(array('inTable' => 'y', 'pluginTracker' => 'y')); if ($dynamicSave && $item['itemId']) { $servicelib = TikiLib::lib('service'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |