1
0
Fork 0
mirror of synced 2024-07-06 23:21:05 +12:00
appwrite/public/scripts/views/paging/next.js

38 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-08-14 09:07:41 +12:00
(function (window) {
window.ls.container.get('view').add({
selector: 'data-paging-next',
2019-08-15 01:50:40 +12:00
controller: function(element, container, expression, env) {
2019-08-14 09:07:41 +12:00
let paths = [];
2019-08-15 01:50:40 +12:00
let limit = env.PAGING_LIMIT;
2019-08-14 09:07:41 +12:00
let check = function () {
let offset = parseInt(expression.parse(element.dataset['offset']) || '0');
paths = paths.concat(expression.getPaths());
2019-08-14 16:40:05 +12:00
let sum = parseInt(expression.parse(element.dataset['sum']) || '0');
2019-08-14 09:07:41 +12:00
paths = paths.concat(expression.getPaths());
2019-08-14 16:40:05 +12:00
if((offset + limit) >= sum) {
2019-08-14 09:07:41 +12:00
element.disabled = true;
}
else {
element.disabled = false;
element.value = offset + limit;
}
};
check();
for(let i = 0; i < paths.length; i++) {
let path = paths[i].split('.');
while(path.length) {
container.bind(element, path.join('.'), check);
path.pop();
}
}
}
});
})(window);