Skip to content

Commit 3c29747

Browse files
committed
introduce ng-ui-scroll-hide class instead of built-in ng-hide
1 parent dd51f6d commit 3c29747

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

src/modules/elementRoutines.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,29 @@
1+
const hideClassToken = 'ng-ui-scroll-hide';
2+
3+
function addCSSRule(sheet, selector, rules, index) {
4+
if("insertRule" in sheet) {
5+
sheet.insertRule(selector + '{' + rules + '}', index);
6+
}
7+
else if("addRule" in sheet) {
8+
sheet.addRule(selector, rules, index);
9+
}
10+
}
11+
112
export default class ElementRoutines {
213

314
constructor($injector, $q) {
415
this.$animate = ($injector.has && $injector.has('$animate')) ? $injector.get('$animate') : null;
516
this.isAngularVersionLessThen1_3 = angular.version.major === 1 && angular.version.minor < 3;
617
this.$q = $q;
18+
addCSSRule(document.styleSheets[0], '.' + hideClassToken, 'display: none');
19+
}
20+
21+
hideElement(wrapper) {
22+
wrapper.element.addClass(hideClassToken);
23+
}
24+
25+
showElement(wrapper) {
26+
wrapper.element.removeClass(hideClassToken);
727
}
828

929
insertElement(newElement, previousElement) {

src/ui-scroll.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ angular.module('ui.scroll', [])
234234
if (!isElementVisible(wrapper)) {
235235
wrapper.unregisterVisibilityWatcher = wrapper.scope.$watch(() => visibilityWatcher(wrapper));
236236
}
237-
wrapper.element.addClass('ng-hide'); // hide inserted elements before data binding
237+
elementRoutines.hideElement(wrapper); // hide inserted elements before data binding
238238
}
239239

240240
function createElement(wrapper, insertAfter, insertElement) {
@@ -351,8 +351,8 @@ angular.module('ui.scroll', [])
351351
// We need the item bindings to be processed before we can do adjustment
352352
!$scope.$$phase && $scope.$digest();
353353

354-
updates.inserted.forEach(w => w.element.removeClass('ng-hide'));
355-
updates.prepended.forEach(w => w.element.removeClass('ng-hide'));
354+
updates.inserted.forEach(w => elementRoutines.showElement(w));
355+
updates.prepended.forEach(w => elementRoutines.showElement(w));
356356

357357
if (isInvalid(rid)) {
358358
return;
@@ -372,8 +372,8 @@ angular.module('ui.scroll', [])
372372
// We need the item bindings to be processed before we can do adjustment
373373
!$scope.$$phase && $scope.$digest();
374374

375-
updates.inserted.forEach(w => w.element.removeClass('ng-hide'));
376-
updates.prepended.forEach(w => w.element.removeClass('ng-hide'));
375+
updates.inserted.forEach(w => elementRoutines.showElement(w));
376+
updates.prepended.forEach(w => elementRoutines.showElement(w));
377377

378378
viewport.onAfterPrepend(updates);
379379

0 commit comments

Comments
 (0)