@seniorsistemas/platform-components 5.3.2 → 5.3.3-develop-73308358

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 (245) hide show
  1. package/esm2022/modules/advanced-filter/advanced-filter.module.mjs +75 -0
  2. package/esm2022/modules/advanced-filter/components/advanced-filter/advanced-filter.component.mjs +128 -0
  3. package/esm2022/modules/advanced-filter/components/form-filter/form-filter.component.mjs +651 -0
  4. package/esm2022/modules/advanced-filter/index.mjs +6 -0
  5. package/esm2022/modules/advanced-filter/locale/fallback.mjs +73 -0
  6. package/esm2022/modules/advanced-filter/models/context.mjs +2 -0
  7. package/esm2022/modules/advanced-filter/models/depends-on.mjs +2 -0
  8. package/esm2022/modules/advanced-filter/models/enum-item.mjs +2 -0
  9. package/esm2022/modules/advanced-filter/models/filter-type.mjs +14 -0
  10. package/esm2022/modules/advanced-filter/models/filter-value.mjs +2 -0
  11. package/esm2022/modules/advanced-filter/models/filter.mjs +41 -0
  12. package/esm2022/modules/advanced-filter/models/form-filter.mjs +28 -0
  13. package/esm2022/modules/advanced-filter/models/index.mjs +11 -0
  14. package/esm2022/modules/advanced-filter/models/scope.mjs +6 -0
  15. package/esm2022/modules/advanced-filter/models/search.mjs +2 -0
  16. package/esm2022/modules/advanced-filter/models/tab-view.mjs +18 -0
  17. package/esm2022/modules/advanced-filter/models/ticked-filter.mjs +2 -0
  18. package/esm2022/modules/advanced-filter/pipes/map-values.pipe.mjs +14 -0
  19. package/esm2022/modules/advanced-filter/pipes/translate.pipe.mjs +19 -0
  20. package/esm2022/modules/advanced-filter/services/advanced-filter.service.mjs +146 -0
  21. package/esm2022/modules/advanced-filter/services/calendar-options.service.mjs +77 -0
  22. package/esm2022/modules/advanced-filter/services/constants.mjs +6 -0
  23. package/esm2022/modules/advanced-filter/shared/constants.mjs +3 -0
  24. package/esm2022/modules/advanced-filter/utils/comparator.mjs +53 -0
  25. package/esm2022/modules/advanced-filter/utils/filter-id/index.mjs +8 -0
  26. package/esm2022/modules/advanced-filter/utils/filter-value/index.mjs +26 -0
  27. package/esm2022/modules/advanced-filter/utils/filterOperators.mjs +9 -0
  28. package/esm2022/modules/advanced-filter/utils/form-field/index.mjs +52 -0
  29. package/esm2022/modules/advanced-filter/utils/index.mjs +57 -0
  30. package/esm2022/modules/advanced-filter/utils/json-path.mjs +13 -0
  31. package/esm2022/modules/cyclic-json-interceptor/cyclic-json-interceptor.module.mjs +14 -0
  32. package/esm2022/modules/cyclic-json-interceptor/cyclic-json-interceptor.service.mjs +29 -0
  33. package/esm2022/modules/cyclic-json-interceptor/index.mjs +2 -0
  34. package/esm2022/modules/feature-toggle/constants/endpoint.constant.mjs +26 -0
  35. package/esm2022/modules/feature-toggle/feature-toggle.module.mjs +15 -0
  36. package/esm2022/modules/feature-toggle/feature-toggle.service.mjs +42 -0
  37. package/esm2022/modules/feature-toggle/index.mjs +4 -0
  38. package/esm2022/modules/feature-toggle/models/feature.mjs +2 -0
  39. package/esm2022/modules/http-interceptor/http-interceptor.module.mjs +16 -0
  40. package/esm2022/modules/http-interceptor/http-interceptor.service.mjs +42 -0
  41. package/esm2022/modules/http-interceptor/index.mjs +4 -0
  42. package/esm2022/modules/http-interceptor/rest-url.service.mjs +15 -0
  43. package/esm2022/modules/http-interceptor/x-services-url.service.mjs +18 -0
  44. package/esm2022/modules/permissions/permissions.config.mjs +17 -0
  45. package/esm2022/modules/permissions/permissions.module.mjs +43 -0
  46. package/esm2022/modules/permissions/permissions.service.mjs +169 -0
  47. package/esm2022/modules/spotlight/component/spotlight.component.mjs +274 -0
  48. package/esm2022/modules/spotlight/index.mjs +3 -0
  49. package/esm2022/modules/spotlight/locale/fallback.mjs +5 -0
  50. package/esm2022/modules/spotlight/models/display-type.enum.mjs +6 -0
  51. package/esm2022/modules/spotlight/models/index.mjs +10 -0
  52. package/esm2022/modules/spotlight/models/spotlight-control-list.interface.mjs +2 -0
  53. package/esm2022/modules/spotlight/models/spotlight-control.interface.mjs +11 -0
  54. package/esm2022/modules/spotlight/models/spotlight-notification.interface.mjs +2 -0
  55. package/esm2022/modules/spotlight/models/spotlight-screen-list.interface.mjs +2 -0
  56. package/esm2022/modules/spotlight/models/spotlight-screen.interface.mjs +2 -0
  57. package/esm2022/modules/spotlight/models/spotlight-status.enum.mjs +8 -0
  58. package/esm2022/modules/spotlight/models/spotlight-user.interface.mjs +2 -0
  59. package/esm2022/modules/spotlight/models/spotlight-users-list.interface.mjs +2 -0
  60. package/esm2022/modules/spotlight/models/spotlight.interface.mjs +2 -0
  61. package/esm2022/modules/spotlight/models/user-action.enum.mjs +7 -0
  62. package/esm2022/modules/spotlight/pipes/translate.pipe.mjs +19 -0
  63. package/esm2022/modules/spotlight/service/spotlight.service.mjs +34 -0
  64. package/esm2022/modules/spotlight/spotlight.module.mjs +53 -0
  65. package/esm2022/modules/translations/translations.module.mjs +192 -0
  66. package/esm2022/public-api.mjs +10 -0
  67. package/esm2022/seniorsistemas-platform-components.mjs +5 -0
  68. package/fesm2022/seniorsistemas-platform-components.mjs +2432 -0
  69. package/fesm2022/seniorsistemas-platform-components.mjs.map +1 -0
  70. package/index.d.ts +5 -0
  71. package/modules/advanced-filter/advanced-filter.module.d.ts +19 -0
  72. package/modules/advanced-filter/components/advanced-filter/advanced-filter.component.d.ts +4 -3
  73. package/modules/advanced-filter/components/form-filter/form-filter.component.d.ts +15 -12
  74. package/modules/advanced-filter/index.d.ts +1 -0
  75. package/modules/advanced-filter/models/tab-view.d.ts +1 -1
  76. package/modules/advanced-filter/pipes/map-values.pipe.d.ts +3 -0
  77. package/modules/advanced-filter/pipes/translate.pipe.d.ts +4 -3
  78. package/modules/advanced-filter/services/advanced-filter.service.d.ts +7 -3
  79. package/modules/advanced-filter/services/calendar-options.service.d.ts +4 -3
  80. package/modules/advanced-filter/services/constants.d.ts +4 -4
  81. package/modules/advanced-filter/utils/comparator.d.ts +1 -1
  82. package/modules/advanced-filter/utils/form-field/index.d.ts +1 -1
  83. package/modules/advanced-filter/utils/json-path.d.ts +1 -1
  84. package/modules/cyclic-json-interceptor/cyclic-json-interceptor.module.d.ts +4 -0
  85. package/modules/cyclic-json-interceptor/cyclic-json-interceptor.service.d.ts +3 -0
  86. package/modules/feature-toggle/feature-toggle.module.d.ts +5 -0
  87. package/modules/feature-toggle/feature-toggle.service.d.ts +4 -3
  88. package/modules/http-interceptor/http-interceptor.module.d.ts +4 -0
  89. package/modules/http-interceptor/http-interceptor.service.d.ts +3 -3
  90. package/modules/http-interceptor/rest-url.service.d.ts +3 -0
  91. package/modules/http-interceptor/x-services-url.service.d.ts +3 -0
  92. package/modules/permissions/permissions.config.d.ts +7 -1
  93. package/modules/permissions/permissions.module.d.ts +4 -0
  94. package/modules/permissions/permissions.service.d.ts +6 -12
  95. package/modules/spotlight/component/spotlight.component.d.ts +6 -7
  96. package/modules/spotlight/pipes/translate.pipe.d.ts +4 -3
  97. package/modules/spotlight/service/spotlight.service.d.ts +4 -3
  98. package/modules/spotlight/spotlight.module.d.ts +11 -0
  99. package/modules/translations/translations.module.d.ts +9 -5
  100. package/package.json +20 -54
  101. package/public-api.d.ts +1 -0
  102. package/bundles/seniorsistemas-platform-components.umd.js +0 -2745
  103. package/bundles/seniorsistemas-platform-components.umd.js.map +0 -1
  104. package/bundles/seniorsistemas-platform-components.umd.min.js +0 -17
  105. package/bundles/seniorsistemas-platform-components.umd.min.js.map +0 -1
  106. package/esm2015/modules/advanced-filter/advanced-filter.module.js +0 -47
  107. package/esm2015/modules/advanced-filter/components/advanced-filter/advanced-filter.component.js +0 -136
  108. package/esm2015/modules/advanced-filter/components/form-filter/form-filter.component.js +0 -578
  109. package/esm2015/modules/advanced-filter/index.js +0 -5
  110. package/esm2015/modules/advanced-filter/locale/fallback.js +0 -73
  111. package/esm2015/modules/advanced-filter/models/context.js +0 -1
  112. package/esm2015/modules/advanced-filter/models/depends-on.js +0 -1
  113. package/esm2015/modules/advanced-filter/models/enum-item.js +0 -1
  114. package/esm2015/modules/advanced-filter/models/filter-type.js +0 -14
  115. package/esm2015/modules/advanced-filter/models/filter-value.js +0 -1
  116. package/esm2015/modules/advanced-filter/models/filter.js +0 -23
  117. package/esm2015/modules/advanced-filter/models/form-filter.js +0 -19
  118. package/esm2015/modules/advanced-filter/models/index.js +0 -5
  119. package/esm2015/modules/advanced-filter/models/scope.js +0 -6
  120. package/esm2015/modules/advanced-filter/models/search.js +0 -1
  121. package/esm2015/modules/advanced-filter/models/tab-view.js +0 -18
  122. package/esm2015/modules/advanced-filter/models/ticked-filter.js +0 -1
  123. package/esm2015/modules/advanced-filter/pipes/map-values.pipe.js +0 -12
  124. package/esm2015/modules/advanced-filter/pipes/translate.pipe.js +0 -22
  125. package/esm2015/modules/advanced-filter/services/advanced-filter.service.js +0 -141
  126. package/esm2015/modules/advanced-filter/services/calendar-options.service.js +0 -81
  127. package/esm2015/modules/advanced-filter/services/constants.js +0 -6
  128. package/esm2015/modules/advanced-filter/shared/constants.js +0 -3
  129. package/esm2015/modules/advanced-filter/utils/comparator.js +0 -55
  130. package/esm2015/modules/advanced-filter/utils/filter-id/index.js +0 -8
  131. package/esm2015/modules/advanced-filter/utils/filter-value/index.js +0 -24
  132. package/esm2015/modules/advanced-filter/utils/filterOperators.js +0 -11
  133. package/esm2015/modules/advanced-filter/utils/form-field/index.js +0 -50
  134. package/esm2015/modules/advanced-filter/utils/index.js +0 -57
  135. package/esm2015/modules/advanced-filter/utils/json-path.js +0 -12
  136. package/esm2015/modules/cyclic-json-interceptor/cyclic-json-interceptor.module.js +0 -14
  137. package/esm2015/modules/cyclic-json-interceptor/cyclic-json-interceptor.service.js +0 -27
  138. package/esm2015/modules/cyclic-json-interceptor/index.js +0 -2
  139. package/esm2015/modules/feature-toggle/constants/endpoint.constant.js +0 -26
  140. package/esm2015/modules/feature-toggle/feature-toggle.module.js +0 -15
  141. package/esm2015/modules/feature-toggle/feature-toggle.service.js +0 -48
  142. package/esm2015/modules/feature-toggle/index.js +0 -3
  143. package/esm2015/modules/feature-toggle/models/feature.js +0 -1
  144. package/esm2015/modules/http-interceptor/http-interceptor.module.js +0 -16
  145. package/esm2015/modules/http-interceptor/http-interceptor.service.js +0 -47
  146. package/esm2015/modules/http-interceptor/index.js +0 -4
  147. package/esm2015/modules/http-interceptor/rest-url.service.js +0 -14
  148. package/esm2015/modules/http-interceptor/x-services-url.service.js +0 -17
  149. package/esm2015/modules/permissions/permissions.config.js +0 -11
  150. package/esm2015/modules/permissions/permissions.module.js +0 -42
  151. package/esm2015/modules/permissions/permissions.service.js +0 -196
  152. package/esm2015/modules/spotlight/component/spotlight.component.js +0 -274
  153. package/esm2015/modules/spotlight/index.js +0 -3
  154. package/esm2015/modules/spotlight/locale/fallback.js +0 -5
  155. package/esm2015/modules/spotlight/models/display-type.enum.js +0 -6
  156. package/esm2015/modules/spotlight/models/index.js +0 -4
  157. package/esm2015/modules/spotlight/models/spotlight-control-list.interface.js +0 -1
  158. package/esm2015/modules/spotlight/models/spotlight-control.interface.js +0 -3
  159. package/esm2015/modules/spotlight/models/spotlight-notification.interface.js +0 -1
  160. package/esm2015/modules/spotlight/models/spotlight-screen-list.interface.js +0 -1
  161. package/esm2015/modules/spotlight/models/spotlight-screen.interface.js +0 -1
  162. package/esm2015/modules/spotlight/models/spotlight-status.enum.js +0 -8
  163. package/esm2015/modules/spotlight/models/spotlight-user.interface.js +0 -1
  164. package/esm2015/modules/spotlight/models/spotlight-users-list.interface.js +0 -1
  165. package/esm2015/modules/spotlight/models/spotlight.interface.js +0 -1
  166. package/esm2015/modules/spotlight/models/user-action.enum.js +0 -7
  167. package/esm2015/modules/spotlight/pipes/translate.pipe.js +0 -22
  168. package/esm2015/modules/spotlight/service/spotlight.service.js +0 -38
  169. package/esm2015/modules/spotlight/spotlight.module.js +0 -37
  170. package/esm2015/modules/translations/translations.module.js +0 -182
  171. package/esm2015/public-api.js +0 -9
  172. package/esm2015/seniorsistemas-platform-components.js +0 -16
  173. package/esm5/modules/advanced-filter/advanced-filter.module.js +0 -54
  174. package/esm5/modules/advanced-filter/components/advanced-filter/advanced-filter.component.js +0 -144
  175. package/esm5/modules/advanced-filter/components/form-filter/form-filter.component.js +0 -626
  176. package/esm5/modules/advanced-filter/index.js +0 -5
  177. package/esm5/modules/advanced-filter/locale/fallback.js +0 -73
  178. package/esm5/modules/advanced-filter/models/context.js +0 -1
  179. package/esm5/modules/advanced-filter/models/depends-on.js +0 -1
  180. package/esm5/modules/advanced-filter/models/enum-item.js +0 -1
  181. package/esm5/modules/advanced-filter/models/filter-type.js +0 -14
  182. package/esm5/modules/advanced-filter/models/filter-value.js +0 -1
  183. package/esm5/modules/advanced-filter/models/filter.js +0 -25
  184. package/esm5/modules/advanced-filter/models/form-filter.js +0 -25
  185. package/esm5/modules/advanced-filter/models/index.js +0 -5
  186. package/esm5/modules/advanced-filter/models/scope.js +0 -6
  187. package/esm5/modules/advanced-filter/models/search.js +0 -1
  188. package/esm5/modules/advanced-filter/models/tab-view.js +0 -29
  189. package/esm5/modules/advanced-filter/models/ticked-filter.js +0 -1
  190. package/esm5/modules/advanced-filter/pipes/map-values.pipe.js +0 -16
  191. package/esm5/modules/advanced-filter/pipes/translate.pipe.js +0 -23
  192. package/esm5/modules/advanced-filter/services/advanced-filter.service.js +0 -152
  193. package/esm5/modules/advanced-filter/services/calendar-options.service.js +0 -82
  194. package/esm5/modules/advanced-filter/services/constants.js +0 -6
  195. package/esm5/modules/advanced-filter/shared/constants.js +0 -3
  196. package/esm5/modules/advanced-filter/utils/comparator.js +0 -55
  197. package/esm5/modules/advanced-filter/utils/filter-id/index.js +0 -8
  198. package/esm5/modules/advanced-filter/utils/filter-value/index.js +0 -25
  199. package/esm5/modules/advanced-filter/utils/filterOperators.js +0 -11
  200. package/esm5/modules/advanced-filter/utils/form-field/index.js +0 -52
  201. package/esm5/modules/advanced-filter/utils/index.js +0 -57
  202. package/esm5/modules/advanced-filter/utils/json-path.js +0 -12
  203. package/esm5/modules/cyclic-json-interceptor/cyclic-json-interceptor.module.js +0 -17
  204. package/esm5/modules/cyclic-json-interceptor/cyclic-json-interceptor.service.js +0 -30
  205. package/esm5/modules/cyclic-json-interceptor/index.js +0 -2
  206. package/esm5/modules/feature-toggle/constants/endpoint.constant.js +0 -27
  207. package/esm5/modules/feature-toggle/feature-toggle.module.js +0 -18
  208. package/esm5/modules/feature-toggle/feature-toggle.service.js +0 -51
  209. package/esm5/modules/feature-toggle/index.js +0 -3
  210. package/esm5/modules/feature-toggle/models/feature.js +0 -1
  211. package/esm5/modules/http-interceptor/http-interceptor.module.js +0 -19
  212. package/esm5/modules/http-interceptor/http-interceptor.service.js +0 -49
  213. package/esm5/modules/http-interceptor/index.js +0 -4
  214. package/esm5/modules/http-interceptor/rest-url.service.js +0 -17
  215. package/esm5/modules/http-interceptor/x-services-url.service.js +0 -20
  216. package/esm5/modules/permissions/permissions.config.js +0 -17
  217. package/esm5/modules/permissions/permissions.module.js +0 -46
  218. package/esm5/modules/permissions/permissions.service.js +0 -212
  219. package/esm5/modules/spotlight/component/spotlight.component.js +0 -300
  220. package/esm5/modules/spotlight/index.js +0 -3
  221. package/esm5/modules/spotlight/locale/fallback.js +0 -5
  222. package/esm5/modules/spotlight/models/display-type.enum.js +0 -6
  223. package/esm5/modules/spotlight/models/index.js +0 -4
  224. package/esm5/modules/spotlight/models/spotlight-control-list.interface.js +0 -1
  225. package/esm5/modules/spotlight/models/spotlight-control.interface.js +0 -7
  226. package/esm5/modules/spotlight/models/spotlight-notification.interface.js +0 -1
  227. package/esm5/modules/spotlight/models/spotlight-screen-list.interface.js +0 -1
  228. package/esm5/modules/spotlight/models/spotlight-screen.interface.js +0 -1
  229. package/esm5/modules/spotlight/models/spotlight-status.enum.js +0 -8
  230. package/esm5/modules/spotlight/models/spotlight-user.interface.js +0 -1
  231. package/esm5/modules/spotlight/models/spotlight-users-list.interface.js +0 -1
  232. package/esm5/modules/spotlight/models/spotlight.interface.js +0 -1
  233. package/esm5/modules/spotlight/models/user-action.enum.js +0 -7
  234. package/esm5/modules/spotlight/pipes/translate.pipe.js +0 -23
  235. package/esm5/modules/spotlight/service/spotlight.service.js +0 -39
  236. package/esm5/modules/spotlight/spotlight.module.js +0 -40
  237. package/esm5/modules/translations/translations.module.js +0 -226
  238. package/esm5/public-api.js +0 -9
  239. package/esm5/seniorsistemas-platform-components.js +0 -16
  240. package/fesm2015/seniorsistemas-platform-components.js +0 -2284
  241. package/fesm2015/seniorsistemas-platform-components.js.map +0 -1
  242. package/fesm5/seniorsistemas-platform-components.js +0 -2507
  243. package/fesm5/seniorsistemas-platform-components.js.map +0 -1
  244. package/seniorsistemas-platform-components.d.ts +0 -15
  245. package/seniorsistemas-platform-components.metadata.json +0 -1
@@ -0,0 +1,75 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { ButtonModule as PrimeNGButtonModule } from 'primeng/button';
5
+ import { DialogModule } from 'primeng/dialog';
6
+ import { TabViewModule } from 'primeng/tabview';
7
+ import { ToastModule } from 'primeng/toast';
8
+ import { TooltipModule } from 'primeng/tooltip';
9
+ import { MessageService } from "primeng/api";
10
+ import { LocaleService } from '@seniorsistemas/angular-components/locale';
11
+ import { EmptyStateModule } from '@seniorsistemas/angular-components/empty-state';
12
+ import { ButtonModule } from '@seniorsistemas/angular-components/button';
13
+ import { DynamicFormModule } from "@seniorsistemas/angular-components/dynamic-form";
14
+ import { MapValuesPipe } from './pipes/map-values.pipe';
15
+ import { TranslatePipe } from './pipes/translate.pipe';
16
+ import { TranslationsModule } from './../translations/translations.module';
17
+ import { fallback } from './locale/fallback';
18
+ import { TranslateService } from '@ngx-translate/core';
19
+ import { AdvancedFilterService } from './services/advanced-filter.service';
20
+ import { AdvancedFilterComponent } from './components/advanced-filter/advanced-filter.component';
21
+ import { FormFilterComponent } from './components/form-filter/form-filter.component';
22
+ import { CalendarOptionsService } from './services/calendar-options.service';
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "../translations/translations.module";
25
+ export class AppRoutingModule {
26
+ }
27
+ export class AdvancedFilterModule {
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdvancedFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AdvancedFilterModule, declarations: [AdvancedFilterComponent, FormFilterComponent, MapValuesPipe, TranslatePipe], imports: [DialogModule,
30
+ ButtonModule,
31
+ PrimeNGButtonModule,
32
+ TabViewModule,
33
+ CommonModule,
34
+ FormsModule,
35
+ ReactiveFormsModule,
36
+ DynamicFormModule,
37
+ ToastModule,
38
+ EmptyStateModule,
39
+ TooltipModule, i1.TranslationsModule], exports: [AdvancedFilterComponent, FormFilterComponent] });
40
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdvancedFilterModule, providers: [AdvancedFilterService, LocaleService, MessageService, TranslateService, CalendarOptionsService], imports: [DialogModule,
41
+ ButtonModule,
42
+ PrimeNGButtonModule,
43
+ TabViewModule,
44
+ CommonModule,
45
+ FormsModule,
46
+ ReactiveFormsModule,
47
+ DynamicFormModule,
48
+ ToastModule,
49
+ EmptyStateModule,
50
+ TooltipModule,
51
+ TranslationsModule.forChild([{ domain: 'platform', service: 'filter_service', fallback }])] });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdvancedFilterModule, decorators: [{
54
+ type: NgModule,
55
+ args: [{
56
+ imports: [
57
+ DialogModule,
58
+ ButtonModule,
59
+ PrimeNGButtonModule,
60
+ TabViewModule,
61
+ CommonModule,
62
+ FormsModule,
63
+ ReactiveFormsModule,
64
+ DynamicFormModule,
65
+ ToastModule,
66
+ EmptyStateModule,
67
+ TooltipModule,
68
+ TranslationsModule.forChild([{ domain: 'platform', service: 'filter_service', fallback }]),
69
+ ],
70
+ providers: [AdvancedFilterService, LocaleService, MessageService, TranslateService, CalendarOptionsService],
71
+ declarations: [AdvancedFilterComponent, FormFilterComponent, MapValuesPipe, TranslatePipe],
72
+ exports: [AdvancedFilterComponent, FormFilterComponent]
73
+ }]
74
+ }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9zcmMvbW9kdWxlcy9hZHZhbmNlZC1maWx0ZXIvYWR2YW5jZWQtZmlsdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksSUFBSSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFFN0UsTUFBTSxPQUFPLGdCQUFnQjtDQUFHO0FBb0JoQyxNQUFNLE9BQU8sb0JBQW9CO3dHQUFwQixvQkFBb0I7eUdBQXBCLG9CQUFvQixpQkFIaEIsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGFBQWEsYUFkdkYsWUFBWTtZQUNaLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGFBQWEsb0NBS0wsdUJBQXVCLEVBQUUsbUJBQW1CO3lHQUUzQyxvQkFBb0IsYUFKcEIsQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDLFlBYnpHLFlBQVk7WUFDWixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2Isa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDOzs0RkFNL0Usb0JBQW9CO2tCQW5CaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztxQkFDekY7b0JBQ0QsU0FBUyxFQUFFLENBQUMscUJBQXFCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDM0csWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQztvQkFDMUYsT0FBTyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIGFzIFByaW1lTkdCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBUYWJWaWV3TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJ2aWV3JztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9sb2NhbGUnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZW1wdHktc3RhdGUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Nb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm1cIjtcbmltcG9ydCB7IE1hcFZhbHVlc1BpcGUgfSBmcm9tICcuL3BpcGVzL21hcC12YWx1ZXMucGlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbnNNb2R1bGUgfSBmcm9tICcuLy4uL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMubW9kdWxlJztcbmltcG9ydCB7IGZhbGxiYWNrIH0gZnJvbSAnLi9sb2NhbGUvZmFsbGJhY2snO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWR2YW5jZWRGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hZHZhbmNlZC1maWx0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBZHZhbmNlZEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZmlsdGVyL2Zvcm0tZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxlbmRhck9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jYWxlbmRhci1vcHRpb25zLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgQXBwUm91dGluZ01vZHVsZSB7fVxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIERpYWxvZ01vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgUHJpbWVOR0J1dHRvbk1vZHVsZSxcbiAgICBUYWJWaWV3TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIER5bmFtaWNGb3JtTW9kdWxlLFxuICAgIFRvYXN0TW9kdWxlLFxuICAgIEVtcHR5U3RhdGVNb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBUcmFuc2xhdGlvbnNNb2R1bGUuZm9yQ2hpbGQoW3tkb21haW46ICdwbGF0Zm9ybScsIHNlcnZpY2U6ICdmaWx0ZXJfc2VydmljZScsIGZhbGxiYWNrfV0pLFxuICBdLFxuICBwcm92aWRlcnM6IFtBZHZhbmNlZEZpbHRlclNlcnZpY2UsIExvY2FsZVNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBDYWxlbmRhck9wdGlvbnNTZXJ2aWNlXSxcbiAgZGVjbGFyYXRpb25zOiBbQWR2YW5jZWRGaWx0ZXJDb21wb25lbnQsIEZvcm1GaWx0ZXJDb21wb25lbnQsIE1hcFZhbHVlc1BpcGUsIFRyYW5zbGF0ZVBpcGVdLFxuICBleHBvcnRzOiBbQWR2YW5jZWRGaWx0ZXJDb21wb25lbnQsIEZvcm1GaWx0ZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkRmlsdGVyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,128 @@
1
+ import { Component, HostListener, Input, ViewChild, ViewEncapsulation, inject } from '@angular/core';
2
+ import { NavigationEnd, Router } from '@angular/router';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { FormFilterComponent } from '../form-filter/form-filter.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "primeng/dialog";
7
+ import * as i2 from "primeng/api";
8
+ import * as i3 from "@seniorsistemas/angular-components/button";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "primeng/toast";
11
+ import * as i6 from "../form-filter/form-filter.component";
12
+ import * as i7 from "../../pipes/translate.pipe";
13
+ const TRANSLATE_PREFIX = 'platform.filter_service';
14
+ export class AdvancedFilterComponent {
15
+ translate = inject(TranslateService);
16
+ router = inject(Router);
17
+ labelButton = 'Filters';
18
+ onlyContent = false;
19
+ hideButtons = false;
20
+ canOpenFilter = true;
21
+ showActiveFiltersCountBadge = true;
22
+ filterAndSave = false;
23
+ contextId = '';
24
+ subscriptions = [];
25
+ isMobile = false;
26
+ tabViewOrientation = 'left';
27
+ totalFiltersActive = 0;
28
+ showDialog = false;
29
+ error = false;
30
+ currentTicket = '';
31
+ modalComponent;
32
+ mobileButtonActions = [
33
+ { id: 'save', label: this.translate.instant('save'), command: () => this.modalComponent.saveFilters() },
34
+ { id: 'clear', label: this.translate.instant('clear'), command: () => this.modalComponent.clearFilters() }
35
+ ];
36
+ ngOnInit() {
37
+ this.isMobile = innerWidth <= 640;
38
+ this.tabViewOrientation = this.isMobile ? 'top' : 'left';
39
+ const sub = this.router.events.subscribe(e => {
40
+ if (e instanceof NavigationEnd) {
41
+ this.modalComponent.getFilters();
42
+ }
43
+ });
44
+ this.subscriptions.push(sub);
45
+ }
46
+ ngOnDestroy() {
47
+ this.subscriptions.forEach(v => v.unsubscribe());
48
+ }
49
+ onResizeWindow(event) {
50
+ const { innerWidth } = event.target;
51
+ this.isMobile = innerWidth <= 640;
52
+ this.tabViewOrientation = this.isMobile ? 'top' : 'left';
53
+ }
54
+ get appliedFiltersTooltip() {
55
+ return this.totalFiltersActive > 1
56
+ ? this.translate.instant(`${TRANSLATE_PREFIX}.applied_filters_message`, { totalActiveFilters: this.totalFiltersActive })
57
+ : this.translate.instant(`${TRANSLATE_PREFIX}.applied_filter_message`, { totalActiveFilters: this.totalFiltersActive });
58
+ }
59
+ onError(event) {
60
+ this.error = event;
61
+ }
62
+ saveFilters(forceSave = false) {
63
+ this.modalComponent.saveFilters(forceSave);
64
+ }
65
+ saveFiltersWithCallbackFunction(callbackFunction) {
66
+ this.modalComponent.saveFiltersWithCallbackFunction(callbackFunction);
67
+ }
68
+ clearFilters() {
69
+ this.modalComponent.clearFilters();
70
+ }
71
+ close() {
72
+ this.modalComponent.getFilters();
73
+ window.parent.postMessage({
74
+ message: 'dashboard:close-modal',
75
+ payload: {
76
+ modalName: 'advanced-filter-1'
77
+ }
78
+ }, '*');
79
+ }
80
+ applyFilters() {
81
+ if (this.modalComponent.hasChanges()) {
82
+ this.showDialog = false;
83
+ }
84
+ if (this.filterAndSave) {
85
+ this.modalComponent.saveFilters();
86
+ }
87
+ this.modalComponent.applyFilters(true);
88
+ }
89
+ onApplyFilters() {
90
+ if (this.filterAndSave) {
91
+ this.modalComponent.saveFilters();
92
+ }
93
+ this.modalComponent.onApplyFilters();
94
+ }
95
+ toggleDialog() {
96
+ this.showDialog = !this.showDialog;
97
+ }
98
+ updateTotalFiltersActive(event) {
99
+ this.totalFiltersActive = event;
100
+ }
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdvancedFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
102
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AdvancedFilterComponent, selector: "s-advanced-filter", inputs: { labelButton: "labelButton", onlyContent: "onlyContent", hideButtons: "hideButtons", canOpenFilter: "canOpenFilter", showActiveFiltersCountBadge: "showActiveFiltersCountBadge", filterAndSave: "filterAndSave", contextId: "contextId" }, host: { listeners: { "window:resize": "onResizeWindow($event)" } }, viewQueries: [{ propertyName: "modalComponent", first: true, predicate: FormFilterComponent, descendants: true }], ngImport: i0, template: "<s-button\n *ngIf=\"!onlyContent\"\n [id]=\"'filterButton'\"\n [disabled]=\"!canOpenFilter\"\n (clicked)=\"canOpenFilter ? toggleDialog() : ''\"\n iconClass=\"fa fa-filter\"\n priority=\"default\"\n [label]=\"labelButton\"\n [auxiliary]=\"true\"\n [tooltip]=\"appliedFiltersTooltip\"\n>\n <span\n *ngIf=\"totalFiltersActive && showActiveFiltersCountBadge\"\n class=\"sds-badge-number sds-color-primary custom-badge\"\n >{{ totalFiltersActive }}</span\n >\n</s-button>\n\n<section *ngIf=\"onlyContent\">\n <div class=\"only-content-wrapper\">\n <div class=\"header\">\n <h3>{{ 'platform.filter_service.filters' | translate }}</h3>\n <span (click)=\"close()\" class=\"close_btn pi pi-times\"></span>\n </div>\n <div class=\"app-form-filter\">\n <s-app-form-filter\n [showMessages]=\"false\"\n (totalFiltersActiveOutput)=\"updateTotalFiltersActive($event)\"\n (closeModalOutput)=\"close()\"\n [isModal]=\"false\"\n [contextId]=\"contextId\"\n ></s-app-form-filter>\n </div>\n <div class=\"filter-footer\" *ngIf=\"!error\">\n <s-button\n priority=\"link\"\n [label]=\"translate.instant('platform.filter_service.cancel')\"\n (clicked)=\"close()\"\n ></s-button>\n <s-button\n *ngIf=\"isMobile\"\n priority=\"default\"\n [label]=\"translate.instant('platform.filter_service.actions')\"\n [auxiliary]=\"true\"\n [menuOptions]=\"mobileButtonActions\"\n ></s-button>\n <ng-container *ngIf=\"!isMobile\">\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.clear')\"\n (clicked)=\"clearFilters()\"\n ></s-button>\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.save')\"\n (clicked)=\"saveFilters()\"\n ></s-button>\n </ng-container>\n <s-button\n type=\"submit\"\n priority=\"primary\"\n [label]=\"translate.instant('platform.filter_service.filter')\"\n (clicked)=\"onApplyFilters()\"\n ></s-button>\n </div>\n </div>\n</section>\n\n<p-dialog\n *ngIf=\"!onlyContent\"\n appendTo=\"body\"\n styleClass=\"filter-dialog\"\n [draggable]=\"false\"\n [modal]=\"true\"\n [(visible)]=\"showDialog\"\n [blockScroll]=\"true\"\n [closable]=\"false\"\n>\n <ng-template pTemplate=\"header\">\n <div class=\"w-full flex items-center justify-between\">\n <span>{{ 'platform.filter_service.filters' | translate }}</span>\n <span\n (click)=\"toggleDialog(); close()\"\n (keypress)=\"toggleDialog(); close()\"\n class=\"close_btn pi pi-times cursor-pointer\">\n </span>\n </div>\n </ng-template>\n\n <s-app-form-filter\n [showMessages]=\"true\"\n (errorOutput)=\"onError($event)\"\n (totalFiltersActiveOutput)=\"updateTotalFiltersActive($event)\"\n [isModal]=\"true\"\n [contextId]=\"contextId\"\n ></s-app-form-filter>\n\n <ng-template pTemplate=\"footer\">\n <ng-container *ngIf=\"!error && !hideButtons\">\n <s-button\n type=\"submit\"\n priority=\"primary\"\n [label]=\"translate.instant('platform.filter_service.filter')\"\n (clicked)=\"applyFilters()\"\n ></s-button>\n <ng-container *ngIf=\"!isMobile\">\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.save')\"\n (clicked)=\"saveFilters()\"\n ></s-button>\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.clear')\"\n (clicked)=\"clearFilters()\"\n ></s-button>\n </ng-container>\n <s-button\n *ngIf=\"isMobile\"\n priority=\"default\"\n [label]=\"translate.instant('platform.filter_service.actions')\"\n [auxiliary]=\"true\"\n [menuOptions]=\"mobileButtonActions\"\n ></s-button>\n <s-button\n priority=\"link\"\n [label]=\"translate.instant('platform.filter_service.cancel')\"\n (clicked)=\"toggleDialog(); close()\"\n ></s-button>\n </ng-container>\n </ng-template>\n</p-dialog>\n\n\n<p-toast key=\"filterServiceToastKey\" [baseZIndex]=\"5000\"></p-toast>\n", styles: [".custom-badge{position:absolute!important;right:-4px;top:-10px;height:20px;vertical-align:middle;display:table;min-width:22px}.filter-button{position:relative;border:solid 1px black;border-radius:1.5rem;background:transparent;padding:.5rem 1rem;cursor:pointer}.filter-dialog .ui-dialog-title{display:block!important;padding-right:0!important}.filter-footer{text-align:end;border-top:1px solid #e5eaea;padding:13px}.filter-dialog>.ui-dialog-content{height:300px;padding:10px!important}.app-form-filter{height:335px;max-height:335px;overflow:auto}.only-content-wrapper{background-color:#fff}.close_btn{align-content:center;justify-self:right;margin-left:auto}.close_btn:hover{cursor:pointer}.header{text-transform:uppercase;display:flex;width:100%;border-bottom:1px solid #e5eaea;padding:15px;margin-left:0}@media (min-width: 641px) and (max-width: 1024px){.filter-dialog{width:75%}.filter-dialog>.ui-dialog-content{height:300px}}@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation: portrait){.filter-dialog{width:75%}.filter-dialog>.ui-dialog-content{height:90%}}@media (min-width: 320px) and (max-width: 640px){.filter-dialog{width:95%;left:0;top:0;opacity:1;margin:auto;height:93%}.filter-dialog>.ui-dialog-content{height:85%}}@media (min-width: 320px) and (max-width: 640px) and (max-width: 360px){.filter-dialog button{padding:0!important}.filter-dialog>.ui-dialog-content{height:81%}}\n"], dependencies: [{ kind: "component", type: i1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i6.FormFilterComponent, selector: "s-app-form-filter", inputs: ["showMessages", "isModal", "contextId"], outputs: ["totalFiltersActiveOutput", "errorOutput", "showDialogOutput", "closeModalOutput"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
103
+ }
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdvancedFilterComponent, decorators: [{
105
+ type: Component,
106
+ args: [{ selector: 's-advanced-filter', encapsulation: ViewEncapsulation.None, template: "<s-button\n *ngIf=\"!onlyContent\"\n [id]=\"'filterButton'\"\n [disabled]=\"!canOpenFilter\"\n (clicked)=\"canOpenFilter ? toggleDialog() : ''\"\n iconClass=\"fa fa-filter\"\n priority=\"default\"\n [label]=\"labelButton\"\n [auxiliary]=\"true\"\n [tooltip]=\"appliedFiltersTooltip\"\n>\n <span\n *ngIf=\"totalFiltersActive && showActiveFiltersCountBadge\"\n class=\"sds-badge-number sds-color-primary custom-badge\"\n >{{ totalFiltersActive }}</span\n >\n</s-button>\n\n<section *ngIf=\"onlyContent\">\n <div class=\"only-content-wrapper\">\n <div class=\"header\">\n <h3>{{ 'platform.filter_service.filters' | translate }}</h3>\n <span (click)=\"close()\" class=\"close_btn pi pi-times\"></span>\n </div>\n <div class=\"app-form-filter\">\n <s-app-form-filter\n [showMessages]=\"false\"\n (totalFiltersActiveOutput)=\"updateTotalFiltersActive($event)\"\n (closeModalOutput)=\"close()\"\n [isModal]=\"false\"\n [contextId]=\"contextId\"\n ></s-app-form-filter>\n </div>\n <div class=\"filter-footer\" *ngIf=\"!error\">\n <s-button\n priority=\"link\"\n [label]=\"translate.instant('platform.filter_service.cancel')\"\n (clicked)=\"close()\"\n ></s-button>\n <s-button\n *ngIf=\"isMobile\"\n priority=\"default\"\n [label]=\"translate.instant('platform.filter_service.actions')\"\n [auxiliary]=\"true\"\n [menuOptions]=\"mobileButtonActions\"\n ></s-button>\n <ng-container *ngIf=\"!isMobile\">\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.clear')\"\n (clicked)=\"clearFilters()\"\n ></s-button>\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.save')\"\n (clicked)=\"saveFilters()\"\n ></s-button>\n </ng-container>\n <s-button\n type=\"submit\"\n priority=\"primary\"\n [label]=\"translate.instant('platform.filter_service.filter')\"\n (clicked)=\"onApplyFilters()\"\n ></s-button>\n </div>\n </div>\n</section>\n\n<p-dialog\n *ngIf=\"!onlyContent\"\n appendTo=\"body\"\n styleClass=\"filter-dialog\"\n [draggable]=\"false\"\n [modal]=\"true\"\n [(visible)]=\"showDialog\"\n [blockScroll]=\"true\"\n [closable]=\"false\"\n>\n <ng-template pTemplate=\"header\">\n <div class=\"w-full flex items-center justify-between\">\n <span>{{ 'platform.filter_service.filters' | translate }}</span>\n <span\n (click)=\"toggleDialog(); close()\"\n (keypress)=\"toggleDialog(); close()\"\n class=\"close_btn pi pi-times cursor-pointer\">\n </span>\n </div>\n </ng-template>\n\n <s-app-form-filter\n [showMessages]=\"true\"\n (errorOutput)=\"onError($event)\"\n (totalFiltersActiveOutput)=\"updateTotalFiltersActive($event)\"\n [isModal]=\"true\"\n [contextId]=\"contextId\"\n ></s-app-form-filter>\n\n <ng-template pTemplate=\"footer\">\n <ng-container *ngIf=\"!error && !hideButtons\">\n <s-button\n type=\"submit\"\n priority=\"primary\"\n [label]=\"translate.instant('platform.filter_service.filter')\"\n (clicked)=\"applyFilters()\"\n ></s-button>\n <ng-container *ngIf=\"!isMobile\">\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.save')\"\n (clicked)=\"saveFilters()\"\n ></s-button>\n <s-button\n priority=\"secondary\"\n [label]=\"translate.instant('platform.filter_service.clear')\"\n (clicked)=\"clearFilters()\"\n ></s-button>\n </ng-container>\n <s-button\n *ngIf=\"isMobile\"\n priority=\"default\"\n [label]=\"translate.instant('platform.filter_service.actions')\"\n [auxiliary]=\"true\"\n [menuOptions]=\"mobileButtonActions\"\n ></s-button>\n <s-button\n priority=\"link\"\n [label]=\"translate.instant('platform.filter_service.cancel')\"\n (clicked)=\"toggleDialog(); close()\"\n ></s-button>\n </ng-container>\n </ng-template>\n</p-dialog>\n\n\n<p-toast key=\"filterServiceToastKey\" [baseZIndex]=\"5000\"></p-toast>\n", styles: [".custom-badge{position:absolute!important;right:-4px;top:-10px;height:20px;vertical-align:middle;display:table;min-width:22px}.filter-button{position:relative;border:solid 1px black;border-radius:1.5rem;background:transparent;padding:.5rem 1rem;cursor:pointer}.filter-dialog .ui-dialog-title{display:block!important;padding-right:0!important}.filter-footer{text-align:end;border-top:1px solid #e5eaea;padding:13px}.filter-dialog>.ui-dialog-content{height:300px;padding:10px!important}.app-form-filter{height:335px;max-height:335px;overflow:auto}.only-content-wrapper{background-color:#fff}.close_btn{align-content:center;justify-self:right;margin-left:auto}.close_btn:hover{cursor:pointer}.header{text-transform:uppercase;display:flex;width:100%;border-bottom:1px solid #e5eaea;padding:15px;margin-left:0}@media (min-width: 641px) and (max-width: 1024px){.filter-dialog{width:75%}.filter-dialog>.ui-dialog-content{height:300px}}@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation: portrait){.filter-dialog{width:75%}.filter-dialog>.ui-dialog-content{height:90%}}@media (min-width: 320px) and (max-width: 640px){.filter-dialog{width:95%;left:0;top:0;opacity:1;margin:auto;height:93%}.filter-dialog>.ui-dialog-content{height:85%}}@media (min-width: 320px) and (max-width: 640px) and (max-width: 360px){.filter-dialog button{padding:0!important}.filter-dialog>.ui-dialog-content{height:81%}}\n"] }]
107
+ }], propDecorators: { labelButton: [{
108
+ type: Input
109
+ }], onlyContent: [{
110
+ type: Input
111
+ }], hideButtons: [{
112
+ type: Input
113
+ }], canOpenFilter: [{
114
+ type: Input
115
+ }], showActiveFiltersCountBadge: [{
116
+ type: Input
117
+ }], filterAndSave: [{
118
+ type: Input
119
+ }], contextId: [{
120
+ type: Input
121
+ }], modalComponent: [{
122
+ type: ViewChild,
123
+ args: [FormFilterComponent]
124
+ }], onResizeWindow: [{
125
+ type: HostListener,
126
+ args: ['window:resize', ['$event']]
127
+ }] } });
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvbW9kdWxlcy9hZHZhbmNlZC1maWx0ZXIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvbW9kdWxlcy9hZHZhbmNlZC1maWx0ZXIvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXIvYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7QUFFM0UsTUFBTSxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQztBQVFuRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWhDLFdBQVcsR0FBRyxTQUFTLENBQUM7SUFDeEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDckIsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO0lBQ25DLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUV2QixhQUFh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VztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQVlOLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBMEI5QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1maWx0ZXIvZm9ybS1maWx0ZXIuY29tcG9uZW50JztcblxuY29uc3QgVFJBTlNMQVRFX1BSRUZJWCA9ICdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtYWR2YW5jZWQtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkdmFuY2VkLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgQElucHV0KCkgbGFiZWxCdXR0b24gPSAnRmlsdGVycyc7XG4gIEBJbnB1dCgpIG9ubHlDb250ZW50ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGVCdXR0b25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhbk9wZW5GaWx0ZXIgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QWN0aXZlRmlsdGVyc0NvdW50QmFkZ2UgPSB0cnVlO1xuICBASW5wdXQoKSBmaWx0ZXJBbmRTYXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbnRleHRJZCA9ICcnXG5cbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBpc01vYmlsZSA9IGZhbHNlO1xuICB0YWJWaWV3T3JpZW50YXRpb24gPSAnbGVmdCc7XG4gIHRvdGFsRmlsdGVyc0FjdGl2ZSA9IDA7XG4gIHNob3dEaWFsb2cgPSBmYWxzZTtcbiAgZXJyb3IgPSBmYWxzZTtcbiAgY3VycmVudFRpY2tldCA9ICcnO1xuXG4gIEBWaWV3Q2hpbGQoRm9ybUZpbHRlckNvbXBvbmVudClcbiAgbW9kYWxDb21wb25lbnQ6IEZvcm1GaWx0ZXJDb21wb25lbnQ7XG5cbiAgbW9iaWxlQnV0dG9uQWN0aW9ucyA9IFtcbiAgICB7IGlkOiAnc2F2ZScsIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdzYXZlJyksIGNvbW1hbmQ6ICgpID0+IHRoaXMubW9kYWxDb21wb25lbnQuc2F2ZUZpbHRlcnMoKSB9LFxuICAgIHsgaWQ6ICdjbGVhcicsIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdjbGVhcicpLCBjb21tYW5kOiAoKSA9PiB0aGlzLm1vZGFsQ29tcG9uZW50LmNsZWFyRmlsdGVycygpIH1cbiAgXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmlzTW9iaWxlID0gaW5uZXJXaWR0aCA8PSA2NDA7XG4gICAgdGhpcy50YWJWaWV3T3JpZW50YXRpb24gPSB0aGlzLmlzTW9iaWxlID8gJ3RvcCcgOiAnbGVmdCc7XG5cbiAgICBjb25zdCBzdWIgPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMubW9kYWxDb21wb25lbnQuZ2V0RmlsdGVycygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHYgPT4gdi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBvblJlc2l6ZVdpbmRvdyhldmVudDogYW55KSB7XG4gICAgY29uc3QgeyBpbm5lcldpZHRoIH0gPSBldmVudC50YXJnZXQ7XG4gICAgdGhpcy5pc01vYmlsZSA9IGlubmVyV2lkdGggPD0gNjQwO1xuICAgIHRoaXMudGFiVmlld09yaWVudGF0aW9uID0gdGhpcy5pc01vYmlsZSA/ICd0b3AnIDogJ2xlZnQnO1xuICB9XG5cbiAgZ2V0IGFwcGxpZWRGaWx0ZXJzVG9vbHRpcCgpIHtcbiAgICByZXR1cm4gdGhpcy50b3RhbEZpbHRlcnNBY3RpdmUgPiAxXG4gICAgICA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7VFJBTlNMQVRFX1BSRUZJWH0uYXBwbGllZF9maWx0ZXJzX21lc3NhZ2VgLCB7IHRvdGFsQWN0aXZlRmlsdGVyczogdGhpcy50b3RhbEZpbHRlcnNBY3RpdmUgfSlcbiAgICAgIDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtUUkFOU0xBVEVfUFJFRklYfS5hcHBsaWVkX2ZpbHRlcl9tZXNzYWdlYCwgeyB0b3RhbEFjdGl2ZUZpbHRlcnM6IHRoaXMudG90YWxGaWx0ZXJzQWN0aXZlIH0pO1xuICB9XG5cbiAgb25FcnJvcihldmVudDogYm9vbGVhbikge1xuICAgIHRoaXMuZXJyb3IgPSBldmVudDtcbiAgfVxuXG4gIHNhdmVGaWx0ZXJzKGZvcmNlU2F2ZSA9IGZhbHNlKSB7XG4gICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycyhmb3JjZVNhdmUpO1xuICB9XG5cbiAgc2F2ZUZpbHRlcnNXaXRoQ2FsbGJhY2tGdW5jdGlvbihjYWxsYmFja0Z1bmN0aW9uOiBhbnkpIHtcbiAgICB0aGlzLm1vZGFsQ29tcG9uZW50LnNhdmVGaWx0ZXJzV2l0aENhbGxiYWNrRnVuY3Rpb24oY2FsbGJhY2tGdW5jdGlvbik7XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5tb2RhbENvbXBvbmVudC5jbGVhckZpbHRlcnMoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMubW9kYWxDb21wb25lbnQuZ2V0RmlsdGVycygpO1xuICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoXG4gICAgICB7XG4gICAgICAgIG1lc3NhZ2U6ICdkYXNoYm9hcmQ6Y2xvc2UtbW9kYWwnLFxuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgbW9kYWxOYW1lOiAnYWR2YW5jZWQtZmlsdGVyLTEnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAnKidcbiAgICApO1xuICB9XG5cbiAgYXBwbHlGaWx0ZXJzKCkge1xuICAgIGlmICh0aGlzLm1vZGFsQ29tcG9uZW50Lmhhc0NoYW5nZXMoKSkge1xuICAgICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmlsdGVyQW5kU2F2ZSkge1xuICAgICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycygpO1xuICAgIH1cblxuICAgIHRoaXMubW9kYWxDb21wb25lbnQuYXBwbHlGaWx0ZXJzKHRydWUpO1xuICB9XG5cbiAgb25BcHBseUZpbHRlcnMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyQW5kU2F2ZSkge1xuICAgICAgdGhpcy5tb2RhbENvbXBvbmVudC5zYXZlRmlsdGVycygpO1xuICAgIH1cblxuICAgIHRoaXMubW9kYWxDb21wb25lbnQub25BcHBseUZpbHRlcnMoKTtcbiAgfVxuXG4gIHRvZ2dsZURpYWxvZygpIHtcbiAgICB0aGlzLnNob3dEaWFsb2cgPSAhdGhpcy5zaG93RGlhbG9nO1xuICB9XG5cbiAgdXBkYXRlVG90YWxGaWx0ZXJzQWN0aXZlKGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLnRvdGFsRmlsdGVyc0FjdGl2ZSA9IGV2ZW50O1xuICB9XG59XG4iLCI8cy1idXR0b25cbiAgKm5nSWY9XCIhb25seUNvbnRlbnRcIlxuICBbaWRdPVwiJ2ZpbHRlckJ1dHRvbidcIlxuICBbZGlzYWJsZWRdPVwiIWNhbk9wZW5GaWx0ZXJcIlxuICAoY2xpY2tlZCk9XCJjYW5PcGVuRmlsdGVyID8gdG9nZ2xlRGlhbG9nKCkgOiAnJ1wiXG4gIGljb25DbGFzcz1cImZhIGZhLWZpbHRlclwiXG4gIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gIFtsYWJlbF09XCJsYWJlbEJ1dHRvblwiXG4gIFthdXhpbGlhcnldPVwidHJ1ZVwiXG4gIFt0b29sdGlwXT1cImFwcGxpZWRGaWx0ZXJzVG9vbHRpcFwiXG4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJ0b3RhbEZpbHRlcnNBY3RpdmUgJiYgc2hvd0FjdGl2ZUZpbHRlcnNDb3VudEJhZGdlXCJcbiAgICBjbGFzcz1cInNkcy1iYWRnZS1udW1iZXIgc2RzLWNvbG9yLXByaW1hcnkgY3VzdG9tLWJhZGdlXCJcbiAgICA+e3sgdG90YWxGaWx0ZXJzQWN0aXZlIH19PC9zcGFuXG4gID5cbjwvcy1idXR0b24+XG5cbjxzZWN0aW9uICpuZ0lmPVwib25seUNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cIm9ubHktY29udGVudC13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgPGgzPnt7ICdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5maWx0ZXJzJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICA8c3BhbiAoY2xpY2spPVwiY2xvc2UoKVwiIGNsYXNzPVwiY2xvc2VfYnRuIHBpIHBpLXRpbWVzXCI+PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhcHAtZm9ybS1maWx0ZXJcIj5cbiAgICAgIDxzLWFwcC1mb3JtLWZpbHRlclxuICAgICAgICBbc2hvd01lc3NhZ2VzXT1cImZhbHNlXCJcbiAgICAgICAgKHRvdGFsRmlsdGVyc0FjdGl2ZU91dHB1dCk9XCJ1cGRhdGVUb3RhbEZpbHRlcnNBY3RpdmUoJGV2ZW50KVwiXG4gICAgICAgIChjbG9zZU1vZGFsT3V0cHV0KT1cImNsb3NlKClcIlxuICAgICAgICBbaXNNb2RhbF09XCJmYWxzZVwiXG4gICAgICAgIFtjb250ZXh0SWRdPVwiY29udGV4dElkXCJcbiAgICAgID48L3MtYXBwLWZvcm0tZmlsdGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItZm9vdGVyXCIgKm5nSWY9XCIhZXJyb3JcIj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmNhbmNlbCcpXCJcbiAgICAgICAgKGNsaWNrZWQpPVwiY2xvc2UoKVwiXG4gICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICAqbmdJZj1cImlzTW9iaWxlXCJcbiAgICAgICAgcHJpb3JpdHk9XCJkZWZhdWx0XCJcbiAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5hY3Rpb25zJylcIlxuICAgICAgICBbYXV4aWxpYXJ5XT1cInRydWVcIlxuICAgICAgICBbbWVudU9wdGlvbnNdPVwibW9iaWxlQnV0dG9uQWN0aW9uc1wiXG4gICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNb2JpbGVcIj5cbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgcHJpb3JpdHk9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuY2xlYXInKVwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwiY2xlYXJGaWx0ZXJzKClcIlxuICAgICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgcHJpb3JpdHk9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2Uuc2F2ZScpXCJcbiAgICAgICAgICAoY2xpY2tlZCk9XCJzYXZlRmlsdGVycygpXCJcbiAgICAgICAgPjwvcy1idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgcHJpb3JpdHk9XCJwcmltYXJ5XCJcbiAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5maWx0ZXInKVwiXG4gICAgICAgIChjbGlja2VkKT1cIm9uQXBwbHlGaWx0ZXJzKClcIlxuICAgICAgPjwvcy1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuXG48cC1kaWFsb2dcbiAgKm5nSWY9XCIhb25seUNvbnRlbnRcIlxuICBhcHBlbmRUbz1cImJvZHlcIlxuICBzdHlsZUNsYXNzPVwiZmlsdGVyLWRpYWxvZ1wiXG4gIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxuICBbbW9kYWxdPVwidHJ1ZVwiXG4gIFsodmlzaWJsZSldPVwic2hvd0RpYWxvZ1wiXG4gIFtibG9ja1Njcm9sbF09XCJ0cnVlXCJcbiAgW2Nsb3NhYmxlXT1cImZhbHNlXCJcbj5cbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICA8c3Bhbj57eyAncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuZmlsdGVycycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8c3BhblxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGlhbG9nKCk7IGNsb3NlKClcIlxuICAgICAgICAoa2V5cHJlc3MpPVwidG9nZ2xlRGlhbG9nKCk7IGNsb3NlKClcIlxuICAgICAgICBjbGFzcz1cImNsb3NlX2J0biBwaSBwaS10aW1lcyBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxzLWFwcC1mb3JtLWZpbHRlclxuICAgIFtzaG93TWVzc2FnZXNdPVwidHJ1ZVwiXG4gICAgKGVycm9yT3V0cHV0KT1cIm9uRXJyb3IoJGV2ZW50KVwiXG4gICAgKHRvdGFsRmlsdGVyc0FjdGl2ZU91dHB1dCk9XCJ1cGRhdGVUb3RhbEZpbHRlcnNBY3RpdmUoJGV2ZW50KVwiXG4gICAgW2lzTW9kYWxdPVwidHJ1ZVwiXG4gICAgW2NvbnRleHRJZF09XCJjb250ZXh0SWRcIlxuICA+PC9zLWFwcC1mb3JtLWZpbHRlcj5cblxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXJyb3IgJiYgIWhpZGVCdXR0b25zXCI+XG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIHByaW9yaXR5PVwicHJpbWFyeVwiXG4gICAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5maWx0ZXInKVwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwiYXBwbHlGaWx0ZXJzKClcIlxuICAgICAgICA+PC9zLWJ1dHRvbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc01vYmlsZVwiPlxuICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgcHJpb3JpdHk9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgW2xhYmVsXT1cInRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5maWx0ZXJfc2VydmljZS5zYXZlJylcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwic2F2ZUZpbHRlcnMoKVwiXG4gICAgICAgICAgPjwvcy1idXR0b24+XG4gICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICBwcmlvcml0eT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmNsZWFyJylcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwiY2xlYXJGaWx0ZXJzKClcIlxuICAgICAgICAgID48L3MtYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJpc01vYmlsZVwiXG4gICAgICAgICAgcHJpb3JpdHk9XCJkZWZhdWx0XCJcbiAgICAgICAgICBbbGFiZWxdPVwidHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmZpbHRlcl9zZXJ2aWNlLmFjdGlvbnMnKVwiXG4gICAgICAgICAgW2F1eGlsaWFyeV09XCJ0cnVlXCJcbiAgICAgICAgICBbbWVudU9wdGlvbnNdPVwibW9iaWxlQnV0dG9uQWN0aW9uc1wiXG4gICAgICAgID48L3MtYnV0dG9uPlxuICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICAgIFtsYWJlbF09XCJ0cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uZmlsdGVyX3NlcnZpY2UuY2FuY2VsJylcIlxuICAgICAgICAgIChjbGlja2VkKT1cInRvZ2dsZURpYWxvZygpOyBjbG9zZSgpXCJcbiAgICAgICAgPjwvcy1idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9wLWRpYWxvZz5cblxuXG48cC10b2FzdCBrZXk9XCJmaWx0ZXJTZXJ2aWNlVG9hc3RLZXlcIiBbYmFzZVpJbmRleF09XCI1MDAwXCI+PC9wLXRvYXN0PlxuIl19