@firestitch/list 18.0.40 → 18.0.42

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.
Files changed (34) hide show
  1. package/app/classes/data-controller.d.ts +1 -1
  2. package/app/components/body/row/cell/cell.component.d.ts +6 -5
  3. package/app/components/body/row/row.component.d.ts +9 -10
  4. package/app/components/head/head.component.d.ts +2 -1
  5. package/app/models/row/_base-row.d.ts +30 -0
  6. package/app/models/row/child-row.d.ts +18 -7
  7. package/app/models/row/group-footer-row.d.ts +14 -7
  8. package/app/models/row/group-row.d.ts +21 -11
  9. package/app/models/row/simple-row.d.ts +8 -3
  10. package/app/models/row.d.ts +13 -33
  11. package/esm2022/app/classes/data-controller.mjs +25 -31
  12. package/esm2022/app/classes/list-controller.mjs +2 -1
  13. package/esm2022/app/classes/selection-controller.mjs +8 -7
  14. package/esm2022/app/components/body/row/actions/actions.component.mjs +1 -2
  15. package/esm2022/app/components/body/row/cell/cell.component.mjs +44 -38
  16. package/esm2022/app/components/body/row/inline-action/inline-action.component.mjs +1 -2
  17. package/esm2022/app/components/body/row/menu-action/menu-action.component.mjs +1 -2
  18. package/esm2022/app/components/body/row/row.component.mjs +54 -59
  19. package/esm2022/app/components/footer/footer-row/footer-row.component.mjs +3 -3
  20. package/esm2022/app/components/head/head.component.mjs +4 -3
  21. package/esm2022/app/components/list/list.component.mjs +3 -3
  22. package/esm2022/app/directives/draggable-list/draggable-list.directive.mjs +5 -4
  23. package/esm2022/app/directives/draggable-row/draggable-row.directive.mjs +4 -4
  24. package/esm2022/app/models/row/_base-row.mjs +43 -0
  25. package/esm2022/app/models/row/child-row.mjs +14 -10
  26. package/esm2022/app/models/row/group-footer-row.mjs +11 -7
  27. package/esm2022/app/models/row/group-row.mjs +16 -20
  28. package/esm2022/app/models/row/simple-row.mjs +5 -5
  29. package/esm2022/app/models/row.mjs +26 -82
  30. package/fesm2022/firestitch-list.mjs +523 -549
  31. package/fesm2022/firestitch-list.mjs.map +1 -1
  32. package/package.json +1 -1
  33. package/app/models/row/base-row.d.ts +0 -13
  34. package/esm2022/app/models/row/base-row.mjs +0 -25
@@ -1,45 +1,41 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
- import { BaseRow } from './base-row';
2
+ import { BaseRow } from './_base-row';
3
3
  import { RowType } from '../../enums/row-type.enum';
4
4
  export class GroupRow extends BaseRow {
5
- children = [];
5
+ _rowType = RowType.Group;
6
+ _children = [];
6
7
  _expanded = new BehaviorSubject(false);
7
8
  constructor(data = {}, initialExpand = false) {
8
- super(data, RowType.Group);
9
+ super(data);
9
10
  if (initialExpand) {
10
11
  this._expanded.next(initialExpand);
11
12
  }
12
13
  }
14
+ get children() {
15
+ return this._children;
16
+ }
13
17
  get childrenData() {
14
- return this.children
18
+ return this._children
15
19
  .map((child) => child.data);
16
20
  }
17
- get isGroup() {
18
- return true;
19
- }
20
21
  get expanded() {
21
22
  return this._expanded.getValue();
22
23
  }
23
24
  get expanded$() {
24
25
  return this._expanded.asObservable();
25
26
  }
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
27
  toggleRowExpandStatus() {
37
28
  this._expanded.next(!this.expanded);
38
- this.updateChildrenVisibility();
29
+ this._updateChildrenVisibility();
39
30
  }
40
31
  destroy() {
41
- this.children.forEach((child) => child.destroy());
32
+ this._children.forEach((child) => child.destroy());
42
33
  this._expanded.complete();
43
34
  }
35
+ _updateChildrenVisibility() {
36
+ this._children.forEach((row) => {
37
+ row.visible = this.expanded;
38
+ });
39
+ }
44
40
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93L2dyb3VwLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXBELE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBTztJQUU1QixRQUFRLEdBQWtDLEVBQUUsQ0FBQztJQUVuQyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFakUsWUFDRSxPQUFZLEVBQUUsRUFDZCxhQUFhLEdBQUcsS0FBSztRQUVyQixLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDZixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuQyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx3QkFBd0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM1QixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0scUJBQXFCO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlUm93IH0gZnJvbSAnLi9iYXNlLXJvdyc7XG5pbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGlsZFJvdyB9IGZyb20gJy4vY2hpbGQtcm93JztcbmltcG9ydCB7IEdyb3VwRm9vdGVyUm93IH0gZnJvbSAnLi9ncm91cC1mb290ZXItcm93JztcblxuZXhwb3J0IGNsYXNzIEdyb3VwUm93IGV4dGVuZHMgQmFzZVJvdyB7XG5cbiAgcHVibGljIGNoaWxkcmVuOiAoQ2hpbGRSb3cgfCBHcm91cEZvb3RlclJvdylbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YTogYW55ID0ge30sXG4gICAgaW5pdGlhbEV4cGFuZCA9IGZhbHNlLFxuICApIHtcbiAgICBzdXBlcihkYXRhLCBSb3dUeXBlLkdyb3VwKTtcblxuICAgIGlmIChpbml0aWFsRXhwYW5kKSB7XG4gICAgICB0aGlzLl9leHBhbmRlZC5uZXh0KGluaXRpYWxFeHBhbmQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpbGRyZW5EYXRhKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuXG4gICAgICAgIC5tYXAoKGNoaWxkKSA9PiBjaGlsZC5kYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2hpbGRyZW5JbmRleGVzKCkge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgcm93LmluZGV4ID0gaW5kZXg7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ2hpbGRyZW5WaXNpYmlsaXR5KCkge1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICByb3cudmlzaWJsZSA9IHRoaXMuZXhwYW5kZWQ7XG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSb3dFeHBhbmRTdGF0dXMoKSB7XG4gICAgdGhpcy5fZXhwYW5kZWQubmV4dCghdGhpcy5leHBhbmRlZCk7XG5cbiAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuVmlzaWJpbGl0eSgpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gY2hpbGQuZGVzdHJveSgpKTtcbiAgICB0aGlzLl9leHBhbmRlZC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93L2dyb3VwLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBZXBELE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBc0I7SUFFL0IsUUFBUSxHQUFrQixPQUFPLENBQUMsS0FBSyxDQUFDO0lBRW5ELFNBQVMsR0FBb0MsRUFBRSxDQUFDO0lBRXZDLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUVqRSxZQUNFLE9BQWUsRUFBRSxFQUNqQixhQUFhLEdBQUcsS0FBSztRQUVyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDaEIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUdELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3QixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZVJvdywgSUJhc2VSb3cgfSBmcm9tICcuL19iYXNlLXJvdyc7XG5pbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJR3JvdXBGb290ZXJSb3cgfSBmcm9tICcuL2dyb3VwLWZvb3Rlci1yb3cnO1xuaW1wb3J0IHsgSUNoaWxkUm93IH0gZnJvbSAnLi9jaGlsZC1yb3cnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdyb3VwUm93IGV4dGVuZHMgSUJhc2VSb3cge1xuICB0eXBlOiBSb3dUeXBlLkdyb3VwO1xuXG4gIGNoaWxkcmVuRGF0YTogdW5rbm93bltdO1xuICBleHBhbmRlZDogYm9vbGVhbjtcbiAgZXhwYW5kZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICB0b2dnbGVSb3dFeHBhbmRTdGF0dXMoKTogdm9pZDtcbiAgY2hpbGRyZW46IChJQ2hpbGRSb3cgfCBJR3JvdXBGb290ZXJSb3cpW107XG59XG5cbmV4cG9ydCBjbGFzcyBHcm91cFJvdyBleHRlbmRzIEJhc2VSb3c8Um93VHlwZS5Hcm91cD4gaW1wbGVtZW50cyBJR3JvdXBSb3cge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfcm93VHlwZTogUm93VHlwZS5Hcm91cCA9IFJvd1R5cGUuR3JvdXA7XG5cbiAgcHJpdmF0ZSBfY2hpbGRyZW46IChJQ2hpbGRSb3cgfCBJR3JvdXBGb290ZXJSb3cpW10gPSBbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9leHBhbmRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGE6IG9iamVjdCA9IHt9LFxuICAgIGluaXRpYWxFeHBhbmQgPSBmYWxzZSxcbiAgKSB7XG4gICAgc3VwZXIoZGF0YSk7XG5cbiAgICBpZiAoaW5pdGlhbEV4cGFuZCkge1xuICAgICAgdGhpcy5fZXhwYW5kZWQubmV4dChpbml0aWFsRXhwYW5kKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaWxkcmVuKCk6IChJQ2hpbGRSb3cgfCBJR3JvdXBGb290ZXJSb3cpW10ge1xuICAgIHJldHVybiB0aGlzLl9jaGlsZHJlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpbGRyZW5EYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9jaGlsZHJlblxuICAgICAgICAubWFwKChjaGlsZCkgPT4gY2hpbGQuZGF0YSk7XG4gIH1cblxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUm93RXhwYW5kU3RhdHVzKCk6IHZvaWQge1xuICAgIHRoaXMuX2V4cGFuZGVkLm5leHQoIXRoaXMuZXhwYW5kZWQpO1xuXG4gICAgdGhpcy5fdXBkYXRlQ2hpbGRyZW5WaXNpYmlsaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gY2hpbGQuZGVzdHJveSgpKTtcblxuICAgIHRoaXMuX2V4cGFuZGVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVDaGlsZHJlblZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICByb3cudmlzaWJsZSA9IHRoaXMuZXhwYW5kZWQ7XG4gICAgfSlcbiAgfVxuXG59XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import { RowType } from '../../enums/row-type.enum';
2
- import { BaseRow } from './base-row';
2
+ import { BaseRow } from './_base-row';
3
3
  export class SimpleRow extends BaseRow {
4
+ _rowType = RowType.Simple;
4
5
  constructor(data = {}) {
5
- super(data, RowType.Simple);
6
- }
7
- destroy() {
6
+ super(data);
8
7
  }
8
+ destroy() { }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL3Jvdy9zaW1wbGUtcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxTQUFVLFNBQVEsT0FBTztJQUVwQyxZQUNFLE9BQVksRUFBRTtRQUVkLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFHTSxPQUFPO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm93VHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL3Jvdy10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBCYXNlUm93IH0gZnJvbSAnLi9iYXNlLXJvdyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU2ltcGxlUm93IGV4dGVuZHMgQmFzZVJvdyB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZGF0YTogYW55ID0ge30sXHJcbiAgKSB7XHJcbiAgICBzdXBlcihkYXRhLCBSb3dUeXBlLlNpbXBsZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL3Jvdy9zaW1wbGUtcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFZLE1BQU0sYUFBYSxDQUFDO0FBTWhELE1BQU0sT0FBTyxTQUFVLFNBQVEsT0FBdUI7SUFFMUMsUUFBUSxHQUFtQixPQUFPLENBQUMsTUFBTSxDQUFDO0lBRXBELFlBQVksT0FBZSxFQUFFO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFTSxPQUFPLEtBQVUsQ0FBQztDQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvd1R5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9yb3ctdHlwZS5lbnVtJztcbmltcG9ydCB7IEJhc2VSb3csIElCYXNlUm93IH0gZnJvbSAnLi9fYmFzZS1yb3cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTaW1wbGVSb3cgZXh0ZW5kcyBJQmFzZVJvdyB7XG4gIHR5cGU6IFJvd1R5cGUuU2ltcGxlO1xufVxuXG5leHBvcnQgY2xhc3MgU2ltcGxlUm93IGV4dGVuZHMgQmFzZVJvdzxSb3dUeXBlLlNpbXBsZT4gaW1wbGVtZW50cyBJU2ltcGxlUm93e1xuXG4gIHByb3RlY3RlZCBfcm93VHlwZTogUm93VHlwZS5TaW1wbGUgPSBSb3dUeXBlLlNpbXBsZTtcblxuICBjb25zdHJ1Y3RvcihkYXRhOiBvYmplY3QgPSB7fSkge1xuICAgIHN1cGVyKGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7fVxufVxuIl19
@@ -1,90 +1,34 @@
1
- import { Subject } from 'rxjs';
2
1
  import { RowType } from '../enums/row-type.enum';
3
2
  import { ChildRow } from './row/child-row';
4
3
  import { GroupFooterRow } from './row/group-footer-row';
5
4
  import { GroupRow } from './row/group-row';
6
5
  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;
6
+ export function isGroupRow(row) {
7
+ return row.type === RowType.Group;
8
+ }
9
+ export function isChildRow(row) {
10
+ return row.type === RowType.GroupChild;
11
+ }
12
+ export function isGroupFooterRow(row) {
13
+ return row.type === RowType.GroupFooter;
14
+ }
15
+ export function isChildTypeRow(row) {
16
+ return row.type === RowType.GroupChild || row.type === RowType.GroupFooter;
17
+ }
18
+ export function makeRowFactory(data, rowType, opts = {}) {
19
+ switch (rowType) {
20
+ case RowType.Simple: {
21
+ return new SimpleRow(data);
22
+ }
23
+ case RowType.Group: {
24
+ return new GroupRow(data, opts.initialExpand);
25
+ }
26
+ case RowType.GroupChild: {
27
+ return new ChildRow(data, opts.parent);
28
+ }
29
+ case RowType.GroupFooter: {
30
+ return new GroupFooterRow(data, opts.parent);
27
31
  }
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
32
  }
89
33
  }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxNQUFNLE9BQU8sR0FBRztJQUVOLElBQUksQ0FBb0M7SUFFeEMsZUFBZSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFeEMsWUFDRSxPQUFZLEVBQUUsRUFDZCxVQUFtQixPQUFPLENBQUMsTUFBTSxFQUNqQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEtBQXFELEVBQUU7UUFFOUUsUUFBUSxPQUFPLEVBQUUsQ0FBQztZQUNoQixLQUFLLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQUMsTUFBTTtZQUVSLEtBQUssT0FBTyxDQUFDLEtBQUs7Z0JBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7Z0JBQUMsTUFBTTtZQUVSLEtBQUssT0FBTyxDQUFDLFVBQVU7Z0JBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQUMsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFRLElBQUksQ0FBQyxJQUFpQixDQUFDLE9BQU8sQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxXQUFXLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLFlBQVksUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxZQUFZLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksWUFBWSxjQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQVEsSUFBSSxDQUFDLElBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBUSxJQUFJLENBQUMsSUFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFRLElBQUksQ0FBQyxJQUFpQixDQUFDLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQVEsSUFBSSxDQUFDLElBQWlCLENBQUMsU0FBUyxDQUFDO0lBQzNDLENBQUM7SUFFTSxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLElBQWlCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU0scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxJQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBGc0xpc3RSZW9yZGVyRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2hpbGRSb3cgfSBmcm9tICcuL3Jvdy9jaGlsZC1yb3cnO1xuaW1wb3J0IHsgR3JvdXBGb290ZXJSb3cgfSBmcm9tICcuL3Jvdy9ncm91cC1mb290ZXItcm93JztcbmltcG9ydCB7IEdyb3VwUm93IH0gZnJvbSAnLi9yb3cvZ3JvdXAtcm93JztcbmltcG9ydCB7IFNpbXBsZVJvdyB9IGZyb20gJy4vcm93L3NpbXBsZS1yb3cnO1xuXG5leHBvcnQgY2xhc3MgUm93IHtcblxuICBwcml2YXRlIF9yb3c6IChTaW1wbGVSb3cgfCBDaGlsZFJvdyB8IEdyb3VwUm93KTtcblxuICBwcml2YXRlIF9hY3Rpb25zVXBkYXRlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YTogYW55ID0ge30sXG4gICAgcm93VHlwZTogUm93VHlwZSA9IFJvd1R5cGUuU2ltcGxlLFxuICAgIHsgcGFyZW50LCBpbml0aWFsRXhwYW5kIH06IHsgcGFyZW50PzogR3JvdXBSb3csIGluaXRpYWxFeHBhbmQ/OiBib29sZWFuIH0gPSB7fSxcbiAgKSB7XG4gICAgc3dpdGNoIChyb3dUeXBlKSB7XG4gICAgICBjYXNlIFJvd1R5cGUuU2ltcGxlOiB7XG4gICAgICAgIHRoaXMuX3JvdyA9IG5ldyBTaW1wbGVSb3coZGF0YSk7XG4gICAgICB9IGJyZWFrO1xuXG4gICAgICBjYXNlIFJvd1R5cGUuR3JvdXA6IHtcbiAgICAgICAgdGhpcy5fcm93ID0gbmV3IEdyb3VwUm93KGRhdGEsIGluaXRpYWxFeHBhbmQpO1xuICAgICAgfSBicmVhaztcblxuICAgICAgY2FzZSBSb3dUeXBlLkdyb3VwQ2hpbGQ6IHtcbiAgICAgICAgdGhpcy5fcm93ID0gbmV3IENoaWxkUm93KGRhdGEsIHBhcmVudCk7XG4gICAgICB9IGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcm93LmluZGV4O1xuICB9XG5cbiAgcHVibGljIGdldCBhY3Rpb25zVXBkYXRlJCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zVXBkYXRlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25zVXBkYXRlKCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zVXBkYXRlJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHVibGljIHNldCBpbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcm93LmluZGV4ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWR5VG9Td2FwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yb3cucmVhZHlUb1N3YXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLl9yb3cgYXMgQ2hpbGRSb3cpLnZpc2libGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJlYWR5VG9Td2FwKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcm93LnJlYWR5VG9Td2FwID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGEoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fcm93LmRhdGE7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogUm93VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jvdy50eXBlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0dyb3VwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yb3cgaW5zdGFuY2VvZiBHcm91cFJvdztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cENoaWxkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yb3cgaW5zdGFuY2VvZiBDaGlsZFJvdztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNHcm91cEZvb3RlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcm93IGluc3RhbmNlb2YgR3JvdXBGb290ZXJSb3c7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmVudCgpOiBHcm91cFJvdyB7XG4gICAgcmV0dXJuICh0aGlzLl9yb3cgYXMgQ2hpbGRSb3cpLnBhcmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpbGRyZW4oKTogKENoaWxkUm93IHwgR3JvdXBGb290ZXJSb3cpW10ge1xuICAgIHJldHVybiAodGhpcy5fcm93IGFzIEdyb3VwUm93KS5jaGlsZHJlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKSB7XG4gICAgcmV0dXJuICh0aGlzLl9yb3cgYXMgR3JvdXBSb3cpLmV4cGFuZGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBleHBhbmRlZCQoKSB7XG4gICAgcmV0dXJuICh0aGlzLl9yb3cgYXMgR3JvdXBSb3cpLmV4cGFuZGVkJDtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDaGlsZHJlbkluZGV4ZXMoKSB7XG4gICAgKHRoaXMuX3JvdyBhcyBHcm91cFJvdykudXBkYXRlQ2hpbGRyZW5JbmRleGVzKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUm93RXhwYW5kU3RhdHVzKCkge1xuICAgICh0aGlzLl9yb3cgYXMgR3JvdXBSb3cpLnRvZ2dsZVJvd0V4cGFuZFN0YXR1cygpO1xuICB9XG5cbiAgcHVibGljIGdldFJlb3JkZXJEYXRhKCk6IEZzTGlzdFJlb3JkZXJEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fcm93LmdldFJlb3JkZXJEYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9yb3cuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBS3pELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBUTtJQUNqQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFRO0lBQ2pDLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBUTtJQUN2QyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFRO0lBQ3JDLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQztBQUM3RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsSUFBWSxFQUNaLE9BQWdCLEVBQ2hCLE9BQWtELEVBQUU7SUFFcEQsUUFBUSxPQUFPLEVBQUUsQ0FBQztRQUNoQixLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbkIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFtQixDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDekIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQW1CLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGlsZFJvdywgSUNoaWxkUm93IH0gZnJvbSAnLi9yb3cvY2hpbGQtcm93JztcbmltcG9ydCB7IEdyb3VwRm9vdGVyUm93LCBJR3JvdXBGb290ZXJSb3cgfSBmcm9tICcuL3Jvdy9ncm91cC1mb290ZXItcm93JztcbmltcG9ydCB7IEdyb3VwUm93LCBJR3JvdXBSb3cgfSBmcm9tICcuL3Jvdy9ncm91cC1yb3cnO1xuaW1wb3J0IHsgSVNpbXBsZVJvdywgU2ltcGxlUm93IH0gZnJvbSAnLi9yb3cvc2ltcGxlLXJvdyc7XG5cblxuZXhwb3J0IHR5cGUgUm93ID0gSVNpbXBsZVJvdyB8IElHcm91cFJvdyB8IElHcm91cEZvb3RlclJvdyB8IElDaGlsZFJvdztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBSb3cocm93OiBSb3cpOiByb3cgaXMgSUdyb3VwUm93IHtcbiAgcmV0dXJuIHJvdy50eXBlID09PSBSb3dUeXBlLkdyb3VwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZFJvdyhyb3c6IFJvdyk6IHJvdyBpcyBJQ2hpbGRSb3cge1xuICByZXR1cm4gcm93LnR5cGUgPT09IFJvd1R5cGUuR3JvdXBDaGlsZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBGb290ZXJSb3cocm93OiBSb3cpOiByb3cgaXMgSUdyb3VwRm9vdGVyUm93IHtcbiAgcmV0dXJuIHJvdy50eXBlID09PSBSb3dUeXBlLkdyb3VwRm9vdGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZFR5cGVSb3cocm93OiBSb3cpOiByb3cgaXMgSUNoaWxkUm93IHwgSUdyb3VwRm9vdGVyUm93IHtcbiAgcmV0dXJuIHJvdy50eXBlID09PSBSb3dUeXBlLkdyb3VwQ2hpbGQgfHwgcm93LnR5cGUgPT09IFJvd1R5cGUuR3JvdXBGb290ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlUm93RmFjdG9yeShcbiAgZGF0YTogb2JqZWN0LFxuICByb3dUeXBlOiBSb3dUeXBlLFxuICBvcHRzOiB7IHBhcmVudD86IFJvdywgaW5pdGlhbEV4cGFuZD86IGJvb2xlYW4gfSA9IHt9LFxuKTogUm93IHtcbiAgc3dpdGNoIChyb3dUeXBlKSB7XG4gICAgY2FzZSBSb3dUeXBlLlNpbXBsZToge1xuICAgICAgcmV0dXJuIG5ldyBTaW1wbGVSb3coZGF0YSk7XG4gICAgfVxuXG4gICAgY2FzZSBSb3dUeXBlLkdyb3VwOiB7XG4gICAgICByZXR1cm4gbmV3IEdyb3VwUm93KGRhdGEsIG9wdHMuaW5pdGlhbEV4cGFuZCk7XG4gICAgfVxuXG4gICAgY2FzZSBSb3dUeXBlLkdyb3VwQ2hpbGQ6IHtcbiAgICAgIHJldHVybiBuZXcgQ2hpbGRSb3coZGF0YSwgb3B0cy5wYXJlbnQgYXMgSUdyb3VwUm93KTtcbiAgICB9XG5cbiAgICBjYXNlIFJvd1R5cGUuR3JvdXBGb290ZXI6IHtcbiAgICAgIHJldHVybiBuZXcgR3JvdXBGb290ZXJSb3coZGF0YSwgb3B0cy5wYXJlbnQgYXMgSUdyb3VwUm93KTtcbiAgICB9XG4gIH1cbn1cblxuIl19