nakedobjects.spa
Version:
Single Page Application client for a Naked Objects application.
83 lines • 3.65 kB
JavaScript
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