e5core-angular-ui
Version:
e5 Anywhere Angular UI
140 lines • 11.5 kB
JavaScript
/**
* @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==