UNPKG

@progress/telerik-jquery-report-viewer

Version:

Progress® Telerik® Report Viewer for jQuery

65 lines (60 loc) 2.1 kB
'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;