@eo-sdk/client 10.0.0-beta.4 → 10.0.0-rc.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 (314) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts +0 -5
  2. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  3. package/app/eo-client/dashboard/dashboard.component.d.ts +25 -33
  4. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  5. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +19 -0
  6. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts.map +1 -0
  7. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts +24 -0
  8. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts.map +1 -0
  9. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +20 -0
  10. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts.map +1 -0
  11. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts +19 -0
  12. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts.map +1 -0
  13. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.d.ts +4 -0
  14. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.d.ts.map +1 -0
  15. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +25 -0
  16. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts.map +1 -0
  17. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts +20 -0
  18. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts.map +1 -0
  19. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.d.ts +4 -0
  20. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.d.ts.map +1 -0
  21. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +28 -0
  22. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -0
  23. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +44 -0
  24. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts.map +1 -0
  25. package/app/eo-client/eo-client.module.d.ts +24 -13
  26. package/app/eo-client/eo-client.module.d.ts.map +1 -1
  27. package/app/eo-client/favorite-state/favorite-state.component.d.ts +7 -8
  28. package/app/eo-client/favorite-state/favorite-state.component.d.ts.map +1 -1
  29. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts +8 -10
  30. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
  31. package/app/eo-client/login/login.component.d.ts +12 -5
  32. package/app/eo-client/login/login.component.d.ts.map +1 -1
  33. package/app/eo-client/notifications-state/notifications-state.component.d.ts +9 -11
  34. package/app/eo-client/notifications-state/notifications-state.component.d.ts.map +1 -1
  35. package/app/eo-client/object-state/object-state/object-state.component.d.ts +10 -11
  36. package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
  37. package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts +8 -9
  38. package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts.map +1 -1
  39. package/app/eo-client/process-state/process-state.component.d.ts +8 -10
  40. package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
  41. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts +5 -6
  42. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts.map +1 -1
  43. package/app/eo-client/result-state/result-state.component.d.ts +3 -5
  44. package/app/eo-client/result-state/result-state.component.d.ts.map +1 -1
  45. package/app/eo-client/settings/settings.component.d.ts +6 -7
  46. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  47. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts +8 -10
  48. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  49. package/app/eo-client/version-state/version-state.component.d.ts +5 -7
  50. package/app/eo-client/version-state/version-state.component.d.ts.map +1 -1
  51. package/app/eo-framework/accordion/accordion.module.d.ts +1 -2
  52. package/app/eo-framework/accordion/accordion.module.d.ts.map +1 -1
  53. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts +4 -5
  54. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts.map +1 -1
  55. package/app/eo-framework/actions/action.module.d.ts +11 -10
  56. package/app/eo-framework/actions/action.module.d.ts.map +1 -1
  57. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +3 -2
  58. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
  59. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts +9 -13
  60. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts.map +1 -1
  61. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +3 -4
  62. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
  63. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  64. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +1 -2
  65. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts.map +1 -1
  66. package/app/eo-framework/app-shell/app-shell.module.d.ts +18 -20
  67. package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
  68. package/app/eo-framework/app-shell/index.d.ts +0 -1
  69. package/app/eo-framework/app-shell/index.d.ts.map +1 -1
  70. package/app/eo-framework/eo-framework.module.d.ts +37 -38
  71. package/app/eo-framework/eo-framework.module.d.ts.map +1 -1
  72. package/app/eo-framework/form-elements/date/date.component.d.ts +0 -2
  73. package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
  74. package/app/eo-framework/form-elements/form-elements.module.d.ts +9 -18
  75. package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
  76. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -0
  77. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts.map +1 -1
  78. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -2
  79. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
  80. package/app/eo-framework/grid/grid.component.d.ts +7 -8
  81. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  82. package/app/eo-framework/grid/grid.module.d.ts +7 -8
  83. package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
  84. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -2
  85. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  86. package/app/eo-framework/index.d.ts +0 -4
  87. package/app/eo-framework/index.d.ts.map +1 -1
  88. package/app/eo-framework/media/media.component.d.ts +4 -3
  89. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  90. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +2 -3
  91. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts.map +1 -1
  92. package/app/eo-framework/object-details/object-details.component.d.ts +14 -6
  93. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  94. package/app/eo-framework/object-details/object-details.module.d.ts +2 -1
  95. package/app/eo-framework/object-details/object-details.module.d.ts.map +1 -1
  96. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +2 -3
  97. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  98. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +10 -0
  99. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts.map +1 -0
  100. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +8 -3
  101. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts.map +1 -1
  102. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -2
  103. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  104. package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts +7 -2
  105. package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts.map +1 -1
  106. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +28 -11
  107. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
  108. package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
  109. package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -2
  110. package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
  111. package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
  112. package/app/eo-framework/object-form/object-form.module.d.ts +9 -9
  113. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -2
  114. package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
  115. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +8 -9
  116. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  117. package/app/eo-framework/process/details/process-details.component.d.ts +7 -8
  118. package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
  119. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +9 -11
  120. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
  121. package/app/eo-framework/result-list/result-list.component.d.ts +5 -6
  122. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  123. package/app/eo-framework/settings/settings.module.d.ts +3 -4
  124. package/app/eo-framework/settings/settings.module.d.ts.map +1 -1
  125. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +4 -5
  126. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
  127. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -3
  128. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
  129. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +1 -0
  130. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  131. package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts +1 -2
  132. package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts.map +1 -1
  133. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +0 -1
  134. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts.map +1 -1
  135. package/app/eo-framework/util/index.d.ts +0 -1
  136. package/app/eo-framework/util/index.d.ts.map +1 -1
  137. package/app/eo-framework/util/util.module.d.ts +0 -1
  138. package/app/eo-framework/util/util.module.d.ts.map +1 -1
  139. package/app/eo-framework-core/layout/layout.service.d.ts +2 -26
  140. package/app/eo-framework-core/layout/layout.service.d.ts.map +1 -1
  141. package/app/eo-framework-core/pipes/locale-number.pipe.d.ts +2 -3
  142. package/app/eo-framework-core/pipes/locale-number.pipe.d.ts.map +1 -1
  143. package/assets/_default/i18n/de.json +32 -2
  144. package/assets/_default/i18n/en.json +37 -7
  145. package/assets/_default/svg/ic_add_document_file_as_new_version.svg +1 -0
  146. package/assets/_default/svg/ic_create_document.svg +1 -0
  147. package/assets/_default/svg/ic_create_document_in_folder.svg +1 -0
  148. package/assets/_default/svg/ic_noUrl.svg +1 -0
  149. package/assets/dashboard.json +47 -0
  150. package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -11
  151. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +143 -98
  152. package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +59 -0
  153. package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +39 -0
  154. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +53 -0
  155. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +42 -0
  156. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.mjs +2 -0
  157. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +65 -0
  158. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +43 -0
  159. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.mjs +2 -0
  160. package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +117 -0
  161. package/esm2020/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +115 -0
  162. package/esm2020/app/eo-client/eo-client.module.mjs +44 -6
  163. package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +15 -14
  164. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +14 -11
  165. package/esm2020/app/eo-client/login/login.component.mjs +33 -13
  166. package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +16 -12
  167. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +27 -23
  168. package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +12 -9
  169. package/esm2020/app/eo-client/process-state/process-state.component.mjs +6 -9
  170. package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +14 -11
  171. package/esm2020/app/eo-client/result-state/result-state.component.mjs +11 -8
  172. package/esm2020/app/eo-client/settings/settings.component.mjs +16 -12
  173. package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +16 -13
  174. package/esm2020/app/eo-client/version-state/version-state.component.mjs +13 -10
  175. package/esm2020/app/eo-framework/accordion/accordion.module.mjs +3 -7
  176. package/esm2020/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +3 -3
  177. package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +15 -11
  178. package/esm2020/app/eo-framework/actions/action.module.mjs +5 -2
  179. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +5 -7
  180. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
  181. package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -2
  182. package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +43 -48
  183. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +2 -2
  184. package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +2 -2
  185. package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +16 -14
  186. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +8 -3
  187. package/esm2020/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +4 -6
  188. package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +1 -8
  189. package/esm2020/app/eo-framework/app-shell/index.mjs +1 -2
  190. package/esm2020/app/eo-framework/eo-framework.module.mjs +35 -43
  191. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +2 -12
  192. package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +3 -3
  193. package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +28 -37
  194. package/esm2020/app/eo-framework/form-elements/form-input/form-input.component.mjs +3 -3
  195. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +10 -6
  196. package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +3 -3
  197. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +5 -6
  198. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +2 -2
  199. package/esm2020/app/eo-framework/frame/frame.component.mjs +2 -2
  200. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +2 -6
  201. package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
  202. package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +3 -3
  203. package/esm2020/app/eo-framework/grid/grid.component.mjs +16 -12
  204. package/esm2020/app/eo-framework/grid/grid.module.mjs +1 -5
  205. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +16 -11
  206. package/esm2020/app/eo-framework/index.mjs +1 -5
  207. package/esm2020/app/eo-framework/media/media.component.mjs +31 -12
  208. package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +13 -10
  209. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +64 -38
  210. package/esm2020/app/eo-framework/object-details/object-details.module.mjs +7 -3
  211. package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +13 -9
  212. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +18 -0
  213. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +20 -6
  214. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +21 -22
  215. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +1 -1
  216. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +94 -32
  217. package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +6 -4
  218. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +2 -3
  219. package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -5
  220. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +2 -2
  221. package/esm2020/app/eo-framework/object-form/object-form.module.mjs +9 -10
  222. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +15 -13
  223. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +16 -14
  224. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +16 -12
  225. package/esm2020/app/eo-framework/process-form/process-form.component.mjs +2 -2
  226. package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +25 -17
  227. package/esm2020/app/eo-framework/result-list/result-list.component.mjs +21 -15
  228. package/esm2020/app/eo-framework/settings/settings.module.mjs +1 -5
  229. package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +17 -13
  230. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +12 -8
  231. package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +2 -2
  232. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +20 -12
  233. package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +11 -8
  234. package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -6
  235. package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
  236. package/esm2020/app/eo-framework/util/index.mjs +1 -2
  237. package/esm2020/app/eo-framework/util/util.module.mjs +2 -3
  238. package/esm2020/app/eo-framework-core/layout/layout.service.mjs +61 -63
  239. package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +11 -8
  240. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +8 -8
  241. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +2 -6
  242. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +24 -30
  243. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +1 -1
  244. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +8 -6
  245. package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +1 -1
  246. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +14 -16
  247. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +15 -12
  248. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +12 -6
  249. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +2 -6
  250. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +11 -1
  251. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +3 -3
  252. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +1069 -1066
  253. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  254. package/fesm2015/eo-sdk-client.mjs +14808 -15012
  255. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  256. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +1069 -1066
  257. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  258. package/fesm2020/eo-sdk-client.mjs +16587 -16787
  259. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  260. package/package.json +5 -5
  261. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +1 -1
  262. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +1 -1
  263. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +14 -20
  264. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +1 -1
  265. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +4 -0
  266. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +1 -1
  267. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +3 -1
  268. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +1 -1
  269. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +1 -1
  270. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +10 -8
  271. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +1 -1
  272. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +1 -0
  273. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +1 -1
  274. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +4 -1
  275. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +1 -1
  276. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +1 -1
  277. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +6 -0
  278. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +1 -1
  279. package/projects/eo-sdk/core/lib/util/utils.d.ts +3 -4
  280. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
  281. package/scss/_eo-variables.scss +1 -0
  282. package/scss/_main.scss +1 -1
  283. package/scss/_mixins.scss +6 -6
  284. package/styles.css +2 -1
  285. package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts +0 -24
  286. package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts.map +0 -1
  287. package/app/eo-framework/split/index.d.ts +0 -5
  288. package/app/eo-framework/split/index.d.ts.map +0 -1
  289. package/app/eo-framework/split/split/split.component.d.ts +0 -83
  290. package/app/eo-framework/split/split/split.component.d.ts.map +0 -1
  291. package/app/eo-framework/split/split-area/split-area.component.d.ts +0 -37
  292. package/app/eo-framework/split/split-area/split-area.component.d.ts.map +0 -1
  293. package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts +0 -21
  294. package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts.map +0 -1
  295. package/app/eo-framework/split/split.module.d.ts +0 -12
  296. package/app/eo-framework/split/split.module.d.ts.map +0 -1
  297. package/app/eo-framework/undock-split/undock-split.component.d.ts +0 -28
  298. package/app/eo-framework/undock-split/undock-split.component.d.ts.map +0 -1
  299. package/app/eo-framework/undock-split/undock-split.service.d.ts +0 -43
  300. package/app/eo-framework/undock-split/undock-split.service.d.ts.map +0 -1
  301. package/app/eo-framework/undock-split/undock-state.interface.d.ts +0 -6
  302. package/app/eo-framework/undock-split/undock-state.interface.d.ts.map +0 -1
  303. package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts +0 -11
  304. package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts.map +0 -1
  305. package/esm2020/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.mjs +0 -67
  306. package/esm2020/app/eo-framework/split/index.mjs +0 -5
  307. package/esm2020/app/eo-framework/split/split/split.component.mjs +0 -373
  308. package/esm2020/app/eo-framework/split/split-area/split-area.component.mjs +0 -131
  309. package/esm2020/app/eo-framework/split/split-gutter/split-gutter.directive.mjs +0 -73
  310. package/esm2020/app/eo-framework/split/split.module.mjs +0 -28
  311. package/esm2020/app/eo-framework/undock-split/undock-split.component.mjs +0 -89
  312. package/esm2020/app/eo-framework/undock-split/undock-split.service.mjs +0 -135
  313. package/esm2020/app/eo-framework/undock-split/undock-state.interface.mjs +0 -2
  314. package/esm2020/app/eo-framework/util/unsubscribe/unsubscribe.component.mjs +0 -23
@@ -1,60 +1,120 @@
1
- import { takeUntil } from 'rxjs/operators';
2
- import { Component, ViewChild, HostListener } from '@angular/core';
3
- import { UnsubscribeOnDestroy } from '../../eo-framework/util/unsubscribe/unsubscribe.component';
4
- import { listAnimation } from '../../eo-framework/animations/animations';
1
+ import { __decorate } from "tslib";
2
+ import { Component, HostListener, ViewChild } from '@angular/core';
5
3
  import { Utils } from '@eo-sdk/core';
4
+ import { PictureWidgetComponent, PictureWidgetSetupComponent, TodoWidgetComponent, TodoWidgetSetupComponent } from '@yuuvis/widget-grid';
5
+ import { switchMap } from 'rxjs/operators';
6
+ import { listAnimation } from '../../eo-framework';
7
+ import { SearchWidgetComponent } from './widgets/search-widget/search-widget.component';
8
+ import { IframeSetupComponent } from './widgets/iframe-widget/iframe-setup/iframe-setup.component';
9
+ import { LastEditedAndCreatedComponent } from './widgets/last-edited-widget/last-edited-and-created.component';
10
+ import { IframeWidgetComponent } from './widgets/iframe-widget/iframe-widget.component';
11
+ import { InfoIntrayWidgetComponent } from './widgets/info-intray-widget/info-intray-widget.component';
12
+ import { InfoIntraySetupComponent } from './widgets/info-intray-widget/info-intray-setup/info-intray-setup.component';
13
+ import { InfoInboxWidgetComponent } from './widgets/info-inbox-widget/info-inbox-widget.component';
14
+ import { InfoInboxSetupComponent } from './widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component';
15
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
16
  import * as i0 from "@angular/core";
7
17
  import * as i1 from "@eo-sdk/core";
8
- import * as i2 from "../../eo-framework-core/title/page-title.service";
9
- import * as i3 from "@angular/router";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@angular/forms";
12
- import * as i6 from "@ngx-translate/core";
13
- import * as i7 from "../../eo-framework/ui/eo-icon/eo-icon.component";
14
- import * as i8 from "../../eo-framework/ui/router-link/router-link.directive";
15
- import * as i9 from "../../eo-framework/tree/tree.component";
16
- import * as i10 from "../../eo-framework/quick-search/quick-search/quick-search.component";
17
- import * as i11 from "../../eo-framework/stored-query/stored-query/stored-query.component";
18
- import * as i12 from "../../eo-framework-core/pipes/locale-date.pipe";
19
- import * as i13 from "../../eo-framework-core/pipes/locale-number.pipe";
20
- import * as i14 from "../../eo-framework-core/pipes/keys.pipe";
21
- export class DashboardComponent extends UnsubscribeOnDestroy {
18
+ import * as i2 from "@yuuvis/widget-grid";
19
+ import * as i3 from "../../eo-framework-core";
20
+ import * as i4 from "@angular/router";
21
+ import * as i5 from "@angular/common/http";
22
+ let DashboardComponent = class DashboardComponent {
22
23
  onKey(event) {
23
24
  if (event.which === 27) {
24
25
  this.selectStoredQuery(null);
25
26
  }
26
27
  }
27
- constructor(userService, titleService, router, route, config, searchService, authService, systemService, inboxService, prepareService, envService, capabilityService, storedQueriesService) {
28
- super();
28
+ constructor(userService, widgetGridRegistry, titleService, router, http, config, storageService, translate, capabilityService, storedQueriesService) {
29
29
  this.userService = userService;
30
+ this.widgetGridRegistry = widgetGridRegistry;
30
31
  this.titleService = titleService;
31
32
  this.router = router;
32
- this.route = route;
33
+ this.http = http;
33
34
  this.config = config;
34
- this.searchService = searchService;
35
- this.authService = authService;
36
- this.systemService = systemService;
37
- this.inboxService = inboxService;
38
- this.prepareService = prepareService;
39
- this.envService = envService;
35
+ this.storageService = storageService;
36
+ this.translate = translate;
40
37
  this.capabilityService = capabilityService;
41
38
  this.storedQueriesService = storedQueriesService;
42
- this.storedQueries = [];
43
- this.selectedQuickSearchResultItem = {
44
- index: -1,
45
- name: null
39
+ this.workspaceOptions = {
40
+ gridConfig: {
41
+ rows: 30,
42
+ newItemWidth: 2,
43
+ newItemHeight: 5
44
+ }
46
45
  };
46
+ this.savedWorkspace = [];
47
+ this.storedQueries = [];
47
48
  this.tree = {};
48
- this.modifiedByMe = {
49
- size: 10,
50
- total: 0,
51
- lately: []
52
- };
49
+ this.STORAGE_KEY = 'eo.client.dashboard.currentWorkspace';
53
50
  this.titleService.setDefaultTitle();
54
51
  this.backgroundImage = `url(${this.config.getDashboardBackgroundImage()})`;
52
+ this.setWidgetGridLabels();
55
53
  }
56
- get isCloud() {
57
- return this.envService.isCloud();
54
+ onWorkspacesConfigChange(c) {
55
+ this.saveWorkspacesConfig(c);
56
+ }
57
+ setWidgetGridLabels() {
58
+ this.widgetGridRegistry.updateWidgetGridLabels({
59
+ widgetPickerTitle: this.translate.instant('eo.workspace.widgetGrid.widgetPickerTitle'),
60
+ addWorkspaceTooltip: this.translate.instant('eo.workspace.widgetGrid.addWorkspace'),
61
+ noopWidgetLabel: this.translate.instant('eo.workspace.widgetGrid.noopWidgetLabel'),
62
+ workspacesEmptyMessage: this.translate.instant('eo.workspace.widgetGrid.workspacesEmptyMessage'),
63
+ newWorkspaceDefaultLabel: this.translate.instant('eo.workspace.widgetGrid.newWorkspaceDefaultLabel'),
64
+ workspaceRemoveConfirmMessage: this.translate.instant('eo.workspace.widgetGrid.workspaceRemoveConfirmMessage'),
65
+ workspaceEditDone: this.translate.instant('eo.workspace.widgetGrid.workspaceEditDone'),
66
+ workspaceEditCancel: this.translate.instant('eo.workspace.widgetGrid.cancel'),
67
+ save: this.translate.instant('eo.workspace.widgetGrid.save'),
68
+ cancel: this.translate.instant('eo.workspace.widgetGrid.cancel'),
69
+ confirm: this.translate.instant('eo.workspace.widgetGrid.confirm'),
70
+ widgetTodoHeadlineLabel: this.translate.instant('eo.workspace.widgetGrid.widgetTodoHeadlineLabel'),
71
+ widgetTodoTaskTitleLabel: this.translate.instant('eo.workspace.widgetGrid.widgetTitleLabel')
72
+ });
73
+ }
74
+ registerWidgets() {
75
+ // register the two "baked in" widgets
76
+ this.widgetGridRegistry.registerGridWidgets([
77
+ {
78
+ name: 'yuv.widget.picture',
79
+ label: this.translate.instant('eo.workspace.widget.picture.label'),
80
+ setupComponent: PictureWidgetSetupComponent,
81
+ widgetComponent: PictureWidgetComponent,
82
+ },
83
+ {
84
+ name: 'yuv.widget.todo',
85
+ label: this.translate.instant('eo.workspace.widgetGrid.widgetTodoHeadlineLabel'),
86
+ setupComponent: TodoWidgetSetupComponent,
87
+ widgetComponent: TodoWidgetComponent,
88
+ },
89
+ {
90
+ name: 'yuv.widget.LastEdited',
91
+ label: this.translate.instant('eo.workspace.widget.lastEditedOrLastCreated.label'),
92
+ widgetComponent: LastEditedAndCreatedComponent,
93
+ },
94
+ {
95
+ name: 'yuv.widget.iframe',
96
+ label: this.translate.instant('eo.workspace.widget.iframe.label'),
97
+ widgetComponent: IframeWidgetComponent,
98
+ setupComponent: IframeSetupComponent,
99
+ },
100
+ {
101
+ name: 'yuv.widget.infoIntray',
102
+ label: this.translate.instant('eo.workspace.widget.infoIntray.label'),
103
+ widgetComponent: InfoIntrayWidgetComponent,
104
+ setupComponent: InfoIntraySetupComponent
105
+ },
106
+ {
107
+ name: 'yuv.widget.infoInbox',
108
+ label: this.translate.instant('eo.workspace.widget.infoInbox.label'),
109
+ widgetComponent: InfoInboxWidgetComponent,
110
+ setupComponent: InfoInboxSetupComponent
111
+ },
112
+ {
113
+ name: 'yuv.widget.quickSearch',
114
+ label: this.translate.instant('eo.workspace.widget.quicksearch.label'),
115
+ widgetComponent: SearchWidgetComponent,
116
+ },
117
+ ]);
58
118
  }
59
119
  selectStoredQuery(q) {
60
120
  this.selectedQuery = q;
@@ -78,9 +138,6 @@ export class DashboardComponent extends UnsubscribeOnDestroy {
78
138
  const uriParamQuery = { queryParams: { 'query': uriParam } };
79
139
  this.router.navigate(['/result'], uriParamQuery);
80
140
  }
81
- executeSearch(objectType) {
82
- this.quickSearchEl.executeSearch(objectType);
83
- }
84
141
  getTreeNodes(key) {
85
142
  return this.quickSearchResult.groups[key].map(group => ({
86
143
  id: group.data.id,
@@ -90,81 +147,69 @@ export class DashboardComponent extends UnsubscribeOnDestroy {
90
147
  badges: [{ value: group.count }]
91
148
  }));
92
149
  }
93
- trackByFn(index, item) {
94
- return item.id;
95
- }
96
- captureObjectLists() {
97
- const q = {
98
- filters: {
99
- modifier: {
100
- o: 'eq',
101
- v1: this.user.name
102
- }
103
- },
104
- fields: ['title', 'description', 'modified', 'type'],
105
- options: {
106
- sort: {
107
- modified: {
108
- order: 'desc'
109
- }
110
- }
111
- }
112
- };
113
- this.searchService
114
- .executeQuery(q, false, this.modifiedByMe.size)
115
- .subscribe(res => {
116
- this.modifiedByMe.total = res.hits.total;
117
- this.modifiedByMe.lately = res.hits.hits.map(item => {
118
- const { id, title, description, type, modified } = item._source;
119
- return {
120
- id,
121
- type: this.systemService.getObjectType(type),
122
- title,
123
- description,
124
- modified
125
- };
126
- });
127
- });
128
- }
129
150
  ngOnInit() {
130
- this.userService.user$
131
- .pipe(takeUntil(this.componentDestroyed$))
132
- .subscribe(user => {
133
- this.user = user;
134
- this.captureObjectLists();
135
- });
151
+ this.loadWorkspacesConfig();
152
+ this.registerWidgets();
136
153
  this.capabilities = this.capabilityService.getCapabilities();
137
154
  if (this.capabilities.storedqueries) {
138
155
  this.storedQueriesService.getStoredQueries$()
139
- .pipe(takeUntil(this.componentDestroyed$))
156
+ .pipe(untilDestroyed(this))
140
157
  .subscribe(queriesSubscription => this.storedQueries = queriesSubscription.queries.filter(q => q.favorite).sort(Utils.sortValues('name')));
141
158
  }
142
- if (this.capabilities.inbox) {
143
- this.inboxService.inboxState$
144
- .pipe(takeUntil(this.componentDestroyed$))
145
- .subscribe((inboxState) => this.inboxState = inboxState);
159
+ }
160
+ loadWorkspacesConfig() {
161
+ if (!this.userService.getCurrentUser().userSettings.workspaceOptions || this.userService.getCurrentUser().userSettings.workspaceOptions.workspaces.length === 0) {
162
+ this.http.get('assets/dashboard.json').subscribe({
163
+ next: (res) => {
164
+ this.workspaceConfig = res;
165
+ this.workspaceConfig.workspaces[0].label = this.translate.instant(this.workspaceConfig.workspaces[0].label);
166
+ this.workspaceConfig.workspaces[0].grid.forEach(grid => {
167
+ if (grid.widgetConfig) {
168
+ grid.widgetConfig.title = this.translate.instant(grid.widgetConfig.title);
169
+ }
170
+ });
171
+ },
172
+ error: () => {
173
+ // no config file found
174
+ }
175
+ });
176
+ }
177
+ else {
178
+ this.workspaceConfig = this.userService.getCurrentUser().userSettings.workspaceOptions;
179
+ const currentWorkspace = this.storageService.getItem(this.STORAGE_KEY);
180
+ if (currentWorkspace && this.workspaceConfig.workspaces.map((w) => w.id).includes(currentWorkspace)) {
181
+ this.workspaceConfig.currentWorkspace = currentWorkspace;
182
+ }
183
+ else if (!!this.workspaceConfig.workspaces.length) {
184
+ this.workspaceConfig.currentWorkspace = this.workspaceConfig.workspaces[0].id;
185
+ }
146
186
  }
147
- if (this.capabilities.intray) {
148
- this.prepareService.preparedItemCount$
149
- .pipe(takeUntil(this.componentDestroyed$))
150
- .subscribe(count => this.preparedItemsCount = count);
187
+ }
188
+ saveWorkspacesConfig(c) {
189
+ // the selected workspace is saved on the device while the workspaces themselves are stored on the user service
190
+ if (c) {
191
+ this.userService.saveChangeWorkspace(c).pipe(switchMap(async () => this.storageService.setItem(this.STORAGE_KEY, c.currentWorkspace))).subscribe();
151
192
  }
152
193
  }
153
- }
154
- DashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DashboardComponent, deps: [{ token: i1.UserService }, { token: i2.PageTitleService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i1.Config }, { token: i1.SearchService }, { token: i1.AuthService }, { token: i1.SystemService }, { token: i1.InboxService }, { token: i1.PrepareService }, { token: i1.EnvironmentService }, { token: i1.CapabilitiesService }, { token: i1.StoredQueriesService }], target: i0.ɵɵFactoryTarget.Component });
155
- DashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DashboardComponent, selector: "eo-dashboard", host: { listeners: { "window:keyup": "onKey($event)" } }, viewQueries: [{ propertyName: "quickSearchEl", first: true, predicate: ["quickSearch"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"fade\"></div>\n<div class=\"dashboard\" [style.background-image]=\"backgroundImage\">\n\n <div class=\"db-content\" [ngClass]=\"{centerFocus: (quickSearchResult && quickSearchResult.total > 0) || selectedQuery}\">\n\n <!-- info area --->\n <div class=\"db-left\">\n <a class=\"info\" *ngIf=\"capabilities.inbox && inboxState && inboxState.totalmessages > 0\"\n [routerLink]=\"['/inbox']\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"count\">{{inboxState.totalmessages}}</div>\n </div>\n <div class=\"msg\" translate>eo.dashboard.info.inbox.msg</div>\n </a>\n <a class=\"info\" *ngIf=\"capabilities.intray && preparedItemsCount > 0\"\n [routerLink]=\"['/prepare']\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n <div class=\"count\">{{preparedItemsCount}}</div>\n </div>\n <div class=\"msg\" translate>eo.dashboard.info.intray.msg</div>\n </a>\n </div>\n\n <!-- main content area -->\n <div class=\"db-center\">\n\n <div class=\"top\">\n <div class=\"quick-search\" [ngClass]=\"{disabled: selectedQuery}\">\n\n <div class=\"count\" *ngIf=\"quickSearchResult && quickSearchResult.total !== -1\" (click)=\"executeSearch()\">\n <div *ngIf=\"quickSearchResult.total\">\n <span class=\"count-total\">{{quickSearchResult.total | localeDecimal}}</span>\n <span class=\"label\" translate>eo.quicksearch.hits</span>\n </div>\n <span class=\"label\" *ngIf=\"!quickSearchResult.total\" translate>eo.quicksearch.reults.empty</span>\n </div>\n\n <div class=\"input\">\n <eo-quick-search (onResult)=\"onQuickSearchResult($event)\"\n (onInputChange)=\"onQuickSearchInputChange($event)\"\n #quickSearch></eo-quick-search>\n </div>\n </div>\n </div>\n\n <div class=\"bottom\">\n\n <div class=\"quick-search-results\" *ngIf=\"quickSearchResult && quickSearchResult.total > 0; else storedqueries\">\n\n <div class=\"group\" *ngFor=\"let key of quickSearchResult.groups | keys; index as i\">\n <h2 *ngIf=\"key !== '0'; else maingroup\">{{key}}</h2>\n <ng-template #maingroup>\n <h2 translate>eo.quicksearch.result.group.global</h2>\n </ng-template>\n\n <eo-tree [tree]=\"tree[key]\" [(ngModel)]=\"selectedQuickSearchResultItem\" (onSelected)=\"executeSearch($event.data)\" (expandedNodesChanged)=\"executeSearch($event.data)\" [selectionKey]=\"'Enter'\">\n </eo-tree>\n </div>\n </div>\n\n <ng-template #storedqueries>\n\n <div class=\"stored-queries\" *ngIf=\"capabilities.storedqueries && storedQueries.length\">\n\n <div class=\"query\" *ngIf=\"selectedQuery; else querylist\">\n <div>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"selectStoredQuery(null)\"></eo-icon>\n </div>\n <eo-stored-query [query]=\"selectedQuery\"\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\n </div>\n\n\n <ng-template #querylist>\n <div class=\"queries\" [@listAnimation]=\"storedQueries.length\">\n <a class=\"sq lead\" [routerLink]=\"['/stored-queries']\" translate>eo.view.navigation.storedqueries</a>\n\n <div class=\"sq\" *ngFor=\"let q of storedQueries; trackBy: trackByFn\" (click)=\"selectStoredQuery(q)\" (keyup.enter)=\"selectStoredQuery(q)\" tabindex=\"0\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_stored_query.svg'\"></eo-icon>\n <span>{{q.name}}</span>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-template>\n\n </div>\n\n </div>\n\n <!-- files area -->\n <div class=\"db-right\">\n\n <div class=\"lastEdits\" *ngIf=\"modifiedByMe?.lately.length\">\n <div class=\"header\">\n <h2 translate>eo.dashboard.modified.title</h2>\n </div>\n <div class=\"body\">\n\n <a class=\"item\" *ngFor=\"let item of modifiedByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.modified | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </a>\n\n </div>\n </div>\n\n </div>\n\n </div>\n</div>\n\n\n\n", styles: [".fade{position:absolute;opacity:.3;left:0;right:0;top:0;z-index:1;height:500px;background:linear-gradient(to bottom,rgba(var(--color-black-rgb),1) 0,transparent 100%)}.dashboard{position:absolute;inset:0;background-size:cover;background-position:center center}.dashboard .db-content{position:absolute;top:calc(var(--app-bar-height) + var(--app-pane-padding));right:0;left:0;bottom:0;z-index:1;display:flex;flex-flow:row nowrap;align-items:stretch}@media (max-width: 800px){.dashboard .db-content{flex-flow:column}}.dashboard .db-content.centerFocus .db-left,.dashboard .db-content.centerFocus .db-right{opacity:.3}.dashboard .db-content .db-left{flex:0 1 20%;padding-top:10vh;display:flex;flex-flow:column;align-items:flex-start}.dashboard .db-content .db-left .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}.dashboard .db-content .db-left .info:focus,.dashboard .db-content .db-left .info:hover{color:var(--color-accent)}.dashboard .db-content .db-left .info:focus eo-icon,.dashboard .db-content .db-left .info:hover eo-icon{background-color:var(--color-accent)}.dashboard .db-content .db-left .info>div{display:flex;align-items:center}.dashboard .db-content .db-left .info eo-icon{border-radius:2px;background-color:var(--color-primary-2);color:#ffffffb3;padding:2px}.dashboard .db-content .db-left .info .count{font-size:40px;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}.dashboard .db-content .db-center{flex:1 1 auto;display:flex;flex-flow:column;padding:0 calc(var(--app-pane-padding) * 2)}.dashboard .db-content .db-center .top{flex:0 0 30%;box-sizing:border-box;padding-bottom:var(--app-pane-padding);flex-flow:column;display:flex;justify-content:flex-end;align-items:center}.dashboard .db-content .db-center .bottom{flex:1 1 auto;overflow-y:auto;display:flex;justify-content:center;align-items:baseline}.dashboard .db-content .db-right{flex:0 0 20%;padding:10vh var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding);box-sizing:border-box;min-width:300px}@media (max-width: 800px){.dashboard .db-content .db-right{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}.dashboard .db-content .db-right .lastEdits{display:flex;flex-flow:column;max-height:100%}.dashboard .db-content .db-right .lastEdits .header{flex:0 0 auto;border-radius:2px;color:#fff;background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}.dashboard .db-content .db-right .lastEdits .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}.dashboard .db-content .db-right .lastEdits .header .total{font-size:var(--font-caption);opacity:.7}.dashboard .db-content .db-right .lastEdits .body{flex:1 1 auto;overflow-y:auto}.dashboard .db-content .db-right .lastEdits .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:var(--panel-background);text-decoration:none;cursor:pointer}.dashboard .db-content .db-right .lastEdits .body .item:focus,.dashboard .db-content .db-right .lastEdits .body .item:hover{background-color:var(--list-item-hover-background)}.dashboard .db-content .db-right .lastEdits .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}.dashboard .db-content .db-right .lastEdits .body .item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}.dashboard .db-content .db-right .lastEdits .body .item .title{font-weight:var(--font-weight-bold)}.dashboard .db-content .db-right .lastEdits .body .item .modified,.dashboard .db-content .db-right .lastEdits .body .item .description{font-size:var(--font-hint)}.dashboard .db-content .stored-queries .query{display:flex;max-height:45vh}.dashboard .db-content .stored-queries .query>div{background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);margin:0 1px;border-radius:2px 0 0 2px}.dashboard .db-content .stored-queries .query>div eo-icon{padding:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.dashboard .db-content .stored-queries .query eo-stored-query{border-radius:0 2px 2px 0;background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);overflow-y:auto}.dashboard .db-content .stored-queries .queries{display:flex;flex-flow:row wrap;padding:0 calc(var(--app-pane-padding) / 4)}.dashboard .db-content .stored-queries .queries .sq{border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0;background-color:var(--panel-background);color:var(--text-color-caption);text-decoration:none;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;flex-flow:row;align-items:center}.dashboard .db-content .stored-queries .queries .sq>eo-icon{color:var(--text-color-hint)}.dashboard .db-content .stored-queries .queries .sq>span{padding:0 calc(var(--app-pane-padding) / 2)}.dashboard .db-content .stored-queries .queries .sq:not(.lead):focus,.dashboard .db-content .stored-queries .queries .sq:not(.lead):hover{background-color:var(--list-item-hover-background)}.dashboard .db-content .stored-queries .queries .sq.lead{color:#fff;background-color:var(--color-primary-2);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.dashboard .db-content .stored-queries .queries .sq.lead:focus,.dashboard .db-content .stored-queries .queries .sq.lead:hover{background-color:var(--color-accent)}.dashboard .db-content .quick-search .input{width:50%;min-width:600px}@media (max-width: 800px){.dashboard .db-content .quick-search .input{width:100%;min-width:inherit;padding-top:4vh}}.dashboard .db-content .quick-search .count{animation:eoFadeInUp var(--app-default-transition-duration);background-color:var(--color-primary-2);border-radius:2px;margin-bottom:4px;padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding);color:#fff;display:inline-block;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.dashboard .db-content .quick-search .count span{padding:0 calc(var(--app-pane-padding) / 4)}.dashboard .db-content .quick-search .count span.count-total{font-size:var(--font-display)}.dashboard .db-content .quick-search .count:hover{background-color:var(--color-accent)}.dashboard .db-content .quick-search.disabled{pointer-events:none;opacity:.3}.dashboard .db-content .quick-search-results{display:flex;flex-flow:row wrap;width:100%;justify-content:center;margin:0px calc(var(--app-pane-padding) / -2 + 0px)}.dashboard .db-content .quick-search-results>*{margin-left:calc(var(--app-pane-padding) / 2);margin-right:calc(var(--app-pane-padding) / 2)}.dashboard .db-content .quick-search-results .group{background:rgba(255,255,255,.7);padding:calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding);opacity:0;animation:eoFadeIn var(--app-default-transition-duration);animation-fill-mode:forwards;border-radius:2px}.dashboard .db-content .quick-search-results .group h2{margin-top:0;padding-top:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.dashboard .db-content .quick-search-results .group ::ng-deep eo-tree .tree-node .node-line,.dashboard .db-content .quick-search-results .group ::ng-deep eo-tree .tree-node .ico,.dashboard .db-content .quick-search-results .group ::ng-deep eo-tree .tree-node .spacer{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i7.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i8.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: i9.TreeComponent, selector: "eo-tree", inputs: ["options", "isDisplayed", "readonly", "selectionKey", "highlightedNodes", "tree", "treeUpdate"], outputs: ["expandedNodesChanged", "onSelected"] }, { kind: "component", type: i10.QuickSearchComponent, selector: "eo-quick-search", inputs: ["showResults"], outputs: ["onResult", "onInputChange"] }, { kind: "component", type: i11.StoredQueryComponent, selector: "eo-stored-query", inputs: ["query", "formOnly"], outputs: ["onQueryLoaded", "onQueryExecute"] }, { kind: "pipe", type: i12.LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: i13.LocaleDecimalPipe, name: "localeDecimal" }, { kind: "pipe", type: i14.KeysPipe, name: "keys" }], animations: [
194
+ };
195
+ DashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DashboardComponent, deps: [{ token: i1.UserService }, { token: i2.WidgetGridRegistry }, { token: i3.PageTitleService }, { token: i4.Router }, { token: i5.HttpClient }, { token: i1.Config }, { token: i1.LocalStorageService }, { token: i1.TranslateService }, { token: i1.CapabilitiesService }, { token: i1.StoredQueriesService }], target: i0.ɵɵFactoryTarget.Component });
196
+ DashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DashboardComponent, selector: "eo-dashboard", host: { listeners: { "window:keyup": "onKey($event)" } }, viewQueries: [{ propertyName: "quickSearchEl", first: true, predicate: ["quickSearch"], descendants: true }], ngImport: i0, template: "\n<ng-container>\n <div class=\"fade\"></div>\n <div class=\"dashboard\" [style.background-image]=\"backgroundImage\">\n <yuv-widget-grid-workspaces [workspaceConfig]=\"workspaceConfig\" (configChange)=\"onWorkspacesConfigChange($event)\" [options]=\"workspaceOptions\">\n </yuv-widget-grid-workspaces>\n </div>\n</ng-container>\n\n\n\n\n", styles: [":host{display:contents;flex-flow:column;height:100%;box-sizing:border-box;overflow:hidden;padding-top:var(--app-bar-height)}.fade{position:absolute;opacity:.3;left:0;right:0;top:0;z-index:1;height:500px;background:linear-gradient(to bottom,rgba(var(--color-black-rgb),1) 0,transparent 100%)}.dashboard{position:absolute;inset:0;background-size:cover;background-position:center center}::ng-deep .cds--cc--title p.title,::ng-deep .yuv-widget-headline{font-size:var(--font-body);font-weight:700;color:var(--text-color-caption);font-style:italic;margin:0;padding:0}::ng-deep svg{width:24px;height:24px}::ng-deep yuv-widget-grid{top:60px;height:92%!important}::ng-deep yuv-widget-grid-workspaces{background-size:cover;background-position:center center}::ng-deep yuv-widget-grid-workspaces>.confirm{position:fixed!important}::ng-deep gridster{background:none!important}::ng-deep gridster gridster-item:has(yuv-todo-widget),::ng-deep gridster gridster-item:has(yuv-picture-widget){border:1px solid var(--panel-divider-color)}::ng-deep gridster gridster-item:has(yuv-picture-widget){box-shadow:0 0 10px #0003}::ng-deep gridster .yuv-widget{border:1px solid var(--panel-divider-color)}::ng-deep gridster .gridster-row,::ng-deep gridster .gridster-column{border-color:#0003}.dark ::ng-deep gridster .gridster-row,.dark ::ng-deep gridster .gridster-column{border-color:var(--panel-divider-color)}\n"], dependencies: [{ kind: "component", type: i2.WidgetGridWorkspacesComponent, selector: "yuv-widget-grid-workspaces", inputs: ["options", "workspaceConfig", "preventAdd"], outputs: ["configChange", "gridItemEvent"] }], animations: [
156
197
  listAnimation
157
198
  ] });
199
+ DashboardComponent = __decorate([
200
+ UntilDestroy()
201
+ ], DashboardComponent);
202
+ export { DashboardComponent };
158
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DashboardComponent, decorators: [{
159
204
  type: Component,
160
205
  args: [{ selector: 'eo-dashboard', animations: [
161
206
  listAnimation
162
- ], template: "<div class=\"fade\"></div>\n<div class=\"dashboard\" [style.background-image]=\"backgroundImage\">\n\n <div class=\"db-content\" [ngClass]=\"{centerFocus: (quickSearchResult && quickSearchResult.total > 0) || selectedQuery}\">\n\n <!-- info area --->\n <div class=\"db-left\">\n <a class=\"info\" *ngIf=\"capabilities.inbox && inboxState && inboxState.totalmessages > 0\"\n [routerLink]=\"['/inbox']\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"count\">{{inboxState.totalmessages}}</div>\n </div>\n <div class=\"msg\" translate>eo.dashboard.info.inbox.msg</div>\n </a>\n <a class=\"info\" *ngIf=\"capabilities.intray && preparedItemsCount > 0\"\n [routerLink]=\"['/prepare']\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n <div class=\"count\">{{preparedItemsCount}}</div>\n </div>\n <div class=\"msg\" translate>eo.dashboard.info.intray.msg</div>\n </a>\n </div>\n\n <!-- main content area -->\n <div class=\"db-center\">\n\n <div class=\"top\">\n <div class=\"quick-search\" [ngClass]=\"{disabled: selectedQuery}\">\n\n <div class=\"count\" *ngIf=\"quickSearchResult && quickSearchResult.total !== -1\" (click)=\"executeSearch()\">\n <div *ngIf=\"quickSearchResult.total\">\n <span class=\"count-total\">{{quickSearchResult.total | localeDecimal}}</span>\n <span class=\"label\" translate>eo.quicksearch.hits</span>\n </div>\n <span class=\"label\" *ngIf=\"!quickSearchResult.total\" translate>eo.quicksearch.reults.empty</span>\n </div>\n\n <div class=\"input\">\n <eo-quick-search (onResult)=\"onQuickSearchResult($event)\"\n (onInputChange)=\"onQuickSearchInputChange($event)\"\n #quickSearch></eo-quick-search>\n </div>\n </div>\n </div>\n\n <div class=\"bottom\">\n\n <div class=\"quick-search-results\" *ngIf=\"quickSearchResult && quickSearchResult.total > 0; else storedqueries\">\n\n <div class=\"group\" *ngFor=\"let key of quickSearchResult.groups | keys; index as i\">\n <h2 *ngIf=\"key !== '0'; else maingroup\">{{key}}</h2>\n <ng-template #maingroup>\n <h2 translate>eo.quicksearch.result.group.global</h2>\n </ng-template>\n\n <eo-tree [tree]=\"tree[key]\" [(ngModel)]=\"selectedQuickSearchResultItem\" (onSelected)=\"executeSearch($event.data)\" (expandedNodesChanged)=\"executeSearch($event.data)\" [selectionKey]=\"'Enter'\">\n </eo-tree>\n </div>\n </div>\n\n <ng-template #storedqueries>\n\n <div class=\"stored-queries\" *ngIf=\"capabilities.storedqueries && storedQueries.length\">\n\n <div class=\"query\" *ngIf=\"selectedQuery; else querylist\">\n <div>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"selectStoredQuery(null)\"></eo-icon>\n </div>\n <eo-stored-query [query]=\"selectedQuery\"\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\n </div>\n\n\n <ng-template #querylist>\n <div class=\"queries\" [@listAnimation]=\"storedQueries.length\">\n <a class=\"sq lead\" [routerLink]=\"['/stored-queries']\" translate>eo.view.navigation.storedqueries</a>\n\n <div class=\"sq\" *ngFor=\"let q of storedQueries; trackBy: trackByFn\" (click)=\"selectStoredQuery(q)\" (keyup.enter)=\"selectStoredQuery(q)\" tabindex=\"0\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_stored_query.svg'\"></eo-icon>\n <span>{{q.name}}</span>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-template>\n\n </div>\n\n </div>\n\n <!-- files area -->\n <div class=\"db-right\">\n\n <div class=\"lastEdits\" *ngIf=\"modifiedByMe?.lately.length\">\n <div class=\"header\">\n <h2 translate>eo.dashboard.modified.title</h2>\n </div>\n <div class=\"body\">\n\n <a class=\"item\" *ngFor=\"let item of modifiedByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.modified | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </a>\n\n </div>\n </div>\n\n </div>\n\n </div>\n</div>\n\n\n\n", styles: [".fade{position:absolute;opacity:.3;left:0;right:0;top:0;z-index:1;height:500px;background:linear-gradient(to bottom,rgba(var(--color-black-rgb),1) 0,transparent 100%)}.dashboard{position:absolute;inset:0;background-size:cover;background-position:center center}.dashboard .db-content{position:absolute;top:calc(var(--app-bar-height) + var(--app-pane-padding));right:0;left:0;bottom:0;z-index:1;display:flex;flex-flow:row nowrap;align-items:stretch}@media (max-width: 800px){.dashboard .db-content{flex-flow:column}}.dashboard .db-content.centerFocus .db-left,.dashboard .db-content.centerFocus .db-right{opacity:.3}.dashboard .db-content .db-left{flex:0 1 20%;padding-top:10vh;display:flex;flex-flow:column;align-items:flex-start}.dashboard .db-content .db-left .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}.dashboard .db-content .db-left .info:focus,.dashboard .db-content .db-left .info:hover{color:var(--color-accent)}.dashboard .db-content .db-left .info:focus eo-icon,.dashboard .db-content .db-left .info:hover eo-icon{background-color:var(--color-accent)}.dashboard .db-content .db-left .info>div{display:flex;align-items:center}.dashboard .db-content .db-left .info eo-icon{border-radius:2px;background-color:var(--color-primary-2);color:#ffffffb3;padding:2px}.dashboard .db-content .db-left .info .count{font-size:40px;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}.dashboard .db-content .db-center{flex:1 1 auto;display:flex;flex-flow:column;padding:0 calc(var(--app-pane-padding) * 2)}.dashboard .db-content .db-center .top{flex:0 0 30%;box-sizing:border-box;padding-bottom:var(--app-pane-padding);flex-flow:column;display:flex;justify-content:flex-end;align-items:center}.dashboard .db-content .db-center .bottom{flex:1 1 auto;overflow-y:auto;display:flex;justify-content:center;align-items:baseline}.dashboard .db-content .db-right{flex:0 0 20%;padding:10vh var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding);box-sizing:border-box;min-width:300px}@media (max-width: 800px){.dashboard .db-content .db-right{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}.dashboard .db-content .db-right .lastEdits{display:flex;flex-flow:column;max-height:100%}.dashboard .db-content .db-right .lastEdits .header{flex:0 0 auto;border-radius:2px;color:#fff;background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}.dashboard .db-content .db-right .lastEdits .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}.dashboard .db-content .db-right .lastEdits .header .total{font-size:var(--font-caption);opacity:.7}.dashboard .db-content .db-right .lastEdits .body{flex:1 1 auto;overflow-y:auto}.dashboard .db-content .db-right .lastEdits .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:var(--panel-background);text-decoration:none;cursor:pointer}.dashboard .db-content .db-right .lastEdits .body .item:focus,.dashboard .db-content .db-right .lastEdits .body .item:hover{background-color:var(--list-item-hover-background)}.dashboard .db-content .db-right .lastEdits .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}.dashboard .db-content .db-right .lastEdits .body .item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}.dashboard .db-content .db-right .lastEdits .body .item .title{font-weight:var(--font-weight-bold)}.dashboard .db-content .db-right .lastEdits .body .item .modified,.dashboard .db-content .db-right .lastEdits .body .item .description{font-size:var(--font-hint)}.dashboard .db-content .stored-queries .query{display:flex;max-height:45vh}.dashboard .db-content .stored-queries .query>div{background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);margin:0 1px;border-radius:2px 0 0 2px}.dashboard .db-content .stored-queries .query>div eo-icon{padding:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.dashboard .db-content .stored-queries .query eo-stored-query{border-radius:0 2px 2px 0;background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);overflow-y:auto}.dashboard .db-content .stored-queries .queries{display:flex;flex-flow:row wrap;padding:0 calc(var(--app-pane-padding) / 4)}.dashboard .db-content .stored-queries .queries .sq{border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0;background-color:var(--panel-background);color:var(--text-color-caption);text-decoration:none;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;flex-flow:row;align-items:center}.dashboard .db-content .stored-queries .queries .sq>eo-icon{color:var(--text-color-hint)}.dashboard .db-content .stored-queries .queries .sq>span{padding:0 calc(var(--app-pane-padding) / 2)}.dashboard .db-content .stored-queries .queries .sq:not(.lead):focus,.dashboard .db-content .stored-queries .queries .sq:not(.lead):hover{background-color:var(--list-item-hover-background)}.dashboard .db-content .stored-queries .queries .sq.lead{color:#fff;background-color:var(--color-primary-2);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.dashboard .db-content .stored-queries .queries .sq.lead:focus,.dashboard .db-content .stored-queries .queries .sq.lead:hover{background-color:var(--color-accent)}.dashboard .db-content .quick-search .input{width:50%;min-width:600px}@media (max-width: 800px){.dashboard .db-content .quick-search .input{width:100%;min-width:inherit;padding-top:4vh}}.dashboard .db-content .quick-search .count{animation:eoFadeInUp var(--app-default-transition-duration);background-color:var(--color-primary-2);border-radius:2px;margin-bottom:4px;padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding);color:#fff;display:inline-block;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.dashboard .db-content .quick-search .count span{padding:0 calc(var(--app-pane-padding) / 4)}.dashboard .db-content .quick-search .count span.count-total{font-size:var(--font-display)}.dashboard .db-content .quick-search .count:hover{background-color:var(--color-accent)}.dashboard .db-content .quick-search.disabled{pointer-events:none;opacity:.3}.dashboard .db-content .quick-search-results{display:flex;flex-flow:row wrap;width:100%;justify-content:center;margin:0px calc(var(--app-pane-padding) / -2 + 0px)}.dashboard .db-content .quick-search-results>*{margin-left:calc(var(--app-pane-padding) / 2);margin-right:calc(var(--app-pane-padding) / 2)}.dashboard .db-content .quick-search-results .group{background:rgba(255,255,255,.7);padding:calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding);opacity:0;animation:eoFadeIn var(--app-default-transition-duration);animation-fill-mode:forwards;border-radius:2px}.dashboard .db-content .quick-search-results .group h2{margin-top:0;padding-top:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.dashboard .db-content .quick-search-results .group ::ng-deep eo-tree .tree-node .node-line,.dashboard .db-content .quick-search-results .group ::ng-deep eo-tree .tree-node .ico,.dashboard .db-content .quick-search-results .group ::ng-deep eo-tree .tree-node .spacer{display:none}\n"] }]
163
- }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.PageTitleService }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i1.Config }, { type: i1.SearchService }, { type: i1.AuthService }, { type: i1.SystemService }, { type: i1.InboxService }, { type: i1.PrepareService }, { type: i1.EnvironmentService }, { type: i1.CapabilitiesService }, { type: i1.StoredQueriesService }]; }, propDecorators: { quickSearchEl: [{
207
+ ], template: "\n<ng-container>\n <div class=\"fade\"></div>\n <div class=\"dashboard\" [style.background-image]=\"backgroundImage\">\n <yuv-widget-grid-workspaces [workspaceConfig]=\"workspaceConfig\" (configChange)=\"onWorkspacesConfigChange($event)\" [options]=\"workspaceOptions\">\n </yuv-widget-grid-workspaces>\n </div>\n</ng-container>\n\n\n\n\n", styles: [":host{display:contents;flex-flow:column;height:100%;box-sizing:border-box;overflow:hidden;padding-top:var(--app-bar-height)}.fade{position:absolute;opacity:.3;left:0;right:0;top:0;z-index:1;height:500px;background:linear-gradient(to bottom,rgba(var(--color-black-rgb),1) 0,transparent 100%)}.dashboard{position:absolute;inset:0;background-size:cover;background-position:center center}::ng-deep .cds--cc--title p.title,::ng-deep .yuv-widget-headline{font-size:var(--font-body);font-weight:700;color:var(--text-color-caption);font-style:italic;margin:0;padding:0}::ng-deep svg{width:24px;height:24px}::ng-deep yuv-widget-grid{top:60px;height:92%!important}::ng-deep yuv-widget-grid-workspaces{background-size:cover;background-position:center center}::ng-deep yuv-widget-grid-workspaces>.confirm{position:fixed!important}::ng-deep gridster{background:none!important}::ng-deep gridster gridster-item:has(yuv-todo-widget),::ng-deep gridster gridster-item:has(yuv-picture-widget){border:1px solid var(--panel-divider-color)}::ng-deep gridster gridster-item:has(yuv-picture-widget){box-shadow:0 0 10px #0003}::ng-deep gridster .yuv-widget{border:1px solid var(--panel-divider-color)}::ng-deep gridster .gridster-row,::ng-deep gridster .gridster-column{border-color:#0003}.dark ::ng-deep gridster .gridster-row,.dark ::ng-deep gridster .gridster-column{border-color:var(--panel-divider-color)}\n"] }]
208
+ }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.WidgetGridRegistry }, { type: i3.PageTitleService }, { type: i4.Router }, { type: i5.HttpClient }, { type: i1.Config }, { type: i1.LocalStorageService }, { type: i1.TranslateService }, { type: i1.CapabilitiesService }, { type: i1.StoredQueriesService }]; }, propDecorators: { quickSearchEl: [{
164
209
  type: ViewChild,
165
210
  args: ['quickSearch']
166
211
  }], onKey: [{
167
212
  type: HostListener,
168
213
  args: ['window:keyup', ['$event']]
169
214
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLFNBQVMsRUFBVSxTQUFTLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS3BGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEVBRW9ILEtBQUssRUFDL0gsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXdEIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG9CQUFvQjtJQXdCMUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxZQUFtQixXQUF3QixFQUNqQyxZQUE4QixFQUM5QixNQUFjLEVBQ2QsS0FBcUIsRUFDckIsTUFBYyxFQUNkLGFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLFlBQTBCLEVBQzFCLGNBQThCLEVBQzlCLFVBQThCLEVBQzlCLGlCQUFzQyxFQUN0QyxvQkFBMEM7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFiUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsV0FBTSxHQUFO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Q0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDekMsU0FBUyxDQUFDLENBQUMsVUFBc0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQztTQUN4RTtRQUVELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0I7aUJBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQ3pDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7OytHQTlKVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixtUEN2Qi9CLDQxSkEwSEEsaXFVRHZHYztRQUNWLGFBQWE7S0FDZDsyRkFFVSxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsY0FBYyxjQUdaO3dCQUNWLGFBQWE7cUJBQ2Q7d2JBdUJ5QixhQUFhO3NCQUF0QyxTQUFTO3VCQUFDLGFBQWE7Z0JBR3hCLEtBQUs7c0JBREosWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLy4uLy4uL2VvLWZyYW1ld29yay90cmVlL3RyZWUuY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBPbkRlc3Ryb3ksIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlciwgTmF2aWdhdGlvbkV4dHJhcywgQWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3RpdGxlL3BhZ2UtdGl0bGUuc2VydmljZSc7XG5pbXBvcnQge1F1aWNrU2VhcmNoQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvcXVpY2stc2VhcmNoL3F1aWNrLXNlYXJjaC9xdWljay1zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7UXVpY2tTZWFyY2hSZXN1bHR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9xdWljay1zZWFyY2gvcXVpY2stc2VhcmNoL3F1aWNrLXNlYXJjaC1yZXN1bHQuaW50ZXJmYWNlJztcbmltcG9ydCB7VW5zdWJzY3JpYmVPbkRlc3Ryb3l9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay91dGlsL3Vuc3Vic2NyaWJlL3Vuc3Vic2NyaWJlLmNvbXBvbmVudCc7XG5pbXBvcnQge2xpc3RBbmltYXRpb259IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9hbmltYXRpb25zL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgVXNlclNlcnZpY2UsIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBDYXBhYmlsaXRpZXNTZXJ2aWNlLCBDYXBhYmlsaXRpZXMsIFN0b3JlZFF1ZXJ5LCBJbmJveFN0YXRlLFxuICBQcmVwYXJlU2VydmljZSwgSW5ib3hTZXJ2aWNlLCBFb1VzZXIsIFNlYXJjaFNlcnZpY2UsIFN5c3RlbVNlcnZpY2UsIENvbmZpZywgT2JqZWN0VHlwZSwgQXV0aFNlcnZpY2UsIEVudmlyb25tZW50U2VydmljZSwgVXRpbHNcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QWdlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9hZ2VudC9hZ2VudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZGFzaGJvYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgbGlzdEFuaW1hdGlvblxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZENvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNhcGFiaWxpdGllczogQ2FwYWJpbGl0aWVzO1xuICBzdG9yZWRRdWVyaWVzOiBTdG9yZWRRdWVyeVtdID0gW107XG4gIHNlbGVjdGVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuICBxdWlja1NlYXJjaFJlc3VsdDogUXVpY2tTZWFyY2hSZXN1bHQ7XG4gIHNlbGVjdGVkUXVpY2tTZWFyY2hSZXN1bHRJdGVtID0ge1xuICAgIGluZGV4OiAtMSxcbiAgICBuYW1lOiBudWxsXG4gIH07XG4gIHRyZWUgPSB7fTtcbiAgcHJlcGFyZWRJdGVtc0NvdW50OiBudW1iZXI7XG4gIGluYm94U3RhdGU6IEluYm94U3RhdGU7XG4gIHVzZXI6IEVvVXNlcjtcbiAgbW9kaWZpZWRCeU1lID0ge1xuICAgIHNpemU6IDEwLFxuICAgIHRvdGFsOiAwLFxuICAgIGxhdGVseTogW11cbiAgfTtcbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgncXVpY2tTZWFyY2gnKSBxdWlja1NlYXJjaEVsOiBRdWlja1NlYXJjaENvbXBvbmVudDtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAnLCBbJyRldmVudCddKVxuICBvbktleShldmVudCkge1xuICAgIGlmIChldmVudC53aGljaCA9PT0gMjcpIHtcbiAgICAgIHRoaXMuc2VsZWN0U3RvcmVkUXVlcnkobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWcsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGluYm94U2VydmljZTogSW5ib3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJlcGFyZVNlcnZpY2U6IFByZXBhcmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW52U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU2VydmljZTogU3RvcmVkUXVlcmllc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldERlZmF1bHRUaXRsZSgpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICB9XG5cbiAgZ2V0IGlzQ2xvdWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW52U2VydmljZS5pc0Nsb3VkKCk7XG4gIH1cblxuICBzZWxlY3RTdG9yZWRRdWVyeShxOiBTdG9yZWRRdWVyeSkge1xuICAgIHRoaXMuc2VsZWN0ZWRRdWVyeSA9IHE7XG4gIH1cblxuICAvLyB1c2VyIGNoYW5nZWQgaW5wdXQgb2YgcXVpY2tTZWFyY2ggY29tcG9uZW50XG4gIG9uUXVpY2tTZWFyY2hJbnB1dENoYW5nZSh0ZXJtKSB7XG4gICAgdGhpcy5xdWlja1NlYXJjaFJlc3VsdCA9IG51bGw7XG4gIH1cblxuICAvLyBxdWlja1NlYXJjaCBjb21wb25lbnQgaXMgcmV0dXJuaW5nIHJlc3VsdHNcbiAgb25RdWlja1NlYXJjaFJlc3VsdChyZXN1bHQ6IFF1aWNrU2VhcmNoUmVzdWx0KSB7XG4gICAgdGhpcy5xdWlja1NlYXJjaFJlc3VsdCA9IHJlc3VsdDtcbiAgICBPYmplY3Qua2V5cyh0aGlzLnF1aWNrU2VhcmNoUmVzdWx0Lmdyb3VwcykubWFwKGtleSA9PiAodGhpcy50cmVlW2tleV0gPSB0aGlzLmdldFRyZWVOb2RlcyhrZXkpKSk7XG4gIH1cblxuICBvblN0b3JlZFF1ZXJ5TG9hZGVkKCkge1xuICAgIHRoaXMuc2VsZWN0U3RvcmVkUXVlcnkobnVsbCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7bW9kYWw6ICdzZWFyY2gnfX1dKTtcbiAgfVxuXG4gIG9uU3RvcmVkUXVlcnlFeGVjdXRlKGV2dCkge1xuICAgIHRoaXMuc2VsZWN0U3RvcmVkUXVlcnkobnVsbCk7XG4gICAgY29uc3QgdXJpUGFyYW0gPSBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZXZ0LnF1ZXJ5SnNvbikpO1xuICAgIGNvbnN0IHVyaVBhcmFtUXVlcnk6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsncXVlcnknOiB1cmlQYXJhbX19O1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3Jlc3VsdCddLCB1cmlQYXJhbVF1ZXJ5KTtcbiAgfVxuXG4gIGV4ZWN1dGVTZWFyY2gob2JqZWN0VHlwZT86IE9iamVjdFR5cGUpIHtcbiAgICB0aGlzLnF1aWNrU2VhcmNoRWwuZXhlY3V0ZVNlYXJjaChvYmplY3RUeXBlKTtcbiAgfVxuXG4gIGdldFRyZWVOb2RlcyhrZXkpOiBUcmVlTm9kZVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdWlja1NlYXJjaFJlc3VsdC5ncm91cHNba2V5XS5tYXAoZ3JvdXAgPT4gKHtcbiAgICAgIGlkOiBncm91cC5kYXRhLmlkLFxuICAgICAgbmFtZTogZ3JvdXAubGFiZWwsXG4gICAgICBzZWxlY3RhYmxlOiB0cnVlLFxuICAgICAgZGF0YTogZ3JvdXAuZGF0YSxcbiAgICAgIGJhZGdlczogW3t2YWx1ZTogZ3JvdXAuY291bnR9XVxuICAgIH0pKTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSkge1xuICAgIHJldHVybiBpdGVtLmlkO1xuICB9XG5cbiAgY2FwdHVyZU9iamVjdExpc3RzKCkge1xuXG4gICAgY29uc3QgcSA9IHtcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgbW9kaWZpZXI6IHtcbiAgICAgICAgICBvOiAnZXEnLFxuICAgICAgICAgIHYxOiB0aGlzLnVzZXIubmFtZVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZmllbGRzOiBbJ3RpdGxlJywgJ2Rlc2NyaXB0aW9uJywgJ21vZGlmaWVkJywgJ3R5cGUnXSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgc29ydDoge1xuICAgICAgICAgIG1vZGlmaWVkOiB7XG4gICAgICAgICAgICBvcmRlcjogJ2Rlc2MnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5leGVjdXRlUXVlcnkocSwgZmFsc2UsIHRoaXMubW9kaWZpZWRCeU1lLnNpemUpXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMubW9kaWZpZWRCeU1lLnRvdGFsID0gcmVzLmhpdHMudG90YWw7XG4gICAgICAgIHRoaXMubW9kaWZpZWRCeU1lLmxhdGVseSA9IHJlcy5oaXRzLmhpdHMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IHtpZCwgdGl0bGUsIGRlc2NyaXB0aW9uLCB0eXBlLCBtb2RpZmllZH0gPSBpdGVtLl9zb3VyY2U7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgdHlwZTogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUodHlwZSksXG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgbW9kaWZpZWRcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIHRoaXMuY2FwdHVyZU9iamVjdExpc3RzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXR5U2VydmljZS5nZXRDYXBhYmlsaXRpZXMoKTtcbiAgICBpZiAodGhpcy5jYXBhYmlsaXRpZXMuc3RvcmVkcXVlcmllcykge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5nZXRTdG9yZWRRdWVyaWVzJCgpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKHF1ZXJpZXNTdWJzY3JpcHRpb24gPT4gdGhpcy5zdG9yZWRRdWVyaWVzID0gcXVlcmllc1N1YnNjcmlwdGlvbi5xdWVyaWVzLmZpbHRlcihxID0+IHEuZmF2b3JpdGUpLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbmFtZScpKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2FwYWJpbGl0aWVzLmluYm94KSB7XG4gICAgICB0aGlzLmluYm94U2VydmljZS5pbmJveFN0YXRlJFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoaW5ib3hTdGF0ZTogSW5ib3hTdGF0ZSkgPT4gdGhpcy5pbmJveFN0YXRlID0gaW5ib3hTdGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2FwYWJpbGl0aWVzLmludHJheSkge1xuICAgICAgdGhpcy5wcmVwYXJlU2VydmljZS5wcmVwYXJlZEl0ZW1Db3VudCRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoY291bnQgPT4gdGhpcy5wcmVwYXJlZEl0ZW1zQ291bnQgPSBjb3VudCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmFkZVwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cImRhc2hib2FyZFwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImJhY2tncm91bmRJbWFnZVwiPlxuXG4gIDxkaXYgY2xhc3M9XCJkYi1jb250ZW50XCIgW25nQ2xhc3NdPVwie2NlbnRlckZvY3VzOiAocXVpY2tTZWFyY2hSZXN1bHQgJiYgcXVpY2tTZWFyY2hSZXN1bHQudG90YWwgPiAwKSB8fCBzZWxlY3RlZFF1ZXJ5fVwiPlxuXG4gICAgPCEtLSBpbmZvIGFyZWEgLS0tPlxuICAgIDxkaXYgY2xhc3M9XCJkYi1sZWZ0XCI+XG4gICAgICA8YSBjbGFzcz1cImluZm9cIiAqbmdJZj1cImNhcGFiaWxpdGllcy5pbmJveCAmJiBpbmJveFN0YXRlICYmIGluYm94U3RhdGUudG90YWxtZXNzYWdlcyA+IDBcIlxuICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9pbmJveCddXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRcIj57e2luYm94U3RhdGUudG90YWxtZXNzYWdlc319PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXNnXCIgdHJhbnNsYXRlPmVvLmRhc2hib2FyZC5pbmZvLmluYm94Lm1zZzwvZGl2PlxuICAgICAgPC9hPlxuICAgICAgPGEgY2xhc3M9XCJpbmZvXCIgKm5nSWY9XCJjYXBhYmlsaXRpZXMuaW50cmF5ICYmIHByZXBhcmVkSXRlbXNDb3VudCA+IDBcIlxuICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9wcmVwYXJlJ11cIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19wcmVwYXJlLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50XCI+e3twcmVwYXJlZEl0ZW1zQ291bnR9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1zZ1wiIHRyYW5zbGF0ZT5lby5kYXNoYm9hcmQuaW5mby5pbnRyYXkubXNnPC9kaXY+XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIG1haW4gY29udGVudCBhcmVhIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJkYi1jZW50ZXJcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cInRvcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicXVpY2stc2VhcmNoXCIgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiBzZWxlY3RlZFF1ZXJ5fVwiPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50XCIgKm5nSWY9XCJxdWlja1NlYXJjaFJlc3VsdCAmJiBxdWlja1NlYXJjaFJlc3VsdC50b3RhbCAhPT0gLTFcIiAoY2xpY2spPVwiZXhlY3V0ZVNlYXJjaCgpXCI+XG4gICAgICAgICAgICA8ZGl2ICAqbmdJZj1cInF1aWNrU2VhcmNoUmVzdWx0LnRvdGFsXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnQtdG90YWxcIj57e3F1aWNrU2VhcmNoUmVzdWx0LnRvdGFsIHwgbG9jYWxlRGVjaW1hbH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnF1aWNrc2VhcmNoLmhpdHM8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiAqbmdJZj1cIiFxdWlja1NlYXJjaFJlc3VsdC50b3RhbFwiIHRyYW5zbGF0ZT5lby5xdWlja3NlYXJjaC5yZXVsdHMuZW1wdHk8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXRcIj5cbiAgICAgICAgICAgIDxlby1xdWljay1zZWFyY2ggKG9uUmVzdWx0KT1cIm9uUXVpY2tTZWFyY2hSZXN1bHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbklucHV0Q2hhbmdlKT1cIm9uUXVpY2tTZWFyY2hJbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3F1aWNrU2VhcmNoPjwvZW8tcXVpY2stc2VhcmNoPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tXCI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInF1aWNrLXNlYXJjaC1yZXN1bHRzXCIgKm5nSWY9XCJxdWlja1NlYXJjaFJlc3VsdCAmJiBxdWlja1NlYXJjaFJlc3VsdC50b3RhbCA+IDA7IGVsc2Ugc3RvcmVkcXVlcmllc1wiPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwXCIgKm5nRm9yPVwibGV0IGtleSBvZiBxdWlja1NlYXJjaFJlc3VsdC5ncm91cHMgfCBrZXlzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgICA8aDIgKm5nSWY9XCJrZXkgIT09ICcwJzsgZWxzZSBtYWluZ3JvdXBcIj57e2tleX19PC9oMj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWFpbmdyb3VwPlxuICAgICAgICAgICAgICA8aDIgdHJhbnNsYXRlPmVvLnF1aWNrc2VhcmNoLnJlc3VsdC5ncm91cC5nbG9iYWw8L2gyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGVvLXRyZWUgW3RyZWVdPVwidHJlZVtrZXldXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFF1aWNrU2VhcmNoUmVzdWx0SXRlbVwiIChvblNlbGVjdGVkKT1cImV4ZWN1dGVTZWFyY2goJGV2ZW50LmRhdGEpXCIgKGV4cGFuZGVkTm9kZXNDaGFuZ2VkKT1cImV4ZWN1dGVTZWFyY2goJGV2ZW50LmRhdGEpXCIgW3NlbGVjdGlvbktleV09XCInRW50ZXInXCI+XG4gICAgICAgICAgICA8L2VvLXRyZWU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RvcmVkcXVlcmllcz5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9yZWQtcXVlcmllc1wiICpuZ0lmPVwiY2FwYWJpbGl0aWVzLnN0b3JlZHF1ZXJpZXMgJiYgc3RvcmVkUXVlcmllcy5sZW5ndGhcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXJ5XCIgKm5nSWY9XCJzZWxlY3RlZFF1ZXJ5OyBlbHNlIHF1ZXJ5bGlzdFwiPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY2xlYXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFN0b3JlZFF1ZXJ5KG51bGwpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGVvLXN0b3JlZC1xdWVyeSBbcXVlcnldPVwic2VsZWN0ZWRRdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uUXVlcnlMb2FkZWQpPVwib25TdG9yZWRRdWVyeUxvYWRlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25RdWVyeUV4ZWN1dGUpPVwib25TdG9yZWRRdWVyeUV4ZWN1dGUoJGV2ZW50KVwiPjwvZW8tc3RvcmVkLXF1ZXJ5PlxuICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNxdWVyeWxpc3Q+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVyaWVzXCIgW0BsaXN0QW5pbWF0aW9uXT1cInN0b3JlZFF1ZXJpZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJzcSBsZWFkXCIgW3JvdXRlckxpbmtdPVwiWycvc3RvcmVkLXF1ZXJpZXMnXVwiIHRyYW5zbGF0ZT5lby52aWV3Lm5hdmlnYXRpb24uc3RvcmVkcXVlcmllczwvYT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcVwiICpuZ0Zvcj1cImxldCBxIG9mIHN0b3JlZFF1ZXJpZXM7IHRyYWNrQnk6IHRyYWNrQnlGblwiIChjbGljayk9XCJzZWxlY3RTdG9yZWRRdWVyeShxKVwiIChrZXl1cC5lbnRlcik9XCJzZWxlY3RTdG9yZWRRdWVyeShxKVwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc3RvcmVkX3F1ZXJ5LnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57e3EubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIGZpbGVzIGFyZWEgLS0+XG4gICAgPGRpdiBjbGFzcz1cImRiLXJpZ2h0XCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXN0RWRpdHNcIiAqbmdJZj1cIm1vZGlmaWVkQnlNZT8ubGF0ZWx5Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIHRyYW5zbGF0ZT5lby5kYXNoYm9hcmQubW9kaWZpZWQudGl0bGU8L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJvZHlcIj5cblxuICAgICAgICAgIDxhIGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vZGlmaWVkQnlNZS5sYXRlbHlcIiBbcm91dGVyTGlua109XCJbJy9vYmplY3QvJywgaXRlbS5pZF1cIj5cbiAgICAgICAgICAgIDxlby1pY29uIFtvYmplY3RUeXBlXT1cIml0ZW0udHlwZVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RpZmllZFwiPnt7aXRlbS5tb2RpZmllZCB8IGxvY2FsZURhdGV9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57e2l0ZW0udGl0bGV9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e2l0ZW0uZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cbjwvZGl2PlxuXG5cblxuIl19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFVTCxLQUFLLEVBQ04sTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFDLHNCQUFzQixFQUMxQiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUdHLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFNBQVMsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRXBELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUV0RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0RUFBNEUsQ0FBQztBQUNwSCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUNoSCxPQUFPLEVBQUMsWUFBWSxF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QVksRUFBRTtHQVNGLGtCQUFrQixDQWlNOUI7U0FqTVksa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsY0FBYyxjQUdaO3dCQUNWLGFBQWE7cUJBQ2Q7MldBc0J5QixhQUFhO3NCQUF0QyxTQUFTO3VCQUFDLGFBQWE7Z0JBR3hCLEtBQUs7c0JBREosWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF2aWdhdGlvbkV4dHJhcywgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQ2FwYWJpbGl0aWVzLFxuICBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICBDb25maWcsXG4gIEVvVXNlcixcbiAgTG9jYWxTdG9yYWdlU2VydmljZSxcbiAgU3RvcmVkUXVlcmllc1NlcnZpY2UsXG4gIFN0b3JlZFF1ZXJ5LFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBVc2VyU2VydmljZSxcbiAgVXRpbHNcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7UGljdHVyZVdpZGdldENvbXBvbmVudCxcbiAgICBQaWN0dXJlV2lkZ2V0U2V0dXBDb21wb25lbnQsXG4gICAgVG9kb1dpZGdldENvbXBvbmVudCxcbiAgICBUb2RvV2lkZ2V0U2V0dXBDb21wb25lbnQsXG4gICAgV2lkZ2V0R3JpZFJlZ2lzdHJ5LFxuICAgIFdpZGdldEdyaWRXb3Jrc3BhY2VDb25maWcsXG4gICAgV2lkZ2V0R3JpZFdvcmtzcGFjZU9wdGlvbnN9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZSc7XG5pbXBvcnQge2xpc3RBbmltYXRpb259IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yayc7XG5pbXBvcnQge1F1aWNrU2VhcmNoUmVzdWx0fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsnO1xuaW1wb3J0IHtRdWlja1NlYXJjaENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrJztcbmltcG9ydCB7U2VhcmNoV2lkZ2V0Q29tcG9uZW50fSBmcm9tICcuL3dpZGdldHMvc2VhcmNoLXdpZGdldC9zZWFyY2gtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsnO1xuaW1wb3J0IHtJZnJhbWVTZXR1cENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2lmcmFtZS13aWRnZXQvaWZyYW1lLXNldHVwL2lmcmFtZS1zZXR1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtMYXN0RWRpdGVkQW5kQ3JlYXRlZENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQnO1xuaW1wb3J0IHtJZnJhbWVXaWRnZXRDb21wb25lbnR9IGZyb20gJy4vd2lkZ2V0cy9pZnJhbWUtd2lkZ2V0L2lmcmFtZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7SW5mb0ludHJheVdpZGdldENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2luZm8taW50cmF5LXdpZGdldC9pbmZvLWludHJheS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7SW5mb0ludHJheVNldHVwQ29tcG9uZW50fSBmcm9tICcuL3dpZGdldHMvaW5mby1pbnRyYXktd2lkZ2V0L2luZm8taW50cmF5LXNldHVwL2luZm8taW50cmF5LXNldHVwLmNvbXBvbmVudCc7XG5pbXBvcnQge0luZm9JbmJveFdpZGdldENvbXBvbmVudH0gZnJvbSAnLi93aWRnZXRzL2luZm8taW5ib3gtd2lkZ2V0L2luZm8taW5ib3gtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0luZm9JbmJveFNldHVwQ29tcG9uZW50fSBmcm9tICcuL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC1zZXR1cC9pbmZvLWluYm94LXNldHVwLmNvbXBvbmVudCc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZGFzaGJvYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgbGlzdEFuaW1hdGlvblxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgd29ya3NwYWNlQ29uZmlnOiBXaWRnZXRHcmlkV29ya3NwYWNlQ29uZmlnIHwgdW5kZWZpbmVkO1xuICB3b3Jrc3BhY2VPcHRpb25zOiBXaWRnZXRHcmlkV29ya3NwYWNlT3B0aW9ucyA9IHtcbiAgICBncmlkQ29uZmlnOiB7XG4gICAgICByb3dzOiAzMCxcbiAgICAgIG5ld0l0ZW1XaWR0aDogMixcbiAgICAgIG5ld0l0ZW1IZWlnaHQ6IDVcbiAgICB9XG4gIH07XG4gIHNhdmVkV29ya3NwYWNlID0gW107XG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBjYXBhYmlsaXRpZXM6IENhcGFiaWxpdGllcztcbiAgc3RvcmVkUXVlcmllczogU3RvcmVkUXVlcnlbXSA9IFtdO1xuICBzZWxlY3RlZFF1ZXJ5OiBTdG9yZWRRdWVyeTtcbiAgcXVpY2tTZWFyY2hSZXN1bHQ6IFF1aWNrU2VhcmNoUmVzdWx0O1xuICB0cmVlID0ge307XG4gIFNUT1JBR0VfS0VZID0gJ2VvLmNsaWVudC5kYXNoYm9hcmQuY3VycmVudFdvcmtzcGFjZSc7XG5cbiAgdXNlcjogRW9Vc2VyO1xuICBAVmlld0NoaWxkKCdxdWlja1NlYXJjaCcpIHF1aWNrU2VhcmNoRWw6IFF1aWNrU2VhcmNoQ29tcG9uZW50O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5KGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LndoaWNoID09PSAyNykge1xuICAgICAgdGhpcy5zZWxlY3RTdG9yZWRRdWVyeShudWxsKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2lkZ2V0R3JpZFJlZ2lzdHJ5OiBXaWRnZXRHcmlkUmVnaXN0cnksXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXBhYmlsaXR5U2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTZXJ2aWNlOiBTdG9yZWRRdWVyaWVzU2VydmljZSkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldERlZmF1bHRUaXRsZSgpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuc2V0V2lkZ2V0R3JpZExhYmVscygpO1xuXG4gIH1cbiAgb25Xb3Jrc3BhY2VzQ29uZmlnQ2hhbmdlKGM6IFdpZGdldEdyaWRXb3Jrc3BhY2VDb25maWcpIHtcbiAgICB0aGlzLnNhdmVXb3Jrc3BhY2VzQ29uZmlnKGMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRXaWRnZXRHcmlkTGFiZWxzKCkge1xuICAgIHRoaXMud2lkZ2V0R3JpZFJlZ2lzdHJ5LnVwZGF0ZVdpZGdldEdyaWRMYWJlbHMoe1xuICAgICAgd2lkZ2V0UGlja2VyVGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLndpZGdldFBpY2tlclRpdGxlJyksXG4gICAgICBhZGRXb3Jrc3BhY2VUb29sdGlwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC5hZGRXb3Jrc3BhY2UnKSxcbiAgICAgIG5vb3BXaWRnZXRMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQubm9vcFdpZGdldExhYmVsJyksXG4gICAgICB3b3Jrc3BhY2VzRW1wdHlNZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53b3Jrc3BhY2VzRW1wdHlNZXNzYWdlJyksXG4gICAgICBuZXdXb3Jrc3BhY2VEZWZhdWx0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLm5ld1dvcmtzcGFjZURlZmF1bHRMYWJlbCcpLFxuICAgICAgd29ya3NwYWNlUmVtb3ZlQ29uZmlybU1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLndvcmtzcGFjZVJlbW92ZUNvbmZpcm1NZXNzYWdlJyksXG4gICAgICB3b3Jrc3BhY2VFZGl0RG9uZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQud29ya3NwYWNlRWRpdERvbmUnKSxcbiAgICAgIHdvcmtzcGFjZUVkaXRDYW5jZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLmNhbmNlbCcpLFxuICAgICAgc2F2ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldEdyaWQuc2F2ZScpLFxuICAgICAgY2FuY2VsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC5jYW5jZWwnKSxcbiAgICAgIGNvbmZpcm06IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXRHcmlkLmNvbmZpcm0nKSxcbiAgICAgIHdpZGdldFRvZG9IZWFkbGluZUxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53aWRnZXRUb2RvSGVhZGxpbmVMYWJlbCcpLFxuICAgICAgd2lkZ2V0VG9kb1Rhc2tUaXRsZUxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53aWRnZXRUaXRsZUxhYmVsJylcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJXaWRnZXRzKCkge1xuICAgIC8vIHJlZ2lzdGVyIHRoZSB0d28gXCJiYWtlZCBpblwiIHdpZGdldHNcbiAgICB0aGlzLndpZGdldEdyaWRSZWdpc3RyeS5yZWdpc3RlckdyaWRXaWRnZXRzKFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQucGljdHVyZScsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LnBpY3R1cmUubGFiZWwnKSxcbiAgICAgICAgc2V0dXBDb21wb25lbnQ6IFBpY3R1cmVXaWRnZXRTZXR1cENvbXBvbmVudCxcbiAgICAgICAgd2lkZ2V0Q29tcG9uZW50OiBQaWN0dXJlV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQudG9kbycsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0R3JpZC53aWRnZXRUb2RvSGVhZGxpbmVMYWJlbCcpLFxuICAgICAgICBzZXR1cENvbXBvbmVudDogVG9kb1dpZGdldFNldHVwQ29tcG9uZW50LFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IFRvZG9XaWRnZXRDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC5MYXN0RWRpdGVkJyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLndvcmtzcGFjZS53aWRnZXQubGFzdEVkaXRlZE9yTGFzdENyZWF0ZWQubGFiZWwnKSxcbiAgICAgICAgd2lkZ2V0Q29tcG9uZW50OiBMYXN0RWRpdGVkQW5kQ3JlYXRlZENvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd5dXYud2lkZ2V0LmlmcmFtZScsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmlmcmFtZS5sYWJlbCcpLFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IElmcmFtZVdpZGdldENvbXBvbmVudCxcbiAgICAgICAgc2V0dXBDb21wb25lbnQ6IElmcmFtZVNldHVwQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQuaW5mb0ludHJheScsXG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby53b3Jrc3BhY2Uud2lkZ2V0LmluZm9JbnRyYXkubGFiZWwnKSxcbiAgICAgICAgd2lkZ2V0Q29tcG9uZW50OiBJbmZvSW50cmF5V2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBzZXR1cENvbXBvbmVudDogSW5mb0ludHJheVNldHVwQ29tcG9uZW50XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAneXV2LndpZGdldC5pbmZvSW5ib3gnLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5pbmZvSW5ib3gubGFiZWwnKSxcbiAgICAgICAgd2lkZ2V0Q29tcG9uZW50OiBJbmZvSW5ib3hXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIHNldHVwQ29tcG9uZW50OiBJbmZvSW5ib3hTZXR1cENvbXBvbmVudFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3l1di53aWRnZXQucXVpY2tTZWFyY2gnLFxuICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ud29ya3NwYWNlLndpZGdldC5xdWlja3NlYXJjaC5sYWJlbCcpLFxuICAgICAgICB3aWRnZXRDb21wb25lbnQ6IFNlYXJjaFdpZGdldENvbXBvbmVudCxcbiAgICAgIH0sXG5cbiAgICBdKTtcbiAgfVxuXG4gIHNlbGVjdFN0b3JlZFF1ZXJ5KHE6IFN0b3JlZFF1ZXJ5KSB7XG4gICAgdGhpcy5zZWxlY3RlZFF1ZXJ5ID0gcTtcbiAgfVxuXG4gIC8vIHVzZXIgY2hhbmdlZCBpbnB1dCBvZiBxdWlja1NlYXJjaCBjb21wb25lbnRcbiAgb25RdWlja1NlYXJjaElucHV0Q2hhbmdlKHRlcm0pIHtcbiAgICB0aGlzLnF1aWNrU2VhcmNoUmVzdWx0ID0gbnVsbDtcbiAgfVxuXG4gIC8vIHF1aWNrU2VhcmNoIGNvbXBvbmVudCBpcyByZXR1cm5pbmcgcmVzdWx0c1xuICBvblF1aWNrU2VhcmNoUmVzdWx0KHJlc3VsdDogUXVpY2tTZWFyY2hSZXN1bHQpIHtcbiAgICB0aGlzLnF1aWNrU2VhcmNoUmVzdWx0ID0gcmVzdWx0O1xuICAgIE9iamVjdC5rZXlzKHRoaXMucXVpY2tTZWFyY2hSZXN1bHQuZ3JvdXBzKS5tYXAoa2V5ID0+ICh0aGlzLnRyZWVba2V5XSA9IHRoaXMuZ2V0VHJlZU5vZGVzKGtleSkpKTtcbiAgfVxuXG4gIG9uU3RvcmVkUXVlcnlMb2FkZWQoKSB7XG4gICAgdGhpcy5zZWxlY3RTdG9yZWRRdWVyeShudWxsKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHttb2RhbDogJ3NlYXJjaCd9fV0pO1xuICB9XG5cbiAgb25TdG9yZWRRdWVyeUV4ZWN1dGUoZXZ0KSB7XG4gICAgdGhpcy5zZWxlY3RTdG9yZWRRdWVyeShudWxsKTtcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShldnQucXVlcnlKc29uKSk7XG4gICAgY29uc3QgdXJpUGFyYW1RdWVyeTogTmF2aWdhdGlvbkV4dHJhcyA9IHtxdWVyeVBhcmFtczogeydxdWVyeSc6IHVyaVBhcmFtfX07XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcmVzdWx0J10sIHVyaVBhcmFtUXVlcnkpO1xuICB9XG4gIGdldFRyZWVOb2RlcyhrZXkpOiBUcmVlTm9kZVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdWlja1NlYXJjaFJlc3VsdC5ncm91cHNba2V5XS5tYXAoZ3JvdXAgPT4gKHtcbiAgICAgIGlkOiBncm91cC5kYXRhLmlkLFxuICAgICAgbmFtZTogZ3JvdXAubGFiZWwsXG4gICAgICBzZWxlY3RhYmxlOiB0cnVlLFxuICAgICAgZGF0YTogZ3JvdXAuZGF0YSxcbiAgICAgIGJhZGdlczogW3t2YWx1ZTogZ3JvdXAuY291bnR9XVxuICAgIH0pKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFdvcmtzcGFjZXNDb25maWcoKTtcbiAgICB0aGlzLnJlZ2lzdGVyV2lkZ2V0cygpO1xuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXR5U2VydmljZS5nZXRDYXBhYmlsaXRpZXMoKTtcbiAgICBpZiAodGhpcy5jYXBhYmlsaXRpZXMuc3RvcmVkcXVlcmllcykge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5nZXRTdG9yZWRRdWVyaWVzJCgpXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKHF1ZXJpZXNTdWJzY3JpcHRpb24gPT4gdGhpcy5zdG9yZWRRdWVyaWVzID0gcXVlcmllc1N1YnNjcmlwdGlvbi5xdWVyaWVzLmZpbHRlcihxID0+IHEuZmF2b3JpdGUpLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbmFtZScpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkV29ya3NwYWNlc0NvbmZpZygpIHtcbiAgICBpZiAoIXRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS51c2VyU2V0dGluZ3Mud29ya3NwYWNlT3B0aW9ucyB8fCB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkudXNlclNldHRpbmdzLndvcmtzcGFjZU9wdGlvbnMud29ya3NwYWNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9kYXNoYm9hcmQuanNvbicpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IFdpZGdldEdyaWRXb3Jrc3BhY2VDb25maWcpID0+IHtcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZUNvbmZpZyA9IHJlcztcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzWzBdLmxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzWzBdLmxhYmVsKTtcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzWzBdLmdyaWQuZm9yRWFjaChncmlkID0+IHtcbiAgICAgICAgICAgIGlmIChncmlkLndpZGdldENvbmZpZykge1xuICAgICAgICAgICAgICBncmlkLndpZGdldENvbmZpZy50aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZ3JpZC53aWRnZXRDb25maWcudGl0bGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIC8vIG5vIGNvbmZpZyBmaWxlIGZvdW5kXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndvcmtzcGFjZUNvbmZpZyA9IHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS51c2VyU2V0dGluZ3Mud29ya3NwYWNlT3B0aW9ucztcbiAgICAgIGNvbnN0IGN1cnJlbnRXb3Jrc3BhY2UgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5TVE9SQUdFX0tFWSk7XG4gICAgICBpZiAoY3VycmVudFdvcmtzcGFjZSAmJiB0aGlzLndvcmtzcGFjZUNvbmZpZy53b3Jrc3BhY2VzLm1hcCgodykgPT4gdy5pZCkuaW5jbHVkZXMoY3VycmVudFdvcmtzcGFjZSkpIHtcbiAgICAgICAgdGhpcy53b3Jrc3BhY2VDb25maWcuY3VycmVudFdvcmtzcGFjZSA9IGN1cnJlbnRXb3Jrc3BhY2U7XG4gICAgICB9IGVsc2UgaWYgKCEhdGhpcy53b3Jrc3BhY2VDb25maWcud29ya3NwYWNlcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy53b3Jrc3BhY2VDb25maWcuY3VycmVudFdvcmtzcGFjZSA9IHRoaXMud29ya3NwYWNlQ29uZmlnLndvcmtzcGFjZXNbMF0uaWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzYXZlV29ya3NwYWNlc0NvbmZpZyhjOiBXaWRnZXRHcmlkV29ya3NwYWNlQ29uZmlnKSB7XG4gICAgLy8gdGhlIHNlbGVjdGVkIHdvcmtzcGFjZSBpcyBzYXZlZCBvbiB0aGUgZGV2aWNlIHdoaWxlIHRoZSB3b3Jrc3BhY2VzIHRoZW1zZWx2ZXMgYXJlIHN0b3JlZCBvbiB0aGUgdXNlciBzZXJ2aWNlXG4gICAgaWYgKGMpIHtcbiAgICAgIHRoaXMudXNlclNlcnZpY2Uuc2F2ZUNoYW5nZVdvcmtzcGFjZShjKS5waXBlKHN3aXRjaE1hcChhc3luYyAoKSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5TVE9SQUdFX0tFWSwgYy5jdXJyZW50V29ya3NwYWNlKSkpLnN1YnNjcmliZSgpXG4gICAgfVxuICB9XG59XG4iLCJcbjxuZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJmYWRlXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmRcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cbiAgICA8eXV2LXdpZGdldC1ncmlkLXdvcmtzcGFjZXMgW3dvcmtzcGFjZUNvbmZpZ109XCJ3b3Jrc3BhY2VDb25maWdcIiAoY29uZmlnQ2hhbmdlKT1cIm9uV29ya3NwYWNlc0NvbmZpZ0NoYW5nZSgkZXZlbnQpXCIgW29wdGlvbnNdPVwid29ya3NwYWNlT3B0aW9uc1wiPlxuICAgIDwveXV2LXdpZGdldC1ncmlkLXdvcmtzcGFjZXM+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cblxuXG5cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { Validators } from '@angular/forms';
4
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@ngx-translate/core";
9
+ import * as i4 from "../../../../../eo-framework/ui/error-message/error-message.component";
10
+ import * as i5 from "../../../../../eo-framework/form-elements/form-input/form-input.component";
11
+ import * as i6 from "../../../../../eo-framework/form-elements/string/string.component";
12
+ import * as i7 from "../iframe-widget.component";
13
+ let IframeSetupComponent = class IframeSetupComponent {
14
+ set widgetConfig(wc) {
15
+ this._widgetConfig = wc;
16
+ this.setupForm.patchValue({
17
+ title: wc ? wc.title : '',
18
+ url: wc ? wc.url : ''
19
+ });
20
+ }
21
+ get widgetConfig() {
22
+ return this._widgetConfig;
23
+ }
24
+ constructor(fb) {
25
+ this.fb = fb;
26
+ this.widgetConfigChange = new EventEmitter();
27
+ this.pattern = /(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&amp;:\/~+#-]*[\w@?^=%&amp;\/~+#-])?/;
28
+ this.setupForm = this.fb.group({
29
+ title: [''],
30
+ url: ['', [Validators.required, Validators.pattern(this.pattern)]],
31
+ });
32
+ this.setupForm.valueChanges.pipe(untilDestroyed(this)).subscribe((_) => {
33
+ this.setWidgetConfig();
34
+ });
35
+ }
36
+ setWidgetConfig() {
37
+ if (this.setupForm.valid) {
38
+ this._widgetConfig = {
39
+ ...this.setupForm.value,
40
+ };
41
+ this.widgetConfigChange.emit(this._widgetConfig);
42
+ }
43
+ }
44
+ };
45
+ IframeSetupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: IframeSetupComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
46
+ IframeSetupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: IframeSetupComponent, selector: "eo-iframe-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\">\n <eo-string formControlName=\"title\"></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.workspace.widget.iframe.setup.url'| translate\" [required]=\"true\">\n <eo-string formControlName=\"url\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"setupForm.get('url').invalid && (setupForm.get('url').dirty || setupForm.get('url').touched)\">\n <div *ngIf=\"setupForm.get('url').errors.pattern\" translate>eo.form.property.string.error.classification.url\n </div>\n </div>\n </form>\n</div>\n<div class=\"preview\" *ngIf=\"!setupForm.get('url').invalid && !setupForm.get('title').invalid; else tpl\">\n <eo-iframe-widget [widgetConfig]=\"widgetConfig\"></eo-iframe-widget>\n</div>\n<ng-template #tpl>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_noUrl.svg', text: 'eo.form.property.string.error.classification.url'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-iframe-widget{border:4px solid var(--panel-divider-color)}:host .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i5.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i6.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i7.IframeWidgetComponent, selector: "eo-iframe-widget", inputs: ["widgetConfig"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
47
+ IframeSetupComponent = __decorate([
48
+ UntilDestroy()
49
+ ], IframeSetupComponent);
50
+ export { IframeSetupComponent };
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: IframeSetupComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'eo-iframe-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input [label]=\"'eo.workspace.widget.setup.title' | translate\" [skipToggle]=\"true\">\n <eo-string formControlName=\"title\"></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.workspace.widget.iframe.setup.url'| translate\" [required]=\"true\">\n <eo-string formControlName=\"url\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"setupForm.get('url').invalid && (setupForm.get('url').dirty || setupForm.get('url').touched)\">\n <div *ngIf=\"setupForm.get('url').errors.pattern\" translate>eo.form.property.string.error.classification.url\n </div>\n </div>\n </form>\n</div>\n<div class=\"preview\" *ngIf=\"!setupForm.get('url').invalid && !setupForm.get('title').invalid; else tpl\">\n <eo-iframe-widget [widgetConfig]=\"widgetConfig\"></eo-iframe-widget>\n</div>\n<ng-template #tpl>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_noUrl.svg', text: 'eo.form.property.string.error.classification.url'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-iframe-widget{border:4px solid var(--panel-divider-color)}:host .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}\n"] }]
54
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { widgetConfigChange: [{
55
+ type: Output
56
+ }], widgetConfig: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLXNldHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2lmcmFtZS13aWRnZXQvaWZyYW1lLXNldHVwL2lmcmFtZS1zZXR1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9pZnJhbWUtd2lkZ2V0L2lmcmFtZS1zZXR1cC9pZnJhbWUtc2V0dXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUF5QixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7QUFRNUQsSUFBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBb0I7SUFXL0IsSUFBYSxZQUFZLENBQUMsRUFBc0I7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDeEIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6QixHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ1UsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFyQmYsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUxRCxZQUFPLEdBQUcsdUZBQXVGLENBQUM7UUFFbEcsY0FBUyxHQUFjLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ25DLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNYLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNuRSxDQUFDLENBQUM7UUFnQkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRztnQkFDbkIsR0FBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUs7YUFDekIsQ0FBQztZQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQzs7aUhBdENVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHdKQ1pqQyx5cUNBdUJBO0FEWGEsb0JBQW9CO0lBTmhDLFlBQVksRUFBRTtHQU1GLG9CQUFvQixDQXVDaEM7U0F2Q1ksb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCO2tHQU9qQixrQkFBa0I7c0JBQTNCLE1BQU07Z0JBUU0sWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0U2V0dXBDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0lmcmFtZX0gZnJvbSAnLi4vaWZyYW1lLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWlmcmFtZS1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pZnJhbWUtc2V0dXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pZnJhbWUtc2V0dXAuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJZnJhbWVTZXR1cENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRTZXR1cENvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBJZnJhbWUgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSB3aWRnZXRDb25maWdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElmcmFtZT4oKTtcblxuICBwYXR0ZXJuID0gLyhodHRwfGZ0cHxodHRwcyk6XFwvXFwvW1xcdy1dKyhcXC5bXFx3LV0rKSsoW1xcdy4sQD9ePSUmYW1wOzpcXC9+KyMtXSpbXFx3QD9ePSUmYW1wO1xcL34rIy1dKT8vO1xuXG4gIHNldHVwRm9ybTogRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgdGl0bGU6IFsnJ10sXG4gICAgdXJsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5wYXR0ZXJuKV1dLFxuICB9KTtcbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyh3YzogSWZyYW1lIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gd2M7XG4gICAgdGhpcy5zZXR1cEZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICB0aXRsZTogd2MgPyB3Yy50aXRsZSA6ICcnLFxuICAgICAgdXJsOiB3YyA/IHdjLnVybCA6ICcnXG4gICAgfSk7XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlclxuICApIHtcbiAgICB0aGlzLnNldHVwRm9ybS52YWx1ZUNoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnNldFdpZGdldENvbmZpZygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRXaWRnZXRDb25maWcoKSB7XG4gICAgaWYgKHRoaXMuc2V0dXBGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLl93aWRnZXRDb25maWcgPSB7XG4gICAgICAgIC4uLiB0aGlzLnNldHVwRm9ybS52YWx1ZSxcbiAgICAgIH07XG4gICAgICB0aGlzLndpZGdldENvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuX3dpZGdldENvbmZpZyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2V0dXBcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuc2V0dXAudGl0bGUnIHwgdHJhbnNsYXRlXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPGVvLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiPjwvZW8tc3RyaW5nPlxuICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCInZW8ud29ya3NwYWNlLndpZGdldC5pZnJhbWUuc2V0dXAudXJsJ3wgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxlby1zdHJpbmcgZm9ybUNvbnRyb2xOYW1lPVwidXJsXCI+PC9lby1zdHJpbmc+XG4gICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cInNldHVwRm9ybS5nZXQoJ3VybCcpLmludmFsaWQgJiYgKHNldHVwRm9ybS5nZXQoJ3VybCcpLmRpcnR5IHx8IHNldHVwRm9ybS5nZXQoJ3VybCcpLnRvdWNoZWQpXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2V0dXBGb3JtLmdldCgndXJsJykuZXJyb3JzLnBhdHRlcm5cIiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3IuY2xhc3NpZmljYXRpb24udXJsXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHJldmlld1wiICpuZ0lmPVwiIXNldHVwRm9ybS5nZXQoJ3VybCcpLmludmFsaWQgJiYgIXNldHVwRm9ybS5nZXQoJ3RpdGxlJykuaW52YWxpZDsgZWxzZSB0cGxcIj5cbiAgICA8ZW8taWZyYW1lLXdpZGdldCBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiPjwvZW8taWZyYW1lLXdpZGdldD5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICN0cGw+XG4gICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19ub1VybC5zdmcnLCB0ZXh0OiAnZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3IuY2xhc3NpZmljYXRpb24udXJsJ31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { Pipe } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/platform-browser";
5
+ import * as i2 from "@angular/common";
6
+ export class SafeUrlPipe {
7
+ constructor(sanitized) {
8
+ this.sanitized = sanitized;
9
+ }
10
+ transform(value) {
11
+ return this.sanitized.bypassSecurityTrustResourceUrl(value);
12
+ }
13
+ }
14
+ SafeUrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
15
+ SafeUrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SafeUrlPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{ name: 'safeUrl' }]
19
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
20
+ export class IframeWidgetComponent {
21
+ set widgetConfig(c) {
22
+ this._widgetConfig = c;
23
+ }
24
+ get widgetConfig() {
25
+ return this._widgetConfig;
26
+ }
27
+ }
28
+ IframeWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: IframeWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ IframeWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: IframeWidgetComponent, selector: "eo-iframe-widget", inputs: { widgetConfig: "widgetConfig" }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true, static: true }], ngImport: i0, template: "\n<header *ngIf=\"widgetConfig?.title\">\n <a>{{widgetConfig?.title}}</a>\n</header>\n<div class=\"iframe\" *ngIf=\"widgetConfig?.url === '' ; else tpl\">\n</div>\n<ng-template #tpl>\n <div class=\"container\" [style.overflow]=\"'hidden'\">\n <iframe class=\"responsive-iframe\" [src]=\"widgetConfig?.url | safeUrl\" #iframe></iframe>\n </div>\n</ng-template>\n\n", styles: [":host header{background-color:var(--color-primary-2);height:40px;display:flex;justify-content:center;align-items:center;color:#fff}:host .container{position:relative;width:100%;overflow:hidden;height:570px}:host .container .responsive-iframe{width:100%;height:100%;border:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SafeUrlPipe, name: "safeUrl" }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: IframeWidgetComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'eo-iframe-widget', template: "\n<header *ngIf=\"widgetConfig?.title\">\n <a>{{widgetConfig?.title}}</a>\n</header>\n<div class=\"iframe\" *ngIf=\"widgetConfig?.url === '' ; else tpl\">\n</div>\n<ng-template #tpl>\n <div class=\"container\" [style.overflow]=\"'hidden'\">\n <iframe class=\"responsive-iframe\" [src]=\"widgetConfig?.url | safeUrl\" #iframe></iframe>\n </div>\n</ng-template>\n\n", styles: [":host header{background-color:var(--color-primary-2);height:40px;display:flex;justify-content:center;align-items:center;color:#fff}:host .container{position:relative;width:100%;overflow:hidden;height:570px}:host .container .responsive-iframe{width:100%;height:100%;border:none}\n"] }]
33
+ }], propDecorators: { iframe: [{
34
+ type: ViewChild,
35
+ args: ['iframe', { static: true }]
36
+ }], widgetConfig: [{
37
+ type: Input
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZyYW1lLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9kYXNoYm9hcmQvd2lkZ2V0cy9pZnJhbWUtd2lkZ2V0L2lmcmFtZS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaWZyYW1lLXdpZGdldC9pZnJhbWUtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcxRCxPQUFPLEVBQWlCLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUdwRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUMvQyxTQUFTLENBQUMsS0FBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7d0dBSlUsV0FBVztzR0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDOztBQWdCeEIsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxJQUFhLFlBQVksQ0FBQyxDQUFxQjtRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O2tIQVZVLHFCQUFxQjtzR0FBckIscUJBQXFCLGtOQ3JCbEMsOFhBWUEsZ2JETmEsV0FBVzsyRkFlWCxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOzhCQU1TLE1BQU07c0JBQTFDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFHdEIsWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVdpZGdldENvbXBvbmVudH0gZnJvbSAnQHl1dXZpcy93aWRnZXQtZ3JpZCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAnc2FmZVVybCd9KVxuZXhwb3J0IGNsYXNzIFNhZmVVcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSAge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7fVxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplZC5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodmFsdWUpO1xuICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIElmcmFtZSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWlmcmFtZS13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaWZyYW1lLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lmcmFtZS13aWRnZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJZnJhbWVXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0Q29tcG9uZW50IHtcblxuICBAVmlld0NoaWxkKCdpZnJhbWUnLCB7c3RhdGljOiB0cnVlfSkgaWZyYW1lO1xuICBwcml2YXRlIF93aWRnZXRDb25maWc6IElmcmFtZSB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKGM6IElmcmFtZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IGM7XG4gIH1cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG59XG5cbiIsIlxuPGhlYWRlciAqbmdJZj1cIndpZGdldENvbmZpZz8udGl0bGVcIj5cbiAgICA8YT57e3dpZGdldENvbmZpZz8udGl0bGV9fTwvYT5cbjwvaGVhZGVyPlxuPGRpdiBjbGFzcz1cImlmcmFtZVwiICpuZ0lmPVwid2lkZ2V0Q29uZmlnPy51cmwgPT09ICcnIDsgZWxzZSB0cGxcIj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICN0cGw+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiICBbc3R5bGUub3ZlcmZsb3ddPVwiJ2hpZGRlbidcIj5cbiAgICAgICAgPGlmcmFtZSBjbGFzcz1cInJlc3BvbnNpdmUtaWZyYW1lXCIgW3NyY109XCJ3aWRnZXRDb25maWc/LnVybCB8IHNhZmVVcmxcIiAjaWZyYW1lPjwvaWZyYW1lPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuIl19