@netgrif/components 6.4.0-rc.8 → 7.0.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 (643) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/admin/admin.module.mjs +33 -0
  3. package/esm2022/lib/admin/ldap-group-role-assignment/ldap-group-role-assignment.component.mjs +40 -0
  4. package/esm2022/lib/admin/role-assignment/role-assignment.component.mjs +42 -0
  5. package/esm2022/lib/admin/user-invite/user-invite.component.mjs +39 -0
  6. package/esm2022/lib/authentication/auth.module.mjs +38 -0
  7. package/esm2022/lib/authentication/authentication-overlay/authentication-overlay.component.mjs +27 -0
  8. package/esm2022/lib/authentication/session-idle/popup-session-idle/popup-session-idle.component.mjs +26 -0
  9. package/esm2022/lib/authentication/session-idle/session-idle.component.mjs +40 -0
  10. package/esm2022/lib/dashboard/cards/barchart-card/barchart-card.component.mjs +45 -0
  11. package/esm2022/lib/dashboard/cards/count-card/count-card.component.mjs +21 -0
  12. package/esm2022/lib/dashboard/cards/iframe-card/iframe-card.component.mjs +20 -0
  13. package/esm2022/lib/dashboard/cards/lineargauge-card/linear-gauge-card.component.mjs +42 -0
  14. package/esm2022/lib/dashboard/cards/linechart-card/line-chart-card.component.mjs +54 -0
  15. package/esm2022/lib/dashboard/cards/piechart-card/pie-chart-card.component.mjs +47 -0
  16. package/esm2022/lib/dashboard/cards/portal-card/portal-card.component.mjs +43 -0
  17. package/esm2022/lib/dashboard/dashboard-content/dashboard-content.component.mjs +27 -0
  18. package/esm2022/lib/dashboard/dashboard.module.mjs +77 -0
  19. package/{esm2020 → esm2022}/lib/data-fields/boolean-field/boolean-default-field/boolean-default-field.component.mjs +13 -13
  20. package/{esm2020 → esm2022}/lib/data-fields/boolean-field/boolean-field.component.mjs +9 -9
  21. package/esm2022/lib/data-fields/button-field/button-default-field/button-default-field.component.mjs +45 -0
  22. package/esm2022/lib/data-fields/button-field/button-field.component.mjs +27 -0
  23. package/{esm2020 → esm2022}/lib/data-fields/case-ref-field/case-ref-default/case-ref-default.component.mjs +7 -7
  24. package/esm2022/lib/data-fields/data-field-template/data-field-template.component.mjs +26 -0
  25. package/{esm2020 → esm2022}/lib/data-fields/data-fields.module.mjs +92 -94
  26. package/esm2022/lib/data-fields/date-field/date-default-field/date-default-field.component.mjs +39 -0
  27. package/{esm2020 → esm2022}/lib/data-fields/date-field/date-field.component.mjs +11 -11
  28. package/esm2022/lib/data-fields/date-time-field/date-time-default-field/date-time-default-field.component.mjs +40 -0
  29. package/{esm2020 → esm2022}/lib/data-fields/date-time-field/date-time-field.component.mjs +11 -11
  30. package/esm2022/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/enumeration-autocomplete-dynamic-field.component.mjs +32 -0
  31. package/esm2022/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-select-field.component.mjs +30 -0
  32. package/{esm2020 → esm2022}/lib/data-fields/enumeration-field/enumeration-caseref-field/enumeration-caseref-field.component.mjs +7 -7
  33. package/{esm2020 → esm2022}/lib/data-fields/enumeration-field/enumeration-field.component.mjs +9 -9
  34. package/{esm2020 → esm2022}/lib/data-fields/enumeration-field/enumeration-icon-field/enumeration-icon-field.component.mjs +13 -13
  35. package/{esm2020 → esm2022}/lib/data-fields/enumeration-field/enumeration-list-field/enumeration-list-field.component.mjs +13 -13
  36. package/{esm2020 → esm2022}/lib/data-fields/enumeration-field/enumeration-select-field/enumeration-select-field.component.mjs +11 -11
  37. package/esm2022/lib/data-fields/enumeration-field/enumeration-stepper-field/enumeration-stepper-field.component.mjs +29 -0
  38. package/esm2022/lib/data-fields/file-field/file-default-field/file-default-field.component.mjs +52 -0
  39. package/{esm2020 → esm2022}/lib/data-fields/file-field/file-field.component.mjs +9 -9
  40. package/esm2022/lib/data-fields/file-field/preview-dialog/preview-dialog.component.mjs +35 -0
  41. package/esm2022/lib/data-fields/file-list-field/file-list-default-field/file-list-default-field.component.mjs +32 -0
  42. package/{esm2020 → esm2022}/lib/data-fields/file-list-field/file-list-field.component.mjs +9 -9
  43. package/{esm2020 → esm2022}/lib/data-fields/filter-field/filter-default-field/filter-default-field.component.mjs +7 -7
  44. package/{esm2020 → esm2022}/lib/data-fields/filter-field/filter-field-content/filter-field-content.component.mjs +15 -15
  45. package/{esm2020 → esm2022}/lib/data-fields/filter-field/filter-field.component.mjs +9 -9
  46. package/{esm2020 → esm2022}/lib/data-fields/filter-field/tab-view-filter-field/filter-field-tab-view-content.component.mjs +13 -13
  47. package/esm2022/lib/data-fields/i18n-field/i18n-divider-field/i18n-divider-field.component.mjs +23 -0
  48. package/{esm2020 → esm2022}/lib/data-fields/i18n-field/i18n-field.component.mjs +8 -8
  49. package/esm2022/lib/data-fields/i18n-field/i18n-text-field/i18n-text-field.component.mjs +65 -0
  50. package/esm2022/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-field.component.mjs +30 -0
  51. package/{esm2020 → esm2022}/lib/data-fields/multichoice-field/multichoice-caseref-field/multichoice-caseref-field.component.mjs +7 -7
  52. package/{esm2020 → esm2022}/lib/data-fields/multichoice-field/multichoice-field.component.mjs +9 -9
  53. package/{esm2020 → esm2022}/lib/data-fields/multichoice-field/multichoice-list-field/multichoice-list-field.component.mjs +13 -13
  54. package/{esm2020 → esm2022}/lib/data-fields/multichoice-field/multichoice-select-field/multichoice-select-field.component.mjs +11 -11
  55. package/esm2022/lib/data-fields/number-field/number-currency-field/number-currency-field.component.mjs +37 -0
  56. package/esm2022/lib/data-fields/number-field/number-decimal-field/number-decimal-field.component.mjs +38 -0
  57. package/{esm2020 → esm2022}/lib/data-fields/number-field/number-default-field/number-default-field.component.mjs +10 -10
  58. package/{esm2020 → esm2022}/lib/data-fields/number-field/number-field.component.mjs +8 -8
  59. package/esm2022/lib/data-fields/required-label/required-label.component.mjs +18 -0
  60. package/esm2022/lib/data-fields/string-collection-field/string-collection-default-field/string-collection-default-field.component.mjs +30 -0
  61. package/esm2022/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-field.component.mjs +39 -0
  62. package/esm2022/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/task-ref-dashboard-tile.component.mjs +62 -0
  63. package/esm2022/lib/data-fields/task-ref-field/task-ref-field.component.mjs +28 -0
  64. package/{esm2020 → esm2022}/lib/data-fields/task-ref-field/task-ref-list-field/task-ref-list-field.component.mjs +7 -7
  65. package/{esm2020 → esm2022}/lib/data-fields/text-field/dashboard-bar-chart-text-field/dashboard-bar-chart-text-field.component.mjs +8 -8
  66. package/{esm2020 → esm2022}/lib/data-fields/text-field/dashboard-iframe-text-field/dashboard-iframe-text-field.component.mjs +8 -8
  67. package/{esm2020 → esm2022}/lib/data-fields/text-field/dashboard-line-chart-text-field/dashboard-line-chart-text-field.component.mjs +8 -8
  68. package/{esm2020 → esm2022}/lib/data-fields/text-field/dashboard-pie-chart-text-field/dashboard-pie-chart-text-field.component.mjs +8 -8
  69. package/esm2022/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-text-field.component.mjs +45 -0
  70. package/esm2022/lib/data-fields/text-field/html-textarea-field/html-textarea-field.component.mjs +38 -0
  71. package/esm2022/lib/data-fields/text-field/password-text-field/password-text-field.component.mjs +32 -0
  72. package/esm2022/lib/data-fields/text-field/rich-textarea-field/easymde-wrapper/easymde-wrapper.component.mjs +90 -0
  73. package/esm2022/lib/data-fields/text-field/rich-textarea-field/rich-textarea-field.component.mjs +29 -0
  74. package/esm2022/lib/data-fields/text-field/signature-pad-field/signature-pad-field.component.mjs +105 -0
  75. package/esm2022/lib/data-fields/text-field/simple-text-field/simple-text-field.component.mjs +28 -0
  76. package/{esm2020 → esm2022}/lib/data-fields/text-field/text-field.component.mjs +8 -8
  77. package/esm2022/lib/data-fields/text-field/textarea-field/textarea-field.component.mjs +31 -0
  78. package/esm2022/lib/data-fields/user-field/user-default-field/user-default-field.component.mjs +35 -0
  79. package/esm2022/lib/data-fields/user-field/user-field.component.mjs +25 -0
  80. package/esm2022/lib/data-fields/user-list-field/user-list-default-field/user-list-default-field.component.mjs +38 -0
  81. package/{esm2020 → esm2022}/lib/data-fields/user-list-field/user-list-field.component.mjs +9 -9
  82. package/esm2022/lib/dialog/admin-impersonate-dialog/admin-impersonate-dialog.component.mjs +87 -0
  83. package/esm2022/lib/dialog/dialog.module.mjs +175 -0
  84. package/esm2022/lib/dialog/filter-selector-dialog/filter-selector-dialog.component.mjs +200 -0
  85. package/esm2022/lib/dialog/import-net-dialog/import-net-dialog.component.mjs +160 -0
  86. package/esm2022/lib/dialog/load-filter-dialog/load-filter-dialog.component.mjs +103 -0
  87. package/esm2022/lib/dialog/multi-user-assign-dialog/multi-user-assign-dialog.component.mjs +76 -0
  88. package/esm2022/lib/dialog/new-case-dialog/new-case-dialog.component.mjs +272 -0
  89. package/esm2022/lib/dialog/save-filter-dialog/save-filter-dialog.component.mjs +88 -0
  90. package/esm2022/lib/dialog/task-view-dialog/task-view-dialog.component.mjs +97 -0
  91. package/esm2022/lib/dialog/user-assign-dialog/user-assign-dialog.component.mjs +83 -0
  92. package/esm2022/lib/dialog/user-impersonate-dialog/user-impersonate-dialog.component.mjs +102 -0
  93. package/esm2022/lib/filter-field-content/filter-field-content.module.mjs +62 -0
  94. package/{esm2020 → esm2022}/lib/filter-field-content/filter-field-tab-view/filter-field-tab-view.component.mjs +7 -7
  95. package/esm2022/lib/filter-field-content/filter-field-tabbed-case-view/filter-field-tabbed-case-view.component.mjs +70 -0
  96. package/esm2022/lib/filter-field-content/filter-field-tabbed-task-view/filter-field-tabbed-task-view.component.mjs +76 -0
  97. package/esm2022/lib/forms/change-password/change-password-form.component.mjs +44 -0
  98. package/esm2022/lib/forms/change-password/change-password-form.component.module.mjs +38 -0
  99. package/esm2022/lib/forms/email-submission/email-submission-form.component.mjs +25 -0
  100. package/esm2022/lib/forms/email-submission/email-submission-form.module.mjs +39 -0
  101. package/esm2022/lib/forms/forgotten-password/forgotten-password-form-component.module.mjs +35 -0
  102. package/esm2022/lib/forms/forgotten-password/forgotten-password-form.component.mjs +30 -0
  103. package/esm2022/lib/forms/login/login-form.component.mjs +27 -0
  104. package/esm2022/lib/forms/login/login-form.module.mjs +35 -0
  105. package/esm2022/lib/forms/registration/registration-form.component.mjs +31 -0
  106. package/esm2022/lib/forms/registration/registration-form.module.mjs +39 -0
  107. package/esm2022/lib/header/header-modes/edit-mode/edit-mode.component.mjs +34 -0
  108. package/esm2022/lib/header/header-modes/loading-mode/loading-mode.component.mjs +18 -0
  109. package/esm2022/lib/header/header-modes/search-mode/search-mode.component.mjs +46 -0
  110. package/esm2022/lib/header/header-modes/sort-mode/sort-mode.component.mjs +26 -0
  111. package/esm2022/lib/header/header.component.mjs +88 -0
  112. package/esm2022/lib/header/header.module.mjs +66 -0
  113. package/{esm2020 → esm2022}/lib/legal/legal-notice/legal-notice.component.mjs +5 -5
  114. package/esm2022/lib/legal/legal-notice/legal-notice.module.mjs +24 -0
  115. package/esm2022/lib/navigation/breadcrumbs/breadcrumbs.component.mjs +21 -0
  116. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.mjs +138 -0
  117. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/default-no-filter-provided/default-no-filter-provided.component.mjs +14 -0
  118. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/default-simple-task-view/default-simple-task-view.component.mjs +80 -0
  119. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/default-tab-view/default-tab-view.component.mjs +154 -0
  120. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.mjs +187 -0
  121. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-task-view/default-tabbed-task-view.component.mjs +120 -0
  122. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/default-task-view/default-task-view.component.mjs +64 -0
  123. package/esm2022/lib/navigation/group-navigation-component-resolver/default-group-navigation-component-resolver.service.mjs +75 -0
  124. package/{esm2020 → esm2022}/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.component.mjs +10 -10
  125. package/esm2022/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +89 -0
  126. package/esm2022/lib/navigation/navigation-drawer/navigation-drawer.component.mjs +34 -0
  127. package/{esm2020 → esm2022}/lib/navigation/navigation-rail/navigation-rail.component.mjs +9 -9
  128. package/{esm2020 → esm2022}/lib/navigation/navigation-tree/navigation-tree.component.mjs +12 -12
  129. package/esm2022/lib/navigation/navigation.module.mjs +150 -0
  130. package/esm2022/lib/navigation/quick-panel/components/impersonate-quick-panel/impersonate-quick-panel.component.mjs +34 -0
  131. package/{esm2020 → esm2022}/lib/navigation/quick-panel/components/internal-link/internal-link.component.mjs +8 -8
  132. package/esm2022/lib/navigation/quick-panel/components/language-selector/language-selector.component.mjs +25 -0
  133. package/esm2022/lib/navigation/quick-panel/components/logout-shortcut/logout-shortcut.component.mjs +27 -0
  134. package/esm2022/lib/navigation/quick-panel/components/quick-panel.component.mjs +29 -0
  135. package/esm2022/lib/navigation/quick-panel/quick-panel.module.mjs +55 -0
  136. package/esm2022/lib/panel/case-panel/case-panel.component.mjs +102 -0
  137. package/{esm2020 → esm2022}/lib/panel/immediate/immediate-filter-text/immediate-filter-text.component.mjs +6 -6
  138. package/{esm2020 → esm2022}/lib/panel/immediate/immediate-filter-text-content/immediate-filter-text-content.component.mjs +16 -16
  139. package/esm2022/lib/panel/panel-item/panel-item.component.mjs +22 -0
  140. package/esm2022/lib/panel/panel.component.mjs +20 -0
  141. package/esm2022/lib/panel/panel.module.mjs +112 -0
  142. package/esm2022/lib/panel/public-workflow-panel/public-workflow-panel.component.mjs +24 -0
  143. package/esm2022/lib/panel/task-panel/task-panel.component.mjs +145 -0
  144. package/esm2022/lib/panel/task-panel-list/task-list.component.mjs +37 -0
  145. package/esm2022/lib/panel/task-panel-list-pagination/task-list-pagination.component.mjs +38 -0
  146. package/esm2022/lib/panel/task-panel-single/single-task.component.mjs +33 -0
  147. package/{esm2020 → esm2022}/lib/panel/workflow-panel/workflow-panel.component.mjs +13 -13
  148. package/esm2022/lib/routing/redirect/redirect.component.mjs +22 -0
  149. package/esm2022/lib/routing/redirect.module.mjs +17 -0
  150. package/{esm2020 → esm2022}/lib/search/advanced-search/advanced-search-component/advanced-search.component.mjs +10 -10
  151. package/esm2022/lib/search/advanced-search/advanced-search.module.mjs +55 -0
  152. package/esm2022/lib/search/advanced-search/search-clause-component/search-clause.component.mjs +20 -0
  153. package/esm2022/lib/search/advanced-search/search-configuration-input-component/search-configuration-input.component.mjs +31 -0
  154. package/esm2022/lib/search/advanced-search/search-operand-input-component/search-operand-input.component.mjs +36 -0
  155. package/esm2022/lib/search/advanced-search/search-predicate-component/search-predicate.component.mjs +29 -0
  156. package/esm2022/lib/search/fulltext-search-component/fulltext-search.component.mjs +22 -0
  157. package/{esm2020 → esm2022}/lib/search/search-component/case-search/case-search.component.mjs +8 -8
  158. package/esm2022/lib/search/search-component/search.component.mjs +108 -0
  159. package/{esm2020 → esm2022}/lib/search/search-component/task-search/task-search.component.mjs +8 -8
  160. package/esm2022/lib/search/search.module.mjs +64 -0
  161. package/esm2022/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-item/admin-impersonate-item.component.mjs +22 -0
  162. package/{esm2020 → esm2022}/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-list.component.mjs +10 -10
  163. package/esm2022/lib/side-menu/content-components/admin-impersonate/admin-impersonate.component.mjs +40 -0
  164. package/esm2022/lib/side-menu/content-components/admin-impersonate/side-menu-admin-impersonate-component.module.mjs +58 -0
  165. package/{esm2020 → esm2022}/lib/side-menu/content-components/filter-selector/filter-selector-list-item/filter-selector-list-item.component.mjs +6 -6
  166. package/esm2022/lib/side-menu/content-components/filter-selector/filter-selector.component.mjs +55 -0
  167. package/esm2022/lib/side-menu/content-components/filter-selector/side-menu-filter-selector-component.module.mjs +40 -0
  168. package/esm2022/lib/side-menu/content-components/import-net/import-net.component.mjs +61 -0
  169. package/esm2022/lib/side-menu/content-components/import-net/side-menu-import-net-component.module.mjs +48 -0
  170. package/esm2022/lib/side-menu/content-components/load-filter/load-filter.component.mjs +68 -0
  171. package/esm2022/lib/side-menu/content-components/load-filter/side-menu-load-filter-component.module.mjs +40 -0
  172. package/esm2022/lib/side-menu/content-components/multi-user-assign/multi-user-assign-list/multi-user-assign-item/multi-user-assign-item.component.mjs +20 -0
  173. package/esm2022/lib/side-menu/content-components/multi-user-assign/multi-user-assign-list/multi-user-assign-list.component.mjs +25 -0
  174. package/esm2022/lib/side-menu/content-components/multi-user-assign/multi-user-assign.component.mjs +34 -0
  175. package/esm2022/lib/side-menu/content-components/multi-user-assign/side-menu-multi-user-assign-component.module.mjs +61 -0
  176. package/esm2022/lib/side-menu/content-components/new-case/new-case.component.mjs +51 -0
  177. package/esm2022/lib/side-menu/content-components/new-case/side-menu-new-case-component.module.mjs +55 -0
  178. package/esm2022/lib/side-menu/content-components/option-selector/option-selector.component.mjs +34 -0
  179. package/esm2022/lib/side-menu/content-components/option-selector/side-menu-option-selector-component.module.mjs +40 -0
  180. package/esm2022/lib/side-menu/content-components/save-filter/save-filter.component.mjs +61 -0
  181. package/esm2022/lib/side-menu/content-components/save-filter/side-menu-save-filter-component.module.mjs +36 -0
  182. package/esm2022/lib/side-menu/content-components/side-menu-content-component.module.mjs +118 -0
  183. package/esm2022/lib/side-menu/content-components/user-assign/side-menu-user-assign-component.module.mjs +61 -0
  184. package/esm2022/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/user-assign-item.component.mjs +22 -0
  185. package/esm2022/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-list.component.mjs +28 -0
  186. package/esm2022/lib/side-menu/content-components/user-assign/user-assign.component.mjs +38 -0
  187. package/esm2022/lib/side-menu/content-components/user-impersonate/side-menu-user-impersonate-component.module.mjs +40 -0
  188. package/esm2022/lib/side-menu/content-components/user-impersonate/user-impersonate.component.mjs +76 -0
  189. package/esm2022/lib/side-menu/side-menu-container/side-menu-container.component.mjs +24 -0
  190. package/esm2022/lib/side-menu/side-menu.module.mjs +40 -0
  191. package/{esm2020 → esm2022}/lib/tabs/tab-creation-detector/tab-creation-detector.component.mjs +6 -6
  192. package/esm2022/lib/tabs/tab-view/tab-view.component.mjs +35 -0
  193. package/esm2022/lib/tabs/tabs.module.mjs +44 -0
  194. package/esm2022/lib/task-content/field-component-resolver/field-component-resolver.component.mjs +40 -0
  195. package/esm2022/lib/task-content/task-content/task-content.component.mjs +42 -0
  196. package/esm2022/lib/task-content/task-content.module.mjs +45 -0
  197. package/esm2022/lib/toolbar/toolbar.component.mjs +28 -0
  198. package/esm2022/lib/toolbar/toolbar.module.mjs +33 -0
  199. package/esm2022/lib/user/profile/profile.component.mjs +26 -0
  200. package/esm2022/lib/user/profile/profile.module.mjs +33 -0
  201. package/esm2022/lib/user/user-card/user-card.component.mjs +24 -0
  202. package/esm2022/lib/user/user.module.mjs +33 -0
  203. package/esm2022/lib/view/case-view/case-view.module.mjs +37 -0
  204. package/esm2022/lib/view/case-view/components/case-list/case-list.component.mjs +37 -0
  205. package/esm2022/lib/view/case-view/components/case-list-paginator/case-list-paginator.component.mjs +41 -0
  206. package/esm2022/lib/view/case-view/components/create-case-button/create-case-button.component.mjs +70 -0
  207. package/esm2022/lib/view/tree-case-view/tree-case-view.module.mjs +58 -0
  208. package/esm2022/lib/view/tree-case-view/tree-component/add-child-node/add-child-node.component.mjs +23 -0
  209. package/esm2022/lib/view/tree-case-view/tree-component/remove-node/remove-node.component.mjs +22 -0
  210. package/esm2022/lib/view/tree-case-view/tree-component/tree.component.mjs +28 -0
  211. package/esm2022/lib/view/tree-case-view/tree-task-content/tree-task-content.component.mjs +66 -0
  212. package/esm2022/lib/view/workflow-view/workflow-view.component.mjs +39 -0
  213. package/esm2022/lib/view/workflow-view.module.mjs +51 -0
  214. package/fesm2022/netgrif-components.mjs +8038 -0
  215. package/fesm2022/netgrif-components.mjs.map +1 -0
  216. package/lib/admin/ldap-group-role-assignment/ldap-group-role-assignment.component.d.ts +1 -1
  217. package/lib/admin/role-assignment/role-assignment.component.d.ts +1 -1
  218. package/lib/admin/user-invite/user-invite.component.d.ts +1 -1
  219. package/lib/authentication/auth.module.d.ts +1 -1
  220. package/lib/authentication/authentication-overlay/authentication-overlay.component.d.ts +1 -1
  221. package/lib/authentication/session-idle/popup-session-idle/popup-session-idle.component.d.ts +1 -1
  222. package/lib/authentication/session-idle/session-idle.component.d.ts +1 -1
  223. package/lib/dashboard/cards/barchart-card/barchart-card.component.d.ts +1 -1
  224. package/lib/dashboard/cards/count-card/count-card.component.d.ts +1 -1
  225. package/lib/dashboard/cards/iframe-card/iframe-card.component.d.ts +1 -1
  226. package/lib/dashboard/cards/lineargauge-card/linear-gauge-card.component.d.ts +1 -1
  227. package/lib/dashboard/cards/linechart-card/line-chart-card.component.d.ts +1 -1
  228. package/lib/dashboard/cards/piechart-card/pie-chart-card.component.d.ts +1 -1
  229. package/lib/dashboard/cards/portal-card/portal-card.component.d.ts +1 -1
  230. package/lib/dashboard/dashboard-content/dashboard-content.component.d.ts +1 -1
  231. package/lib/data-fields/boolean-field/boolean-default-field/boolean-default-field.component.d.ts +1 -1
  232. package/lib/data-fields/boolean-field/boolean-field.component.d.ts +1 -1
  233. package/lib/data-fields/button-field/button-default-field/button-default-field.component.d.ts +1 -1
  234. package/lib/data-fields/button-field/button-field.component.d.ts +1 -1
  235. package/lib/data-fields/case-ref-field/case-ref-default/case-ref-default.component.d.ts +1 -1
  236. package/lib/data-fields/data-field-template/data-field-template.component.d.ts +1 -1
  237. package/lib/data-fields/data-fields.module.d.ts +1 -1
  238. package/lib/data-fields/date-field/date-default-field/date-default-field.component.d.ts +1 -1
  239. package/lib/data-fields/date-field/date-field.component.d.ts +1 -1
  240. package/lib/data-fields/date-time-field/date-time-default-field/date-time-default-field.component.d.ts +1 -1
  241. package/lib/data-fields/date-time-field/date-time-field.component.d.ts +1 -1
  242. package/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/enumeration-autocomplete-dynamic-field.component.d.ts +1 -1
  243. package/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-select-field.component.d.ts +1 -1
  244. package/lib/data-fields/enumeration-field/enumeration-caseref-field/enumeration-caseref-field.component.d.ts +1 -1
  245. package/lib/data-fields/enumeration-field/enumeration-field.component.d.ts +1 -1
  246. package/lib/data-fields/enumeration-field/enumeration-icon-field/enumeration-icon-field.component.d.ts +1 -1
  247. package/lib/data-fields/enumeration-field/enumeration-list-field/enumeration-list-field.component.d.ts +1 -1
  248. package/lib/data-fields/enumeration-field/enumeration-select-field/enumeration-select-field.component.d.ts +1 -1
  249. package/lib/data-fields/enumeration-field/enumeration-stepper-field/enumeration-stepper-field.component.d.ts +1 -1
  250. package/lib/data-fields/file-field/file-default-field/file-default-field.component.d.ts +1 -1
  251. package/lib/data-fields/file-field/file-field.component.d.ts +1 -1
  252. package/lib/data-fields/file-field/preview-dialog/preview-dialog.component.d.ts +1 -1
  253. package/lib/data-fields/file-list-field/file-list-default-field/file-list-default-field.component.d.ts +1 -1
  254. package/lib/data-fields/file-list-field/file-list-field.component.d.ts +1 -1
  255. package/lib/data-fields/filter-field/filter-default-field/filter-default-field.component.d.ts +1 -1
  256. package/lib/data-fields/filter-field/filter-field-content/filter-field-content.component.d.ts +1 -1
  257. package/lib/data-fields/filter-field/filter-field.component.d.ts +1 -1
  258. package/lib/data-fields/filter-field/tab-view-filter-field/filter-field-tab-view-content.component.d.ts +1 -1
  259. package/lib/data-fields/i18n-field/i18n-divider-field/i18n-divider-field.component.d.ts +1 -1
  260. package/lib/data-fields/i18n-field/i18n-field.component.d.ts +1 -1
  261. package/lib/data-fields/i18n-field/i18n-text-field/i18n-text-field.component.d.ts +1 -1
  262. package/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-field.component.d.ts +1 -1
  263. package/lib/data-fields/multichoice-field/multichoice-caseref-field/multichoice-caseref-field.component.d.ts +1 -1
  264. package/lib/data-fields/multichoice-field/multichoice-field.component.d.ts +1 -1
  265. package/lib/data-fields/multichoice-field/multichoice-list-field/multichoice-list-field.component.d.ts +1 -1
  266. package/lib/data-fields/multichoice-field/multichoice-select-field/multichoice-select-field.component.d.ts +1 -1
  267. package/lib/data-fields/number-field/number-currency-field/number-currency-field.component.d.ts +3 -4
  268. package/lib/data-fields/number-field/number-decimal-field/number-decimal-field.component.d.ts +1 -1
  269. package/lib/data-fields/number-field/number-default-field/number-default-field.component.d.ts +1 -1
  270. package/lib/data-fields/number-field/number-field.component.d.ts +1 -1
  271. package/lib/data-fields/required-label/required-label.component.d.ts +1 -1
  272. package/lib/data-fields/string-collection-field/string-collection-default-field/string-collection-default-field.component.d.ts +1 -1
  273. package/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-field.component.d.ts +1 -1
  274. package/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/task-ref-dashboard-tile.component.d.ts +1 -1
  275. package/lib/data-fields/task-ref-field/task-ref-field.component.d.ts +1 -1
  276. package/lib/data-fields/task-ref-field/task-ref-list-field/task-ref-list-field.component.d.ts +1 -1
  277. package/lib/data-fields/text-field/dashboard-bar-chart-text-field/dashboard-bar-chart-text-field.component.d.ts +1 -1
  278. package/lib/data-fields/text-field/dashboard-iframe-text-field/dashboard-iframe-text-field.component.d.ts +1 -1
  279. package/lib/data-fields/text-field/dashboard-line-chart-text-field/dashboard-line-chart-text-field.component.d.ts +1 -1
  280. package/lib/data-fields/text-field/dashboard-pie-chart-text-field/dashboard-pie-chart-text-field.component.d.ts +1 -1
  281. package/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-text-field.component.d.ts +1 -1
  282. package/lib/data-fields/text-field/html-textarea-field/html-textarea-field.component.d.ts +1 -1
  283. package/lib/data-fields/text-field/password-text-field/password-text-field.component.d.ts +1 -1
  284. package/lib/data-fields/text-field/rich-textarea-field/easymde-wrapper/easymde-wrapper.component.d.ts +1 -1
  285. package/lib/data-fields/text-field/rich-textarea-field/rich-textarea-field.component.d.ts +1 -1
  286. package/lib/data-fields/text-field/signature-pad-field/signature-pad-field.component.d.ts +1 -1
  287. package/lib/data-fields/text-field/simple-text-field/simple-text-field.component.d.ts +1 -1
  288. package/lib/data-fields/text-field/text-field.component.d.ts +1 -1
  289. package/lib/data-fields/text-field/textarea-field/textarea-field.component.d.ts +1 -1
  290. package/lib/data-fields/user-field/user-default-field/user-default-field.component.d.ts +1 -1
  291. package/lib/data-fields/user-field/user-field.component.d.ts +1 -1
  292. package/lib/data-fields/user-list-field/user-list-default-field/user-list-default-field.component.d.ts +1 -1
  293. package/lib/data-fields/user-list-field/user-list-field.component.d.ts +1 -1
  294. package/lib/dialog/admin-impersonate-dialog/admin-impersonate-dialog.component.d.ts +2 -2
  295. package/lib/dialog/dialog.module.d.ts +1 -1
  296. package/lib/dialog/filter-selector-dialog/filter-selector-dialog.component.d.ts +1 -1
  297. package/lib/dialog/import-net-dialog/import-net-dialog.component.d.ts +2 -2
  298. package/lib/dialog/load-filter-dialog/load-filter-dialog.component.d.ts +1 -1
  299. package/lib/dialog/multi-user-assign-dialog/multi-user-assign-dialog.component.d.ts +2 -2
  300. package/lib/dialog/new-case-dialog/new-case-dialog.component.d.ts +3 -3
  301. package/lib/dialog/save-filter-dialog/save-filter-dialog.component.d.ts +1 -1
  302. package/lib/dialog/task-view-dialog/task-view-dialog.component.d.ts +1 -1
  303. package/lib/dialog/user-assign-dialog/user-assign-dialog.component.d.ts +2 -2
  304. package/lib/dialog/user-impersonate-dialog/user-impersonate-dialog.component.d.ts +1 -1
  305. package/lib/filter-field-content/filter-field-content.module.d.ts +1 -1
  306. package/lib/filter-field-content/filter-field-tab-view/filter-field-tab-view.component.d.ts +1 -1
  307. package/lib/filter-field-content/filter-field-tabbed-case-view/filter-field-tabbed-case-view.component.d.ts +1 -1
  308. package/lib/filter-field-content/filter-field-tabbed-task-view/filter-field-tabbed-task-view.component.d.ts +1 -1
  309. package/lib/forms/change-password/change-password-form.component.d.ts +1 -1
  310. package/lib/forms/change-password/change-password-form.component.module.d.ts +1 -1
  311. package/lib/forms/email-submission/email-submission-form.component.d.ts +1 -1
  312. package/lib/forms/email-submission/email-submission-form.module.d.ts +1 -1
  313. package/lib/forms/forgotten-password/forgotten-password-form-component.module.d.ts +1 -1
  314. package/lib/forms/forgotten-password/forgotten-password-form.component.d.ts +1 -1
  315. package/lib/forms/login/login-form.component.d.ts +1 -1
  316. package/lib/forms/login/login-form.module.d.ts +1 -1
  317. package/lib/forms/registration/registration-form.component.d.ts +1 -1
  318. package/lib/forms/registration/registration-form.module.d.ts +1 -1
  319. package/lib/header/header-modes/edit-mode/edit-mode.component.d.ts +1 -1
  320. package/lib/header/header-modes/loading-mode/loading-mode.component.d.ts +1 -1
  321. package/lib/header/header-modes/search-mode/search-mode.component.d.ts +5 -4
  322. package/lib/header/header-modes/sort-mode/sort-mode.component.d.ts +1 -1
  323. package/lib/header/header.component.d.ts +2 -2
  324. package/lib/header/header.module.d.ts +1 -1
  325. package/lib/legal/legal-notice/legal-notice.component.d.ts +1 -1
  326. package/lib/navigation/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  327. package/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.d.ts +1 -1
  328. package/lib/navigation/group-navigation-component-resolver/default-components/default-no-filter-provided/default-no-filter-provided.component.d.ts +1 -1
  329. package/lib/navigation/group-navigation-component-resolver/default-components/default-simple-task-view/default-simple-task-view.component.d.ts +1 -1
  330. package/lib/navigation/group-navigation-component-resolver/default-components/default-tab-view/default-tab-view.component.d.ts +1 -1
  331. package/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.d.ts +1 -1
  332. package/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-task-view/default-tabbed-task-view.component.d.ts +1 -1
  333. package/lib/navigation/group-navigation-component-resolver/default-components/default-task-view/default-task-view.component.d.ts +1 -1
  334. package/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.component.d.ts +1 -1
  335. package/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.d.ts +1 -1
  336. package/lib/navigation/navigation-drawer/navigation-drawer.component.d.ts +1 -1
  337. package/lib/navigation/navigation-rail/navigation-rail.component.d.ts +1 -1
  338. package/lib/navigation/navigation-tree/navigation-tree.component.d.ts +1 -1
  339. package/lib/navigation/navigation.module.d.ts +1 -1
  340. package/lib/navigation/quick-panel/components/impersonate-quick-panel/impersonate-quick-panel.component.d.ts +1 -1
  341. package/lib/navigation/quick-panel/components/internal-link/internal-link.component.d.ts +1 -1
  342. package/lib/navigation/quick-panel/components/language-selector/language-selector.component.d.ts +1 -1
  343. package/lib/navigation/quick-panel/components/logout-shortcut/logout-shortcut.component.d.ts +1 -1
  344. package/lib/navigation/quick-panel/components/quick-panel.component.d.ts +1 -1
  345. package/lib/panel/case-panel/case-panel.component.d.ts +2 -2
  346. package/lib/panel/immediate/immediate-filter-text/immediate-filter-text.component.d.ts +1 -1
  347. package/lib/panel/immediate/immediate-filter-text-content/immediate-filter-text-content.component.d.ts +1 -1
  348. package/lib/panel/panel-item/panel-item.component.d.ts +1 -1
  349. package/lib/panel/panel.component.d.ts +1 -1
  350. package/lib/panel/panel.module.d.ts +1 -1
  351. package/lib/panel/public-workflow-panel/public-workflow-panel.component.d.ts +1 -1
  352. package/lib/panel/task-panel/task-panel.component.d.ts +1 -1
  353. package/lib/panel/task-panel-list/task-list.component.d.ts +1 -1
  354. package/lib/panel/task-panel-list-pagination/task-list-pagination.component.d.ts +1 -1
  355. package/lib/panel/task-panel-single/single-task.component.d.ts +1 -1
  356. package/lib/panel/workflow-panel/workflow-panel.component.d.ts +1 -1
  357. package/lib/routing/redirect/redirect.component.d.ts +1 -1
  358. package/lib/search/advanced-search/advanced-search-component/advanced-search.component.d.ts +1 -1
  359. package/lib/search/advanced-search/search-clause-component/search-clause.component.d.ts +1 -1
  360. package/lib/search/advanced-search/search-configuration-input-component/search-configuration-input.component.d.ts +1 -1
  361. package/lib/search/advanced-search/search-operand-input-component/search-operand-input.component.d.ts +1 -1
  362. package/lib/search/advanced-search/search-predicate-component/search-predicate.component.d.ts +1 -1
  363. package/lib/search/fulltext-search-component/fulltext-search.component.d.ts +1 -1
  364. package/lib/search/search-component/case-search/case-search.component.d.ts +1 -1
  365. package/lib/search/search-component/search.component.d.ts +1 -1
  366. package/lib/search/search-component/task-search/task-search.component.d.ts +1 -1
  367. package/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-item/admin-impersonate-item.component.d.ts +1 -1
  368. package/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-list.component.d.ts +1 -1
  369. package/lib/side-menu/content-components/admin-impersonate/admin-impersonate.component.d.ts +1 -1
  370. package/lib/side-menu/content-components/admin-impersonate/side-menu-admin-impersonate-component.module.d.ts +1 -1
  371. package/lib/side-menu/content-components/filter-selector/filter-selector-list-item/filter-selector-list-item.component.d.ts +1 -1
  372. package/lib/side-menu/content-components/filter-selector/filter-selector.component.d.ts +1 -1
  373. package/lib/side-menu/content-components/import-net/import-net.component.d.ts +1 -1
  374. package/lib/side-menu/content-components/import-net/side-menu-import-net-component.module.d.ts +1 -1
  375. package/lib/side-menu/content-components/load-filter/load-filter.component.d.ts +1 -1
  376. package/lib/side-menu/content-components/multi-user-assign/multi-user-assign-list/multi-user-assign-item/multi-user-assign-item.component.d.ts +1 -1
  377. package/lib/side-menu/content-components/multi-user-assign/multi-user-assign-list/multi-user-assign-list.component.d.ts +1 -1
  378. package/lib/side-menu/content-components/multi-user-assign/multi-user-assign.component.d.ts +1 -1
  379. package/lib/side-menu/content-components/multi-user-assign/side-menu-multi-user-assign-component.module.d.ts +1 -1
  380. package/lib/side-menu/content-components/new-case/new-case.component.d.ts +1 -2
  381. package/lib/side-menu/content-components/new-case/side-menu-new-case-component.module.d.ts +1 -1
  382. package/lib/side-menu/content-components/option-selector/option-selector.component.d.ts +1 -1
  383. package/lib/side-menu/content-components/save-filter/save-filter.component.d.ts +1 -1
  384. package/lib/side-menu/content-components/user-assign/side-menu-user-assign-component.module.d.ts +1 -1
  385. package/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/user-assign-item.component.d.ts +1 -1
  386. package/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-list.component.d.ts +1 -1
  387. package/lib/side-menu/content-components/user-assign/user-assign.component.d.ts +1 -1
  388. package/lib/side-menu/content-components/user-impersonate/user-impersonate.component.d.ts +1 -1
  389. package/lib/side-menu/side-menu-container/side-menu-container.component.d.ts +1 -1
  390. package/lib/tabs/tab-creation-detector/tab-creation-detector.component.d.ts +1 -1
  391. package/lib/tabs/tab-view/tab-view.component.d.ts +1 -1
  392. package/lib/tabs/tabs.module.d.ts +1 -1
  393. package/lib/task-content/field-component-resolver/field-component-resolver.component.d.ts +2 -1
  394. package/lib/task-content/task-content/task-content.component.d.ts +1 -1
  395. package/lib/task-content/task-content.module.d.ts +1 -1
  396. package/lib/toolbar/toolbar.component.d.ts +1 -1
  397. package/lib/toolbar/toolbar.module.d.ts +1 -1
  398. package/lib/user/profile/profile.component.d.ts +1 -1
  399. package/lib/user/profile/profile.module.d.ts +2 -1
  400. package/lib/user/user-card/user-card.component.d.ts +1 -1
  401. package/lib/view/case-view/case-view.module.d.ts +1 -1
  402. package/lib/view/case-view/components/case-list/case-list.component.d.ts +1 -1
  403. package/lib/view/case-view/components/case-list-paginator/case-list-paginator.component.d.ts +1 -1
  404. package/lib/view/case-view/components/create-case-button/create-case-button.component.d.ts +1 -1
  405. package/lib/view/tree-case-view/tree-case-view.module.d.ts +1 -1
  406. package/lib/view/tree-case-view/tree-component/add-child-node/add-child-node.component.d.ts +1 -1
  407. package/lib/view/tree-case-view/tree-component/remove-node/remove-node.component.d.ts +1 -1
  408. package/lib/view/tree-case-view/tree-component/tree.component.d.ts +1 -1
  409. package/lib/view/tree-case-view/tree-task-content/tree-task-content.component.d.ts +1 -1
  410. package/lib/view/workflow-view/workflow-view.component.d.ts +1 -1
  411. package/lib/view/workflow-view.module.d.ts +1 -1
  412. package/nae-theme.scss +10 -2
  413. package/package.json +29 -35
  414. package/schematics/migrations/5.4/migration-5.4.js +6 -2
  415. package/schematics/migrations/5.4/migration-5.4.js.map +1 -1
  416. package/schematics/view/create-view-prompt/views/case-view/create-case-view.js +2 -2
  417. package/schematics/view/create-view-prompt/views/case-view/create-case-view.js.map +1 -1
  418. package/schematics/view/create-view-prompt/views/group-view/create-group-view.js +1 -1
  419. package/schematics/view/create-view-prompt/views/group-view/create-group-view.js.map +1 -1
  420. package/schematics/view/create-view-prompt/views/login/create-login-view.js +1 -1
  421. package/schematics/view/create-view-prompt/views/login/create-login-view.js.map +1 -1
  422. package/schematics/view/create-view-prompt/views/public-resolver-view/create-public-resolver-view.js +2 -2
  423. package/schematics/view/create-view-prompt/views/public-resolver-view/create-public-resolver-view.js.map +1 -1
  424. package/schematics/view/create-view-prompt/views/public-single-task-view/create-public-single-task-view.js +1 -1
  425. package/schematics/view/create-view-prompt/views/public-single-task-view/create-public-single-task-view.js.map +1 -1
  426. package/schematics/view/create-view-prompt/views/public-task-view/create-public-task-view.js +1 -1
  427. package/schematics/view/create-view-prompt/views/public-task-view/create-public-task-view.js.map +1 -1
  428. package/schematics/view/create-view-prompt/views/public-workflow-view/create-public-workflow-view.js +1 -1
  429. package/schematics/view/create-view-prompt/views/public-workflow-view/create-public-workflow-view.js.map +1 -1
  430. package/schematics/view/create-view-prompt/views/tab-view/create-tab-view.js +1 -1
  431. package/schematics/view/create-view-prompt/views/tab-view/create-tab-view.js.map +1 -1
  432. package/schematics/view/create-view-prompt/views/task-view/create-task-view.js +1 -1
  433. package/schematics/view/create-view-prompt/views/task-view/create-task-view.js.map +1 -1
  434. package/schematics/view/create-view-prompt/views/tree-case-view/create-tree-case-view.js +1 -1
  435. package/schematics/view/create-view-prompt/views/tree-case-view/create-tree-case-view.js.map +1 -1
  436. package/src/lib/data-fields/data-field.theme.scss +220 -106
  437. package/src/lib/dialog/dialog.theme.scss +3 -2
  438. package/src/lib/header/header.theme.scss +1 -1
  439. package/src/lib/navigation/navigation.theme.scss +11 -0
  440. package/src/lib/panel/panel.theme.scss +4 -0
  441. package/src/lib/search/advanced-search/search-predicate-component/search-predicate.component.theme.scss +2 -2
  442. package/src/lib/search/search-component/search.component-theme.scss +9 -4
  443. package/src/lib/side-menu/side-menu.theme.scss +1 -1
  444. package/src/lib/tabs/tabs.theme.scss +15 -5
  445. package/esm2020/lib/admin/admin.module.mjs +0 -35
  446. package/esm2020/lib/admin/ldap-group-role-assignment/ldap-group-role-assignment.component.mjs +0 -39
  447. package/esm2020/lib/admin/role-assignment/role-assignment.component.mjs +0 -40
  448. package/esm2020/lib/admin/user-invite/user-invite.component.mjs +0 -34
  449. package/esm2020/lib/authentication/auth.module.mjs +0 -40
  450. package/esm2020/lib/authentication/authentication-overlay/authentication-overlay.component.mjs +0 -22
  451. package/esm2020/lib/authentication/session-idle/popup-session-idle/popup-session-idle.component.mjs +0 -24
  452. package/esm2020/lib/authentication/session-idle/session-idle.component.mjs +0 -39
  453. package/esm2020/lib/dashboard/cards/barchart-card/barchart-card.component.mjs +0 -40
  454. package/esm2020/lib/dashboard/cards/count-card/count-card.component.mjs +0 -20
  455. package/esm2020/lib/dashboard/cards/iframe-card/iframe-card.component.mjs +0 -19
  456. package/esm2020/lib/dashboard/cards/lineargauge-card/linear-gauge-card.component.mjs +0 -37
  457. package/esm2020/lib/dashboard/cards/linechart-card/line-chart-card.component.mjs +0 -49
  458. package/esm2020/lib/dashboard/cards/piechart-card/pie-chart-card.component.mjs +0 -42
  459. package/esm2020/lib/dashboard/cards/portal-card/portal-card.component.mjs +0 -36
  460. package/esm2020/lib/dashboard/dashboard-content/dashboard-content.component.mjs +0 -26
  461. package/esm2020/lib/dashboard/dashboard.module.mjs +0 -79
  462. package/esm2020/lib/data-fields/button-field/button-default-field/button-default-field.component.mjs +0 -42
  463. package/esm2020/lib/data-fields/button-field/button-field.component.mjs +0 -25
  464. package/esm2020/lib/data-fields/data-field-template/data-field-template.component.mjs +0 -24
  465. package/esm2020/lib/data-fields/date-field/date-default-field/date-default-field.component.mjs +0 -38
  466. package/esm2020/lib/data-fields/date-time-field/date-time-default-field/date-time-default-field.component.mjs +0 -39
  467. package/esm2020/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/enumeration-autocomplete-dynamic-field.component.mjs +0 -31
  468. package/esm2020/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-select-field.component.mjs +0 -29
  469. package/esm2020/lib/data-fields/enumeration-field/enumeration-stepper-field/enumeration-stepper-field.component.mjs +0 -28
  470. package/esm2020/lib/data-fields/file-field/file-default-field/file-default-field.component.mjs +0 -50
  471. package/esm2020/lib/data-fields/file-field/preview-dialog/preview-dialog.component.mjs +0 -33
  472. package/esm2020/lib/data-fields/file-list-field/file-list-default-field/file-list-default-field.component.mjs +0 -32
  473. package/esm2020/lib/data-fields/i18n-field/i18n-divider-field/i18n-divider-field.component.mjs +0 -23
  474. package/esm2020/lib/data-fields/i18n-field/i18n-text-field/i18n-text-field.component.mjs +0 -66
  475. package/esm2020/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-field.component.mjs +0 -30
  476. package/esm2020/lib/data-fields/number-field/number-currency-field/number-currency-field.component.mjs +0 -35
  477. package/esm2020/lib/data-fields/number-field/number-decimal-field/number-decimal-field.component.mjs +0 -38
  478. package/esm2020/lib/data-fields/required-label/required-label.component.mjs +0 -18
  479. package/esm2020/lib/data-fields/string-collection-field/string-collection-default-field/string-collection-default-field.component.mjs +0 -29
  480. package/esm2020/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-field.component.mjs +0 -38
  481. package/esm2020/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/task-ref-dashboard-tile.component.mjs +0 -57
  482. package/esm2020/lib/data-fields/task-ref-field/task-ref-field.component.mjs +0 -27
  483. package/esm2020/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-text-field.component.mjs +0 -41
  484. package/esm2020/lib/data-fields/text-field/html-textarea-field/html-textarea-field.component.mjs +0 -36
  485. package/esm2020/lib/data-fields/text-field/password-text-field/password-text-field.component.mjs +0 -30
  486. package/esm2020/lib/data-fields/text-field/rich-textarea-field/easymde-wrapper/easymde-wrapper.component.mjs +0 -85
  487. package/esm2020/lib/data-fields/text-field/rich-textarea-field/rich-textarea-field.component.mjs +0 -28
  488. package/esm2020/lib/data-fields/text-field/signature-pad-field/signature-pad-field.component.mjs +0 -95
  489. package/esm2020/lib/data-fields/text-field/simple-text-field/simple-text-field.component.mjs +0 -27
  490. package/esm2020/lib/data-fields/text-field/textarea-field/textarea-field.component.mjs +0 -29
  491. package/esm2020/lib/data-fields/user-field/user-default-field/user-default-field.component.mjs +0 -35
  492. package/esm2020/lib/data-fields/user-field/user-field.component.mjs +0 -25
  493. package/esm2020/lib/data-fields/user-list-field/user-list-default-field/user-list-default-field.component.mjs +0 -39
  494. package/esm2020/lib/dialog/admin-impersonate-dialog/admin-impersonate-dialog.component.mjs +0 -77
  495. package/esm2020/lib/dialog/dialog.module.mjs +0 -177
  496. package/esm2020/lib/dialog/filter-selector-dialog/filter-selector-dialog.component.mjs +0 -162
  497. package/esm2020/lib/dialog/import-net-dialog/import-net-dialog.component.mjs +0 -153
  498. package/esm2020/lib/dialog/load-filter-dialog/load-filter-dialog.component.mjs +0 -98
  499. package/esm2020/lib/dialog/multi-user-assign-dialog/multi-user-assign-dialog.component.mjs +0 -72
  500. package/esm2020/lib/dialog/new-case-dialog/new-case-dialog.component.mjs +0 -251
  501. package/esm2020/lib/dialog/save-filter-dialog/save-filter-dialog.component.mjs +0 -83
  502. package/esm2020/lib/dialog/task-view-dialog/task-view-dialog.component.mjs +0 -91
  503. package/esm2020/lib/dialog/user-assign-dialog/user-assign-dialog.component.mjs +0 -73
  504. package/esm2020/lib/dialog/user-impersonate-dialog/user-impersonate-dialog.component.mjs +0 -98
  505. package/esm2020/lib/filter-field-content/filter-field-content.module.mjs +0 -64
  506. package/esm2020/lib/filter-field-content/filter-field-tabbed-case-view/filter-field-tabbed-case-view.component.mjs +0 -68
  507. package/esm2020/lib/filter-field-content/filter-field-tabbed-task-view/filter-field-tabbed-task-view.component.mjs +0 -75
  508. package/esm2020/lib/forms/change-password/change-password-form.component.mjs +0 -42
  509. package/esm2020/lib/forms/change-password/change-password-form.component.module.mjs +0 -40
  510. package/esm2020/lib/forms/email-submission/email-submission-form.component.mjs +0 -25
  511. package/esm2020/lib/forms/email-submission/email-submission-form.module.mjs +0 -41
  512. package/esm2020/lib/forms/forgotten-password/forgotten-password-form-component.module.mjs +0 -37
  513. package/esm2020/lib/forms/forgotten-password/forgotten-password-form.component.mjs +0 -30
  514. package/esm2020/lib/forms/login/login-form.component.mjs +0 -26
  515. package/esm2020/lib/forms/login/login-form.module.mjs +0 -37
  516. package/esm2020/lib/forms/registration/registration-form.component.mjs +0 -31
  517. package/esm2020/lib/forms/registration/registration-form.module.mjs +0 -41
  518. package/esm2020/lib/header/header-modes/edit-mode/edit-mode.component.mjs +0 -32
  519. package/esm2020/lib/header/header-modes/loading-mode/loading-mode.component.mjs +0 -18
  520. package/esm2020/lib/header/header-modes/search-mode/search-mode.component.mjs +0 -45
  521. package/esm2020/lib/header/header-modes/sort-mode/sort-mode.component.mjs +0 -26
  522. package/esm2020/lib/header/header.component.mjs +0 -86
  523. package/esm2020/lib/header/header.module.mjs +0 -68
  524. package/esm2020/lib/legal/legal-notice/legal-notice.module.mjs +0 -26
  525. package/esm2020/lib/navigation/breadcrumbs/breadcrumbs.component.mjs +0 -20
  526. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.mjs +0 -130
  527. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-no-filter-provided/default-no-filter-provided.component.mjs +0 -14
  528. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-simple-task-view/default-simple-task-view.component.mjs +0 -79
  529. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tab-view/default-tab-view.component.mjs +0 -150
  530. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.mjs +0 -176
  531. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-task-view/default-tabbed-task-view.component.mjs +0 -111
  532. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-task-view/default-task-view.component.mjs +0 -63
  533. package/esm2020/lib/navigation/group-navigation-component-resolver/default-group-navigation-component-resolver.service.mjs +0 -73
  534. package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +0 -89
  535. package/esm2020/lib/navigation/navigation-drawer/navigation-drawer.component.mjs +0 -31
  536. package/esm2020/lib/navigation/navigation.module.mjs +0 -152
  537. package/esm2020/lib/navigation/quick-panel/components/impersonate-quick-panel/impersonate-quick-panel.component.mjs +0 -31
  538. package/esm2020/lib/navigation/quick-panel/components/language-selector/language-selector.component.mjs +0 -23
  539. package/esm2020/lib/navigation/quick-panel/components/logout-shortcut/logout-shortcut.component.mjs +0 -23
  540. package/esm2020/lib/navigation/quick-panel/components/quick-panel.component.mjs +0 -27
  541. package/esm2020/lib/navigation/quick-panel/quick-panel.module.mjs +0 -57
  542. package/esm2020/lib/panel/case-panel/case-panel.component.mjs +0 -91
  543. package/esm2020/lib/panel/panel-item/panel-item.component.mjs +0 -22
  544. package/esm2020/lib/panel/panel.component.mjs +0 -20
  545. package/esm2020/lib/panel/panel.module.mjs +0 -114
  546. package/esm2020/lib/panel/public-workflow-panel/public-workflow-panel.component.mjs +0 -24
  547. package/esm2020/lib/panel/task-panel/task-panel.component.mjs +0 -123
  548. package/esm2020/lib/panel/task-panel-list/task-list.component.mjs +0 -34
  549. package/esm2020/lib/panel/task-panel-list-pagination/task-list-pagination.component.mjs +0 -35
  550. package/esm2020/lib/panel/task-panel-single/single-task.component.mjs +0 -31
  551. package/esm2020/lib/routing/redirect/redirect.component.mjs +0 -20
  552. package/esm2020/lib/routing/redirect.module.mjs +0 -17
  553. package/esm2020/lib/search/advanced-search/advanced-search.module.mjs +0 -57
  554. package/esm2020/lib/search/advanced-search/search-clause-component/search-clause.component.mjs +0 -20
  555. package/esm2020/lib/search/advanced-search/search-configuration-input-component/search-configuration-input.component.mjs +0 -31
  556. package/esm2020/lib/search/advanced-search/search-operand-input-component/search-operand-input.component.mjs +0 -36
  557. package/esm2020/lib/search/advanced-search/search-predicate-component/search-predicate.component.mjs +0 -29
  558. package/esm2020/lib/search/fulltext-search-component/fulltext-search.component.mjs +0 -22
  559. package/esm2020/lib/search/search-component/search.component.mjs +0 -108
  560. package/esm2020/lib/search/search.module.mjs +0 -66
  561. package/esm2020/lib/side-menu/content-components/admin-impersonate/admin-impersonate-list/admin-impersonate-item/admin-impersonate-item.component.mjs +0 -22
  562. package/esm2020/lib/side-menu/content-components/admin-impersonate/admin-impersonate.component.mjs +0 -40
  563. package/esm2020/lib/side-menu/content-components/admin-impersonate/side-menu-admin-impersonate-component.module.mjs +0 -60
  564. package/esm2020/lib/side-menu/content-components/filter-selector/filter-selector.component.mjs +0 -53
  565. package/esm2020/lib/side-menu/content-components/filter-selector/side-menu-filter-selector-component.module.mjs +0 -42
  566. package/esm2020/lib/side-menu/content-components/import-net/import-net.component.mjs +0 -55
  567. package/esm2020/lib/side-menu/content-components/import-net/side-menu-import-net-component.module.mjs +0 -50
  568. package/esm2020/lib/side-menu/content-components/load-filter/load-filter.component.mjs +0 -67
  569. package/esm2020/lib/side-menu/content-components/load-filter/side-menu-load-filter-component.module.mjs +0 -42
  570. package/esm2020/lib/side-menu/content-components/multi-user-assign/multi-user-assign-list/multi-user-assign-item/multi-user-assign-item.component.mjs +0 -20
  571. package/esm2020/lib/side-menu/content-components/multi-user-assign/multi-user-assign-list/multi-user-assign-list.component.mjs +0 -24
  572. package/esm2020/lib/side-menu/content-components/multi-user-assign/multi-user-assign.component.mjs +0 -33
  573. package/esm2020/lib/side-menu/content-components/multi-user-assign/side-menu-multi-user-assign-component.module.mjs +0 -63
  574. package/esm2020/lib/side-menu/content-components/new-case/new-case.component.mjs +0 -46
  575. package/esm2020/lib/side-menu/content-components/new-case/side-menu-new-case-component.module.mjs +0 -57
  576. package/esm2020/lib/side-menu/content-components/option-selector/option-selector.component.mjs +0 -33
  577. package/esm2020/lib/side-menu/content-components/option-selector/side-menu-option-selector-component.module.mjs +0 -42
  578. package/esm2020/lib/side-menu/content-components/save-filter/save-filter.component.mjs +0 -61
  579. package/esm2020/lib/side-menu/content-components/save-filter/side-menu-save-filter-component.module.mjs +0 -38
  580. package/esm2020/lib/side-menu/content-components/side-menu-content-component.module.mjs +0 -120
  581. package/esm2020/lib/side-menu/content-components/user-assign/side-menu-user-assign-component.module.mjs +0 -63
  582. package/esm2020/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/user-assign-item.component.mjs +0 -22
  583. package/esm2020/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-list.component.mjs +0 -27
  584. package/esm2020/lib/side-menu/content-components/user-assign/user-assign.component.mjs +0 -37
  585. package/esm2020/lib/side-menu/content-components/user-impersonate/side-menu-user-impersonate-component.module.mjs +0 -42
  586. package/esm2020/lib/side-menu/content-components/user-impersonate/user-impersonate.component.mjs +0 -75
  587. package/esm2020/lib/side-menu/side-menu-container/side-menu-container.component.mjs +0 -23
  588. package/esm2020/lib/side-menu/side-menu.module.mjs +0 -42
  589. package/esm2020/lib/tabs/tab-view/tab-view.component.mjs +0 -33
  590. package/esm2020/lib/tabs/tabs.module.mjs +0 -46
  591. package/esm2020/lib/task-content/field-component-resolver/field-component-resolver.component.mjs +0 -36
  592. package/esm2020/lib/task-content/task-content/task-content.component.mjs +0 -37
  593. package/esm2020/lib/task-content/task-content.module.mjs +0 -47
  594. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -26
  595. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -35
  596. package/esm2020/lib/user/profile/profile.component.mjs +0 -25
  597. package/esm2020/lib/user/profile/profile.module.mjs +0 -31
  598. package/esm2020/lib/user/user-card/user-card.component.mjs +0 -23
  599. package/esm2020/lib/user/user.module.mjs +0 -35
  600. package/esm2020/lib/view/case-view/case-view.module.mjs +0 -39
  601. package/esm2020/lib/view/case-view/components/case-list/case-list.component.mjs +0 -34
  602. package/esm2020/lib/view/case-view/components/case-list-paginator/case-list-paginator.component.mjs +0 -38
  603. package/esm2020/lib/view/case-view/components/create-case-button/create-case-button.component.mjs +0 -64
  604. package/esm2020/lib/view/tree-case-view/tree-case-view.module.mjs +0 -60
  605. package/esm2020/lib/view/tree-case-view/tree-component/add-child-node/add-child-node.component.mjs +0 -22
  606. package/esm2020/lib/view/tree-case-view/tree-component/remove-node/remove-node.component.mjs +0 -21
  607. package/esm2020/lib/view/tree-case-view/tree-component/tree.component.mjs +0 -27
  608. package/esm2020/lib/view/tree-case-view/tree-task-content/tree-task-content.component.mjs +0 -59
  609. package/esm2020/lib/view/workflow-view/workflow-view.component.mjs +0 -35
  610. package/esm2020/lib/view/workflow-view.module.mjs +0 -53
  611. package/fesm2015/netgrif-components.mjs +0 -7960
  612. package/fesm2015/netgrif-components.mjs.map +0 -1
  613. package/fesm2020/netgrif-components.mjs +0 -7731
  614. package/fesm2020/netgrif-components.mjs.map +0 -1
  615. /package/{esm2020 → esm2022}/lib/admin/public-api.mjs +0 -0
  616. /package/{esm2020 → esm2022}/lib/authentication/public-api.mjs +0 -0
  617. /package/{esm2020 → esm2022}/lib/dashboard/public-api.mjs +0 -0
  618. /package/{esm2020 → esm2022}/lib/data-fields/public-api.mjs +0 -0
  619. /package/{esm2020 → esm2022}/lib/dialog/model/dialog-actions.mjs +0 -0
  620. /package/{esm2020 → esm2022}/lib/dialog/public-api.mjs +0 -0
  621. /package/{esm2020 → esm2022}/lib/filter-field-content/public-api.mjs +0 -0
  622. /package/{esm2020 → esm2022}/lib/forms/public-api.mjs +0 -0
  623. /package/{esm2020 → esm2022}/lib/header/public-api.mjs +0 -0
  624. /package/{esm2020 → esm2022}/lib/legal/public-api.mjs +0 -0
  625. /package/{esm2020 → esm2022}/lib/navigation/group-navigation-component-resolver/default-components/model/factory-methods.mjs +0 -0
  626. /package/{esm2020 → esm2022}/lib/navigation/group-navigation-component-resolver/default-components/model/injected-tabbed-case-view-data-with-navigation-item-task-data.mjs +0 -0
  627. /package/{esm2020 → esm2022}/lib/navigation/group-navigation-component-resolver/default-components/model/injected-tabbed-task-view-data-with-navigation-item-task-data.mjs +0 -0
  628. /package/{esm2020 → esm2022}/lib/navigation/public-api.mjs +0 -0
  629. /package/{esm2020 → esm2022}/lib/navigation/quick-panel/public-api.mjs +0 -0
  630. /package/{esm2020 → esm2022}/lib/panel/public-api.mjs +0 -0
  631. /package/{esm2020 → esm2022}/lib/routing/public-api.mjs +0 -0
  632. /package/{esm2020 → esm2022}/lib/search/advanced-search/public-api.mjs +0 -0
  633. /package/{esm2020 → esm2022}/lib/search/public-api.mjs +0 -0
  634. /package/{esm2020 → esm2022}/lib/side-menu/content-components/public-api.mjs +0 -0
  635. /package/{esm2020 → esm2022}/lib/side-menu/public-api.mjs +0 -0
  636. /package/{esm2020 → esm2022}/lib/tabs/public-api.mjs +0 -0
  637. /package/{esm2020 → esm2022}/lib/task-content/public-api.mjs +0 -0
  638. /package/{esm2020 → esm2022}/lib/toolbar/public-api.mjs +0 -0
  639. /package/{esm2020 → esm2022}/lib/user/public-api.mjs +0 -0
  640. /package/{esm2020 → esm2022}/lib/view/public-api.mjs +0 -0
  641. /package/{esm2020 → esm2022}/netgrif-components.mjs +0 -0
  642. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  643. /package/{netgrif-components.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,272 @@
1
+ import { Component, Inject, Optional, ViewChild } from '@angular/core';
2
+ import { FormControl, Validators } from '@angular/forms';
3
+ import { BehaviorSubject, combineLatest, ReplaySubject } from 'rxjs';
4
+ import { LoadingEmitter, NAE_NET_ALL_VERSIONS, NAE_NET_VERSION_VISIBLE } from '@netgrif/components-core';
5
+ import { Hotkey } from 'angular2-hotkeys';
6
+ import { map, startWith, tap } from 'rxjs/operators';
7
+ import semver from 'semver';
8
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/material/dialog";
11
+ import * as i2 from "@angular/forms";
12
+ import * as i3 from "@netgrif/components-core";
13
+ import * as i4 from "angular2-hotkeys";
14
+ import * as i5 from "@ngx-translate/core";
15
+ import * as i6 from "@angular/common";
16
+ import * as i7 from "@ngbracket/ngx-layout";
17
+ import * as i8 from "@angular/material/autocomplete";
18
+ import * as i9 from "@angular/material/core";
19
+ import * as i10 from "@angular/material/button";
20
+ import * as i11 from "@angular/material/stepper";
21
+ import * as i12 from "@angular/material/input";
22
+ import * as i13 from "@angular/material/form-field";
23
+ import * as i14 from "@angular/material/progress-spinner";
24
+ export class NewCaseDialogComponent {
25
+ _dialogRef;
26
+ _data;
27
+ _formBuilder;
28
+ _snackBarService;
29
+ _caseResourceService;
30
+ _hotkeysService;
31
+ _translate;
32
+ isVersionVisible;
33
+ allVersionEnabled;
34
+ processFormControl = new FormControl('', Validators.required);
35
+ titleFormControl = new FormControl('', Validators.required);
36
+ netVersion;
37
+ options = [];
38
+ colors = [
39
+ { value: 'panel-primary-icon', viewValue: 'Primary' },
40
+ { value: 'panel-accent-icon', viewValue: 'Accent' },
41
+ ];
42
+ filteredOptions$;
43
+ toolbar;
44
+ stepper1;
45
+ stepper2;
46
+ loadingSubmit;
47
+ _options$;
48
+ _injectedData;
49
+ _hasMultipleNets$;
50
+ _notInitialized$;
51
+ _allowedNetsSubscription;
52
+ constructor(_dialogRef, _data, _formBuilder, _snackBarService, _caseResourceService, _hotkeysService, _translate, isVersionVisible, allVersionEnabled) {
53
+ this._dialogRef = _dialogRef;
54
+ this._data = _data;
55
+ this._formBuilder = _formBuilder;
56
+ this._snackBarService = _snackBarService;
57
+ this._caseResourceService = _caseResourceService;
58
+ this._hotkeysService = _hotkeysService;
59
+ this._translate = _translate;
60
+ if (this._data) {
61
+ this._injectedData = this._data;
62
+ }
63
+ this.isVersionVisible = isVersionVisible !== null ? isVersionVisible : true;
64
+ this.allVersionEnabled = allVersionEnabled !== null ? allVersionEnabled : false;
65
+ if (!this._injectedData) {
66
+ this.closeNoNets();
67
+ }
68
+ this._hotkeysService.add(new Hotkey('enter', (event) => {
69
+ this.nextStep();
70
+ return false;
71
+ }));
72
+ this._hasMultipleNets$ = new ReplaySubject(1);
73
+ this._notInitialized$ = new BehaviorSubject(true);
74
+ this._options$ = new ReplaySubject(1);
75
+ this.loadingSubmit = new LoadingEmitter(false);
76
+ this._allowedNetsSubscription = this._injectedData.allowedNets$.pipe(map(nets => nets.map(petriNet => ({
77
+ value: petriNet.stringId,
78
+ viewValue: petriNet.title,
79
+ version: petriNet.version
80
+ }))), map(nets => {
81
+ if (!this.allVersionEnabled) {
82
+ return this.removeOldVersions(nets);
83
+ }
84
+ else {
85
+ return nets;
86
+ }
87
+ }), tap(options => {
88
+ if (options.length === 0) {
89
+ this.closeNoNets();
90
+ }
91
+ this.options = options;
92
+ this._hasMultipleNets$.next(options.length > 1);
93
+ })).subscribe(options => {
94
+ this._options$.next(options);
95
+ if (!this._notInitialized$.closed) {
96
+ this._notInitialized$.next(false);
97
+ this._notInitialized$.complete();
98
+ }
99
+ });
100
+ this.filteredOptions$ = combineLatest([this._options$, this.processFormControl.valueChanges.pipe(startWith(''))]).pipe(map(sources => {
101
+ const options = sources[0];
102
+ const input = typeof sources[1] === 'string' || sources[1] === null ? sources[1] : sources[1].viewValue;
103
+ return input ? this._filter(input, options) : options.slice();
104
+ }), tap(filteredOptions => {
105
+ if (filteredOptions.length === 1) {
106
+ this.processFormControl.setValue(filteredOptions[0], { emitEvent: false });
107
+ }
108
+ }));
109
+ }
110
+ ngOnDestroy() {
111
+ this._hasMultipleNets$.complete();
112
+ this.loadingSubmit.complete();
113
+ this._allowedNetsSubscription.unsubscribe();
114
+ }
115
+ get hasMultipleNets$() {
116
+ return this._hasMultipleNets$.asObservable();
117
+ }
118
+ get notInitialized$() {
119
+ return this._notInitialized$.asObservable();
120
+ }
121
+ displayFn(process) {
122
+ return process?.viewValue ? process?.viewValue : '';
123
+ }
124
+ createNewCase() {
125
+ if (this.loadingSubmit.value) {
126
+ return;
127
+ }
128
+ if (this.titleFormControl.valid || !this.isCaseTitleRequired()) {
129
+ const newCase = {
130
+ title: this.titleFormControl.value === '' ? null : this.titleFormControl.value,
131
+ color: 'panel-primary-icon',
132
+ netId: this.options.length === 1 ? this.options[0].value :
133
+ (typeof this.processFormControl.value === 'string' ? this.processFormControl.value : this.processFormControl.value.value)
134
+ };
135
+ this.loadingSubmit.on();
136
+ this._caseResourceService.createCase(newCase)
137
+ .subscribe((response) => {
138
+ this.loadingSubmit.off();
139
+ if (!!response.outcome) {
140
+ this._snackBarService.openSuccessSnackBar(response.outcome.message === undefined
141
+ ? this._translate.instant('side-menu.new-case.createCase') + ' ' + newCase.title
142
+ : response.outcome.message);
143
+ this._dialogRef.close({
144
+ opened: false,
145
+ message: response.outcome.message === undefined
146
+ ? 'Confirm new case setup'
147
+ : response.outcome.message,
148
+ data: response.outcome.aCase
149
+ });
150
+ }
151
+ else if (!!response.error) {
152
+ this._snackBarService.openWarningSnackBar(this._translate.instant('side-menu.new-case.createCaseError') + ' ' + newCase.title);
153
+ this._dialogRef.close({
154
+ opened: false,
155
+ message: response.error === undefined
156
+ ? 'Confirm new case setup'
157
+ : response.error
158
+ });
159
+ }
160
+ }, error => {
161
+ this.loadingSubmit.off();
162
+ this._snackBarService.openErrorSnackBar(error.message ? error.message : error);
163
+ });
164
+ }
165
+ }
166
+ /**
167
+ * Function to filter out matchless options without accent and case-sensitive differences
168
+ * @param value to compare matching options
169
+ * @param options that should be filtered
170
+ * @return return matched options
171
+ */
172
+ _filter(value, options) {
173
+ const filterValue = value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
174
+ return options.filter(option => option.viewValue.toLowerCase().normalize('NFD')
175
+ .replace(/[\u0300-\u036f]/g, '').indexOf(filterValue) === 0);
176
+ }
177
+ closeNoNets() {
178
+ this._snackBarService.openErrorSnackBar(this._translate.instant('side-menu.new-case.noNets'));
179
+ this._dialogRef.close({
180
+ opened: false
181
+ });
182
+ }
183
+ nextStep() {
184
+ if (this.stepper1) {
185
+ if (this.stepper1.selectedIndex === 1) {
186
+ this.createNewCase();
187
+ }
188
+ else {
189
+ this.stepper1.next();
190
+ }
191
+ }
192
+ if (this.stepper2) {
193
+ if (this.stepper2.selectedIndex === 0) {
194
+ this.createNewCase();
195
+ }
196
+ else {
197
+ this.stepper2.next();
198
+ }
199
+ }
200
+ }
201
+ titleResolving() {
202
+ const caze = this._translate.instant('side-menu.new-case.case');
203
+ const name = typeof this.processFormControl.value === 'string' || this.processFormControl.value === null ?
204
+ undefined : this.processFormControl.value.viewValue;
205
+ return name === undefined ? caze : caze + ' - ' + name;
206
+ }
207
+ removeOldVersions(options) {
208
+ const tempNets = Object.assign([], options);
209
+ const petriNetIds = new Set(options.map(form => form.value));
210
+ const newestNets = new Array();
211
+ for (const value of petriNetIds) {
212
+ let current = { value, version: '1.0.0', viewValue: '' };
213
+ for (const net of tempNets) {
214
+ if (value === net.value && !semver.lt(net.version, current.version)) {
215
+ current = net;
216
+ }
217
+ }
218
+ newestNets.push(current);
219
+ }
220
+ return newestNets;
221
+ }
222
+ isCaseTitleEnabled() {
223
+ return !!(this._injectedData?.newCaseCreationConfiguration?.enableCaseTitle ?? true);
224
+ }
225
+ isCaseTitleRequired() {
226
+ return this.isCaseTitleEnabled() && !!(this._injectedData?.newCaseCreationConfiguration?.isCaseTitleRequired ?? true);
227
+ }
228
+ showVersion(option) {
229
+ if (option?.value?.version !== undefined)
230
+ this.netVersion = option.value.version;
231
+ }
232
+ checkVersion(viewValue) {
233
+ const currentOption = typeof viewValue === 'string' || viewValue === null ? undefined : viewValue.version;
234
+ if (currentOption === undefined) {
235
+ this.netVersion = '';
236
+ }
237
+ }
238
+ toNextStep(viewValue) {
239
+ if (viewValue !== null && viewValue?.value !== undefined) {
240
+ this.stepper1.next();
241
+ }
242
+ }
243
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NewCaseDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }, { token: i3.SnackBarService }, { token: i3.CaseResourceService }, { token: i4.HotkeysService }, { token: i5.TranslateService }, { token: NAE_NET_VERSION_VISIBLE, optional: true }, { token: NAE_NET_ALL_VERSIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
244
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NewCaseDialogComponent, selector: "nc-new-case-dialog", viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }, { propertyName: "stepper1", first: true, predicate: ["stepper1"], descendants: true }, { propertyName: "stepper2", first: true, predicate: ["stepper2"], descendants: true }], ngImport: i0, template: "<div #toolbar class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleResolving()}}\n</div>\n<div mat-dialog-content class=\"dialog-field-fix\">\n <mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\" netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.choose' | translate}}</ng-template>\n <mat-form-field color=\"primary\" appearance=\"outline\" class=\"margin-top-field\">\n <mat-label>\n {{'side-menu.new-case.choose' | translate}}\n </mat-label>\n <input type=\"text\" matInput [formControl]=\"processFormControl\" [matAutocomplete]=\"auto\" required\n (keyup.enter)=\"nextStep()\" (change)=\"checkVersion(processFormControl.value)\">\n <span class=\"version-span\" *ngIf=\"isVersionVisible\" matSuffix>{{netVersion}}</span>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\"\n (optionSelected)=\"showVersion($event.option)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option\">\n {{option.viewValue}}\n <span class=\"version-span\" *ngIf=\"isVersionVisible\">{{option.version}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div mat-dialog-actions class=\"cvti-button-field\" >\n <button *ngIf=\"isCaseTitleEnabled()\" mat-stroked-button (click)=\"toNextStep(processFormControl.value)\">{{'side-menu.new-case.next' | translate}}</button>\n <button *ngIf=\"!isCaseTitleEnabled()\" mat-raised-button color=\"primary\" (click)=\"createNewCase()\" [class.spinner]=\"loadingSubmit | async\"\n [disabled]=\"loadingSubmit | async\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n <mat-step *ngIf=\"isCaseTitleEnabled()\" [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field color=\"primary\" appearance=\"outline\" class=\"margin-top-field\">\n <mat-label>\n {{'side-menu.new-case.caseTitle' | translate}}\n </mat-label>\n <input matInput autocomplete=\"off\" [formControl]=\"titleFormControl\" [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div mat-dialog-actions class=\"cvti-button-field\">\n <button mat-button class=\"margin-right\" (click)=\"stepper1.reset(); checkVersion(processFormControl.value)\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-stroked-button color=\"primary\" class=\"min-height-36px\" (click)=\"createNewCase()\" [class.spinner]=\"loadingSubmit | async\"\n [disabled]=\"loadingSubmit | async\">\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{'side-menu.new-case.create' | translate}}</span>\n </button>\n </div>\n </mat-step>\n </mat-vertical-stepper>\n <mat-vertical-stepper *ngIf=\"(hasMultipleNets$ | async) === false\" linear #stepper2 class=\" netgrif-input\">\n <mat-step [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field color=\"primary\" appearance=\"outline\" class=\"margin-top-field\">\n <mat-label>\n {{'side-menu.new-case.caseTitle' | translate}}\n </mat-label>\n <input matInput autocomplete=\"off\" [formControl]=\"titleFormControl\" [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div mat-dialog-actions class=\"cvti-button-field\">\n <button mat-stroked-button (click)=\"stepper2.reset()\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-raised-button color=\"primary\" (click)=\"createNewCase()\" [class.spinner]=\"loadingSubmit | async\"\n [disabled]=\"loadingSubmit | async\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n </mat-vertical-stepper>\n <div *ngIf=\"(notInitialized$ | async)\" class=\"spinner-padding\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-spinner></mat-spinner>\n </div>\n\n</div>\n\n", styles: [".version-span{padding-right:8px;color:gray}.spinner-padding{padding:24px}.spinner-margin{margin-top:16px}.min-height-36px{min-height:36px}.margin-right{margin-right:8px}@keyframes spinner{to{transform:rotate(360deg)}}.spinner:before{content:\"\";box-sizing:border-box;position:absolute;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;border-radius:50%;border:2px solid #ffffff;border-top-color:#000;animation:spinner .8s linear infinite}.margin-top-field{margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", 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"] }, { kind: "directive", 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"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i11.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i11.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i11.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i13.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i13.MatLabel, selector: "mat-label" }, { kind: "directive", type: i13.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i14.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
245
+ }
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NewCaseDialogComponent, decorators: [{
247
+ type: Component,
248
+ args: [{ selector: 'nc-new-case-dialog', template: "<div #toolbar class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleResolving()}}\n</div>\n<div mat-dialog-content class=\"dialog-field-fix\">\n <mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\" netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.choose' | translate}}</ng-template>\n <mat-form-field color=\"primary\" appearance=\"outline\" class=\"margin-top-field\">\n <mat-label>\n {{'side-menu.new-case.choose' | translate}}\n </mat-label>\n <input type=\"text\" matInput [formControl]=\"processFormControl\" [matAutocomplete]=\"auto\" required\n (keyup.enter)=\"nextStep()\" (change)=\"checkVersion(processFormControl.value)\">\n <span class=\"version-span\" *ngIf=\"isVersionVisible\" matSuffix>{{netVersion}}</span>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\"\n (optionSelected)=\"showVersion($event.option)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option\">\n {{option.viewValue}}\n <span class=\"version-span\" *ngIf=\"isVersionVisible\">{{option.version}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div mat-dialog-actions class=\"cvti-button-field\" >\n <button *ngIf=\"isCaseTitleEnabled()\" mat-stroked-button (click)=\"toNextStep(processFormControl.value)\">{{'side-menu.new-case.next' | translate}}</button>\n <button *ngIf=\"!isCaseTitleEnabled()\" mat-raised-button color=\"primary\" (click)=\"createNewCase()\" [class.spinner]=\"loadingSubmit | async\"\n [disabled]=\"loadingSubmit | async\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n <mat-step *ngIf=\"isCaseTitleEnabled()\" [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field color=\"primary\" appearance=\"outline\" class=\"margin-top-field\">\n <mat-label>\n {{'side-menu.new-case.caseTitle' | translate}}\n </mat-label>\n <input matInput autocomplete=\"off\" [formControl]=\"titleFormControl\" [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div mat-dialog-actions class=\"cvti-button-field\">\n <button mat-button class=\"margin-right\" (click)=\"stepper1.reset(); checkVersion(processFormControl.value)\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-stroked-button color=\"primary\" class=\"min-height-36px\" (click)=\"createNewCase()\" [class.spinner]=\"loadingSubmit | async\"\n [disabled]=\"loadingSubmit | async\">\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{'side-menu.new-case.create' | translate}}</span>\n </button>\n </div>\n </mat-step>\n </mat-vertical-stepper>\n <mat-vertical-stepper *ngIf=\"(hasMultipleNets$ | async) === false\" linear #stepper2 class=\" netgrif-input\">\n <mat-step [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\" >\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field color=\"primary\" appearance=\"outline\" class=\"margin-top-field\">\n <mat-label>\n {{'side-menu.new-case.caseTitle' | translate}}\n </mat-label>\n <input matInput autocomplete=\"off\" [formControl]=\"titleFormControl\" [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div mat-dialog-actions class=\"cvti-button-field\">\n <button mat-stroked-button (click)=\"stepper2.reset()\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-raised-button color=\"primary\" (click)=\"createNewCase()\" [class.spinner]=\"loadingSubmit | async\"\n [disabled]=\"loadingSubmit | async\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n </mat-vertical-stepper>\n <div *ngIf=\"(notInitialized$ | async)\" class=\"spinner-padding\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-spinner></mat-spinner>\n </div>\n\n</div>\n\n", styles: [".version-span{padding-right:8px;color:gray}.spinner-padding{padding:24px}.spinner-margin{margin-top:16px}.min-height-36px{min-height:36px}.margin-right{margin-right:8px}@keyframes spinner{to{transform:rotate(360deg)}}.spinner:before{content:\"\";box-sizing:border-box;position:absolute;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;border-radius:50%;border:2px solid #ffffff;border-top-color:#000;animation:spinner .8s linear infinite}.margin-top-field{margin-top:4px}\n"] }]
249
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
250
+ type: Inject,
251
+ args: [MAT_DIALOG_DATA]
252
+ }] }, { type: i2.FormBuilder }, { type: i3.SnackBarService }, { type: i3.CaseResourceService }, { type: i4.HotkeysService }, { type: i5.TranslateService }, { type: undefined, decorators: [{
253
+ type: Optional
254
+ }, {
255
+ type: Inject,
256
+ args: [NAE_NET_VERSION_VISIBLE]
257
+ }] }, { type: undefined, decorators: [{
258
+ type: Optional
259
+ }, {
260
+ type: Inject,
261
+ args: [NAE_NET_ALL_VERSIONS]
262
+ }] }], propDecorators: { toolbar: [{
263
+ type: ViewChild,
264
+ args: ['toolbar']
265
+ }], stepper1: [{
266
+ type: ViewChild,
267
+ args: ['stepper1']
268
+ }], stepper2: [{
269
+ type: ViewChild,
270
+ args: ['stepper2']
271
+ }] } });
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhc2UtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9uZXctY2FzZS1kaWFsb2cvbmV3LWNhc2UtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9uZXctY2FzZS1kaWFsb2cvbmV3LWNhc2UtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFN0YsT0FBTyxFQUUwQixjQUFjLEVBQzNDLG9CQUFvQixFQUFFLHVCQUF1QixFQUdoRCxNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxNQUFNLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQWF2RSxNQUFNLE9BQU8sc0JBQXNCO0lBMEJUO0lBQ3lCO0lBQ3pCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUE5QnRCLGdCQUFnQixDQUFXO0lBQzNCLGlCQUFpQixDQUFXO0lBQzVCLGtCQUFrQixHQUFHLElBQUksV0FBVyxDQUFn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bEMsU0FBUzsrQkFDSSxvQkFBb0I7OzBCQStCakIsTUFBTTsyQkFBQyxlQUFlOzswQkFNdEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUMxQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9CQUFvQjt5Q0FwQjlCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFFRyxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0UsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7TWF0VG9vbGJhcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQge1xuICAgIENhc2VSZXNvdXJjZVNlcnZpY2UsIENyZWF0ZUNhc2VFdmVudE91dGNvbWUsXG4gICAgRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlLCBMb2FkaW5nRW1pdHRlcixcbiAgICBOQUVfTkVUX0FMTF9WRVJTSU9OUywgTkFFX05FVF9WRVJTSU9OX1ZJU0lCTEUsXG4gICAgTmV3Q2FzZUluamVjdGlvbkRhdGEsIFNpZGVNZW51SW5qZWN0aW9uRGF0YSxcbiAgICBTbmFja0JhclNlcnZpY2Vcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7SG90a2V5LCBIb3RrZXlzU2VydmljZX0gZnJvbSAnYW5ndWxhcjItaG90a2V5cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHttYXAsIHN0YXJ0V2l0aCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5pbXBvcnQge01hdE9wdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbnRlcmZhY2UgRm9ybSB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICB2aWV3VmFsdWU6IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLW5ldy1jYXNlLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ldy1jYXNlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmV3LWNhc2UtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmV3Q2FzZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBpc1ZlcnNpb25WaXNpYmxlPzogYm9vbGVhbjtcbiAgICBhbGxWZXJzaW9uRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcHJvY2Vzc0Zvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IEZvcm0+KCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB0aXRsZUZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICBuZXRWZXJzaW9uOiBzdHJpbmc7XG5cbiAgICBvcHRpb25zOiBBcnJheTxGb3JtPiA9IFtdO1xuICAgIGNvbG9yczogQXJyYXk8Rm9ybT4gPSBbXG4gICAgICAgIHt2YWx1ZTogJ3BhbmVsLXByaW1hcnktaWNvbicsIHZpZXdWYWx1ZTogJ1ByaW1hcnknfSxcbiAgICAgICAge3ZhbHVlOiAncGFuZWwtYWNjZW50LWljb24nLCB2aWV3VmFsdWU6ICdBY2NlbnQnfSxcbiAgICBdO1xuICAgIGZpbHRlcmVkT3B0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8Rm9ybT4+O1xuICAgIEBWaWV3Q2hpbGQoJ3Rvb2xiYXInKSB0b29sYmFyOiBNYXRUb29sYmFyO1xuXG4gICAgQFZpZXdDaGlsZCgnc3RlcHBlcjEnKSBzdGVwcGVyMTtcbiAgICBAVmlld0NoaWxkKCdzdGVwcGVyMicpIHN0ZXBwZXIyO1xuXG4gICAgcHVibGljIGxvYWRpbmdTdWJtaXQ6IExvYWRpbmdFbWl0dGVyO1xuICAgIHByb3RlY3RlZCBfb3B0aW9ucyQ6IFJlcGxheVN1YmplY3Q8QXJyYXk8Rm9ybT4+O1xuICAgIHByb3RlY3RlZCBfaW5qZWN0ZWREYXRhOiBOZXdDYXNlSW5qZWN0aW9uRGF0YTtcbiAgICBwcm90ZWN0ZWQgX2hhc011bHRpcGxlTmV0cyQ6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj47XG4gICAgcHJvdGVjdGVkIF9ub3RJbml0aWFsaXplZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgICBwcml2YXRlIF9hbGxvd2VkTmV0c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxOZXdDYXNlRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJvdGVjdGVkIF9kYXRhOiBTaWRlTWVudUluamVjdGlvbkRhdGEsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Nhc2VSZXNvdXJjZVNlcnZpY2U6IENhc2VSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ob3RrZXlzU2VydmljZTogSG90a2V5c1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfTkVUX1ZFUlNJT05fVklTSUJMRSkgaXNWZXJzaW9uVmlzaWJsZTogYm9vbGVhbixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9ORVRfQUxMX1ZFUlNJT05TKSBhbGxWZXJzaW9uRW5hYmxlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5fZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5faW5qZWN0ZWREYXRhID0gdGhpcy5fZGF0YSBhcyBOZXdDYXNlSW5qZWN0aW9uRGF0YTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzVmVyc2lvblZpc2libGUgPSBpc1ZlcnNpb25WaXNpYmxlICE9PSBudWxsID8gaXNWZXJzaW9uVmlzaWJsZSA6IHRydWU7XG4gICAgICAgIHRoaXMuYWxsVmVyc2lvbkVuYWJsZWQgPSBhbGxWZXJzaW9uRW5hYmxlZCAhPT0gbnVsbCA/IGFsbFZlcnNpb25FbmFibGVkIDogZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5faW5qZWN0ZWREYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlTm9OZXRzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faG90a2V5c1NlcnZpY2UuYWRkKG5ldyBIb3RrZXkoJ2VudGVyJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICB0aGlzLm5leHRTdGVwKCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLl9oYXNNdWx0aXBsZU5ldHMkID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG4gICAgICAgIHRoaXMuX25vdEluaXRpYWxpemVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgICAgIHRoaXMuX29wdGlvbnMkID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG4gICAgICAgIHRoaXMubG9hZGluZ1N1Ym1pdCA9IG5ldyBMb2FkaW5nRW1pdHRlcihmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5fYWxsb3dlZE5ldHNTdWJzY3JpcHRpb24gPSB0aGlzLl9pbmplY3RlZERhdGEuYWxsb3dlZE5ldHMkLnBpcGUoXG4gICAgICAgICAgICBtYXAobmV0cyA9PiBuZXRzLm1hcChwZXRyaU5ldCA9PiAoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiBwZXRyaU5ldC5zdHJpbmdJZCxcbiAgICAgICAgICAgICAgICB2aWV3VmFsdWU6IHBldHJpTmV0LnRpdGxlLFxuICAgICAgICAgICAgICAgIHZlcnNpb246IHBldHJpTmV0LnZlcnNpb25cbiAgICAgICAgICAgIH0pKSksXG4gICAgICAgICAgICBtYXAobmV0cyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFsbFZlcnNpb25FbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbW92ZU9sZFZlcnNpb25zKG5ldHMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXRzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTm9OZXRzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgICAgICAgICAgdGhpcy5faGFzTXVsdGlwbGVOZXRzJC5uZXh0KG9wdGlvbnMubGVuZ3RoID4gMSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApLnN1YnNjcmliZShvcHRpb25zID0+IHtcbiAgICAgICAgICAgIHRoaXMuX29wdGlvbnMkLm5leHQob3B0aW9ucyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX25vdEluaXRpYWxpemVkJC5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RJbml0aWFsaXplZCQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbm90SW5pdGlhbGl6ZWQkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX29wdGlvbnMkLCB0aGlzLnByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpKV0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoc291cmNlcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHNvdXJjZXNbMF07XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0eXBlb2Ygc291cmNlc1sxXSA9PT0gJ3N0cmluZycgfHwgc291cmNlc1sxXSA9PT0gbnVsbCA/IHNvdXJjZXNbMV0gOiBzb3VyY2VzWzFdLnZpZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5wdXQgPyB0aGlzLl9maWx0ZXIoaW5wdXQgYXMgc3RyaW5nLCBvcHRpb25zKSA6IG9wdGlvbnMuc2xpY2UoKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKGZpbHRlcmVkT3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkT3B0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRm9ybUNvbnRyb2wuc2V0VmFsdWUoZmlsdGVyZWRPcHRpb25zWzBdLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2hhc011bHRpcGxlTmV0cyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nU3VibWl0LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2FsbG93ZWROZXRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYXNNdWx0aXBsZU5ldHMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzTXVsdGlwbGVOZXRzJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5vdEluaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vdEluaXRpYWxpemVkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5Rm4ocHJvY2VzczogRm9ybSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzPy52aWV3VmFsdWUgPyBwcm9jZXNzPy52aWV3VmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlTmV3Q2FzZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZ1N1Ym1pdC52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudGl0bGVGb3JtQ29udHJvbC52YWxpZCB8fCAhdGhpcy5pc0Nhc2VUaXRsZVJlcXVpcmVkKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0Nhc2UgPSB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudGl0bGVGb3JtQ29udHJvbC52YWx1ZSA9PT0gJycgPyBudWxsIDogdGhpcy50aXRsZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncGFuZWwtcHJpbWFyeS1pY29uJyxcbiAgICAgICAgICAgICAgICBuZXRJZDogdGhpcy5vcHRpb25zLmxlbmd0aCA9PT0gMSA/IHRoaXMub3B0aW9uc1swXS52YWx1ZSA6XG4gICAgICAgICAgICAgICAgICAgICggdHlwZW9mIHRoaXMucHJvY2Vzc0Zvcm1Db250cm9sLnZhbHVlID09PSAnc3RyaW5nJyA/IHRoaXMucHJvY2Vzc0Zvcm1Db250cm9sLnZhbHVlIDogdGhpcy5wcm9jZXNzRm9ybUNvbnRyb2wudmFsdWUudmFsdWUgKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1N1Ym1pdC5vbigpO1xuICAgICAgICAgICAgdGhpcy5fY2FzZVJlc291cmNlU2VydmljZS5jcmVhdGVDYXNlKG5ld0Nhc2UpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlOiBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N1Ym1pdC5vZmYoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIXJlc3BvbnNlLm91dGNvbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zbmFja0JhclNlcnZpY2Uub3BlblN1Y2Nlc3NTbmFja0JhcihyZXNwb25zZS5vdXRjb21lLm1lc3NhZ2UgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdzaWRlLW1lbnUubmV3LWNhc2UuY3JlYXRlQ2FzZScpICsgJyAnICsgbmV3Q2FzZS50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzcG9uc2Uub3V0Y29tZS5tZXNzYWdlID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NvbmZpcm0gbmV3IGNhc2Ugc2V0dXAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlc3BvbnNlLm91dGNvbWUubWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IChyZXNwb25zZS5vdXRjb21lIGFzIENyZWF0ZUNhc2VFdmVudE91dGNvbWUpLmFDYXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCEhcmVzcG9uc2UuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zbmFja0JhclNlcnZpY2Uub3Blbldhcm5pbmdTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnc2lkZS1tZW51Lm5ldy1jYXNlLmNyZWF0ZUNhc2VFcnJvcicpICsgJyAnICsgbmV3Q2FzZS50aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzcG9uc2UuZXJyb3IgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ29uZmlybSBuZXcgY2FzZSBzZXR1cCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcG9uc2UuZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nU3VibWl0Lm9mZigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc25hY2tCYXJTZXJ2aWNlLm9wZW5FcnJvclNuYWNrQmFyKGVycm9yLm1lc3NhZ2UgPyBlcnJvci5tZXNzYWdlIDogZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIGZpbHRlciBvdXQgbWF0Y2hsZXNzIG9wdGlvbnMgd2l0aG91dCBhY2NlbnQgYW5kIGNhc2Utc2Vuc2l0aXZlIGRpZmZlcmVuY2VzXG4gICAgICogQHBhcmFtIHZhbHVlIHRvIGNvbXBhcmUgbWF0Y2hpbmcgb3B0aW9uc1xuICAgICAqIEBwYXJhbSBvcHRpb25zIHRoYXQgc2hvdWxkIGJlIGZpbHRlcmVkXG4gICAgICogQHJldHVybiAgcmV0dXJuIG1hdGNoZWQgb3B0aW9uc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBfZmlsdGVyKHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM6IEFycmF5PEZvcm0+KTogQXJyYXk8Rm9ybT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCkubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XG5cbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24udmlld1ZhbHVlLnRvTG93ZXJDYXNlKCkubm9ybWFsaXplKCdORkQnKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKS5pbmRleE9mKGZpbHRlclZhbHVlKSA9PT0gMCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsb3NlTm9OZXRzKCkge1xuICAgICAgICB0aGlzLl9zbmFja0JhclNlcnZpY2Uub3BlbkVycm9yU25hY2tCYXIodGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3NpZGUtbWVudS5uZXctY2FzZS5ub05ldHMnKSk7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5leHRTdGVwKCkge1xuICAgICAgICBpZiAodGhpcy5zdGVwcGVyMSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RlcHBlcjEuc2VsZWN0ZWRJbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTmV3Q2FzZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXBwZXIxLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zdGVwcGVyMikge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RlcHBlcjIuc2VsZWN0ZWRJbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTmV3Q2FzZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXBwZXIyLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRpdGxlUmVzb2x2aW5nKCkge1xuICAgICAgICBjb25zdCBjYXplID0gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3NpZGUtbWVudS5uZXctY2FzZS5jYXNlJyk7XG4gICAgICAgIGNvbnN0IG5hbWUgPSB0eXBlb2YgdGhpcy5wcm9jZXNzRm9ybUNvbnRyb2wudmFsdWUgPT09ICdzdHJpbmcnIHx8IHRoaXMucHJvY2Vzc0Zvcm1Db250cm9sLnZhbHVlID09PSBudWxsID9cbiAgICAgICAgICAgIHVuZGVmaW5lZCA6IHRoaXMucHJvY2Vzc0Zvcm1Db250cm9sLnZhbHVlLnZpZXdWYWx1ZTtcbiAgICAgICAgcmV0dXJuIG5hbWUgPT09IHVuZGVmaW5lZCA/IGNhemUgOiBjYXplICsgJyAtICcgKyBuYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlT2xkVmVyc2lvbnMob3B0aW9uczogQXJyYXk8Rm9ybT4pOiBBcnJheTxGb3JtPiB7XG4gICAgICAgIGNvbnN0IHRlbXBOZXRzID0gT2JqZWN0LmFzc2lnbihbXSwgb3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHBldHJpTmV0SWRzID0gbmV3IFNldChvcHRpb25zLm1hcChmb3JtID0+IGZvcm0udmFsdWUpKTtcbiAgICAgICAgY29uc3QgbmV3ZXN0TmV0cyA9IG5ldyBBcnJheTxGb3JtPigpO1xuXG4gICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgcGV0cmlOZXRJZHMpIHtcbiAgICAgICAgICAgIGxldCBjdXJyZW50OiBGb3JtID0ge3ZhbHVlLCB2ZXJzaW9uOiAnMS4wLjAnLCB2aWV3VmFsdWU6ICcnfTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbmV0IG9mIHRlbXBOZXRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBuZXQudmFsdWUgJiYgIXNlbXZlci5sdChuZXQudmVyc2lvbiwgY3VycmVudC52ZXJzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gbmV0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld2VzdE5ldHMucHVzaChjdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3ZXN0TmV0cztcbiAgICB9XG5cbiAgICBpc0Nhc2VUaXRsZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLl9pbmplY3RlZERhdGE/Lm5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb24/LmVuYWJsZUNhc2VUaXRsZSA/PyB0cnVlKTtcbiAgICB9XG5cbiAgICBpc0Nhc2VUaXRsZVJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Nhc2VUaXRsZUVuYWJsZWQoKSAmJiAhISh0aGlzLl9pbmplY3RlZERhdGE/Lm5ld0Nhc2VDcmVhdGlvbkNvbmZpZ3VyYXRpb24/LmlzQ2FzZVRpdGxlUmVxdWlyZWQgPz8gdHJ1ZSk7XG4gICAgfVxuXG4gICAgc2hvd1ZlcnNpb24ob3B0aW9uOiBNYXRPcHRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKG9wdGlvbj8udmFsdWU/LnZlcnNpb24gIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHRoaXMubmV0VmVyc2lvbiA9IG9wdGlvbi52YWx1ZS52ZXJzaW9uO1xuICAgIH1cblxuICAgIGNoZWNrVmVyc2lvbih2aWV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50T3B0aW9uID0gdHlwZW9mIHZpZXdWYWx1ZSA9PT0gJ3N0cmluZycgfHwgdmlld1ZhbHVlID09PSBudWxsID8gdW5kZWZpbmVkIDogdmlld1ZhbHVlLnZlcnNpb247XG4gICAgICAgIGlmIChjdXJyZW50T3B0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMubmV0VmVyc2lvbiA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9OZXh0U3RlcCh2aWV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmlld1ZhbHVlICE9PSBudWxsICYmIHZpZXdWYWx1ZT8udmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5zdGVwcGVyMS5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICN0b29sYmFyIGNsYXNzPVwibWF0LWRpYWxvZy10aXRsZVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBub25lXCI+XG4gICAge3t0aXRsZVJlc29sdmluZygpfX1cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJkaWFsb2ctZmllbGQtZml4XCI+XG4gICAgPG1hdC12ZXJ0aWNhbC1zdGVwcGVyICpuZ0lmPVwiaGFzTXVsdGlwbGVOZXRzJCB8IGFzeW5jXCIgbGluZWFyICNzdGVwcGVyMSBjbGFzcz1cIiBuZXRncmlmLWlucHV0XCI+XG4gICAgICAgIDxtYXQtc3RlcCBbc3RlcENvbnRyb2xdPVwicHJvY2Vzc0Zvcm1Db250cm9sXCIgZXJyb3JNZXNzYWdlPVwie3snc2lkZS1tZW51Lm5ldy1jYXNlLmVyckZpcnN0JyB8IHRyYW5zbGF0ZX19XCIgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD57eydzaWRlLW1lbnUubmV3LWNhc2UuY2hvb3NlJyB8IHRyYW5zbGF0ZX19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cInByaW1hcnlcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwibWFyZ2luLXRvcC1maWVsZFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHt7J3NpZGUtbWVudS5uZXctY2FzZS5jaG9vc2UnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwicHJvY2Vzc0Zvcm1Db250cm9sXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCIgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIm5leHRTdGVwKClcIiAoY2hhbmdlKT1cImNoZWNrVmVyc2lvbihwcm9jZXNzRm9ybUNvbnRyb2wudmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZXJzaW9uLXNwYW5cIiAqbmdJZj1cImlzVmVyc2lvblZpc2libGVcIiBtYXRTdWZmaXg+e3tuZXRWZXJzaW9ufX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwic2hvd1ZlcnNpb24oJGV2ZW50Lm9wdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMkIHwgYXN5bmNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e29wdGlvbi52aWV3VmFsdWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZXJzaW9uLXNwYW5cIiAqbmdJZj1cImlzVmVyc2lvblZpc2libGVcIj57e29wdGlvbi52ZXJzaW9ufX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJjdnRpLWJ1dHRvbi1maWVsZFwiID5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaXNDYXNlVGl0bGVFbmFibGVkKClcIiAgbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJ0b05leHRTdGVwKHByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZSlcIj57eydzaWRlLW1lbnUubmV3LWNhc2UubmV4dCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhaXNDYXNlVGl0bGVFbmFibGVkKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY3JlYXRlTmV3Q2FzZSgpXCIgW2NsYXNzLnNwaW5uZXJdPVwibG9hZGluZ1N1Ym1pdCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nU3VibWl0IHwgYXN5bmNcIj57eydzaWRlLW1lbnUubmV3LWNhc2UuY3JlYXRlJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtc3RlcD5cbiAgICAgICAgPG1hdC1zdGVwICpuZ0lmPVwiaXNDYXNlVGl0bGVFbmFibGVkKClcIiBbc3RlcENvbnRyb2xdPVwidGl0bGVGb3JtQ29udHJvbFwiIGVycm9yTWVzc2FnZT1cInt7J3NpZGUtbWVudS5uZXctY2FzZS5lcnJTZWNvbmQnIHwgdHJhbnNsYXRlfX1cIiA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPnt7J3NpZGUtbWVudS5uZXctY2FzZS5jYXNlVGl0bGUnIHwgdHJhbnNsYXRlfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJtYXJnaW4tdG9wLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge3snc2lkZS1tZW51Lm5ldy1jYXNlLmNhc2VUaXRsZScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUNvbnRyb2xdPVwidGl0bGVGb3JtQ29udHJvbFwiIFtyZXF1aXJlZF09XCJpc0Nhc2VUaXRsZVJlcXVpcmVkKClcIiAoa2V5dXAuZW50ZXIpPVwibmV4dFN0ZXAoKVwiPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiY3Z0aS1idXR0b24tZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJtYXJnaW4tcmlnaHRcIiAoY2xpY2spPVwic3RlcHBlcjEucmVzZXQoKTsgY2hlY2tWZXJzaW9uKHByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZSlcIj57eydzaWRlLW1lbnUubmV3LWNhc2UucmVzZXQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cIm1pbi1oZWlnaHQtMzZweFwiIChjbGljayk9XCJjcmVhdGVOZXdDYXNlKClcIiBbY2xhc3Muc3Bpbm5lcl09XCJsb2FkaW5nU3VibWl0IHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdTdWJtaXQgfCBhc3luY1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nU3VibWl0IHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZ4RmxleD57eydzaWRlLW1lbnUubmV3LWNhc2UuY3JlYXRlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LXN0ZXA+XG4gICAgPC9tYXQtdmVydGljYWwtc3RlcHBlcj5cbiAgICA8bWF0LXZlcnRpY2FsLXN0ZXBwZXIgKm5nSWY9XCIoaGFzTXVsdGlwbGVOZXRzJCB8IGFzeW5jKSA9PT0gZmFsc2VcIiBsaW5lYXIgI3N0ZXBwZXIyIGNsYXNzPVwiIG5ldGdyaWYtaW5wdXRcIj5cbiAgICAgICAgPG1hdC1zdGVwIFtzdGVwQ29udHJvbF09XCJ0aXRsZUZvcm1Db250cm9sXCIgZXJyb3JNZXNzYWdlPVwie3snc2lkZS1tZW51Lm5ldy1jYXNlLmVyclNlY29uZCcgfCB0cmFuc2xhdGV9fVwiID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwTGFiZWw+e3snc2lkZS1tZW51Lm5ldy1jYXNlLmNhc2VUaXRsZScgfCB0cmFuc2xhdGV9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY29sb3I9XCJwcmltYXJ5XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cIm1hcmdpbi10b3AtZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7eydzaWRlLW1lbnUubmV3LWNhc2UuY2FzZVRpdGxlJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0ICBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUNvbnRyb2xdPVwidGl0bGVGb3JtQ29udHJvbFwiIFtyZXF1aXJlZF09XCJpc0Nhc2VUaXRsZVJlcXVpcmVkKClcIiAoa2V5dXAuZW50ZXIpPVwibmV4dFN0ZXAoKVwiPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiY3Z0aS1idXR0b24tZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwic3RlcHBlcjIucmVzZXQoKVwiPnt7J3NpZGUtbWVudS5uZXctY2FzZS5yZXNldCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNyZWF0ZU5ld0Nhc2UoKVwiIFtjbGFzcy5zcGlubmVyXT1cImxvYWRpbmdTdWJtaXQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ1N1Ym1pdCB8IGFzeW5jXCI+e3snc2lkZS1tZW51Lm5ldy1jYXNlLmNyZWF0ZScgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LXN0ZXA+XG4gICAgPC9tYXQtdmVydGljYWwtc3RlcHBlcj5cbiAgICA8ZGl2ICpuZ0lmPVwiKG5vdEluaXRpYWxpemVkJCB8IGFzeW5jKVwiIGNsYXNzPVwic3Bpbm5lci1wYWRkaW5nXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG5cbiJdfQ==
@@ -0,0 +1,88 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { AbstractTaskViewComponent, AllowedNetsService, AllowedNetsServiceFactory, NAE_BASE_FILTER, SearchService, SimpleFilter, TaskEvent, TaskViewService, UserFilterConstants, } from '@netgrif/components-core';
3
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { localAllowedNetsFactory } from '../../side-menu/content-components/save-filter/save-filter.component';
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/router";
9
+ import * as i4 from "@ngbracket/ngx-layout";
10
+ import * as i5 from "../../panel/task-panel-list/task-list.component";
11
+ import * as i6 from "@ngx-translate/core";
12
+ export function saveBaseFilterFactory(dialogControl) {
13
+ if (!dialogControl) {
14
+ throw new Error('NewFilterCaseId was not provided in the sidemenu injectio data');
15
+ }
16
+ const injectedData = dialogControl;
17
+ return {
18
+ filter: SimpleFilter.fromTaskQuery({
19
+ case: { id: injectedData.newFilterCaseId },
20
+ transitionId: UserFilterConstants.NEW_FILTER_TRANSITION_ID
21
+ })
22
+ };
23
+ }
24
+ export class SaveFilterDialogComponent extends AbstractTaskViewComponent {
25
+ _dialogRef;
26
+ _data;
27
+ _userFilterService;
28
+ _log;
29
+ _injectedData;
30
+ constructor(_dialogRef, _data, _userFilterService, _log, taskViewService, _activatedRoute) {
31
+ super(taskViewService, _activatedRoute);
32
+ this._dialogRef = _dialogRef;
33
+ this._data = _data;
34
+ this._userFilterService = _userFilterService;
35
+ this._log = _log;
36
+ if (this._data) {
37
+ this._injectedData = this._data;
38
+ }
39
+ }
40
+ processTaskEvents(notification) {
41
+ if (!notification.success) {
42
+ return;
43
+ }
44
+ if (notification.event === TaskEvent.FINISH) {
45
+ this._dialogRef.close({ opened: false, message: 'Filter saved' });
46
+ }
47
+ if (notification.event === TaskEvent.CANCEL) {
48
+ this._userFilterService.delete(this._injectedData.newFilterCaseId);
49
+ this._dialogRef.close({ opened: false, message: 'Filter save canceled' });
50
+ }
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SaveFilterDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.UserFiltersService }, { token: i2.LoggerService }, { token: i2.TaskViewService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SaveFilterDialogComponent, selector: "nc-save-filter-dialog", providers: [
54
+ TaskViewService,
55
+ SearchService,
56
+ {
57
+ provide: NAE_BASE_FILTER,
58
+ useFactory: saveBaseFilterFactory,
59
+ deps: [MAT_DIALOG_DATA]
60
+ },
61
+ {
62
+ provide: AllowedNetsService,
63
+ useFactory: localAllowedNetsFactory,
64
+ deps: [AllowedNetsServiceFactory]
65
+ },
66
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'search.tooltip.save' | translate}}\n</div>\n<div mat-dialog-content class=\"save-filter-container side-menu-root\">\n <nc-task-list [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\"\n [responsiveBody]=\"true\" [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"processTaskEvents($event)\" fxFlex class=\"virtual-scroll-list-padding\"></nc-task-list>\n</div>\n\n", styles: [".save-filter-container{height:calc(100% - 64px);padding-left:8px;padding-right:8px;margin:0}.virtual-scroll-list-padding{padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i5.TaskListComponent, selector: "nc-task-list" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SaveFilterDialogComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'nc-save-filter-dialog', providers: [
71
+ TaskViewService,
72
+ SearchService,
73
+ {
74
+ provide: NAE_BASE_FILTER,
75
+ useFactory: saveBaseFilterFactory,
76
+ deps: [MAT_DIALOG_DATA]
77
+ },
78
+ {
79
+ provide: AllowedNetsService,
80
+ useFactory: localAllowedNetsFactory,
81
+ deps: [AllowedNetsServiceFactory]
82
+ },
83
+ ], template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'search.tooltip.save' | translate}}\n</div>\n<div mat-dialog-content class=\"save-filter-container side-menu-root\">\n <nc-task-list [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\"\n [responsiveBody]=\"true\" [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"processTaskEvents($event)\" fxFlex class=\"virtual-scroll-list-padding\"></nc-task-list>\n</div>\n\n", styles: [".save-filter-container{height:calc(100% - 64px);padding-left:8px;padding-right:8px;margin:0}.virtual-scroll-list-padding{padding-right:4px}\n"] }]
84
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
85
+ type: Inject,
86
+ args: [MAT_DIALOG_DATA]
87
+ }] }, { type: i2.UserFiltersService }, { type: i2.LoggerService }, { type: i2.TaskViewService }, { type: i3.ActivatedRoute }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9zYXZlLWZpbHRlci1kaWFsb2cvc2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9zYXZlLWZpbHRlci1kaWFsb2cvc2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUV6QixlQUFlLEVBRWYsYUFBYSxFQUFFLFlBQVksRUFDM0IsU0FBUyxFQUVULGVBQWUsRUFBRSxtQkFBbUIsR0FFdkMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7O0FBRTdHLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxhQUFzQztJQUN4RSxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztLQUNyRjtJQUNELE1BQU0sWUFBWSxHQUFHLGFBQXdDLENBQUM7SUFFOUQsT0FBTztRQUNILE1BQU0sRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQy9CLElBQUksRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsZUFBZSxFQUFDO1lBQ3hDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyx3QkFBd0I7U0FDN0QsQ0FBQztLQUNMLENBQUM7QUFDTixDQUFDO0FBc0JELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx5QkFBeUI7SUFJOUM7SUFDeUI7SUFDekI7SUFDQTtJQUxaLGFBQWEsQ0FBMEI7SUFFakQsWUFBc0IsVUFBbUQsRUFDMUIsS0FBOEIsRUFDdkQsa0JBQXNDLEVBQ3RDLElBQW1CLEVBQzdCLGVBQWdDLEVBQ2hDLGVBQWdDO1FBQ3hDLEtBQUssQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFOdEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFDdkQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxTQUFJLEdBQUosSUFBSSxDQUFlO1FBSXJDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQWdDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRU0saUJBQWlCLENBQUMsWUFBbUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsT0FBTztTQUNWO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUMsQ0FBQyxDQUFDO1NBQzNFO0lBQ0wsQ0FBQzt3R0E3QlEseUJBQXlCLDhDQUtkLGVBQWU7NEZBTDFCLHlCQUF5QixnREFmdkI7WUFDUCxlQUFlO1lBQ2YsYUFBYTtZQUNiO2dCQUNJLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixVQUFVLEVBQUUscUJBQXFCO2dCQUNqQyxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDMUI7WUFDRDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixVQUFVLEVBQUUsdUJBQXVCO2dCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzthQUNwQztTQUNKLGlEQ2xETCwwaUJBUUE7OzRGRDRDYSx5QkFBeUI7a0JBbkJyQyxTQUFTOytCQUNJLHVCQUF1QixhQUd0Qjt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2I7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7NEJBQ2pDLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQzt5QkFDMUI7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsVUFBVSxFQUFFLHVCQUF1Qjs0QkFDbkMsSUFBSSxFQUFFLENBQUMseUJBQXlCLENBQUM7eUJBQ3BDO3FCQUNKOzswQkFPWSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUYXNrVmlld0NvbXBvbmVudCxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgQmFzZUZpbHRlcixcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIE5BRV9CQVNFX0ZJTFRFUixcbiAgICBTYXZlRmlsdGVySW5qZWN0aW9uRGF0YSxcbiAgICBTZWFyY2hTZXJ2aWNlLCBTaW1wbGVGaWx0ZXIsXG4gICAgVGFza0V2ZW50LFxuICAgIFRhc2tFdmVudE5vdGlmaWNhdGlvbixcbiAgICBUYXNrVmlld1NlcnZpY2UsIFVzZXJGaWx0ZXJDb25zdGFudHMsXG4gICAgVXNlckZpbHRlcnNTZXJ2aWNlLFxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2xvY2FsQWxsb3dlZE5ldHNGYWN0b3J5fSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3NhdmUtZmlsdGVyL3NhdmUtZmlsdGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXZlQmFzZUZpbHRlckZhY3RvcnkoZGlhbG9nQ29udHJvbDogU2F2ZUZpbHRlckluamVjdGlvbkRhdGEpOiBCYXNlRmlsdGVyIHtcbiAgICBpZiAoIWRpYWxvZ0NvbnRyb2wpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXdGaWx0ZXJDYXNlSWQgd2FzIG5vdCBwcm92aWRlZCBpbiB0aGUgc2lkZW1lbnUgaW5qZWN0aW8gZGF0YScpO1xuICAgIH1cbiAgICBjb25zdCBpbmplY3RlZERhdGEgPSBkaWFsb2dDb250cm9sIGFzIFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmlsdGVyOiBTaW1wbGVGaWx0ZXIuZnJvbVRhc2tRdWVyeSh7XG4gICAgICAgICAgICBjYXNlOiB7aWQ6IGluamVjdGVkRGF0YS5uZXdGaWx0ZXJDYXNlSWR9LFxuICAgICAgICAgICAgdHJhbnNpdGlvbklkOiBVc2VyRmlsdGVyQ29uc3RhbnRzLk5FV19GSUxURVJfVFJBTlNJVElPTl9JRFxuICAgICAgICB9KVxuICAgIH07XG59XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1zYXZlLWZpbHRlci1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYXZlLWZpbHRlci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NhdmUtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9CQVNFX0ZJTFRFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHNhdmVCYXNlRmlsdGVyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtNQVRfRElBTE9HX0RBVEFdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFsbG93ZWROZXRzU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvY2FsQWxsb3dlZE5ldHNGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW0FsbG93ZWROZXRzU2VydmljZUZhY3RvcnldXG4gICAgICAgIH0sXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTYXZlRmlsdGVyRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUYXNrVmlld0NvbXBvbmVudCB7XG5cbiAgICBwcm90ZWN0ZWQgX2luamVjdGVkRGF0YTogU2F2ZUZpbHRlckluamVjdGlvbkRhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNhdmVGaWx0ZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgX2RhdGE6IFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlckZpbHRlclNlcnZpY2U6IFVzZXJGaWx0ZXJzU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBfYWN0aXZhdGVkUm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBzdXBlcih0YXNrVmlld1NlcnZpY2UsIF9hY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9kYXRhIGFzIFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3NUYXNrRXZlbnRzKG5vdGlmaWNhdGlvbjogVGFza0V2ZW50Tm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghbm90aWZpY2F0aW9uLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3RpZmljYXRpb24uZXZlbnQgPT09IFRhc2tFdmVudC5GSU5JU0gpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7b3BlbmVkOiBmYWxzZSwgbWVzc2FnZTogJ0ZpbHRlciBzYXZlZCd9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3RpZmljYXRpb24uZXZlbnQgPT09IFRhc2tFdmVudC5DQU5DRUwpIHtcbiAgICAgICAgICAgIHRoaXMuX3VzZXJGaWx0ZXJTZXJ2aWNlLmRlbGV0ZSh0aGlzLl9pbmplY3RlZERhdGEubmV3RmlsdGVyQ2FzZUlkKTtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7b3BlbmVkOiBmYWxzZSwgbWVzc2FnZTogJ0ZpbHRlciBzYXZlIGNhbmNlbGVkJ30pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC1kaWFsb2ctdGl0bGVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgbm9uZVwiPlxuICAgIHt7ICdzZWFyY2gudG9vbHRpcC5zYXZlJyB8IHRyYW5zbGF0ZX19XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwic2F2ZS1maWx0ZXItY29udGFpbmVyIHNpZGUtbWVudS1yb290XCI+XG4gICAgPG5jLXRhc2stbGlzdCBbYWxsb3dNdWx0aU9wZW5dPVwiZmFsc2VcIiBbdGFza3MkXT1cInRhc2tzJFwiIFtsb2FkaW5nJF09XCJsb2FkaW5nJFwiIFt0ZXh0RWxsaXBzaXNdPVwidHJ1ZVwiIFtmb3JjZUxvYWREYXRhT25PcGVuXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3Jlc3BvbnNpdmVCb2R5XT1cInRydWVcIiBbc2VsZWN0ZWRIZWFkZXJzJF09XCJzZWxlY3RlZEhlYWRlcnMkXCIgKHRhc2tFdmVudCk9XCJwcm9jZXNzVGFza0V2ZW50cygkZXZlbnQpXCIgZnhGbGV4IGNsYXNzPVwidmlydHVhbC1zY3JvbGwtbGlzdC1wYWRkaW5nXCI+PC9uYy10YXNrLWxpc3Q+XG48L2Rpdj5cblxuIl19
@@ -0,0 +1,97 @@
1
+ import { Component, Inject, ViewChild } from '@angular/core';
2
+ import { AllowedNetsService, AllowedNetsServiceFactory, NAE_BASE_FILTER, SearchService, SimpleFilter, TaskViewService, AbstractSingleTaskViewComponent, TaskEvent } from '@netgrif/components-core';
3
+ import { MAT_DIALOG_DATA } from "@angular/material/dialog";
4
+ import { localAllowedNetsFactory } from "../../side-menu/content-components/save-filter/save-filter.component";
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/router";
9
+ import * as i4 from "@ngbracket/ngx-layout";
10
+ import * as i5 from "../../header/header.component";
11
+ import * as i6 from "../../panel/task-panel-single/single-task.component";
12
+ import * as i7 from "@angular/common";
13
+ export function taskViewFilterFactory(dialogControl) {
14
+ if (!dialogControl) {
15
+ throw new Error('NewFilterCaseId was not provided in the sidemenu injectio data');
16
+ }
17
+ const injectedData = dialogControl;
18
+ return {
19
+ filter: SimpleFilter.fromTaskQuery({
20
+ stringId: injectedData.taskIds
21
+ })
22
+ };
23
+ }
24
+ export class TaskViewDialogComponent extends AbstractSingleTaskViewComponent {
25
+ _dialogRef;
26
+ _data;
27
+ _userFilterService;
28
+ _log;
29
+ taskHeaderComponent;
30
+ _injectedData;
31
+ constructor(_dialogRef, _data, _userFilterService, _log, taskViewService, baseFilter, _activatedRoute) {
32
+ super(taskViewService, _activatedRoute, baseFilter);
33
+ this._dialogRef = _dialogRef;
34
+ this._data = _data;
35
+ this._userFilterService = _userFilterService;
36
+ this._log = _log;
37
+ if (this._data) {
38
+ this._injectedData = this._data;
39
+ }
40
+ }
41
+ ngAfterViewInit() {
42
+ this.initializeHeader(this.taskHeaderComponent);
43
+ }
44
+ processTaskEvents(notification) {
45
+ if (!notification.success) {
46
+ return;
47
+ }
48
+ if (notification.event === TaskEvent.FINISH) {
49
+ this._dialogRef.close({ opened: false, message: 'Task finished' });
50
+ }
51
+ if (notification.event === TaskEvent.CANCEL) {
52
+ this._dialogRef.close({ opened: false, message: 'Task canceled' });
53
+ }
54
+ }
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskViewDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.UserFiltersService }, { token: i2.LoggerService }, { token: i2.TaskViewService }, { token: NAE_BASE_FILTER }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskViewDialogComponent, selector: "nc-task-view-dialog", providers: [
57
+ TaskViewService,
58
+ SearchService,
59
+ {
60
+ provide: NAE_BASE_FILTER,
61
+ useFactory: taskViewFilterFactory,
62
+ deps: [MAT_DIALOG_DATA]
63
+ },
64
+ {
65
+ provide: AllowedNetsService,
66
+ useFactory: localAllowedNetsFactory,
67
+ deps: [AllowedNetsServiceFactory]
68
+ }
69
+ ], viewQueries: [{ propertyName: "taskHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\" *nccLet=\"(task$ | async) as taskPanelData\">\n {{!!taskPanelData?.task?.title ? taskPanelData?.task?.title : taskPanelData?.task?.transitionId}}\n</div>\n<div mat-dialog-content class=\"task-view-container side-menu-root\">\n <nc-header [hidden]='true' #header type=\"task\" class=\"task-panel-padding-mini\"></nc-header>\n <nc-single-task class=\"virtual-scroll-padding\" [task$]=\"task$\"\n [loading$]=\"loading$\"\n [selectedHeaders$]=\"selectedHeaders$\"\n (taskEvent)=\"processTaskEvents($event)\"\n [actionRowJustifyContent]='\"center\"'\n [preventCollapse]=\"preventCollapse\"\n [showPageHeader]=\"false\"\n [showPageFooter]=\"false\"\n fxFlex>\n </nc-single-task>\n</div>\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.search-panel{margin-top:8px}.content-margin{margin:0 8px}.task-panel-padding-mini{padding-bottom:8px;padding-top:8px}.search-width{width:100%}.full-height{height:100%}.public-button{height:36px;width:200px}.public-button-padding{padding:16px;flex-direction:column;display:flex;align-items:center}.single-page-task{width:85%!important;padding-bottom:25px}.logoimg{height:120px;outline:none!important;cursor:pointer}.upper-card{margin-bottom:10px}.upper-card-title{display:flex;align-items:center;flex-direction:column}.upper-divider{border-top-width:20px;border-top-color:#023b7e;border-radius:4px;margin-bottom:10px}.footer-custom{border-radius:4px;margin-bottom:10px}.task-view-container{height:calc(100% - 64px)!important;padding-left:8px!important;padding-right:8px!important;margin:0}.virtual-scroll-padding{padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i5.HeaderComponent, selector: "nc-header" }, { kind: "component", type: i6.SingleTaskComponent, selector: "nc-single-task" }, { kind: "directive", type: i2.LetDirective, selector: "[nccLet]", inputs: ["nccLet"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] });
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskViewDialogComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ selector: 'nc-task-view-dialog', providers: [
74
+ TaskViewService,
75
+ SearchService,
76
+ {
77
+ provide: NAE_BASE_FILTER,
78
+ useFactory: taskViewFilterFactory,
79
+ deps: [MAT_DIALOG_DATA]
80
+ },
81
+ {
82
+ provide: AllowedNetsService,
83
+ useFactory: localAllowedNetsFactory,
84
+ deps: [AllowedNetsServiceFactory]
85
+ }
86
+ ], template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\" *nccLet=\"(task$ | async) as taskPanelData\">\n {{!!taskPanelData?.task?.title ? taskPanelData?.task?.title : taskPanelData?.task?.transitionId}}\n</div>\n<div mat-dialog-content class=\"task-view-container side-menu-root\">\n <nc-header [hidden]='true' #header type=\"task\" class=\"task-panel-padding-mini\"></nc-header>\n <nc-single-task class=\"virtual-scroll-padding\" [task$]=\"task$\"\n [loading$]=\"loading$\"\n [selectedHeaders$]=\"selectedHeaders$\"\n (taskEvent)=\"processTaskEvents($event)\"\n [actionRowJustifyContent]='\"center\"'\n [preventCollapse]=\"preventCollapse\"\n [showPageHeader]=\"false\"\n [showPageFooter]=\"false\"\n fxFlex>\n </nc-single-task>\n</div>\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.search-panel{margin-top:8px}.content-margin{margin:0 8px}.task-panel-padding-mini{padding-bottom:8px;padding-top:8px}.search-width{width:100%}.full-height{height:100%}.public-button{height:36px;width:200px}.public-button-padding{padding:16px;flex-direction:column;display:flex;align-items:center}.single-page-task{width:85%!important;padding-bottom:25px}.logoimg{height:120px;outline:none!important;cursor:pointer}.upper-card{margin-bottom:10px}.upper-card-title{display:flex;align-items:center;flex-direction:column}.upper-divider{border-top-width:20px;border-top-color:#023b7e;border-radius:4px;margin-bottom:10px}.footer-custom{border-radius:4px;margin-bottom:10px}.task-view-container{height:calc(100% - 64px)!important;padding-left:8px!important;padding-right:8px!important;margin:0}.virtual-scroll-padding{padding-right:4px}\n"] }]
87
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
88
+ type: Inject,
89
+ args: [MAT_DIALOG_DATA]
90
+ }] }, { type: i2.UserFiltersService }, { type: i2.LoggerService }, { type: i2.TaskViewService }, { type: undefined, decorators: [{
91
+ type: Inject,
92
+ args: [NAE_BASE_FILTER]
93
+ }] }, { type: i3.ActivatedRoute }], propDecorators: { taskHeaderComponent: [{
94
+ type: ViewChild,
95
+ args: ['header']
96
+ }] } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay12aWV3LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9kaWFsb2cvdGFzay12aWV3LWRpYWxvZy90YXNrLXZpZXctZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy90YXNrLXZpZXctZGlhbG9nL3Rhc2stdmlldy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUd6QixlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFFWixlQUFlLEVBR2YsK0JBQStCLEVBQy9CLFNBQVMsRUFDWixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQzs7Ozs7Ozs7O0FBSTdHLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxhQUFvQztJQUN0RSxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztLQUNyRjtJQUNELE1BQU0sWUFBWSxHQUFHLGFBQXNDLENBQUM7SUFFNUQsT0FBTztRQUNILE1BQU0sRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTztTQUNqQyxDQUFDO0tBQ0wsQ0FBQztBQUNOLENBQUM7QUFxQkQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLCtCQUErQjtJQUtsRDtJQUN5QjtJQUN6QjtJQUNBO0lBTk0sbUJBQW1CLENBQWtCO0lBQ3ZELGFBQWEsQ0FBd0I7SUFFL0MsWUFBc0IsVUFBaUQsRUFDeEIsS0FBNEIsRUFDckQsa0JBQXNDLEVBQ3RDLElBQW1CLEVBQzdCLGVBQWdDLEVBQ1AsVUFBc0IsRUFDL0MsZUFBZ0M7UUFDeEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFQbEMsZUFBVSxHQUFWLFVBQVUsQ0FBdUM7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDckQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxTQUFJLEdBQUosSUFBSSxDQUFlO1FBS3JDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQThCLENBQUM7U0FDNUQ7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0saUJBQWlCLENBQUMsWUFBbUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsT0FBTztTQUNWO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1NBQ3BFO0lBQ0wsQ0FBQzt3R0FsQ1EsdUJBQXVCLDhDQU1aLGVBQWUsMkdBSWYsZUFBZTs0RkFWMUIsdUJBQXVCLDhDQWZyQjtZQUNQLGVBQWU7WUFDZixhQUFhO1lBQ2I7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7Z0JBQ2pDLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMxQjtZQUNEO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFVBQVUsRUFBRSx1QkFBdUI7Z0JBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDO2FBQ3BDO1NBQ0osZ0tDbkRMLDg4QkFnQkE7OzRGRHFDYSx1QkFBdUI7a0JBbkJuQyxTQUFTOytCQUNJLHFCQUFxQixhQUdwQjt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2I7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7NEJBQ2pDLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQzt5QkFDMUI7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsVUFBVSxFQUFFLHVCQUF1Qjs0QkFDbkMsSUFBSSxFQUFFLENBQUMseUJBQXlCLENBQUM7eUJBQ3BDO3FCQUNKOzswQkFRWSxNQUFNOzJCQUFDLGVBQWU7OzBCQUl0QixNQUFNOzJCQUFDLGVBQWU7c0VBUlAsbUJBQW1CO3NCQUE5QyxTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBCYXNlRmlsdGVyLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgTkFFX0JBU0VfRklMVEVSLFxuICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgU2ltcGxlRmlsdGVyLFxuICAgIFRhc2tFdmVudE5vdGlmaWNhdGlvbixcbiAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgVGFza1ZpZXdJbmplY3Rpb25EYXRhLFxuICAgIFVzZXJGaWx0ZXJzU2VydmljZSxcbiAgICBBYnN0cmFjdFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50LFxuICAgIFRhc2tFdmVudFxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtsb2NhbEFsbG93ZWROZXRzRmFjdG9yeX0gZnJvbSBcIi4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvc2F2ZS1maWx0ZXIvc2F2ZS1maWx0ZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge0hlYWRlckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YXNrVmlld0ZpbHRlckZhY3RvcnkoZGlhbG9nQ29udHJvbDogVGFza1ZpZXdJbmplY3Rpb25EYXRhKTogQmFzZUZpbHRlciB7XG4gICAgaWYgKCFkaWFsb2dDb250cm9sKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTmV3RmlsdGVyQ2FzZUlkIHdhcyBub3QgcHJvdmlkZWQgaW4gdGhlIHNpZGVtZW51IGluamVjdGlvIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgaW5qZWN0ZWREYXRhID0gZGlhbG9nQ29udHJvbCBhcyBUYXNrVmlld0luamVjdGlvbkRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBmaWx0ZXI6IFNpbXBsZUZpbHRlci5mcm9tVGFza1F1ZXJ5KHtcbiAgICAgICAgICAgIHN0cmluZ0lkOiBpbmplY3RlZERhdGEudGFza0lkc1xuICAgICAgICB9KVxuICAgIH07XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtdGFzay12aWV3LWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stdmlldy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stdmlldy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVGFza1ZpZXdTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOQUVfQkFTRV9GSUxURVIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiB0YXNrVmlld0ZpbHRlckZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbTUFUX0RJQUxPR19EQVRBXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5XVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrVmlld0RpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2luZ2xlVGFza1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlcicpIHB1YmxpYyB0YXNrSGVhZGVyQ29tcG9uZW50OiBIZWFkZXJDb21wb25lbnQ7XG4gICAgcHJvdGVjdGVkIF9pbmplY3RlZERhdGE6IFRhc2tWaWV3SW5qZWN0aW9uRGF0YTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGFza1ZpZXdEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgX2RhdGE6IFRhc2tWaWV3SW5qZWN0aW9uRGF0YSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3VzZXJGaWx0ZXJTZXJ2aWNlOiBVc2VyRmlsdGVyc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgdGFza1ZpZXdTZXJ2aWNlOiBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChOQUVfQkFTRV9GSUxURVIpIGJhc2VGaWx0ZXI6IEJhc2VGaWx0ZXIsXG4gICAgICAgICAgICAgICAgX2FjdGl2YXRlZFJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgc3VwZXIodGFza1ZpZXdTZXJ2aWNlLCBfYWN0aXZhdGVkUm91dGUsIGJhc2VGaWx0ZXIpO1xuICAgICAgICBpZiAodGhpcy5fZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5faW5qZWN0ZWREYXRhID0gdGhpcy5fZGF0YSBhcyBUYXNrVmlld0luamVjdGlvbkRhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUhlYWRlcih0aGlzLnRhc2tIZWFkZXJDb21wb25lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcm9jZXNzVGFza0V2ZW50cyhub3RpZmljYXRpb246IFRhc2tFdmVudE5vdGlmaWNhdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAoIW5vdGlmaWNhdGlvbi5zdWNjZXNzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobm90aWZpY2F0aW9uLmV2ZW50ID09PSBUYXNrRXZlbnQuRklOSVNIKSB7XG4gICAgICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2Uoe29wZW5lZDogZmFsc2UsIG1lc3NhZ2U6ICdUYXNrIGZpbmlzaGVkJ30pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vdGlmaWNhdGlvbi5ldmVudCA9PT0gVGFza0V2ZW50LkNBTkNFTCkge1xuICAgICAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHtvcGVuZWQ6IGZhbHNlLCBtZXNzYWdlOiAnVGFzayBjYW5jZWxlZCd9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYXQtZGlhbG9nLXRpdGxlXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIG5vbmVcIiAqbmNjTGV0PVwiKHRhc2skIHwgYXN5bmMpIGFzIHRhc2tQYW5lbERhdGFcIj5cbiAgICB7eyEhdGFza1BhbmVsRGF0YT8udGFzaz8udGl0bGUgPyB0YXNrUGFuZWxEYXRhPy50YXNrPy50aXRsZSA6IHRhc2tQYW5lbERhdGE/LnRhc2s/LnRyYW5zaXRpb25JZH19XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwidGFzay12aWV3LWNvbnRhaW5lciBzaWRlLW1lbnUtcm9vdFwiPlxuICAgICAgICA8bmMtaGVhZGVyIFtoaWRkZW5dPSd0cnVlJyAjaGVhZGVyIHR5cGU9XCJ0YXNrXCIgY2xhc3M9XCJ0YXNrLXBhbmVsLXBhZGRpbmctbWluaVwiPjwvbmMtaGVhZGVyPlxuICAgICAgICA8bmMtc2luZ2xlLXRhc2sgY2xhc3M9XCJ2aXJ0dWFsLXNjcm9sbC1wYWRkaW5nXCIgW3Rhc2skXT1cInRhc2skXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nJF09XCJsb2FkaW5nJFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRIZWFkZXJzJF09XCJzZWxlY3RlZEhlYWRlcnMkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICh0YXNrRXZlbnQpPVwicHJvY2Vzc1Rhc2tFdmVudHMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWN0aW9uUm93SnVzdGlmeUNvbnRlbnRdPSdcImNlbnRlclwiJ1xuICAgICAgICAgICAgICAgICAgICAgICAgW3ByZXZlbnRDb2xsYXBzZV09XCJwcmV2ZW50Q29sbGFwc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dQYWdlSGVhZGVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93UGFnZUZvb3Rlcl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg+XG4gICAgICAgIDwvbmMtc2luZ2xlLXRhc2s+XG48L2Rpdj5cbiJdfQ==