UNPKG

e5core-angular-ui

Version:

e5 Anywhere Angular UI

138 lines 11.4 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 {?} workAttachmentsService */ constructor(workId, workAttachmentsService) { super(); this.workId = workId; this.workAttachmentsService = workAttachmentsService; this.subject$ = new BehaviorSubject([]); this.orderby = { active: "Id", 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) { 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.workAttachmentsService.getWorkAttachments(this.workId, page, pagesize, 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.workAttachmentsService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtbWF0LXRhYmxlLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZTVjb3JlLWFuZ3VsYXItdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lNWNvcmUtdWktd29yay1hdHRhY2htZW50cy9jb21wb25lbnQvb2RhdGEtbWF0LXRhYmxlLWRhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFNdkMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFVBQWdDOzs7OztJQXNDekUsWUFBb0IsTUFBYSxFQUFVLHNCQUFnRDtRQUN6RixLQUFLLEVBQUUsQ0FBQztRQURVLFdBQU0sR0FBTixNQUFNLENBQU87UUFBVSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQTBCO1FBcENqRixhQUFRLEdBQUcsSUFBSSxlQUFlLENBQXlCLEVBQUUsQ0FBQyxDQUFFO1FBQzlELFlBQU8sR0FBMkMsRUFBRSxNQUFNLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLEVBQUMsQ0FBRTtRQThCbEYsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFFO0lBTzFELENBQUM7Ozs7O0lBbENELElBQUksU0FBUyxDQUFDLFNBQStCO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFFO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDN0IsQ0FBQyxDQUFDLEVBQUU7WUFDRixtRUFBbUU7WUFDbkUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFFO1FBQ2pCLENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQzs7Ozs7SUFHRCxJQUFJLElBQUksQ0FBQyxJQUFxQjtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBRTtRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQzlCLEVBQUUsQ0FBQyxFQUFFO1lBQ0gsb0NBQW9DO1lBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFFO1lBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBRTtRQUNqQixDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUM7Ozs7O0lBRUQsU0FBUyxDQUFDLEVBQVc7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUU7UUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFFO0lBQ2pCLENBQUM7Ozs7SUFHRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUU7SUFDeEIsQ0FBQzs7OztJQU1ELE1BQU07UUFDSixJQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBRTtZQUN4QixPQUFRO1NBQ1Q7O1lBRUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFDeEQsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTs7WUFDNUQsT0FBTyxHQUFpQixFQUFFOzs7WUFHMUIsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPO1FBQzFCLElBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNqRCxPQUFPLENBQUMsT0FBTyxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUU7U0FDN0Q7UUFFRCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUU7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUUsQ0FBQyxTQUFTLENBQzdGLEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0IsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBRTtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixDQUFDLENBQ0YsQ0FBRTtJQUNMLENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFFO1FBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBRTtJQUMxQixDQUFDOzs7O0lBRUQsVUFBVSxLQUFJLENBQUM7Q0FDaEI7Ozs7OztJQTdFQywyQ0FBc0U7Ozs7O0lBQ3RFLDBDQUE0Rjs7Ozs7SUFFNUYsNkNBQW9DOzs7OztJQVdwQyx3Q0FBMEI7Ozs7O0lBaUIxQiwyQ0FBMEQ7Ozs7O0lBSzlDLHlDQUFxQjs7Ozs7SUFBRSx5REFBd0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay90YWJsZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IsIE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgR3VpZCB9IGZyb20gXCJndWlkLXR5cGVzY3JpcHRcIjtcclxuaW1wb3J0IHsgQXR0YWNobWVudHNPZGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvYXR0YWNobWVudHMtb2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBXb3JrQXR0YWNobWVudHNNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvd29yay1hdHRhY2htZW50cy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBPZGF0YU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvb2RhdGEtb3B0aW9uc1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBPZGF0YU1hdFRhYmxlRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2U8V29ya0F0dGFjaG1lbnRzTW9kZWw+IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgc3ViamVjdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdvcmtBdHRhY2htZW50c01vZGVsW10+KFtdKSA7XHJcbiAgICBwcml2YXRlIG9yZGVyYnkgOiB7IGFjdGl2ZTpzdHJpbmcsIGRpcmVjdGlvbjpzdHJpbmcgfSAgPSAgeyBhY3RpdmU6XCJJZFwiLCBkaXJlY3Rpb246XCJkZXNjXCJ9IDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgX3BhZ2luYXRvcjogTWF0UGFnaW5hdG9yIDtcclxuICAgIHNldCBwYWdpbmF0b3IocGFnaW5hdG9yIDogTWF0UGFnaW5hdG9yIHwgbnVsbCkge1xyXG4gICAgICAgdGhpcy5fcGFnaW5hdG9yID0gcGFnaW5hdG9yIDtcclxuICAgICAgIHRoaXMuX3BhZ2luYXRvci5wYWdlLnN1YnNjcmliZShcclxuICAgICAgICB4ID0+IHtcclxuICAgICAgICAgIC8vIHtcInByZXZpb3VzUGFnZUluZGV4XCI6MCxcInBhZ2VJbmRleFwiOjEsXCJwYWdlU2l6ZVwiOjEwLFwibGVuZ3RoXCI6MTAwfVxyXG4gICAgICAgICAgdGhpcy51cGRhdGUoKSA7XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9zb3J0OiBNYXRTb3J0IDtcclxuICAgIHNldCBzb3J0KHNvcnQgOiBNYXRTb3J0IHwgbnVsbCkge1xyXG4gICAgICAgdGhpcy5fc29ydCA9IHNvcnQgO1xyXG4gICAgICAgdGhpcy5fc29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZShcclxuICAgICAgICBvYiA9PiB7XHJcbiAgICAgICAgICAvLyB7YWN0aXZlOiBcImRldGFpbFwiLCBkaXJlY3Rpb246IFwiXCJ9XHJcbiAgICAgICAgICB0aGlzLm9yZGVyYnkgPSBvYiA7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZSgpIDtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBzZXRXb3JrSWQoaWQgOiBzdHJpbmcpOnZvaWQge1xyXG4gICAgICB0aGlzLndvcmtJZCA9IGlkIDtcclxuICAgICAgdGhpcy51cGRhdGUoKSA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSkgO1xyXG4gICAgZ2V0IGxvYWRpbmdFdmVudHMoKTpCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2FkaW5nJCA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB3b3JrSWQ6c3RyaW5nLCBwcml2YXRlIHdvcmtBdHRhY2htZW50c1NlcnZpY2UgOiBBdHRhY2htZW50c09kYXRhU2VydmljZSApIHtcclxuICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUoKSB7XHJcbiAgICAgIGlmKCF0aGlzLndvcmtJZCB8fCAhR3VpZC5pc0d1aWQodGhpcy53b3JrSWQpIHx8IHRoaXMud29ya0lkLnRvU3RyaW5nKCkgPT09IEd1aWQuRU1QVFkpIHtcclxuICAgICAgICB0aGlzLnN1YmplY3QkLm5leHQoW10pIDtcclxuICAgICAgICByZXR1cm4gO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgcGFnZSA9ICh0aGlzLl9wYWdpbmF0b3IpID8gdGhpcy5fcGFnaW5hdG9yLnBhZ2VJbmRleCA6IDAgO1xyXG4gICAgICBsZXQgcGFnZXNpemUgPSAodGhpcy5fcGFnaW5hdG9yKSA/IHRoaXMuX3BhZ2luYXRvci5wYWdlU2l6ZSA6IDEwIDtcclxuICAgICAgbGV0IG9wdGlvbnM6IE9kYXRhT3B0aW9ucyA9IHt9IDtcclxuXHJcbiAgICAgIC8vIFNldHVwIG9yZGVyYnkgb3B0aW9uIGlmIGl0J3MgYXZhaWxhYmxlXHJcbiAgICAgIGxldCBvcmRlcmJ5ID0gdGhpcy5vcmRlcmJ5IDtcclxuICAgICAgaWYob3JkZXJieSAmJiBvcmRlcmJ5LmRpcmVjdGlvbiAmJiBvcmRlcmJ5LmFjdGl2ZSkge1xyXG4gICAgICAgIG9wdGlvbnMub3JkZXJieSA9IGAke29yZGVyYnkuYWN0aXZlfSAke29yZGVyYnkuZGlyZWN0aW9ufWAgO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBHbyBnZXQgdGhlIGRhdGFcclxuICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpIDtcclxuICAgICAgdGhpcy53b3JrQXR0YWNobWVudHNTZXJ2aWNlLmdldFdvcmtBdHRhY2htZW50cyh0aGlzLndvcmtJZCwgcGFnZSwgcGFnZXNpemUsIG9wdGlvbnMgKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgZnJhbWUgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcGFnaW5hdG9yLmxlbmd0aCA9IGZyYW1lLmNvdW50IDtcclxuICAgICAgICAgIHRoaXMuc3ViamVjdCQubmV4dChmcmFtZS5kYXRhKSA7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKSA7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpXHJcbiAgICAgICAgfVxyXG4gICAgICApIDtcclxuICAgIH1cclxuXHJcbiAgICBjb25uZWN0KCk6IEJlaGF2aW9yU3ViamVjdDxXb3JrQXR0YWNobWVudHNNb2RlbFtdPiB7XHJcbiAgICAgIHRoaXMudXBkYXRlKCkgO1xyXG4gICAgICByZXR1cm4gKHRoaXMuc3ViamVjdCQpIDtcclxuICAgIH1cclxuXHJcbiAgICBkaXNjb25uZWN0KCkge31cclxuICB9XHJcblxyXG4iXX0=