@acorex/components 16.18.49 → 16.19.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 (190) hide show
  1. package/fesm2022/acorex-components.mjs +726 -693
  2. package/fesm2022/acorex-components.mjs.map +1 -1
  3. package/index.d.ts +1 -0
  4. package/lib/base/base-page.class.d.ts +2 -2
  5. package/lib/base/element.class.d.ts +5 -5
  6. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +1 -1
  7. package/lib/data-filter/filter.class.d.ts +1 -1
  8. package/lib/data-list/core/data-list.component.d.ts +1 -1
  9. package/lib/property-editor/property-editor.class.d.ts +1 -1
  10. package/package.json +4 -6
  11. package/esm2022/acorex-components.mjs +0 -5
  12. package/esm2022/index.mjs +0 -159
  13. package/esm2022/lib/accordion/accordion.component.mjs +0 -45
  14. package/esm2022/lib/accordion/accordion.module.mjs +0 -20
  15. package/esm2022/lib/base/base-page.class.mjs +0 -97
  16. package/esm2022/lib/base/components.class.mjs +0 -17
  17. package/esm2022/lib/base/element.class.mjs +0 -307
  18. package/esm2022/lib/base/events.class.mjs +0 -17
  19. package/esm2022/lib/button/button.component.mjs +0 -74
  20. package/esm2022/lib/button/button.module.mjs +0 -21
  21. package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +0 -472
  22. package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
  23. package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +0 -59
  24. package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +0 -16
  25. package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +0 -226
  26. package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +0 -68
  27. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -136
  28. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
  29. package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -49
  30. package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -102
  31. package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -214
  32. package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
  33. package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -85
  34. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -112
  35. package/esm2022/lib/checkbox/checkbox.module.mjs +0 -20
  36. package/esm2022/lib/color-picker/color-box/color-box.component.mjs +0 -423
  37. package/esm2022/lib/color-picker/color-picker.component.mjs +0 -89
  38. package/esm2022/lib/color-picker/color-picker.module.mjs +0 -24
  39. package/esm2022/lib/context-menu/context-menu.component.mjs +0 -68
  40. package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -146
  41. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -20
  42. package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +0 -140
  43. package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +0 -119
  44. package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +0 -75
  45. package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +0 -119
  46. package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -267
  47. package/esm2022/lib/data-filter/filter.class.mjs +0 -46
  48. package/esm2022/lib/data-filter/filter.module.mjs +0 -88
  49. package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -168
  50. package/esm2022/lib/data-list/core/data-list.component.mjs +0 -37
  51. package/esm2022/lib/data-list/list/list.component.mjs +0 -134
  52. package/esm2022/lib/data-list/list/list.module.mjs +0 -22
  53. package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +0 -84
  54. package/esm2022/lib/data-source/datasource.component.mjs +0 -47
  55. package/esm2022/lib/data-source/datasource.module.mjs +0 -18
  56. package/esm2022/lib/data-source/read-param.mjs +0 -7
  57. package/esm2022/lib/date-picker/date-picker.component.mjs +0 -1102
  58. package/esm2022/lib/date-picker/date-picker.module.mjs +0 -50
  59. package/esm2022/lib/dialog/dialog.component.mjs +0 -26
  60. package/esm2022/lib/dialog/dialog.module.mjs +0 -21
  61. package/esm2022/lib/dialog/dialog.service.mjs +0 -160
  62. package/esm2022/lib/drawer/content.component.mjs +0 -18
  63. package/esm2022/lib/drawer/drawer-container.component.mjs +0 -38
  64. package/esm2022/lib/drawer/drawer.component.mjs +0 -146
  65. package/esm2022/lib/drawer/drawer.module.mjs +0 -23
  66. package/esm2022/lib/dropdown/dropdown.component.mjs +0 -186
  67. package/esm2022/lib/dropdown/dropdown.module.mjs +0 -26
  68. package/esm2022/lib/fieldset/fieldset.component.mjs +0 -57
  69. package/esm2022/lib/fieldset/fieldset.module.mjs +0 -19
  70. package/esm2022/lib/form-group/form-group.component.mjs +0 -108
  71. package/esm2022/lib/form-group/form-group.module.mjs +0 -22
  72. package/esm2022/lib/form-group/form-lable.directive.mjs +0 -23
  73. package/esm2022/lib/label/label.component.mjs +0 -22
  74. package/esm2022/lib/label/label.module.mjs +0 -21
  75. package/esm2022/lib/loading/loading-indicator.component.mjs +0 -18
  76. package/esm2022/lib/loading/loading-panel.component.mjs +0 -45
  77. package/esm2022/lib/loading/loading.module.mjs +0 -21
  78. package/esm2022/lib/loading/loading.service.mjs +0 -47
  79. package/esm2022/lib/menu/menu-item.component.mjs +0 -50
  80. package/esm2022/lib/menu/menu.component.mjs +0 -114
  81. package/esm2022/lib/menu/menu.module.mjs +0 -22
  82. package/esm2022/lib/menu/menu2.component.mjs +0 -100
  83. package/esm2022/lib/number-box/number-box.component.mjs +0 -715
  84. package/esm2022/lib/number-box/number-box.module.mjs +0 -21
  85. package/esm2022/lib/page/content.component.mjs +0 -27
  86. package/esm2022/lib/page/footer.component.mjs +0 -19
  87. package/esm2022/lib/page/page.component.mjs +0 -57
  88. package/esm2022/lib/page/page.module.mjs +0 -22
  89. package/esm2022/lib/panel-box/panel-box.component.mjs +0 -87
  90. package/esm2022/lib/panel-box/panel-box.module.mjs +0 -19
  91. package/esm2022/lib/password-box/password-box.component.mjs +0 -36
  92. package/esm2022/lib/password-box/password-box.module.mjs +0 -23
  93. package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +0 -50
  94. package/esm2022/lib/popover/overlay.service.mjs +0 -94
  95. package/esm2022/lib/popover/popover.component.mjs +0 -145
  96. package/esm2022/lib/popover/popover.module.mjs +0 -19
  97. package/esm2022/lib/popup/popup.component.mjs +0 -160
  98. package/esm2022/lib/popup/popup.module.mjs +0 -25
  99. package/esm2022/lib/popup/popup.service.mjs +0 -94
  100. package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -16
  101. package/esm2022/lib/progress-bar/progress-bar.module.mjs +0 -19
  102. package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +0 -65
  103. package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
  104. package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +0 -41
  105. package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
  106. package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +0 -118
  107. package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
  108. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -216
  109. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -76
  110. package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +0 -87
  111. package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
  112. package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +0 -72
  113. package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
  114. package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +0 -145
  115. package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +0 -59
  116. package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -76
  117. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -75
  118. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
  119. package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -73
  120. package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
  121. package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -30
  122. package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
  123. package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +0 -36
  124. package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
  125. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -35
  126. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
  127. package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +0 -55
  128. package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
  129. package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +0 -167
  130. package/esm2022/lib/property-editor/property-editor.class.mjs +0 -108
  131. package/esm2022/lib/property-editor/property-editor.module.mjs +0 -194
  132. package/esm2022/lib/query-builder/query-builder-group.component.mjs +0 -129
  133. package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -177
  134. package/esm2022/lib/query-builder/query-builder-rule.component.mjs +0 -428
  135. package/esm2022/lib/query-builder/query-builder.class.mjs +0 -42
  136. package/esm2022/lib/query-builder/query-builder.component.mjs +0 -92
  137. package/esm2022/lib/query-builder/query-builder.module.mjs +0 -62
  138. package/esm2022/lib/query-builder/query-builder.service.mjs +0 -199
  139. package/esm2022/lib/search-bar/search-bar.component.mjs +0 -293
  140. package/esm2022/lib/search-bar/search-bar.module.mjs +0 -61
  141. package/esm2022/lib/searchbox/searchbox.component.mjs +0 -138
  142. package/esm2022/lib/searchbox/searchbox.module.mjs +0 -24
  143. package/esm2022/lib/selectbox/selectbox.component.mjs +0 -1137
  144. package/esm2022/lib/selectbox/selectbox.module.mjs +0 -45
  145. package/esm2022/lib/selectbox/selectbox2.component.mjs +0 -617
  146. package/esm2022/lib/selection-list/selection-list.component.mjs +0 -120
  147. package/esm2022/lib/selection-list/selection-list.module.mjs +0 -21
  148. package/esm2022/lib/switch/switch.component.mjs +0 -55
  149. package/esm2022/lib/switch/switch.module.mjs +0 -20
  150. package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +0 -75
  151. package/esm2022/lib/tab-page/tab-page-host.component.mjs +0 -124
  152. package/esm2022/lib/tab-page/tab-page.module.mjs +0 -21
  153. package/esm2022/lib/tab-page/tab-page.service.mjs +0 -159
  154. package/esm2022/lib/tab-strip/tab-strip.component.mjs +0 -48
  155. package/esm2022/lib/tab-strip/tab-strip.module.mjs +0 -19
  156. package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +0 -25
  157. package/esm2022/lib/tab-view/tab-view.component.mjs +0 -110
  158. package/esm2022/lib/tab-view/tab-view.module.mjs +0 -21
  159. package/esm2022/lib/tab-view/tab.component.mjs +0 -33
  160. package/esm2022/lib/textarea/textarea.component.mjs +0 -44
  161. package/esm2022/lib/textarea/textarea.module.mjs +0 -21
  162. package/esm2022/lib/textbox/textbox.component.mjs +0 -46
  163. package/esm2022/lib/textbox/textbox.module.mjs +0 -36
  164. package/esm2022/lib/time-picker/time-picker.component.mjs +0 -1107
  165. package/esm2022/lib/time-picker/time-picker.module.mjs +0 -34
  166. package/esm2022/lib/toast/toast-message/toast-message.component.mjs +0 -76
  167. package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
  168. package/esm2022/lib/toast/toast.module.mjs +0 -21
  169. package/esm2022/lib/toast/toast.service.mjs +0 -45
  170. package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -77
  171. package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +0 -65
  172. package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +0 -56
  173. package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +0 -37
  174. package/esm2022/lib/toolbar/toolbar-item.mjs +0 -4
  175. package/esm2022/lib/toolbar/toolbar.component.mjs +0 -13
  176. package/esm2022/lib/toolbar/toolbar.module.mjs +0 -40
  177. package/esm2022/lib/tooltip/tooltip.directive.mjs +0 -115
  178. package/esm2022/lib/tooltip/tooltip.module.mjs +0 -19
  179. package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +0 -697
  180. package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +0 -33
  181. package/esm2022/lib/tree-view/tree-view.component.mjs +0 -854
  182. package/esm2022/lib/tree-view/tree-view.module.mjs +0 -22
  183. package/esm2022/lib/upload-file/upload-file.component.mjs +0 -299
  184. package/esm2022/lib/upload-file/upload-file.events.mjs +0 -2
  185. package/esm2022/lib/upload-file/upload-file.module.mjs +0 -24
  186. package/esm2022/lib/validation/validation-form.component.mjs +0 -68
  187. package/esm2022/lib/validation/validation-rule.widget.mjs +0 -133
  188. package/esm2022/lib/validation/validation.class.mjs +0 -2
  189. package/esm2022/lib/validation/validation.component.mjs +0 -89
  190. package/esm2022/lib/validation/validation.module.mjs +0 -34
@@ -1,194 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- import { AXCheckBoxPropertyEditorComponent } from './editors/check-editor/check-editor';
4
- import { AXCheckPropertyEditorModule } from './editors/check-editor/check.module';
5
- import { AXColorPropertyEditorComponent } from './editors/color-editor/color.editor';
6
- import { AXColorPropertyEditorModule } from './editors/color-editor/color.module';
7
- import { ColumnPropertyEditorComponent } from './editors/column-editor/column.editor';
8
- import { AXColumnPropertyEditorModule } from './editors/column-editor/column.module';
9
- import { AXConditionalColorPropertyEditorComponent } from './editors/conditional-color-editor/conditional-color.editor';
10
- import { AXConditionalColorPropertyEditorModule } from './editors/conditional-color-editor/conditional-color.module';
11
- import { AXDatePropertyEditorComponent } from './editors/date-editor/date.editor';
12
- import { AXDatePropertyEditorModule } from './editors/date-editor/date.module';
13
- import { AXNumberBoxPropertyEditorComponent } from './editors/number-editor/number.editor';
14
- import { AXNumberBoxPropertyEditorModule } from './editors/number-editor/number.module';
15
- import { AXRangePropertyEditorComponent } from './editors/range-editor/range.editor';
16
- import { AXRangePropertyEditorModule } from './editors/range-editor/range.module';
17
- import { AXSearchBarSelectBoxEditorComponent } from './editors/searchbar-selectbox-editor/searchbar-selectbox-editor';
18
- import { AXSelectBoxPropertyEditorComponent } from './editors/selectbox-editor/selectbox.editor';
19
- import { AXSelectBoxPropertyEditorModule } from './editors/selectbox-editor/selectbox.module';
20
- import { AXSelectionListPropertyEditorComponent } from './editors/selection-editor/selection-editor';
21
- import { AXSelectionPropertyEditorModule } from './editors/selection-editor/selection.module';
22
- import { AXSwitchPropertyEditorComponent } from './editors/switch-editor/number.editor';
23
- import { AXSwitchPropertyEditorModule } from './editors/switch-editor/number.module';
24
- import { AXTextPropertyEditorComponent } from './editors/text-editor/text.editor';
25
- import { AXTextPropertyEditorModule } from './editors/text-editor/text.module';
26
- import { AXTextareaPropertyEditorComponent } from './editors/textarea-editor/textarea.editor';
27
- import { AXTextareaPropertyEditorModule } from './editors/textarea-editor/textarea.module';
28
- import { AXTimePropertyEditorComponent } from './editors/time-editor/time.editor';
29
- import { AXTimePropertyEditorModule } from './editors/time-editor/time.module';
30
- import { AXPropertyEditorRendererDirective } from './property-editor-renderer.directive';
31
- import * as i0 from "@angular/core";
32
- import * as i1 from "@angular/router";
33
- const WDIGET_MODULES = [
34
- AXNumberBoxPropertyEditorModule,
35
- AXTextPropertyEditorModule,
36
- AXSelectBoxPropertyEditorModule,
37
- AXRangePropertyEditorModule,
38
- AXColorPropertyEditorModule,
39
- AXConditionalColorPropertyEditorModule,
40
- AXColumnPropertyEditorModule,
41
- AXSwitchPropertyEditorModule,
42
- AXDatePropertyEditorModule,
43
- AXTimePropertyEditorModule,
44
- AXTimePropertyEditorModule,
45
- AXTextareaPropertyEditorModule,
46
- AXCheckPropertyEditorModule,
47
- AXSelectionPropertyEditorModule
48
- ];
49
- export class AXProppertyEditorModule {
50
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXProppertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
51
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.7", ngImport: i0, type: AXProppertyEditorModule, declarations: [AXPropertyEditorRendererDirective], imports: [AXNumberBoxPropertyEditorModule,
52
- AXTextPropertyEditorModule,
53
- AXSelectBoxPropertyEditorModule,
54
- AXRangePropertyEditorModule,
55
- AXColorPropertyEditorModule,
56
- AXConditionalColorPropertyEditorModule,
57
- AXColumnPropertyEditorModule,
58
- AXSwitchPropertyEditorModule,
59
- AXDatePropertyEditorModule,
60
- AXTimePropertyEditorModule,
61
- AXTimePropertyEditorModule,
62
- AXTextareaPropertyEditorModule,
63
- AXCheckPropertyEditorModule,
64
- AXSelectionPropertyEditorModule, i1.RouterModule], exports: [AXPropertyEditorRendererDirective] });
65
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXProppertyEditorModule, imports: [WDIGET_MODULES,
66
- RouterModule.forChild([
67
- {
68
- path: 'ax/editors/selection',
69
- component: AXSelectionListPropertyEditorComponent
70
- },
71
- {
72
- component: AXCheckBoxPropertyEditorComponent,
73
- path: 'ax/editors/check'
74
- },
75
- {
76
- component: AXTextPropertyEditorComponent,
77
- path: 'ax/editors/text'
78
- },
79
- {
80
- component: AXTextareaPropertyEditorComponent,
81
- path: 'ax/editors/textarea'
82
- },
83
- {
84
- component: AXSelectBoxPropertyEditorComponent,
85
- path: 'ax/editors/select'
86
- },
87
- {
88
- component: AXSearchBarSelectBoxEditorComponent,
89
- path: 'ax/editors/selectBox'
90
- },
91
- {
92
- component: AXNumberBoxPropertyEditorComponent,
93
- path: 'ax/editors/number'
94
- },
95
- {
96
- component: AXRangePropertyEditorComponent,
97
- path: 'ax/editors/range'
98
- },
99
- {
100
- component: AXConditionalColorPropertyEditorComponent,
101
- path: 'ax/editors/conditional-color'
102
- },
103
- {
104
- component: AXColorPropertyEditorComponent,
105
- path: 'ax/editors/color'
106
- },
107
- {
108
- component: AXSwitchPropertyEditorComponent,
109
- path: 'ax/editors/switch'
110
- },
111
- {
112
- component: ColumnPropertyEditorComponent,
113
- path: 'ax/editors/column'
114
- },
115
- {
116
- component: AXDatePropertyEditorComponent,
117
- path: 'ax/editors/date'
118
- },
119
- {
120
- component: AXTimePropertyEditorComponent,
121
- path: 'ax/editors/time'
122
- }
123
- ])] });
124
- }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXProppertyEditorModule, decorators: [{
126
- type: NgModule,
127
- args: [{
128
- imports: [
129
- WDIGET_MODULES,
130
- RouterModule.forChild([
131
- {
132
- path: 'ax/editors/selection',
133
- component: AXSelectionListPropertyEditorComponent
134
- },
135
- {
136
- component: AXCheckBoxPropertyEditorComponent,
137
- path: 'ax/editors/check'
138
- },
139
- {
140
- component: AXTextPropertyEditorComponent,
141
- path: 'ax/editors/text'
142
- },
143
- {
144
- component: AXTextareaPropertyEditorComponent,
145
- path: 'ax/editors/textarea'
146
- },
147
- {
148
- component: AXSelectBoxPropertyEditorComponent,
149
- path: 'ax/editors/select'
150
- },
151
- {
152
- component: AXSearchBarSelectBoxEditorComponent,
153
- path: 'ax/editors/selectBox'
154
- },
155
- {
156
- component: AXNumberBoxPropertyEditorComponent,
157
- path: 'ax/editors/number'
158
- },
159
- {
160
- component: AXRangePropertyEditorComponent,
161
- path: 'ax/editors/range'
162
- },
163
- {
164
- component: AXConditionalColorPropertyEditorComponent,
165
- path: 'ax/editors/conditional-color'
166
- },
167
- {
168
- component: AXColorPropertyEditorComponent,
169
- path: 'ax/editors/color'
170
- },
171
- {
172
- component: AXSwitchPropertyEditorComponent,
173
- path: 'ax/editors/switch'
174
- },
175
- {
176
- component: ColumnPropertyEditorComponent,
177
- path: 'ax/editors/column'
178
- },
179
- {
180
- component: AXDatePropertyEditorComponent,
181
- path: 'ax/editors/date'
182
- },
183
- {
184
- component: AXTimePropertyEditorComponent,
185
- path: 'ax/editors/time'
186
- }
187
- ])
188
- ],
189
- exports: [AXPropertyEditorRendererDirective],
190
- declarations: [AXPropertyEditorRendererDirective],
191
- providers: []
192
- }]
193
- }] });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3Byb3BlcnR5LWVkaXRvci9wcm9wZXJ0eS1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3hILE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3JILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FB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RDtnQ0FDRSxTQUFTLEVBQUUsK0JBQStCO2dDQUMxQyxJQUFJLEVBQUUsbUJBQW1COzZCQUMxQjs0QkFDRDtnQ0FDRSxTQUFTLEVBQUUsNkJBQTZCO2dDQUN4QyxJQUFJLEVBQUUsbUJBQW1COzZCQUMxQjs0QkFDRDtnQ0FDRSxTQUFTLEVBQUUsNkJBQTZCO2dDQUN4QyxJQUFJLEVBQUUsaUJBQWlCOzZCQUN4Qjs0QkFDRDtnQ0FDRSxTQUFTLEVBQUUsNkJBQTZCO2dDQUN4QyxJQUFJLEVBQUUsaUJBQWlCOzZCQUN4Qjt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO29CQUM1QyxZQUFZLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDakQsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYQ2hlY2tCb3hQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy9jaGVjay1lZGl0b3IvY2hlY2stZWRpdG9yJztcbmltcG9ydCB7IEFYQ2hlY2tQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy9jaGVjay1lZGl0b3IvY2hlY2subW9kdWxlJztcbmltcG9ydCB7IEFYQ29sb3JQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy9jb2xvci1lZGl0b3IvY29sb3IuZWRpdG9yJztcbmltcG9ydCB7IEFYQ29sb3JQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy9jb2xvci1lZGl0b3IvY29sb3IubW9kdWxlJztcbmltcG9ydCB7IENvbHVtblByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL2NvbHVtbi1lZGl0b3IvY29sdW1uLmVkaXRvcic7XG5pbXBvcnQgeyBBWENvbHVtblByb3BlcnR5RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lZGl0b3JzL2NvbHVtbi1lZGl0b3IvY29sdW1uLm1vZHVsZSc7XG5pbXBvcnQgeyBBWENvbmRpdGlvbmFsQ29sb3JQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy9jb25kaXRpb25hbC1jb2xvci1lZGl0b3IvY29uZGl0aW9uYWwtY29sb3IuZWRpdG9yJztcbmltcG9ydCB7IEFYQ29uZGl0aW9uYWxDb2xvclByb3BlcnR5RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lZGl0b3JzL2NvbmRpdGlvbmFsLWNvbG9yLWVkaXRvci9jb25kaXRpb25hbC1jb2xvci5tb2R1bGUnO1xuaW1wb3J0IHsgQVhEYXRlUHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvZGF0ZS1lZGl0b3IvZGF0ZS5lZGl0b3InO1xuaW1wb3J0IHsgQVhEYXRlUHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvZGF0ZS1lZGl0b3IvZGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgQVhOdW1iZXJCb3hQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy9udW1iZXItZWRpdG9yL251bWJlci5lZGl0b3InO1xuaW1wb3J0IHsgQVhOdW1iZXJCb3hQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy9udW1iZXItZWRpdG9yL251bWJlci5tb2R1bGUnO1xuaW1wb3J0IHsgQVhSYW5nZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL3JhbmdlLWVkaXRvci9yYW5nZS5lZGl0b3InO1xuaW1wb3J0IHsgQVhSYW5nZVByb3BlcnR5RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lZGl0b3JzL3JhbmdlLWVkaXRvci9yYW5nZS5tb2R1bGUnO1xuaW1wb3J0IHsgQVhTZWFyY2hCYXJTZWxlY3RCb3hFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvc2VhcmNoYmFyLXNlbGVjdGJveC1lZGl0b3Ivc2VhcmNoYmFyLXNlbGVjdGJveC1lZGl0b3InO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy9zZWxlY3Rib3gtZWRpdG9yL3NlbGVjdGJveC5lZGl0b3InO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy9zZWxlY3Rib3gtZWRpdG9yL3NlbGVjdGJveC5tb2R1bGUnO1xuaW1wb3J0IHsgQVhTZWxlY3Rpb25MaXN0UHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvc2VsZWN0aW9uLWVkaXRvci9zZWxlY3Rpb24tZWRpdG9yJztcbmltcG9ydCB7IEFYU2VsZWN0aW9uUHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvc2VsZWN0aW9uLWVkaXRvci9zZWxlY3Rpb24ubW9kdWxlJztcbmltcG9ydCB7IEFYU3dpdGNoUHJvcGVydHlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvcnMvc3dpdGNoLWVkaXRvci9udW1iZXIuZWRpdG9yJztcbmltcG9ydCB7IEFYU3dpdGNoUHJvcGVydHlFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2VkaXRvcnMvc3dpdGNoLWVkaXRvci9udW1iZXIubW9kdWxlJztcbmltcG9ydCB7IEFYVGV4dFByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL3RleHQtZWRpdG9yL3RleHQuZWRpdG9yJztcbmltcG9ydCB7IEFYVGV4dFByb3BlcnR5RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lZGl0b3JzL3RleHQtZWRpdG9yL3RleHQubW9kdWxlJztcbmltcG9ydCB7IEFYVGV4dGFyZWFQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9ycy90ZXh0YXJlYS1lZGl0b3IvdGV4dGFyZWEuZWRpdG9yJztcbmltcG9ydCB7IEFYVGV4dGFyZWFQcm9wZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4vZWRpdG9ycy90ZXh0YXJlYS1lZGl0b3IvdGV4dGFyZWEubW9kdWxlJztcbmltcG9ydCB7IEFYVGltZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3JzL3RpbWUtZWRpdG9yL3RpbWUuZWRpdG9yJztcbmltcG9ydCB7IEFYVGltZVByb3BlcnR5RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lZGl0b3JzL3RpbWUtZWRpdG9yL3RpbWUubW9kdWxlJztcbmltcG9ydCB7IEFYUHJvcGVydHlFZGl0b3JSZW5kZXJlckRpcmVjdGl2ZSB9IGZyb20gJy4vcHJvcGVydHktZWRpdG9yLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IFdESUdFVF9NT0RVTEVTID0gW1xuICBBWE51bWJlckJveFByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWFRleHRQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhTZWxlY3RCb3hQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhSYW5nZVByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWENvbG9yUHJvcGVydHlFZGl0b3JNb2R1bGUsXG4gIEFYQ29uZGl0aW9uYWxDb2xvclByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWENvbHVtblByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWFN3aXRjaFByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWERhdGVQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhUaW1lUHJvcGVydHlFZGl0b3JNb2R1bGUsXG4gIEFYVGltZVByb3BlcnR5RWRpdG9yTW9kdWxlLFxuICBBWFRleHRhcmVhUHJvcGVydHlFZGl0b3JNb2R1bGUsXG4gIEFYQ2hlY2tQcm9wZXJ0eUVkaXRvck1vZHVsZSxcbiAgQVhTZWxlY3Rpb25Qcm9wZXJ0eUVkaXRvck1vZHVsZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFdESUdFVF9NT0RVTEVTLFxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL3NlbGVjdGlvbicsXG4gICAgICAgIGNvbXBvbmVudDogQVhTZWxlY3Rpb25MaXN0UHJvcGVydHlFZGl0b3JDb21wb25lbnRcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQVhDaGVja0JveFByb3BlcnR5RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy9jaGVjaydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQVhUZXh0UHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL3RleHQnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYVGV4dGFyZWFQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgcGF0aDogJ2F4L2VkaXRvcnMvdGV4dGFyZWEnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYU2VsZWN0Qm94UHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL3NlbGVjdCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQVhTZWFyY2hCYXJTZWxlY3RCb3hFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL3NlbGVjdEJveCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQVhOdW1iZXJCb3hQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgcGF0aDogJ2F4L2VkaXRvcnMvbnVtYmVyJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiBBWFJhbmdlUHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL3JhbmdlJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiBBWENvbmRpdGlvbmFsQ29sb3JQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgcGF0aDogJ2F4L2VkaXRvcnMvY29uZGl0aW9uYWwtY29sb3InXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYQ29sb3JQcm9wZXJ0eUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgcGF0aDogJ2F4L2VkaXRvcnMvY29sb3InXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYU3dpdGNoUHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL3N3aXRjaCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQ29sdW1uUHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL2NvbHVtbidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDogQVhEYXRlUHJvcGVydHlFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIHBhdGg6ICdheC9lZGl0b3JzL2RhdGUnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IEFYVGltZVByb3BlcnR5RWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBwYXRoOiAnYXgvZWRpdG9ycy90aW1lJ1xuICAgICAgfVxuICAgIF0pXG4gIF0sXG4gIGV4cG9ydHM6IFtBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmVdLFxuICBkZWNsYXJhdGlvbnM6IFtBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYUHJvcHBlcnR5RWRpdG9yTW9kdWxlIHt9XG4iXX0=
@@ -1,129 +0,0 @@
1
- import { Component, Input, ViewEncapsulation, Output, EventEmitter, ViewChild } from '@angular/core';
2
- import { AXValidationFormComponent } from '../validation/validation-form.component';
3
- import { AXQueryBuilderRuleComponent } from './query-builder-rule.component';
4
- import { AXQueryBuilderGroup, AXQueryBuilderRule } from './query-builder.class';
5
- import { AXQueryBuilderService } from './query-builder.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./query-builder.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "./query-builder-rule.component";
10
- export class AXQueryBuilderGroupComponent {
11
- qs;
12
- queryRule;
13
- form;
14
- group;
15
- collapsed = false;
16
- parent;
17
- fields = [];
18
- mode = 'new';
19
- //ruleIsEditing: boolean = true;
20
- groupRuleChanged = new EventEmitter();
21
- showGroupCondition = false;
22
- constructor(qs) {
23
- this.qs = qs;
24
- }
25
- ngOnInit() { }
26
- ruleDelete(e) {
27
- this.group.items = this.group.items.filter((c) => c !== e.items);
28
- this.ruleChanged(null);
29
- }
30
- handleRemoveClick() {
31
- this.parent.items = this.parent.items.filter((c) => c !== this.group);
32
- this.groupRuleChanged.emit({ groups: this.group, component: this });
33
- }
34
- saveRule() {
35
- // this.form.validate().then(c => {
36
- // });
37
- // return this.queryRule.saveRule();
38
- }
39
- addRule() {
40
- const item = new AXQueryBuilderRule();
41
- if (this.fields.length > 0) {
42
- // item.caption = this.fields[0].caption;
43
- // item.dataType = this.fields[0].dataType;
44
- // item.dataField = this.fields[0].dataField;
45
- }
46
- else {
47
- }
48
- item.operator = 'equal';
49
- if (item.dataType === 'string') {
50
- item.value = '';
51
- }
52
- if (item.dataType === 'number') {
53
- item.value = 0;
54
- }
55
- if (this.group.items == undefined) {
56
- this.group.items = [];
57
- }
58
- this.group.items.push(item);
59
- this.ruleChanged(null);
60
- }
61
- addGroup() {
62
- this.showGroupCondition = true;
63
- }
64
- addGroupOR() {
65
- this.makeGroup('OR');
66
- }
67
- addGroupAND() {
68
- this.makeGroup('AND');
69
- }
70
- makeGroup(_condition) {
71
- let r = new AXQueryBuilderGroup();
72
- r.condition = _condition;
73
- r.items = [];
74
- r.queryString = '';
75
- if (this.group.items == undefined) {
76
- this.group.items = [];
77
- }
78
- this.group.items.push(r);
79
- this.showGroupCondition = false;
80
- this.ruleChanged(null);
81
- }
82
- changeDetailMode() {
83
- //if (this.parent) {
84
- this.collapsed = !this.collapsed;
85
- // this.ruleIsEditing = false;
86
- //}
87
- }
88
- handleChangeClick() {
89
- if (this.group.condition == 'OR') {
90
- this.group.condition = 'AND';
91
- }
92
- else {
93
- this.group.condition = 'OR';
94
- }
95
- this.ruleChanged(null);
96
- }
97
- ruleChanged(e) {
98
- ;
99
- // this.group.queryString = this.qs.getQueryString(this.group, 'simple');
100
- this.qs.getQueryStringSimple(this.group).then((c) => {
101
- this.group.queryString = c;
102
- this.group.queryStringElastic = this.qs.getQueryString(this.group, 'elastic');
103
- this.groupRuleChanged.emit({ groups: this.group, component: this });
104
- });
105
- }
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderGroupComponent, deps: [{ token: i1.AXQueryBuilderService }], target: i0.ɵɵFactoryTarget.Component });
107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXQueryBuilderGroupComponent, selector: "ax-query-group", inputs: { group: "group", parent: "parent", fields: "fields", mode: "mode" }, outputs: { groupRuleChanged: "groupRuleChanged" }, host: { classAttribute: "ax ax-query-group" }, viewQueries: [{ propertyName: "queryRule", first: true, predicate: ["queryRule"], descendants: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"header\">\n <div class=\"condition\" *ngIf=\"parent\">\n <div class=\"text {{parent.condition}}\">\n <span>{{parent.condition }}</span>\n </div>\n </div>\n <div class=\"handler\">\n <i class=\"far fa-grip-lines-vertical\"></i>\n </div>\n\n <div class=\"detail {{group.condition}}\" (click)=\"changeDetailMode()\">\n <div class=\"collapsed\" *ngIf=\"collapsed;else expandedTemplate\">\n {{group.queryString}}\n </div>\n <ng-template #expandedTemplate>\n <div class=\"expanded\">\n <strong>{{group.condition == 'OR' ? '\u06CC\u06A9\u06CC \u0627\u0632' : '\u0647\u0645\u0647' }} <span>\u0634\u0631\u0627\u06CC\u0637 \u0632\u06CC\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u062F</span> </strong>\n </div>\n </ng-template>\n </div>\n <div class=\"buttons-list\">\n <div class=\"button remove\" *ngIf=\"parent && mode=='new'\" (click)=\"handleRemoveClick()\">\n <i class=\"far fa-times ax-danger-color\"></i>\n </div>\n <div class=\"button edit\" *ngIf=\"mode=='new'\" (click)=\"handleChangeClick()\">\n <i class=\"far fa-retweet ax-danger-color\"></i>\n </div>\n </div>\n</div>\n<div class=\"rules\" *ngIf=\"!collapsed\">\n <!-- <ax-validation-form #form> -->\n\n <div *ngFor=\"let item of group.items\" class=\"group-item\">\n <ng-container *ngIf=\"item.condition;else ruleTemplate\">\n <ax-query-group (groupRuleChanged)=\"ruleChanged($event)\" [mode]=\"mode\" [group]=\"item\" [fields]=\"fields\"\n [parent]=\"group\">\n </ax-query-group>\n </ng-container>\n <ng-template #ruleTemplate>\n <ax-query-rule #queryRule (ruleChanged)=\"ruleChanged($event)\" [mode]=\"mode\"\n (onRuleDelete)=\"ruleDelete($event)\" [rule]=\"item\" [fields]=\"fields\" [parent]=\"group\">\n </ax-query-rule>\n </ng-template>\n </div>\n <!-- </ax-validation-form> -->\n <div class=\"group-item\" *ngIf=\"mode=='new'\">\n <div class=\"ax-query-rule\">\n <div class=\"condition\">\n </div>\n <div class=\"handler\">\n <i class=\"far fa-grip-lines-vertical\"></i>\n </div>\n <div class=\"add-rule\" (click)=\"addRule()\" *ngIf=\"mode=='new'\">\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>\u0634\u0631\u0637</span>\n </div>\n <div class=\"add-group\" (click)=\"addGroup()\" *ngIf=\"!showGroupCondition && mode=='new'\">\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>\u06AF\u0631\u0648\u0647</span>\n </div>\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition OR\" (click)=\"addGroupOR()\">\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>OR</span>\n </div>\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition AND\" (click)=\"addGroupAND()\">\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>AND</span>\n </div>\n\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AXQueryBuilderGroupComponent, selector: "ax-query-group", inputs: ["group", "parent", "fields", "mode"], outputs: ["groupRuleChanged"] }, { kind: "component", type: i3.AXQueryBuilderRuleComponent, selector: "ax-query-rule", inputs: ["isEditing", "rule", "parent", "mode", "fields"], outputs: ["onRuleDelete", "ruleChanged"] }], encapsulation: i0.ViewEncapsulation.None });
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXQueryBuilderGroupComponent, decorators: [{
110
- type: Component,
111
- args: [{ selector: 'ax-query-group', host: { class: 'ax ax-query-group' }, encapsulation: ViewEncapsulation.None, template: "<div class=\"header\">\n <div class=\"condition\" *ngIf=\"parent\">\n <div class=\"text {{parent.condition}}\">\n <span>{{parent.condition }}</span>\n </div>\n </div>\n <div class=\"handler\">\n <i class=\"far fa-grip-lines-vertical\"></i>\n </div>\n\n <div class=\"detail {{group.condition}}\" (click)=\"changeDetailMode()\">\n <div class=\"collapsed\" *ngIf=\"collapsed;else expandedTemplate\">\n {{group.queryString}}\n </div>\n <ng-template #expandedTemplate>\n <div class=\"expanded\">\n <strong>{{group.condition == 'OR' ? '\u06CC\u06A9\u06CC \u0627\u0632' : '\u0647\u0645\u0647' }} <span>\u0634\u0631\u0627\u06CC\u0637 \u0632\u06CC\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u062F</span> </strong>\n </div>\n </ng-template>\n </div>\n <div class=\"buttons-list\">\n <div class=\"button remove\" *ngIf=\"parent && mode=='new'\" (click)=\"handleRemoveClick()\">\n <i class=\"far fa-times ax-danger-color\"></i>\n </div>\n <div class=\"button edit\" *ngIf=\"mode=='new'\" (click)=\"handleChangeClick()\">\n <i class=\"far fa-retweet ax-danger-color\"></i>\n </div>\n </div>\n</div>\n<div class=\"rules\" *ngIf=\"!collapsed\">\n <!-- <ax-validation-form #form> -->\n\n <div *ngFor=\"let item of group.items\" class=\"group-item\">\n <ng-container *ngIf=\"item.condition;else ruleTemplate\">\n <ax-query-group (groupRuleChanged)=\"ruleChanged($event)\" [mode]=\"mode\" [group]=\"item\" [fields]=\"fields\"\n [parent]=\"group\">\n </ax-query-group>\n </ng-container>\n <ng-template #ruleTemplate>\n <ax-query-rule #queryRule (ruleChanged)=\"ruleChanged($event)\" [mode]=\"mode\"\n (onRuleDelete)=\"ruleDelete($event)\" [rule]=\"item\" [fields]=\"fields\" [parent]=\"group\">\n </ax-query-rule>\n </ng-template>\n </div>\n <!-- </ax-validation-form> -->\n <div class=\"group-item\" *ngIf=\"mode=='new'\">\n <div class=\"ax-query-rule\">\n <div class=\"condition\">\n </div>\n <div class=\"handler\">\n <i class=\"far fa-grip-lines-vertical\"></i>\n </div>\n <div class=\"add-rule\" (click)=\"addRule()\" *ngIf=\"mode=='new'\">\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>\u0634\u0631\u0637</span>\n </div>\n <div class=\"add-group\" (click)=\"addGroup()\" *ngIf=\"!showGroupCondition && mode=='new'\">\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>\u06AF\u0631\u0648\u0647</span>\n </div>\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition OR\" (click)=\"addGroupOR()\">\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>OR</span>\n </div>\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition AND\" (click)=\"addGroupAND()\">\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>AND</span>\n </div>\n\n </div>\n </div>\n</div>" }]
112
- }], ctorParameters: () => [{ type: i1.AXQueryBuilderService }], propDecorators: { queryRule: [{
113
- type: ViewChild,
114
- args: ['queryRule']
115
- }], form: [{
116
- type: ViewChild,
117
- args: [AXValidationFormComponent]
118
- }], group: [{
119
- type: Input
120
- }], parent: [{
121
- type: Input
122
- }], fields: [{
123
- type: Input
124
- }], mode: [{
125
- type: Input
126
- }], groupRuleChanged: [{
127
- type: Output
128
- }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBcUQsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuSSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFPaEUsTUFBTSxPQUFPLDRCQUE0QjtJQXdCbkI7SUF2QkksU0FBUyxDQUE4QjtJQUN6QixJQUFJLENBQTRCO0lBRXRFLEtBQUssQ0FBc0I7SUFFM0IsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUczQixNQUFNLENBQXNCO0lBRzVCLE1BQU0sR0FBVSxFQUFFLENBQUM7SUFHbkIsSUFBSSxHQUFtQixLQUFLLENBQUM7SUFFN0IsZ0NBQWdDO0lBR2hDLGdCQUFnQixHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztJQUV4RyxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFFcEMsWUFBb0IsRUFBeUI7UUFBekIsT0FBRSxHQUFGLEVBQUUsQ0FBdUI7SUFBRyxDQUFDO0lBRWpELFFB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QixDQUFDLElBQUk7MEZBR2IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNnQixJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLHlCQUF5QjtnQkFFcEMsS0FBSztzQkFESixLQUFLO2dCQU1OLE1BQU07c0JBREwsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQU1OLGdCQUFnQjtzQkFEZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclJ1bGVDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItcnVsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJHcm91cCwgQVhRdWVyeUJ1aWxkZXJHcm91cEV2ZW50LCBBWFF1ZXJ5QnVpbGRlclJ1bGVFdmVudCwgQVhRdWVyeUJ1aWxkZXJSdWxlIH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLmNsYXNzJztcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vcXVlcnktYnVpbGRlci5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXF1ZXJ5LWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICdxdWVyeS1idWlsZGVyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyBjbGFzczogJ2F4IGF4LXF1ZXJ5LWdyb3VwJyB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdxdWVyeVJ1bGUnKSBxdWVyeVJ1bGU6IEFYUXVlcnlCdWlsZGVyUnVsZUNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50KSBmb3JtOiBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50O1xuICBASW5wdXQoKVxuICBncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cDtcblxuICBjb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwYXJlbnQ6IEFYUXVlcnlCdWlsZGVyR3JvdXA7XG5cbiAgQElucHV0KClcbiAgZmllbGRzOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIG1vZGU6ICduZXcnIHwgJ2VkaXQnID0gJ25ldyc7XG5cbiAgLy9ydWxlSXNFZGl0aW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgZ3JvdXBSdWxlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudD4oKTtcblxuICBzaG93R3JvdXBDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHFzOiBBWFF1ZXJ5QnVpbGRlclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIHJ1bGVEZWxldGUoZTogQVhRdWVyeUJ1aWxkZXJSdWxlRXZlbnQpIHtcbiAgICB0aGlzLmdyb3VwLml0ZW1zID0gdGhpcy5ncm91cC5pdGVtcy5maWx0ZXIoKGMpID0+IGMgIT09IGUuaXRlbXMpO1xuICAgIHRoaXMucnVsZUNoYW5nZWQobnVsbCk7XG4gIH1cbiAgaGFuZGxlUmVtb3ZlQ2xpY2soKSB7XG4gICAgdGhpcy5wYXJlbnQuaXRlbXMgPSB0aGlzLnBhcmVudC5pdGVtcy5maWx0ZXIoKGMpID0+IGMgIT09IHRoaXMuZ3JvdXApO1xuICAgIHRoaXMuZ3JvdXBSdWxlQ2hhbmdlZC5lbWl0KHsgZ3JvdXBzOiB0aGlzLmdyb3VwLCBjb21wb25lbnQ6IHRoaXMgfSk7XG4gIH1cbiAgc2F2ZVJ1bGUoKSB7XG4gICAgLy8gdGhpcy5mb3JtLnZhbGlkYXRlKCkudGhlbihjID0+IHtcbiAgICAvLyB9KTtcbiAgICAvLyByZXR1cm4gdGhpcy5xdWVyeVJ1bGUuc2F2ZVJ1bGUoKTtcbiAgfVxuICBhZGRSdWxlKCkge1xuICAgIGNvbnN0IGl0ZW06IEFYUXVlcnlCdWlsZGVyUnVsZSA9IG5ldyBBWFF1ZXJ5QnVpbGRlclJ1bGUoKTtcbiAgICBpZiAodGhpcy5maWVsZHMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gIGl0ZW0uY2FwdGlvbiA9IHRoaXMuZmllbGRzWzBdLmNhcHRpb247XG4gICAgICAvLyBpdGVtLmRhdGFUeXBlID0gdGhpcy5maWVsZHNbMF0uZGF0YVR5cGU7XG4gICAgICAvLyAgaXRlbS5kYXRhRmllbGQgPSB0aGlzLmZpZWxkc1swXS5kYXRhRmllbGQ7XG4gICAgfSBlbHNlIHtcbiAgICB9XG4gICAgaXRlbS5vcGVyYXRvciA9ICdlcXVhbCc7XG5cbiAgICBpZiAoaXRlbS5kYXRhVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGl0ZW0udmFsdWUgPSAnJztcbiAgICB9XG4gICAgaWYgKGl0ZW0uZGF0YVR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICBpdGVtLnZhbHVlID0gMDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ncm91cC5pdGVtcyA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZ3JvdXAuaXRlbXMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5ncm91cC5pdGVtcy5wdXNoKGl0ZW0pO1xuICAgIHRoaXMucnVsZUNoYW5nZWQobnVsbCk7XG4gIH1cbiAgYWRkR3JvdXAoKSB7XG4gICAgdGhpcy5zaG93R3JvdXBDb25kaXRpb24gPSB0cnVlO1xuICB9XG4gIGFkZEdyb3VwT1IoKSB7XG4gICAgdGhpcy5tYWtlR3JvdXAoJ09SJyk7XG4gIH1cbiAgYWRkR3JvdXBBTkQoKSB7XG4gICAgdGhpcy5tYWtlR3JvdXAoJ0FORCcpO1xuICB9XG4gIG1ha2VHcm91cChfY29uZGl0aW9uKSB7XG4gICAgbGV0IHI6IEFYUXVlcnlCdWlsZGVyR3JvdXAgPSBuZXcgQVhRdWVyeUJ1aWxkZXJHcm91cCgpO1xuICAgIHIuY29uZGl0aW9uID0gX2NvbmRpdGlvbjtcbiAgICByLml0ZW1zID0gW107XG4gICAgci5xdWVyeVN0cmluZyA9ICcnO1xuICAgIGlmICh0aGlzLmdyb3VwLml0ZW1zID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5ncm91cC5pdGVtcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLmdyb3VwLml0ZW1zLnB1c2gocik7XG4gICAgdGhpcy5zaG93R3JvdXBDb25kaXRpb24gPSBmYWxzZTtcbiAgICB0aGlzLnJ1bGVDaGFuZ2VkKG51bGwpO1xuICB9XG4gIGNoYW5nZURldGFpbE1vZGUoKSB7XG4gICAgLy9pZiAodGhpcy5wYXJlbnQpIHtcbiAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcbiAgICAvLyAgdGhpcy5ydWxlSXNFZGl0aW5nID0gZmFsc2U7XG4gICAgLy99XG4gIH1cblxuICBoYW5kbGVDaGFuZ2VDbGljaygpIHtcbiAgICBpZiAodGhpcy5ncm91cC5jb25kaXRpb24gPT0gJ09SJykge1xuICAgICAgdGhpcy5ncm91cC5jb25kaXRpb24gPSAnQU5EJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ncm91cC5jb25kaXRpb24gPSAnT1InO1xuICAgIH1cbiAgICB0aGlzLnJ1bGVDaGFuZ2VkKG51bGwpO1xuICB9XG5cbiAgcnVsZUNoYW5nZWQoZSkge1xuICAgIDtcbiAgICAvLyB0aGlzLmdyb3VwLnF1ZXJ5U3RyaW5nID0gdGhpcy5xcy5nZXRRdWVyeVN0cmluZyh0aGlzLmdyb3VwLCAnc2ltcGxlJyk7XG4gICAgdGhpcy5xcy5nZXRRdWVyeVN0cmluZ1NpbXBsZSh0aGlzLmdyb3VwKS50aGVuKChjKSA9PiB7XG4gICAgICB0aGlzLmdyb3VwLnF1ZXJ5U3RyaW5nID0gYztcbiAgICAgIHRoaXMuZ3JvdXAucXVlcnlTdHJpbmdFbGFzdGljID0gdGhpcy5xcy5nZXRRdWVyeVN0cmluZyh0aGlzLmdyb3VwLCAnZWxhc3RpYycpO1xuICAgICAgdGhpcy5ncm91cFJ1bGVDaGFuZ2VkLmVtaXQoeyBncm91cHM6IHRoaXMuZ3JvdXAsIGNvbXBvbmVudDogdGhpcyB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb25kaXRpb25cIiAqbmdJZj1cInBhcmVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dCB7e3BhcmVudC5jb25kaXRpb259fVwiPlxuICAgICAgICAgICAgPHNwYW4+e3twYXJlbnQuY29uZGl0aW9uIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaGFuZGxlclwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1ncmlwLWxpbmVzLXZlcnRpY2FsXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImRldGFpbCB7e2dyb3VwLmNvbmRpdGlvbn19XCIgKGNsaWNrKT1cImNoYW5nZURldGFpbE1vZGUoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2VkXCIgKm5nSWY9XCJjb2xsYXBzZWQ7ZWxzZSBleHBhbmRlZFRlbXBsYXRlXCI+XG4gICAgICAgICAgICB7e2dyb3VwLnF1ZXJ5U3RyaW5nfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZXhwYW5kZWRUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleHBhbmRlZFwiPlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+e3tncm91cC5jb25kaXRpb24gPT0gJ09SJyA/ICfbjNqp24wg2KfYsicgOiAn2YfZhdmHJyB9fSA8c3Bhbj7YtNix2KfbjNi3INiy24zYsSDYqNix2YLYsdin2LEg2KjYp9i02K88L3NwYW4+IDwvc3Ryb25nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uIHJlbW92ZVwiICpuZ0lmPVwicGFyZW50ICYmIG1vZGU9PSduZXcnXCIgKGNsaWNrKT1cImhhbmRsZVJlbW92ZUNsaWNrKClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXRpbWVzIGF4LWRhbmdlci1jb2xvclwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24gZWRpdFwiICpuZ0lmPVwibW9kZT09J25ldydcIiAoY2xpY2spPVwiaGFuZGxlQ2hhbmdlQ2xpY2soKVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtcmV0d2VldCBheC1kYW5nZXItY29sb3JcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicnVsZXNcIiAqbmdJZj1cIiFjb2xsYXBzZWRcIj5cbiAgICA8IS0tIDxheC12YWxpZGF0aW9uLWZvcm0gI2Zvcm0+IC0tPlxuXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cC5pdGVtc1wiIGNsYXNzPVwiZ3JvdXAtaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jb25kaXRpb247ZWxzZSBydWxlVGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxheC1xdWVyeS1ncm91cCAoZ3JvdXBSdWxlQ2hhbmdlZCk9XCJydWxlQ2hhbmdlZCgkZXZlbnQpXCIgW21vZGVdPVwibW9kZVwiIFtncm91cF09XCJpdGVtXCIgW2ZpZWxkc109XCJmaWVsZHNcIlxuICAgICAgICAgICAgICAgIFtwYXJlbnRdPVwiZ3JvdXBcIj5cbiAgICAgICAgICAgIDwvYXgtcXVlcnktZ3JvdXA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3J1bGVUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxheC1xdWVyeS1ydWxlICNxdWVyeVJ1bGUgKHJ1bGVDaGFuZ2VkKT1cInJ1bGVDaGFuZ2VkKCRldmVudClcIiBbbW9kZV09XCJtb2RlXCJcbiAgICAgICAgICAgICAgICAob25SdWxlRGVsZXRlKT1cInJ1bGVEZWxldGUoJGV2ZW50KVwiIFtydWxlXT1cIml0ZW1cIiBbZmllbGRzXT1cImZpZWxkc1wiIFtwYXJlbnRdPVwiZ3JvdXBcIj5cbiAgICAgICAgICAgIDwvYXgtcXVlcnktcnVsZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDwvYXgtdmFsaWRhdGlvbi1mb3JtPiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtaXRlbVwiICpuZ0lmPVwibW9kZT09J25ldydcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LXF1ZXJ5LXJ1bGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb25kaXRpb25cIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhhbmRsZXJcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1ncmlwLWxpbmVzLXZlcnRpY2FsXCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLXJ1bGVcIiAoY2xpY2spPVwiYWRkUnVsZSgpXCIgKm5nSWY9XCJtb2RlPT0nbmV3J1wiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXBsdXNcIj48L2k+Jm5ic3A7Jm5ic3A7PHNwYW4+2LTYsdi3PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLWdyb3VwXCIgKGNsaWNrKT1cImFkZEdyb3VwKClcIiAqbmdJZj1cIiFzaG93R3JvdXBDb25kaXRpb24gJiYgbW9kZT09J25ldydcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1wbHVzXCI+PC9pPiZuYnNwOyZuYnNwOzxzcGFuPtqv2LHZiNmHPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0dyb3VwQ29uZGl0aW9uICYmIG1vZGU9PSduZXcnXCIgY2xhc3M9XCJhZGQtY29uZGl0aW9uIE9SXCIgKGNsaWNrKT1cImFkZEdyb3VwT1IoKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXBsdXNcIj48L2k+Jm5ic3A7Jm5ic3A7PHNwYW4+T1I8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93R3JvdXBDb25kaXRpb24gJiYgbW9kZT09J25ldydcIiBjbGFzcz1cImFkZC1jb25kaXRpb24gQU5EXCIgKGNsaWNrKT1cImFkZEdyb3VwQU5EKClcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1wbHVzXCI+PC9pPiZuYnNwOyZuYnNwOzxzcGFuPkFORDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19