Files
Unify/application/demo/pages/newsItemPage.pagination.item.js

172 lines
2.0 KiB
JavaScript
Raw Normal View History

2025-12-25 11:16:59 +01:00
export default class paginationItem{
padding = 10
layers = 1;
background = "#2d2d2d";
cursor = "pointer"
border = "1px solid rgb(46, 46, 46)"
borderRadius = "none"
disabled = false;
select() {
this.background = "#434743"
this.selected = true;
}
deselect() {
this.background = "#2d2d2d"
this.selected = false;
}
getSelected() {
var children = this.parent.getChildren();
for (var i = 0; i < children.length; i++) {
var child = children[i];
if( child.selected ) {
return child;
}
}
}
deselectItems() {
var children = this.parent.getChildren();
for (var i = 0; i < children.length; i++) {
var child = children[i];
//child.value = i;
if( child.deselect ) {
child.deselect();
}
}
}
click() {
if( this.disabled ) {
return true;
}
var children = this.parent.getChildren();
var renderCollection = this.parents("newsItemPage").newsListTable.body;
var numberOfPages = renderCollection.numberOfPages;
console.log("this.value", this.value);
console.log("numberOfPages", numberOfPages);
switch( this.value ) {
case "<":
var selectedChildItem = this.getSelected();
var previousSibling = selectedChildItem.getPreviousSibling();
previousSibling.click();
break;
case ">":
var selectedChildItem = this.getSelected();
var nextSibling = selectedChildItem.getNextSibling();
nextSibling.click();
break;
default:
if( this.value >= numberOfPages - 1 ) {
children.pop().disable()
} else {
children.pop().enable();
}
if( this.value == 0 ) {
children[0].disable()
} else {
children[0].enable();
}
renderCollection.page = this.value;
renderCollection.update( false );
this.deselectItems();
this.select();
}
}
disable() {
this.opacity = "30%"
this.cursor = "default"
this.disabled = true;
}
enable() {
this.opacity = "100%"
this.cursor = "pointer"
this.disabled = false;
}
opacity;
}