UNPKG

ontimize-web-ngx

Version:
74 lines 9.85 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject, of } from 'rxjs'; import { ServiceUtils } from '../../util/service.utils'; import { Util } from '../../util/util'; import * as i0 from "@angular/core"; export class OTreeDao { constructor() { this._isLoadingResults = false; this.dataChange = new BehaviorSubject([]); this.sqlTypesChange = new BehaviorSubject({}); this.rootLevelNodes = []; this.flatNodeMap = new Map(); } get data() { return this.dataChange.value; } setDataArray(data) { this.dataChange.next(data); return of(data); } get isLoadingResults() { return this._isLoadingResults; } set isLoadingResults(val) { if (val) { this.cleanTimer(); this.loadingTimer = setTimeout(() => { this._isLoadingResults = val; }, 500); } else { this.cleanTimer(); this._isLoadingResults = val; } } cleanTimer() { if (this.loadingTimer) { clearTimeout(this.loadingTimer); } } queryNodeChildren(flatNode, recursive) { const component = recursive ? flatNode.node : flatNode.childNode; const queryMethodName = component.pageable ? component.paginatedQueryMethod : component.queryMethod; const entity = component.entity; const service = component.getDataService(); if (!service || !(queryMethodName in service) || !entity) { return of({ data: [] }); } let filter; if (component.recursive) { const parentItem = ServiceUtils.getParentKeysFromForm(component.getParentKeysEquivalence(), component.getForm()); filter = parentItem ?? {}; filter[component.parentColumn] = flatNode.data[component.getKeys()[0]]; } else { filter = ServiceUtils.getFilterUsingParentKeys(flatNode.data, flatNode.childNode.getParentKeysEquivalence()); } const queryArgs = [ filter, Util.parseArray(component.columns, true), component.entity, null, flatNode.offset ?? 0, component.recursive ? component.queryRows : flatNode.childNode.queryRows ]; return service[queryMethodName](...queryArgs); } } OTreeDao.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTreeDao, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); OTreeDao.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTreeDao }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTreeDao, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10cmVlLWRhby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdHJlZS9vLXRyZWUtZGFvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUl2QyxNQUFNLE9BQU8sUUFBUTtJQURyQjtRQUVZLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUc3QyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVEsRUFBRSxDQUFDLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUdqRCxtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFFckMsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztLQW1FN0M7SUF2RUMsSUFBSSxJQUFJLEtBQVksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFNbkQsWUFBWSxDQUFDLElBQWdCO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFZO1FBQy9CLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztZQUMvQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRVMsVUFBVTtRQUNsQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUF1QixFQUFFLFNBQWlCO1FBQzFELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUNqRSxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUTtZQUN4QyxDQUFDLENBQUMsU0FBUyxDQUFDLG9CQUFvQjtZQUNoQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUcxQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFRLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVoRCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxlQUFlLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFxQixDQUFDLENBQUM7U0FDNUM7UUFFRCxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUN2QixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDakgsTUFBTSxHQUFHLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDMUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU07WUFDTCxNQUFNLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUM1QyxRQUFRLENBQUMsSUFBSSxFQUNiLFFBQVEsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLEVBQUUsQ0FDOUMsQ0FBQztTQUNIO1FBRUQsTUFBTSxTQUFTLEdBQUc7WUFDaEIsTUFBTTtZQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDeEMsU0FBUyxDQUFDLE1BQU07WUFDaEIsSUFBSTtZQUNKLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUNwQixTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVM7U0FDekUsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFnQyxDQUFDO0lBQy9FLENBQUM7O3NHQTNFVSxRQUFROzBHQUFSLFFBQVE7NEZBQVIsUUFBUTtrQkFEcEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9UcmVlRmxhdE5vZGUgfSBmcm9tICcuLi8uLi90eXBlcy90cmVlLWZsYXQtbm9kZS50eXBlJztcbmltcG9ydCB7IFNlcnZpY2VSZXNwb25zZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2VydmljZS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VydmljZVV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbC9zZXJ2aWNlLnV0aWxzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPVHJlZURhbyB7XG4gIHByb3RlY3RlZCBfaXNMb2FkaW5nUmVzdWx0czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgbG9hZGluZ1RpbWVyO1xuICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIGRhdGEgaGFzIGJlZW4gbW9kaWZpZWQuICovXG4gIGRhdGFDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gIHNxbFR5cGVzQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxvYmplY3Q+KHt9KTtcbiAgZ2V0IGRhdGEoKTogYW55W10geyByZXR1cm4gdGhpcy5kYXRhQ2hhbmdlLnZhbHVlOyB9XG5cbiAgcm9vdExldmVsTm9kZXM6IE9UcmVlRmxhdE5vZGVbXSA9IFtdO1xuICAvKiogTWFwIGZyb20gZmxhdCBub2RlIHRvIG5lc3RlZCBub2RlLiBUaGlzIGhlbHBzIHVzIGZpbmRpbmcgdGhlIG5lc3RlZCBub2RlIHRvIGJlIG1vZGlmaWVkICovXG4gIGZsYXROb2RlTWFwID0gbmV3IE1hcDxPVHJlZUZsYXROb2RlLCBhbnk+KCk7XG5cbiAgc2V0RGF0YUFycmF5KGRhdGE6IEFycmF5PGFueT4pIHtcbiAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dChkYXRhKTtcbiAgICByZXR1cm4gb2YoZGF0YSk7XG4gIH1cblxuICBnZXQgaXNMb2FkaW5nUmVzdWx0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nUmVzdWx0cztcbiAgfVxuXG4gIHNldCBpc0xvYWRpbmdSZXN1bHRzKHZhbDogYm9vbGVhbikge1xuICAgIGlmICh2YWwpIHtcbiAgICAgIHRoaXMuY2xlYW5UaW1lcigpO1xuICAgICAgdGhpcy5sb2FkaW5nVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5faXNMb2FkaW5nUmVzdWx0cyA9IHZhbDtcbiAgICAgIH0sIDUwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYW5UaW1lcigpO1xuICAgICAgdGhpcy5faXNMb2FkaW5nUmVzdWx0cyA9IHZhbDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW5UaW1lcigpIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxvYWRpbmdUaW1lcik7XG4gICAgfVxuICB9XG5cbiAgcXVlcnlOb2RlQ2hpbGRyZW4oZmxhdE5vZGU6IE9UcmVlRmxhdE5vZGUsIHJlY3Vyc2l2ZTpib29sZWFuKTogT2JzZXJ2YWJsZTxTZXJ2aWNlUmVzcG9uc2U+IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSByZWN1cnNpdmUgPyBmbGF0Tm9kZS5ub2RlIDogZmxhdE5vZGUuY2hpbGROb2RlO1xuICAgIGNvbnN0IHF1ZXJ5TWV0aG9kTmFtZSA9IGNvbXBvbmVudC5wYWdlYWJsZVxuICAgICAgPyBjb21wb25lbnQucGFnaW5hdGVkUXVlcnlNZXRob2RcbiAgICAgIDogY29tcG9uZW50LnF1ZXJ5TWV0aG9kO1xuXG5cbiAgICBjb25zdCBlbnRpdHkgPSBjb21wb25lbnQuZW50aXR5O1xuICAgIGNvbnN0IHNlcnZpY2U6IGFueSA9IGNvbXBvbmVudC5nZXREYXRhU2VydmljZSgpO1xuXG4gICAgaWYgKCFzZXJ2aWNlIHx8ICEocXVlcnlNZXRob2ROYW1lIGluIHNlcnZpY2UpIHx8ICFlbnRpdHkpIHtcbiAgICAgIHJldHVybiBvZih7IGRhdGE6IFtdIH0gYXMgU2VydmljZVJlc3BvbnNlKTtcbiAgICB9XG5cbiAgICBsZXQgZmlsdGVyO1xuICAgIGlmIChjb21wb25lbnQucmVjdXJzaXZlKSB7XG4gICAgICBjb25zdCBwYXJlbnRJdGVtID0gU2VydmljZVV0aWxzLmdldFBhcmVudEtleXNGcm9tRm9ybShjb21wb25lbnQuZ2V0UGFyZW50S2V5c0VxdWl2YWxlbmNlKCksIGNvbXBvbmVudC5nZXRGb3JtKCkpO1xuICAgICAgZmlsdGVyID0gcGFyZW50SXRlbSA/PyB7fTtcbiAgICAgIGZpbHRlcltjb21wb25lbnQucGFyZW50Q29sdW1uXSA9IGZsYXROb2RlLmRhdGFbY29tcG9uZW50LmdldEtleXMoKVswXV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbHRlciA9IFNlcnZpY2VVdGlscy5nZXRGaWx0ZXJVc2luZ1BhcmVudEtleXMoXG4gICAgICAgIGZsYXROb2RlLmRhdGEsXG4gICAgICAgIGZsYXROb2RlLmNoaWxkTm9kZS5nZXRQYXJlbnRLZXlzRXF1aXZhbGVuY2UoKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVyeUFyZ3MgPSBbXG4gICAgICBmaWx0ZXIsXG4gICAgICBVdGlsLnBhcnNlQXJyYXkoY29tcG9uZW50LmNvbHVtbnMsIHRydWUpLFxuICAgICAgY29tcG9uZW50LmVudGl0eSxcbiAgICAgIG51bGwsXG4gICAgICBmbGF0Tm9kZS5vZmZzZXQgPz8gMCxcbiAgICAgIGNvbXBvbmVudC5yZWN1cnNpdmUgPyBjb21wb25lbnQucXVlcnlSb3dzIDogZmxhdE5vZGUuY2hpbGROb2RlLnF1ZXJ5Um93c1xuICAgIF07XG5cbiAgICByZXR1cm4gc2VydmljZVtxdWVyeU1ldGhvZE5hbWVdKC4uLnF1ZXJ5QXJncykgYXMgT2JzZXJ2YWJsZTxTZXJ2aWNlUmVzcG9uc2U+O1xuICB9XG5cbn1cbiJdfQ==