@stratusjs/angular 0.7.6 → 0.8.1

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 (50) hide show
  1. package/dist/angular.bundle.js +109 -1319
  2. package/dist/angular.bundle.min.js +1 -1
  3. package/package.json +2 -2
  4. package/src/core/dialog.interface.js.map +1 -0
  5. package/src/tree/tree-node.component.html +7 -8
  6. package/src/tree/tree-node.component.min.html +1 -1
  7. package/src/tree/tree.component.css +63 -5
  8. package/src/tree/tree.component.css.map +1 -1
  9. package/src/tree/tree.component.js +29 -16
  10. package/src/tree/tree.component.js.map +1 -1
  11. package/src/tree/tree.component.min.css +1 -1
  12. package/src/tree/tree.component.min.js +1 -1
  13. package/src/tree/tree.component.scss +131 -21
  14. package/src/tree/tree.component.ts +30 -14
  15. package/src/editor/quill-break-blot.plugin.js +0 -38
  16. package/src/editor/quill-break-blot.plugin.js.map +0 -1
  17. package/src/editor/quill-break-blot.plugin.min.js +0 -1
  18. package/src/editor/quill-html-edit.plugin.js +0 -164
  19. package/src/editor/quill-html-edit.plugin.js.map +0 -1
  20. package/src/editor/quill-html-edit.plugin.min.js +0 -1
  21. package/src/editor/quill-image-format.plugin.js +0 -50
  22. package/src/editor/quill-image-format.plugin.js.map +0 -1
  23. package/src/editor/quill-image-format.plugin.min.js +0 -1
  24. package/src/editor/quill-input-button.plugin.js +0 -98
  25. package/src/editor/quill-input-button.plugin.js.map +0 -1
  26. package/src/editor/quill-input-button.plugin.min.js +0 -1
  27. package/src/froala/editor/froala-editor.directive.js +0 -328
  28. package/src/froala/editor/froala-editor.directive.js.map +0 -1
  29. package/src/froala/editor/froala-editor.directive.min.js +0 -1
  30. package/src/froala/editor/froala-editor.module.js +0 -37
  31. package/src/froala/editor/froala-editor.module.js.map +0 -1
  32. package/src/froala/editor/froala-editor.module.min.js +0 -1
  33. package/src/froala/editor/index.js +0 -22
  34. package/src/froala/editor/index.js.map +0 -1
  35. package/src/froala/editor/index.min.js +0 -1
  36. package/src/froala/plugins/image_manager.js +0 -364
  37. package/src/froala/plugins/image_manager.js.map +0 -1
  38. package/src/froala/plugins/image_manager.min.js +0 -1
  39. package/src/froala/view/froala-view.directive.js +0 -49
  40. package/src/froala/view/froala-view.directive.js.map +0 -1
  41. package/src/froala/view/froala-view.directive.min.js +0 -1
  42. package/src/froala/view/froala-view.module.js +0 -37
  43. package/src/froala/view/froala-view.module.js.map +0 -1
  44. package/src/froala/view/froala-view.module.min.js +0 -1
  45. package/src/froala/view/index.js +0 -22
  46. package/src/froala/view/index.js.map +0 -1
  47. package/src/froala/view/index.min.js +0 -1
  48. package/src/root/root.component.js +0 -43
  49. package/src/root/root.component.js.map +0 -1
  50. package/src/root/root.component.min.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stratusjs/angular",
3
- "version": "0.7.6",
3
+ "version": "0.8.1",
4
4
  "description": "This is the angular package for StratusJS.",
5
5
  "scripts": {},
6
6
  "repository": {
@@ -57,7 +57,7 @@
57
57
  "@angular/router": "^12.2.16",
58
58
  "@codemirror/lang-html": "^6.4.0",
59
59
  "@stratusjs/boot": "^0.4.0",
60
- "@stratusjs/core": "^0.5.2",
60
+ "@stratusjs/core": "^0.6.2",
61
61
  "@stratusjs/runtime": "^0.12.1",
62
62
  "angular-froala-wysiwyg": "^3.2.7",
63
63
  "codemirror": "^6.0.1",
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dialog.interface.ts"],"names":[],"mappings":"","file":"dialog.interface.js"}
@@ -5,19 +5,18 @@
5
5
 
6
6
  <div class="tree-node-content"
7
7
  [class.display-none]="parent && !isExpanded(parent)"
8
+ [class.border]="tree.isBorder"
8
9
  [attr.data-id]="node.id"
9
10
  [attr.id]="'node-'+node.id">
10
11
 
11
- <!-- use a disabled button to provide padding for tree leaf -->
12
- <a mat-icon-button
13
- class="hover-box"
14
- *ngIf="!hasChild(node)"
15
- disabled>
16
- </a>
12
+ <!-- use a span to provide padding for tree leaf -->
13
+ <span class="mat-button-placeholder"
14
+ *ngIf="!hasChild(node)">
15
+ &nbsp;
16
+ </span>
17
17
 
18
18
  <!-- use a regular button to control expandable nodes -->
19
19
  <a mat-icon-button
20
- class="hover-box"
21
20
  *ngIf="hasChild(node)"
22
21
  (click)="toggleExpandedClick(node)"
23
22
  (dblclick)="toggleExpandedDblClick(node)"
@@ -71,7 +70,7 @@
71
70
  {{node.model.get('url') || node.model.get('route') || 'No route set!'}}
72
71
  </small>
73
72
 
74
- <span class="hover-show position-absolute svg-grey">
73
+ <span class="hover-box hover-show position-absolute svg-grey">
75
74
  <a mat-button
76
75
  (click)="openDialogClick(node)"
77
76
  (dblclick)="openDialogDblClick(node)">
@@ -1 +1 @@
1
- <div class="tree-node-content" [class.display-none]="parent && !isExpanded(parent)" [attr.data-id]="node.id" [attr.id]="'node-'+node.id"><a mat-icon-button class="hover-box" *ngIf="!hasChild(node)" disabled="disabled"></a><a mat-icon-button class="hover-box" *ngIf="hasChild(node)" (click)="toggleExpandedClick(node)" (dblclick)="toggleExpandedDblClick(node)" [attr.aria-label]="'toggle ' + getName(node)"><mat-icon class="mat-icon-rtl-mirror">{{isExpanded(node) ? 'expand_more' : 'chevron_right'}}</mat-icon></a><mat-icon class="type-icon hover-box" aria-hidden="true" *ngIf="node.model.get('content.contentType.iconResourcePath')" [svgIcon]="getSvg(Stratus.BaseUrl + node.model.get('content.contentType.iconResourcePath')) | async"></mat-icon><mat-icon class="type-icon hover-box" aria-hidden="true" *ngIf="!node.model.get('content.contentType.iconResourcePath')" [svgIcon]="getSvg(Stratus.BaseUrl + 'sitetheorycore/images/menuTypeIcon/default.svg') | async"></mat-icon><span cdkDragPlaceholder class="node-name hover-box" [attr.data-id]="node.id" [attr.id]="'node-'+node.id" [class.visibility-off]="node.model.get('status') === 0" [innerHTML]="getName(node)" (click)="openDialogClick(node)" (dblclick)="openDialogDblClick(node)"></span><small class="hover-box" [class.route-none]="!node.model.get('route')" [class.type-none]="!node.model.get('content.contentType.iconResourcePath')">{{node.model.get('url') || node.model.get('route') || 'No route set!'}} </small><span class="hover-show position-absolute svg-grey"><a mat-button (click)="openDialogClick(node)" (dblclick)="openDialogDblClick(node)"><mat-icon svgIcon="tree_edit" aria-hidden="false" aria-label="Edit Item">Edit</mat-icon></a><a mat-button (click)="destroy()"><mat-icon svgIcon="tree_delete" aria-hidden="false" aria-label="Delete Item">Delete</mat-icon></a><a mat-button [class.visibility-off]="node.model.get('status') === 0" (click)="toggleStatus()"><mat-icon svgIcon="tree_visibility" aria-hidden="false" aria-label="Toggle Visibility">Visibility</mat-icon></a><a mat-button [disabled]="!node.model.id" (click)="addChild()"><mat-icon svgIcon="tree_add" aria-hidden="false" aria-label="Add Child">Add Child</mat-icon></a></span><div cdkDropList [id]="tree.uid + '_node_' + node.id + '_drop_list'" [cdkDropListConnectedTo]="tree.dropLists" [cdkDropListData]="node" [cdkDropListDisabled]="false" (cdkDropListDropped)="tree.onDragDrop($event)" [cdkDropListSortingDisabled]="tree.cdkDropListSortingDisabled" class="tree-node-drop-list"><sa-tree-node cdkDrag *ngFor="let child of node.children" (cdkDragMoved)="tree.onDragMove($event)" [cdkDragData]="child" [tree]="tree" [parent]="node" [node]="child" class="tree-node"></sa-tree-node></div></div>
1
+ <div class="tree-node-content" [class.display-none]="parent && !isExpanded(parent)" [class.border]="tree.isBorder" [attr.data-id]="node.id" [attr.id]="'node-'+node.id"><span class="mat-button-placeholder" *ngIf="!hasChild(node)">&nbsp; </span><a mat-icon-button *ngIf="hasChild(node)" (click)="toggleExpandedClick(node)" (dblclick)="toggleExpandedDblClick(node)" [attr.aria-label]="'toggle ' + getName(node)"><mat-icon class="mat-icon-rtl-mirror">{{isExpanded(node) ? 'expand_more' : 'chevron_right'}}</mat-icon></a><mat-icon class="type-icon hover-box" aria-hidden="true" *ngIf="node.model.get('content.contentType.iconResourcePath')" [svgIcon]="getSvg(Stratus.BaseUrl + node.model.get('content.contentType.iconResourcePath')) | async"></mat-icon><mat-icon class="type-icon hover-box" aria-hidden="true" *ngIf="!node.model.get('content.contentType.iconResourcePath')" [svgIcon]="getSvg(Stratus.BaseUrl + 'sitetheorycore/images/menuTypeIcon/default.svg') | async"></mat-icon><span cdkDragPlaceholder class="node-name hover-box" [attr.data-id]="node.id" [attr.id]="'node-'+node.id" [class.visibility-off]="node.model.get('status') === 0" [innerHTML]="getName(node)" (click)="openDialogClick(node)" (dblclick)="openDialogDblClick(node)"></span><small class="hover-box" [class.route-none]="!node.model.get('route')" [class.type-none]="!node.model.get('content.contentType.iconResourcePath')">{{node.model.get('url') || node.model.get('route') || 'No route set!'}} </small><span class="hover-box hover-show position-absolute svg-grey"><a mat-button (click)="openDialogClick(node)" (dblclick)="openDialogDblClick(node)"><mat-icon svgIcon="tree_edit" aria-hidden="false" aria-label="Edit Item">Edit</mat-icon></a><a mat-button (click)="destroy()"><mat-icon svgIcon="tree_delete" aria-hidden="false" aria-label="Delete Item">Delete</mat-icon></a><a mat-button [class.visibility-off]="node.model.get('status') === 0" (click)="toggleStatus()"><mat-icon svgIcon="tree_visibility" aria-hidden="false" aria-label="Toggle Visibility">Visibility</mat-icon></a><a mat-button [disabled]="!node.model.id" (click)="addChild()"><mat-icon svgIcon="tree_add" aria-hidden="false" aria-label="Add Child">Add Child</mat-icon></a></span><div cdkDropList [id]="tree.uid + '_node_' + node.id + '_drop_list'" [cdkDropListConnectedTo]="tree.dropLists" [cdkDropListData]="node" [cdkDropListDisabled]="false" (cdkDropListDropped)="tree.onDragDrop($event)" [cdkDropListSortingDisabled]="tree.cdkDropListSortingDisabled" class="tree-node-drop-list"><sa-tree-node cdkDrag *ngFor="let child of node.children" (cdkDragMoved)="tree.onDragMove($event)" [cdkDragData]="child" [tree]="tree" [parent]="node" [node]="child" class="tree-node"></sa-tree-node></div></div>
@@ -23,33 +23,67 @@
23
23
  position: relative;
24
24
  float: right;
25
25
  }
26
- .tree .drop-inside {
26
+ .tree .cdk-drop-list-dragging .drop-inside {
27
27
  border: 2px solid #00b7ff !important;
28
28
  }
29
- .tree .drop-before {
29
+ .tree .cdk-drop-list-dragging .drop-before {
30
30
  border-top: 2px solid #00b7ff !important;
31
31
  }
32
- .tree .drop-after {
32
+ .tree .cdk-drop-list-dragging .drop-after {
33
33
  border-bottom: 2px solid #00b7ff !important;
34
34
  }
35
35
  .tree .tree-node {
36
- display: block;
36
+ display: grid;
37
+ vertical-align: middle;
38
+ place-content: center start;
37
39
  cursor: move;
38
40
  }
39
41
  .tree .tree-node a, .tree .tree-node mat-button, .tree .tree-node mat-icon-button {
40
42
  cursor: pointer;
41
43
  }
44
+ .tree .tree-node .hover-box {
45
+ padding-right: 0.5rem;
46
+ }
42
47
  .tree .tree-node .hover-box:hover ~ .hover-show {
43
48
  display: unset;
44
49
  }
45
50
  .tree .tree-node .hover-show {
46
51
  display: none;
52
+ padding-bottom: 1rem;
53
+ padding-right: 5rem;
47
54
  }
48
55
  .tree .tree-node .hover-show:hover {
49
56
  display: unset;
50
57
  }
51
58
  .tree .tree-node .tree-node {
52
- padding-left: 40px;
59
+ padding-left: 2.5rem;
60
+ }
61
+ .tree .tree-node .tree-node .tree-node-content {
62
+ padding-top: 0.25rem;
63
+ padding-bottom: 0.25rem;
64
+ }
65
+ .tree .tree-node .tree-node .tree-node-content .node-name {
66
+ font-size: 10pt;
67
+ }
68
+ .tree .tree-node .tree-node-content {
69
+ padding-top: 1rem;
70
+ padding-bottom: 1rem;
71
+ padding-right: 0.5rem;
72
+ }
73
+ .tree .tree-node .tree-node-content.border {
74
+ border: dashed 1px #ccc;
75
+ }
76
+ .tree .tree-node .tree-node-content .node-name {
77
+ font-weight: bold;
78
+ font-size: 15pt;
79
+ padding-right: 0.5rem;
80
+ }
81
+ .tree .tree-node .tree-node-content .mat-button-placeholder {
82
+ display: inline-block;
83
+ width: 40px;
84
+ height: 40px;
85
+ vertical-align: baseline;
86
+ line-height: 40px;
53
87
  }
54
88
  .tree .tree-node .tree-node-content .visibility-off {
55
89
  opacity: 0.5;
@@ -67,6 +101,30 @@
67
101
  .tree .tree-node .tree-node-content .mat-button-disabled {
68
102
  height: 24px;
69
103
  }
104
+ .tree .tree-node.cdk-drop-list-dragging .tree-node:not(.cdk-drag-placeholder) {
105
+ transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
106
+ }
107
+ .tree .cdk-drop-list-dragging .hover-show {
108
+ display: none !important;
109
+ }
110
+ .cdk-drag-preview {
111
+ box-sizing: border-box;
112
+ border-radius: 4px;
113
+ padding: 0 !important;
114
+ }
115
+ .cdk-drag-preview .hover-show {
116
+ display: none !important;
117
+ }
118
+ .cdk-drag-placeholder {
119
+ opacity: 50%;
120
+ }
121
+ .cdk-drag-placeholder .hover-show {
122
+ display: none !important;
123
+ }
124
+ .cdk-drag-placeholder .tree-node-drop-list {
125
+ display: none !important;
126
+ }
127
+
70
128
  .tree-dialog-content .form-field {
71
129
  width: 320px;
72
130
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/angular/src/tree/tree.component.scss"],"names":[],"mappings":"AAAA;AAMI;EACE;;AAIF;EACE;;AAKF;EACE;;AAIF;EACE;;AAIF;EACE;;AAGJ;EACE;EACA;EACA;;AAEF;EACE;EACA;;AAGA;EACE;;AAIF;EACE;;AAIF;EACE;;AAKJ;EAEE;EASA;;AACA;EACE;;AAIA;EACE;;AAEF;EACE;;AACA;EACE;;AAKN;EACE;;AAIA;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AA4GN;EACE;;AAEF;EACE;;AAQA;EAEE;;AAKF;EACE","file":"tree.component.css","sourcesContent":["/* Based on Angular Material 8+ */\n.tree {\n //margin: 0 25px 25px 0;\n //display: inline-block;\n //vertical-align: top;\n .display {\n &-none {\n display: none;\n }\n }\n .position {\n &-absolute {\n position: absolute;\n }\n }\n // SVG Colors\n .svg-grey {\n svg g {\n fill: #666666;\n }\n }\n .visibility-off {\n svg g {\n fill: #FF5B3A;\n }\n }\n .full {\n &-width {\n width: 100%;\n }\n }\n ul, li {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n }\n .float-right {\n position: relative;\n float: right;\n }\n .drop {\n &-inside {\n border: 2px solid #00b7ff !important;\n //padding-top: 5px;\n //padding-bottom: 5px;\n }\n &-before {\n border-top: 2px solid #00b7ff !important;\n //padding-top: 5px;\n //padding-bottom: 5px;\n }\n &-after {\n border-bottom: 2px solid #00b7ff !important;\n //padding-top: 5px;\n //padding-bottom: 5px;\n }\n }\n .tree-node {\n // We have to use 'block' since 'flex' makes the Drag & Drop even more inaccurate\n display: block;\n //padding: 20px 10px;\n //border-bottom: solid 1px #ccc;\n //color: rgba(0, 0, 0, 0.87);\n //display: flex;\n //flex-direction: row;\n //align-items: center;\n //justify-content: space-between;\n //box-sizing: border-box;\n cursor: move;\n a, mat-button, mat-icon-button {\n cursor: pointer;\n }\n // only show certain elements on hover\n .hover {\n &-box:hover ~ .hover-show {\n display: unset;\n }\n &-show {\n display: none;\n &:hover {\n display: unset;\n }\n }\n }\n\n .tree-node { // be explicit for child padding\n padding-left: 40px;\n //border-left: dashed 1px #222222;\n }\n .tree-node-content {\n .visibility-off {\n opacity: 0.5;\n }\n .type-icon {\n height: 15px;\n width: 22px;\n }\n .type-none {\n padding-left: 6px;\n }\n .route-none {\n color: #FF5B3A;\n }\n .mat-button-disabled {\n height: 24px;\n }\n }\n &-drag {\n &-preview {\n //box-sizing: border-box;\n //border-radius: 4px;\n //padding: 10px;\n //box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);\n }\n }\n &-drop-list {\n //border: solid 1px #ccc;\n //min-height: 20px;\n //border-radius: 4px;\n //overflow: hidden;\n //display: block;\n }\n &.cdk-drop-list-dragging {\n .tree-node:not(.cdk-drag-placeholder) {\n //transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n }\n &:last-child {\n //border: none;\n }\n }\n .cdk {\n &-drag {\n &-preview {\n //box-sizing: border-box;\n //border-radius: 4px;\n //box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n //0 8px 10px 1px rgba(0, 0, 0, 0.14),\n //0 3px 14px 2px rgba(0, 0, 0, 0.12);\n }\n &-placeholder {\n //opacity: 0;\n }\n &-animating {\n //transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n }\n &-drop-list {\n &-dragging {\n //min-width: 100px;\n //min-height: 20px;\n //border-style: dashed !important;\n //border-radius: 4px !important;\n //background: lightgreen !important;\n //.tree-node-drop-list {\n // min-width: 100px;\n // min-height: 20px;\n // border-style: dashed !important;\n // border-radius: 4px !important;\n //}\n //&.tree-node-drop-list {\n // min-width: 100px;\n // min-height: 20px;\n // border-style: dashed !important;\n // border-radius: 4px !important;\n //}\n }\n &-receiving {\n //min-width: 100px;\n //min-height: 20px;\n //border-style: dashed !important;\n //border-radius: 4px !important;\n //background: lightyellow !important;\n .tree-node-drop-list {\n //min-width: 100px;\n //min-height: 20px;\n //border-style: dashed !important;\n //border-radius: 4px !important;\n //background: lightcyan !important;\n }\n &.tree-node-drop-list {\n //min-width: 100px;\n //min-height: 20px;\n //border-style: dashed !important;\n //border-radius: 4px !important;\n //background: lightsalmon !important;\n }\n }\n }\n }\n}\n//.tree-node {\n// z-index: 994;\n// .tree-node {\n// z-index: 995;\n// .tree-node {\n// z-index: 996;\n// .tree-node {\n// z-index: 997;\n// .tree-node {\n// z-index: 998;\n// .tree-node {\n// z-index: 999;\n// }\n// }\n// }\n// }\n// }\n//}\n\n// Tree Dialog\n.tree-dialog-content {\n .form-field {\n width: 320px;\n }\n .dialog-form {\n margin-top: 20px;\n }\n .radio {\n &-group {\n //display: flex;\n //flex-direction: column;\n //margin: 15px 0;\n }\n &-button {\n //margin: 5px;\n padding: 0 5px;\n }\n }\n // SVG Colors\n .svg-grey {\n svg g {\n fill: #666666;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["packages/angular/src/tree/tree.component.scss"],"names":[],"mappings":"AAAA;AAMI;EACE;;AAIF;EACE;;AAKF;EACE;;AAIF;EACE;;AAIF;EACE;;AAGJ;EACE;EACA;EACA;;AAEF;EACE;EACA;;AAKE;EACE;;AAIF;EACE;;AAIF;EACE;;AAMN;EAKE;EASA;EACA;EAcA;;AAeA;EACE;;AAIA;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAKN;EAEE;;AACA;EACE;EACA;;AACA;EACE;;AAON;EAkBE;EACA;EACA;;AAlBA;EACE;;AAEF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AASF;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAmBF;EACE;;AA2CA;EACE;;AAiDN;EACE;EACA;EAIA;;AACA;EACE;;AAIJ;EACE;;AAEA;EACE;;AAGF;EACE;;;AAWN;EACE;;AAEF;EACE;;AAQA;EAEE;;AAKF;EACE","file":"tree.component.css","sourcesContent":["/* Based on Angular Material 8+ */\n.tree {\n //margin: 0 25px 25px 0;\n //display: inline-block;\n //vertical-align: top;\n .display {\n &-none {\n display: none;\n }\n }\n .position {\n &-absolute {\n position: absolute;\n }\n }\n // SVG Colors\n .svg-grey {\n svg g {\n fill: #666666;\n }\n }\n .visibility-off {\n svg g {\n fill: #FF5B3A;\n }\n }\n .full {\n &-width {\n width: 100%;\n }\n }\n ul, li {\n margin-top: 0;\n margin-bottom: 0;\n list-style-type: none;\n }\n .float-right {\n position: relative;\n float: right;\n }\n // Drop Location Borders (Only while Dragging)\n .cdk-drop-list-dragging {\n .drop {\n &-inside {\n border: 2px solid #00b7ff !important;\n //padding-top: 5px;\n //padding-bottom: 5px;\n }\n &-before {\n border-top: 2px solid #00b7ff !important;\n //padding-top: 5px;\n //padding-bottom: 5px;\n }\n &-after {\n border-bottom: 2px solid #00b7ff !important;\n //padding-top: 5px;\n //padding-bottom: 5px;\n }\n }\n }\n .tree-node {\n // We have to use 'block' since 'flex' makes the Drag & Drop even more inaccurate\n //display: block;\n\n // Grid works better for alignment and Drag & Drop calculations\n display: grid;\n\n // Padding Options\n //padding-top: .225rem;\n //padding-bottom: .225rem;\n //padding: 20px 10px;\n\n // Height & Alignment\n //min-height: 2.5rem;\n vertical-align: middle;\n place-content: center start;\n\n //color: rgba(0, 0, 0, 0.87);\n\n // Flex Design (Doesn't work well with Drag & Drop(\n //display: flex;\n //flex-direction: row;\n\n // Flex Alignment\n //align-items: center;\n //justify-content: space-between;\n //box-sizing: border-box;\n\n // Cursor\n cursor: move;\n\n // Alternate Indentation Calculations\n //&:before {\n // position: absolute;\n // top: 15px;\n // left: 0;\n // width: 10px;\n // height: 1px;\n // margin: auto;\n // content: '';\n // background-color: #666;\n //}\n\n // Material Buttons\n a, mat-button, mat-icon-button {\n cursor: pointer;\n }\n // only show certain elements on hover\n .hover {\n &-box {\n padding-right: 0.5rem;\n }\n &-box:hover ~ .hover-show {\n display: unset;\n }\n &-show {\n display: none;\n padding-bottom: 1rem;\n padding-right: 5rem;\n &:hover {\n display: unset;\n }\n }\n }\n\n .tree-node {\n // be explicit for child padding\n padding-left: 2.5rem;\n .tree-node-content {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n .node-name {\n font-size: 10pt;\n }\n }\n\n // Debug Child Borders\n //border: dashed 1px #ccc;\n }\n .tree-node-content {\n // Cell Borders\n &.border {\n border: dashed 1px #ccc;\n }\n .node-name {\n font-weight: bold;\n font-size: 15pt;\n padding-right: 0.5rem;\n }\n // this maintains alignment for parents without children\n .mat-button-placeholder {\n display: inline-block;\n width: 40px;\n height: 40px;\n vertical-align: baseline;\n line-height: 40px;\n }\n padding-top: 1rem;\n padding-bottom: 1rem;\n padding-right: 0.5rem;\n //.mat-icon-button {\n // width: auto;\n // height: auto;\n //}\n .visibility-off {\n opacity: 0.5;\n }\n .type-icon {\n height: 15px;\n width: 22px;\n }\n .type-none {\n padding-left: 6px;\n }\n .route-none {\n color: #FF5B3A;\n }\n .mat-button-disabled {\n height: 24px;\n }\n }\n &-drag {\n &-preview {\n //box-sizing: border-box;\n //border-radius: 4px;\n //padding: 10px;\n //box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);\n }\n }\n &-drop-list {\n //border: solid 1px #ccc;\n //min-height: 20px;\n //border-radius: 4px;\n //overflow: hidden;\n //display: block;\n }\n &.cdk-drop-list-dragging {\n .tree-node:not(.cdk-drag-placeholder) {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n }\n &:last-child {\n //border: none;\n }\n }\n .cdk {\n // NOTE: Much of these Drag Selectors won't work, since this element gets pulled out of the Tree Element when being dragged.\n &-drag {\n &-preview {\n //box-sizing: border-box;\n //border-radius: 4px;\n //box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n //0 8px 10px 1px rgba(0, 0, 0, 0.14),\n //0 3px 14px 2px rgba(0, 0, 0, 0.12);\n }\n &-placeholder {\n //opacity: 0;\n }\n &-animating {\n //transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n }\n &-drop-list {\n &-dragging {\n //min-width: 100px;\n //min-height: 20px;\n //border-style: dashed !important;\n //border-radius: 4px !important;\n //background: lightgreen !important;\n //.tree-node-drop-list {\n // min-width: 100px;\n // min-height: 20px;\n // border-style: dashed !important;\n // border-radius: 4px !important;\n //}\n //&.tree-node-drop-list {\n // min-width: 100px;\n // min-height: 20px;\n // border-style: dashed !important;\n // border-radius: 4px !important;\n //}\n .hover-show {\n display: none !important;\n }\n }\n &-receiving {\n //min-width: 100px;\n //min-height: 20px;\n //border-style: dashed !important;\n //border-radius: 4px !important;\n //background: lightyellow !important;\n .tree-node-drop-list {\n //min-width: 100px;\n //min-height: 20px;\n //border-style: dashed !important;\n //border-radius: 4px !important;\n //background: lightcyan !important;\n }\n &.tree-node-drop-list {\n //min-width: 100px;\n //min-height: 20px;\n //border-style: dashed !important;\n //border-radius: 4px !important;\n //background: lightsalmon !important;\n }\n }\n }\n }\n}\n//.tree-node {\n// z-index: 994;\n// .tree-node {\n// z-index: 995;\n// .tree-node {\n// z-index: 996;\n// .tree-node {\n// z-index: 997;\n// .tree-node {\n// z-index: 998;\n// .tree-node {\n// z-index: 999;\n// }\n// }\n// }\n// }\n// }\n//}\n\n// NOTE: CDK Drag needs to be outside .tree, since this element gets pulled out of the Tree Element when being dragged.\n.cdk {\n &-drag {\n &-preview {\n box-sizing: border-box;\n border-radius: 4px;\n //box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n //0 8px 10px 1px rgba(0, 0, 0, 0.14),\n //0 3px 14px 2px rgba(0, 0, 0, 0.12);\n padding: 0 !important;\n .hover-show {\n display: none !important;\n }\n }\n // Dragging Placeholder\n &-placeholder {\n opacity: 50%;\n // Hide Hover Buttons\n .hover-show {\n display: none !important;\n }\n // Hide Children\n .tree-node-drop-list {\n display: none !important;\n }\n }\n //&-animating {\n // transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n //}\n }\n}\n\n// Tree Dialog\n.tree-dialog-content {\n .form-field {\n width: 320px;\n }\n .dialog-form {\n margin-top: 20px;\n }\n .radio {\n &-group {\n //display: flex;\n //flex-direction: column;\n //margin: 15px 0;\n }\n &-button {\n //margin: 5px;\n padding: 0 5px;\n }\n }\n // SVG Colors\n .svg-grey {\n svg g {\n fill: #666666;\n }\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree", "@angular/platform-browser", "@angular/material/icon", "rxjs", "@stratusjs/runtime/stratus", "lodash", "@agentepsilon/decko", "../core/root.component", "../backend.service", "@stratusjs/angularjs/services/registry", "@stratusjs/core/environment", "@stratusjs/core/events/eventManager", "@angular/common"], function (exports_1, context_1) {
1
+ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree", "@angular/platform-browser", "@angular/material/icon", "rxjs", "@stratusjs/runtime/stratus", "lodash", "@agentepsilon/decko", "../core/root.component", "../backend.service", "@stratusjs/angularjs/services/registry", "@stratusjs/core/events/eventManager", "@stratusjs/core/environment", "@stratusjs/core/misc", "@angular/common"], function (exports_1, context_1) {
2
2
  "use strict";
3
3
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
4
4
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -12,7 +12,7 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
12
12
  var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  return function (target, key) { decorator(target, key, paramIndex); }
14
14
  };
15
- var core_1, drag_drop_1, tree_1, platform_browser_1, icon_1, rxjs_1, stratus_1, lodash_1, decko_1, root_component_1, backend_service_1, registry_1, environment_1, eventManager_1, common_1, systemDir, moduleName, min, localDir, TreeComponent;
15
+ var core_1, drag_drop_1, tree_1, platform_browser_1, icon_1, rxjs_1, stratus_1, lodash_1, decko_1, root_component_1, backend_service_1, registry_1, eventManager_1, environment_1, misc_1, common_1, systemDir, moduleName, min, localDir, TreeComponent;
16
16
  var __moduleName = context_1 && context_1.id;
17
17
  return {
18
18
  setters: [
@@ -52,11 +52,14 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
52
52
  function (registry_1_1) {
53
53
  registry_1 = registry_1_1;
54
54
  },
55
+ function (eventManager_1_1) {
56
+ eventManager_1 = eventManager_1_1;
57
+ },
55
58
  function (environment_1_1) {
56
59
  environment_1 = environment_1_1;
57
60
  },
58
- function (eventManager_1_1) {
59
- eventManager_1 = eventManager_1_1;
61
+ function (misc_1_1) {
62
+ misc_1 = misc_1_1;
60
63
  },
61
64
  function (common_1_1) {
62
65
  common_1 = common_1_1;
@@ -95,13 +98,14 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
95
98
  this.expandDelay = 1000;
96
99
  this.dropData = null;
97
100
  this.cdkDropListSortingDisabled = true;
98
- this.dropDebug = false;
99
101
  this.treeControl = new tree_1.NestedTreeControl((node) => node.children || []);
102
+ this.isBorder = false;
103
+ this.isDebug = false;
100
104
  }
101
105
  ngOnInit() {
102
106
  this.uid = lodash_1.default.uniqueId(`sa_${lodash_1.default.snakeCase(moduleName)}_component_`);
103
107
  stratus_1.Stratus.Instances[this.uid] = this;
104
- this.hydrate(this.elementRef, this.sanitizer, ["title", "uid", "isInitialized", "isDestroyed", "isStyled", "target", "targetSuffix", "id", "manifest", "decouple", "direct", "api", "urlRoot", "type", "property", "_", "Stratus", "registry", "fetched", "data", "collection", "model", "dataSub", "onChange", "subscriber", "unsettled", "svgIcons", "isSingleClick", "dblClickWait", "dropLists", "dropListIdMap", "dropListMap", "expandedNodeSet", "dragging", "expandTimeout", "expandDelay", "dropData", "cdkDropListSortingDisabled", "dropDebug", "tree", "treeMap", "metaMap", "dataSource", "treeControl", "iconRegistry", "sanitizer", "backend", "ref", "elementRef", "document", "ngOnInit", "ngOnDestroy", "refresh", "remove", "removeNode", "nodeIsEqual", "fetchData", "dataDefer", "dataRef", "trackDropLists", "setExpanded", "setExpandedClick", "setExpandedDblClick", "onDragDrop", "onDragMove", "showDragData", "clearDragData", "buildNodePatch", "getSvg", "addSvgIcon", "hydrate", "disableRefresh", "stagger", "reloading"]);
108
+ this.hydrate(this.elementRef, this.sanitizer, ["title", "uid", "isInitialized", "isDestroyed", "isStyled", "target", "targetSuffix", "id", "manifest", "decouple", "direct", "api", "urlRoot", "type", "property", "_", "Stratus", "registry", "fetched", "data", "collection", "model", "dataSub", "onChange", "subscriber", "unsettled", "svgIcons", "isSingleClick", "dblClickWait", "dropLists", "dropListIdMap", "dropListMap", "expandedNodeSet", "dragging", "expandTimeout", "expandDelay", "dropData", "cdkDropListSortingDisabled", "tree", "treeMap", "metaMap", "dataSource", "treeControl", "isBorder", "isDebug", "iconRegistry", "sanitizer", "backend", "ref", "elementRef", "document", "ngOnInit", "ngOnDestroy", "refresh", "remove", "removeNode", "nodeIsEqual", "fetchData", "dataDefer", "dataRef", "trackDropLists", "setExpanded", "setExpandedClick", "setExpandedDblClick", "onDragDrop", "onDragMove", "showDragData", "clearDragData", "buildNodePatch", "getSvg", "addSvgIcon", "hydrate", "disableRefresh", "stagger", "reloading"]);
105
109
  stratus_1.Stratus.Internals.CssLoader(`${localDir}/${moduleName}/${moduleName}.component${min}.css`)
106
110
  .then(() => {
107
111
  this.isStyled = true;
@@ -163,6 +167,14 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
163
167
  this.dataSub = new rxjs_1.Observable((subscriber) => this.dataDefer(subscriber));
164
168
  this.dropListIdMap[`${this.uid}_parent_drop_list`] = true;
165
169
  this.trackDropLists();
170
+ const isBorder = environment_1.cookie('tree-node-border');
171
+ if (isBorder && misc_1.isJSON(isBorder)) {
172
+ this.isBorder = JSON.parse(isBorder);
173
+ }
174
+ const isDebug = environment_1.cookie('tree-debug');
175
+ if (isDebug && misc_1.isJSON(isDebug)) {
176
+ this.isDebug = JSON.parse(isDebug);
177
+ }
166
178
  this.isInitialized = true;
167
179
  this.refresh();
168
180
  }
@@ -311,7 +323,7 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
311
323
  this.isSingleClick = false;
312
324
  this.setExpanded(expanded);
313
325
  }
314
- onDragDrop(event) {
326
+ async onDragDrop(event) {
315
327
  if (!event.isPointerOverContainer) {
316
328
  return;
317
329
  }
@@ -328,7 +340,7 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
328
340
  this.unsettled = true;
329
341
  const targetDropNode = (this.dropData.targetId && this.dropData.targetId in this.treeMap) ?
330
342
  this.treeMap[lodash_1.default.toNumber(this.dropData.targetId)] : null;
331
- if (environment_1.cookie('env') && this.dropDebug) {
343
+ if (environment_1.cookie('env') && this.isDebug) {
332
344
  console.group('onDragDrop()');
333
345
  lodash_1.default.forEach([
334
346
  `model drop: ${targetNode.model.get('name')}`,
@@ -339,7 +351,7 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
339
351
  ], (message) => console.log(message));
340
352
  }
341
353
  if (targetDropNode && !this.nodeIsEqual(parentNode, targetDropNode)) {
342
- if (environment_1.cookie('env') && this.dropDebug) {
354
+ if (environment_1.cookie('env') && this.isDebug) {
343
355
  console.log(`target drop node differs: ${targetDropNode.id} -> ${targetDropNode.model.get('name')}`);
344
356
  console.log('target drop node is the same as target node:', targetNode.id === targetDropNode.id);
345
357
  }
@@ -356,7 +368,7 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
356
368
  break;
357
369
  }
358
370
  }
359
- if (environment_1.cookie('env') && this.dropDebug) {
371
+ if (environment_1.cookie('env') && this.isDebug) {
360
372
  console.log('target drop node selected:', parentNode ? `${parentNode.id} -> ${parentNode.model.get('name')}` : 'none');
361
373
  }
362
374
  }
@@ -381,7 +393,7 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
381
393
  this.removeNode(pastParentNode.children, targetNode);
382
394
  }
383
395
  targetNode.model.set('nestParent', this.buildNodePatch(parentNode));
384
- if (environment_1.cookie('env') && this.dropDebug) {
396
+ if (environment_1.cookie('env') && this.isDebug) {
385
397
  console.log(`new parent: ${targetNode.model.get('nestParent.name') || null}`);
386
398
  }
387
399
  }
@@ -396,7 +408,7 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
396
408
  if (this.dropData.action === 'after') {
397
409
  targetDropIndex++;
398
410
  }
399
- if (environment_1.cookie('env') && this.dropDebug) {
411
+ if (environment_1.cookie('env') && this.isDebug) {
400
412
  console.log('index change (drop node):', `${event.previousIndex} -> ${targetDropIndex}`);
401
413
  }
402
414
  break;
@@ -411,16 +423,17 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "@angular/cdk/tree",
411
423
  }
412
424
  node.model.set('priority', priority++);
413
425
  });
414
- if (environment_1.cookie('env') && this.dropDebug) {
426
+ if (environment_1.cookie('env') && this.isDebug) {
415
427
  console.log('new priority:', targetNode.model.get('priority'));
416
428
  }
417
429
  }
418
- if (environment_1.cookie('env') && this.dropDebug) {
419
- console.log(`new parent: ${targetNode.model.get('nestParent.name') || null}`);
430
+ if (environment_1.cookie('env') && this.isDebug) {
420
431
  console.groupEnd();
421
432
  }
422
- targetNode.model.save();
433
+ await targetNode.model.save();
423
434
  this.unsettled = false;
435
+ this.subscriber.next(this.dataRef());
436
+ this.ref.detectChanges();
424
437
  }
425
438
  onDragMove(event) {
426
439
  const e = this.document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);
@@ -1 +1 @@
1
- {"version":3,"sources":["tree.component.ts"],"names":[],"mappings":"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","file":"tree.component.js"}
1
+ {"version":3,"sources":["tree.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAmHM,SAAS,GAAG,oBAAoB,CAAA;YAChC,UAAU,GAAG,MAAM,CAAA;YAGnB,GAAG,GAAG,CAAC,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;YAClC,QAAQ,GAAG,GAAG,iBAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAA;YAiBzH,aAAa,GAAnB,MAAM,aAAc,SAAQ,8BAAa;gBA+E5C,YACW,YAA6B,EAC7B,SAAuB,EACvB,OAAuB,EACpB,GAAsB,EACxB,UAAsB,EACJ,QAAkB;oBAG5C,KAAK,EAAE,CAAA;oBARA,iBAAY,GAAZ,YAAY,CAAiB;oBAC7B,cAAS,GAAT,SAAS,CAAc;oBACvB,YAAO,GAAP,OAAO,CAAgB;oBACpB,QAAG,GAAH,GAAG,CAAmB;oBACxB,eAAU,GAAV,UAAU,CAAY;oBACJ,aAAQ,GAAR,QAAQ,CAAU;oBAlFhD,UAAK,GAAG,UAAU,GAAG,YAAY,CAAA;oBAIjC,kBAAa,GAAG,KAAK,CAAA;oBACrB,gBAAW,GAAG,KAAK,CAAA;oBACnB,aAAQ,GAAG,KAAK,CAAA;oBAiBhB,MAAC,GAAG,gBAAC,CAAA;oBACL,YAAO,GAAG,iBAAO,CAAA;oBAGjB,aAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAA;oBAQzB,aAAQ,GAAG,IAAI,cAAO,EAAE,CAAA;oBAExB,cAAS,GAAG,KAAK,CAAA;oBAGjB,aAAQ,GAEJ,EAAE,CAAA;oBAIN,iBAAY,GAAG,GAAG,CAAA;oBAGlB,cAAS,GAAa,EAAE,CAAA;oBAExB,kBAAa,GAAW,EAAE,CAAA;oBAC1B,gBAAW,GAAe,EAAE,CAAA;oBAC5B,oBAAe,GAAG,IAAI,GAAG,EAAU,CAAA;oBACnC,aAAQ,GAAG,KAAK,CAAA;oBAEhB,gBAAW,GAAG,IAAI,CAAA;oBAClB,aAAQ,GAAa,IAAI,CAAA;oBACzB,+BAA0B,GAAG,IAAI,CAAA;oBAQjC,gBAAW,GAAG,IAAI,wBAAiB,CAAO,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;oBAO9E,aAAQ,GAAG,KAAK,CAAA;oBAChB,YAAO,GAAG,KAAK,CAAA;gBAYf,CAAC;gBAED,QAAQ;oBAEJ,IAAI,CAAC,GAAG,GAAG,gBAAC,CAAC,QAAQ,CAAC,MAAM,gBAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;oBACjE,iBAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;oBAGlC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,u9BAAwB,CAAA;oBAIpE,iBAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,QAAQ,IAAI,UAAU,IAAI,UAAU,aAAa,GAAG,MAAM,CAAC;yBACrF,IAAI,CAAC,GAAG,EAAE;wBACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;wBACpB,IAAI,CAAC,OAAO,EAAE,CAAA;oBAClB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;wBAChB,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,IAAI,CAAC,CAAA;wBACjE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;wBACpB,IAAI,CAAC,OAAO,EAAE,CAAA;oBAClB,CAAC,CAAC,CAAA;oBAIN,gBAAC,CAAC,OAAO,CAAC;wBACN,UAAU,EAAE,GAAG,iBAAO,CAAC,OAAO,uCAAuC;wBACrE,QAAQ,EAAE,GAAG,iBAAO,CAAC,OAAO,mDAAmD;wBAC/E,WAAW,EAAE,GAAG,iBAAO,CAAC,OAAO,sDAAsD;wBACrF,SAAS,EAAE,GAAG,iBAAO,CAAC,OAAO,oDAAoD;wBACjF,eAAe,EAAE,GAAG,iBAAO,CAAC,OAAO,0DAA0D;qBAChG,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;oBAGhI,IAAI,CAAC,SAAS,EAAE;yBACX,IAAI,CAAC,IAAI,CAAC,EAAE;wBACT,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,2BAAY,CAAC,EAAE;4BAC1C,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;4BAClD,OAAM;yBACT;wBAGD,MAAM,YAAY,GAAG,GAAG,EAAE;4BACtB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gCACnC,OAAM;6BACT;4BACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;4BAC/B,IAAI,CAAC,OAAO,EAAE,CAAA;wBAClB,CAAC,CAAA;wBACD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;wBAC/B,YAAY,EAAE,CAAA;wBAEd,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAgB,EAAE,KAAY,EAAE,EAAE;4BAE9C,IAAI,cAAc,GAAG,KAAK,CAAA;4BAC1B,MAAM,aAAa,GAAG,GAAG,EAAE;gCAEvB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oCAClB,OAAM;iCACT;gCAED,IAAI,cAAc,EAAE;oCAChB,OAAM;iCACT;gCACD,cAAc,GAAG,IAAI,CAAA;gCAIrB,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;oCAG1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;oCACnC,OAAM;iCACT;gCACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA;gCAIhD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oCAGhE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;oCACnC,OAAM;iCACT;gCAKD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAA;4BACpC,CAAC,CAAA;4BACD,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;4BACjC,aAAa,EAAE,CAAA;wBACnB,CAAC,CAAC,CAAA;oBACN,CAAC,CAAC,CAAA;oBAGN,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAU,CAAC,CAAC,UAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;oBAG1F,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAA;oBACzD,IAAI,CAAC,cAAc,EAAE,CAAA;oBAGrB,MAAM,QAAQ,GAAG,oBAAM,CAAC,kBAAkB,CAAC,CAAA;oBAC3C,IAAI,QAAQ,IAAI,aAAM,CAAC,QAAQ,CAAC,EAAE;wBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;qBACvC;oBACD,MAAM,OAAO,GAAG,oBAAM,CAAC,YAAY,CAAC,CAAA;oBACpC,IAAI,OAAO,IAAI,aAAM,CAAC,OAAO,CAAC,EAAE;wBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;qBACrC;oBAGD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;oBAGzB,IAAI,CAAC,OAAO,EAAE,CAAA;gBAClB,CAAC;gBAMD,WAAW;oBACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBAC3B,CAAC;gBAEM,OAAO;oBACV,IAAI,IAAI,CAAC,WAAW,EAAE;wBAClB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;qBACjD;oBAED,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAc,EAAE,EAAE;wBACvC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;4BACnD,OAAM;yBACT;wBAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;oBAC5B,CAAC,CAAC,CAAA;oBACF,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;gBAC1B,CAAC;gBAEM,MAAM,CAAC,KAAU;gBAYxB,CAAC;gBAEM,UAAU,CAAC,IAAY,EAAE,IAAU;oBACtC,MAAM,KAAK,GAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;wBACd,OAAO,KAAK,CAAA;qBACf;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;oBACrB,OAAO,IAAI,CAAA;gBACf,CAAC;gBAEM,WAAW,CAAC,IAAiB,EAAE,KAAkB;oBACpD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;wBACjB,OAAO,IAAI,KAAK,KAAK,CAAA;qBACxB;oBACD,OAAO,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAA;gBAC/B,CAAC;gBAGM,KAAK,CAAC,SAAS;oBAClB,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,OAAO,IAAI,CAAC,OAAO,CAAA;qBACtB;oBACD,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CACrC,iBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAC7C,IAAI,CACP,CAAA;gBACL,CAAC;gBAEO,SAAS,CAAC,UAA2B;oBACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,UAAU,CAAA;oBAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;wBACpE,UAAU,CAAC,GAAG,EAAE;4BACZ,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;wBAC9B,CAAC,EAAE,GAAG,CAAC,CAAA;wBACP,OAAM;qBACT;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;wBACrB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBACrB,OAAM;qBACT;oBACD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAA;gBACrD,CAAC;gBAEO,OAAO,CAAC,QAAiB,KAAK;oBAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBAClB,OAAO,EAAE,CAAA;qBACZ;oBACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC7C,OAAO,IAAI,CAAC,IAAI,CAAA;qBACnB;oBAED,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;oBACnC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;wBACjD,OAAO,EAAE,CAAA;qBACZ;oBACD,MAAM,GAAG,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;oBAE5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;oBACjC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;oBACjB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;oBACd,gBAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;wBAC7B,MAAM,OAAO,GAAG,gBAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;wBACvC,MAAM,QAAQ,GAAG,gBAAC,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAA;wBACnD,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,OAAO,YAAY,CAAC,GAAG,IAAI,CAAA;wBAClE,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;4BAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;gCACpB,EAAE,EAAE,OAAO;gCAEX,QAAQ,EAAE,IAAI;6BACjB,CAAA;yBACJ;wBACD,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;4BAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;gCACpB,EAAE,EAAE,OAAO;gCACX,KAAK;gCACL,QAAQ,EAAE,EAAE;gCACZ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;6BAC9B,CAAA;yBACJ;wBACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAA;wBACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;wBAClD,IAAI,QAAQ,EAAE;4BACV,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gCAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;oCACrB,EAAE,EAAE,QAAQ;oCACZ,KAAK,EAAE,IAAI;oCACX,QAAQ,EAAE,EAAE;oCACZ,IAAI,EAAE,IAAI;iCACb,CAAA;6BACJ;4BACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CACxB,CAAA;yBACJ;6BAAM;4BACH,IAAI,CAAC,IAAI,CAAC,IAAI,CACV,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CACxB,CAAA;yBACJ;oBACL,CAAC,CAAC,CAAA;oBACF,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,OAAO,IAAI,CAAC,IAAI,CAAA;gBACpB,CAAC;gBAEO,cAAc;oBAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;oBACnB,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAc,EAAE,GAAW,EAAE,EAAE;wBAC1D,IAAI,CAAC,KAAK,EAAE;4BACR,OAAM;yBACT;wBACD,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,WAAW,CAAA;wBACtC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;wBAC7E,IAAI,CAAC,OAAO,EAAE;4BACV,OAAM;yBACT;wBACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBAExB,IAAI,MAAM,EAAE;4BACR,OAAM;yBACT;wBACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;oBACnC,CAAC,CAAC,CAAA;gBACN,CAAC;gBAEO,WAAW,CAAC,QAAiB;oBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;wBACxC,OAAM;qBACT;oBACD,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAkB,EAAE,EAAE;wBAC3C,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;oBAChC,CAAC,CAAC,CAAA;oBACF,IAAI,CAAC,OAAO,EAAE,CAAA;gBAClB,CAAC;gBAEM,gBAAgB,CAAC,QAAiB;oBACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;oBACzB,UAAU,CAAC,GAAG,EAAE;wBACZ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACrB,OAAM;yBACT;wBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBAC9B,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;gBACzB,CAAC;gBAEM,mBAAmB,CAAC,QAAiB;oBACxC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;oBAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;gBAC9B,CAAC;gBAiCM,KAAK,CAAC,UAAU,CAAC,KAAuB;oBAE3C,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE;wBAC/B,OAAM;qBACT;oBAQD,MAAM,UAAU,GAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;oBAC/C,IAAI,CAAC,UAAU,EAAE;wBACb,OAAM;qBACT;oBAGD,IAAI,UAAU,GAAgB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAA;oBAClD,MAAM,cAAc,GAAgB,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAA;oBAGhE,MAAM,IAAI,GAAkB,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;oBAC7E,IAAI,CAAC,IAAI,EAAE;wBACP,OAAM;qBACT;oBAGD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;oBAGrB,MAAM,cAAc,GAChB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;wBACpE,IAAI,CAAC,OAAO,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBAG3D,IAAI,oBAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;wBAC/B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;wBAC7B,gBAAC,CAAC,OAAO,CACL;4BACI,eAAe,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;4BAC7C,eAAe,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE;4BAChH,yBAAyB,KAAK,CAAC,aAAa,OAAO,KAAK,CAAC,YAAY,EAAE;4BACvE,qBAAqB,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;4BACvD,uBAAuB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;yBAChD,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CACpC,CAAA;qBACJ;oBAOD,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE;wBACjE,IAAI,oBAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;4BAC/B,OAAO,CAAC,GAAG,CAAC,6BAA6B,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;4BACpG,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,UAAU,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAA;yBACnG;wBACD,IAAI,UAAU,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,EAAE;4BACrC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gCAC1B,KAAK,QAAQ,CAAC;gCACd,KAAK,OAAO;oCACR,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;oCAC9D,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oCACrG,UAAU,GAAG,UAAU,CAAA;oCACvB,MAAK;gCACT,KAAK,QAAQ;oCACT,UAAU,GAAG,cAAc,CAAA;oCAC3B,MAAK;6BACZ;yBACJ;wBACD,IAAI,oBAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;4BAC/B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;yBACzH;qBACJ;oBAGD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE;wBAC/C,IAAI,UAAU,EAAE;4BACZ,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gCAC1B,KAAK,QAAQ,CAAC;gCACd,KAAK,OAAO;oCACR,IAAI,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAA;oCACpF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE;wCAClC,WAAW,EAAE,CAAA;qCAChB;oCACD,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;oCACtD,MAAK;gCACT,KAAK,QAAQ;oCACT,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oCACpC,MAAK;6BACZ;4BACD,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;yBAClC;wBACD,IAAI,cAAc,EAAE;4BAChB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;yBACvD;wBACD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;wBAGnE,IAAI,oBAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;4BAC/B,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;yBAChF;qBACJ;oBAGD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;oBAGtD,IAAI,eAAe,GAAG,KAAK,CAAC,YAAY,CAAA;oBACxC,IAAI,IAAI,CAAC,0BAA0B,EAAE;wBAEjC,eAAe,GAAG,IAAI,CAAA;wBACtB,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;4BAC1B,KAAK,QAAQ,CAAC;4BACd,KAAK,OAAO;gCACR,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAA;gCAC3E,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE;oCAClC,eAAe,EAAE,CAAA;iCACpB;gCACD,IAAI,oBAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;oCAC/B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,KAAK,CAAC,aAAa,OAAO,eAAe,EAAE,CAAC,CAAA;iCAC3F;gCACD,MAAK;yBACZ;qBACJ;oBAGD,IAAI,gBAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBAE7B,2BAAe,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;wBAE7D,IAAI,QAAQ,GAAG,CAAC,CAAA;wBAChB,gBAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE;4BAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gCAChC,OAAM;6BACT;4BACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAA;wBAC1C,CAAC,CAAC,CAAA;wBAEF,IAAI,oBAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;4BAC/B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;yBACjE;qBACJ;oBAGD,IAAI,oBAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;wBAC/B,OAAO,CAAC,QAAQ,EAAE,CAAA;qBACrB;oBAmBD,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;oBAG7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;oBAMtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;oBACpC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;gBAI5B,CAAC;gBAgBD,UAAU,CAAC,KAAkB;oBACzB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;oBACzF,IAAI,CAAC,CAAC,EAAE;wBACJ,IAAI,CAAC,aAAa,EAAE,CAAA;wBACpB,OAAM;qBACT;oBACD,MAAM,cAAc,GAAG,mBAAmB,CAAA;oBAC1C,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC,CAAA;oBAC5F,IAAI,CAAC,SAAS,EAAE;wBACZ,IAAI,CAAC,aAAa,EAAE,CAAA;wBACpB,OAAM;qBACT;oBACD,IAAI,CAAC,QAAQ,GAAG;wBACZ,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC;qBAC9C,CAAA;oBACD,MAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAA;oBACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;oBAEtC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,QAAQ,EAAE;wBACrD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAA;qBAClC;yBAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,EAAE;wBAChE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAA;qBACjC;yBAAM;wBACH,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAA;qBAClC;oBACD,IAAI,CAAC,YAAY,EAAE,CAAA;gBACvB,CAAC;gBAED,YAAY;oBACR,IAAI,CAAC,aAAa,EAAE,CAAA;oBACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;wBAChB,OAAM;qBACT;oBACD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;gBAChH,CAAC;gBAED,aAAa,CAAC,OAAO,GAAG,KAAK;oBACzB,IAAI,OAAO,EAAE;wBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;qBACvB;oBACD,IAAI,CAAC,QAAQ;yBACR,gBAAgB,CAAC,cAAc,CAAC;yBAChC,OAAO,CAAC,OAAO,CAAC,EAAE,CACf,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAC1C,CAAA;oBACL,IAAI,CAAC,QAAQ;yBACR,gBAAgB,CAAC,aAAa,CAAC;yBAC/B,OAAO,CAAC,OAAO,CAAC,EAAE,CACf,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CACzC,CAAA;oBACL,IAAI,CAAC,QAAQ;yBACR,gBAAgB,CAAC,cAAc,CAAC;yBAChC,OAAO,CAAC,OAAO,CAAC,EAAE,CACf,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAC1C,CAAA;gBACT,CAAC;gBAED,cAAc,CAAC,OAAa,IAAI;oBAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;wBACtB,OAAO,IAAI,CAAA;qBACd;oBACD,MAAM,SAAS,GAAG,EAAE,CAAA;oBACpB,gBAAC,CAAC,OAAO,CAAC;wBACN,IAAI;wBACJ,MAAM;qBACT,EAAE,CAAC,GAAW,EAAE,EAAE;wBACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBACjC,IAAI,CAAC,KAAK,EAAE;4BACR,OAAM;yBACT;wBACD,gBAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;oBAChC,CAAC,CAAC,CAAA;oBACF,OAAO,SAAS,CAAA;gBACpB,CAAC;gBAcM,MAAM,CAAC,GAAW,EAAE,OAAqB;oBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;oBACzC,OAAO,IAAI,iBAAU,CAAS,CAAC,UAA8B,EAAE,EAAE;wBAC7D,IAAI,CAAC,YAAY;6BACZ,eAAe,CAAC,GAAG,CAAC;6BACpB,SAAS,CAAC;4BAMP,KAAK,CAAC,GAAG;gCACL,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,GAAG,EAAE,CAAC,CAAA;4BAC3C,CAAC;4BACD,QAAQ;gCAEJ,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;4BACxB,CAAC;yBACJ,CAAC,CAAA;oBACV,CAAC,CAAC,CAAA;gBACN,CAAC;gBAMM,UAAU,CAAC,GAAW,EAAE,OAAqB;oBAChD,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;qBAC5B;oBACD,IAAI,CAAC,OAAO,EAAE;wBACV,OAAO,GAAG,EAAE,CAAA;qBACf;oBACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,gBAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;oBAC3D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;oBAC9F,OAAO,GAAG,CAAA;gBACd,CAAC;aACJ,CAAA;YAhuBG;gBAAC,YAAK,EAAE;;yDAAe;YACvB;gBAAC,YAAK,EAAE;;+DAAqB;YAC7B;gBAAC,YAAK,EAAE;;qDAAW;YACnB;gBAAC,YAAK,EAAE;;2DAAkB;YAC1B;gBAAC,YAAK,EAAE;;2DAAkB;YAC1B;gBAAC,YAAK,EAAE;;yDAAgB;YACxB;gBAAC,YAAK,EAAE;;sDAAY;YACpB;gBAAC,YAAK,EAAE;;0DAAgB;YAGxB;gBAAC,YAAK,EAAE;;uDAAa;YACrB;gBAAC,YAAK,EAAE;;2DAAiB;YAwlBzB;gBAAC,gBAAQ,CAAC,EAAE,CAAC;;;;2DA2BZ;YA1oBQ,aAAa;gBAZzB,gBAAS,CAAC;oBACP,QAAQ,EAAE,MAAM,UAAU,EAAE;oBAC5B,WAAW,EAAE,GAAG,QAAQ,IAAI,UAAU,IAAI,UAAU,aAAa,GAAG,OAAO;iBAQ9E,CAAC;gBAuFO,WAAA,aAAM,CAAC,iBAAQ,CAAC,CAAA;iDALI,sBAAe;oBAClB,+BAAY;oBACd,gCAAc;oBACf,wBAAiB;oBACZ,iBAAU;oBACM,QAAQ;eArFvC,aAAa,CA4uBzB;;QACD,CAAC","file":"tree.component.js"}
@@ -1 +1 @@
1
- .tree .display-none{display:none}.tree .position-absolute{position:absolute}.tree .svg-grey svg g{fill:#666}.tree .visibility-off svg g{fill:#ff5b3a}.tree .full-width{width:100%}.tree li,.tree ul{margin-top:0;margin-bottom:0;list-style-type:none}.tree .float-right{position:relative;float:right}.tree .drop-inside{border:2px solid #00b7ff!important}.tree .drop-before{border-top:2px solid #00b7ff!important}.tree .drop-after{border-bottom:2px solid #00b7ff!important}.tree .tree-node{display:block;cursor:move}.tree .tree-node a,.tree .tree-node mat-button,.tree .tree-node mat-icon-button{cursor:pointer}.tree .tree-node .hover-box:hover~.hover-show{display:unset}.tree .tree-node .hover-show{display:none}.tree .tree-node .hover-show:hover{display:unset}.tree .tree-node .tree-node{padding-left:40px}.tree .tree-node .tree-node-content .visibility-off{opacity:.5}.tree .tree-node .tree-node-content .type-icon{height:15px;width:22px}.tree .tree-node .tree-node-content .type-none{padding-left:6px}.tree .tree-node .tree-node-content .route-none{color:#ff5b3a}.tree .tree-node .tree-node-content .mat-button-disabled{height:24px}.tree-dialog-content .form-field{width:320px}.tree-dialog-content .dialog-form{margin-top:20px}.tree-dialog-content .radio-button{padding:0 5px}.tree-dialog-content .svg-grey svg g{fill:#666}
1
+ .tree .display-none{display:none}.tree .position-absolute{position:absolute}.tree .svg-grey svg g{fill:#666}.tree .visibility-off svg g{fill:#ff5b3a}.tree .full-width{width:100%}.tree li,.tree ul{margin-top:0;margin-bottom:0;list-style-type:none}.tree .float-right{position:relative;float:right}.tree .cdk-drop-list-dragging .drop-inside{border:2px solid #00b7ff!important}.tree .cdk-drop-list-dragging .drop-before{border-top:2px solid #00b7ff!important}.tree .cdk-drop-list-dragging .drop-after{border-bottom:2px solid #00b7ff!important}.tree .tree-node{display:grid;vertical-align:middle;place-content:center start;cursor:move}.tree .tree-node a,.tree .tree-node mat-button,.tree .tree-node mat-icon-button{cursor:pointer}.tree .tree-node .hover-box{padding-right:.5rem}.tree .tree-node .hover-box:hover~.hover-show{display:unset}.tree .tree-node .hover-show{display:none;padding-bottom:1rem;padding-right:5rem}.tree .tree-node .hover-show:hover{display:unset}.tree .tree-node .tree-node{padding-left:2.5rem}.tree .tree-node .tree-node .tree-node-content{padding-top:.25rem;padding-bottom:.25rem}.tree .tree-node .tree-node .tree-node-content .node-name{font-size:10pt}.tree .tree-node .tree-node-content{padding-top:1rem;padding-bottom:1rem;padding-right:.5rem}.tree .tree-node .tree-node-content.border{border:dashed 1px #ccc}.tree .tree-node .tree-node-content .node-name{font-weight:700;font-size:15pt;padding-right:.5rem}.tree .tree-node .tree-node-content .mat-button-placeholder{display:inline-block;width:40px;height:40px;vertical-align:baseline;line-height:40px}.tree .tree-node .tree-node-content .visibility-off{opacity:.5}.tree .tree-node .tree-node-content .type-icon{height:15px;width:22px}.tree .tree-node .tree-node-content .type-none{padding-left:6px}.tree .tree-node .tree-node-content .route-none{color:#ff5b3a}.tree .tree-node .tree-node-content .mat-button-disabled{height:24px}.tree .tree-node.cdk-drop-list-dragging .tree-node:not(.cdk-drag-placeholder){transition:transform 250ms cubic-bezier(0,0,.2,1)}.tree .cdk-drop-list-dragging .hover-show{display:none!important}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;padding:0!important}.cdk-drag-preview .hover-show{display:none!important}.cdk-drag-placeholder{opacity:50%}.cdk-drag-placeholder .hover-show{display:none!important}.cdk-drag-placeholder .tree-node-drop-list{display:none!important}.tree-dialog-content .form-field{width:320px}.tree-dialog-content .dialog-form{margin-top:20px}.tree-dialog-content .radio-button{padding:0 5px}.tree-dialog-content .svg-grey svg g{fill:#666}
@@ -1 +1 @@
1
- System.register(["@angular/core","@angular/cdk/drag-drop","@angular/cdk/tree","@angular/platform-browser","@angular/material/icon","rxjs","@stratusjs/runtime/stratus","lodash","@agentepsilon/decko","../core/root.component","../backend.service","@stratusjs/angularjs/services/registry","@stratusjs/core/environment","@stratusjs/core/events/eventManager","@angular/common"],function(e,t){"use strict";var i,s,r,o,n,a,d,c,l,h,p,u,g,f,m,y,D,v,b=this&&this.__decorate||function(e,t,i,s){var r,o=arguments.length,n=o<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(n=(o<3?r(n):o>3?r(t,i,n):r(t,i))||n);return o>3&&n&&Object.defineProperty(t,i,n),n},I=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},S=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};t&&t.id;return{setters:[function(e){i=e},function(e){s=e},function(e){r=e},function(e){o=e},function(e){n=e},function(e){a=e},function(e){d=e},function(e){c=e},function(e){l=e},function(e){h=e},function(e){p=e},function(e){u=e},function(e){g=e},function(e){f=e},function(e){m=e}],execute:function(){"@stratusjs/angular","tree",y=g.cookie("env")?"":".min",D=`${d.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"").replace(/\/dist\/$/,"/src/")}`,v=class extends h.RootComponent{constructor(e,t,i,s,o,n){super(),this.iconRegistry=e,this.sanitizer=t,this.backend=i,this.ref=s,this.elementRef=o,this.document=n,this.title="tree_component",this.isInitialized=!1,this.isDestroyed=!1,this.isStyled=!1,this._=c.default,this.Stratus=d.Stratus,this.registry=new u.Registry,this.onChange=new a.Subject,this.unsettled=!1,this.svgIcons={},this.dblClickWait=500,this.dropLists=[],this.dropListIdMap={},this.dropListMap={},this.expandedNodeSet=new Set,this.dragging=!1,this.expandDelay=1e3,this.dropData=null,this.cdkDropListSortingDisabled=!0,this.dropDebug=!1,this.treeControl=new r.NestedTreeControl(e=>e.children||[])}ngOnInit(){this.uid=c.default.uniqueId(`sa_${c.default.snakeCase("tree")}_component_`),d.Stratus.Instances[this.uid]=this,this.hydrate(this.elementRef,this.sanitizer,["title","uid","isInitialized","isDestroyed","isStyled","target","targetSuffix","id","manifest","decouple","direct","api","urlRoot","type","property","_","Stratus","registry","fetched","data","collection","model","dataSub","onChange","subscriber","unsettled","svgIcons","isSingleClick","dblClickWait","dropLists","dropListIdMap","dropListMap","expandedNodeSet","dragging","expandTimeout","expandDelay","dropData","cdkDropListSortingDisabled","dropDebug","tree","treeMap","metaMap","dataSource","treeControl","iconRegistry","sanitizer","backend","ref","elementRef","document","ngOnInit","ngOnDestroy","refresh","remove","removeNode","nodeIsEqual","fetchData","dataDefer","dataRef","trackDropLists","setExpanded","setExpandedClick","setExpandedDblClick","onDragDrop","onDragMove","showDragData","clearDragData","buildNodePatch","getSvg","addSvgIcon","hydrate","disableRefresh","stagger","reloading"]),d.Stratus.Internals.CssLoader(`${D}/tree/tree.component${y}.css`).then(()=>{this.isStyled=!0,this.refresh()}).catch(e=>{console.warn("Issue detected in CSS Loader for Component:",this),console.error(e),this.isStyled=!0,this.refresh()}),c.default.forEach({tree_check:d.Stratus.BaseUrl+"sitetheorycore/images/icons/check.svg",tree_add:d.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/add.svg",tree_delete:d.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/delete.svg",tree_edit:d.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/edit.svg",tree_visibility:d.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/visibility.svg"},(e,t)=>this.iconRegistry.addSvgIcon(t,this.sanitizer.bypassSecurityTrustResourceUrl(e)).getNamedSvgIcon(t)),this.fetchData().then(e=>{if(!(e&&e instanceof f.EventManager))return void console.warn("Unable to bind data from Registry!");const t=()=>{!this.unsettled&&e.completed&&(this.dataDefer(this.subscriber),this.refresh())};e.on("change",t),t(),e.on("add",(e,t)=>{let i=!1;const s=()=>{if(!t.completed)return;if(i)return;if(i=!0,!(t.getIdentifier()in this.treeMap))return void t.meta.set("postPersist",!0);const e=this.treeMap[t.getIdentifier()];e.meta.component&&"openDialog"in e.meta.component?e.meta.component.openDialog():t.meta.set("postPersist",!0)};t.on("change",s),s()})}),this.dataSub=new a.Observable(e=>this.dataDefer(e)),this.dropListIdMap[this.uid+"_parent_drop_list"]=!0,this.trackDropLists(),this.isInitialized=!0,this.refresh()}ngOnDestroy(){this.isDestroyed=!0}refresh(){return this.isDestroyed?new Promise(e=>e()):(c.default.forEach(this.metaMap,e=>{e.component&&"refresh"in e.component&&e.component.refresh()}),super.refresh())}remove(e){}removeNode(e,t){const i=e.indexOf(t);return-1!==i&&(e.splice(i,1),!0)}nodeIsEqual(e,t){return e&&t?e.id===t.id:e===t}async fetchData(){return this.fetched?this.fetched:this.fetched=this.registry.fetch(d.Stratus.Select(this.elementRef.nativeElement),this)}dataDefer(e){if(this.subscriber=this.subscriber||e,!this.subscriber||!this.collection||!this.collection.completed)return void setTimeout(()=>{this.dataDefer(e)},500);const t=this.dataRef(!0);t&&t.length?e.next(t):setTimeout(()=>this.dataDefer(e),200)}dataRef(e=!1){if(!this.collection)return[];if(!e&&this.tree&&this.tree.length>0)return this.tree;let t=this.collection.models;return t&&c.default.isArray(t)&&t.length?(t=c.default.sortBy(t,["data.priority"]),this.metaMap=this.metaMap||{},this.treeMap={},this.tree=[],c.default.forEach(t,e=>{const t=c.default.get(e,"data.id"),i=c.default.get(e,"data.nestParent.id");this.dropListIdMap[`${this.uid}_node_${t}_drop_list`]=!0,c.default.has(this.metaMap,t)||(this.metaMap[t]={id:t,expanded:!0}),c.default.has(this.treeMap,t)||(this.treeMap[t]={id:t,model:e,children:[],meta:this.metaMap[t]}),this.treeMap[t].model=e,this.treeMap[t].meta=this.metaMap[t],i?(c.default.has(this.treeMap,i)||(this.treeMap[i]={id:i,model:null,children:[],meta:null}),this.treeMap[i].children.push(this.treeMap[t])):this.tree.push(this.treeMap[t])}),this.trackDropLists(),this.tree):[]}trackDropLists(){this.dropLists=[],c.default.forEach(this.dropListIdMap,(e,t)=>{if(!e)return;const i=t in this.dropListMap,s=i?this.dropListMap[t]:document.getElementById(t);s&&(this.dropLists.push(t),i||(this.dropListMap[t]=s))})}setExpanded(e){this.metaMap&&c.default.size(this.metaMap)&&(c.default.forEach(this.metaMap,t=>{t.expanded=e}),this.refresh())}setExpandedClick(e){this.isSingleClick=!0,setTimeout(()=>{this.isSingleClick&&this.setExpanded(e)},this.dblClickWait)}setExpandedDblClick(e){this.isSingleClick=!1,this.setExpanded(e)}onDragDrop(e){if(!e.isPointerOverContainer)return;const t=e.item.data;if(!t)return;let i=e.container.data;const r=e.previousContainer.data,o=i?i.children:this.dataRef();if(!o)return;this.unsettled=!0;const n=this.dropData.targetId&&this.dropData.targetId in this.treeMap?this.treeMap[c.default.toNumber(this.dropData.targetId)]:null;if(g.cookie("env")&&this.dropDebug&&(console.group("onDragDrop()"),c.default.forEach(["model drop: "+t.model.get("name"),`list shift: ${e.container.element.nativeElement.id} -> ${e.previousContainer.element.nativeElement.id}`,`index change (event): ${e.previousIndex} -> ${e.currentIndex}`,"current priority: "+t.model.get("priority"),"target drop action: "+this.dropData.action],e=>console.log(e))),n&&!this.nodeIsEqual(i,n)){if(g.cookie("env")&&this.dropDebug&&(console.log(`target drop node differs: ${n.id} -> ${n.model.get("name")}`),console.log("target drop node is the same as target node:",t.id===n.id)),t.id!==n.id)switch(this.dropData.action){case"before":case"after":const e=n.model.get("nestParent.id");i=e&&e in this.treeMap?this.treeMap[e]:null;break;case"inside":i=n}g.cookie("env")&&this.dropDebug&&console.log("target drop node selected:",i?`${i.id} -> ${i.model.get("name")}`:"none")}if(!this.nodeIsEqual(i,r)){if(i){switch(this.dropData.action){case"before":case"after":let e=i.children.findIndex(e=>e.id===t.id);"after"===this.dropData.action&&e++,i.children.splice(e,0,t);break;case"inside":i.children.push(t)}i.meta.expanded=!0}r&&this.removeNode(r.children,t),t.model.set("nestParent",this.buildNodePatch(i)),g.cookie("env")&&this.dropDebug&&console.log("new parent: "+(t.model.get("nestParent.name")||null))}const a=i?i.children:o;let d=e.currentIndex;if(this.cdkDropListSortingDisabled)switch(d=null,this.dropData.action){case"before":case"after":d=a.findIndex(e=>e.id===n.id),"after"===this.dropData.action&&d++,g.cookie("env")&&this.dropDebug&&console.log("index change (drop node):",`${e.previousIndex} -> ${d}`)}if(c.default.isNumber(d)){s.moveItemInArray(a,e.previousIndex,d);let i=0;c.default.forEach(a,e=>{e.model&&e.model.set&&e.model.set("priority",i++)}),g.cookie("env")&&this.dropDebug&&console.log("new priority:",t.model.get("priority"))}g.cookie("env")&&this.dropDebug&&(console.log("new parent: "+(t.model.get("nestParent.name")||null)),console.groupEnd()),t.model.save(),this.unsettled=!1}onDragMove(e){const t=this.document.elementFromPoint(e.pointerPosition.x,e.pointerPosition.y);if(!t)return void this.clearDragData();const i=t.classList.contains("tree-node-content")?t:t.closest(".tree-node-content");if(!i)return void this.clearDragData();this.dropData={targetId:i.getAttribute("data-id")};const s=i.getBoundingClientRect(),r=s.height/3;e.pointerPosition.y-s.top<r?this.dropData.action="before":e.pointerPosition.y-s.top>2*r?this.dropData.action="after":this.dropData.action="inside",this.showDragData()}showDragData(){this.clearDragData(),this.dropData&&this.document.getElementById("node-"+this.dropData.targetId).classList.add("drop-"+this.dropData.action)}clearDragData(e=!1){e&&(this.dropData=null),this.document.querySelectorAll(".drop-before").forEach(e=>e.classList.remove("drop-before")),this.document.querySelectorAll(".drop-after").forEach(e=>e.classList.remove("drop-after")),this.document.querySelectorAll(".drop-inside").forEach(e=>e.classList.remove("drop-inside"))}buildNodePatch(e=null){if(!e||!e.model)return null;const t={};return c.default.forEach(["id","name"],i=>{const s=e.model.get(i);s&&c.default.set(t,i,s)}),t}getSvg(e,t){const i=this.addSvgIcon(e,t);return new a.Observable(t=>{this.iconRegistry.getNamedSvgIcon(i).subscribe({error(t){console.error(`getSvg(${e}): ${t}`)},complete(){t.next(i)}})})}addSvgIcon(e,t){if(e in this.svgIcons)return this.svgIcons[e];t||(t={});const i=this.svgIcons[e]=c.default.uniqueId("selector_svg");return this.iconRegistry.addSvgIcon(i,this.sanitizer.bypassSecurityTrustResourceUrl(e),t),i}},b([i.Input(),I("design:type",String)],v.prototype,"target",void 0),b([i.Input(),I("design:type",String)],v.prototype,"targetSuffix",void 0),b([i.Input(),I("design:type",Number)],v.prototype,"id",void 0),b([i.Input(),I("design:type",Boolean)],v.prototype,"manifest",void 0),b([i.Input(),I("design:type",Boolean)],v.prototype,"decouple",void 0),b([i.Input(),I("design:type",Boolean)],v.prototype,"direct",void 0),b([i.Input(),I("design:type",Object)],v.prototype,"api",void 0),b([i.Input(),I("design:type",String)],v.prototype,"urlRoot",void 0),b([i.Input(),I("design:type",String)],v.prototype,"type",void 0),b([i.Input(),I("design:type",String)],v.prototype,"property",void 0),b([l.debounce(50),I("design:type",Function),I("design:paramtypes",[Object]),I("design:returntype",void 0)],v.prototype,"onDragMove",null),v=b([i.Component({selector:"sa-tree",templateUrl:`${D}/tree/tree.component${y}.html`}),S(5,i.Inject(m.DOCUMENT)),I("design:paramtypes",[n.MatIconRegistry,o.DomSanitizer,p.BackendService,i.ChangeDetectorRef,i.ElementRef,Document])],v),e("TreeComponent",v)}}});
1
+ System.register(["@angular/core","@angular/cdk/drag-drop","@angular/cdk/tree","@angular/platform-browser","@angular/material/icon","rxjs","@stratusjs/runtime/stratus","lodash","@agentepsilon/decko","../core/root.component","../backend.service","@stratusjs/angularjs/services/registry","@stratusjs/core/events/eventManager","@stratusjs/core/environment","@stratusjs/core/misc","@angular/common"],function(e,t){"use strict";var i,s,r,o,n,a,d,c,l,h,p,u,g,f,m,y,D,v,b,S=this&&this.__decorate||function(e,t,i,s){var r,o=arguments.length,n=o<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(n=(o<3?r(n):o>3?r(t,i,n):r(t,i))||n);return o>3&&n&&Object.defineProperty(t,i,n),n},I=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},M=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};t&&t.id;return{setters:[function(e){i=e},function(e){s=e},function(e){r=e},function(e){o=e},function(e){n=e},function(e){a=e},function(e){d=e},function(e){c=e},function(e){l=e},function(e){h=e},function(e){p=e},function(e){u=e},function(e){g=e},function(e){f=e},function(e){m=e},function(e){y=e}],execute:function(){"@stratusjs/angular","tree",D=f.cookie("env")?"":".min",v=`${d.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"").replace(/\/dist\/$/,"/src/")}`,b=class extends h.RootComponent{constructor(e,t,i,s,o,n){super(),this.iconRegistry=e,this.sanitizer=t,this.backend=i,this.ref=s,this.elementRef=o,this.document=n,this.title="tree_component",this.isInitialized=!1,this.isDestroyed=!1,this.isStyled=!1,this._=c.default,this.Stratus=d.Stratus,this.registry=new u.Registry,this.onChange=new a.Subject,this.unsettled=!1,this.svgIcons={},this.dblClickWait=500,this.dropLists=[],this.dropListIdMap={},this.dropListMap={},this.expandedNodeSet=new Set,this.dragging=!1,this.expandDelay=1e3,this.dropData=null,this.cdkDropListSortingDisabled=!0,this.treeControl=new r.NestedTreeControl(e=>e.children||[]),this.isBorder=!1,this.isDebug=!1}ngOnInit(){this.uid=c.default.uniqueId(`sa_${c.default.snakeCase("tree")}_component_`),d.Stratus.Instances[this.uid]=this,this.hydrate(this.elementRef,this.sanitizer,["title","uid","isInitialized","isDestroyed","isStyled","target","targetSuffix","id","manifest","decouple","direct","api","urlRoot","type","property","_","Stratus","registry","fetched","data","collection","model","dataSub","onChange","subscriber","unsettled","svgIcons","isSingleClick","dblClickWait","dropLists","dropListIdMap","dropListMap","expandedNodeSet","dragging","expandTimeout","expandDelay","dropData","cdkDropListSortingDisabled","tree","treeMap","metaMap","dataSource","treeControl","isBorder","isDebug","iconRegistry","sanitizer","backend","ref","elementRef","document","ngOnInit","ngOnDestroy","refresh","remove","removeNode","nodeIsEqual","fetchData","dataDefer","dataRef","trackDropLists","setExpanded","setExpandedClick","setExpandedDblClick","onDragDrop","onDragMove","showDragData","clearDragData","buildNodePatch","getSvg","addSvgIcon","hydrate","disableRefresh","stagger","reloading"]),d.Stratus.Internals.CssLoader(`${v}/tree/tree.component${D}.css`).then(()=>{this.isStyled=!0,this.refresh()}).catch(e=>{console.warn("Issue detected in CSS Loader for Component:",this),console.error(e),this.isStyled=!0,this.refresh()}),c.default.forEach({tree_check:d.Stratus.BaseUrl+"sitetheorycore/images/icons/check.svg",tree_add:d.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/add.svg",tree_delete:d.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/delete.svg",tree_edit:d.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/edit.svg",tree_visibility:d.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/visibility.svg"},(e,t)=>this.iconRegistry.addSvgIcon(t,this.sanitizer.bypassSecurityTrustResourceUrl(e)).getNamedSvgIcon(t)),this.fetchData().then(e=>{if(!(e&&e instanceof g.EventManager))return void console.warn("Unable to bind data from Registry!");const t=()=>{!this.unsettled&&e.completed&&(this.dataDefer(this.subscriber),this.refresh())};e.on("change",t),t(),e.on("add",(e,t)=>{let i=!1;const s=()=>{if(!t.completed)return;if(i)return;if(i=!0,!(t.getIdentifier()in this.treeMap))return void t.meta.set("postPersist",!0);const e=this.treeMap[t.getIdentifier()];e.meta.component&&"openDialog"in e.meta.component?e.meta.component.openDialog():t.meta.set("postPersist",!0)};t.on("change",s),s()})}),this.dataSub=new a.Observable(e=>this.dataDefer(e)),this.dropListIdMap[this.uid+"_parent_drop_list"]=!0,this.trackDropLists();const e=f.cookie("tree-node-border");e&&m.isJSON(e)&&(this.isBorder=JSON.parse(e));const t=f.cookie("tree-debug");t&&m.isJSON(t)&&(this.isDebug=JSON.parse(t)),this.isInitialized=!0,this.refresh()}ngOnDestroy(){this.isDestroyed=!0}refresh(){return this.isDestroyed?new Promise(e=>e()):(c.default.forEach(this.metaMap,e=>{e.component&&"refresh"in e.component&&e.component.refresh()}),super.refresh())}remove(e){}removeNode(e,t){const i=e.indexOf(t);return-1!==i&&(e.splice(i,1),!0)}nodeIsEqual(e,t){return e&&t?e.id===t.id:e===t}async fetchData(){return this.fetched?this.fetched:this.fetched=this.registry.fetch(d.Stratus.Select(this.elementRef.nativeElement),this)}dataDefer(e){if(this.subscriber=this.subscriber||e,!this.subscriber||!this.collection||!this.collection.completed)return void setTimeout(()=>{this.dataDefer(e)},500);const t=this.dataRef(!0);t&&t.length?e.next(t):setTimeout(()=>this.dataDefer(e),200)}dataRef(e=!1){if(!this.collection)return[];if(!e&&this.tree&&this.tree.length>0)return this.tree;let t=this.collection.models;return t&&c.default.isArray(t)&&t.length?(t=c.default.sortBy(t,["data.priority"]),this.metaMap=this.metaMap||{},this.treeMap={},this.tree=[],c.default.forEach(t,e=>{const t=c.default.get(e,"data.id"),i=c.default.get(e,"data.nestParent.id");this.dropListIdMap[`${this.uid}_node_${t}_drop_list`]=!0,c.default.has(this.metaMap,t)||(this.metaMap[t]={id:t,expanded:!0}),c.default.has(this.treeMap,t)||(this.treeMap[t]={id:t,model:e,children:[],meta:this.metaMap[t]}),this.treeMap[t].model=e,this.treeMap[t].meta=this.metaMap[t],i?(c.default.has(this.treeMap,i)||(this.treeMap[i]={id:i,model:null,children:[],meta:null}),this.treeMap[i].children.push(this.treeMap[t])):this.tree.push(this.treeMap[t])}),this.trackDropLists(),this.tree):[]}trackDropLists(){this.dropLists=[],c.default.forEach(this.dropListIdMap,(e,t)=>{if(!e)return;const i=t in this.dropListMap,s=i?this.dropListMap[t]:document.getElementById(t);s&&(this.dropLists.push(t),i||(this.dropListMap[t]=s))})}setExpanded(e){this.metaMap&&c.default.size(this.metaMap)&&(c.default.forEach(this.metaMap,t=>{t.expanded=e}),this.refresh())}setExpandedClick(e){this.isSingleClick=!0,setTimeout(()=>{this.isSingleClick&&this.setExpanded(e)},this.dblClickWait)}setExpandedDblClick(e){this.isSingleClick=!1,this.setExpanded(e)}async onDragDrop(e){if(!e.isPointerOverContainer)return;const t=e.item.data;if(!t)return;let i=e.container.data;const r=e.previousContainer.data,o=i?i.children:this.dataRef();if(!o)return;this.unsettled=!0;const n=this.dropData.targetId&&this.dropData.targetId in this.treeMap?this.treeMap[c.default.toNumber(this.dropData.targetId)]:null;if(f.cookie("env")&&this.isDebug&&(console.group("onDragDrop()"),c.default.forEach(["model drop: "+t.model.get("name"),`list shift: ${e.container.element.nativeElement.id} -> ${e.previousContainer.element.nativeElement.id}`,`index change (event): ${e.previousIndex} -> ${e.currentIndex}`,"current priority: "+t.model.get("priority"),"target drop action: "+this.dropData.action],e=>console.log(e))),n&&!this.nodeIsEqual(i,n)){if(f.cookie("env")&&this.isDebug&&(console.log(`target drop node differs: ${n.id} -> ${n.model.get("name")}`),console.log("target drop node is the same as target node:",t.id===n.id)),t.id!==n.id)switch(this.dropData.action){case"before":case"after":const e=n.model.get("nestParent.id");i=e&&e in this.treeMap?this.treeMap[e]:null;break;case"inside":i=n}f.cookie("env")&&this.isDebug&&console.log("target drop node selected:",i?`${i.id} -> ${i.model.get("name")}`:"none")}if(!this.nodeIsEqual(i,r)){if(i){switch(this.dropData.action){case"before":case"after":let e=i.children.findIndex(e=>e.id===t.id);"after"===this.dropData.action&&e++,i.children.splice(e,0,t);break;case"inside":i.children.push(t)}i.meta.expanded=!0}r&&this.removeNode(r.children,t),t.model.set("nestParent",this.buildNodePatch(i)),f.cookie("env")&&this.isDebug&&console.log("new parent: "+(t.model.get("nestParent.name")||null))}const a=i?i.children:o;let d=e.currentIndex;if(this.cdkDropListSortingDisabled)switch(d=null,this.dropData.action){case"before":case"after":d=a.findIndex(e=>e.id===n.id),"after"===this.dropData.action&&d++,f.cookie("env")&&this.isDebug&&console.log("index change (drop node):",`${e.previousIndex} -> ${d}`)}if(c.default.isNumber(d)){s.moveItemInArray(a,e.previousIndex,d);let i=0;c.default.forEach(a,e=>{e.model&&e.model.set&&e.model.set("priority",i++)}),f.cookie("env")&&this.isDebug&&console.log("new priority:",t.model.get("priority"))}f.cookie("env")&&this.isDebug&&console.groupEnd(),await t.model.save(),this.unsettled=!1,this.subscriber.next(this.dataRef()),this.ref.detectChanges()}onDragMove(e){const t=this.document.elementFromPoint(e.pointerPosition.x,e.pointerPosition.y);if(!t)return void this.clearDragData();const i=t.classList.contains("tree-node-content")?t:t.closest(".tree-node-content");if(!i)return void this.clearDragData();this.dropData={targetId:i.getAttribute("data-id")};const s=i.getBoundingClientRect(),r=s.height/3;e.pointerPosition.y-s.top<r?this.dropData.action="before":e.pointerPosition.y-s.top>2*r?this.dropData.action="after":this.dropData.action="inside",this.showDragData()}showDragData(){this.clearDragData(),this.dropData&&this.document.getElementById("node-"+this.dropData.targetId).classList.add("drop-"+this.dropData.action)}clearDragData(e=!1){e&&(this.dropData=null),this.document.querySelectorAll(".drop-before").forEach(e=>e.classList.remove("drop-before")),this.document.querySelectorAll(".drop-after").forEach(e=>e.classList.remove("drop-after")),this.document.querySelectorAll(".drop-inside").forEach(e=>e.classList.remove("drop-inside"))}buildNodePatch(e=null){if(!e||!e.model)return null;const t={};return c.default.forEach(["id","name"],i=>{const s=e.model.get(i);s&&c.default.set(t,i,s)}),t}getSvg(e,t){const i=this.addSvgIcon(e,t);return new a.Observable(t=>{this.iconRegistry.getNamedSvgIcon(i).subscribe({error(t){console.error(`getSvg(${e}): ${t}`)},complete(){t.next(i)}})})}addSvgIcon(e,t){if(e in this.svgIcons)return this.svgIcons[e];t||(t={});const i=this.svgIcons[e]=c.default.uniqueId("selector_svg");return this.iconRegistry.addSvgIcon(i,this.sanitizer.bypassSecurityTrustResourceUrl(e),t),i}},S([i.Input(),I("design:type",String)],b.prototype,"target",void 0),S([i.Input(),I("design:type",String)],b.prototype,"targetSuffix",void 0),S([i.Input(),I("design:type",Number)],b.prototype,"id",void 0),S([i.Input(),I("design:type",Boolean)],b.prototype,"manifest",void 0),S([i.Input(),I("design:type",Boolean)],b.prototype,"decouple",void 0),S([i.Input(),I("design:type",Boolean)],b.prototype,"direct",void 0),S([i.Input(),I("design:type",Object)],b.prototype,"api",void 0),S([i.Input(),I("design:type",String)],b.prototype,"urlRoot",void 0),S([i.Input(),I("design:type",String)],b.prototype,"type",void 0),S([i.Input(),I("design:type",String)],b.prototype,"property",void 0),S([l.debounce(50),I("design:type",Function),I("design:paramtypes",[Object]),I("design:returntype",void 0)],b.prototype,"onDragMove",null),b=S([i.Component({selector:"sa-tree",templateUrl:`${v}/tree/tree.component${D}.html`}),M(5,i.Inject(y.DOCUMENT)),I("design:paramtypes",[n.MatIconRegistry,o.DomSanitizer,p.BackendService,i.ChangeDetectorRef,i.ElementRef,Document])],b),e("TreeComponent",b)}}});