[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
jurnal-kesmas
/
lib
/
pkp
/
js
/
classes
/
features
/
[
Home
]
File: GeneralPagingFeature.js
/** * @file js/classes/features/GeneralPagingFeature.js * * Copyright (c) 2016-2021 Simon Fraser University * Copyright (c) 2000-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class GeneralPagingFeature * @ingroup js_classes_features * * @brief Base class that implements general functionalities for features * that handles paging on grids. */ (function($) { /** * @constructor * @inheritDoc * @extends $.pkp.classes.features.Feature */ $.pkp.classes.features.GeneralPagingFeature = function(gridHandler, options) { options.defaultItemsPerPage = parseInt(options.defaultItemsPerPage, 10); options.currentItemsPerPage = parseInt(options.currentItemsPerPage, 10); if (!options.itemsTotal) { options.itemsTotal = 0; } else { options.itemsTotal = parseInt(options.itemsTotal, 10); } options.currentPage = parseInt(options.currentPage, 10); this.parent(gridHandler, options); }; $.pkp.classes.Helper.inherits( $.pkp.classes.features.GeneralPagingFeature, $.pkp.classes.features.Feature); // // Getters and setters. // /** * @return {{itemsPerPageParamName: string, * defaultItemsPerPage: number, * currentItemsPerPage: number, * itemsTotal: number, * pageParamName: string, * currentPage: number, filter: string, * pagingMarkup: string }} * @override */ $.pkp.classes.features.GeneralPagingFeature.prototype.getOptions = function() { var castOptions = /** @type {{itemsPerPageParamName: string, defaultItemsPerPage: number, currentItemsPerPage: number, itemsTotal: number, pageParamName: string, currentPage: number, filter: string, pagingMarkup: string }} */ (this.parent('getOptions')); return castOptions; }; // // Protected methods. // /** * Set grid requests extra parameters. * @param {Object} params */ $.pkp.classes.features.GeneralPagingFeature.prototype.setGridParams = function(params) { var options = this.getOptions(), filter; // Add the filter data, if any. if (options.hasOwnProperty('filter')) { filter = $.parseJSON(options.filter); $.extend(true, params, filter); } this.gridHandler.setFetchExtraParams(params); }; }(jQuery));