Browse Source

HUE-348. When FilterInput updates a zebra table, update the zebras

Shawn Van Ittersum 15 years ago
parent
commit
0cd2e38cbe

+ 1 - 0
desktop/core/static/js/Source/BehaviorFilters/Behavior.FilterInput.js

@@ -78,6 +78,7 @@ Behavior.addGlobalFilters({
 					parent.hide();
 				}
 			});
+			element.fireEvent('filter', parents);
 		};
 		var inputValue = element.get('value');
 		//if there's a predefined value on startup, run the filter

+ 36 - 0
desktop/core/static/js/Source/BehaviorFilters/Behavior.InputFilterHtmlTableZebra.js

@@ -0,0 +1,36 @@
+// Licensed to Cloudera, Inc. under one
+// or more contributor license agreements.	See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.	 Cloudera, Inc. licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.	You may obtain a copy of the License at
+//
+//		 http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+/*
+---
+description: Makes form validator instances scroll the jframe to the errors.
+provides: [Behavior.InputFilterHtmlTableZebra]
+requires: [/Behavior.FilterInput]
+script: Behavior.InputFilterHtmlTableZebra.js
+...
+*/
+
+Behavior.addGlobalPlugin('FilterInput', 'InputFilterHtmlTableZebra', function(element, behaviorAPI){
+	var update = function(parents){
+		if (parents.keys.length) {
+			var table = parents.keys[0].getParent('table[data-filters*=HtmlTable]');
+			if (table && table.retrieve('HtmlTable')) table.retrieve('HtmlTable').updateZebras();
+		}
+	}
+	element.addEvent('filter', update);
+	this.markForCleanup(element, function(){
+		element.removeEvent('filter', update);
+	});
+});

+ 1 - 0
desktop/core/static/js/Source/CCS/CCS.JFrame.js

@@ -51,6 +51,7 @@ requires:
  - /Behavior.HtmlTableMultiSelectMenu
  - /Behavior.HtmlTableRestore
  - /Behavior.HtmlTableUpdate
+ - /Behavior.InputFilterHtmlTableZebra
  - /Behavior.MultiChecks
  - /Behavior.PostEditor
  - /Behavior.SelectWithOther

+ 1 - 0
desktop/core/static/js/package.yml

@@ -75,6 +75,7 @@ sources: [
   Source/BehaviorFilters/Behavior.HtmlTableMultiSelectMenu.js,
   Source/BehaviorFilters/Behavior.HtmlTableRestore.js,
   Source/BehaviorFilters/Behavior.HtmlTableUpdate.js,
+  Source/BehaviorFilters/Behavior.InputFilterHtmlTableZebra.js,
   Source/BehaviorFilters/Behavior.MultiChecks.js,
   Source/BehaviorFilters/Behavior.PostEditor.js,
   Source/BehaviorFilters/Behavior.SelectWithOther.js,