1
0
Fork 0
mirror of synced 2024-08-04 04:52:03 +12:00
appwrite/public/scripts/views/paging/back.js

45 lines
1.2 KiB
JavaScript

(function(window) {
window.ls.container.get("view").add({
selector: "data-paging-back",
controller: function(element, container, expression, env) {
let paths = [];
let limit = env.PAGING_LIMIT;
let check = function() {
let offset = parseInt(
expression.parse(element.dataset["offset"]) || "0"
);
paths = paths.concat(expression.getPaths());
if (offset - limit < 0) {
element.disabled = true;
} else {
const newOffset = offset - limit;
element.disabled = false;
element.value = 'limit(' + limit + '),offset(' + newOffset + ')';
if(element.dataset['pagingDesc'] !== undefined) {
element.value += ',orderDesc(\'\')';
}
try {
element.parentElement.querySelector('input[name="offset"]').value = newOffset + '';
} catch(err) {} // Initial load can fail
}
};
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);