devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
63 lines (62 loc) • 2.96 kB
JavaScript
/**
* DevExtreme (cjs/__internal/grids/new/grid_core/pager/view.js)
* Version: 25.1.3
* Build date: Wed Jun 25 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PagerView = void 0;
var _signalsCore = require("@preact/signals-core");
var _m_pager = require("../../../../grids/grid_core/pager/m_pager");
var _view = require("../core/view");
var _index = require("../data_controller/index");
var _options_controller = require("../options_controller/options_controller");
var _pager = require("./pager");
var _utils = require("./utils");
class PagerView extends _view.View {
constructor(dataController, options) {
super();
this.dataController = dataController;
this.options = options;
this.component = _pager.PagerView;
this.pageSizesConfig = this.options.oneWay("pager.allowedPageSizes");
this.allowedPageSizes = (0, _signalsCore.signal)(void 0);
this.visibleConfig = this.options.oneWay("pager.visible");
this.visible = (0, _signalsCore.computed)((() => (0, _utils.isVisible)(this.visibleConfig.value, this.dataController.pageCount.value)));
(0, _signalsCore.effect)((() => {
this.allowedPageSizes.value = (0, _utils.calculatePageSizes)(this.allowedPageSizes.peek(), this.pageSizesConfig.value, this.dataController.pageSize.value)
}))
}
getProps() {
return (0, _signalsCore.computed)((() => ({
itemCount: this.dataController.totalCount.value,
allowedPageSizes: this.allowedPageSizes.value,
visible: this.visible.value,
pageIndex: this.dataController.pageIndex.value + 1,
pageIndexChanged: value => {
this.dataController.pageIndex.value = value - 1
},
pageSize: this.dataController.pageSize.value,
pageSizeChanged: value => {
this.dataController.pageSize.value = value
},
pageCount: this.dataController.pageCount.value,
showPageSizeSelector: this.options.oneWay("pager.showPageSizeSelector").value,
_skipValidation: true,
tabIndex: 0,
showInfo: this.options.oneWay("pager.showInfo").value,
showNavigationButtons: this.options.oneWay("pager.showNavigationButtons").value,
label: this.options.oneWay("pager.label").value,
pagesNavigatorVisible: this.options.oneWay("pager.visible").value,
displayMode: this.options.oneWay("pager.displayMode").value,
maxPagesCount: _m_pager.MAX_PAGES_COUNT
})))
}
}
exports.PagerView = PagerView;
PagerView.dependencies = [_index.DataController, _options_controller.OptionsController];