@netgrif/components-core 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2010) hide show
  1. package/LICENSE +132 -0
  2. package/README.md +105 -0
  3. package/bundles/netgrif-components-core.umd.js +32298 -0
  4. package/bundles/netgrif-components-core.umd.js.map +1 -0
  5. package/bundles/netgrif-components-core.umd.min.js +17 -0
  6. package/bundles/netgrif-components-core.umd.min.js.map +1 -0
  7. package/commons/angular-cli-devkit-core-strings.d.ts +93 -0
  8. package/commons/import-to-add.d.ts +5 -0
  9. package/commons/schema.d.ts +277 -0
  10. package/commons/view-class-info.d.ts +22 -0
  11. package/esm2015/assets/i18n/de.json +419 -0
  12. package/esm2015/assets/i18n/en.json +419 -0
  13. package/esm2015/assets/i18n/sk.json +419 -0
  14. package/esm2015/commons/angular-cli-devkit-core-strings.js +157 -0
  15. package/esm2015/commons/import-to-add.js +7 -0
  16. package/esm2015/commons/schema.js +7 -0
  17. package/esm2015/commons/view-class-info.js +52 -0
  18. package/esm2015/lib/admin/public-api.js +9 -0
  19. package/esm2015/lib/admin/role-assignment/abstract-role-assignment.js +77 -0
  20. package/esm2015/lib/admin/role-assignment/services/ProcessList.js +155 -0
  21. package/esm2015/lib/admin/role-assignment/services/role-assignment.service.js +40 -0
  22. package/esm2015/lib/admin/user-invite/abstract-user-invite.component.js +77 -0
  23. package/esm2015/lib/admin/user-invite/services/organization-list.service.js +63 -0
  24. package/esm2015/lib/admin/user-invite/services/user-invite.service.js +31 -0
  25. package/esm2015/lib/allowed-nets/public-api.js +4 -0
  26. package/esm2015/lib/allowed-nets/services/allowed-nets.service.js +74 -0
  27. package/esm2015/lib/allowed-nets/services/base-allowed-nets.service.js +54 -0
  28. package/esm2015/lib/allowed-nets/services/factory/allowed-nets-service-factory.js +129 -0
  29. package/esm2015/lib/authentication/anonymous/anonymous.service.js +63 -0
  30. package/esm2015/lib/authentication/authentication.factory.js +16 -0
  31. package/esm2015/lib/authentication/authentication.module.js +32 -0
  32. package/esm2015/lib/authentication/components/abstract-authentication-overlay.js +50 -0
  33. package/esm2015/lib/authentication/models/credentials.js +2 -0
  34. package/esm2015/lib/authentication/models/public-api.js +5 -0
  35. package/esm2015/lib/authentication/models/transformer.js +2 -0
  36. package/esm2015/lib/authentication/models/user.transformer.js +19 -0
  37. package/esm2015/lib/authentication/public-api.js +14 -0
  38. package/esm2015/lib/authentication/services/anonymous-authentication-interceptor.js +44 -0
  39. package/esm2015/lib/authentication/services/authentication/authentication.service.js +71 -0
  40. package/esm2015/lib/authentication/services/authentication-interceptor.js +52 -0
  41. package/esm2015/lib/authentication/services/authentication-method.service.js +5 -0
  42. package/esm2015/lib/authentication/services/guard/authentication-guard.service.js +39 -0
  43. package/esm2015/lib/authentication/services/methods/basic-authentication/basic-authentication.service.js +48 -0
  44. package/esm2015/lib/authentication/services/methods/null-authentication/null-authentication.service.js +19 -0
  45. package/esm2015/lib/authentication/services/public-api.js +7 -0
  46. package/esm2015/lib/authentication/session/null-storage.js +15 -0
  47. package/esm2015/lib/authentication/session/public-api.js +3 -0
  48. package/esm2015/lib/authentication/session/services/session.service.js +156 -0
  49. package/esm2015/lib/authentication/sign-up/models/user-invitation-request.js +2 -0
  50. package/esm2015/lib/authentication/sign-up/models/user-registration-request.js +2 -0
  51. package/esm2015/lib/authentication/sign-up/public-api.js +8 -0
  52. package/esm2015/lib/authentication/sign-up/services/sign-up.service.js +105 -0
  53. package/esm2015/lib/authentication/sign-up/sign-up.module.js +13 -0
  54. package/esm2015/lib/authorization/authority/authority-guard.service.js +50 -0
  55. package/esm2015/lib/authorization/group/group-guard.service.js +67 -0
  56. package/esm2015/lib/authorization/permission/permission.service.js +116 -0
  57. package/esm2015/lib/authorization/public-api.js +10 -0
  58. package/esm2015/lib/authorization/role/role-guard.service.js +105 -0
  59. package/esm2015/lib/changed-fields/public-api.js +2 -0
  60. package/esm2015/lib/changed-fields/services/changed-fields.service.js +32 -0
  61. package/esm2015/lib/configuration/configuration.service.js +190 -0
  62. package/esm2015/lib/configuration/public-api.js +3 -0
  63. package/esm2015/lib/covalent/covalent.module.js +22 -0
  64. package/esm2015/lib/currency/currency.module.js +23 -0
  65. package/esm2015/lib/dashboard/cards/count-card/abstract-count-card.js +39 -0
  66. package/esm2015/lib/dashboard/cards/custom-card/abstract-custom-card.js +47 -0
  67. package/esm2015/lib/dashboard/cards/iframe-card/abstract-iframe-card.js +14 -0
  68. package/esm2015/lib/dashboard/cards/model/card-grid-element.js +2 -0
  69. package/esm2015/lib/dashboard/cards/model/count-card.js +2 -0
  70. package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/aggregation-query.js +2 -0
  71. package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/aggregation-result.js +2 -0
  72. package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/custom-card.js +2 -0
  73. package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/dashboard-event-content.js +2 -0
  74. package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/dashboard-multi-data.js +7 -0
  75. package/esm2015/lib/dashboard/cards/model/custom-dashboard-model/dashboard-single-data.js +7 -0
  76. package/esm2015/lib/dashboard/cards/model/dashboard-card-types.js +13 -0
  77. package/esm2015/lib/dashboard/cards/model/dashboard-card.js +2 -0
  78. package/esm2015/lib/dashboard/cards/model/graph-card.js +2 -0
  79. package/esm2015/lib/dashboard/cards/model/iframe-card.js +2 -0
  80. package/esm2015/lib/dashboard/dashboard-content/abstract-dashboard-content.js +19 -0
  81. package/esm2015/lib/dashboard/dashboard-content/dashboard-params.js +2 -0
  82. package/esm2015/lib/dashboard/public-api.js +20 -0
  83. package/esm2015/lib/data-fields/boolean-field/abstract-boolean-field.component.js +40 -0
  84. package/esm2015/lib/data-fields/boolean-field/models/boolean-field.js +24 -0
  85. package/esm2015/lib/data-fields/button-field/abstract-button-field.component.js +62 -0
  86. package/esm2015/lib/data-fields/button-field/models/button-field.js +27 -0
  87. package/esm2015/lib/data-fields/data-field-template/abstract-data-field-template.component.js +101 -0
  88. package/esm2015/lib/data-fields/data-field-template/models/wrapped-boolean.js +6 -0
  89. package/esm2015/lib/data-fields/data-fields.module.js +35 -0
  90. package/esm2015/lib/data-fields/date-field/abstract-date-field.component.js +21 -0
  91. package/esm2015/lib/data-fields/date-field/models/custom-date-adapter.js +11 -0
  92. package/esm2015/lib/data-fields/date-field/models/date-field.js +10 -0
  93. package/esm2015/lib/data-fields/date-time-field/abstract-date-time-field.component.js +21 -0
  94. package/esm2015/lib/data-fields/date-time-field/models/date-time-field.js +10 -0
  95. package/esm2015/lib/data-fields/enumeration-field/abstract-enumeration-field.component.js +17 -0
  96. package/esm2015/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/abstract-enumeration-autocomplete-dynamic-field.component.js +43 -0
  97. package/esm2015/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/abstract-enumeration-autocomplete-select-field.component.js +53 -0
  98. package/esm2015/lib/data-fields/enumeration-field/enumeration-icon-field/abstract-enumeration-icon-field.component.js +37 -0
  99. package/esm2015/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.js +11 -0
  100. package/esm2015/lib/data-fields/enumeration-field/enumeration-select-field/abstract-enumeration-select-field.component.js +11 -0
  101. package/esm2015/lib/data-fields/enumeration-field/enumeration-stepper-field/abstract-enumeration-stepper-field.component.js +40 -0
  102. package/esm2015/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.js +44 -0
  103. package/esm2015/lib/data-fields/enumeration-field/models/enumeration-field.js +59 -0
  104. package/esm2015/lib/data-fields/file-field/abstract-file-field.component.js +390 -0
  105. package/esm2015/lib/data-fields/file-field/abstract-preview-dialog/preview-dialog-data.js +2 -0
  106. package/esm2015/lib/data-fields/file-field/models/file-field-value.js +2 -0
  107. package/esm2015/lib/data-fields/file-field/models/file-field.js +106 -0
  108. package/esm2015/lib/data-fields/file-list-field/abstract-file-list-field.component.js +261 -0
  109. package/esm2015/lib/data-fields/file-list-field/models/file-list-field-value.js +2 -0
  110. package/esm2015/lib/data-fields/file-list-field/models/file-list-field.js +83 -0
  111. package/esm2015/lib/data-fields/filter-field/abstract-filter-field-content.component.js +29 -0
  112. package/esm2015/lib/data-fields/filter-field/abstract-filter-field.component.js +28 -0
  113. package/esm2015/lib/data-fields/filter-field/models/filter-field-injection-token.js +7 -0
  114. package/esm2015/lib/data-fields/filter-field/models/filter-field.js +15 -0
  115. package/esm2015/lib/data-fields/i18n-field/abstract-i18n-field.component.js +19 -0
  116. package/esm2015/lib/data-fields/i18n-field/i18n-divider-field/abstract-i18n-divider-field.component.js +26 -0
  117. package/esm2015/lib/data-fields/i18n-field/i18n-text-field/abstract-i18n-text-field.component.js +40 -0
  118. package/esm2015/lib/data-fields/i18n-field/models/i18n-field-value.js +2 -0
  119. package/esm2015/lib/data-fields/i18n-field/models/i18n-field.js +10 -0
  120. package/esm2015/lib/data-fields/models/abstract-data-field-component.js +39 -0
  121. package/esm2015/lib/data-fields/models/abstract-data-field.js +391 -0
  122. package/esm2015/lib/data-fields/models/behavior.js +2 -0
  123. package/esm2015/lib/data-fields/models/boolean-label-enabled-token.js +3 -0
  124. package/esm2015/lib/data-fields/models/changed-fields.js +2 -0
  125. package/esm2015/lib/data-fields/models/component.js +2 -0
  126. package/esm2015/lib/data-fields/models/format-filter.js +2 -0
  127. package/esm2015/lib/data-fields/models/icon.js +6 -0
  128. package/esm2015/lib/data-fields/models/invalid-data-policy-token.js +11 -0
  129. package/esm2015/lib/data-fields/models/layout.js +2 -0
  130. package/esm2015/lib/data-fields/models/material-appearance.js +14 -0
  131. package/esm2015/lib/data-fields/models/properties.js +2 -0
  132. package/esm2015/lib/data-fields/models/template-appearance.js +15 -0
  133. package/esm2015/lib/data-fields/models/validation.js +2 -0
  134. package/esm2015/lib/data-fields/multichoice-field/abstract-multichoice-field.component.js +17 -0
  135. package/esm2015/lib/data-fields/multichoice-field/models/multichoice-field.js +41 -0
  136. package/esm2015/lib/data-fields/multichoice-field/multichoice-list-field/abstract-multichoice-list-field.component.js +9 -0
  137. package/esm2015/lib/data-fields/multichoice-field/multichoice-select-field/abstract-multichoice-select-field.component.js +9 -0
  138. package/esm2015/lib/data-fields/number-field/abstract-number-errors.component.js +45 -0
  139. package/esm2015/lib/data-fields/number-field/abstract-number-field.component.js +18 -0
  140. package/esm2015/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.js +48 -0
  141. package/esm2015/lib/data-fields/number-field/models/number-field.js +131 -0
  142. package/esm2015/lib/data-fields/number-field/number-default-field/abstract-default-number-field.component.js +7 -0
  143. package/esm2015/lib/data-fields/public-api.js +73 -0
  144. package/esm2015/lib/data-fields/task-ref-field/model/task-ref-field.js +7 -0
  145. package/esm2015/lib/data-fields/text-field/abstract-text-errors.component.js +35 -0
  146. package/esm2015/lib/data-fields/text-field/abstract-text-field.component.js +15 -0
  147. package/esm2015/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.js +39 -0
  148. package/esm2015/lib/data-fields/text-field/models/text-area-field.js +13 -0
  149. package/esm2015/lib/data-fields/text-field/models/text-field.js +85 -0
  150. package/esm2015/lib/data-fields/text-field/password-text-field/abstract-password-text-field.component.js +17 -0
  151. package/esm2015/lib/data-fields/text-field/rich-textarea-field/abstract-rich-textarea-field.component.js +30 -0
  152. package/esm2015/lib/data-fields/text-field/simple-text-field/abstract-simple-text-field.component.js +17 -0
  153. package/esm2015/lib/data-fields/text-field/textarea-field/abstract-textarea-field.component.js +40 -0
  154. package/esm2015/lib/data-fields/time-instance-abstract-field/abstract-time-instance-field.component.js +45 -0
  155. package/esm2015/lib/data-fields/time-instance-abstract-field/models/abstract-time-instance-field.js +105 -0
  156. package/esm2015/lib/data-fields/user-field/abstract-user-field.component.js +59 -0
  157. package/esm2015/lib/data-fields/user-field/models/user-field.js +14 -0
  158. package/esm2015/lib/data-fields/user-field/models/user-value.js +36 -0
  159. package/esm2015/lib/dialog/components/alert-dialog/alert-dialog.component.js +38 -0
  160. package/esm2015/lib/dialog/components/alert-dialog/alert-dialog.module.js +28 -0
  161. package/esm2015/lib/dialog/components/confirm-dialog/confirm-dialog.component.js +52 -0
  162. package/esm2015/lib/dialog/components/confirm-dialog/confirm-dialog.module.js +28 -0
  163. package/esm2015/lib/dialog/components/prompt-dialog/prompt-dialog.component.js +42 -0
  164. package/esm2015/lib/dialog/components/prompt-dialog/prompt-dialog.module.js +30 -0
  165. package/esm2015/lib/dialog/dialog.module.js +29 -0
  166. package/esm2015/lib/dialog/models/DialogData.js +2 -0
  167. package/esm2015/lib/dialog/models/DialogResult.js +2 -0
  168. package/esm2015/lib/dialog/models/abstract-dialog.js +21 -0
  169. package/esm2015/lib/dialog/public-api.js +9 -0
  170. package/esm2015/lib/dialog/services/dialog.service.js +82 -0
  171. package/esm2015/lib/event/model/event-constants.js +8 -0
  172. package/esm2015/lib/event/model/event-outcomes/case-outcomes/case-event-outcome.js +2 -0
  173. package/esm2015/lib/event/model/event-outcomes/case-outcomes/create-case-event-outcome.js +2 -0
  174. package/esm2015/lib/event/model/event-outcomes/case-outcomes/delete-case-event-outcome.js +2 -0
  175. package/esm2015/lib/event/model/event-outcomes/data-outcomes/get-data-event-outcome.js +2 -0
  176. package/esm2015/lib/event/model/event-outcomes/data-outcomes/get-data-groups-event-outcome.js +2 -0
  177. package/esm2015/lib/event/model/event-outcomes/data-outcomes/get-data-localised-event-outcome.js +2 -0
  178. package/esm2015/lib/event/model/event-outcomes/data-outcomes/set-data-event-outcome.js +2 -0
  179. package/esm2015/lib/event/model/event-outcomes/petrinet-outcomes/petri-net-event-outcome.js +2 -0
  180. package/esm2015/lib/event/model/event-outcomes/task-outcomes/assign-task-event-outcome.js +2 -0
  181. package/esm2015/lib/event/model/event-outcomes/task-outcomes/cancel-task-event-outcome.js +2 -0
  182. package/esm2015/lib/event/model/event-outcomes/task-outcomes/delegate-task-event-outcome.js +2 -0
  183. package/esm2015/lib/event/model/event-outcomes/task-outcomes/finish-task-event-outcome.js +2 -0
  184. package/esm2015/lib/event/model/event-outcomes/task-outcomes/task-event-outcome.js +2 -0
  185. package/esm2015/lib/event/public-api.js +19 -0
  186. package/esm2015/lib/event/services/event.service.js +57 -0
  187. package/esm2015/lib/event/services/interfaces/changed-fields-map.js +2 -0
  188. package/esm2015/lib/event-queue/model/queued-event.js +31 -0
  189. package/esm2015/lib/event-queue/public-api.js +5 -0
  190. package/esm2015/lib/event-queue/services/event-queue.service.js +63 -0
  191. package/esm2015/lib/filter/filter.repository.js +141 -0
  192. package/esm2015/lib/filter/models/case-search-request-body.js +2 -0
  193. package/esm2015/lib/filter/models/filter-type.js +11 -0
  194. package/esm2015/lib/filter/models/filter.js +56 -0
  195. package/esm2015/lib/filter/models/filters-filter-injection-token.js +9 -0
  196. package/esm2015/lib/filter/models/merge-operator.js +11 -0
  197. package/esm2015/lib/filter/models/merged-filter-params.js +2 -0
  198. package/esm2015/lib/filter/models/merged-filter.js +111 -0
  199. package/esm2015/lib/filter/models/simple-filter.js +91 -0
  200. package/esm2015/lib/filter/models/task-search-request-body.js +2 -0
  201. package/esm2015/lib/filter/models/user-filter-constants.js +39 -0
  202. package/esm2015/lib/filter/public-api.js +18 -0
  203. package/esm2015/lib/filter/user-filters.service.js +337 -0
  204. package/esm2015/lib/forms/email-submission/abstract-email-submission-form.component.js +31 -0
  205. package/esm2015/lib/forms/forgotten-password/abstract-forgotten-password.component.js +32 -0
  206. package/esm2015/lib/forms/has-form.js +2 -0
  207. package/esm2015/lib/forms/login/abstract-login-form.component.js +58 -0
  208. package/esm2015/lib/forms/models/abstract-registration.component.js +94 -0
  209. package/esm2015/lib/forms/models/password.validator.js +21 -0
  210. package/esm2015/lib/forms/public-api.js +7 -0
  211. package/esm2015/lib/forms/registration/abstract-registration-form.component.js +37 -0
  212. package/esm2015/lib/groups/public-api.js +3 -0
  213. package/esm2015/lib/groups/services/active-group.service.js +88 -0
  214. package/esm2015/lib/groups/services/next-group.service.js +104 -0
  215. package/esm2015/lib/header/abstract-header-service.js +394 -0
  216. package/esm2015/lib/header/abstract-header.component.js +159 -0
  217. package/esm2015/lib/header/case-header/case-header.service.js +81 -0
  218. package/esm2015/lib/header/case-header/case-menta-enum.js +9 -0
  219. package/esm2015/lib/header/header-modes/abstract-header-mode.component.js +12 -0
  220. package/esm2015/lib/header/header-modes/edit-mode/abstract-edit-mode.component.js +73 -0
  221. package/esm2015/lib/header/header-modes/loading-mode/abstract-loading-mode.component.js +13 -0
  222. package/esm2015/lib/header/header-modes/search-mode/abstract-search-mode.component.js +86 -0
  223. package/esm2015/lib/header/header-modes/sort-mode/abstract-sort-mode.component.js +15 -0
  224. package/esm2015/lib/header/header-state.js +43 -0
  225. package/esm2015/lib/header/models/default-headers-token.js +3 -0
  226. package/esm2015/lib/header/models/fields-group.js +2 -0
  227. package/esm2015/lib/header/models/header-column.js +22 -0
  228. package/esm2015/lib/header/models/header-mode.js +7 -0
  229. package/esm2015/lib/header/models/header-type.js +7 -0
  230. package/esm2015/lib/header/models/public-api.js +12 -0
  231. package/esm2015/lib/header/models/user-changes/column-header-change.js +2 -0
  232. package/esm2015/lib/header/models/user-changes/edit-change-description.js +2 -0
  233. package/esm2015/lib/header/models/user-changes/header-change-description.js +2 -0
  234. package/esm2015/lib/header/models/user-changes/header-change-type.js +20 -0
  235. package/esm2015/lib/header/models/user-changes/header-change.js +2 -0
  236. package/esm2015/lib/header/models/user-changes/mode-change-description.js +2 -0
  237. package/esm2015/lib/header/models/user-changes/search-change-description.js +2 -0
  238. package/esm2015/lib/header/models/user-changes/sort-change-description.js +2 -0
  239. package/esm2015/lib/header/public-api.js +21 -0
  240. package/esm2015/lib/header/services/overflow.service.js +94 -0
  241. package/esm2015/lib/header/task-header/task-header.service.js +66 -0
  242. package/esm2015/lib/header/task-header/task-meta-enum.js +11 -0
  243. package/esm2015/lib/header/workflow-header/workflow-header.service.js +48 -0
  244. package/esm2015/lib/header/workflow-header/workflow-meta-enum.js +10 -0
  245. package/esm2015/lib/legal/legal-notice/abstract-legal-notice.component.js +16 -0
  246. package/esm2015/lib/legal/public-api.js +2 -0
  247. package/esm2015/lib/logger/models/log-entry.js +61 -0
  248. package/esm2015/lib/logger/public-api.js +10 -0
  249. package/esm2015/lib/logger/publishers/console-log-publisher.js +32 -0
  250. package/esm2015/lib/logger/publishers/local-storage-log-publisher.js +40 -0
  251. package/esm2015/lib/logger/publishers/log-publisher.js +12 -0
  252. package/esm2015/lib/logger/services/log-level.js +10 -0
  253. package/esm2015/lib/logger/services/log-publisher.service.js +59 -0
  254. package/esm2015/lib/logger/services/logger.service.js +77 -0
  255. package/esm2015/lib/material/material.module.js +108 -0
  256. package/esm2015/lib/moment/public-api.js +2 -0
  257. package/esm2015/lib/moment/time-formats.js +26 -0
  258. package/esm2015/lib/navigation/group-navigation-component-resolver/abstract-group-navigation-component-resolver.component.js +36 -0
  259. package/esm2015/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.js +34 -0
  260. package/esm2015/lib/navigation/group-navigation-component-resolver/group-navigation-view-id-segment-factory.js +5 -0
  261. package/esm2015/lib/navigation/model/filter-case-injection-token.js +6 -0
  262. package/esm2015/lib/navigation/model/group-navigation-component-resolver-component-injection-token.js +6 -0
  263. package/esm2015/lib/navigation/model/group-navigation-constants.js +59 -0
  264. package/esm2015/lib/navigation/model/group-navigation-item-label.js +2 -0
  265. package/esm2015/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.js +131 -0
  266. package/esm2015/lib/navigation/navigation-drawer/abstract-navigation-resizable-drawer.component.js +14 -0
  267. package/esm2015/lib/navigation/navigation-rail/abstract-navigation-rail.component.js +32 -0
  268. package/esm2015/lib/navigation/navigation-tree/abstract-navigation-tree.component.js +371 -0
  269. package/esm2015/lib/navigation/public-api.js +19 -0
  270. package/esm2015/lib/navigation/quick-panel/components/abstract-quick-panel.component.js +25 -0
  271. package/esm2015/lib/navigation/quick-panel/components/internal-link/abstract-internal-link.component.js +12 -0
  272. package/esm2015/lib/navigation/quick-panel/components/language-selector/abstract-language-selector.component.js +52 -0
  273. package/esm2015/lib/navigation/quick-panel/components/logout-shortcut/abstract-logout-shortcut.component.js +21 -0
  274. package/esm2015/lib/navigation/quick-panel/components/paper-view.service.js +38 -0
  275. package/esm2015/lib/navigation/quick-panel/public-api.js +8 -0
  276. package/esm2015/lib/navigation/utility/filter-extraction.service.js +87 -0
  277. package/esm2015/lib/navigation/utility/navigation-item-task-utility-methods.js +78 -0
  278. package/esm2015/lib/panel/abstract/featured-value.js +2 -0
  279. package/esm2015/lib/panel/abstract/panel-with-header-binding.js +47 -0
  280. package/esm2015/lib/panel/abstract/panel-with-immediate-data.js +62 -0
  281. package/esm2015/lib/panel/abstract/tabbed-virtual-scroll.component.js +28 -0
  282. package/esm2015/lib/panel/abstract-panel.component.js +44 -0
  283. package/esm2015/lib/panel/case-panel/abstract-case-panel.component.js +88 -0
  284. package/esm2015/lib/panel/immediate/abstract-immediate-filter-text-content.component.js +38 -0
  285. package/esm2015/lib/panel/immediate/abstract-immediate-filter-text.component.js +21 -0
  286. package/esm2015/lib/panel/immediate/model/filter-text-injection-token.js +6 -0
  287. package/esm2015/lib/panel/public-api.js +15 -0
  288. package/esm2015/lib/panel/task-panel/abstract-task-panel.component.js +281 -0
  289. package/esm2015/lib/panel/task-panel/models/disable-functions.js +3 -0
  290. package/esm2015/lib/panel/task-panel-list/abstract-task-list.component.js +89 -0
  291. package/esm2015/lib/panel/task-panel-list/task-panel-data/task-panel-data.js +2 -0
  292. package/esm2015/lib/panel/workflow-panel/abstract-workflow-panel.component.js +103 -0
  293. package/esm2015/lib/process/net.js +101 -0
  294. package/esm2015/lib/process/netRole.js +2 -0
  295. package/esm2015/lib/process/permissions.js +12 -0
  296. package/esm2015/lib/process/petri-net-reference-with-permissions.js +2 -0
  297. package/esm2015/lib/process/process.service.js +301 -0
  298. package/esm2015/lib/process/public-api.js +8 -0
  299. package/esm2015/lib/process/public-process.service.js +29 -0
  300. package/esm2015/lib/process/rolesAndPermissions.js +2 -0
  301. package/esm2015/lib/process/transaction.js +2 -0
  302. package/esm2015/lib/process/transition.js +2 -0
  303. package/esm2015/lib/public/factories/get-net-and-create-case.js +22 -0
  304. package/esm2015/lib/public/factories/public-factory-resolver.js +13 -0
  305. package/esm2015/lib/public/factories/public-search-factory.js +17 -0
  306. package/esm2015/lib/public/public-api.js +5 -0
  307. package/esm2015/lib/public/services/public-url-resolver.service.js +20 -0
  308. package/esm2015/lib/resources/abstract-endpoint/abstract-resource.service.js +79 -0
  309. package/esm2015/lib/resources/abstract-endpoint/count-service.js +2 -0
  310. package/esm2015/lib/resources/engine-endpoint/case-resource.service.js +133 -0
  311. package/esm2015/lib/resources/engine-endpoint/dashboard-resource.service.js +33 -0
  312. package/esm2015/lib/resources/engine-endpoint/petri-net-resource.service.js +161 -0
  313. package/esm2015/lib/resources/engine-endpoint/public/public-case-resource.service.js +46 -0
  314. package/esm2015/lib/resources/engine-endpoint/public/public-petri-net-resource.service.js +108 -0
  315. package/esm2015/lib/resources/engine-endpoint/public/public-task-resource.service.js +224 -0
  316. package/esm2015/lib/resources/engine-endpoint/task-resource.service.js +306 -0
  317. package/esm2015/lib/resources/engine-endpoint/user-resource.service.js +191 -0
  318. package/esm2015/lib/resources/interface/assigned-user-policy.js +2 -0
  319. package/esm2015/lib/resources/interface/author.js +2 -0
  320. package/esm2015/lib/resources/interface/authority.js +2 -0
  321. package/esm2015/lib/resources/interface/case-get-request-body.js +2 -0
  322. package/esm2015/lib/resources/interface/case.js +2 -0
  323. package/esm2015/lib/resources/interface/changed-field-container.js +2 -0
  324. package/esm2015/lib/resources/interface/count.js +2 -0
  325. package/esm2015/lib/resources/interface/create-case-request-body.js +2 -0
  326. package/esm2015/lib/resources/interface/data-group-layout.js +59 -0
  327. package/esm2015/lib/resources/interface/data-groups.js +19 -0
  328. package/esm2015/lib/resources/interface/event-outcome.js +2 -0
  329. package/esm2015/lib/resources/interface/field-alignment.js +10 -0
  330. package/esm2015/lib/resources/interface/fields.js +2 -0
  331. package/esm2015/lib/resources/interface/file-resource.js +2 -0
  332. package/esm2015/lib/resources/interface/group.js +2 -0
  333. package/esm2015/lib/resources/interface/immediate-data.js +2 -0
  334. package/esm2015/lib/resources/interface/link.js +2 -0
  335. package/esm2015/lib/resources/interface/message-resource.js +2 -0
  336. package/esm2015/lib/resources/interface/page.js +2 -0
  337. package/esm2015/lib/resources/interface/pagination.js +2 -0
  338. package/esm2015/lib/resources/interface/petri-net-object-id.js +2 -0
  339. package/esm2015/lib/resources/interface/petri-net-reference.js +2 -0
  340. package/esm2015/lib/resources/interface/petri-net-request-body.js +2 -0
  341. package/esm2015/lib/resources/interface/petri-net.js +2 -0
  342. package/esm2015/lib/resources/interface/preferences.js +2 -0
  343. package/esm2015/lib/resources/interface/process-role.js +2 -0
  344. package/esm2015/lib/resources/interface/response-data.js +2 -0
  345. package/esm2015/lib/resources/interface/task-layout.js +2 -0
  346. package/esm2015/lib/resources/interface/task-reference.js +2 -0
  347. package/esm2015/lib/resources/interface/task-set-data-request-body.js +2 -0
  348. package/esm2015/lib/resources/interface/task.js +2 -0
  349. package/esm2015/lib/resources/interface/user-process-role.js +2 -0
  350. package/esm2015/lib/resources/interface/user-resource-small.js +2 -0
  351. package/esm2015/lib/resources/interface/user-resource.js +2 -0
  352. package/esm2015/lib/resources/public-api.js +46 -0
  353. package/esm2015/lib/resources/resource-provider.service.js +168 -0
  354. package/esm2015/lib/resources/types/nae-date-type.js +5 -0
  355. package/esm2015/lib/routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service.js +36 -0
  356. package/esm2015/lib/routing/public-api.js +7 -0
  357. package/esm2015/lib/routing/redirect-service/redirect.service.js +103 -0
  358. package/esm2015/lib/routing/routing-builder/routing-builder.service.js +190 -0
  359. package/esm2015/lib/routing/view-service/model/view-entry.js +2 -0
  360. package/esm2015/lib/routing/view-service/view.service.js +35 -0
  361. package/esm2015/lib/search/advanced-search-component/abstract-advanced-search.component.js +49 -0
  362. package/esm2015/lib/search/advanced-search-component-initialization-service/advanced-search-component-initialization.service.js +34 -0
  363. package/esm2015/lib/search/category-factory/category-factory.js +94 -0
  364. package/esm2015/lib/search/category-factory/category-resolver.service.js +149 -0
  365. package/esm2015/lib/search/category-factory/category-serialisation-pair.js +2 -0
  366. package/esm2015/lib/search/category-factory/default-categories-factories.js +67 -0
  367. package/esm2015/lib/search/category-factory/default-search-categories.module.js +50 -0
  368. package/esm2015/lib/search/category-factory/optional-dependencies.js +2 -0
  369. package/esm2015/lib/search/category-factory/search-categories-injection-token.js +24 -0
  370. package/esm2015/lib/search/fulltext-search-component/abstract-fulltext-search.component.js +17 -0
  371. package/esm2015/lib/search/header-search-service/header-search.service.js +226 -0
  372. package/esm2015/lib/search/models/base-filter-injection-token.js +6 -0
  373. package/esm2015/lib/search/models/base-filter.js +2 -0
  374. package/esm2015/lib/search/models/boolean-operator.js +10 -0
  375. package/esm2015/lib/search/models/category/autocomplete-category.js +129 -0
  376. package/esm2015/lib/search/models/category/autocomplete-options.js +2 -0
  377. package/esm2015/lib/search/models/category/case/case-author.js +21 -0
  378. package/esm2015/lib/search/models/category/case/case-creation-date-time.js +43 -0
  379. package/esm2015/lib/search/models/category/case/case-creation-date.js +43 -0
  380. package/esm2015/lib/search/models/category/case/case-dataset.js +397 -0
  381. package/esm2015/lib/search/models/category/case/case-net-attribute-autocomplete-category.js +23 -0
  382. package/esm2015/lib/search/models/category/case/case-process.js +73 -0
  383. package/esm2015/lib/search/models/category/case/case-role.js +24 -0
  384. package/esm2015/lib/search/models/category/case/case-search.enum.js +15 -0
  385. package/esm2015/lib/search/models/category/case/case-simple-dataset.js +135 -0
  386. package/esm2015/lib/search/models/category/case/case-string-id.js +27 -0
  387. package/esm2015/lib/search/models/category/case/case-task.js +24 -0
  388. package/esm2015/lib/search/models/category/case/case-title.js +29 -0
  389. package/esm2015/lib/search/models/category/case/case-visual-id.js +23 -0
  390. package/esm2015/lib/search/models/category/categories.js +24 -0
  391. package/esm2015/lib/search/models/category/category.js +524 -0
  392. package/esm2015/lib/search/models/category/name-id-pair.js +2 -0
  393. package/esm2015/lib/search/models/category/net-attribute-autocomplete-category.js +59 -0
  394. package/esm2015/lib/search/models/category/net-attribute-pair.js +2 -0
  395. package/esm2015/lib/search/models/category/no-configuration-autocomplete-category.js +36 -0
  396. package/esm2015/lib/search/models/category/no-configuration-category.js +39 -0
  397. package/esm2015/lib/search/models/category/no-configuration-user-autocomplete-category.js +28 -0
  398. package/esm2015/lib/search/models/category/search-autocomplete-option.js +2 -0
  399. package/esm2015/lib/search/models/category/search-input-type.js +14 -0
  400. package/esm2015/lib/search/models/category/task/task-assignee.js +21 -0
  401. package/esm2015/lib/search/models/category/task/task-net-attribute-autocomplete-category.js +23 -0
  402. package/esm2015/lib/search/models/category/task/task-process.js +50 -0
  403. package/esm2015/lib/search/models/category/task/task-role.js +23 -0
  404. package/esm2015/lib/search/models/category/task/task-task.js +23 -0
  405. package/esm2015/lib/search/models/category/user-autocomplete.js +59 -0
  406. package/esm2015/lib/search/models/component-configuration/search-component-configuration-injection-token.js +8 -0
  407. package/esm2015/lib/search/models/component-configuration/search-component-configuration.js +2 -0
  408. package/esm2015/lib/search/models/component-configuration/search-mode.js +9 -0
  409. package/esm2015/lib/search/models/configuration-input.js +52 -0
  410. package/esm2015/lib/search/models/datafield-map-key.js +69 -0
  411. package/esm2015/lib/search/models/escape-result.js +2 -0
  412. package/esm2015/lib/search/models/operator/equals-date-time.js +26 -0
  413. package/esm2015/lib/search/models/operator/equals-date.js +26 -0
  414. package/esm2015/lib/search/models/operator/equals.js +21 -0
  415. package/esm2015/lib/search/models/operator/in-range-date-time.js +43 -0
  416. package/esm2015/lib/search/models/operator/in-range-date.js +42 -0
  417. package/esm2015/lib/search/models/operator/in-range.js +22 -0
  418. package/esm2015/lib/search/models/operator/is-null.js +69 -0
  419. package/esm2015/lib/search/models/operator/less-than-date-time.js +27 -0
  420. package/esm2015/lib/search/models/operator/less-than-date.js +27 -0
  421. package/esm2015/lib/search/models/operator/less-than-equal-date-time.js +27 -0
  422. package/esm2015/lib/search/models/operator/less-than-equal-date.js +26 -0
  423. package/esm2015/lib/search/models/operator/less-than-equal.js +17 -0
  424. package/esm2015/lib/search/models/operator/less-than.js +17 -0
  425. package/esm2015/lib/search/models/operator/like.js +29 -0
  426. package/esm2015/lib/search/models/operator/more-than-date-time.js +29 -0
  427. package/esm2015/lib/search/models/operator/more-than-date.js +29 -0
  428. package/esm2015/lib/search/models/operator/more-than-equal-date-time.js +27 -0
  429. package/esm2015/lib/search/models/operator/more-than-equal-date.js +27 -0
  430. package/esm2015/lib/search/models/operator/more-than-equal.js +17 -0
  431. package/esm2015/lib/search/models/operator/more-than.js +17 -0
  432. package/esm2015/lib/search/models/operator/not-equals-date-time.js +24 -0
  433. package/esm2015/lib/search/models/operator/not-equals-date.js +27 -0
  434. package/esm2015/lib/search/models/operator/not-equals.js +30 -0
  435. package/esm2015/lib/search/models/operator/operator.js +124 -0
  436. package/esm2015/lib/search/models/operator/operators.js +31 -0
  437. package/esm2015/lib/search/models/operator/substring.js +27 -0
  438. package/esm2015/lib/search/models/operator-template-part-type.js +15 -0
  439. package/esm2015/lib/search/models/operator-template-part.js +31 -0
  440. package/esm2015/lib/search/models/persistance/filter-metadata-allowed-nets.js +2 -0
  441. package/esm2015/lib/search/models/persistance/filter-metadata.js +2 -0
  442. package/esm2015/lib/search/models/persistance/filter-text-segment.js +2 -0
  443. package/esm2015/lib/search/models/persistance/generator-metadata.js +2 -0
  444. package/esm2015/lib/search/models/persistance/saved-filter-metadata.js +2 -0
  445. package/esm2015/lib/search/models/predicate/clause-predicate.js +78 -0
  446. package/esm2015/lib/search/models/predicate/editable-clause-predicate-with-generators.js +47 -0
  447. package/esm2015/lib/search/models/predicate/editable-clause-predicate.js +116 -0
  448. package/esm2015/lib/search/models/predicate/editable-elementary-predicate.js +20 -0
  449. package/esm2015/lib/search/models/predicate/editable-predicate-with-generator.js +37 -0
  450. package/esm2015/lib/search/models/predicate/editable-predicate.js +22 -0
  451. package/esm2015/lib/search/models/predicate/elementary-predicate.js +14 -0
  452. package/esm2015/lib/search/models/predicate/predicate-with-generator.js +95 -0
  453. package/esm2015/lib/search/models/predicate/predicate.js +90 -0
  454. package/esm2015/lib/search/models/predicate-removal-event.js +2 -0
  455. package/esm2015/lib/search/models/query/query.js +72 -0
  456. package/esm2015/lib/search/models/search-index.js +76 -0
  457. package/esm2015/lib/search/models/wrap-result.js +2 -0
  458. package/esm2015/lib/search/operator-service/operator-resolver.service.js +109 -0
  459. package/esm2015/lib/search/operator-service/operator.service.js +39 -0
  460. package/esm2015/lib/search/public-api.js +107 -0
  461. package/esm2015/lib/search/search-clause-component/abstract-search-clause.component.js +52 -0
  462. package/esm2015/lib/search/search-component/abstract-search.component.js +171 -0
  463. package/esm2015/lib/search/search-configuration-input-component/abstract-search-configuration-input.component.js +75 -0
  464. package/esm2015/lib/search/search-keyword-resolver-service/search-index-resolver.service.js +36 -0
  465. package/esm2015/lib/search/search-operand-input-component/abstract-search-operand-input.component.js +97 -0
  466. package/esm2015/lib/search/search-predicate-component/abstract-search-predicate.component.js +144 -0
  467. package/esm2015/lib/search/search-service/search.service.js +306 -0
  468. package/esm2015/lib/side-menu/content-components/filter-selector/abstract-filter-selector.component.js +163 -0
  469. package/esm2015/lib/side-menu/content-components/filter-selector/filter-selector-list-item/abstract-filter-selector-list-item.component.js +22 -0
  470. package/esm2015/lib/side-menu/content-components/filter-selector/model/filter-selector-injection-data.js +2 -0
  471. package/esm2015/lib/side-menu/content-components/filter-selector/model/filtered-array.js +32 -0
  472. package/esm2015/lib/side-menu/content-components/import-net/abstract-import-net.component.js +123 -0
  473. package/esm2015/lib/side-menu/content-components/injection-tokens.js +8 -0
  474. package/esm2015/lib/side-menu/content-components/load-filter/abstract-load-filter.component.js +42 -0
  475. package/esm2015/lib/side-menu/content-components/load-filter/model/load-filter-injection-data.js +2 -0
  476. package/esm2015/lib/side-menu/content-components/new-case/abstract-new-case.component.js +230 -0
  477. package/esm2015/lib/side-menu/content-components/new-case/model/new-case-injection-data.js +2 -0
  478. package/esm2015/lib/side-menu/content-components/option-selector/abstract-option-selector.component.js +28 -0
  479. package/esm2015/lib/side-menu/content-components/option-selector/model/option-selector-injection-data.js +2 -0
  480. package/esm2015/lib/side-menu/content-components/public-api.js +20 -0
  481. package/esm2015/lib/side-menu/content-components/save-filter/abstract-save-filter.component.js +38 -0
  482. package/esm2015/lib/side-menu/content-components/save-filter/model/save-filter-injection-data.js +2 -0
  483. package/esm2015/lib/side-menu/content-components/user-assign/abstract-user-assign.component.js +60 -0
  484. package/esm2015/lib/side-menu/content-components/user-assign/model/user-list-injected-data.js +2 -0
  485. package/esm2015/lib/side-menu/content-components/user-assign/user-assign-list/abstract-user-assign-list.component.js +102 -0
  486. package/esm2015/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/abstract-user-assign-item.component.js +13 -0
  487. package/esm2015/lib/side-menu/models/portal-wrapper.js +13 -0
  488. package/esm2015/lib/side-menu/models/side-menu-control.js +36 -0
  489. package/esm2015/lib/side-menu/models/side-menu-event.js +2 -0
  490. package/esm2015/lib/side-menu/models/side-menu-injection-data.js +2 -0
  491. package/esm2015/lib/side-menu/models/side-menu-ref.js +16 -0
  492. package/esm2015/lib/side-menu/models/side-menu-size.js +7 -0
  493. package/esm2015/lib/side-menu/net-version-visible-injection-token.js +4 -0
  494. package/esm2015/lib/side-menu/public-api.js +15 -0
  495. package/esm2015/lib/side-menu/services/side-menu.service.js +86 -0
  496. package/esm2015/lib/side-menu/side-menu-container/abstract-side-menu-container.component.js +34 -0
  497. package/esm2015/lib/side-menu/side-menu-injection-token.js +3 -0
  498. package/esm2015/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.js +26 -0
  499. package/esm2015/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.js +26 -0
  500. package/esm2015/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.js +26 -0
  501. package/esm2015/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.js +26 -0
  502. package/esm2015/lib/snack-bar/models/abstract-snack-bar.js +18 -0
  503. package/esm2015/lib/snack-bar/models/injection-token-snackbar.js +4 -0
  504. package/esm2015/lib/snack-bar/models/snack-bar-enums.js +12 -0
  505. package/esm2015/lib/snack-bar/models/snack-bar-injection-data.js +2 -0
  506. package/esm2015/lib/snack-bar/public-api.js +15 -0
  507. package/esm2015/lib/snack-bar/services/snack-bar.service.js +92 -0
  508. package/esm2015/lib/snack-bar/snack-bar.module.js +33 -0
  509. package/esm2015/lib/tabs/classes/opened-tab.js +48 -0
  510. package/esm2015/lib/tabs/classes/tab-view.js +262 -0
  511. package/esm2015/lib/tabs/interfaces.js +2 -0
  512. package/esm2015/lib/tabs/public-api.js +6 -0
  513. package/esm2015/lib/tabs/tab-creation-detector/abstract-tab-creation-detector.component.js +17 -0
  514. package/esm2015/lib/tabs/tab-data-injection-token/tab-data-injection-token.js +8 -0
  515. package/esm2015/lib/tabs/tab-view/abstract-tab-view.component.js +67 -0
  516. package/esm2015/lib/task/interfaces/task-operations.js +2 -0
  517. package/esm2015/lib/task/models/null-task-operations.js +26 -0
  518. package/esm2015/lib/task/models/subject-task-operations.js +58 -0
  519. package/esm2015/lib/task/models/task-operations-injection-token.js +3 -0
  520. package/esm2015/lib/task/models/task-set-data-request-context.js +2 -0
  521. package/esm2015/lib/task/public-api.js +19 -0
  522. package/esm2015/lib/task/services/assign-policy.service.js +175 -0
  523. package/esm2015/lib/task/services/assign-task.service.js +191 -0
  524. package/esm2015/lib/task/services/cancel-task.service.js +189 -0
  525. package/esm2015/lib/task/services/data-focus-policy.service.js +36 -0
  526. package/esm2015/lib/task/services/delegate-task.service.js +185 -0
  527. package/esm2015/lib/task/services/finish-policy.service.js +79 -0
  528. package/esm2015/lib/task/services/finish-task.service.js +207 -0
  529. package/esm2015/lib/task/services/selected-case.service.js +38 -0
  530. package/esm2015/lib/task/services/task-data.service.js +538 -0
  531. package/esm2015/lib/task/services/task-handling-service.js +57 -0
  532. package/esm2015/lib/task/services/task-request-state.service.js +113 -0
  533. package/esm2015/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.js +39 -0
  534. package/esm2015/lib/task-content/model/async-rendering-configuration-injection-token.js +8 -0
  535. package/esm2015/lib/task-content/model/async-rendering-configuration.js +2 -0
  536. package/esm2015/lib/task-content/model/datafield-grid-layout-element.js +2 -0
  537. package/esm2015/lib/task-content/model/field-type-resource.js +23 -0
  538. package/esm2015/lib/task-content/model/policy.js +31 -0
  539. package/esm2015/lib/task-content/model/resource-interface.js +2 -0
  540. package/esm2015/lib/task-content/model/split-data-group.js +2 -0
  541. package/esm2015/lib/task-content/model/subgrid.js +235 -0
  542. package/esm2015/lib/task-content/model/task-content-element-type.js +19 -0
  543. package/esm2015/lib/task-content/model/task-event-notification.js +15 -0
  544. package/esm2015/lib/task-content/model/task-event.js +10 -0
  545. package/esm2015/lib/task-content/public-api.js +21 -0
  546. package/esm2015/lib/task-content/services/field-converter.service.js +348 -0
  547. package/esm2015/lib/task-content/services/single-task-content.service.js +72 -0
  548. package/esm2015/lib/task-content/services/task-content.service.js +266 -0
  549. package/esm2015/lib/task-content/services/task-event.service.js +45 -0
  550. package/esm2015/lib/task-content/services/unlimited-task-content.service.js +64 -0
  551. package/esm2015/lib/task-content/task-content/abstract-task-content.component.js +656 -0
  552. package/esm2015/lib/toolbar/abstract-toolbar.component.js +22 -0
  553. package/esm2015/lib/toolbar/public-api.js +2 -0
  554. package/esm2015/lib/translate/language.service.js +85 -0
  555. package/esm2015/lib/translate/public-api.js +3 -0
  556. package/esm2015/lib/translate/translate-interceptor.js +23 -0
  557. package/esm2015/lib/translate/translate-lib.module.js +38 -0
  558. package/esm2015/lib/user/components/user-card/abstract-user-card.component.js +44 -0
  559. package/esm2015/lib/user/models/iuser.js +2 -0
  560. package/esm2015/lib/user/models/public-api.js +6 -0
  561. package/esm2015/lib/user/models/user.js +37 -0
  562. package/esm2015/lib/user/models/view-id-injection-tokens.js +4 -0
  563. package/esm2015/lib/user/profile/abstract-profile.component.js +29 -0
  564. package/esm2015/lib/user/public-api.js +12 -0
  565. package/esm2015/lib/user/services/user-comparator.service.js +26 -0
  566. package/esm2015/lib/user/services/user-list.service.js +186 -0
  567. package/esm2015/lib/user/services/user-preference.service.js +152 -0
  568. package/esm2015/lib/user/services/user.service.js +203 -0
  569. package/esm2015/lib/user/services/view-id.service.js +30 -0
  570. package/esm2015/lib/utility/array-to-observable.js +10 -0
  571. package/esm2015/lib/utility/call-chain/after-action.js +12 -0
  572. package/esm2015/lib/utility/call-chain/call-chain.service.js +34 -0
  573. package/esm2015/lib/utility/clear-time-information.js +11 -0
  574. package/esm2015/lib/utility/destroy-subscription.js +10 -0
  575. package/esm2015/lib/utility/get-field.js +48 -0
  576. package/esm2015/lib/utility/get-immediate-data.js +9 -0
  577. package/esm2015/lib/utility/grid-layout/grid-layout-helper.js +76 -0
  578. package/esm2015/lib/utility/grid-layout/model/grid-element-with-item.js +2 -0
  579. package/esm2015/lib/utility/grid-layout/model/grid-element.js +2 -0
  580. package/esm2015/lib/utility/grid-layout/model/grid-filler.js +50 -0
  581. package/esm2015/lib/utility/incrementing-counter.js +21 -0
  582. package/esm2015/lib/utility/loading-emitter.js +19 -0
  583. package/esm2015/lib/utility/loading-with-filter-emitter.js +30 -0
  584. package/esm2015/lib/utility/navigation-item-task-filter-factory.js +11 -0
  585. package/esm2015/lib/utility/navigation-item-task-search-categories-factory.js +35 -0
  586. package/esm2015/lib/utility/of-void.js +12 -0
  587. package/esm2015/lib/utility/pagination/load-all-pages.js +46 -0
  588. package/esm2015/lib/utility/pagination/page-has-content.js +8 -0
  589. package/esm2015/lib/utility/process-message-response.js +17 -0
  590. package/esm2015/lib/utility/public-api.js +47 -0
  591. package/esm2015/lib/utility/refresh-tree.js +9 -0
  592. package/esm2015/lib/utility/result-with-after-actions.js +27 -0
  593. package/esm2015/lib/utility/service/case-list-font-color.service.js +45 -0
  594. package/esm2015/lib/utility/service/spinner-overlay.service.js +48 -0
  595. package/esm2015/lib/utility/stop-propagation.js +5 -0
  596. package/esm2015/lib/utility/tests/mocks/mock-authentication-method-service.js +12 -0
  597. package/esm2015/lib/utility/tests/mocks/mock-authentication.service.js +18 -0
  598. package/esm2015/lib/utility/tests/mocks/mock-endpoint.js +44 -0
  599. package/esm2015/lib/utility/tests/mocks/mock-sign-up.service.js +29 -0
  600. package/esm2015/lib/utility/tests/mocks/mock-user-autocomplete-value.js +14 -0
  601. package/esm2015/lib/utility/tests/mocks/mock-user-preference.service.js +42 -0
  602. package/esm2015/lib/utility/tests/mocks/mock-user-resource.service.js +48 -0
  603. package/esm2015/lib/utility/tests/search-category-mock-dependencies.js +19 -0
  604. package/esm2015/lib/utility/tests/test-config.js +424 -0
  605. package/esm2015/lib/utility/tests/test-factory-methods.js +21 -0
  606. package/esm2015/lib/utility/tests/test-mock-dependencies.module.js +31 -0
  607. package/esm2015/lib/utility/tests/test-view-service.js +24 -0
  608. package/esm2015/lib/utility/tests/utility/configure-category.js +14 -0
  609. package/esm2015/lib/utility/tests/utility/create-mock-case-outcome.js +16 -0
  610. package/esm2015/lib/utility/tests/utility/create-mock-case.js +36 -0
  611. package/esm2015/lib/utility/tests/utility/create-mock-datagroup.js +35 -0
  612. package/esm2015/lib/utility/tests/utility/create-mock-field.js +41 -0
  613. package/esm2015/lib/utility/tests/utility/create-mock-get-data-outcome.js +15 -0
  614. package/esm2015/lib/utility/tests/utility/create-mock-immediate-data.js +15 -0
  615. package/esm2015/lib/utility/tests/utility/create-mock-net.js +27 -0
  616. package/esm2015/lib/utility/tests/utility/create-mock-page.js +23 -0
  617. package/esm2015/lib/utility/tests/utility/create-mock-petri-net-outcome.js +14 -0
  618. package/esm2015/lib/utility/tests/utility/create-mock-set-data-outcome.js +19 -0
  619. package/esm2015/lib/utility/tests/utility/create-mock-task-outcome.js +18 -0
  620. package/esm2015/lib/utility/tests/utility/create-mock-task.js +34 -0
  621. package/esm2015/lib/view/abstract/page-load-request-context.js +25 -0
  622. package/esm2015/lib/view/abstract/sortable-view.js +62 -0
  623. package/esm2015/lib/view/abstract/view-with-headers.js +20 -0
  624. package/esm2015/lib/view/case-view/abstract-case-view.js +40 -0
  625. package/esm2015/lib/view/case-view/components/case-list/abstract-case-list.component.js +82 -0
  626. package/esm2015/lib/view/case-view/models/case-page-load-request-result.js +2 -0
  627. package/esm2015/lib/view/case-view/models/case-view-params.js +2 -0
  628. package/esm2015/lib/view/case-view/models/new-case-configuration-injection-token.js +7 -0
  629. package/esm2015/lib/view/case-view/models/new-case-configuration.js +2 -0
  630. package/esm2015/lib/view/case-view/service/case-view-service.js +273 -0
  631. package/esm2015/lib/view/case-view/tabbed-case-view.js +66 -0
  632. package/esm2015/lib/view/public-api.js +42 -0
  633. package/esm2015/lib/view/task-view/abstract-task-view.js +13 -0
  634. package/esm2015/lib/view/task-view/models/injected-tabbed-task-view-data.js +2 -0
  635. package/esm2015/lib/view/task-view/models/injection-token-task-endpoint.js +6 -0
  636. package/esm2015/lib/view/task-view/models/task-endpoint.js +9 -0
  637. package/esm2015/lib/view/task-view/models/task-page-load-request-result.js +2 -0
  638. package/esm2015/lib/view/task-view/models/task-view-configuration-injection-token.js +20 -0
  639. package/esm2015/lib/view/task-view/models/task-view-configuration.js +2 -0
  640. package/esm2015/lib/view/task-view/models/task-view-params.js +2 -0
  641. package/esm2015/lib/view/task-view/service/task-view.service.js +292 -0
  642. package/esm2015/lib/view/task-view/tabbed-task-view.js +22 -0
  643. package/esm2015/lib/view/tree-case-view/model/tree-petriflow-identifiers.js +43 -0
  644. package/esm2015/lib/view/tree-case-view/tree-case-view.service.js +17 -0
  645. package/esm2015/lib/view/tree-case-view/tree-component/abstract-tree.component.js +141 -0
  646. package/esm2015/lib/view/tree-case-view/tree-component/add-child-node/abstract-add-child-node.component.js +14 -0
  647. package/esm2015/lib/view/tree-case-view/tree-component/case-tree.service.js +843 -0
  648. package/esm2015/lib/view/tree-case-view/tree-component/model/case-tree-node.js +104 -0
  649. package/esm2015/lib/view/tree-case-view/tree-component/model/case-tree-path.js +2 -0
  650. package/esm2015/lib/view/tree-case-view/tree-component/model/expansion-tree.js +2 -0
  651. package/esm2015/lib/view/tree-case-view/tree-component/remove-node/abstract-remove-node.component.js +14 -0
  652. package/esm2015/lib/view/tree-case-view/tree-task-content/abstract-tree-task-content.component.js +55 -0
  653. package/esm2015/lib/view/tree-case-view/tree-task-content/tree-task-content.service.js +288 -0
  654. package/esm2015/lib/view/workflow-view/abstract-workflow-view.component.js +68 -0
  655. package/esm2015/lib/view/workflow-view/models/injection-token-workflow-service.js +10 -0
  656. package/esm2015/lib/view/workflow-view/workflow-view.service.js +211 -0
  657. package/esm2015/netgrif-components-core.js +20 -0
  658. package/esm2015/public-api.js +45 -0
  659. package/esm5/assets/i18n/de.json +419 -0
  660. package/esm5/assets/i18n/en.json +419 -0
  661. package/esm5/assets/i18n/sk.json +419 -0
  662. package/esm5/commons/angular-cli-devkit-core-strings.js +157 -0
  663. package/esm5/commons/import-to-add.js +9 -0
  664. package/esm5/commons/schema.js +7 -0
  665. package/esm5/commons/view-class-info.js +57 -0
  666. package/esm5/lib/admin/public-api.js +9 -0
  667. package/esm5/lib/admin/role-assignment/abstract-role-assignment.js +84 -0
  668. package/esm5/lib/admin/role-assignment/services/ProcessList.js +179 -0
  669. package/esm5/lib/admin/role-assignment/services/role-assignment.service.js +50 -0
  670. package/esm5/lib/admin/user-invite/abstract-user-invite.component.js +84 -0
  671. package/esm5/lib/admin/user-invite/services/organization-list.service.js +82 -0
  672. package/esm5/lib/admin/user-invite/services/user-invite.service.js +37 -0
  673. package/esm5/lib/allowed-nets/public-api.js +4 -0
  674. package/esm5/lib/allowed-nets/services/allowed-nets.service.js +94 -0
  675. package/esm5/lib/allowed-nets/services/base-allowed-nets.service.js +65 -0
  676. package/esm5/lib/allowed-nets/services/factory/allowed-nets-service-factory.js +132 -0
  677. package/esm5/lib/authentication/anonymous/anonymous.service.js +73 -0
  678. package/esm5/lib/authentication/authentication.factory.js +16 -0
  679. package/esm5/lib/authentication/authentication.module.js +36 -0
  680. package/esm5/lib/authentication/components/abstract-authentication-overlay.js +53 -0
  681. package/esm5/lib/authentication/models/credentials.js +2 -0
  682. package/esm5/lib/authentication/models/public-api.js +5 -0
  683. package/esm5/lib/authentication/models/transformer.js +2 -0
  684. package/esm5/lib/authentication/models/user.transformer.js +23 -0
  685. package/esm5/lib/authentication/public-api.js +14 -0
  686. package/esm5/lib/authentication/services/anonymous-authentication-interceptor.js +47 -0
  687. package/esm5/lib/authentication/services/authentication/authentication.service.js +84 -0
  688. package/esm5/lib/authentication/services/authentication-interceptor.js +55 -0
  689. package/esm5/lib/authentication/services/authentication-method.service.js +7 -0
  690. package/esm5/lib/authentication/services/guard/authentication-guard.service.js +41 -0
  691. package/esm5/lib/authentication/services/methods/basic-authentication/basic-authentication.service.js +54 -0
  692. package/esm5/lib/authentication/services/methods/null-authentication/null-authentication.service.js +23 -0
  693. package/esm5/lib/authentication/services/public-api.js +7 -0
  694. package/esm5/lib/authentication/session/null-storage.js +19 -0
  695. package/esm5/lib/authentication/session/public-api.js +3 -0
  696. package/esm5/lib/authentication/session/services/session.service.js +193 -0
  697. package/esm5/lib/authentication/sign-up/models/user-invitation-request.js +2 -0
  698. package/esm5/lib/authentication/sign-up/models/user-registration-request.js +2 -0
  699. package/esm5/lib/authentication/sign-up/public-api.js +8 -0
  700. package/esm5/lib/authentication/sign-up/services/sign-up.service.js +107 -0
  701. package/esm5/lib/authentication/sign-up/sign-up.module.js +17 -0
  702. package/esm5/lib/authorization/authority/authority-guard.service.js +52 -0
  703. package/esm5/lib/authorization/group/group-guard.service.js +69 -0
  704. package/esm5/lib/authorization/permission/permission.service.js +126 -0
  705. package/esm5/lib/authorization/public-api.js +10 -0
  706. package/esm5/lib/authorization/role/role-guard.service.js +108 -0
  707. package/esm5/lib/changed-fields/public-api.js +2 -0
  708. package/esm5/lib/changed-fields/services/changed-fields.service.js +38 -0
  709. package/esm5/lib/configuration/configuration.service.js +208 -0
  710. package/esm5/lib/configuration/public-api.js +3 -0
  711. package/esm5/lib/covalent/covalent.module.js +26 -0
  712. package/esm5/lib/currency/currency.module.js +25 -0
  713. package/esm5/lib/dashboard/cards/count-card/abstract-count-card.js +42 -0
  714. package/esm5/lib/dashboard/cards/custom-card/abstract-custom-card.js +50 -0
  715. package/esm5/lib/dashboard/cards/iframe-card/abstract-iframe-card.js +16 -0
  716. package/esm5/lib/dashboard/cards/model/card-grid-element.js +2 -0
  717. package/esm5/lib/dashboard/cards/model/count-card.js +2 -0
  718. package/esm5/lib/dashboard/cards/model/custom-dashboard-model/aggregation-query.js +2 -0
  719. package/esm5/lib/dashboard/cards/model/custom-dashboard-model/aggregation-result.js +2 -0
  720. package/esm5/lib/dashboard/cards/model/custom-dashboard-model/custom-card.js +2 -0
  721. package/esm5/lib/dashboard/cards/model/custom-dashboard-model/dashboard-event-content.js +2 -0
  722. package/esm5/lib/dashboard/cards/model/custom-dashboard-model/dashboard-multi-data.js +9 -0
  723. package/esm5/lib/dashboard/cards/model/custom-dashboard-model/dashboard-single-data.js +9 -0
  724. package/esm5/lib/dashboard/cards/model/dashboard-card-types.js +13 -0
  725. package/esm5/lib/dashboard/cards/model/dashboard-card.js +2 -0
  726. package/esm5/lib/dashboard/cards/model/graph-card.js +2 -0
  727. package/esm5/lib/dashboard/cards/model/iframe-card.js +2 -0
  728. package/esm5/lib/dashboard/dashboard-content/abstract-dashboard-content.js +21 -0
  729. package/esm5/lib/dashboard/dashboard-content/dashboard-params.js +2 -0
  730. package/esm5/lib/dashboard/public-api.js +20 -0
  731. package/esm5/lib/data-fields/boolean-field/abstract-boolean-field.component.js +45 -0
  732. package/esm5/lib/data-fields/boolean-field/models/boolean-field.js +29 -0
  733. package/esm5/lib/data-fields/button-field/abstract-button-field.component.js +68 -0
  734. package/esm5/lib/data-fields/button-field/models/button-field.js +37 -0
  735. package/esm5/lib/data-fields/data-field-template/abstract-data-field-template.component.js +111 -0
  736. package/esm5/lib/data-fields/data-field-template/models/wrapped-boolean.js +10 -0
  737. package/esm5/lib/data-fields/data-fields.module.js +39 -0
  738. package/esm5/lib/data-fields/date-field/abstract-date-field.component.js +26 -0
  739. package/esm5/lib/data-fields/date-field/models/custom-date-adapter.js +18 -0
  740. package/esm5/lib/data-fields/date-field/models/date-field.js +14 -0
  741. package/esm5/lib/data-fields/date-time-field/abstract-date-time-field.component.js +26 -0
  742. package/esm5/lib/data-fields/date-time-field/models/date-time-field.js +14 -0
  743. package/esm5/lib/data-fields/enumeration-field/abstract-enumeration-field.component.js +22 -0
  744. package/esm5/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/abstract-enumeration-autocomplete-dynamic-field.component.js +47 -0
  745. package/esm5/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/abstract-enumeration-autocomplete-select-field.component.js +57 -0
  746. package/esm5/lib/data-fields/enumeration-field/enumeration-icon-field/abstract-enumeration-icon-field.component.js +39 -0
  747. package/esm5/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.js +15 -0
  748. package/esm5/lib/data-fields/enumeration-field/enumeration-select-field/abstract-enumeration-select-field.component.js +15 -0
  749. package/esm5/lib/data-fields/enumeration-field/enumeration-stepper-field/abstract-enumeration-stepper-field.component.js +43 -0
  750. package/esm5/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.js +63 -0
  751. package/esm5/lib/data-fields/enumeration-field/models/enumeration-field.js +79 -0
  752. package/esm5/lib/data-fields/file-field/abstract-file-field.component.js +405 -0
  753. package/esm5/lib/data-fields/file-field/abstract-preview-dialog/preview-dialog-data.js +2 -0
  754. package/esm5/lib/data-fields/file-field/models/file-field-value.js +2 -0
  755. package/esm5/lib/data-fields/file-field/models/file-field.js +128 -0
  756. package/esm5/lib/data-fields/file-list-field/abstract-file-list-field.component.js +278 -0
  757. package/esm5/lib/data-fields/file-list-field/models/file-list-field-value.js +2 -0
  758. package/esm5/lib/data-fields/file-list-field/models/file-list-field.js +105 -0
  759. package/esm5/lib/data-fields/filter-field/abstract-filter-field-content.component.js +36 -0
  760. package/esm5/lib/data-fields/filter-field/abstract-filter-field.component.js +33 -0
  761. package/esm5/lib/data-fields/filter-field/models/filter-field-injection-token.js +7 -0
  762. package/esm5/lib/data-fields/filter-field/models/filter-field.js +28 -0
  763. package/esm5/lib/data-fields/i18n-field/abstract-i18n-field.component.js +23 -0
  764. package/esm5/lib/data-fields/i18n-field/i18n-divider-field/abstract-i18n-divider-field.component.js +30 -0
  765. package/esm5/lib/data-fields/i18n-field/i18n-text-field/abstract-i18n-text-field.component.js +42 -0
  766. package/esm5/lib/data-fields/i18n-field/models/i18n-field-value.js +2 -0
  767. package/esm5/lib/data-fields/i18n-field/models/i18n-field.js +16 -0
  768. package/esm5/lib/data-fields/models/abstract-data-field-component.js +45 -0
  769. package/esm5/lib/data-fields/models/abstract-data-field.js +501 -0
  770. package/esm5/lib/data-fields/models/behavior.js +2 -0
  771. package/esm5/lib/data-fields/models/boolean-label-enabled-token.js +3 -0
  772. package/esm5/lib/data-fields/models/changed-fields.js +2 -0
  773. package/esm5/lib/data-fields/models/component.js +2 -0
  774. package/esm5/lib/data-fields/models/format-filter.js +2 -0
  775. package/esm5/lib/data-fields/models/icon.js +6 -0
  776. package/esm5/lib/data-fields/models/invalid-data-policy-token.js +11 -0
  777. package/esm5/lib/data-fields/models/layout.js +2 -0
  778. package/esm5/lib/data-fields/models/material-appearance.js +14 -0
  779. package/esm5/lib/data-fields/models/properties.js +2 -0
  780. package/esm5/lib/data-fields/models/template-appearance.js +15 -0
  781. package/esm5/lib/data-fields/models/validation.js +2 -0
  782. package/esm5/lib/data-fields/multichoice-field/abstract-multichoice-field.component.js +22 -0
  783. package/esm5/lib/data-fields/multichoice-field/models/multichoice-field.js +60 -0
  784. package/esm5/lib/data-fields/multichoice-field/multichoice-list-field/abstract-multichoice-list-field.component.js +13 -0
  785. package/esm5/lib/data-fields/multichoice-field/multichoice-select-field/abstract-multichoice-select-field.component.js +13 -0
  786. package/esm5/lib/data-fields/number-field/abstract-number-errors.component.js +49 -0
  787. package/esm5/lib/data-fields/number-field/abstract-number-field.component.js +23 -0
  788. package/esm5/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.js +54 -0
  789. package/esm5/lib/data-fields/number-field/models/number-field.js +137 -0
  790. package/esm5/lib/data-fields/number-field/number-default-field/abstract-default-number-field.component.js +11 -0
  791. package/esm5/lib/data-fields/public-api.js +73 -0
  792. package/esm5/lib/data-fields/task-ref-field/model/task-ref-field.js +11 -0
  793. package/esm5/lib/data-fields/text-field/abstract-text-errors.component.js +37 -0
  794. package/esm5/lib/data-fields/text-field/abstract-text-field.component.js +19 -0
  795. package/esm5/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.js +45 -0
  796. package/esm5/lib/data-fields/text-field/models/text-area-field.js +19 -0
  797. package/esm5/lib/data-fields/text-field/models/text-field.js +96 -0
  798. package/esm5/lib/data-fields/text-field/password-text-field/abstract-password-text-field.component.js +22 -0
  799. package/esm5/lib/data-fields/text-field/rich-textarea-field/abstract-rich-textarea-field.component.js +35 -0
  800. package/esm5/lib/data-fields/text-field/simple-text-field/abstract-simple-text-field.component.js +22 -0
  801. package/esm5/lib/data-fields/text-field/textarea-field/abstract-textarea-field.component.js +46 -0
  802. package/esm5/lib/data-fields/time-instance-abstract-field/abstract-time-instance-field.component.js +52 -0
  803. package/esm5/lib/data-fields/time-instance-abstract-field/models/abstract-time-instance-field.js +110 -0
  804. package/esm5/lib/data-fields/user-field/abstract-user-field.component.js +65 -0
  805. package/esm5/lib/data-fields/user-field/models/user-field.js +23 -0
  806. package/esm5/lib/data-fields/user-field/models/user-value.js +58 -0
  807. package/esm5/lib/dialog/components/alert-dialog/alert-dialog.component.js +43 -0
  808. package/esm5/lib/dialog/components/alert-dialog/alert-dialog.module.js +32 -0
  809. package/esm5/lib/dialog/components/confirm-dialog/confirm-dialog.component.js +57 -0
  810. package/esm5/lib/dialog/components/confirm-dialog/confirm-dialog.module.js +32 -0
  811. package/esm5/lib/dialog/components/prompt-dialog/prompt-dialog.component.js +47 -0
  812. package/esm5/lib/dialog/components/prompt-dialog/prompt-dialog.module.js +34 -0
  813. package/esm5/lib/dialog/dialog.module.js +33 -0
  814. package/esm5/lib/dialog/models/DialogData.js +2 -0
  815. package/esm5/lib/dialog/models/DialogResult.js +2 -0
  816. package/esm5/lib/dialog/models/abstract-dialog.js +23 -0
  817. package/esm5/lib/dialog/public-api.js +9 -0
  818. package/esm5/lib/dialog/services/dialog.service.js +84 -0
  819. package/esm5/lib/event/model/event-constants.js +8 -0
  820. package/esm5/lib/event/model/event-outcomes/case-outcomes/case-event-outcome.js +2 -0
  821. package/esm5/lib/event/model/event-outcomes/case-outcomes/create-case-event-outcome.js +2 -0
  822. package/esm5/lib/event/model/event-outcomes/case-outcomes/delete-case-event-outcome.js +2 -0
  823. package/esm5/lib/event/model/event-outcomes/data-outcomes/get-data-event-outcome.js +2 -0
  824. package/esm5/lib/event/model/event-outcomes/data-outcomes/get-data-groups-event-outcome.js +2 -0
  825. package/esm5/lib/event/model/event-outcomes/data-outcomes/get-data-localised-event-outcome.js +2 -0
  826. package/esm5/lib/event/model/event-outcomes/data-outcomes/set-data-event-outcome.js +2 -0
  827. package/esm5/lib/event/model/event-outcomes/petrinet-outcomes/petri-net-event-outcome.js +2 -0
  828. package/esm5/lib/event/model/event-outcomes/task-outcomes/assign-task-event-outcome.js +2 -0
  829. package/esm5/lib/event/model/event-outcomes/task-outcomes/cancel-task-event-outcome.js +2 -0
  830. package/esm5/lib/event/model/event-outcomes/task-outcomes/delegate-task-event-outcome.js +2 -0
  831. package/esm5/lib/event/model/event-outcomes/task-outcomes/finish-task-event-outcome.js +2 -0
  832. package/esm5/lib/event/model/event-outcomes/task-outcomes/task-event-outcome.js +2 -0
  833. package/esm5/lib/event/public-api.js +19 -0
  834. package/esm5/lib/event/services/event.service.js +60 -0
  835. package/esm5/lib/event/services/interfaces/changed-fields-map.js +2 -0
  836. package/esm5/lib/event-queue/model/queued-event.js +34 -0
  837. package/esm5/lib/event-queue/public-api.js +5 -0
  838. package/esm5/lib/event-queue/services/event-queue.service.js +66 -0
  839. package/esm5/lib/filter/filter.repository.js +145 -0
  840. package/esm5/lib/filter/models/case-search-request-body.js +2 -0
  841. package/esm5/lib/filter/models/filter-type.js +11 -0
  842. package/esm5/lib/filter/models/filter.js +71 -0
  843. package/esm5/lib/filter/models/filters-filter-injection-token.js +9 -0
  844. package/esm5/lib/filter/models/merge-operator.js +11 -0
  845. package/esm5/lib/filter/models/merged-filter-params.js +2 -0
  846. package/esm5/lib/filter/models/merged-filter.js +120 -0
  847. package/esm5/lib/filter/models/simple-filter.js +96 -0
  848. package/esm5/lib/filter/models/task-search-request-body.js +2 -0
  849. package/esm5/lib/filter/models/user-filter-constants.js +39 -0
  850. package/esm5/lib/filter/public-api.js +18 -0
  851. package/esm5/lib/filter/user-filters.service.js +357 -0
  852. package/esm5/lib/forms/email-submission/abstract-email-submission-form.component.js +33 -0
  853. package/esm5/lib/forms/forgotten-password/abstract-forgotten-password.component.js +37 -0
  854. package/esm5/lib/forms/has-form.js +2 -0
  855. package/esm5/lib/forms/login/abstract-login-form.component.js +61 -0
  856. package/esm5/lib/forms/models/abstract-registration.component.js +106 -0
  857. package/esm5/lib/forms/models/password.validator.js +21 -0
  858. package/esm5/lib/forms/public-api.js +7 -0
  859. package/esm5/lib/forms/registration/abstract-registration-form.component.js +42 -0
  860. package/esm5/lib/groups/public-api.js +3 -0
  861. package/esm5/lib/groups/services/active-group.service.js +107 -0
  862. package/esm5/lib/groups/services/next-group.service.js +135 -0
  863. package/esm5/lib/header/abstract-header-service.js +485 -0
  864. package/esm5/lib/header/abstract-header.component.js +171 -0
  865. package/esm5/lib/header/case-header/case-header.service.js +86 -0
  866. package/esm5/lib/header/case-header/case-menta-enum.js +9 -0
  867. package/esm5/lib/header/header-modes/abstract-header-mode.component.js +14 -0
  868. package/esm5/lib/header/header-modes/edit-mode/abstract-edit-mode.component.js +81 -0
  869. package/esm5/lib/header/header-modes/loading-mode/abstract-loading-mode.component.js +17 -0
  870. package/esm5/lib/header/header-modes/search-mode/abstract-search-mode.component.js +94 -0
  871. package/esm5/lib/header/header-modes/sort-mode/abstract-sort-mode.component.js +19 -0
  872. package/esm5/lib/header/header-state.js +53 -0
  873. package/esm5/lib/header/models/default-headers-token.js +3 -0
  874. package/esm5/lib/header/models/fields-group.js +2 -0
  875. package/esm5/lib/header/models/header-column.js +29 -0
  876. package/esm5/lib/header/models/header-mode.js +7 -0
  877. package/esm5/lib/header/models/header-type.js +7 -0
  878. package/esm5/lib/header/models/public-api.js +12 -0
  879. package/esm5/lib/header/models/user-changes/column-header-change.js +2 -0
  880. package/esm5/lib/header/models/user-changes/edit-change-description.js +2 -0
  881. package/esm5/lib/header/models/user-changes/header-change-description.js +2 -0
  882. package/esm5/lib/header/models/user-changes/header-change-type.js +20 -0
  883. package/esm5/lib/header/models/user-changes/header-change.js +2 -0
  884. package/esm5/lib/header/models/user-changes/mode-change-description.js +2 -0
  885. package/esm5/lib/header/models/user-changes/search-change-description.js +2 -0
  886. package/esm5/lib/header/models/user-changes/sort-change-description.js +2 -0
  887. package/esm5/lib/header/public-api.js +21 -0
  888. package/esm5/lib/header/services/overflow.service.js +112 -0
  889. package/esm5/lib/header/task-header/task-header.service.js +71 -0
  890. package/esm5/lib/header/task-header/task-meta-enum.js +11 -0
  891. package/esm5/lib/header/workflow-header/workflow-header.service.js +53 -0
  892. package/esm5/lib/header/workflow-header/workflow-meta-enum.js +10 -0
  893. package/esm5/lib/legal/legal-notice/abstract-legal-notice.component.js +26 -0
  894. package/esm5/lib/legal/public-api.js +2 -0
  895. package/esm5/lib/logger/models/log-entry.js +68 -0
  896. package/esm5/lib/logger/public-api.js +10 -0
  897. package/esm5/lib/logger/publishers/console-log-publisher.js +36 -0
  898. package/esm5/lib/logger/publishers/local-storage-log-publisher.js +45 -0
  899. package/esm5/lib/logger/publishers/log-publisher.js +15 -0
  900. package/esm5/lib/logger/services/log-level.js +10 -0
  901. package/esm5/lib/logger/services/log-publisher.service.js +66 -0
  902. package/esm5/lib/logger/services/logger.service.js +107 -0
  903. package/esm5/lib/material/material.module.js +112 -0
  904. package/esm5/lib/moment/public-api.js +2 -0
  905. package/esm5/lib/moment/time-formats.js +26 -0
  906. package/esm5/lib/navigation/group-navigation-component-resolver/abstract-group-navigation-component-resolver.component.js +40 -0
  907. package/esm5/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.js +37 -0
  908. package/esm5/lib/navigation/group-navigation-component-resolver/group-navigation-view-id-segment-factory.js +5 -0
  909. package/esm5/lib/navigation/model/filter-case-injection-token.js +6 -0
  910. package/esm5/lib/navigation/model/group-navigation-component-resolver-component-injection-token.js +6 -0
  911. package/esm5/lib/navigation/model/group-navigation-constants.js +59 -0
  912. package/esm5/lib/navigation/model/group-navigation-item-label.js +2 -0
  913. package/esm5/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.js +142 -0
  914. package/esm5/lib/navigation/navigation-drawer/abstract-navigation-resizable-drawer.component.js +17 -0
  915. package/esm5/lib/navigation/navigation-rail/abstract-navigation-rail.component.js +38 -0
  916. package/esm5/lib/navigation/navigation-tree/abstract-navigation-tree.component.js +415 -0
  917. package/esm5/lib/navigation/public-api.js +19 -0
  918. package/esm5/lib/navigation/quick-panel/components/abstract-quick-panel.component.js +30 -0
  919. package/esm5/lib/navigation/quick-panel/components/internal-link/abstract-internal-link.component.js +14 -0
  920. package/esm5/lib/navigation/quick-panel/components/language-selector/abstract-language-selector.component.js +59 -0
  921. package/esm5/lib/navigation/quick-panel/components/logout-shortcut/abstract-logout-shortcut.component.js +24 -0
  922. package/esm5/lib/navigation/quick-panel/components/paper-view.service.js +44 -0
  923. package/esm5/lib/navigation/quick-panel/public-api.js +8 -0
  924. package/esm5/lib/navigation/utility/filter-extraction.service.js +89 -0
  925. package/esm5/lib/navigation/utility/navigation-item-task-utility-methods.js +78 -0
  926. package/esm5/lib/panel/abstract/featured-value.js +2 -0
  927. package/esm5/lib/panel/abstract/panel-with-header-binding.js +50 -0
  928. package/esm5/lib/panel/abstract/panel-with-immediate-data.js +67 -0
  929. package/esm5/lib/panel/abstract/tabbed-virtual-scroll.component.js +35 -0
  930. package/esm5/lib/panel/abstract-panel.component.js +46 -0
  931. package/esm5/lib/panel/case-panel/abstract-case-panel.component.js +94 -0
  932. package/esm5/lib/panel/immediate/abstract-immediate-filter-text-content.component.js +45 -0
  933. package/esm5/lib/panel/immediate/abstract-immediate-filter-text.component.js +23 -0
  934. package/esm5/lib/panel/immediate/model/filter-text-injection-token.js +6 -0
  935. package/esm5/lib/panel/public-api.js +15 -0
  936. package/esm5/lib/panel/task-panel/abstract-task-panel.component.js +302 -0
  937. package/esm5/lib/panel/task-panel/models/disable-functions.js +3 -0
  938. package/esm5/lib/panel/task-panel-list/abstract-task-list.component.js +99 -0
  939. package/esm5/lib/panel/task-panel-list/task-panel-data/task-panel-data.js +2 -0
  940. package/esm5/lib/panel/workflow-panel/abstract-workflow-panel.component.js +109 -0
  941. package/esm5/lib/process/net.js +155 -0
  942. package/esm5/lib/process/netRole.js +2 -0
  943. package/esm5/lib/process/permissions.js +12 -0
  944. package/esm5/lib/process/petri-net-reference-with-permissions.js +2 -0
  945. package/esm5/lib/process/process.service.js +325 -0
  946. package/esm5/lib/process/public-api.js +8 -0
  947. package/esm5/lib/process/public-process.service.js +34 -0
  948. package/esm5/lib/process/rolesAndPermissions.js +2 -0
  949. package/esm5/lib/process/transaction.js +2 -0
  950. package/esm5/lib/process/transition.js +2 -0
  951. package/esm5/lib/public/factories/get-net-and-create-case.js +22 -0
  952. package/esm5/lib/public/factories/public-factory-resolver.js +13 -0
  953. package/esm5/lib/public/factories/public-search-factory.js +17 -0
  954. package/esm5/lib/public/public-api.js +5 -0
  955. package/esm5/lib/public/services/public-url-resolver.service.js +26 -0
  956. package/esm5/lib/resources/abstract-endpoint/abstract-resource.service.js +85 -0
  957. package/esm5/lib/resources/abstract-endpoint/count-service.js +2 -0
  958. package/esm5/lib/resources/engine-endpoint/case-resource.service.js +149 -0
  959. package/esm5/lib/resources/engine-endpoint/dashboard-resource.service.js +37 -0
  960. package/esm5/lib/resources/engine-endpoint/petri-net-resource.service.js +174 -0
  961. package/esm5/lib/resources/engine-endpoint/public/public-case-resource.service.js +52 -0
  962. package/esm5/lib/resources/engine-endpoint/public/public-petri-net-resource.service.js +120 -0
  963. package/esm5/lib/resources/engine-endpoint/public/public-task-resource.service.js +238 -0
  964. package/esm5/lib/resources/engine-endpoint/task-resource.service.js +327 -0
  965. package/esm5/lib/resources/engine-endpoint/user-resource.service.js +210 -0
  966. package/esm5/lib/resources/interface/assigned-user-policy.js +2 -0
  967. package/esm5/lib/resources/interface/author.js +2 -0
  968. package/esm5/lib/resources/interface/authority.js +2 -0
  969. package/esm5/lib/resources/interface/case-get-request-body.js +2 -0
  970. package/esm5/lib/resources/interface/case.js +2 -0
  971. package/esm5/lib/resources/interface/changed-field-container.js +2 -0
  972. package/esm5/lib/resources/interface/count.js +2 -0
  973. package/esm5/lib/resources/interface/create-case-request-body.js +2 -0
  974. package/esm5/lib/resources/interface/data-group-layout.js +59 -0
  975. package/esm5/lib/resources/interface/data-groups.js +19 -0
  976. package/esm5/lib/resources/interface/event-outcome.js +2 -0
  977. package/esm5/lib/resources/interface/field-alignment.js +10 -0
  978. package/esm5/lib/resources/interface/fields.js +2 -0
  979. package/esm5/lib/resources/interface/file-resource.js +2 -0
  980. package/esm5/lib/resources/interface/group.js +2 -0
  981. package/esm5/lib/resources/interface/immediate-data.js +2 -0
  982. package/esm5/lib/resources/interface/link.js +2 -0
  983. package/esm5/lib/resources/interface/message-resource.js +2 -0
  984. package/esm5/lib/resources/interface/page.js +2 -0
  985. package/esm5/lib/resources/interface/pagination.js +2 -0
  986. package/esm5/lib/resources/interface/petri-net-object-id.js +2 -0
  987. package/esm5/lib/resources/interface/petri-net-reference.js +2 -0
  988. package/esm5/lib/resources/interface/petri-net-request-body.js +2 -0
  989. package/esm5/lib/resources/interface/petri-net.js +2 -0
  990. package/esm5/lib/resources/interface/preferences.js +2 -0
  991. package/esm5/lib/resources/interface/process-role.js +2 -0
  992. package/esm5/lib/resources/interface/response-data.js +2 -0
  993. package/esm5/lib/resources/interface/task-layout.js +2 -0
  994. package/esm5/lib/resources/interface/task-reference.js +2 -0
  995. package/esm5/lib/resources/interface/task-set-data-request-body.js +2 -0
  996. package/esm5/lib/resources/interface/task.js +2 -0
  997. package/esm5/lib/resources/interface/user-process-role.js +2 -0
  998. package/esm5/lib/resources/interface/user-resource-small.js +2 -0
  999. package/esm5/lib/resources/interface/user-resource.js +2 -0
  1000. package/esm5/lib/resources/public-api.js +46 -0
  1001. package/esm5/lib/resources/resource-provider.service.js +174 -0
  1002. package/esm5/lib/resources/types/nae-date-type.js +5 -0
  1003. package/esm5/lib/routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service.js +42 -0
  1004. package/esm5/lib/routing/public-api.js +7 -0
  1005. package/esm5/lib/routing/redirect-service/redirect.service.js +130 -0
  1006. package/esm5/lib/routing/routing-builder/routing-builder.service.js +207 -0
  1007. package/esm5/lib/routing/view-service/model/view-entry.js +2 -0
  1008. package/esm5/lib/routing/view-service/view.service.js +38 -0
  1009. package/esm5/lib/search/advanced-search-component/abstract-advanced-search.component.js +64 -0
  1010. package/esm5/lib/search/advanced-search-component-initialization-service/advanced-search-component-initialization.service.js +40 -0
  1011. package/esm5/lib/search/category-factory/category-factory.js +96 -0
  1012. package/esm5/lib/search/category-factory/category-resolver.service.js +152 -0
  1013. package/esm5/lib/search/category-factory/category-serialisation-pair.js +2 -0
  1014. package/esm5/lib/search/category-factory/default-categories-factories.js +67 -0
  1015. package/esm5/lib/search/category-factory/default-search-categories.module.js +54 -0
  1016. package/esm5/lib/search/category-factory/optional-dependencies.js +2 -0
  1017. package/esm5/lib/search/category-factory/search-categories-injection-token.js +24 -0
  1018. package/esm5/lib/search/fulltext-search-component/abstract-fulltext-search.component.js +20 -0
  1019. package/esm5/lib/search/header-search-service/header-search.service.js +250 -0
  1020. package/esm5/lib/search/models/base-filter-injection-token.js +6 -0
  1021. package/esm5/lib/search/models/base-filter.js +2 -0
  1022. package/esm5/lib/search/models/boolean-operator.js +10 -0
  1023. package/esm5/lib/search/models/category/autocomplete-category.js +155 -0
  1024. package/esm5/lib/search/models/category/autocomplete-options.js +2 -0
  1025. package/esm5/lib/search/models/category/case/case-author.js +29 -0
  1026. package/esm5/lib/search/models/category/case/case-creation-date-time.js +51 -0
  1027. package/esm5/lib/search/models/category/case/case-creation-date.js +51 -0
  1028. package/esm5/lib/search/models/category/case/case-dataset.js +444 -0
  1029. package/esm5/lib/search/models/category/case/case-net-attribute-autocomplete-category.js +28 -0
  1030. package/esm5/lib/search/models/category/case/case-process.js +84 -0
  1031. package/esm5/lib/search/models/category/case/case-role.js +32 -0
  1032. package/esm5/lib/search/models/category/case/case-search.enum.js +15 -0
  1033. package/esm5/lib/search/models/category/case/case-simple-dataset.js +153 -0
  1034. package/esm5/lib/search/models/category/case/case-string-id.js +35 -0
  1035. package/esm5/lib/search/models/category/case/case-task.js +32 -0
  1036. package/esm5/lib/search/models/category/case/case-title.js +37 -0
  1037. package/esm5/lib/search/models/category/case/case-visual-id.js +31 -0
  1038. package/esm5/lib/search/models/category/categories.js +24 -0
  1039. package/esm5/lib/search/models/category/category.js +585 -0
  1040. package/esm5/lib/search/models/category/name-id-pair.js +2 -0
  1041. package/esm5/lib/search/models/category/net-attribute-autocomplete-category.js +66 -0
  1042. package/esm5/lib/search/models/category/net-attribute-pair.js +2 -0
  1043. package/esm5/lib/search/models/category/no-configuration-autocomplete-category.js +48 -0
  1044. package/esm5/lib/search/models/category/no-configuration-category.js +51 -0
  1045. package/esm5/lib/search/models/category/no-configuration-user-autocomplete-category.js +33 -0
  1046. package/esm5/lib/search/models/category/search-autocomplete-option.js +2 -0
  1047. package/esm5/lib/search/models/category/search-input-type.js +14 -0
  1048. package/esm5/lib/search/models/category/task/task-assignee.js +29 -0
  1049. package/esm5/lib/search/models/category/task/task-net-attribute-autocomplete-category.js +28 -0
  1050. package/esm5/lib/search/models/category/task/task-process.js +61 -0
  1051. package/esm5/lib/search/models/category/task/task-role.js +31 -0
  1052. package/esm5/lib/search/models/category/task/task-task.js +31 -0
  1053. package/esm5/lib/search/models/category/user-autocomplete.js +64 -0
  1054. package/esm5/lib/search/models/component-configuration/search-component-configuration-injection-token.js +8 -0
  1055. package/esm5/lib/search/models/component-configuration/search-component-configuration.js +2 -0
  1056. package/esm5/lib/search/models/component-configuration/search-mode.js +9 -0
  1057. package/esm5/lib/search/models/configuration-input.js +71 -0
  1058. package/esm5/lib/search/models/datafield-map-key.js +91 -0
  1059. package/esm5/lib/search/models/escape-result.js +2 -0
  1060. package/esm5/lib/search/models/operator/equals-date-time.js +31 -0
  1061. package/esm5/lib/search/models/operator/equals-date.js +31 -0
  1062. package/esm5/lib/search/models/operator/equals.js +25 -0
  1063. package/esm5/lib/search/models/operator/in-range-date-time.js +47 -0
  1064. package/esm5/lib/search/models/operator/in-range-date.js +46 -0
  1065. package/esm5/lib/search/models/operator/in-range.js +26 -0
  1066. package/esm5/lib/search/models/operator/is-null.js +75 -0
  1067. package/esm5/lib/search/models/operator/less-than-date-time.js +32 -0
  1068. package/esm5/lib/search/models/operator/less-than-date.js +32 -0
  1069. package/esm5/lib/search/models/operator/less-than-equal-date-time.js +32 -0
  1070. package/esm5/lib/search/models/operator/less-than-equal-date.js +31 -0
  1071. package/esm5/lib/search/models/operator/less-than-equal.js +21 -0
  1072. package/esm5/lib/search/models/operator/less-than.js +21 -0
  1073. package/esm5/lib/search/models/operator/like.js +33 -0
  1074. package/esm5/lib/search/models/operator/more-than-date-time.js +34 -0
  1075. package/esm5/lib/search/models/operator/more-than-date.js +34 -0
  1076. package/esm5/lib/search/models/operator/more-than-equal-date-time.js +32 -0
  1077. package/esm5/lib/search/models/operator/more-than-equal-date.js +32 -0
  1078. package/esm5/lib/search/models/operator/more-than-equal.js +21 -0
  1079. package/esm5/lib/search/models/operator/more-than.js +21 -0
  1080. package/esm5/lib/search/models/operator/not-equals-date-time.js +29 -0
  1081. package/esm5/lib/search/models/operator/not-equals-date.js +32 -0
  1082. package/esm5/lib/search/models/operator/not-equals.js +35 -0
  1083. package/esm5/lib/search/models/operator/operator.js +134 -0
  1084. package/esm5/lib/search/models/operator/operators.js +31 -0
  1085. package/esm5/lib/search/models/operator/substring.js +31 -0
  1086. package/esm5/lib/search/models/operator-template-part-type.js +15 -0
  1087. package/esm5/lib/search/models/operator-template-part.js +42 -0
  1088. package/esm5/lib/search/models/persistance/filter-metadata-allowed-nets.js +2 -0
  1089. package/esm5/lib/search/models/persistance/filter-metadata.js +2 -0
  1090. package/esm5/lib/search/models/persistance/filter-text-segment.js +2 -0
  1091. package/esm5/lib/search/models/persistance/generator-metadata.js +2 -0
  1092. package/esm5/lib/search/models/persistance/saved-filter-metadata.js +2 -0
  1093. package/esm5/lib/search/models/predicate/clause-predicate.js +95 -0
  1094. package/esm5/lib/search/models/predicate/editable-clause-predicate-with-generators.js +79 -0
  1095. package/esm5/lib/search/models/predicate/editable-clause-predicate.js +146 -0
  1096. package/esm5/lib/search/models/predicate/editable-elementary-predicate.js +30 -0
  1097. package/esm5/lib/search/models/predicate/editable-predicate-with-generator.js +47 -0
  1098. package/esm5/lib/search/models/predicate/editable-predicate.js +32 -0
  1099. package/esm5/lib/search/models/predicate/elementary-predicate.js +24 -0
  1100. package/esm5/lib/search/models/predicate/predicate-with-generator.js +114 -0
  1101. package/esm5/lib/search/models/predicate/predicate.js +110 -0
  1102. package/esm5/lib/search/models/predicate-removal-event.js +2 -0
  1103. package/esm5/lib/search/models/query/query.js +83 -0
  1104. package/esm5/lib/search/models/search-index.js +76 -0
  1105. package/esm5/lib/search/models/wrap-result.js +2 -0
  1106. package/esm5/lib/search/operator-service/operator-resolver.service.js +113 -0
  1107. package/esm5/lib/search/operator-service/operator.service.js +41 -0
  1108. package/esm5/lib/search/public-api.js +107 -0
  1109. package/esm5/lib/search/search-clause-component/abstract-search-clause.component.js +67 -0
  1110. package/esm5/lib/search/search-component/abstract-search.component.js +201 -0
  1111. package/esm5/lib/search/search-configuration-input-component/abstract-search-configuration-input.component.js +82 -0
  1112. package/esm5/lib/search/search-keyword-resolver-service/search-index-resolver.service.js +40 -0
  1113. package/esm5/lib/search/search-operand-input-component/abstract-search-operand-input.component.js +113 -0
  1114. package/esm5/lib/search/search-predicate-component/abstract-search-predicate.component.js +162 -0
  1115. package/esm5/lib/search/search-service/search.service.js +405 -0
  1116. package/esm5/lib/side-menu/content-components/filter-selector/abstract-filter-selector.component.js +166 -0
  1117. package/esm5/lib/side-menu/content-components/filter-selector/filter-selector-list-item/abstract-filter-selector-list-item.component.js +26 -0
  1118. package/esm5/lib/side-menu/content-components/filter-selector/model/filter-selector-injection-data.js +2 -0
  1119. package/esm5/lib/side-menu/content-components/filter-selector/model/filtered-array.js +37 -0
  1120. package/esm5/lib/side-menu/content-components/import-net/abstract-import-net.component.js +152 -0
  1121. package/esm5/lib/side-menu/content-components/injection-tokens.js +8 -0
  1122. package/esm5/lib/side-menu/content-components/load-filter/abstract-load-filter.component.js +47 -0
  1123. package/esm5/lib/side-menu/content-components/load-filter/model/load-filter-injection-data.js +2 -0
  1124. package/esm5/lib/side-menu/content-components/new-case/abstract-new-case.component.js +264 -0
  1125. package/esm5/lib/side-menu/content-components/new-case/model/new-case-injection-data.js +2 -0
  1126. package/esm5/lib/side-menu/content-components/option-selector/abstract-option-selector.component.js +31 -0
  1127. package/esm5/lib/side-menu/content-components/option-selector/model/option-selector-injection-data.js +2 -0
  1128. package/esm5/lib/side-menu/content-components/public-api.js +20 -0
  1129. package/esm5/lib/side-menu/content-components/save-filter/abstract-save-filter.component.js +43 -0
  1130. package/esm5/lib/side-menu/content-components/save-filter/model/save-filter-injection-data.js +2 -0
  1131. package/esm5/lib/side-menu/content-components/user-assign/abstract-user-assign.component.js +74 -0
  1132. package/esm5/lib/side-menu/content-components/user-assign/model/user-list-injected-data.js +2 -0
  1133. package/esm5/lib/side-menu/content-components/user-assign/user-assign-list/abstract-user-assign-list.component.js +113 -0
  1134. package/esm5/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/abstract-user-assign-item.component.js +15 -0
  1135. package/esm5/lib/side-menu/models/portal-wrapper.js +23 -0
  1136. package/esm5/lib/side-menu/models/side-menu-control.js +47 -0
  1137. package/esm5/lib/side-menu/models/side-menu-event.js +2 -0
  1138. package/esm5/lib/side-menu/models/side-menu-injection-data.js +2 -0
  1139. package/esm5/lib/side-menu/models/side-menu-ref.js +26 -0
  1140. package/esm5/lib/side-menu/models/side-menu-size.js +7 -0
  1141. package/esm5/lib/side-menu/net-version-visible-injection-token.js +4 -0
  1142. package/esm5/lib/side-menu/public-api.js +15 -0
  1143. package/esm5/lib/side-menu/services/side-menu.service.js +90 -0
  1144. package/esm5/lib/side-menu/side-menu-container/abstract-side-menu-container.component.js +36 -0
  1145. package/esm5/lib/side-menu/side-menu-injection-token.js +3 -0
  1146. package/esm5/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.js +31 -0
  1147. package/esm5/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.js +31 -0
  1148. package/esm5/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.js +31 -0
  1149. package/esm5/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.js +31 -0
  1150. package/esm5/lib/snack-bar/models/abstract-snack-bar.js +20 -0
  1151. package/esm5/lib/snack-bar/models/injection-token-snackbar.js +4 -0
  1152. package/esm5/lib/snack-bar/models/snack-bar-enums.js +12 -0
  1153. package/esm5/lib/snack-bar/models/snack-bar-injection-data.js +2 -0
  1154. package/esm5/lib/snack-bar/public-api.js +15 -0
  1155. package/esm5/lib/snack-bar/services/snack-bar.service.js +105 -0
  1156. package/esm5/lib/snack-bar/snack-bar.module.js +37 -0
  1157. package/esm5/lib/tabs/classes/opened-tab.js +50 -0
  1158. package/esm5/lib/tabs/classes/tab-view.js +283 -0
  1159. package/esm5/lib/tabs/interfaces.js +2 -0
  1160. package/esm5/lib/tabs/public-api.js +6 -0
  1161. package/esm5/lib/tabs/tab-creation-detector/abstract-tab-creation-detector.component.js +21 -0
  1162. package/esm5/lib/tabs/tab-data-injection-token/tab-data-injection-token.js +8 -0
  1163. package/esm5/lib/tabs/tab-view/abstract-tab-view.component.js +71 -0
  1164. package/esm5/lib/task/interfaces/task-operations.js +2 -0
  1165. package/esm5/lib/task/models/null-task-operations.js +30 -0
  1166. package/esm5/lib/task/models/subject-task-operations.js +76 -0
  1167. package/esm5/lib/task/models/task-operations-injection-token.js +3 -0
  1168. package/esm5/lib/task/models/task-set-data-request-context.js +2 -0
  1169. package/esm5/lib/task/public-api.js +19 -0
  1170. package/esm5/lib/task/services/assign-policy.service.js +189 -0
  1171. package/esm5/lib/task/services/assign-task.service.js +200 -0
  1172. package/esm5/lib/task/services/cancel-task.service.js +198 -0
  1173. package/esm5/lib/task/services/data-focus-policy.service.js +40 -0
  1174. package/esm5/lib/task/services/delegate-task.service.js +196 -0
  1175. package/esm5/lib/task/services/finish-policy.service.js +85 -0
  1176. package/esm5/lib/task/services/finish-task.service.js +215 -0
  1177. package/esm5/lib/task/services/selected-case.service.js +48 -0
  1178. package/esm5/lib/task/services/task-data.service.js +597 -0
  1179. package/esm5/lib/task/services/task-handling-service.js +68 -0
  1180. package/esm5/lib/task/services/task-request-state.service.js +118 -0
  1181. package/esm5/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.js +41 -0
  1182. package/esm5/lib/task-content/model/async-rendering-configuration-injection-token.js +8 -0
  1183. package/esm5/lib/task-content/model/async-rendering-configuration.js +2 -0
  1184. package/esm5/lib/task-content/model/datafield-grid-layout-element.js +2 -0
  1185. package/esm5/lib/task-content/model/field-type-resource.js +23 -0
  1186. package/esm5/lib/task-content/model/policy.js +31 -0
  1187. package/esm5/lib/task-content/model/resource-interface.js +2 -0
  1188. package/esm5/lib/task-content/model/split-data-group.js +2 -0
  1189. package/esm5/lib/task-content/model/subgrid.js +247 -0
  1190. package/esm5/lib/task-content/model/task-content-element-type.js +19 -0
  1191. package/esm5/lib/task-content/model/task-event-notification.js +15 -0
  1192. package/esm5/lib/task-content/model/task-event.js +10 -0
  1193. package/esm5/lib/task-content/public-api.js +21 -0
  1194. package/esm5/lib/task-content/services/field-converter.service.js +350 -0
  1195. package/esm5/lib/task-content/services/single-task-content.service.js +85 -0
  1196. package/esm5/lib/task-content/services/task-content.service.js +314 -0
  1197. package/esm5/lib/task-content/services/task-event.service.js +54 -0
  1198. package/esm5/lib/task-content/services/unlimited-task-content.service.js +77 -0
  1199. package/esm5/lib/task-content/task-content/abstract-task-content.component.js +687 -0
  1200. package/esm5/lib/toolbar/abstract-toolbar.component.js +24 -0
  1201. package/esm5/lib/toolbar/public-api.js +2 -0
  1202. package/esm5/lib/translate/language.service.js +89 -0
  1203. package/esm5/lib/translate/public-api.js +3 -0
  1204. package/esm5/lib/translate/translate-interceptor.js +25 -0
  1205. package/esm5/lib/translate/translate-lib.module.js +42 -0
  1206. package/esm5/lib/user/components/user-card/abstract-user-card.component.js +58 -0
  1207. package/esm5/lib/user/models/iuser.js +2 -0
  1208. package/esm5/lib/user/models/public-api.js +6 -0
  1209. package/esm5/lib/user/models/user.js +51 -0
  1210. package/esm5/lib/user/models/view-id-injection-tokens.js +4 -0
  1211. package/esm5/lib/user/profile/abstract-profile.component.js +40 -0
  1212. package/esm5/lib/user/public-api.js +12 -0
  1213. package/esm5/lib/user/services/user-comparator.service.js +28 -0
  1214. package/esm5/lib/user/services/user-list.service.js +220 -0
  1215. package/esm5/lib/user/services/user-preference.service.js +164 -0
  1216. package/esm5/lib/user/services/user.service.js +224 -0
  1217. package/esm5/lib/user/services/view-id.service.js +36 -0
  1218. package/esm5/lib/utility/array-to-observable.js +10 -0
  1219. package/esm5/lib/utility/call-chain/after-action.js +19 -0
  1220. package/esm5/lib/utility/call-chain/call-chain.service.js +36 -0
  1221. package/esm5/lib/utility/clear-time-information.js +11 -0
  1222. package/esm5/lib/utility/destroy-subscription.js +10 -0
  1223. package/esm5/lib/utility/get-field.js +48 -0
  1224. package/esm5/lib/utility/get-immediate-data.js +9 -0
  1225. package/esm5/lib/utility/grid-layout/grid-layout-helper.js +105 -0
  1226. package/esm5/lib/utility/grid-layout/model/grid-element-with-item.js +2 -0
  1227. package/esm5/lib/utility/grid-layout/model/grid-element.js +2 -0
  1228. package/esm5/lib/utility/grid-layout/model/grid-filler.js +52 -0
  1229. package/esm5/lib/utility/incrementing-counter.js +23 -0
  1230. package/esm5/lib/utility/loading-emitter.js +28 -0
  1231. package/esm5/lib/utility/loading-with-filter-emitter.js +41 -0
  1232. package/esm5/lib/utility/navigation-item-task-filter-factory.js +11 -0
  1233. package/esm5/lib/utility/navigation-item-task-search-categories-factory.js +35 -0
  1234. package/esm5/lib/utility/of-void.js +12 -0
  1235. package/esm5/lib/utility/pagination/load-all-pages.js +47 -0
  1236. package/esm5/lib/utility/pagination/page-has-content.js +8 -0
  1237. package/esm5/lib/utility/process-message-response.js +17 -0
  1238. package/esm5/lib/utility/public-api.js +47 -0
  1239. package/esm5/lib/utility/refresh-tree.js +9 -0
  1240. package/esm5/lib/utility/result-with-after-actions.js +34 -0
  1241. package/esm5/lib/utility/service/case-list-font-color.service.js +47 -0
  1242. package/esm5/lib/utility/service/spinner-overlay.service.js +51 -0
  1243. package/esm5/lib/utility/stop-propagation.js +5 -0
  1244. package/esm5/lib/utility/tests/mocks/mock-authentication-method-service.js +19 -0
  1245. package/esm5/lib/utility/tests/mocks/mock-authentication.service.js +33 -0
  1246. package/esm5/lib/utility/tests/mocks/mock-endpoint.js +46 -0
  1247. package/esm5/lib/utility/tests/mocks/mock-sign-up.service.js +31 -0
  1248. package/esm5/lib/utility/tests/mocks/mock-user-autocomplete-value.js +15 -0
  1249. package/esm5/lib/utility/tests/mocks/mock-user-preference.service.js +53 -0
  1250. package/esm5/lib/utility/tests/mocks/mock-user-resource.service.js +52 -0
  1251. package/esm5/lib/utility/tests/search-category-mock-dependencies.js +21 -0
  1252. package/esm5/lib/utility/tests/test-config.js +428 -0
  1253. package/esm5/lib/utility/tests/test-factory-methods.js +21 -0
  1254. package/esm5/lib/utility/tests/test-mock-dependencies.module.js +35 -0
  1255. package/esm5/lib/utility/tests/test-view-service.js +28 -0
  1256. package/esm5/lib/utility/tests/utility/configure-category.js +14 -0
  1257. package/esm5/lib/utility/tests/utility/create-mock-case-outcome.js +19 -0
  1258. package/esm5/lib/utility/tests/utility/create-mock-case.js +40 -0
  1259. package/esm5/lib/utility/tests/utility/create-mock-datagroup.js +39 -0
  1260. package/esm5/lib/utility/tests/utility/create-mock-field.js +47 -0
  1261. package/esm5/lib/utility/tests/utility/create-mock-get-data-outcome.js +20 -0
  1262. package/esm5/lib/utility/tests/utility/create-mock-immediate-data.js +17 -0
  1263. package/esm5/lib/utility/tests/utility/create-mock-net.js +34 -0
  1264. package/esm5/lib/utility/tests/utility/create-mock-page.js +24 -0
  1265. package/esm5/lib/utility/tests/utility/create-mock-petri-net-outcome.js +16 -0
  1266. package/esm5/lib/utility/tests/utility/create-mock-set-data-outcome.js +24 -0
  1267. package/esm5/lib/utility/tests/utility/create-mock-task-outcome.js +22 -0
  1268. package/esm5/lib/utility/tests/utility/create-mock-task.js +38 -0
  1269. package/esm5/lib/view/abstract/page-load-request-context.js +34 -0
  1270. package/esm5/lib/view/abstract/sortable-view.js +65 -0
  1271. package/esm5/lib/view/abstract/view-with-headers.js +27 -0
  1272. package/esm5/lib/view/case-view/abstract-case-view.js +47 -0
  1273. package/esm5/lib/view/case-view/components/case-list/abstract-case-list.component.js +92 -0
  1274. package/esm5/lib/view/case-view/models/case-page-load-request-result.js +2 -0
  1275. package/esm5/lib/view/case-view/models/case-view-params.js +2 -0
  1276. package/esm5/lib/view/case-view/models/new-case-configuration-injection-token.js +7 -0
  1277. package/esm5/lib/view/case-view/models/new-case-configuration.js +2 -0
  1278. package/esm5/lib/view/case-view/service/case-view-service.js +300 -0
  1279. package/esm5/lib/view/case-view/tabbed-case-view.js +75 -0
  1280. package/esm5/lib/view/public-api.js +42 -0
  1281. package/esm5/lib/view/task-view/abstract-task-view.js +18 -0
  1282. package/esm5/lib/view/task-view/models/injected-tabbed-task-view-data.js +2 -0
  1283. package/esm5/lib/view/task-view/models/injection-token-task-endpoint.js +6 -0
  1284. package/esm5/lib/view/task-view/models/task-endpoint.js +9 -0
  1285. package/esm5/lib/view/task-view/models/task-page-load-request-result.js +2 -0
  1286. package/esm5/lib/view/task-view/models/task-view-configuration-injection-token.js +20 -0
  1287. package/esm5/lib/view/task-view/models/task-view-configuration.js +2 -0
  1288. package/esm5/lib/view/task-view/models/task-view-params.js +2 -0
  1289. package/esm5/lib/view/task-view/service/task-view.service.js +333 -0
  1290. package/esm5/lib/view/task-view/tabbed-task-view.js +27 -0
  1291. package/esm5/lib/view/tree-case-view/model/tree-petriflow-identifiers.js +43 -0
  1292. package/esm5/lib/view/tree-case-view/tree-case-view.service.js +19 -0
  1293. package/esm5/lib/view/tree-case-view/tree-component/abstract-tree.component.js +165 -0
  1294. package/esm5/lib/view/tree-case-view/tree-component/add-child-node/abstract-add-child-node.component.js +16 -0
  1295. package/esm5/lib/view/tree-case-view/tree-component/case-tree.service.js +899 -0
  1296. package/esm5/lib/view/tree-case-view/tree-component/model/case-tree-node.js +106 -0
  1297. package/esm5/lib/view/tree-case-view/tree-component/model/case-tree-path.js +2 -0
  1298. package/esm5/lib/view/tree-case-view/tree-component/model/expansion-tree.js +2 -0
  1299. package/esm5/lib/view/tree-case-view/tree-component/remove-node/abstract-remove-node.component.js +16 -0
  1300. package/esm5/lib/view/tree-case-view/tree-task-content/abstract-tree-task-content.component.js +66 -0
  1301. package/esm5/lib/view/tree-case-view/tree-task-content/tree-task-content.service.js +308 -0
  1302. package/esm5/lib/view/workflow-view/abstract-workflow-view.component.js +74 -0
  1303. package/esm5/lib/view/workflow-view/models/injection-token-workflow-service.js +10 -0
  1304. package/esm5/lib/view/workflow-view/workflow-view.service.js +232 -0
  1305. package/esm5/netgrif-components-core.js +20 -0
  1306. package/esm5/public-api.js +45 -0
  1307. package/fesm2015/netgrif-components-core.js +28627 -0
  1308. package/fesm2015/netgrif-components-core.js.map +1 -0
  1309. package/fesm5/netgrif-components-core.js +31716 -0
  1310. package/fesm5/netgrif-components-core.js.map +1 -0
  1311. package/lib/admin/public-api.d.ts +6 -0
  1312. package/lib/admin/role-assignment/abstract-role-assignment.d.ts +31 -0
  1313. package/lib/admin/role-assignment/services/ProcessList.d.ts +43 -0
  1314. package/lib/admin/role-assignment/services/role-assignment.service.d.ts +16 -0
  1315. package/lib/admin/user-invite/abstract-user-invite.component.d.ts +30 -0
  1316. package/lib/admin/user-invite/services/organization-list.service.d.ts +16 -0
  1317. package/lib/admin/user-invite/services/user-invite.service.d.ts +9 -0
  1318. package/lib/allowed-nets/public-api.d.ts +3 -0
  1319. package/lib/allowed-nets/services/allowed-nets.service.d.ts +45 -0
  1320. package/lib/allowed-nets/services/base-allowed-nets.service.d.ts +27 -0
  1321. package/lib/allowed-nets/services/factory/allowed-nets-service-factory.d.ts +59 -0
  1322. package/lib/authentication/anonymous/anonymous.service.d.ts +18 -0
  1323. package/lib/authentication/authentication.factory.d.ts +5 -0
  1324. package/lib/authentication/authentication.module.d.ts +2 -0
  1325. package/lib/authentication/components/abstract-authentication-overlay.d.ts +21 -0
  1326. package/lib/authentication/models/credentials.d.ts +4 -0
  1327. package/lib/authentication/models/public-api.d.ts +3 -0
  1328. package/lib/authentication/models/transformer.d.ts +3 -0
  1329. package/lib/authentication/models/user.transformer.d.ts +8 -0
  1330. package/lib/authentication/public-api.d.ts +8 -0
  1331. package/lib/authentication/services/anonymous-authentication-interceptor.d.ts +8 -0
  1332. package/lib/authentication/services/authentication/authentication.service.d.ts +23 -0
  1333. package/lib/authentication/services/authentication-interceptor.d.ts +12 -0
  1334. package/lib/authentication/services/authentication-method.service.d.ts +8 -0
  1335. package/lib/authentication/services/guard/authentication-guard.service.d.ts +11 -0
  1336. package/lib/authentication/services/methods/basic-authentication/basic-authentication.service.d.ts +13 -0
  1337. package/lib/authentication/services/methods/null-authentication/null-authentication.service.d.ts +9 -0
  1338. package/lib/authentication/services/public-api.d.ts +5 -0
  1339. package/lib/authentication/session/null-storage.d.ts +9 -0
  1340. package/lib/authentication/session/public-api.d.ts +1 -0
  1341. package/lib/authentication/session/services/session.service.d.ts +35 -0
  1342. package/lib/authentication/sign-up/models/user-invitation-request.d.ts +5 -0
  1343. package/lib/authentication/sign-up/models/user-registration-request.d.ts +6 -0
  1344. package/lib/authentication/sign-up/public-api.d.ts +4 -0
  1345. package/lib/authentication/sign-up/services/sign-up.service.d.ts +29 -0
  1346. package/lib/authentication/sign-up/sign-up.module.d.ts +2 -0
  1347. package/lib/authorization/authority/authority-guard.service.d.ts +16 -0
  1348. package/lib/authorization/group/group-guard.service.d.ts +19 -0
  1349. package/lib/authorization/permission/permission.service.d.ts +22 -0
  1350. package/lib/authorization/public-api.d.ts +4 -0
  1351. package/lib/authorization/role/role-guard.service.d.ts +29 -0
  1352. package/lib/changed-fields/public-api.d.ts +1 -0
  1353. package/lib/changed-fields/services/changed-fields.service.d.ts +12 -0
  1354. package/lib/configuration/configuration.service.d.ts +69 -0
  1355. package/lib/configuration/public-api.d.ts +1 -0
  1356. package/lib/covalent/covalent.module.d.ts +2 -0
  1357. package/lib/currency/currency.module.d.ts +3 -0
  1358. package/lib/dashboard/cards/count-card/abstract-count-card.d.ts +19 -0
  1359. package/lib/dashboard/cards/custom-card/abstract-custom-card.d.ts +39 -0
  1360. package/lib/dashboard/cards/iframe-card/abstract-iframe-card.d.ts +10 -0
  1361. package/lib/dashboard/cards/model/card-grid-element.d.ts +4 -0
  1362. package/lib/dashboard/cards/model/count-card.d.ts +11 -0
  1363. package/lib/dashboard/cards/model/custom-dashboard-model/aggregation-query.d.ts +9 -0
  1364. package/lib/dashboard/cards/model/custom-dashboard-model/aggregation-result.d.ts +18 -0
  1365. package/lib/dashboard/cards/model/custom-dashboard-model/custom-card.d.ts +14 -0
  1366. package/lib/dashboard/cards/model/custom-dashboard-model/dashboard-event-content.d.ts +5 -0
  1367. package/lib/dashboard/cards/model/custom-dashboard-model/dashboard-multi-data.d.ts +6 -0
  1368. package/lib/dashboard/cards/model/custom-dashboard-model/dashboard-single-data.d.ts +5 -0
  1369. package/lib/dashboard/cards/model/dashboard-card-types.d.ts +11 -0
  1370. package/lib/dashboard/cards/model/dashboard-card.d.ts +7 -0
  1371. package/lib/dashboard/cards/model/graph-card.d.ts +5 -0
  1372. package/lib/dashboard/cards/model/iframe-card.d.ts +6 -0
  1373. package/lib/dashboard/dashboard-content/abstract-dashboard-content.d.ts +15 -0
  1374. package/lib/dashboard/dashboard-content/dashboard-params.d.ts +8 -0
  1375. package/lib/dashboard/public-api.d.ts +16 -0
  1376. package/lib/data-fields/boolean-field/abstract-boolean-field.component.d.ts +11 -0
  1377. package/lib/data-fields/boolean-field/models/boolean-field.d.ts +15 -0
  1378. package/lib/data-fields/button-field/abstract-button-field.component.d.ts +25 -0
  1379. package/lib/data-fields/button-field/models/button-field.d.ts +22 -0
  1380. package/lib/data-fields/data-field-template/abstract-data-field-template.component.d.ts +65 -0
  1381. package/lib/data-fields/data-field-template/models/wrapped-boolean.d.ts +6 -0
  1382. package/lib/data-fields/data-fields.module.d.ts +2 -0
  1383. package/lib/data-fields/date-field/abstract-date-field.component.d.ts +9 -0
  1384. package/lib/data-fields/date-field/models/custom-date-adapter.d.ts +4 -0
  1385. package/lib/data-fields/date-field/models/date-field.d.ts +10 -0
  1386. package/lib/data-fields/date-time-field/abstract-date-time-field.component.d.ts +9 -0
  1387. package/lib/data-fields/date-time-field/models/date-time-field.d.ts +10 -0
  1388. package/lib/data-fields/enumeration-field/abstract-enumeration-field.component.d.ts +6 -0
  1389. package/lib/data-fields/enumeration-field/enumeration-autocomplete-dynamic-field/abstract-enumeration-autocomplete-dynamic-field.component.d.ts +21 -0
  1390. package/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/abstract-enumeration-autocomplete-select-field.component.d.ts +26 -0
  1391. package/lib/data-fields/enumeration-field/enumeration-icon-field/abstract-enumeration-icon-field.component.d.ts +17 -0
  1392. package/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.d.ts +10 -0
  1393. package/lib/data-fields/enumeration-field/enumeration-select-field/abstract-enumeration-select-field.component.d.ts +10 -0
  1394. package/lib/data-fields/enumeration-field/enumeration-stepper-field/abstract-enumeration-stepper-field.component.d.ts +18 -0
  1395. package/lib/data-fields/enumeration-field/models/dynamic-enumeration-field.d.ts +25 -0
  1396. package/lib/data-fields/enumeration-field/models/enumeration-field.d.ts +35 -0
  1397. package/lib/data-fields/file-field/abstract-file-field.component.d.ts +147 -0
  1398. package/lib/data-fields/file-field/abstract-preview-dialog/preview-dialog-data.d.ts +9 -0
  1399. package/lib/data-fields/file-field/models/file-field-value.d.ts +4 -0
  1400. package/lib/data-fields/file-field/models/file-field.d.ts +73 -0
  1401. package/lib/data-fields/file-list-field/abstract-file-list-field.component.d.ts +73 -0
  1402. package/lib/data-fields/file-list-field/models/file-list-field-value.d.ts +4 -0
  1403. package/lib/data-fields/file-list-field/models/file-list-field.d.ts +41 -0
  1404. package/lib/data-fields/filter-field/abstract-filter-field-content.component.d.ts +12 -0
  1405. package/lib/data-fields/filter-field/abstract-filter-field.component.d.ts +14 -0
  1406. package/lib/data-fields/filter-field/models/filter-field-injection-token.d.ts +7 -0
  1407. package/lib/data-fields/filter-field/models/filter-field.d.ts +13 -0
  1408. package/lib/data-fields/i18n-field/abstract-i18n-field.component.d.ts +7 -0
  1409. package/lib/data-fields/i18n-field/i18n-divider-field/abstract-i18n-divider-field.component.d.ts +13 -0
  1410. package/lib/data-fields/i18n-field/i18n-text-field/abstract-i18n-text-field.component.d.ts +18 -0
  1411. package/lib/data-fields/i18n-field/models/i18n-field-value.d.ts +5 -0
  1412. package/lib/data-fields/i18n-field/models/i18n-field.d.ts +9 -0
  1413. package/lib/data-fields/models/abstract-data-field-component.d.ts +32 -0
  1414. package/lib/data-fields/models/abstract-data-field.d.ts +220 -0
  1415. package/lib/data-fields/models/behavior.d.ts +40 -0
  1416. package/lib/data-fields/models/boolean-label-enabled-token.d.ts +2 -0
  1417. package/lib/data-fields/models/changed-fields.d.ts +44 -0
  1418. package/lib/data-fields/models/component.d.ts +7 -0
  1419. package/lib/data-fields/models/format-filter.d.ts +5 -0
  1420. package/lib/data-fields/models/icon.d.ts +9 -0
  1421. package/lib/data-fields/models/invalid-data-policy-token.d.ts +10 -0
  1422. package/lib/data-fields/models/layout.d.ts +22 -0
  1423. package/lib/data-fields/models/material-appearance.d.ts +12 -0
  1424. package/lib/data-fields/models/properties.d.ts +3 -0
  1425. package/lib/data-fields/models/template-appearance.d.ts +13 -0
  1426. package/lib/data-fields/models/validation.d.ts +15 -0
  1427. package/lib/data-fields/multichoice-field/abstract-multichoice-field.component.d.ts +6 -0
  1428. package/lib/data-fields/multichoice-field/models/multichoice-field.d.ts +26 -0
  1429. package/lib/data-fields/multichoice-field/multichoice-list-field/abstract-multichoice-list-field.component.d.ts +10 -0
  1430. package/lib/data-fields/multichoice-field/multichoice-select-field/abstract-multichoice-select-field.component.d.ts +8 -0
  1431. package/lib/data-fields/number-field/abstract-number-errors.component.d.ts +13 -0
  1432. package/lib/data-fields/number-field/abstract-number-field.component.d.ts +8 -0
  1433. package/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.d.ts +15 -0
  1434. package/lib/data-fields/number-field/models/number-field.d.ts +36 -0
  1435. package/lib/data-fields/number-field/number-default-field/abstract-default-number-field.component.d.ts +5 -0
  1436. package/lib/data-fields/public-api.d.ts +67 -0
  1437. package/lib/data-fields/task-ref-field/model/task-ref-field.d.ts +8 -0
  1438. package/lib/data-fields/text-field/abstract-text-errors.component.d.ts +10 -0
  1439. package/lib/data-fields/text-field/abstract-text-field.component.d.ts +6 -0
  1440. package/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.d.ts +39 -0
  1441. package/lib/data-fields/text-field/models/text-area-field.d.ts +12 -0
  1442. package/lib/data-fields/text-field/models/text-field.d.ts +36 -0
  1443. package/lib/data-fields/text-field/password-text-field/abstract-password-text-field.component.d.ts +13 -0
  1444. package/lib/data-fields/text-field/rich-textarea-field/abstract-rich-textarea-field.component.d.ts +16 -0
  1445. package/lib/data-fields/text-field/simple-text-field/abstract-simple-text-field.component.d.ts +13 -0
  1446. package/lib/data-fields/text-field/textarea-field/abstract-textarea-field.component.d.ts +22 -0
  1447. package/lib/data-fields/time-instance-abstract-field/abstract-time-instance-field.component.d.ts +9 -0
  1448. package/lib/data-fields/time-instance-abstract-field/models/abstract-time-instance-field.d.ts +41 -0
  1449. package/lib/data-fields/user-field/abstract-user-field.component.d.ts +36 -0
  1450. package/lib/data-fields/user-field/models/user-field.d.ts +13 -0
  1451. package/lib/data-fields/user-field/models/user-value.d.ts +24 -0
  1452. package/lib/dialog/components/alert-dialog/alert-dialog.component.d.ts +19 -0
  1453. package/lib/dialog/components/alert-dialog/alert-dialog.module.d.ts +2 -0
  1454. package/lib/dialog/components/confirm-dialog/confirm-dialog.component.d.ts +24 -0
  1455. package/lib/dialog/components/confirm-dialog/confirm-dialog.module.d.ts +2 -0
  1456. package/lib/dialog/components/prompt-dialog/prompt-dialog.component.d.ts +23 -0
  1457. package/lib/dialog/components/prompt-dialog/prompt-dialog.module.d.ts +2 -0
  1458. package/lib/dialog/dialog.module.d.ts +2 -0
  1459. package/lib/dialog/models/DialogData.d.ts +8 -0
  1460. package/lib/dialog/models/DialogResult.d.ts +5 -0
  1461. package/lib/dialog/models/abstract-dialog.d.ts +18 -0
  1462. package/lib/dialog/public-api.d.ts +5 -0
  1463. package/lib/dialog/services/dialog.service.d.ts +43 -0
  1464. package/lib/event/model/event-constants.d.ts +6 -0
  1465. package/lib/event/model/event-outcomes/case-outcomes/case-event-outcome.d.ts +5 -0
  1466. package/lib/event/model/event-outcomes/case-outcomes/create-case-event-outcome.d.ts +3 -0
  1467. package/lib/event/model/event-outcomes/case-outcomes/delete-case-event-outcome.d.ts +3 -0
  1468. package/lib/event/model/event-outcomes/data-outcomes/get-data-event-outcome.d.ts +5 -0
  1469. package/lib/event/model/event-outcomes/data-outcomes/get-data-groups-event-outcome.d.ts +5 -0
  1470. package/lib/event/model/event-outcomes/data-outcomes/get-data-localised-event-outcome.d.ts +5 -0
  1471. package/lib/event/model/event-outcomes/data-outcomes/set-data-event-outcome.d.ts +5 -0
  1472. package/lib/event/model/event-outcomes/petrinet-outcomes/petri-net-event-outcome.d.ts +5 -0
  1473. package/lib/event/model/event-outcomes/task-outcomes/assign-task-event-outcome.d.ts +3 -0
  1474. package/lib/event/model/event-outcomes/task-outcomes/cancel-task-event-outcome.d.ts +3 -0
  1475. package/lib/event/model/event-outcomes/task-outcomes/delegate-task-event-outcome.d.ts +3 -0
  1476. package/lib/event/model/event-outcomes/task-outcomes/finish-task-event-outcome.d.ts +3 -0
  1477. package/lib/event/model/event-outcomes/task-outcomes/task-event-outcome.d.ts +5 -0
  1478. package/lib/event/public-api.d.ts +15 -0
  1479. package/lib/event/services/event.service.d.ts +7 -0
  1480. package/lib/event/services/interfaces/changed-fields-map.d.ts +6 -0
  1481. package/lib/event-queue/model/queued-event.d.ts +21 -0
  1482. package/lib/event-queue/public-api.d.ts +2 -0
  1483. package/lib/event-queue/services/event-queue.service.d.ts +21 -0
  1484. package/lib/filter/filter.repository.d.ts +59 -0
  1485. package/lib/filter/models/case-search-request-body.d.ts +88 -0
  1486. package/lib/filter/models/filter-type.d.ts +9 -0
  1487. package/lib/filter/models/filter.d.ts +68 -0
  1488. package/lib/filter/models/filters-filter-injection-token.d.ts +9 -0
  1489. package/lib/filter/models/merge-operator.d.ts +9 -0
  1490. package/lib/filter/models/merged-filter-params.d.ts +13 -0
  1491. package/lib/filter/models/merged-filter.d.ts +75 -0
  1492. package/lib/filter/models/simple-filter.d.ts +74 -0
  1493. package/lib/filter/models/task-search-request-body.d.ts +83 -0
  1494. package/lib/filter/models/user-filter-constants.d.ts +37 -0
  1495. package/lib/filter/public-api.d.ts +12 -0
  1496. package/lib/filter/user-filters.service.d.ts +116 -0
  1497. package/lib/forms/email-submission/abstract-email-submission-form.component.d.ts +13 -0
  1498. package/lib/forms/forgotten-password/abstract-forgotten-password.component.d.ts +16 -0
  1499. package/lib/forms/has-form.d.ts +10 -0
  1500. package/lib/forms/login/abstract-login-form.component.d.ts +24 -0
  1501. package/lib/forms/models/abstract-registration.component.d.ts +42 -0
  1502. package/lib/forms/models/password.validator.d.ts +7 -0
  1503. package/lib/forms/public-api.d.ts +6 -0
  1504. package/lib/forms/registration/abstract-registration-form.component.d.ts +19 -0
  1505. package/lib/groups/public-api.d.ts +2 -0
  1506. package/lib/groups/services/active-group.service.d.ts +49 -0
  1507. package/lib/groups/services/next-group.service.d.ts +52 -0
  1508. package/lib/header/abstract-header-service.d.ts +133 -0
  1509. package/lib/header/abstract-header.component.d.ts +52 -0
  1510. package/lib/header/case-header/case-header.service.d.ts +21 -0
  1511. package/lib/header/case-header/case-menta-enum.d.ts +7 -0
  1512. package/lib/header/header-modes/abstract-header-mode.component.d.ts +5 -0
  1513. package/lib/header/header-modes/edit-mode/abstract-edit-mode.component.d.ts +28 -0
  1514. package/lib/header/header-modes/loading-mode/abstract-loading-mode.component.d.ts +8 -0
  1515. package/lib/header/header-modes/search-mode/abstract-search-mode.component.d.ts +48 -0
  1516. package/lib/header/header-modes/sort-mode/abstract-sort-mode.component.d.ts +8 -0
  1517. package/lib/header/header-state.d.ts +28 -0
  1518. package/lib/header/models/default-headers-token.d.ts +2 -0
  1519. package/lib/header/models/fields-group.d.ts +9 -0
  1520. package/lib/header/models/header-column.d.ts +17 -0
  1521. package/lib/header/models/header-mode.d.ts +5 -0
  1522. package/lib/header/models/header-type.d.ts +5 -0
  1523. package/lib/header/models/public-api.d.ts +11 -0
  1524. package/lib/header/models/user-changes/column-header-change.d.ts +6 -0
  1525. package/lib/header/models/user-changes/edit-change-description.d.ts +7 -0
  1526. package/lib/header/models/user-changes/header-change-description.d.ts +5 -0
  1527. package/lib/header/models/user-changes/header-change-type.d.ts +18 -0
  1528. package/lib/header/models/user-changes/header-change.d.ts +17 -0
  1529. package/lib/header/models/user-changes/mode-change-description.d.ts +5 -0
  1530. package/lib/header/models/user-changes/search-change-description.d.ts +13 -0
  1531. package/lib/header/models/user-changes/sort-change-description.d.ts +13 -0
  1532. package/lib/header/public-api.d.ts +14 -0
  1533. package/lib/header/services/overflow.service.d.ts +28 -0
  1534. package/lib/header/task-header/task-header.service.d.ts +18 -0
  1535. package/lib/header/task-header/task-meta-enum.d.ts +9 -0
  1536. package/lib/header/workflow-header/workflow-header.service.d.ts +14 -0
  1537. package/lib/header/workflow-header/workflow-meta-enum.d.ts +8 -0
  1538. package/lib/legal/legal-notice/abstract-legal-notice.component.d.ts +13 -0
  1539. package/lib/legal/public-api.d.ts +1 -0
  1540. package/lib/logger/models/log-entry.d.ts +38 -0
  1541. package/lib/logger/public-api.d.ts +7 -0
  1542. package/lib/logger/publishers/console-log-publisher.d.ts +8 -0
  1543. package/lib/logger/publishers/local-storage-log-publisher.d.ts +9 -0
  1544. package/lib/logger/publishers/log-publisher.d.ts +8 -0
  1545. package/lib/logger/services/log-level.d.ts +8 -0
  1546. package/lib/logger/services/log-publisher.service.d.ts +22 -0
  1547. package/lib/logger/services/logger.service.d.ts +25 -0
  1548. package/lib/material/material.module.d.ts +2 -0
  1549. package/lib/moment/public-api.d.ts +1 -0
  1550. package/lib/moment/time-formats.d.ts +24 -0
  1551. package/lib/navigation/group-navigation-component-resolver/abstract-group-navigation-component-resolver.component.d.ts +21 -0
  1552. package/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.d.ts +14 -0
  1553. package/lib/navigation/group-navigation-component-resolver/group-navigation-view-id-segment-factory.d.ts +2 -0
  1554. package/lib/navigation/model/filter-case-injection-token.d.ts +6 -0
  1555. package/lib/navigation/model/group-navigation-component-resolver-component-injection-token.d.ts +6 -0
  1556. package/lib/navigation/model/group-navigation-constants.d.ts +57 -0
  1557. package/lib/navigation/model/group-navigation-item-label.d.ts +4 -0
  1558. package/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.d.ts +49 -0
  1559. package/lib/navigation/navigation-drawer/abstract-navigation-resizable-drawer.component.d.ts +8 -0
  1560. package/lib/navigation/navigation-rail/abstract-navigation-rail.component.d.ts +14 -0
  1561. package/lib/navigation/navigation-tree/abstract-navigation-tree.component.d.ts +131 -0
  1562. package/lib/navigation/public-api.d.ts +13 -0
  1563. package/lib/navigation/quick-panel/components/abstract-quick-panel.component.d.ts +15 -0
  1564. package/lib/navigation/quick-panel/components/internal-link/abstract-internal-link.component.d.ts +7 -0
  1565. package/lib/navigation/quick-panel/components/language-selector/abstract-language-selector.component.d.ts +24 -0
  1566. package/lib/navigation/quick-panel/components/logout-shortcut/abstract-logout-shortcut.component.d.ts +14 -0
  1567. package/lib/navigation/quick-panel/components/paper-view.service.d.ts +6 -0
  1568. package/lib/navigation/quick-panel/public-api.d.ts +5 -0
  1569. package/lib/navigation/utility/filter-extraction.service.d.ts +18 -0
  1570. package/lib/navigation/utility/navigation-item-task-utility-methods.d.ts +33 -0
  1571. package/lib/panel/abstract/featured-value.d.ts +13 -0
  1572. package/lib/panel/abstract/panel-with-header-binding.d.ts +23 -0
  1573. package/lib/panel/abstract/panel-with-immediate-data.d.ts +18 -0
  1574. package/lib/panel/abstract/tabbed-virtual-scroll.component.d.ts +10 -0
  1575. package/lib/panel/abstract-panel.component.d.ts +23 -0
  1576. package/lib/panel/case-panel/abstract-case-panel.component.d.ts +41 -0
  1577. package/lib/panel/immediate/abstract-immediate-filter-text-content.component.d.ts +16 -0
  1578. package/lib/panel/immediate/abstract-immediate-filter-text.component.d.ts +14 -0
  1579. package/lib/panel/immediate/model/filter-text-injection-token.d.ts +10 -0
  1580. package/lib/panel/public-api.d.ts +12 -0
  1581. package/lib/panel/task-panel/abstract-task-panel.component.d.ts +109 -0
  1582. package/lib/panel/task-panel/models/disable-functions.d.ts +10 -0
  1583. package/lib/panel/task-panel-list/abstract-task-list.component.d.ts +46 -0
  1584. package/lib/panel/task-panel-list/task-panel-data/task-panel-data.d.ts +8 -0
  1585. package/lib/panel/workflow-panel/abstract-workflow-panel.component.d.ts +57 -0
  1586. package/lib/process/net.d.ts +95 -0
  1587. package/lib/process/netRole.d.ts +4 -0
  1588. package/lib/process/permissions.d.ts +30 -0
  1589. package/lib/process/petri-net-reference-with-permissions.d.ts +7 -0
  1590. package/lib/process/process.service.d.ts +94 -0
  1591. package/lib/process/public-api.d.ts +7 -0
  1592. package/lib/process/public-process.service.d.ts +8 -0
  1593. package/lib/process/rolesAndPermissions.d.ts +6 -0
  1594. package/lib/process/transaction.d.ts +5 -0
  1595. package/lib/process/transition.d.ts +7 -0
  1596. package/lib/public/factories/get-net-and-create-case.d.ts +6 -0
  1597. package/lib/public/factories/public-factory-resolver.d.ts +6 -0
  1598. package/lib/public/factories/public-search-factory.d.ts +9 -0
  1599. package/lib/public/public-api.d.ts +4 -0
  1600. package/lib/public/services/public-url-resolver.service.d.ts +6 -0
  1601. package/lib/resources/abstract-endpoint/abstract-resource.service.d.ts +38 -0
  1602. package/lib/resources/abstract-endpoint/count-service.d.ts +6 -0
  1603. package/lib/resources/engine-endpoint/case-resource.service.d.ts +86 -0
  1604. package/lib/resources/engine-endpoint/dashboard-resource.service.d.ts +10 -0
  1605. package/lib/resources/engine-endpoint/petri-net-resource.service.d.ts +105 -0
  1606. package/lib/resources/engine-endpoint/public/public-case-resource.service.d.ts +20 -0
  1607. package/lib/resources/engine-endpoint/public/public-petri-net-resource.service.d.ts +72 -0
  1608. package/lib/resources/engine-endpoint/public/public-task-resource.service.d.ts +95 -0
  1609. package/lib/resources/engine-endpoint/task-resource.service.d.ts +134 -0
  1610. package/lib/resources/engine-endpoint/user-resource.service.d.ts +133 -0
  1611. package/lib/resources/interface/assigned-user-policy.d.ts +4 -0
  1612. package/lib/resources/interface/author.d.ts +15 -0
  1613. package/lib/resources/interface/authority.d.ts +13 -0
  1614. package/lib/resources/interface/case-get-request-body.d.ts +79 -0
  1615. package/lib/resources/interface/case.d.ts +124 -0
  1616. package/lib/resources/interface/changed-field-container.d.ts +4 -0
  1617. package/lib/resources/interface/count.d.ts +15 -0
  1618. package/lib/resources/interface/create-case-request-body.d.ts +11 -0
  1619. package/lib/resources/interface/data-group-layout.d.ts +62 -0
  1620. package/lib/resources/interface/data-groups.d.ts +60 -0
  1621. package/lib/resources/interface/event-outcome.d.ts +10 -0
  1622. package/lib/resources/interface/field-alignment.d.ts +8 -0
  1623. package/lib/resources/interface/fields.d.ts +218 -0
  1624. package/lib/resources/interface/file-resource.d.ts +22 -0
  1625. package/lib/resources/interface/group.d.ts +18 -0
  1626. package/lib/resources/interface/immediate-data.d.ts +44 -0
  1627. package/lib/resources/interface/link.d.ts +18 -0
  1628. package/lib/resources/interface/message-resource.d.ts +24 -0
  1629. package/lib/resources/interface/page.d.ts +14 -0
  1630. package/lib/resources/interface/pagination.d.ts +21 -0
  1631. package/lib/resources/interface/petri-net-object-id.d.ts +12 -0
  1632. package/lib/resources/interface/petri-net-reference.d.ts +46 -0
  1633. package/lib/resources/interface/petri-net-request-body.d.ts +14 -0
  1634. package/lib/resources/interface/petri-net.d.ts +10 -0
  1635. package/lib/resources/interface/preferences.d.ts +16 -0
  1636. package/lib/resources/interface/process-role.d.ts +9 -0
  1637. package/lib/resources/interface/response-data.d.ts +19 -0
  1638. package/lib/resources/interface/task-layout.d.ts +11 -0
  1639. package/lib/resources/interface/task-reference.d.ts +17 -0
  1640. package/lib/resources/interface/task-set-data-request-body.d.ts +35 -0
  1641. package/lib/resources/interface/task.d.ts +72 -0
  1642. package/lib/resources/interface/user-process-role.d.ts +13 -0
  1643. package/lib/resources/interface/user-resource-small.d.ts +11 -0
  1644. package/lib/resources/interface/user-resource.d.ts +16 -0
  1645. package/lib/resources/public-api.d.ts +42 -0
  1646. package/lib/resources/resource-provider.service.d.ts +53 -0
  1647. package/lib/resources/types/nae-date-type.d.ts +7 -0
  1648. package/lib/routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service.d.ts +12 -0
  1649. package/lib/routing/public-api.d.ts +5 -0
  1650. package/lib/routing/redirect-service/redirect.service.d.ts +22 -0
  1651. package/lib/routing/routing-builder/routing-builder.service.d.ts +23 -0
  1652. package/lib/routing/view-service/model/view-entry.d.ts +14 -0
  1653. package/lib/routing/view-service/view.service.d.ts +29 -0
  1654. package/lib/search/advanced-search-component/abstract-advanced-search.component.d.ts +25 -0
  1655. package/lib/search/advanced-search-component-initialization-service/advanced-search-component-initialization.service.d.ts +22 -0
  1656. package/lib/search/category-factory/category-factory.d.ts +55 -0
  1657. package/lib/search/category-factory/category-resolver.service.d.ts +48 -0
  1658. package/lib/search/category-factory/category-serialisation-pair.d.ts +10 -0
  1659. package/lib/search/category-factory/default-categories-factories.d.ts +32 -0
  1660. package/lib/search/category-factory/default-search-categories.module.d.ts +2 -0
  1661. package/lib/search/category-factory/optional-dependencies.d.ts +22 -0
  1662. package/lib/search/category-factory/search-categories-injection-token.d.ts +24 -0
  1663. package/lib/search/fulltext-search-component/abstract-fulltext-search.component.d.ts +7 -0
  1664. package/lib/search/header-search-service/header-search.service.d.ts +112 -0
  1665. package/lib/search/models/base-filter-injection-token.d.ts +6 -0
  1666. package/lib/search/models/base-filter.d.ts +18 -0
  1667. package/lib/search/models/boolean-operator.d.ts +7 -0
  1668. package/lib/search/models/category/autocomplete-category.d.ts +94 -0
  1669. package/lib/search/models/category/autocomplete-options.d.ts +17 -0
  1670. package/lib/search/models/category/case/case-author.d.ts +12 -0
  1671. package/lib/search/models/category/case/case-creation-date-time.d.ts +16 -0
  1672. package/lib/search/models/category/case/case-creation-date.d.ts +16 -0
  1673. package/lib/search/models/category/case/case-dataset.d.ts +94 -0
  1674. package/lib/search/models/category/case/case-net-attribute-autocomplete-category.d.ts +18 -0
  1675. package/lib/search/models/category/case/case-process.d.ts +27 -0
  1676. package/lib/search/models/category/case/case-role.d.ts +15 -0
  1677. package/lib/search/models/category/case/case-search.enum.d.ts +13 -0
  1678. package/lib/search/models/category/case/case-simple-dataset.d.ts +58 -0
  1679. package/lib/search/models/category/case/case-string-id.d.ts +11 -0
  1680. package/lib/search/models/category/case/case-task.d.ts +15 -0
  1681. package/lib/search/models/category/case/case-title.d.ts +11 -0
  1682. package/lib/search/models/category/case/case-visual-id.d.ts +11 -0
  1683. package/lib/search/models/category/categories.d.ts +20 -0
  1684. package/lib/search/models/category/category.d.ts +363 -0
  1685. package/lib/search/models/category/name-id-pair.d.ts +13 -0
  1686. package/lib/search/models/category/net-attribute-autocomplete-category.d.ts +55 -0
  1687. package/lib/search/models/category/net-attribute-pair.d.ts +17 -0
  1688. package/lib/search/models/category/no-configuration-autocomplete-category.d.ts +28 -0
  1689. package/lib/search/models/category/no-configuration-category.d.ts +30 -0
  1690. package/lib/search/models/category/no-configuration-user-autocomplete-category.d.ts +20 -0
  1691. package/lib/search/models/category/search-autocomplete-option.d.ts +21 -0
  1692. package/lib/search/models/category/search-input-type.d.ts +12 -0
  1693. package/lib/search/models/category/task/task-assignee.d.ts +12 -0
  1694. package/lib/search/models/category/task/task-net-attribute-autocomplete-category.d.ts +18 -0
  1695. package/lib/search/models/category/task/task-process.d.ts +19 -0
  1696. package/lib/search/models/category/task/task-role.d.ts +15 -0
  1697. package/lib/search/models/category/task/task-task.d.ts +15 -0
  1698. package/lib/search/models/category/user-autocomplete.d.ts +28 -0
  1699. package/lib/search/models/component-configuration/search-component-configuration-injection-token.d.ts +8 -0
  1700. package/lib/search/models/component-configuration/search-component-configuration.d.ts +21 -0
  1701. package/lib/search/models/component-configuration/search-mode.d.ts +7 -0
  1702. package/lib/search/models/configuration-input.d.ts +38 -0
  1703. package/lib/search/models/datafield-map-key.d.ts +28 -0
  1704. package/lib/search/models/escape-result.d.ts +13 -0
  1705. package/lib/search/models/operator/equals-date-time.d.ts +19 -0
  1706. package/lib/search/models/operator/equals-date.d.ts +19 -0
  1707. package/lib/search/models/operator/equals.d.ts +13 -0
  1708. package/lib/search/models/operator/in-range-date-time.d.ts +24 -0
  1709. package/lib/search/models/operator/in-range-date.d.ts +24 -0
  1710. package/lib/search/models/operator/in-range.d.ts +12 -0
  1711. package/lib/search/models/operator/is-null.d.ts +51 -0
  1712. package/lib/search/models/operator/less-than-date-time.d.ts +16 -0
  1713. package/lib/search/models/operator/less-than-date.d.ts +16 -0
  1714. package/lib/search/models/operator/less-than-equal-date-time.d.ts +16 -0
  1715. package/lib/search/models/operator/less-than-equal-date.d.ts +16 -0
  1716. package/lib/search/models/operator/less-than-equal.d.ts +10 -0
  1717. package/lib/search/models/operator/less-than.d.ts +10 -0
  1718. package/lib/search/models/operator/like.d.ts +18 -0
  1719. package/lib/search/models/operator/more-than-date-time.d.ts +16 -0
  1720. package/lib/search/models/operator/more-than-date.d.ts +16 -0
  1721. package/lib/search/models/operator/more-than-equal-date-time.d.ts +16 -0
  1722. package/lib/search/models/operator/more-than-equal-date.d.ts +16 -0
  1723. package/lib/search/models/operator/more-than-equal.d.ts +10 -0
  1724. package/lib/search/models/operator/more-than.d.ts +10 -0
  1725. package/lib/search/models/operator/not-equals-date-time.d.ts +13 -0
  1726. package/lib/search/models/operator/not-equals-date.d.ts +16 -0
  1727. package/lib/search/models/operator/not-equals.d.ts +18 -0
  1728. package/lib/search/models/operator/operator.d.ts +98 -0
  1729. package/lib/search/models/operator/operators.d.ts +29 -0
  1730. package/lib/search/models/operator/substring.d.ts +13 -0
  1731. package/lib/search/models/operator-template-part-type.d.ts +13 -0
  1732. package/lib/search/models/operator-template-part.d.ts +26 -0
  1733. package/lib/search/models/persistance/filter-metadata-allowed-nets.d.ts +14 -0
  1734. package/lib/search/models/persistance/filter-metadata.d.ts +29 -0
  1735. package/lib/search/models/persistance/filter-text-segment.d.ts +19 -0
  1736. package/lib/search/models/persistance/generator-metadata.d.ts +44 -0
  1737. package/lib/search/models/persistance/saved-filter-metadata.d.ts +26 -0
  1738. package/lib/search/models/predicate/clause-predicate.d.ts +56 -0
  1739. package/lib/search/models/predicate/editable-clause-predicate-with-generators.d.ts +24 -0
  1740. package/lib/search/models/predicate/editable-clause-predicate.d.ts +67 -0
  1741. package/lib/search/models/predicate/editable-elementary-predicate.d.ts +13 -0
  1742. package/lib/search/models/predicate/editable-predicate-with-generator.d.ts +28 -0
  1743. package/lib/search/models/predicate/editable-predicate.d.ts +14 -0
  1744. package/lib/search/models/predicate/elementary-predicate.d.ts +10 -0
  1745. package/lib/search/models/predicate/predicate-with-generator.d.ts +45 -0
  1746. package/lib/search/models/predicate/predicate.d.ts +52 -0
  1747. package/lib/search/models/predicate-removal-event.d.ts +13 -0
  1748. package/lib/search/models/query/query.d.ts +44 -0
  1749. package/lib/search/models/search-index.d.ts +74 -0
  1750. package/lib/search/models/wrap-result.d.ts +13 -0
  1751. package/lib/search/operator-service/operator-resolver.service.d.ts +23 -0
  1752. package/lib/search/operator-service/operator.service.d.ts +16 -0
  1753. package/lib/search/public-api.d.ts +98 -0
  1754. package/lib/search/search-clause-component/abstract-search-clause.component.d.ts +28 -0
  1755. package/lib/search/search-component/abstract-search.component.d.ts +86 -0
  1756. package/lib/search/search-configuration-input-component/abstract-search-configuration-input.component.d.ts +42 -0
  1757. package/lib/search/search-keyword-resolver-service/search-index-resolver.service.d.ts +25 -0
  1758. package/lib/search/search-operand-input-component/abstract-search-operand-input.component.d.ts +38 -0
  1759. package/lib/search/search-predicate-component/abstract-search-predicate.component.d.ts +64 -0
  1760. package/lib/search/search-service/search.service.d.ts +182 -0
  1761. package/lib/side-menu/content-components/filter-selector/abstract-filter-selector.component.d.ts +105 -0
  1762. package/lib/side-menu/content-components/filter-selector/filter-selector-list-item/abstract-filter-selector-list-item.component.d.ts +20 -0
  1763. package/lib/side-menu/content-components/filter-selector/model/filter-selector-injection-data.d.ts +20 -0
  1764. package/lib/side-menu/content-components/filter-selector/model/filtered-array.d.ts +25 -0
  1765. package/lib/side-menu/content-components/import-net/abstract-import-net.component.d.ts +50 -0
  1766. package/lib/side-menu/content-components/injection-tokens.d.ts +8 -0
  1767. package/lib/side-menu/content-components/load-filter/abstract-load-filter.component.d.ts +13 -0
  1768. package/lib/side-menu/content-components/load-filter/model/load-filter-injection-data.d.ts +8 -0
  1769. package/lib/side-menu/content-components/new-case/abstract-new-case.component.d.ts +62 -0
  1770. package/lib/side-menu/content-components/new-case/model/new-case-injection-data.d.ts +13 -0
  1771. package/lib/side-menu/content-components/option-selector/abstract-option-selector.component.d.ts +14 -0
  1772. package/lib/side-menu/content-components/option-selector/model/option-selector-injection-data.d.ts +24 -0
  1773. package/lib/side-menu/content-components/public-api.d.ts +17 -0
  1774. package/lib/side-menu/content-components/save-filter/abstract-save-filter.component.d.ts +15 -0
  1775. package/lib/side-menu/content-components/save-filter/model/save-filter-injection-data.d.ts +4 -0
  1776. package/lib/side-menu/content-components/user-assign/abstract-user-assign.component.d.ts +46 -0
  1777. package/lib/side-menu/content-components/user-assign/model/user-list-injected-data.d.ts +11 -0
  1778. package/lib/side-menu/content-components/user-assign/user-assign-list/abstract-user-assign-list.component.d.ts +83 -0
  1779. package/lib/side-menu/content-components/user-assign/user-assign-list/user-assign-item/abstract-user-assign-item.component.d.ts +16 -0
  1780. package/lib/side-menu/models/portal-wrapper.d.ts +9 -0
  1781. package/lib/side-menu/models/side-menu-control.d.ts +15 -0
  1782. package/lib/side-menu/models/side-menu-event.d.ts +6 -0
  1783. package/lib/side-menu/models/side-menu-injection-data.d.ts +3 -0
  1784. package/lib/side-menu/models/side-menu-ref.d.ts +8 -0
  1785. package/lib/side-menu/models/side-menu-size.d.ts +5 -0
  1786. package/lib/side-menu/net-version-visible-injection-token.d.ts +3 -0
  1787. package/lib/side-menu/public-api.d.ts +10 -0
  1788. package/lib/side-menu/services/side-menu.service.d.ts +35 -0
  1789. package/lib/side-menu/side-menu-container/abstract-side-menu-container.component.d.ts +16 -0
  1790. package/lib/side-menu/side-menu-injection-token.d.ts +3 -0
  1791. package/lib/snack-bar/components/error-snack-bar/error-snack-bar.component.d.ts +8 -0
  1792. package/lib/snack-bar/components/generic-snack-bar/generic-snack-bar.component.d.ts +8 -0
  1793. package/lib/snack-bar/components/success-snack-bar/success-snack-bar.component.d.ts +8 -0
  1794. package/lib/snack-bar/components/warning-snack-bar/warning-snack-bar.component.d.ts +8 -0
  1795. package/lib/snack-bar/models/abstract-snack-bar.d.ts +10 -0
  1796. package/lib/snack-bar/models/injection-token-snackbar.d.ts +4 -0
  1797. package/lib/snack-bar/models/snack-bar-enums.d.ts +9 -0
  1798. package/lib/snack-bar/models/snack-bar-injection-data.d.ts +5 -0
  1799. package/lib/snack-bar/public-api.d.ts +10 -0
  1800. package/lib/snack-bar/services/snack-bar.service.d.ts +18 -0
  1801. package/lib/snack-bar/snack-bar.module.d.ts +2 -0
  1802. package/lib/tabs/classes/opened-tab.d.ts +67 -0
  1803. package/lib/tabs/classes/tab-view.d.ts +123 -0
  1804. package/lib/tabs/interfaces.d.ts +135 -0
  1805. package/lib/tabs/public-api.d.ts +5 -0
  1806. package/lib/tabs/tab-creation-detector/abstract-tab-creation-detector.component.d.ts +18 -0
  1807. package/lib/tabs/tab-data-injection-token/tab-data-injection-token.d.ts +8 -0
  1808. package/lib/tabs/tab-view/abstract-tab-view.component.d.ts +38 -0
  1809. package/lib/task/interfaces/task-operations.d.ts +35 -0
  1810. package/lib/task/models/null-task-operations.d.ts +22 -0
  1811. package/lib/task/models/subject-task-operations.d.ts +37 -0
  1812. package/lib/task/models/task-operations-injection-token.d.ts +3 -0
  1813. package/lib/task/models/task-set-data-request-context.d.ts +11 -0
  1814. package/lib/task/public-api.d.ts +15 -0
  1815. package/lib/task/services/assign-policy.service.d.ts +81 -0
  1816. package/lib/task/services/assign-task.service.d.ts +78 -0
  1817. package/lib/task/services/cancel-task.service.d.ts +79 -0
  1818. package/lib/task/services/data-focus-policy.service.d.ts +16 -0
  1819. package/lib/task/services/delegate-task.service.d.ts +70 -0
  1820. package/lib/task/services/finish-policy.service.d.ts +38 -0
  1821. package/lib/task/services/finish-task.service.d.ts +76 -0
  1822. package/lib/task/services/selected-case.service.d.ts +35 -0
  1823. package/lib/task/services/task-data.service.d.ts +177 -0
  1824. package/lib/task/services/task-handling-service.d.ts +41 -0
  1825. package/lib/task/services/task-request-state.service.d.ts +64 -0
  1826. package/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.d.ts +22 -0
  1827. package/lib/task-content/model/async-rendering-configuration-injection-token.d.ts +8 -0
  1828. package/lib/task-content/model/async-rendering-configuration.d.ts +22 -0
  1829. package/lib/task-content/model/datafield-grid-layout-element.d.ts +9 -0
  1830. package/lib/task-content/model/field-type-resource.d.ts +21 -0
  1831. package/lib/task-content/model/policy.d.ts +27 -0
  1832. package/lib/task-content/model/resource-interface.d.ts +37 -0
  1833. package/lib/task-content/model/split-data-group.d.ts +7 -0
  1834. package/lib/task-content/model/subgrid.d.ts +145 -0
  1835. package/lib/task-content/model/task-content-element-type.d.ts +19 -0
  1836. package/lib/task-content/model/task-event-notification.d.ts +32 -0
  1837. package/lib/task-content/model/task-event.d.ts +8 -0
  1838. package/lib/task-content/public-api.d.ts +17 -0
  1839. package/lib/task-content/services/field-converter.service.d.ts +58 -0
  1840. package/lib/task-content/services/single-task-content.service.d.ts +42 -0
  1841. package/lib/task-content/services/task-content.service.d.ts +125 -0
  1842. package/lib/task-content/services/task-event.service.d.ts +28 -0
  1843. package/lib/task-content/services/unlimited-task-content.service.d.ts +42 -0
  1844. package/lib/task-content/task-content/abstract-task-content.component.d.ts +263 -0
  1845. package/lib/toolbar/abstract-toolbar.component.d.ts +15 -0
  1846. package/lib/toolbar/public-api.d.ts +1 -0
  1847. package/lib/translate/language.service.d.ts +20 -0
  1848. package/lib/translate/public-api.d.ts +2 -0
  1849. package/lib/translate/translate-interceptor.d.ts +8 -0
  1850. package/lib/translate/translate-lib.module.d.ts +5 -0
  1851. package/lib/user/components/user-card/abstract-user-card.component.d.ts +22 -0
  1852. package/lib/user/models/iuser.d.ts +19 -0
  1853. package/lib/user/models/public-api.d.ts +3 -0
  1854. package/lib/user/models/user.d.ts +29 -0
  1855. package/lib/user/models/view-id-injection-tokens.d.ts +3 -0
  1856. package/lib/user/profile/abstract-profile.component.d.ts +14 -0
  1857. package/lib/user/public-api.d.ts +8 -0
  1858. package/lib/user/services/user-comparator.service.d.ts +7 -0
  1859. package/lib/user/services/user-list.service.d.ts +111 -0
  1860. package/lib/user/services/user-preference.service.d.ts +37 -0
  1861. package/lib/user/services/user.service.d.ts +65 -0
  1862. package/lib/user/services/view-id.service.d.ts +7 -0
  1863. package/lib/utility/array-to-observable.d.ts +6 -0
  1864. package/lib/utility/call-chain/after-action.d.ts +8 -0
  1865. package/lib/utility/call-chain/call-chain.service.d.ts +16 -0
  1866. package/lib/utility/clear-time-information.d.ts +6 -0
  1867. package/lib/utility/destroy-subscription.d.ts +6 -0
  1868. package/lib/utility/get-field.d.ts +34 -0
  1869. package/lib/utility/get-immediate-data.d.ts +8 -0
  1870. package/lib/utility/grid-layout/grid-layout-helper.d.ts +10 -0
  1871. package/lib/utility/grid-layout/model/grid-element-with-item.d.ts +4 -0
  1872. package/lib/utility/grid-layout/model/grid-element.d.ts +12 -0
  1873. package/lib/utility/grid-layout/model/grid-filler.d.ts +10 -0
  1874. package/lib/utility/incrementing-counter.d.ts +14 -0
  1875. package/lib/utility/loading-emitter.d.ts +8 -0
  1876. package/lib/utility/loading-with-filter-emitter.d.ts +12 -0
  1877. package/lib/utility/navigation-item-task-filter-factory.d.ts +9 -0
  1878. package/lib/utility/navigation-item-task-search-categories-factory.d.ts +15 -0
  1879. package/lib/utility/of-void.d.ts +6 -0
  1880. package/lib/utility/pagination/load-all-pages.d.ts +13 -0
  1881. package/lib/utility/pagination/page-has-content.d.ts +6 -0
  1882. package/lib/utility/process-message-response.d.ts +10 -0
  1883. package/lib/utility/public-api.d.ts +45 -0
  1884. package/lib/utility/refresh-tree.d.ts +5 -0
  1885. package/lib/utility/result-with-after-actions.d.ts +21 -0
  1886. package/lib/utility/service/case-list-font-color.service.d.ts +15 -0
  1887. package/lib/utility/service/spinner-overlay.service.d.ts +13 -0
  1888. package/lib/utility/stop-propagation.d.ts +1 -0
  1889. package/lib/utility/tests/mocks/mock-authentication-method-service.d.ts +8 -0
  1890. package/lib/utility/tests/mocks/mock-authentication.service.d.ts +10 -0
  1891. package/lib/utility/tests/mocks/mock-endpoint.d.ts +25 -0
  1892. package/lib/utility/tests/mocks/mock-sign-up.service.d.ts +20 -0
  1893. package/lib/utility/tests/mocks/mock-user-autocomplete-value.d.ts +7 -0
  1894. package/lib/utility/tests/mocks/mock-user-preference.service.d.ts +15 -0
  1895. package/lib/utility/tests/mocks/mock-user-resource.service.d.ts +17 -0
  1896. package/lib/utility/tests/search-category-mock-dependencies.d.ts +6 -0
  1897. package/lib/utility/tests/test-config.d.ts +4 -0
  1898. package/lib/utility/tests/test-factory-methods.d.ts +7 -0
  1899. package/lib/utility/tests/test-mock-dependencies.module.d.ts +12 -0
  1900. package/lib/utility/tests/test-view-service.d.ts +7 -0
  1901. package/lib/utility/tests/utility/configure-category.d.ts +13 -0
  1902. package/lib/utility/tests/utility/create-mock-case-outcome.d.ts +10 -0
  1903. package/lib/utility/tests/utility/create-mock-case.d.ts +8 -0
  1904. package/lib/utility/tests/utility/create-mock-datagroup.d.ts +18 -0
  1905. package/lib/utility/tests/utility/create-mock-field.d.ts +19 -0
  1906. package/lib/utility/tests/utility/create-mock-get-data-outcome.d.ts +7 -0
  1907. package/lib/utility/tests/utility/create-mock-immediate-data.d.ts +8 -0
  1908. package/lib/utility/tests/utility/create-mock-net.d.ts +17 -0
  1909. package/lib/utility/tests/utility/create-mock-page.d.ts +7 -0
  1910. package/lib/utility/tests/utility/create-mock-petri-net-outcome.d.ts +9 -0
  1911. package/lib/utility/tests/utility/create-mock-set-data-outcome.d.ts +12 -0
  1912. package/lib/utility/tests/utility/create-mock-task-outcome.d.ts +11 -0
  1913. package/lib/utility/tests/utility/create-mock-task.d.ts +8 -0
  1914. package/lib/view/abstract/page-load-request-context.d.ts +40 -0
  1915. package/lib/view/abstract/sortable-view.d.ts +19 -0
  1916. package/lib/view/abstract/view-with-headers.d.ts +13 -0
  1917. package/lib/view/case-view/abstract-case-view.d.ts +25 -0
  1918. package/lib/view/case-view/components/case-list/abstract-case-list.component.d.ts +35 -0
  1919. package/lib/view/case-view/models/case-page-load-request-result.d.ts +14 -0
  1920. package/lib/view/case-view/models/case-view-params.d.ts +3 -0
  1921. package/lib/view/case-view/models/new-case-configuration-injection-token.d.ts +7 -0
  1922. package/lib/view/case-view/models/new-case-configuration.d.ts +9 -0
  1923. package/lib/view/case-view/service/case-view-service.d.ts +73 -0
  1924. package/lib/view/case-view/tabbed-case-view.d.ts +26 -0
  1925. package/lib/view/public-api.d.ts +35 -0
  1926. package/lib/view/task-view/abstract-task-view.d.ts +12 -0
  1927. package/lib/view/task-view/models/injected-tabbed-task-view-data.d.ts +12 -0
  1928. package/lib/view/task-view/models/injection-token-task-endpoint.d.ts +6 -0
  1929. package/lib/view/task-view/models/task-endpoint.d.ts +7 -0
  1930. package/lib/view/task-view/models/task-page-load-request-result.d.ts +14 -0
  1931. package/lib/view/task-view/models/task-view-configuration-injection-token.d.ts +13 -0
  1932. package/lib/view/task-view/models/task-view-configuration.d.ts +19 -0
  1933. package/lib/view/task-view/models/task-view-params.d.ts +3 -0
  1934. package/lib/view/task-view/service/task-view.service.d.ts +68 -0
  1935. package/lib/view/task-view/tabbed-task-view.d.ts +11 -0
  1936. package/lib/view/tree-case-view/model/tree-petriflow-identifiers.d.ts +41 -0
  1937. package/lib/view/tree-case-view/tree-case-view.service.d.ts +9 -0
  1938. package/lib/view/tree-case-view/tree-component/abstract-tree.component.d.ts +99 -0
  1939. package/lib/view/tree-case-view/tree-component/add-child-node/abstract-add-child-node.component.d.ts +8 -0
  1940. package/lib/view/tree-case-view/tree-component/case-tree.service.d.ts +300 -0
  1941. package/lib/view/tree-case-view/tree-component/model/case-tree-node.d.ts +57 -0
  1942. package/lib/view/tree-case-view/tree-component/model/case-tree-path.d.ts +8 -0
  1943. package/lib/view/tree-case-view/tree-component/model/expansion-tree.d.ts +6 -0
  1944. package/lib/view/tree-case-view/tree-component/remove-node/abstract-remove-node.component.d.ts +8 -0
  1945. package/lib/view/tree-case-view/tree-task-content/abstract-tree-task-content.component.d.ts +32 -0
  1946. package/lib/view/tree-case-view/tree-task-content/tree-task-content.service.d.ts +112 -0
  1947. package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +30 -0
  1948. package/lib/view/workflow-view/models/injection-token-workflow-service.d.ts +10 -0
  1949. package/lib/view/workflow-view/workflow-view.service.d.ts +52 -0
  1950. package/netgrif-components-core.d.ts +25 -0
  1951. package/netgrif-components-core.metadata.json +1 -0
  1952. package/package.json +79 -0
  1953. package/public-api.d.ts +39 -0
  1954. package/schematics/_commons/angular-cli-devkit-core-strings.d.ts +93 -0
  1955. package/schematics/_commons/angular-cli-devkit-core-strings.js +167 -0
  1956. package/schematics/_commons/angular-cli-devkit-core-strings.js.map +1 -0
  1957. package/schematics/_commons/import-to-add.d.ts +5 -0
  1958. package/schematics/_commons/import-to-add.js +11 -0
  1959. package/schematics/_commons/import-to-add.js.map +1 -0
  1960. package/schematics/_commons/view-class-info.d.ts +22 -0
  1961. package/schematics/_commons/view-class-info.js +58 -0
  1962. package/schematics/_commons/view-class-info.js.map +1 -0
  1963. package/schematics/_utility/models/file-data.d.ts +6 -0
  1964. package/schematics/_utility/models/file-data.js +3 -0
  1965. package/schematics/_utility/models/file-data.js.map +1 -0
  1966. package/schematics/_utility/models/file-system-node.d.ts +6 -0
  1967. package/schematics/_utility/models/file-system-node.js +12 -0
  1968. package/schematics/_utility/models/file-system-node.js.map +1 -0
  1969. package/schematics/_utility/models/project-info.d.ts +13 -0
  1970. package/schematics/_utility/models/project-info.js +20 -0
  1971. package/schematics/_utility/models/project-info.js.map +1 -0
  1972. package/schematics/_utility/modified-library-functions.d.ts +24 -0
  1973. package/schematics/_utility/modified-library-functions.js +150 -0
  1974. package/schematics/_utility/modified-library-functions.js.map +1 -0
  1975. package/schematics/_utility/utility-functions.d.ts +60 -0
  1976. package/schematics/_utility/utility-functions.js +221 -0
  1977. package/schematics/_utility/utility-functions.js.map +1 -0
  1978. package/schematics/add/add/index.d.ts +2 -0
  1979. package/schematics/add/add/index.js +27 -0
  1980. package/schematics/add/add/index.js.map +1 -0
  1981. package/schematics/add/create-nae-files/files/app-routing.module.ts.template +13 -0
  1982. package/schematics/add/create-nae-files/index.d.ts +2 -0
  1983. package/schematics/add/create-nae-files/index.js +154 -0
  1984. package/schematics/add/create-nae-files/index.js.map +1 -0
  1985. package/schematics/add/create-nae-files/schema.json +7 -0
  1986. package/schematics/collection.json +30 -0
  1987. package/schematics/configuration-service/files/__project@dasherize__-configuration.service.ts.template +13 -0
  1988. package/schematics/configuration-service/schema.json +7 -0
  1989. package/schematics/configuration-service/schematic-create-configuration-service.d.ts +2 -0
  1990. package/schematics/configuration-service/schematic-create-configuration-service.js +41 -0
  1991. package/schematics/configuration-service/schematic-create-configuration-service.js.map +1 -0
  1992. package/schematics/migrations/4.1/migration-4.1.d.ts +5 -0
  1993. package/schematics/migrations/4.1/migration-4.1.js +37 -0
  1994. package/schematics/migrations/4.1/migration-4.1.js.map +1 -0
  1995. package/schematics/migrations.json +10 -0
  1996. package/schematics/view/_utility/view-service-functions.d.ts +9 -0
  1997. package/schematics/view/_utility/view-service-functions.js +59 -0
  1998. package/schematics/view/_utility/view-service-functions.js.map +1 -0
  1999. package/schematics/view/_utility/view-utility-functions.d.ts +7 -0
  2000. package/schematics/view/_utility/view-utility-functions.js +53 -0
  2001. package/schematics/view/_utility/view-utility-functions.js.map +1 -0
  2002. package/schematics/view-service/files/__project@dasherize__-view.service.ts.template +14 -0
  2003. package/schematics/view-service/schema.json +7 -0
  2004. package/schematics/view-service/schematic-create-view-service.d.ts +2 -0
  2005. package/schematics/view-service/schematic-create-view-service.js +25 -0
  2006. package/schematics/view-service/schematic-create-view-service.js.map +1 -0
  2007. package/src/assets/i18n/de.json +419 -0
  2008. package/src/assets/i18n/en.json +419 -0
  2009. package/src/assets/i18n/sk.json +419 -0
  2010. package/src/schema/nae-schema.json +770 -0
@@ -0,0 +1,597 @@
1
+ import { __extends, __values } from "tslib";
2
+ import { Inject, Injectable, Optional } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { TaskContentService } from '../../task-content/services/task-content.service';
5
+ import { TaskRequestStateService } from './task-request-state.service';
6
+ import { TranslateService } from '@ngx-translate/core';
7
+ import { LoggerService } from '../../logger/services/logger.service';
8
+ import { SnackBarService } from '../../snack-bar/services/snack-bar.service';
9
+ import { TaskResourceService } from '../../resources/engine-endpoint/task-resource.service';
10
+ import { FieldConverterService } from '../../task-content/services/field-converter.service';
11
+ import { TaskHandlingService } from './task-handling-service';
12
+ import { NAE_TASK_OPERATIONS } from '../models/task-operations-injection-token';
13
+ import { FileField } from '../../data-fields/file-field/models/file-field';
14
+ import { SelectedCaseService } from './selected-case.service';
15
+ import { FileListField } from '../../data-fields/file-list-field/models/file-list-field';
16
+ import { createTaskEventNotification } from '../../task-content/model/task-event-notification';
17
+ import { TaskEvent } from '../../task-content/model/task-event';
18
+ import { TaskEventService } from '../../task-content/services/task-event.service';
19
+ import { CallChainService } from '../../utility/call-chain/call-chain.service';
20
+ import { take } from 'rxjs/operators';
21
+ import { DynamicEnumerationField } from '../../data-fields/enumeration-field/models/dynamic-enumeration-field';
22
+ import { EventQueueService } from '../../event-queue/services/event-queue.service';
23
+ import { QueuedEvent } from '../../event-queue/model/queued-event';
24
+ import { AfterAction } from '../../utility/call-chain/after-action';
25
+ import { UserComparatorService } from '../../user/services/user-comparator.service';
26
+ import { EventService } from '../../event/services/event.service';
27
+ import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
28
+ /**
29
+ * Handles the loading and updating of data fields and behaviour of
30
+ * a single Task object managed by a {@link TaskContentService} instance.
31
+ */
32
+ var TaskDataService = /** @class */ (function (_super) {
33
+ __extends(TaskDataService, _super);
34
+ function TaskDataService(_taskState, _translate, _log, _snackBar, _taskResourceService, _fieldConverterService, _taskEvent, _taskOperations, _selectedCaseService, _taskContentService, _afterActionFactory, _eventQueue, _userComparator, _eventService, _changedFieldsService) {
35
+ var _this = _super.call(this, _taskContentService, _selectedCaseService) || this;
36
+ _this._taskState = _taskState;
37
+ _this._translate = _translate;
38
+ _this._log = _log;
39
+ _this._snackBar = _snackBar;
40
+ _this._taskResourceService = _taskResourceService;
41
+ _this._fieldConverterService = _fieldConverterService;
42
+ _this._taskEvent = _taskEvent;
43
+ _this._taskOperations = _taskOperations;
44
+ _this._afterActionFactory = _afterActionFactory;
45
+ _this._eventQueue = _eventQueue;
46
+ _this._userComparator = _userComparator;
47
+ _this._eventService = _eventService;
48
+ _this._changedFieldsService = _changedFieldsService;
49
+ _this._updateSuccess$ = new Subject();
50
+ _this._dataReloadSubscription = _this._taskContentService.taskDataReloadRequest$.subscribe(function (queuedFrontendAction) {
51
+ _this.initializeTaskDataFields(_this._afterActionFactory.create(function (success) {
52
+ if (success && queuedFrontendAction) {
53
+ _this._taskContentService.performFrontendAction(queuedFrontendAction);
54
+ }
55
+ }), true);
56
+ });
57
+ return _this;
58
+ }
59
+ TaskDataService.prototype.ngOnDestroy = function () {
60
+ this._updateSuccess$.complete();
61
+ this._dataReloadSubscription.unsubscribe();
62
+ if (this.isTaskPresent() && this._safeTask.dataGroups) {
63
+ this._safeTask.dataGroups.forEach(function (group) {
64
+ if (group && group.fields) {
65
+ group.fields.forEach(function (field) { return field.destroy(); });
66
+ }
67
+ });
68
+ }
69
+ };
70
+ Object.defineProperty(TaskDataService.prototype, "updateSuccess$", {
71
+ /**
72
+ * Contains information about the success or failure of backend
73
+ * calls in [updateTaskDataFields]{@link TaskDataService#updateTaskDataFields} method.
74
+ */
75
+ get: function () {
76
+ return this._updateSuccess$.asObservable();
77
+ },
78
+ enumerable: false,
79
+ configurable: true
80
+ });
81
+ /**
82
+ * Loads the Data Fields of an uninitialized Task from backend
83
+ * and populates the Task managed by {@link TaskContentService} with the appropriate objects.
84
+ *
85
+ * Beware that if the Task has some data already loaded this function does nothing
86
+ * and only passes `true` to the `afterAction` argument.
87
+ *
88
+ * If the task held within the {@link TaskContentService} changes before a response is received, the response will be ignored
89
+ * and the `afterAction` will not be executed.
90
+ *
91
+ * @param afterAction if the request completes successfully emits `true` into the Subject, otherwise `false` will be emitted
92
+ * @param force set to `true` if you need force reload of all task data
93
+ */
94
+ TaskDataService.prototype.initializeTaskDataFields = function (afterAction, force) {
95
+ var _this = this;
96
+ if (afterAction === void 0) { afterAction = new AfterAction(); }
97
+ if (force === void 0) { force = false; }
98
+ this._eventQueue.scheduleEvent(new QueuedEvent(function () {
99
+ return _this.isTaskPresent();
100
+ }, function (nextEvent) {
101
+ _this.performGetDataRequest(afterAction, force, nextEvent);
102
+ }, function (nextEvent) {
103
+ afterAction.resolve(false);
104
+ nextEvent.resolve(false);
105
+ }));
106
+ };
107
+ /**
108
+ * Performs a `getData` request on the task currently stored in the `taskContent` service
109
+ * @param afterAction the action that should be performed after the request is processed
110
+ * @param force set to `true` if you need force reload of all task data
111
+ * @param nextEvent indicates to the event queue that the next event can be processed
112
+ */
113
+ TaskDataService.prototype.performGetDataRequest = function (afterAction, force, nextEvent) {
114
+ var _this = this;
115
+ if (this._safeTask.dataSize > 0 && !force) {
116
+ this.sendNotification(TaskEvent.GET_DATA, true);
117
+ afterAction.resolve(true);
118
+ this._taskContentService.$shouldCreate.next(this._safeTask.dataGroups);
119
+ nextEvent.resolve(true);
120
+ return;
121
+ }
122
+ if (force) {
123
+ this._safeTask.dataSize = 0;
124
+ }
125
+ var gottenTaskId = this._safeTask.stringId;
126
+ this._taskState.startLoading(gottenTaskId);
127
+ this._taskResourceService.getData(gottenTaskId).pipe(take(1)).subscribe(function (dataGroups) {
128
+ _this.processSuccessfulGetDataRequest(gottenTaskId, dataGroups, afterAction, nextEvent);
129
+ }, function (error) {
130
+ _this.processErroneousGetDataRequest(gottenTaskId, error, afterAction, nextEvent);
131
+ });
132
+ };
133
+ /**
134
+ * Processes a successful outcome of a `getData` request
135
+ * @param gottenTaskId the Id of the task whose data was requested
136
+ * @param dataGroups the returned data groups of the task
137
+ * @param afterAction the action that should be performed after the request is processed
138
+ * @param nextEvent indicates to the event queue that the next event can be processed
139
+ */
140
+ TaskDataService.prototype.processSuccessfulGetDataRequest = function (gottenTaskId, dataGroups, afterAction, nextEvent) {
141
+ var _this = this;
142
+ if (!this.isTaskRelevant(gottenTaskId)) {
143
+ this._log.debug('current task changed before the get data response could be received, discarding...');
144
+ this._taskState.stopLoading(gottenTaskId);
145
+ afterAction.complete();
146
+ nextEvent.resolve(false);
147
+ return;
148
+ }
149
+ this._taskContentService.referencedTaskAndCaseIds = {};
150
+ this._taskContentService.taskFieldsIndex = {};
151
+ this._safeTask.dataGroups = dataGroups;
152
+ if (dataGroups.length === 0) {
153
+ this._log.info('Task has no data ' + this._safeTask);
154
+ this._safeTask.dataSize = 0;
155
+ }
156
+ else {
157
+ this._taskContentService.referencedTaskAndCaseIds[this._safeTask.caseId] = [this._safeTask.stringId];
158
+ dataGroups.forEach(function (group) {
159
+ var dataGroupParentCaseId = group.parentCaseId === undefined ? _this._safeTask.caseId : group.parentCaseId;
160
+ var parentTaskId = group.parentTaskId === undefined ? _this._safeTask.stringId : group.parentTaskId;
161
+ if (dataGroupParentCaseId !== _this._safeTask.caseId) {
162
+ if (!_this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId]) {
163
+ _this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId] = [group.parentTaskId];
164
+ }
165
+ else {
166
+ _this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId].push(group.parentTaskId);
167
+ }
168
+ }
169
+ else if (dataGroupParentCaseId === _this._safeTask.caseId
170
+ && parentTaskId !== _this._safeTask.stringId
171
+ && !_this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId].includes(parentTaskId)) {
172
+ _this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId].push(group.parentTaskId);
173
+ }
174
+ if (group.fields.length > 0 && !_this._taskContentService.taskFieldsIndex[parentTaskId]) {
175
+ _this._taskContentService.taskFieldsIndex[parentTaskId] = {};
176
+ }
177
+ group.fields.forEach(function (field) {
178
+ _this._taskContentService.taskFieldsIndex[parentTaskId][field.stringId] = field;
179
+ field.valueChanges().subscribe(function () {
180
+ if (_this.wasFieldUpdated(field)) {
181
+ if (field instanceof DynamicEnumerationField) {
182
+ field.loading = true;
183
+ _this.updateTaskDataFields(_this._afterActionFactory.create(function (bool) {
184
+ field.loading = false;
185
+ }));
186
+ }
187
+ else {
188
+ _this.updateTaskDataFields();
189
+ }
190
+ }
191
+ });
192
+ if (field instanceof FileField || field instanceof FileListField) {
193
+ field.changedFields$.subscribe(function (change) {
194
+ _this._changedFieldsService.emitChangedFields(change);
195
+ });
196
+ }
197
+ });
198
+ _this._safeTask.dataSize === undefined ?
199
+ _this._safeTask.dataSize = group.fields.length :
200
+ _this._safeTask.dataSize += group.fields.length;
201
+ });
202
+ }
203
+ this._taskState.stopLoading(gottenTaskId);
204
+ this.sendNotification(TaskEvent.GET_DATA, true);
205
+ afterAction.resolve(true);
206
+ nextEvent.resolve(true);
207
+ this._taskContentService.$shouldCreate.next(this._safeTask.dataGroups);
208
+ this._taskContentService.$shouldCreateCounter.next(this._taskContentService.$shouldCreateCounter.getValue() + 1);
209
+ };
210
+ /**
211
+ * Processes an erroneous outcome of a `getData` request
212
+ * @param gottenTaskId the Id of the task whose data was requested
213
+ * @param error the returned error
214
+ * @param afterAction the action that should be performed after the request is processed
215
+ * @param nextEvent indicates to the event queue that the next event can be processed
216
+ */
217
+ TaskDataService.prototype.processErroneousGetDataRequest = function (gottenTaskId, error, afterAction, nextEvent) {
218
+ this._taskState.stopLoading(gottenTaskId);
219
+ this._log.debug('getting task data failed', error);
220
+ if (!this.isTaskRelevant(gottenTaskId)) {
221
+ this._log.debug('current task changed before the get data error could be received');
222
+ afterAction.complete();
223
+ nextEvent.resolve(false);
224
+ return;
225
+ }
226
+ if (error.status === 500 && error.error.message && error.error.message.startsWith('Could not find task with id')) {
227
+ this._snackBar.openWarningSnackBar(this._translate.instant('tasks.snackbar.noLongerExists'));
228
+ this._taskOperations.reload();
229
+ }
230
+ else {
231
+ this._snackBar.openErrorSnackBar(this._translate.instant('tasks.snackbar.noGroup') + "\n " + this._taskContentService.task.title + " " + this._translate.instant('tasks.snackbar.failedToLoad'));
232
+ }
233
+ this.sendNotification(TaskEvent.GET_DATA, false);
234
+ afterAction.resolve(false);
235
+ nextEvent.resolve(false);
236
+ };
237
+ /**
238
+ * Collects all changed data fields and notifies the backend of the changes.
239
+ *
240
+ * If the request is successful clears the [changed]{@link DataField#changed} flag on all data fields that were a part of the request
241
+ * and emits a {@link ChangedFields} object into this object's [changedFields$]{@link TaskDataService#changedFields$} stream.
242
+ *
243
+ * If the task held within the {@link TaskContentService} changes before a response is received, the response will be ignored
244
+ * and the `afterAction` will not be executed.
245
+ *
246
+ * @param afterAction if the request completes successfully emits `true` into the Subject, otherwise `false` will be emitted
247
+ */
248
+ TaskDataService.prototype.updateTaskDataFields = function (afterAction) {
249
+ var _this = this;
250
+ if (afterAction === void 0) { afterAction = new AfterAction(); }
251
+ if (!this.isTaskPresent()) {
252
+ this._log.debug('Task is not present. Update request ignored.');
253
+ afterAction.resolve(false);
254
+ return;
255
+ }
256
+ if (this._safeTask.user === undefined) {
257
+ this._log.debug('current task is not assigned...');
258
+ afterAction.resolve(false);
259
+ return;
260
+ }
261
+ var setTaskId = this._safeTask.stringId;
262
+ if (this._safeTask.dataSize <= 0) {
263
+ afterAction.resolve(true);
264
+ return;
265
+ }
266
+ var requestContext = this.createUpdateRequestContext();
267
+ this._eventQueue.scheduleEvent(new QueuedEvent(function () { return _this.isSetDataRequestStillValid(requestContext.body); }, function (nextEvent) {
268
+ _this.performSetDataRequest(setTaskId, requestContext.body, afterAction, nextEvent);
269
+ }, function (nextEvent) {
270
+ _this.revertSetDataRequest(requestContext);
271
+ nextEvent.resolve(false);
272
+ }));
273
+ };
274
+ /**
275
+ * @ignore
276
+ * Goes over all the data fields in the managed Task and if they are valid and changed adds them to the set data request
277
+ */
278
+ TaskDataService.prototype.createUpdateRequestContext = function () {
279
+ var _this = this;
280
+ var context = {
281
+ body: {},
282
+ previousValues: {}
283
+ };
284
+ context.body[this._task.stringId] = {};
285
+ this._safeTask.dataGroups.filter(function (dataGroup) { return dataGroup.parentTaskId === undefined; }).forEach(function (dataGroup) {
286
+ dataGroup.fields.filter(function (field) { return _this.wasFieldUpdated(field); }).forEach(function (field) {
287
+ _this.addFieldToSetDataRequestBody(context, _this._task.stringId, field);
288
+ });
289
+ });
290
+ this._safeTask.dataGroups.filter(function (dataGroup) { return dataGroup.parentTaskId !== undefined; }).forEach(function (dataGroup) {
291
+ if (dataGroup.fields.some(function (field) { return _this.wasFieldUpdated(field); })) {
292
+ context.body[dataGroup.parentTaskId] = {};
293
+ }
294
+ else {
295
+ return;
296
+ }
297
+ dataGroup.fields.filter(function (field) { return _this.wasFieldUpdated(field); }).forEach(function (field) {
298
+ _this.addFieldToSetDataRequestBody(context, dataGroup.parentTaskId, field);
299
+ });
300
+ });
301
+ return context;
302
+ };
303
+ TaskDataService.prototype.addFieldToSetDataRequestBody = function (context, taskId, field) {
304
+ context.body[taskId][field.stringId] = {
305
+ type: this._fieldConverterService.resolveType(field),
306
+ value: this._fieldConverterService.formatValueForBackend(field, field.value)
307
+ };
308
+ context.previousValues[field.stringId] = field.previousValue;
309
+ field.changed = false;
310
+ };
311
+ /**
312
+ * @param field the checked field
313
+ * @returns whether the field was updated on frontend and thus the backend should be notified
314
+ */
315
+ TaskDataService.prototype.wasFieldUpdated = function (field) {
316
+ return field.initialized && field.changed && (field.valid || field.sendInvalidValues);
317
+ };
318
+ /**
319
+ * Checks whether the request could still be performed by the logged user
320
+ * @param request
321
+ */
322
+ TaskDataService.prototype.isSetDataRequestStillValid = function (request) {
323
+ var e_1, _a, e_2, _b;
324
+ if (!this.isTaskPresent()) {
325
+ return false;
326
+ }
327
+ if (this._safeTask.user === undefined) {
328
+ return false;
329
+ }
330
+ if (!this._userComparator.compareUsers(this._safeTask.user)) {
331
+ return false;
332
+ }
333
+ var taskIdsInRequest = Object.keys(request);
334
+ try {
335
+ for (var taskIdsInRequest_1 = __values(taskIdsInRequest), taskIdsInRequest_1_1 = taskIdsInRequest_1.next(); !taskIdsInRequest_1_1.done; taskIdsInRequest_1_1 = taskIdsInRequest_1.next()) {
336
+ var taskId = taskIdsInRequest_1_1.value;
337
+ if (!Object.keys(this._taskContentService.taskFieldsIndex).includes(taskId)) {
338
+ this._log.error("Task id " + taskId + " is not present in task fields index");
339
+ return false;
340
+ }
341
+ var fieldIdsOfRequest = Object.keys(request[taskId]);
342
+ try {
343
+ for (var fieldIdsOfRequest_1 = (e_2 = void 0, __values(fieldIdsOfRequest)), fieldIdsOfRequest_1_1 = fieldIdsOfRequest_1.next(); !fieldIdsOfRequest_1_1.done; fieldIdsOfRequest_1_1 = fieldIdsOfRequest_1.next()) {
344
+ var fieldId = fieldIdsOfRequest_1_1.value;
345
+ var field = this._taskContentService.taskFieldsIndex[taskId][fieldId];
346
+ if (field === undefined) {
347
+ this._log.error("Unexpected state. Datafield " + fieldId + " of task " + taskId + " in setData request is not present in the task.");
348
+ return false;
349
+ }
350
+ if (!field.behavior.editable) {
351
+ this._log.debug("Field " + fieldId + ", was meant to be set to\n " + JSON.stringify(request[taskId][fieldId]) + ", but is no loner editable.");
352
+ return false;
353
+ }
354
+ }
355
+ }
356
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
357
+ finally {
358
+ try {
359
+ if (fieldIdsOfRequest_1_1 && !fieldIdsOfRequest_1_1.done && (_b = fieldIdsOfRequest_1.return)) _b.call(fieldIdsOfRequest_1);
360
+ }
361
+ finally { if (e_2) throw e_2.error; }
362
+ }
363
+ }
364
+ }
365
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
366
+ finally {
367
+ try {
368
+ if (taskIdsInRequest_1_1 && !taskIdsInRequest_1_1.done && (_a = taskIdsInRequest_1.return)) _a.call(taskIdsInRequest_1);
369
+ }
370
+ finally { if (e_1) throw e_1.error; }
371
+ }
372
+ return true;
373
+ };
374
+ /**
375
+ * Performs a `setData` request on the task currently stored in the `taskContent` service
376
+ * @param setTaskId id of the task
377
+ * @param body content of the `setData` request
378
+ * @param afterAction the action that should be performed after the request is processed
379
+ * @param nextEvent indicates to the event queue that the next event can be processed
380
+ */
381
+ TaskDataService.prototype.performSetDataRequest = function (setTaskId, body, afterAction, nextEvent) {
382
+ var _this = this;
383
+ if (Object.keys(body).length === 0) {
384
+ this.sendNotification(TaskEvent.SET_DATA, true);
385
+ afterAction.resolve(true);
386
+ nextEvent.resolve(true);
387
+ return;
388
+ }
389
+ this._taskState.startLoading(setTaskId);
390
+ this._taskState.startUpdating(setTaskId);
391
+ this._taskResourceService.setData(this._safeTask.stringId, body).pipe(take(1))
392
+ .subscribe(function (response) {
393
+ _this.processSuccessfulSetDataRequest(setTaskId, response.outcome, afterAction, nextEvent, body);
394
+ }, function (error) {
395
+ _this.processErroneousSetDataRequest(setTaskId, error, afterAction, nextEvent, body);
396
+ });
397
+ };
398
+ /**
399
+ * Processes a successful outcome of a `setData` request
400
+ * @param setTaskId the Id of the task whose data was set
401
+ * @param response the resulting Event outcome of the set data request
402
+ * @param afterAction the action that should be performed after the request is processed
403
+ * @param nextEvent indicates to the event queue that the next event can be processed
404
+ * @param body hold the data that was sent in request
405
+ */
406
+ TaskDataService.prototype.processSuccessfulSetDataRequest = function (setTaskId, response, afterAction, nextEvent, body) {
407
+ if (!this.isTaskRelevant(setTaskId)) {
408
+ this._log.debug('current task changed before the set data response could be received, discarding...');
409
+ this._taskState.stopLoading(setTaskId);
410
+ this._taskState.stopUpdating(setTaskId);
411
+ afterAction.complete();
412
+ nextEvent.resolve(false);
413
+ return;
414
+ }
415
+ var changedFieldsMap = this._eventService.parseChangedFieldsFromOutcomeTree(response);
416
+ if (Object.keys(changedFieldsMap).length > 0) {
417
+ this._changedFieldsService.emitChangedFields(changedFieldsMap);
418
+ }
419
+ this.clearWaitingForResponseFlag(body);
420
+ this._snackBar.openSuccessSnackBar(!!response.message ? response.message : this._translate.instant('tasks.snackbar.dataSaved'));
421
+ this.updateStateInfo(afterAction, true, setTaskId);
422
+ nextEvent.resolve(true);
423
+ };
424
+ /**
425
+ * Processes an erroneous outcome of a `setData` request
426
+ * @param setTaskId the Id of the task whose data was set
427
+ * @param error the returned error
428
+ * @param afterAction the action that should be performed after the request is processed
429
+ * @param nextEvent indicates to the event queue that the next event can be processed
430
+ * @param body hold the data that was sent in request
431
+ */
432
+ TaskDataService.prototype.processErroneousSetDataRequest = function (setTaskId, error, afterAction, nextEvent, body) {
433
+ this._log.debug('setting task data failed', error);
434
+ if (!this.isTaskRelevant(setTaskId)) {
435
+ this._log.debug('current task changed before the get data error could be received');
436
+ this._taskState.stopLoading(setTaskId);
437
+ this._taskState.stopUpdating(setTaskId);
438
+ afterAction.complete();
439
+ nextEvent.resolve(false);
440
+ return;
441
+ }
442
+ this.revertToPreviousValue();
443
+ this.clearWaitingForResponseFlag(body);
444
+ this._snackBar.openErrorSnackBar(this._translate.instant('tasks.snackbar.failedSave'));
445
+ this.updateStateInfo(afterAction, false, setTaskId);
446
+ nextEvent.resolve(false);
447
+ this._taskOperations.reload();
448
+ };
449
+ /**
450
+ * Reverts the effects of a failed `setData` request, so that the user sees current values.
451
+ * @param context the context of the failed request
452
+ */
453
+ TaskDataService.prototype.revertSetDataRequest = function (context) {
454
+ var e_3, _a, e_4, _b;
455
+ // this iteration could be improved if we had a map of all the data fields in a task
456
+ var totalCount = Object.keys(context.body).length;
457
+ var foundCount = 0;
458
+ try {
459
+ for (var _c = __values(this._safeTask.dataGroups), _d = _c.next(); !_d.done; _d = _c.next()) {
460
+ var datagroup = _d.value;
461
+ try {
462
+ for (var _e = (e_4 = void 0, __values(datagroup.fields)), _f = _e.next(); !_f.done; _f = _e.next()) {
463
+ var field = _f.value;
464
+ if (!context.body[field.stringId]) {
465
+ continue;
466
+ }
467
+ if (this.compareBackendFormattedFieldValues(this._fieldConverterService.formatValueForBackend(field, field.value), context.body[field.stringId].value)) {
468
+ field.valueWithoutChange(context.previousValues[field.stringId]);
469
+ }
470
+ foundCount++;
471
+ if (foundCount === totalCount) {
472
+ return;
473
+ }
474
+ }
475
+ }
476
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
477
+ finally {
478
+ try {
479
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
480
+ }
481
+ finally { if (e_4) throw e_4.error; }
482
+ }
483
+ }
484
+ }
485
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
486
+ finally {
487
+ try {
488
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
489
+ }
490
+ finally { if (e_3) throw e_3.error; }
491
+ }
492
+ this._log.error("Invalid state. Some data fields of task " + this._safeTask.stringId + ", are no longer present in it!");
493
+ };
494
+ /**
495
+ * Compares the values that are in the backend compatible format as given by the {@link FieldConverterService}
496
+ * and determines whether they are the same value, or not.
497
+ * @param current the current value (can also be called `value1` or `left`)
498
+ * @param old the new value (can also be called `value2` or `right`)
499
+ * @returns `true` if the values are the same and `false` otherwise
500
+ */
501
+ TaskDataService.prototype.compareBackendFormattedFieldValues = function (current, old) {
502
+ if (Array.isArray(current)) {
503
+ if (!Array.isArray(old)) {
504
+ throw new Error('Illegal arguments! Cannot compare array value to non-array value');
505
+ }
506
+ if (current.length !== old.length) {
507
+ return false;
508
+ }
509
+ return current.every(function (value, index) { return old[index] === value; });
510
+ }
511
+ return current === old;
512
+ };
513
+ /**
514
+ * @ignore
515
+ *
516
+ * stops loading and updating indicators, and emits the `result` value
517
+ * to both the `afterAction` and [_updateSuccess$]{@link TaskDataService#_updateSuccess$} streams.
518
+ *
519
+ * @param afterAction the call chain steam of the update data method
520
+ * @param result result of the update data request
521
+ * @param setTaskId the Id of the {@link Task}, who's state should be updated
522
+ */
523
+ TaskDataService.prototype.updateStateInfo = function (afterAction, result, setTaskId) {
524
+ this._taskState.stopLoading(setTaskId);
525
+ this._taskState.stopUpdating(setTaskId);
526
+ if (this._updateSuccess$.observers.length !== 0) {
527
+ this._updateSuccess$.next(result);
528
+ }
529
+ this.sendNotification(TaskEvent.SET_DATA, result);
530
+ afterAction.resolve(result);
531
+ };
532
+ /**
533
+ * Publishes a get/set data notification to the {@link TaskEventService}
534
+ * @param event the event that occurred to the task
535
+ * @param success whether the get/set data operation was successful or not
536
+ */
537
+ TaskDataService.prototype.sendNotification = function (event, success) {
538
+ this._taskEvent.publishTaskEvent(createTaskEventNotification(this._safeTask, event, success));
539
+ };
540
+ TaskDataService.prototype.revertToPreviousValue = function () {
541
+ this._safeTask.dataGroups.forEach(function (dataGroup) {
542
+ dataGroup.fields.forEach(function (field) {
543
+ if (field.initialized && field.valid && field.changed) {
544
+ field.revertToPreviousValue();
545
+ }
546
+ });
547
+ });
548
+ };
549
+ TaskDataService.prototype.clearWaitingForResponseFlag = function (body) {
550
+ var _this = this;
551
+ Object.keys(body).forEach(function (taskId) {
552
+ Object.keys(body[taskId]).forEach(function (fieldId) {
553
+ _this._taskContentService.taskFieldsIndex[taskId][fieldId].waitingForResponse = false;
554
+ });
555
+ });
556
+ };
557
+ TaskDataService.ctorParameters = function () { return [
558
+ { type: TaskRequestStateService },
559
+ { type: TranslateService },
560
+ { type: LoggerService },
561
+ { type: SnackBarService },
562
+ { type: TaskResourceService },
563
+ { type: FieldConverterService },
564
+ { type: TaskEventService },
565
+ { type: undefined, decorators: [{ type: Inject, args: [NAE_TASK_OPERATIONS,] }] },
566
+ { type: SelectedCaseService, decorators: [{ type: Optional }] },
567
+ { type: TaskContentService },
568
+ { type: CallChainService },
569
+ { type: EventQueueService },
570
+ { type: UserComparatorService },
571
+ { type: EventService },
572
+ { type: ChangedFieldsService }
573
+ ]; };
574
+ TaskDataService.decorators = [
575
+ { type: Injectable }
576
+ ];
577
+ TaskDataService.ctorParameters = function () { return [
578
+ { type: TaskRequestStateService },
579
+ { type: TranslateService },
580
+ { type: LoggerService },
581
+ { type: SnackBarService },
582
+ { type: TaskResourceService },
583
+ { type: FieldConverterService },
584
+ { type: TaskEventService },
585
+ { type: undefined, decorators: [{ type: Inject, args: [NAE_TASK_OPERATIONS,] }] },
586
+ { type: SelectedCaseService, decorators: [{ type: Optional }] },
587
+ { type: TaskContentService },
588
+ { type: CallChainService },
589
+ { type: EventQueueService },
590
+ { type: UserComparatorService },
591
+ { type: EventService },
592
+ { type: ChangedFieldsService }
593
+ ]; };
594
+ return TaskDataService;
595
+ }(TaskHandlingService));
596
+ export { TaskDataService };
597
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvdGFzay9zZXJ2aWNlcy90YXNrLWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBYSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUMxRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUUxRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUc5RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDekUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RCxPQUFPLEVB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Q0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDekYsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2dCQW5oQmlDLHVCQUF1QjtnQkFDdkIsZ0JBQWdCO2dCQUN0QixhQUFhO2dCQUNSLGVBQWU7Z0JBQ0osbUJBQW1CO2dCQUNqQixxQkFBcUI7Z0JBQ2pDLGdCQUFnQjtnREFDckMsTUFBTSxTQUFDLG1CQUFtQjtnQkFDTyxtQkFBbUIsdUJBQXBELFFBQVE7Z0JBQ1ksa0JBQWtCO2dCQUNSLGdCQUFnQjtnQkFDeEIsaUJBQWlCO2dCQUNiLHFCQUFxQjtnQkFDdkIsWUFBWTtnQkFDSixvQkFBb0I7OztnQkFwQnBFLFVBQVU7OztnQkFyQ0gsdUJBQXVCO2dCQUN2QixnQkFBZ0I7Z0JBQ2hCLGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZixtQkFBbUI7Z0JBQ25CLHFCQUFxQjtnQkFXckIsZ0JBQWdCO2dEQWtDUCxNQUFNLFNBQUMsbUJBQW1CO2dCQXRDbkMsbUJBQW1CLHVCQXVDVixRQUFRO2dCQXBEakIsa0JBQWtCO2dCQW1CbEIsZ0JBQWdCO2dCQUloQixpQkFBaUI7Z0JBR2pCLHFCQUFxQjtnQkFHckIsWUFBWTtnQkFFWixvQkFBb0I7O0lBaWlCNUIsc0JBQUM7Q0FBQSxBQTFoQkQsQ0FDcUMsbUJBQW1CLEdBeWhCdkQ7U0F6aEJZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NoYW5nZWRGaWVsZHN9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL21vZGVscy9jaGFuZ2VkLWZpZWxkcyc7XG5pbXBvcnQge1Rhc2tDb250ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7VGFza1JlcXVlc3RTdGF0ZVNlcnZpY2V9IGZyb20gJy4vdGFzay1yZXF1ZXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7U25hY2tCYXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zbmFjay1iYXIvc2VydmljZXMvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHtUYXNrUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L3Rhc2stcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge0ZpZWxkQ29udmVydGVyU2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL2ZpZWxkLWNvbnZlcnRlci5zZXJ2aWNlJztcbmltcG9ydCB7VGFza1NldERhdGFSZXF1ZXN0Qm9keX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS90YXNrLXNldC1kYXRhLXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge1Rhc2tIYW5kbGluZ1NlcnZpY2V9IGZyb20gJy4vdGFzay1oYW5kbGluZy1zZXJ2aWNlJztcbmltcG9ydCB7TkFFX1RBU0tfT1BFUkFUSU9OU30gZnJvbSAnLi4vbW9kZWxzL3Rhc2stb3BlcmF0aW9ucy1pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHtUYXNrT3BlcmF0aW9uc30gZnJvbSAnLi4vaW50ZXJmYWNlcy90YXNrLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtGaWxlRmllbGR9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL2ZpbGUtZmllbGQvbW9kZWxzL2ZpbGUtZmllbGQnO1xuaW1wb3J0IHtTZWxlY3RlZENhc2VTZXJ2aWNlfSBmcm9tICcuL3NlbGVjdGVkLWNhc2Uuc2VydmljZSc7XG5pbXBvcnQge0ZpbGVMaXN0RmllbGR9IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL2ZpbGUtbGlzdC1maWVsZC9tb2RlbHMvZmlsZS1saXN0LWZpZWxkJztcbmltcG9ydCB7Y3JlYXRlVGFza0V2ZW50Tm90aWZpY2F0aW9ufSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvbW9kZWwvdGFzay1ldmVudC1ub3RpZmljYXRpb24nO1xuaW1wb3J0IHtUYXNrRXZlbnR9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC90YXNrLWV2ZW50JztcbmltcG9ydCB7VGFza0V2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L3NlcnZpY2VzL3Rhc2stZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0RhdGFGaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvbW9kZWxzL2Fic3RyYWN0LWRhdGEtZmllbGQnO1xuaW1wb3J0IHtDYWxsQ2hhaW5TZXJ2aWNlfSBmcm9tICcuLi8uLi91dGlsaXR5L2NhbGwtY2hhaW4vY2FsbC1jaGFpbi5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEeW5hbWljRW51bWVyYXRpb25GaWVsZH0gZnJvbSAnLi4vLi4vZGF0YS1maWVsZHMvZW51bWVyYXRpb24tZmllbGQvbW9kZWxzL2R5bmFtaWMtZW51bWVyYXRpb24tZmllbGQnO1xuaW1wb3J0IHtEYXRhR3JvdXB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvZGF0YS1ncm91cHMnO1xuaW1wb3J0IHtFdmVudFF1ZXVlU2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQtcXVldWUvc2VydmljZXMvZXZlbnQtcXVldWUuc2VydmljZSc7XG5pbXBvcnQge1F1ZXVlZEV2ZW50fSBmcm9tICcuLi8uLi9ldmVudC1xdWV1ZS9tb2RlbC9xdWV1ZWQtZXZlbnQnO1xuaW1wb3J0IHtBZnRlckFjdGlvbn0gZnJvbSAnLi4vLi4vdXRpbGl0eS9jYWxsLWNoYWluL2FmdGVyLWFjdGlvbic7XG5pbXBvcnQge1VzZXJDb21wYXJhdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLWNvbXBhcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tTZXREYXRhUmVxdWVzdENvbnRleHR9IGZyb20gJy4uL21vZGVscy90YXNrLXNldC1kYXRhLXJlcXVlc3QtY29udGV4dCc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9ldmVudC9zZXJ2aWNlcy9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7RXZlbnRPdXRjb21lfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2V2ZW50LW91dGNvbWUnO1xuaW1wb3J0IHtDaGFuZ2VkRmllbGRzU2VydmljZX0gZnJvbSAnLi4vLi4vY2hhbmdlZC1maWVsZHMvc2VydmljZXMvY2hhbmdlZC1maWVsZHMuc2VydmljZSc7XG5pbXBvcnQge0NoYW5nZWRGaWVsZHNNYXB9IGZyb20gJy4uLy4uL2V2ZW50L3NlcnZpY2VzL2ludGVyZmFjZXMvY2hhbmdlZC1maWVsZHMtbWFwJztcblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBsb2FkaW5nIGFuZCB1cGRhdGluZyBvZiBkYXRhIGZpZWxkcyBhbmQgYmVoYXZpb3VyIG9mXG4gKiBhIHNpbmdsZSBUYXNrIG9iamVjdCBtYW5hZ2VkIGJ5IGEge0BsaW5rIFRhc2tDb250ZW50U2VydmljZX0gaW5zdGFuY2UuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYXNrRGF0YVNlcnZpY2UgZXh0ZW5kcyBUYXNrSGFuZGxpbmdTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHByb3RlY3RlZCBfdXBkYXRlU3VjY2VzcyQ6IFN1YmplY3Q8Ym9vbGVhbj47XG4gICAgcHJvdGVjdGVkIF9kYXRhUmVsb2FkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3Rhc2tTdGF0ZTogVGFza1JlcXVlc3RTdGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza1Jlc291cmNlU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ZpZWxkQ29udmVydGVyU2VydmljZTogRmllbGRDb252ZXJ0ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0V2ZW50OiBUYXNrRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTkFFX1RBU0tfT1BFUkFUSU9OUykgcHJvdGVjdGVkIF90YXNrT3BlcmF0aW9uczogVGFza09wZXJhdGlvbnMsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgX3NlbGVjdGVkQ2FzZVNlcnZpY2U6IFNlbGVjdGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgX3Rhc2tDb250ZW50U2VydmljZTogVGFza0NvbnRlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYWZ0ZXJBY3Rpb25GYWN0b3J5OiBDYWxsQ2hhaW5TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZXZlbnRRdWV1ZTogRXZlbnRRdWV1ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyQ29tcGFyYXRvcjogVXNlckNvbXBhcmF0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jaGFuZ2VkRmllbGRzU2VydmljZTogQ2hhbmdlZEZpZWxkc1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3Rhc2tDb250ZW50U2VydmljZSwgX3NlbGVjdGVkQ2FzZVNlcnZpY2UpO1xuICAgICAgICB0aGlzLl91cGRhdGVTdWNjZXNzJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgICAgIHRoaXMuX2RhdGFSZWxvYWRTdWJzY3JpcHRpb24gPSB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UudGFza0RhdGFSZWxvYWRSZXF1ZXN0JC5zdWJzY3JpYmUocXVldWVkRnJvbnRlbmRBY3Rpb24gPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplVGFza0RhdGFGaWVsZHModGhpcy5fYWZ0ZXJBY3Rpb25GYWN0b3J5LmNyZWF0ZShzdWNjZXNzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3VjY2VzcyAmJiBxdWV1ZWRGcm9udGVuZEFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UucGVyZm9ybUZyb250ZW5kQWN0aW9uKHF1ZXVlZEZyb250ZW5kQWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSwgdHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cGRhdGVTdWNjZXNzJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9kYXRhUmVsb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIGlmICh0aGlzLmlzVGFza1ByZXNlbnQoKSAmJiB0aGlzLl9zYWZlVGFzay5kYXRhR3JvdXBzKSB7XG4gICAgICAgICAgICB0aGlzLl9zYWZlVGFzay5kYXRhR3JvdXBzLmZvckVhY2goZ3JvdXAgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChncm91cCAmJiBncm91cC5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuZmllbGRzLmZvckVhY2goZmllbGQgPT4gZmllbGQuZGVzdHJveSgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgYmFja2VuZFxuICAgICAqIGNhbGxzIGluIFt1cGRhdGVUYXNrRGF0YUZpZWxkc117QGxpbmsgVGFza0RhdGFTZXJ2aWNlI3VwZGF0ZVRhc2tEYXRhRmllbGRzfSBtZXRob2QuXG4gICAgICovXG4gICAgcHVibGljIGdldCB1cGRhdGVTdWNjZXNzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwZGF0ZVN1Y2Nlc3MkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIHRoZSBEYXRhIEZpZWxkcyBvZiBhbiB1bmluaXRpYWxpemVkIFRhc2sgZnJvbSBiYWNrZW5kXG4gICAgICogYW5kIHBvcHVsYXRlcyB0aGUgVGFzayBtYW5hZ2VkIGJ5IHtAbGluayBUYXNrQ29udGVudFNlcnZpY2V9IHdpdGggdGhlIGFwcHJvcHJpYXRlIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBCZXdhcmUgdGhhdCBpZiB0aGUgVGFzayBoYXMgc29tZSBkYXRhIGFscmVhZHkgbG9hZGVkIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nXG4gICAgICogYW5kIG9ubHkgcGFzc2VzIGB0cnVlYCB0byB0aGUgYGFmdGVyQWN0aW9uYCBhcmd1bWVudC5cbiAgICAgKlxuICAgICAqIElmIHRoZSB0YXNrIGhlbGQgd2l0aGluIHRoZSB7QGxpbmsgVGFza0NvbnRlbnRTZXJ2aWNlfSBjaGFuZ2VzIGJlZm9yZSBhIHJlc3BvbnNlIGlzIHJlY2VpdmVkLCB0aGUgcmVzcG9uc2Ugd2lsbCBiZSBpZ25vcmVkXG4gICAgICogYW5kIHRoZSBgYWZ0ZXJBY3Rpb25gIHdpbGwgbm90IGJlIGV4ZWN1dGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIGlmIHRoZSByZXF1ZXN0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkgZW1pdHMgYHRydWVgIGludG8gdGhlIFN1YmplY3QsIG90aGVyd2lzZSBgZmFsc2VgIHdpbGwgYmUgZW1pdHRlZFxuICAgICAqIEBwYXJhbSBmb3JjZSBzZXQgdG8gYHRydWVgIGlmIHlvdSBuZWVkIGZvcmNlIHJlbG9hZCBvZiBhbGwgdGFzayBkYXRhXG4gICAgICovXG4gICAgcHVibGljIGluaXRpYWxpemVUYXNrRGF0YUZpZWxkcyhhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSwgZm9yY2UgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ldmVudFF1ZXVlLnNjaGVkdWxlRXZlbnQobmV3IFF1ZXVlZEV2ZW50KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVGFza1ByZXNlbnQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuZXh0RXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucGVyZm9ybUdldERhdGFSZXF1ZXN0KGFmdGVyQWN0aW9uLCBmb3JjZSwgbmV4dEV2ZW50KTtcbiAgICAgICAgICAgIH0sIG5leHRFdmVudCA9PiB7XG4gICAgICAgICAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBhIGBnZXREYXRhYCByZXF1ZXN0IG9uIHRoZSB0YXNrIGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGB0YXNrQ29udGVudGAgc2VydmljZVxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gZm9yY2Ugc2V0IHRvIGB0cnVlYCBpZiB5b3UgbmVlZCBmb3JjZSByZWxvYWQgb2YgYWxsIHRhc2sgZGF0YVxuICAgICAqIEBwYXJhbSBuZXh0RXZlbnQgaW5kaWNhdGVzIHRvIHRoZSBldmVudCBxdWV1ZSB0aGF0IHRoZSBuZXh0IGV2ZW50IGNhbiBiZSBwcm9jZXNzZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGVyZm9ybUdldERhdGFSZXF1ZXN0KGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbiwgZm9yY2U6IGJvb2xlYW4sIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24pIHtcbiAgICAgICAgaWYgKHRoaXMuX3NhZmVUYXNrLmRhdGFTaXplID4gMCAmJiAhZm9yY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2VuZE5vdGlmaWNhdGlvbihUYXNrRXZlbnQuR0VUX0RBVEEsIHRydWUpO1xuICAgICAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS4kc2hvdWxkQ3JlYXRlLm5leHQodGhpcy5fc2FmZVRhc2suZGF0YUdyb3Vwcyk7XG4gICAgICAgICAgICBuZXh0RXZlbnQucmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9yY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3NhZmVUYXNrLmRhdGFTaXplID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdvdHRlblRhc2tJZCA9IHRoaXMuX3NhZmVUYXNrLnN0cmluZ0lkO1xuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RhcnRMb2FkaW5nKGdvdHRlblRhc2tJZCk7XG5cbiAgICAgICAgdGhpcy5fdGFza1Jlc291cmNlU2VydmljZS5nZXREYXRhKGdvdHRlblRhc2tJZCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZGF0YUdyb3VwcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NTdWNjZXNzZnVsR2V0RGF0YVJlcXVlc3QoZ290dGVuVGFza0lkLCBkYXRhR3JvdXBzLCBhZnRlckFjdGlvbiwgbmV4dEV2ZW50KTtcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb25lb3VzR2V0RGF0YVJlcXVlc3QoZ290dGVuVGFza0lkLCBlcnJvciwgYWZ0ZXJBY3Rpb24sIG5leHRFdmVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhIHN1Y2Nlc3NmdWwgb3V0Y29tZSBvZiBhIGBnZXREYXRhYCByZXF1ZXN0XG4gICAgICogQHBhcmFtIGdvdHRlblRhc2tJZCB0aGUgSWQgb2YgdGhlIHRhc2sgd2hvc2UgZGF0YSB3YXMgcmVxdWVzdGVkXG4gICAgICogQHBhcmFtIGRhdGFHcm91cHMgdGhlIHJldHVybmVkIGRhdGEgZ3JvdXBzIG9mIHRoZSB0YXNrXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIHRoZSBhY3Rpb24gdGhhdCBzaG91bGQgYmUgcGVyZm9ybWVkIGFmdGVyIHRoZSByZXF1ZXN0IGlzIHByb2Nlc3NlZFxuICAgICAqIEBwYXJhbSBuZXh0RXZlbnQgaW5kaWNhdGVzIHRvIHRoZSBldmVudCBxdWV1ZSB0aGF0IHRoZSBuZXh0IGV2ZW50IGNhbiBiZSBwcm9jZXNzZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc1N1Y2Nlc3NmdWxHZXREYXRhUmVxdWVzdChnb3R0ZW5UYXNrSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhR3JvdXBzOiBBcnJheTxEYXRhR3JvdXA+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0RXZlbnQ6IEFmdGVyQWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1Rhc2tSZWxldmFudChnb3R0ZW5UYXNrSWQpKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJ2N1cnJlbnQgdGFzayBjaGFuZ2VkIGJlZm9yZSB0aGUgZ2V0IGRhdGEgcmVzcG9uc2UgY291bGQgYmUgcmVjZWl2ZWQsIGRpc2NhcmRpbmcuLi4nKTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tTdGF0ZS5zdG9wTG9hZGluZyhnb3R0ZW5UYXNrSWQpO1xuICAgICAgICAgICAgYWZ0ZXJBY3Rpb24uY29tcGxldGUoKTtcbiAgICAgICAgICAgIG5leHRFdmVudC5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UucmVmZXJlbmNlZFRhc2tBbmRDYXNlSWRzID0ge307XG4gICAgICAgIHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS50YXNrRmllbGRzSW5kZXggPSB7fTtcblxuICAgICAgICB0aGlzLl9zYWZlVGFzay5kYXRhR3JvdXBzID0gZGF0YUdyb3VwcztcbiAgICAgICAgaWYgKGRhdGFHcm91cHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuaW5mbygnVGFzayBoYXMgbm8gZGF0YSAnICsgdGhpcy5fc2FmZVRhc2spO1xuICAgICAgICAgICAgdGhpcy5fc2FmZVRhc2suZGF0YVNpemUgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdGFza0NvbnRlbnRTZXJ2aWNlLnJlZmVyZW5jZWRUYXNrQW5kQ2FzZUlkc1t0aGlzLl9zYWZlVGFzay5jYXNlSWRdID0gW3RoaXMuX3NhZmVUYXNrLnN0cmluZ0lkXTtcbiAgICAgICAgICAgIGRhdGFHcm91cHMuZm9yRWFjaChncm91cCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YUdyb3VwUGFyZW50Q2FzZUlkOiBzdHJpbmcgPSBncm91cC5wYXJlbnRDYXNlSWQgPT09IHVuZGVmaW5lZCA/IHRoaXMuX3NhZmVUYXNrLmNhc2VJZCA6IGdyb3VwLnBhcmVudENhc2VJZDtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRUYXNrSWQ6IHN0cmluZyA9IGdyb3VwLnBhcmVudFRhc2tJZCA9PT0gdW5kZWZpbmVkID8gdGhpcy5fc2FmZVRhc2suc3RyaW5nSWQgOiBncm91cC5wYXJlbnRUYXNrSWQ7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGFHcm91cFBhcmVudENhc2VJZCAhPT0gdGhpcy5fc2FmZVRhc2suY2FzZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5fdGFza0NvbnRlbnRTZXJ2aWNlLnJlZmVyZW5jZWRUYXNrQW5kQ2FzZUlkc1tkYXRhR3JvdXBQYXJlbnRDYXNlSWRdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UucmVmZXJlbmNlZFRhc2tBbmRDYXNlSWRzW2RhdGFHcm91cFBhcmVudENhc2VJZF0gPSBbZ3JvdXAucGFyZW50VGFza0lkXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS5yZWZlcmVuY2VkVGFza0FuZENhc2VJZHNbZGF0YUdyb3VwUGFyZW50Q2FzZUlkXS5wdXNoKGdyb3VwLnBhcmVudFRhc2tJZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGFHcm91cFBhcmVudENhc2VJZCA9PT0gdGhpcy5fc2FmZVRhc2suY2FzZUlkXG4gICAgICAgICAgICAgICAgICAgICYmIHBhcmVudFRhc2tJZCAhPT0gdGhpcy5fc2FmZVRhc2suc3RyaW5nSWRcbiAgICAgICAgICAgICAgICAgICAgJiYgIXRoaXMuX3Rhc2tDb250ZW50U2VydmljZS5yZWZlcmVuY2VkVGFza0FuZENhc2VJZHNbZGF0YUdyb3VwUGFyZW50Q2FzZUlkXS5pbmNsdWRlcyhwYXJlbnRUYXNrSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS5yZWZlcmVuY2VkVGFza0FuZENhc2VJZHNbZGF0YUdyb3VwUGFyZW50Q2FzZUlkXS5wdXNoKGdyb3VwLnBhcmVudFRhc2tJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChncm91cC5maWVsZHMubGVuZ3RoID4gMCAmJiAhdGhpcy5fdGFza0NvbnRlbnRTZXJ2aWNlLnRhc2tGaWVsZHNJbmRleFtwYXJlbnRUYXNrSWRdKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS50YXNrRmllbGRzSW5kZXhbcGFyZW50VGFza0lkXSA9IHt9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBncm91cC5maWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS50YXNrRmllbGRzSW5kZXhbcGFyZW50VGFza0lkXVtmaWVsZC5zdHJpbmdJZF0gPSBmaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudmFsdWVDaGFuZ2VzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLndhc0ZpZWxkVXBkYXRlZChmaWVsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQgaW5zdGFuY2VvZiBEeW5hbWljRW51bWVyYXRpb25GaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUYXNrRGF0YUZpZWxkcyh0aGlzLl9hZnRlckFjdGlvbkZhY3RvcnkuY3JlYXRlKGJvb2wgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUYXNrRGF0YUZpZWxkcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZCBpbnN0YW5jZW9mIEZpbGVGaWVsZCB8fCBmaWVsZCBpbnN0YW5jZW9mIEZpbGVMaXN0RmllbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLmNoYW5nZWRGaWVsZHMkLnN1YnNjcmliZSgoY2hhbmdlOiBDaGFuZ2VkRmllbGRzTWFwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlZEZpZWxkc1NlcnZpY2UuZW1pdENoYW5nZWRGaWVsZHMoY2hhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2FmZVRhc2suZGF0YVNpemUgPT09IHVuZGVmaW5lZCA/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NhZmVUYXNrLmRhdGFTaXplID0gZ3JvdXAuZmllbGRzLmxlbmd0aCA6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NhZmVUYXNrLmRhdGFTaXplICs9IGdyb3VwLmZpZWxkcy5sZW5ndGg7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcExvYWRpbmcoZ290dGVuVGFza0lkKTtcbiAgICAgICAgdGhpcy5zZW5kTm90aWZpY2F0aW9uKFRhc2tFdmVudC5HRVRfREFUQSwgdHJ1ZSk7XG4gICAgICAgIGFmdGVyQWN0aW9uLnJlc29sdmUodHJ1ZSk7XG4gICAgICAgIG5leHRFdmVudC5yZXNvbHZlKHRydWUpO1xuICAgICAgICB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UuJHNob3VsZENyZWF0ZS5uZXh0KHRoaXMuX3NhZmVUYXNrLmRhdGFHcm91cHMpO1xuICAgICAgICB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UuJHNob3VsZENyZWF0ZUNvdW50ZXIubmV4dCh0aGlzLl90YXNrQ29udGVudFNlcnZpY2UuJHNob3VsZENyZWF0ZUNvdW50ZXIuZ2V0VmFsdWUoKSArIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbiBlcnJvbmVvdXMgb3V0Y29tZSBvZiBhIGBnZXREYXRhYCByZXF1ZXN0XG4gICAgICogQHBhcmFtIGdvdHRlblRhc2tJZCB0aGUgSWQgb2YgdGhlIHRhc2sgd2hvc2UgZGF0YSB3YXMgcmVxdWVzdGVkXG4gICAgICogQHBhcmFtIGVycm9yIHRoZSByZXR1cm5lZCBlcnJvclxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gbmV4dEV2ZW50IGluZGljYXRlcyB0byB0aGUgZXZlbnQgcXVldWUgdGhhdCB0aGUgbmV4dCBldmVudCBjYW4gYmUgcHJvY2Vzc2VkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHByb2Nlc3NFcnJvbmVvdXNHZXREYXRhUmVxdWVzdChnb3R0ZW5UYXNrSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRFdmVudDogQWZ0ZXJBY3Rpb24pIHtcbiAgICAgICAgdGhpcy5fdGFza1N0YXRlLnN0b3BMb2FkaW5nKGdvdHRlblRhc2tJZCk7XG4gICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnZ2V0dGluZyB0YXNrIGRhdGEgZmFpbGVkJywgZXJyb3IpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc1Rhc2tSZWxldmFudChnb3R0ZW5UYXNrSWQpKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJ2N1cnJlbnQgdGFzayBjaGFuZ2VkIGJlZm9yZSB0aGUgZ2V0IGRhdGEgZXJyb3IgY291bGQgYmUgcmVjZWl2ZWQnKTtcbiAgICAgICAgICAgIGFmdGVyQWN0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICBuZXh0RXZlbnQucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA1MDAgJiYgZXJyb3IuZXJyb3IubWVzc2FnZSAmJiBlcnJvci5lcnJvci5tZXNzYWdlLnN0YXJ0c1dpdGgoJ0NvdWxkIG5vdCBmaW5kIHRhc2sgd2l0aCBpZCcpKSB7XG4gICAgICAgICAgICB0aGlzLl9zbmFja0Jhci5vcGVuV2FybmluZ1NuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd0YXNrcy5zbmFja2Jhci5ub0xvbmdlckV4aXN0cycpKTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2tPcGVyYXRpb25zLnJlbG9hZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlbkVycm9yU25hY2tCYXIoYCR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLm5vR3JvdXAnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5fdGFza0NvbnRlbnRTZXJ2aWNlLnRhc2sudGl0bGV9ICR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmZhaWxlZFRvTG9hZCcpfWApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VuZE5vdGlmaWNhdGlvbihUYXNrRXZlbnQuR0VUX0RBVEEsIGZhbHNlKTtcbiAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgIG5leHRFdmVudC5yZXNvbHZlKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb2xsZWN0cyBhbGwgY2hhbmdlZCBkYXRhIGZpZWxkcyBhbmQgbm90aWZpZXMgdGhlIGJhY2tlbmQgb2YgdGhlIGNoYW5nZXMuXG4gICAgICpcbiAgICAgKiBJZiB0aGUgcmVxdWVzdCBpcyBzdWNjZXNzZnVsIGNsZWFycyB0aGUgW2NoYW5nZWRde0BsaW5rIERhdGFGaWVsZCNjaGFuZ2VkfSBmbGFnIG9uIGFsbCBkYXRhIGZpZWxkcyB0aGF0IHdlcmUgYSBwYXJ0IG9mIHRoZSByZXF1ZXN0XG4gICAgICogYW5kIGVtaXRzIGEge0BsaW5rIENoYW5nZWRGaWVsZHN9IG9iamVjdCBpbnRvIHRoaXMgb2JqZWN0J3MgW2NoYW5nZWRGaWVsZHMkXXtAbGluayBUYXNrRGF0YVNlcnZpY2UjY2hhbmdlZEZpZWxkcyR9IHN0cmVhbS5cbiAgICAgKlxuICAgICAqIElmIHRoZSB0YXNrIGhlbGQgd2l0aGluIHRoZSB7QGxpbmsgVGFza0NvbnRlbnRTZXJ2aWNlfSBjaGFuZ2VzIGJlZm9yZSBhIHJlc3BvbnNlIGlzIHJlY2VpdmVkLCB0aGUgcmVzcG9uc2Ugd2lsbCBiZSBpZ25vcmVkXG4gICAgICogYW5kIHRoZSBgYWZ0ZXJBY3Rpb25gIHdpbGwgbm90IGJlIGV4ZWN1dGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFmdGVyQWN0aW9uIGlmIHRoZSByZXF1ZXN0IGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkgZW1pdHMgYHRydWVgIGludG8gdGhlIFN1YmplY3QsIG90aGVyd2lzZSBgZmFsc2VgIHdpbGwgYmUgZW1pdHRlZFxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVUYXNrRGF0YUZpZWxkcyhhZnRlckFjdGlvbjogQWZ0ZXJBY3Rpb24gPSBuZXcgQWZ0ZXJBY3Rpb24oKSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNUYXNrUHJlc2VudCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJ1Rhc2sgaXMgbm90IHByZXNlbnQuIFVwZGF0ZSByZXF1ZXN0IGlnbm9yZWQuJyk7XG4gICAgICAgICAgICBhZnRlckFjdGlvbi5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9zYWZlVGFzay51c2VyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGlzIG5vdCBhc3NpZ25lZC4uLicpO1xuICAgICAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZXRUYXNrSWQgPSB0aGlzLl9zYWZlVGFzay5zdHJpbmdJZDtcblxuICAgICAgICBpZiAodGhpcy5fc2FmZVRhc2suZGF0YVNpemUgPD0gMCkge1xuICAgICAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RDb250ZXh0ID0gdGhpcy5jcmVhdGVVcGRhdGVSZXF1ZXN0Q29udGV4dCgpO1xuXG4gICAgICAgIHRoaXMuX2V2ZW50UXVldWUuc2NoZWR1bGVFdmVudChuZXcgUXVldWVkRXZlbnQoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLmlzU2V0RGF0YVJlcXVlc3RTdGlsbFZhbGlkKHJlcXVlc3RDb250ZXh0LmJvZHkpLFxuICAgICAgICAgICAgbmV4dEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcmZvcm1TZXREYXRhUmVxdWVzdChzZXRUYXNrSWQsIHJlcXVlc3RDb250ZXh0LmJvZHksIGFmdGVyQWN0aW9uLCBuZXh0RXZlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHRFdmVudCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXZlcnRTZXREYXRhUmVxdWVzdChyZXF1ZXN0Q29udGV4dCk7XG4gICAgICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogR29lcyBvdmVyIGFsbCB0aGUgZGF0YSBmaWVsZHMgaW4gdGhlIG1hbmFnZWQgVGFzayBhbmQgaWYgdGhleSBhcmUgdmFsaWQgYW5kIGNoYW5nZWQgYWRkcyB0aGVtIHRvIHRoZSBzZXQgZGF0YSByZXF1ZXN0XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVVwZGF0ZVJlcXVlc3RDb250ZXh0KCk6IFRhc2tTZXREYXRhUmVxdWVzdENvbnRleHQge1xuICAgICAgICBjb25zdCBjb250ZXh0OiBUYXNrU2V0RGF0YVJlcXVlc3RDb250ZXh0ID0ge1xuICAgICAgICAgICAgYm9keToge30sXG4gICAgICAgICAgICBwcmV2aW91c1ZhbHVlczoge31cbiAgICAgICAgfTtcbiAgICAgICAgY29udGV4dC5ib2R5W3RoaXMuX3Rhc2suc3RyaW5nSWRdID0ge307XG4gICAgICAgIHRoaXMuX3NhZmVUYXNrLmRhdGFHcm91cHMuZmlsdGVyKGRhdGFHcm91cCA9PiBkYXRhR3JvdXAucGFyZW50VGFza0lkID09PSB1bmRlZmluZWQpLmZvckVhY2goZGF0YUdyb3VwID0+IHtcbiAgICAgICAgICAgIGRhdGFHcm91cC5maWVsZHMuZmlsdGVyKGZpZWxkID0+IHRoaXMud2FzRmllbGRVcGRhdGVkKGZpZWxkKSkuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRGaWVsZFRvU2V0RGF0YVJlcXVlc3RCb2R5KGNvbnRleHQsIHRoaXMuX3Rhc2suc3RyaW5nSWQsIGZpZWxkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc2FmZVRhc2suZGF0YUdyb3Vwcy5maWx0ZXIoZGF0YUdyb3VwID0+IGRhdGFHcm91cC5wYXJlbnRUYXNrSWQgIT09IHVuZGVmaW5lZCkuZm9yRWFjaChkYXRhR3JvdXAgPT4ge1xuICAgICAgICAgICAgaWYgKGRhdGFHcm91cC5maWVsZHMuc29tZShmaWVsZCA9PiB0aGlzLndhc0ZpZWxkVXBkYXRlZChmaWVsZCkpKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5ib2R5W2RhdGFHcm91cC5wYXJlbnRUYXNrSWRdID0ge307XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRhdGFHcm91cC5maWVsZHMuZmlsdGVyKGZpZWxkID0+IHRoaXMud2FzRmllbGRVcGRhdGVkKGZpZWxkKSkuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRGaWVsZFRvU2V0RGF0YVJlcXVlc3RCb2R5KGNvbnRleHQsIGRhdGFHcm91cC5wYXJlbnRUYXNrSWQsIGZpZWxkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFkZEZpZWxkVG9TZXREYXRhUmVxdWVzdEJvZHkoY29udGV4dDogVGFza1NldERhdGFSZXF1ZXN0Q29udGV4dCwgdGFza0lkOiBzdHJpbmcsIGZpZWxkOiBEYXRhRmllbGQ8YW55Pik6IHZvaWQge1xuICAgICAgICBjb250ZXh0LmJvZHlbdGFza0lkXVtmaWVsZC5zdHJpbmdJZF0gPSB7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLl9maWVsZENvbnZlcnRlclNlcnZpY2UucmVzb2x2ZVR5cGUoZmllbGQpLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuX2ZpZWxkQ29udmVydGVyU2VydmljZS5mb3JtYXRWYWx1ZUZvckJhY2tlbmQoZmllbGQsIGZpZWxkLnZhbHVlKVxuICAgICAgICB9O1xuICAgICAgICBjb250ZXh0LnByZXZpb3VzVmFsdWVzW2ZpZWxkLnN0cmluZ0lkXSA9IGZpZWxkLnByZXZpb3VzVmFsdWU7XG4gICAgICAgIGZpZWxkLmNoYW5nZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZmllbGQgdGhlIGNoZWNrZWQgZmllbGRcbiAgICAgKiBAcmV0dXJucyB3aGV0aGVyIHRoZSBmaWVsZCB3YXMgdXBkYXRlZCBvbiBmcm9udGVuZCBhbmQgdGh1cyB0aGUgYmFja2VuZCBzaG91bGQgYmUgbm90aWZpZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgd2FzRmllbGRVcGRhdGVkKGZpZWxkOiBEYXRhRmllbGQ8dW5rbm93bj4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkLmluaXRpYWxpemVkICYmIGZpZWxkLmNoYW5nZWQgJiYgKGZpZWxkLnZhbGlkIHx8IGZpZWxkLnNlbmRJbnZhbGlkVmFsdWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3Mgd2hldGhlciB0aGUgcmVxdWVzdCBjb3VsZCBzdGlsbCBiZSBwZXJmb3JtZWQgYnkgdGhlIGxvZ2dlZCB1c2VyXG4gICAgICogQHBhcmFtIHJlcXVlc3RcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNTZXREYXRhUmVxdWVzdFN0aWxsVmFsaWQocmVxdWVzdDogVGFza1NldERhdGFSZXF1ZXN0Qm9keSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNUYXNrUHJlc2VudCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3NhZmVUYXNrLnVzZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fdXNlckNvbXBhcmF0b3IuY29tcGFyZVVzZXJzKHRoaXMuX3NhZmVUYXNrLnVzZXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFza0lkc0luUmVxdWVzdDogQXJyYXk8c3RyaW5nPiA9IE9iamVjdC5rZXlzKHJlcXVlc3QpO1xuICAgICAgICBmb3IgKGNvbnN0IHRhc2tJZCBvZiB0YXNrSWRzSW5SZXF1ZXN0KSB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMuX3Rhc2tDb250ZW50U2VydmljZS50YXNrRmllbGRzSW5kZXgpLmluY2x1ZGVzKHRhc2tJZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoYFRhc2sgaWQgJHt0YXNrSWR9IGlzIG5vdCBwcmVzZW50IGluIHRhc2sgZmllbGRzIGluZGV4YCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZmllbGRJZHNPZlJlcXVlc3QgPSBPYmplY3Qua2V5cyhyZXF1ZXN0W3Rhc2tJZF0pO1xuICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZElkIG9mIGZpZWxkSWRzT2ZSZXF1ZXN0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLl90YXNrQ29udGVudFNlcnZpY2UudGFza0ZpZWxkc0luZGV4W3Rhc2tJZF1bZmllbGRJZF07XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKGBVbmV4cGVjdGVkIHN0YXRlLiBEYXRhZmllbGQgJHtmaWVsZElkfSBvZiB0YXNrICR7dGFza0lkXG4gICAgICAgICAgICAgICAgICAgIH0gaW4gc2V0RGF0YSByZXF1ZXN0IGlzIG5vdCBwcmVzZW50IGluIHRoZSB0YXNrLmApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghZmllbGQuYmVoYXZpb3IuZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKGBGaWVsZCAke2ZpZWxkSWR9LCB3YXMgbWVhbnQgdG8gYmUgc2V0IHRvXG4gICAgICAgICAgICAgICAgICAgICR7SlNPTi5zdHJpbmdpZnkocmVxdWVzdFt0YXNrSWRdW2ZpZWxkSWRdKVxuICAgICAgICAgICAgICAgICAgICB9LCBidXQgaXMgbm8gbG9uZXIgZWRpdGFibGUuYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBgc2V0RGF0YWAgcmVxdWVzdCBvbiB0aGUgdGFzayBjdXJyZW50bHkgc3RvcmVkIGluIHRoZSBgdGFza0NvbnRlbnRgIHNlcnZpY2VcbiAgICAgKiBAcGFyYW0gc2V0VGFza0lkIGlkIG9mIHRoZSB0YXNrXG4gICAgICogQHBhcmFtIGJvZHkgY29udGVudCBvZiB0aGUgYHNldERhdGFgIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gYWZ0ZXJBY3Rpb24gdGhlIGFjdGlvbiB0aGF0IHNob3VsZCBiZSBwZXJmb3JtZWQgYWZ0ZXIgdGhlIHJlcXVlc3QgaXMgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIG5leHRFdmVudCBpbmRpY2F0ZXMgdG8gdGhlIGV2ZW50IHF1ZXVlIHRoYXQgdGhlIG5leHQgZXZlbnQgY2FuIGJlIHByb2Nlc3NlZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwZXJmb3JtU2V0RGF0YVJlcXVlc3Qoc2V0VGFza0lkOiBzdHJpbmcsIGJvZHk6IFRhc2tTZXREYXRhUmVxdWVzdEJvZHksIGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbiwgbmV4dEV2ZW50OiBBZnRlckFjdGlvbikge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYm9keSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbmROb3RpZmljYXRpb24oVGFza0V2ZW50LlNFVF9EQVRBLCB0cnVlKTtcbiAgICAgICAgICAgIGFmdGVyQWN0aW9uLnJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICBuZXh0RXZlbnQucmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Rhc2tTdGF0ZS5zdGFydExvYWRpbmcoc2V0VGFza0lkKTtcbiAgICAgICAgdGhpcy5fdGFza1N0YXRlLnN0YXJ0VXBkYXRpbmcoc2V0VGFza0lkKTtcblxuICAgICAgICB0aGlzLl90YXNrUmVzb3VyY2VTZXJ2aWNlLnNldERhdGEodGhpcy5fc2FmZVRhc2suc3RyaW5nSWQsIGJvZHkpLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NTdWNjZXNzZnVsU2V0RGF0YVJlcXVlc3Qoc2V0VGFza0lkLCByZXNwb25zZS5vdXRjb21lLCBhZnRlckFjdGlvbiwgbmV4dEV2ZW50LCBib2R5KTtcbiAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvbmVvdXNTZXREYXRhUmVxdWVzdChzZXRUYXNrSWQsIGVycm9yLCBhZnRlckFjdGlvbiwgbmV4dEV2ZW50LCBib2R5KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhIHN1Y2Nlc3NmdWwgb3V0Y29tZSBvZiBhIGBzZXREYXRhYCByZXF1ZXN0XG4gICAgICogQHBhcmFtIHNldFRhc2tJZCB0aGUgSWQgb2YgdGhlIHRhc2sgd2hvc2UgZGF0YSB3YXMgc2V0XG4gICAgICogQHBhcmFtIHJlc3BvbnNlIHRoZSByZXN1bHRpbmcgRXZlbnQgb3V0Y29tZSBvZiB0aGUgc2V0IGRhdGEgcmVxdWVzdFxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gbmV4dEV2ZW50IGluZGljYXRlcyB0byB0aGUgZXZlbnQgcXVldWUgdGhhdCB0aGUgbmV4dCBldmVudCBjYW4gYmUgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGJvZHkgaG9sZCB0aGUgZGF0YSB0aGF0IHdhcyBzZW50IGluIHJlcXVlc3RcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc1N1Y2Nlc3NmdWxTZXREYXRhUmVxdWVzdChzZXRUYXNrSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZTogRXZlbnRPdXRjb21lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyQWN0aW9uOiBBZnRlckFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0RXZlbnQ6IEFmdGVyQWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IFRhc2tTZXREYXRhUmVxdWVzdEJvZHkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVGFza1JlbGV2YW50KHNldFRhc2tJZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBzZXQgZGF0YSByZXNwb25zZSBjb3VsZCBiZSByZWNlaXZlZCwgZGlzY2FyZGluZy4uLicpO1xuICAgICAgICAgICAgdGhpcy5fdGFza1N0YXRlLnN0b3BMb2FkaW5nKHNldFRhc2tJZCk7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcFVwZGF0aW5nKHNldFRhc2tJZCk7XG4gICAgICAgICAgICBhZnRlckFjdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2hhbmdlZEZpZWxkc01hcDogQ2hhbmdlZEZpZWxkc01hcCA9IHRoaXMuX2V2ZW50U2VydmljZS5wYXJzZUNoYW5nZWRGaWVsZHNGcm9tT3V0Y29tZVRyZWUocmVzcG9uc2UpO1xuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhjaGFuZ2VkRmllbGRzTWFwKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VkRmllbGRzU2VydmljZS5lbWl0Q2hhbmdlZEZpZWxkcyhjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsZWFyV2FpdGluZ0ZvclJlc3BvbnNlRmxhZyhib2R5KTtcbiAgICAgICAgdGhpcy5fc25hY2tCYXIub3BlblN1Y2Nlc3NTbmFja0JhcighIXJlc3BvbnNlLm1lc3NhZ2UgPyByZXNwb25zZS5tZXNzYWdlIDogdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ3Rhc2tzLnNuYWNrYmFyLmRhdGFTYXZlZCcpKTtcbiAgICAgICAgdGhpcy51cGRhdGVTdGF0ZUluZm8oYWZ0ZXJBY3Rpb24sIHRydWUsIHNldFRhc2tJZCk7XG4gICAgICAgIG5leHRFdmVudC5yZXNvbHZlKHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbiBlcnJvbmVvdXMgb3V0Y29tZSBvZiBhIGBzZXREYXRhYCByZXF1ZXN0XG4gICAgICogQHBhcmFtIHNldFRhc2tJZCB0aGUgSWQgb2YgdGhlIHRhc2sgd2hvc2UgZGF0YSB3YXMgc2V0XG4gICAgICogQHBhcmFtIGVycm9yIHRoZSByZXR1cm5lZCBlcnJvclxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgYWN0aW9uIHRoYXQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBwcm9jZXNzZWRcbiAgICAgKiBAcGFyYW0gbmV4dEV2ZW50IGluZGljYXRlcyB0byB0aGUgZXZlbnQgcXVldWUgdGhhdCB0aGUgbmV4dCBldmVudCBjYW4gYmUgcHJvY2Vzc2VkXG4gICAgICogQHBhcmFtIGJvZHkgaG9sZCB0aGUgZGF0YSB0aGF0IHdhcyBzZW50IGluIHJlcXVlc3RcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc0Vycm9uZW91c1NldERhdGFSZXF1ZXN0KHNldFRhc2tJZDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJBY3Rpb246IEFmdGVyQWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dEV2ZW50OiBBZnRlckFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IFRhc2tTZXREYXRhUmVxdWVzdEJvZHkpIHtcbiAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdzZXR0aW5nIHRhc2sgZGF0YSBmYWlsZWQnLCBlcnJvcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzVGFza1JlbGV2YW50KHNldFRhc2tJZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnY3VycmVudCB0YXNrIGNoYW5nZWQgYmVmb3JlIHRoZSBnZXQgZGF0YSBlcnJvciBjb3VsZCBiZSByZWNlaXZlZCcpO1xuICAgICAgICAgICAgdGhpcy5fdGFza1N0YXRlLnN0b3BMb2FkaW5nKHNldFRhc2tJZCk7XG4gICAgICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcFVwZGF0aW5nKHNldFRhc2tJZCk7XG4gICAgICAgICAgICBhZnRlckFjdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgbmV4dEV2ZW50LnJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXZlcnRUb1ByZXZpb3VzVmFsdWUoKTtcbiAgICAgICAgdGhpcy5jbGVhcldhaXRpbmdGb3JSZXNwb25zZUZsYWcoYm9keSk7XG4gICAgICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5FcnJvclNuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCd0YXNrcy5zbmFja2Jhci5mYWlsZWRTYXZlJykpO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlSW5mbyhhZnRlckFjdGlvbiwgZmFsc2UsIHNldFRhc2tJZCk7XG4gICAgICAgIG5leHRFdmVudC5yZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5fdGFza09wZXJhdGlvbnMucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV2ZXJ0cyB0aGUgZWZmZWN0cyBvZiBhIGZhaWxlZCBgc2V0RGF0YWAgcmVxdWVzdCwgc28gdGhhdCB0aGUgdXNlciBzZWVzIGN1cnJlbnQgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBjb250ZXh0IHRoZSBjb250ZXh0IG9mIHRoZSBmYWlsZWQgcmVxdWVzdFxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZXZlcnRTZXREYXRhUmVxdWVzdChjb250ZXh0OiBUYXNrU2V0RGF0YVJlcXVlc3RDb250ZXh0KSB7XG4gICAgICAgIC8vIHRoaXMgaXRlcmF0aW9uIGNvdWxkIGJlIGltcHJvdmVkIGlmIHdlIGhhZCBhIG1hcCBvZiBhbGwgdGhlIGRhdGEgZmllbGRzIGluIGEgdGFza1xuICAgICAgICBjb25zdCB0b3RhbENvdW50ID0gT2JqZWN0LmtleXMoY29udGV4dC5ib2R5KS5sZW5ndGg7XG4gICAgICAgIGxldCBmb3VuZENvdW50ID0gMDtcblxuICAgICAgICBmb3IgKGNvbnN0IGRhdGFncm91cCBvZiB0aGlzLl9zYWZlVGFzay5kYXRhR3JvdXBzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGRhdGFncm91cC5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWNvbnRleHQuYm9keVtmaWVsZC5zdHJpbmdJZF0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tcGFyZUJhY2tlbmRGb3JtYXR0ZWRGaWVsZFZhbHVlcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmllbGRDb252ZXJ0ZXJTZXJ2aWNlLmZvcm1hdFZhbHVlRm9yQmFja2VuZChmaWVsZCwgZmllbGQudmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmJvZHlbZmllbGQuc3RyaW5nSWRdLnZhbHVlKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZC52YWx1ZVdpdGhvdXRDaGFuZ2UoY29udGV4dC5wcmV2aW91c1ZhbHVlc1tmaWVsZC5zdHJpbmdJZF0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZvdW5kQ291bnQrKztcbiAgICAgICAgICAgICAgICBpZiAoZm91bmRDb3VudCA9PT0gdG90YWxDb3VudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbG9nLmVycm9yKGBJbnZhbGlkIHN0YXRlLiBTb21lIGRhdGEgZmllbGRzIG9mIHRhc2sgJHt0aGlzLl9zYWZlVGFzay5zdHJpbmdJZH0sIGFyZSBubyBsb25nZXIgcHJlc2VudCBpbiBpdCFgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21wYXJlcyB0aGUgdmFsdWVzIHRoYXQgYXJlIGluIHRoZSBiYWNrZW5kIGNvbXBhdGlibGUgZm9ybWF0IGFzIGdpdmVuIGJ5IHRoZSB7QGxpbmsgRmllbGRDb252ZXJ0ZXJTZXJ2aWNlfVxuICAgICAqIGFuZCBkZXRlcm1pbmVzIHdoZXRoZXIgdGhleSBhcmUgdGhlIHNhbWUgdmFsdWUsIG9yIG5vdC5cbiAgICAgKiBAcGFyYW0gY3VycmVudCB0aGUgY3VycmVudCB2YWx1ZSAoY2FuIGFsc28gYmUgY2FsbGVkIGB2YWx1ZTFgIG9yIGBsZWZ0YClcbiAgICAgKiBAcGFyYW0gb2xkIHRoZSBuZXcgdmFsdWUgKGNhbiBhbHNvIGJlIGNhbGxlZCBgdmFsdWUyYCBvciBgcmlnaHRgKVxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSB0aGUgc2FtZSBhbmQgYGZhbHNlYCBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29tcGFyZUJhY2tlbmRGb3JtYXR0ZWRGaWVsZFZhbHVlcyhjdXJyZW50LCBvbGQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudCkpIHtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShvbGQpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbGxlZ2FsIGFyZ3VtZW50cyEgQ2Fubm90IGNvbXBhcmUgYXJyYXkgdmFsdWUgdG8gbm9uLWFycmF5IHZhbHVlJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50Lmxlbmd0aCAhPT0gb2xkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gb2xkW2luZGV4XSA9PT0gdmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnQgPT09IG9sZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICpcbiAgICAgKiBzdG9wcyBsb2FkaW5nIGFuZCB1cGRhdGluZyBpbmRpY2F0b3JzLCBhbmQgZW1pdHMgdGhlIGByZXN1bHRgIHZhbHVlXG4gICAgICogdG8gYm90aCB0aGUgYGFmdGVyQWN0aW9uYCBhbmQgW191cGRhdGVTdWNjZXNzJF17QGxpbmsgVGFza0RhdGFTZXJ2aWNlI191cGRhdGVTdWNjZXNzJH0gc3RyZWFtcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZnRlckFjdGlvbiB0aGUgY2FsbCBjaGFpbiBzdGVhbSBvZiB0aGUgdXBkYXRlIGRhdGEgbWV0aG9kXG4gICAgICogQHBhcmFtIHJlc3VsdCByZXN1bHQgb2YgdGhlIHVwZGF0ZSBkYXRhIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gc2V0VGFza0lkIHRoZSBJZCBvZiB0aGUge0BsaW5rIFRhc2t9LCB3aG8ncyBzdGF0ZSBzaG91bGQgYmUgdXBkYXRlZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVTdGF0ZUluZm8oYWZ0ZXJBY3Rpb246IEFmdGVyQWN0aW9uLCByZXN1bHQ6IGJvb2xlYW4sIHNldFRhc2tJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Rhc2tTdGF0ZS5zdG9wTG9hZGluZyhzZXRUYXNrSWQpO1xuICAgICAgICB0aGlzLl90YXNrU3RhdGUuc3RvcFVwZGF0aW5nKHNldFRhc2tJZCk7XG4gICAgICAgIGlmICh0aGlzLl91cGRhdGVTdWNjZXNzJC5vYnNlcnZlcnMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVTdWNjZXNzJC5uZXh0KHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZW5kTm90aWZpY2F0aW9uKFRhc2tFdmVudC5TRVRfREFUQSwgcmVzdWx0KTtcbiAgICAgICAgYWZ0ZXJBY3Rpb24ucmVzb2x2ZShyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2hlcyBhIGdldC9zZXQgZGF0YSBub3RpZmljYXRpb24gdG8gdGhlIHtAbGluayBUYXNrRXZlbnRTZXJ2aWNlfVxuICAgICAqIEBwYXJhbSBldmVudCB0aGUgZXZlbnQgdGhhdCBvY2N1cnJlZCB0byB0aGUgdGFza1xuICAgICAqIEBwYXJhbSBzdWNjZXNzIHdoZXRoZXIgdGhlIGdldC9zZXQgZGF0YSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgb3Igbm90XG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNlbmROb3RpZmljYXRpb24oZXZlbnQ6IFRhc2tFdmVudC5HRVRfREFUQSB8IFRhc2tFdmVudC5TRVRfREFUQSwgc3VjY2VzczogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YXNrRXZlbnQucHVibGlzaFRhc2tFdmVudChjcmVhdGVUYXNrRXZlbnROb3RpZmljYXRpb24odGhpcy5fc2FmZVRhc2ssIGV2ZW50LCBzdWNjZXNzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXZlcnRUb1ByZXZpb3VzVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NhZmVUYXNrLmRhdGFHcm91cHMuZm9yRWFjaChkYXRhR3JvdXAgPT4ge1xuICAgICAgICAgICAgZGF0YUdyb3VwLmZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5pdGlhbGl6ZWQgJiYgZmllbGQudmFsaWQgJiYgZmllbGQuY2hhbmdlZCkge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZC5yZXZlcnRUb1ByZXZpb3VzVmFsdWUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhcldhaXRpbmdGb3JSZXNwb25zZUZsYWcoYm9keTogVGFza1NldERhdGFSZXF1ZXN0Qm9keSkge1xuICAgICAgICBPYmplY3Qua2V5cyhib2R5KS5mb3JFYWNoKHRhc2tJZCA9PiB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhib2R5W3Rhc2tJZF0pLmZvckVhY2goZmllbGRJZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFza0NvbnRlbnRTZXJ2aWNlLnRhc2tGaWVsZHNJbmRleFt0YXNrSWRdW2ZpZWxkSWRdLndhaXRpbmdGb3JSZXNwb25zZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==