UNPKG

nakedobjects.spa

Version:

Single Page Application client for a Naked Objects application.

83 lines 3.65 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); import { Command } from './Command'; import * as Usermessages from '../user-messages'; import * as Routedata from '../route-data'; var Page = (function (_super) { __extends(Page, _super); function Page() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.shortCommand = "pa"; _this.fullCommand = Usermessages.pageCommand; _this.helpText = Usermessages.pageHelp; _this.minArguments = 1; _this.maxArguments = 1; return _this; } Page.prototype.isAvailableInCurrentContext = function () { return this.isList(); }; Page.prototype.doExecute = function (args, chained) { var _this = this; var arg = this.argumentAsString(args, 0); if (arg === undefined) { return this.returnResult("", Usermessages.pageArgumentWrong); } return this.getList().then(function (listRep) { var paginationData = listRep.pagination(); if (!paginationData) { return _this.returnResult("", Usermessages.cannotPage); } var numPages = paginationData.numPages; var page = _this.routeData().page; if (Usermessages.pageFirst.indexOf(arg) === 0) { return _this.returnResult(null, null, function () { return _this.setPage(1); }); } else if (Usermessages.pagePrevious.indexOf(arg) === 0) { if (page === 1) { return _this.returnResult("", Usermessages.alreadyOnFirst); } else { return _this.returnResult(null, null, function () { return _this.setPage(page - 1); }); } } else if (Usermessages.pageNext.indexOf(arg) === 0) { if (page === numPages) { return _this.returnResult("", Usermessages.alreadyOnLast); } else { return _this.returnResult(null, null, function () { return _this.setPage(page + 1); }); } } else if (Usermessages.pageLast.indexOf(arg) === 0) { return _this.returnResult(null, null, function () { return _this.setPage(numPages); }); } else { var number_1 = parseInt(arg); if (isNaN(number_1)) { return _this.returnResult("", Usermessages.pageArgumentWrong); } if (number_1 < 1 || number_1 > numPages) { return _this.returnResult("", Usermessages.pageNumberWrong(numPages)); } return _this.returnResult(null, null, function () { return _this.setPage(number_1); }); } }); }; ; Page.prototype.setPage = function (page) { var pageSize = this.routeData().pageSize; this.urlManager.setListPaging(page, pageSize, Routedata.CollectionViewState.List); }; return Page; }(Command)); export { Page }; //# sourceMappingURL=page.js.map