devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
64 lines (63 loc) • 2.26 kB
JavaScript
/**
* DevExtreme (esm/__internal/pagination/wrappers/pagination_wrapper.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["pageSize", "pageIndex", "itemCount"];
import {
ComponentWrapper
} from "../../core/r1/component_wrapper";
import {
validateOptions
} from "../utils/validation_utils";
export class PaginationWrapper extends ComponentWrapper {
_optionChanged(args) {
switch (args.name) {
case "pageIndex": {
const pageIndexChanged = this.option("pageIndexChanged");
if (pageIndexChanged) {
pageIndexChanged(args.value)
}
break
}
case "pageSize": {
const pageSizeChanged = this.option("pageSizeChanged");
if (pageSizeChanged) {
pageSizeChanged(args.value)
}
break
}
}
super._optionChanged(args)
}
getPageCount() {
return this.option("pageCount")
}
_validateOptions(options) {
if (options._skipValidation || this.option("_skipValidation")) {
return options
}
const initialOptions = super._validateOptions(options);
let {
pageSize: pageSize,
pageIndex: pageIndex,
itemCount: itemCount
} = initialOptions, rest = _objectWithoutPropertiesLoose(initialOptions, _excluded);
if (void 0 === pageSize) {
pageSize = this.option("pageSize")
}
if (void 0 === pageIndex) {
pageIndex = this.option("pageIndex")
}
if (void 0 === itemCount) {
itemCount = this.option("itemCount")
}
const validatedOptions = validateOptions(pageSize, pageIndex, itemCount);
return _extends({}, rest, validatedOptions)
}
}