@one-grid-core/angular 0.1.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +168 -0
- package/esm2022/lib/components/one-grid/one-grid.component.mjs +388 -0
- package/esm2022/lib/components/one-grid-body/one-grid-body.component.mjs +570 -0
- package/esm2022/lib/components/one-grid-cell-currency/one-grid-cell-currency.component.mjs +90 -0
- package/esm2022/lib/components/one-grid-cell-group-renderer/one-grid-cell-group-renderer.component.mjs +31 -0
- package/esm2022/lib/components/one-grid-cell-option-menu/one-grid-cell-option-menu.component.mjs +67 -0
- package/esm2022/lib/components/one-grid-checkbox/one-grid-checkbox.component.mjs +47 -0
- package/esm2022/lib/components/one-grid-checkbox-header/one-grid-checkbox-header.component.mjs +62 -0
- package/esm2022/lib/components/one-grid-header/one-grid-header.component.mjs +140 -0
- package/esm2022/lib/components/one-grid-pagination/one-grid-pagination.component.mjs +76 -0
- package/esm2022/lib/components/one-grid-row-action/one-grid-row-action.component.mjs +193 -0
- package/esm2022/lib/components/one-grid-status/one-grid-status.component.mjs +35 -0
- package/esm2022/lib/core/directives/one-cell-input-validator.directive.mjs +71 -0
- package/esm2022/lib/core/directives/one-cell-renderer-component.directive.mjs +77 -0
- package/esm2022/lib/core/directives/one-cell-text-expand.directive.mjs +82 -0
- package/esm2022/lib/core/instants/one-grid-api.class.mjs +591 -0
- package/esm2022/lib/core/instants/one-row-node.class.mjs +90 -0
- package/esm2022/lib/core/models/constants/one-pagination.constant.mjs +2 -0
- package/esm2022/lib/core/models/one-column-def-types.model.mjs +2 -0
- package/esm2022/lib/core/models/one-event-types.model.mjs +2 -0
- package/esm2022/lib/core/models/one-filter.model.mjs +2 -0
- package/esm2022/lib/core/models/one-grid-types.model.mjs +2 -0
- package/esm2022/lib/core/models/one-master-detail.model.mjs +2 -0
- package/esm2022/lib/core/models/one-pagination-types.model.mjs +2 -0
- package/esm2022/lib/core/models/one-row.model.mjs +13 -0
- package/esm2022/lib/core/models/one-tree-data.model.mjs +2 -0
- package/esm2022/lib/core/models/one-validation.model.mjs +2 -0
- package/esm2022/lib/core/pipes/cell-action-button-enable.pipe.mjs +21 -0
- package/esm2022/lib/core/pipes/cell-action-button-visible.pipe.mjs +17 -0
- package/esm2022/lib/core/pipes/cell-disable-resolver.pipe.mjs +26 -0
- package/esm2022/lib/core/pipes/cell-editable.pipe.mjs +30 -0
- package/esm2022/lib/core/pipes/cell-field-value-empty.pipe.mjs +21 -0
- package/esm2022/lib/core/pipes/cell-field-value.pipe.mjs +25 -0
- package/esm2022/lib/core/pipes/cell-field.pipe.mjs +20 -0
- package/esm2022/lib/core/pipes/cell-invalid.pipe.mjs +21 -0
- package/esm2022/lib/core/pipes/cell-key.pipe.mjs +21 -0
- package/esm2022/lib/core/pipes/cell-level-padding.pipe.mjs +18 -0
- package/esm2022/lib/core/pipes/cell-number-value.pipe.mjs +19 -0
- package/esm2022/lib/core/pipes/cell-selected.pipe.mjs +20 -0
- package/esm2022/lib/core/pipes/cell-state-group-renderer.pipe.mjs +21 -0
- package/esm2022/lib/core/pipes/cell-state-renderer.pipe.mjs +24 -0
- package/esm2022/lib/core/pipes/cell-value-getter.pipe.mjs +23 -0
- package/esm2022/lib/core/pipes/column-sort-state.pipe.mjs +19 -0
- package/esm2022/lib/core/pipes/header-checkbox-checked.pipe.mjs +17 -0
- package/esm2022/lib/core/pipes/header-checkbox-disabled.pipe.mjs +17 -0
- package/esm2022/lib/core/pipes/header-checkbox-indeterminate.pipe.mjs +17 -0
- package/esm2022/lib/core/services/og-column.service.mjs +81 -0
- package/esm2022/lib/core/services/one-grid-cell.service.mjs +88 -0
- package/esm2022/lib/core/services/one-grid-event.service.mjs +42 -0
- package/esm2022/lib/core/services/one-grid-expansion.service.mjs +40 -0
- package/esm2022/lib/core/services/one-grid-row.service.mjs +29 -0
- package/esm2022/lib/core/services/one-grid-selection.service.mjs +54 -0
- package/esm2022/lib/core/services/one-grid-tree-data.service.mjs +59 -0
- package/esm2022/lib/helpers/one-cell.helper.mjs +42 -0
- package/esm2022/lib/helpers/one-column-def.helper.mjs +28 -0
- package/esm2022/lib/helpers/one-filter.helper.mjs +52 -0
- package/esm2022/lib/helpers/one-validation.helper.mjs +95 -0
- package/esm2022/lib/index.mjs +19 -0
- package/esm2022/lib/one-grid.module.mjs +142 -0
- package/esm2022/one-grid-core-angular.mjs +5 -0
- package/esm2022/public-api.mjs +5 -0
- package/fesm2022/one-grid-core-angular.mjs +3573 -0
- package/fesm2022/one-grid-core-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/one-grid/one-grid.component.d.ts +139 -0
- package/lib/components/one-grid-body/one-grid-body.component.d.ts +176 -0
- package/lib/components/one-grid-cell-currency/one-grid-cell-currency.component.d.ts +27 -0
- package/lib/components/one-grid-cell-group-renderer/one-grid-cell-group-renderer.component.d.ts +16 -0
- package/lib/components/one-grid-cell-option-menu/one-grid-cell-option-menu.component.d.ts +21 -0
- package/lib/components/one-grid-checkbox/one-grid-checkbox.component.d.ts +19 -0
- package/lib/components/one-grid-checkbox-header/one-grid-checkbox-header.component.d.ts +24 -0
- package/lib/components/one-grid-header/one-grid-header.component.d.ts +41 -0
- package/lib/components/one-grid-pagination/one-grid-pagination.component.d.ts +21 -0
- package/lib/components/one-grid-row-action/one-grid-row-action.component.d.ts +59 -0
- package/lib/components/one-grid-status/one-grid-status.component.d.ts +15 -0
- package/lib/core/directives/one-cell-input-validator.directive.d.ts +15 -0
- package/lib/core/directives/one-cell-renderer-component.directive.d.ts +20 -0
- package/lib/core/directives/one-cell-text-expand.directive.d.ts +21 -0
- package/lib/core/instants/one-grid-api.class.d.ts +161 -0
- package/lib/core/instants/one-row-node.class.d.ts +49 -0
- package/lib/core/models/constants/one-pagination.constant.d.ts +1 -0
- package/lib/core/models/one-column-def-types.model.d.ts +139 -0
- package/lib/core/models/one-event-types.model.d.ts +78 -0
- package/lib/core/models/one-filter.model.d.ts +15 -0
- package/lib/core/models/one-grid-types.model.d.ts +48 -0
- package/lib/core/models/one-master-detail.model.d.ts +18 -0
- package/lib/core/models/one-pagination-types.model.d.ts +9 -0
- package/lib/core/models/one-row.model.d.ts +38 -0
- package/lib/core/models/one-tree-data.model.d.ts +9 -0
- package/lib/core/models/one-validation.model.d.ts +9 -0
- package/lib/core/pipes/cell-action-button-enable.pipe.d.ts +8 -0
- package/lib/core/pipes/cell-action-button-visible.pipe.d.ts +9 -0
- package/lib/core/pipes/cell-disable-resolver.pipe.d.ts +9 -0
- package/lib/core/pipes/cell-editable.pipe.d.ts +9 -0
- package/lib/core/pipes/cell-field-value-empty.pipe.d.ts +7 -0
- package/lib/core/pipes/cell-field-value.pipe.d.ts +7 -0
- package/lib/core/pipes/cell-field.pipe.d.ts +7 -0
- package/lib/core/pipes/cell-invalid.pipe.d.ts +9 -0
- package/lib/core/pipes/cell-key.pipe.d.ts +7 -0
- package/lib/core/pipes/cell-level-padding.pipe.d.ts +7 -0
- package/lib/core/pipes/cell-number-value.pipe.d.ts +7 -0
- package/lib/core/pipes/cell-selected.pipe.d.ts +7 -0
- package/lib/core/pipes/cell-state-group-renderer.pipe.d.ts +9 -0
- package/lib/core/pipes/cell-state-renderer.pipe.d.ts +8 -0
- package/lib/core/pipes/cell-value-getter.pipe.d.ts +9 -0
- package/lib/core/pipes/column-sort-state.pipe.d.ts +8 -0
- package/lib/core/pipes/header-checkbox-checked.pipe.d.ts +9 -0
- package/lib/core/pipes/header-checkbox-disabled.pipe.d.ts +9 -0
- package/lib/core/pipes/header-checkbox-indeterminate.pipe.d.ts +9 -0
- package/lib/core/services/og-column.service.d.ts +22 -0
- package/lib/core/services/one-grid-cell.service.d.ts +29 -0
- package/lib/core/services/one-grid-event.service.d.ts +17 -0
- package/lib/core/services/one-grid-expansion.service.d.ts +13 -0
- package/lib/core/services/one-grid-row.service.d.ts +15 -0
- package/lib/core/services/one-grid-selection.service.d.ts +17 -0
- package/lib/core/services/one-grid-tree-data.service.d.ts +10 -0
- package/lib/helpers/one-cell.helper.d.ts +26 -0
- package/lib/helpers/one-column-def.helper.d.ts +17 -0
- package/lib/helpers/one-filter.helper.d.ts +20 -0
- package/lib/helpers/one-validation.helper.d.ts +21 -0
- package/lib/index.d.ts +18 -0
- package/lib/one-grid.module.d.ts +45 -0
- package/package.json +48 -0
- package/public-api.d.ts +1 -0
- package/scss/_one-grid.scss +999 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ColumnSortStatePipe {
|
|
4
|
+
transform(field, sortModel) {
|
|
5
|
+
if (!sortModel || !field)
|
|
6
|
+
return null;
|
|
7
|
+
return sortModel.find(s => s.colId === field)?.sort ?? null;
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ColumnSortStatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
10
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ColumnSortStatePipe, name: "columnSortState" }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ColumnSortStatePipe, decorators: [{
|
|
13
|
+
type: Pipe,
|
|
14
|
+
args: [{
|
|
15
|
+
standalone: false,
|
|
16
|
+
name: 'columnSortState'
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNvcnQtc3RhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZS1ncmlkL3NyYy9saWIvY29yZS9waXBlcy9jb2x1bW4tc29ydC1zdGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsU0FBeUI7UUFFaEQsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV0QyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFDOUQsQ0FBQzsrR0FQVSxtQkFBbUI7NkdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFKL0IsSUFBSTttQkFBQztvQkFDSixVQUFVLEVBQUUsS0FBSztvQkFDakIsSUFBSSxFQUFFLGlCQUFpQjtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPbmVTb3J0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvb25lLWdyaWQtdHlwZXMubW9kZWwnO1xuXG5AUGlwZSh7XG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBuYW1lOiAnY29sdW1uU29ydFN0YXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5Tb3J0U3RhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZpZWxkOiBzdHJpbmcsIHNvcnRNb2RlbDogT25lU29ydE1vZGVsW10pOiAnYXNjJyB8ICdkZXNjJyB8IG51bGwge1xuXG4gICAgaWYgKCFzb3J0TW9kZWwgfHwgIWZpZWxkKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBzb3J0TW9kZWwuZmluZChzID0+IHMuY29sSWQgPT09IGZpZWxkKT8uc29ydCA/PyBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class HeaderCheckboxCheckedPipe {
|
|
4
|
+
transform(rowNodes, selectionMode, state) {
|
|
5
|
+
return rowNodes?.length > 0 && selectionMode === 'multiple' && state === 'checked';
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxCheckedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxCheckedPipe, name: "headerCheckboxChecked" }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxCheckedPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
standalone: false,
|
|
14
|
+
name: 'headerCheckboxChecked'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNoZWNrYm94LWNoZWNrZWQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZS1ncmlkL3NyYy9saWIvY29yZS9waXBlcy9oZWFkZXItY2hlY2tib3gtY2hlY2tlZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFwRCxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFNBQVMsQ0FBQyxRQUFzQixFQUFFLGFBQStCLEVBQUUsS0FBdUI7UUFFeEYsT0FBTyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLEtBQUssVUFBVSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDckYsQ0FBQzsrR0FMVSx5QkFBeUI7NkdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFKckMsSUFBSTttQkFBQztvQkFDSixVQUFVLEVBQUUsS0FBSztvQkFDakIsSUFBSSxFQUFFLHVCQUF1QjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPbmVSb3dOb2RlIH0gZnJvbSAnLi4vaW5zdGFudHMvb25lLXJvdy1ub2RlLmNsYXNzJztcbmltcG9ydCB7IE9uZUNoZWNrYm94U3RhdGUsIFJvd1NlbGVjdGlvbk1vZGUgfSBmcm9tICcuLi9tb2RlbHMvb25lLWV2ZW50LXR5cGVzLm1vZGVsJztcblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgbmFtZTogJ2hlYWRlckNoZWNrYm94Q2hlY2tlZCdcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ2hlY2tib3hDaGVja2VkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShyb3dOb2RlczogT25lUm93Tm9kZVtdLCBzZWxlY3Rpb25Nb2RlOiBSb3dTZWxlY3Rpb25Nb2RlLCBzdGF0ZTogT25lQ2hlY2tib3hTdGF0ZSk6IGJvb2xlYW4ge1xuXG4gICAgcmV0dXJuIHJvd05vZGVzPy5sZW5ndGggPiAwICYmIHNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZScgJiYgc3RhdGUgPT09ICdjaGVja2VkJztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class HeaderCheckboxDisabledPipe {
|
|
4
|
+
transform(rowNodes, selectionMode, allowedEdit) {
|
|
5
|
+
return rowNodes?.length === 0 || selectionMode !== 'multiple' || !allowedEdit;
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxDisabledPipe, name: "headerCheckboxDisabled" }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxDisabledPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
standalone: false,
|
|
14
|
+
name: 'headerCheckboxDisabled'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNoZWNrYm94LWRpc2FibGVkLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvcGlwZXMvaGVhZGVyLWNoZWNrYm94LWRpc2FibGVkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBUXBELE1BQU0sT0FBTywwQkFBMEI7SUFFckMsU0FBUyxDQUFDLFFBQXNCLEVBQUUsYUFBK0IsRUFBRSxXQUFvQjtRQUVyRixPQUFPLFFBQVEsRUFBRSxNQUFNLEtBQUssQ0FBQyxJQUFJLGFBQWEsS0FBSyxVQUFVLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDaEYsQ0FBQzsrR0FMVSwwQkFBMEI7NkdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFKdEMsSUFBSTttQkFBQztvQkFDSixVQUFVLEVBQUUsS0FBSztvQkFDakIsSUFBSSxFQUFFLHdCQUF3QjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPbmVSb3dOb2RlIH0gZnJvbSAnLi4vaW5zdGFudHMvb25lLXJvdy1ub2RlLmNsYXNzJztcbmltcG9ydCB7IFJvd1NlbGVjdGlvbk1vZGUgfSBmcm9tICcuLi9tb2RlbHMvb25lLWV2ZW50LXR5cGVzLm1vZGVsJztcblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgbmFtZTogJ2hlYWRlckNoZWNrYm94RGlzYWJsZWQnXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNoZWNrYm94RGlzYWJsZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHJvd05vZGVzOiBPbmVSb3dOb2RlW10sIHNlbGVjdGlvbk1vZGU6IFJvd1NlbGVjdGlvbk1vZGUsIGFsbG93ZWRFZGl0OiBib29sZWFuKTogYm9vbGVhbiB7XG5cbiAgICByZXR1cm4gcm93Tm9kZXM/Lmxlbmd0aCA9PT0gMCB8fCBzZWxlY3Rpb25Nb2RlICE9PSAnbXVsdGlwbGUnIHx8ICFhbGxvd2VkRWRpdDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class HeaderCheckboxIndeterminatePipe {
|
|
4
|
+
transform(rowNodes, selectionMode, state) {
|
|
5
|
+
return rowNodes?.length > 0 && selectionMode === 'multiple' && state === 'indeterminate';
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxIndeterminatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxIndeterminatePipe, name: "headerCheckboxIndeterminate" }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderCheckboxIndeterminatePipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
standalone: false,
|
|
14
|
+
name: 'headerCheckboxIndeterminate'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZS1ncmlkL3NyYy9saWIvY29yZS9waXBlcy9oZWFkZXItY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFwRCxNQUFNLE9BQU8sK0JBQStCO0lBRTFDLFNBQVMsQ0FBQyxRQUFzQixFQUFFLGFBQStCLEVBQUUsS0FBdUI7UUFFeEYsT0FBTyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLEtBQUssVUFBVSxJQUFJLEtBQUssS0FBSyxlQUFlLENBQUM7SUFDM0YsQ0FBQzsrR0FMVSwrQkFBK0I7NkdBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFKM0MsSUFBSTttQkFBQztvQkFDSixVQUFVLEVBQUUsS0FBSztvQkFDakIsSUFBSSxFQUFFLDZCQUE2QjtpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPbmVSb3dOb2RlIH0gZnJvbSAnLi4vaW5zdGFudHMvb25lLXJvdy1ub2RlLmNsYXNzJztcbmltcG9ydCB7IE9uZUNoZWNrYm94U3RhdGUsIFJvd1NlbGVjdGlvbk1vZGUgfSBmcm9tICcuLi9tb2RlbHMvb25lLWV2ZW50LXR5cGVzLm1vZGVsJztcblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgbmFtZTogJ2hlYWRlckNoZWNrYm94SW5kZXRlcm1pbmF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ2hlY2tib3hJbmRldGVybWluYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShyb3dOb2RlczogT25lUm93Tm9kZVtdLCBzZWxlY3Rpb25Nb2RlOiBSb3dTZWxlY3Rpb25Nb2RlLCBzdGF0ZTogT25lQ2hlY2tib3hTdGF0ZSk6IHVua25vd24ge1xuXG4gICAgcmV0dXJuIHJvd05vZGVzPy5sZW5ndGggPiAwICYmIHNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZScgJiYgc3RhdGUgPT09ICdpbmRldGVybWluYXRlJztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import lodash from 'lodash';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class OgColumnService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.defaultColumnDef = null;
|
|
8
|
+
this.columnDefs$ = new BehaviorSubject([]);
|
|
9
|
+
this.groupColumnDefs$ = new BehaviorSubject([]);
|
|
10
|
+
}
|
|
11
|
+
initColumnDefs(defaultColumnDef, columnDefs, groupColumnDefs) {
|
|
12
|
+
this.defaultColumnDef = defaultColumnDef;
|
|
13
|
+
this.setGroupColumnDefs(groupColumnDefs);
|
|
14
|
+
this.setColumnDefs(columnDefs);
|
|
15
|
+
}
|
|
16
|
+
getColumnState() {
|
|
17
|
+
const columns = this.columnDefs$.getValue();
|
|
18
|
+
const groups = this.groupColumnDefs$.getValue();
|
|
19
|
+
return { columns, groups };
|
|
20
|
+
}
|
|
21
|
+
setGroupColumnDefs(groupColumnDefs) {
|
|
22
|
+
const groups = groupColumnDefs.map((group) => this.resolveGroupPresentation(group));
|
|
23
|
+
this.groupColumnDefs$.next(groups);
|
|
24
|
+
}
|
|
25
|
+
setColumnDefs(columnDefs) {
|
|
26
|
+
const columns = columnDefs.map((col) => {
|
|
27
|
+
const column = {
|
|
28
|
+
...this.defaultColumnDef,
|
|
29
|
+
...col,
|
|
30
|
+
id: col?.field ? col.field : lodash.uniqueId('col_'),
|
|
31
|
+
};
|
|
32
|
+
return this.resolveCellPresentation(column);
|
|
33
|
+
});
|
|
34
|
+
this.recalculateGroups(columns);
|
|
35
|
+
this.columnDefs$.next(columns);
|
|
36
|
+
}
|
|
37
|
+
// Update single column
|
|
38
|
+
updateColumnDef(id, changes) {
|
|
39
|
+
const columns = this.getColumnState().columns;
|
|
40
|
+
const updatedColumns = columns.map(col => col.id === id ? { ...col, ...changes } : col);
|
|
41
|
+
this.recalculateGroups(updatedColumns);
|
|
42
|
+
this.columnDefs$.next(updatedColumns);
|
|
43
|
+
}
|
|
44
|
+
// Reorder columns
|
|
45
|
+
reorderColumnDefs(fromIndex, toIndex) {
|
|
46
|
+
const columns = lodash.clone(this.getColumnState().columns);
|
|
47
|
+
const [moved] = columns.splice(fromIndex, 1);
|
|
48
|
+
columns.splice(toIndex, 0, moved);
|
|
49
|
+
this.columnDefs$.next(columns);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Group Header Columns
|
|
53
|
+
*/
|
|
54
|
+
recalculateGroups(columnDefs) {
|
|
55
|
+
if (this.groupColumnDefs$.getValue().length > 0) {
|
|
56
|
+
const groups = this.groupColumnDefs$.value.map(group => ({
|
|
57
|
+
...group,
|
|
58
|
+
width: columnDefs.filter(c => c.groupId === group.id).reduce((sum, col) => sum + (col.width ? col.width > col.maxWidth ? col.maxWidth : col.width < col.minWidth ? col.minWidth : col.width : col.minWidth), 0)
|
|
59
|
+
}));
|
|
60
|
+
this.groupColumnDefs$.next(groups);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
resolveGroupPresentation(col, params) {
|
|
64
|
+
col._resolvedGroupClass = typeof col.groupClass === 'function' ? col.groupClass(params) : col.groupClass;
|
|
65
|
+
col._resolvedGroupStyle = typeof col.groupStyle === 'function' ? col.groupStyle(params) : col.groupStyle;
|
|
66
|
+
return col;
|
|
67
|
+
}
|
|
68
|
+
resolveCellPresentation(col, params) {
|
|
69
|
+
col._resolvedHeaderClass = typeof col.headerClass === 'function' ? col.headerClass(params) : col.headerClass;
|
|
70
|
+
col._resolvedHeaderStyle = typeof col.headerStyle === 'function' ? col.headerStyle(params) : col.headerStyle;
|
|
71
|
+
col._resolvedCellClass = typeof col.cellClass === 'function' ? col.cellClass(params) : col.cellClass;
|
|
72
|
+
col._resolvedCellStyle = typeof col.cellStyle === 'function' ? col.cellStyle(params) : col.cellStyle;
|
|
73
|
+
return col;
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OgColumnService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
76
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OgColumnService }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OgColumnService, decorators: [{
|
|
79
|
+
type: Injectable
|
|
80
|
+
}] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ctY29sdW1uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvc2VydmljZXMvb2ctY29sdW1uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7QUFJNUIsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFHVSxxQkFBZ0IsR0FBaUIsSUFBSSxDQUFDO1FBQ3RDLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFzQixFQUFFLENBQUMsQ0FBQztLQXVHekU7SUFyR0MsY0FBYyxDQUFDLGdCQUE4QixFQUFFLFVBQTBCLEVBQUUsZUFBb0M7UUFFN0csSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBRXpDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO1FBRVosTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsZUFBb0M7UUFFckQsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FB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QUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUNyRyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxHQUFHLENBQUMsU0FBUyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUVyRyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7K0dBMUdVLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT25lQ2VsbFJlbmRlcmVyUGFyYW1zLCBPbmVDb2x1bW5EZWYsIE9uZUdyb3VwQ29sdW1uRGVmIH0gZnJvbSAnLi4vbW9kZWxzL29uZS1jb2x1bW4tZGVmLXR5cGVzLm1vZGVsJztcbmltcG9ydCBsb2Rhc2ggZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENvbHVtbkNoYW5nZWRFdmVudCB9IGZyb20gJy4uL21vZGVscy9vbmUtZXZlbnQtdHlwZXMubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT2dDb2x1bW5TZXJ2aWNlIHtcblxuICBwcml2YXRlIGRlZmF1bHRDb2x1bW5EZWY6IE9uZUNvbHVtbkRlZiA9IG51bGw7XG4gIHByaXZhdGUgY29sdW1uRGVmcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9uZUNvbHVtbkRlZltdPihbXSk7XG4gIHByaXZhdGUgZ3JvdXBDb2x1bW5EZWZzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T25lR3JvdXBDb2x1bW5EZWZbXT4oW10pO1xuXG4gIGluaXRDb2x1bW5EZWZzKGRlZmF1bHRDb2x1bW5EZWY6IE9uZUNvbHVtbkRlZiwgY29sdW1uRGVmczogT25lQ29sdW1uRGVmW10sIGdyb3VwQ29sdW1uRGVmczogT25lR3JvdXBDb2x1bW5EZWZbXSk6IHZvaWQge1xuXG4gICAgdGhpcy5kZWZhdWx0Q29sdW1uRGVmID0gZGVmYXVsdENvbHVtbkRlZjtcblxuICAgIHRoaXMuc2V0R3JvdXBDb2x1bW5EZWZzKGdyb3VwQ29sdW1uRGVmcyk7XG4gICAgXG4gICAgdGhpcy5zZXRDb2x1bW5EZWZzKGNvbHVtbkRlZnMpO1xuICB9XG5cbiAgZ2V0Q29sdW1uU3RhdGUoKTogQ29sdW1uQ2hhbmdlZEV2ZW50IHtcblxuICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmNvbHVtbkRlZnMkLmdldFZhbHVlKCk7XG5cbiAgICBjb25zdCBncm91cHMgPSB0aGlzLmdyb3VwQ29sdW1uRGVmcyQuZ2V0VmFsdWUoKTtcblxuICAgIHJldHVybiB7IGNvbHVtbnMsIGdyb3VwcyB9O1xuICB9XG5cbiAgc2V0R3JvdXBDb2x1bW5EZWZzKGdyb3VwQ29sdW1uRGVmczogT25lR3JvdXBDb2x1bW5EZWZbXSk6IHZvaWQge1xuXG4gICAgY29uc3QgZ3JvdXBzID0gZ3JvdXBDb2x1bW5EZWZzLm1hcCgoZ3JvdXA6IE9uZUdyb3VwQ29sdW1uRGVmKSA9PiB0aGlzLnJlc29sdmVHcm91cFByZXNlbnRhdGlvbihncm91cCkpO1xuXG4gICAgdGhpcy5ncm91cENvbHVtbkRlZnMkLm5leHQoZ3JvdXBzKTtcbiAgfVxuXG4gIHNldENvbHVtbkRlZnMoY29sdW1uRGVmczogT25lQ29sdW1uRGVmW10pOiB2b2lkIHtcblxuICAgIGNvbnN0IGNvbHVtbnMgPSBjb2x1bW5EZWZzLm1hcCgoY29sOiBPbmVDb2x1bW5EZWYpID0+IHtcblxuICAgICAgY29uc3QgY29sdW1uID0ge1xuICAgICAgICAuLi50aGlzLmRlZmF1bHRDb2x1bW5EZWYsXG4gICAgICAgIC4uLmNvbCxcbiAgICAgICAgaWQ6IGNvbD8uZmllbGQgPyBjb2wuZmllbGQgOiBsb2Rhc2gudW5pcXVlSWQoJ2NvbF8nKSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB0aGlzLnJlc29sdmVDZWxsUHJlc2VudGF0aW9uKGNvbHVtbik7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlY2FsY3VsYXRlR3JvdXBzKGNvbHVtbnMpO1xuXG4gICAgdGhpcy5jb2x1bW5EZWZzJC5uZXh0KGNvbHVtbnMpO1xuICB9XG5cbiAgLy8gVXBkYXRlIHNpbmdsZSBjb2x1bW5cbiAgdXBkYXRlQ29sdW1uRGVmKGlkOiBzdHJpbmcsIGNoYW5nZXM6IFBhcnRpYWw8T25lQ29sdW1uRGVmPik6IHZvaWQge1xuXG4gICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZ2V0Q29sdW1uU3RhdGUoKS5jb2x1bW5zO1xuXG4gICAgY29uc3QgdXBkYXRlZENvbHVtbnMgPSBjb2x1bW5zLm1hcChjb2wgPT4gY29sLmlkID09PSBpZCA/IHsgLi4uY29sLCAuLi5jaGFuZ2VzIH0gOiBjb2wpO1xuXG4gICAgdGhpcy5yZWNhbGN1bGF0ZUdyb3Vwcyh1cGRhdGVkQ29sdW1ucyk7XG4gICAgXG4gICAgdGhpcy5jb2x1bW5EZWZzJC5uZXh0KHVwZGF0ZWRDb2x1bW5zKTtcbiAgfVxuXG4gIC8vIFJlb3JkZXIgY29sdW1uc1xuICByZW9yZGVyQ29sdW1uRGVmcyhmcm9tSW5kZXg6IG51bWJlciwgdG9JbmRleDogbnVtYmVyKTogdm9pZCB7XG5cbiAgICBjb25zdCBjb2x1bW5zID0gbG9kYXNoLmNsb25lKHRoaXMuZ2V0Q29sdW1uU3RhdGUoKS5jb2x1bW5zKTtcblxuICAgIGNvbnN0IFttb3ZlZF0gPSBjb2x1bW5zLnNwbGljZShmcm9tSW5kZXgsIDEpO1xuXG4gICAgY29sdW1ucy5zcGxpY2UodG9JbmRleCwgMCwgbW92ZWQpO1xuXG4gICAgdGhpcy5jb2x1bW5EZWZzJC5uZXh0KGNvbHVtbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwIEhlYWRlciBDb2x1bW5zXG4gICAqL1xuICBwcml2YXRlIHJlY2FsY3VsYXRlR3JvdXBzKGNvbHVtbkRlZnM6IE9uZUNvbHVtbkRlZltdKSB7XG5cbiAgICBpZiAodGhpcy5ncm91cENvbHVtbkRlZnMkLmdldFZhbHVlKCkubGVuZ3RoID4gMCkge1xuXG4gICAgICBjb25zdCBncm91cHMgPSB0aGlzLmdyb3VwQ29sdW1uRGVmcyQudmFsdWUubWFwKGdyb3VwID0+ICh7XG4gICAgICAgIC4uLmdyb3VwLFxuICAgICAgICB3aWR0aDogY29sdW1uRGVmcy5maWx0ZXIoYyA9PiBjLmdyb3VwSWQgPT09IGdyb3VwLmlkKS5yZWR1Y2UoKHN1bSwgY29sKSA9PiBzdW0gKyAoY29sLndpZHRoID8gY29sLndpZHRoID4gY29sLm1heFdpZHRoID8gY29sLm1heFdpZHRoIDogY29sLndpZHRoIDwgY29sLm1pbldpZHRoID8gY29sLm1pbldpZHRoIDogY29sLndpZHRoIDogY29sLm1pbldpZHRoKSwgMClcbiAgICAgIH0pKTtcblxuICAgICAgdGhpcy5ncm91cENvbHVtbkRlZnMkLm5leHQoZ3JvdXBzKTtcbiAgICB9XG4gIH1cblxuICByZXNvbHZlR3JvdXBQcmVzZW50YXRpb24oY29sOiBPbmVHcm91cENvbHVtbkRlZiwgcGFyYW1zPzogT25lQ2VsbFJlbmRlcmVyUGFyYW1zKTogT25lR3JvdXBDb2x1bW5EZWYge1xuXG4gICAgY29sLl9yZXNvbHZlZEdyb3VwQ2xhc3MgPSB0eXBlb2YgY29sLmdyb3VwQ2xhc3MgPT09ICdmdW5jdGlvbicgPyBjb2wuZ3JvdXBDbGFzcyhwYXJhbXMpIDogY29sLmdyb3VwQ2xhc3M7XG4gICAgY29sLl9yZXNvbHZlZEdyb3VwU3R5bGUgPSB0eXBlb2YgY29sLmdyb3VwU3R5bGUgPT09ICdmdW5jdGlvbicgPyBjb2wuZ3JvdXBTdHlsZShwYXJhbXMpIDogY29sLmdyb3VwU3R5bGU7XG5cbiAgICByZXR1cm4gY29sO1xuICB9XG5cbiAgcmVzb2x2ZUNlbGxQcmVzZW50YXRpb24oY29sOiBPbmVDb2x1bW5EZWYsIHBhcmFtcz86IE9uZUNlbGxSZW5kZXJlclBhcmFtcyk6IE9uZUNvbHVtbkRlZiB7XG5cbiAgICBjb2wuX3Jlc29sdmVkSGVhZGVyQ2xhc3MgPSB0eXBlb2YgY29sLmhlYWRlckNsYXNzID09PSAnZnVuY3Rpb24nID8gY29sLmhlYWRlckNsYXNzKHBhcmFtcykgOiBjb2wuaGVhZGVyQ2xhc3M7XG4gICAgY29sLl9yZXNvbHZlZEhlYWRlclN0eWxlID0gdHlwZW9mIGNvbC5oZWFkZXJTdHlsZSA9PT0gJ2Z1bmN0aW9uJyA/IGNvbC5oZWFkZXJTdHlsZShwYXJhbXMpIDogY29sLmhlYWRlclN0eWxlO1xuXG4gICAgY29sLl9yZXNvbHZlZENlbGxDbGFzcyA9IHR5cGVvZiBjb2wuY2VsbENsYXNzID09PSAnZnVuY3Rpb24nID8gY29sLmNlbGxDbGFzcyhwYXJhbXMpIDogY29sLmNlbGxDbGFzcztcbiAgICBjb2wuX3Jlc29sdmVkQ2VsbFN0eWxlID0gdHlwZW9mIGNvbC5jZWxsU3R5bGUgPT09ICdmdW5jdGlvbicgPyBjb2wuY2VsbFN0eWxlKHBhcmFtcykgOiBjb2wuY2VsbFN0eWxlO1xuXG4gICAgcmV0dXJuIGNvbDtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { CellFieldValueEmptyPipe } from '../pipes/cell-field-value-empty.pipe';
|
|
3
|
+
import { resolveOneCellRendererParams, resolveOneValueGetterParams } from '../../helpers/one-column-def.helper';
|
|
4
|
+
import { CellValueGetterPipe } from '../pipes/cell-value-getter.pipe';
|
|
5
|
+
import { CellFieldValuePipe } from '../pipes/cell-field-value.pipe';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class OneGridCellService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this._cellFieldValueEmpty = new CellFieldValueEmptyPipe();
|
|
10
|
+
this._cellValueGetter = new CellValueGetterPipe();
|
|
11
|
+
this._cellFieldValue = new CellFieldValuePipe();
|
|
12
|
+
this._columnDefs = [];
|
|
13
|
+
/**
|
|
14
|
+
* One Column Def Params Resolver
|
|
15
|
+
*/
|
|
16
|
+
this.editableFn = (column, node) => resolveOneCellRendererParams(column.editable, { node, data: node.data, columnDef: column, rowIndex: node.rowIndex, context: this._context });
|
|
17
|
+
this.updatableFn = (column, node) => resolveOneCellRendererParams(column.updatable, { node, data: node.data, columnDef: column, rowIndex: node.rowIndex, context: this._context });
|
|
18
|
+
this.disableFn = (column, node) => resolveOneCellRendererParams(column.disable, { node, data: node.data, columnDef: column, rowIndex: node.rowIndex, context: this._context });
|
|
19
|
+
this.dragableFn = (column, node) => resolveOneCellRendererParams(column.dragable, { node, data: node.data, columnDef: column, rowIndex: node.rowIndex, context: this._context });
|
|
20
|
+
this.valueGetterFn = (column, node) => resolveOneValueGetterParams(column.valueGetter, { data: node.data, rowIndex: node.rowIndex, node: node, context: this._context });
|
|
21
|
+
}
|
|
22
|
+
applyColumnDefs(columnDefs, context) {
|
|
23
|
+
this._columnDefs = columnDefs;
|
|
24
|
+
this._context = context;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Generate New Node States
|
|
28
|
+
*/
|
|
29
|
+
generateCellStates(node) {
|
|
30
|
+
if (!node)
|
|
31
|
+
return null;
|
|
32
|
+
const newStates = {};
|
|
33
|
+
for (const column of this._columnDefs) {
|
|
34
|
+
const field = column.field;
|
|
35
|
+
if (field !== '_oneRowNumber') {
|
|
36
|
+
newStates[field] = this.generateCellState(node, column) ?? node.cellStates[field] ?? { type: 'none', value: '' };
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
newStates[field] = node.cellStates[column.field];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return newStates;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generate New Node State Based on Column Field
|
|
46
|
+
*/
|
|
47
|
+
generateCellState(node, column) {
|
|
48
|
+
const isField = column.field !== undefined || column.field !== '' || column.field !== null;
|
|
49
|
+
const isEmpty = this._cellFieldValueEmpty.transform(node.data, column.field);
|
|
50
|
+
const isGroup = node.group || node.leafGroup;
|
|
51
|
+
const isAutoGroup = column?.autoGroupField;
|
|
52
|
+
if (column && column.cellRenderer && !isGroup) {
|
|
53
|
+
const value = column.cellRenderer({ node, columnDef: column });
|
|
54
|
+
return { type: 'html', value: value };
|
|
55
|
+
}
|
|
56
|
+
// 1. Cell Group Placeholder
|
|
57
|
+
if (isField && isEmpty && isGroup && isAutoGroup) {
|
|
58
|
+
return { type: 'placeholder', value: column?.cellRendererParams?.placeholder ?? this._cellValueGetter.transform(node.data, node, column, this._context) ?? '' };
|
|
59
|
+
}
|
|
60
|
+
// 2. Cell Group Text Value
|
|
61
|
+
if (isField && isGroup && isAutoGroup) {
|
|
62
|
+
const value = column?.valueGetter ? this._cellValueGetter.transform(node.data, node, column, this._context) : this._cellFieldValue.transform(node.data, column.field);
|
|
63
|
+
return { type: 'text', value: value ?? '' };
|
|
64
|
+
}
|
|
65
|
+
// 3. Cell Placeholder
|
|
66
|
+
if (isField && isEmpty && !isGroup && !isAutoGroup) {
|
|
67
|
+
const valueGetter = this._cellValueGetter.transform(node.data, node, column, this._context);
|
|
68
|
+
if (valueGetter) {
|
|
69
|
+
return { type: 'text', value: valueGetter };
|
|
70
|
+
}
|
|
71
|
+
const placeholder = column?.cellRendererParams?.placeholder ?? '';
|
|
72
|
+
return { type: 'placeholder', value: placeholder };
|
|
73
|
+
}
|
|
74
|
+
// 4. Cell Text Value
|
|
75
|
+
if (isField && !(isGroup || isAutoGroup)) {
|
|
76
|
+
const value = column?.valueGetter ? this._cellValueGetter.transform(node.data, node, column, this._context) : this._cellFieldValue.transform(node.data, column.field);
|
|
77
|
+
return { type: 'text', value: value ?? '' };
|
|
78
|
+
}
|
|
79
|
+
// 5. Default
|
|
80
|
+
return { type: 'none', value: '' };
|
|
81
|
+
}
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridCellService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
83
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridCellService }); }
|
|
84
|
+
}
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridCellService, decorators: [{
|
|
86
|
+
type: Injectable
|
|
87
|
+
}] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtY2VsbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lLWdyaWQvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL29uZS1ncmlkLWNlbGwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUdwRSxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBR1UseUJBQW9CLEdBQUcsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JELHFCQUFnQixHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUM3QyxvQkFBZSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUMzQyxnQkFBVyxHQUFtQixFQUFFLENBQUM7UUE2RnpDOztXQUVHO1FBQ0ksZUFBVSxHQUFHLENBQUMsTUFBb0IsRUFBRSxJQUFnQixFQUFFLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXRNLGdCQUFXLEdBQUcsQ0FBQyxNQUFvQixFQUFFLElBQWdCLEVBQUUsRUFBRSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxT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LGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uZUNlbGxTdGF0ZSwgT25lQ2VsbFN0YXRlcywgT25lQ29sdW1uRGVmIH0gZnJvbSAnLi4vbW9kZWxzL29uZS1jb2x1bW4tZGVmLXR5cGVzLm1vZGVsJztcbmltcG9ydCB7IENlbGxGaWVsZFZhbHVlRW1wdHlQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY2VsbC1maWVsZC12YWx1ZS1lbXB0eS5waXBlJztcbmltcG9ydCB7IE9uZVJvd05vZGUgfSBmcm9tICcuLi9pbnN0YW50cy9vbmUtcm93LW5vZGUuY2xhc3MnO1xuaW1wb3J0IHsgcmVzb2x2ZU9uZUNlbGxSZW5kZXJlclBhcmFtcywgcmVzb2x2ZU9uZVZhbHVlR2V0dGVyUGFyYW1zIH0gZnJvbSAnLi4vLi4vaGVscGVycy9vbmUtY29sdW1uLWRlZi5oZWxwZXInO1xuaW1wb3J0IHsgQ2VsbFZhbHVlR2V0dGVyUGlwZSB9IGZyb20gJy4uL3BpcGVzL2NlbGwtdmFsdWUtZ2V0dGVyLnBpcGUnO1xuaW1wb3J0IHsgQ2VsbEZpZWxkVmFsdWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY2VsbC1maWVsZC12YWx1ZS5waXBlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9uZUdyaWRDZWxsU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfY2VsbEZpZWxkVmFsdWVFbXB0eSA9IG5ldyBDZWxsRmllbGRWYWx1ZUVtcHR5UGlwZSgpO1xuICBwcml2YXRlIF9jZWxsVmFsdWVHZXR0ZXIgPSBuZXcgQ2VsbFZhbHVlR2V0dGVyUGlwZSgpO1xuICBwcml2YXRlIF9jZWxsRmllbGRWYWx1ZSA9IG5ldyBDZWxsRmllbGRWYWx1ZVBpcGUoKTtcbiAgcHJpdmF0ZSBfY29sdW1uRGVmczogT25lQ29sdW1uRGVmW10gPSBbXTtcbiAgcHJpdmF0ZSBfY29udGV4dDogYW55O1xuXG4gIHB1YmxpYyBhcHBseUNvbHVtbkRlZnMoY29sdW1uRGVmczogT25lQ29sdW1uRGVmW10sIGNvbnRleHQ6IGFueSkge1xuXG4gICAgdGhpcy5fY29sdW1uRGVmcyA9IGNvbHVtbkRlZnM7XG4gICAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgTmV3IE5vZGUgU3RhdGVzXG4gICAqL1xuICBwdWJsaWMgZ2VuZXJhdGVDZWxsU3RhdGVzKG5vZGU6IE9uZVJvd05vZGUpOiBPbmVDZWxsU3RhdGVzIHwgbnVsbCB7XG5cbiAgICBpZiAoIW5vZGUpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgbmV3U3RhdGVzOiBPbmVDZWxsU3RhdGVzID0ge307XG5cbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLl9jb2x1bW5EZWZzKSB7XG5cbiAgICAgIGNvbnN0IGZpZWxkID0gY29sdW1uLmZpZWxkO1xuXG4gICAgICBpZiAoZmllbGQgIT09ICdfb25lUm93TnVtYmVyJykge1xuXG4gICAgICAgIG5ld1N0YXRlc1tmaWVsZF0gPSB0aGlzLmdlbmVyYXRlQ2VsbFN0YXRlKG5vZGUsIGNvbHVtbikgPz8gbm9kZS5jZWxsU3RhdGVzW2ZpZWxkXSA/PyB7IHR5cGU6ICdub25lJywgdmFsdWU6ICcnIH07XG5cbiAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgbmV3U3RhdGVzW2ZpZWxkXSA9IG5vZGUuY2VsbFN0YXRlc1tjb2x1bW4uZmllbGRdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXdTdGF0ZXM7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgTmV3IE5vZGUgU3RhdGUgQmFzZWQgb24gQ29sdW1uIEZpZWxkXG4gICAqL1xuICBwdWJsaWMgZ2VuZXJhdGVDZWxsU3RhdGUobm9kZTogT25lUm93Tm9kZSwgY29sdW1uOiBPbmVDb2x1bW5EZWYpOiBPbmVDZWxsU3RhdGUge1xuXG4gICAgY29uc3QgaXNGaWVsZCA9IGNvbHVtbi5maWVsZCAhPT0gdW5kZWZpbmVkIHx8IGNvbHVtbi5maWVsZCAhPT0gJycgfHwgY29sdW1uLmZpZWxkICE9PSBudWxsO1xuICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLl9jZWxsRmllbGRWYWx1ZUVtcHR5LnRyYW5zZm9ybShub2RlLmRhdGEsIGNvbHVtbi5maWVsZCk7XG4gICAgY29uc3QgaXNHcm91cCA9IG5vZGUuZ3JvdXAgfHwgbm9kZS5sZWFmR3JvdXA7XG4gICAgY29uc3QgaXNBdXRvR3JvdXAgPSBjb2x1bW4/LmF1dG9Hcm91cEZpZWxkO1xuXG4gICAgaWYgKGNvbHVtbiAmJiBjb2x1bW4uY2VsbFJlbmRlcmVyICYmICFpc0dyb3VwKSB7XG5cbiAgICAgIGNvbnN0IHZhbHVlID0gY29sdW1uLmNlbGxSZW5kZXJlcih7IG5vZGUsIGNvbHVtbkRlZjogY29sdW1uIH0pO1xuXG4gICAgICByZXR1cm4geyB0eXBlOiAnaHRtbCcsIHZhbHVlOiB2YWx1ZSB9XG4gICAgfVxuXG4gICAgLy8gMS4gQ2VsbCBHcm91cCBQbGFjZWhvbGRlclxuICAgIGlmIChpc0ZpZWxkICYmIGlzRW1wdHkgJiYgaXNHcm91cCAmJiBpc0F1dG9Hcm91cCkge1xuXG4gICAgICByZXR1cm4geyB0eXBlOiAncGxhY2Vob2xkZXInLCB2YWx1ZTogY29sdW1uPy5jZWxsUmVuZGVyZXJQYXJhbXM/LnBsYWNlaG9sZGVyID8/IHRoaXMuX2NlbGxWYWx1ZUdldHRlci50cmFuc2Zvcm0obm9kZS5kYXRhLCBub2RlLCBjb2x1bW4sIHRoaXMuX2NvbnRleHQpID8/ICcnIH07XG4gICAgfVxuXG4gICAgLy8gMi4gQ2VsbCBHcm91cCBUZXh0IFZhbHVlXG4gICAgaWYgKGlzRmllbGQgJiYgaXNHcm91cCAmJiBpc0F1dG9Hcm91cCkge1xuXG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbHVtbj8udmFsdWVHZXR0ZXIgPyB0aGlzLl9jZWxsVmFsdWVHZXR0ZXIudHJhbnNmb3JtKG5vZGUuZGF0YSwgbm9kZSwgY29sdW1uLCB0aGlzLl9jb250ZXh0KSA6IHRoaXMuX2NlbGxGaWVsZFZhbHVlLnRyYW5zZm9ybShub2RlLmRhdGEsIGNvbHVtbi5maWVsZCk7XG5cbiAgICAgIHJldHVybiB7IHR5cGU6ICd0ZXh0JywgdmFsdWU6IHZhbHVlID8/ICcnIH07XG4gICAgfVxuXG4gICAgLy8gMy4gQ2VsbCBQbGFjZWhvbGRlclxuICAgIGlmIChpc0ZpZWxkICYmIGlzRW1wdHkgJiYgIWlzR3JvdXAgJiYgIWlzQXV0b0dyb3VwKSB7XG5cbiAgICAgIGNvbnN0IHZhbHVlR2V0dGVyID0gdGhpcy5fY2VsbFZhbHVlR2V0dGVyLnRyYW5zZm9ybShub2RlLmRhdGEsIG5vZGUsIGNvbHVtbiwgdGhpcy5fY29udGV4dCk7XG5cbiAgICAgIGlmICh2YWx1ZUdldHRlcikge1xuXG4gICAgICAgIHJldHVybiB7IHR5cGU6ICd0ZXh0JywgdmFsdWU6IHZhbHVlR2V0dGVyIH07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gY29sdW1uPy5jZWxsUmVuZGVyZXJQYXJhbXM/LnBsYWNlaG9sZGVyID8/ICcnO1xuXG4gICAgICByZXR1cm4geyB0eXBlOiAncGxhY2Vob2xkZXInLCB2YWx1ZTogcGxhY2Vob2xkZXIgfTtcbiAgICB9XG5cbiAgICAvLyA0LiBDZWxsIFRleHQgVmFsdWVcbiAgICBpZiAoaXNGaWVsZCAmJiAhKGlzR3JvdXAgfHwgaXNBdXRvR3JvdXApKSB7XG5cbiAgICAgIGNvbnN0IHZhbHVlID0gY29sdW1uPy52YWx1ZUdldHRlciA/IHRoaXMuX2NlbGxWYWx1ZUdldHRlci50cmFuc2Zvcm0obm9kZS5kYXRhLCBub2RlLCBjb2x1bW4sIHRoaXMuX2NvbnRleHQpIDogdGhpcy5fY2VsbEZpZWxkVmFsdWUudHJhbnNmb3JtKG5vZGUuZGF0YSwgY29sdW1uLmZpZWxkKTtcblxuICAgICAgcmV0dXJuIHsgdHlwZTogJ3RleHQnLCB2YWx1ZTogdmFsdWUgPz8gJycgfTtcbiAgICB9XG5cbiAgICAvLyA1LiBEZWZhdWx0XG4gICAgcmV0dXJuIHsgdHlwZTogJ25vbmUnLCB2YWx1ZTogJycgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbmUgQ29sdW1uIERlZiBQYXJhbXMgUmVzb2x2ZXJcbiAgICovXG4gIHB1YmxpYyBlZGl0YWJsZUZuID0gKGNvbHVtbjogT25lQ29sdW1uRGVmLCBub2RlOiBPbmVSb3dOb2RlKSA9PiByZXNvbHZlT25lQ2VsbFJlbmRlcmVyUGFyYW1zKGNvbHVtbi5lZGl0YWJsZSwgeyBub2RlLCBkYXRhOiBub2RlLmRhdGEsIGNvbHVtbkRlZjogY29sdW1uLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgY29udGV4dDogdGhpcy5fY29udGV4dCB9KTtcblxuICBwdWJsaWMgdXBkYXRhYmxlRm4gPSAoY29sdW1uOiBPbmVDb2x1bW5EZWYsIG5vZGU6IE9uZVJvd05vZGUpID0+IHJlc29sdmVPbmVDZWxsUmVuZGVyZXJQYXJhbXMoY29sdW1uLnVwZGF0YWJsZSwgeyBub2RlLCBkYXRhOiBub2RlLmRhdGEsIGNvbHVtbkRlZjogY29sdW1uLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgY29udGV4dDogdGhpcy5fY29udGV4dCB9KTtcblxuICBwdWJsaWMgZGlzYWJsZUZuID0gKGNvbHVtbjogT25lQ29sdW1uRGVmLCBub2RlOiBPbmVSb3dOb2RlKSA9PiByZXNvbHZlT25lQ2VsbFJlbmRlcmVyUGFyYW1zKGNvbHVtbi5kaXNhYmxlLCB7IG5vZGUsIGRhdGE6IG5vZGUuZGF0YSwgY29sdW1uRGVmOiBjb2x1bW4sIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBjb250ZXh0OiB0aGlzLl9jb250ZXh0IH0pO1xuXG4gIHB1YmxpYyBkcmFnYWJsZUZuID0gKGNvbHVtbjogT25lQ29sdW1uRGVmLCBub2RlOiBPbmVSb3dOb2RlKSA9PiByZXNvbHZlT25lQ2VsbFJlbmRlcmVyUGFyYW1zKGNvbHVtbi5kcmFnYWJsZSwgeyBub2RlLCBkYXRhOiBub2RlLmRhdGEsIGNvbHVtbkRlZjogY29sdW1uLCByb3dJbmRleDogbm9kZS5yb3dJbmRleCwgY29udGV4dDogdGhpcy5fY29udGV4dCB9KTtcblxuICBwdWJsaWMgdmFsdWVHZXR0ZXJGbiA9IChjb2x1bW46IE9uZUNvbHVtbkRlZiwgbm9kZTogT25lUm93Tm9kZSkgPT4gcmVzb2x2ZU9uZVZhbHVlR2V0dGVyUGFyYW1zKGNvbHVtbi52YWx1ZUdldHRlciwgeyBkYXRhOiBub2RlLmRhdGEsIHJvd0luZGV4OiBub2RlLnJvd0luZGV4LCBub2RlOiBub2RlLCBjb250ZXh0OiB0aGlzLl9jb250ZXh0IH0pO1xufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { filter, map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class OneGridEventService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.events$ = new Subject();
|
|
8
|
+
this.subscriptions = [];
|
|
9
|
+
}
|
|
10
|
+
// Dispatch event
|
|
11
|
+
dispatchEvent(type, payload) {
|
|
12
|
+
this.events$.next({ type, payload });
|
|
13
|
+
}
|
|
14
|
+
// Subscribe to event
|
|
15
|
+
addEventListener(type, handler) {
|
|
16
|
+
const subscription = this.events$
|
|
17
|
+
.pipe(filter(e => e.type === type), map(e => e.payload))
|
|
18
|
+
.subscribe(handler);
|
|
19
|
+
// Track subscription for bulk cleanup
|
|
20
|
+
this.subscriptions.push(subscription);
|
|
21
|
+
// Return an unsubscribe function
|
|
22
|
+
return () => subscription.unsubscribe();
|
|
23
|
+
}
|
|
24
|
+
// RxJS API
|
|
25
|
+
eventStream(type) {
|
|
26
|
+
return this.events$.pipe(filter(e => e.type === type), map(e => e.payload));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Clear All Subscriptions
|
|
30
|
+
*/
|
|
31
|
+
ngOnDestroy() {
|
|
32
|
+
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
33
|
+
this.subscriptions = [];
|
|
34
|
+
this.events$.complete();
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridEventService }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridEventService, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZS1ncmlkL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9vbmUtZ3JpZC1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJN0MsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUdVLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBcUMsQ0FBQztRQUMzRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7S0F1QzVDO0lBckNDLGlCQUFpQjtJQUNqQixhQUFhLENBQXNCLElBQU8sRUFBRSxPQUEyQjtRQUVyRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsZ0JBQWdCLENBQXNCLElBQU8sRUFBRSxPQUE4QztRQUUzRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTzthQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBNkIsQ0FBQyxDQUFDO2FBQzdFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0QixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEMsaUNBQWlDO1FBQ2pDLE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO0lBQ1gsV0FBVyxDQUFzQixJQUFPO1FBRXRDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBNkIsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUVULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQXpDVSxtQkFBbUI7bUhBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV2ZW50UGF5bG9hZE1hcCwgRXZlbnRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL29uZS1ldmVudC10eXBlcy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbmVHcmlkRXZlbnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIGV2ZW50cyQgPSBuZXcgU3ViamVjdDx7IHR5cGU6IEV2ZW50VHlwZTsgcGF5bG9hZDogYW55IH0+KCk7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAvLyBEaXNwYXRjaCBldmVudFxuICBkaXNwYXRjaEV2ZW50PEsgZXh0ZW5kcyBFdmVudFR5cGU+KHR5cGU6IEssIHBheWxvYWQ6IEV2ZW50UGF5bG9hZE1hcFtLXSk6IHZvaWQge1xuXG4gICAgdGhpcy5ldmVudHMkLm5leHQoeyB0eXBlLCBwYXlsb2FkIH0pO1xuICB9XG5cbiAgLy8gU3Vic2NyaWJlIHRvIGV2ZW50XG4gIGFkZEV2ZW50TGlzdGVuZXI8SyBleHRlbmRzIEV2ZW50VHlwZT4odHlwZTogSywgaGFuZGxlcjogKHBheWxvYWQ6IEV2ZW50UGF5bG9hZE1hcFtLXSkgPT4gdm9pZCk6ICgpID0+IHZvaWQge1xuXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5ldmVudHMkXG4gICAgICAucGlwZShmaWx0ZXIoZSA9PiBlLnR5cGUgPT09IHR5cGUpLCBtYXAoZSA9PiBlLnBheWxvYWQgYXMgRXZlbnRQYXlsb2FkTWFwW0tdKSlcbiAgICAgIC5zdWJzY3JpYmUoaGFuZGxlcik7XG5cbiAgICAvLyBUcmFjayBzdWJzY3JpcHRpb24gZm9yIGJ1bGsgY2xlYW51cFxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG5cbiAgICAvLyBSZXR1cm4gYW4gdW5zdWJzY3JpYmUgZnVuY3Rpb25cbiAgICByZXR1cm4gKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvLyBSeEpTIEFQSVxuICBldmVudFN0cmVhbTxLIGV4dGVuZHMgRXZlbnRUeXBlPih0eXBlOiBLKTogT2JzZXJ2YWJsZTxFdmVudFBheWxvYWRNYXBbS10+IHtcblxuICAgIHJldHVybiB0aGlzLmV2ZW50cyQucGlwZShmaWx0ZXIoZSA9PiBlLnR5cGUgPT09IHR5cGUpLCBtYXAoZSA9PiBlLnBheWxvYWQgYXMgRXZlbnRQYXlsb2FkTWFwW0tdKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgQWxsIFN1YnNjcmlwdGlvbnNcbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuXG4gICAgdGhpcy5ldmVudHMkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class OneGridExpansionService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._expandedIds = new Set();
|
|
6
|
+
this._collapsedIds = new Set();
|
|
7
|
+
}
|
|
8
|
+
getExpandedIds() {
|
|
9
|
+
return this._expandedIds;
|
|
10
|
+
}
|
|
11
|
+
getCollapsedIds() {
|
|
12
|
+
return this._collapsedIds;
|
|
13
|
+
}
|
|
14
|
+
toggleExpanded(rowId, expanded) {
|
|
15
|
+
if (expanded) {
|
|
16
|
+
this._expandedIds.add(rowId);
|
|
17
|
+
this._collapsedIds.delete(rowId);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this._expandedIds.delete(rowId);
|
|
21
|
+
this._collapsedIds.add(rowId);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
isExpanded(rowId) {
|
|
25
|
+
return this._expandedIds.has(rowId);
|
|
26
|
+
}
|
|
27
|
+
isCollapsed(rowId) {
|
|
28
|
+
return this._collapsedIds.has(rowId);
|
|
29
|
+
}
|
|
30
|
+
clear() {
|
|
31
|
+
this._expandedIds.clear();
|
|
32
|
+
this._collapsedIds.clear();
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridExpansionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridExpansionService }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridExpansionService, decorators: [{
|
|
38
|
+
type: Injectable
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtZXhwYW5zaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvc2VydmljZXMvb25lLWdyaWQtZXhwYW5zaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUdVLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7S0E0QzNDO0lBMUNDLGNBQWM7UUFFWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFFYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhLEVBQUUsUUFBaUI7UUFFN0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUViLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTdCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5DLENBQUM7YUFBTSxDQUFDO1lBRU4sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUV0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUV2QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBOUNVLHVCQUF1QjttSEFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT25lR3JpZEV4cGFuc2lvblNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2V4cGFuZGVkSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgX2NvbGxhcHNlZElkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGdldEV4cGFuZGVkSWRzKCk6IFNldDxzdHJpbmc+IHtcblxuICAgIHJldHVybiB0aGlzLl9leHBhbmRlZElkcztcbiAgfVxuXG4gIGdldENvbGxhcHNlZElkcygpOiBTZXQ8c3RyaW5nPiB7XG5cbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkSWRzO1xuICB9XG5cbiAgdG9nZ2xlRXhwYW5kZWQocm93SWQ6IHN0cmluZywgZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcblxuICAgIGlmIChleHBhbmRlZCkge1xuXG4gICAgICB0aGlzLl9leHBhbmRlZElkcy5hZGQocm93SWQpO1xuXG4gICAgICB0aGlzLl9jb2xsYXBzZWRJZHMuZGVsZXRlKHJvd0lkKTtcblxuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMuX2V4cGFuZGVkSWRzLmRlbGV0ZShyb3dJZCk7XG5cbiAgICAgIHRoaXMuX2NvbGxhcHNlZElkcy5hZGQocm93SWQpO1xuICAgIH1cbiAgfVxuXG4gIGlzRXhwYW5kZWQocm93SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuXG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkSWRzLmhhcyhyb3dJZCk7XG4gIH1cblxuICBpc0NvbGxhcHNlZChyb3dJZDogc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkSWRzLmhhcyhyb3dJZCk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcblxuICAgIHRoaXMuX2V4cGFuZGVkSWRzLmNsZWFyKCk7XG5cbiAgICB0aGlzLl9jb2xsYXBzZWRJZHMuY2xlYXIoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class OneGridRowService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._getRowId = null;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Set Row Id Funciton
|
|
10
|
+
*/
|
|
11
|
+
setGetRowIdFn(getRowId) {
|
|
12
|
+
this._getRowId = getRowId;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Generate Unique Row ID
|
|
16
|
+
*/
|
|
17
|
+
generateRowId(data, rowIndex) {
|
|
18
|
+
if (this._getRowId) {
|
|
19
|
+
return this._getRowId({ data, rowIndex }) ?? uuidv4();
|
|
20
|
+
}
|
|
21
|
+
return uuidv4();
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowService }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridRowService, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtcm93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvc2VydmljZXMvb25lLWdyaWQtcm93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHcEMsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUdZLGNBQVMsR0FBOEMsSUFBSSxDQUFDO0tBc0J2RTtJQXBCRzs7T0FFRztJQUNJLGFBQWEsQ0FBQyxRQUFtRDtRQUVwRSxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhLENBQUMsSUFBUyxFQUFFLFFBQWdCO1FBRTVDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzFELENBQUM7UUFFRCxPQUFPLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBdkJRLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25lR3JpZEdldFJvd0lkUGFyYW1zIH0gZnJvbSAnLi4vbW9kZWxzL29uZS1ncmlkLXR5cGVzLm1vZGVsJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT25lR3JpZFJvd1NlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfZ2V0Um93SWQ6IChwYXJhbXM6IE9uZUdyaWRHZXRSb3dJZFBhcmFtcykgPT4gc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFNldCBSb3cgSWQgRnVuY2l0b25cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0R2V0Um93SWRGbihnZXRSb3dJZDogKHBhcmFtczogT25lR3JpZEdldFJvd0lkUGFyYW1zKSA9PiBzdHJpbmcpIHtcblxuICAgICAgICB0aGlzLl9nZXRSb3dJZCA9IGdldFJvd0lkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIFVuaXF1ZSBSb3cgSURcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2VuZXJhdGVSb3dJZChkYXRhOiBhbnksIHJvd0luZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuXG4gICAgICAgIGlmICh0aGlzLl9nZXRSb3dJZCkge1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Um93SWQoeyBkYXRhLCByb3dJbmRleCB9KSA/PyB1dWlkdjQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1dWlkdjQoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class OneGridSelectionService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._selectedIds = new Set();
|
|
6
|
+
this._selectionMode = null;
|
|
7
|
+
}
|
|
8
|
+
getSelectedIds() {
|
|
9
|
+
return this._selectedIds;
|
|
10
|
+
}
|
|
11
|
+
setSelectedIds(rowIds) {
|
|
12
|
+
this._selectedIds = new Set(rowIds);
|
|
13
|
+
}
|
|
14
|
+
getSelectionMode() {
|
|
15
|
+
return this._selectionMode;
|
|
16
|
+
}
|
|
17
|
+
setSelectionMode(mode) {
|
|
18
|
+
this._selectionMode = mode;
|
|
19
|
+
if (mode === 'single' && this._selectedIds.size > 1) {
|
|
20
|
+
// keep only one if mode is single
|
|
21
|
+
const first = this._selectedIds.values().next().value;
|
|
22
|
+
this._selectedIds = new Set([first]);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
toggleSelection(rowId, selected) {
|
|
26
|
+
if (this._selectionMode === 'single') {
|
|
27
|
+
this._selectedIds.clear();
|
|
28
|
+
}
|
|
29
|
+
selected ? this._selectedIds.add(rowId) : this._selectedIds.delete(rowId);
|
|
30
|
+
}
|
|
31
|
+
toggleAllSelection(allIds, selected) {
|
|
32
|
+
selected ? this._selectedIds = new Set(allIds) : this._selectedIds.clear();
|
|
33
|
+
}
|
|
34
|
+
// Header Checkbox State
|
|
35
|
+
getSelectAllState(allIds) {
|
|
36
|
+
if (this._selectedIds.size === 0)
|
|
37
|
+
return 'unchecked';
|
|
38
|
+
if (this._selectedIds.size === allIds.length)
|
|
39
|
+
return 'checked';
|
|
40
|
+
return 'indeterminate';
|
|
41
|
+
}
|
|
42
|
+
selectAll(rowIds) {
|
|
43
|
+
this._selectedIds = new Set(rowIds);
|
|
44
|
+
}
|
|
45
|
+
deselectAll() {
|
|
46
|
+
this._selectedIds.clear();
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridSelectionService }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridSelectionService, decorators: [{
|
|
52
|
+
type: Injectable
|
|
53
|
+
}] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtc2VsZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvc2VydmljZXMvb25lLWdyaWQtc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUdVLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNqQyxtQkFBYyxHQUFxQixJQUFJLENBQUM7S0FnRWpEO0lBOURRLGNBQWM7UUFFbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBZ0I7UUFFcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sZ0JBQWdCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBc0I7UUFFNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBRXBELGtDQUFrQztZQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQztZQUV0RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFhLEVBQUUsUUFBaUI7UUFFckQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBRXJDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUVELFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxNQUFnQixFQUFFLFFBQWlCO1FBRTNELFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRUQsd0JBQXdCO0lBQ2pCLGlCQUFpQixDQUFDLE1BQWtCO1FBRXpDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUFFLE9BQU8sV0FBVyxDQUFDO1FBRXJELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLE1BQU07WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUUvRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWdCO1FBRS9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLFdBQVc7UUFFaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDOytHQWxFVSx1QkFBdUI7bUhBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9uZUNoZWNrYm94U3RhdGUsIFJvd1NlbGVjdGlvbk1vZGUgfSBmcm9tICcuLi9tb2RlbHMvb25lLWV2ZW50LXR5cGVzLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9uZUdyaWRTZWxlY3Rpb25TZXJ2aWNlIHtcblxuICBwcml2YXRlIF9zZWxlY3RlZElkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBwcml2YXRlIF9zZWxlY3Rpb25Nb2RlOiBSb3dTZWxlY3Rpb25Nb2RlID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRJZHMoKTogU2V0PHN0cmluZz4ge1xuXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSWRzO1xuICB9XG5cbiAgcHVibGljIHNldFNlbGVjdGVkSWRzKHJvd0lkczogc3RyaW5nW10pIHtcblxuICAgIHRoaXMuX3NlbGVjdGVkSWRzID0gbmV3IFNldChyb3dJZHMpO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvbk1vZGUoKTogUm93U2VsZWN0aW9uTW9kZSB7XG5cbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3Rpb25Nb2RlKG1vZGU6IFJvd1NlbGVjdGlvbk1vZGUpIHtcblxuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUgPSBtb2RlO1xuXG4gICAgaWYgKG1vZGUgPT09ICdzaW5nbGUnICYmIHRoaXMuX3NlbGVjdGVkSWRzLnNpemUgPiAxKSB7XG5cbiAgICAgIC8vIGtlZXAgb25seSBvbmUgaWYgbW9kZSBpcyBzaW5nbGVcbiAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5fc2VsZWN0ZWRJZHMudmFsdWVzKCkubmV4dCgpLnZhbHVlO1xuXG4gICAgICB0aGlzLl9zZWxlY3RlZElkcyA9IG5ldyBTZXQoW2ZpcnN0XSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNlbGVjdGlvbihyb3dJZDogc3RyaW5nLCBzZWxlY3RlZDogYm9vbGVhbikge1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnKSB7XG5cbiAgICAgIHRoaXMuX3NlbGVjdGVkSWRzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWQgPyB0aGlzLl9zZWxlY3RlZElkcy5hZGQocm93SWQpIDogdGhpcy5fc2VsZWN0ZWRJZHMuZGVsZXRlKHJvd0lkKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVBbGxTZWxlY3Rpb24oYWxsSWRzOiBzdHJpbmdbXSwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcblxuICAgIHNlbGVjdGVkID8gdGhpcy5fc2VsZWN0ZWRJZHMgPSBuZXcgU2V0KGFsbElkcykgOiB0aGlzLl9zZWxlY3RlZElkcy5jbGVhcigpO1xuICB9XG5cbiAgLy8gSGVhZGVyIENoZWNrYm94IFN0YXRlXG4gIHB1YmxpYyBnZXRTZWxlY3RBbGxTdGF0ZShhbGxJZHM6IChzdHJpbmcpW10pOiBPbmVDaGVja2JveFN0YXRlIHtcblxuICAgIGlmICh0aGlzLl9zZWxlY3RlZElkcy5zaXplID09PSAwKSByZXR1cm4gJ3VuY2hlY2tlZCc7XG5cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJZHMuc2l6ZSA9PT0gYWxsSWRzLmxlbmd0aCkgcmV0dXJuICdjaGVja2VkJztcblxuICAgIHJldHVybiAnaW5kZXRlcm1pbmF0ZSc7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKHJvd0lkczogc3RyaW5nW10pOiB2b2lkIHtcblxuICAgIHRoaXMuX3NlbGVjdGVkSWRzID0gbmV3IFNldChyb3dJZHMpO1xuICB9XG5cbiAgcHVibGljIGRlc2VsZWN0QWxsKCk6IHZvaWQge1xuXG4gICAgdGhpcy5fc2VsZWN0ZWRJZHMuY2xlYXIoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class OneGridTreeDataService {
|
|
4
|
+
create(tree, parentId, newNode) {
|
|
5
|
+
if (!parentId) {
|
|
6
|
+
return [newNode, ...tree];
|
|
7
|
+
}
|
|
8
|
+
return tree.map(node => {
|
|
9
|
+
if (node.id === parentId) {
|
|
10
|
+
return { ...node, children: [newNode, ...(node.children || [])] };
|
|
11
|
+
}
|
|
12
|
+
if (node.children) {
|
|
13
|
+
return { ...node, children: this.create(node.children, parentId, newNode) };
|
|
14
|
+
}
|
|
15
|
+
return node;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
update(tree, nodeId, updatedData) {
|
|
19
|
+
return tree.map(node => {
|
|
20
|
+
if (node.id === nodeId) {
|
|
21
|
+
return { ...node, ...updatedData };
|
|
22
|
+
}
|
|
23
|
+
if (node.children) {
|
|
24
|
+
return { ...node, children: this.update(node.children, nodeId, updatedData) };
|
|
25
|
+
}
|
|
26
|
+
return node;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
delete(tree, nodeId) {
|
|
30
|
+
return tree.map(node => {
|
|
31
|
+
if (node.children && node.children.length > 0) {
|
|
32
|
+
return { ...node, children: this.delete(node.children, nodeId) };
|
|
33
|
+
}
|
|
34
|
+
return node;
|
|
35
|
+
}).filter(node => node.id !== nodeId);
|
|
36
|
+
}
|
|
37
|
+
find(treeData, nodeId) {
|
|
38
|
+
for (const node of treeData) {
|
|
39
|
+
if (node.id === nodeId) {
|
|
40
|
+
return node;
|
|
41
|
+
}
|
|
42
|
+
if (node.children) {
|
|
43
|
+
const found = this.find(node.children, nodeId);
|
|
44
|
+
if (found)
|
|
45
|
+
return found;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridTreeDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
51
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridTreeDataService, providedIn: 'root' }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OneGridTreeDataService, decorators: [{
|
|
54
|
+
type: Injectable,
|
|
55
|
+
args: [{
|
|
56
|
+
providedIn: 'root'
|
|
57
|
+
}]
|
|
58
|
+
}] });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWdyaWQtdHJlZS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmUtZ3JpZC9zcmMvbGliL2NvcmUvc2VydmljZXMvb25lLWdyaWQtdHJlZS1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxNQUFNLENBQUksSUFBbUIsRUFBRSxRQUF1QixFQUFFLE9BQW9CO1FBRTFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUVkLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBRXJCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFFekIsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDcEUsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUVsQixPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM5RSxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUksSUFBbUIsRUFBRSxNQUFjLEVBQUUsV0FBdUI7UUFFcEUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBRXJCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFFdkIsT0FBUSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUM7WUFDdEMsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUVsQixPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNoRixDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUksSUFBbUIsRUFBRSxNQUFjO1FBRTNDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUVuQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBRTlDLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbkUsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBRWhCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUdELElBQUksQ0FBVSxRQUF1QixFQUFFLE1BQWM7UUFFbkQsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUU1QixJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBRXZCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUVsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRS9DLElBQUksS0FBSztvQkFBRSxPQUFPLEtBQUssQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0E1RVUsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi4vbW9kZWxzL29uZS10cmVlLWRhdGEubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPbmVHcmlkVHJlZURhdGFTZXJ2aWNlIHtcblxuICBjcmVhdGU8VD4odHJlZTogVHJlZU5vZGU8VD5bXSwgcGFyZW50SWQ6IHN0cmluZyB8IG51bGwsIG5ld05vZGU6IFRyZWVOb2RlPFQ+KTogVHJlZU5vZGU8VD5bXSB7XG4gIFxuICAgIGlmICghcGFyZW50SWQpIHtcblxuICAgICAgcmV0dXJuIFtuZXdOb2RlLCAuLi50cmVlXTtcbiAgICB9XG4gIFxuICAgIHJldHVybiB0cmVlLm1hcChub2RlID0+IHtcblxuICAgICAgaWYgKG5vZGUuaWQgPT09IHBhcmVudElkKSB7XG5cbiAgICAgICAgcmV0dXJuIHsgLi4ubm9kZSwgY2hpbGRyZW46IFtuZXdOb2RlLCAuLi4obm9kZS5jaGlsZHJlbiB8fCBbXSldIH07XG4gICAgICB9XG4gIFxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcblxuICAgICAgICByZXR1cm4geyAuLi5ub2RlLCBjaGlsZHJlbjogdGhpcy5jcmVhdGUobm9kZS5jaGlsZHJlbiwgcGFyZW50SWQsIG5ld05vZGUpIH07XG4gICAgICB9XG4gIFxuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSk7XG4gIH1cbiAgXG4gIHVwZGF0ZTxUPih0cmVlOiBUcmVlTm9kZTxUPltdLCBub2RlSWQ6IHN0cmluZywgdXBkYXRlZERhdGE6IFBhcnRpYWw8VD4pOiBUcmVlTm9kZTxUPltdIHtcbiAgXG4gICAgcmV0dXJuIHRyZWUubWFwKG5vZGUgPT4ge1xuXG4gICAgICBpZiAobm9kZS5pZCA9PT0gbm9kZUlkKSB7XG5cbiAgICAgICAgcmV0dXJuICB7IC4uLm5vZGUsIC4uLnVwZGF0ZWREYXRhIH07XG4gICAgICB9XG4gIFxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcblxuICAgICAgICByZXR1cm4geyAuLi5ub2RlLCBjaGlsZHJlbjogdGhpcy51cGRhdGUobm9kZS5jaGlsZHJlbiwgbm9kZUlkLCB1cGRhdGVkRGF0YSkgfTtcbiAgICAgIH1cbiAgXG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZTxUPih0cmVlOiBUcmVlTm9kZTxUPltdLCBub2RlSWQ6IHN0cmluZyk6IFRyZWVOb2RlPFQ+W10ge1xuXG4gICAgcmV0dXJuIHRyZWUubWFwKG5vZGUgPT4ge1xuXG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuXG4gICAgICAgICAgcmV0dXJuIHsgLi4ubm9kZSwgY2hpbGRyZW46IHRoaXMuZGVsZXRlKG5vZGUuY2hpbGRyZW4sIG5vZGVJZCkgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBub2RlO1xuXG4gICAgfSkuZmlsdGVyKG5vZGUgPT4gbm9kZS5pZCAhPT0gbm9kZUlkKTtcbiAgfVxuXG4gIFxuICBmaW5kPFQgPSBhbnk+KHRyZWVEYXRhOiBUcmVlTm9kZTxUPltdLCBub2RlSWQ6IHN0cmluZyk6IFRyZWVOb2RlPFQ+IHwgbnVsbCB7XG4gIFxuICAgIGZvciAoY29uc3Qgbm9kZSBvZiB0cmVlRGF0YSkge1xuXG4gICAgICBpZiAobm9kZS5pZCA9PT0gbm9kZUlkKSB7XG5cbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gIFxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcblxuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuZmluZChub2RlLmNoaWxkcmVuLCBub2RlSWQpO1xuXG4gICAgICAgIGlmIChmb3VuZCkgcmV0dXJuIGZvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate Cell Field
|
|
3
|
+
*/
|
|
4
|
+
export function getCellField(rowIndex, field) {
|
|
5
|
+
return `${rowIndex}--${field}`;
|
|
6
|
+
}
|
|
7
|
+
export function getCellKey(rowId, field) {
|
|
8
|
+
return `${rowId}--${field}`;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get Value From Data Field
|
|
12
|
+
*/
|
|
13
|
+
export function getFieldValue(data, field) {
|
|
14
|
+
return field?.split('.')?.reduce((obj, key) => obj?.[key], data);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Resolve cell style (handles both static and function-based)
|
|
18
|
+
* @param column
|
|
19
|
+
* @param row
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
export function resolveCellStyle(column, row) {
|
|
23
|
+
if (!column.cellStyle)
|
|
24
|
+
return {};
|
|
25
|
+
return typeof column.cellStyle === 'function'
|
|
26
|
+
? column.cellStyle(row)
|
|
27
|
+
: column.cellStyle;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolve cell class (handles both static and function-based)
|
|
31
|
+
* @param column
|
|
32
|
+
* @param row
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
export function resolveCellClass(column, row) {
|
|
36
|
+
if (!column.cellClass)
|
|
37
|
+
return '';
|
|
38
|
+
return typeof column.cellClass === 'function'
|
|
39
|
+
? column.cellClass(row)
|
|
40
|
+
: column.cellClass;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWNlbGwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lLWdyaWQvc3JjL2xpYi9oZWxwZXJzL29uZS1jZWxsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBZ0IsRUFBRSxLQUFhO0lBRTFELE9BQU8sR0FBRyxRQUFRLEtBQUssS0FBSyxFQUFFLENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBYSxFQUFFLEtBQWE7SUFFckQsT0FBTyxHQUFHLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztBQUM5QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLElBQU8sRUFBRSxLQUFhO0lBRXJELE9BQU8sS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQVcsQ0FBQztBQUM3RSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBb0IsRUFBRSxHQUFRO0lBRTdELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBRWpDLE9BQU8sT0FBTyxNQUFNLENBQUMsU0FBUyxLQUFLLFVBQVU7UUFDM0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFvQixFQUFFLEdBQVE7SUFFN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFFakMsT0FBTyxPQUFPLE1BQU0sQ0FBQyxTQUFTLEtBQUssVUFBVTtRQUMzQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7UUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uZUNvbHVtbkRlZiB9IGZyb20gXCIuLi9jb3JlL21vZGVscy9vbmUtY29sdW1uLWRlZi10eXBlcy5tb2RlbFwiO1xuXG4vKipcbiAqIEdlbmVyYXRlIENlbGwgRmllbGRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENlbGxGaWVsZChyb3dJbmRleDogbnVtYmVyLCBmaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcblxuICByZXR1cm4gYCR7cm93SW5kZXh9LS0ke2ZpZWxkfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsS2V5KHJvd0lkOiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuXG4gIHJldHVybiBgJHtyb3dJZH0tLSR7ZmllbGR9YDtcbn1cblxuLyoqXG4gKiBHZXQgVmFsdWUgRnJvbSBEYXRhIEZpZWxkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZFZhbHVlPFQ+KGRhdGE6IFQsIGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuXG4gIHJldHVybiBmaWVsZD8uc3BsaXQoJy4nKT8ucmVkdWNlKChvYmosIGtleSkgPT4gb2JqPy5ba2V5XSwgZGF0YSkgYXMgc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc29sdmUgY2VsbCBzdHlsZSAoaGFuZGxlcyBib3RoIHN0YXRpYyBhbmQgZnVuY3Rpb24tYmFzZWQpXG4gKiBAcGFyYW0gY29sdW1uIFxuICogQHBhcmFtIHJvdyBcbiAqIEByZXR1cm5zIFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUNlbGxTdHlsZShjb2x1bW46IE9uZUNvbHVtbkRlZiwgcm93OiBhbnkpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcblxuICBpZiAoIWNvbHVtbi5jZWxsU3R5bGUpIHJldHVybiB7fTtcblxuICByZXR1cm4gdHlwZW9mIGNvbHVtbi5jZWxsU3R5bGUgPT09ICdmdW5jdGlvbidcbiAgICA/IGNvbHVtbi5jZWxsU3R5bGUocm93KVxuICAgIDogY29sdW1uLmNlbGxTdHlsZTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGNlbGwgY2xhc3MgKGhhbmRsZXMgYm90aCBzdGF0aWMgYW5kIGZ1bmN0aW9uLWJhc2VkKVxuICogQHBhcmFtIGNvbHVtbiBcbiAqIEBwYXJhbSByb3cgXG4gKiBAcmV0dXJucyBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVDZWxsQ2xhc3MoY29sdW1uOiBPbmVDb2x1bW5EZWYsIHJvdzogYW55KTogc3RyaW5nIHwgc3RyaW5nW10ge1xuXG4gIGlmICghY29sdW1uLmNlbGxDbGFzcykgcmV0dXJuICcnO1xuXG4gIHJldHVybiB0eXBlb2YgY29sdW1uLmNlbGxDbGFzcyA9PT0gJ2Z1bmN0aW9uJ1xuICAgID8gY29sdW1uLmNlbGxDbGFzcyhyb3cpXG4gICAgOiBjb2x1bW4uY2VsbENsYXNzO1xufSJdfQ==
|