From 174f25214caa10ec643db6c81aaa0f3511bf78f4 Mon Sep 17 00:00:00 2001 From: c0bra Date: Tue, 7 Oct 2014 16:25:55 -0500 Subject: [PATCH] fix(uiGridUtil): getBorderSize() missing "width" The correct property name to use is "borderWidth", not just "border". "border" works in Chrome but was breaking in Firefox. Also had to change .ui-grid-header's box-sizing to content-box so IE11 would include the border in height calcs. AND finally IE11 was returning fractional heights so Grid parseInt()s the returned values. --- src/js/core/factories/Grid.js | 6 ++++-- src/js/core/services/ui-grid-util.js | 2 ++ src/less/header.less | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/js/core/factories/Grid.js b/src/js/core/factories/Grid.js index dcf10af7ae..2be78427e2 100644 --- a/src/js/core/factories/Grid.js +++ b/src/js/core/factories/Grid.js @@ -1525,7 +1525,7 @@ angular.module('ui.grid') var oldHeaderHeight = container.headerHeight; var headerHeight = gridUtil.outerElementHeight(container.header); - container.headerHeight = headerHeight; + container.headerHeight = parseInt(headerHeight, 10); if (oldHeaderHeight !== headerHeight) { rebuildStyles = true; @@ -1534,7 +1534,9 @@ angular.module('ui.grid') // Get the "inner" header height, that is the height minus the top and bottom borders, if present. We'll use it to make sure all the headers have a consistent height var topBorder = gridUtil.getBorderSize(container.header, 'top'); var bottomBorder = gridUtil.getBorderSize(container.header, 'bottom'); - var innerHeaderHeight = headerHeight - topBorder - bottomBorder; + var innerHeaderHeight = parseInt(headerHeight - topBorder - bottomBorder, 10); + + innerHeaderHeight = innerHeaderHeight < 0 ? 0 : innerHeaderHeight; container.innerHeaderHeight = innerHeaderHeight; diff --git a/src/js/core/services/ui-grid-util.js b/src/js/core/services/ui-grid-util.js index 2c32cbeee3..cc7c36cb94 100644 --- a/src/js/core/services/ui-grid-util.js +++ b/src/js/core/services/ui-grid-util.js @@ -757,6 +757,8 @@ module.service('gridUtil', ['$log', '$window', '$document', '$http', '$templateC borderType = 'border'; } + borderType += 'Width'; + var val = parseInt(styles[borderType], 10); if (isNaN(val)) { diff --git a/src/less/header.less b/src/less/header.less index 5468a43288..de8ff0b659 100644 --- a/src/less/header.less +++ b/src/less/header.less @@ -7,6 +7,7 @@ .ui-grid-header { border-bottom: 1px solid @borderColor; + box-sizing: content-box;; } .ui-grid-top-panel {