ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
90 lines • 11.4 kB
JavaScript
import { Injectable } from '@angular/core';
import { AbstractComponentStateService } from './o-component-state.service';
import { OTreeComponentStateClass } from './o-tree-component-state.class';
import * as i0 from "@angular/core";
export class OTreeComponentStateService extends AbstractComponentStateService {
initialize(component) {
this.state = new OTreeComponentStateClass();
super.initialize(component);
}
initializeState(state) {
super.initializeState(state);
}
getDataToStore() {
const dataToStore = {};
const propertiesKeys = [
'quick-filter',
'page',
'selection'
];
Object.assign(dataToStore, this.getTreePropertiesToStore(propertiesKeys));
return dataToStore;
}
getTreePropertiesToStore(properties) {
const result = {};
properties.forEach(prop => {
Object.assign(result, this.getTreePropertyToStore(prop));
});
return result;
}
getTreePropertyToStore(property) {
let result = {};
switch (property) {
case 'quick-filter':
result = this.getQuickFilterState();
break;
case 'page':
result = this.getPageState();
break;
case 'selection':
result['selection'] = this.getSelectionState();
break;
}
return result;
}
getQuickFilterState() {
return {
'filter': this.component.quickFilterComponent ? this.component.quickFilterComponent.getValue() : ''
};
}
getPageState() {
const result = {};
if (this.component.matpaginator) {
result['query-rows'] = this.component.matpaginator.pageSize;
}
else if (this.component.state.queryRows) {
result['query-rows'] = this.component.state.queryRows;
}
else {
result['query-rows'] = this.component.originalQueryRows;
}
if (this.component.currentPage > 0) {
result.currentPage = this.component.currentPage;
}
if (this.component.pageable) {
result.totalQueryRecordsNumber = this.component.state.totalQueryRecordsNumber;
result.queryRecordOffset = Math.max((this.component.state.queryRecordOffset - this.component.dataSource.data.length), (this.component.state.queryRecordOffset - this.component.queryRows));
}
return result;
}
getSelectionState() {
const selection = [];
if (this.component) {
const tableKeys = this.component.getKeys();
this.component.getSelectedItems().forEach(item => {
const data = {};
tableKeys.forEach(key => {
data[key] = item[key];
});
selection.push(data);
});
}
return selection;
}
}
OTreeComponentStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTreeComponentStateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
OTreeComponentStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTreeComponentStateService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTreeComponentStateService, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10cmVlLWNvbXBvbmVudC1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL3N0YXRlL28tdHJlZS1jb21wb25lbnQtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUkxRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsNkJBQXVFO0lBRXJILFVBQVUsQ0FBQyxTQUF5QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUM1QyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBK0I7UUFDN0MsS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sV0FBVyxHQUFRLEVBQUUsQ0FBQztRQUM1QixNQUFNLGNBQWMsR0FBRztZQUNyQixjQUFjO1lBQ2QsTUFBTTtZQUNOLFdBQVc7U0FDWixDQUFDO1FBQ0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVTLHdCQUF3QixDQUFDLFVBQW9CO1FBQ3JELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMs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LENBQUMsQ0FBQztnQkFDSCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzt3SEEzRlUsMEJBQTBCOzRIQUExQiwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT1RyZWVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RyZWUvby10cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gJy4vby1jb21wb25lbnQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBPVHJlZUNvbXBvbmVudFN0YXRlQ2xhc3MgfSBmcm9tICcuL28tdHJlZS1jb21wb25lbnQtc3RhdGUuY2xhc3MnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPVHJlZUNvbXBvbmVudFN0YXRlU2VydmljZSBleHRlbmRzIEFic3RyYWN0Q29tcG9uZW50U3RhdGVTZXJ2aWNlPE9UcmVlQ29tcG9uZW50U3RhdGVDbGFzcywgT1RyZWVDb21wb25lbnQ+IHtcblxuICBpbml0aWFsaXplKGNvbXBvbmVudDogT1RyZWVDb21wb25lbnQpIHtcbiAgICB0aGlzLnN0YXRlID0gbmV3IE9UcmVlQ29tcG9uZW50U3RhdGVDbGFzcygpO1xuICAgIHN1cGVyLmluaXRpYWxpemUoY29tcG9uZW50KTtcbiAgfVxuXG4gIGluaXRpYWxpemVTdGF0ZShzdGF0ZTogT1RyZWVDb21wb25lbnRTdGF0ZUNsYXNzKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZVN0YXRlKHN0YXRlKTtcbiAgfVxuXG4gIGdldERhdGFUb1N0b3JlKCk6IGFueSB7XG4gICAgY29uc3QgZGF0YVRvU3RvcmU6IGFueSA9IHt9O1xuICAgIGNvbnN0IHByb3BlcnRpZXNLZXlzID0gW1xuICAgICAgJ3F1aWNrLWZpbHRlcicsXG4gICAgICAncGFnZScsXG4gICAgICAnc2VsZWN0aW9uJ1xuICAgIF07XG4gICAgT2JqZWN0LmFzc2lnbihkYXRhVG9TdG9yZSwgdGhpcy5nZXRUcmVlUHJvcGVydGllc1RvU3RvcmUocHJvcGVydGllc0tleXMpKTtcbiAgICByZXR1cm4gZGF0YVRvU3RvcmU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJlZVByb3BlcnRpZXNUb1N0b3JlKHByb3BlcnRpZXM6IHN0cmluZ1tdKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICBwcm9wZXJ0aWVzLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgdGhpcy5nZXRUcmVlUHJvcGVydHlUb1N0b3JlKHByb3ApKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyZWVQcm9wZXJ0eVRvU3RvcmUocHJvcGVydHk6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHJlc3VsdDogYW55ID0ge307XG4gICAgc3dpdGNoIChwcm9wZXJ0eSkge1xuICAgICAgY2FzZSAncXVpY2stZmlsdGVyJzpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRRdWlja0ZpbHRlclN0YXRlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdwYWdlJzpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRQYWdlU3RhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZWxlY3Rpb24nOlxuICAgICAgICByZXN1bHRbJ3NlbGVjdGlvbiddID0gdGhpcy5nZXRTZWxlY3Rpb25TdGF0ZSgpO1xuICAgICAgICBicmVhaztcblxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGdldFF1aWNrRmlsdGVyU3RhdGUoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2ZpbHRlcic6IHRoaXMuY29tcG9uZW50LnF1aWNrRmlsdGVyQ29tcG9uZW50ID8gdGhpcy5jb21wb25lbnQucXVpY2tGaWx0ZXJDb21wb25lbnQuZ2V0VmFsdWUoKSA6ICcnXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQYWdlU3RhdGUoKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Lm1hdHBhZ2luYXRvcikge1xuICAgICAgcmVzdWx0WydxdWVyeS1yb3dzJ10gPSB0aGlzLmNvbXBvbmVudC5tYXRwYWdpbmF0b3IucGFnZVNpemU7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBvbmVudC5zdGF0ZS5xdWVyeVJvd3MpIHtcbiAgICAgIHJlc3VsdFsncXVlcnktcm93cyddID0gdGhpcy5jb21wb25lbnQuc3RhdGUucXVlcnlSb3dzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRbJ3F1ZXJ5LXJvd3MnXSA9IHRoaXMuY29tcG9uZW50Lm9yaWdpbmFsUXVlcnlSb3dzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbXBvbmVudC5jdXJyZW50UGFnZSA+IDApIHtcbiAgICAgIHJlc3VsdC5jdXJyZW50UGFnZSA9IHRoaXMuY29tcG9uZW50LmN1cnJlbnRQYWdlO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wb25lbnQucGFnZWFibGUpIHtcbiAgICAgIHJlc3VsdC50b3RhbFF1ZXJ5UmVjb3Jkc051bWJlciA9IHRoaXMuY29tcG9uZW50LnN0YXRlLnRvdGFsUXVlcnlSZWNvcmRzTnVtYmVyO1xuICAgICAgcmVzdWx0LnF1ZXJ5UmVjb3JkT2Zmc2V0ID0gTWF0aC5tYXgoXG4gICAgICAgICh0aGlzLmNvbXBvbmVudC5zdGF0ZS5xdWVyeVJlY29yZE9mZnNldCAtIHRoaXMuY29tcG9uZW50LmRhdGFTb3VyY2UuZGF0YS5sZW5ndGgpLFxuICAgICAgICAodGhpcy5jb21wb25lbnQuc3RhdGUucXVlcnlSZWNvcmRPZmZzZXQgLSB0aGlzLmNvbXBvbmVudC5xdWVyeVJvd3MpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFNlbGVjdGlvblN0YXRlKCk6IGFueSB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gW107XG4gICAgaWYgKHRoaXMuY29tcG9uZW50KSB7XG4gICAgICAvLyBzdG9yaW5nIHNlbGVjdGVkIGl0ZW1zIGtleXMgdmFsdWVzXG4gICAgICBjb25zdCB0YWJsZUtleXMgPSB0aGlzLmNvbXBvbmVudC5nZXRLZXlzKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5nZXRTZWxlY3RlZEl0ZW1zKCkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHt9O1xuICAgICAgICB0YWJsZUtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIGRhdGFba2V5XSA9IGl0ZW1ba2V5XTtcbiAgICAgICAgfSk7XG4gICAgICAgIHNlbGVjdGlvbi5wdXNoKGRhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3Rpb247XG4gIH1cblxufVxuXG5cbiJdfQ==