Skip to content

Commit 9b2c6d5

Browse files
committed
fix(uiGrid): Add relatively-positioned wrapper
All contents inside the grid are now wrapped in an element that has relative positioning. This means that any absolutely-positioned elements are positioned relative to the grid and not the page, which fixes some issues with IE9 Fixes #3412
1 parent b33d962 commit 9b2c6d5

File tree

2 files changed

+26
-17
lines changed

2 files changed

+26
-17
lines changed

src/less/grid.less

+8-1
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,11 @@
5151

5252
.ui-grid-invisible {
5353
visibility: hidden;;
54-
}
54+
}
55+
56+
// Wraps the contents inside the grid directive with a relatively-positioned element so that all absolute elements are positioned relative to the grid, and not the page
57+
.ui-grid-contents-wrapper {
58+
position: relative;
59+
height: 100%;
60+
width: 100%;
61+
}

src/templates/ui-grid/ui-grid.html

+18-16
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div ui-i18n="en" class="ui-grid">
1+
<div ui-i18n="en" class="ui-grid">
22
<!-- TODO (c0bra): add "scoped" attr here, eventually? -->
33
<style ui-grid-style>
44
.grid{{ grid.id }} {
@@ -25,26 +25,28 @@
2525
{{ grid.customStyles }}
2626
</style>
2727

28-
<div ui-grid-menu-button ng-if="grid.options.enableGridMenu"></div>
28+
<div class="ui-grid-contents-wrapper">
29+
<div ui-grid-menu-button ng-if="grid.options.enableGridMenu"></div>
2930

30-
<div ng-if="grid.hasLeftContainer()" style="width: 0" ui-grid-pinned-container="'left'"></div>
31+
<div ng-if="grid.hasLeftContainer()" style="width: 0" ui-grid-pinned-container="'left'"></div>
3132

32-
<div ui-grid-render-container
33-
container-id="'body'"
34-
col-container-name="'body'"
35-
row-container-name="'body'"
36-
bind-scroll-horizontal="true"
37-
bind-scroll-vertical="true"
38-
enable-horizontal-scrollbar="grid.options.enableHorizontalScrollbar"
39-
enable-vertical-scrollbar="grid.options.enableVerticalScrollbar">
40-
</div>
33+
<div ui-grid-render-container
34+
container-id="'body'"
35+
col-container-name="'body'"
36+
row-container-name="'body'"
37+
bind-scroll-horizontal="true"
38+
bind-scroll-vertical="true"
39+
enable-horizontal-scrollbar="grid.options.enableHorizontalScrollbar"
40+
enable-vertical-scrollbar="grid.options.enableVerticalScrollbar">
41+
</div>
4142

42-
<div ng-if="grid.hasRightContainer()" style="width: 0" ui-grid-pinned-container="'right'"></div>
43+
<div ng-if="grid.hasRightContainer()" style="width: 0" ui-grid-pinned-container="'right'"></div>
4344

4445

45-
<div ui-grid-grid-footer ng-if="grid.options.showGridFooter"></div>
46+
<div ui-grid-grid-footer ng-if="grid.options.showGridFooter"></div>
4647

47-
<div ui-grid-column-menu ng-if="grid.options.enableColumnMenus"></div>
48+
<div ui-grid-column-menu ng-if="grid.options.enableColumnMenus"></div>
4849

49-
<div ng-transclude></div>
50+
<div ng-transclude></div>
51+
</div>
5052
</div>

0 commit comments

Comments
 (0)