Browse Source

HUE-73. Chrome doesn't always size tables to 100% width.

Aaron T. Myers 15 years ago
parent
commit
522c509008

+ 30 - 0
desktop/core/static/js/Source/BehaviorFilters/Behavior.HtmlTableChromeHack.js

@@ -0,0 +1,30 @@
+// 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: Hack to make tables not jump around in Chrome.
+provides: [Behavior.HtmlTableChromeHack]
+requires: [Widgets/Behavior.HtmlTable]
+script: Behavior.HtmlTableChromeHack.js
+...
+*/
+
+if (Browser.Engine.webkit) {
+  Behavior.addGlobalPlugin('HtmlTable', 'HtmlTableChromeHack', function(element, methods) {
+    var width = element.style.width;
+    element.setStyle('width', '99%');
+    (function() {
+      element.style.width = width;
+    }).delay(1);
+  });
+}

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

@@ -41,6 +41,7 @@ requires:
  - /Behavior.ContextMenu
  - /Behavior.ContextMenu
  - /Behavior.FilterInput
  - /Behavior.FilterInput
  - /Behavior.FitText
  - /Behavior.FitText
+ - /Behavior.HtmlTableChromeHack
  - /Behavior.HtmlTableKeyboard
  - /Behavior.HtmlTableKeyboard
  - /Behavior.HtmlTableMultiSelectMenu
  - /Behavior.HtmlTableMultiSelectMenu
  - /Behavior.MultiChecks
  - /Behavior.MultiChecks

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

@@ -55,8 +55,9 @@ sources: [
   Source/BehaviorFilters/Behavior.ContextMenu.js,
   Source/BehaviorFilters/Behavior.ContextMenu.js,
   Source/BehaviorFilters/Behavior.FilterInput.js,
   Source/BehaviorFilters/Behavior.FilterInput.js,
   Source/BehaviorFilters/Behavior.FitText.js,
   Source/BehaviorFilters/Behavior.FitText.js,
-  Source/BehaviorFilters/Behavior.HtmlTableMultiSelectMenu.js,
+  Source/BehaviorFilters/Behavior.HtmlTableChromeHack.js,
   Source/BehaviorFilters/Behavior.HtmlTableKeyboard.js,
   Source/BehaviorFilters/Behavior.HtmlTableKeyboard.js,
+  Source/BehaviorFilters/Behavior.HtmlTableMultiSelectMenu.js,
   Source/BehaviorFilters/Behavior.MultiChecks.js,
   Source/BehaviorFilters/Behavior.MultiChecks.js,
   Source/BehaviorFilters/Behavior.SideBySideSelect.js,
   Source/BehaviorFilters/Behavior.SideBySideSelect.js,
   Source/BehaviorFilters/Behavior.SizeTo.js,
   Source/BehaviorFilters/Behavior.SizeTo.js,