e5core-angular-ui
Version:
e5 Anywhere Angular UI
138 lines • 11.4 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 {?} 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=