@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
@@ -1,251 +0,0 @@
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/material/stepper";
16
- import * as i7 from "@angular/material/form-field";
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/progress-spinner";
21
- import * as i12 from "@angular/flex-layout/flex";
22
- import * as i13 from "@angular/common";
23
- import * as i14 from "@angular/material/input";
24
- export class NewCaseDialogComponent {
25
- constructor(_dialogRef, _data, _formBuilder, _snackBarService, _caseResourceService, _hotkeysService, _translate, isVersionVisible, allVersionEnabled) {
26
- this._dialogRef = _dialogRef;
27
- this._data = _data;
28
- this._formBuilder = _formBuilder;
29
- this._snackBarService = _snackBarService;
30
- this._caseResourceService = _caseResourceService;
31
- this._hotkeysService = _hotkeysService;
32
- this._translate = _translate;
33
- this.processFormControl = new FormControl('', Validators.required);
34
- this.titleFormControl = new FormControl('', Validators.required);
35
- this.options = [];
36
- this.colors = [
37
- { value: 'panel-primary-icon', viewValue: 'Primary' },
38
- { value: 'panel-accent-icon', viewValue: 'Accent' },
39
- ];
40
- if (this._data) {
41
- this._injectedData = this._data;
42
- }
43
- this.isVersionVisible = isVersionVisible !== null ? isVersionVisible : true;
44
- this.allVersionEnabled = allVersionEnabled !== null ? allVersionEnabled : false;
45
- if (!this._injectedData) {
46
- this.closeNoNets();
47
- }
48
- this._hotkeysService.add(new Hotkey('enter', (event) => {
49
- this.nextStep();
50
- return false;
51
- }));
52
- this._hasMultipleNets$ = new ReplaySubject(1);
53
- this._notInitialized$ = new BehaviorSubject(true);
54
- this._options$ = new ReplaySubject(1);
55
- this.loadingSubmit = new LoadingEmitter(false);
56
- this._allowedNetsSubscription = this._injectedData.allowedNets$.pipe(map(nets => nets.map(petriNet => ({
57
- value: petriNet.stringId,
58
- viewValue: petriNet.title,
59
- version: petriNet.version
60
- }))), map(nets => {
61
- if (!this.allVersionEnabled) {
62
- return this.removeOldVersions(nets);
63
- }
64
- else {
65
- return nets;
66
- }
67
- }), tap(options => {
68
- if (options.length === 0) {
69
- this.closeNoNets();
70
- }
71
- this.options = options;
72
- this._hasMultipleNets$.next(options.length > 1);
73
- })).subscribe(options => {
74
- this._options$.next(options);
75
- if (!this._notInitialized$.closed) {
76
- this._notInitialized$.next(false);
77
- this._notInitialized$.complete();
78
- }
79
- });
80
- this.filteredOptions$ = combineLatest([this._options$, this.processFormControl.valueChanges.pipe(startWith(''))]).pipe(map(sources => {
81
- const options = sources[0];
82
- const input = typeof sources[1] === 'string' || sources[1] === null ? sources[1] : sources[1].viewValue;
83
- return input ? this._filter(input, options) : options.slice();
84
- }), tap(filteredOptions => {
85
- if (filteredOptions.length === 1) {
86
- this.processFormControl.setValue(filteredOptions[0], { emitEvent: false });
87
- }
88
- }));
89
- }
90
- ngOnDestroy() {
91
- this._hasMultipleNets$.complete();
92
- this.loadingSubmit.complete();
93
- this._allowedNetsSubscription.unsubscribe();
94
- }
95
- get hasMultipleNets$() {
96
- return this._hasMultipleNets$.asObservable();
97
- }
98
- get notInitialized$() {
99
- return this._notInitialized$.asObservable();
100
- }
101
- displayFn(process) {
102
- return process?.viewValue ? process?.viewValue : '';
103
- }
104
- createNewCase() {
105
- if (this.loadingSubmit.value) {
106
- return;
107
- }
108
- if (this.titleFormControl.valid || !this.isCaseTitleRequired()) {
109
- const newCase = {
110
- title: this.titleFormControl.value === '' ? null : this.titleFormControl.value,
111
- color: 'panel-primary-icon',
112
- netId: this.options.length === 1 ? this.options[0].value : this.processFormControl.value.value
113
- };
114
- this.loadingSubmit.on();
115
- this._caseResourceService.createCase(newCase)
116
- .subscribe((response) => {
117
- this.loadingSubmit.off();
118
- if (!!response.outcome) {
119
- this._snackBarService.openSuccessSnackBar(response.outcome.message === undefined
120
- ? this._translate.instant('side-menu.new-case.createCase') + ' ' + newCase.title
121
- : response.outcome.message);
122
- this._dialogRef.close({
123
- opened: false,
124
- message: response.outcome.message === undefined
125
- ? 'Confirm new case setup'
126
- : response.outcome.message,
127
- data: response.outcome.aCase
128
- });
129
- }
130
- else if (!!response.error) {
131
- this._snackBarService.openWarningSnackBar(this._translate.instant('side-menu.new-case.createCaseError') + ' ' + newCase.title);
132
- this._dialogRef.close({
133
- opened: false,
134
- message: response.error === undefined
135
- ? 'Confirm new case setup'
136
- : response.error
137
- });
138
- }
139
- }, error => {
140
- this.loadingSubmit.off();
141
- this._snackBarService.openErrorSnackBar(error.message ? error.message : error);
142
- });
143
- }
144
- }
145
- /**
146
- * Function to filter out matchless options without accent and case-sensitive differences
147
- * @param value to compare matching options
148
- * @param options that should be filtered
149
- * @return return matched options
150
- */
151
- _filter(value, options) {
152
- const filterValue = value.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
153
- return options.filter(option => option.viewValue.toLowerCase().normalize('NFD')
154
- .replace(/[\u0300-\u036f]/g, '').indexOf(filterValue) === 0);
155
- }
156
- closeNoNets() {
157
- this._snackBarService.openErrorSnackBar(this._translate.instant('side-menu.new-case.noNets'));
158
- this._dialogRef.close({
159
- opened: false
160
- });
161
- }
162
- nextStep() {
163
- if (this.stepper1) {
164
- if (this.stepper1.selectedIndex === 1) {
165
- this.createNewCase();
166
- }
167
- else {
168
- this.stepper1.next();
169
- }
170
- }
171
- if (this.stepper2) {
172
- if (this.stepper2.selectedIndex === 0) {
173
- this.createNewCase();
174
- }
175
- else {
176
- this.stepper2.next();
177
- }
178
- }
179
- }
180
- titleResolving() {
181
- const caze = this._translate.instant('side-menu.new-case.case');
182
- const name = typeof this.processFormControl.value === 'string' || this.processFormControl.value === null ?
183
- undefined : this.processFormControl.value.viewValue;
184
- return name === undefined ? caze : caze + ' - ' + name;
185
- }
186
- removeOldVersions(options) {
187
- const tempNets = Object.assign([], options);
188
- const petriNetIds = new Set(options.map(form => form.value));
189
- const newestNets = new Array();
190
- for (const value of petriNetIds) {
191
- let current = { value, version: '1.0.0', viewValue: '' };
192
- for (const net of tempNets) {
193
- if (value === net.value && !semver.lt(net.version, current.version)) {
194
- current = net;
195
- }
196
- }
197
- newestNets.push(current);
198
- }
199
- return newestNets;
200
- }
201
- isCaseTitleEnabled() {
202
- return !!(this._injectedData?.newCaseCreationConfiguration?.enableCaseTitle ?? true);
203
- }
204
- isCaseTitleRequired() {
205
- return this.isCaseTitleEnabled() && !!(this._injectedData?.newCaseCreationConfiguration?.isCaseTitleRequired ?? true);
206
- }
207
- showVersion(option) {
208
- if (option?.value?.version !== undefined)
209
- this.netVersion = option.value.version;
210
- }
211
- checkVersion(viewValue) {
212
- const currentOption = typeof viewValue === 'string' || viewValue === null ? undefined : viewValue.version;
213
- if (currentOption === undefined) {
214
- this.netVersion = '';
215
- }
216
- }
217
- toNextStep(viewValue) {
218
- if (viewValue !== null && viewValue?.value !== undefined) {
219
- this.stepper1.next();
220
- }
221
- }
222
- }
223
- NewCaseDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.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 });
224
- NewCaseDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.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-left: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"], components: [{ type: i6.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { type: i6.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i9.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i11.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatStepLabel, selector: "[matStepLabel]" }, { type: i7.MatLabel, selector: "mat-label" }, { type: i14.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: 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]" }, { type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.MatSuffix, selector: "[matSuffix]" }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i12.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"] }], pipes: { "async": i13.AsyncPipe, "translate": i5.TranslatePipe } });
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NewCaseDialogComponent, decorators: [{
226
- type: Component,
227
- 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-left: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"] }]
228
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
229
- type: Inject,
230
- args: [MAT_DIALOG_DATA]
231
- }] }, { type: i2.FormBuilder }, { type: i3.SnackBarService }, { type: i3.CaseResourceService }, { type: i4.HotkeysService }, { type: i5.TranslateService }, { type: undefined, decorators: [{
232
- type: Optional
233
- }, {
234
- type: Inject,
235
- args: [NAE_NET_VERSION_VISIBLE]
236
- }] }, { type: undefined, decorators: [{
237
- type: Optional
238
- }, {
239
- type: Inject,
240
- args: [NAE_NET_ALL_VERSIONS]
241
- }] }]; }, propDecorators: { toolbar: [{
242
- type: ViewChild,
243
- args: ['toolbar']
244
- }], stepper1: [{
245
- type: ViewChild,
246
- args: ['stepper1']
247
- }], stepper2: [{
248
- type: ViewChild,
249
- args: ['stepper2']
250
- }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhc2UtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9uZXctY2FzZS1kaWFsb2cvbmV3LWNhc2UtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9uZXctY2FzZS1kaWFsb2cvbmV3LWNhc2UtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFN0YsT0FBTyxFQUUwQixjQUFjLEVBQzNDLG9CQUFvQixFQUFFLHVCQUF1QixFQUdoRCxNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxNQUFNLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQWF2RSxNQUFNLE9BQU8sc0JBQXNCO0lBMEIvQixZQUFzQixVQUFnRCxFQUN2QixLQUE0QixFQUNyRCxZQUF5QixFQUN6QixnQkFBaUMsRUFDakMsb0JBQXlDLEVBQ3pDLGVBQStCLEVBQy9CLFVBQTRCLEVBQ08sZ0JBQXlCLEVB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WUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWM7UUFDdkIsTUFBTSxhQUFhLEdBQUcsT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUMxRyxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWM7UUFDckIsSUFBSSxTQUFTLEtBQUssSUFBSSxJQUFJLFNBQVMsRUFBRSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDOztvSEFuUFEsc0JBQXNCLDhDQTJCWCxlQUFlLHdLQU1ILHVCQUF1Qiw2QkFDdkIsb0JBQW9CO3dHQWxDM0Msc0JBQXNCLDRVQzdCbkMsKzJKQW9FQTs0RkR2Q2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLG9CQUFvQjs7MEJBK0JqQixNQUFNOzJCQUFDLGVBQWU7OzBCQU10QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBQzFDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9COzRDQXBCOUIsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUVHLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDRSxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtNYXRUb29sYmFyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7XG4gICAgQ2FzZVJlc291cmNlU2VydmljZSwgQ3JlYXRlQ2FzZUV2ZW50T3V0Y29tZSxcbiAgICBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UsIExvYWRpbmdFbWl0dGVyLFxuICAgIE5BRV9ORVRfQUxMX1ZFUlNJT05TLCBOQUVfTkVUX1ZFUlNJT05fVklTSUJMRSxcbiAgICBOZXdDYXNlSW5qZWN0aW9uRGF0YSwgU2lkZU1lbnVJbmplY3Rpb25EYXRhLFxuICAgIFNuYWNrQmFyU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtIb3RrZXksIEhvdGtleXNTZXJ2aWNlfSBmcm9tICdhbmd1bGFyMi1ob3RrZXlzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge21hcCwgc3RhcnRXaXRoLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7TWF0T3B0aW9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmludGVyZmFjZSBGb3JtIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIHZpZXdWYWx1ZTogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtbmV3LWNhc2UtZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmV3LWNhc2UtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZXctY2FzZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZXdDYXNlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIGlzVmVyc2lvblZpc2libGU/OiBib29sZWFuO1xuICAgIGFsbFZlcnNpb25FbmFibGVkPzogYm9vbGVhbjtcbiAgICBwcm9jZXNzRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIHRpdGxlRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIG5ldFZlcnNpb246IHN0cmluZztcblxuICAgIG9wdGlvbnM6IEFycmF5PEZvcm0+ID0gW107XG4gICAgY29sb3JzOiBBcnJheTxGb3JtPiA9IFtcbiAgICAgICAge3ZhbHVlOiAncGFuZWwtcHJpbWFyeS1pY29uJywgdmlld1ZhbHVlOiAnUHJpbWFyeSd9LFxuICAgICAgICB7dmFsdWU6ICdwYW5lbC1hY2NlbnQtaWNvbicsIHZpZXdWYWx1ZTogJ0FjY2VudCd9LFxuICAgIF07XG4gICAgZmlsdGVyZWRPcHRpb25zJDogT2JzZXJ2YWJsZTxBcnJheTxGb3JtPj47XG4gICAgQFZpZXdDaGlsZCgndG9vbGJhcicpIHRvb2xiYXI6IE1hdFRvb2xiYXI7XG5cbiAgICBAVmlld0NoaWxkKCdzdGVwcGVyMScpIHN0ZXBwZXIxO1xuICAgIEBWaWV3Q2hpbGQoJ3N0ZXBwZXIyJykgc3RlcHBlcjI7XG5cbiAgICBwdWJsaWMgbG9hZGluZ1N1Ym1pdDogTG9hZGluZ0VtaXR0ZXI7XG4gICAgcHJvdGVjdGVkIF9vcHRpb25zJDogUmVwbGF5U3ViamVjdDxBcnJheTxGb3JtPj47XG4gICAgcHJvdGVjdGVkIF9pbmplY3RlZERhdGE6IE5ld0Nhc2VJbmplY3Rpb25EYXRhO1xuICAgIHByb3RlY3RlZCBfaGFzTXVsdGlwbGVOZXRzJDogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcbiAgICBwcm90ZWN0ZWQgX25vdEluaXRpYWxpemVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICAgIHByaXZhdGUgX2FsbG93ZWROZXRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5ld0Nhc2VEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgX2RhdGE6IFNpZGVNZW51SW5qZWN0aW9uRGF0YSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3NuYWNrQmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2hvdGtleXNTZXJ2aWNlOiBIb3RrZXlzU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9ORVRfVkVSU0lPTl9WSVNJQkxFKSBpc1ZlcnNpb25WaXNpYmxlOiBib29sZWFuLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX05FVF9BTExfVkVSU0lPTlMpIGFsbFZlcnNpb25FbmFibGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9kYXRhIGFzIE5ld0Nhc2VJbmplY3Rpb25EYXRhO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNWZXJzaW9uVmlzaWJsZSA9IGlzVmVyc2lvblZpc2libGUgIT09IG51bGwgPyBpc1ZlcnNpb25WaXNpYmxlIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5hbGxWZXJzaW9uRW5hYmxlZCA9IGFsbFZlcnNpb25FbmFibGVkICE9PSBudWxsID8gYWxsVmVyc2lvbkVuYWJsZWQgOiBmYWxzZTtcbiAgICAgICAgaWYgKCF0aGlzLl9pbmplY3RlZERhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VOb05ldHMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ob3RrZXlzU2VydmljZS5hZGQobmV3IEhvdGtleSgnZW50ZXInLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHRoaXMubmV4dFN0ZXAoKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuX2hhc011bHRpcGxlTmV0cyQgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcbiAgICAgICAgdGhpcy5fbm90SW5pdGlhbGl6ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyQgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nU3VibWl0ID0gbmV3IExvYWRpbmdFbWl0dGVyKGZhbHNlKTtcblxuICAgICAgICB0aGlzLl9hbGxvd2VkTmV0c1N1YnNjcmlwdGlvbiA9IHRoaXMuX2luamVjdGVkRGF0YS5hbGxvd2VkTmV0cyQucGlwZShcbiAgICAgICAgICAgIG1hcChuZXRzID0+IG5ldHMubWFwKHBldHJpTmV0ID0+ICh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHBldHJpTmV0LnN0cmluZ0lkLFxuICAgICAgICAgICAgICAgIHZpZXdWYWx1ZTogcGV0cmlOZXQudGl0bGUsXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogcGV0cmlOZXQudmVyc2lvblxuICAgICAgICAgICAgfSkpKSxcbiAgICAgICAgICAgIG1hcChuZXRzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuYWxsVmVyc2lvbkVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlT2xkVmVyc2lvbnMobmV0cyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldHM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAob3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VOb05ldHMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgICAgICAgICB0aGlzLl9oYXNNdWx0aXBsZU5ldHMkLm5leHQob3B0aW9ucy5sZW5ndGggPiAxKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkuc3Vic2NyaWJlKG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyQubmV4dChvcHRpb25zKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5fbm90SW5pdGlhbGl6ZWQkLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX25vdEluaXRpYWxpemVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RJbml0aWFsaXplZCQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5fb3B0aW9ucyQsIHRoaXMucHJvY2Vzc0Zvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCgnJykpXSkucGlwZShcbiAgICAgICAgICAgIG1hcChzb3VyY2VzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gc291cmNlc1swXTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dCA9IHR5cGVvZiBzb3VyY2VzWzFdID09PSAnc3RyaW5nJyB8fCBzb3VyY2VzWzFdID09PSBudWxsID8gc291cmNlc1sxXSA6IHNvdXJjZXNbMV0udmlld1ZhbHVlO1xuICAgICAgICAgICAgICAgIHJldHVybiBpbnB1dCA/IHRoaXMuX2ZpbHRlcihpbnB1dCwgb3B0aW9ucykgOiBvcHRpb25zLnNsaWNlKCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcChmaWx0ZXJlZE9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Zvcm1Db250cm9sLnNldFZhbHVlKGZpbHRlcmVkT3B0aW9uc1swXSwge2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9oYXNNdWx0aXBsZU5ldHMkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMubG9hZGluZ1N1Ym1pdC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9hbGxvd2VkTmV0c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzTXVsdGlwbGVOZXRzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc011bHRpcGxlTmV0cyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBub3RJbml0aWFsaXplZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub3RJbml0aWFsaXplZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZGlzcGxheUZuKHByb2Nlc3M6IEZvcm0pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcHJvY2Vzcz8udmlld1ZhbHVlID8gcHJvY2Vzcz8udmlld1ZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZU5ld0Nhc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmdTdWJtaXQudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRpdGxlRm9ybUNvbnRyb2wudmFsaWQgfHwgIXRoaXMuaXNDYXNlVGl0bGVSZXF1aXJlZCgpKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdDYXNlID0ge1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlRm9ybUNvbnRyb2wudmFsdWUgPT09ICcnID8gbnVsbCA6IHRoaXMudGl0bGVGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3BhbmVsLXByaW1hcnktaWNvbicsXG4gICAgICAgICAgICAgICAgbmV0SWQ6IHRoaXMub3B0aW9ucy5sZW5ndGggPT09IDEgPyB0aGlzLm9wdGlvbnNbMF0udmFsdWUgOiB0aGlzLnByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZS52YWx1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1N1Ym1pdC5vbigpO1xuICAgICAgICAgICAgdGhpcy5fY2FzZVJlc291cmNlU2VydmljZS5jcmVhdGVDYXNlKG5ld0Nhc2UpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlOiBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UpID0+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==
@@ -1,83 +0,0 @@
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 "../../panel/task-panel-list/task-list.component";
10
- import * as i5 from "@angular/flex-layout/flex";
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
- constructor(_dialogRef, _data, _userFilterService, _log, taskViewService, _activatedRoute) {
26
- super(taskViewService, _activatedRoute);
27
- this._dialogRef = _dialogRef;
28
- this._data = _data;
29
- this._userFilterService = _userFilterService;
30
- this._log = _log;
31
- if (this._data) {
32
- this._injectedData = this._data;
33
- }
34
- }
35
- processTaskEvents(notification) {
36
- if (!notification.success) {
37
- return;
38
- }
39
- if (notification.event === TaskEvent.FINISH) {
40
- this._dialogRef.close({ opened: false, message: 'Filter saved' });
41
- }
42
- if (notification.event === TaskEvent.CANCEL) {
43
- this._userFilterService.delete(this._injectedData.newFilterCaseId);
44
- this._dialogRef.close({ opened: false, message: 'Filter save canceled' });
45
- }
46
- }
47
- }
48
- SaveFilterDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.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 });
49
- SaveFilterDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SaveFilterDialogComponent, selector: "nc-save-filter-dialog", providers: [
50
- TaskViewService,
51
- SearchService,
52
- {
53
- provide: NAE_BASE_FILTER,
54
- useFactory: saveBaseFilterFactory,
55
- deps: [MAT_DIALOG_DATA]
56
- },
57
- {
58
- provide: AllowedNetsService,
59
- useFactory: localAllowedNetsFactory,
60
- deps: [AllowedNetsServiceFactory]
61
- },
62
- ], 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"], components: [{ type: i4.TaskListComponent, selector: "nc-task-list" }], directives: [{ type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.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"] }], pipes: { "translate": i6.TranslatePipe } });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SaveFilterDialogComponent, decorators: [{
64
- type: Component,
65
- args: [{ selector: 'nc-save-filter-dialog', providers: [
66
- TaskViewService,
67
- SearchService,
68
- {
69
- provide: NAE_BASE_FILTER,
70
- useFactory: saveBaseFilterFactory,
71
- deps: [MAT_DIALOG_DATA]
72
- },
73
- {
74
- provide: AllowedNetsService,
75
- useFactory: localAllowedNetsFactory,
76
- deps: [AllowedNetsServiceFactory]
77
- },
78
- ], 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"] }]
79
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
80
- type: Inject,
81
- args: [MAT_DIALOG_DATA]
82
- }] }, { type: i2.UserFiltersService }, { type: i2.LoggerService }, { type: i2.TaskViewService }, { type: i3.ActivatedRoute }]; } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9zYXZlLWZpbHRlci1kaWFsb2cvc2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9zYXZlLWZpbHRlci1kaWFsb2cvc2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUV6QixlQUFlLEVBRWYsYUFBYSxFQUFFLFlBQVksRUFDM0IsU0FBUyxFQUVULGVBQWUsRUFBRSxtQkFBbUIsR0FFdkMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7O0FBRTdHLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxhQUFzQztJQUN4RSxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztLQUNyRjtJQUNELE1BQU0sWUFBWSxHQUFHLGFBQXdDLENBQUM7SUFFOUQsT0FBTztRQUNILE1BQU0sRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQy9CLElBQUksRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsZUFBZSxFQUFDO1lBQ3hDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyx3QkFBd0I7U0FDN0QsQ0FBQztLQUNMLENBQUM7QUFDTixDQUFDO0FBc0JELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx5QkFBeUI7SUFJcEUsWUFBc0IsVUFBbUQsRUFDMUIsS0FBOEIsRUFDdkQsa0JBQXNDLEVBQ3RDLElBQW1CLEVBQzdCLGVBQWdDLEVBQ2hDLGVBQWdDO1FBQ3hDLEtBQUssQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFOdEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFDdkQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxTQUFJLEdBQUosSUFBSSxDQUFlO1FBSXJDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQWdDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRU0saUJBQWlCLENBQUMsWUFBbUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsT0FBTztTQUNWO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUMsQ0FBQyxDQUFDO1NBQzNFO0lBQ0wsQ0FBQzs7dUhBN0JRLHlCQUF5Qiw4Q0FLZCxlQUFlOzJHQUwxQix5QkFBeUIsZ0RBZnZCO1FBQ1AsZUFBZTtRQUNmLGFBQWE7UUFDYjtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7WUFDakMsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDO1NBQzFCO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLFVBQVUsRUFBRSx1QkFBdUI7WUFDbkMsSUFBSSxFQUFFLENBQUMseUJBQXlCLENBQUM7U0FDcEM7S0FDSixpRENsREwsMGlCQVFBOzRGRDRDYSx5QkFBeUI7a0JBbkJyQyxTQUFTOytCQUNJLHVCQUF1QixhQUd0Qjt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2I7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7NEJBQ2pDLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQzt5QkFDMUI7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsVUFBVSxFQUFFLHVCQUF1Qjs0QkFDbkMsSUFBSSxFQUFFLENBQUMseUJBQXlCLENBQUM7eUJBQ3BDO3FCQUNKOzswQkFPWSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUYXNrVmlld0NvbXBvbmVudCxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgQmFzZUZpbHRlcixcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIE5BRV9CQVNFX0ZJTFRFUixcbiAgICBTYXZlRmlsdGVySW5qZWN0aW9uRGF0YSxcbiAgICBTZWFyY2hTZXJ2aWNlLCBTaW1wbGVGaWx0ZXIsXG4gICAgVGFza0V2ZW50LFxuICAgIFRhc2tFdmVudE5vdGlmaWNhdGlvbixcbiAgICBUYXNrVmlld1NlcnZpY2UsIFVzZXJGaWx0ZXJDb25zdGFudHMsXG4gICAgVXNlckZpbHRlcnNTZXJ2aWNlLFxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2xvY2FsQWxsb3dlZE5ldHNGYWN0b3J5fSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3NhdmUtZmlsdGVyL3NhdmUtZmlsdGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXZlQmFzZUZpbHRlckZhY3RvcnkoZGlhbG9nQ29udHJvbDogU2F2ZUZpbHRlckluamVjdGlvbkRhdGEpOiBCYXNlRmlsdGVyIHtcbiAgICBpZiAoIWRpYWxvZ0NvbnRyb2wpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXdGaWx0ZXJDYXNlSWQgd2FzIG5vdCBwcm92aWRlZCBpbiB0aGUgc2lkZW1lbnUgaW5qZWN0aW8gZGF0YScpO1xuICAgIH1cbiAgICBjb25zdCBpbmplY3RlZERhdGEgPSBkaWFsb2dDb250cm9sIGFzIFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmlsdGVyOiBTaW1wbGVGaWx0ZXIuZnJvbVRhc2tRdWVyeSh7XG4gICAgICAgICAgICBjYXNlOiB7aWQ6IGluamVjdGVkRGF0YS5uZXdGaWx0ZXJDYXNlSWR9LFxuICAgICAgICAgICAgdHJhbnNpdGlvbklkOiBVc2VyRmlsdGVyQ29uc3RhbnRzLk5FV19GSUxURVJfVFJBTlNJVElPTl9JRFxuICAgICAgICB9KVxuICAgIH07XG59XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1zYXZlLWZpbHRlci1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYXZlLWZpbHRlci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NhdmUtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9CQVNFX0ZJTFRFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHNhdmVCYXNlRmlsdGVyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtNQVRfRElBTE9HX0RBVEFdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFsbG93ZWROZXRzU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvY2FsQWxsb3dlZE5ldHNGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW0FsbG93ZWROZXRzU2VydmljZUZhY3RvcnldXG4gICAgICAgIH0sXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTYXZlRmlsdGVyRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUYXNrVmlld0NvbXBvbmVudCB7XG5cbiAgICBwcm90ZWN0ZWQgX2luamVjdGVkRGF0YTogU2F2ZUZpbHRlckluamVjdGlvbkRhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNhdmVGaWx0ZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgX2RhdGE6IFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlckZpbHRlclNlcnZpY2U6IFVzZXJGaWx0ZXJzU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBfYWN0aXZhdGVkUm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBzdXBlcih0YXNrVmlld1NlcnZpY2UsIF9hY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9kYXRhIGFzIFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3NUYXNrRXZlbnRzKG5vdGlmaWNhdGlvbjogVGFza0V2ZW50Tm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghbm90aWZpY2F0aW9uLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3RpZmljYXRpb24uZXZlbnQgPT09IFRhc2tFdmVudC5GSU5JU0gpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7b3BlbmVkOiBmYWxzZSwgbWVzc2FnZTogJ0ZpbHRlciBzYXZlZCd9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3RpZmljYXRpb24uZXZlbnQgPT09IFRhc2tFdmVudC5DQU5DRUwpIHtcbiAgICAgICAgICAgIHRoaXMuX3VzZXJGaWx0ZXJTZXJ2aWNlLmRlbGV0ZSh0aGlzLl9pbmplY3RlZERhdGEubmV3RmlsdGVyQ2FzZUlkKTtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7b3BlbmVkOiBmYWxzZSwgbWVzc2FnZTogJ0ZpbHRlciBzYXZlIGNhbmNlbGVkJ30pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC1kaWFsb2ctdGl0bGVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgbm9uZVwiPlxuICAgIHt7ICdzZWFyY2gudG9vbHRpcC5zYXZlJyB8IHRyYW5zbGF0ZX19XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwic2F2ZS1maWx0ZXItY29udGFpbmVyIHNpZGUtbWVudS1yb290XCI+XG4gICAgPG5jLXRhc2stbGlzdCBbYWxsb3dNdWx0aU9wZW5dPVwiZmFsc2VcIiBbdGFza3MkXT1cInRhc2tzJFwiIFtsb2FkaW5nJF09XCJsb2FkaW5nJFwiIFt0ZXh0RWxsaXBzaXNdPVwidHJ1ZVwiIFtmb3JjZUxvYWREYXRhT25PcGVuXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3Jlc3BvbnNpdmVCb2R5XT1cInRydWVcIiBbc2VsZWN0ZWRIZWFkZXJzJF09XCJzZWxlY3RlZEhlYWRlcnMkXCIgKHRhc2tFdmVudCk9XCJwcm9jZXNzVGFza0V2ZW50cygkZXZlbnQpXCIgZnhGbGV4IGNsYXNzPVwidmlydHVhbC1zY3JvbGwtbGlzdC1wYWRkaW5nXCI+PC9uYy10YXNrLWxpc3Q+XG48L2Rpdj5cblxuIl19
@@ -1,91 +0,0 @@
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 "../../header/header.component";
10
- import * as i5 from "../../panel/task-panel-single/single-task.component";
11
- import * as i6 from "@angular/flex-layout/flex";
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
- constructor(_dialogRef, _data, _userFilterService, _log, taskViewService, baseFilter, _activatedRoute) {
26
- super(taskViewService, _activatedRoute, baseFilter);
27
- this._dialogRef = _dialogRef;
28
- this._data = _data;
29
- this._userFilterService = _userFilterService;
30
- this._log = _log;
31
- if (this._data) {
32
- this._injectedData = this._data;
33
- }
34
- }
35
- ngAfterViewInit() {
36
- this.initializeHeader(this.taskHeaderComponent);
37
- }
38
- processTaskEvents(notification) {
39
- if (!notification.success) {
40
- return;
41
- }
42
- if (notification.event === TaskEvent.FINISH) {
43
- this._dialogRef.close({ opened: false, message: 'Task finished' });
44
- }
45
- if (notification.event === TaskEvent.CANCEL) {
46
- this._dialogRef.close({ opened: false, message: 'Task canceled' });
47
- }
48
- }
49
- }
50
- TaskViewDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.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 });
51
- TaskViewDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TaskViewDialogComponent, selector: "nc-task-view-dialog", providers: [
52
- TaskViewService,
53
- SearchService,
54
- {
55
- provide: NAE_BASE_FILTER,
56
- useFactory: taskViewFilterFactory,
57
- deps: [MAT_DIALOG_DATA]
58
- },
59
- {
60
- provide: AllowedNetsService,
61
- useFactory: localAllowedNetsFactory,
62
- deps: [AllowedNetsServiceFactory]
63
- }
64
- ], 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"], components: [{ type: i4.HeaderComponent, selector: "nc-header" }, { type: i5.SingleTaskComponent, selector: "nc-single-task" }], directives: [{ type: i2.LetDirective, selector: "[nccLet]", inputs: ["nccLet"] }, { type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i6.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }], pipes: { "async": i7.AsyncPipe } });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskViewDialogComponent, decorators: [{
66
- type: Component,
67
- args: [{ selector: 'nc-task-view-dialog', providers: [
68
- TaskViewService,
69
- SearchService,
70
- {
71
- provide: NAE_BASE_FILTER,
72
- useFactory: taskViewFilterFactory,
73
- deps: [MAT_DIALOG_DATA]
74
- },
75
- {
76
- provide: AllowedNetsService,
77
- useFactory: localAllowedNetsFactory,
78
- deps: [AllowedNetsServiceFactory]
79
- }
80
- ], 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"] }]
81
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
82
- type: Inject,
83
- args: [MAT_DIALOG_DATA]
84
- }] }, { type: i2.UserFiltersService }, { type: i2.LoggerService }, { type: i2.TaskViewService }, { type: undefined, decorators: [{
85
- type: Inject,
86
- args: [NAE_BASE_FILTER]
87
- }] }, { type: i3.ActivatedRoute }]; }, propDecorators: { taskHeaderComponent: [{
88
- type: ViewChild,
89
- args: ['header']
90
- }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay12aWV3LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9kaWFsb2cvdGFzay12aWV3LWRpYWxvZy90YXNrLXZpZXctZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy90YXNrLXZpZXctZGlhbG9nL3Rhc2stdmlldy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUd6QixlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFFWixlQUFlLEVBR2YsK0JBQStCLEVBQy9CLFNBQVMsRUFDWixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQzs7Ozs7Ozs7O0FBSTdHLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxhQUFvQztJQUN0RSxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztLQUNyRjtJQUNELE1BQU0sWUFBWSxHQUFHLGFBQXNDLENBQUM7SUFFNUQsT0FBTztRQUNILE1BQU0sRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTztTQUNqQyxDQUFDO0tBQ0wsQ0FBQztBQUNOLENBQUM7QUFxQkQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLCtCQUErQjtJQUt4RSxZQUFzQixVQUFpRCxFQUN4QixLQUE0QixFQUNyRCxrQkFBc0MsRUFDdEMsSUFBbUIsRUFDN0IsZUFBZ0MsRUFDUCxVQUFzQixFQUMvQyxlQUFnQztRQUN4QyxLQUFLLENBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQVBsQyxlQUFVLEdBQVYsVUFBVSxDQUF1QztRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUNyRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLFNBQUksR0FBSixJQUFJLENBQWU7UUFLckMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBOEIsQ0FBQztTQUM1RDtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxZQUFtQztRQUN4RCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUN2QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7U0FDcEU7UUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7U0FDcEU7SUFDTCxDQUFDOztxSEFsQ1EsdUJBQXVCLDhDQU1aLGVBQWUsMkdBSWYsZUFBZTt5R0FWMUIsdUJBQXVCLDhDQWZyQjtRQUNQLGVBQWU7UUFDZixhQUFhO1FBQ2I7WUFDSSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUscUJBQXFCO1lBQ2pDLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQztTQUMxQjtRQUNEO1lBQ0ksT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixVQUFVLEVBQUUsdUJBQXVCO1lBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDO1NBQ3BDO0tBQ0osZ0tDbkRMLDg4QkFnQkE7NEZEcUNhLHVCQUF1QjtrQkFuQm5DLFNBQVM7K0JBQ0kscUJBQXFCLGFBR3BCO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYjs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLHFCQUFxQjs0QkFDakMsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDO3lCQUMxQjt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixVQUFVLEVBQUUsdUJBQXVCOzRCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzt5QkFDcEM7cUJBQ0o7OzBCQVFZLE1BQU07MkJBQUMsZUFBZTs7MEJBSXRCLE1BQU07MkJBQUMsZUFBZTt5RUFSUCxtQkFBbUI7c0JBQTlDLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFsbG93ZWROZXRzU2VydmljZSxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LFxuICAgIEJhc2VGaWx0ZXIsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBOQUVfQkFTRV9GSUxURVIsXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBTaW1wbGVGaWx0ZXIsXG4gICAgVGFza0V2ZW50Tm90aWZpY2F0aW9uLFxuICAgIFRhc2tWaWV3U2VydmljZSxcbiAgICBUYXNrVmlld0luamVjdGlvbkRhdGEsXG4gICAgVXNlckZpbHRlcnNTZXJ2aWNlLFxuICAgIEFic3RyYWN0U2luZ2xlVGFza1ZpZXdDb21wb25lbnQsXG4gICAgVGFza0V2ZW50XG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge2xvY2FsQWxsb3dlZE5ldHNGYWN0b3J5fSBmcm9tIFwiLi4vLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9zYXZlLWZpbHRlci9zYXZlLWZpbHRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7SGVhZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRhc2tWaWV3RmlsdGVyRmFjdG9yeShkaWFsb2dDb250cm9sOiBUYXNrVmlld0luamVjdGlvbkRhdGEpOiBCYXNlRmlsdGVyIHtcbiAgICBpZiAoIWRpYWxvZ0NvbnRyb2wpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXdGaWx0ZXJDYXNlSWQgd2FzIG5vdCBwcm92aWRlZCBpbiB0aGUgc2lkZW1lbnUgaW5qZWN0aW8gZGF0YScpO1xuICAgIH1cbiAgICBjb25zdCBpbmplY3RlZERhdGEgPSBkaWFsb2dDb250cm9sIGFzIFRhc2tWaWV3SW5qZWN0aW9uRGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGZpbHRlcjogU2ltcGxlRmlsdGVyLmZyb21UYXNrUXVlcnkoe1xuICAgICAgICAgICAgc3RyaW5nSWQ6IGluamVjdGVkRGF0YS50YXNrSWRzXG4gICAgICAgIH0pXG4gICAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy10YXNrLXZpZXctZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFzay12aWV3LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFzay12aWV3LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9CQVNFX0ZJTFRFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHRhc2tWaWV3RmlsdGVyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtNQVRfRElBTE9HX0RBVEFdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFsbG93ZWROZXRzU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvY2FsQWxsb3dlZE5ldHNGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW0FsbG93ZWROZXRzU2VydmljZUZhY3RvcnldXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tWaWV3RGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTaW5nbGVUYXNrVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyJykgcHVibGljIHRhc2tIZWFkZXJDb21wb25lbnQ6IEhlYWRlckNvbXBvbmVudDtcbiAgICBwcm90ZWN0ZWQgX2luamVjdGVkRGF0YTogVGFza1ZpZXdJbmplY3Rpb25EYXRhO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUYXNrVmlld0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByb3RlY3RlZCBfZGF0YTogVGFza1ZpZXdJbmplY3Rpb25EYXRhLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlckZpbHRlclNlcnZpY2U6IFVzZXJGaWx0ZXJzU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9CQVNFX0ZJTFRFUikgYmFzZUZpbHRlcjogQmFzZUZpbHRlcixcbiAgICAgICAgICAgICAgICBfYWN0aXZhdGVkUm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBzdXBlcih0YXNrVmlld1NlcnZpY2UsIF9hY3RpdmF0ZWRSb3V0ZSwgYmFzZUZpbHRlcik7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9kYXRhIGFzIFRhc2tWaWV3SW5qZWN0aW9uRGF0YTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMudGFza0hlYWRlckNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3NUYXNrRXZlbnRzKG5vdGlmaWNhdGlvbjogVGFza0V2ZW50Tm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghbm90aWZpY2F0aW9uLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3RpZmljYXRpb24uZXZlbnQgPT09IFRhc2tFdmVudC5GSU5JU0gpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7b3BlbmVkOiBmYWxzZSwgbWVzc2FnZTogJ1Rhc2sgZmluaXNoZWQnfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobm90aWZpY2F0aW9uLmV2ZW50ID09PSBUYXNrRXZlbnQuQ0FOQ0VMKSB7XG4gICAgICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2Uoe29wZW5lZDogZmFsc2UsIG1lc3NhZ2U6ICdUYXNrIGNhbmNlbGVkJ30pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC1kaWFsb2ctdGl0bGVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgbm9uZVwiICpuY2NMZXQ9XCIodGFzayQgfCBhc3luYykgYXMgdGFza1BhbmVsRGF0YVwiPlxuICAgIHt7ISF0YXNrUGFuZWxEYXRhPy50YXNrPy50aXRsZSA/IHRhc2tQYW5lbERhdGE/LnRhc2s/LnRpdGxlIDogdGFza1BhbmVsRGF0YT8udGFzaz8udHJhbnNpdGlvbklkfX1cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJ0YXNrLXZpZXctY29udGFpbmVyIHNpZGUtbWVudS1yb290XCI+XG4gICAgICAgIDxuYy1oZWFkZXIgW2hpZGRlbl09J3RydWUnICNoZWFkZXIgdHlwZT1cInRhc2tcIiBjbGFzcz1cInRhc2stcGFuZWwtcGFkZGluZy1taW5pXCI+PC9uYy1oZWFkZXI+XG4gICAgICAgIDxuYy1zaW5nbGUtdGFzayBjbGFzcz1cInZpcnR1YWwtc2Nyb2xsLXBhZGRpbmdcIiBbdGFzayRdPVwidGFzayRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmckXT1cImxvYWRpbmckXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHRhc2tFdmVudCk9XCJwcm9jZXNzVGFza0V2ZW50cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpb25Sb3dKdXN0aWZ5Q29udGVudF09J1wiY2VudGVyXCInXG4gICAgICAgICAgICAgICAgICAgICAgICBbcHJldmVudENvbGxhcHNlXT1cInByZXZlbnRDb2xsYXBzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1BhZ2VIZWFkZXJdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dQYWdlRm9vdGVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ4RmxleD5cbiAgICAgICAgPC9uYy1zaW5nbGUtdGFzaz5cbjwvZGl2PlxuIl19