@arsedizioni/ars-utils 18.5.61 → 19.0.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 (178) hide show
  1. package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +14 -12
  2. package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
  3. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +41 -41
  4. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
  5. package/fesm2022/arsedizioni-ars-utils-core.mjs +99 -99
  6. package/fesm2022/arsedizioni-ars-utils-core.mjs.map +1 -1
  7. package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +15 -13
  8. package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs.map +1 -1
  9. package/fesm2022/arsedizioni-ars-utils-help.mjs +13 -13
  10. package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
  11. package/fesm2022/arsedizioni-ars-utils-support.common.mjs +14 -12
  12. package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
  13. package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +6 -6
  14. package/fesm2022/arsedizioni-ars-utils-support.ui.mjs.map +1 -1
  15. package/fesm2022/arsedizioni-ars-utils-tinymce.mjs +7 -7
  16. package/fesm2022/arsedizioni-ars-utils-tinymce.mjs.map +1 -1
  17. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +58 -58
  18. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
  19. package/fesm2022/arsedizioni-ars-utils-ui.mjs +34 -34
  20. package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
  21. package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +7 -7
  22. package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
  23. package/fesm2022/arsedizioni-ars-utils.mjs.map +1 -1
  24. package/package.json +9 -33
  25. package/clipper.ui/ui/clipper.scss +0 -530
  26. package/esm2022/arsedizioni-ars-utils.mjs +0 -5
  27. package/esm2022/clipper.common/arsedizioni-ars-utils-clipper.common.mjs +0 -5
  28. package/esm2022/clipper.common/common/common.module.mjs +0 -16
  29. package/esm2022/clipper.common/common/definitions.mjs +0 -2041
  30. package/esm2022/clipper.common/common/interceptors/auth.interceptor.mjs +0 -100
  31. package/esm2022/clipper.common/common/messages.mjs +0 -36
  32. package/esm2022/clipper.common/common/services/clipper.service.mjs +0 -1009
  33. package/esm2022/clipper.common/public_api.mjs +0 -5
  34. package/esm2022/clipper.ui/arsedizioni-ars-utils-clipper.ui.mjs +0 -5
  35. package/esm2022/clipper.ui/documents.mjs +0 -50
  36. package/esm2022/clipper.ui/public_api.mjs +0 -18
  37. package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +0 -766
  38. package/esm2022/clipper.ui/ui/document/document.component.mjs +0 -688
  39. package/esm2022/clipper.ui/ui/document-index/document-index.component.mjs +0 -118
  40. package/esm2022/clipper.ui/ui/document-manager/document-manager.mjs +0 -441
  41. package/esm2022/clipper.ui/ui/document-menu/document-menu.component.mjs +0 -217
  42. package/esm2022/clipper.ui/ui/references/references.component.mjs +0 -380
  43. package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +0 -116
  44. package/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +0 -339
  45. package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +0 -251
  46. package/esm2022/clipper.ui/ui/search-free-text-help/search-free-text-help.component.mjs +0 -17
  47. package/esm2022/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.mjs +0 -106
  48. package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +0 -120
  49. package/esm2022/clipper.ui/ui/search-result-manager/search-result-manager.mjs +0 -531
  50. package/esm2022/core/arsedizioni-ars-utils-core.mjs +0 -5
  51. package/esm2022/core/core.module.mjs +0 -151
  52. package/esm2022/core/dateFnsAdapter.mjs +0 -203
  53. package/esm2022/core/definitions.mjs +0 -47
  54. package/esm2022/core/directives/autoFocusDirective.mjs +0 -22
  55. package/esm2022/core/directives/changeDateIntervalDirective.mjs +0 -48
  56. package/esm2022/core/directives/copyClipboardDirective.mjs +0 -46
  57. package/esm2022/core/directives/validators.mjs +0 -502
  58. package/esm2022/core/pipes/format.pipe.mjs +0 -53
  59. package/esm2022/core/pipes/replace.pipe.mjs +0 -29
  60. package/esm2022/core/pipes/safe-html.pipe.mjs +0 -24
  61. package/esm2022/core/pipes/safe-url.pipe.mjs +0 -24
  62. package/esm2022/core/pipes/search-callback.pipe.mjs +0 -21
  63. package/esm2022/core/pipes/search-filter.pipe.mjs +0 -50
  64. package/esm2022/core/public_api.mjs +0 -22
  65. package/esm2022/core/selectable.mjs +0 -131
  66. package/esm2022/core/services/broadcast.service.mjs +0 -35
  67. package/esm2022/core/services/broadcastChannelManager.mjs +0 -80
  68. package/esm2022/core/services/environment.service.mjs +0 -29
  69. package/esm2022/core/services/screen.service.mjs +0 -23
  70. package/esm2022/core/services/theme.service.mjs +0 -140
  71. package/esm2022/core/system.mjs +0 -664
  72. package/esm2022/evolution.common/arsedizioni-ars-utils-evolution.common.mjs +0 -5
  73. package/esm2022/evolution.common/common/common.module.mjs +0 -16
  74. package/esm2022/evolution.common/common/definitions.mjs +0 -454
  75. package/esm2022/evolution.common/common/interceptors/auth.interceptor.mjs +0 -100
  76. package/esm2022/evolution.common/common/messages.mjs +0 -8
  77. package/esm2022/evolution.common/common/services/evolution.service.mjs +0 -488
  78. package/esm2022/evolution.common/public_api.mjs +0 -5
  79. package/esm2022/help/arsedizioni-ars-utils-help.mjs +0 -5
  80. package/esm2022/help/components/help-viewer/help-viewer.component.mjs +0 -442
  81. package/esm2022/help/definitions.mjs +0 -2
  82. package/esm2022/help/help.module.mjs +0 -12
  83. package/esm2022/help/public_api.mjs +0 -7
  84. package/esm2022/help/services/help.service.mjs +0 -77
  85. package/esm2022/public_api.mjs +0 -15
  86. package/esm2022/support.common/arsedizioni-ars-utils-support.common.mjs +0 -5
  87. package/esm2022/support.common/common/common.module.mjs +0 -16
  88. package/esm2022/support.common/common/definitions.mjs +0 -29
  89. package/esm2022/support.common/common/interceptors/auth.interceptor.mjs +0 -100
  90. package/esm2022/support.common/common/messages.mjs +0 -13
  91. package/esm2022/support.common/common/services/support.service.mjs +0 -287
  92. package/esm2022/support.common/public_api.mjs +0 -8
  93. package/esm2022/support.ui/arsedizioni-ars-utils-support.ui.mjs +0 -5
  94. package/esm2022/support.ui/public_api.mjs +0 -5
  95. package/esm2022/support.ui/ui/notifications-browser/notification/notification.component.mjs +0 -80
  96. package/esm2022/support.ui/ui/notifications-browser/notifications-browser.component.mjs +0 -233
  97. package/esm2022/tinymce/arsedizioni-ars-utils-tinymce.mjs +0 -5
  98. package/esm2022/tinymce/full-screen-editor/full-screen-editor.component.mjs +0 -48
  99. package/esm2022/tinymce/public_api.mjs +0 -7
  100. package/esm2022/tinymce/tinymce.module.mjs +0 -19
  101. package/esm2022/tinymce/utils.mjs +0 -150
  102. package/esm2022/ui/arsedizioni-ars-utils-ui.mjs +0 -5
  103. package/esm2022/ui/public_api.mjs +0 -12
  104. package/esm2022/ui/ui/components/button-selector/button-selector.component.mjs +0 -150
  105. package/esm2022/ui/ui/components/button-toggle/button-toggle.component.mjs +0 -51
  106. package/esm2022/ui/ui/components/calendar-empty-header/calendar-empy-header.component.mjs +0 -30
  107. package/esm2022/ui/ui/components/chips-selector/chips-selector.component.mjs +0 -272
  108. package/esm2022/ui/ui/components/file-input/file-input.component.mjs +0 -264
  109. package/esm2022/ui/ui/components/file-preview/file-preview.component.mjs +0 -73
  110. package/esm2022/ui/ui/components/filter-bar/filter-bar.component.mjs +0 -356
  111. package/esm2022/ui/ui/definitions.mjs +0 -2
  112. package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +0 -47
  113. package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +0 -101
  114. package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +0 -86
  115. package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +0 -51
  116. package/esm2022/ui/ui/dialogs/prompt/prompt-dialog.component.mjs +0 -77
  117. package/esm2022/ui/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +0 -79
  118. package/esm2022/ui/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +0 -72
  119. package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +0 -49
  120. package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +0 -89
  121. package/esm2022/ui/ui/dialogs/select/select-dialog.component.mjs +0 -374
  122. package/esm2022/ui/ui/dialogs/select-file/select-file-dialog.component.mjs +0 -106
  123. package/esm2022/ui/ui/dialogs/select-picture/select-picture-dialog.component.mjs +0 -62
  124. package/esm2022/ui/ui/dialogs/select-tree/select-tree-dialog.component.mjs +0 -277
  125. package/esm2022/ui/ui/dialogs/send-to/send-to-dialog.component.mjs +0 -90
  126. package/esm2022/ui/ui/dialogs/toast/toast.component.mjs +0 -32
  127. package/esm2022/ui/ui/directives/resize-table-column.directive.mjs +0 -63
  128. package/esm2022/ui/ui/filters.mjs +0 -43
  129. package/esm2022/ui/ui/paginatorIntl.mjs +0 -34
  130. package/esm2022/ui/ui/services/dialog.service.mjs +0 -417
  131. package/esm2022/ui/ui/services/ui.service.mjs +0 -21
  132. package/esm2022/ui/ui/ui.module.mjs +0 -21
  133. package/esm2022/ui.application/arsedizioni-ars-utils-ui.application.mjs +0 -5
  134. package/esm2022/ui.application/public_api.mjs +0 -21
  135. package/esm2022/ui.application/ui/components/button-selector/button-selector.component.mjs +0 -150
  136. package/esm2022/ui.application/ui/components/button-toggle/button-toggle.component.mjs +0 -51
  137. package/esm2022/ui.application/ui/components/calendar-empty-header/calendar-empy-header.component.mjs +0 -30
  138. package/esm2022/ui.application/ui/components/chips-selector/chips-selector.component.mjs +0 -272
  139. package/esm2022/ui.application/ui/components/file-input/file-input.component.mjs +0 -264
  140. package/esm2022/ui.application/ui/components/file-preview/file-preview.component.mjs +0 -73
  141. package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +0 -356
  142. package/esm2022/ui.application/ui/definitions.mjs +0 -31
  143. package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +0 -77
  144. package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +0 -79
  145. package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +0 -72
  146. package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +0 -374
  147. package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +0 -106
  148. package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +0 -62
  149. package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +0 -277
  150. package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +0 -90
  151. package/esm2022/ui.application/ui/directives/resize-table-column.directive.mjs +0 -63
  152. package/esm2022/ui.application/ui/filters.mjs +0 -43
  153. package/esm2022/ui.application/ui/services/applicationDialog.service.mjs +0 -304
  154. package/esm2022/ui.application/ui/ui.module.mjs +0 -30
  155. package/esm2022/ui.oauth/arsedizioni-ars-utils-ui.oauth.mjs +0 -5
  156. package/esm2022/ui.oauth/public_api.mjs +0 -6
  157. package/esm2022/ui.oauth/ui/components/login/login-oauth.component.mjs +0 -199
  158. package/esm2022/ui.oauth/ui/definitions.mjs +0 -7
  159. package/esm2022/ui.oauth/ui/ui.module.mjs +0 -13
  160. package/styles/ui.colors.scss +0 -77
  161. package/styles/ui.scss +0 -318
  162. package/ui/ui/components/button-selector/button-selector.component.d.ts +0 -52
  163. package/ui/ui/components/button-toggle/button-toggle.component.d.ts +0 -28
  164. package/ui/ui/components/calendar-empty-header/calendar-empy-header.component.d.ts +0 -11
  165. package/ui/ui/components/chips-selector/chips-selector.component.d.ts +0 -82
  166. package/ui/ui/components/file-input/file-input.component.d.ts +0 -88
  167. package/ui/ui/components/file-preview/file-preview.component.d.ts +0 -26
  168. package/ui/ui/components/filter-bar/filter-bar.component.d.ts +0 -83
  169. package/ui/ui/dialogs/prompt/prompt-dialog.component.d.ts +0 -18
  170. package/ui/ui/dialogs/prompt-date/prompt-date-dialog.component.d.ts +0 -18
  171. package/ui/ui/dialogs/prompt-time/prompt-time-dialog.component.d.ts +0 -18
  172. package/ui/ui/dialogs/select/select-dialog.component.d.ts +0 -122
  173. package/ui/ui/dialogs/select-file/select-file-dialog.component.d.ts +0 -36
  174. package/ui/ui/dialogs/select-picture/select-picture-dialog.component.d.ts +0 -26
  175. package/ui/ui/dialogs/select-tree/select-tree-dialog.component.d.ts +0 -98
  176. package/ui/ui/dialogs/send-to/send-to-dialog.component.d.ts +0 -28
  177. package/ui/ui/directives/resize-table-column.directive.d.ts +0 -19
  178. package/ui/ui/filters.d.ts +0 -57
@@ -1,251 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Output, inject } from '@angular/core';
2
- import { MatButtonModule } from '@angular/material/button';
3
- import { MatChipsModule } from '@angular/material/chips';
4
- import { MatDividerModule } from '@angular/material/divider';
5
- import { MatExpansionModule } from '@angular/material/expansion';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatTooltipModule } from '@angular/material/tooltip';
8
- import { ClipperFacet, ClipperSearchFacetsSnapshot } from '@arsedizioni/ars-utils/clipper.common';
9
- import { FlexModule } from '@ngbracket/ngx-layout/flex';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@ngbracket/ngx-layout/flex";
12
- import * as i2 from "@angular/material/tooltip";
13
- import * as i3 from "@angular/material/chips";
14
- import * as i4 from "@angular/material/icon";
15
- import * as i5 from "@angular/material/divider";
16
- import * as i6 from "@angular/material/expansion";
17
- export class ClipperSearchFacetsComponent {
18
- constructor() {
19
- this.changed = new EventEmitter();
20
- this.changeDetector = inject(ChangeDetectorRef);
21
- this.snapshot = new ClipperSearchFacetsSnapshot();
22
- this.hasFacets = () => this.snapshot.hasFacets;
23
- }
24
- /**
25
- * Update facets
26
- * @param values : the facets values
27
- * @param interval : the date interval for YEAR facets
28
- */
29
- update(values = null, interval = null) {
30
- this.snapshot.interval = interval;
31
- if (values) {
32
- this.snapshot.groups = [];
33
- values.forEach(n => {
34
- const name = n[0].typeName;
35
- const index = n[0].type;
36
- const i = this.snapshot.usedGroups.findIndex(n => n.index === index);
37
- const j = this.snapshot.groups.findIndex(n => n.index === index);
38
- if (i === -1 && j === -1) {
39
- this.snapshot.groups.push({
40
- name: name,
41
- selectedValue: null,
42
- selectedValueDescription: null,
43
- values: n,
44
- index: index,
45
- });
46
- }
47
- });
48
- }
49
- this.snapshot.hasFacets = this.snapshot.groups.length > 0 || this.snapshot.usedGroups.length > 0;
50
- this.snapshot.hasMoreFacets = this.snapshot.hasFacets && this.snapshot.groups.length > this.snapshot.usedGroups.length;
51
- this.changeDetector.markForCheck();
52
- }
53
- /**
54
- * Use a facet item as filter
55
- * @param group : the facet group
56
- * @param item : the facet item
57
- */
58
- use(group, item) {
59
- group.selectedValue = item.value;
60
- group.selectedValueDescription = item.title;
61
- const j = this.snapshot.groups.findIndex(n => n.index === group.index);
62
- if (j !== -1) {
63
- this.snapshot.groups.splice(j, 1);
64
- let updated = false;
65
- this.snapshot.usedGroups.forEach((n, i) => {
66
- if (!updated && n.index > group.index) {
67
- this.snapshot.usedGroups.splice(i, 0, group);
68
- updated = true;
69
- }
70
- });
71
- if (!updated) {
72
- this.snapshot.usedGroups.push(group);
73
- }
74
- }
75
- this.apply();
76
- }
77
- /**
78
- * dismiss a facet group filter
79
- * @param group : the facet group
80
- * @param apply : true to emit changed event and generate a new search, false just for update
81
- */
82
- dismiss(group, apply = true) {
83
- group.selectedValue = null;
84
- group.selectedValueDescription = null;
85
- const i = this.snapshot.usedGroups.findIndex(n => n.index === group.index);
86
- if (i !== -1) {
87
- this.snapshot.usedGroups.splice(i, 1);
88
- let updated = false;
89
- this.snapshot.groups.forEach((n, j) => {
90
- if (!updated && n.index > group.index) {
91
- this.snapshot.groups.splice(j, 0, group);
92
- updated = true;
93
- }
94
- });
95
- if (!updated) {
96
- this.snapshot.groups.push(group);
97
- }
98
- }
99
- if (apply) {
100
- this.apply();
101
- }
102
- }
103
- /**
104
- * Apply filter
105
- */
106
- apply() {
107
- if (this.snapshot.usedGroups.length > 0) {
108
- this.snapshot.usedGroups.forEach((n) => {
109
- if (n.index === ClipperFacet.Year) {
110
- if (n.selectedValue) {
111
- this.snapshot.fromDate = new Date(parseInt(n.selectedValue), 0, 1, 12, 0, 0);
112
- this.snapshot.toDate = new Date(parseInt(n.selectedValue), 11, 31, 12, 0, 0);
113
- }
114
- else {
115
- this.snapshot.fromDate = null;
116
- this.snapshot.toDate = null;
117
- }
118
- }
119
- else if (n.index === ClipperFacet.Sector) {
120
- this.snapshot.sector = n.selectedValue ?? null;
121
- }
122
- else if (n.index === ClipperFacet.Author) {
123
- this.snapshot.author = n.selectedValue ?? null;
124
- }
125
- else if (n.index === ClipperFacet.DocumentType) {
126
- this.snapshot.type = n.selectedValue ?? null;
127
- }
128
- else if (n.index === ClipperFacet.Article) {
129
- this.snapshot.anchor = n.selectedValue ?? null;
130
- }
131
- else if (n.index === ClipperFacet.Reason) {
132
- this.snapshot.reason = n.selectedValue ?? null;
133
- }
134
- });
135
- }
136
- if (this.snapshot.groups.length > 0) {
137
- this.snapshot.groups.forEach((n) => {
138
- if (n.index === ClipperFacet.Year) {
139
- this.snapshot.changedInterval = this.snapshot.fromDate !== null;
140
- this.snapshot.fromDate = null;
141
- this.snapshot.toDate = null;
142
- }
143
- else if (n.index === ClipperFacet.Sector) {
144
- this.snapshot.changedSector = this.snapshot.sector !== null;
145
- this.snapshot.sector = null;
146
- }
147
- else if (n.index === ClipperFacet.Author) {
148
- this.snapshot.changedAuthor = this.snapshot.author !== null;
149
- this.snapshot.author = null;
150
- }
151
- else if (n.index === ClipperFacet.DocumentType) {
152
- this.snapshot.changedType = this.snapshot.type !== null;
153
- this.snapshot.type = null;
154
- }
155
- else if (n.index === ClipperFacet.Article) {
156
- this.snapshot.changedAnchor = this.snapshot.anchor !== null;
157
- this.snapshot.anchor = null;
158
- }
159
- else if (n.index === ClipperFacet.Reason) {
160
- this.snapshot.changedReason = this.snapshot.reason !== null;
161
- this.snapshot.reason = null;
162
- }
163
- });
164
- }
165
- this.changed.emit(this.snapshot);
166
- }
167
- /**
168
- * Clear facets by group index
169
- * @param index : the group index to clear. Use -1 to clear all groups at once
170
- * @returns : the number of groups dismissed
171
- */
172
- clear(index = -1) {
173
- let dismissed = 0;
174
- this.snapshot.usedGroups.forEach((n) => {
175
- if (index === -1 || index === n.index) {
176
- if (n.index === ClipperFacet.Year) {
177
- this.snapshot.changedInterval = true;
178
- this.snapshot.fromDate = null;
179
- this.snapshot.toDate = null;
180
- }
181
- else if (n.index === ClipperFacet.Sector) {
182
- this.snapshot.changedSector = true;
183
- this.snapshot.sector = null;
184
- }
185
- else if (n.index === ClipperFacet.Author) {
186
- this.snapshot.changedAuthor = true;
187
- this.snapshot.author = null;
188
- }
189
- else if (n.index === ClipperFacet.DocumentType) {
190
- this.snapshot.changedType = true;
191
- this.snapshot.type = null;
192
- }
193
- else if (n.index === ClipperFacet.Article) {
194
- this.snapshot.changedAnchor = true;
195
- this.snapshot.anchor = null;
196
- }
197
- else if (n.index === ClipperFacet.Reason) {
198
- this.snapshot.changedReason = true;
199
- this.snapshot.reason = null;
200
- }
201
- this.dismiss(n, false);
202
- dismissed++;
203
- }
204
- });
205
- if (dismissed) {
206
- this.changed.emit(this.snapshot);
207
- }
208
- return dismissed;
209
- }
210
- /**
211
- * Reset
212
- */
213
- reset() {
214
- this.snapshot.groups = [];
215
- this.snapshot.usedGroups = [];
216
- this.snapshot.hasFacets = false;
217
- this.snapshot.fromDate = null;
218
- this.snapshot.toDate = null;
219
- this.snapshot.sector = null;
220
- this.snapshot.author = null;
221
- this.snapshot.anchor = null;
222
- this.snapshot.type = null;
223
- this.snapshot.reason = null;
224
- }
225
- /**
226
- * Restore data
227
- * @param data : the data to restore
228
- */
229
- restore(data) {
230
- if (data) {
231
- this.snapshot = data;
232
- this.changeDetector.markForCheck();
233
- }
234
- }
235
- /**
236
- * Save data
237
- */
238
- save() {
239
- return this.snapshot;
240
- }
241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ClipperSearchFacetsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
242
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: ClipperSearchFacetsComponent, isStandalone: true, selector: "clipper-search-facets", outputs: { changed: "changed" }, ngImport: i0, template: "<div fxLayout=\"column\" fxFill class=\"facets-container scroll-hidden\">\r\n @if (snapshot.usedGroups.length > 0) {\r\n <div class=\"facets-selection\">\r\n <mat-chip-set aria-label=\"Selezione\">\r\n @for (ug of snapshot.usedGroups; track ug) {\r\n <mat-chip (removed)=\"dismiss(ug)\" [matTooltip]=\"ug.selectedValueDescription ?? ''\" matTooltipPosition=\"above\">\r\n {{ug.selectedValueDescription}}\r\n <button matChipRemove [attr.aria-label]=\"'Rimuovi ' + ug.name\" [matTooltip]=\"'Rimuovi ' + ug.name\">\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n }\r\n </mat-chip-set>\r\n <mat-divider class=\"divider\"></mat-divider>\r\n </div>\r\n }\r\n <div fxFlex=\"*\" class=\"scroll-auto facets-items-container\">\r\n @if (snapshot.groups.length > 0) {\r\n @for (group of snapshot.groups; track group.index; let i = $index) {\r\n <mat-accordion multi displayMode=\"flat\">\r\n <mat-expansion-panel class=\"accordion-panel mat-elevation-z0 \" [expanded]=\"i == 0\">\r\n <mat-expansion-panel-header class=\"accordion-header\" [attr.aria-label]=\"group.name\">\r\n <mat-panel-title>\r\n @if (group.index == 2 && snapshot.interval) {\r\n {{snapshot.interval}} ({{group.values.length}})\r\n } @else {\r\n {{group.name}} ({{group.values.length}})\r\n }\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <nav class=\"facets-items\">\r\n <ul>\r\n @for (item of group.values; track $index) {\r\n <li (click)=\"use(group, item)\" [attr.aria-label]=\"item.title\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" class=\"truncated\">\r\n <div class=\"truncated\">{{item.title}}</div>\r\n </div>\r\n <div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n {{snapshot.hasTooManyResults ? '~' : ''}}{{item.count}}\r\n </div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n }\r\n } @else if (snapshot.hasFacets && !snapshot.hasMoreFacets) {\r\n <div class=\"facets-message\">\r\n <p class=\"small\"><i>Tutte le opzioni sono state selezionate</i></p>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:5px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 10px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em!important;font-weight:600;padding-left:20px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.clipper-logo{background-size:110px 48px;width:110px;height:48px}.clipper-selection-button{width:150px;font-size:small;font-weight:600;text-transform:uppercase}.clipper-selection-icon-button{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.clipper-selection-icon-button:hover{background-color:var(--ars-color-primary-hi, #12c0ae)}.unread{color:var(--ars-color-error, #ff5449)!important}.expired{color:var(--ars-color-error-low, #a80710)!important}.expiring{color:var(--ars-color-warning, #FFC107)!important}.closed{color:var(--ars-color-ok, #388E3C)!important}.unread-bg{background-color:var(--ars-color-error, #ff5449)}.error-bg,.expired-bg{background-color:var(--ars-color-error-low, #a80710)}.expiring-bg{background-color:var(--ars-color-warning, #FFC107)}.popular-bg,.closed-bg{background-color:var(--ars-color-ok, #388E3C)!important}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-color-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .group-spaced{padding:10px 0 0!important}.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 10px 10px 0;min-height:68px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}@media screen and (min-width: 0px) and (max-width: 430px){.item:hover{background-color:var(--ars-item-hover-background-color)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 55%,transparent 100%);mask-image:linear-gradient(to right,black 55%,transparent 100%)}}.item-content .item-info-1,.item-content .info-1{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent, #7894ae)}.item-content .item-info-2,.item-content .info-2{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent-low, #456179)}.item-content .item-title,.item-content .title{font-size:small!important;line-height:18px;text-decoration:none!important;font-weight:400;min-height:unset;min-width:unset;white-space:initial!important}@supports (-webkit-line-clamp: 3){.item-content .item-title,.item-content .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.item-content .details{margin-top:4px;font-size:x-small!important;font-weight:700;line-height:15px;color:var(--ars-color-accent-low, #456179);text-transform:uppercase!important;border-left:4px solid var(--ars-color-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600!important;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-color-link, #03A9F4);font-weight:600!important}.item-content a.link{color:var(--ars-color-link, #03A9F4);cursor:pointer!important;text-decoration:none!important}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer!important;padding:10px 13px!important;margin-bottom:20px!important}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-color-error, #ff5449);margin:0 8px}.tile .tile-image,.tile .image{height:125px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .tile-image img,.tile .image img{object-fit:cover;width:100%;height:100%}.tile .tile-image .tile-info-1,.tile .tile-image .info-1,.tile .image .tile-info-1,.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .tile-image .tile-info-2,.tile .tile-image .info-2,.tile .image .tile-info-2,.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-accent, #7894ae);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .tile-image .buttons,.tile .image .buttons{position:absolute;left:0;top:0;height:42px}.tile .tile-image .buttons .check,.tile .tile-image .buttons .read,.tile .image .buttons .check,.tile .image .buttons .read{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .tile-image .buttons .check-selected,.tile .image .buttons .check-selected{background-color:var(--ars-color-primary-hi, #12c0ae)}.tile .tile-date,.tile .date{padding:8px 0 6px!important;font-weight:700!important;text-transform:uppercase!important}.tile .tile-date .date-day,.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .tile-date .date-divider,.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-color-divider, #757d87)}.tile .tile-time,.tile .time{font-size:small!important;font-weight:700!important}.tile .tile-title,.tile .title{text-decoration:none!important;font-size:16px!important;font-weight:600;min-height:50px!important;max-height:70px!important;min-width:100%;white-space:initial!important;overflow:hidden!important}@supports (-webkit-line-clamp: 3){.tile .tile-title,.tile .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.stripe:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.stripe{cursor:pointer!important;padding:5px 10px!important;margin-bottom:10px!important}.stripe .body{padding:5px 15px!important}.stripe .image-mark{min-height:100%!important;border-left:6px solid transparent;margin:8px 0}.stripe .image-mark-unread{min-height:100%!important;border-left-color:var(--ars-color-error, #ff5449)!important;margin:8px 0}.stripe .stripe-image,.stripe .image{width:150px!important;height:70px!important;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.stripe .stripe-image img,.stripe .image img{object-fit:cover;width:100%;height:100%}.stripe .stripe-info-1,.stripe .info-1{margin-top:8px;padding:4px 8px!important;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))!important;color:var(--ars-color-text, #191c1b)!important;font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.stripe .stripe-info-2,.stripe .info-2{margin-top:8px;padding:4px 8px!important;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))!important;color:var(--ars-color-accent, #7894ae)!important;font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.stripe .buttons{position:absolute;left:0;top:0;height:42px}.stripe .buttons .check,.stripe .buttons .read{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.stripe .buttons .check-selected{background-color:var(--ars-color-primary-hi, #12c0ae)}.stripe .stripe-date,.stripe .date{padding:0!important;font-weight:700!important;text-transform:uppercase!important}.stripe .stripe-date .date-day,.stripe .date .date-day{color:var(--ars-accent, #7894ae)}.stripe .stripe-date .date-divider,.stripe .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-color-divider, #757d87)}.stripe .stripe-time,.stripe .time{font-size:small!important;font-weight:700!important}.stripe .stripe-title,.stripe .title{text-decoration:none!important;font-size:16px!important;font-weight:600;min-width:100%;white-space:initial!important;overflow:hidden!important}@supports (-webkit-line-clamp: 3){.stripe .stripe-title,.stripe .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:#427505;text-transform:uppercase;white-space:nowrap;color:#e0e2e5}.badge-red{background-color:#a80710}.busy-backdrop{background-color:#0000006b!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .legend:not(:first-of-type){margin-left:10px}.special-date,.special-date-expired,.special-date-expiring{border:2px var(--ars-color-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-color-error, #ff5449) solid!important}.special-date-expiring{border:2px var(--ars-color-warning, #FFC107) solid!important}.accordion-panel{background-color:transparent!important}.facets-container{padding-top:0;padding-bottom:5px}.facets-message{padding-left:5px}.facets-selection{padding:0 5px}.facets-selection .divider{margin-top:20px;margin-bottom:10px}.facets-items-container{padding:0 5px}.facets-items{padding:0;margin:0}.facets-items ul{list-style-type:none;padding:0;margin:0}.facets-items ul li{font-size:small;padding:6px 12px;display:block;color:var(--ars-color-text, #191c1b)}.facets-items ul li a{color:inherit;text-decoration:none;display:block}.facets-items ul li:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:6px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i3.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
243
- }
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ClipperSearchFacetsComponent, decorators: [{
245
- type: Component,
246
- args: [{ selector: 'clipper-search-facets', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatButtonModule, MatTooltipModule, MatChipsModule, MatIconModule,
247
- MatDividerModule, MatExpansionModule], template: "<div fxLayout=\"column\" fxFill class=\"facets-container scroll-hidden\">\r\n @if (snapshot.usedGroups.length > 0) {\r\n <div class=\"facets-selection\">\r\n <mat-chip-set aria-label=\"Selezione\">\r\n @for (ug of snapshot.usedGroups; track ug) {\r\n <mat-chip (removed)=\"dismiss(ug)\" [matTooltip]=\"ug.selectedValueDescription ?? ''\" matTooltipPosition=\"above\">\r\n {{ug.selectedValueDescription}}\r\n <button matChipRemove [attr.aria-label]=\"'Rimuovi ' + ug.name\" [matTooltip]=\"'Rimuovi ' + ug.name\">\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n }\r\n </mat-chip-set>\r\n <mat-divider class=\"divider\"></mat-divider>\r\n </div>\r\n }\r\n <div fxFlex=\"*\" class=\"scroll-auto facets-items-container\">\r\n @if (snapshot.groups.length > 0) {\r\n @for (group of snapshot.groups; track group.index; let i = $index) {\r\n <mat-accordion multi displayMode=\"flat\">\r\n <mat-expansion-panel class=\"accordion-panel mat-elevation-z0 \" [expanded]=\"i == 0\">\r\n <mat-expansion-panel-header class=\"accordion-header\" [attr.aria-label]=\"group.name\">\r\n <mat-panel-title>\r\n @if (group.index == 2 && snapshot.interval) {\r\n {{snapshot.interval}} ({{group.values.length}})\r\n } @else {\r\n {{group.name}} ({{group.values.length}})\r\n }\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <nav class=\"facets-items\">\r\n <ul>\r\n @for (item of group.values; track $index) {\r\n <li (click)=\"use(group, item)\" [attr.aria-label]=\"item.title\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\" class=\"truncated\">\r\n <div class=\"truncated\">{{item.title}}</div>\r\n </div>\r\n <div fxLayoutAlign=\"end\" fxFlexAlign=\"center\">\r\n {{snapshot.hasTooManyResults ? '~' : ''}}{{item.count}}\r\n </div>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n }\r\n } @else if (snapshot.hasFacets && !snapshot.hasMoreFacets) {\r\n <div class=\"facets-message\">\r\n <p class=\"small\"><i>Tutte le opzioni sono state selezionate</i></p>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:5px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 10px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em!important;font-weight:600;padding-left:20px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.clipper-logo{background-size:110px 48px;width:110px;height:48px}.clipper-selection-button{width:150px;font-size:small;font-weight:600;text-transform:uppercase}.clipper-selection-icon-button{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.clipper-selection-icon-button:hover{background-color:var(--ars-color-primary-hi, #12c0ae)}.unread{color:var(--ars-color-error, #ff5449)!important}.expired{color:var(--ars-color-error-low, #a80710)!important}.expiring{color:var(--ars-color-warning, #FFC107)!important}.closed{color:var(--ars-color-ok, #388E3C)!important}.unread-bg{background-color:var(--ars-color-error, #ff5449)}.error-bg,.expired-bg{background-color:var(--ars-color-error-low, #a80710)}.expiring-bg{background-color:var(--ars-color-warning, #FFC107)}.popular-bg,.closed-bg{background-color:var(--ars-color-ok, #388E3C)!important}.very-popular-bg{background-color:#4caf50}.item-selected{background-color:var(--ars-item-selected-background-color, #ced1d2);border-radius:0!important}.item-unread{font-weight:bolder}.items-group-title{color:var(--ars-color-accent, #7894ae);font-size:large;font-weight:700;padding-left:25px;padding-bottom:10px;padding-top:10px}.items-group-title .group-spaced{padding:10px 0 0!important}.items-footer{padding-top:10px}.item{border-radius:12px;padding:10px 10px 10px 0;min-height:68px!important;margin-bottom:2px}.item:hover{background-color:var(--ars-item-hover-background-color, #eaecef)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}@media screen and (min-width: 0px) and (max-width: 430px){.item:hover{background-color:var(--ars-item-hover-background-color)}.item:hover .item-content{-webkit-mask-image:linear-gradient(to right,black 55%,transparent 100%);mask-image:linear-gradient(to right,black 55%,transparent 100%)}}.item-content .item-info-1,.item-content .info-1{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent, #7894ae)}.item-content .item-info-2,.item-content .info-2{font-size:x-small!important;font-weight:700!important;line-height:15px;text-transform:uppercase!important;color:var(--ars-color-accent-low, #456179)}.item-content .item-title,.item-content .title{font-size:small!important;line-height:18px;text-decoration:none!important;font-weight:400;min-height:unset;min-width:unset;white-space:initial!important}@supports (-webkit-line-clamp: 3){.item-content .item-title,.item-content .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.item-content .details{margin-top:4px;font-size:x-small!important;font-weight:700;line-height:15px;color:var(--ars-color-accent-low, #456179);text-transform:uppercase!important;border-left:4px solid var(--ars-color-accent-low, #456179);padding-left:10px}.item-content .details .links{text-transform:none;text-decoration:none}.item-content .details .links a,.item-content .details .links span,.item-content .details .links div{margin-right:8px;font-weight:600!important;color:var(--ars-color-text, #191c1b)}.item-content .details .links a{cursor:pointer!important;color:var(--ars-color-link, #03A9F4);font-weight:600!important}.item-content a.link{color:var(--ars-color-link, #03A9F4);cursor:pointer!important;text-decoration:none!important}.tile:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.tile{cursor:pointer!important;padding:10px 13px!important;margin-bottom:20px!important}.tile .body{padding:4px 6px}.tile .image-mark{border-top:6px solid transparent;margin:0 8px}.tile .image-mark-unread{border-top-color:var(--ars-color-error, #ff5449);margin:0 8px}.tile .tile-image,.tile .image{height:125px;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.tile .tile-image img,.tile .image img{object-fit:cover;width:100%;height:100%}.tile .tile-image .tile-info-1,.tile .tile-image .info-1,.tile .image .tile-info-1,.tile .image .info-1{position:absolute;left:0;bottom:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-text, #191c1b);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .tile-image .tile-info-2,.tile .tile-image .info-2,.tile .image .tile-info-2,.tile .image .info-2{position:absolute;right:0;top:0;padding:4px 8px;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75));color:var(--ars-color-accent, #7894ae);font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.tile .tile-image .buttons,.tile .image .buttons{position:absolute;left:0;top:0;height:42px}.tile .tile-image .buttons .check,.tile .tile-image .buttons .read,.tile .image .buttons .check,.tile .image .buttons .read{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.tile .tile-image .buttons .check-selected,.tile .image .buttons .check-selected{background-color:var(--ars-color-primary-hi, #12c0ae)}.tile .tile-date,.tile .date{padding:8px 0 6px!important;font-weight:700!important;text-transform:uppercase!important}.tile .tile-date .date-day,.tile .date .date-day{color:var(--ars-accent, #7894ae)}.tile .tile-date .date-divider,.tile .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-color-divider, #757d87)}.tile .tile-time,.tile .time{font-size:small!important;font-weight:700!important}.tile .tile-title,.tile .title{text-decoration:none!important;font-size:16px!important;font-weight:600;min-height:50px!important;max-height:70px!important;min-width:100%;white-space:initial!important;overflow:hidden!important}@supports (-webkit-line-clamp: 3){.tile .tile-title,.tile .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.stripe:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:12px}.stripe{cursor:pointer!important;padding:5px 10px!important;margin-bottom:10px!important}.stripe .body{padding:5px 15px!important}.stripe .image-mark{min-height:100%!important;border-left:6px solid transparent;margin:8px 0}.stripe .image-mark-unread{min-height:100%!important;border-left-color:var(--ars-color-error, #ff5449)!important;margin:8px 0}.stripe .stripe-image,.stripe .image{width:150px!important;height:70px!important;position:relative;background-color:transparent;overflow:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px}.stripe .stripe-image img,.stripe .image img{object-fit:cover;width:100%;height:100%}.stripe .stripe-info-1,.stripe .info-1{margin-top:8px;padding:4px 8px!important;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))!important;color:var(--ars-color-text, #191c1b)!important;font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.stripe .stripe-info-2,.stripe .info-2{margin-top:8px;padding:4px 8px!important;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))!important;color:var(--ars-color-accent, #7894ae)!important;font-size:small!important;font-weight:700!important;text-transform:uppercase!important}.stripe .buttons{position:absolute;left:0;top:0;height:42px}.stripe .buttons .check,.stripe .buttons .read{background-color:var(--ars-color-primary, #00a293);color:var(--ars-color-text-low, #e0e2e5)}.stripe .buttons .check-selected{background-color:var(--ars-color-primary-hi, #12c0ae)}.stripe .stripe-date,.stripe .date{padding:0!important;font-weight:700!important;text-transform:uppercase!important}.stripe .stripe-date .date-day,.stripe .date .date-day{color:var(--ars-accent, #7894ae)}.stripe .stripe-date .date-divider,.stripe .date .date-divider{width:1px;margin:0 8px;border-left:1px solid var(--ars-color-color-divider, #757d87)}.stripe .stripe-time,.stripe .time{font-size:small!important;font-weight:700!important}.stripe .stripe-title,.stripe .title{text-decoration:none!important;font-size:16px!important;font-weight:600;min-width:100%;white-space:initial!important;overflow:hidden!important}@supports (-webkit-line-clamp: 3){.stripe .stripe-title,.stripe .title{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.badge,.badge-red{margin-left:10px;padding:1px 4px;border-radius:3px;font-size:x-small;font-weight:600;text-align:center;background-color:#427505;text-transform:uppercase;white-space:nowrap;color:#e0e2e5}.badge-red{background-color:#a80710}.busy-backdrop{background-color:#0000006b!important}.legend-container{display:flex;flex-direction:row;align-items:center;font-size:x-small;text-transform:uppercase;font-weight:500;margin-left:10px}.legend-container .legend{display:inline-block;height:8px;width:8px;margin-right:4px}.legend-container .legend:not(:first-of-type){margin-left:10px}.special-date,.special-date-expired,.special-date-expiring{border:2px var(--ars-color-accent, #7894ae) solid!important;border-radius:100%!important}.special-date-expired{border:2px var(--ars-color-error, #ff5449) solid!important}.special-date-expiring{border:2px var(--ars-color-warning, #FFC107) solid!important}.accordion-panel{background-color:transparent!important}.facets-container{padding-top:0;padding-bottom:5px}.facets-message{padding-left:5px}.facets-selection{padding:0 5px}.facets-selection .divider{margin-top:20px;margin-bottom:10px}.facets-items-container{padding:0 5px}.facets-items{padding:0;margin:0}.facets-items ul{list-style-type:none;padding:0;margin:0}.facets-items ul li{font-size:small;padding:6px 12px;display:block;color:var(--ars-color-text, #191c1b)}.facets-items ul li a{color:inherit;text-decoration:none;display:block}.facets-items ul li:hover{background-color:var(--ars-item-hover-background-color, #eaecef);border-radius:6px;cursor:pointer}\n"] }]
248
- }], propDecorators: { changed: [{
249
- type: Output
250
- }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZhY2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9zZWFyY2gtZmFjZXRzL3NlYXJjaC1mYWNldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLWZhY2V0cy9zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUNMLFlBQVksRUFHWiwyQkFBMkIsRUFDNUIsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBWXhELE1BQU0sT0FBTyw0QkFBNEI7SUFUekM7UUFVWSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQStCLENBQUM7UUFDNUQsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV6QyxhQUFRLEdBQWdDLElBQUksMkJBQTJCLEVBQUUsQ0FB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QUNFLHVCQUF1QixjQUdyQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxhQUFhO3dCQUNwRixnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQzs4QkFHN0IsT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQge1xyXG4gIENsaXBwZXJGYWNldCxcclxuICBDbGlwcGVyU2VhcmNoRmFjZXQsXHJcbiAgQ2xpcHBlclNlYXJjaEZhY2V0R3JvdXAsXHJcbiAgQ2xpcHBlclNlYXJjaEZhY2V0c1NuYXBzaG90XHJcbn0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jbGlwcGVyLmNvbW1vbic7XHJcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvZmxleCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLXNlYXJjaC1mYWNldHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbRmxleE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBNYXRDaGlwc01vZHVsZSwgTWF0SWNvbk1vZHVsZSwgXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoRmFjZXRzQ29tcG9uZW50IHtcclxuICBAT3V0cHV0KCkgY2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2xpcHBlclNlYXJjaEZhY2V0c1NuYXBzaG90PigpO1xyXG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG5cclxuICBwcm90ZWN0ZWQgc25hcHNob3Q6IENsaXBwZXJTZWFyY2hGYWNldHNTbmFwc2hvdCA9IG5ldyBDbGlwcGVyU2VhcmNoRmFjZXRzU25hcHNob3QoKTtcclxuXHJcbiAgcHVibGljIGhhc0ZhY2V0cyA9ICgpOiBib29sZWFuID0+IHRoaXMuc25hcHNob3QuaGFzRmFjZXRzO1xyXG5cclxuICAvKipcclxuICogVXBkYXRlIGZhY2V0c1xyXG4gKiBAcGFyYW0gdmFsdWVzIDogdGhlIGZhY2V0cyB2YWx1ZXNcclxuICogQHBhcmFtIGludGVydmFsIDogdGhlIGRhdGUgaW50ZXJ2YWwgZm9yIFlFQVIgZmFjZXRzXHJcbiAqL1xyXG4gIHVwZGF0ZSh2YWx1ZXM6IENsaXBwZXJTZWFyY2hGYWNldFtdW10gfCBudWxsID0gbnVsbCwgaW50ZXJ2YWw6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XHJcbiAgICB0aGlzLnNuYXBzaG90LmludGVydmFsID0gaW50ZXJ2YWw7XHJcbiAgICBpZiAodmFsdWVzKSB7XHJcbiAgICAgIHRoaXMuc25hcHNob3QuZ3JvdXBzID0gW107XHJcbiAgICAgIHZhbHVlcy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSBuWzBdLnR5cGVOYW1lO1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gblswXS50eXBlO1xyXG4gICAgICAgIGNvbnN0IGkgPSB0aGlzLnNuYXBzaG90LnVzZWRHcm91cHMuZmluZEluZGV4KG4gPT4gbi5pbmRleCA9PT0gaW5kZXgpO1xyXG4gICAgICAgIGNvbnN0IGogPSB0aGlzLnNuYXBzaG90Lmdyb3Vwcy5maW5kSW5kZXgobiA9PiBuLmluZGV4ID09PSBpbmRleCk7XHJcbiAgICAgICAgaWYgKGkgPT09IC0xICYmIGogPT09IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90Lmdyb3Vwcy5wdXNoKHtcclxuICAgICAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZTogbnVsbCxcclxuICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZURlc2NyaXB0aW9uOiBudWxsLFxyXG4gICAgICAgICAgICB2YWx1ZXM6IG4sXHJcbiAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgIH0pOyAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbmFwc2hvdC5oYXNGYWNldHMgPSB0aGlzLnNuYXBzaG90Lmdyb3Vwcy5sZW5ndGggPiAwIHx8IHRoaXMuc25hcHNob3QudXNlZEdyb3Vwcy5sZW5ndGggPiAwOyAgICAgICAgXHJcbiAgICB0aGlzLnNuYXBzaG90Lmhhc01vcmVGYWNldHMgPSB0aGlzLnNuYXBzaG90Lmhhc0ZhY2V0cyAmJiB0aGlzLnNuYXBzaG90Lmdyb3Vwcy5sZW5ndGggPiB0aGlzLnNuYXBzaG90LnVzZWRHcm91cHMubGVuZ3RoOyAgICBcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZSBhIGZhY2V0IGl0ZW0gYXMgZmlsdGVyXHJcbiAgICogQHBhcmFtIGdyb3VwIDogdGhlIGZhY2V0IGdyb3VwXHJcbiAgICogQHBhcmFtIGl0ZW0gIDogdGhlIGZhY2V0IGl0ZW1cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgdXNlKGdyb3VwOiBDbGlwcGVyU2VhcmNoRmFjZXRHcm91cCwgaXRlbTogQ2xpcHBlclNlYXJjaEZhY2V0KSB7XHJcbiAgICBncm91cC5zZWxlY3RlZFZhbHVlID0gaXRlbS52YWx1ZTtcclxuICAgIGdyb3VwLnNlbGVjdGVkVmFsdWVEZXNjcmlwdGlvbiA9IGl0ZW0udGl0bGU7XHJcbiAgICBjb25zdCBqID0gdGhpcy5zbmFwc2hvdC5ncm91cHMuZmluZEluZGV4KG4gPT4gbi5pbmRleCA9PT0gZ3JvdXAuaW5kZXgpO1xyXG4gICAgaWYgKGogIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc25hcHNob3QuZ3JvdXBzLnNwbGljZShqLCAxKTtcclxuICAgICAgbGV0IHVwZGF0ZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zbmFwc2hvdC51c2VkR3JvdXBzLmZvckVhY2goKG4sIGkpID0+IHtcclxuICAgICAgICBpZiAoIXVwZGF0ZWQgJiYgbi5pbmRleCA+IGdyb3VwLmluZGV4KSB7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LnVzZWRHcm91cHMuc3BsaWNlKGksIDAsIGdyb3VwKTtcclxuICAgICAgICAgIHVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGlmICghdXBkYXRlZCkge1xyXG4gICAgICAgIHRoaXMuc25hcHNob3QudXNlZEdyb3Vwcy5wdXNoKGdyb3VwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hcHBseSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZGlzbWlzcyBhIGZhY2V0IGdyb3VwIGZpbHRlclxyXG4gICAqIEBwYXJhbSBncm91cCA6IHRoZSBmYWNldCBncm91cFxyXG4gICAqIEBwYXJhbSBhcHBseSA6IHRydWUgdG8gZW1pdCBjaGFuZ2VkIGV2ZW50IGFuZCBnZW5lcmF0ZSBhIG5ldyBzZWFyY2gsIGZhbHNlIGp1c3QgZm9yIHVwZGF0ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkaXNtaXNzKGdyb3VwOiBDbGlwcGVyU2VhcmNoRmFjZXRHcm91cCwgYXBwbHk6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICBncm91cC5zZWxlY3RlZFZhbHVlID0gbnVsbDtcclxuICAgIGdyb3VwLnNlbGVjdGVkVmFsdWVEZXNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICBjb25zdCBpID0gdGhpcy5zbmFwc2hvdC51c2VkR3JvdXBzLmZpbmRJbmRleChuID0+IG4uaW5kZXggPT09IGdyb3VwLmluZGV4KTtcclxuICAgIGlmIChpICE9PSAtMSkge1xyXG4gICAgICB0aGlzLnNuYXBzaG90LnVzZWRHcm91cHMuc3BsaWNlKGksIDEpO1xyXG4gICAgICBsZXQgdXBkYXRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNuYXBzaG90Lmdyb3Vwcy5mb3JFYWNoKChuLCBqKSA9PiB7XHJcbiAgICAgICAgIGlmICghdXBkYXRlZCAmJiBuLmluZGV4ID4gZ3JvdXAuaW5kZXgpIHtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuZ3JvdXBzLnNwbGljZShqLCAwLCBncm91cCk7XHJcbiAgICAgICAgICB1cGRhdGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoIXVwZGF0ZWQpIHtcclxuICAgICAgICB0aGlzLnNuYXBzaG90Lmdyb3Vwcy5wdXNoKGdyb3VwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGFwcGx5KSB7XHJcbiAgICAgIHRoaXMuYXBwbHkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFwcGx5IGZpbHRlclxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXBwbHkoKSB7XHJcbiAgICBpZiAodGhpcy5zbmFwc2hvdC51c2VkR3JvdXBzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zbmFwc2hvdC51c2VkR3JvdXBzLmZvckVhY2goKG4pID0+IHtcclxuICAgICAgICBpZiAobi5pbmRleCA9PT0gQ2xpcHBlckZhY2V0LlllYXIpIHtcclxuICAgICAgICAgIGlmIChuLnNlbGVjdGVkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5zbmFwc2hvdC5mcm9tRGF0ZSA9IG5ldyBEYXRlKHBhcnNlSW50KG4uc2VsZWN0ZWRWYWx1ZSksIDAsIDEsIDEyLCAwLCAwKTtcclxuICAgICAgICAgICAgdGhpcy5zbmFwc2hvdC50b0RhdGUgPSBuZXcgRGF0ZShwYXJzZUludChuLnNlbGVjdGVkVmFsdWUpLCAxMSwgMzEsIDEyLCAwLCAwKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hcHNob3QuZnJvbURhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnNuYXBzaG90LnRvRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChuLmluZGV4ID09PSBDbGlwcGVyRmFjZXQuU2VjdG9yKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LnNlY3RvciA9IG4uc2VsZWN0ZWRWYWx1ZSA/PyBudWxsO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobi5pbmRleCA9PT0gQ2xpcHBlckZhY2V0LkF1dGhvcikge1xyXG4gICAgICAgICAgdGhpcy5zbmFwc2hvdC5hdXRob3IgPSBuLnNlbGVjdGVkVmFsdWUgPz8gbnVsbDtcclxuICAgICAgICB9IGVsc2UgaWYgKG4uaW5kZXggPT09IENsaXBwZXJGYWNldC5Eb2N1bWVudFR5cGUpIHtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QudHlwZSA9IG4uc2VsZWN0ZWRWYWx1ZSA/PyBudWxsO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobi5pbmRleCA9PT0gQ2xpcHBlckZhY2V0LkFydGljbGUpIHtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuYW5jaG9yID0gbi5zZWxlY3RlZFZhbHVlID8/IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIGlmIChuLmluZGV4ID09PSBDbGlwcGVyRmFjZXQuUmVhc29uKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LnJlYXNvbiA9IG4uc2VsZWN0ZWRWYWx1ZSA/PyBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zbmFwc2hvdC5ncm91cHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNuYXBzaG90Lmdyb3Vwcy5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgICAgaWYgKG4uaW5kZXggPT09IENsaXBwZXJGYWNldC5ZZWFyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LmNoYW5nZWRJbnRlcnZhbCA9IHRoaXMuc25hcHNob3QuZnJvbURhdGUgIT09IG51bGw7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LmZyb21EYXRlID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QudG9EYXRlID0gbnVsbDtcclxuICAgICAgICB9IGVsc2UgaWYgKG4uaW5kZXggPT09IENsaXBwZXJGYWNldC5TZWN0b3IpIHtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuY2hhbmdlZFNlY3RvciA9IHRoaXMuc25hcHNob3Quc2VjdG9yICE9PSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5zbmFwc2hvdC5zZWN0b3IgPSBudWxsO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobi5pbmRleCA9PT0gQ2xpcHBlckZhY2V0LkF1dGhvcikge1xyXG4gICAgICAgICAgdGhpcy5zbmFwc2hvdC5jaGFuZ2VkQXV0aG9yID0gdGhpcy5zbmFwc2hvdC5hdXRob3IgIT09IG51bGw7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LmF1dGhvciA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIGlmIChuLmluZGV4ID09PSBDbGlwcGVyRmFjZXQuRG9jdW1lbnRUeXBlKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LmNoYW5nZWRUeXBlID0gdGhpcy5zbmFwc2hvdC50eXBlICE9PSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5zbmFwc2hvdC50eXBlID0gbnVsbDtcclxuICAgICAgICB9IGVsc2UgaWYgKG4uaW5kZXggPT09IENsaXBwZXJGYWNldC5BcnRpY2xlKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LmNoYW5nZWRBbmNob3IgPSB0aGlzLnNuYXBzaG90LmFuY2hvciAhPT0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuYW5jaG9yID0gbnVsbDtcclxuICAgICAgICB9IGVsc2UgaWYgKG4uaW5kZXggPT09IENsaXBwZXJGYWNldC5SZWFzb24pIHtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuY2hhbmdlZFJlYXNvbiA9IHRoaXMuc25hcHNob3QucmVhc29uICE9PSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5zbmFwc2hvdC5yZWFzb24gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZWQuZW1pdCh0aGlzLnNuYXBzaG90KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIGZhY2V0cyBieSBncm91cCBpbmRleFxyXG4gICAqIEBwYXJhbSBpbmRleCA6IHRoZSBncm91cCBpbmRleCB0byBjbGVhci4gVXNlIC0xIHRvIGNsZWFyIGFsbCBncm91cHMgYXQgb25jZVxyXG4gICAqIEByZXR1cm5zIDogdGhlIG51bWJlciBvZiBncm91cHMgZGlzbWlzc2VkXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGNsZWFyKGluZGV4OiBudW1iZXIgPSAtMSk6IG51bWJlciB7XHJcbiAgICBsZXQgZGlzbWlzc2VkID0gMDtcclxuICAgIHRoaXMuc25hcHNob3QudXNlZEdyb3Vwcy5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgIGlmIChpbmRleCA9PT0gLTEgfHwgaW5kZXggPT09IG4uaW5kZXgpIHtcclxuICAgICAgICBpZiAobi5pbmRleCA9PT0gQ2xpcHBlckZhY2V0LlllYXIpIHtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuY2hhbmdlZEludGVydmFsID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuZnJvbURhdGUgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5zbmFwc2hvdC50b0RhdGUgPSBudWxsO1xyXG4gICAgICAgIH0gZWxzZSBpZiAobi5pbmRleCA9PT0gQ2xpcHBlckZhY2V0LlNlY3Rvcikge1xyXG4gICAgICAgICAgdGhpcy5zbmFwc2hvdC5jaGFuZ2VkU2VjdG9yID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3Quc2VjdG9yID0gbnVsbDtcclxuICAgICAgICB9IGVsc2UgaWYgKG4uaW5kZXggPT09IENsaXBwZXJGYWNldC5BdXRob3IpIHtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuY2hhbmdlZEF1dGhvciA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LmF1dGhvciA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIGlmIChuLmluZGV4ID09PSBDbGlwcGVyRmFjZXQuRG9jdW1lbnRUeXBlKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LmNoYW5nZWRUeXBlID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QudHlwZSA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIGlmIChuLmluZGV4ID09PSBDbGlwcGVyRmFjZXQuQXJ0aWNsZSkge1xyXG4gICAgICAgICAgdGhpcy5zbmFwc2hvdC5jaGFuZ2VkQW5jaG9yID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuYW5jaG9yID0gbnVsbDtcclxuICAgICAgICB9IGVsc2UgaWYgKG4uaW5kZXggPT09IENsaXBwZXJGYWNldC5SZWFzb24pIHtcclxuICAgICAgICAgIHRoaXMuc25hcHNob3QuY2hhbmdlZFJlYXNvbiA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnNuYXBzaG90LnJlYXNvbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGlzbWlzcyhuLCBmYWxzZSk7XHJcbiAgICAgICAgZGlzbWlzc2VkKys7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKGRpc21pc3NlZCkge1xyXG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdCh0aGlzLnNuYXBzaG90KTtcclxuICAgIH1cclxuICAgIHJldHVybiBkaXNtaXNzZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldFxyXG4gICAqL1xyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5zbmFwc2hvdC5ncm91cHMgPSBbXTtcclxuICAgIHRoaXMuc25hcHNob3QudXNlZEdyb3VwcyA9IFtdO1xyXG4gICAgdGhpcy5zbmFwc2hvdC5oYXNGYWNldHMgPSBmYWxzZTtcclxuICAgIHRoaXMuc25hcHNob3QuZnJvbURhdGUgPSBudWxsO1xyXG4gICAgdGhpcy5zbmFwc2hvdC50b0RhdGUgPSBudWxsO1xyXG4gICAgdGhpcy5zbmFwc2hvdC5zZWN0b3IgPSBudWxsO1xyXG4gICAgdGhpcy5zbmFwc2hvdC5hdXRob3IgPSBudWxsO1xyXG4gICAgdGhpcy5zbmFwc2hvdC5hbmNob3IgPSBudWxsO1xyXG4gICAgdGhpcy5zbmFwc2hvdC50eXBlID0gbnVsbDtcclxuICAgIHRoaXMuc25hcHNob3QucmVhc29uID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc3RvcmUgZGF0YVxyXG4gICAqIEBwYXJhbSBkYXRhIDogdGhlIGRhdGEgdG8gcmVzdG9yZVxyXG4gICAqL1xyXG4gIHJlc3RvcmUoZGF0YTogQ2xpcHBlclNlYXJjaEZhY2V0c1NuYXBzaG90KSB7XHJcbiAgICBpZiAoZGF0YSkge1xyXG4gICAgICB0aGlzLnNuYXBzaG90ID0gZGF0YTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhdmUgZGF0YVxyXG4gICAqL1xyXG4gIHNhdmUoKTogQ2xpcHBlclNlYXJjaEZhY2V0c1NuYXBzaG90IHtcclxuICAgIHJldHVybiB0aGlzLnNuYXBzaG90O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGaWxsIGNsYXNzPVwiZmFjZXRzLWNvbnRhaW5lciBzY3JvbGwtaGlkZGVuXCI+XHJcbiAgQGlmIChzbmFwc2hvdC51c2VkR3JvdXBzLmxlbmd0aCA+IDApIHtcclxuICA8ZGl2IGNsYXNzPVwiZmFjZXRzLXNlbGVjdGlvblwiPlxyXG4gICAgPG1hdC1jaGlwLXNldCBhcmlhLWxhYmVsPVwiU2VsZXppb25lXCI+XHJcbiAgICAgIEBmb3IgKHVnIG9mIHNuYXBzaG90LnVzZWRHcm91cHM7IHRyYWNrIHVnKSB7XHJcbiAgICAgIDxtYXQtY2hpcCAocmVtb3ZlZCk9XCJkaXNtaXNzKHVnKVwiIFttYXRUb29sdGlwXT1cInVnLnNlbGVjdGVkVmFsdWVEZXNjcmlwdGlvbiA/PyAnJ1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAge3t1Zy5zZWxlY3RlZFZhbHVlRGVzY3JpcHRpb259fVxyXG4gICAgICAgIDxidXR0b24gbWF0Q2hpcFJlbW92ZSBbYXR0ci5hcmlhLWxhYmVsXT1cIidSaW11b3ZpICcgKyB1Zy5uYW1lXCIgW21hdFRvb2x0aXBdPVwiJ1JpbXVvdmkgJyArIHVnLm5hbWVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1jaGlwPlxyXG4gICAgICB9XHJcbiAgICA8L21hdC1jaGlwLXNldD5cclxuICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuICA8ZGl2IGZ4RmxleD1cIipcIiBjbGFzcz1cInNjcm9sbC1hdXRvIGZhY2V0cy1pdGVtcy1jb250YWluZXJcIj5cclxuICAgIEBpZiAoc25hcHNob3QuZ3JvdXBzLmxlbmd0aCA+IDApIHtcclxuICAgIEBmb3IgKGdyb3VwIG9mIHNuYXBzaG90Lmdyb3VwczsgdHJhY2sgZ3JvdXAuaW5kZXg7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICA8bWF0LWFjY29yZGlvbiBtdWx0aSBkaXNwbGF5TW9kZT1cImZsYXRcIj5cclxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJhY2NvcmRpb24tcGFuZWwgbWF0LWVsZXZhdGlvbi16MCBcIiBbZXhwYW5kZWRdPVwiaSA9PSAwXCI+XHJcbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlclwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZ3JvdXAubmFtZVwiPlxyXG4gICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgICAgQGlmIChncm91cC5pbmRleCA9PSAyICYmIHNuYXBzaG90LmludGVydmFsKSB7XHJcbiAgICAgICAgICAgIHt7c25hcHNob3QuaW50ZXJ2YWx9fSAoe3tncm91cC52YWx1ZXMubGVuZ3RofX0pXHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICB7e2dyb3VwLm5hbWV9fSAoe3tncm91cC52YWx1ZXMubGVuZ3RofX0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgPG5hdiBjbGFzcz1cImZhY2V0cy1pdGVtc1wiPlxyXG4gICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGdyb3VwLnZhbHVlczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxsaSAoY2xpY2spPVwidXNlKGdyb3VwLCBpdGVtKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS50aXRsZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZpbGw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIipcIiBmeEZsZXhBbGlnbj1cImNlbnRlclwiIGNsYXNzPVwidHJ1bmNhdGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cnVuY2F0ZWRcIj57e2l0ZW0udGl0bGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJlbmRcIiBmeEZsZXhBbGlnbj1cImNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICB7e3NuYXBzaG90Lmhhc1Rvb01hbnlSZXN1bHRzID8gJ34nIDogJyd9fXt7aXRlbS5jb3VudH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L25hdj5cclxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4gICAgPC9tYXQtYWNjb3JkaW9uPlxyXG4gICAgfVxyXG4gICAgfSBAZWxzZSBpZiAoc25hcHNob3QuaGFzRmFjZXRzICYmICFzbmFwc2hvdC5oYXNNb3JlRmFjZXRzKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmFjZXRzLW1lc3NhZ2VcIj5cclxuICAgICAgPHAgY2xhc3M9XCJzbWFsbFwiPjxpPlR1dHRlIGxlIG9wemlvbmkgc29ubyBzdGF0ZSBzZWxlemlvbmF0ZTwvaT48L3A+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -1,17 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { MatButtonModule } from '@angular/material/button';
3
- import { MatDialogActions, MatDialogClose, MatDialogContent, MatDialogTitle } from '@angular/material/dialog';
4
- import { SystemUtils } from '@arsedizioni/ars-utils/core';
5
- import { FlexModule } from '@ngbracket/ngx-layout/flex';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngbracket/ngx-layout/flex";
8
- import * as i2 from "@angular/material/button";
9
- export class ClipperSearchFreeTextHelpComponent {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ClipperSearchFreeTextHelpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: ClipperSearchFreeTextHelpComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<h2 mat-dialog-title>Come effettuare la ricerca in testo libero</h2>\r\n<mat-dialog-content>\r\n <p>Normalmente viene sempre effettuata una ricerca per frase: tutte le parole specificate debbono essere\r\n \"ragionevolmente vicine\" (entro 5 parole) l'una dall'altra.</p>\r\n <p>La ricerca per frase di solito produce i risultati pi\u00F9 rilevanti.</p>\r\n <p>Tuttavia \u00E8 possibile istruire Clipper per eseguire ricerche differenti e pi\u00F9 complesse.</p>\r\n <p>Tutte gli elementi che compongono la stringa di ricerca devono essere separati da virgola.</p>\r\n <ul>\r\n <li>Se un elemento \u00E8 composto da pi\u00F9 parole \u00E8 una frase, altrimenti una parola</li>\r\n <li>Aggiungendo un <b style=\"font-size: 20px\">+</b> davanti all'elemento, l'elemento <b>dovr\u00E0 per forza</b> essere presente nel documento\r\n </li>\r\n <li>Aggiungendo un <b style=\"font-size: 20px\">-</b> davanti all'elemento, l'elemento <b>non dovr\u00E0</b> essere presente nel documento</li>\r\n </ul>\r\n <p>Ecco alcuni esempi:</p>\r\n <ul>\r\n <li><b>serbatoi interrati</b>: sar\u00E0 effettuata una ricerca per la frase \"serbatoi interrati\"</li>\r\n <li><b>serbatoi, interrati</b>: sar\u00E0 effettuata una ricerca per le parole \"serbatoi\" e \"interrati\"; il risultato sar\u00E0 tutti i documenti che contengono una o l'altra parola.</li>\r\n <li><b>serbatoi, +interrati</b>: sar\u00E0 effettuata una ricerca per le parole \"serbatoi\" e \"interrati\"; il risultato sar\u00E0 tutti i documenti che contengono necessariamente \"interrati\" ed eventualmente \"serbatoi\".</li>\r\n <li><b>serbatoi, -interrati</b>: sar\u00E0 effettuata una ricerca per le parole \"serbatoi\" e \"interrati\"; il risultato sar\u00E0 tutti i documenti che contengono necessariamente \"interrati\" ma non \"serbatoi\".</li>\r\n <li><b>\"serbatoi interrati\", -gas</b>: sar\u00E0 effettuata una ricerca per la frase \"serbatoi interrati\" e per la parola \"gas\"; il risultato sar\u00E0 tutti i documenti che contengono la frase \"serbatoi interrati\" ma non la parola \"gas\".</li>\r\n </ul>\r\n <p>Saranno mostrati per primi (pi\u00F9 rilevanti) i documenti che rispettano in pieno la condizione.</p>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Chiudi</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>\r\n", styles: [""], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ClipperSearchFreeTextHelpComponent, decorators: [{
14
- type: Component,
15
- args: [{ host: { 'Bind': SystemUtils.generateUUID() }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatDialogTitle, MatDialogContent, MatDialogActions, FlexModule, MatButtonModule, MatDialogClose], template: "<h2 mat-dialog-title>Come effettuare la ricerca in testo libero</h2>\r\n<mat-dialog-content>\r\n <p>Normalmente viene sempre effettuata una ricerca per frase: tutte le parole specificate debbono essere\r\n \"ragionevolmente vicine\" (entro 5 parole) l'una dall'altra.</p>\r\n <p>La ricerca per frase di solito produce i risultati pi\u00F9 rilevanti.</p>\r\n <p>Tuttavia \u00E8 possibile istruire Clipper per eseguire ricerche differenti e pi\u00F9 complesse.</p>\r\n <p>Tutte gli elementi che compongono la stringa di ricerca devono essere separati da virgola.</p>\r\n <ul>\r\n <li>Se un elemento \u00E8 composto da pi\u00F9 parole \u00E8 una frase, altrimenti una parola</li>\r\n <li>Aggiungendo un <b style=\"font-size: 20px\">+</b> davanti all'elemento, l'elemento <b>dovr\u00E0 per forza</b> essere presente nel documento\r\n </li>\r\n <li>Aggiungendo un <b style=\"font-size: 20px\">-</b> davanti all'elemento, l'elemento <b>non dovr\u00E0</b> essere presente nel documento</li>\r\n </ul>\r\n <p>Ecco alcuni esempi:</p>\r\n <ul>\r\n <li><b>serbatoi interrati</b>: sar\u00E0 effettuata una ricerca per la frase \"serbatoi interrati\"</li>\r\n <li><b>serbatoi, interrati</b>: sar\u00E0 effettuata una ricerca per le parole \"serbatoi\" e \"interrati\"; il risultato sar\u00E0 tutti i documenti che contengono una o l'altra parola.</li>\r\n <li><b>serbatoi, +interrati</b>: sar\u00E0 effettuata una ricerca per le parole \"serbatoi\" e \"interrati\"; il risultato sar\u00E0 tutti i documenti che contengono necessariamente \"interrati\" ed eventualmente \"serbatoi\".</li>\r\n <li><b>serbatoi, -interrati</b>: sar\u00E0 effettuata una ricerca per le parole \"serbatoi\" e \"interrati\"; il risultato sar\u00E0 tutti i documenti che contengono necessariamente \"interrati\" ma non \"serbatoi\".</li>\r\n <li><b>\"serbatoi interrati\", -gas</b>: sar\u00E0 effettuata una ricerca per la frase \"serbatoi interrati\" e per la parola \"gas\"; il risultato sar\u00E0 tutti i documenti che contengono la frase \"serbatoi interrati\" ma non la parola \"gas\".</li>\r\n </ul>\r\n <p>Saranno mostrati per primi (pi\u00F9 rilevanti) i documenti che rispettano in pieno la condizione.</p>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Chiudi</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>\r\n" }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZyZWUtdGV4dC1oZWxwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1mcmVlLXRleHQtaGVscC9zZWFyY2gtZnJlZS10ZXh0LWhlbHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLWZyZWUtdGV4dC1oZWxwL3NlYXJjaC1mcmVlLXRleHQtaGVscC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFVeEQsTUFBTSxPQUFPLGtDQUFrQzsrR0FBbEMsa0NBQWtDO21HQUFsQyxrQ0FBa0MsOEVBUDNCLFdBQVcsQ0FBQyxZQUFZLEVBQUUsOEJDUDlDLHk5RUE4QkEsMEREbEJjLGNBQWMsK0hBQUUsZ0JBQWdCLHlHQUFFLGdCQUFnQiwySEFBRSxVQUFVLGc4REFBRSxlQUFlLDROQUFFLGNBQWM7OzRGQUVoRyxrQ0FBa0M7a0JBUjlDLFNBQVM7MkJBQ0EsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UsIE1hdERpYWxvZ0NvbnRlbnQsIE1hdERpYWxvZ1RpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2ZsZXgnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBob3N0OiB7ICdCaW5kJzogU3lzdGVtVXRpbHMuZ2VuZXJhdGVVVUlEKCkgfSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtZnJlZS10ZXh0LWhlbHAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWZyZWUtdGV4dC1oZWxwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTWF0RGlhbG9nVGl0bGUsIE1hdERpYWxvZ0NvbnRlbnQsIE1hdERpYWxvZ0FjdGlvbnMsIEZsZXhNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0RGlhbG9nQ2xvc2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoRnJlZVRleHRIZWxwQ29tcG9uZW50e1xyXG59XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPkNvbWUgZWZmZXR0dWFyZSBsYSByaWNlcmNhIGluIHRlc3RvIGxpYmVybzwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHA+Tm9ybWFsbWVudGUgdmllbmUgc2VtcHJlIGVmZmV0dHVhdGEgdW5hIHJpY2VyY2EgcGVyIGZyYXNlOiB0dXR0ZSBsZSBwYXJvbGUgc3BlY2lmaWNhdGUgZGViYm9ubyBlc3NlcmVcclxuICAgIFwicmFnaW9uZXZvbG1lbnRlIHZpY2luZVwiIChlbnRybyA1IHBhcm9sZSkgbCd1bmEgZGFsbCdhbHRyYS48L3A+XHJcbiAgPHA+TGEgcmljZXJjYSBwZXIgZnJhc2UgZGkgc29saXRvIHByb2R1Y2UgaSByaXN1bHRhdGkgcGnDuSByaWxldmFudGkuPC9wPlxyXG4gIDxwPlR1dHRhdmlhIMOoIHBvc3NpYmlsZSBpc3RydWlyZSBDbGlwcGVyIHBlciBlc2VndWlyZSByaWNlcmNoZSBkaWZmZXJlbnRpIGUgcGnDuSBjb21wbGVzc2UuPC9wPlxyXG4gIDxwPlR1dHRlIGdsaSBlbGVtZW50aSBjaGUgY29tcG9uZ29ubyBsYSBzdHJpbmdhIGRpIHJpY2VyY2EgZGV2b25vIGVzc2VyZSBzZXBhcmF0aSBkYSB2aXJnb2xhLjwvcD5cclxuICA8dWw+XHJcbiAgICA8bGk+U2UgdW4gZWxlbWVudG8gw6ggY29tcG9zdG8gZGEgcGnDuSBwYXJvbGUgw6ggdW5hIGZyYXNlLCBhbHRyaW1lbnRpIHVuYSBwYXJvbGE8L2xpPlxyXG4gICAgPGxpPkFnZ2l1bmdlbmRvIHVuIDxiIHN0eWxlPVwiZm9udC1zaXplOiAyMHB4XCI+KzwvYj4gZGF2YW50aSBhbGwnZWxlbWVudG8sIGwnZWxlbWVudG8gPGI+ZG92csOgIHBlciBmb3J6YTwvYj4gZXNzZXJlIHByZXNlbnRlIG5lbCBkb2N1bWVudG9cclxuICAgIDwvbGk+XHJcbiAgICA8bGk+QWdnaXVuZ2VuZG8gdW4gPGIgc3R5bGU9XCJmb250LXNpemU6IDIwcHhcIj4tPC9iPiBkYXZhbnRpIGFsbCdlbGVtZW50bywgbCdlbGVtZW50byA8Yj5ub24gZG92csOgPC9iPiBlc3NlcmUgcHJlc2VudGUgbmVsIGRvY3VtZW50bzwvbGk+XHJcbiAgPC91bD5cclxuICA8cD5FY2NvIGFsY3VuaSBlc2VtcGk6PC9wPlxyXG4gIDx1bD5cclxuICAgIDxsaT48Yj5zZXJiYXRvaSBpbnRlcnJhdGk8L2I+OiBzYXLDoCBlZmZldHR1YXRhIHVuYSByaWNlcmNhIHBlciBsYSBmcmFzZSBcInNlcmJhdG9pIGludGVycmF0aVwiPC9saT5cclxuICAgIDxsaT48Yj5zZXJiYXRvaSwgaW50ZXJyYXRpPC9iPjogc2Fyw6AgZWZmZXR0dWF0YSB1bmEgcmljZXJjYSBwZXIgbGUgcGFyb2xlIFwic2VyYmF0b2lcIiBlIFwiaW50ZXJyYXRpXCI7IGlsIHJpc3VsdGF0byBzYXLDoCB0dXR0aSBpIGRvY3VtZW50aSBjaGUgY29udGVuZ29ubyB1bmEgbyBsJ2FsdHJhIHBhcm9sYS48L2xpPlxyXG4gICAgPGxpPjxiPnNlcmJhdG9pLCAraW50ZXJyYXRpPC9iPjogc2Fyw6AgZWZmZXR0dWF0YSB1bmEgcmljZXJjYSBwZXIgbGUgcGFyb2xlIFwic2VyYmF0b2lcIiBlIFwiaW50ZXJyYXRpXCI7IGlsIHJpc3VsdGF0byBzYXLDoCB0dXR0aSBpIGRvY3VtZW50aSBjaGUgY29udGVuZ29ubyBuZWNlc3NhcmlhbWVudGUgXCJpbnRlcnJhdGlcIiBlZCBldmVudHVhbG1lbnRlIFwic2VyYmF0b2lcIi48L2xpPlxyXG4gICAgPGxpPjxiPnNlcmJhdG9pLCAtaW50ZXJyYXRpPC9iPjogc2Fyw6AgZWZmZXR0dWF0YSB1bmEgcmljZXJjYSBwZXIgbGUgcGFyb2xlIFwic2VyYmF0b2lcIiBlIFwiaW50ZXJyYXRpXCI7IGlsIHJpc3VsdGF0byBzYXLDoCB0dXR0aSBpIGRvY3VtZW50aSBjaGUgY29udGVuZ29ubyBuZWNlc3NhcmlhbWVudGUgXCJpbnRlcnJhdGlcIiBtYSBub24gXCJzZXJiYXRvaVwiLjwvbGk+XHJcbiAgICA8bGk+PGI+XCJzZXJiYXRvaSBpbnRlcnJhdGlcIiwgLWdhczwvYj46IHNhcsOgIGVmZmV0dHVhdGEgdW5hIHJpY2VyY2EgcGVyIGxhIGZyYXNlIFwic2VyYmF0b2kgaW50ZXJyYXRpXCIgZSBwZXIgbGEgcGFyb2xhIFwiZ2FzXCI7IGlsIHJpc3VsdGF0byBzYXLDoCB0dXR0aSBpIGRvY3VtZW50aSBjaGUgY29udGVuZ29ubyBsYSBmcmFzZSBcInNlcmJhdG9pIGludGVycmF0aVwiIG1hIG5vbiBsYSBwYXJvbGEgXCJnYXNcIi48L2xpPlxyXG4gIDwvdWw+XHJcbiAgPHA+U2FyYW5ubyBtb3N0cmF0aSBwZXIgcHJpbWkgKHBpw7kgcmlsZXZhbnRpKSBpIGRvY3VtZW50aSBjaGUgcmlzcGV0dGFubyBpbiBwaWVubyBsYSBjb25kaXppb25lLjwvcD5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4RmlsbD5cclxuICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4RmlsbCA+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIiBjb2xvcj1cInByaW1hcnlcIj5DaGl1ZGk8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuIl19
@@ -1,106 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Output, inject } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatDialogActions, MatDialogClose, MatDialogContent, MatDialogTitle } from '@angular/material/dialog';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { SystemUtils } from '@arsedizioni/ars-utils/core';
9
- import { DialogService } from '@arsedizioni/ars-utils/ui';
10
- import { FlexModule } from '@ngbracket/ngx-layout/flex';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/forms";
13
- import * as i2 from "@ngbracket/ngx-layout/flex";
14
- import * as i3 from "@angular/material/form-field";
15
- import * as i4 from "@angular/material/input";
16
- import * as i5 from "@angular/material/button";
17
- import * as i6 from "@angular/material/icon";
18
- export class ClipperSearchFreeTextQueryBuilderComponent {
19
- constructor() {
20
- this.done = new EventEmitter();
21
- this.dialogService = inject(DialogService);
22
- this.queryAnd = '';
23
- this.queryOr = '';
24
- this.queryNot = '';
25
- this.queryPhrase = '';
26
- this.queryStart = '';
27
- }
28
- /**
29
- * Clear
30
- */
31
- clear() {
32
- this.queryAnd = null;
33
- this.queryOr = null;
34
- this.queryNot = null;
35
- this.queryPhrase = null;
36
- this.queryStart = null;
37
- }
38
- /**
39
- * Submit
40
- */
41
- ok() {
42
- let query = '';
43
- // Phrase
44
- if (this.queryPhrase.length > 0) {
45
- query += ' "';
46
- query += this.queryPhrase.replace('"', '').trim();
47
- query += '" ';
48
- }
49
- // Or
50
- if (this.queryOr.length > 0) {
51
- let parts = this.queryOr.split(',');
52
- for (let i = 0; i < parts.length; i++) {
53
- if (query.length > 0)
54
- query += ', ';
55
- query += parts[i].replace('"', '').trim();
56
- }
57
- query += ' ';
58
- }
59
- // And
60
- if (this.queryAnd.length > 0) {
61
- let parts = this.queryAnd.split(',');
62
- for (let i = 0; i < parts.length; i++) {
63
- if (query.length > 0)
64
- query += ', +';
65
- query += parts[i].replace('"', '').trim();
66
- }
67
- query += ' ';
68
- }
69
- // Start with
70
- if (this.queryStart.length > 0) {
71
- if (query.length > 0)
72
- query += ', +';
73
- query += this.queryStart.replace('"', '').trim();
74
- query += '*';
75
- query += ' ';
76
- }
77
- // Not
78
- if (this.queryNot.length > 0) {
79
- if (query.length === 0) {
80
- // Invalid query
81
- this.dialogService.error("L'operatore di esclusione funziona solo se prima è stato inserito un valore in almeno uno degli altri quattro campi.");
82
- return;
83
- }
84
- let parts = this.queryNot.split(',');
85
- for (let i = 0; i < parts.length; i++) {
86
- if (query.length > 0)
87
- query += ', -';
88
- query += parts[i].replace('"', '').trim();
89
- }
90
- query += ' ';
91
- }
92
- // Notify
93
- if (query.length > 0)
94
- this.done.emit({ query: query });
95
- }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ClipperSearchFreeTextQueryBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: ClipperSearchFreeTextQueryBuilderComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<h2 mat-dialog-title>Trova gli elementi che contengono...</h2>\r\n<mat-dialog-content>\r\n <form name=\"form\" #f=\"ngForm\" (keyup.Enter)=\"!f.form.invalid ? ok() : null\" novalidate>\r\n <div fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-label>Questa esatta parola o frase</mat-label>\r\n <input matInput name=\"queryPhrase\" [(ngModel)]=\"queryPhrase\" maxlength=\"200\" />\r\n @if (queryPhrase) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryPhrase=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Tutte queste parole</mat-label>\r\n <input matInput name=\"queryAnd\" [(ngModel)]=\"queryAnd\" maxlength=\"200\" />\r\n @if (queryAnd) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryAnd=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n <mat-hint>Separate da virgola</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Una qualunque di queste parole</mat-label>\r\n <input matInput name=\"queryOr\" [(ngModel)]=\"queryOr\" maxlength=\"200\" />\r\n @if (queryOr) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryOr=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n <mat-hint>Separate da virgola</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Parole che iniziano con</mat-label>\r\n <input matInput name=\"queryStart\" [(ngModel)]=\"queryStart\" maxlength=\"200\" />\r\n @if (queryStart) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryStart=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Nessuna qualunque di queste parole</mat-label>\r\n <input matInput name=\"queryNot\" [(ngModel)]=\"queryNot\" maxlength=\"200\" />\r\n @if (queryNot) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryNot=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n <mat-hint>Separate da virgola. L'operatore di esclusione funziona solo se prima \u00E8 stato inserito un valore in\r\n almeno uno degli altri quattro campi. </mat-hint>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"30\" fxLayoutAlign=\"start\">\r\n <button type=\"button\" mat-button (click)=\"clear()\" color=\"primary\">Pulisci</button>\r\n </div>\r\n <div fxFlex=\"70\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\">Ok</button>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>", styles: [""], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
98
- }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ClipperSearchFreeTextQueryBuilderComponent, decorators: [{
100
- type: Component,
101
- args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatDialogTitle, MatDialogContent, FormsModule, FlexModule, MatFormFieldModule, MatInputModule,
102
- MatButtonModule, MatIconModule, MatDialogActions, MatDialogClose], template: "<h2 mat-dialog-title>Trova gli elementi che contengono...</h2>\r\n<mat-dialog-content>\r\n <form name=\"form\" #f=\"ngForm\" (keyup.Enter)=\"!f.form.invalid ? ok() : null\" novalidate>\r\n <div fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-label>Questa esatta parola o frase</mat-label>\r\n <input matInput name=\"queryPhrase\" [(ngModel)]=\"queryPhrase\" maxlength=\"200\" />\r\n @if (queryPhrase) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryPhrase=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Tutte queste parole</mat-label>\r\n <input matInput name=\"queryAnd\" [(ngModel)]=\"queryAnd\" maxlength=\"200\" />\r\n @if (queryAnd) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryAnd=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n <mat-hint>Separate da virgola</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Una qualunque di queste parole</mat-label>\r\n <input matInput name=\"queryOr\" [(ngModel)]=\"queryOr\" maxlength=\"200\" />\r\n @if (queryOr) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryOr=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n <mat-hint>Separate da virgola</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Parole che iniziano con</mat-label>\r\n <input matInput name=\"queryStart\" [(ngModel)]=\"queryStart\" maxlength=\"200\" />\r\n @if (queryStart) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryStart=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Nessuna qualunque di queste parole</mat-label>\r\n <input matInput name=\"queryNot\" [(ngModel)]=\"queryNot\" maxlength=\"200\" />\r\n @if (queryNot) {\r\n <a matSuffix mat-icon-button aria-label=\"Azzera\" (click)=\"queryNot=''\">\r\n <mat-icon>close</mat-icon>\r\n </a>\r\n }\r\n <mat-hint>Separate da virgola. L'operatore di esclusione funziona solo se prima \u00E8 stato inserito un valore in\r\n almeno uno degli altri quattro campi. </mat-hint>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxFlex=\"30\" fxLayoutAlign=\"start\">\r\n <button type=\"button\" mat-button (click)=\"clear()\" color=\"primary\">Pulisci</button>\r\n </div>\r\n <div fxFlex=\"70\" fxLayoutAlign=\"end\">\r\n <button mat-flat-button color=\"primary\" (click)=\"ok()\">Ok</button>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>" }]
103
- }], propDecorators: { done: [{
104
- type: Output
105
- }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZyZWUtdGV4dC1xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1mcmVlLXRleHQtcXVlcnktYnVpbGRlci9zZWFyY2gtZnJlZS10ZXh0LXF1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLWZyZWUtdGV4dC1xdWVyeS1idWlsZGVyL3NlYXJjaC1mcmVlLXRleHQtcXVlcnktYnVpbGRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQWV4RCxNQUFNLE9B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Q0FBMEM7a0JBVHRELFNBQVM7MkJBQ0EsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLGNBR2hDLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGNBQWM7d0JBQ3JHLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDOzhCQUczRCxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nVGl0bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aSc7XHJcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvZmxleCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaEZyZWVUZXh0UXVlcnlQYXJhbXMge1xyXG4gIHF1ZXJ5OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgaG9zdDogeyAnQmluZCc6IFN5c3RlbVV0aWxzLmdlbmVyYXRlVVVJRCgpIH0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWZyZWUtdGV4dC1xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1mcmVlLXRleHQtcXVlcnktYnVpbGRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgaW1wb3J0czogW01hdERpYWxvZ1RpdGxlLCBNYXREaWFsb2dDb250ZW50LCBGb3Jtc01vZHVsZSwgRmxleE1vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgIFxyXG4gICAgICBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclNlYXJjaEZyZWVUZXh0UXVlcnlCdWlsZGVyQ29tcG9uZW50IHtcclxuICBAT3V0cHV0KCkgZG9uZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoRnJlZVRleHRRdWVyeVBhcmFtcz4oKTtcclxuXHJcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KERpYWxvZ1NlcnZpY2UpO1xyXG5cclxuICBwcm90ZWN0ZWQgcXVlcnlBbmQ6IHN0cmluZyA9ICcnO1xyXG4gIHByb3RlY3RlZCBxdWVyeU9yOiBzdHJpbmcgPSAnJztcclxuICBwcm90ZWN0ZWQgIHF1ZXJ5Tm90OiBzdHJpbmcgPSAnJztcclxuICBwcm90ZWN0ZWQgIHF1ZXJ5UGhyYXNlOiBzdHJpbmcgPSAnJztcclxuICBwcm90ZWN0ZWQgIHF1ZXJ5U3RhcnQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBDbGVhclxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBjbGVhcigpIHtcclxuICAgIHRoaXMucXVlcnlBbmQgPSBudWxsO1xyXG4gICAgdGhpcy5xdWVyeU9yID0gbnVsbDtcclxuICAgIHRoaXMucXVlcnlOb3QgPSBudWxsO1xyXG4gICAgdGhpcy5xdWVyeVBocmFzZSA9IG51bGw7XHJcbiAgICB0aGlzLnF1ZXJ5U3RhcnQgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3VibWl0XHJcbiAgICovXHJcbiAgIHByb3RlY3RlZCBvaygpIHtcclxuICAgIGxldCBxdWVyeSA9ICcnO1xyXG4gICAgLy8gUGhyYXNlXHJcbiAgICBpZiAodGhpcy5xdWVyeVBocmFzZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHF1ZXJ5ICs9ICcgXCInO1xyXG4gICAgICBxdWVyeSArPSB0aGlzLnF1ZXJ5UGhyYXNlLnJlcGxhY2UoJ1wiJywgJycpLnRyaW0oKTtcclxuICAgICAgcXVlcnkgKz0gJ1wiICc7XHJcbiAgICB9XHJcbiAgICAvLyBPclxyXG4gICAgaWYgKHRoaXMucXVlcnlPci5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBwYXJ0cyA9IHRoaXMucXVlcnlPci5zcGxpdCgnLCcpO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKHF1ZXJ5Lmxlbmd0aCA+IDApIHF1ZXJ5ICs9ICcsICc7XHJcbiAgICAgICAgcXVlcnkgKz0gcGFydHNbaV0ucmVwbGFjZSgnXCInLCAnJykudHJpbSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHF1ZXJ5ICs9ICcgJztcclxuICAgIH1cclxuICAgIC8vIEFuZFxyXG4gICAgaWYgKHRoaXMucXVlcnlBbmQubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgcGFydHMgPSB0aGlzLnF1ZXJ5QW5kLnNwbGl0KCcsJyk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAocXVlcnkubGVuZ3RoID4gMCkgcXVlcnkgKz0gJywgKyc7XHJcbiAgICAgICAgcXVlcnkgKz0gcGFydHNbaV0ucmVwbGFjZSgnXCInLCAnJykudHJpbSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHF1ZXJ5ICs9ICcgJztcclxuICAgIH1cclxuICAgIC8vIFN0YXJ0IHdpdGhcclxuICAgIGlmICh0aGlzLnF1ZXJ5U3RhcnQubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAocXVlcnkubGVuZ3RoID4gMCkgcXVlcnkgKz0gJywgKyc7XHJcbiAgICAgIHF1ZXJ5ICs9IHRoaXMucXVlcnlTdGFydC5yZXBsYWNlKCdcIicsICcnKS50cmltKCk7XHJcbiAgICAgIHF1ZXJ5ICs9ICcqJztcclxuICAgICAgcXVlcnkgKz0gJyAnO1xyXG4gICAgfVxyXG4gICAgLy8gTm90XHJcbiAgICBpZiAodGhpcy5xdWVyeU5vdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmIChxdWVyeS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAvLyBJbnZhbGlkIHF1ZXJ5XHJcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgICAgXCJMJ29wZXJhdG9yZSBkaSBlc2NsdXNpb25lIGZ1bnppb25hIHNvbG8gc2UgcHJpbWEgw6ggc3RhdG8gaW5zZXJpdG8gdW4gdmFsb3JlIGluIGFsbWVubyB1bm8gZGVnbGkgYWx0cmkgcXVhdHRybyBjYW1waS5cIlxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBwYXJ0cyA9IHRoaXMucXVlcnlOb3Quc3BsaXQoJywnKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChxdWVyeS5sZW5ndGggPiAwKSBxdWVyeSArPSAnLCAtJztcclxuICAgICAgICBxdWVyeSArPSBwYXJ0c1tpXS5yZXBsYWNlKCdcIicsICcnKS50cmltKCk7XHJcbiAgICAgIH1cclxuICAgICAgcXVlcnkgKz0gJyAnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBOb3RpZnlcclxuICAgIGlmIChxdWVyeS5sZW5ndGggPiAwKSB0aGlzLmRvbmUuZW1pdCh7IHF1ZXJ5OiBxdWVyeSB9KTtcclxuICB9XHJcbn1cclxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGU+VHJvdmEgZ2xpIGVsZW1lbnRpIGNoZSBjb250ZW5nb25vLi4uPC9oMj5cclxuPG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8Zm9ybSBuYW1lPVwiZm9ybVwiICNmPVwibmdGb3JtXCIgKGtleXVwLkVudGVyKT1cIiFmLmZvcm0uaW52YWxpZCA/IG9rKCkgOiBudWxsXCIgbm92YWxpZGF0ZT5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+UXVlc3RhIGVzYXR0YSBwYXJvbGEgbyBmcmFzZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwicXVlcnlQaHJhc2VcIiBbKG5nTW9kZWwpXT1cInF1ZXJ5UGhyYXNlXCIgbWF4bGVuZ3RoPVwiMjAwXCIgLz5cclxuICAgICAgICBAaWYgKHF1ZXJ5UGhyYXNlKSB7XHJcbiAgICAgICAgPGEgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQXp6ZXJhXCIgKGNsaWNrKT1cInF1ZXJ5UGhyYXNlPScnXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPlR1dHRlIHF1ZXN0ZSBwYXJvbGU8L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cInF1ZXJ5QW5kXCIgWyhuZ01vZGVsKV09XCJxdWVyeUFuZFwiIG1heGxlbmd0aD1cIjIwMFwiIC8+XHJcbiAgICAgICAgQGlmIChxdWVyeUFuZCkge1xyXG4gICAgICAgIDxhIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkF6emVyYVwiIChjbGljayk9XCJxdWVyeUFuZD0nJ1wiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxtYXQtaGludD5TZXBhcmF0ZSBkYSB2aXJnb2xhPC9tYXQtaGludD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+VW5hIHF1YWx1bnF1ZSBkaSBxdWVzdGUgcGFyb2xlPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJxdWVyeU9yXCIgWyhuZ01vZGVsKV09XCJxdWVyeU9yXCIgbWF4bGVuZ3RoPVwiMjAwXCIgLz5cclxuICAgICAgICBAaWYgKHF1ZXJ5T3IpIHtcclxuICAgICAgICA8YSBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJBenplcmFcIiAoY2xpY2spPVwicXVlcnlPcj0nJ1wiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxtYXQtaGludD5TZXBhcmF0ZSBkYSB2aXJnb2xhPC9tYXQtaGludD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+UGFyb2xlIGNoZSBpbml6aWFubyBjb248L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cInF1ZXJ5U3RhcnRcIiBbKG5nTW9kZWwpXT1cInF1ZXJ5U3RhcnRcIiBtYXhsZW5ndGg9XCIyMDBcIiAvPlxyXG4gICAgICAgIEBpZiAocXVlcnlTdGFydCkge1xyXG4gICAgICAgIDxhIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkF6emVyYVwiIChjbGljayk9XCJxdWVyeVN0YXJ0PScnXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPk5lc3N1bmEgcXVhbHVucXVlIGRpIHF1ZXN0ZSBwYXJvbGU8L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cInF1ZXJ5Tm90XCIgWyhuZ01vZGVsKV09XCJxdWVyeU5vdFwiIG1heGxlbmd0aD1cIjIwMFwiIC8+XHJcbiAgICAgICAgQGlmIChxdWVyeU5vdCkge1xyXG4gICAgICAgIDxhIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkF6emVyYVwiIChjbGljayk9XCJxdWVyeU5vdD0nJ1wiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxtYXQtaGludD5TZXBhcmF0ZSBkYSB2aXJnb2xhLiBMJ29wZXJhdG9yZSBkaSBlc2NsdXNpb25lIGZ1bnppb25hIHNvbG8gc2UgcHJpbWEgw6ggc3RhdG8gaW5zZXJpdG8gdW4gdmFsb3JlIGluXHJcbiAgICAgICAgICBhbG1lbm8gdW5vIGRlZ2xpIGFsdHJpIHF1YXR0cm8gY2FtcGkuIDwvbWF0LWhpbnQ+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeEZpbGw+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIjMwXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0XCI+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1idXR0b24gKGNsaWNrKT1cImNsZWFyKClcIiBjb2xvcj1cInByaW1hcnlcIj5QdWxpc2NpPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhGbGV4PVwiNzBcIiBmeExheW91dEFsaWduPVwiZW5kXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvaygpXCI+T2s8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNvbG9yPVwicHJpbWFyeVwiPkFubnVsbGE8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz4iXX0=