|
|
@@ -0,0 +1,43 @@
|
|
|
+// 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: Adds support for automatically selecting a hidden checkbox/radio button for each selected row of an HtmlTable.
|
|
|
+provides: [Behavior.HtmlTableCheckSelected]
|
|
|
+requires: [Widgets/Behavior.HtmlTable]
|
|
|
+script: Behavior.HtmlTableCheckSelected.js
|
|
|
+...
|
|
|
+*/
|
|
|
+;(function(){
|
|
|
+
|
|
|
+function rowFocusHandler(row, selectedRows){
|
|
|
+ var box = row.getElement('input[type=checkbox], input[type=radio]');
|
|
|
+ if (!box) return;
|
|
|
+ box.set('checked', selectedRows.contains(row));
|
|
|
+}
|
|
|
+
|
|
|
+var events = {
|
|
|
+ rowFocus: rowFocusHandler,
|
|
|
+ rowUnfocus: rowFocusHandler
|
|
|
+};
|
|
|
+
|
|
|
+function HtmlTableCheckSelected(element){
|
|
|
+ element.retrieve('HtmlTable').addEvents(events);
|
|
|
+}
|
|
|
+
|
|
|
+Behavior.addGlobalPlugin('HtmlTable', 'HtmlTableCheckSelected', HtmlTableCheckSelected);
|
|
|
+
|
|
|
+}());
|