@netgrif/components 6.3.0 → 6.4.0-beta.2

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 (212) hide show
  1. package/esm2020/lib/admin/ldap-group-role-assignment/ldap-group-role-assignment.component.mjs +5 -5
  2. package/esm2020/lib/admin/role-assignment/role-assignment.component.mjs +5 -5
  3. package/esm2020/lib/admin/user-invite/user-invite.component.mjs +3 -3
  4. package/esm2020/lib/data-fields/boolean-field/boolean-default-field/boolean-default-field.component.mjs +28 -0
  5. package/esm2020/lib/data-fields/boolean-field/boolean-field.component.mjs +13 -22
  6. package/esm2020/lib/data-fields/button-field/button-default-field/button-default-field.component.mjs +40 -0
  7. package/esm2020/lib/data-fields/button-field/button-field.component.mjs +12 -30
  8. package/esm2020/lib/data-fields/case-ref-field/case-ref-default/case-ref-default.component.mjs +22 -0
  9. package/esm2020/lib/data-fields/data-field-template/data-field-template.component.mjs +8 -7
  10. package/esm2020/lib/data-fields/data-fields.module.mjs +87 -39
  11. package/esm2020/lib/data-fields/date-field/date-default-field/date-default-field.component.mjs +33 -0
  12. package/esm2020/lib/data-fields/date-field/date-field.component.mjs +12 -14
  13. package/esm2020/lib/data-fields/date-time-field/date-time-default-field/date-time-default-field.component.mjs +34 -0
  14. package/esm2020/lib/data-fields/date-time-field/date-time-field.component.mjs +12 -15
  15. package/esm2020/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/enumeration-autocomplete-dynamic-field.component.mjs +15 -9
  16. package/esm2020/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-select-field.component.mjs +15 -9
  17. package/esm2020/lib/data-fields/enumeration-field/enumeration-field.component.mjs +7 -10
  18. package/esm2020/lib/data-fields/enumeration-field/enumeration-icon-field/enumeration-icon-field.component.mjs +14 -9
  19. package/esm2020/lib/data-fields/enumeration-field/enumeration-list-field/enumeration-list-field.component.mjs +17 -11
  20. package/esm2020/lib/data-fields/enumeration-field/enumeration-select-field/enumeration-select-field.component.mjs +16 -10
  21. package/esm2020/lib/data-fields/enumeration-field/enumeration-stepper-field/enumeration-stepper-field.component.mjs +17 -12
  22. package/esm2020/lib/data-fields/file-field/file-default-field/file-default-field.component.mjs +50 -0
  23. package/esm2020/lib/data-fields/file-field/file-field.component.mjs +14 -40
  24. package/esm2020/lib/data-fields/file-list-field/file-list-default-field/file-list-default-field.component.mjs +32 -0
  25. package/esm2020/lib/data-fields/file-list-field/file-list-field.component.mjs +25 -0
  26. package/esm2020/lib/data-fields/filter-field/filter-default-field/filter-default-field.component.mjs +30 -0
  27. package/esm2020/lib/data-fields/filter-field/filter-field.component.mjs +11 -17
  28. package/esm2020/lib/data-fields/filter-field/tab-view-filter-field/filter-field-tab-view-content.component.mjs +3 -3
  29. package/esm2020/lib/data-fields/i18n-field/i18n-divider-field/i18n-divider-field.component.mjs +14 -9
  30. package/esm2020/lib/data-fields/i18n-field/i18n-field.component.mjs +7 -6
  31. package/esm2020/lib/data-fields/i18n-field/i18n-text-field/i18n-text-field.component.mjs +14 -9
  32. package/esm2020/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-field.component.mjs +16 -10
  33. package/esm2020/lib/data-fields/multichoice-field/multichoice-field.component.mjs +7 -7
  34. package/esm2020/lib/data-fields/multichoice-field/multichoice-list-field/multichoice-list-field.component.mjs +16 -10
  35. package/esm2020/lib/data-fields/multichoice-field/multichoice-select-field/multichoice-select-field.component.mjs +17 -8
  36. package/esm2020/lib/data-fields/number-field/number-currency-field/number-currency-field.component.mjs +15 -9
  37. package/esm2020/lib/data-fields/number-field/number-default-field/number-default-field.component.mjs +15 -9
  38. package/esm2020/lib/data-fields/number-field/number-field.component.mjs +7 -6
  39. package/esm2020/lib/data-fields/public-api.mjs +1 -16
  40. package/esm2020/lib/data-fields/required-label/required-label.component.mjs +3 -3
  41. package/esm2020/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-field.component.mjs +38 -0
  42. package/esm2020/lib/data-fields/task-ref-field/task-ref-field.component.mjs +12 -23
  43. package/esm2020/lib/data-fields/task-ref-field/task-ref-list-field/task-ref-list-field.component.mjs +22 -0
  44. package/esm2020/lib/data-fields/text-field/dashboard-bar-chart-text-field/dashboard-bar-chart-text-field.component.mjs +14 -9
  45. package/esm2020/lib/data-fields/text-field/dashboard-iframe-text-field/dashboard-iframe-text-field.component.mjs +14 -9
  46. package/esm2020/lib/data-fields/text-field/dashboard-line-chart-text-field/dashboard-line-chart-text-field.component.mjs +14 -9
  47. package/esm2020/lib/data-fields/text-field/dashboard-pie-chart-text-field/dashboard-pie-chart-text-field.component.mjs +14 -9
  48. package/esm2020/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-text-field.component.mjs +14 -9
  49. package/esm2020/lib/data-fields/text-field/html-textarea-field/html-textarea-field.component.mjs +19 -14
  50. package/esm2020/lib/data-fields/text-field/password-text-field/password-text-field.component.mjs +15 -9
  51. package/esm2020/lib/data-fields/text-field/rich-textarea-field/rich-textarea-field.component.mjs +17 -12
  52. package/esm2020/lib/data-fields/text-field/simple-text-field/simple-text-field.component.mjs +15 -9
  53. package/esm2020/lib/data-fields/text-field/text-field.component.mjs +8 -16
  54. package/esm2020/lib/data-fields/text-field/textarea-field/textarea-field.component.mjs +14 -9
  55. package/esm2020/lib/data-fields/user-field/user-default-field/user-default-field.component.mjs +35 -0
  56. package/esm2020/lib/data-fields/user-field/user-field.component.mjs +12 -19
  57. package/esm2020/lib/data-fields/user-list-field/user-list-default-field/user-list-default-field.component.mjs +39 -0
  58. package/esm2020/lib/data-fields/user-list-field/user-list-field.component.mjs +13 -23
  59. package/esm2020/lib/dialog/admin-impersonate-dialog/admin-impersonate-dialog.component.mjs +77 -0
  60. package/esm2020/lib/dialog/dialog.module.mjs +159 -0
  61. package/esm2020/lib/dialog/filter-selector-dialog/filter-selector-dialog.component.mjs +164 -0
  62. package/esm2020/lib/dialog/import-net-dialog/import-net-dialog.component.mjs +151 -0
  63. package/esm2020/lib/dialog/load-filter-dialog/load-filter-dialog.component.mjs +98 -0
  64. package/esm2020/lib/dialog/multi-user-assign-dialog/multi-user-assign-dialog.component.mjs +70 -0
  65. package/esm2020/lib/dialog/new-case-dialog/new-case-dialog.component.mjs +251 -0
  66. package/esm2020/lib/dialog/public-api.mjs +11 -0
  67. package/esm2020/lib/dialog/save-filter-dialog/save-filter-dialog.component.mjs +83 -0
  68. package/esm2020/lib/dialog/user-assign-dialog/user-assign-dialog.component.mjs +73 -0
  69. package/esm2020/lib/dialog/user-impersonate-dialog/user-impersonate-dialog.component.mjs +98 -0
  70. package/esm2020/lib/filter-field-content/filter-field-tab-view/filter-field-tab-view.component.mjs +3 -3
  71. package/esm2020/lib/forms/login/login-form.component.mjs +3 -3
  72. package/esm2020/lib/header/header-modes/edit-mode/edit-mode.component.mjs +3 -3
  73. package/esm2020/lib/header/header-modes/search-mode/search-mode.component.mjs +3 -3
  74. package/esm2020/lib/header/header-modes/sort-mode/sort-mode.component.mjs +3 -3
  75. package/esm2020/lib/header/header.component.mjs +3 -3
  76. package/esm2020/lib/navigation/breadcrumbs/breadcrumbs.component.mjs +2 -2
  77. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.mjs +105 -0
  78. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-simple-task-view/default-simple-task-view.component.mjs +7 -8
  79. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.mjs +6 -4
  80. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-task-view/default-tabbed-task-view.component.mjs +7 -8
  81. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-task-view/default-task-view.component.mjs +63 -0
  82. package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +3 -3
  83. package/esm2020/lib/navigation/navigation.module.mjs +9 -3
  84. package/esm2020/lib/navigation/public-api.mjs +2 -1
  85. package/esm2020/lib/panel/panel-item/panel-item.component.mjs +3 -3
  86. package/esm2020/lib/panel/panel.component.mjs +3 -3
  87. package/esm2020/lib/panel/task-panel/task-panel.component.mjs +3 -3
  88. package/esm2020/lib/panel/task-panel-list/task-list.component.mjs +5 -4
  89. package/esm2020/lib/panel/task-panel-list-pagination/task-list-pagination.component.mjs +3 -3
  90. package/esm2020/lib/panel/task-panel-single/single-task.component.mjs +2 -2
  91. package/esm2020/lib/panel/workflow-panel/workflow-panel.component.mjs +9 -10
  92. package/esm2020/lib/search/advanced-search/advanced-search-component/advanced-search.component.mjs +3 -3
  93. package/esm2020/lib/search/advanced-search/search-clause-component/search-clause.component.mjs +3 -3
  94. package/esm2020/lib/search/advanced-search/search-predicate-component/search-predicate.component.mjs +8 -8
  95. package/esm2020/lib/search/fulltext-search-component/fulltext-search.component.mjs +8 -6
  96. package/esm2020/lib/search/search-component/search.component.mjs +11 -10
  97. package/esm2020/lib/search/search.module.mjs +9 -3
  98. package/esm2020/lib/side-menu/content-components/admin-impersonate/side-menu-admin-impersonate-component.module.mjs +3 -3
  99. package/esm2020/lib/side-menu/content-components/filter-selector/side-menu-filter-selector-component.module.mjs +4 -2
  100. package/esm2020/lib/side-menu/content-components/multi-user-assign/side-menu-multi-user-assign-component.module.mjs +3 -3
  101. package/esm2020/lib/side-menu/content-components/public-api.mjs +5 -1
  102. package/esm2020/lib/side-menu/content-components/user-assign/side-menu-user-assign-component.module.mjs +3 -3
  103. package/esm2020/lib/tabs/tab-view/tab-view.component.mjs +7 -6
  104. package/esm2020/lib/task-content/field-component-resolver/field-component-resolver.component.mjs +18 -27
  105. package/esm2020/lib/task-content/task-content/task-content.component.mjs +3 -3
  106. package/esm2020/lib/user/profile/profile.component.mjs +2 -2
  107. package/esm2020/lib/view/case-view/components/case-list/case-list.component.mjs +3 -3
  108. package/esm2020/lib/view/case-view/components/case-list-paginator/case-list-paginator.component.mjs +3 -3
  109. package/esm2020/lib/view/case-view/components/create-case-button/create-case-button.component.mjs +10 -4
  110. package/esm2020/lib/view/workflow-view/workflow-view.component.mjs +22 -21
  111. package/esm2020/public-api.mjs +2 -1
  112. package/fesm2015/netgrif-components.mjs +3848 -2122
  113. package/fesm2015/netgrif-components.mjs.map +1 -1
  114. package/fesm2020/netgrif-components.mjs +3761 -2128
  115. package/fesm2020/netgrif-components.mjs.map +1 -1
  116. package/lib/data-fields/boolean-field/boolean-default-field/boolean-default-field.component.d.ts +8 -0
  117. package/lib/data-fields/boolean-field/boolean-field.component.d.ts +5 -5
  118. package/lib/data-fields/button-field/button-default-field/button-default-field.component.d.ts +12 -0
  119. package/lib/data-fields/button-field/button-field.component.d.ts +7 -8
  120. package/lib/data-fields/case-ref-field/case-ref-default/case-ref-default.component.d.ts +8 -0
  121. package/lib/data-fields/data-field-template/data-field-template.component.d.ts +3 -2
  122. package/lib/data-fields/data-fields.module.d.ts +34 -20
  123. package/lib/data-fields/date-field/date-default-field/date-default-field.component.d.ts +9 -0
  124. package/lib/data-fields/date-field/date-field.component.d.ts +5 -3
  125. package/lib/data-fields/date-time-field/date-time-default-field/date-time-default-field.component.d.ts +9 -0
  126. package/lib/data-fields/date-time-field/date-time-field.component.d.ts +5 -3
  127. package/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/enumeration-autocomplete-dynamic-field.component.d.ts +3 -3
  128. package/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-select-field.component.d.ts +3 -3
  129. package/lib/data-fields/enumeration-field/enumeration-field.component.d.ts +3 -0
  130. package/lib/data-fields/enumeration-field/enumeration-icon-field/enumeration-icon-field.component.d.ts +3 -3
  131. package/lib/data-fields/enumeration-field/enumeration-list-field/enumeration-list-field.component.d.ts +3 -3
  132. package/lib/data-fields/enumeration-field/enumeration-select-field/enumeration-select-field.component.d.ts +3 -3
  133. package/lib/data-fields/enumeration-field/enumeration-stepper-field/enumeration-stepper-field.component.d.ts +3 -3
  134. package/lib/data-fields/file-field/file-default-field/file-default-field.component.d.ts +13 -0
  135. package/lib/data-fields/file-field/file-field.component.d.ts +6 -9
  136. package/lib/data-fields/file-list-field/file-list-default-field/file-list-default-field.component.d.ts +8 -0
  137. package/lib/data-fields/file-list-field/file-list-field.component.d.ts +10 -0
  138. package/lib/data-fields/filter-field/filter-default-field/filter-default-field.component.d.ts +10 -0
  139. package/lib/data-fields/filter-field/filter-field.component.d.ts +6 -6
  140. package/lib/data-fields/filter-field/tab-view-filter-field/filter-field-tab-view-content.component.d.ts +2 -2
  141. package/lib/data-fields/i18n-field/i18n-divider-field/i18n-divider-field.component.d.ts +3 -3
  142. package/lib/data-fields/i18n-field/i18n-field.component.d.ts +3 -0
  143. package/lib/data-fields/i18n-field/i18n-text-field/i18n-text-field.component.d.ts +3 -3
  144. package/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-field.component.d.ts +3 -3
  145. package/lib/data-fields/multichoice-field/multichoice-field.component.d.ts +3 -0
  146. package/lib/data-fields/multichoice-field/multichoice-list-field/multichoice-list-field.component.d.ts +3 -3
  147. package/lib/data-fields/multichoice-field/multichoice-select-field/multichoice-select-field.component.d.ts +3 -2
  148. package/lib/data-fields/number-field/number-currency-field/number-currency-field.component.d.ts +3 -3
  149. package/lib/data-fields/number-field/number-default-field/number-default-field.component.d.ts +3 -3
  150. package/lib/data-fields/number-field/number-field.component.d.ts +3 -0
  151. package/lib/data-fields/public-api.d.ts +0 -15
  152. package/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-field.component.d.ts +13 -0
  153. package/lib/data-fields/task-ref-field/task-ref-field.component.d.ts +6 -7
  154. package/lib/data-fields/task-ref-field/task-ref-list-field/task-ref-list-field.component.d.ts +8 -0
  155. package/lib/data-fields/text-field/dashboard-bar-chart-text-field/dashboard-bar-chart-text-field.component.d.ts +3 -3
  156. package/lib/data-fields/text-field/dashboard-iframe-text-field/dashboard-iframe-text-field.component.d.ts +3 -3
  157. package/lib/data-fields/text-field/dashboard-line-chart-text-field/dashboard-line-chart-text-field.component.d.ts +3 -3
  158. package/lib/data-fields/text-field/dashboard-pie-chart-text-field/dashboard-pie-chart-text-field.component.d.ts +3 -3
  159. package/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-text-field.component.d.ts +3 -3
  160. package/lib/data-fields/text-field/html-textarea-field/html-textarea-field.component.d.ts +5 -5
  161. package/lib/data-fields/text-field/password-text-field/password-text-field.component.d.ts +3 -3
  162. package/lib/data-fields/text-field/rich-textarea-field/rich-textarea-field.component.d.ts +3 -3
  163. package/lib/data-fields/text-field/simple-text-field/simple-text-field.component.d.ts +3 -3
  164. package/lib/data-fields/text-field/text-field.component.d.ts +4 -2
  165. package/lib/data-fields/text-field/textarea-field/textarea-field.component.d.ts +3 -3
  166. package/lib/data-fields/user-field/user-default-field/user-default-field.component.d.ts +10 -0
  167. package/lib/data-fields/user-field/user-field.component.d.ts +6 -5
  168. package/lib/data-fields/user-list-field/user-list-default-field/user-list-default-field.component.d.ts +11 -0
  169. package/lib/data-fields/user-list-field/user-list-field.component.d.ts +6 -6
  170. package/lib/dialog/admin-impersonate-dialog/admin-impersonate-dialog.component.d.ts +42 -0
  171. package/lib/dialog/dialog.module.d.ts +31 -0
  172. package/lib/dialog/filter-selector-dialog/filter-selector-dialog.component.d.ts +96 -0
  173. package/lib/dialog/import-net-dialog/import-net-dialog.component.d.ts +36 -0
  174. package/lib/dialog/load-filter-dialog/load-filter-dialog.component.d.ts +18 -0
  175. package/lib/dialog/multi-user-assign-dialog/multi-user-assign-dialog.component.d.ts +24 -0
  176. package/lib/dialog/new-case-dialog/new-case-dialog.component.d.ts +66 -0
  177. package/lib/dialog/public-api.d.ts +10 -0
  178. package/lib/dialog/save-filter-dialog/save-filter-dialog.component.d.ts +16 -0
  179. package/lib/dialog/user-assign-dialog/user-assign-dialog.component.d.ts +42 -0
  180. package/lib/dialog/user-impersonate-dialog/user-impersonate-dialog.component.d.ts +16 -0
  181. package/lib/filter-field-content/filter-field-tab-view/filter-field-tab-view.component.d.ts +2 -2
  182. package/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.d.ts +19 -0
  183. package/lib/navigation/group-navigation-component-resolver/default-components/default-task-view/default-task-view.component.d.ts +12 -0
  184. package/lib/navigation/navigation.module.d.ts +17 -15
  185. package/lib/navigation/public-api.d.ts +1 -0
  186. package/lib/search/search.module.d.ts +4 -0
  187. package/lib/side-menu/content-components/admin-impersonate/side-menu-admin-impersonate-component.module.d.ts +1 -1
  188. package/lib/side-menu/content-components/filter-selector/side-menu-filter-selector-component.module.d.ts +1 -1
  189. package/lib/side-menu/content-components/multi-user-assign/side-menu-multi-user-assign-component.module.d.ts +1 -1
  190. package/lib/side-menu/content-components/public-api.d.ts +4 -0
  191. package/lib/side-menu/content-components/user-assign/side-menu-user-assign-component.module.d.ts +1 -1
  192. package/lib/task-content/field-component-resolver/field-component-resolver.component.d.ts +2 -2
  193. package/lib/view/case-view/components/create-case-button/create-case-button.component.d.ts +3 -1
  194. package/lib/view/workflow-view/workflow-view.component.d.ts +4 -3
  195. package/nae-theme.scss +8 -2
  196. package/nae-typography.scss +1 -1
  197. package/package.json +2 -2
  198. package/public-api.d.ts +1 -0
  199. package/src/lib/admin/ldap-group-role-assignment/ldap-group-role-assignment.component.theme.scss +2 -2
  200. package/src/lib/admin/role-assignment/role-assignment.component.theme.scss +16 -0
  201. package/src/lib/data-fields/data-field.theme.scss +217 -18
  202. package/src/lib/dialog/dialog.theme.scss +40 -2
  203. package/src/lib/header/header.theme.scss +0 -9
  204. package/src/lib/navigation/navigation.theme.scss +20 -3
  205. package/src/lib/panel/panel.theme.scss +50 -4
  206. package/src/lib/search/advanced-search/advanced-search-component/advanced-search.component.theme.scss +9 -0
  207. package/src/lib/search/advanced-search/search-predicate-component/search-predicate.component.theme.scss +7 -0
  208. package/src/lib/search/search-component/search.component-theme.scss +21 -0
  209. package/src/lib/side-menu/side-menu.theme.scss +1 -1
  210. package/src/lib/tabs/tabs.theme.scss +15 -1
  211. package/esm2020/lib/data-fields/file-field-list/file-list-field.component.mjs +0 -33
  212. package/lib/data-fields/file-field-list/file-list-field.component.d.ts +0 -8
@@ -1,35 +1,25 @@
1
1
  import { Component, Inject, Optional } from '@angular/core';
2
- import { AbstractUserListFieldComponent, NAE_INFORM_ABOUT_INVALID_DATA } from '@netgrif/components-core';
3
- import { MultiUserAssignComponent } from "../../side-menu/content-components/multi-user-assign/multi-user-assign.component";
2
+ import { AbstractUserListFieldComponent, NAE_INFORM_ABOUT_INVALID_DATA, } from '@netgrif/components-core';
4
3
  import * as i0 from "@angular/core";
5
- import * as i1 from "@netgrif/components-core";
6
- import * as i2 from "@ngx-translate/core";
7
- import * as i3 from "../data-field-template/data-field-template.component";
8
- import * as i4 from "../required-label/required-label.component";
9
- import * as i5 from "@angular/material/button";
10
- import * as i6 from "@angular/material/icon";
11
- import * as i7 from "@angular/common";
12
- import * as i8 from "@angular/material/form-field";
4
+ import * as i1 from "../data-field-template/data-field-template.component";
5
+ import * as i2 from "@angular/common";
6
+ /**
7
+ * @deprecated
8
+ * */
13
9
  export class UserListFieldComponent extends AbstractUserListFieldComponent {
14
- constructor(sideMenuService, snackbar, translate, informAboutInvalidData) {
15
- super(sideMenuService, snackbar, translate, informAboutInvalidData);
16
- }
17
- selectUser() {
18
- this.selectAbstractUser(MultiUserAssignComponent);
19
- }
20
- deleteUser(userId) {
21
- this.removeAbstractUser(userId);
10
+ constructor(informAboutInvalidData) {
11
+ super(informAboutInvalidData);
22
12
  }
23
13
  }
24
- UserListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserListFieldComponent, deps: [{ token: i1.SideMenuService }, { token: i1.SnackBarService }, { token: i2.TranslateService }, { token: NAE_INFORM_ABOUT_INVALID_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
25
- UserListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UserListFieldComponent, selector: "nc-user-list-field", usesInheritance: true, ngImport: i0, template: "<nc-data-field-template *ngIf='!dataField.behavior.hidden'\n [dataField]='dataField'\n [dataFieldTemplate]='dataFieldTemplate'\n [offset]='taskOffset'>\n</nc-data-field-template>\n\n<ng-template #dataFieldTemplate let-showLargeLayout='showLargeLayout'>\n <mat-label class='netgrif-label' *ngIf='!showLargeLayout.value'>{{dataField.title}}\n <nc-required-label *ngIf='dataField.behavior.required' [isIn]='!dataField.disabled'></nc-required-label>\n <br>\n </mat-label>\n <button *ngIf='!formControl.disabled' mat-stroked-button class='user-list-item-margin'\n [disabled]='formControl.disabled'\n color='primary'\n (click)='selectUser()'>\n <mat-icon>person_add</mat-icon>\n {{'dataField.user.selectUser' | translate}}\n </button>\n <span *ngIf='dataField?.value?.userValues?.size > 0'>\n <span *ngFor='let user of dataField.value.userValues | keyvalue' class='user-list-item-margin'>\n <button mat-stroked-button\n [disabled]='formControl.disabled'\n color='primary'>\n <mat-icon>how_to_reg</mat-icon>\n {{user.value.fullName}}\n <mat-icon (click)='deleteUser(user.key)' color='warn' *ngIf='!formControl.disabled'>close</mat-icon>\n </button>\n </span>\n </span>\n <mat-error *ngIf='dataField.isInvalid(formControl)'>{{'dataField.validations.required' | translate}}</mat-error>\n</ng-template>\n", styles: [".user-list-item-margin{margin:0 4px 4px}\n"], components: [{ type: i3.DataFieldTemplateComponent, selector: "nc-data-field-template" }, { type: i4.RequiredLabelComponent, selector: "nc-required-label", inputs: ["isIn"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatLabel, selector: "mat-label" }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe, "keyvalue": i7.KeyValuePipe } });
14
+ UserListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserListFieldComponent, deps: [{ token: NAE_INFORM_ABOUT_INVALID_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
15
+ UserListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UserListFieldComponent, selector: "nc-user-list-field", usesInheritance: true, ngImport: i0, template: "<nc-data-field-template *ngIf='!dataField.behavior.hidden'\n [dataField]='dataField'\n [offset]='taskOffset'>\n</nc-data-field-template>\n\n", styles: [""], components: [{ type: i1.DataFieldTemplateComponent, selector: "nc-data-field-template" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
26
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserListFieldComponent, decorators: [{
27
17
  type: Component,
28
- args: [{ selector: 'nc-user-list-field', template: "<nc-data-field-template *ngIf='!dataField.behavior.hidden'\n [dataField]='dataField'\n [dataFieldTemplate]='dataFieldTemplate'\n [offset]='taskOffset'>\n</nc-data-field-template>\n\n<ng-template #dataFieldTemplate let-showLargeLayout='showLargeLayout'>\n <mat-label class='netgrif-label' *ngIf='!showLargeLayout.value'>{{dataField.title}}\n <nc-required-label *ngIf='dataField.behavior.required' [isIn]='!dataField.disabled'></nc-required-label>\n <br>\n </mat-label>\n <button *ngIf='!formControl.disabled' mat-stroked-button class='user-list-item-margin'\n [disabled]='formControl.disabled'\n color='primary'\n (click)='selectUser()'>\n <mat-icon>person_add</mat-icon>\n {{'dataField.user.selectUser' | translate}}\n </button>\n <span *ngIf='dataField?.value?.userValues?.size > 0'>\n <span *ngFor='let user of dataField.value.userValues | keyvalue' class='user-list-item-margin'>\n <button mat-stroked-button\n [disabled]='formControl.disabled'\n color='primary'>\n <mat-icon>how_to_reg</mat-icon>\n {{user.value.fullName}}\n <mat-icon (click)='deleteUser(user.key)' color='warn' *ngIf='!formControl.disabled'>close</mat-icon>\n </button>\n </span>\n </span>\n <mat-error *ngIf='dataField.isInvalid(formControl)'>{{'dataField.validations.required' | translate}}</mat-error>\n</ng-template>\n", styles: [".user-list-item-margin{margin:0 4px 4px}\n"] }]
29
- }], ctorParameters: function () { return [{ type: i1.SideMenuService }, { type: i1.SnackBarService }, { type: i2.TranslateService }, { type: undefined, decorators: [{
18
+ args: [{ selector: 'nc-user-list-field', template: "<nc-data-field-template *ngIf='!dataField.behavior.hidden'\n [dataField]='dataField'\n [offset]='taskOffset'>\n</nc-data-field-template>\n\n", styles: [""] }]
19
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
30
20
  type: Optional
31
21
  }, {
32
22
  type: Inject,
33
23
  args: [NAE_INFORM_ABOUT_INVALID_DATA]
34
24
  }] }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL3VzZXItbGlzdC1maWVsZC91c2VyLWxpc3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWVsZHMvdXNlci1saXN0LWZpZWxkL3VzZXItbGlzdC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUNILDhCQUE4QixFQUM5Qiw2QkFBNkIsRUFHaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxrRkFBa0YsQ0FBQzs7Ozs7Ozs7OztBQU8xSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsOEJBQThCO0lBRXRFLFlBQVksZUFBZ0MsRUFDaEMsUUFBeUIsRUFDekIsU0FBMkIsRUFDd0Isc0JBQXNDO1FBQ2pHLEtBQUssQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFjO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDOztvSEFmUSxzQkFBc0IsZ0hBS0MsNkJBQTZCO3dHQUxwRCxzQkFBc0IsaUZDZm5DLDhoREErQkE7NEZEaEJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7OzBCQVNmLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VXNlckxpc3RGaWVsZENvbXBvbmVudCxcbiAgICBOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQSxcbiAgICBTaWRlTWVudVNlcnZpY2UsXG4gICAgU25hY2tCYXJTZXJ2aWNlXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge011bHRpVXNlckFzc2lnbkNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvbXVsdGktdXNlci1hc3NpZ24vbXVsdGktdXNlci1hc3NpZ24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25jLXVzZXItbGlzdC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWxpc3QtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLWxpc3QtZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyTGlzdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RVc2VyTGlzdEZpZWxkQ29tcG9uZW50IHtcblxuICAgIGNvbnN0cnVjdG9yKHNpZGVNZW51U2VydmljZTogU2lkZU1lbnVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHNuYWNrYmFyOiBTbmFja0JhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX0lORk9STV9BQk9VVF9JTlZBTElEX0RBVEEpIGluZm9ybUFib3V0SW52YWxpZERhdGE6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgIHN1cGVyKHNpZGVNZW51U2VydmljZSwgc25hY2tiYXIsIHRyYW5zbGF0ZSwgaW5mb3JtQWJvdXRJbnZhbGlkRGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdFVzZXIoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWJzdHJhY3RVc2VyKE11bHRpVXNlckFzc2lnbkNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZVVzZXIodXNlcklkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBYnN0cmFjdFVzZXIodXNlcklkKTtcbiAgICB9XG59XG4iLCI8bmMtZGF0YS1maWVsZC10ZW1wbGF0ZSAqbmdJZj0nIWRhdGFGaWVsZC5iZWhhdmlvci5oaWRkZW4nXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YUZpZWxkXT0nZGF0YUZpZWxkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFGaWVsZFRlbXBsYXRlXT0nZGF0YUZpZWxkVGVtcGxhdGUnXG4gICAgICAgICAgICAgICAgICAgICAgICBbb2Zmc2V0XT0ndGFza09mZnNldCc+XG48L25jLWRhdGEtZmllbGQtdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGF0YUZpZWxkVGVtcGxhdGUgbGV0LXNob3dMYXJnZUxheW91dD0nc2hvd0xhcmdlTGF5b3V0Jz5cbiAgICA8bWF0LWxhYmVsIGNsYXNzPSduZXRncmlmLWxhYmVsJyAqbmdJZj0nIXNob3dMYXJnZUxheW91dC52YWx1ZSc+e3tkYXRhRmllbGQudGl0bGV9fVxuICAgICAgICA8bmMtcmVxdWlyZWQtbGFiZWwgKm5nSWY9J2RhdGFGaWVsZC5iZWhhdmlvci5yZXF1aXJlZCcgW2lzSW5dPSchZGF0YUZpZWxkLmRpc2FibGVkJz48L25jLXJlcXVpcmVkLWxhYmVsPlxuICAgICAgICA8YnI+XG4gICAgPC9tYXQtbGFiZWw+XG4gICAgPGJ1dHRvbiAqbmdJZj0nIWZvcm1Db250cm9sLmRpc2FibGVkJyBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9J3VzZXItbGlzdC1pdGVtLW1hcmdpbidcbiAgICAgICAgICAgIFtkaXNhYmxlZF09J2Zvcm1Db250cm9sLmRpc2FibGVkJ1xuICAgICAgICAgICAgY29sb3I9J3ByaW1hcnknXG4gICAgICAgICAgICAoY2xpY2spPSdzZWxlY3RVc2VyKCknPlxuICAgICAgICA8bWF0LWljb24+cGVyc29uX2FkZDwvbWF0LWljb24+XG4gICAgICAgIHt7J2RhdGFGaWVsZC51c2VyLnNlbGVjdFVzZXInIHwgdHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8c3BhbiAqbmdJZj0nZGF0YUZpZWxkPy52YWx1ZT8udXNlclZhbHVlcz8uc2l6ZSA+IDAnPlxuICAgICAgICA8c3BhbiAqbmdGb3I9J2xldCB1c2VyIG9mIGRhdGFGaWVsZC52YWx1ZS51c2VyVmFsdWVzIHwga2V5dmFsdWUnIGNsYXNzPSd1c2VyLWxpc3QtaXRlbS1tYXJnaW4nPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT0nZm9ybUNvbnRyb2wuZGlzYWJsZWQnXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPSdwcmltYXJ5Jz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+aG93X3RvX3JlZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAge3t1c2VyLnZhbHVlLmZ1bGxOYW1lfX1cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT0nZGVsZXRlVXNlcih1c2VyLmtleSknIGNvbG9yPSd3YXJuJyAqbmdJZj0nIWZvcm1Db250cm9sLmRpc2FibGVkJz5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWVycm9yICpuZ0lmPSdkYXRhRmllbGQuaXNJbnZhbGlkKGZvcm1Db250cm9sKSc+e3snZGF0YUZpZWxkLnZhbGlkYXRpb25zLnJlcXVpcmVkJyB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XG48L25nLXRlbXBsYXRlPlxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmllbGRzL3VzZXItbGlzdC1maWVsZC91c2VyLWxpc3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWVsZHMvdXNlci1saXN0LWZpZWxkL3VzZXItbGlzdC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUNILDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FDaEMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVsQzs7S0FFSztBQU1MLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSw4QkFBOEI7SUFFdEUsWUFBK0Qsc0JBQXNDO1FBQ2pHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O29IQUpRLHNCQUFzQixrQkFFQyw2QkFBNkI7d0dBRnBELHNCQUFzQixpRkNkbkMsNExBS0E7NEZEU2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjs7MEJBTWYsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RVc2VyTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIE5BRV9JTkZPUk1fQUJPVVRfSU5WQUxJRF9EQVRBLFxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmMtdXNlci1saXN0LWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbGlzdC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VzZXItbGlzdC1maWVsZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJMaXN0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFVzZXJMaXN0RmllbGRDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQSkgaW5mb3JtQWJvdXRJbnZhbGlkRGF0YTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgc3VwZXIoaW5mb3JtQWJvdXRJbnZhbGlkRGF0YSk7XG4gICAgfVxufVxuIiwiPG5jLWRhdGEtZmllbGQtdGVtcGxhdGUgKm5nSWY9JyFkYXRhRmllbGQuYmVoYXZpb3IuaGlkZGVuJ1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFGaWVsZF09J2RhdGFGaWVsZCdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtvZmZzZXRdPSd0YXNrT2Zmc2V0Jz5cbjwvbmMtZGF0YS1maWVsZC10ZW1wbGF0ZT5cblxuIl19
@@ -0,0 +1,77 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { ImpersonationUserListService, UserListService } from '@netgrif/components-core';
3
+ import { FormControl } from '@angular/forms';
4
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@angular/material/form-field";
8
+ import * as i3 from "@angular/material/icon";
9
+ import * as i4 from "@angular/material/button";
10
+ import * as i5 from "../../side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-list.component";
11
+ import * as i6 from "@angular/flex-layout/flex";
12
+ import * as i7 from "@angular/material/input";
13
+ import * as i8 from "@angular/forms";
14
+ import * as i9 from "@angular/common";
15
+ import * as i10 from "@ngx-translate/core";
16
+ export class AdminImpersonateDialogComponent {
17
+ /**
18
+ * Inject and set data send from [UserFieldComponent]{@link AbstractUserFieldComponent} if the user is preselected.
19
+ * @param _sideMenuControl Contains [Roles]{@link ProcessRole} and [UserValue]{@link UserValue}.
20
+ */
21
+ constructor(_dialogRef, _data) {
22
+ this._dialogRef = _dialogRef;
23
+ this._data = _data;
24
+ /**
25
+ * Form control for user search value.
26
+ */
27
+ this.searchUserControl = new FormControl();
28
+ if (this._data) {
29
+ this.injectedData = this._data;
30
+ }
31
+ }
32
+ /**
33
+ * The user that is initially selected, or `undefined` if none is
34
+ */
35
+ get initiallySelectedUser() {
36
+ return this.injectedData ? this.injectedData.value : undefined;
37
+ }
38
+ get roles() {
39
+ return this.injectedData ? this.injectedData.roles : [];
40
+ }
41
+ get negativeRoles() {
42
+ return this.injectedData ? this.injectedData.negativeRoles : [];
43
+ }
44
+ /**
45
+ * On select user from users assign list publish side menu with selected user as data and message about selection.
46
+ * @param user Select current user as [UserValue]{@link UserValue}
47
+ */
48
+ userWasSelected(user) {
49
+ this._currentUser = user;
50
+ }
51
+ /**
52
+ * On assign button close side menu with selected user as data and message about confirm.
53
+ */
54
+ assign() {
55
+ if (this._currentUser !== undefined) {
56
+ this._dialogRef.close({
57
+ opened: false,
58
+ message: 'Selected user was confirmed',
59
+ data: this._currentUser
60
+ });
61
+ }
62
+ }
63
+ }
64
+ AdminImpersonateDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AdminImpersonateDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
65
+ AdminImpersonateDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AdminImpersonateDialogComponent, selector: "nc-admin-impersonate-dialog", providers: [{
66
+ provide: UserListService, useClass: ImpersonationUserListService
67
+ }], ngImport: i0, template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'side-menu.impersonation.title' | translate }}\n</div>\n<div mat-dialog-content fxLayoutAlign=\"start stretch\" class=\"height-fix\">\n <div class=\"user-assign-container side-menu-root\" fxFlex fxLayout=\"column\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"netgrif-input netgrif-input-fix\">\n <mat-form-field fxFlex=\"100\" class=\"user-assign-search\" color=\"primary\" appearance=\"outline\">\n <mat-icon matPrefix class=\"prefix-icon\">search</mat-icon>\n <input matInput placeholder=\"{{ 'side-menu.user.choose' | translate }}\"\n [formControl]=\"searchUserControl\">\n <button mat-stroked-button *ngIf=\"searchUserControl.value\" matSuffix mat-icon-button\n (click)=\"searchUserControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <nc-admin-impersonate-list fxFlex\n [searchUserControl]=\"searchUserControl\"\n [roles]=\"roles\"\n [negativeRoles]=\"negativeRoles\"\n [initiallySelectedUser]=\"initiallySelectedUser\"\n (userSelected)=\"userWasSelected($event)\">\n </nc-admin-impersonate-list>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <button mat-raised-button color=\"primary\"\n (click)=\"assign()\">{{ 'side-menu.impersonation.submit' | translate | uppercase }}</button>\n </div>\n </div>\n</div>\n", styles: [".user-assign-container{padding:16px;position:relative;height:calc(100% - 4px)}.user-assign-search{width:100%}.prefix-icon{font-size:18px;color:#64748b}.height-100{height:100%}.height-fix{height:calc(100% - 44px)}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.AdminImpersonateListComponent, selector: "nc-admin-impersonate-list" }], directives: [{ type: i6.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"] }, { type: i6.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"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.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"] }, { type: i2.MatPrefix, selector: "[matPrefix]" }, { type: i7.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"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatSuffix, selector: "[matSuffix]" }], pipes: { "translate": i10.TranslatePipe, "uppercase": i9.UpperCasePipe } });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AdminImpersonateDialogComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'nc-admin-impersonate-dialog', providers: [{
71
+ provide: UserListService, useClass: ImpersonationUserListService
72
+ }], template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'side-menu.impersonation.title' | translate }}\n</div>\n<div mat-dialog-content fxLayoutAlign=\"start stretch\" class=\"height-fix\">\n <div class=\"user-assign-container side-menu-root\" fxFlex fxLayout=\"column\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"netgrif-input netgrif-input-fix\">\n <mat-form-field fxFlex=\"100\" class=\"user-assign-search\" color=\"primary\" appearance=\"outline\">\n <mat-icon matPrefix class=\"prefix-icon\">search</mat-icon>\n <input matInput placeholder=\"{{ 'side-menu.user.choose' | translate }}\"\n [formControl]=\"searchUserControl\">\n <button mat-stroked-button *ngIf=\"searchUserControl.value\" matSuffix mat-icon-button\n (click)=\"searchUserControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <nc-admin-impersonate-list fxFlex\n [searchUserControl]=\"searchUserControl\"\n [roles]=\"roles\"\n [negativeRoles]=\"negativeRoles\"\n [initiallySelectedUser]=\"initiallySelectedUser\"\n (userSelected)=\"userWasSelected($event)\">\n </nc-admin-impersonate-list>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <button mat-raised-button color=\"primary\"\n (click)=\"assign()\">{{ 'side-menu.impersonation.submit' | translate | uppercase }}</button>\n </div>\n </div>\n</div>\n", styles: [".user-assign-container{padding:16px;position:relative;height:calc(100% - 4px)}.user-assign-search{width:100%}.prefix-icon{font-size:18px;color:#64748b}.height-100{height:100%}.height-fix{height:calc(100% - 44px)}\n"] }]
73
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
74
+ type: Inject,
75
+ args: [MAT_DIALOG_DATA]
76
+ }] }]; } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4taW1wZXJzb25hdGUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9hZG1pbi1pbXBlcnNvbmF0ZS1kaWFsb2cvYWRtaW4taW1wZXJzb25hdGUtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9hZG1pbi1pbXBlcnNvbmF0ZS1kaWFsb2cvYWRtaW4taW1wZXJzb25hdGUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFDSCw0QkFBNEIsRUFHNUIsZUFBZSxFQUVsQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztBQVV2RSxNQUFNLE9BQU8sK0JBQStCO0lBZ0J4Qzs7O09BR0c7SUFDSCxZQUFzQixVQUF5RCxFQUNoQyxLQUEyQjtRQURwRCxlQUFVLEdBQVYsVUFBVSxDQUErQztRQUNoQyxVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQXBCMUU7O1dBRUc7UUFDSSxzQkFBaUIsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBa0J6QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUE2QixDQUFDO1NBQzFEO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxxQkFBcUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLENBQUMsSUFBZTtRQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztnQkFDbEIsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsT0FBTyxFQUFFLDZCQUE2QjtnQkFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2FBQzFCLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQzs7NkhBN0RRLCtCQUErQiw4Q0FxQnBCLGVBQWU7aUhBckIxQiwrQkFBK0Isc0RBSjdCLENBQUM7WUFDUixPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSw0QkFBNEI7U0FDbkUsQ0FBQywwQkNqQk4sbXZEQStCQTs0RkRaYSwrQkFBK0I7a0JBUjNDLFNBQVM7K0JBQ0ksNkJBQTZCLGFBRzVCLENBQUM7NEJBQ1IsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsNEJBQTRCO3lCQUNuRSxDQUFDOzswQkF1QlcsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgSW1wZXJzb25hdGlvblVzZXJMaXN0U2VydmljZSxcbiAgICBQcm9jZXNzUm9sZSxcbiAgICBVc2VyTGlzdEluamVjdGVkRGF0YSxcbiAgICBVc2VyTGlzdFNlcnZpY2UsXG4gICAgVXNlclZhbHVlXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWFkbWluLWltcGVyc29uYXRlLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLWltcGVyc29uYXRlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRtaW4taW1wZXJzb25hdGUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBVc2VyTGlzdFNlcnZpY2UsIHVzZUNsYXNzOiBJbXBlcnNvbmF0aW9uVXNlckxpc3RTZXJ2aWNlXG4gICAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5JbXBlcnNvbmF0ZURpYWxvZ0NvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogRm9ybSBjb250cm9sIGZvciB1c2VyIHNlYXJjaCB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VhcmNoVXNlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICAgIC8qKlxuICAgICAqIERhdGEgYWJvdXQgcHJlc2VsZWN0ZWQgdXNlciBzZW5kIGZyb20gW1VzZXJGaWVsZENvbXBvbmVudF17QGxpbmsgQWJzdHJhY3RVc2VyRmllbGRDb21wb25lbnR9LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmplY3RlZERhdGE6IFVzZXJMaXN0SW5qZWN0ZWREYXRhO1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgb2YgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgdXNlci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnRVc2VyOiBVc2VyVmFsdWU7XG5cbiAgICAvKipcbiAgICAgKiBJbmplY3QgYW5kIHNldCBkYXRhIHNlbmQgZnJvbSBbVXNlckZpZWxkQ29tcG9uZW50XXtAbGluayBBYnN0cmFjdFVzZXJGaWVsZENvbXBvbmVudH0gaWYgdGhlIHVzZXIgaXMgcHJlc2VsZWN0ZWQuXG4gICAgICogQHBhcmFtIF9zaWRlTWVudUNvbnRyb2wgQ29udGFpbnMgW1JvbGVzXXtAbGluayBQcm9jZXNzUm9sZX0gYW5kIFtVc2VyVmFsdWVde0BsaW5rIFVzZXJWYWx1ZX0uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBZG1pbkltcGVyc29uYXRlRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJvdGVjdGVkIF9kYXRhOiBVc2VyTGlzdEluamVjdGVkRGF0YSkge1xuICAgICAgICBpZiAodGhpcy5fZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5pbmplY3RlZERhdGEgPSB0aGlzLl9kYXRhIGFzIFVzZXJMaXN0SW5qZWN0ZWREYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHVzZXIgdGhhdCBpcyBpbml0aWFsbHkgc2VsZWN0ZWQsIG9yIGB1bmRlZmluZWRgIGlmIG5vbmUgaXNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGluaXRpYWxseVNlbGVjdGVkVXNlcigpOiBVc2VyVmFsdWUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3RlZERhdGEgPyB0aGlzLmluamVjdGVkRGF0YS52YWx1ZSBhcyBVc2VyVmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb2xlcygpOiBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UHJvY2Vzc1JvbGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0ZWREYXRhID8gdGhpcy5pbmplY3RlZERhdGEucm9sZXMgOiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5lZ2F0aXZlUm9sZXMoKTogQXJyYXk8c3RyaW5nPiB8IEFycmF5PFByb2Nlc3NSb2xlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdGVkRGF0YSA/IHRoaXMuaW5qZWN0ZWREYXRhLm5lZ2F0aXZlUm9sZXMgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBzZWxlY3QgdXNlciBmcm9tIHVzZXJzIGFzc2lnbiBsaXN0IHB1Ymxpc2ggc2lkZSBtZW51IHdpdGggc2VsZWN0ZWQgdXNlciBhcyBkYXRhIGFuZCBtZXNzYWdlIGFib3V0IHNlbGVjdGlvbi5cbiAgICAgKiBAcGFyYW0gdXNlciBTZWxlY3QgY3VycmVudCB1c2VyIGFzIFtVc2VyVmFsdWVde0BsaW5rIFVzZXJWYWx1ZX1cbiAgICAgKi9cbiAgICBwdWJsaWMgdXNlcldhc1NlbGVjdGVkKHVzZXI6IFVzZXJWYWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdXJyZW50VXNlciA9IHVzZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gYXNzaWduIGJ1dHRvbiBjbG9zZSBzaWRlIG1lbnUgd2l0aCBzZWxlY3RlZCB1c2VyIGFzIGRhdGEgYW5kIG1lc3NhZ2UgYWJvdXQgY29uZmlybS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXNzaWduKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFVzZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdTZWxlY3RlZCB1c2VyIHdhcyBjb25maXJtZWQnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHRoaXMuX2N1cnJlbnRVc2VyXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYXQtZGlhbG9nLXRpdGxlXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIG5vbmVcIj5cbiAgICB7eyAnc2lkZS1tZW51LmltcGVyc29uYXRpb24udGl0bGUnIHwgdHJhbnNsYXRlICB9fVxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBmeExheW91dEFsaWduPVwic3RhcnQgc3RyZXRjaFwiIGNsYXNzPVwiaGVpZ2h0LWZpeFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWFzc2lnbi1jb250YWluZXIgc2lkZS1tZW51LXJvb3RcIiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cIm5ldGdyaWYtaW5wdXQgbmV0Z3JpZi1pbnB1dC1maXhcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDBcIiBjbGFzcz1cInVzZXItYXNzaWduLXNlYXJjaFwiIGNvbG9yPVwicHJpbWFyeVwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFByZWZpeCBjbGFzcz1cInByZWZpeC1pY29uXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJ7eyAnc2lkZS1tZW51LnVzZXIuY2hvb3NlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hVc2VyQ29udHJvbFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uICpuZ0lmPVwic2VhcmNoVXNlckNvbnRyb2wudmFsdWVcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VhcmNoVXNlckNvbnRyb2wuc2V0VmFsdWUoJycpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmMtYWRtaW4taW1wZXJzb25hdGUtbGlzdCBmeEZsZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaFVzZXJDb250cm9sXT1cInNlYXJjaFVzZXJDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvbGVzXT1cInJvbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25lZ2F0aXZlUm9sZXNdPVwibmVnYXRpdmVSb2xlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbml0aWFsbHlTZWxlY3RlZFVzZXJdPVwiaW5pdGlhbGx5U2VsZWN0ZWRVc2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVzZXJTZWxlY3RlZCk9XCJ1c2VyV2FzU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICA8L25jLWFkbWluLWltcGVyc29uYXRlLWxpc3Q+XG5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhc3NpZ24oKVwiPnt7ICdzaWRlLW1lbnUuaW1wZXJzb25hdGlvbi5zdWJtaXQnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,159 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NewCaseDialogComponent } from './new-case-dialog/new-case-dialog.component';
4
+ import { CovalentModule, MaterialModule, SnackBarModule, TranslateLibModule, NAE_USER_ASSIGN_DIALOG_COMPONENT, NAE_ADMIN_IMPERSONATE_DIALOG_COMPONENT, NAE_NEW_CASE_DIALOG_COMPONENT, NAE_USER_IMPERSONATE_DIALOG_COMPONENT, NAE_SAVE_FILTER_DIALOG_COMPONENT, NAE_LOAD_FILTER_DIALOG_COMPONENT } from '@netgrif/components-core';
5
+ import { A11yModule } from '@angular/cdk/a11y';
6
+ import { SideMenuUserAssignComponentModule } from '../side-menu/content-components/user-assign/side-menu-user-assign-component.module';
7
+ import { FlexLayoutModule, FlexModule } from '@angular/flex-layout';
8
+ import { FormsModule } from '@angular/forms';
9
+ import { HotkeyModule } from 'angular2-hotkeys';
10
+ import { ImportNetDialogComponent } from './import-net-dialog/import-net-dialog.component';
11
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
12
+ import { UserAssignDialogComponent } from './user-assign-dialog/user-assign-dialog.component';
13
+ import { AdminImpersonateDialogComponent } from './admin-impersonate-dialog/admin-impersonate-dialog.component';
14
+ import { SideMenuAdminImpersonateComponentModule } from '../side-menu/content-components/admin-impersonate/side-menu-admin-impersonate-component.module';
15
+ import { UserImpersonateDialogComponent } from './user-impersonate-dialog/user-impersonate-dialog.component';
16
+ import { CaseViewComponentModule } from '../view/case-view/case-view.module';
17
+ import { HeaderComponentModule } from '../header/header.module';
18
+ import { FilterSelectorDialogComponent } from './filter-selector-dialog/filter-selector-dialog.component';
19
+ import { SideMenuFilterSelectorComponentModule } from '../side-menu/content-components/filter-selector/side-menu-filter-selector-component.module';
20
+ import { LoadFilterDialogComponent } from './load-filter-dialog/load-filter-dialog.component';
21
+ import { SaveFilterDialogComponent } from './save-filter-dialog/save-filter-dialog.component';
22
+ import { PanelComponentModule } from '../panel/panel.module';
23
+ import { SideMenuLoadFilterComponentModule } from '../side-menu/content-components/load-filter/side-menu-load-filter-component.module';
24
+ import { SideMenuSaveFilterComponentModule } from '../side-menu/content-components/save-filter/side-menu-save-filter-component.module';
25
+ import { SideMenuMultiUserAssignComponentModule } from '../side-menu/content-components/multi-user-assign/side-menu-multi-user-assign-component.module';
26
+ import { MultiUserAssignDialogComponent } from './multi-user-assign-dialog/multi-user-assign-dialog.component';
27
+ import * as i0 from "@angular/core";
28
+ import * as i1 from "angular2-hotkeys";
29
+ export class DialogComponentsModule {
30
+ }
31
+ DialogComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ DialogComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponentsModule, declarations: [NewCaseDialogComponent,
33
+ ImportNetDialogComponent,
34
+ UserAssignDialogComponent,
35
+ AdminImpersonateDialogComponent,
36
+ UserImpersonateDialogComponent,
37
+ FilterSelectorDialogComponent,
38
+ LoadFilterDialogComponent,
39
+ SaveFilterDialogComponent,
40
+ MultiUserAssignDialogComponent], imports: [BrowserAnimationsModule,
41
+ SideMenuUserAssignComponentModule,
42
+ TranslateLibModule,
43
+ CommonModule,
44
+ A11yModule,
45
+ MaterialModule,
46
+ CovalentModule,
47
+ FlexLayoutModule,
48
+ FlexModule,
49
+ FormsModule,
50
+ SnackBarModule,
51
+ TranslateLibModule,
52
+ SideMenuUserAssignComponentModule,
53
+ SideMenuAdminImpersonateComponentModule,
54
+ SideMenuFilterSelectorComponentModule,
55
+ SideMenuLoadFilterComponentModule,
56
+ SideMenuSaveFilterComponentModule,
57
+ SideMenuMultiUserAssignComponentModule,
58
+ CaseViewComponentModule,
59
+ HeaderComponentModule,
60
+ PanelComponentModule, i1.HotkeyModule], exports: [NewCaseDialogComponent,
61
+ ImportNetDialogComponent,
62
+ UserAssignDialogComponent,
63
+ AdminImpersonateDialogComponent,
64
+ UserImpersonateDialogComponent,
65
+ FilterSelectorDialogComponent,
66
+ LoadFilterDialogComponent,
67
+ SaveFilterDialogComponent,
68
+ MultiUserAssignDialogComponent] });
69
+ DialogComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponentsModule, providers: [
70
+ { provide: NAE_USER_ASSIGN_DIALOG_COMPONENT, useValue: UserAssignDialogComponent },
71
+ { provide: NAE_ADMIN_IMPERSONATE_DIALOG_COMPONENT, useValue: AdminImpersonateDialogComponent },
72
+ { provide: NAE_USER_IMPERSONATE_DIALOG_COMPONENT, useValue: UserImpersonateDialogComponent },
73
+ { provide: NAE_NEW_CASE_DIALOG_COMPONENT, useValue: NewCaseDialogComponent },
74
+ { provide: NAE_SAVE_FILTER_DIALOG_COMPONENT, useValue: SaveFilterDialogComponent },
75
+ { provide: NAE_LOAD_FILTER_DIALOG_COMPONENT, useValue: LoadFilterDialogComponent }
76
+ ], imports: [[
77
+ BrowserAnimationsModule,
78
+ SideMenuUserAssignComponentModule,
79
+ TranslateLibModule,
80
+ CommonModule,
81
+ A11yModule,
82
+ MaterialModule,
83
+ CovalentModule,
84
+ FlexLayoutModule,
85
+ FlexModule,
86
+ FormsModule,
87
+ SnackBarModule,
88
+ TranslateLibModule,
89
+ SideMenuUserAssignComponentModule,
90
+ SideMenuAdminImpersonateComponentModule,
91
+ SideMenuFilterSelectorComponentModule,
92
+ SideMenuLoadFilterComponentModule,
93
+ SideMenuSaveFilterComponentModule,
94
+ SideMenuMultiUserAssignComponentModule,
95
+ CaseViewComponentModule,
96
+ HeaderComponentModule,
97
+ PanelComponentModule,
98
+ HotkeyModule.forRoot()
99
+ ]] });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponentsModule, decorators: [{
101
+ type: NgModule,
102
+ args: [{
103
+ declarations: [
104
+ NewCaseDialogComponent,
105
+ ImportNetDialogComponent,
106
+ UserAssignDialogComponent,
107
+ AdminImpersonateDialogComponent,
108
+ UserImpersonateDialogComponent,
109
+ FilterSelectorDialogComponent,
110
+ LoadFilterDialogComponent,
111
+ SaveFilterDialogComponent,
112
+ MultiUserAssignDialogComponent
113
+ ],
114
+ exports: [
115
+ NewCaseDialogComponent,
116
+ ImportNetDialogComponent,
117
+ UserAssignDialogComponent,
118
+ AdminImpersonateDialogComponent,
119
+ UserImpersonateDialogComponent,
120
+ FilterSelectorDialogComponent,
121
+ LoadFilterDialogComponent,
122
+ SaveFilterDialogComponent,
123
+ MultiUserAssignDialogComponent
124
+ ],
125
+ imports: [
126
+ BrowserAnimationsModule,
127
+ SideMenuUserAssignComponentModule,
128
+ TranslateLibModule,
129
+ CommonModule,
130
+ A11yModule,
131
+ MaterialModule,
132
+ CovalentModule,
133
+ FlexLayoutModule,
134
+ FlexModule,
135
+ FormsModule,
136
+ SnackBarModule,
137
+ TranslateLibModule,
138
+ SideMenuUserAssignComponentModule,
139
+ SideMenuAdminImpersonateComponentModule,
140
+ SideMenuFilterSelectorComponentModule,
141
+ SideMenuLoadFilterComponentModule,
142
+ SideMenuSaveFilterComponentModule,
143
+ SideMenuMultiUserAssignComponentModule,
144
+ CaseViewComponentModule,
145
+ HeaderComponentModule,
146
+ PanelComponentModule,
147
+ HotkeyModule.forRoot()
148
+ ],
149
+ providers: [
150
+ { provide: NAE_USER_ASSIGN_DIALOG_COMPONENT, useValue: UserAssignDialogComponent },
151
+ { provide: NAE_ADMIN_IMPERSONATE_DIALOG_COMPONENT, useValue: AdminImpersonateDialogComponent },
152
+ { provide: NAE_USER_IMPERSONATE_DIALOG_COMPONENT, useValue: UserImpersonateDialogComponent },
153
+ { provide: NAE_NEW_CASE_DIALOG_COMPONENT, useValue: NewCaseDialogComponent },
154
+ { provide: NAE_SAVE_FILTER_DIALOG_COMPONENT, useValue: SaveFilterDialogComponent },
155
+ { provide: NAE_LOAD_FILTER_DIALOG_COMPONENT, useValue: LoadFilterDialogComponent }
156
+ ]
157
+ }]
158
+ }] });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFDSCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsZ0NBQWdDLEVBQ2hDLHNDQUFzQyxFQUN0Qyw2QkFBNkIsRUFDN0IscUNBQXFDLEVBQ3JDLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDbkMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUNILGlDQUFpQyxFQUNwQyxNQUFNLG9GQUFvRixDQUFDO0FBQzVGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzlHLE9BQU8sRUFDSCx1Q0FBdUMsRUFDMUMsTUFBTSxnR0FBZ0cs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LEVBQUUsZ0NBQWdDLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFDO3FCQUNuRjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05ld0Nhc2VEaWFsb2dDb21wb25lbnR9IGZyb20gJy4vbmV3LWNhc2UtZGlhbG9nL25ldy1jYXNlLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBDb3ZhbGVudE1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBTbmFja0Jhck1vZHVsZSxcbiAgICBUcmFuc2xhdGVMaWJNb2R1bGUsXG4gICAgTkFFX1VTRVJfQVNTSUdOX0RJQUxPR19DT01QT05FTlQsXG4gICAgTkFFX0FETUlOX0lNUEVSU09OQVRFX0RJQUxPR19DT01QT05FTlQsXG4gICAgTkFFX05FV19DQVNFX0RJQUxPR19DT01QT05FTlQsXG4gICAgTkFFX1VTRVJfSU1QRVJTT05BVEVfRElBTE9HX0NPTVBPTkVOVCxcbiAgICBOQUVfU0FWRV9GSUxURVJfRElBTE9HX0NPTVBPTkVOVCxcbiAgICBOQUVfTE9BRF9GSUxURVJfRElBTE9HX0NPTVBPTkVOVFxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtBMTF5TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIFNpZGVNZW51VXNlckFzc2lnbkNvbXBvbmVudE1vZHVsZVxufSBmcm9tICcuLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3VzZXItYXNzaWduL3NpZGUtbWVudS11c2VyLWFzc2lnbi1jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7RmxleExheW91dE1vZHVsZSwgRmxleE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtIb3RrZXlNb2R1bGV9IGZyb20gJ2FuZ3VsYXIyLWhvdGtleXMnO1xuaW1wb3J0IHtJbXBvcnROZXREaWFsb2dDb21wb25lbnR9IGZyb20gJy4vaW1wb3J0LW5ldC1kaWFsb2cvaW1wb3J0LW5ldC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7QnJvd3NlckFuaW1hdGlvbnNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1VzZXJBc3NpZ25EaWFsb2dDb21wb25lbnR9IGZyb20gJy4vdXNlci1hc3NpZ24tZGlhbG9nL3VzZXItYXNzaWduLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtBZG1pbkltcGVyc29uYXRlRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL2FkbWluLWltcGVyc29uYXRlLWRpYWxvZy9hZG1pbi1pbXBlcnNvbmF0ZS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgU2lkZU1lbnVBZG1pbkltcGVyc29uYXRlQ29tcG9uZW50TW9kdWxlXG59IGZyb20gJy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvYWRtaW4taW1wZXJzb25hdGUvc2lkZS1tZW51LWFkbWluLWltcGVyc29uYXRlLWNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHtVc2VySW1wZXJzb25hdGVEaWFsb2dDb21wb25lbnR9IGZyb20gJy4vdXNlci1pbXBlcnNvbmF0ZS1kaWFsb2cvdXNlci1pbXBlcnNvbmF0ZS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7Q2FzZVZpZXdDb21wb25lbnRNb2R1bGV9IGZyb20gJy4uL3ZpZXcvY2FzZS12aWV3L2Nhc2Utdmlldy5tb2R1bGUnO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnRNb2R1bGV9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIubW9kdWxlJztcbmltcG9ydCB7RmlsdGVyU2VsZWN0b3JEaWFsb2dDb21wb25lbnR9IGZyb20gJy4vZmlsdGVyLXNlbGVjdG9yLWRpYWxvZy9maWx0ZXItc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIFNpZGVNZW51RmlsdGVyU2VsZWN0b3JDb21wb25lbnRNb2R1bGVcbn0gZnJvbSAnLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9maWx0ZXItc2VsZWN0b3Ivc2lkZS1tZW51LWZpbHRlci1zZWxlY3Rvci1jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7TG9hZEZpbHRlckRpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9sb2FkLWZpbHRlci1kaWFsb2cvbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge1NhdmVGaWx0ZXJEaWFsb2dDb21wb25lbnR9IGZyb20gJy4vc2F2ZS1maWx0ZXItZGlhbG9nL3NhdmUtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtQYW5lbENvbXBvbmVudE1vZHVsZX0gZnJvbSAnLi4vcGFuZWwvcGFuZWwubW9kdWxlJztcbmltcG9ydCB7XG4gICAgU2lkZU1lbnVMb2FkRmlsdGVyQ29tcG9uZW50TW9kdWxlXG59IGZyb20gJy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvbG9hZC1maWx0ZXIvc2lkZS1tZW51LWxvYWQtZmlsdGVyLWNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHtcbiAgICBTaWRlTWVudVNhdmVGaWx0ZXJDb21wb25lbnRNb2R1bGVcbn0gZnJvbSAnLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9zYXZlLWZpbHRlci9zaWRlLW1lbnUtc2F2ZS1maWx0ZXItY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQge1xuICAgIFNpZGVNZW51TXVsdGlVc2VyQXNzaWduQ29tcG9uZW50TW9kdWxlXG59IGZyb20gJy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvbXVsdGktdXNlci1hc3NpZ24vc2lkZS1tZW51LW11bHRpLXVzZXItYXNzaWduLWNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgTXVsdGlVc2VyQXNzaWduRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS11c2VyLWFzc2lnbi1kaWFsb2cvbXVsdGktdXNlci1hc3NpZ24tZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE5ld0Nhc2VEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIEltcG9ydE5ldERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgVXNlckFzc2lnbkRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgQWRtaW5JbXBlcnNvbmF0ZURpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgVXNlckltcGVyc29uYXRlRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBGaWx0ZXJTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgTG9hZEZpbHRlckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgU2F2ZUZpbHRlckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgTXVsdGlVc2VyQXNzaWduRGlhbG9nQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE5ld0Nhc2VEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIEltcG9ydE5ldERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgVXNlckFzc2lnbkRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgQWRtaW5JbXBlcnNvbmF0ZURpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgVXNlckltcGVyc29uYXRlRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBGaWx0ZXJTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgTG9hZEZpbHRlckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgU2F2ZUZpbHRlckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgTXVsdGlVc2VyQXNzaWduRGlhbG9nQ29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICAgICAgICBTaWRlTWVudVVzZXJBc3NpZ25Db21wb25lbnRNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZUxpYk1vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBBMTF5TW9kdWxlLFxuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgQ292YWxlbnRNb2R1bGUsXG4gICAgICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgICAgIEZsZXhNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBTbmFja0Jhck1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTGliTW9kdWxlLFxuICAgICAgICBTaWRlTWVudVVzZXJBc3NpZ25Db21wb25lbnRNb2R1bGUsXG4gICAgICAgIFNpZGVNZW51QWRtaW5JbXBlcnNvbmF0ZUNvbXBvbmVudE1vZHVsZSxcbiAgICAgICAgU2lkZU1lbnVGaWx0ZXJTZWxlY3RvckNvbXBvbmVudE1vZHVsZSxcbiAgICAgICAgU2lkZU1lbnVMb2FkRmlsdGVyQ29tcG9uZW50TW9kdWxlLFxuICAgICAgICBTaWRlTWVudVNhdmVGaWx0ZXJDb21wb25lbnRNb2R1bGUsXG4gICAgICAgIFNpZGVNZW51TXVsdGlVc2VyQXNzaWduQ29tcG9uZW50TW9kdWxlLFxuICAgICAgICBDYXNlVmlld0NvbXBvbmVudE1vZHVsZSxcbiAgICAgICAgSGVhZGVyQ29tcG9uZW50TW9kdWxlLFxuICAgICAgICBQYW5lbENvbXBvbmVudE1vZHVsZSxcbiAgICAgICAgSG90a2V5TW9kdWxlLmZvclJvb3QoKVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBOQUVfVVNFUl9BU1NJR05fRElBTE9HX0NPTVBPTkVOVCwgdXNlVmFsdWU6IFVzZXJBc3NpZ25EaWFsb2dDb21wb25lbnR9LFxuICAgICAgICB7cHJvdmlkZTogTkFFX0FETUlOX0lNUEVSU09OQVRFX0RJQUxPR19DT01QT05FTlQsIHVzZVZhbHVlOiBBZG1pbkltcGVyc29uYXRlRGlhbG9nQ29tcG9uZW50fSxcbiAgICAgICAge3Byb3ZpZGU6IE5BRV9VU0VSX0lNUEVSU09OQVRFX0RJQUxPR19DT01QT05FTlQsIHVzZVZhbHVlOiBVc2VySW1wZXJzb25hdGVEaWFsb2dDb21wb25lbnR9LFxuICAgICAgICB7cHJvdmlkZTogTkFFX05FV19DQVNFX0RJQUxPR19DT01QT05FTlQsIHVzZVZhbHVlOiBOZXdDYXNlRGlhbG9nQ29tcG9uZW50fSxcbiAgICAgICAge3Byb3ZpZGU6IE5BRV9TQVZFX0ZJTFRFUl9ESUFMT0dfQ09NUE9ORU5ULCB1c2VWYWx1ZTogU2F2ZUZpbHRlckRpYWxvZ0NvbXBvbmVudH0sXG4gICAgICAgIHtwcm92aWRlOiBOQUVfTE9BRF9GSUxURVJfRElBTE9HX0NPTVBPTkVOVCwgdXNlVmFsdWU6IExvYWRGaWx0ZXJEaWFsb2dDb21wb25lbnR9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dDb21wb25lbnRzTW9kdWxlIHtcbn1cbiJdfQ==
@@ -0,0 +1,164 @@
1
+ import { Component, Inject, ViewChild } from '@angular/core';
2
+ import { FilteredArray, FilterType } from '@netgrif/components-core';
3
+ import { FormControl } from '@angular/forms';
4
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@netgrif/components-core";
8
+ import * as i3 from "@angular/material/form-field";
9
+ import * as i4 from "@angular/material/list";
10
+ import * as i5 from "../../side-menu/content-components/filter-selector/filter-selector-list-item/filter-selector-list-item.component";
11
+ import * as i6 from "@angular/material/button";
12
+ import * as i7 from "@angular/flex-layout/flex";
13
+ import * as i8 from "@angular/material/input";
14
+ import * as i9 from "@angular/forms";
15
+ import * as i10 from "@angular/common";
16
+ import * as i11 from "@ngx-translate/core";
17
+ export class FilterSelectorDialogComponent {
18
+ /**
19
+ * Retrieves the {@link Filter} objects from the {@link FilterRepository} and instantiates this component.
20
+ *
21
+ * Filters that are available for selection can be set using the injected data. See {@link FilterSelectorInjectionData}
22
+ * for more information.
23
+ * @param _dialogRef -
24
+ * @param _data
25
+ * @param _filterRepository -
26
+ */
27
+ constructor(_dialogRef, _data, _filterRepository) {
28
+ this._dialogRef = _dialogRef;
29
+ this._data = _data;
30
+ this._filterRepository = _filterRepository;
31
+ /**
32
+ * @ignore
33
+ * Stores the predicate used for filtering of filters with {@linkFilteredArray}.
34
+ * @param item some filter from the list
35
+ * @param searchInput value the user is searching for
36
+ */
37
+ this._filterPredicate = (item, searchInput) => {
38
+ return item.title
39
+ ? item.title.toLocaleLowerCase().includes(searchInput.toLocaleLowerCase())
40
+ : item.id.toLocaleLowerCase().includes(searchInput.toLocaleLowerCase());
41
+ };
42
+ const filterConstraints = this._data;
43
+ let caseFilters = [];
44
+ let taskFilters = [];
45
+ if (filterConstraints && filterConstraints.filterIdsConstraint) {
46
+ const filters = this._filterRepository.getFilters(filterConstraints.filterIdsConstraint);
47
+ filters.forEach(filter => {
48
+ if (filter.type === FilterType.CASE &&
49
+ (!filterConstraints.filterTypeConstraint || filterConstraints.filterTypeConstraint === FilterType.CASE)) {
50
+ caseFilters.push(filter);
51
+ }
52
+ else if (filter.type === FilterType.TASK &&
53
+ (!filterConstraints.filterTypeConstraint || filterConstraints.filterTypeConstraint === FilterType.TASK)) {
54
+ taskFilters.push(filter);
55
+ }
56
+ });
57
+ }
58
+ else {
59
+ if (!filterConstraints ||
60
+ !filterConstraints.filterTypeConstraint ||
61
+ filterConstraints.filterTypeConstraint === FilterType.CASE) {
62
+ caseFilters = this._filterRepository.getFilters(this._filterRepository.getCaseFilterList());
63
+ }
64
+ if (!filterConstraints ||
65
+ !filterConstraints.filterTypeConstraint ||
66
+ filterConstraints.filterTypeConstraint === FilterType.TASK) {
67
+ taskFilters = this._filterRepository.getFilters(this._filterRepository.getTaskFilterList());
68
+ }
69
+ }
70
+ this.caseFilters = new FilteredArray(caseFilters, this._filterPredicate);
71
+ this.taskFilters = new FilteredArray(taskFilters, this._filterPredicate);
72
+ this.searchFormControl = new FormControl();
73
+ this.subValue = this.searchFormControl.valueChanges.subscribe(newValue => this.filterFilters(newValue));
74
+ }
75
+ ngOnDestroy() {
76
+ this.subValue.unsubscribe();
77
+ }
78
+ /**
79
+ * @ignore
80
+ * Changes the currently selected filter and publishes an event about this to the output stream in {@link SideMenuControl}.
81
+ * @param filter the newly selected filter
82
+ */
83
+ filterSelected(filter) {
84
+ this._selectedFilter = filter;
85
+ }
86
+ /**
87
+ * @ignore
88
+ * Closes the side menu and publishes an event with the currently selected filter.
89
+ */
90
+ filterSelectionConfirmed() {
91
+ if (this._selectedFilter !== undefined) {
92
+ this._dialogRef.close({
93
+ opened: false,
94
+ message: 'Selected filter was confirmed',
95
+ data: this._selectedFilter
96
+ });
97
+ }
98
+ }
99
+ /**
100
+ * @ignore
101
+ * Clears selection of task filters and ensures that only one case filter can be selected at once.
102
+ * @param event list change event published byt the material component
103
+ */
104
+ caseFilterSelected(event) {
105
+ if (event.options[0].selected) {
106
+ this.filterSelected(event.options[0].value);
107
+ if (this.taskFilterList) {
108
+ this.taskFilterList.deselectAll();
109
+ }
110
+ // TODO 20.4.2020 - change to [multiple] input attribute on MatSelectionList in HTML,
111
+ // once Covalent supports material 9.1.0 or above
112
+ this.caseFilterList.deselectAll();
113
+ event.options[0].selected = true;
114
+ }
115
+ else {
116
+ this.filterSelected(undefined);
117
+ }
118
+ }
119
+ /**
120
+ * @ignore
121
+ * Clears selection of case filters and ensures that only one task filter can be selected at once.
122
+ * @param event list change event published byt the material component
123
+ */
124
+ taskFilterSelected(event) {
125
+ if (event.options[0].selected) {
126
+ this.filterSelected(event.options[0].value);
127
+ if (this.caseFilterList) {
128
+ this.caseFilterList.deselectAll();
129
+ }
130
+ // TODO 20.4.2020 - change to [multiple] input attribute on MatSelectionList in HTML,
131
+ // once Covalent supports material 9.1.0 or above
132
+ this.taskFilterList.deselectAll();
133
+ event.options[0].selected = true;
134
+ }
135
+ else {
136
+ this.filterSelected(undefined);
137
+ }
138
+ }
139
+ /**
140
+ * @ignore
141
+ * Filters both lists of filters based on user search input.
142
+ * @param newValue user search input value
143
+ */
144
+ filterFilters(newValue) {
145
+ this.caseFilters.filter(newValue);
146
+ this.taskFilters.filter(newValue);
147
+ }
148
+ }
149
+ FilterSelectorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterSelectorDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FilterRepository }], target: i0.ɵɵFactoryTarget.Component });
150
+ FilterSelectorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterSelectorDialogComponent, selector: "nc-filter-selector-dialog", viewQueries: [{ propertyName: "caseFilterList", first: true, predicate: ["caseFilterList"], descendants: true }, { propertyName: "taskFilterList", first: true, predicate: ["taskFilterList"], descendants: true }], ngImport: i0, template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'side-menu.filter-selector.choose-filter' | translate}}\n</div>\n<div mat-dialog-content class=\"filter-selector-root side-menu-root\">\n <div class=\"input-margin netgrif-input\">\n <mat-form-field class=\"full-width-input\" appearance=\"outline\">\n <mat-label>{{'side-menu.filter-selector.search-filter' | translate}}</mat-label>\n <input matInput type=\"text\" [formControl]=\"searchFormControl\">\n </mat-form-field>\n </div>\n <div *ngIf=\"caseFilters.filtered.length > 0\">\n <h4 class=\"header-padding\">{{ 'side-menu.filter-selector.case-filters' | translate}}</h4>\n <mat-selection-list (selectionChange)=\"caseFilterSelected($event)\" #caseFilterList>\n <mat-list-option *ngFor=\"let filter of caseFilters.filtered\" [value]=\"filter\">\n <nc-filter-selector-list-item [filter]=\"filter\"></nc-filter-selector-list-item>\n </mat-list-option>\n </mat-selection-list>\n </div>\n <div *ngIf=\"taskFilters.filtered.length > 0\">\n <h4 class=\"header-padding\">{{ 'side-menu.filter-selector.task-filters' | translate}}</h4>\n <mat-selection-list (selectionChange)=\"taskFilterSelected($event)\" #taskFilterList>\n <mat-list-option *ngFor=\"let filter of taskFilters.filtered\" [value]=\"filter\">\n <nc-filter-selector-list-item [filter]=\"filter\"></nc-filter-selector-list-item>\n </mat-list-option>\n </mat-selection-list>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <button mat-raised-button color=\"primary\" class=\"submit-button-padding\"\n (click)=\"filterSelectionConfirmed()\">{{ 'side-menu.filter-selector.select' | translate }}</button>\n </div>\n</div>\n\n", styles: [".filter-selector-root{width:calc(100% - 8px);margin:0;padding-top:4px;padding-left:4px;padding-right:4px}.header-padding{padding:0 0 0 16px}.submit-button-padding{margin-right:16px}.input-margin{margin-left:16px;margin-right:16px}.full-width-input{display:block;margin:0 auto;width:100%}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "tabIndex", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { type: i4.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { type: i5.FilterSelectorListItemComponent, selector: "nc-filter-selector-list-item" }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i7.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"] }, { type: i7.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"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatLabel, selector: "mat-label" }, { type: i8.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"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i11.TranslatePipe } });
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterSelectorDialogComponent, decorators: [{
152
+ type: Component,
153
+ args: [{ selector: 'nc-filter-selector-dialog', template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'side-menu.filter-selector.choose-filter' | translate}}\n</div>\n<div mat-dialog-content class=\"filter-selector-root side-menu-root\">\n <div class=\"input-margin netgrif-input\">\n <mat-form-field class=\"full-width-input\" appearance=\"outline\">\n <mat-label>{{'side-menu.filter-selector.search-filter' | translate}}</mat-label>\n <input matInput type=\"text\" [formControl]=\"searchFormControl\">\n </mat-form-field>\n </div>\n <div *ngIf=\"caseFilters.filtered.length > 0\">\n <h4 class=\"header-padding\">{{ 'side-menu.filter-selector.case-filters' | translate}}</h4>\n <mat-selection-list (selectionChange)=\"caseFilterSelected($event)\" #caseFilterList>\n <mat-list-option *ngFor=\"let filter of caseFilters.filtered\" [value]=\"filter\">\n <nc-filter-selector-list-item [filter]=\"filter\"></nc-filter-selector-list-item>\n </mat-list-option>\n </mat-selection-list>\n </div>\n <div *ngIf=\"taskFilters.filtered.length > 0\">\n <h4 class=\"header-padding\">{{ 'side-menu.filter-selector.task-filters' | translate}}</h4>\n <mat-selection-list (selectionChange)=\"taskFilterSelected($event)\" #taskFilterList>\n <mat-list-option *ngFor=\"let filter of taskFilters.filtered\" [value]=\"filter\">\n <nc-filter-selector-list-item [filter]=\"filter\"></nc-filter-selector-list-item>\n </mat-list-option>\n </mat-selection-list>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <button mat-raised-button color=\"primary\" class=\"submit-button-padding\"\n (click)=\"filterSelectionConfirmed()\">{{ 'side-menu.filter-selector.select' | translate }}</button>\n </div>\n</div>\n\n", styles: [".filter-selector-root{width:calc(100% - 8px);margin:0;padding-top:4px;padding-left:4px;padding-right:4px}.header-padding{padding:0 0 0 16px}.submit-button-padding{margin-right:16px}.input-margin{margin-left:16px;margin-right:16px}.full-width-input{display:block;margin:0 auto;width:100%}\n"] }]
154
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
155
+ type: Inject,
156
+ args: [MAT_DIALOG_DATA]
157
+ }] }, { type: i2.FilterRepository }]; }, propDecorators: { caseFilterList: [{
158
+ type: ViewChild,
159
+ args: ['caseFilterList']
160
+ }], taskFilterList: [{
161
+ type: ViewChild,
162
+ args: ['taskFilterList']
163
+ }] } });
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9kaWFsb2cvZmlsdGVyLXNlbGVjdG9yLWRpYWxvZy9maWx0ZXItc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9maWx0ZXItc2VsZWN0b3ItZGlhbG9nL2ZpbHRlci1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFDSyxhQUFhLEVBRVEsVUFBVSxFQUUxQyxNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPdkUsTUFBTSxPQUFPLDZCQUE2QjtJQW9EdEM7Ozs7Ozs7O09BUUc7SUFDSCxZQUFzQixVQUF1RCxFQUM5QixLQUE0QixFQUNyRCxpQkFBbUM7UUFGbkMsZUFBVSxHQUFWLFVBQVUsQ0FBNkM7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDckQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQXZCekQ7Ozs7O1dBS0c7UUFDTyxxQkFBZ0IsR0FBRyxDQUFDLElBQVksRUFBRSxXQUFtQixFQUFFLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsS0FBSztnQkFDYixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMs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QUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNwQzthQUFNO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLFFBQWdCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OzJIQTlLUSw2QkFBNkIsOENBOERsQixlQUFlOytHQTlEMUIsNkJBQTZCLHNSQ2pCMUMsKzFEQWdDQTs0RkRmYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsMkJBQTJCOzswQkFrRXRCLE1BQU07MkJBQUMsZUFBZTsyRUE3Qk4sY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBS0UsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEZpbHRlciwgRmlsdGVyZWRBcnJheSxcbiAgICBGaWx0ZXJSZXBvc2l0b3J5LFxuICAgIEZpbHRlclNlbGVjdG9ySW5qZWN0aW9uRGF0YSwgRmlsdGVyVHlwZSxcbiAgICBTaWRlTWVudUluamVjdGlvbkRhdGFcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0U2VsZWN0aW9uTGlzdCwgTWF0U2VsZWN0aW9uTGlzdENoYW5nZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYy1maWx0ZXItc2VsZWN0b3ItZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyU2VsZWN0b3JEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIENhc2UgZmlsdGVycyBib3VuZCB0byBIVE1MXG4gICAgICovXG4gICAgcHVibGljIGNhc2VGaWx0ZXJzOiBGaWx0ZXJlZEFycmF5PEZpbHRlcj47XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFRhc2sgZmlsdGVycyBib3VuZCB0byBodG1sXG4gICAgICovXG4gICAgcHVibGljIHRhc2tGaWx0ZXJzOiBGaWx0ZXJlZEFycmF5PEZpbHRlcj47XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFRhc2sgZmlsdGVycyBib3VuZCB0byBodG1sXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHN1YlZhbHVlOiBTdWJzY3JpcHRpb247XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIGBGb3JtQ29udHJvbGAgZm9yIHRoZSBzZWFyY2ggaW5wdXRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VhcmNoRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIEN1cnJlbnRseSBzZWxlY3RlZCBmaWx0ZXIuIGB1bmRlZmluZWRgIGlmIG5vIGZpbHRlciBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3NlbGVjdGVkRmlsdGVyOiBGaWx0ZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBgbWF0LXNlbGVjdGlvbi1saXN0YCBjb21wb25lbnQsIHRoYXQgaG9sZHMgdGhlIGxpc3Qgb2YgY2FzZSBmaWx0ZXJzLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2Nhc2VGaWx0ZXJMaXN0JykgY2FzZUZpbHRlckxpc3Q6IE1hdFNlbGVjdGlvbkxpc3Q7XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgYG1hdC1zZWxlY3Rpb24tbGlzdGAgY29tcG9uZW50LCB0aGF0IGhvbGRzIHRoZSBsaXN0IG9mIHRhc2sgZmlsdGVycy5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCd0YXNrRmlsdGVyTGlzdCcpIHRhc2tGaWx0ZXJMaXN0OiBNYXRTZWxlY3Rpb25MaXN0O1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFN0b3JlcyB0aGUgcHJlZGljYXRlIHVzZWQgZm9yIGZpbHRlcmluZyBvZiBmaWx0ZXJzIHdpdGgge0BsaW5rRmlsdGVyZWRBcnJheX0uXG4gICAgICogQHBhcmFtIGl0ZW0gc29tZSBmaWx0ZXIgZnJvbSB0aGUgbGlzdFxuICAgICAqIEBwYXJhbSBzZWFyY2hJbnB1dCB2YWx1ZSB0aGUgdXNlciBpcyBzZWFyY2hpbmcgZm9yXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9maWx0ZXJQcmVkaWNhdGUgPSAoaXRlbTogRmlsdGVyLCBzZWFyY2hJbnB1dDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnRpdGxlXG4gICAgICAgICAgICA/IGl0ZW0udGl0bGUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hJbnB1dC50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgOiBpdGVtLmlkLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoSW5wdXQudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSB7QGxpbmsgRmlsdGVyfSBvYmplY3RzIGZyb20gdGhlIHtAbGluayBGaWx0ZXJSZXBvc2l0b3J5fSBhbmQgaW5zdGFudGlhdGVzIHRoaXMgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogRmlsdGVycyB0aGF0IGFyZSBhdmFpbGFibGUgZm9yIHNlbGVjdGlvbiBjYW4gYmUgc2V0IHVzaW5nIHRoZSBpbmplY3RlZCBkYXRhLiBTZWUge0BsaW5rIEZpbHRlclNlbGVjdG9ySW5qZWN0aW9uRGF0YX1cbiAgICAgKiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICAgKiBAcGFyYW0gX2RpYWxvZ1JlZiAtXG4gICAgICogQHBhcmFtIF9kYXRhXG4gICAgICogQHBhcmFtIF9maWx0ZXJSZXBvc2l0b3J5IC1cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEZpbHRlclNlbGVjdG9yRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJvdGVjdGVkIF9kYXRhOiBTaWRlTWVudUluamVjdGlvbkRhdGEsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9maWx0ZXJSZXBvc2l0b3J5OiBGaWx0ZXJSZXBvc2l0b3J5KSB7XG4gICAgICAgIGNvbnN0IGZpbHRlckNvbnN0cmFpbnRzID0gdGhpcy5fZGF0YSBhcyBGaWx0ZXJTZWxlY3RvckluamVjdGlvbkRhdGE7XG5cbiAgICAgICAgbGV0IGNhc2VGaWx0ZXJzID0gW107XG4gICAgICAgIGxldCB0YXNrRmlsdGVycyA9IFtdO1xuICAgICAgICBpZiAoZmlsdGVyQ29uc3RyYWludHMgJiYgZmlsdGVyQ29uc3RyYWludHMuZmlsdGVySWRzQ29uc3RyYWludCkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVycyA9IHRoaXMuX2ZpbHRlclJlcG9zaXRvcnkuZ2V0RmlsdGVycyhmaWx0ZXJDb25zdHJhaW50cy5maWx0ZXJJZHNDb25zdHJhaW50KTtcbiAgICAgICAgICAgIGZpbHRlcnMuZm9yRWFjaChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gRmlsdGVyVHlwZS5DQVNFICYmXG4gICAgICAgICAgICAgICAgICAgICghZmlsdGVyQ29uc3RyYWludHMuZmlsdGVyVHlwZUNvbnN0cmFpbnQgfHwgZmlsdGVyQ29uc3RyYWludHMuZmlsdGVyVHlwZUNvbnN0cmFpbnQgPT09IEZpbHRlclR5cGUuQ0FTRSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZUZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLnR5cGUgPT09IEZpbHRlclR5cGUuVEFTSyAmJlxuICAgICAgICAgICAgICAgICAgICAoIWZpbHRlckNvbnN0cmFpbnRzLmZpbHRlclR5cGVDb25zdHJhaW50IHx8IGZpbHRlckNvbnN0cmFpbnRzLmZpbHRlclR5cGVDb25zdHJhaW50ID09PSBGaWx0ZXJUeXBlLlRBU0spKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhc2tGaWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghZmlsdGVyQ29uc3RyYWludHMgfHxcbiAgICAgICAgICAgICAgICAhZmlsdGVyQ29uc3RyYWludHMuZmlsdGVyVHlwZUNvbnN0cmFpbnQgfHxcbiAgICAgICAgICAgICAgICBmaWx0ZXJDb25zdHJhaW50cy5maWx0ZXJUeXBlQ29uc3RyYWludCA9PT0gRmlsdGVyVHlwZS5DQVNFKSB7XG4gICAgICAgICAgICAgICAgY2FzZUZpbHRlcnMgPSB0aGlzLl9maWx0ZXJSZXBvc2l0b3J5LmdldEZpbHRlcnModGhpcy5fZmlsdGVyUmVwb3NpdG9yeS5nZXRDYXNlRmlsdGVyTGlzdCgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghZmlsdGVyQ29uc3RyYWludHMgfHxcbiAgICAgICAgICAgICAgICAhZmlsdGVyQ29uc3RyYWludHMuZmlsdGVyVHlwZUNvbnN0cmFpbnQgfHxcbiAgICAgICAgICAgICAgICBmaWx0ZXJDb25zdHJhaW50cy5maWx0ZXJUeXBlQ29uc3RyYWludCA9PT0gRmlsdGVyVHlwZS5UQVNLKSB7XG4gICAgICAgICAgICAgICAgdGFza0ZpbHRlcnMgPSB0aGlzLl9maWx0ZXJSZXBvc2l0b3J5LmdldEZpbHRlcnModGhpcy5fZmlsdGVyUmVwb3NpdG9yeS5nZXRUYXNrRmlsdGVyTGlzdCgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2FzZUZpbHRlcnMgPSBuZXcgRmlsdGVyZWRBcnJheTxGaWx0ZXI+KGNhc2VGaWx0ZXJzLCB0aGlzLl9maWx0ZXJQcmVkaWNhdGUpO1xuICAgICAgICB0aGlzLnRhc2tGaWx0ZXJzID0gbmV3IEZpbHRlcmVkQXJyYXk8RmlsdGVyPih0YXNrRmlsdGVycywgdGhpcy5fZmlsdGVyUHJlZGljYXRlKTtcblxuICAgICAgICB0aGlzLnNlYXJjaEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgICAgIHRoaXMuc3ViVmFsdWUgPSB0aGlzLnNlYXJjaEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUobmV3VmFsdWUgPT4gdGhpcy5maWx0ZXJGaWx0ZXJzKG5ld1ZhbHVlKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3ViVmFsdWUudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogQ2hhbmdlcyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGZpbHRlciBhbmQgcHVibGlzaGVzIGFuIGV2ZW50IGFib3V0IHRoaXMgdG8gdGhlIG91dHB1dCBzdHJlYW0gaW4ge0BsaW5rIFNpZGVNZW51Q29udHJvbH0uXG4gICAgICogQHBhcmFtIGZpbHRlciB0aGUgbmV3bHkgc2VsZWN0ZWQgZmlsdGVyXG4gICAgICovXG4gICAgcHVibGljIGZpbHRlclNlbGVjdGVkKGZpbHRlcjogRmlsdGVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRmlsdGVyID0gZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBDbG9zZXMgdGhlIHNpZGUgbWVudSBhbmQgcHVibGlzaGVzIGFuIGV2ZW50IHdpdGggdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmaWx0ZXIuXG4gICAgICovXG4gICAgcHVibGljIGZpbHRlclNlbGVjdGlvbkNvbmZpcm1lZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkRmlsdGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAnU2VsZWN0ZWQgZmlsdGVyIHdhcyBjb25maXJtZWQnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHRoaXMuX3NlbGVjdGVkRmlsdGVyXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBDbGVhcnMgc2VsZWN0aW9uIG9mIHRhc2sgZmlsdGVycyBhbmQgZW5zdXJlcyB0aGF0IG9ubHkgb25lIGNhc2UgZmlsdGVyIGNhbiBiZSBzZWxlY3RlZCBhdCBvbmNlLlxuICAgICAqIEBwYXJhbSBldmVudCBsaXN0IGNoYW5nZSBldmVudCBwdWJsaXNoZWQgYnl0IHRoZSBtYXRlcmlhbCBjb21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FzZUZpbHRlclNlbGVjdGVkKGV2ZW50OiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5vcHRpb25zWzBdLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkKGV2ZW50Lm9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgICAgICAgaWYgKHRoaXMudGFza0ZpbHRlckxpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhc2tGaWx0ZXJMaXN0LmRlc2VsZWN0QWxsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUT0RPIDIwLjQuMjAyMCAtIGNoYW5nZSB0byBbbXVsdGlwbGVdIGlucHV0IGF0dHJpYnV0ZSBvbiBNYXRTZWxlY3Rpb25MaXN0IGluIEhUTUwsXG4gICAgICAgICAgICAvLyAgb25jZSBDb3ZhbGVudCBzdXBwb3J0cyBtYXRlcmlhbCA5LjEuMCBvciBhYm92ZVxuICAgICAgICAgICAgdGhpcy5jYXNlRmlsdGVyTGlzdC5kZXNlbGVjdEFsbCgpO1xuICAgICAgICAgICAgZXZlbnQub3B0aW9uc1swXS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogQ2xlYXJzIHNlbGVjdGlvbiBvZiBjYXNlIGZpbHRlcnMgYW5kIGVuc3VyZXMgdGhhdCBvbmx5IG9uZSB0YXNrIGZpbHRlciBjYW4gYmUgc2VsZWN0ZWQgYXQgb25jZS5cbiAgICAgKiBAcGFyYW0gZXZlbnQgbGlzdCBjaGFuZ2UgZXZlbnQgcHVibGlzaGVkIGJ5dCB0aGUgbWF0ZXJpYWwgY29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIHRhc2tGaWx0ZXJTZWxlY3RlZChldmVudDogTWF0U2VsZWN0aW9uTGlzdENoYW5nZSk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQub3B0aW9uc1swXS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZChldmVudC5vcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNhc2VGaWx0ZXJMaXN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXNlRmlsdGVyTGlzdC5kZXNlbGVjdEFsbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVE9ETyAyMC40LjIwMjAgLSBjaGFuZ2UgdG8gW211bHRpcGxlXSBpbnB1dCBhdHRyaWJ1dGUgb24gTWF0U2VsZWN0aW9uTGlzdCBpbiBIVE1MLFxuICAgICAgICAgICAgLy8gIG9uY2UgQ292YWxlbnQgc3VwcG9ydHMgbWF0ZXJpYWwgOS4xLjAgb3IgYWJvdmVcbiAgICAgICAgICAgIHRoaXMudGFza0ZpbHRlckxpc3QuZGVzZWxlY3RBbGwoKTtcbiAgICAgICAgICAgIGV2ZW50Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZCh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIEZpbHRlcnMgYm90aCBsaXN0cyBvZiBmaWx0ZXJzIGJhc2VkIG9uIHVzZXIgc2VhcmNoIGlucHV0LlxuICAgICAqIEBwYXJhbSBuZXdWYWx1ZSB1c2VyIHNlYXJjaCBpbnB1dCB2YWx1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBmaWx0ZXJGaWx0ZXJzKG5ld1ZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXNlRmlsdGVycy5maWx0ZXIobmV3VmFsdWUpO1xuICAgICAgICB0aGlzLnRhc2tGaWx0ZXJzLmZpbHRlcihuZXdWYWx1ZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC1kaWFsb2ctdGl0bGVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgbm9uZVwiPlxuICAgIHt7ICdzaWRlLW1lbnUuZmlsdGVyLXNlbGVjdG9yLmNob29zZS1maWx0ZXInIHwgdHJhbnNsYXRlfX1cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJmaWx0ZXItc2VsZWN0b3Itcm9vdCBzaWRlLW1lbnUtcm9vdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1tYXJnaW4gbmV0Z3JpZi1pbnB1dFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmdWxsLXdpZHRoLWlucHV0XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3snc2lkZS1tZW51LmZpbHRlci1zZWxlY3Rvci5zZWFyY2gtZmlsdGVyJyB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoRm9ybUNvbnRyb2xcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY2FzZUZpbHRlcnMuZmlsdGVyZWQubGVuZ3RoID4gMFwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJoZWFkZXItcGFkZGluZ1wiPnt7ICdzaWRlLW1lbnUuZmlsdGVyLXNlbGVjdG9yLmNhc2UtZmlsdGVycycgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgKHNlbGVjdGlvbkNoYW5nZSk9XCJjYXNlRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiICNjYXNlRmlsdGVyTGlzdD5cbiAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBjYXNlRmlsdGVycy5maWx0ZXJlZFwiIFt2YWx1ZV09XCJmaWx0ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmMtZmlsdGVyLXNlbGVjdG9yLWxpc3QtaXRlbSBbZmlsdGVyXT1cImZpbHRlclwiPjwvbmMtZmlsdGVyLXNlbGVjdG9yLWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidGFza0ZpbHRlcnMuZmlsdGVyZWQubGVuZ3RoID4gMFwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJoZWFkZXItcGFkZGluZ1wiPnt7ICdzaWRlLW1lbnUuZmlsdGVyLXNlbGVjdG9yLnRhc2stZmlsdGVycycgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgKHNlbGVjdGlvbkNoYW5nZSk9XCJ0YXNrRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiICN0YXNrRmlsdGVyTGlzdD5cbiAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiB0YXNrRmlsdGVycy5maWx0ZXJlZFwiIFt2YWx1ZV09XCJmaWx0ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmMtZmlsdGVyLXNlbGVjdG9yLWxpc3QtaXRlbSBbZmlsdGVyXT1cImZpbHRlclwiPjwvbmMtZmlsdGVyLXNlbGVjdG9yLWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cInN1Ym1pdC1idXR0b24tcGFkZGluZ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlclNlbGVjdGlvbkNvbmZpcm1lZCgpXCI+e3sgJ3NpZGUtbWVudS5maWx0ZXItc2VsZWN0b3Iuc2VsZWN0JyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==