Browse Source

#787 Added buttons to check/uncheck all options at once in multi selects inside search forms.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2928 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 11 years ago
parent
commit
7294c58655

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

@@ -1517,7 +1517,16 @@ abstract class cmdbAbstractObject extends CMDBObject implements iDisplay
 		}
 		if ($bMultiSelect)
 		{
-			$oPage->add_ready_script("$('.multiselect').multiselect({header: false, noneSelectedText: '".addslashes(Dict::S('UI:SearchValue:Any'))."', selectedList: 1, selectedText:'".addslashes(Dict::S('UI:SearchValue:NbSelected'))."'});");
+			$aOptions = array(
+				'header' => true,
+				'checkAllText' => Dict::S('UI:SearchValue:CheckAll'),
+				'uncheckAllText' => Dict::S('UI:SearchValue:UncheckAll'),
+				'noneSelectedText' => Dict::S('UI:SearchValue:Any'),
+				'selectedText' => Dict::S('UI:SearchValue:NbSelected'),
+				'selectedList' => 1,
+			);
+			$sJSOptions = json_encode($aOptions);
+			$oPage->add_ready_script("$('.multiselect').multiselect($sJSOptions);");
 		}
 /*
 		// OQL query builder

+ 11 - 2
application/itopwebpage.class.inc.php

@@ -80,6 +80,15 @@ class iTopWebPage extends NiceWebPage
 		$this->add_linked_script('../js/jquery.multiselect.min.js');
 		$this->add_linked_script('../js/ajaxfileupload.js');
 		
+		$aMultiselectOptions = array(
+			'header' => true,
+			'checkAllText' => Dict::S('UI:SearchValue:CheckAll'),
+			'uncheckAllText' => Dict::S('UI:SearchValue:UncheckAll'),
+			'noneSelectedText' => Dict::S('UI:SearchValue:Any'),
+			'selectedText' => Dict::S('UI:SearchValue:NbSelected'),
+			'selectedList' => 1,
+		);
+		$sJSMultiselectOptions = json_encode($aMultiselectOptions);
 		$sSearchAny = addslashes(Dict::S('UI:SearchValue:Any'));
 		$sSearchNbSelected = addslashes(Dict::S('UI:SearchValue:NbSelected'));
 		$this->add_dict_entry('UI:FillAllMandatoryFields');
@@ -182,7 +191,7 @@ class iTopWebPage extends NiceWebPage
 			}
 		});
 		
-		$('.multiselect').multiselect({header: false, noneSelectedText: '$sSearchAny', selectedList: 1, selectedText:'$sSearchNbSelected'});
+		$('.multiselect').multiselect($sJSMultiselectOptions);
 		
 		$('.resizable').filter(':visible').resizable();
 	}
@@ -383,7 +392,7 @@ EOF
 		{
 			if ($('#rawOutput > div').html() != '')
 			{
-				$('#rawOutput').dialog( {autoOpen: true, modal:false});
+				$('#rawOutput').dialog( {autoOpen: true, modal:false, width: '80%'});
 			}
 		}
 		

+ 10 - 1
application/ui.extkeywidget.class.inc.php

@@ -207,7 +207,16 @@ class UIExtKeyWidget
 				$sHTMLValue .= "</select>\n";
 				if (($this->bSearchMode) && $bSearchMultiple)
 				{
-					$oPage->add_ready_script("$('.multiselect').multiselect({header: false, noneSelectedText: '".addslashes(Dict::S('UI:SearchValue:Any'))."', selectedList: 1, selectedText:'".addslashes(Dict::S('UI:SearchValue:NbSelected'))."'});");
+					$aOptions = array(
+						'header' => true,
+						'checkAllText' => Dict::S('UI:SearchValue:CheckAll'),
+						'uncheckAllText' => Dict::S('UI:SearchValue:UncheckAll'),
+						'noneSelectedText' => Dict::S('UI:SearchValue:Any'),
+						'selectedText' => Dict::S('UI:SearchValue:NbSelected'),
+						'selectedList' => 1,
+					);
+					$sJSOptions = json_encode($aOptions);
+					$oPage->add_ready_script("$('.multiselect').multiselect($sJSOptions);");
 				}
 				$oPage->add_ready_script(
 <<<EOF