@firestitch/list 15.0.0 → 17.0.0
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/app/components/body/body.component.d.ts +1 -1
- package/app/components/body/row/actions/actions.component.d.ts +1 -1
- package/app/components/body/row/cell/cell.component.d.ts +1 -1
- package/app/components/body/row/inline-action/inline-action.component.d.ts +1 -1
- package/app/components/body/row/menu-action/menu-action.component.d.ts +1 -1
- package/app/components/body/row/row.component.d.ts +1 -1
- package/app/components/footer/footer-row/footer-row.component.d.ts +1 -7
- package/app/components/footer/footer.component.d.ts +1 -1
- package/app/components/head/head.component.d.ts +1 -1
- package/app/components/list/list.component.d.ts +1 -1
- package/app/components/loader/loader.component.d.ts +1 -1
- package/app/components/pagination/pagination.component.d.ts +1 -1
- package/app/components/status/status.component.d.ts +1 -1
- package/app/directives/cell/cell.directive.d.ts +1 -1
- package/app/directives/column/column.directive.d.ts +1 -1
- package/app/directives/content-init/content-init.directive.d.ts +1 -1
- package/app/directives/draggable-list/draggable-list.directive.d.ts +1 -1
- package/app/directives/draggable-row/draggable-row.directive.d.ts +1 -1
- package/app/directives/footer/footer.directive.d.ts +1 -1
- package/app/directives/group-expand-trigger/group-expand-trigger.directive.d.ts +1 -1
- package/app/directives/header/header.directive.d.ts +1 -1
- package/app/models/column.model.d.ts +1 -1
- package/esm2022/app/classes/actions-controller.mjs +57 -0
- package/esm2022/app/classes/columns-controller.mjs +211 -0
- package/esm2022/app/classes/data-controller.mjs +348 -0
- package/esm2022/app/classes/external-params-controller.mjs +153 -0
- package/{esm2020 → esm2022}/app/classes/index.mjs +1 -1
- package/esm2022/app/classes/list-controller.mjs +712 -0
- package/esm2022/app/classes/pagination-controller.mjs +491 -0
- package/esm2022/app/classes/persistance-controller.mjs +19 -0
- package/esm2022/app/classes/reorder-controller.mjs +191 -0
- package/esm2022/app/classes/selection-controller.mjs +473 -0
- package/esm2022/app/classes/sorting-controller.mjs +207 -0
- package/esm2022/app/components/body/body.component.mjs +73 -0
- package/esm2022/app/components/body/row/actions/actions.component.mjs +102 -0
- package/esm2022/app/components/body/row/cell/cell.component.mjs +109 -0
- package/esm2022/app/components/body/row/inline-action/inline-action.component.mjs +32 -0
- package/esm2022/app/components/body/row/menu-action/menu-action.component.mjs +51 -0
- package/esm2022/app/components/body/row/row.component.mjs +341 -0
- package/esm2022/app/components/customize-cols/customize-cols.component.mjs +70 -0
- package/esm2022/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +16 -0
- package/esm2022/app/components/footer/footer-row/footer-row.component.mjs +17 -0
- package/esm2022/app/components/footer/footer.component.mjs +35 -0
- package/esm2022/app/components/head/head-cell/head-cell.component.mjs +32 -0
- package/esm2022/app/components/head/head.component.mjs +113 -0
- package/esm2022/app/components/list/list.component.mjs +407 -0
- package/esm2022/app/components/loader/loader.component.mjs +40 -0
- package/esm2022/app/components/manage-saved-filters/manage-saved-filters.component.mjs +78 -0
- package/esm2022/app/components/pagination/pagination.component.mjs +40 -0
- package/esm2022/app/components/saved-filters/saved-filters.component.mjs +32 -0
- package/esm2022/app/components/status/status.component.mjs +69 -0
- package/esm2022/app/directives/cell/cell.directive.mjs +21 -0
- package/esm2022/app/directives/column/column.directive.mjs +137 -0
- package/{esm2020 → esm2022}/app/directives/content/content.directive.mjs +4 -4
- package/esm2022/app/directives/content-init/content-init.directive.mjs +23 -0
- package/esm2022/app/directives/draggable-list/draggable-list.directive.mjs +344 -0
- package/esm2022/app/directives/draggable-row/draggable-row.directive.mjs +83 -0
- package/esm2022/app/directives/empty-state/empty-state.directive.mjs +13 -0
- package/esm2022/app/directives/footer/footer.directive.mjs +21 -0
- package/esm2022/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +28 -0
- package/{esm2020 → esm2022}/app/directives/group-footer/group-footer.directive.mjs +4 -4
- package/{esm2020 → esm2022}/app/directives/group-header/group-header.directive.mjs +4 -4
- package/esm2022/app/directives/header/header.directive.mjs +21 -0
- package/esm2022/app/directives/heading/heading.directive.mjs +13 -0
- package/{esm2020 → esm2022}/app/directives/heading-container/heading-container.directive.mjs +4 -4
- package/{esm2020 → esm2022}/app/directives/index.mjs +1 -1
- package/esm2022/app/directives/subheading/subheading.directive.mjs +13 -0
- package/{esm2020 → esm2022}/app/enums/page-change-type.enum.mjs +1 -1
- package/{esm2020 → esm2022}/app/enums/pagination-strategy.enum.mjs +1 -1
- package/{esm2020 → esm2022}/app/enums/state.enum.mjs +1 -1
- package/{esm2020 → esm2022}/app/fs-list.module.mjs +89 -89
- package/{esm2020 → esm2022}/app/fs-list.providers.mjs +1 -1
- package/{esm2020 → esm2022}/app/interfaces/cellconfig.interface.mjs +1 -1
- package/{esm2020 → esm2022}/app/interfaces/draggable-list.interface.mjs +1 -1
- package/esm2022/app/interfaces/external-params.interface.mjs +2 -0
- package/{esm2020 → esm2022}/app/interfaces/index.mjs +1 -1
- package/esm2022/app/interfaces/pagination.interface.mjs +2 -0
- package/{esm2020 → esm2022}/app/interfaces/sorting-change-event.interface.mjs +1 -1
- package/{esm2020 → esm2022}/app/models/column-async-attribute.mjs +1 -1
- package/esm2022/app/models/column-attributes.mjs +139 -0
- package/esm2022/app/models/column.model.mjs +173 -0
- package/esm2022/app/models/row/base-row.mjs +25 -0
- package/esm2022/app/models/row/child-row.mjs +29 -0
- package/esm2022/app/models/row/group-footer-row.mjs +22 -0
- package/esm2022/app/models/row/group-row.mjs +45 -0
- package/{esm2020 → esm2022}/app/models/row/simple-row.mjs +1 -1
- package/esm2022/app/models/row-action.model.mjs +102 -0
- package/esm2022/app/models/row.mjs +90 -0
- package/esm2022/app/models/styleConfig.model.mjs +78 -0
- package/esm2022/app/pipes/action-label.mjs +17 -0
- package/{esm2020 → esm2022}/app/services/group-expand-notifier.service.mjs +7 -9
- package/{fesm2020 → fesm2022}/firestitch-list.mjs +731 -497
- package/fesm2022/firestitch-list.mjs.map +1 -0
- package/package.json +5 -11
- package/esm2020/app/classes/actions-controller.mjs +0 -55
- package/esm2020/app/classes/columns-controller.mjs +0 -206
- package/esm2020/app/classes/data-controller.mjs +0 -345
- package/esm2020/app/classes/external-params-controller.mjs +0 -147
- package/esm2020/app/classes/list-controller.mjs +0 -674
- package/esm2020/app/classes/pagination-controller.mjs +0 -491
- package/esm2020/app/classes/persistance-controller.mjs +0 -19
- package/esm2020/app/classes/reorder-controller.mjs +0 -182
- package/esm2020/app/classes/selection-controller.mjs +0 -466
- package/esm2020/app/classes/sorting-controller.mjs +0 -206
- package/esm2020/app/components/body/body.component.mjs +0 -64
- package/esm2020/app/components/body/row/actions/actions.component.mjs +0 -97
- package/esm2020/app/components/body/row/cell/cell.component.mjs +0 -107
- package/esm2020/app/components/body/row/inline-action/inline-action.component.mjs +0 -33
- package/esm2020/app/components/body/row/menu-action/menu-action.component.mjs +0 -46
- package/esm2020/app/components/body/row/row.component.mjs +0 -322
- package/esm2020/app/components/customize-cols/customize-cols.component.mjs +0 -68
- package/esm2020/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +0 -16
- package/esm2020/app/components/footer/footer-row/footer-row.component.mjs +0 -28
- package/esm2020/app/components/footer/footer.component.mjs +0 -31
- package/esm2020/app/components/head/head-cell/head-cell.component.mjs +0 -29
- package/esm2020/app/components/head/head.component.mjs +0 -103
- package/esm2020/app/components/list/list.component.mjs +0 -385
- package/esm2020/app/components/loader/loader.component.mjs +0 -40
- package/esm2020/app/components/manage-saved-filters/manage-saved-filters.component.mjs +0 -76
- package/esm2020/app/components/pagination/pagination.component.mjs +0 -37
- package/esm2020/app/components/saved-filters/saved-filters.component.mjs +0 -29
- package/esm2020/app/components/status/status.component.mjs +0 -64
- package/esm2020/app/directives/cell/cell.directive.mjs +0 -18
- package/esm2020/app/directives/column/column.directive.mjs +0 -121
- package/esm2020/app/directives/content-init/content-init.directive.mjs +0 -22
- package/esm2020/app/directives/draggable-list/draggable-list.directive.mjs +0 -330
- package/esm2020/app/directives/draggable-row/draggable-row.directive.mjs +0 -78
- package/esm2020/app/directives/empty-state/empty-state.directive.mjs +0 -13
- package/esm2020/app/directives/footer/footer.directive.mjs +0 -18
- package/esm2020/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +0 -26
- package/esm2020/app/directives/header/header.directive.mjs +0 -18
- package/esm2020/app/directives/heading/heading.directive.mjs +0 -13
- package/esm2020/app/directives/subheading/subheading.directive.mjs +0 -13
- package/esm2020/app/interfaces/external-params.interface.mjs +0 -2
- package/esm2020/app/interfaces/pagination.interface.mjs +0 -2
- package/esm2020/app/models/column-attributes.mjs +0 -132
- package/esm2020/app/models/column.model.mjs +0 -164
- package/esm2020/app/models/row/base-row.mjs +0 -23
- package/esm2020/app/models/row/child-row.mjs +0 -28
- package/esm2020/app/models/row/group-footer-row.mjs +0 -21
- package/esm2020/app/models/row/group-row.mjs +0 -45
- package/esm2020/app/models/row-action.model.mjs +0 -90
- package/esm2020/app/models/row.mjs +0 -89
- package/esm2020/app/models/styleConfig.model.mjs +0 -76
- package/esm2020/app/pipes/action-label.mjs +0 -17
- package/fesm2015/firestitch-list.mjs +0 -5802
- package/fesm2015/firestitch-list.mjs.map +0 -1
- package/fesm2020/firestitch-list.mjs.map +0 -1
- /package/{esm2020 → esm2022}/app/enums/action-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/enums/row-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/column-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/listconfig.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/pagination-state.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/app/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/firestitch-list.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { isBoolean, isObject } from 'lodash-es';
|
|
2
|
+
import { StyleConfig } from './styleConfig.model';
|
|
3
|
+
export var SortingDirection;
|
|
4
|
+
(function (SortingDirection) {
|
|
5
|
+
SortingDirection["asc"] = "asc";
|
|
6
|
+
SortingDirection["desc"] = "desc";
|
|
7
|
+
})(SortingDirection || (SortingDirection = {}));
|
|
8
|
+
const ALLOWED_DEFAULTS = [
|
|
9
|
+
'title',
|
|
10
|
+
'sortable',
|
|
11
|
+
'align',
|
|
12
|
+
'class',
|
|
13
|
+
];
|
|
14
|
+
export class Column {
|
|
15
|
+
headerTemplate;
|
|
16
|
+
groupHeaderTemplate;
|
|
17
|
+
groupFooterTemplate;
|
|
18
|
+
cellTemplate;
|
|
19
|
+
footerTemplate;
|
|
20
|
+
expandTrigger;
|
|
21
|
+
headerConfigs = new StyleConfig();
|
|
22
|
+
groupHeaderConfigs = new StyleConfig();
|
|
23
|
+
groupFooterConfigs = new StyleConfig();
|
|
24
|
+
cellConfigs = new StyleConfig();
|
|
25
|
+
footerConfigs = new StyleConfig();
|
|
26
|
+
colStyles;
|
|
27
|
+
headerColspanned = false;
|
|
28
|
+
groupHeaderColspanned = false;
|
|
29
|
+
groupFooterColspanned = false;
|
|
30
|
+
cellColspanned = false;
|
|
31
|
+
footerColspanned = false;
|
|
32
|
+
_attributes;
|
|
33
|
+
_defaultDirection;
|
|
34
|
+
_ordered = false;
|
|
35
|
+
constructor(colConfig, colDefaults = false) {
|
|
36
|
+
this._parseConfig(colConfig);
|
|
37
|
+
this.colStyles = new StyleConfig({
|
|
38
|
+
className: this._attributes.className,
|
|
39
|
+
align: this._attributes.align,
|
|
40
|
+
});
|
|
41
|
+
this.mergeWithColumnDefaults(colDefaults);
|
|
42
|
+
}
|
|
43
|
+
set title(value) {
|
|
44
|
+
this._attributes.title = value;
|
|
45
|
+
}
|
|
46
|
+
get title() {
|
|
47
|
+
return this._attributes.title;
|
|
48
|
+
}
|
|
49
|
+
get name() {
|
|
50
|
+
return this._attributes.name;
|
|
51
|
+
}
|
|
52
|
+
get customize() {
|
|
53
|
+
return this._attributes.customize;
|
|
54
|
+
}
|
|
55
|
+
get width() {
|
|
56
|
+
return this._attributes.width;
|
|
57
|
+
}
|
|
58
|
+
set sortable(value) {
|
|
59
|
+
this._attributes.sortable = value;
|
|
60
|
+
}
|
|
61
|
+
get sortable() {
|
|
62
|
+
return this._attributes.sortable;
|
|
63
|
+
}
|
|
64
|
+
get sortableDefault() {
|
|
65
|
+
return this._attributes.sortableDefault;
|
|
66
|
+
}
|
|
67
|
+
set sortingDirection(value) {
|
|
68
|
+
this._attributes.direction = value;
|
|
69
|
+
}
|
|
70
|
+
get sortingDirection() {
|
|
71
|
+
return this._attributes.direction;
|
|
72
|
+
}
|
|
73
|
+
get sortingDirection$() {
|
|
74
|
+
return this._attributes.direction$;
|
|
75
|
+
}
|
|
76
|
+
get visible() {
|
|
77
|
+
return this._attributes.visible;
|
|
78
|
+
}
|
|
79
|
+
get visible$() {
|
|
80
|
+
return this._attributes.visible$;
|
|
81
|
+
}
|
|
82
|
+
get direction() {
|
|
83
|
+
return (this.sortingDirection === SortingDirection.asc) ? 'asc' : 'desc';
|
|
84
|
+
}
|
|
85
|
+
get fullNameDirection() {
|
|
86
|
+
return (this.sortingDirection === SortingDirection.asc) ? 'Ascending' : 'Descending';
|
|
87
|
+
}
|
|
88
|
+
get ordered() {
|
|
89
|
+
return this._ordered;
|
|
90
|
+
}
|
|
91
|
+
set ordered(value) {
|
|
92
|
+
if (value && this._ordered !== value) {
|
|
93
|
+
this.sortingDirection = this._defaultDirection ?? SortingDirection.asc;
|
|
94
|
+
}
|
|
95
|
+
this._ordered = value;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Merge with defaults with existing config
|
|
99
|
+
*
|
|
100
|
+
* @param defaults
|
|
101
|
+
*/
|
|
102
|
+
mergeWithColumnDefaults(defaults) {
|
|
103
|
+
if (!isObject(defaults)) {
|
|
104
|
+
defaults = {};
|
|
105
|
+
}
|
|
106
|
+
ALLOWED_DEFAULTS.forEach((key) => {
|
|
107
|
+
switch (key) {
|
|
108
|
+
case 'title':
|
|
109
|
+
{
|
|
110
|
+
this.title = this.title || defaults.title;
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
case 'sortable':
|
|
114
|
+
{
|
|
115
|
+
if (isBoolean(defaults.sortable)) {
|
|
116
|
+
if (this.sortable === void 0) {
|
|
117
|
+
this.sortable = defaults.sortable;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
break;
|
|
122
|
+
case 'class':
|
|
123
|
+
{
|
|
124
|
+
this.headerConfigs.mergeClassByPriority(this.colStyles, defaults.header);
|
|
125
|
+
this.groupHeaderConfigs.mergeClassByPriority(this.colStyles, defaults.cell);
|
|
126
|
+
this.groupFooterConfigs.mergeClassByPriority(this.colStyles, defaults.cell);
|
|
127
|
+
this.cellConfigs.mergeClassByPriority(this.colStyles, defaults.cell);
|
|
128
|
+
this.footerConfigs.mergeClassByPriority(this.colStyles, defaults.footer);
|
|
129
|
+
}
|
|
130
|
+
break;
|
|
131
|
+
case 'align':
|
|
132
|
+
{
|
|
133
|
+
this.headerConfigs.mergeAlignByPriority(this.colStyles, defaults.header);
|
|
134
|
+
this.groupHeaderConfigs.mergeAlignByPriority(this.colStyles, defaults.cell);
|
|
135
|
+
this.groupFooterConfigs.mergeAlignByPriority(this.colStyles, defaults.cell);
|
|
136
|
+
this.cellConfigs.mergeAlignByPriority(this.colStyles, defaults.cell);
|
|
137
|
+
this.footerConfigs.mergeAlignByPriority(this.colStyles, defaults.footer);
|
|
138
|
+
}
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
this.headerConfigs.updateClasesArray();
|
|
143
|
+
this.groupHeaderConfigs.updateClasesArray();
|
|
144
|
+
this.groupFooterConfigs.updateClasesArray();
|
|
145
|
+
this.cellConfigs.updateClasesArray();
|
|
146
|
+
this.footerConfigs.updateClasesArray();
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Change sorting direction
|
|
150
|
+
*/
|
|
151
|
+
changeDirection() {
|
|
152
|
+
this.sortingDirection = this.sortingDirection === SortingDirection.asc ? SortingDirection.desc : SortingDirection.asc;
|
|
153
|
+
}
|
|
154
|
+
updateVisibility(value) {
|
|
155
|
+
this._attributes.visible = value;
|
|
156
|
+
}
|
|
157
|
+
_parseConfig(config) {
|
|
158
|
+
this._attributes = config.attributes;
|
|
159
|
+
this.headerTemplate = config.headerTemplate;
|
|
160
|
+
this.groupHeaderTemplate = config.groupHeaderTemplate;
|
|
161
|
+
this.groupFooterTemplate = config.groupFooterTemplate;
|
|
162
|
+
this.cellTemplate = config.cellTemplate;
|
|
163
|
+
this.footerTemplate = config.footerTemplate;
|
|
164
|
+
this.headerConfigs = new StyleConfig(config.headerConfigs);
|
|
165
|
+
this.groupHeaderConfigs = new StyleConfig(config.groupHeaderConfigs);
|
|
166
|
+
this.groupFooterConfigs = new StyleConfig(config.groupFooterConfigs);
|
|
167
|
+
this.cellConfigs = new StyleConfig(config.cellConfigs);
|
|
168
|
+
this.footerConfigs = new StyleConfig(config.footerConfigs);
|
|
169
|
+
this.expandTrigger = config.expandTrigger;
|
|
170
|
+
this._defaultDirection = config.attributes.direction;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvY29sdW1uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLCtCQUFXLENBQUE7SUFDWCxpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU87SUFDUCxVQUFVO0lBQ1YsT0FBTztJQUNQLE9BQU87Q0FDUixDQUFDO0FBRUYsTUFBTSxPQUFPLE1BQU07SUFFVixjQUFjLENBQW1CO0lBQ2pDLG1CQUFtQixDQUFtQjtJQUN0QyxtQkFBbUIsQ0FBbUI7SUFDdEMsWUFBWSxDQUFtQjtJQUMvQixjQUFjLENBQW1CO0lBQ2pDLGFBQWEsQ0FBK0M7SUFFNUQsYUFBYSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRS9DLGtCQUFrQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELGtCQUFrQixHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXBELFdBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUU3QyxhQUFhLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFFL0MsU0FBUyxDQUFjO0lBRXZCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDOUIscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQzlCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBRXhCLFdBQVcsQ0FB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Q0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzQm9vbGVhbiwgaXNPYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBGc0xpc3RHcm91cEV4cGFuZFRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2dyb3VwLWV4cGFuZC10cmlnZ2VyL2dyb3VwLWV4cGFuZC10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RDb2x1bW5Db25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbHVtbi1jb25maWcuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQ29sdW1uQXR0cmlidXRlcyB9IGZyb20gJy4vY29sdW1uLWF0dHJpYnV0ZXMnO1xuaW1wb3J0IHsgU3R5bGVDb25maWcgfSBmcm9tICcuL3N0eWxlQ29uZmlnLm1vZGVsJztcblxuZXhwb3J0IGVudW0gU29ydGluZ0RpcmVjdGlvbiB7XG4gIGFzYyA9ICdhc2MnLFxuICBkZXNjID0gJ2Rlc2MnXG59XG5cbmNvbnN0IEFMTE9XRURfREVGQVVMVFMgPSBbXG4gICd0aXRsZScsXG4gICdzb3J0YWJsZScsXG4gICdhbGlnbicsXG4gICdjbGFzcycsXG5dO1xuXG5leHBvcnQgY2xhc3MgQ29sdW1uIHtcblxuICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIHB1YmxpYyBncm91cEhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwdWJsaWMgZ3JvdXBGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHVibGljIGNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHVibGljIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwdWJsaWMgZXhwYW5kVHJpZ2dlcjogUXVlcnlMaXN0PEZzTGlzdEdyb3VwRXhwYW5kVHJpZ2dlckRpcmVjdGl2ZT47XG5cbiAgcHVibGljIGhlYWRlckNvbmZpZ3M6IFN0eWxlQ29uZmlnID0gbmV3IFN0eWxlQ29uZmlnKCk7XG5cbiAgcHVibGljIGdyb3VwSGVhZGVyQ29uZmlnczogU3R5bGVDb25maWcgPSBuZXcgU3R5bGVDb25maWcoKTtcbiAgcHVibGljIGdyb3VwRm9vdGVyQ29uZmlnczogU3R5bGVDb25maWcgPSBuZXcgU3R5bGVDb25maWcoKTtcblxuICBwdWJsaWMgY2VsbENvbmZpZ3M6IFN0eWxlQ29uZmlnID0gbmV3IFN0eWxlQ29uZmlnKCk7XG5cbiAgcHVibGljIGZvb3RlckNvbmZpZ3M6IFN0eWxlQ29uZmlnID0gbmV3IFN0eWxlQ29uZmlnKCk7XG5cbiAgcHVibGljIGNvbFN0eWxlczogU3R5bGVDb25maWc7XG5cbiAgcHVibGljIGhlYWRlckNvbHNwYW5uZWQgPSBmYWxzZTtcbiAgcHVibGljIGdyb3VwSGVhZGVyQ29sc3Bhbm5lZCA9IGZhbHNlO1xuICBwdWJsaWMgZ3JvdXBGb290ZXJDb2xzcGFubmVkID0gZmFsc2U7XG4gIHB1YmxpYyBjZWxsQ29sc3Bhbm5lZCA9IGZhbHNlO1xuICBwdWJsaWMgZm9vdGVyQ29sc3Bhbm5lZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2F0dHJpYnV0ZXM6IENvbHVtbkF0dHJpYnV0ZXM7XG4gIHByaXZhdGUgX2RlZmF1bHREaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnO1xuXG4gIHByaXZhdGUgX29yZGVyZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihjb2xDb25maWc6IEZzTGlzdENvbHVtbkNvbmZpZywgY29sRGVmYXVsdHM6IGFueSA9IGZhbHNlKSB7XG4gICAgdGhpcy5fcGFyc2VDb25maWcoY29sQ29uZmlnKTtcblxuICAgIHRoaXMuY29sU3R5bGVzID0gbmV3IFN0eWxlQ29uZmlnKHtcbiAgICAgIGNsYXNzTmFtZTogdGhpcy5fYXR0cmlidXRlcy5jbGFzc05hbWUsXG4gICAgICBhbGlnbjogdGhpcy5fYXR0cmlidXRlcy5hbGlnbixcbiAgICB9KTtcblxuICAgIHRoaXMubWVyZ2VXaXRoQ29sdW1uRGVmYXVsdHMoY29sRGVmYXVsdHMpO1xuICB9XG5cbiAgcHVibGljIHNldCB0aXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXR0cmlidXRlcy50aXRsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLnRpdGxlO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VzdG9taXplKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLmN1c3RvbWl6ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlcy53aWR0aDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc29ydGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGVzLnNvcnRhYmxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnRhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLnNvcnRhYmxlO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0YWJsZURlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMuc29ydGFibGVEZWZhdWx0O1xuICB9XG5cbiAgcHVibGljIHNldCBzb3J0aW5nRGlyZWN0aW9uKHZhbHVlOiAnYXNjJyB8ICdkZXNjJykge1xuICAgIHRoaXMuX2F0dHJpYnV0ZXMuZGlyZWN0aW9uID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnRpbmdEaXJlY3Rpb24oKTogJ2FzYycgfCAnZGVzYycge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLmRpcmVjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc29ydGluZ0RpcmVjdGlvbiQoKTogT2JzZXJ2YWJsZTwnYXNjJyB8ICdkZXNjJz4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzLmRpcmVjdGlvbiQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMudmlzaWJsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dHJpYnV0ZXMudmlzaWJsZSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpcmVjdGlvbigpIHtcbiAgICByZXR1cm4gKHRoaXMuc29ydGluZ0RpcmVjdGlvbiA9PT0gU29ydGluZ0RpcmVjdGlvbi5hc2MpID8gJ2FzYycgOiAnZGVzYyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZ1bGxOYW1lRGlyZWN0aW9uKCkge1xuICAgIHJldHVybiAodGhpcy5zb3J0aW5nRGlyZWN0aW9uID09PSBTb3J0aW5nRGlyZWN0aW9uLmFzYykgPyAnQXNjZW5kaW5nJyA6ICdEZXNjZW5kaW5nJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3JkZXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fb3JkZXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgb3JkZXJlZCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLl9vcmRlcmVkICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5zb3J0aW5nRGlyZWN0aW9uID0gdGhpcy5fZGVmYXVsdERpcmVjdGlvbiA/PyBTb3J0aW5nRGlyZWN0aW9uLmFzYztcbiAgICB9XG5cbiAgICB0aGlzLl9vcmRlcmVkID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2Ugd2l0aCBkZWZhdWx0cyB3aXRoIGV4aXN0aW5nIGNvbmZpZ1xuICAgKlxuICAgKiBAcGFyYW0gZGVmYXVsdHNcbiAgICovXG4gIHB1YmxpYyBtZXJnZVdpdGhDb2x1bW5EZWZhdWx0cyhkZWZhdWx0cykge1xuICAgIGlmICghaXNPYmplY3QoZGVmYXVsdHMpKSB7XG4gICAgICBkZWZhdWx0cyA9IHt9O1xuICAgIH1cblxuICAgIEFMTE9XRURfREVGQVVMVFMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlICd0aXRsZSc6IHtcbiAgICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy50aXRsZSB8fCBkZWZhdWx0cy50aXRsZTtcbiAgICAgICAgfSBicmVhaztcblxuICAgICAgICBjYXNlICdzb3J0YWJsZSc6IHtcbiAgICAgICAgICBpZiAoaXNCb29sZWFuKGRlZmF1bHRzLnNvcnRhYmxlKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc29ydGFibGUgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgICB0aGlzLnNvcnRhYmxlID0gZGVmYXVsdHMuc29ydGFibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2NsYXNzJzoge1xuICAgICAgICAgIHRoaXMuaGVhZGVyQ29uZmlncy5tZXJnZUNsYXNzQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuaGVhZGVyKTtcbiAgICAgICAgICB0aGlzLmdyb3VwSGVhZGVyQ29uZmlncy5tZXJnZUNsYXNzQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuY2VsbCk7XG4gICAgICAgICAgdGhpcy5ncm91cEZvb3RlckNvbmZpZ3MubWVyZ2VDbGFzc0J5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmNlbGwpO1xuICAgICAgICAgIHRoaXMuY2VsbENvbmZpZ3MubWVyZ2VDbGFzc0J5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmNlbGwpO1xuICAgICAgICAgIHRoaXMuZm9vdGVyQ29uZmlncy5tZXJnZUNsYXNzQnlQcmlvcml0eSh0aGlzLmNvbFN0eWxlcywgZGVmYXVsdHMuZm9vdGVyKTtcbiAgICAgICAgfSBicmVhaztcblxuICAgICAgICBjYXNlICdhbGlnbic6IHtcbiAgICAgICAgICB0aGlzLmhlYWRlckNvbmZpZ3MubWVyZ2VBbGlnbkJ5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmhlYWRlcik7XG4gICAgICAgICAgdGhpcy5ncm91cEhlYWRlckNvbmZpZ3MubWVyZ2VBbGlnbkJ5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmNlbGwpO1xuICAgICAgICAgIHRoaXMuZ3JvdXBGb290ZXJDb25maWdzLm1lcmdlQWxpZ25CeVByaW9yaXR5KHRoaXMuY29sU3R5bGVzLCBkZWZhdWx0cy5jZWxsKTtcbiAgICAgICAgICB0aGlzLmNlbGxDb25maWdzLm1lcmdlQWxpZ25CeVByaW9yaXR5KHRoaXMuY29sU3R5bGVzLCBkZWZhdWx0cy5jZWxsKTtcbiAgICAgICAgICB0aGlzLmZvb3RlckNvbmZpZ3MubWVyZ2VBbGlnbkJ5UHJpb3JpdHkodGhpcy5jb2xTdHlsZXMsIGRlZmF1bHRzLmZvb3Rlcik7XG4gICAgICAgIH0gYnJlYWs7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmhlYWRlckNvbmZpZ3MudXBkYXRlQ2xhc2VzQXJyYXkoKTtcbiAgICB0aGlzLmdyb3VwSGVhZGVyQ29uZmlncy51cGRhdGVDbGFzZXNBcnJheSgpO1xuICAgIHRoaXMuZ3JvdXBGb290ZXJDb25maWdzLnVwZGF0ZUNsYXNlc0FycmF5KCk7XG4gICAgdGhpcy5jZWxsQ29uZmlncy51cGRhdGVDbGFzZXNBcnJheSgpO1xuICAgIHRoaXMuZm9vdGVyQ29uZmlncy51cGRhdGVDbGFzZXNBcnJheSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBzb3J0aW5nIGRpcmVjdGlvblxuICAgKi9cbiAgcHVibGljIGNoYW5nZURpcmVjdGlvbigpIHtcbiAgICB0aGlzLnNvcnRpbmdEaXJlY3Rpb24gPSB0aGlzLnNvcnRpbmdEaXJlY3Rpb24gPT09IFNvcnRpbmdEaXJlY3Rpb24uYXNjID8gU29ydGluZ0RpcmVjdGlvbi5kZXNjIDogU29ydGluZ0RpcmVjdGlvbi5hc2M7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVmlzaWJpbGl0eSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2F0dHJpYnV0ZXMudmlzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyc2VDb25maWcoY29uZmlnOiBGc0xpc3RDb2x1bW5Db25maWcpIHtcbiAgICB0aGlzLl9hdHRyaWJ1dGVzID0gY29uZmlnLmF0dHJpYnV0ZXM7XG5cbiAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gY29uZmlnLmhlYWRlclRlbXBsYXRlO1xuICAgIHRoaXMuZ3JvdXBIZWFkZXJUZW1wbGF0ZSA9IGNvbmZpZy5ncm91cEhlYWRlclRlbXBsYXRlO1xuICAgIHRoaXMuZ3JvdXBGb290ZXJUZW1wbGF0ZSA9IGNvbmZpZy5ncm91cEZvb3RlclRlbXBsYXRlO1xuICAgIHRoaXMuY2VsbFRlbXBsYXRlID0gY29uZmlnLmNlbGxUZW1wbGF0ZTtcbiAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gY29uZmlnLmZvb3RlclRlbXBsYXRlO1xuICAgIHRoaXMuaGVhZGVyQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuaGVhZGVyQ29uZmlncyk7XG4gICAgdGhpcy5ncm91cEhlYWRlckNvbmZpZ3MgPSBuZXcgU3R5bGVDb25maWcoY29uZmlnLmdyb3VwSGVhZGVyQ29uZmlncyk7XG4gICAgdGhpcy5ncm91cEZvb3RlckNvbmZpZ3MgPSBuZXcgU3R5bGVDb25maWcoY29uZmlnLmdyb3VwRm9vdGVyQ29uZmlncyk7XG4gICAgdGhpcy5jZWxsQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuY2VsbENvbmZpZ3MpO1xuICAgIHRoaXMuZm9vdGVyQ29uZmlncyA9IG5ldyBTdHlsZUNvbmZpZyhjb25maWcuZm9vdGVyQ29uZmlncyk7XG4gICAgdGhpcy5leHBhbmRUcmlnZ2VyID0gY29uZmlnLmV4cGFuZFRyaWdnZXI7XG4gICAgdGhpcy5fZGVmYXVsdERpcmVjdGlvbiA9IGNvbmZpZy5hdHRyaWJ1dGVzLmRpcmVjdGlvbjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RowType } from '../../enums/row-type.enum';
|
|
2
|
+
export class BaseRow {
|
|
3
|
+
index;
|
|
4
|
+
readyToSwap = true;
|
|
5
|
+
_rowType;
|
|
6
|
+
_data = {};
|
|
7
|
+
constructor(data = {}, rowType = RowType.Simple) {
|
|
8
|
+
this._data = data;
|
|
9
|
+
this._rowType = rowType;
|
|
10
|
+
}
|
|
11
|
+
get data() {
|
|
12
|
+
return this._data;
|
|
13
|
+
}
|
|
14
|
+
get type() {
|
|
15
|
+
return this._rowType;
|
|
16
|
+
}
|
|
17
|
+
getReorderData() {
|
|
18
|
+
return {
|
|
19
|
+
type: this._rowType,
|
|
20
|
+
data: this.data,
|
|
21
|
+
parent: null,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9yb3cvYmFzZS1yb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3BELE1BQU0sT0FBZ0IsT0FBTztJQUVwQixLQUFLLENBQVM7SUFDZCxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBRVAsUUFBUSxDQUFVO0lBRXBCLEtBQUssR0FBUSxFQUFFLENBQUM7SUFFakMsWUFDRSxPQUFZLEVBQUUsRUFDZCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU07UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFBO0lBQ0gsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm93VHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL3Jvdy10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBGc0xpc3RSZW9yZGVyRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VSb3cge1xyXG5cclxuICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZHlUb1N3YXAgPSB0cnVlO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3Jvd1R5cGU6IFJvd1R5cGU7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RhdGE6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGRhdGE6IGFueSA9IHt9LFxyXG4gICAgcm93VHlwZSA9IFJvd1R5cGUuU2ltcGxlLFxyXG4gICkge1xyXG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XHJcbiAgICB0aGlzLl9yb3dUeXBlID0gcm93VHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0eXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jvd1R5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UmVvcmRlckRhdGEoKTogRnNMaXN0UmVvcmRlckRhdGEge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdHlwZTogdGhpcy5fcm93VHlwZSxcclxuICAgICAgZGF0YTogdGhpcy5kYXRhLFxyXG4gICAgICBwYXJlbnQ6IG51bGwsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWJzdHJhY3QgZGVzdHJveSgpO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseRow } from './base-row';
|
|
2
|
+
import { RowType } from '../../enums/row-type.enum';
|
|
3
|
+
export class ChildRow extends BaseRow {
|
|
4
|
+
visible = true;
|
|
5
|
+
_parent;
|
|
6
|
+
constructor(data = {}, parent = null) {
|
|
7
|
+
super(data, RowType.GroupChild);
|
|
8
|
+
this._parent = parent;
|
|
9
|
+
if (this.parent) {
|
|
10
|
+
this.visible = this._parent.expanded;
|
|
11
|
+
this.index = this.parent.children.length;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
get parent() {
|
|
15
|
+
return this._parent;
|
|
16
|
+
}
|
|
17
|
+
get isChild() {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
getReorderData() {
|
|
21
|
+
return {
|
|
22
|
+
type: this._rowType,
|
|
23
|
+
data: this.data,
|
|
24
|
+
parent: this.parent.getReorderData(),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
destroy() { }
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGQtcm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93L2NoaWxkLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUtwRCxNQUFNLE9BQU8sUUFBUyxTQUFRLE9BQU87SUFFNUIsT0FBTyxHQUFHLElBQUksQ0FBQztJQUNMLE9BQU8sQ0FBVztJQUVuQyxZQUNFLE9BQVksRUFBRSxFQUNkLFNBQW1CLElBQUk7UUFFdkIsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFFdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7U0FDckMsQ0FBQTtJQUNILENBQUM7SUFFTSxPQUFPLEtBQUksQ0FBQztDQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VSb3cgfSBmcm9tICcuL2Jhc2Utcm93JztcclxuaW1wb3J0IHsgUm93VHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL3Jvdy10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBHcm91cFJvdyB9IGZyb20gJy4vZ3JvdXAtcm93JztcclxuaW1wb3J0IHsgRnNMaXN0UmVvcmRlckRhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQ2hpbGRSb3cgZXh0ZW5kcyBCYXNlUm93IHtcclxuXHJcbiAgcHVibGljIHZpc2libGUgPSB0cnVlO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudDogR3JvdXBSb3c7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZGF0YTogYW55ID0ge30sXHJcbiAgICBwYXJlbnQ6IEdyb3VwUm93ID0gbnVsbCxcclxuICApIHtcclxuICAgIHN1cGVyKGRhdGEsIFJvd1R5cGUuR3JvdXBDaGlsZCk7XHJcblxyXG4gICAgdGhpcy5fcGFyZW50ID0gcGFyZW50O1xyXG5cclxuICAgIGlmICh0aGlzLnBhcmVudCkge1xyXG4gICAgICB0aGlzLnZpc2libGUgPSB0aGlzLl9wYXJlbnQuZXhwYW5kZWQ7XHJcbiAgICAgIHRoaXMuaW5kZXggPSB0aGlzLnBhcmVudC5jaGlsZHJlbi5sZW5ndGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHBhcmVudCgpOiBHcm91cFJvdyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0NoaWxkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UmVvcmRlckRhdGEoKTogRnNMaXN0UmVvcmRlckRhdGEge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdHlwZTogdGhpcy5fcm93VHlwZSxcclxuICAgICAgZGF0YTogdGhpcy5kYXRhLFxyXG4gICAgICBwYXJlbnQ6IHRoaXMucGFyZW50LmdldFJlb3JkZXJEYXRhKCksXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVzdHJveSgpIHt9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseRow } from './base-row';
|
|
2
|
+
import { RowType } from '../../enums/row-type.enum';
|
|
3
|
+
export class GroupFooterRow extends BaseRow {
|
|
4
|
+
visible = true;
|
|
5
|
+
_parent;
|
|
6
|
+
constructor(data = {}, parent = null) {
|
|
7
|
+
super(data, RowType.GroupFooter);
|
|
8
|
+
this._parent = parent;
|
|
9
|
+
if (this.parent) {
|
|
10
|
+
this.visible = this._parent.expanded;
|
|
11
|
+
this.index = this.parent.children.length;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
get parent() {
|
|
15
|
+
return this._parent;
|
|
16
|
+
}
|
|
17
|
+
get isGroupFooter() {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
destroy() { }
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtZm9vdGVyLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL3Jvdy9ncm91cC1mb290ZXItcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXBELE1BQU0sT0FBTyxjQUFlLFNBQVEsT0FBTztJQUVsQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ0wsT0FBTyxDQUFXO0lBRW5DLFlBQ0UsT0FBWSxFQUFFLEVBQ2QsU0FBbUIsSUFBSTtRQUV2QixLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sT0FBTyxLQUFJLENBQUM7Q0FDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlUm93IH0gZnJvbSAnLi9iYXNlLXJvdyc7XG5pbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBHcm91cFJvdyB9IGZyb20gJy4vZ3JvdXAtcm93JztcblxuXG5leHBvcnQgY2xhc3MgR3JvdXBGb290ZXJSb3cgZXh0ZW5kcyBCYXNlUm93IHtcblxuICBwdWJsaWMgdmlzaWJsZSA9IHRydWU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudDogR3JvdXBSb3c7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YTogYW55ID0ge30sXG4gICAgcGFyZW50OiBHcm91cFJvdyA9IG51bGwsXG4gICkge1xuICAgIHN1cGVyKGRhdGEsIFJvd1R5cGUuR3JvdXBGb290ZXIpO1xuXG4gICAgdGhpcy5fcGFyZW50ID0gcGFyZW50O1xuXG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICB0aGlzLnZpc2libGUgPSB0aGlzLl9wYXJlbnQuZXhwYW5kZWQ7XG4gICAgICB0aGlzLmluZGV4ID0gdGhpcy5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFyZW50KCk6IEdyb3VwUm93IHtcbiAgICByZXR1cm4gdGhpcy5fcGFyZW50O1xuICB9XG5cbiAgcHVibGljIGdldCBpc0dyb3VwRm9vdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7fVxufVxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
import { BaseRow } from './base-row';
|
|
3
|
+
import { RowType } from '../../enums/row-type.enum';
|
|
4
|
+
export class GroupRow extends BaseRow {
|
|
5
|
+
children = [];
|
|
6
|
+
_expanded = new BehaviorSubject(false);
|
|
7
|
+
constructor(data = {}, initialExpand = false) {
|
|
8
|
+
super(data, RowType.Group);
|
|
9
|
+
if (initialExpand) {
|
|
10
|
+
this._expanded.next(initialExpand);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
get childrenData() {
|
|
14
|
+
return this.children
|
|
15
|
+
.map((child) => child.data);
|
|
16
|
+
}
|
|
17
|
+
get isGroup() {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
get expanded() {
|
|
21
|
+
return this._expanded.getValue();
|
|
22
|
+
}
|
|
23
|
+
get expanded$() {
|
|
24
|
+
return this._expanded.asObservable();
|
|
25
|
+
}
|
|
26
|
+
updateChildrenIndexes() {
|
|
27
|
+
this.children.forEach((row, index) => {
|
|
28
|
+
row.index = index;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
updateChildrenVisibility() {
|
|
32
|
+
this.children.forEach((row) => {
|
|
33
|
+
row.visible = this.expanded;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
toggleRowExpandStatus() {
|
|
37
|
+
this._expanded.next(!this.expanded);
|
|
38
|
+
this.updateChildrenVisibility();
|
|
39
|
+
}
|
|
40
|
+
destroy() {
|
|
41
|
+
this.children.forEach((child) => child.destroy());
|
|
42
|
+
this._expanded.complete();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93L2dyb3VwLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXBELE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBTztJQUU1QixRQUFRLEdBQWtDLEVBQUUsQ0FBQztJQUVuQyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFakUsWUFDRSxPQUFZLEVBQUUsRUFDZCxhQUFhLEdBQUcsS0FBSztRQUVyQixLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDZixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuQyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx3QkFBd0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM1QixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0scUJBQXFCO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlUm93IH0gZnJvbSAnLi9iYXNlLXJvdyc7XG5pbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGlsZFJvdyB9IGZyb20gJy4vY2hpbGQtcm93JztcbmltcG9ydCB7IEdyb3VwRm9vdGVyUm93IH0gZnJvbSAnLi9ncm91cC1mb290ZXItcm93JztcblxuZXhwb3J0IGNsYXNzIEdyb3VwUm93IGV4dGVuZHMgQmFzZVJvdyB7XG5cbiAgcHVibGljIGNoaWxkcmVuOiAoQ2hpbGRSb3cgfCBHcm91cEZvb3RlclJvdylbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YTogYW55ID0ge30sXG4gICAgaW5pdGlhbEV4cGFuZCA9IGZhbHNlLFxuICApIHtcbiAgICBzdXBlcihkYXRhLCBSb3dUeXBlLkdyb3VwKTtcblxuICAgIGlmIChpbml0aWFsRXhwYW5kKSB7XG4gICAgICB0aGlzLl9leHBhbmRlZC5uZXh0KGluaXRpYWxFeHBhbmQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpbGRyZW5EYXRhKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuXG4gICAgICAgIC5tYXAoKGNoaWxkKSA9PiBjaGlsZC5kYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2hpbGRyZW5JbmRleGVzKCkge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgcm93LmluZGV4ID0gaW5kZXg7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2hpbGRyZW5WaXNpYmlsaXR5KCkge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICByb3cudmlzaWJsZSA9IHRoaXMuZXhwYW5kZWQ7XG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSb3dFeHBhbmRTdGF0dXMoKSB7XG4gICAgdGhpcy5fZXhwYW5kZWQubmV4dCghdGhpcy5leHBhbmRlZCk7XG5cbiAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuVmlzaWJpbGl0eSgpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gY2hpbGQuZGVzdHJveSgpKTtcbiAgICB0aGlzLl9leHBhbmRlZC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -7,4 +7,4 @@ export class SimpleRow extends BaseRow {
|
|
|
7
7
|
destroy() {
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL3Jvdy9zaW1wbGUtcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxTQUFVLFNBQVEsT0FBTztJQUVwQyxZQUNFLE9BQVksRUFBRTtRQUVkLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFHTSxPQUFPO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm93VHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL3Jvdy10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBCYXNlUm93IH0gZnJvbSAnLi9iYXNlLXJvdyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU2ltcGxlUm93IGV4dGVuZHMgQmFzZVJvdyB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZGF0YTogYW55ID0ge30sXHJcbiAgKSB7XHJcbiAgICBzdXBlcihkYXRhLCBSb3dUeXBlLlNpbXBsZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { ActionType } from '../enums/action-type.enum';
|
|
2
|
+
export class RowAction {
|
|
3
|
+
icon;
|
|
4
|
+
menu;
|
|
5
|
+
remove;
|
|
6
|
+
className;
|
|
7
|
+
type;
|
|
8
|
+
show;
|
|
9
|
+
restore;
|
|
10
|
+
rowActions;
|
|
11
|
+
label = '';
|
|
12
|
+
routerLink;
|
|
13
|
+
classArray = [];
|
|
14
|
+
isShown = true;
|
|
15
|
+
click;
|
|
16
|
+
fileConfig;
|
|
17
|
+
_linkFn;
|
|
18
|
+
_isGroup = false;
|
|
19
|
+
constructor(config = {}) {
|
|
20
|
+
this._init(config);
|
|
21
|
+
if (Array.isArray(this.rowActions)) {
|
|
22
|
+
this._isGroup = true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
get isGroup() {
|
|
26
|
+
return this._isGroup;
|
|
27
|
+
}
|
|
28
|
+
_init(value) {
|
|
29
|
+
this.icon = value.icon;
|
|
30
|
+
this.menu = value.menu ?? true;
|
|
31
|
+
this.remove = value.remove;
|
|
32
|
+
this.className = value.className;
|
|
33
|
+
this.type = this.menu && this.icon && !this.label && !value.type ? ActionType.Icon : value.type ?? ActionType.Basic;
|
|
34
|
+
this.show = value.show;
|
|
35
|
+
this.restore = value.restore;
|
|
36
|
+
this.rowActions = value.rowActions
|
|
37
|
+
?.map((action) => new RowAction(action));
|
|
38
|
+
// Re-assign click function
|
|
39
|
+
const clickFn = value.click;
|
|
40
|
+
this.click = (row, event, index, rowActionsRef = null) => {
|
|
41
|
+
return this._clickEvent(row, event, index, rowActionsRef, clickFn);
|
|
42
|
+
};
|
|
43
|
+
this._linkFn = value.link;
|
|
44
|
+
if (value.file) {
|
|
45
|
+
this.fileConfig = { ...value.file };
|
|
46
|
+
if (this.fileConfig.select) {
|
|
47
|
+
const selectFn = this.fileConfig.select;
|
|
48
|
+
this.fileConfig.select = (selection, row, index) => {
|
|
49
|
+
selectFn(selection, row, index);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
this.label = value.label;
|
|
54
|
+
if (this.className) {
|
|
55
|
+
this.classArray = this.className.split(' ').reduce((acc, elem) => {
|
|
56
|
+
acc.push(elem);
|
|
57
|
+
return acc;
|
|
58
|
+
}, []);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
checkShowStatus(row, index) {
|
|
62
|
+
if (this.isGroup) {
|
|
63
|
+
this.rowActions.forEach((action) => {
|
|
64
|
+
action.checkShowStatus(row, index);
|
|
65
|
+
});
|
|
66
|
+
const groupVisible = !this.show || this.show(row, index);
|
|
67
|
+
this.isShown = groupVisible && this.rowActions.some((action) => action.isShown);
|
|
68
|
+
}
|
|
69
|
+
else if (this.show) {
|
|
70
|
+
this.isShown = this.show(row, index);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
updateLink(row) {
|
|
74
|
+
if (!this.isShown) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (this.isGroup) {
|
|
78
|
+
this.rowActions.forEach((action) => {
|
|
79
|
+
action.updateLink(row);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
else if (this._linkFn) {
|
|
83
|
+
this.routerLink = this._linkFn(row);
|
|
84
|
+
if (this.routerLink && !this.routerLink.target) {
|
|
85
|
+
this.routerLink.target = null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
_clickEvent(row, event, index, rowActionsRef, clickFn) {
|
|
90
|
+
// Stop event propagation for parent
|
|
91
|
+
event.stopPropagation();
|
|
92
|
+
// Close menu
|
|
93
|
+
if (rowActionsRef) {
|
|
94
|
+
rowActionsRef.closeMenu();
|
|
95
|
+
}
|
|
96
|
+
if (clickFn) {
|
|
97
|
+
// Fire passed callback
|
|
98
|
+
return clickFn(row, event, index);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWFjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL3Jvdy1hY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUXZELE1BQU0sT0FBTyxTQUFTO0lBRWIsSUFBSSxDQUFTO0lBQ2IsSUFBSSxDQUFVO0lBQ2QsTUFBTSxDQUFzQztJQUM1QyxTQUFTLENBQVM7SUFDbEIsSUFBSSxDQUFhO0lBQ2pCLElBQUksQ0FBVztJQUNmLE9BQU8sQ0FBVTtJQUNqQixVQUFVLENBQWM7SUFDeEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFVBQVUsQ0FBc0I7SUFDaEMsVUFBVSxHQUFhLEVBQUUsQ0FBQztJQUMxQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ2YsS0FBSyxDQUFXO0lBRWhCLFVBQVUsQ0FBc0I7SUFFL0IsT0FBTyxDQUF3QjtJQUN0QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRTNDLFlBQVksU0FBYyxFQUFFO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDcEgsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVO1lBQ2hDLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRzNDLDJCQUEyQjtRQUMzQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLEdBQUcsSUFBSSxFQUFFLEVBQUU7WUFDdkQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFFMUIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFcEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUNqRCxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFekIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQy9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWYsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxHQUFHLEVBQUUsS0FBSztRQUMvQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNqQyxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUV6RCxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xGLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEdBQUc7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2pDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXBDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU87UUFDM0Qsb0NBQW9DO1FBQ3BDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixhQUFhO1FBQ2IsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWix1QkFBdUI7WUFDdkIsT0FBTyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4uL2VudW1zL2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtcbiAgRnNMaXN0Um93QWN0aW9uRmlsZSxcbiAgRnNMaXN0Um93QWN0aW9uTGluayxcbiAgRnNMaXN0Um93QWN0aW9uTGlua0ZuLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuXG5leHBvcnQgY2xhc3MgUm93QWN0aW9uIHtcblxuICBwdWJsaWMgaWNvbjogc3RyaW5nO1xuICBwdWJsaWMgbWVudTogYm9vbGVhbjtcbiAgcHVibGljIHJlbW92ZTogeyB0aXRsZTogc3RyaW5nOyB0ZW1wbGF0ZTogc3RyaW5nIH07XG4gIHB1YmxpYyBjbGFzc05hbWU6IHN0cmluZztcbiAgcHVibGljIHR5cGU6IEFjdGlvblR5cGU7XG4gIHB1YmxpYyBzaG93OiBGdW5jdGlvbjtcbiAgcHVibGljIHJlc3RvcmU6IGJvb2xlYW47XG4gIHB1YmxpYyByb3dBY3Rpb25zOiBSb3dBY3Rpb25bXTtcbiAgcHVibGljIGxhYmVsID0gJyc7XG4gIHB1YmxpYyByb3V0ZXJMaW5rOiBGc0xpc3RSb3dBY3Rpb25MaW5rO1xuICBwdWJsaWMgY2xhc3NBcnJheTogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGlzU2hvd24gPSB0cnVlO1xuICBwdWJsaWMgY2xpY2s6IEZ1bmN0aW9uO1xuXG4gIHB1YmxpYyBmaWxlQ29uZmlnOiBGc0xpc3RSb3dBY3Rpb25GaWxlO1xuXG4gIHByaXZhdGUgX2xpbmtGbjogRnNMaXN0Um93QWN0aW9uTGlua0ZuO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0dyb3VwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBhbnkgPSB7fSkge1xuICAgIHRoaXMuX2luaXQoY29uZmlnKTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucm93QWN0aW9ucykpIHtcbiAgICAgIHRoaXMuX2lzR3JvdXAgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNHcm91cDtcbiAgfVxuXG4gIHB1YmxpYyBfaW5pdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pY29uID0gdmFsdWUuaWNvbjtcbiAgICB0aGlzLm1lbnUgPSB2YWx1ZS5tZW51ID8/IHRydWU7XG4gICAgdGhpcy5yZW1vdmUgPSB2YWx1ZS5yZW1vdmU7XG4gICAgdGhpcy5jbGFzc05hbWUgPSB2YWx1ZS5jbGFzc05hbWU7XG4gICAgdGhpcy50eXBlID0gdGhpcy5tZW51ICYmIHRoaXMuaWNvbiAmJiAhdGhpcy5sYWJlbCAmJiAhdmFsdWUudHlwZSA/IEFjdGlvblR5cGUuSWNvbiA6IHZhbHVlLnR5cGUgPz8gQWN0aW9uVHlwZS5CYXNpYztcbiAgICB0aGlzLnNob3cgPSB2YWx1ZS5zaG93O1xuICAgIHRoaXMucmVzdG9yZSA9IHZhbHVlLnJlc3RvcmU7XG4gICAgdGhpcy5yb3dBY3Rpb25zID0gdmFsdWUucm93QWN0aW9uc1xuICAgICAgPy5tYXAoKGFjdGlvbikgPT4gbmV3IFJvd0FjdGlvbihhY3Rpb24pKTtcblxuXG4gICAgLy8gUmUtYXNzaWduIGNsaWNrIGZ1bmN0aW9uXG4gICAgY29uc3QgY2xpY2tGbiA9IHZhbHVlLmNsaWNrO1xuICAgIHRoaXMuY2xpY2sgPSAocm93LCBldmVudCwgaW5kZXgsIHJvd0FjdGlvbnNSZWYgPSBudWxsKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fY2xpY2tFdmVudChyb3csIGV2ZW50LCBpbmRleCwgcm93QWN0aW9uc1JlZiwgY2xpY2tGbik7XG4gICAgfTtcblxuICAgIHRoaXMuX2xpbmtGbiA9IHZhbHVlLmxpbms7XG5cbiAgICBpZiAodmFsdWUuZmlsZSkge1xuICAgICAgdGhpcy5maWxlQ29uZmlnID0geyAuLi52YWx1ZS5maWxlIH07XG5cbiAgICAgIGlmICh0aGlzLmZpbGVDb25maWcuc2VsZWN0KSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdEZuID0gdGhpcy5maWxlQ29uZmlnLnNlbGVjdDtcbiAgICAgICAgdGhpcy5maWxlQ29uZmlnLnNlbGVjdCA9IChzZWxlY3Rpb24sIHJvdywgaW5kZXgpID0+IHtcbiAgICAgICAgICBzZWxlY3RGbihzZWxlY3Rpb24sIHJvdywgaW5kZXgpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGFiZWwgPSB2YWx1ZS5sYWJlbDtcblxuICAgIGlmICh0aGlzLmNsYXNzTmFtZSkge1xuICAgICAgdGhpcy5jbGFzc0FycmF5ID0gdGhpcy5jbGFzc05hbWUuc3BsaXQoJyAnKS5yZWR1Y2UoKGFjYywgZWxlbSkgPT4ge1xuICAgICAgICBhY2MucHVzaChlbGVtKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGVja1Nob3dTdGF0dXMocm93LCBpbmRleCkge1xuICAgIGlmICh0aGlzLmlzR3JvdXApIHtcbiAgICAgIHRoaXMucm93QWN0aW9ucy5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgYWN0aW9uLmNoZWNrU2hvd1N0YXR1cyhyb3csIGluZGV4KTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBncm91cFZpc2libGUgPSAhdGhpcy5zaG93IHx8IHRoaXMuc2hvdyhyb3csIGluZGV4KTtcblxuICAgICAgdGhpcy5pc1Nob3duID0gZ3JvdXBWaXNpYmxlICYmIHRoaXMucm93QWN0aW9ucy5zb21lKChhY3Rpb24pID0+IGFjdGlvbi5pc1Nob3duKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2hvdykge1xuICAgICAgdGhpcy5pc1Nob3duID0gdGhpcy5zaG93KHJvdywgaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVMaW5rKHJvdykge1xuICAgIGlmICghdGhpcy5pc1Nob3duKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHcm91cCkge1xuICAgICAgdGhpcy5yb3dBY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4ge1xuICAgICAgICBhY3Rpb24udXBkYXRlTGluayhyb3cpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9saW5rRm4pIHtcbiAgICAgIHRoaXMucm91dGVyTGluayA9IHRoaXMuX2xpbmtGbihyb3cpO1xuXG4gICAgICBpZiAodGhpcy5yb3V0ZXJMaW5rICYmICF0aGlzLnJvdXRlckxpbmsudGFyZ2V0KSB7XG4gICAgICAgIHRoaXMucm91dGVyTGluay50YXJnZXQgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NsaWNrRXZlbnQocm93LCBldmVudCwgaW5kZXgsIHJvd0FjdGlvbnNSZWYsIGNsaWNrRm4pIHtcbiAgICAvLyBTdG9wIGV2ZW50IHByb3BhZ2F0aW9uIGZvciBwYXJlbnRcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIC8vIENsb3NlIG1lbnVcbiAgICBpZiAocm93QWN0aW9uc1JlZikge1xuICAgICAgcm93QWN0aW9uc1JlZi5jbG9zZU1lbnUoKTtcbiAgICB9XG5cbiAgICBpZiAoY2xpY2tGbikge1xuICAgICAgLy8gRmlyZSBwYXNzZWQgY2FsbGJhY2tcbiAgICAgIHJldHVybiBjbGlja0ZuKHJvdywgZXZlbnQsIGluZGV4KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { RowType } from '../enums/row-type.enum';
|
|
3
|
+
import { ChildRow } from './row/child-row';
|
|
4
|
+
import { GroupFooterRow } from './row/group-footer-row';
|
|
5
|
+
import { GroupRow } from './row/group-row';
|
|
6
|
+
import { SimpleRow } from './row/simple-row';
|
|
7
|
+
export class Row {
|
|
8
|
+
_row;
|
|
9
|
+
_actionsUpdate$ = new Subject();
|
|
10
|
+
constructor(data = {}, rowType = RowType.Simple, { parent, initialExpand } = {}) {
|
|
11
|
+
switch (rowType) {
|
|
12
|
+
case RowType.Simple:
|
|
13
|
+
{
|
|
14
|
+
this._row = new SimpleRow(data);
|
|
15
|
+
}
|
|
16
|
+
break;
|
|
17
|
+
case RowType.Group:
|
|
18
|
+
{
|
|
19
|
+
this._row = new GroupRow(data, initialExpand);
|
|
20
|
+
}
|
|
21
|
+
break;
|
|
22
|
+
case RowType.GroupChild:
|
|
23
|
+
{
|
|
24
|
+
this._row = new ChildRow(data, parent);
|
|
25
|
+
}
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
get index() {
|
|
30
|
+
return this._row.index;
|
|
31
|
+
}
|
|
32
|
+
get actionsUpdate$() {
|
|
33
|
+
return this._actionsUpdate$.asObservable();
|
|
34
|
+
}
|
|
35
|
+
actionsUpdate() {
|
|
36
|
+
return this._actionsUpdate$.next(null);
|
|
37
|
+
}
|
|
38
|
+
set index(value) {
|
|
39
|
+
this._row.index = value;
|
|
40
|
+
}
|
|
41
|
+
get readyToSwap() {
|
|
42
|
+
return this._row.readyToSwap;
|
|
43
|
+
}
|
|
44
|
+
get visible() {
|
|
45
|
+
return this._row.visible;
|
|
46
|
+
}
|
|
47
|
+
set readyToSwap(value) {
|
|
48
|
+
this._row.readyToSwap = value;
|
|
49
|
+
}
|
|
50
|
+
get data() {
|
|
51
|
+
return this._row.data;
|
|
52
|
+
}
|
|
53
|
+
get type() {
|
|
54
|
+
return this._row.type;
|
|
55
|
+
}
|
|
56
|
+
get isGroup() {
|
|
57
|
+
return this._row instanceof GroupRow;
|
|
58
|
+
}
|
|
59
|
+
get isGroupChild() {
|
|
60
|
+
return this._row instanceof ChildRow;
|
|
61
|
+
}
|
|
62
|
+
get isGroupFooter() {
|
|
63
|
+
return this._row instanceof GroupFooterRow;
|
|
64
|
+
}
|
|
65
|
+
get parent() {
|
|
66
|
+
return this._row.parent;
|
|
67
|
+
}
|
|
68
|
+
get children() {
|
|
69
|
+
return this._row.children;
|
|
70
|
+
}
|
|
71
|
+
get expanded() {
|
|
72
|
+
return this._row.expanded;
|
|
73
|
+
}
|
|
74
|
+
get expanded$() {
|
|
75
|
+
return this._row.expanded$;
|
|
76
|
+
}
|
|
77
|
+
updateChildrenIndexes() {
|
|
78
|
+
this._row.updateChildrenIndexes();
|
|
79
|
+
}
|
|
80
|
+
toggleRowExpandStatus() {
|
|
81
|
+
this._row.toggleRowExpandStatus();
|
|
82
|
+
}
|
|
83
|
+
getReorderData() {
|
|
84
|
+
return this._row.getReorderData();
|
|
85
|
+
}
|
|
86
|
+
destroy() {
|
|
87
|
+
this._row.destroy();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxNQUFNLE9BQU8sR0FBRztJQUVOLElBQUksQ0FBb0M7SUFFeEMsZUFBZSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFeEMsWUFDRSxPQUFZLEVBQUUsRUFDZCxVQUFtQixPQUFPLENBQUMsTUFBTSxFQUNqQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEtBQXFELEVBQUU7UUFFOUUsUUFBUSxPQUFPLEVBQUUsQ0FBQztZQUNoQixLQUFLLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQUMsTUFBTTtZQUVSLEtBQUssT0FBTyxDQUFDLEtBQUs7Z0JBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7Z0JBQUMsTUFBTTtZQUVSLEtBQUssT0FBTyxDQUFDLFVBQVU7Z0JBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQUMsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFRLElBQUksQ0FBQyxJQUFpQixDQUFDLE9BQU8sQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxXQUFXLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLFlBQVksUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxZQUFZLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksWUFBWSxjQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQVEsSUFBSSxDQUFDLElBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBUSxJQUFJLENBQUMsSUFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFRLElBQUksQ0FBQyxJQUFpQixDQUFDLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQVEsSUFBSSxDQUFDLElBQWlCLENBQUMsU0FBUyxDQUFDO0lBQzNDLENBQUM7SUFFTSxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLElBQWlCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU0scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxJQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBGc0xpc3RSZW9yZGVyRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2hpbGRSb3cgfSBmcm9tICcuL3Jvdy9jaGlsZC1yb3cnO1xuaW1wb3J0IHsgR3JvdXBGb290ZXJSb3cgfSBmcm9tICcuL3Jvdy9ncm91cC1mb290ZXItcm93JztcbmltcG9ydCB7IEdyb3VwUm93IH0gZnJvbSAnLi9yb3cvZ3JvdXAtcm93JztcbmltcG9ydCB7IFNpbXBsZVJvdyB9IGZyb20gJy4vcm93L3NpbXBsZS1yb3cnO1xuXG5leHBvcnQgY2xhc3MgUm93IHtcblxuICBwcml2YXRlIF9yb3c6IChTaW1wbGVSb3cgfCBDaGlsZFJvdyB8IEdyb3VwUm93KTtcblxuICBwcml2YXRlIF9hY3Rpb25zVXBkYXRlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YTogYW55ID0ge30sXG4gICAgcm93VHlwZTogUm93VHlwZSA9IFJvd1R5cGUuU2ltcGxlLFxuICAgIHsgcGFyZW50LCBpbml0aWFsRXhwYW5kIH06IHsgcGFyZW50PzogR3JvdXBSb3csIGluaXRpYWxFeHBhbmQ/OiBib29sZWFuIH0gPSB7fSxcbiAgKSB7XG4gICAgc3dpdGNoIChyb3dUeXBlKSB7XG4gICAgICBjYXNlIFJvd1R5cGUuU2ltcGxlOiB7XG4gICAgICAgIHRoaXMuX3JvdyA9IG5ldyBTaW1wbGVSb3coZGF0YSk7XG4gICAgICB9IGJyZWFrO1xuXG4gICAgICBjYXNlIFJvd1R5cGUuR3JvdXA6IHtcbiAgICAgICAgdGhpcy5fcm93ID0gbmV3IEdyb3VwUm93KGRhdGEsIGluaXRpYWxFeHBhbmQpO1xuICAgICAgfSBicmVhaztcblxuICAgICAgY2FzZSBSb3dUeXBlLkdyb3VwQ2hpbGQ6IHtcbiAgICAgICAgdGhpcy5fcm93ID0gbmV3IENoaWxkUm93KGRhdGEsIHBhcmVudCk7XG4gICAgICB9IGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcm93LmluZGV4O1xuICB9XG5cbiAgcHVibGljIGdldCBhY3Rpb25zVXBkYXRlJCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zVXBkYXRlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25zVXBkYXRlKCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zVXBkYXRlJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHVibGljIHNldCBpbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcm93LmluZGV4ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWR5VG9Td2FwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yb3cucmVhZHlUb1N3YXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLl9yb3cgYXMgQ2hpbGRSb3cpLnZpc2libGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJlYWR5VG9Td2FwKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcm93LnJlYWR5VG9Td2FwID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGEoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fcm93LmRhdGE7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogUm93VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvdy50eXBlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0dyb3VwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yb3cgaW5zdGFuY2VvZiBHcm91cFJvdztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cENoaWxkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yb3cgaW5zdGFuY2VvZiBDaGlsZFJvdztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cEZvb3RlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcm93IGluc3RhbmNlb2YgR3JvdXBGb290ZXJSb3c7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmVudCgpOiBHcm91cFJvdyB7XG4gICAgcmV0dXJuICh0aGlzLl9yb3cgYXMgQ2hpbGRSb3cpLnBhcmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpbGRyZW4oKTogKENoaWxkUm93IHwgR3JvdXBGb290ZXJSb3cpW10ge1xuICAgIHJldHVybiAodGhpcy5fcm93IGFzIEdyb3VwUm93KS5jaGlsZHJlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKSB7XG4gICAgcmV0dXJuICh0aGlzLl9yb3cgYXMgR3JvdXBSb3cpLmV4cGFuZGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBleHBhbmRlZCQoKSB7XG4gICAgcmV0dXJuICh0aGlzLl9yb3cgYXMgR3JvdXBSb3cpLmV4cGFuZGVkJDtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDaGlsZHJlbkluZGV4ZXMoKSB7XG4gICAgKHRoaXMuX3JvdyBhcyBHcm91cFJvdykudXBkYXRlQ2hpbGRyZW5JbmRleGVzKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUm93RXhwYW5kU3RhdHVzKCkge1xuICAgICh0aGlzLl9yb3cgYXMgR3JvdXBSb3cpLnRvZ2dsZVJvd0V4cGFuZFN0YXR1cygpO1xuICB9XG5cbiAgcHVibGljIGdldFJlb3JkZXJEYXRhKCk6IEZzTGlzdFJlb3JkZXJEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fcm93LmdldFJlb3JkZXJEYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9yb3cuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
|