Skip to content

Commit c9a657b

Browse files
committed
local getter for datasource min/maxIndex
1 parent 09f679c commit c9a657b

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

src/ui-scroll.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -96,26 +96,26 @@ angular.module('ui.scroll', [])
9696
}
9797
}
9898

99-
let indexStore = {};
100-
10199
function defineProperty(datasource, propName, propUserName) {
102100
let descriptor = Object.getOwnPropertyDescriptor(datasource, propName);
103-
if (!descriptor || (!descriptor.set && !descriptor.get)) {
104-
Object.defineProperty(datasource, propName, {
105-
set: (value) => {
106-
indexStore[propName] = value;
107-
buffer[propUserName] = value;
108-
if (!pending.length) {
109-
let topPaddingHeightOld = viewport.topDataPos();
110-
viewport.adjustPadding();
111-
if (propName === 'minIndex') {
112-
viewport.adjustScrollTopAfterMinIndexSet(topPaddingHeightOld);
113-
}
114-
}
115-
},
116-
get: () => indexStore[propName]
117-
});
101+
if (descriptor && (descriptor.set || descriptor.get)) {
102+
return;
118103
}
104+
let getter;
105+
Object.defineProperty(datasource, propName, {
106+
set: (value) => {
107+
getter = value;
108+
buffer[propUserName] = value;
109+
if (!pending.length) {
110+
let topPaddingHeightOld = viewport.topDataPos();
111+
viewport.adjustPadding();
112+
if (propName === 'minIndex') {
113+
viewport.adjustScrollTopAfterMinIndexSet(topPaddingHeightOld);
114+
}
115+
}
116+
},
117+
get: () => getter
118+
});
119119
}
120120

121121
defineProperty(datasource, 'minIndex', 'minIndexUser');

0 commit comments

Comments
 (0)