Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

Commit 68395a2

Browse files
committed
fix(select): improve disable scroll layout
closes #2307, closes #2330
1 parent 6d4ecbe commit 68395a2

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

src/components/select/select.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,11 @@ function SelectProvider($$interimElementProvider) {
701701
});
702702

703703
opts.resizeFn = function() {
704-
animateSelect(scope, element, opts);
704+
$$rAF(function() {
705+
$$rAF(function() {
706+
animateSelect(scope, element, opts);
707+
});
708+
});
705709
};
706710

707711
angular.element($window).on('resize', opts.resizeFn);

src/core/util/util.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,26 @@ angular.module('material.core')
8282
wrapperEl.css({
8383
overflow: 'hidden',
8484
position: 'fixed',
85-
width: '100%',
85+
display: computedStyle.display,
8686
'padding-top': computedStyle.paddingTop,
8787
top: (-1 * heightOffset) + 'px'
8888
});
8989

90+
91+
computeSize();
92+
93+
angular.element($window).on('resize', computeSize);
94+
95+
function computeSize() {
96+
wrapperEl.css({
97+
'max-width': disableTarget[0].offsetWidth
98+
});
99+
}
100+
90101
return function restoreScroll() {
91102
disableTarget.append(wrapperEl.children());
92103
wrapperEl.remove();
104+
angular.element($window).off('resize', computeSize);
93105
if (scrollBarsShowing) {
94106
disableTarget.css('overflow-y', restoreOverflowY || false);
95107
}

0 commit comments

Comments
 (0)