UNPKG

ontimize-web-ngx

Version:
76 lines 9.57 kB
import { BehaviorSubject, merge, of } from 'rxjs'; export class OTableDao { get data() { return this.dataChange.value; } get sqlTypes() { return this.sqlTypesChange.value; } constructor(dataService, entity, methods) { this.dataService = dataService; this.entity = entity; this.methods = methods; this.usingStaticData = false; this._isLoadingResults = false; this.dataChange = new BehaviorSubject([]); this.sqlTypesChange = new BehaviorSubject({}); } getQuery(queryArgs) { this.isLoadingResults = true; return this.dataService[this.methods.query].apply(this.dataService, queryArgs); } removeQuery(filters, sqlTypes) { return merge(...filters.map((kv => this.dataService[this.methods.delete](kv, this.entity, sqlTypes)))); } insertQuery(av, sqlTypes) { if (this.usingStaticData) { this.data.push(av); return of(this.data); } else { return this.dataService[this.methods.insert](av, this.entity, sqlTypes); } } updateQuery(kv, av, sqlTypes) { if (this.usingStaticData) { return of([]); } else { return this.dataService[this.methods.update](kv, av, this.entity, sqlTypes); } } setDataArray(data) { this.dataChange.next(data); this.isLoadingResults = false; return of(data); } setAsynchronousColumn(value, rowData) { let index = null; for (let i = 0; i < this.data.length; i++) { if (this.data[i] === rowData) { index = i; break; } } if (index !== null) { Object.assign(this.data[index], value); } } 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); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS5kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL28tdGFibGUuZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUs5RCxNQUFNLE9BQU8sU0FBUztJQVVwQixJQUFJLElBQUksS0FBWSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRCxJQUFJLFFBQVEsS0FBYSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU1RCxZQUNVLFdBQWdCLEVBQ2hCLE1BQWMsRUFDZCxPQUFZO1FBRlosZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFkdEIsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFHdkIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRzdDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBUTdDLENBQUM7SUFLTCxRQUFRLENBQUMsU0FBeUI7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVksRUFBRSxRQUFpQjtRQUN6QyxPQUFPLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVUsRUFBRSxRQUFpQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsRUFBVSxFQUFFLEVBQVUsRUFBRSxRQUFpQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFFeEIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDZjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzdFO0lBQ0gsQ0FBQztJQU1ELFlBQVksQ0FBQyxJQUFnQjtRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFpQixFQUFFLE9BQVk7UUFFbkQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxFQUFFO2dCQUM1QixLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNWLE1BQU07YUFDUDtTQUNGO1FBQ0QsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFZO1FBQy9CLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztZQUMvQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRVMsVUFBVTtRQUNsQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9RdWVyeURhdGFBcmdzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvcXVlcnktZGF0YS1hcmdzLnR5cGUnO1xuXG5cbmV4cG9ydCBjbGFzcyBPVGFibGVEYW8ge1xuXG4gIHVzaW5nU3RhdGljRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBsb2FkaW5nVGltZXI7XG4gIHByb3RlY3RlZCBfaXNMb2FkaW5nUmVzdWx0czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgZGF0YSBoYXMgYmVlbiBtb2RpZmllZC4gKi9cbiAgZGF0YUNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcbiAgc3FsVHlwZXNDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG9iamVjdD4oe30pO1xuICBnZXQgZGF0YSgpOiBhbnlbXSB7IHJldHVybiB0aGlzLmRhdGFDaGFuZ2UudmFsdWU7IH1cbiAgZ2V0IHNxbFR5cGVzKCk6IG9iamVjdCB7IHJldHVybiB0aGlzLnNxbFR5cGVzQ2hhbmdlLnZhbHVlOyB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogYW55LFxuICAgIHByaXZhdGUgZW50aXR5OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBtZXRob2RzOiBhbnlcbiAgKSB7IH1cblxuICAvKipcbiAgICogQ2FsbCB0aGUgc2VydmljZSBxdWVyeSBhbmQgZW1pdCBkYXRhIGhhcyBiZW4gbW9kaWZpZWRcbiAgICovXG4gIGdldFF1ZXJ5KHF1ZXJ5QXJnczogT1F1ZXJ5RGF0YUFyZ3MpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuaXNMb2FkaW5nUmVzdWx0cyA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2VbdGhpcy5tZXRob2RzLnF1ZXJ5XS5hcHBseSh0aGlzLmRhdGFTZXJ2aWNlLCBxdWVyeUFyZ3MpO1xuICB9XG5cbiAgcmVtb3ZlUXVlcnkoZmlsdGVyczogYW55LCBzcWxUeXBlcz86IG9iamVjdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG1lcmdlKC4uLmZpbHRlcnMubWFwKChrdiA9PiB0aGlzLmRhdGFTZXJ2aWNlW3RoaXMubWV0aG9kcy5kZWxldGVdKGt2LCB0aGlzLmVudGl0eSwgc3FsVHlwZXMpKSkpO1xuICB9XG5cbiAgaW5zZXJ0UXVlcnkoYXY6IG9iamVjdCwgc3FsVHlwZXM/OiBvYmplY3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh0aGlzLnVzaW5nU3RhdGljRGF0YSkge1xuICAgICAgdGhpcy5kYXRhLnB1c2goYXYpO1xuICAgICAgcmV0dXJuIG9mKHRoaXMuZGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlW3RoaXMubWV0aG9kcy5pbnNlcnRdKGF2LCB0aGlzLmVudGl0eSwgc3FsVHlwZXMpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVF1ZXJ5KGt2OiBvYmplY3QsIGF2OiBvYmplY3QsIHNxbFR5cGVzPzogb2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAodGhpcy51c2luZ1N0YXRpY0RhdGEpIHtcbiAgICAgIC8vIE9ubHkgdG8gc2ltdWxhdGUgdGhlIHNlcnZpY2UgcmVzcG9uc2UsIHRoZSBtb2RlbCBjaGFuZ2UgaXMgZG9uZSBpbiB0aGUgZWRpdG9yXG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZVt0aGlzLm1ldGhvZHMudXBkYXRlXShrdiwgYXYsIHRoaXMuZW50aXR5LCBzcWxUeXBlcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBkYXRhIGFycmF5IGFuZCBlbWl0IGRhdGEgaGFzIGJlbiBtb2RpZmllZFxuICAgKiBAcGFyYW0gZGF0YVxuICAgKi9cbiAgc2V0RGF0YUFycmF5KGRhdGE6IEFycmF5PGFueT4pIHtcbiAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dChkYXRhKTtcbiAgICB0aGlzLmlzTG9hZGluZ1Jlc3VsdHMgPSBmYWxzZTtcbiAgICByZXR1cm4gb2YoZGF0YSk7XG4gIH1cblxuICBzZXRBc3luY2hyb25vdXNDb2x1bW4odmFsdWU6IEFycmF5PGFueT4sIHJvd0RhdGE6IGFueSkge1xuICAgIC8vIE9iamVjdC5hc3NpZ24odGhpcy5kYXRhW3Jvd0luZGV4XSwgdmFsdWUpO1xuICAgIGxldCBpbmRleCA9IG51bGw7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmRhdGFbaV0gPT09IHJvd0RhdGEpIHtcbiAgICAgICAgaW5kZXggPSBpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGluZGV4ICE9PSBudWxsKSB7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuZGF0YVtpbmRleF0sIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNMb2FkaW5nUmVzdWx0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nUmVzdWx0cztcbiAgfVxuXG4gIHNldCBpc0xvYWRpbmdSZXN1bHRzKHZhbDogYm9vbGVhbikge1xuICAgIGlmICh2YWwpIHtcbiAgICAgIHRoaXMuY2xlYW5UaW1lcigpO1xuICAgICAgdGhpcy5sb2FkaW5nVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5faXNMb2FkaW5nUmVzdWx0cyA9IHZhbDtcbiAgICAgIH0sIDUwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYW5UaW1lcigpO1xuICAgICAgdGhpcy5faXNMb2FkaW5nUmVzdWx0cyA9IHZhbDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW5UaW1lcigpIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxvYWRpbmdUaW1lcik7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==