Revert "LP#1740412 Grid cell tooltips limited to long content"
authorJason Stephenson <jason@sigio.com>
Wed, 10 Oct 2018 19:47:37 +0000 (15:47 -0400)
committerJason Stephenson <jason@sigio.com>
Wed, 10 Oct 2018 19:47:37 +0000 (15:47 -0400)
This reverts commit e8115509bd907248bdb1088e68fcacd5dc15d899.

Remove tooltips functionality that causes performance hit.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Open-ILS/src/templates/staff/share/t_autogrid.tt2
Open-ILS/web/js/ui/default/staff/services/grid.js

index 12996ea..8e07c7b 100644 (file)
           <!-- if the cell comes with its own template,
                translate that content into HTML and insert it here -->
           <span ng-if="col.template" style="padding-left:5px; padding-right:10px;"
-            id="{{cellId(col, item)}}"
             ng-init="html_value=translateCellTemplate(col, item)">
-            <span tooltip-class="eg-grid-tooltip"
-              uib-tooltip-html="cellOverflowed(cellId(col, item), 1) ? html_value : ''">
+            <span uib-tooltip-html="html_value" tooltip-class="eg-grid-tooltip">
               <span ng-bind-html="html_value"></span>
             </span>
           </span>
           <!-- otherwise, simply display the item value, which may 
                pass through datatype-specific filtering. -->
           <span ng-if="!col.template" 
-            id="{{cellId(col, item)}}"
             ng-init="text_value = (itemFieldValue(item, col) | egGridValueFilter:col:item)"
-            uib-tooltip="{{cellOverflowed(cellId(col, item), 1) ? text_value : ''}}"
+            uib-tooltip="{{text_value}}"
             tooltip-class="eg-grid-tooltip"
             style="padding-left:5px; padding-right:10px;">
             {{text_value}}
index ce494da..33998a1 100644 (file)
@@ -833,32 +833,6 @@ angular.module('egGridMod',
                 return grid.modifyColumnPos(col, diff);
             }
 
-            // Returns true of the contents of the cell overflow its container.
-            // parentDepth tells the code how far up the DOM tree to traverse
-            // via parentNode before stopping to inspect the value.
-            // There's no way to pass a reference to a DOM node directly via
-            // a scope function (except ng-click, etc.) so pass the 
-            // DOM id instead and get the node from there.
-            $scope.cellOverflowed = function(id, parentDepth) {
-                var node = document.getElementById(id);
-                if (!node) return;
-                for (var i = 0; i < parentDepth; i++) {
-                    node = node.parentNode;
-                }
-                return node.scrollHeight > node.clientHeight 
-                    || node.scrollWidth > node.clientWidth;
-            }
-
-            // Generates a unique identifier per cell per grid.
-            $scope.cellId = function(col, item) {
-                if (!col || !item) return '';
-                return 'grid-cell-span-' 
-                    // differentiate grids
-                    + ($scope.persistKey || $scope.idlClass || $scope.grid_element.id)
-                    // differentiate rows and columns.
-                    + '-' + col.name + '-' + $scope.indexValue(item);
-
-            }
 
             // handles click, control-click, and shift-click
             $scope.handleRowClick = function($event, item) {