UNPKG

e5core-angular-ui

Version:

e5 Anywhere Angular UI

140 lines 11.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { DataSource } from "@angular/cdk/table"; import { BehaviorSubject } from "rxjs"; import { Guid } from "guid-typescript"; export class OdataMatTableDataSource extends DataSource { /** * @param {?} workId * @param {?} historyService */ constructor(workId, historyService) { super(); this.workId = workId; this.historyService = historyService; this.subject$ = new BehaviorSubject([]); this.orderby = { active: "EventDate", direction: "desc" }; this.loading$ = new BehaviorSubject(false); } /** * @param {?} paginator * @return {?} */ set paginator(paginator) { this._paginator = paginator; this._paginator.page.subscribe(x => { // {"previousPageIndex":0,"pageIndex":1,"pageSize":10,"length":100} this.update(); }); } /** * @param {?} sort * @return {?} */ set sort(sort) { this._sort = sort; this._sort.sortChange.subscribe(ob => { // {active: "detail", direction: ""} this.orderby = ob; this.update(); }); } /** * @param {?} id * @return {?} */ setWorkId(id) { // if(id !== this.workId) { this.workId = id; this.update(); // } } /** * @return {?} */ get loadingEvents() { return this.loading$; } /** * @return {?} */ update() { if (!this.workId || !Guid.isGuid(this.workId) || this.workId.toString() === Guid.EMPTY) { this.subject$.next([]); return; } /** @type {?} */ let page = (this._paginator) ? this._paginator.pageIndex : 0; /** @type {?} */ let pagesize = (this._paginator) ? this._paginator.pageSize : 10; /** @type {?} */ let options = {}; // Setup orderby option if it's available /** @type {?} */ let orderby = this.orderby; if (orderby && orderby.direction && orderby.active) { options.orderby = `${orderby.active} ${orderby.direction}`; } // Go get the data this.loading$.next(true); this.historyService.getHistory(this.workId, page || 0, pagesize || 10, options).subscribe(frame => { this._paginator.length = frame.count; this.subject$.next(frame.data); this.loading$.next(false); }, error => { console.error(error); this.loading$.next(false); }); } /** * @return {?} */ connect() { this.update(); return (this.subject$); } /** * @return {?} */ disconnect() { } } if (false) { /** * @type {?} * @protected */ OdataMatTableDataSource.prototype.subject$; /** * @type {?} * @private */ OdataMatTableDataSource.prototype.orderby; /** * @type {?} * @protected */ OdataMatTableDataSource.prototype._paginator; /** * @type {?} * @protected */ OdataMatTableDataSource.prototype._sort; /** * @type {?} * @protected */ OdataMatTableDataSource.prototype.loading$; /** * @type {?} * @private */ OdataMatTableDataSource.prototype.workId; /** * @type {?} * @private */ OdataMatTableDataSource.prototype.historyService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtbWF0LXRhYmxlLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZTVjb3JlLWFuZ3VsYXItdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lNWNvcmUtdWktd29yay1oaXN0b3J5L2NvbXBvbmVudC9vZGF0YS1tYXQtdGFibGUtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU12QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsVUFBNEI7Ozs7O0lBd0NyRSxZQUFvQixNQUFhLEVBQVUsY0FBb0M7UUFDN0UsS0FBSyxFQUFFLENBQUM7UUFEVSxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBdENyRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQXFCLEVBQUUsQ0FBQyxDQUFFO1FBQzFELFlBQU8sR0FBMkMsRUFBRSxNQUFNLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLEVBQUMsQ0FBRTtRQWdDekYsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFFO0lBTzFELENBQUM7Ozs7O0lBcENELElBQUksU0FBUyxDQUFDLFNBQStCO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFFO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDN0IsQ0FBQyxDQUFDLEVBQUU7WUFDRixtRUFBbUU7WUFDbkUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFFO1FBQ2pCLENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQzs7Ozs7SUFHRCxJQUFJLElBQUksQ0FBQyxJQUFxQjtRQUMzQixJQUFJLENBQUMs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IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay90YWJsZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IsIE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgR3VpZCB9IGZyb20gXCJndWlkLXR5cGVzY3JpcHRcIjtcclxuaW1wb3J0IHsgSGlzdG9yeU9kYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9oaXN0b3J5LW9kYXRhLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgV29ya0hpc3RvcnlNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvd29yay1oaXN0b3J5Lm1vZGVsXCI7XHJcbmltcG9ydCB7IE9kYXRhT3B0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9vZGF0YS1vcHRpb25zXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIE9kYXRhTWF0VGFibGVEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZTxXb3JrSGlzdG9yeU1vZGVsPiB7XHJcblxyXG4gICAgcHJvdGVjdGVkIHN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXb3JrSGlzdG9yeU1vZGVsW10+KFtdKSA7XHJcbiAgICBwcml2YXRlIG9yZGVyYnkgOiB7IGFjdGl2ZTpzdHJpbmcsIGRpcmVjdGlvbjpzdHJpbmcgfSAgPSAgeyBhY3RpdmU6XCJFdmVudERhdGVcIiwgZGlyZWN0aW9uOlwiZGVzY1wifSA7XHJcblxyXG4gICAgcHJvdGVjdGVkIF9wYWdpbmF0b3I6IE1hdFBhZ2luYXRvciA7XHJcbiAgICBzZXQgcGFnaW5hdG9yKHBhZ2luYXRvciA6IE1hdFBhZ2luYXRvciB8IG51bGwpIHtcclxuICAgICAgIHRoaXMuX3BhZ2luYXRvciA9IHBhZ2luYXRvciA7XHJcbiAgICAgICB0aGlzLl9wYWdpbmF0b3IucGFnZS5zdWJzY3JpYmUoXHJcbiAgICAgICAgeCA9PiB7XHJcbiAgICAgICAgICAvLyB7XCJwcmV2aW91c1BhZ2VJbmRleFwiOjAsXCJwYWdlSW5kZXhcIjoxLFwicGFnZVNpemVcIjoxMCxcImxlbmd0aFwiOjEwMH1cclxuICAgICAgICAgIHRoaXMudXBkYXRlKCkgO1xyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfc29ydDogTWF0U29ydCA7XHJcbiAgICBzZXQgc29ydChzb3J0IDogTWF0U29ydCB8IG51bGwpIHtcclxuICAgICAgIHRoaXMuX3NvcnQgPSBzb3J0IDtcclxuICAgICAgIHRoaXMuX3NvcnQuc29ydENoYW5nZS5zdWJzY3JpYmUoXHJcbiAgICAgICAgb2IgPT4ge1xyXG4gICAgICAgICAgLy8ge2FjdGl2ZTogXCJkZXRhaWxcIiwgZGlyZWN0aW9uOiBcIlwifVxyXG4gICAgICAgICAgdGhpcy5vcmRlcmJ5ID0gb2IgO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGUoKSA7XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgc2V0V29ya0lkKGlkIDogc3RyaW5nKTp2b2lkIHtcclxuICAgICAgLy8gaWYoaWQgIT09IHRoaXMud29ya0lkKSB7XHJcbiAgICAgICAgdGhpcy53b3JrSWQgPSBpZCA7XHJcbiAgICAgICAgdGhpcy51cGRhdGUoKSA7XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKSA7XHJcbiAgICBnZXQgbG9hZGluZ0V2ZW50cygpOkJlaGF2aW9yU3ViamVjdDxib29sZWFuPiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvYWRpbmckIDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdvcmtJZDpzdHJpbmcsIHByaXZhdGUgaGlzdG9yeVNlcnZpY2UgOiBIaXN0b3J5T2RhdGFTZXJ2aWNlICkge1xyXG4gICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZSgpIHtcclxuICAgICAgaWYoIXRoaXMud29ya0lkIHx8ICFHdWlkLmlzR3VpZCh0aGlzLndvcmtJZCkgfHwgdGhpcy53b3JrSWQudG9TdHJpbmcoKSA9PT0gR3VpZC5FTVBUWSkge1xyXG4gICAgICAgIHRoaXMuc3ViamVjdCQubmV4dChbXSkgO1xyXG4gICAgICAgIHJldHVybiA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBwYWdlID0gKHRoaXMuX3BhZ2luYXRvcikgPyB0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4IDogMCA7XHJcbiAgICAgIGxldCBwYWdlc2l6ZSA9ICh0aGlzLl9wYWdpbmF0b3IpID8gdGhpcy5fcGFnaW5hdG9yLnBhZ2VTaXplIDogMTAgO1xyXG4gICAgICBsZXQgb3B0aW9uczogT2RhdGFPcHRpb25zID0ge30gO1xyXG5cclxuICAgICAgLy8gU2V0dXAgb3JkZXJieSBvcHRpb24gaWYgaXQncyBhdmFpbGFibGVcclxuICAgICAgbGV0IG9yZGVyYnkgPSB0aGlzLm9yZGVyYnkgO1xyXG4gICAgICBpZihvcmRlcmJ5ICYmIG9yZGVyYnkuZGlyZWN0aW9uICYmIG9yZGVyYnkuYWN0aXZlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5vcmRlcmJ5ID0gYCR7b3JkZXJieS5hY3RpdmV9ICR7b3JkZXJieS5kaXJlY3Rpb259YCA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEdvIGdldCB0aGUgZGF0YVxyXG4gICAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSkgO1xyXG4gICAgICB0aGlzLmhpc3RvcnlTZXJ2aWNlLmdldEhpc3RvcnkodGhpcy53b3JrSWQsIHBhZ2UgfHwgMCwgcGFnZXNpemUgfHwgMTAsIG9wdGlvbnMgKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgZnJhbWUgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcGFnaW5hdG9yLmxlbmd0aCA9IGZyYW1lLmNvdW50IDtcclxuICAgICAgICAgIHRoaXMuc3ViamVjdCQubmV4dChmcmFtZS5kYXRhKSA7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKSA7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpXHJcbiAgICAgICAgfVxyXG4gICAgICApIDtcclxuICAgIH1cclxuXHJcbiAgICBjb25uZWN0KCk6IEJlaGF2aW9yU3ViamVjdDxXb3JrSGlzdG9yeU1vZGVsW10+IHtcclxuICAgICAgdGhpcy51cGRhdGUoKSA7XHJcbiAgICAgIHJldHVybiAodGhpcy5zdWJqZWN0JCkgO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2Nvbm5lY3QoKSB7fVxyXG4gIH1cclxuXHJcbiJdfQ==