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 {?} casenotesService
*/
constructor(workId, casenotesService) {
super();
this.workId = workId;
this.casenotesService = casenotesService;
this.subject$ = new BehaviorSubject([]);
this.orderby = { active: "CasenoteDate", 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.casenotesService.getCasenotes(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.casenotesService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtbWF0LXRhYmxlLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZTVjb3JlLWFuZ3VsYXItdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lNWNvcmUtdWktd29yay1jYXNlbm90ZXMvY29tcG9uZW50L29kYXRhLW1hdC10YWJsZS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTXZDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxVQUE4Qjs7Ozs7SUF3Q3ZFLFlBQW9CLE1BQWEsRUFBVSxnQkFBd0M7UUFDakYsS0FBSyxFQUFFLENBQUM7UUFEVSxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQXRDekUsYUFBUSxHQUFHLElBQUksZUFBZSxDQUF1QixFQUFFLENBQUMsQ0FBRTtRQUM1RCxZQUFPLEdBQTJDLEVBQUUsTUFBTSxFQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUMsTUFBTSxFQUFDLENBQUU7UUFnQzVGLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBRTtJQU8xRCxDQUFDOzs7OztJQXBDRCxJQUFJLFNBQVMsQ0FBQyxTQUErQjtRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBRTtRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQzdCLENBQUMsQ0FBQyxFQUFFO1lBQ0YsbUVBQW1FO1lBQ25FLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBRTtRQUNqQixDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUM7Ozs7O0lBR0QsSUFBSSxJQUFJLENBQUMsSUFBcUI7UUFDM0IsSUFB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YW5ndWxhci9jZGsvdGFibGVcIjtcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBNYXRTb3J0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsXCI7XHJcbmltcG9ydCB7IEd1aWQgfSBmcm9tIFwiZ3VpZC10eXBlc2NyaXB0XCI7XHJcbmltcG9ydCB7IENhc2Vub3Rlc09kYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9jYXNlbm90ZXMtb2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBXb3JrQ2FzZW5vdGVzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3dvcmstY2FzZW5vdGVzLm1vZGVsXCI7XHJcbmltcG9ydCB7IE9kYXRhT3B0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9vZGF0YS1vcHRpb25zXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIE9kYXRhTWF0VGFibGVEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZTxXb3JrQ2FzZW5vdGVzTW9kZWw+IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgc3ViamVjdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdvcmtDYXNlbm90ZXNNb2RlbFtdPihbXSkgO1xyXG4gICAgcHJpdmF0ZSBvcmRlcmJ5IDogeyBhY3RpdmU6c3RyaW5nLCBkaXJlY3Rpb246c3RyaW5nIH0gID0gIHsgYWN0aXZlOlwiQ2FzZW5vdGVEYXRlXCIsIGRpcmVjdGlvbjpcImRlc2NcIn0gO1xyXG5cclxuICAgIHByb3RlY3RlZCBfcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3IgO1xyXG4gICAgc2V0IHBhZ2luYXRvcihwYWdpbmF0b3IgOiBNYXRQYWdpbmF0b3IgfCBudWxsKSB7XHJcbiAgICAgICB0aGlzLl9wYWdpbmF0b3IgPSBwYWdpbmF0b3IgO1xyXG4gICAgICAgdGhpcy5fcGFnaW5hdG9yLnBhZ2Uuc3Vic2NyaWJlKFxyXG4gICAgICAgIHggPT4ge1xyXG4gICAgICAgICAgLy8ge1wicHJldmlvdXNQYWdlSW5kZXhcIjowLFwicGFnZUluZGV4XCI6MSxcInBhZ2VTaXplXCI6MTAsXCJsZW5ndGhcIjoxMDB9XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZSgpIDtcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3NvcnQ6IE1hdFNvcnQgO1xyXG4gICAgc2V0IHNvcnQoc29ydCA6IE1hdFNvcnQgfCBudWxsKSB7XHJcbiAgICAgICB0aGlzLl9zb3J0ID0gc29ydCA7XHJcbiAgICAgICB0aGlzLl9zb3J0LnNvcnRDaGFuZ2Uuc3Vic2NyaWJlKFxyXG4gICAgICAgIG9iID0+IHtcclxuICAgICAgICAgIC8vIHthY3RpdmU6IFwiZGV0YWlsXCIsIGRpcmVjdGlvbjogXCJcIn1cclxuICAgICAgICAgIHRoaXMub3JkZXJieSA9IG9iIDtcclxuICAgICAgICAgIHRoaXMudXBkYXRlKCkgO1xyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIHNldFdvcmtJZChpZCA6IHN0cmluZyk6dm9pZCB7XHJcbiAgICAgIC8vIGlmKGlkICE9PSB0aGlzLndvcmtJZCkge1xyXG4gICAgICAgIHRoaXMud29ya0lkID0gaWQgO1xyXG4gICAgICAgIHRoaXMudXBkYXRlKCkgO1xyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSkgO1xyXG4gICAgZ2V0IGxvYWRpbmdFdmVudHMoKTpCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2FkaW5nJCA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB3b3JrSWQ6c3RyaW5nLCBwcml2YXRlIGNhc2Vub3Rlc1NlcnZpY2UgOiBDYXNlbm90ZXNPZGF0YVNlcnZpY2UgKSB7XHJcbiAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlKCkge1xyXG4gICAgICBpZighdGhpcy53b3JrSWQgfHwgIUd1aWQuaXNHdWlkKHRoaXMud29ya0lkKSB8fCB0aGlzLndvcmtJZC50b1N0cmluZygpID09PSBHdWlkLkVNUFRZKSB7XHJcbiAgICAgICAgdGhpcy5zdWJqZWN0JC5uZXh0KFtdKSA7XHJcbiAgICAgICAgcmV0dXJuIDtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IHBhZ2UgPSAodGhpcy5fcGFnaW5hdG9yKSA/IHRoaXMuX3BhZ2luYXRvci5wYWdlSW5kZXggOiAwIDtcclxuICAgICAgbGV0IHBhZ2VzaXplID0gKHRoaXMuX3BhZ2luYXRvcikgPyB0aGlzLl9wYWdpbmF0b3IucGFnZVNpemUgOiAxMCA7XHJcbiAgICAgIGxldCBvcHRpb25zOiBPZGF0YU9wdGlvbnMgPSB7fSA7XHJcblxyXG4gICAgICAvLyBTZXR1cCBvcmRlcmJ5IG9wdGlvbiBpZiBpdCdzIGF2YWlsYWJsZVxyXG4gICAgICBsZXQgb3JkZXJieSA9IHRoaXMub3JkZXJieSA7XHJcbiAgICAgIGlmKG9yZGVyYnkgJiYgb3JkZXJieS5kaXJlY3Rpb24gJiYgb3JkZXJieS5hY3RpdmUpIHtcclxuICAgICAgICBvcHRpb25zLm9yZGVyYnkgPSBgJHtvcmRlcmJ5LmFjdGl2ZX0gJHtvcmRlcmJ5LmRpcmVjdGlvbn1gIDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gR28gZ2V0IHRoZSBkYXRhXHJcbiAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKSA7XHJcbiAgICAgIHRoaXMuY2FzZW5vdGVzU2VydmljZS5nZXRDYXNlbm90ZXModGhpcy53b3JrSWQsIHBhZ2UsIHBhZ2VzaXplLCBvcHRpb25zICkuc3Vic2NyaWJlKFxyXG4gICAgICAgIGZyYW1lID0+IHtcclxuICAgICAgICAgIHRoaXMuX3BhZ2luYXRvci5sZW5ndGggPSBmcmFtZS5jb3VudCA7XHJcbiAgICAgICAgICB0aGlzLnN1YmplY3QkLm5leHQoZnJhbWUuZGF0YSkgO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcikgO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKVxyXG4gICAgICAgIH1cclxuICAgICAgKSA7XHJcbiAgICB9XHJcblxyXG4gICAgY29ubmVjdCgpOiBCZWhhdmlvclN1YmplY3Q8V29ya0Nhc2Vub3Rlc01vZGVsW10+IHtcclxuICAgICAgdGhpcy51cGRhdGUoKSA7XHJcbiAgICAgIHJldHVybiAodGhpcy5zdWJqZWN0JCkgO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2Nvbm5lY3QoKSB7fVxyXG4gIH1cclxuXHJcbiJdfQ==