Prechádzať zdrojové kódy

Fixed the broken n:n links management UI (Add button remained disabled)

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2095 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 13 rokov pred
rodič
commit
e110a55fe4
1 zmenil súbory, kde vykonal 26 pridanie a 1 odobranie
  1. 26 1
      application/cmdbabstract.class.inc.php

+ 26 - 1
application/cmdbabstract.class.inc.php

@@ -894,6 +894,7 @@ abstract class cmdbAbstractObject extends CMDBObject implements iDisplay
 		$sPagesLinks = implode('', $aPagesToDisplay);
 		$sPagesList = '['.implode(',', array_keys($aPagesToDisplay)).']';
 
+		$sSelectionMode = ($iNbPages == 1) ? '' : 'positive';
 		$sHtml =
 <<<EOF
 <div id="pager{$iListId}" class="pager" $sPagerStyle>
@@ -908,7 +909,7 @@ abstract class cmdbAbstractObject extends CMDBObject implements iDisplay
 		</tr>
 		</table>
 		
-		<input type="hidden" name="selectionMode" value="positive"></input>
+		<input type="hidden" name="selectionMode" value="$sSelectionMode"></input>
 </div>
 EOF
 .$sHtml;
@@ -968,6 +969,30 @@ var oTable = $('#{$iListId} table.listResults');
 oTable.tablesorter( { $sHeaders widgets: ['myZebra', 'truncatedList'] $sSortList} ).tablesorterPager({container: $('#pager{$iListId}'), totalRows:$iCount, size: $iPageSize, filter: '$sOQL', extra_params: '$sExtraParams', select_mode: '$sSelectMode', displayKey: $sDisplayKey, displayList: $sDisplayList $sCssCount});
 EOF
 		);
+		
+		if (isset($aExtraParams['cssCount']))
+		{
+			$sCssCount = $aExtraParams['cssCount'];
+			if ($bSingleSelectMode)
+			{
+				$sSelectSelector = ":radio[name^=selectObj]";
+			}
+			else
+			{
+				$sSelectSelector = ":checkbox[name^=selectObj]";
+			}
+			$oPage->add_ready_script(
+<<<EOF
+	$('#{$iListId} table.listResults $sSelectSelector').change(function() {
+		var c = $('{$sCssCount}');							
+		var v = $('#{$iListId} table.listResults $sSelectSelector:checked').length;
+		c.val(v);
+		$('#{$iListId} .selectedCount').text(v);
+		c.trigger('change');	
+	});
+EOF
+			);
+		}
 
 		return $sHtml;
 	}