Bladeren bron

- Fixed the search form, and also fixed the search/selection of objects to link (n:n links) that was broken on IE8.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@925 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 14 jaren geleden
bovenliggende
commit
d5feebbfd3
4 gewijzigde bestanden met toevoegingen van 23 en 8 verwijderingen
  1. 2 2
      application/cmdbabstract.class.inc.php
  2. 1 1
      application/ui.linkswidget.class.inc.php
  3. 3 3
      css/light-grey.css
  4. 17 2
      js/utils.js

+ 2 - 2
application/cmdbabstract.class.inc.php

@@ -466,7 +466,7 @@ abstract class cmdbAbstractObject extends CMDBObject
 		{
 			if (!$bSingleSelectMode)
 			{
-				$aAttribs['form::select'] = array('label' => "<input type=\"checkbox\" onChange=\"var value = this.checked; $('.selectList{$iListId}').each( function() { this.checked = value; } );\"></input>", 'description' => Dict::S('UI:SelectAllToggle+'));
+				$aAttribs['form::select'] = array('label' => "<input type=\"checkbox\" onClick=\"CheckAll('.selectList{$iListId}', this.checked);\"></input>", 'description' => Dict::S('UI:SelectAllToggle+'));
 			}
 			else
 			{
@@ -907,7 +907,7 @@ EOF
 			$sClassesCombo = MetaModel::GetName($sClassName);
 		}
 		$oUnlimitedFilter = new DBObjectSearch($sClassName);
-		$sHtml .= "<form id=\"form{$iSearchFormId}\" action=\"{$_SERVER['SCRIPT_NAME']}\">\n";
+		$sHtml .= "<form id=\"form{$iSearchFormId}\" action=\"../pages/UI.php\">\n"; // Don't use $_SERVER['SCRIPT_NAME'] since the form may be called asynchronously (from ajax.php)
 		$sHtml .= "<h2>".Dict::Format('UI:SearchFor_Class_Objects', $sClassesCombo)."</h2>\n";
 		$index = 0;
 		$sHtml .= "<p>\n";

+ 1 - 1
application/ui.linkswidget.class.inc.php

@@ -60,7 +60,7 @@ class UILinksWidget
 
 		$this->m_aEditableFields = array();
 		$this->m_aTableConfig = array();
-		$this->m_aTableConfig['form::checkbox'] = array( 'label' => "<input class=\"select_all\" type=\"checkbox\" value=\"1\" onChange=\"var value = this.checked; $('#linkedset_{$this->m_sAttCode}{$this->m_sNameSuffix} .selection').each( function() { this.checked = value; } ); oWidget".self::$iWidgetIndex.".OnSelectChange();\">", 'description' => Dict::S('UI:SelectAllToggle+'));
+		$this->m_aTableConfig['form::checkbox'] = array( 'label' => "<input class=\"select_all\" type=\"checkbox\" value=\"1\" onClick=\"CheckAll('#linkedset_{$this->m_sAttCode}{$this->m_sNameSuffix} .selection', this.checked); oWidget".self::$iWidgetIndex.".OnSelectChange();\">", 'description' => Dict::S('UI:SelectAllToggle+'));
 
 		foreach(MetaModel::ListAttributeDefs($this->m_sLinkedClass) as $sAttCode=>$oAttDef)
 		{

+ 3 - 3
css/light-grey.css

@@ -794,7 +794,7 @@ div#inner_menu {
 }
 div#logo {
 	height: 70px;
-	width: 100%;
+	nowidth: 100%;
 	text-align: center;
 }
 div#logo div {
@@ -810,7 +810,7 @@ div#logo div {
 #global-search {
 	height: 55px;
 	float: right;
-	background: url(../images/banner-search.png) no-repeat left;
+	background: url(../images/banner-search.png) no-repeat;
 	nopadding-top: 15px;
 	text-align: right;
 	overflow-y: hidden;
@@ -830,7 +830,7 @@ div#logo div {
 #global-search > form input[type="text"] {
 	border: 0;
 	height: 18px;
-	width: 180px;E8FFD3
+	width: 180px;
 	padding-top: 4;
 	background: transparent;
 }

+ 17 - 2
js/utils.js

@@ -104,12 +104,16 @@ function ReloadSearchForm(divId, sClassName, sBaseClass, sContext)
     var oDiv = $('#'+divId);
 	oDiv.block();
 	var oFormEvents = $('#'+divId+' form').data('events');
+	var aSubmit = new Array();
 	
 	// Save the submit handlers
-	aSubmit = new Array();
+    aSubmit = new Array();
 	if ( (oFormEvents != null) && (oFormEvents.submit != undefined))
 	{
-		aSubmit = oFormEvents.submit;
+		for(index = 0; index < oFormEvents.submit.length; index++)
+		{
+			aSubmit [index ] = { data:oFormEvents.submit[index].data, namespace:oFormEvents.submit[index].namespace, handler:  oFormEvents.submit[index].handler};
+		}
 	}
 
 	$.post('ajax.render.php?'+sContext,
@@ -177,3 +181,14 @@ function GetUserPreference(sPreferenceCode, sDefaultValue)
 	}
 	return value;
 }
+
+/**
+ * Check/uncheck a whole list of checkboxes
+ */
+function CheckAll(sSelector, bValue)
+{
+	var value = bValue;
+	$(sSelector).each( function() {
+		this.checked = value;
+	});
+}