@progress/telerik-jquery-report-viewer
Version:
Progress® Telerik® Report Viewer for jQuery
65 lines (60 loc) • 2.1 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var baseComponent = require('../base-component.js');
var utils = require('../utils.js');
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => {
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
return value;
};
class PageNumberInput extends baseComponent.BaseComponent {
// #endregion
// #region constructor
constructor(element, options) {
super(element, options);
// #region fields
__publicField(this, "cmd");
__publicField(this, "_numeric");
this.cmd = this.options.commands["goToPage"];
this._numeric = new kendo.ui.NumericTextBox(this.element, {
format: "0",
decimals: 0,
min: 0,
spinners: false,
change: this._onChange.bind(this),
spin: this._onChange.bind(this)
});
this._numeric._text[0].dataset.role = "telerik_ReportViewer_PageNumberInput";
this._numeric.element[0].dataset.role = "";
this.options.controller.on("reportLoadComplete", (event, reportInfo) => {
this._numeric.max(reportInfo.pageCount);
this._numeric.min(Math.min(1, reportInfo.pageCount));
this._numeric.value(Math.min(1, reportInfo.pageCount));
}).on("loadedReportChange", (event) => {
this._numeric.min(0);
this._numeric.max(0);
this._numeric.value(0);
}).on("renderingStopped", (event) => {
this._numeric.min(0);
this._numeric.max(0);
this._numeric.value(0);
}).pageNumberChange((event, value) => {
this._numeric.value(value);
});
}
// #endregion
// #region event handlers
_onChange(event, data) {
var val = this._numeric.value();
var num = utils.tryParseInt(val);
if (!isNaN(num)) {
this.cmd.exec(num);
}
}
_onSpin(event, data) {
return this._onChange(event, data);
}
// #endregion
}
exports.PageNumberInput = PageNumberInput;