diff --git a/src/features/resize-columns/less/column-resizer.less b/src/features/resize-columns/less/column-resizer.less index 341109cedd..1a66b072f6 100644 --- a/src/features/resize-columns/less/column-resizer.less +++ b/src/features/resize-columns/less/column-resizer.less @@ -16,6 +16,22 @@ } } +// Add a visual border for final column's resizer element +.ui-grid-header-cell:last-child .ui-grid-column-resizer.right { + border-right: @gridBorderWidth solid @borderColor; +} + +// Put visual border on left of last header cell when direction is rtl +.ui-grid[dir=rtl] .ui-grid-header-cell:last-child { + .ui-grid-column-resizer.right { + border-right: 0; + } + + .ui-grid-column-resizer.left { + border-left: @gridBorderWidth solid @borderColor; + } +} + .ui-grid { &.column-resizing { cursor: col-resize; diff --git a/src/js/core/directives/ui-grid-header.js b/src/js/core/directives/ui-grid-header.js index 8d97460ffe..59782460dc 100644 --- a/src/js/core/directives/ui-grid-header.js +++ b/src/js/core/directives/ui-grid-header.js @@ -72,7 +72,7 @@ function updateColumnWidths() { // Get the width of the viewport - var availableWidth = containerCtrl.colContainer.getViewportWidth(); + var availableWidth = containerCtrl.colContainer.getViewportWidth() - grid.scrollbarWidth; //if (typeof(uiGridCtrl.grid.verticalScrollbarWidth) !== 'undefined' && uiGridCtrl.grid.verticalScrollbarWidth !== undefined && uiGridCtrl.grid.verticalScrollbarWidth > 0) { // availableWidth = availableWidth + uiGridCtrl.grid.verticalScrollbarWidth; diff --git a/src/js/core/factories/GridRenderContainer.js b/src/js/core/factories/GridRenderContainer.js index 9eee283324..fea343e863 100644 --- a/src/js/core/factories/GridRenderContainer.js +++ b/src/js/core/factories/GridRenderContainer.js @@ -545,7 +545,7 @@ angular.module('ui.grid') totalWidth = 0; // Get the width of the viewport - var availableWidth = self.getViewportWidth(); + var availableWidth = self.getViewportWidth() - self.grid.scrollbarWidth; //if (typeof(self.grid.verticalScrollbarWidth) !== 'undefined' && self.grid.verticalScrollbarWidth !== undefined && self.grid.verticalScrollbarWidth > 0) { // availableWidth = availableWidth + self.grid.verticalScrollbarWidth; diff --git a/src/less/cell.less b/src/less/cell.less index 5672ed09e9..a62d6eaf54 100644 --- a/src/less/cell.less +++ b/src/less/cell.less @@ -11,7 +11,7 @@ box-sizing: border-box; &:last-child { - // border-right: 0; + border-right: 0; } } diff --git a/src/less/header.less b/src/less/header.less index 7e0b9688a9..5131705beb 100644 --- a/src/less/header.less +++ b/src/less/header.less @@ -55,6 +55,10 @@ border-right: @gridBorderWidth solid; border-color: @headerVerticalBarColor; + &:last-child { + border-right: 0; + } + .user-select(none); // Default to width 0 so header height can calculate right. Otherwise diff --git a/src/less/rtl.less b/src/less/rtl.less index a32b542d07..e4ddba6288 100644 --- a/src/less/rtl.less +++ b/src/less/rtl.less @@ -24,8 +24,8 @@ } .ui-grid-cell:last-child, .ui-grid-header-cell:last-child { - border-left: @gridBorderWidth solid; - border-color: @borderColor; + border-right: @gridBorderWidth solid @borderColor; + border-left: 0; } .ui-grid-header-cell:first-child .ui-grid-vertical-bar, diff --git a/test/unit/core/directives/ui-grid.spec.js b/test/unit/core/directives/ui-grid.spec.js index 9f20aa89a6..9f59a7bfeb 100644 --- a/test/unit/core/directives/ui-grid.spec.js +++ b/test/unit/core/directives/ui-grid.spec.js @@ -118,7 +118,7 @@ describe('ui-grid', function() { renderWidth += c.drawnWidth; }); - expect(renderWidth).toBe(gridApi.grid.gridWidth); + expect(renderWidth).toBe(gridApi.grid.getViewportWidth() - gridApi.grid.scrollbarWidth); }); });