@eo-sdk/client 9.0.0-rc.7 → 9.0.0-rc.8

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 (417) hide show
  1. package/app/eo-client/settings/settings.component.d.ts +2 -1
  2. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +5 -9
  3. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +4 -2
  4. package/app/eo-framework/media/media.component.d.ts +3 -12
  5. package/app/eo-framework/ui/overlay/overlay.component.d.ts +3 -0
  6. package/app/eo-framework/util/directive/trap-focus.directive.d.ts +2 -0
  7. package/assets/_default/i18n/de.json +2 -0
  8. package/assets/_default/i18n/en.json +7 -5
  9. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +5 -0
  10. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  11. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +1 -1
  12. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  13. package/bundles/eo-sdk-client.umd.js +127 -130
  14. package/bundles/eo-sdk-client.umd.js.map +1 -1
  15. package/bundles/eo-sdk-client.umd.min.js +1 -1
  16. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  17. package/eo-sdk-client.metadata.json +1 -1
  18. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  19. package/esm2015/app/eo-client/dashboard/dashboard.component.js +2 -2
  20. package/esm2015/app/eo-client/settings/settings.component.js +7 -4
  21. package/esm2015/app/eo-framework/accordion/simple-accordion/simple-accordion.component.js +18 -23
  22. package/esm2015/app/eo-framework/actions/actions/copy-action/copy-action.js +2 -2
  23. package/esm2015/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.js +3 -2
  24. package/esm2015/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.js +1 -1
  25. package/esm2015/app/eo-framework/app-shell/app-bar/app-bar.component.js +12 -5
  26. package/esm2015/app/eo-framework/app-shell/app-bar/app-search/app-search.component.js +13 -1
  27. package/esm2015/app/eo-framework/form-elements/datetime/datetime.component.js +2 -2
  28. package/esm2015/app/eo-framework/form-elements/form-input/form-input.component.js +1 -1
  29. package/esm2015/app/eo-framework/form-elements/id-reference/id-reference.component.js +1 -1
  30. package/esm2015/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.js +3 -3
  31. package/esm2015/app/eo-framework/form-elements/organization/organization.component.js +1 -1
  32. package/esm2015/app/eo-framework/form-elements/string/string.component.js +3 -3
  33. package/esm2015/app/eo-framework/grid/filters/datetime-filter.component.js +2 -2
  34. package/esm2015/app/eo-framework/grid/filters/organization-filter.component.js +1 -1
  35. package/esm2015/app/eo-framework/media/media.component.js +31 -77
  36. package/esm2015/app/eo-framework/object-details/object-details.component.js +2 -2
  37. package/esm2015/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.js +1 -1
  38. package/esm2015/app/eo-framework/ui/clipboard/clipboard.component.js +2 -2
  39. package/esm2015/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.js +4 -4
  40. package/esm2015/app/eo-framework/ui/overlay/overlay.component.js +10 -4
  41. package/esm2015/app/eo-framework/util/directive/trap-focus.directive.js +22 -4
  42. package/esm2015/projects/eo-sdk/core/lib/model/dms-object.model.js +4 -1
  43. package/esm2015/projects/eo-sdk/core/lib/service/dms/dms.service.js +2 -1
  44. package/esm2015/projects/eo-sdk/core/lib/service/search/search.service.js +2 -1
  45. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +5 -0
  46. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  47. package/fesm2015/eo-sdk-client.js +125 -128
  48. package/fesm2015/eo-sdk-client.js.map +1 -1
  49. package/package.json +2 -2
  50. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +4 -0
  51. package/projects/eo-sdk/core/package.json +1 -1
  52. package/scss/_form.scss +3 -0
  53. package/styles.css +2 -0
  54. package/assets/_default/api/pdf/LICENSE +0 -177
  55. package/assets/_default/api/pdf/build/pdf.js +0 -2
  56. package/assets/_default/api/pdf/build/pdf.js.LICENSE.txt +0 -21
  57. package/assets/_default/api/pdf/build/pdf.js.map +0 -1
  58. package/assets/_default/api/pdf/build/pdf.sandbox.js +0 -2
  59. package/assets/_default/api/pdf/build/pdf.sandbox.js.LICENSE.txt +0 -21
  60. package/assets/_default/api/pdf/build/pdf.sandbox.js.map +0 -1
  61. package/assets/_default/api/pdf/build/pdf.worker.js +0 -2
  62. package/assets/_default/api/pdf/build/pdf.worker.js.LICENSE.txt +0 -21
  63. package/assets/_default/api/pdf/build/pdf.worker.js.map +0 -1
  64. package/assets/_default/api/pdf/web/cmaps/78-EUC-H.bcmap +0 -0
  65. package/assets/_default/api/pdf/web/cmaps/78-EUC-V.bcmap +0 -0
  66. package/assets/_default/api/pdf/web/cmaps/78-H.bcmap +0 -0
  67. package/assets/_default/api/pdf/web/cmaps/78-RKSJ-H.bcmap +0 -0
  68. package/assets/_default/api/pdf/web/cmaps/78-RKSJ-V.bcmap +0 -0
  69. package/assets/_default/api/pdf/web/cmaps/78-V.bcmap +0 -0
  70. package/assets/_default/api/pdf/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
  71. package/assets/_default/api/pdf/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
  72. package/assets/_default/api/pdf/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
  73. package/assets/_default/api/pdf/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
  74. package/assets/_default/api/pdf/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
  75. package/assets/_default/api/pdf/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
  76. package/assets/_default/api/pdf/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
  77. package/assets/_default/api/pdf/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
  78. package/assets/_default/api/pdf/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
  79. package/assets/_default/api/pdf/web/cmaps/Add-H.bcmap +0 -0
  80. package/assets/_default/api/pdf/web/cmaps/Add-RKSJ-H.bcmap +0 -0
  81. package/assets/_default/api/pdf/web/cmaps/Add-RKSJ-V.bcmap +0 -0
  82. package/assets/_default/api/pdf/web/cmaps/Add-V.bcmap +0 -0
  83. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
  84. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
  85. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
  86. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
  87. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
  88. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
  89. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
  90. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  91. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-0.bcmap +0 -0
  92. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-1.bcmap +0 -0
  93. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-2.bcmap +0 -0
  94. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-3.bcmap +0 -0
  95. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-4.bcmap +0 -0
  96. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-5.bcmap +0 -0
  97. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  98. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
  99. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
  100. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
  101. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
  102. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
  103. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
  104. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
  105. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  106. package/assets/_default/api/pdf/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
  107. package/assets/_default/api/pdf/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
  108. package/assets/_default/api/pdf/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
  109. package/assets/_default/api/pdf/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  110. package/assets/_default/api/pdf/web/cmaps/B5-H.bcmap +0 -0
  111. package/assets/_default/api/pdf/web/cmaps/B5-V.bcmap +0 -0
  112. package/assets/_default/api/pdf/web/cmaps/B5pc-H.bcmap +0 -0
  113. package/assets/_default/api/pdf/web/cmaps/B5pc-V.bcmap +0 -0
  114. package/assets/_default/api/pdf/web/cmaps/CNS-EUC-H.bcmap +0 -0
  115. package/assets/_default/api/pdf/web/cmaps/CNS-EUC-V.bcmap +0 -0
  116. package/assets/_default/api/pdf/web/cmaps/CNS1-H.bcmap +0 -0
  117. package/assets/_default/api/pdf/web/cmaps/CNS1-V.bcmap +0 -0
  118. package/assets/_default/api/pdf/web/cmaps/CNS2-H.bcmap +0 -0
  119. package/assets/_default/api/pdf/web/cmaps/CNS2-V.bcmap +0 -3
  120. package/assets/_default/api/pdf/web/cmaps/ETHK-B5-H.bcmap +0 -0
  121. package/assets/_default/api/pdf/web/cmaps/ETHK-B5-V.bcmap +0 -0
  122. package/assets/_default/api/pdf/web/cmaps/ETen-B5-H.bcmap +0 -0
  123. package/assets/_default/api/pdf/web/cmaps/ETen-B5-V.bcmap +0 -0
  124. package/assets/_default/api/pdf/web/cmaps/ETenms-B5-H.bcmap +0 -3
  125. package/assets/_default/api/pdf/web/cmaps/ETenms-B5-V.bcmap +0 -0
  126. package/assets/_default/api/pdf/web/cmaps/EUC-H.bcmap +0 -0
  127. package/assets/_default/api/pdf/web/cmaps/EUC-V.bcmap +0 -0
  128. package/assets/_default/api/pdf/web/cmaps/Ext-H.bcmap +0 -0
  129. package/assets/_default/api/pdf/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
  130. package/assets/_default/api/pdf/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
  131. package/assets/_default/api/pdf/web/cmaps/Ext-V.bcmap +0 -0
  132. package/assets/_default/api/pdf/web/cmaps/GB-EUC-H.bcmap +0 -0
  133. package/assets/_default/api/pdf/web/cmaps/GB-EUC-V.bcmap +0 -0
  134. package/assets/_default/api/pdf/web/cmaps/GB-H.bcmap +0 -4
  135. package/assets/_default/api/pdf/web/cmaps/GB-V.bcmap +0 -0
  136. package/assets/_default/api/pdf/web/cmaps/GBK-EUC-H.bcmap +0 -0
  137. package/assets/_default/api/pdf/web/cmaps/GBK-EUC-V.bcmap +0 -0
  138. package/assets/_default/api/pdf/web/cmaps/GBK2K-H.bcmap +0 -0
  139. package/assets/_default/api/pdf/web/cmaps/GBK2K-V.bcmap +0 -0
  140. package/assets/_default/api/pdf/web/cmaps/GBKp-EUC-H.bcmap +0 -0
  141. package/assets/_default/api/pdf/web/cmaps/GBKp-EUC-V.bcmap +0 -0
  142. package/assets/_default/api/pdf/web/cmaps/GBT-EUC-H.bcmap +0 -0
  143. package/assets/_default/api/pdf/web/cmaps/GBT-EUC-V.bcmap +0 -0
  144. package/assets/_default/api/pdf/web/cmaps/GBT-H.bcmap +0 -0
  145. package/assets/_default/api/pdf/web/cmaps/GBT-V.bcmap +0 -0
  146. package/assets/_default/api/pdf/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
  147. package/assets/_default/api/pdf/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
  148. package/assets/_default/api/pdf/web/cmaps/GBpc-EUC-H.bcmap +0 -0
  149. package/assets/_default/api/pdf/web/cmaps/GBpc-EUC-V.bcmap +0 -0
  150. package/assets/_default/api/pdf/web/cmaps/H.bcmap +0 -0
  151. package/assets/_default/api/pdf/web/cmaps/HKdla-B5-H.bcmap +0 -0
  152. package/assets/_default/api/pdf/web/cmaps/HKdla-B5-V.bcmap +0 -0
  153. package/assets/_default/api/pdf/web/cmaps/HKdlb-B5-H.bcmap +0 -0
  154. package/assets/_default/api/pdf/web/cmaps/HKdlb-B5-V.bcmap +0 -0
  155. package/assets/_default/api/pdf/web/cmaps/HKgccs-B5-H.bcmap +0 -0
  156. package/assets/_default/api/pdf/web/cmaps/HKgccs-B5-V.bcmap +0 -0
  157. package/assets/_default/api/pdf/web/cmaps/HKm314-B5-H.bcmap +0 -0
  158. package/assets/_default/api/pdf/web/cmaps/HKm314-B5-V.bcmap +0 -0
  159. package/assets/_default/api/pdf/web/cmaps/HKm471-B5-H.bcmap +0 -0
  160. package/assets/_default/api/pdf/web/cmaps/HKm471-B5-V.bcmap +0 -0
  161. package/assets/_default/api/pdf/web/cmaps/HKscs-B5-H.bcmap +0 -0
  162. package/assets/_default/api/pdf/web/cmaps/HKscs-B5-V.bcmap +0 -0
  163. package/assets/_default/api/pdf/web/cmaps/Hankaku.bcmap +0 -0
  164. package/assets/_default/api/pdf/web/cmaps/Hiragana.bcmap +0 -0
  165. package/assets/_default/api/pdf/web/cmaps/KSC-EUC-H.bcmap +0 -0
  166. package/assets/_default/api/pdf/web/cmaps/KSC-EUC-V.bcmap +0 -0
  167. package/assets/_default/api/pdf/web/cmaps/KSC-H.bcmap +0 -0
  168. package/assets/_default/api/pdf/web/cmaps/KSC-Johab-H.bcmap +0 -0
  169. package/assets/_default/api/pdf/web/cmaps/KSC-Johab-V.bcmap +0 -0
  170. package/assets/_default/api/pdf/web/cmaps/KSC-V.bcmap +0 -0
  171. package/assets/_default/api/pdf/web/cmaps/KSCms-UHC-H.bcmap +0 -0
  172. package/assets/_default/api/pdf/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  173. package/assets/_default/api/pdf/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  174. package/assets/_default/api/pdf/web/cmaps/KSCms-UHC-V.bcmap +0 -0
  175. package/assets/_default/api/pdf/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
  176. package/assets/_default/api/pdf/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
  177. package/assets/_default/api/pdf/web/cmaps/Katakana.bcmap +0 -0
  178. package/assets/_default/api/pdf/web/cmaps/LICENSE +0 -36
  179. package/assets/_default/api/pdf/web/cmaps/NWP-H.bcmap +0 -0
  180. package/assets/_default/api/pdf/web/cmaps/NWP-V.bcmap +0 -0
  181. package/assets/_default/api/pdf/web/cmaps/RKSJ-H.bcmap +0 -0
  182. package/assets/_default/api/pdf/web/cmaps/RKSJ-V.bcmap +0 -0
  183. package/assets/_default/api/pdf/web/cmaps/Roman.bcmap +0 -0
  184. package/assets/_default/api/pdf/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  185. package/assets/_default/api/pdf/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  186. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  187. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  188. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  189. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  190. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  191. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  192. package/assets/_default/api/pdf/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
  193. package/assets/_default/api/pdf/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
  194. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
  195. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
  196. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
  197. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
  198. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
  199. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
  200. package/assets/_default/api/pdf/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  201. package/assets/_default/api/pdf/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  202. package/assets/_default/api/pdf/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  203. package/assets/_default/api/pdf/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  204. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  205. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  206. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  207. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  208. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  209. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  210. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  211. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  212. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  213. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  214. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  215. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  216. package/assets/_default/api/pdf/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  217. package/assets/_default/api/pdf/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  218. package/assets/_default/api/pdf/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  219. package/assets/_default/api/pdf/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  220. package/assets/_default/api/pdf/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  221. package/assets/_default/api/pdf/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  222. package/assets/_default/api/pdf/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  223. package/assets/_default/api/pdf/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
  224. package/assets/_default/api/pdf/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
  225. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
  226. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
  227. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
  228. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
  229. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
  230. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
  231. package/assets/_default/api/pdf/web/cmaps/V.bcmap +0 -0
  232. package/assets/_default/api/pdf/web/cmaps/WP-Symbol.bcmap +0 -0
  233. package/assets/_default/api/pdf/web/compressed.tracemonkey-pldi-09.pdf +0 -0
  234. package/assets/_default/api/pdf/web/debugger.js +0 -1
  235. package/assets/_default/api/pdf/web/images/annotation-check.svg +0 -11
  236. package/assets/_default/api/pdf/web/images/annotation-comment.svg +0 -16
  237. package/assets/_default/api/pdf/web/images/annotation-help.svg +0 -26
  238. package/assets/_default/api/pdf/web/images/annotation-insert.svg +0 -10
  239. package/assets/_default/api/pdf/web/images/annotation-key.svg +0 -11
  240. package/assets/_default/api/pdf/web/images/annotation-newparagraph.svg +0 -11
  241. package/assets/_default/api/pdf/web/images/annotation-noicon.svg +0 -7
  242. package/assets/_default/api/pdf/web/images/annotation-note.svg +0 -42
  243. package/assets/_default/api/pdf/web/images/annotation-paragraph.svg +0 -16
  244. package/assets/_default/api/pdf/web/images/findbarButton-next.svg +0 -4
  245. package/assets/_default/api/pdf/web/images/findbarButton-previous.svg +0 -4
  246. package/assets/_default/api/pdf/web/images/grab.cur +0 -0
  247. package/assets/_default/api/pdf/web/images/grabbing.cur +0 -0
  248. package/assets/_default/api/pdf/web/images/loading-dark.svg +0 -24
  249. package/assets/_default/api/pdf/web/images/loading-icon.gif +0 -0
  250. package/assets/_default/api/pdf/web/images/loading.svg +0 -1
  251. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-documentProperties.svg +0 -15
  252. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-firstPage.svg +0 -1
  253. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-handTool.svg +0 -1
  254. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-lastPage.svg +0 -1
  255. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-rotateCcw.svg +0 -1
  256. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-rotateCw.svg +0 -4
  257. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-scrollHorizontal.svg +0 -1
  258. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-scrollVertical.svg +0 -1
  259. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-scrollWrapped.svg +0 -1
  260. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-selectTool.svg +0 -4
  261. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-spreadEven.svg +0 -1
  262. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-spreadNone.svg +0 -1
  263. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-spreadOdd.svg +0 -1
  264. package/assets/_default/api/pdf/web/images/shadow.png +0 -0
  265. package/assets/_default/api/pdf/web/images/toolbarButton-bookmark.svg +0 -1
  266. package/assets/_default/api/pdf/web/images/toolbarButton-currentOutlineItem.svg +0 -1
  267. package/assets/_default/api/pdf/web/images/toolbarButton-download.svg +0 -4
  268. package/assets/_default/api/pdf/web/images/toolbarButton-menuArrow.svg +0 -1
  269. package/assets/_default/api/pdf/web/images/toolbarButton-openFile.svg +0 -4
  270. package/assets/_default/api/pdf/web/images/toolbarButton-pageDown.svg +0 -7
  271. package/assets/_default/api/pdf/web/images/toolbarButton-pageUp.svg +0 -12
  272. package/assets/_default/api/pdf/web/images/toolbarButton-presentationMode.svg +0 -1
  273. package/assets/_default/api/pdf/web/images/toolbarButton-print.svg +0 -4
  274. package/assets/_default/api/pdf/web/images/toolbarButton-search.svg +0 -4
  275. package/assets/_default/api/pdf/web/images/toolbarButton-secondaryToolbarToggle.svg +0 -4
  276. package/assets/_default/api/pdf/web/images/toolbarButton-sidebarToggle.svg +0 -4
  277. package/assets/_default/api/pdf/web/images/toolbarButton-viewAttachments.svg +0 -1
  278. package/assets/_default/api/pdf/web/images/toolbarButton-viewLayers.svg +0 -1
  279. package/assets/_default/api/pdf/web/images/toolbarButton-viewOutline.svg +0 -1
  280. package/assets/_default/api/pdf/web/images/toolbarButton-viewThumbnail.svg +0 -4
  281. package/assets/_default/api/pdf/web/images/toolbarButton-zoomIn.svg +0 -4
  282. package/assets/_default/api/pdf/web/images/toolbarButton-zoomOut.svg +0 -4
  283. package/assets/_default/api/pdf/web/images/treeitem-collapsed.svg +0 -1
  284. package/assets/_default/api/pdf/web/images/treeitem-expanded.svg +0 -1
  285. package/assets/_default/api/pdf/web/locale/ach/viewer.properties +0 -199
  286. package/assets/_default/api/pdf/web/locale/af/viewer.properties +0 -176
  287. package/assets/_default/api/pdf/web/locale/an/viewer.properties +0 -242
  288. package/assets/_default/api/pdf/web/locale/ar/viewer.properties +0 -246
  289. package/assets/_default/api/pdf/web/locale/ast/viewer.properties +0 -207
  290. package/assets/_default/api/pdf/web/locale/az/viewer.properties +0 -242
  291. package/assets/_default/api/pdf/web/locale/be/viewer.properties +0 -248
  292. package/assets/_default/api/pdf/web/locale/bg/viewer.properties +0 -234
  293. package/assets/_default/api/pdf/web/locale/bn/viewer.properties +0 -236
  294. package/assets/_default/api/pdf/web/locale/bo/viewer.properties +0 -237
  295. package/assets/_default/api/pdf/web/locale/br/viewer.properties +0 -246
  296. package/assets/_default/api/pdf/web/locale/brx/viewer.properties +0 -204
  297. package/assets/_default/api/pdf/web/locale/bs/viewer.properties +0 -193
  298. package/assets/_default/api/pdf/web/locale/ca/viewer.properties +0 -250
  299. package/assets/_default/api/pdf/web/locale/cak/viewer.properties +0 -248
  300. package/assets/_default/api/pdf/web/locale/ckb/viewer.properties +0 -233
  301. package/assets/_default/api/pdf/web/locale/cs/viewer.properties +0 -248
  302. package/assets/_default/api/pdf/web/locale/cy/viewer.properties +0 -248
  303. package/assets/_default/api/pdf/web/locale/da/viewer.properties +0 -248
  304. package/assets/_default/api/pdf/web/locale/de/viewer.properties +0 -248
  305. package/assets/_default/api/pdf/web/locale/dsb/viewer.properties +0 -248
  306. package/assets/_default/api/pdf/web/locale/el/viewer.properties +0 -248
  307. package/assets/_default/api/pdf/web/locale/en-CA/viewer.properties +0 -248
  308. package/assets/_default/api/pdf/web/locale/en-GB/viewer.properties +0 -248
  309. package/assets/_default/api/pdf/web/locale/en-US/viewer.properties +0 -248
  310. package/assets/_default/api/pdf/web/locale/eo/viewer.properties +0 -248
  311. package/assets/_default/api/pdf/web/locale/es-AR/viewer.properties +0 -248
  312. package/assets/_default/api/pdf/web/locale/es-CL/viewer.properties +0 -248
  313. package/assets/_default/api/pdf/web/locale/es-ES/viewer.properties +0 -248
  314. package/assets/_default/api/pdf/web/locale/es-MX/viewer.properties +0 -248
  315. package/assets/_default/api/pdf/web/locale/et/viewer.properties +0 -238
  316. package/assets/_default/api/pdf/web/locale/eu/viewer.properties +0 -248
  317. package/assets/_default/api/pdf/web/locale/fa/viewer.properties +0 -215
  318. package/assets/_default/api/pdf/web/locale/ff/viewer.properties +0 -234
  319. package/assets/_default/api/pdf/web/locale/fi/viewer.properties +0 -248
  320. package/assets/_default/api/pdf/web/locale/fr/viewer.properties +0 -248
  321. package/assets/_default/api/pdf/web/locale/fy-NL/viewer.properties +0 -248
  322. package/assets/_default/api/pdf/web/locale/ga-IE/viewer.properties +0 -176
  323. package/assets/_default/api/pdf/web/locale/gd/viewer.properties +0 -248
  324. package/assets/_default/api/pdf/web/locale/gl/viewer.properties +0 -248
  325. package/assets/_default/api/pdf/web/locale/gn/viewer.properties +0 -248
  326. package/assets/_default/api/pdf/web/locale/gu-IN/viewer.properties +0 -234
  327. package/assets/_default/api/pdf/web/locale/he/viewer.properties +0 -248
  328. package/assets/_default/api/pdf/web/locale/hi-IN/viewer.properties +0 -234
  329. package/assets/_default/api/pdf/web/locale/hr/viewer.properties +0 -248
  330. package/assets/_default/api/pdf/web/locale/hsb/viewer.properties +0 -248
  331. package/assets/_default/api/pdf/web/locale/hu/viewer.properties +0 -248
  332. package/assets/_default/api/pdf/web/locale/hy-AM/viewer.properties +0 -238
  333. package/assets/_default/api/pdf/web/locale/hye/viewer.properties +0 -244
  334. package/assets/_default/api/pdf/web/locale/ia/viewer.properties +0 -248
  335. package/assets/_default/api/pdf/web/locale/id/viewer.properties +0 -248
  336. package/assets/_default/api/pdf/web/locale/is/viewer.properties +0 -231
  337. package/assets/_default/api/pdf/web/locale/it/viewer.properties +0 -190
  338. package/assets/_default/api/pdf/web/locale/ja/viewer.properties +0 -259
  339. package/assets/_default/api/pdf/web/locale/ka/viewer.properties +0 -248
  340. package/assets/_default/api/pdf/web/locale/kab/viewer.properties +0 -248
  341. package/assets/_default/api/pdf/web/locale/kk/viewer.properties +0 -248
  342. package/assets/_default/api/pdf/web/locale/km/viewer.properties +0 -209
  343. package/assets/_default/api/pdf/web/locale/kn/viewer.properties +0 -186
  344. package/assets/_default/api/pdf/web/locale/ko/viewer.properties +0 -248
  345. package/assets/_default/api/pdf/web/locale/lij/viewer.properties +0 -234
  346. package/assets/_default/api/pdf/web/locale/lo/viewer.properties +0 -145
  347. package/assets/_default/api/pdf/web/locale/locale.properties +0 -321
  348. package/assets/_default/api/pdf/web/locale/lt/viewer.properties +0 -248
  349. package/assets/_default/api/pdf/web/locale/ltg/viewer.properties +0 -212
  350. package/assets/_default/api/pdf/web/locale/lv/viewer.properties +0 -234
  351. package/assets/_default/api/pdf/web/locale/meh/viewer.properties +0 -111
  352. package/assets/_default/api/pdf/web/locale/mk/viewer.properties +0 -138
  353. package/assets/_default/api/pdf/web/locale/mr/viewer.properties +0 -230
  354. package/assets/_default/api/pdf/web/locale/ms/viewer.properties +0 -234
  355. package/assets/_default/api/pdf/web/locale/my/viewer.properties +0 -190
  356. package/assets/_default/api/pdf/web/locale/nb-NO/viewer.properties +0 -248
  357. package/assets/_default/api/pdf/web/locale/ne-NP/viewer.properties +0 -176
  358. package/assets/_default/api/pdf/web/locale/nl/viewer.properties +0 -248
  359. package/assets/_default/api/pdf/web/locale/nn-NO/viewer.properties +0 -248
  360. package/assets/_default/api/pdf/web/locale/oc/viewer.properties +0 -248
  361. package/assets/_default/api/pdf/web/locale/pa-IN/viewer.properties +0 -248
  362. package/assets/_default/api/pdf/web/locale/pl/viewer.properties +0 -248
  363. package/assets/_default/api/pdf/web/locale/pt-BR/viewer.properties +0 -248
  364. package/assets/_default/api/pdf/web/locale/pt-PT/viewer.properties +0 -248
  365. package/assets/_default/api/pdf/web/locale/rm/viewer.properties +0 -248
  366. package/assets/_default/api/pdf/web/locale/ro/viewer.properties +0 -240
  367. package/assets/_default/api/pdf/web/locale/ru/viewer.properties +0 -248
  368. package/assets/_default/api/pdf/web/locale/scn/viewer.properties +0 -101
  369. package/assets/_default/api/pdf/web/locale/sco/viewer.properties +0 -248
  370. package/assets/_default/api/pdf/web/locale/si/viewer.properties +0 -201
  371. package/assets/_default/api/pdf/web/locale/sk/viewer.properties +0 -248
  372. package/assets/_default/api/pdf/web/locale/sl/viewer.properties +0 -248
  373. package/assets/_default/api/pdf/web/locale/son/viewer.properties +0 -172
  374. package/assets/_default/api/pdf/web/locale/sq/viewer.properties +0 -235
  375. package/assets/_default/api/pdf/web/locale/sr/viewer.properties +0 -250
  376. package/assets/_default/api/pdf/web/locale/sv-SE/viewer.properties +0 -248
  377. package/assets/_default/api/pdf/web/locale/szl/viewer.properties +0 -246
  378. package/assets/_default/api/pdf/web/locale/ta/viewer.properties +0 -193
  379. package/assets/_default/api/pdf/web/locale/te/viewer.properties +0 -217
  380. package/assets/_default/api/pdf/web/locale/tg/viewer.properties +0 -142
  381. package/assets/_default/api/pdf/web/locale/th/viewer.properties +0 -248
  382. package/assets/_default/api/pdf/web/locale/tl/viewer.properties +0 -242
  383. package/assets/_default/api/pdf/web/locale/tr/viewer.properties +0 -248
  384. package/assets/_default/api/pdf/web/locale/trs/viewer.properties +0 -206
  385. package/assets/_default/api/pdf/web/locale/uk/viewer.properties +0 -248
  386. package/assets/_default/api/pdf/web/locale/ur/viewer.properties +0 -238
  387. package/assets/_default/api/pdf/web/locale/uz/viewer.properties +0 -162
  388. package/assets/_default/api/pdf/web/locale/vi/viewer.properties +0 -248
  389. package/assets/_default/api/pdf/web/locale/wo/viewer.properties +0 -122
  390. package/assets/_default/api/pdf/web/locale/xh/viewer.properties +0 -176
  391. package/assets/_default/api/pdf/web/locale/zh-CN/viewer.properties +0 -248
  392. package/assets/_default/api/pdf/web/locale/zh-TW/viewer.properties +0 -248
  393. package/assets/_default/api/pdf/web/standard_fonts/FoxitDingbats.pfb +0 -0
  394. package/assets/_default/api/pdf/web/standard_fonts/FoxitFixed.pfb +0 -0
  395. package/assets/_default/api/pdf/web/standard_fonts/FoxitFixedBold.pfb +0 -0
  396. package/assets/_default/api/pdf/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  397. package/assets/_default/api/pdf/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
  398. package/assets/_default/api/pdf/web/standard_fonts/FoxitSans.pfb +0 -0
  399. package/assets/_default/api/pdf/web/standard_fonts/FoxitSansBold.pfb +0 -0
  400. package/assets/_default/api/pdf/web/standard_fonts/FoxitSansBoldItalic.pfb +0 -0
  401. package/assets/_default/api/pdf/web/standard_fonts/FoxitSansItalic.pfb +0 -0
  402. package/assets/_default/api/pdf/web/standard_fonts/FoxitSerif.pfb +0 -0
  403. package/assets/_default/api/pdf/web/standard_fonts/FoxitSerifBold.pfb +0 -0
  404. package/assets/_default/api/pdf/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  405. package/assets/_default/api/pdf/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
  406. package/assets/_default/api/pdf/web/standard_fonts/FoxitSymbol.pfb +0 -0
  407. package/assets/_default/api/pdf/web/standard_fonts/LICENSE_FOXIT +0 -27
  408. package/assets/_default/api/pdf/web/standard_fonts/LICENSE_LIBERATION +0 -102
  409. package/assets/_default/api/pdf/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
  410. package/assets/_default/api/pdf/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  411. package/assets/_default/api/pdf/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
  412. package/assets/_default/api/pdf/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
  413. package/assets/_default/api/pdf/web/viewer.css +0 -2746
  414. package/assets/_default/api/pdf/web/viewer.html +0 -398
  415. package/assets/_default/api/pdf/web/viewer.js +0 -2
  416. package/assets/_default/api/pdf/web/viewer.js.LICENSE.txt +0 -21
  417. package/assets/_default/api/pdf/web/viewer.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Injectable, Inject, ApplicationRef, NgZone, Pipe, NgModule, EventEmitter, Injector, ɵɵdefineInjectable, ɵɵinject, ErrorHandler, Optional, SkipSelf, Component, Input, Output, ViewEncapsulation, ElementRef, Renderer2, Directive, HostListener, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, HostBinding, ViewContainerRef, ViewChildren, forwardRef, ContentChildren, ANALYZE_FOR_ENTRY_COMPONENTS, InjectionToken, ComponentFactoryResolver, ContentChild, QueryList } from '@angular/core';
1
+ import { Injectable, Inject, ApplicationRef, NgZone, Pipe, NgModule, EventEmitter, Injector, ɵɵdefineInjectable, ɵɵinject, ErrorHandler, Optional, SkipSelf, Component, HostBinding, Input, Output, HostListener, ViewEncapsulation, ElementRef, Renderer2, Directive, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, ViewContainerRef, ViewChildren, forwardRef, ContentChildren, ANALYZE_FOR_ENTRY_COMPONENTS, InjectionToken, ComponentFactoryResolver, ContentChild, QueryList } from '@angular/core';
2
2
  import { DecimalPipe, PercentPipe, CurrencyPipe, DatePipe, getLocaleDateTimeFormat, FormatWidth, getLocaleTimeFormat, getLocaleDateFormat, CommonModule, Location, PlatformLocation } from '@angular/common';
3
3
  import { HttpClient, HttpResponse, HttpErrorResponse, HttpClientModule, HTTP_INTERCEPTORS, HttpHeaders } from '@angular/common/http';
4
4
  import { ReplaySubject, BehaviorSubject, from, forkJoin, of, Subject, fromEvent, AsyncSubject, Observable } from 'rxjs';
@@ -2876,40 +2876,35 @@ SafeHtmlPipe.ctorParameters = () => [
2876
2876
 
2877
2877
  class SimpleAccordionComponent {
2878
2878
  constructor() {
2879
+ this.role = 'tablist';
2880
+ this._open = false;
2879
2881
  this.onOpen = new EventEmitter();
2880
- this.index = null;
2881
- this.lastIndex = -1;
2882
2882
  }
2883
- set selected(val) {
2884
- this._selected = val;
2883
+ set open(o) {
2884
+ this._open = o;
2885
+ this.onOpen.emit(this.open);
2885
2886
  }
2886
- get selected() {
2887
- return this._selected;
2888
- }
2889
- onTabOpen(e) {
2890
- const index = e.index;
2891
- this.selected = true;
2892
- this.onOpen.emit(this.selected);
2887
+ get open() {
2888
+ return this._open;
2893
2889
  }
2894
- onTabClose(e = false) {
2895
- this.index = this.lastIndex--;
2896
- this.selected = false;
2897
- this.onOpen.emit(this.selected);
2890
+ onKeyDown(e) {
2891
+ e.preventDefault();
2892
+ this.open = !this.open;
2898
2893
  }
2899
2894
  }
2900
2895
  SimpleAccordionComponent.decorators = [
2901
2896
  { type: Component, args: [{
2902
2897
  selector: 'eo-simple-accordion',
2903
- template: "<p-accordion styleClass=\"{{styles}}\"\n [activeIndex]=\"index\"\n (onOpen)=\"onTabOpen($event)\"\n (onClose)=\"onTabClose($event)\">\n <p-accordionTab class=\"{{headerClass}}\" header=\"{{header}}\"\n [selected]=\"selected\">\n <ng-content></ng-content>\n </p-accordionTab>\n</p-accordion>\n",
2904
- styles: [":host ::ng-deep .ui-accordion .ui-accordion-header{background:transparent;border:0}:host ::ng-deep .ui-accordion .ui-accordion-header a{padding:0;text-decoration:none}:host ::ng-deep .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover{background:transparent}"]
2898
+ template: "<header tabindex=\"0\" role=\"tab\" (click)=\"open = !open\">{{header}}</header>\n<section *ngIf=\"open\" role=\"tabpanel\"><ng-content></ng-content></section>",
2899
+ styles: [":host{--accordion-arrow-color:rgba(0,0,0,0.26);--accordion-outline-color:rgba(0,0,0,0.15)}:host.open>header:before{transform:translateY(.15em) rotate(225deg)}:host>header{-moz-user-select:none;-webkit-user-select:none;align-items:center;background-color:var(--panel-background-grey);border:1px solid var(--accordion-outline-color);border-radius:2px;cursor:pointer;display:flex;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2);user-select:none}:host>header:focus,:host>header:focus-visible{outline:2px solid var(--color-accent)}:host>header:before{-webkit-margin-end:.5em;border-color:var(--accordion-arrow-color);border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;height:.5em;margin-inline-end:.5em;transform:translateY(-.15em) rotate(45deg);transition:transform .2s ease-in-out;width:.5em}"]
2905
2900
  },] }
2906
2901
  ];
2907
2902
  SimpleAccordionComponent.propDecorators = {
2903
+ role: [{ type: HostBinding, args: ['attr.role',] }],
2908
2904
  header: [{ type: Input }],
2909
- styles: [{ type: Input }],
2910
- headerClass: [{ type: Input }],
2911
- selected: [{ type: Input }],
2912
- onOpen: [{ type: Output }]
2905
+ onOpen: [{ type: Output }],
2906
+ open: [{ type: HostBinding, args: ['class.open',] }, { type: Input }],
2907
+ onKeyDown: [{ type: HostListener, args: ['keydown.enter', ['$event'],] }, { type: HostListener, args: ['keydown.space', ['$event'],] }]
2913
2908
  };
2914
2909
 
2915
2910
  class AccordionModule {
@@ -3329,7 +3324,7 @@ class ClipboardComponent {
3329
3324
  const isCopy = (action === ClipboardAction.COPY);
3330
3325
  const isCut = (action === ClipboardAction.CUT);
3331
3326
  const cutAction = (isCut && this.activeLocation && elements.length && elements[0].contextFolder ? this.activeLocation.id !== elements[0].contextFolder.id : true);
3332
- const baseCondition = this.clipboard && this.activeLocation && elements.length;
3327
+ const baseCondition = this.clipboard && this.activeLocation && elements.length && !elements.some(element => element.isFolder);
3333
3328
  this.isPasteAllowed = baseCondition && cutAction;
3334
3329
  this.isPasteAsContentlinkAllowed = baseCondition && elements[0].contextFolder && isCopy && this.contentAvailableForAllItems(elements);
3335
3330
  // trigger change detction here because this method is called from all subscriptions
@@ -3381,7 +3376,7 @@ class IndexdataSummaryComponent {
3381
3376
  this.item = item;
3382
3377
  this.storageInfos = null;
3383
3378
  if (this.storageAccordion) {
3384
- this.storageAccordion.onTabClose();
3379
+ this.storageAccordion.open = false;
3385
3380
  }
3386
3381
  }
3387
3382
  set diff({ indexdata, indexdata2, baseparams, baseparams2 }) {
@@ -3461,9 +3456,9 @@ class IndexdataSummaryComponent {
3461
3456
  IndexdataSummaryComponent.decorators = [
3462
3457
  { type: Component, args: [{
3463
3458
  selector: 'eo-indexdata-summary',
3464
- template: "<div class=\"empty-container\" *ngIf=\"emptyState\">{{'eo.indexdata.summary.no.change' | translate}}</div>\n<div class=\"indexdata-summary\">\n\n <div class=\"core-section\" *ngIf=\"coreValues?.length\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of coreValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n\n </div>\n <div class=\"data-section\" *ngIf=\"dataValues && dataValues.length\">\n <eo-simple-accordion #dataAccordion\n [header]=\"('eo.indexdata.summary.more' | translate)\"\n [selected]=\"moreInfoAcc\"\n (onOpen)=\"onMoreInfoToggle($event)\">\n <div class=\"data\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n <div class=\"baseparams-section\" *ngIf=\"baseparams\">\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.modifiedOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modified' | translate\"\n [value]=\"baseparams.modifiedOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modifier' | translate\"\n [value]=\"baseparams.modifiedBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.createdOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.created' | translate\"\n [value]=\"baseparams.createdOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.creator' | translate\"\n [value]=\"baseparams.createdBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.object.summary.version' | translate\"\n [value]=\"getVersionLink(baseparams.version)\"\n (onValueClicked)=\"onValueClick($event, {version: baseparams.version})\">\n </eo-indexdata-summary-entry>\n\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filename' | translate\"\n [value]=\"baseparams.contentFileName\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentFileSize\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filesize' | translate\"\n [value]=\"diffActive ? {val1: baseparams.contentFileSize['val1'] | fileSize, val2: baseparams.contentFileSize['val2'] | fileSize} : (baseparams.contentFileSize | fileSize)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimegroup' | translate\"\n [value]=\"baseparams.mimeGroup\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetype' | translate\"\n [value]=\"baseparams.mimeType\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.id' | translate\"\n [value]=\"baseparams.id\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentId !== baseparams.id && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.contentId' | translate\"\n [value]=\"baseparams.contentId\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo\" *ngIf=\"item?.content && isUserAllowedToShowStorageSection && !diffActive\">\n <eo-simple-accordion #storageAccordion\n [header]=\"('eo.state.settings.storageinfo' | translate)\"\n [selected]=\"dataInfoAcc\"\n (onOpen)=\"onStorageInfoToggle($event)\">\n\n <div class=\"storageinfo-entry baseparams-section\" *ngIf=\"baseparams\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.global.baseparam.digest' | translate\"\n [value]=\"baseparams.digest\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo-entry baseparams-section\" *ngFor=\"let stInfo of storageInfos; trackBy: trackByIndex\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.retention' | translate\"\n [value]=\"stInfo.retention | localeDate : 'eoShortDate'\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.permanence' | translate\"\n [value]=\"stInfo.permanence\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.setname' | translate\"\n [value]=\"stInfo.setname\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.storagename' | translate\"\n [value]=\"stInfo.storagename\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.location' | translate\"\n [value]=\"stInfo.location\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n</div>\n",
3459
+ template: "<div class=\"empty-container\" *ngIf=\"emptyState\">{{'eo.indexdata.summary.no.change' | translate}}</div>\n<div class=\"indexdata-summary\">\n\n <div class=\"core-section\" *ngIf=\"coreValues?.length\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of coreValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n\n </div>\n <div class=\"data-section\" *ngIf=\"dataValues && dataValues.length\">\n <eo-simple-accordion #dataAccordion\n [header]=\"('eo.indexdata.summary.more' | translate)\"\n [open]=\"moreInfoAcc\"\n (onOpen)=\"onMoreInfoToggle($event)\">\n <div class=\"data\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n <div class=\"baseparams-section\" *ngIf=\"baseparams\">\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.modifiedOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modified' | translate\"\n [value]=\"baseparams.modifiedOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modifier' | translate\"\n [value]=\"baseparams.modifiedBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.createdOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.created' | translate\"\n [value]=\"baseparams.createdOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.creator' | translate\"\n [value]=\"baseparams.createdBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.object.summary.version' | translate\"\n [value]=\"getVersionLink(baseparams.version)\"\n (onValueClicked)=\"onValueClick($event, {version: baseparams.version})\">\n </eo-indexdata-summary-entry>\n\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filename' | translate\"\n [value]=\"baseparams.contentFileName\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentFileSize\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filesize' | translate\"\n [value]=\"diffActive ? {val1: baseparams.contentFileSize['val1'] | fileSize, val2: baseparams.contentFileSize['val2'] | fileSize} : (baseparams.contentFileSize | fileSize)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimegroup' | translate\"\n [value]=\"baseparams.mimeGroup\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetype' | translate\"\n [value]=\"baseparams.mimeType\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.id' | translate\"\n [value]=\"baseparams.id\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentId !== baseparams.id && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.contentId' | translate\"\n [value]=\"baseparams.contentId\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo\" *ngIf=\"item?.content && isUserAllowedToShowStorageSection && !diffActive\">\n <eo-simple-accordion #storageAccordion\n [header]=\"('eo.state.settings.storageinfo' | translate)\"\n [open]=\"dataInfoAcc\"\n (onOpen)=\"onStorageInfoToggle($event)\">\n\n <div class=\"storageinfo-entry baseparams-section\" *ngIf=\"baseparams\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.global.baseparam.digest' | translate\"\n [value]=\"baseparams.digest\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo-entry baseparams-section\" *ngFor=\"let stInfo of storageInfos; trackBy: trackByIndex\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.retention' | translate\"\n [value]=\"stInfo.retention | localeDate : 'eoShortDate'\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.permanence' | translate\"\n [value]=\"stInfo.permanence\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.setname' | translate\"\n [value]=\"stInfo.setname\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.storagename' | translate\"\n [value]=\"stInfo.storagename\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.location' | translate\"\n [value]=\"stInfo.location\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n</div>\n",
3465
3460
  changeDetection: ChangeDetectionStrategy.OnPush,
3466
- styles: [":host{display:block}:host .baseparams-section,:host .core-section,:host .data-section{line-height:1.5em;list-style:none;margin:0}:host .core-section,:host .data-section{margin-bottom:calc(var(--app-pane-padding)/2)}:host .data-section .data{margin-bottom:var(--app-pane-padding);margin-top:calc(var(--app-pane-padding)/2)}:host::ng-deep .ui-accordion .ui-accordion-content{padding:0}:host .storageinfo,:host .storageinfo .storageinfo-entry{margin-top:var(--app-pane-padding)}:host .empty-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}"]
3461
+ styles: [":host{display:block}:host .baseparams-section,:host .core-section,:host .data-section{line-height:1.5em;list-style:none;margin:0}:host .core-section,:host .data-section{margin-bottom:calc(var(--app-pane-padding)/2)}:host .data-section .data{margin-bottom:var(--app-pane-padding);margin-top:calc(var(--app-pane-padding)/2)}:host .storageinfo,:host .storageinfo .storageinfo-entry{margin-top:var(--app-pane-padding)}:host .empty-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}"]
3467
3462
  },] }
3468
3463
  ];
3469
3464
  IndexdataSummaryComponent.ctorParameters = () => [
@@ -3528,10 +3523,15 @@ class OverlayComponent {
3528
3523
  this.iconClass = '';
3529
3524
  this.styleClass = '';
3530
3525
  this.active = false;
3526
+ this.onToggle = new EventEmitter();
3531
3527
  }
3532
3528
  onActiveChanged(event) {
3533
3529
  this.active = event;
3534
3530
  }
3531
+ toggle(event) {
3532
+ this.op.toggle(event);
3533
+ this.onToggle.emit();
3534
+ }
3535
3535
  close() {
3536
3536
  if (this.op) {
3537
3537
  this.op.hide();
@@ -3541,7 +3541,7 @@ class OverlayComponent {
3541
3541
  OverlayComponent.decorators = [
3542
3542
  { type: Component, args: [{
3543
3543
  selector: 'eo-overlay',
3544
- template: "<ng-container *ngIf=\"iconSrc;else btn\">\n <eo-icon class=\"overlayIcon button {{iconClass}}\"\n (click)=\"op.toggle($event)\"\n (keyup.enter)=\"op.toggle($event)\"\n [iconSrc]=\"iconSrc\"\n [badge]=\"badge\"\n [ngClass]=\"{active: active}\"\n tabindex=\"0\"\n [iconTitle]=\"iconTitle\"></eo-icon>\n</ng-container>\n<ng-template #btn>\n <div (click)=\"op.toggle($event)\" (keyup.enter)=\"op.toggle($event)\">\n <ng-content select=\".btn\"></ng-content>\n </div>\n</ng-template>\n<p-overlayPanel #op [styleClass]=\"styleClass\" [dismissable]=\"false\" (eoOutsideClick)=\"op.hide()\">\n <ng-content></ng-content>\n</p-overlayPanel>\n",
3544
+ template: "<ng-container *ngIf=\"iconSrc;else btn\">\n <eo-icon class=\"overlayIcon button {{iconClass}}\"\n (click)=\"toggle($event)\"\n (keyup.enter)=\"toggle($event)\"\n [iconSrc]=\"iconSrc\"\n [badge]=\"badge\"\n [ngClass]=\"{active: active}\"\n tabindex=\"0\"\n [iconTitle]=\"iconTitle\"></eo-icon>\n</ng-container>\n<ng-template #btn>\n <div (click)=\"toggle($event)\" (keyup.enter)=\"toggle($event)\">\n <ng-content select=\".btn\"></ng-content>\n </div>\n</ng-template>\n<p-overlayPanel #op [styleClass]=\"styleClass\" [dismissable]=\"false\" (eoOutsideClick)=\"op.hide()\">\n <ng-content></ng-content>\n</p-overlayPanel>\n",
3545
3545
  styles: [":host ::ng-deep eo-icon.active{color:var(--color-accent)}.eo-header-actions :host ::ng-deep p-overlaypanel>.ui-overlaypanel{background-color:var(--color-white);left:inherit!important;right:var(--app-pane-padding)!important;top:calc(var(--app-pane-padding)*3)!important}.eo-grid-header :host ::ng-deep p-overlaypanel>.ui-overlaypanel{background-color:var(--color-white);left:inherit!important;right:var(--app-pane-padding)!important;top:24px!important}.eo-app-bar :host ::ng-deep p-overlaypanel>.ui-overlaypanel{background-color:var(--color-primary-2);top:var(--app-bar-height)!important}.eo-app-bar :host ::ng-deep p-overlaypanel>.ui-overlaypanel .ui-overlaypanel-content{padding:0}"]
3546
3546
  },] }
3547
3547
  ];
@@ -3552,7 +3552,8 @@ OverlayComponent.propDecorators = {
3552
3552
  iconClass: [{ type: Input }],
3553
3553
  styleClass: [{ type: Input }],
3554
3554
  active: [{ type: Input }],
3555
- iconTitle: [{ type: Input }]
3555
+ iconTitle: [{ type: Input }],
3556
+ onToggle: [{ type: Output }]
3556
3557
  };
3557
3558
 
3558
3559
  class ErrorMessageComponent {
@@ -3944,7 +3945,7 @@ const panelLoadingAnimations = trigger('panelLoading', [
3944
3945
  ]);
3945
3946
 
3946
3947
  class AppBarComponent extends UnsubscribeOnDestroy {
3947
- constructor(userService, capabilityService, translate, inboxService, prepareService, clipboard, renderer, router, bpmService, eventService, config) {
3948
+ constructor(userService, capabilityService, translate, inboxService, prepareService, clipboard, renderer, router, bpmService, eventService, config, elemRef) {
3948
3949
  super();
3949
3950
  this.userService = userService;
3950
3951
  this.capabilityService = capabilityService;
@@ -3957,6 +3958,7 @@ class AppBarComponent extends UnsubscribeOnDestroy {
3957
3958
  this.bpmService = bpmService;
3958
3959
  this.eventService = eventService;
3959
3960
  this.config = config;
3961
+ this.elemRef = elemRef;
3960
3962
  this.transparent = false;
3961
3963
  this.sidebarShow = false;
3962
3964
  this.pageVisible = true;
@@ -4016,6 +4018,11 @@ class AppBarComponent extends UnsubscribeOnDestroy {
4016
4018
  });
4017
4019
  });
4018
4020
  }
4021
+ onToggleProfileOverlay() {
4022
+ setTimeout(() => {
4023
+ this.elemRef.nativeElement.querySelector('#settings').focus();
4024
+ });
4025
+ }
4019
4026
  setIconTitles() {
4020
4027
  this.iconTitles = {
4021
4028
  search: this.translate.instant('eo.bar.button.search.tooltip'),
@@ -4081,7 +4088,7 @@ class AppBarComponent extends UnsubscribeOnDestroy {
4081
4088
  AppBarComponent.decorators = [
4082
4089
  { type: Component, args: [{
4083
4090
  selector: 'eo-app-bar',
4084
- template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"sidebarShow = !sidebarShow\" (keyup.enter)=\"sidebarShow = !sidebarShow\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\" \n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a [routerLink]=\"[ {outlets: { modal: 'search' } } ]\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a [routerLink]=\"[ {outlets: { modal: 'add' } } ]\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a> \n <a [routerLink]=\"[ {outlets: { modal: 'actions' } } ]\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n <eo-app-layout></eo-app-layout>\n </div>\n <a routerLink=\"/favorites\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a routerLink=\"/prepare\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a routerLink=\"/inbox\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel>\n <eo-user-avatar class=\"btn\" id=\"app-profile\" [showPresence]=\"true\" [title]=\"iconTitles.profile\" tabindex=\"0\"></eo-user-avatar>\n\n <div class=\"eo-profile\" tabindex=\"-1\">\n <div class=\"avatar\" tabindex=\"-1\">\n <eo-user-avatar tabindex=\"-1\" ></eo-user-avatar>\n <div class=\"overlay\" tabindex=\"-1\">\n <div class=\"name\">{{user.firstname}} {{user.lastname}}</div>\n <div class=\"mail\">{{user.email}}</div>\n <div class=\"presence\" *ngIf=\"!user.present\" translate>eo.state.settings.presence.absent</div>\n </div>\n </div>\n <div class=\"nav\" eoTrapFocus>\n <div class=\"nav-item settings\" (click)=\"userpanel?.close()\" >\n <a routerLink=\"/settings\" tabindex=\"0\" routerLinkActive=\"active-link\" focusable translate>eo.bar.button.settings.title</a>\n </div>\n <div class=\"nav-item logout\" *ngIf=\"!capabilities.sso\">\n <a [routerLink]=\"['/enter', { logout: true }]\" routerLinkActive=\"active-link\" translate>eo.bar.button.logout.title</a>\n </div>\n <ng-content select=\"eo-sidebar-plugin.profile\"></ng-content>\n </div>\n </div>\n </eo-overlay>\n\n\n </div>\n</div>\n",
4091
+ template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"sidebarShow = !sidebarShow\" (keyup.enter)=\"sidebarShow = !sidebarShow\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\" \n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a [routerLink]=\"[ {outlets: { modal: 'search' } } ]\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a [routerLink]=\"[ {outlets: { modal: 'add' } } ]\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a> \n <a [routerLink]=\"[ {outlets: { modal: 'actions' } } ]\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n <eo-app-layout></eo-app-layout>\n </div>\n <a routerLink=\"/favorites\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a routerLink=\"/prepare\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a routerLink=\"/inbox\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel (onToggle)=\"onToggleProfileOverlay()\">\n <eo-user-avatar class=\"btn\" id=\"app-profile\" [showPresence]=\"true\" [title]=\"iconTitles.profile\" tabindex=\"0\"></eo-user-avatar>\n\n <div class=\"eo-profile\" tabindex=\"-1\">\n <div class=\"avatar\" tabindex=\"-1\">\n <eo-user-avatar tabindex=\"-1\" ></eo-user-avatar>\n <div class=\"overlay\" tabindex=\"-1\">\n <div class=\"name\">{{user.firstname}} {{user.lastname}}</div>\n <div class=\"mail\">{{user.email}}</div>\n <div class=\"presence\" *ngIf=\"!user.present\" translate>eo.state.settings.presence.absent</div>\n </div>\n </div>\n <div class=\"nav\" eoTrapFocus>\n <div class=\"nav-item settings\" (click)=\"userpanel?.close()\" >\n <a routerLink=\"/settings\" id=\"settings\" tabindex=\"0\" routerLinkActive=\"active-link\" focusable translate>eo.bar.button.settings.title</a>\n </div>\n <div class=\"nav-item logout\" *ngIf=\"!capabilities.sso\">\n <a [routerLink]=\"['/enter', { logout: true }]\" routerLinkActive=\"active-link\" translate>eo.bar.button.logout.title</a>\n </div>\n <ng-content select=\"eo-sidebar-plugin.profile\"></ng-content>\n </div>\n </div>\n </eo-overlay>\n\n\n </div>\n</div>\n",
4085
4092
  styles: [":host .eo-app-bar{--profile-dropdown-width:180px;align-items:center;background:var(--color-primary);color:var(--color-white);display:flex;flex-flow:row nowrap;height:var(--app-bar-height);justify-content:space-between;left:0;position:absolute;right:0;top:0;z-index:5}:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon,:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{align-items:center;display:flex;flex-flow:row nowrap;height:var(--app-bar-height)}@media (max-width:480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{background-color:var(--color-accent);box-sizing:border-box;cursor:pointer;height:var(--app-bar-height);padding:20px;width:var(--app-bar-height);z-index:22}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{background-color:transparent;cursor:pointer;height:auto;margin:0 4px;padding:var(--app-pane-padding) calc(var(--app-pane-padding)*2) var(--app-pane-padding) calc(var(--app-pane-padding)/2);width:104px}@media (max-width:480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{align-items:center;display:flex;flex-flow:row nowrap}:host .eo-app-bar .left .actions a eo-icon{border-radius:50%;box-sizing:content-box;color:var(--color-white);cursor:pointer;margin:4px;padding:8px}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right,:host .eo-app-bar .right .sub{align-items:center;display:flex;flex-flow:row nowrap}:host .eo-app-bar .right .sub{margin:0 calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding)/4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{background-color:var(--color-error);bottom:-4px;content:\"\";height:4px;left:0;position:absolute;right:0}@media (max-width:480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar .right #app-profile{border:2px solid transparent;border-radius:50%;cursor:pointer;height:40px;margin:0 var(--app-pane-padding);width:40px}:host .eo-app-bar .right #app-profile:focus,:host .eo-app-bar .right #app-profile:hover{border-color:var(--color-accent)}:host .eo-app-bar .right .eo-profile{background:var(--color-primary);color:var(--color-white);width:var(--profile-dropdown-width)}:host .eo-app-bar .right .eo-profile .avatar{position:relative}:host .eo-app-bar .right .eo-profile .avatar,:host .eo-app-bar .right .eo-profile .avatar eo-user-avatar{height:var(--profile-dropdown-width);width:var(--profile-dropdown-width)}:host .eo-app-bar .right .eo-profile .avatar .overlay{background:rgba(var(--color-primary-rgb),.6);bottom:0;left:0;padding:calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2) var(--app-pane-padding);position:absolute;right:0}:host .eo-app-bar .right .eo-profile .avatar .overlay .mail,:host .eo-app-bar .right .eo-profile .avatar .overlay .name{word-break:break-all}:host .eo-app-bar .right .eo-profile .avatar .overlay .mail{font-size:var(--font-caption)}:host .eo-app-bar .right .eo-profile .avatar .overlay .presence{background:var(--color-error);border-radius:2px;color:var(--color-white);display:inline-block;font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding)/2);padding:0 8px 1px}:host .eo-app-bar .right .eo-profile .nav ::ng-deep .nav-item{border-bottom:1px solid rgba(var(--color-white-rgb),.1)}:host .eo-app-bar .right .eo-profile .nav ::ng-deep .nav-item a{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;color:var(--color-white);cursor:pointer;display:block;padding:calc(var(--app-pane-padding)/2);text-decoration:none;transition:all var(--app-default-transition-duration) ease-in-out}[dir=ltr] :host .eo-app-bar .right .eo-profile .nav ::ng-deep .nav-item a{border-left:4px solid transparent}[dir=rtl] :host .eo-app-bar .right .eo-profile .nav ::ng-deep .nav-item a{border-right:4px solid transparent}:host .eo-app-bar .right .eo-profile .nav ::ng-deep .nav-item a.active-link{background:rgba(var(--color-white-rgb),.06);border-color:var(--color-accent);cursor:default}:host .eo-app-bar .right .eo-profile .nav ::ng-deep .nav-item a:not(.active-link):focus,:host .eo-app-bar .right .eo-profile .nav ::ng-deep .nav-item a:not(.active-link):hover{background:rgba(var(--color-white-rgb),.1)}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media (max-width:480px){:host .eo-app-bar.rtl .left{padding-left:0;padding-right:var(--app-pane-padding)}}@-webkit-keyframes dropDownAppear{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes dropDownAppear{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}"]
4086
4093
  },] }
4087
4094
  ];
@@ -4096,7 +4103,8 @@ AppBarComponent.ctorParameters = () => [
4096
4103
  { type: Router },
4097
4104
  { type: BpmService },
4098
4105
  { type: EventService },
4099
- { type: Config }
4106
+ { type: Config },
4107
+ { type: ElementRef }
4100
4108
  ];
4101
4109
  AppBarComponent.propDecorators = {
4102
4110
  transparent: [{ type: Input }],
@@ -4829,6 +4837,18 @@ class AppSearchComponent {
4829
4837
  }
4830
4838
  saveQuery() {
4831
4839
  // const queryParams: NavigationExtras = {queryParamsHandling : 'preserve'};
4840
+ let queryHasDynamicList = false;
4841
+ this.query.filters.forEach((filter, index) => {
4842
+ const formElementDynamicList = this.idxSearch.type.elements.find(element => element.qname === filter.property && element.type === 'STRING'
4843
+ && !element.reference && element.classification === 'selector');
4844
+ if (formElementDynamicList) {
4845
+ queryHasDynamicList = true;
4846
+ this.query.filters.splice(index, 1);
4847
+ }
4848
+ });
4849
+ if (queryHasDynamicList) {
4850
+ this.notifications.warning(this.translate.instant('eo.search.save.dynamic.lists.warning'));
4851
+ }
4832
4852
  this.router
4833
4853
  .navigate([{ outlets: { modal: null } }], { replaceUrl: true })
4834
4854
  .then(() => this.router.navigate(['/stored-queries'], { queryParams: { create: true } }));
@@ -6526,7 +6546,7 @@ class DatetimeComponent {
6526
6546
  DatetimeComponent.decorators = [
6527
6547
  { type: Component, args: [{
6528
6548
  selector: 'eo-datetime',
6529
- template: "<!-- non web environments use native pickers -->\n<div class=\"eo-datepicker native\" lang=\"{{locale}}\" *ngIf=\"!isWebEnv; else web\">\n <input type=\"date\" [(ngModel)]=\"value\" *ngIf=\"!withTime\" [readonly]=\"readonly\"/>\n <input type=\"datetime-local\" [(ngModel)]=\"value\" [readonly]=\"readonly\" *ngIf=\"withTime\"/>\n</div>\n\n\n<ng-template #web>\n\n <eo-dialog [styleClass]=\"'date-picker'\" [title]=\"pickerTitle\" [(visible)]=\"showPicker\" *ngIf=\"showPicker\">\n <eo-datepicker [date]=\"value\" [withTime]=\"withTime\" [withAmPm]=\"withAmPm\"\n [onlyFutureDates]=\"onlyFutureDates\"\n [useDatabaseMinimumTime]=\"validateDatabaseTimeRange\"\n (onCanceled)=\"(showPicker = false)\"\n (onDateChanged)=\"setValueFromPicker($event)\"></eo-datepicker>\n </eo-dialog>\n\n <div class=\"eo-datepicker\">\n <p-inputMask [mask]=\"maskPattern\" [(ngModel)]=\"innerValue\"\n (ngModelChange)=\"onMaskValueChange($event)\"\n (onComplete)=\"setValueFromMask()\"\n [readonly]=\"readonly\"\n [autoClear]=\"true\"\n [placeholder]=\"datePattern\"></p-inputMask>\n\n <button class=\"ui-button\" (click)=\"(showPicker = true)\" (keyup.arrowDown)=\"(showPicker = true)\" *ngIf=\"!readonly\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_datepicker.svg'\"></eo-icon>\n </button>\n </div>\n\n</ng-template>\n\n\n\n\n\n",
6549
+ template: "<!-- non web environments use native pickers -->\n<div class=\"eo-datepicker native\" lang=\"{{locale}}\" *ngIf=\"!isWebEnv; else web\">\n <input type=\"date\" [(ngModel)]=\"value\" *ngIf=\"!withTime\" [readonly]=\"readonly\"/>\n <input type=\"datetime-local\" [(ngModel)]=\"value\" [readonly]=\"readonly\" *ngIf=\"withTime\"/>\n</div>\n\n\n<ng-template #web>\n\n <eo-dialog [styleClass]=\"'date-picker'\" [title]=\"pickerTitle\" [(visible)]=\"showPicker\" *ngIf=\"showPicker\">\n <eo-datepicker [date]=\"value\" [withTime]=\"withTime\" [withAmPm]=\"withAmPm\"\n [onlyFutureDates]=\"onlyFutureDates\"\n [useDatabaseMinimumTime]=\"validateDatabaseTimeRange\"\n (onCanceled)=\"(showPicker = false)\"\n (onDateChanged)=\"setValueFromPicker($event)\"></eo-datepicker>\n </eo-dialog>\n\n <div class=\"eo-datepicker\">\n <p-inputMask [mask]=\"maskPattern\" [(ngModel)]=\"innerValue\"\n (ngModelChange)=\"onMaskValueChange($event)\"\n (onComplete)=\"setValueFromMask()\"\n [readonly]=\"readonly\"\n [autoClear]=\"true\"\n [placeholder]=\"readonly ? '' : datePattern\"></p-inputMask>\n\n <button class=\"ui-button\" (click)=\"(showPicker = true)\" (keyup.arrowDown)=\"(showPicker = true)\" *ngIf=\"!readonly\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_datepicker.svg'\"></eo-icon>\n </button>\n </div>\n\n</ng-template>\n\n\n\n\n\n",
6530
6550
  providers: [
6531
6551
  {
6532
6552
  provide: NG_VALUE_ACCESSOR,
@@ -6874,7 +6894,7 @@ FormInputComponent.decorators = [
6874
6894
  { type: Component, args: [{
6875
6895
  selector: 'eo-form-input',
6876
6896
  template: "<div class=\"fe-wrapper\" eoInputFocus [disabled]=\"isDisabled\">\n <div class=\"tag\" *ngIf=\"tag\" title=\"{{tag.title}}\">{{tag.label}}</div>\n <label class=\"form-input__label\" (click)=\"toggle()\">{{_label}}</label>\n <div class=\"control\">\n <ng-content *ngIf=\"!toggled; else tplnull\"></ng-content>\n\n <ng-template #tplnull><span translate>eo.form.input.null</span></ng-template>\n </div>\n</div>\n<div class=\"description\" *ngIf=\"description\">{{description}}</div>\n\n",
6877
- styles: [":host .fe-wrapper{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;border-bottom:1px solid rgba(var(--color-black-rgb),.15);display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) 0;transition:all var(--app-default-transition-duration) ease-in-out}:host .fe-wrapper.focused{border-color:var(--color-accent)}:host .fe-wrapper.focused>label{color:var(--color-accent)}:host .fe-wrapper>div.control{flex:1 1 auto;order:1;padding:0 calc(var(--app-pane-padding)/4)}:host .fe-wrapper>div.control>span{background-color:var(--color-accent);border-radius:2px;color:var(--color-white);display:inline-block;font-size:var(--font-hint);padding:0 calc(var(--app-pane-padding)/4)}:host .fe-wrapper>.form-input__label{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-moz-user-select:none;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-user-select:none;border-radius:2px;color:var(--text-color-caption);flex:0 1 auto;font-size:var(--font-caption);margin-right:3px;order:2;padding:2px calc(var(--app-pane-padding)/4);text-align:end;transition:all var(--app-default-transition-duration) ease-in-out;user-select:none}:host .fe-wrapper>.tag{background-color:var(--color-primary-2);border-radius:2px;color:var(--color-white);cursor:default;display:inline-block;flex:0 0 auto;font-size:var(--font-hint);line-height:1em;order:3;padding:2px}:host.checkbox .fe-wrapper>label{text-align:start}:host .description{color:var(--text-color-caption);font-size:var(--font-hint);font-style:italic;padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/8) 0 calc(var(--app-pane-padding)/8)}:host.required .fe-wrapper>label{background-color:rgba(var(--color-black-rgb),.06)}:host.required .fe-wrapper>label:after{content:\"*\";font-weight:700;padding:0 4px}:host.invalid .fe-wrapper{background:rgba(var(--color-error),.15);border-color:var(--color-error)}:host.invalid .fe-wrapper>label{background-color:var(--color-error);color:var(--color-white);margin:0 4px}:host.invalid .fe-wrapper>label:after{content:\"!\";margin-left:calc(var(--app-pane-padding)/2)}:host.disabled{opacity:.5}:host.checkbox .fe-wrapper{border-color:transparent!important}:host.checkbox .fe-wrapper>div.control{flex:0 0 auto}:host.checkbox .fe-wrapper>label{flex:0 1 auto}:host-context(.dark) .fe-wrapper{border-color:rgba(var(--color-white-rgb),.54)}:host-context(.dark) .fe-wrapper>label{color:rgba(var(--color-white-rgb),.84)}:host-context(.dark) .fe-wrapper.focused{border-color:var(--color-white)}:host-context(.dark) .fe-wrapper.focused>label{color:var(--color-white)}:host-context(.dark) ::ng-deep .ui-dropdown.range{background-color:rgba(var(--color-white-rgb),.1)}:host-context(.fe-wrapper) .fe-wrapper{background:transparent;padding:0}:host ::ng-deep .ui-inputtext,:host ::ng-deep input{align-items:center;border:0!important;display:flex;flex-wrap:wrap;padding:0;width:100%}:host ::ng-deep input{background-color:transparent}:host ::ng-deep button.ui-button{background:rgba(var(--color-black-rgb),.08);border:0;border-radius:2px;color:var(--text-color-caption);cursor:pointer;height:20px;width:20px}:host ::ng-deep button.ui-button.ui-spinner-button:enabled:hover,:host ::ng-deep button.ui-button:enabled:active,:host ::ng-deep button.ui-button:enabled:focus,:host ::ng-deep button.ui-button:enabled:hover{background:var(--color-accent);border:0;color:var(--color-white)}:host ::ng-deep button.ui-button .fa{color:currentColor!important}:host ::ng-deep button.ui-button eo-icon{height:16px;margin:auto;width:16px}:host ::ng-deep .ui-dropdown.range{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-black-rgb),.1);border:0;border-radius:2px;margin:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;width:20px!important}:host ::ng-deep .ui-dropdown.range.ui-state-focus{background:var(--color-accent)!important}:host ::ng-deep .ui-dropdown.range.ui-state-focus label{color:var(--color-primary-4)}:host ::ng-deep .ui-dropdown.range:not(.ui-state-disabled):hover{background:rgba(var(--color-black-rgb),.2)}:host ::ng-deep .ui-dropdown.range .ui-dropdown-panel .ui-dropdown-items .ui-dropdown-item{padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host ::ng-deep .ui-dropdown.range .ui-dropdown-trigger{display:none}:host ::ng-deep .ui-dropdown.range .ui-dropdown-item,:host ::ng-deep .ui-dropdown.range label{display:block;font-family:monospace;text-align:center}:host ::ng-deep .ui-dropdown.range label:after{display:none}"]
6897
+ styles: [":host .fe-wrapper{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;border-bottom:1px solid rgba(var(--color-black-rgb),.15);display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) 0;transition:all var(--app-default-transition-duration) ease-in-out}:host .fe-wrapper.focused{border-color:var(--color-accent)}:host .fe-wrapper.focused>label{color:var(--color-accent)}:host .fe-wrapper>div.control{flex:1 1 auto;min-width:0;order:1;padding:0 calc(var(--app-pane-padding)/4)}:host .fe-wrapper>div.control>span{background-color:var(--color-accent);border-radius:2px;color:var(--color-white);display:inline-block;font-size:var(--font-hint);padding:0 calc(var(--app-pane-padding)/4)}:host .fe-wrapper>.form-input__label{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-moz-user-select:none;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-user-select:none;border-radius:2px;color:var(--text-color-caption);flex:0 1 auto;font-size:var(--font-caption);margin-right:3px;order:2;padding:2px calc(var(--app-pane-padding)/4);text-align:end;transition:all var(--app-default-transition-duration) ease-in-out;user-select:none}:host .fe-wrapper>.tag{background-color:var(--color-primary-2);border-radius:2px;color:var(--color-white);cursor:default;display:inline-block;flex:0 0 auto;font-size:var(--font-hint);line-height:1em;order:3;padding:2px}:host.checkbox .fe-wrapper>label{text-align:start}:host .description{color:var(--text-color-caption);font-size:var(--font-hint);font-style:italic;padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/8) 0 calc(var(--app-pane-padding)/8)}:host.required .fe-wrapper>label{background-color:rgba(var(--color-black-rgb),.06)}:host.required .fe-wrapper>label:after{content:\"*\";font-weight:700;padding:0 4px}:host.invalid .fe-wrapper{background:rgba(var(--color-error),.15);border-color:var(--color-error)}:host.invalid .fe-wrapper>label{background-color:var(--color-error);color:var(--color-white);margin:0 4px}:host.invalid .fe-wrapper>label:after{content:\"!\";margin-left:calc(var(--app-pane-padding)/2)}:host.checkbox .fe-wrapper{border-color:transparent!important}:host.checkbox .fe-wrapper>div.control{flex:0 0 auto}:host.checkbox .fe-wrapper>label{flex:0 1 auto}:host-context(.dark) .fe-wrapper{border-color:rgba(var(--color-white-rgb),.54)}:host-context(.dark) .fe-wrapper>label{color:rgba(var(--color-white-rgb),.84)}:host-context(.dark) .fe-wrapper.focused{border-color:var(--color-white)}:host-context(.dark) .fe-wrapper.focused>label{color:var(--color-white)}:host-context(.dark) ::ng-deep .ui-dropdown.range{background-color:rgba(var(--color-white-rgb),.1)}:host-context(.fe-wrapper) .fe-wrapper{background:transparent;padding:0}:host ::ng-deep .ui-inputtext,:host ::ng-deep input{align-items:center;border:0!important;display:flex;flex-wrap:wrap;padding:0;width:100%}:host ::ng-deep input{background-color:transparent}:host ::ng-deep button.ui-button{background:rgba(var(--color-black-rgb),.08);border:0;border-radius:2px;color:var(--text-color-caption);cursor:pointer;height:20px;width:20px}:host ::ng-deep button.ui-button.ui-spinner-button:enabled:hover,:host ::ng-deep button.ui-button:enabled:active,:host ::ng-deep button.ui-button:enabled:focus,:host ::ng-deep button.ui-button:enabled:hover{background:var(--color-accent);border:0;color:var(--color-white)}:host ::ng-deep button.ui-button .fa{color:currentColor!important}:host ::ng-deep button.ui-button eo-icon{height:16px;margin:auto;width:16px}:host ::ng-deep .ui-dropdown.range{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-black-rgb),.1);border:0;border-radius:2px;margin:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;width:20px!important}:host ::ng-deep .ui-dropdown.range.ui-state-focus{background:var(--color-accent)!important}:host ::ng-deep .ui-dropdown.range.ui-state-focus label{color:var(--color-primary-4)}:host ::ng-deep .ui-dropdown.range:not(.ui-state-disabled):hover{background:rgba(var(--color-black-rgb),.2)}:host ::ng-deep .ui-dropdown.range .ui-dropdown-panel .ui-dropdown-items .ui-dropdown-item{padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host ::ng-deep .ui-dropdown.range .ui-dropdown-trigger{display:none}:host ::ng-deep .ui-dropdown.range .ui-dropdown-item,:host ::ng-deep .ui-dropdown.range label{display:block;font-family:monospace;text-align:center}:host ::ng-deep .ui-dropdown.range label:after{display:none}"]
6878
6898
  },] }
6879
6899
  ];
6880
6900
  FormInputComponent.propDecorators = {
@@ -7126,7 +7146,7 @@ IdReferenceComponent.decorators = [
7126
7146
  multi: true
7127
7147
  }
7128
7148
  ],
7129
- styles: [".eo-id-reference{align-items:center;display:flex}.eo-id-reference__element{align-self:center;display:flex;flex-wrap:wrap}.eo-id-reference .ui-button:disabled{cursor:default}::ng-deep .reference-field-dialog{width:577px}::ng-deep .ref-type-icon{height:16px;width:16px}::ng-deep .deleted-reference-label{color:var(--color-error)}::ng-deep .label{display:flex;flex-flow:column;margin-left:4px;margin-right:1em}::ng-deep .label>span{font-size:var(--font-hint)}::ng-deep .label.rtl{margin-left:1em;margin-right:4px}::ng-deep .remove-icon{color:var(--text-color-hint);flex:0 0 auto;height:14px;width:14px}::ng-deep .remove-icon:hover{color:var(--text-color-caption);cursor:pointer}::ng-deep .ui-autocomplete.xxx .ui-autocomplete-multiple-container.ui-inputtext{cursor:default}::ng-deep .ui-autocomplete.xxx .ui-autocomplete-input-token{display:none}p-autoComplete{width:100%}"]
7149
+ styles: [".eo-id-reference{align-items:center;display:flex}.eo-id-reference__element{align-self:center;display:flex;flex-wrap:wrap}.eo-id-reference .ui-button:disabled{cursor:default}::ng-deep .reference-field-dialog{width:577px}::ng-deep .ref-type-icon{height:16px;width:16px}::ng-deep .deleted-reference-label{color:var(--color-error)}::ng-deep .label{display:flex;display:inline-block;flex-flow:column;margin-left:4px;margin-right:1em;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .label>span{font-size:var(--font-hint)}::ng-deep .label.rtl{margin-left:1em;margin-right:4px}::ng-deep .remove-icon{color:var(--text-color-hint);flex:0 0 auto;height:14px;width:14px}::ng-deep .remove-icon:hover{color:var(--text-color-caption);cursor:pointer}::ng-deep .ui-autocomplete.xxx .ui-autocomplete-multiple-container.ui-inputtext{cursor:default}::ng-deep .ui-autocomplete.xxx .ui-autocomplete-input-token{display:none}p-autoComplete{width:100%}"]
7130
7150
  },] }
7131
7151
  ];
7132
7152
  IdReferenceComponent.ctorParameters = () => [
@@ -7487,9 +7507,9 @@ class ReferenceFinderComponent {
7487
7507
  ReferenceFinderComponent.decorators = [
7488
7508
  { type: Component, args: [{
7489
7509
  selector: 'eo-reference-finder',
7490
- template: "\n<section class=\"reference-finder-search--input\">\n <input #searchInput autofocus tabindex=\"1\" (input)=\"searchTerm$.next($event.target.value)\" class=\"search\" type=\"text\" placeholder=\"{{('eo.search.result.term' | translate)}}\"/>\n</section>\n\n<section class=\"reference-finder--content\">\n <div class=\"results\">\n <eo-simple-accordion *ngIf=\"clipboardItems.length && !copyOnly\"\n [header]=\"'eo.clipboard.type.copy' | translate\"\n [selected]=\"clipboardOpen\"\n (onOpen)=\"clipboardOpen = $event;\"\n class=\"results-accordion\">\n <eo-reference-finder-entry *ngFor=\"let list of clipboardItems\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </eo-simple-accordion>\n\n <section *ngIf=\"clipboardItems.length && copyOnly\">\n <eo-reference-finder-entry *ngFor=\"let list of clipboardItems\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </section>\n <div class=\"padding\"></div>\n\n <eo-simple-accordion *ngIf=\"resultList.length && !searchOnly\" [header]=\"'eo.search.title' | translate\" [selected]=\"true\" class=\"results-accordion\">\n <eo-reference-finder-entry *ngFor=\"let list of resultList\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </eo-simple-accordion>\n\n <section *ngIf=\"resultList.length && searchOnly\">\n <eo-reference-finder-entry *ngFor=\"let list of resultList\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </section>\n </div>\n\n\n <div class=\"cta\">\n <button type=\"button\" *ngIf=\"multiselect\" (click)=\"selectAllEntries()\">{{('eo.cta.button.select.all' | translate)}}</button>\n <button type=\"button\" class=\"add\" (click)=\"addItems()\" *ngIf=\"!disableAdd\" [@fadeInOut] [class.active]=\"!disableAdd\" [disabled]=\"disableAdd\" [title]=\"'eo.cta.button.add' | translate\">\n {{('eo.cta.button.add' | translate)}}\n </button>\n </div>\n</section>\n",
7510
+ template: "\n<section class=\"reference-finder-search--input\">\n <input #searchInput autofocus tabindex=\"1\" (input)=\"searchTerm$.next($event.target.value)\" class=\"search\" type=\"text\" placeholder=\"{{('eo.search.result.term' | translate)}}\"/>\n</section>\n\n<section class=\"reference-finder--content\">\n <div class=\"results\">\n <eo-simple-accordion *ngIf=\"clipboardItems.length && !copyOnly\"\n [header]=\"'eo.clipboard.type.copy' | translate\"\n [open]=\"clipboardOpen\"\n (onOpen)=\"clipboardOpen = $event;\"\n class=\"results-accordion\">\n <eo-reference-finder-entry *ngFor=\"let list of clipboardItems\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </eo-simple-accordion>\n\n <section *ngIf=\"clipboardItems.length && copyOnly\">\n <eo-reference-finder-entry *ngFor=\"let list of clipboardItems\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </section>\n <div class=\"padding\"></div>\n\n <eo-simple-accordion *ngIf=\"resultList.length && !searchOnly\" [header]=\"'eo.search.title' | translate\" [open]=\"true\" class=\"results-accordion\">\n <eo-reference-finder-entry *ngFor=\"let list of resultList\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </eo-simple-accordion>\n\n <section *ngIf=\"resultList.length && searchOnly\">\n <eo-reference-finder-entry *ngFor=\"let list of resultList\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </section>\n </div>\n\n\n <div class=\"cta\">\n <button type=\"button\" *ngIf=\"multiselect\" (click)=\"selectAllEntries()\">{{('eo.cta.button.select.all' | translate)}}</button>\n <button type=\"button\" class=\"add\" (click)=\"addItems()\" *ngIf=\"!disableAdd\" [@fadeInOut] [class.active]=\"!disableAdd\" [disabled]=\"disableAdd\" [title]=\"'eo.cta.button.add' | translate\">\n {{('eo.cta.button.add' | translate)}}\n </button>\n </div>\n</section>\n",
7491
7511
  animations: [fadeInOut],
7492
- styles: [".reference-finder-search--input{background-color:var(--color-accent);grid-template-areas:\"search\";padding:var(--app-pane-padding)}.reference-finder--content,.reference-finder-search--input{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr}.reference-finder--content{align-items:center;grid-template-areas:\"results\" \"cta\"}.search{-ms-grid-column:1;-ms-grid-row:1;border:0;border:1px solid var(--panel-background-grey);box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-sizing:border-box;font-size:var(--font-title);grid-area:search;padding:calc(var(--app-pane-padding)/2);width:100%}.search-result--hint{font-size:var(--font-caption)}.results{-ms-grid-column:1;-ms-grid-row:1;grid-area:results;height:330px;margin:var(--app-pane-padding);overflow:scroll}.results-accordion:nth-child(odd){margin-bottom:10px}.cta{align-items:center;border-top:1px solid rgba(var(--color-black-rgb),.1);display:flex;justify-content:space-between;padding:var(--app-pane-padding)}.add{grid-area:add}.add.active{background-color:var(--color-accent);color:var(--color-white)}.padding{padding:5px}:host ::-webkit-scrollbar{width:5px}:host ::ng-deep .ui-accordion-content{padding:1em 0}:host ::ng-deep .ui-accordion-header-text{color:var(--color-black);font-size:var(--font-subhead)}"]
7512
+ styles: [".reference-finder-search--input{background-color:var(--color-accent);grid-template-areas:\"search\";padding:var(--app-pane-padding)}.reference-finder--content,.reference-finder-search--input{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr}.reference-finder--content{align-items:center;grid-template-areas:\"results\" \"cta\"}.search{-ms-grid-column:1;-ms-grid-row:1;border:0;border:1px solid var(--panel-background-grey);box-shadow:0 2px 2px 0 rgba(0,0,0,.2);box-sizing:border-box;font-size:var(--font-title);grid-area:search;padding:calc(var(--app-pane-padding)/2);width:100%}.search-result--hint{font-size:var(--font-caption)}.results{-ms-grid-column:1;-ms-grid-row:1;grid-area:results;height:330px;margin:var(--app-pane-padding);overflow:scroll}.results-accordion:nth-child(odd){margin-bottom:10px}.cta{align-items:center;border-top:1px solid rgba(var(--color-black-rgb),.1);display:flex;justify-content:space-between;padding:var(--app-pane-padding)}.add{grid-area:add}.add.active{background-color:var(--color-accent);color:var(--color-white)}.padding{padding:5px}:host ::-webkit-scrollbar{width:5px}:host ::ng-deep .ui-accordion-content{padding:1em 0}"]
7493
7513
  },] }
7494
7514
  ];
7495
7515
  ReferenceFinderComponent.ctorParameters = () => [
@@ -7919,7 +7939,7 @@ OrganizationComponent.decorators = [
7919
7939
  multi: true
7920
7940
  }
7921
7941
  ],
7922
- styles: [".eo-organization .ui-autocomplete-token-label{display:inline-block}.eo-organization .fa.fa-user,.eo-organization .fa.fa-users{margin:0 4px;text-align:center;width:18px}:host.readonly ::ng-deep .ui-autocomplete-token-icon{display:none}:host ::ng-deep .ui-autocomplete-token{border:none!important;margin:0!important;padding:0!important}:host ::ng-deep .ui-autocomplete-token .token{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{opacity:1}[dir=ltr] :host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px}[dir=rtl] :host ::ng-deep .ui-autocomplete-token-icon{margin-left:4px}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}:host ::ng-deep .deleted-user-label{color:var(--color-error)}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token{margin:0;padding:0;width:0!important}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token input{width:0!important}"]
7942
+ styles: [".eo-organization .ui-autocomplete-token-label{display:inline-block}.eo-organization .fa.fa-user,.eo-organization .fa.fa-users{margin:0 4px;text-align:center;width:18px}:host.readonly ::ng-deep .ui-autocomplete-token-icon{display:none}:host ::ng-deep .ui-autocomplete-token{border:none!important;margin:0!important;padding:0!important}:host ::ng-deep .ui-autocomplete-token .token{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;overflow:hidden;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{opacity:1}[dir=ltr] :host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px}[dir=rtl] :host ::ng-deep .ui-autocomplete-token-icon{margin-left:4px}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}:host ::ng-deep .deleted-user-label{color:var(--color-error)}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token{margin:0;padding:0;width:0!important}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token input{width:0!important}"]
7923
7943
  },] }
7924
7944
  ];
7925
7945
  OrganizationComponent.ctorParameters = () => [
@@ -8171,7 +8191,7 @@ class StringComponent {
8171
8191
  };
8172
8192
  }
8173
8193
  set autocomplete(autoCom) {
8174
- this._autocomplete = this.envService.isCloud() ? false : autoCom;
8194
+ this._autocomplete = autoCom;
8175
8195
  }
8176
8196
  get autocomplete() {
8177
8197
  return this._autocomplete;
@@ -8367,7 +8387,7 @@ StringComponent.decorators = [
8367
8387
  multi: true
8368
8388
  }
8369
8389
  ],
8370
- styles: [".eo-form-string{align-items:center;display:flex;flex-flow:row nowrap}.eo-form-string p-autocomplete{width:100%}.eo-form-string .classify a{color:var(--text-color-hint)}.eo-form-string .classify a:focus,.eo-form-string .classify a:hover{color:var(--text-color-caption)}.eo-form-string .classify.empty{display:none}.eo-form-string .input-textarea{resize:vertical}.eo-form-string .input-textarea.size-small{height:4em}.eo-form-string .input-textarea.size-medium{height:6em}.eo-form-string .input-textarea.size-large{height:8em}:host ::ng-deep input{width:100%}:host ::ng-deep p-chips .ui-state-disabled .ui-chips-input-token{display:none}:host ::ng-deep p-chips{width:100%}"]
8390
+ styles: [".eo-form-string{align-items:center;display:flex;flex-flow:row nowrap}.eo-form-string p-autocomplete{width:100%}.eo-form-string .classify a{color:var(--text-color-hint)}.eo-form-string .classify a:focus,.eo-form-string .classify a:hover{color:var(--text-color-caption)}.eo-form-string .classify.empty{display:none}.eo-form-string .input-textarea{resize:vertical}.eo-form-string .input-textarea.size-small{height:4em}.eo-form-string .input-textarea.size-medium{height:6em}.eo-form-string .input-textarea.size-large{height:8em}:host ::ng-deep input{width:100%}:host ::ng-deep p-chips .ui-state-disabled .ui-chips-input-token{display:none}:host ::ng-deep .ui-chips-input-token{flex:1;min-width:10ch}:host ::ng-deep p-chips{width:100%}"]
8371
8391
  },] }
8372
8392
  ];
8373
8393
  StringComponent.ctorParameters = () => [
@@ -11782,7 +11802,7 @@ class DatetimeFilterComponent extends DatetimeComponent {
11782
11802
  DatetimeFilterComponent.decorators = [
11783
11803
  { type: Component, args: [{
11784
11804
  selector: 'eo-datetime-custom',
11785
- template: "<!-- non web environments use native pickers -->\n<div class=\"eo-datepicker native\" lang=\"{{locale}}\" *ngIf=\"!isWebEnv; else web\">\n <input type=\"date\" [(ngModel)]=\"value\" *ngIf=\"!withTime\" [readonly]=\"readonly\"/>\n <input type=\"datetime-local\" [(ngModel)]=\"value\" [readonly]=\"readonly\" *ngIf=\"withTime\"/>\n</div>\n\n\n<ng-template #web>\n\n <eo-dialog [styleClass]=\"'date-picker'\" [title]=\"pickerTitle\" [(visible)]=\"showPicker\" *ngIf=\"showPicker\">\n <eo-datepicker [date]=\"value\" [withTime]=\"withTime\" [withAmPm]=\"withAmPm\"\n [onlyFutureDates]=\"onlyFutureDates\"\n [useDatabaseMinimumTime]=\"validateDatabaseTimeRange\"\n (onCanceled)=\"(showPicker = false)\"\n (onDateChanged)=\"setValueFromPicker($event)\"></eo-datepicker>\n </eo-dialog>\n\n <div class=\"eo-datepicker\">\n <p-inputMask [mask]=\"maskPattern\" [(ngModel)]=\"innerValue\"\n (ngModelChange)=\"onMaskValueChange($event)\"\n (onComplete)=\"setValueFromMask()\"\n [readonly]=\"readonly\"\n [autoClear]=\"true\"\n [placeholder]=\"datePattern\"></p-inputMask>\n\n <button class=\"ui-button\" (click)=\"(showPicker = true)\" (keyup.arrowDown)=\"(showPicker = true)\" *ngIf=\"!readonly\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_datepicker.svg'\"></eo-icon>\n </button>\n </div>\n\n</ng-template>\n\n\n\n\n\n",
11805
+ template: "<!-- non web environments use native pickers -->\n<div class=\"eo-datepicker native\" lang=\"{{locale}}\" *ngIf=\"!isWebEnv; else web\">\n <input type=\"date\" [(ngModel)]=\"value\" *ngIf=\"!withTime\" [readonly]=\"readonly\"/>\n <input type=\"datetime-local\" [(ngModel)]=\"value\" [readonly]=\"readonly\" *ngIf=\"withTime\"/>\n</div>\n\n\n<ng-template #web>\n\n <eo-dialog [styleClass]=\"'date-picker'\" [title]=\"pickerTitle\" [(visible)]=\"showPicker\" *ngIf=\"showPicker\">\n <eo-datepicker [date]=\"value\" [withTime]=\"withTime\" [withAmPm]=\"withAmPm\"\n [onlyFutureDates]=\"onlyFutureDates\"\n [useDatabaseMinimumTime]=\"validateDatabaseTimeRange\"\n (onCanceled)=\"(showPicker = false)\"\n (onDateChanged)=\"setValueFromPicker($event)\"></eo-datepicker>\n </eo-dialog>\n\n <div class=\"eo-datepicker\">\n <p-inputMask [mask]=\"maskPattern\" [(ngModel)]=\"innerValue\"\n (ngModelChange)=\"onMaskValueChange($event)\"\n (onComplete)=\"setValueFromMask()\"\n [readonly]=\"readonly\"\n [autoClear]=\"true\"\n [placeholder]=\"readonly ? '' : datePattern\"></p-inputMask>\n\n <button class=\"ui-button\" (click)=\"(showPicker = true)\" (keyup.arrowDown)=\"(showPicker = true)\" *ngIf=\"!readonly\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_datepicker.svg'\"></eo-icon>\n </button>\n </div>\n\n</ng-template>\n\n\n\n\n\n",
11786
11806
  styles: [":host .eo-datepicker{align-items:center;display:flex;flex-flow:row nowrap}:host ::ng-deep p-inputmask{flex:1 1 auto}:host ::ng-deep p-inputmask input{background:transparent;border:0;width:100%}"]
11787
11807
  },] }
11788
11808
  ];
@@ -11847,7 +11867,7 @@ OrganizationFilterComponent.decorators = [
11847
11867
  { type: Component, args: [{
11848
11868
  selector: 'eo-organization-filter',
11849
11869
  template: "<div class=\"eo-organization\" [ngClass]=\"{acInputHidden: !multiselect && innerValue.length}\">\n\n <p-autoComplete [(ngModel)]=\"innerValue\" [minLength]=\"1\" #autocomplete\n (onSelect)=\"onSelect($event)\" (onUnselect)=\"onUnselect($event)\"\n (onBlur)=\"onAutoCompleteBlur()\"\n [readonly]=\"readonly\"\n [disabled]=\"readonly\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"autocompleteRes\" field=\"title\"\n (completeMethod)=\"autocompleteFn($event)\" [multiple]=\"true\">\n\n <!-- template for the suggest list -->\n <ng-template let-item pTemplate=\"item\">\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\"></i>\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\n </ng-template>\n\n <!-- template for the selected items when multiple -->\n <ng-template let-item pTemplate=\"selectedItem\">\n <div class=\"token\">\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\" [ngClass]=\"{'deleted-user-label': !item.firstname?.length && !item.lastname?.length && !item.active && !item.type}\"></i>\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length && item.active) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\n <span *ngIf=\"(!item.firstname?.length && !item.lastname?.length && !item.active && !item.type)\" class=\"ui-autocomplete-token-label deleted-user-label\">{{'eo.form.property.organization.error.usernotfound'|translate}}</span>\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.active && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\n </div>\n </ng-template>\n\n </p-autoComplete>\n</div>\n",
11850
- styles: [".eo-organization .ui-autocomplete-token-label{display:inline-block}.eo-organization .fa.fa-user,.eo-organization .fa.fa-users{margin:0 4px;text-align:center;width:18px}:host.readonly ::ng-deep .ui-autocomplete-token-icon{display:none}:host ::ng-deep .ui-autocomplete-token{border:none!important;margin:0!important;padding:0!important}:host ::ng-deep .ui-autocomplete-token .token{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{opacity:1}[dir=ltr] :host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px}[dir=rtl] :host ::ng-deep .ui-autocomplete-token-icon{margin-left:4px}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}:host ::ng-deep .deleted-user-label{color:var(--color-error)}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token{margin:0;padding:0;width:0!important}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token input{width:0!important}"]
11870
+ styles: [".eo-organization .ui-autocomplete-token-label{display:inline-block}.eo-organization .fa.fa-user,.eo-organization .fa.fa-users{margin:0 4px;text-align:center;width:18px}:host.readonly ::ng-deep .ui-autocomplete-token-icon{display:none}:host ::ng-deep .ui-autocomplete-token{border:none!important;margin:0!important;padding:0!important}:host ::ng-deep .ui-autocomplete-token .token{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;overflow:hidden;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{opacity:1}[dir=ltr] :host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px}[dir=rtl] :host ::ng-deep .ui-autocomplete-token-icon{margin-left:4px}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}:host ::ng-deep .deleted-user-label{color:var(--color-error)}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token{margin:0;padding:0;width:0!important}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token input{width:0!important}"]
11851
11871
  },] }
11852
11872
  ];
11853
11873
  OrganizationFilterComponent.ctorParameters = () => [
@@ -13890,11 +13910,6 @@ class MediaComponent extends UnsubscribeOnDestroy {
13890
13910
  this.SIZE_LIMIT = 1024 * 1024 * 10; // 10MB
13891
13911
  this._disabled = false;
13892
13912
  this.attachments = [];
13893
- this.isMedia = false;
13894
- this.isOctetStream = false;
13895
- this.isNotSupported = false;
13896
- this.isLarge = false;
13897
- this.hasError = false;
13898
13913
  this.customConfig = [];
13899
13914
  this.defaultViewers = [
13900
13915
  {
@@ -13913,7 +13928,7 @@ class MediaComponent extends UnsubscribeOnDestroy {
13913
13928
  "mimeType": ["message/rfc822", "application/vnd.ms-outlook"],
13914
13929
  "viewer": "viewer/view/api/mail/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}"
13915
13930
  },
13916
- { "viewer": "() => parameters.defaultViewer + '#'" },
13931
+ { "viewer": "() => parameters.defaultViewer" },
13917
13932
  { "error": true, "type": "error", "viewer": "viewer/view/api/error/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}" }
13918
13933
  ];
13919
13934
  this.undockDisabled = false;
@@ -13921,7 +13936,6 @@ class MediaComponent extends UnsubscribeOnDestroy {
13921
13936
  // by default, the viewer ignores the version of the dms object. This will always show the latest version.
13922
13937
  // We need this to be able to refresh the viewer because otherwise pdfjs worker will fail.
13923
13938
  this.useVersion = false;
13924
- this.fileSizePipe = new FileSizePipe(translate);
13925
13939
  this.SIZE_LIMIT = this.config.getRaw('preview.fileSizeLimit') || this.SIZE_LIMIT;
13926
13940
  this.customConfig = (this.config.getRaw('preview.viewers') || []).concat(this.defaultViewers);
13927
13941
  this.pluginsService.api.content.catchError().subscribe((evt) => {
@@ -13933,7 +13947,7 @@ class MediaComponent extends UnsubscribeOnDestroy {
13933
13947
  win,
13934
13948
  parameters
13935
13949
  ]);
13936
- uri && this.loadDocument(this.resolveUri(uri, parameters), true);
13950
+ uri && win && (win.location.href = this.resolveUri(uri, parameters));
13937
13951
  });
13938
13952
  if (ContentPreviewService.undockWinActive()) {
13939
13953
  this.undock(false);
@@ -13964,14 +13978,10 @@ class MediaComponent extends UnsubscribeOnDestroy {
13964
13978
  return this._previewUri;
13965
13979
  }
13966
13980
  set previewFile(file) {
13967
- var _a;
13968
13981
  if (file) {
13969
13982
  this.viewer = this.getViewer(file);
13970
- this.isMedia = this.viewer.viewer !== MediaComponent.PDF_VIEWER;
13971
- this.isOctetStream = !!((_a = file.mimegroup) === null || _a === void 0 ? void 0 : _a.match(/octet-stream/));
13972
- this.isLarge = file.size && file.size > this.SIZE_LIMIT;
13973
13983
  this.mediaType = file.mediaTypeName && this.system.getObjectType(file.mediaTypeName);
13974
- this.previewUri = this.isMedia ? this.viewer.previewUri : file.uriPdf;
13984
+ this.previewUri = this.viewer.previewUri;
13975
13985
  }
13976
13986
  else {
13977
13987
  this.previewUri = '';
@@ -13997,7 +14007,7 @@ class MediaComponent extends UnsubscribeOnDestroy {
13997
14007
  path: file.path,
13998
14008
  mediaTypeName: item.typeName
13999
14009
  };
14000
- if (!!((_a = file.mimegroup) === null || _a === void 0 ? void 0 : _a.match(/^mail|octet-stream/)) && !this.isMedia) {
14010
+ if (!!((_a = file.mimegroup) === null || _a === void 0 ? void 0 : _a.match(/^mail|octet-stream/)) && this.viewer.viewer.startsWith(MediaComponent.PDF_VIEWER)) {
14001
14011
  this.slideUri = this.dms.getSlide(item.content.id, item.content.type, this.useVersion ? item.version : null, 256);
14002
14012
  this.attachmentsLoading = this.dms.getAttachments(item).subscribe(a => this.setAttachments = a);
14003
14013
  }
@@ -14006,13 +14016,12 @@ class MediaComponent extends UnsubscribeOnDestroy {
14006
14016
  this.previewUri = '';
14007
14017
  }
14008
14018
  }
14009
- selectAttachment(attachment, force) {
14010
- const previewUri = attachment && this.isMedia ? this.getViewer({ uriPdf: attachment === null || attachment === void 0 ? void 0 : attachment.previewUri }).previewUri : attachment === null || attachment === void 0 ? void 0 : attachment.previewUri;
14011
- this.loadDocument(previewUri || this.previewUri, force);
14019
+ selectAttachment(attachment) {
14020
+ const previewUri = attachment && this.getViewer({ uriPdf: attachment.previewUri }).previewUri;
14021
+ this.loadDocument(previewUri || this.previewUri, true);
14012
14022
  }
14013
14023
  toogleViewer() {
14014
14024
  this.open = !this.disabled && !!this.previewUri;
14015
- this.undockDisabled = this.undockDisabled ? true : this.previewUri === '';
14016
14025
  if (this.undockDisabled) {
14017
14026
  this.isUndocked = false;
14018
14027
  }
@@ -14023,18 +14032,11 @@ class MediaComponent extends UnsubscribeOnDestroy {
14023
14032
  refresh() {
14024
14033
  this.loadDocument(this.previewUri, true);
14025
14034
  }
14026
- openPdfViewer(uri) {
14027
- this.pdfjs.contentWindow.PDFViewerApplication.open(uri).then(() => (this.hasError = false)).catch((err) => {
14028
- this.hasError = !this.isOctetStream;
14029
- this.isNotSupported = this.isOctetStream;
14030
- });
14031
- // this.search();
14032
- }
14033
14035
  getViewer(file) {
14034
14036
  var _a, _b;
14035
14037
  const isVideo = !!((_a = file.mimegroup) === null || _a === void 0 ? void 0 : _a.match(/^audio|^video/));
14036
14038
  const defaultViewer = isVideo ? MediaComponent.VIDEO_VIEWER : MediaComponent.PDF_VIEWER;
14037
- const fileExtension = ((_b = file.path) === null || _b === void 0 ? void 0 : _b.includes('.')) ? file.path.split('.').pop() : '';
14039
+ const fileExtension = file.fileExtension || (((_b = file.path) === null || _b === void 0 ? void 0 : _b.includes('.')) ? file.path.split('.').pop() : '');
14038
14040
  const mimeType = file.mimetype;
14039
14041
  const config = this.customConfig.find((c) => {
14040
14042
  const matchMT = !c.mimeType || (typeof c.mimeType === 'string' ? [c.mimeType] : c.mimeType).includes(mimeType === null || mimeType === void 0 ? void 0 : mimeType.toLowerCase());
@@ -14117,48 +14119,19 @@ class MediaComponent extends UnsubscribeOnDestroy {
14117
14119
  }
14118
14120
  loadDocument(uri, force) {
14119
14121
  var _a, _b;
14120
- if (force) {
14121
- this.isLarge = false;
14122
- }
14123
- if (!force && (this.disabled || !uri || (uri === this.latestUri && !this.hasError))) {
14122
+ if (!force && (this.disabled || !uri || (uri === this.latestUri))) {
14124
14123
  return false;
14125
14124
  }
14126
14125
  this.latestUri = uri || '';
14127
- this.hasError = false;
14128
- this.isNotSupported = false;
14129
14126
  if (this.isUndocked) {
14130
14127
  this.openWindow(this.latestUri);
14131
14128
  const onload = () => { var _a; return this.pluginsService.applyFunction((_a = this.viewer) === null || _a === void 0 ? void 0 : _a.load, 'iframe, component', [this.undockWin, this]); };
14132
14129
  this.iframeInit(this.undockWin, ((_a = this.viewer) === null || _a === void 0 ? void 0 : _a.load) && onload);
14133
- return false;
14134
- }
14135
- if (this.isMedia) {
14136
- this.renderer.setAttribute(this.iframeMedia.nativeElement, 'src', this.latestUri);
14137
- const onload = () => { var _a; return this.pluginsService.applyFunction((_a = this.viewer) === null || _a === void 0 ? void 0 : _a.load, 'iframe, component', [this.iframeMedia.nativeElement, this]); };
14138
- this.iframeInit(this.iframeMedia.nativeElement, ((_b = this.viewer) === null || _b === void 0 ? void 0 : _b.load) && onload);
14139
14130
  }
14140
14131
  else {
14141
- if (!this.pdfjs) {
14142
- this.pdfjs = this.iframe.nativeElement;
14143
- this.renderer.setAttribute(this.pdfjs, 'src', MediaComponent.PDF_VIEWER.replace(/\?.*/, '?file=&'));
14144
- this.renderer.listen(this.pdfjs, 'load', () => {
14145
- this.pdfjs.contentWindow.PDFViewerApplicationOptions.set('sidebarViewOnLoad', 0);
14146
- this.pdfjs.contentWindow.PDFViewerApplicationOptions.set('viewOnLoad', false);
14147
- this.pdfjs.contentWindow.PDFViewerApplicationOptions.set('locale', ContentPreviewService.mapLang(this.translate.currentLang));
14148
- this.pdfjs.contentWindow.document.webL10n.setLanguage(ContentPreviewService.mapLang(this.translate.currentLang));
14149
- this.pdfjs.contentWindow.PDFViewerApplication._initializeL10n();
14150
- this.pdfjs.contentWindow.PDFViewerApplicationOptions.set('viewerCssTheme', 1);
14151
- this.pdfjs.contentWindow.PDFViewerApplication._forceCssTheme();
14152
- this.pdfjs.contentWindow.PDFViewerApplication.appConfig.viewerContainer
14153
- .addEventListener('dragenter', e => window.document.dispatchEvent(new DragEvent('dragenter', e)));
14154
- this.pdfjs.contentWindow.PDFViewerApplication.appConfig.viewerContainer.addEventListener('drop', e => e.stopPropagation());
14155
- this.openPdfViewer(this.latestUri);
14156
- });
14157
- }
14158
- else if (this.pdfjs.contentWindow && this.pdfjs.contentWindow.PDFViewerApplication) {
14159
- this.pdfjs.contentWindow.PDFViewerApplication.pdfSidebar.close();
14160
- this.openPdfViewer(this.latestUri);
14161
- }
14132
+ this.renderer.setAttribute(this.iframe.nativeElement, 'src', this.latestUri);
14133
+ const onload = () => { var _a; return this.pluginsService.applyFunction((_a = this.viewer) === null || _a === void 0 ? void 0 : _a.load, 'iframe, component', [this.iframe.nativeElement, this]); };
14134
+ this.iframeInit(this.iframe.nativeElement, ((_b = this.viewer) === null || _b === void 0 ? void 0 : _b.load) && onload);
14162
14135
  }
14163
14136
  }
14164
14137
  /**
@@ -14167,28 +14140,23 @@ class MediaComponent extends UnsubscribeOnDestroy {
14167
14140
  * @param win iframe window
14168
14141
  */
14169
14142
  searchPDF(term = '', win) {
14170
- var _a, _b;
14143
+ var _a, _b, _c;
14171
14144
  // remove all special characters
14172
14145
  term = (term || '').replace(/[\"|\*]/g, '').trim();
14173
14146
  if (term && ((_b = (_a = win === null || win === void 0 ? void 0 : win.PDFViewerApplication) === null || _a === void 0 ? void 0 : _a.appConfig) === null || _b === void 0 ? void 0 : _b.findBar)) {
14174
- win.PDFViewerApplication.findController.executeCommand('find', {
14175
- caseSensitive: false,
14176
- findPrevious: undefined,
14177
- highlightAll: true,
14178
- phraseSearch: true,
14179
- query: term
14180
- });
14181
14147
  win.PDFViewerApplication.appConfig.findBar.findField.value = term;
14182
14148
  win.PDFViewerApplication.appConfig.findBar.highlightAllCheckbox.checked = true;
14183
14149
  win.PDFViewerApplication.appConfig.findBar.caseSensitiveCheckbox.checked = false;
14150
+ // trigger find event on pdf.js load
14151
+ (_c = win.PDFViewerApplication.initializedPromise) === null || _c === void 0 ? void 0 : _c.then(() => win.PDFViewerApplication.findBar.dispatchEvent());
14184
14152
  }
14185
14153
  }
14186
14154
  preventDropEvent(win) {
14187
- var _a, _b, _c, _d;
14188
- if ((_b = (_a = this.iframe) === null || _a === void 0 ? void 0 : _a.src) === null || _b === void 0 ? void 0 : _b.startsWith(window.location.origin)) {
14189
- (_c = win === null || win === void 0 ? void 0 : win.document) === null || _c === void 0 ? void 0 : _c.addEventListener('drop', (e) => e.stopPropagation());
14155
+ var _a, _b, _c;
14156
+ if (((_a = win === null || win === void 0 ? void 0 : win.location) === null || _a === void 0 ? void 0 : _a.origin) === window.location.origin) {
14157
+ (_b = win === null || win === void 0 ? void 0 : win.document) === null || _b === void 0 ? void 0 : _b.addEventListener('drop', (e) => e.stopPropagation());
14190
14158
  // dispach drag & drop events to main window
14191
- (_d = win === null || win === void 0 ? void 0 : win.document) === null || _d === void 0 ? void 0 : _d.addEventListener('dragenter', (e) => {
14159
+ (_c = win === null || win === void 0 ? void 0 : win.document) === null || _c === void 0 ? void 0 : _c.addEventListener('dragenter', (e) => {
14192
14160
  window.document.dispatchEvent(new DragEvent('dragenter', e));
14193
14161
  setTimeout(() => window.document.dispatchEvent(new DragEvent('dragleave', e)), 10);
14194
14162
  });
@@ -14196,13 +14164,14 @@ class MediaComponent extends UnsubscribeOnDestroy {
14196
14164
  }
14197
14165
  iframeInit(iframe = this.iframe, onload) {
14198
14166
  if (iframe) {
14167
+ this.loading = true;
14199
14168
  iframe._init || fromEvent(iframe, 'load')
14200
14169
  .pipe(takeUntil(this.componentDestroyed$))
14201
14170
  .subscribe(() => {
14202
14171
  const win = this.setApi(iframe);
14203
14172
  onload && onload();
14173
+ this.loading = false;
14204
14174
  setTimeout(() => {
14205
- // this.loading = false;
14206
14175
  this.searchPDF(this.searchTerm, win);
14207
14176
  this.preventDropEvent(win);
14208
14177
  }, 100);
@@ -14211,9 +14180,17 @@ class MediaComponent extends UnsubscribeOnDestroy {
14211
14180
  }
14212
14181
  }
14213
14182
  setApi(iframe) {
14183
+ var _a;
14214
14184
  // set api to iframe window
14215
14185
  const win = (iframe === null || iframe === void 0 ? void 0 : iframe.contentWindow) || iframe;
14216
14186
  win['api'] = window['api'];
14187
+ if ((_a = win['api']) === null || _a === void 0 ? void 0 : _a.content) {
14188
+ win['api'].content.resolveViewerParams = (parameters) => {
14189
+ const uri = parameters.path.replace(location.origin, '');
14190
+ const viewer = this.getViewer({ uri, mimetype: parameters.mimeType, fileExtension: parameters.fileExtension, uriPdf: '', mimegroup: '', size: 1 });
14191
+ return { uri: viewer.previewUri || parameters.path };
14192
+ };
14193
+ }
14217
14194
  return win;
14218
14195
  }
14219
14196
  ngAfterViewInit() {
@@ -14227,7 +14204,7 @@ MediaComponent.PDF_VIEWER = 'viewer/view/api/pdf/web/viewer.html?file=&path=${pa
14227
14204
  MediaComponent.decorators = [
14228
14205
  { type: Component, args: [{
14229
14206
  selector: 'eo-media',
14230
- template: "<div [hidden]=\"!open\">\n\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\" [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null, isLarge)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a, isLarge)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\"\n (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\" [hidden]=\"hasError\">\n <iframe [hidden]=\"isNotSupported || isUndocked || isMedia\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <iframe [hidden]=\"isNotSupported || isUndocked || !isMedia\" #iframeMedia height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"slide\" *ngIf=\"isNotSupported || isUndocked\">\n <!--<img *ngIf=\"!isMedia\" [src]=\"slideUri\" alt=\"preview\">-->\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n <div class=\"large-content not-supported\" *ngIf=\"isNotSupported\" translate>eo.object.preview.not.supported</div>\n </div>\n </div>\n</div>\n\n<div [hidden]=\"!hasError && open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n\n<eo-icon *ngIf=\"!undockDisabled\" class=\"button undock\" [iconSrc]=\"'assets/_default/svg/ic_undock.svg'\" (click)=\"undock()\"></eo-icon>\n",
14207
+ template: "<div [hidden]=\"!open\">\n\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\" [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\"\n (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n\n<eo-icon *ngIf=\"!undockDisabled\" [hidden]=\"previewUri === ''\" class=\"button undock\" [iconSrc]=\"'assets/_default/svg/ic_undock.svg'\" (click)=\"undock()\"></eo-icon>\n",
14231
14208
  providers: [ContentPreviewService],
14232
14209
  styles: [":host .empty-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}:host .empty-container .nofile{height:128px;opacity:.06;width:128px}:host .button.undock{background-color:rgba(var(--color-primary-rgb),.6);bottom:var(--app-pane-padding);opacity:.2;position:absolute;right:var(--app-pane-padding)}:host .button.undock:hover{opacity:.5}:host .preview-container{bottom:0;left:0;position:absolute;right:0;top:0}:host .preview-container .slide{align-items:center;display:flex;flex:1;flex-direction:column;height:100%;justify-content:center;min-height:0;min-width:0}:host .preview-container .slide .large-content{background-color:rgba(var(--color-primary-rgb),.5);color:var(--color-white);cursor:pointer;display:flex;flex:1;flex-direction:row;justify-content:center;min-height:0;min-width:0;padding:var(--app-pane-padding);position:absolute;top:0;width:100%}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{height:128px;opacity:.2;width:128px}:host .attachments{align-items:flex-end;background-color:rgba(var(--color-primary-rgb),.6);border-radius:2px;bottom:calc(var(--app-pane-padding)*3);color:var(--color-white);display:flex;flex-flow:row;max-width:calc(100% - 16px);position:absolute;right:calc(var(--app-pane-padding)/2);z-index:5}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding)/2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;flex-flow:wrap;max-height:150px;min-height:0;min-width:0;overflow:auto;padding:calc(var(--app-pane-padding)/2)}:host .attachments .attachments-list .attachment{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background-color:rgba(var(--color-white-rgb),.1);border:1px solid rgba(var(--color-white-rgb),0);border-radius:4px;cursor:pointer;display:inline-block;margin:calc(var(--app-pane-padding)/8);max-width:none;overflow:hidden;padding:calc(var(--app-pane-padding)/4);text-overflow:ellipsis;transition:all var(--app-default-transition-duration) ease-in-out;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);flex:1 1 100%;order:100}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{align-items:center;background-color:rgba(var(--color-primary-rgb),.9);bottom:calc(var(--app-pane-padding)/2)}"]
14233
14210
  },] }
@@ -14247,9 +14224,7 @@ MediaComponent.propDecorators = {
14247
14224
  enableCloseBtn: [{ type: Input }],
14248
14225
  useVersion: [{ type: Input }],
14249
14226
  open: [{ type: HostBinding, args: ['class.open',] }],
14250
- codesystem: [{ type: ViewChild, args: ['codesystem',] }],
14251
14227
  iframe: [{ type: ViewChild, args: ['iframe', { static: true },] }],
14252
- iframeMedia: [{ type: ViewChild, args: ['iframeMedia', { static: true },] }],
14253
14228
  setAttachments: [{ type: Input, args: ['attachments',] }],
14254
14229
  setSearchTerm: [{ type: Input, args: ['searchTerm',] }],
14255
14230
  disabled: [{ type: Input }],
@@ -14468,7 +14443,7 @@ AppAddDialogComponent.decorators = [
14468
14443
  { type: Component, args: [{
14469
14444
  selector: 'eo-app-add-dialog',
14470
14445
  template: "<section class=\"autocomplete\">\n <p-autoComplete [(ngModel)]=\"selectedNode\" [minLength]=\"1\" [delay]=\"500\" #autocomplete\n [suggestions]=\"autocompleteRes\" field=\"label\"\n [forceSelection]=\"true\"\n (onSelect)=\"onSelect($event)\"\n (completeMethod)=\"autocompleteFn($event)\">\n \n <ng-template let-item pTemplate=\"item\">\n <span class=\"ui-autocomplete-token-label\" title=\"{{item.label}} ({{item.location}})\">\n <strong>{{item.label}}</strong>\n <span>{{item.location}}</span>\n </span>\n </ng-template>\n </p-autoComplete>\n</section>\n\n<section class=\"type-lists\">\n <section class=\"section location\" *ngIf=\"locationParent\">\n <div class=\"subhead\"><span translate>eo.add.title.location</span><span> \"{{locationParent.title}}\"</span></div>\n <div class=\"type sub\" (click)=\"addToSubfolder()\" *ngIf=\"subfolder\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_create_new_folder.svg'\"></eo-icon>\n <div>\n <div class=\"label\">{{'eo.add.title.location.subfolder'|translate: ({folder: subfolder.title})}}</div>\n <div class=\"group\">{{subFolderDescription}}</div>\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of locationTypes; trackBy: trackByFn\" (click)=\"prepare(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div>\n <div class=\"label\">{{type.label}}</div>\n <div class=\"group\">{{type.group}}</div>\n </div>\n </div>\n </section>\n \n <section class=\"section general\" *ngIf=\"rootTypes.length; else noRootTypes\">\n <div class=\"subhead\"><span translate>eo.add.title.location.common</span></div>\n <div class=\"type\" *ngFor=\"let type of rootTypes; trackBy: trackByFn\"\n [ngClass]=\"{context: type.isContextFolder}\"\n (click)=\"prepare(type, true)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div>\n <div class=\"label\">{{type.label}}</div>\n <div class=\"group\">{{type.group}}</div>\n </div>\n </div>\n </section>\n</section>\n\n<ng-template #noRootTypes>\n <div *ngIf=\"!locationParent\">\n <span class=\"empty__root-types\" translate>eo.add.empty.root.types</span>\n </div>\n</ng-template>\n",
14471
- styles: ["::ng-deep .eo-dialog-content.add--content{max-height:620px;overflow:hidden}:host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host ::ng-deep p-autocomplete{width:100%}:host ::ng-deep p-autocomplete .ui-autocomplete input.ui-inputtext{border:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.2);font-size:var(--font-title);padding:calc(var(--app-pane-padding)/2)}:host ::ng-deep p-autocomplete .ui-autocomplete-token-label{display:flex;flex-flow:column}:host ::ng-deep p-autocomplete .ui-autocomplete-token-label>span{font-size:var(--font-hint)}:host .autocomplete{background-color:var(--color-accent);display:flex;padding:var(--app-pane-padding)}:host .type-lists{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;padding:var(--app-pane-padding) 0}:host .type-lists .section{padding:0 var(--app-pane-padding)}:host .type-lists .section .subhead{color:var(--color-accent);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding)/2)}:host .type-lists .section .type{-moz-transition:background-color var(--app-default-transition-duration) ease-in-out;-o-transition:background-color var(--app-default-transition-duration) ease-in-out;-webkit-transition:background-color var(--app-default-transition-duration) ease-in-out;align-items:center;border-top:1px solid rgba(var(--color-black-rgb),.06);cursor:pointer;display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) var(--app-pane-padding);transition:background-color var(--app-default-transition-duration) ease-in-out}:host .type-lists .section .type.context>div .label{font-weight:var(--font-weight-bold)}:host .type-lists .section .type.context eo-icon{background-color:rgba(var(--color-black-rgb),.15)}:host .type-lists .section .type.sub{padding-bottom:calc(var(--app-pane-padding)/2);padding-top:calc(var(--app-pane-padding)/2)}:host .type-lists .section .type.sub>div .label{font-weight:var(--font-weight-bold)}:host .type-lists .section .type eo-icon{border-radius:2px;box-sizing:content-box;color:var(--text-color-caption);flex:0 0 auto;height:18px;padding:2px;width:18px}:host .type-lists .section .type>div{flex:1 1 auto;padding:0 var(--app-pane-padding)}:host .type-lists .section .type>div .label{color:var(--text-color-body)}:host .type-lists .section .type>div .group{color:var(--text-color-caption);font-size:var(--font-hint)}:host .type-lists .section .type:hover{background-color:var(--panel-background-grey)}:host .type-lists .empty__root-types{padding:8px}"]
14446
+ styles: ["::ng-deep .eo-dialog-content.add--content{max-height:620px;overflow:hidden}:host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host ::ng-deep p-autocomplete{width:100%}:host ::ng-deep p-autocomplete .ui-autocomplete input.ui-inputtext{border:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.2);font-size:var(--font-title);padding:calc(var(--app-pane-padding)/2)}:host ::ng-deep p-autocomplete .ui-autocomplete-token-label{display:flex;flex-flow:column}:host ::ng-deep p-autocomplete .ui-autocomplete-token-label>span{font-size:var(--font-hint)}:host .autocomplete{background-color:var(--color-accent);display:flex;padding:var(--app-pane-padding)}:host .type-lists{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow-y:auto;padding:var(--app-pane-padding) 0}:host .type-lists .section{padding:0 var(--app-pane-padding)}:host .type-lists .section .subhead{color:var(--color-accent);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding)/2)}:host .type-lists .section .type{-moz-transition:background-color var(--app-default-transition-duration) ease-in-out;-o-transition:background-color var(--app-default-transition-duration) ease-in-out;-webkit-transition:background-color var(--app-default-transition-duration) ease-in-out;align-items:center;border-top:1px solid rgba(var(--color-black-rgb),.06);cursor:pointer;display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) var(--app-pane-padding);transition:background-color var(--app-default-transition-duration) ease-in-out}:host .type-lists .section .type.context>div .label{font-weight:var(--font-weight-bold)}:host .type-lists .section .type.context eo-icon{background-color:rgba(var(--color-black-rgb),.15)}:host .type-lists .section .type.sub{padding-bottom:calc(var(--app-pane-padding)/2);padding-top:calc(var(--app-pane-padding)/2)}:host .type-lists .section .type.sub>div .label{font-weight:var(--font-weight-bold)}:host .type-lists .section .type eo-icon{border-radius:2px;box-sizing:content-box;color:var(--text-color-caption);flex:0 0 auto;height:18px;padding:2px;width:18px}:host .type-lists .section .type>div{flex:1 1 auto;padding:0 var(--app-pane-padding)}:host .type-lists .section .type>div .label{color:var(--text-color-body)}:host .type-lists .section .type>div .group{color:var(--text-color-caption);font-size:var(--font-hint)}:host .type-lists .section .type:hover{background-color:var(--panel-background-grey)}:host .type-lists .empty__root-types{padding:8px}"]
14472
14447
  },] }
14473
14448
  ];
14474
14449
  AppAddDialogComponent.ctorParameters = () => [
@@ -14705,7 +14680,7 @@ class CopyActionComponent extends DmsObjectTarget {
14705
14680
  }
14706
14681
  isExecutable(item) {
14707
14682
  const isAllowedType = this.actionService.isAllowedType([item], ['sysemail']);
14708
- return of(this.isAllowedState() && isAllowedType && this.capabilityService.getCapabilities().intray && !item.isFolder);
14683
+ return of(this.isAllowedState() && isAllowedType && this.capabilityService.getCapabilities().intray);
14709
14684
  }
14710
14685
  ;
14711
14686
  run(selection) {
@@ -16108,7 +16083,8 @@ class ShareObjectComponent {
16108
16083
  }
16109
16084
  ngOnInit() {
16110
16085
  let orgaValue = [];
16111
- this.includeChildrenField.setValue(true);
16086
+ const shareChildren = this.selection[0].shares ? this.selection[0].shares[0].sharechildren : true;
16087
+ this.includeChildrenField.setValue(shareChildren);
16112
16088
  if (this.selection[0].isFolder) {
16113
16089
  this.header = this.translate.instant('eo.manage.rights.folder.title');
16114
16090
  }
@@ -16635,13 +16611,14 @@ AppLayoutComponent.propDecorators = {
16635
16611
  class TrapFocusDirective {
16636
16612
  constructor(el) {
16637
16613
  this.el = el;
16614
+ this.focusableSelectors = 'a[href], button, textarea, input[type="text"],' +
16615
+ 'input[type="radio"], input[type="checkbox"], select, [focusable]';
16638
16616
  }
16639
16617
  ngAfterViewInit() {
16640
16618
  this.trapFocus(this.el.nativeElement);
16641
16619
  }
16642
16620
  trapFocus(element) {
16643
- let focusableElements = element.querySelectorAll('a[href], button, textarea, input[type="text"],' +
16644
- 'input[type="radio"], input[type="checkbox"], select, [focusable]');
16621
+ let focusableElements = element.querySelectorAll(this.focusableSelectors);
16645
16622
  focusableElements = Array.from(focusableElements)
16646
16623
  .filter((el) => !el.disabled && !el.classList.contains('disabled'));
16647
16624
  const firstFocusableElement = focusableElements[0];
@@ -16664,6 +16641,20 @@ class TrapFocusDirective {
16664
16641
  }
16665
16642
  }));
16666
16643
  }
16644
+ isArrowUpOrDownPressed(event) {
16645
+ const key = event.key;
16646
+ if (key === 'ArrowUp' || key === 'ArrowDown') {
16647
+ event.preventDefault();
16648
+ let focusableElements = this.el.nativeElement.parentElement.querySelectorAll(this.focusableSelectors);
16649
+ const currentIndex = Array.from(focusableElements).indexOf(document.activeElement);
16650
+ if (key === 'ArrowDown' && currentIndex < focusableElements.length - 1) {
16651
+ focusableElements[currentIndex + 1].focus();
16652
+ }
16653
+ else if (key === 'ArrowUp' && currentIndex > 0) {
16654
+ focusableElements[currentIndex - 1].focus();
16655
+ }
16656
+ }
16657
+ }
16667
16658
  }
16668
16659
  TrapFocusDirective.decorators = [
16669
16660
  { type: Directive, args: [{
@@ -16673,6 +16664,9 @@ TrapFocusDirective.decorators = [
16673
16664
  TrapFocusDirective.ctorParameters = () => [
16674
16665
  { type: ElementRef }
16675
16666
  ];
16667
+ TrapFocusDirective.propDecorators = {
16668
+ isArrowUpOrDownPressed: [{ type: HostListener, args: ['keydown', ['$event'],] }]
16669
+ };
16676
16670
 
16677
16671
  /**
16678
16672
  * Module holding the base components of the application shell like application bar, side, search etc.
@@ -16821,7 +16815,7 @@ ChangePasswordFormComponent.decorators = [
16821
16815
  { type: Component, args: [{
16822
16816
  selector: 'eo-change-password-form',
16823
16817
  template: "<section class=\"change-password\">\n <form #changePasswordFormElement [formGroup]=\"changePasswordForm\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\">\n <div class=\"form-item\">\n\n <eo-form-input [label]=\"('eo.password.reset.current-password' | translate)\" [required]=\"true\" [invalid]=\"passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'currentPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.current-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.new-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords || passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'password'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.new-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.confirm-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'confirmPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.confirm-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <div class=\"invalid error\" *ngIf=\"passwordIsNew\">\n {{'eo.password.reset.error.same.password' | translate}}\n </div>\n\n <div class=\"invalid error\" *ngIf=\"matchingPasswords\">\n {{'eo.password.reset.error.matiching.password' | translate}}\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'short'\">\n eo.password.reset.error.new.password.short\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'number'\">\n eo.password.reset.error.new.password.number\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'specialchars'\">\n eo.password.reset.error.new.password.specialchars\n </div>\n\n <section class=\"change-password__cta\">\n <button class=\"change-password__submit-button\" type=\"submit\"\n [disabled]=\"changePasswordForm.invalid || passwordValidation.type !== 'valid'\" translate>eo.password.reset.confirm-button</button>\n\n <a (click)=\"showPasswords()\">\n <eo-icon class=\"change-password__icon-show\"\n [iconSrc]=\"'assets/_default/svg/ic_eye.svg'\"\n [iconTitle]=\"('eo.password.reset.toogle.icon' | translate)\"\n [ngClass]=\"{'visible': passwordIsVisible}\"></eo-icon>\n </a>\n </section>\n </div>\n </form>\n\n</section>\n",
16824
- styles: [".change-password .invalid.error{color:var(--color-error);padding:5px 0}.change-password__cta{align-items:center;display:flex;margin-top:10px}.change-password__submit-button{margin-right:10px}.change-password__icon-show{color:var(--color-primary-4)}.change-password__icon-show.visible{color:var(--color-primary-3)}"]
16818
+ styles: [".change-password .invalid.error{color:var(--color-error);padding:5px 0}.change-password__cta{align-items:center;display:flex;margin-top:10px}.change-password__submit-button{margin-right:10px}.change-password__icon-show{color:var(--text-color-caption);cursor:pointer}.change-password__icon-show.visible{color:var(--color-primary-3)}"]
16825
16819
  },] }
16826
16820
  ];
16827
16821
  ChangePasswordFormComponent.ctorParameters = () => [
@@ -18429,7 +18423,7 @@ class ObjectDetailsComponent extends UnsubscribeOnDestroy {
18429
18423
  ObjectDetailsComponent.decorators = [
18430
18424
  { type: Component, args: [{
18431
18425
  selector: 'eo-object-details',
18432
- template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container *ngIf=\"!isReference; else tplHeadReference\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare\" [ngClass]=\"{'enabled': enableSync}\"\n [iconSrc]=\"'assets/_default/svg/ic_link.svg'\" [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\"\n (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\" *ngIf=\"!enableCompare && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\" *ngIf=\"!enableCompare && item.content && item.rights.edit && (agentIsConnected$ | async)\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n <ng-template #tplHeadReference>\n <a class=\"button reference primary\"\n [title]=\"('eo.object.reference.tooltip' | translate:{title:referenceTitle})\"\n [routerLink]=\"['/object', item.id]\"\n [queryParams]=\"{type: item.typeName}\">{{'eo.object.reference.open'|translate}}</a>\n </ng-template>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\"\n [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <eo-tab-container [pluginPanels]=\"externalPanels\" [cacheLayout]=\"!enableCompare && cacheLayout\" [defaultPanelOrder]=\"!enableCompare && panelOrder\"\n [dndEnabled]=\"!enableCompare\" [enableSlave]=\"!enableCompare || item2\" [enableSync]=\"enableCompare && enableSync\"\n [version]=\"enableCompare && {master: item && item.version, slave: item2 && item2.version}\">\n\n <eo-tab-panel [id]=\"'summary'\" *ngIf=\"isVisible('summary')\" header=\"{{'eo.object.summary.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'indexdata'\" *ngIf=\"isVisible('indexdata')\" header=\"{{'eo.object.indexdata.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n \n <eo-tab-panel [id]=\"'preview'\" *ngIf=\"isVisible('preview')\" header=\"{{'eo.object.content.title' | translate}}\" [isSlave]=\"!enableCompare\"\n #preview>\n <ng-template pTemplate=\"content\" *ngIf=\"!undockWinActive; else loadPreview\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [disabled]=\"!preview.selected\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n <ng-template #loadPreview>\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('history') && !enableCompare\" [id]=\"'history'\" header=\"{{'eo.object.history.title' | translate}}\" #history>\n <ng-template pTemplate=\"content\">\n <eo-object-history *ngIf=\"history.selected\" [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('links') && !enableCompare\" [id]=\"'links'\" header=\"{{'eo.object.links.title' | translate}}\" #links>\n <ng-template pTemplate=\"content\">\n <eo-object-links *ngIf=\"links.selected\" [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n </eo-tab-panel>\n\n <!-- slave tabs -->\n\n <eo-tab-panel *ngIf=\"isVisible('summary') && enableCompare\" [id]=\"'summary2'\" header=\"{{'eo.object.summary.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [indexdata]=\"indexDataPreview2\" [baseparams]=\"baseparams2\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('indexdata') && enableCompare\" [id]=\"'indexdata2'\" header=\"{{'eo.object.indexdata.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit *ngIf=\"item2\" [dmsObject]=\"item2\" (indexDataSaved)=\"onIndexDataSaved($event, item2)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('preview') && enableCompare\" [id]=\"'preview2'\" header=\"{{'eo.object.content.title' | translate}}\"\n [isSlave]=\"true\" #preview2>\n <ng-template pTemplate=\"content\">\n <eo-media *ngIf=\"item2\" [dmsObject]=\"item2\" [disabled]=\"!preview2.selected\" [undockDisabled]=\"enableCompare\"\n [useVersion]=\"true\" [searchTerm]=\"searchTerm\" #viewer2></eo-media>\n </ng-template>\n </eo-tab-panel>\n \n <eo-tab-panel *ngIf=\"enableCompare && enableDiff\" [id]=\"'changes'\" header=\"{{'eo.object.changes.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [diff]=\"{indexdata : indexDataPreview, indexdata2: indexDataPreview2, baseparams: baseparams, baseparams2: baseparams2}\" \n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>",
18426
+ template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container *ngIf=\"!isReference; else tplHeadReference\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare\" [ngClass]=\"{'enabled': enableSync}\"\n [iconSrc]=\"'assets/_default/svg/ic_link.svg'\" [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\"\n (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\" *ngIf=\"!enableCompare && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\" *ngIf=\"!enableCompare && item.content && item.rights.edit && (agentIsConnected$ | async)\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n <ng-template #tplHeadReference>\n <a class=\"button reference primary\"\n [title]=\"('eo.object.reference.tooltip' | translate:{title:referenceTitle})\"\n [routerLink]=\"['/object', item.id]\"\n [queryParams]=\"{type: item.typeName}\">{{'eo.object.reference.open'|translate}}</a>\n </ng-template>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\"\n [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <eo-tab-container [pluginPanels]=\"externalPanels\" [cacheLayout]=\"!enableCompare && cacheLayout\" [defaultPanelOrder]=\"!enableCompare && panelOrder\"\n [dndEnabled]=\"!enableCompare\" [enableSlave]=\"!enableCompare || item2\" [enableSync]=\"enableCompare && enableSync\"\n [version]=\"enableCompare && {master: item && item.version, slave: item2 && item2.version}\">\n\n <eo-tab-panel [id]=\"'summary'\" *ngIf=\"isVisible('summary')\" header=\"{{'eo.object.summary.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'indexdata'\" *ngIf=\"isVisible('indexdata')\" header=\"{{'eo.object.indexdata.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'preview'\" *ngIf=\"isVisible('preview')\" header=\"{{'eo.object.content.title' | translate}}\" [isSlave]=\"!enableCompare\"\n #preview>\n <ng-template pTemplate=\"content\" *ngIf=\"!undockWinActive; else loadPreview\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [disabled]=\"!preview.selected\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n <ng-template #loadPreview>\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('history') && !enableCompare\" [id]=\"'history'\" header=\"{{'eo.object.history.title' | translate}}\" #history>\n <ng-template pTemplate=\"content\">\n <eo-object-history *ngIf=\"history.selected\" [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('links') && !enableCompare\" [id]=\"'links'\" header=\"{{'eo.object.links.title' | translate}}\" #links>\n <ng-template pTemplate=\"content\">\n <eo-object-links *ngIf=\"links.selected\" [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n </eo-tab-panel>\n\n <!-- slave tabs -->\n\n <eo-tab-panel *ngIf=\"isVisible('summary') && enableCompare\" [id]=\"'summary2'\" header=\"{{'eo.object.summary.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [indexdata]=\"indexDataPreview2\" [baseparams]=\"baseparams2\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('indexdata') && enableCompare\" [id]=\"'indexdata2'\" header=\"{{'eo.object.indexdata.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit *ngIf=\"item2\" [dmsObject]=\"item2\" (indexDataSaved)=\"onIndexDataSaved($event, item2)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('preview') && enableCompare\" [id]=\"'preview2'\" header=\"{{'eo.object.content.title' | translate}}\"\n [isSlave]=\"true\" #preview2>\n <ng-template pTemplate=\"content\">\n <eo-media *ngIf=\"item2\" [dmsObject]=\"item2\" [disabled]=\"!preview2.selected\" [undockDisabled]=\"enableCompare\"\n [useVersion]=\"true\" [searchTerm]=\"searchTerm\" #viewer2></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"enableCompare && enableDiff\" [id]=\"'changes'\" header=\"{{'eo.object.changes.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [diff]=\"{indexdata : indexDataPreview, indexdata2: indexDataPreview2, baseparams: baseparams, baseparams2: baseparams2}\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n",
18433
18427
  providers: [ContentPreviewService],
18434
18428
  styles: [":host{background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-subtitle,:host .eo-head .eo-header .eo-header-info .eo-header-title{-moz-user-select:text;-webkit-user-select:text;user-select:text}:host .eo-body__not-available{background:rgba(var(--color-black-rgb),.4);opacity:.4}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .lock.myLock{background:var(--state-orange)!important;color:var(--color-white)}:host .not-found{background:var(--color-error);border-radius:2px;color:var(--panel-background);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/4);text-align:center}:host .eo-header-status-icons{display:flex;justify-content:flex-end;margin-top:var(--app-pane-padding)}:host .eo-header-status-icons>eo-icon{background-color:var(--color-primary-2);color:var(--color-white);height:18px;margin-left:1px;padding:calc(var(--app-pane-padding)/4);width:18px}:host .eo-header-status-icons>eo-icon:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{align-items:center;background-color:var(--color-success);border-radius:2px;color:var(--color-white);display:flex;font-size:var(--font-hint);line-height:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:0 4px 1px;text-decoration:none}:host .loader-overlay__mask{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;background:rgba(var(--color-white-rgb),.8);display:flex;height:100%;position:absolute;width:100%;z-index:11}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep .sync-tab-btn{color:rgba(var(--color-black-rgb),.2)}:host ::ng-deep .sync-tab-btn .svg-link{fill:transparent}:host ::ng-deep .sync-tab-btn.enabled .svg-link{fill:currentColor}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep #indexdata{overflow:hidden}:host ::ng-deep #indexdata .object-form-edit{background:transparent!important;height:100%;margin:0;position:relative}:host ::ng-deep #indexdata .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep #indexdata .object-form-edit eo-object-form .eo-object-form{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding)}:host ::ng-deep #indexdata .object-form-edit .form-controls{-webkit-animation:eoFadeInUp .2s;animation:eoFadeInUp .2s;border:4px solid var(--panel-background-grey)}:host ::ng-deep #indexdata .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding)!important}"]
18435
18429
  },] }
@@ -22051,7 +22045,7 @@ class DashboardComponent extends UnsubscribeOnDestroy {
22051
22045
  DashboardComponent.decorators = [
22052
22046
  { type: Component, args: [{
22053
22047
  selector: 'eo-dashboard',
22054
- 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\" (ngModelChange)=\"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.sidebar.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=\"!isCloud && 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",
22048
+ 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\" (ngModelChange)=\"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.sidebar.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",
22055
22049
  animations: [
22056
22050
  listAnimation
22057
22051
  ],
@@ -22086,7 +22080,7 @@ var LockSettings;
22086
22080
  })(LockSettings || (LockSettings = {}));
22087
22081
 
22088
22082
  class SettingsComponent extends UnsubscribeOnDestroy {
22089
- constructor(renderer, userService, config, notify, systemService, eventService, capabilitiesService, envService, titleService, agentService, fb, cacheService, listSettingsService, storageService, translate, notification) {
22083
+ constructor(renderer, userService, config, notify, systemService, eventService, capabilitiesService, envService, titleService, agentService, fb, cacheService, listSettingsService, storageService, translate, elemRef, notification) {
22090
22084
  super();
22091
22085
  this.renderer = renderer;
22092
22086
  this.userService = userService;
@@ -22103,6 +22097,7 @@ class SettingsComponent extends UnsubscribeOnDestroy {
22103
22097
  this.listSettingsService = listSettingsService;
22104
22098
  this.storageService = storageService;
22105
22099
  this.translate = translate;
22100
+ this.elemRef = elemRef;
22106
22101
  this.notification = notification;
22107
22102
  this.LockSettings = LockSettings;
22108
22103
  this.showAgentConfig = true;
@@ -22200,6 +22195,7 @@ class SettingsComponent extends UnsubscribeOnDestroy {
22200
22195
  }
22201
22196
  }
22202
22197
  ngAfterViewInit() {
22198
+ this.elemRef.nativeElement.querySelector('#presence').focus();
22203
22199
  this.user$.subscribe(user => {
22204
22200
  this.userId = user.id;
22205
22201
  this.userImageUri = this.userService.getUserImageUri(this.userId);
@@ -22310,7 +22306,7 @@ class SettingsComponent extends UnsubscribeOnDestroy {
22310
22306
  SettingsComponent.decorators = [
22311
22307
  { type: Component, args: [{
22312
22308
  selector: 'eo-settings',
22313
- template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n autofocus translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img [src]=\"preview\">\n </div>\n <div class=\"user-avatar\">\n <img [src]=\"preview\">\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section *ngIf=\"!isCloud && !isSSO || !isCloud && isSSO\" class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.onTabClose()\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.cache</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\n <div class=\"cache\">\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n",
22309
+ template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img [src]=\"preview\">\n </div>\n <div class=\"user-avatar\">\n <img [src]=\"preview\">\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section *ngIf=\"!isCloud && !isSSO || !isCloud && isSSO\" class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\">\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.open = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.cache</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\n <div class=\"cache\">\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n",
22314
22310
  styles: [":host{bottom:0;justify-content:center;left:0;position:absolute;right:0;top:0}:host,:host .cache{display:flex;flex-flow:row}:host .cache{margin:0 var(--app-pane-padding)}.eo-settings{background:var(--color-white);box-shadow:0 2px 5px 0 rgba(0,0,0,.2);box-sizing:border-box;display:flex;flex-flow:column;margin:var(--app-pane-padding);width:800px}@media (max-width:832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{flex:1 1;max-height:300px;min-height:200px;position:relative}@media (max-width:480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;margin:0;padding:0}.eo-settings .header .meta{margin:calc(var(--app-pane-padding)/2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding)*2)}.eo-settings .header .bg{background-position:50%;background-size:cover;bottom:0;filter:grayscale(1);left:0;position:absolute;right:0;top:0}.eo-settings .header .fill{background:rgba(var(--color-primary-rgb),.85);bottom:0;color:var(--color-white);left:0;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.eo-settings .header .userImage{background-position:50%;background-size:cover;border:4px solid var(--color-white);bottom:calc(var(--app-pane-padding)*-1);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26);height:150px;position:absolute;right:var(--app-pane-padding);width:150px;z-index:1}@media (max-width:480px){.eo-settings .header .userImage{height:105px;width:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{border:4px solid var(--color-white);bottom:calc(var(--app-pane-padding)*-1);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26);height:150px;position:absolute;right:var(--app-pane-padding);width:150px;z-index:1}@media (max-width:480px){.eo-settings .header .overlay{height:105px;width:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus,.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:1}.eo-settings .header .overlay .updateMessage{align-items:center;background-clip:border-box;background-color:rgba(192,188,188,.9450980392156862);box-sizing:border-box;display:flex;height:100%;justify-content:center;width:100%}.eo-settings .header .overlay .updateMessage eo-icon{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;color:var(--color-white);height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;width:48px}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{bottom:0;box-sizing:border-box;left:0;overflow-y:auto;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding)/4)}.eo-settings .body .section.section-deputies form .actions button{border-radius:2px;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-settings .body .section.section-deputies form.dirty{background-color:rgba(var(--color-black-rgb),.06);padding:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{align-items:center;display:flex;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{border:0;border-radius:4px;color:var(--color-white);height:calc(var(--app-pane-padding)*0.6);width:calc(var(--app-pane-padding)*0.75)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;min-height:27px;padding:0 0 2px 2px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{border-color:transparent;opacity:1}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:0 0 0 150px}@media (max-width:480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{height:0;opacity:0;overflow:hidden;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{height:100%;opacity:1}@media (max-width:480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{color:var(--text-color-caption);flex:0 0 150px}@media (max-width:480px){.eo-settings .body .section .entry .label{flex:0 0 auto;margin-bottom:calc(var(--app-pane-padding)/2)}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{cursor:pointer;margin:0 4px 4px 0}.eo-settings .body .section .entry .values button.active,.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{align-items:center;display:flex}.eo-settings .body .section .entry .use-agent .use-agent-label{color:var(--text-color-caption);margin:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{border-radius:50%;box-sizing:border-box;color:var(--text-color-caption);margin:0;padding:3px}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{align-items:flex-start;display:flex;flex-flow:column}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding)/2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{color:var(--text-color-hint);height:18px;width:18px}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section .values.roles .role>div .description{color:var(--text-color-caption);font-size:var(--font-caption)}.eo-settings .body .toggle-btn{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);border-radius:2px;color:var(--text-color-caption);cursor:pointer;display:inline-block;margin-right:3px;padding:2px 5px;text-decoration:none}.eo-settings.rtl .header .userImage{left:var(--app-pane-padding);right:auto}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{height:100%;width:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media (max-width:480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{align-items:center;display:flex;height:100%;justify-content:space-around;margin:5px 60px 0;width:100%}::ng-deep .view .contain .attachments .atta{display:block;padding:0;position:relative}::ng-deep .view .contain .attachments .atta img{border:2px solid #5c5959;box-sizing:border-box;max-height:200px;max-width:200px;min-height:80px;min-width:80px}::ng-deep .view .contain .attachments .user-avatar{align-items:center;display:flex;margin-right:109px}::ng-deep .view .contain .attachments .user-avatar img{background-size:cover;border:2px solid #5c5959;border-radius:50%;box-sizing:border-box;height:90px;width:90px}::ng-deep .view .button-block{display:flex;justify-content:right;margin:8px}::ng-deep .delete__dialog{min-height:unset!important;padding:8px}::ng-deep .delete__dialog--header{background:#fff!important;color:rgba(var(--color-black-rgb),.54)!important;font-size:1.17em!important;font-weight:400!important;margin:0;padding:0 0 1em!important}"]
22315
22311
  },] }
22316
22312
  ];
@@ -22330,6 +22326,7 @@ SettingsComponent.ctorParameters = () => [
22330
22326
  { type: ListSettingsService },
22331
22327
  { type: LocalStorageService },
22332
22328
  { type: TranslateService },
22329
+ { type: ElementRef },
22333
22330
  { type: NotificationsService }
22334
22331
  ];
22335
22332
  SettingsComponent.propDecorators = {
@@ -22625,10 +22622,10 @@ class AboutStateComponent {
22625
22622
  this.http = http;
22626
22623
  this.userService = userService;
22627
22624
  this.config = config;
22628
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "9.0.0-rc.7", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
22625
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "9.0.0-rc.8", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
22629
22626
  this.ctrl = {
22630
22627
  productName: 'yuuvis® RAD client',
22631
- clientVersion: '9.0.0-rc.7'
22628
+ clientVersion: '9.0.0-rc.8'
22632
22629
  };
22633
22630
  this.licenses = {
22634
22631
  'MIT': {