ngx-edu-sharing-ui 0.7.0 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/assets/scss/mixins.scss +4 -1
  2. package/assets/scss/variables.scss +3 -0
  3. package/esm2022/lib/actionbar/actionbar.component.mjs +188 -0
  4. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +134 -0
  5. package/esm2022/lib/directives/border-box-observer.directive.mjs +71 -0
  6. package/esm2022/lib/directives/check-text-overflow.directive.mjs +65 -0
  7. package/esm2022/lib/directives/drag-nodes/drag-nodes.mjs +14 -0
  8. package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +79 -0
  9. package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +49 -0
  10. package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +105 -0
  11. package/esm2022/lib/directives/focus-state.directive.mjs +44 -0
  12. package/esm2022/lib/directives/icon.directive.mjs +139 -0
  13. package/esm2022/lib/dropdown/dropdown.component.mjs +70 -0
  14. package/esm2022/lib/edu-sharing-ui-configuration.mjs +41 -0
  15. package/esm2022/lib/edu-sharing-ui.module.mjs +78 -0
  16. package/esm2022/lib/list-items/available-widgets.mjs +27 -0
  17. package/esm2022/lib/list-items/format-duration.pipe.mjs +20 -0
  18. package/esm2022/lib/list-items/list-base/list-base.component.mjs +46 -0
  19. package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +29 -0
  20. package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +54 -0
  21. package/esm2022/lib/list-items/list-items.module.mjs +50 -0
  22. package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +41 -0
  23. package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +47 -0
  24. package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +24 -0
  25. package/esm2022/lib/list-items/list-text/list-text.component.mjs +106 -0
  26. package/esm2022/lib/list-items/list-widget.mjs +49 -0
  27. package/esm2022/lib/list-items/node-row/node-row.component.mjs +24 -0
  28. package/esm2022/lib/list-items/node-source.pipe.mjs +49 -0
  29. package/esm2022/lib/node-entries/combined-data-source.mjs +41 -0
  30. package/esm2022/lib/node-entries/custom-templates-data-source.mjs +7 -0
  31. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +21 -0
  32. package/esm2022/lib/node-entries/entries-model.mjs +23 -0
  33. package/esm2022/lib/node-entries/items-cap.mjs +47 -0
  34. package/esm2022/lib/node-entries/list-item-label.pipe.mjs +34 -0
  35. package/esm2022/lib/node-entries/node-cache.mjs +65 -0
  36. package/esm2022/lib/node-entries/node-data-source-remote.mjs +4 -0
  37. package/esm2022/lib/node-entries/node-data-source.mjs +115 -0
  38. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +131 -0
  39. package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +307 -0
  40. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +45 -0
  41. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +23 -0
  42. package/esm2022/lib/node-entries/node-entries-global.service.mjs +58 -0
  43. package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +42 -0
  44. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +290 -0
  45. package/esm2022/lib/node-entries/node-entries-templates.service.mjs +11 -0
  46. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +324 -0
  47. package/esm2022/lib/node-entries/node-entries.component.mjs +131 -0
  48. package/esm2022/lib/node-entries/node-entries.module.mjs +161 -0
  49. package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +102 -0
  50. package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +48 -0
  51. package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +36 -0
  52. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +62 -0
  53. package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +53 -0
  54. package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +41 -0
  55. package/esm2022/lib/node-url/node-url.component.mjs +128 -0
  56. package/esm2022/lib/pipes/file-size.pipe.mjs +31 -0
  57. package/esm2022/lib/pipes/format-date.pipe.mjs +38 -0
  58. package/esm2022/lib/pipes/node-icon.pipe.mjs +18 -0
  59. package/esm2022/lib/pipes/node-image-size.pipe.mjs +24 -0
  60. package/esm2022/lib/pipes/node-image.pipe.mjs +55 -0
  61. package/esm2022/lib/pipes/node-person-name.pipe.mjs +50 -0
  62. package/esm2022/lib/pipes/node-title.pipe.mjs +19 -0
  63. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +33 -0
  64. package/esm2022/lib/pipes/replace-chars.pipe.mjs +29 -0
  65. package/esm2022/lib/pipes/vcard-name.pipe.mjs +19 -0
  66. package/esm2022/lib/services/abstract/app.service.mjs +3 -0
  67. package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +10 -0
  68. package/esm2022/lib/services/abstract/options-helper.service.mjs +3 -0
  69. package/esm2022/lib/services/abstract/toast.service.mjs +3 -0
  70. package/esm2022/lib/services/accessibility.service.mjs +73 -0
  71. package/esm2022/lib/services/local-events.service.mjs +36 -0
  72. package/esm2022/lib/services/node-entries.service.mjs +137 -0
  73. package/esm2022/lib/services/node-helper.service.mjs +234 -0
  74. package/esm2022/lib/services/nodes-drag-drop.service.mjs +155 -0
  75. package/esm2022/lib/services/options-helper-data.service.mjs +134 -0
  76. package/esm2022/lib/services/repo-url.service.mjs +49 -0
  77. package/esm2022/lib/services/temporary-storage.service.mjs +48 -0
  78. package/esm2022/lib/services/ui.service.mjs +162 -0
  79. package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +50 -0
  80. package/esm2022/lib/spinner/spinner.component.mjs +18 -0
  81. package/esm2022/lib/translations/fallback-translation-handler.mjs +6 -0
  82. package/esm2022/lib/translations/languages.mjs +5 -0
  83. package/esm2022/lib/translations/translation-loader.mjs +149 -0
  84. package/esm2022/lib/translations/translation-source.mjs +11 -0
  85. package/esm2022/lib/translations/translations.module.mjs +67 -0
  86. package/esm2022/lib/translations/translations.service.mjs +171 -0
  87. package/esm2022/lib/types/accessibillity.mjs +19 -0
  88. package/esm2022/lib/types/api-models.mjs +2 -0
  89. package/esm2022/lib/types/drag-drop.mjs +2 -0
  90. package/esm2022/lib/types/keyboard-shortcuts.mjs +11 -0
  91. package/esm2022/lib/types/list-item.mjs +41 -0
  92. package/esm2022/lib/types/option-item.mjs +174 -0
  93. package/esm2022/lib/types/workflow.mjs +25 -0
  94. package/esm2022/lib/util/DateHelper.mjs +200 -0
  95. package/esm2022/lib/util/VCard.mjs +278 -0
  96. package/esm2022/lib/util/color-helper.mjs +124 -0
  97. package/esm2022/lib/util/duration-helper.mjs +102 -0
  98. package/esm2022/lib/util/functions.mjs +13 -0
  99. package/esm2022/lib/util/helper.mjs +64 -0
  100. package/esm2022/lib/util/isNumeric.mjs +11 -0
  101. package/esm2022/lib/util/rest-helper.mjs +33 -0
  102. package/esm2022/lib/util/ui-animation.mjs +146 -0
  103. package/esm2022/lib/util/ui-constants.mjs +21 -0
  104. package/esm2022/module.mjs +76 -0
  105. package/esm2022/ngx-edu-sharing-ui.mjs +5 -0
  106. package/fesm2022/ngx-edu-sharing-ui.mjs +6509 -0
  107. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -0
  108. package/index.d.ts +5 -0
  109. package/lib/actionbar/actionbar.component.d.ts +74 -0
  110. package/lib/common/edu-sharing-ui-common.module.d.ts +32 -0
  111. package/lib/directives/border-box-observer.directive.d.ts +31 -0
  112. package/lib/directives/check-text-overflow.directive.d.ts +20 -0
  113. package/lib/directives/drag-nodes/drag-nodes.d.ts +16 -0
  114. package/lib/directives/drag-nodes/nodes-drag-source.directive.d.ts +37 -0
  115. package/lib/directives/drag-nodes/nodes-drag.directive.d.ts +17 -0
  116. package/lib/directives/drag-nodes/nodes-drop-target.directive.d.ts +22 -0
  117. package/lib/directives/focus-state.directive.d.ts +14 -0
  118. package/lib/directives/icon.directive.d.ts +46 -0
  119. package/lib/dropdown/dropdown.component.d.ts +40 -0
  120. package/lib/edu-sharing-ui-configuration.d.ts +11 -0
  121. package/lib/edu-sharing-ui.module.d.ts +19 -0
  122. package/lib/list-items/available-widgets.d.ts +13 -0
  123. package/lib/list-items/format-duration.pipe.d.ts +10 -0
  124. package/lib/list-items/list-base/list-base.component.d.ts +18 -0
  125. package/lib/list-items/list-collection-info/list-collection-info.component.d.ts +14 -0
  126. package/lib/list-items/list-counts/list-counts.component.d.ts +13 -0
  127. package/lib/list-items/list-items.module.d.ts +20 -0
  128. package/lib/list-items/list-node-license/list-node-license.component.d.ts +20 -0
  129. package/lib/list-items/list-node-replication-source/list-node-replication-source.component.d.ts +22 -0
  130. package/lib/list-items/list-node-workflow/list-node-workflow.component.d.ts +12 -0
  131. package/lib/list-items/list-text/list-text.component.d.ts +28 -0
  132. package/lib/list-items/list-widget.d.ts +32 -0
  133. package/lib/list-items/node-row/node-row.component.d.ts +12 -0
  134. package/lib/list-items/node-source.pipe.d.ts +16 -0
  135. package/lib/node-entries/combined-data-source.d.ts +19 -0
  136. package/{src/lib/node-entries/custom-templates-data-source.ts → lib/node-entries/custom-templates-data-source.d.ts} +2 -2
  137. package/lib/node-entries/drag-preview/drag-preview.component.d.ts +11 -0
  138. package/{src/lib/node-entries/entries-model.ts → lib/node-entries/entries-model.d.ts} +19 -47
  139. package/lib/node-entries/items-cap.d.ts +17 -0
  140. package/lib/node-entries/list-item-label.pipe.d.ts +14 -0
  141. package/lib/node-entries/node-cache.d.ts +17 -0
  142. package/{src/lib/node-entries/node-data-source-remote.ts → lib/node-entries/node-data-source-remote.d.ts} +2 -12
  143. package/lib/node-entries/node-data-source.d.ts +42 -0
  144. package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +45 -0
  145. package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +92 -0
  146. package/lib/node-entries/node-entries-card-small/node-entries-card-small.component.d.ts +23 -0
  147. package/lib/node-entries/node-entries-global-options/node-entries-global-options.component.d.ts +12 -0
  148. package/lib/node-entries/node-entries-global.service.d.ts +50 -0
  149. package/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.d.ts +17 -0
  150. package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +76 -0
  151. package/{src/lib/node-entries/node-entries-templates.service.ts → lib/node-entries/node-entries-templates.service.d.ts} +6 -9
  152. package/lib/node-entries/node-entries-wrapper.component.d.ts +129 -0
  153. package/lib/node-entries/node-entries.component.d.ts +32 -0
  154. package/lib/node-entries/node-entries.module.d.ts +43 -0
  155. package/lib/node-entries/node-rating/node-rating.component.d.ts +26 -0
  156. package/lib/node-entries/node-stats-badges/node-stats-badges.component.d.ts +17 -0
  157. package/lib/node-entries/node-type-badge/node-type-badge.component.d.ts +21 -0
  158. package/lib/node-entries/option-button/option-button.component.d.ts +11 -0
  159. package/lib/node-entries/preview-image/preview-image.component.d.ts +22 -0
  160. package/lib/node-entries/sort-select-panel/sort-select-panel.component.d.ts +16 -0
  161. package/lib/node-url/node-url.component.d.ts +51 -0
  162. package/lib/pipes/file-size.pipe.d.ts +10 -0
  163. package/lib/pipes/format-date.pipe.d.ts +21 -0
  164. package/lib/pipes/node-icon.pipe.d.ts +11 -0
  165. package/lib/pipes/node-image-size.pipe.d.ts +8 -0
  166. package/lib/pipes/node-image.pipe.d.ts +28 -0
  167. package/lib/pipes/node-person-name.pipe.d.ts +10 -0
  168. package/lib/pipes/node-title.pipe.d.ts +11 -0
  169. package/lib/pipes/option-tooltip.pipe.d.ts +12 -0
  170. package/lib/pipes/replace-chars.pipe.d.ts +10 -0
  171. package/lib/pipes/vcard-name.pipe.d.ts +10 -0
  172. package/{src/lib/services/abstract/app.service.ts → lib/services/abstract/app.service.d.ts} +1 -1
  173. package/lib/services/abstract/keyboard-shortcuts.service.d.ts +11 -0
  174. package/lib/services/abstract/options-helper.service.d.ts +10 -0
  175. package/{src/lib/services/abstract/toast.service.ts → lib/services/abstract/toast.service.d.ts} +1 -2
  176. package/lib/services/accessibility.service.d.ts +18 -0
  177. package/{src/lib/services/local-events.service.ts → lib/services/local-events.service.d.ts} +7 -10
  178. package/lib/services/node-entries.service.d.ts +69 -0
  179. package/lib/services/node-helper.service.d.ts +56 -0
  180. package/lib/services/nodes-drag-drop.service.d.ts +41 -0
  181. package/lib/services/options-helper-data.service.d.ts +75 -0
  182. package/lib/services/repo-url.service.d.ts +25 -0
  183. package/lib/services/temporary-storage.service.d.ts +35 -0
  184. package/lib/services/ui.service.d.ts +41 -0
  185. package/lib/sort-dropdown/sort-dropdown.component.d.ts +15 -0
  186. package/lib/spinner/spinner.component.d.ts +7 -0
  187. package/lib/translations/fallback-translation-handler.d.ts +4 -0
  188. package/lib/translations/languages.d.ts +4 -0
  189. package/lib/translations/translation-loader.d.ts +51 -0
  190. package/{src/lib/translations/translation-source.ts → lib/translations/translation-source.d.ts} +4 -4
  191. package/lib/translations/translations.module.d.ts +15 -0
  192. package/lib/translations/translations.service.d.ts +30 -0
  193. package/lib/types/accessibillity.d.ts +15 -0
  194. package/{src/lib/types/drag-drop.ts → lib/types/drag-drop.d.ts} +0 -3
  195. package/lib/types/keyboard-shortcuts.d.ts +10 -0
  196. package/lib/types/list-item.d.ts +55 -0
  197. package/lib/types/option-item.d.ts +236 -0
  198. package/lib/types/workflow.d.ts +14 -0
  199. package/lib/util/DateHelper.d.ts +44 -0
  200. package/lib/util/VCard.d.ts +66 -0
  201. package/lib/util/color-helper.d.ts +25 -0
  202. package/lib/util/duration-helper.d.ts +14 -0
  203. package/lib/util/functions.d.ts +4 -0
  204. package/lib/util/helper.d.ts +20 -0
  205. package/lib/util/isNumeric.d.ts +5 -0
  206. package/lib/util/rest-helper.d.ts +10 -0
  207. package/lib/util/ui-animation.d.ts +39 -0
  208. package/lib/util/ui-constants.d.ts +18 -0
  209. package/{src/module.ts → module.d.ts} +0 -4
  210. package/package.json +23 -9
  211. package/.browserslistrc +0 -16
  212. package/.eslintrc.json +0 -44
  213. package/karma.conf.js +0 -42
  214. package/ng-package.json +0 -10
  215. package/src/lib/actionbar/actionbar.component.html +0 -59
  216. package/src/lib/actionbar/actionbar.component.scss +0 -123
  217. package/src/lib/actionbar/actionbar.component.ts +0 -174
  218. package/src/lib/common/edu-sharing-ui-common.module.ts +0 -80
  219. package/src/lib/directives/border-box-observer.directive.ts +0 -75
  220. package/src/lib/directives/check-text-overflow.directive.ts +0 -61
  221. package/src/lib/directives/drag-nodes/drag-nodes.ts +0 -32
  222. package/src/lib/directives/drag-nodes/nodes-drag-source.directive.ts +0 -79
  223. package/src/lib/directives/drag-nodes/nodes-drag.directive.ts +0 -43
  224. package/src/lib/directives/drag-nodes/nodes-drop-target.directive.ts +0 -116
  225. package/src/lib/directives/focus-state.directive.ts +0 -34
  226. package/src/lib/directives/icon.directive.ts +0 -142
  227. package/src/lib/directives/nodes-drop-target-legacy.directive.ts +0 -155
  228. package/src/lib/dropdown/dropdown.component.html +0 -32
  229. package/src/lib/dropdown/dropdown.component.scss +0 -67
  230. package/src/lib/dropdown/dropdown.component.ts +0 -71
  231. package/src/lib/edu-sharing-ui-configuration.ts +0 -47
  232. package/src/lib/edu-sharing-ui.module.ts +0 -49
  233. package/src/lib/list-items/available-widgets.ts +0 -30
  234. package/src/lib/list-items/format-duration.pipe.ts +0 -17
  235. package/src/lib/list-items/list-base/list-base.component.html +0 -52
  236. package/src/lib/list-items/list-base/list-base.component.ts +0 -44
  237. package/src/lib/list-items/list-collection-info/list-collection-info.component.html +0 -48
  238. package/src/lib/list-items/list-collection-info/list-collection-info.component.scss +0 -8
  239. package/src/lib/list-items/list-collection-info/list-collection-info.component.ts +0 -24
  240. package/src/lib/list-items/list-counts/list-counts.component.html +0 -1
  241. package/src/lib/list-items/list-counts/list-counts.component.scss +0 -3
  242. package/src/lib/list-items/list-counts/list-counts.component.ts +0 -59
  243. package/src/lib/list-items/list-items.module.ts +0 -33
  244. package/src/lib/list-items/list-node-license/list-node-license.component.html +0 -8
  245. package/src/lib/list-items/list-node-license/list-node-license.component.ts +0 -47
  246. package/src/lib/list-items/list-node-replication-source/list-node-replication-source.component.html +0 -11
  247. package/src/lib/list-items/list-node-replication-source/list-node-replication-source.component.ts +0 -60
  248. package/src/lib/list-items/list-node-workflow/list-node-workflow.component.html +0 -3
  249. package/src/lib/list-items/list-node-workflow/list-node-workflow.component.ts +0 -21
  250. package/src/lib/list-items/list-text/list-text.component.html +0 -176
  251. package/src/lib/list-items/list-text/list-text.component.scss +0 -3
  252. package/src/lib/list-items/list-text/list-text.component.ts +0 -107
  253. package/src/lib/list-items/list-widget.ts +0 -52
  254. package/src/lib/list-items/node-row/node-row.component.html +0 -31
  255. package/src/lib/list-items/node-row/node-row.component.scss +0 -50
  256. package/src/lib/list-items/node-row/node-row.component.ts +0 -16
  257. package/src/lib/list-items/node-source.pipe.ts +0 -48
  258. package/src/lib/node-entries/combined-data-source.ts +0 -51
  259. package/src/lib/node-entries/drag-preview/drag-preview.component.html +0 -6
  260. package/src/lib/node-entries/drag-preview/drag-preview.component.scss +0 -35
  261. package/src/lib/node-entries/drag-preview/drag-preview.component.ts +0 -15
  262. package/src/lib/node-entries/items-cap.ts +0 -54
  263. package/src/lib/node-entries/list-item-label.pipe.ts +0 -28
  264. package/src/lib/node-entries/mixins.scss +0 -23
  265. package/src/lib/node-entries/node-cache.spec.ts +0 -199
  266. package/src/lib/node-entries/node-cache.ts +0 -81
  267. package/src/lib/node-entries/node-data-source.ts +0 -148
  268. package/src/lib/node-entries/node-entries-card/node-entries-card.component.html +0 -167
  269. package/src/lib/node-entries/node-entries-card/node-entries-card.component.scss +0 -28
  270. package/src/lib/node-entries/node-entries-card/node-entries-card.component.ts +0 -132
  271. package/src/lib/node-entries/node-entries-card/node-entries-card.main.scss +0 -261
  272. package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.html +0 -205
  273. package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.scss +0 -181
  274. package/src/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.ts +0 -361
  275. package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.html +0 -100
  276. package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.scss +0 -46
  277. package/src/lib/node-entries/node-entries-card-small/node-entries-card-small.component.ts +0 -40
  278. package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.html +0 -23
  279. package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.scss +0 -58
  280. package/src/lib/node-entries/node-entries-global-options/node-entries-global-options.component.ts +0 -16
  281. package/src/lib/node-entries/node-entries-global.service.ts +0 -79
  282. package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.html +0 -25
  283. package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.scss +0 -32
  284. package/src/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.ts +0 -31
  285. package/src/lib/node-entries/node-entries-table/node-entries-table.component.html +0 -270
  286. package/src/lib/node-entries/node-entries-table/node-entries-table.component.scss +0 -169
  287. package/src/lib/node-entries/node-entries-table/node-entries-table.component.ts +0 -333
  288. package/src/lib/node-entries/node-entries-wrapper.component.ts +0 -363
  289. package/src/lib/node-entries/node-entries.component.html +0 -33
  290. package/src/lib/node-entries/node-entries.component.scss +0 -13
  291. package/src/lib/node-entries/node-entries.component.ts +0 -151
  292. package/src/lib/node-entries/node-entries.module.ts +0 -93
  293. package/src/lib/node-entries/node-rating/node-rating.component.html +0 -53
  294. package/src/lib/node-entries/node-rating/node-rating.component.scss +0 -31
  295. package/src/lib/node-entries/node-rating/node-rating.component.ts +0 -105
  296. package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.html +0 -39
  297. package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.scss +0 -44
  298. package/src/lib/node-entries/node-stats-badges/node-stats-badges.component.ts +0 -43
  299. package/src/lib/node-entries/node-type-badge/node-type-badge.component.html +0 -31
  300. package/src/lib/node-entries/node-type-badge/node-type-badge.component.scss +0 -5
  301. package/src/lib/node-entries/node-type-badge/node-type-badge.component.ts +0 -36
  302. package/src/lib/node-entries/option-button/option-button.component.ts +0 -42
  303. package/src/lib/node-entries/preview-image/preview-image.component.html +0 -19
  304. package/src/lib/node-entries/preview-image/preview-image.component.scss +0 -31
  305. package/src/lib/node-entries/preview-image/preview-image.component.ts +0 -47
  306. package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.html +0 -27
  307. package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.scss +0 -9
  308. package/src/lib/node-entries/sort-select-panel/sort-select-panel.component.ts +0 -26
  309. package/src/lib/node-url/node-url.component.html +0 -66
  310. package/src/lib/node-url/node-url.component.scss +0 -32
  311. package/src/lib/node-url/node-url.component.ts +0 -136
  312. package/src/lib/pipes/file-size.pipe.ts +0 -24
  313. package/src/lib/pipes/format-date.pipe.ts +0 -39
  314. package/src/lib/pipes/node-icon.pipe.ts +0 -11
  315. package/src/lib/pipes/node-image-size.pipe.ts +0 -18
  316. package/src/lib/pipes/node-image.pipe.ts +0 -71
  317. package/src/lib/pipes/node-person-name.pipe.ts +0 -41
  318. package/src/lib/pipes/node-title.pipe.ts +0 -12
  319. package/src/lib/pipes/option-tooltip.pipe.ts +0 -32
  320. package/src/lib/pipes/replace-chars.pipe.ts +0 -21
  321. package/src/lib/pipes/vcard-name.pipe.ts +0 -11
  322. package/src/lib/services/abstract/keyboard-shortcuts.service.ts +0 -10
  323. package/src/lib/services/abstract/options-helper.service.ts +0 -29
  324. package/src/lib/services/accessibility.service.ts +0 -101
  325. package/src/lib/services/node-entries.service.ts +0 -172
  326. package/src/lib/services/node-helper.service.ts +0 -239
  327. package/src/lib/services/nodes-drag-drop.service.ts +0 -165
  328. package/src/lib/services/options-helper-data.service.ts +0 -186
  329. package/src/lib/services/repo-url.service.ts +0 -46
  330. package/src/lib/services/temporary-storage.service.ts +0 -58
  331. package/src/lib/services/ui.service.ts +0 -182
  332. package/src/lib/sort-dropdown/sort-dropdown.component.html +0 -22
  333. package/src/lib/sort-dropdown/sort-dropdown.component.scss +0 -47
  334. package/src/lib/sort-dropdown/sort-dropdown.component.ts +0 -42
  335. package/src/lib/spinner/spinner.component.html +0 -14
  336. package/src/lib/spinner/spinner.component.scss +0 -141
  337. package/src/lib/spinner/spinner.component.ts +0 -12
  338. package/src/lib/translations/README.md +0 -44
  339. package/src/lib/translations/fallback-translation-handler.ts +0 -7
  340. package/src/lib/translations/languages.ts +0 -6
  341. package/src/lib/translations/translation-loader.spec.ts +0 -352
  342. package/src/lib/translations/translation-loader.ts +0 -189
  343. package/src/lib/translations/translations.module.ts +0 -49
  344. package/src/lib/translations/translations.service.spec.ts +0 -152
  345. package/src/lib/translations/translations.service.ts +0 -188
  346. package/src/lib/types/accessibillity.ts +0 -15
  347. package/src/lib/types/keyboard-shortcuts.ts +0 -29
  348. package/src/lib/types/list-item.ts +0 -67
  349. package/src/lib/types/option-item.ts +0 -247
  350. package/src/lib/types/workflow.ts +0 -35
  351. package/src/lib/util/DateHelper.spec.ts +0 -112
  352. package/src/lib/util/DateHelper.ts +0 -197
  353. package/src/lib/util/VCard.ts +0 -277
  354. package/src/lib/util/color-helper.ts +0 -125
  355. package/src/lib/util/duration-helper.spec.ts +0 -35
  356. package/src/lib/util/duration-helper.ts +0 -98
  357. package/src/lib/util/functions.ts +0 -15
  358. package/src/lib/util/helper.ts +0 -60
  359. package/src/lib/util/isNumeric.ts +0 -13
  360. package/src/lib/util/rest-helper.ts +0 -28
  361. package/src/lib/util/ui-animation.ts +0 -154
  362. package/src/lib/util/ui-constants.ts +0 -20
  363. package/src/test.ts +0 -28
  364. package/tsconfig.lib.json +0 -15
  365. package/tsconfig.lib.prod.json +0 -10
  366. package/tsconfig.spec.json +0 -17
  367. /package/{src/lib/types/api-models.ts → lib/types/api-models.d.ts} +0 -0
@@ -0,0 +1,106 @@
1
+ import { Component } from '@angular/core';
2
+ import { RestConstants } from 'ngx-edu-sharing-api';
3
+ import { BehaviorSubject, merge } from 'rxjs';
4
+ import { switchMap } from 'rxjs/operators';
5
+ import { ListItem } from '../../types/list-item';
6
+ import { ListWidget } from '../list-widget';
7
+ import * as Constants from 'ngx-edu-sharing-api';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../services/node-helper.service";
10
+ import * as i2 from "ngx-edu-sharing-api";
11
+ import * as i3 from "@angular/common";
12
+ import * as i4 from "@angular/material/tooltip";
13
+ import * as i5 from "../../pipes/vcard-name.pipe";
14
+ import * as i6 from "../../pipes/file-size.pipe";
15
+ import * as i7 from "../../pipes/node-image-size.pipe";
16
+ import * as i8 from "../../pipes/node-person-name.pipe";
17
+ import * as i9 from "../../pipes/format-date.pipe";
18
+ import * as i10 from "@ngx-translate/core";
19
+ import * as i11 from "../node-source.pipe";
20
+ import * as i12 from "../format-duration.pipe";
21
+ export class ListTextComponent extends ListWidget {
22
+ static { this.supportedItems = [
23
+ new ListItem('NODE', '*'),
24
+ new ListItem('NODE_PROPOSAL', '*'),
25
+ new ListItem('COLLECTION', '*'),
26
+ new ListItem('ORG', '*'),
27
+ new ListItem('GROUP', '*'),
28
+ new ListItem('USER', '*'),
29
+ ]; }
30
+ constructor(nodeHelper, mds, changeDetectorRef) {
31
+ super();
32
+ this.nodeHelper = nodeHelper;
33
+ this.mds = mds;
34
+ this.changeDetectorRef = changeDetectorRef;
35
+ this.DATE_FIELDS = RestConstants.DATE_FIELDS;
36
+ this.VCARD_FIELDS = RestConstants.getAllVCardFields();
37
+ this.displayName$ = new BehaviorSubject(null);
38
+ }
39
+ async ngOnChanges(changes) { }
40
+ async ngOnInit() {
41
+ merge([this.nodeSubject, this.itemSubject])
42
+ .pipe(switchMap(() => this.updateDisplayname()))
43
+ .subscribe((displayName) => { });
44
+ }
45
+ getNode() {
46
+ if (this.item.type === 'NODE_PROPOSAL') {
47
+ return this.node.proposal || this.node;
48
+ }
49
+ else if (this.node.type === RestConstants.CCM_TYPE_COLLECTION_PROPOSAL) {
50
+ return this.node.relations?.Original ?? this.node;
51
+ }
52
+ return this.node;
53
+ }
54
+ isUserProfileAttribute(attribute) {
55
+ return ([
56
+ RestConstants.AUTHORITY_FIRSTNAME,
57
+ RestConstants.AUTHORITY_LASTNAME,
58
+ RestConstants.AUTHORITY_EMAIL,
59
+ ].indexOf(attribute) !== -1);
60
+ }
61
+ getWorkflowStatus() {
62
+ return this.nodeHelper.getWorkflowStatus(this.node).current;
63
+ }
64
+ getI18n(item) {
65
+ return (item.type === 'NODE_PROPOSAL' ? 'NODE_PROPOSAL' : 'NODE') + '.' + item.name;
66
+ }
67
+ isDangerousGroup() {
68
+ return (this.node.authorityName ===
69
+ RestConstants.GROUP_ALFRESCO_ADMINISTRATORS);
70
+ }
71
+ async updateDisplayname() {
72
+ const node = this.getNode();
73
+ if (!node.properties) {
74
+ this.displayName$.next('');
75
+ return;
76
+ }
77
+ this.displayName$.next(node.properties[this.item.name + '_DISPLAYNAME']?.length > 0
78
+ ? node.properties[this.item.name + '_DISPLAYNAME'].join(', ')
79
+ : node.properties[this.item.name]?.join(', '));
80
+ const mds = await this.mds
81
+ .getMetadataSet({
82
+ repository: node.ref?.repo,
83
+ metadataSet: node.metadataset || Constants.DEFAULT,
84
+ })
85
+ .toPromise();
86
+ // @TODO
87
+ /*
88
+ const widget = MdsHelper.getWidget(this.item.name, null, mds.widgets);
89
+ if (widget?.values) {
90
+ const i18n = node.properties[this.item.name]
91
+ ?.map((prop) => widget.values.filter((v) => v.id === prop)?.[0]?.caption)
92
+ .filter((cap) => !!cap);
93
+ if (i18n) {
94
+ this.displayName$.next(i18n.join(', '));
95
+ }
96
+ }
97
+ */
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ListTextComponent, deps: [{ token: i1.NodeHelperService }, { token: i2.MdsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ListTextComponent, selector: "es-list-text", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile.displayName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'title'\"\n [matTooltip]=\"provideLabel ? $any(getNode()).title || $any(getNode()).name : null\"\n >\n {{ $any(getNode()).title || $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'cm:title'\"\n [matTooltip]=\"provideLabel ? $any(getNode()).title || $any(getNode()).name : null\"\n >\n {{ $any(getNode()).title || $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'cclom:title'\"\n [matTooltip]=\"provideLabel ? $any(getNode()).title || $any(getNode()).name : null\"\n >\n {{ $any(getNode()).title || $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource : { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate : { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{ ('PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]) | translate:{fallback: ''} }}\n </span>\n <span *ngSwitchDefault [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container\n *ngIf=\"DATE_FIELDS.indexOf(item.name) === -1 && VCARD_FIELDS.indexOf(item.name) === -1\"\n >\n {{ displayName$ | async }}\n </ng-container>\n <ng-container *ngIf=\"DATE_FIELDS.includes(item.name)\">\n {{ $any(getNode()).properties[item.name]?.[0] | formatDate: { async: true } | async }}\n </ng-container>\n <ng-container *ngIf=\"VCARD_FIELDS.includes(item.name)\">\n {{\n $any(getNode()).properties[item.name]\n ? ($any(getNode()).properties[item.name][0] | vcardName)\n : ''\n }}\n </ng-container>\n </span>\n</ng-container>\n", styles: [".type-danger{color:var(--warning)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.VCardNamePipe, name: "vcardName" }, { kind: "pipe", type: i6.FormatSizePipe, name: "formatSize" }, { kind: "pipe", type: i7.NodeImageSizePipe, name: "NodeImageSize" }, { kind: "pipe", type: i8.NodePersonNamePipe, name: "nodePersonName" }, { kind: "pipe", type: i9.FormatDatePipe, name: "formatDate" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }, { kind: "pipe", type: i11.NodeSourcePipe, name: "appNodeSource" }, { kind: "pipe", type: i12.FormatDurationPipe, name: "formatDuration" }] }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ListTextComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'es-list-text', template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile.displayName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'title'\"\n [matTooltip]=\"provideLabel ? $any(getNode()).title || $any(getNode()).name : null\"\n >\n {{ $any(getNode()).title || $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'cm:title'\"\n [matTooltip]=\"provideLabel ? $any(getNode()).title || $any(getNode()).name : null\"\n >\n {{ $any(getNode()).title || $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'cclom:title'\"\n [matTooltip]=\"provideLabel ? $any(getNode()).title || $any(getNode()).name : null\"\n >\n {{ $any(getNode()).title || $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource : { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate : { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{ ('PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]) | translate:{fallback: ''} }}\n </span>\n <span *ngSwitchDefault [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container\n *ngIf=\"DATE_FIELDS.indexOf(item.name) === -1 && VCARD_FIELDS.indexOf(item.name) === -1\"\n >\n {{ displayName$ | async }}\n </ng-container>\n <ng-container *ngIf=\"DATE_FIELDS.includes(item.name)\">\n {{ $any(getNode()).properties[item.name]?.[0] | formatDate: { async: true } | async }}\n </ng-container>\n <ng-container *ngIf=\"VCARD_FIELDS.includes(item.name)\">\n {{\n $any(getNode()).properties[item.name]\n ? ($any(getNode()).properties[item.name][0] | vcardName)\n : ''\n }}\n </ng-container>\n </span>\n</ng-container>\n", styles: [".type-danger{color:var(--warning)}\n"] }]
105
+ }], ctorParameters: function () { return [{ type: i1.NodeHelperService }, { type: i2.MdsService }, { type: i0.ChangeDetectorRef }]; } });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQWtDLGFBQWEsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9qRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsVUFBVTthQUN0QyxtQkFBYyxHQUFHO1FBQ3BCLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7UUFDekIsSUFBSSxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQztRQUNsQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO1FBQy9CLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7UUFDeEIsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQztRQUMxQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO0tBQzVCLENBQUM7SUFLRixZQUNZLFVBQTZCLEVBQzdCLEdBQWUsRUFDZixpQkFBb0M7UUFFNUMsS0FBSyxFQUFFLENBQUM7UUFKQSxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2Ysc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVB2QyxnQkFBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDeEMsaUJBQVksR0FBRyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMxRCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO0lBUWpELENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCLElBQUcsQ0FBQztJQUU1QyxLQUFLLENBQUMsUUFBUTtRQUNWLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQzthQUMvQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7WUFDcEMsT0FBUSxJQUFJLENBQUMsSUFBcUIsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztTQUM1RDthQUFNLElBQUssSUFBSSxDQUFDLElBQWEsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLDRCQUE0QixFQUFFO1lBQ2hGLE9BQVEsSUFBSSxDQUFDLElBQWEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDL0Q7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELHNCQUFzQixDQUFDLFNBQWlCO1FBQ3BDLE9BQU8sQ0FDSDtZQUNJLGFBQWEsQ0FBQyxtQkFBbUI7WUFDakMsYUFBYSxDQUFDLGtCQUFrQjtZQUNoQyxhQUFhLENBQUMsZUFBZTtTQUNoQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDOUIsQ0FBQztJQUNOLENBQUM7SUFDRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUN4RSxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWM7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3hGLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLENBQ0YsSUFBSSxDQUFDLElBQXFCLENBQUMsYUFBYTtZQUN6QyxhQUFhLENBQUMsNkJBQTZCLENBQzlDLENBQUM7SUFDTixDQUFDO0lBRU8sS0FBSyxDQUFDLGlCQUFpQjtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0IsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUM7WUFDeEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM3RCxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDcEQsQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUc7YUFDckIsY0FBYyxDQUFDO1lBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSTtZQUMxQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsT0FBTztTQUNyRCxDQUFDO2FBQ0QsU0FBUyxFQUFFLENBQUM7UUFDakIsUUFBUTtRQUNSOzs7Ozs7Ozs7O1dBVUc7SUFDUCxDQUFDOzhHQTNGUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnR0NkOUIsNmdPQWdMQTs7MkZEbEthLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZHNTZXJ2aWNlLCBOb2RlLCBPcmdhbml6YXRpb24sIFJlc3RDb25zdGFudHMsIFByb3Bvc2FsTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9saXN0LWl0ZW0nO1xuaW1wb3J0IHsgTGlzdFdpZGdldCB9IGZyb20gJy4uL2xpc3Qtd2lkZ2V0JztcbmltcG9ydCB7IE5vZGVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBDb25zdGFudHMgZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtbGlzdC10ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LXRleHQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdFRleHRDb21wb25lbnQgZXh0ZW5kcyBMaXN0V2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdGF0aWMgc3VwcG9ydGVkSXRlbXMgPSBbXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERScsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERV9QUk9QT1NBTCcsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnQ09MTEVDVElPTicsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnT1JHJywgJyonKSxcbiAgICAgICAgbmV3IExpc3RJdGVtKCdHUk9VUCcsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnVVNFUicsICcqJyksXG4gICAgXTtcbiAgICByZWFkb25seSBEQVRFX0ZJRUxEUyA9IFJlc3RDb25zdGFudHMuREFURV9GSUVMRFM7XG4gICAgcmVhZG9ubHkgVkNBUkRfRklFTERTID0gUmVzdENvbnN0YW50cy5nZXRBbGxWQ2FyZEZpZWxkcygpO1xuICAgIGRpc3BsYXlOYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5vZGVIZWxwZXI6IE5vZGVIZWxwZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1kczogTWRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge31cblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICBtZXJnZShbdGhpcy5ub2RlU3ViamVjdCwgdGhpcy5pdGVtU3ViamVjdF0pXG4gICAgICAgICAgICAucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy51cGRhdGVEaXNwbGF5bmFtZSgpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpc3BsYXlOYW1lKSA9PiB7fSk7XG4gICAgfVxuICAgIGdldE5vZGUoKSB7XG4gICAgICAgIGlmICh0aGlzLml0ZW0udHlwZSA9PT0gJ05PREVfUFJPUE9TQUwnKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMubm9kZSBhcyBQcm9wb3NhbE5vZGUpLnByb3Bvc2FsIHx8IHRoaXMubm9kZTtcbiAgICAgICAgfSBlbHNlIGlmICgodGhpcy5ub2RlIGFzIE5vZGUpLnR5cGUgPT09IFJlc3RDb25zdGFudHMuQ0NNX1RZUEVfQ09MTEVDVElPTl9QUk9QT1NBTCkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLm5vZGUgYXMgTm9kZSkucmVsYXRpb25zPy5PcmlnaW5hbCA/PyB0aGlzLm5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgICB9XG5cbiAgICBpc1VzZXJQcm9maWxlQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgUmVzdENvbnN0YW50cy5BVVRIT1JJVFlfRklSU1ROQU1FLFxuICAgICAgICAgICAgICAgIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0xBU1ROQU1FLFxuICAgICAgICAgICAgICAgIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0VNQUlMLFxuICAgICAgICAgICAgXS5pbmRleE9mKGF0dHJpYnV0ZSkgIT09IC0xXG4gICAgICAgICk7XG4gICAgfVxuICAgIGdldFdvcmtmbG93U3RhdHVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlSGVscGVyLmdldFdvcmtmbG93U3RhdHVzKHRoaXMubm9kZSBhcyBOb2RlKS5jdXJyZW50O1xuICAgIH1cblxuICAgIGdldEkxOG4oaXRlbTogTGlzdEl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIChpdGVtLnR5cGUgPT09ICdOT0RFX1BST1BPU0FMJyA/ICdOT0RFX1BST1BPU0FMJyA6ICdOT0RFJykgKyAnLicgKyBpdGVtLm5hbWU7XG4gICAgfVxuXG4gICAgaXNEYW5nZXJvdXNHcm91cCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLm5vZGUgYXMgT3JnYW5pemF0aW9uKS5hdXRob3JpdHlOYW1lID09PVxuICAgICAgICAgICAgUmVzdENvbnN0YW50cy5HUk9VUF9BTEZSRVNDT19BRE1JTklTVFJBVE9SU1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdXBkYXRlRGlzcGxheW5hbWUoKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSBhcyBOb2RlO1xuICAgICAgICBpZiAoIW5vZGUucHJvcGVydGllcykge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSQubmV4dCgnJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSQubmV4dChcbiAgICAgICAgICAgIG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZSArICdfRElTUExBWU5BTUUnXT8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgID8gbm9kZS5wcm9wZXJ0aWVzW3RoaXMuaXRlbS5uYW1lICsgJ19ESVNQTEFZTkFNRSddLmpvaW4oJywgJylcbiAgICAgICAgICAgICAgICA6IG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZV0/LmpvaW4oJywgJyksXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgbWRzID0gYXdhaXQgdGhpcy5tZHNcbiAgICAgICAgICAgIC5nZXRNZXRhZGF0YVNldCh7XG4gICAgICAgICAgICAgICAgcmVwb3NpdG9yeTogbm9kZS5yZWY/LnJlcG8sXG4gICAgICAgICAgICAgICAgbWV0YWRhdGFTZXQ6IG5vZGUubWV0YWRhdGFzZXQgfHwgQ29uc3RhbnRzLkRFRkFVTFQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgICAvLyBAVE9ET1xuICAgICAgICAvKlxuICAgICAgICBjb25zdCB3aWRnZXQgPSBNZHNIZWxwZXIuZ2V0V2lkZ2V0KHRoaXMuaXRlbS5uYW1lLCBudWxsLCBtZHMud2lkZ2V0cyk7XG4gICAgICAgIGlmICh3aWRnZXQ/LnZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgaTE4biA9IG5vZGUucHJvcGVydGllc1t0aGlzLml0ZW0ubmFtZV1cbiAgICAgICAgICAgICAgICA/Lm1hcCgocHJvcCkgPT4gd2lkZ2V0LnZhbHVlcy5maWx0ZXIoKHYpID0+IHYuaWQgPT09IHByb3ApPy5bMF0/LmNhcHRpb24pXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoY2FwKSA9PiAhIWNhcCk7XG4gICAgICAgICAgICBpZiAoaTE4bikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU5hbWUkLm5leHQoaTE4bi5qb2luKCcsICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgKi9cbiAgICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJpdGVtLmNvbmZpZz8uc2hvd0xhYmVsXCI+XG4gIHt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX1cbjwvbGFiZWw+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnT1JHJyB8fCBpdGVtLnR5cGUgPT09ICdHUk9VUCdcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaXRlbS5uYW1lXCI+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkaXNwbGF5TmFtZSdcIiBbY2xhc3MudHlwZS1kYW5nZXJdPVwiaXNEYW5nZXJvdXNHcm91cCgpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvZmlsZS5kaXNwbGF5TmFtZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2dyb3VwVHlwZSdcIj5cbiAgICAgIHt7ICdQRVJNSVNTSU9OUy5HUk9VUF9UWVBFLicgKyAkYW55KGdldE5vZGUoKSkucHJvZmlsZS5ncm91cFR5cGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKVtpdGVtLm5hbWVdIH19XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ1VTRVInXCI+XG4gIDxzcGFuICpuZ0lmPVwiaXNVc2VyUHJvZmlsZUF0dHJpYnV0ZShpdGVtLm5hbWUpXCI+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnByb2ZpbGVbaXRlbS5uYW1lXSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiaXRlbS5uYW1lID09PSAnc3RhdHVzJ1wiPlxuICAgIHt7ICdQRVJNSVNTSU9OUy5VU0VSX1NUQVRVUy4nICsgJGFueShnZXROb2RlKCkpLnN0YXR1cy5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIiFpc1VzZXJQcm9maWxlQXR0cmlidXRlKGl0ZW0ubmFtZSkgJiYgaXRlbS5uYW1lICE9PSAnc3RhdHVzJ1wiPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKVtpdGVtLm5hbWVdIH19XG4gIDwvc3Bhbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lclxuICBbbmdTd2l0Y2hdPVwiaXRlbS5uYW1lXCJcbiAgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdOT0RFJyB8fCBpdGVtLnR5cGUgPT09ICdOT0RFX1BST1BPU0FMJyB8fCBpdGVtLnR5cGUgPT09ICdDT0xMRUNUSU9OJ1wiXG4+XG4gIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInbmFtZSdcIj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkubmFtZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIid0aXRsZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/ICRhbnkoZ2V0Tm9kZSgpKS50aXRsZSB8fCAkYW55KGdldE5vZGUoKSkubmFtZSA6IG51bGxcIlxuICA+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnRpdGxlIHx8ICRhbnkoZ2V0Tm9kZSgpKS5uYW1lIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NtOnRpdGxlJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gJGFueShnZXROb2RlKCkpLnRpdGxlIHx8ICRhbnkoZ2V0Tm9kZSgpKS5uYW1lIDogbnVsbFwiXG4gID5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkudGl0bGUgfHwgJGFueShnZXROb2RlKCkpLm5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2Nsb206dGl0bGUnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAkYW55KGdldE5vZGUoKSkudGl0bGUgfHwgJGFueShnZXROb2RlKCkpLm5hbWUgOiBudWxsXCJcbiAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS50aXRsZSB8fCAkYW55KGdldE5vZGUoKSkubmFtZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidtZWRpYXR5cGUnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJ01FRElBVFlQRS4nICsgJGFueShnZXROb2RlKCkpLm1lZGlhdHlwZSB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInc2l6ZSdcIiBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkuc2l6ZSB8IGZvcm1hdFNpemUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInZGltZW5zaW9ucydcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkgfCBOb2RlSW1hZ2VTaXplIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTp3Zl9zdGF0dXMnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJ1dPUktGTE9XLicgKyBnZXRXb3JrZmxvd1N0YXR1cygpLmlkIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NtOmNyZWF0b3InXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAge3sgJGFueShnZXROb2RlKCkpLmNyZWF0ZWRCeSB8IG5vZGVQZXJzb25OYW1lIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NtOm1vZGlmaWVyJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY206bW9kaWZpZXInIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkubW9kaWZpZWRCeSB8IG5vZGVQZXJzb25OYW1lIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTpyZXBsaWNhdGlvbnNvdXJjZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTpyZXBsaWNhdGlvbnNvdXJjZScgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206cmVwbGljYXRpb25zb3VyY2UnXSB8IGFwcE5vZGVTb3VyY2UgOiB7IG1vZGU6ICd0ZXh0JyB9IH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTpjb21tb25saWNlbnNlX2tleSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTpjb21tb25saWNlbnNlX2tleScgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J10gYXMgbGljZW5zZVwiPlxuICAgICAge3tcbiAgICAgICAgbGljZW5zZVswXSA9PT0gJ0NVU1RPTSdcbiAgICAgICAgICA/ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY2xvbTpyaWdodHNfZGVzY3JpcHRpb24nXVxuICAgICAgICAgIDogKCdMSUNFTlNFLk5BTUVTLicgKyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J11cbiAgICAgICAgICAgIHwgdHJhbnNsYXRlIDogeyBmYWxsYmFjazogJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTpjb21tb25saWNlbnNlX2tleSddIH0pXG4gICAgICB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTpjb21tb25saWNlbnNlX2tleSddXCI+XG4gICAgICB7eyAnTElDRU5TRS5OQU1FUy5OT05FJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2UnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2UnIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX2Zyb20nXSB8fFxuICAgICAgICAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX3RvJ11cbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZV9mcm9tJ10gfX0gLVxuICAgICAge3sgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZV90byddIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbG9tOmR1cmF0aW9uJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2Nsb206ZHVyYXRpb24nIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2Nsb206ZHVyYXRpb24nXT8uWzBdIHwgZm9ybWF0RHVyYXRpb24gfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOmNvbGxlY3Rpb25fcHJvcG9zYWxfc3RhdHVzJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2NtOmNvbGxlY3Rpb25fcHJvcG9zYWxfc3RhdHVzJyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAgPCEtLSB1c2Ugbm9kZSBpbnN0ZWFkIG9mIGdldE5vZGUoKSB0byBhY2Nlc3MgdGhlIHJhdyBwcm9wb3NhbCBkYXRhISAtLT5cbiAgICB7eyAoJ1BST1BPU0FMX1NUQVRVUy4nICsgJGFueShub2RlKS5wcm9wZXJ0aWVzWydjY206Y29sbGVjdGlvbl9wcm9wb3NhbF9zdGF0dXMnXT8uWzBdKSB8IHRyYW5zbGF0ZTp7ZmFsbGJhY2s6ICcnfSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJEQVRFX0ZJRUxEUy5pbmRleE9mKGl0ZW0ubmFtZSkgPT09IC0xICYmIFZDQVJEX0ZJRUxEUy5pbmRleE9mKGl0ZW0ubmFtZSkgPT09IC0xXCJcbiAgICA+XG4gICAgICB7eyBkaXNwbGF5TmFtZSQgfCBhc3luYyB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEQVRFX0ZJRUxEUy5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1tpdGVtLm5hbWVdPy5bMF0gfCBmb3JtYXREYXRlOiB7IGFzeW5jOiB0cnVlIH0gfCBhc3luYyB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJWQ0FSRF9GSUVMRFMuaW5jbHVkZXMoaXRlbS5uYW1lKVwiPlxuICAgICAge3tcbiAgICAgICAgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXVxuICAgICAgICAgID8gKCRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzW2l0ZW0ubmFtZV1bMF0gfCB2Y2FyZE5hbWUpXG4gICAgICAgICAgOiAnJ1xuICAgICAgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { Input, Directive } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ListWidget {
5
+ get node() {
6
+ return this.nodeSubject.value;
7
+ }
8
+ set node(value) {
9
+ this.nodeSubject.next(value);
10
+ }
11
+ get item() {
12
+ return this.itemSubject.value;
13
+ }
14
+ set item(value) {
15
+ this.itemSubject.next(value);
16
+ }
17
+ /**
18
+ * Provide a label for non-obvious fields that describes the field the given value belongs to.
19
+ *
20
+ * The label is included in a tooltip and made available for a11y technologies.
21
+ *
22
+ * Useful when the value is displayed without context.
23
+ *
24
+ * Other tooltips might be added even with this input set to `false`.
25
+ */
26
+ get provideLabel() {
27
+ return this.provideLabelSubject.value;
28
+ }
29
+ set provideLabel(value) {
30
+ this.provideLabelSubject.next(value);
31
+ }
32
+ constructor() {
33
+ this.nodeSubject = new BehaviorSubject(null); // node (or group/user)
34
+ this.itemSubject = new BehaviorSubject(null);
35
+ this.provideLabelSubject = new BehaviorSubject(false);
36
+ }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ListWidget, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
38
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: ListWidget, inputs: { node: "node", item: "item", provideLabel: "provideLabel" }, ngImport: i0 }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ListWidget, decorators: [{
41
+ type: Directive
42
+ }], ctorParameters: function () { return []; }, propDecorators: { node: [{
43
+ type: Input
44
+ }], item: [{
45
+ type: Input
46
+ }], provideLabel: [{
47
+ type: Input
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC13aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2xpc3QtaXRlbXMvbGlzdC13aWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBUSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdkMsTUFBTSxPQUFPLFVBQVU7SUFDbkIsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBd0Q7UUFDN0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUtELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWU7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUdEOzs7Ozs7OztPQVFHO0lBQ0gsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdEO1FBL0JtQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUVsRCxJQUFJLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtRQVNiLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVcsSUFBSSxDQUFDLENBQUM7UUFrQmxELHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJELENBQUM7OEdBdkNQLFVBQVU7a0dBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFEdEIsU0FBUzswRUFHRixJQUFJO3NCQURQLEtBQUs7Z0JBWUYsSUFBSTtzQkFEUCxLQUFLO2dCQW1CRixZQUFZO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgVHlwZSwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXJzb24gfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm9kZSwgUHJvcG9zYWxOb2RlLCBHcm91cCwgU3RhdGlzdGljcyB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi90eXBlcy9saXN0LWl0ZW0nO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBMaXN0V2lkZ2V0IHtcbiAgICBASW5wdXQoKVxuICAgIGdldCBub2RlKCk6IE5vZGUgfCBQcm9wb3NhbE5vZGUgfCBHcm91cCB8IFBlcnNvbiB8IFN0YXRpc3RpY3Mge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlU3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG5vZGUodmFsdWU6IE5vZGUgfCBQcm9wb3NhbE5vZGUgfCBHcm91cCB8IFBlcnNvbiB8IFN0YXRpc3RpY3MpIHtcbiAgICAgICAgdGhpcy5ub2RlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vZGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgICAgTm9kZSB8IFByb3Bvc2FsTm9kZSB8IEdyb3VwIHwgUGVyc29uIHwgU3RhdGlzdGljc1xuICAgID4obnVsbCk7IC8vIG5vZGUgKG9yIGdyb3VwL3VzZXIpXG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBpdGVtKCk6IExpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbVN1YmplY3QudmFsdWU7XG4gICAgfVxuICAgIHNldCBpdGVtKHZhbHVlOiBMaXN0SXRlbSkge1xuICAgICAgICB0aGlzLml0ZW1TdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExpc3RJdGVtPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgYSBsYWJlbCBmb3Igbm9uLW9idmlvdXMgZmllbGRzIHRoYXQgZGVzY3JpYmVzIHRoZSBmaWVsZCB0aGUgZ2l2ZW4gdmFsdWUgYmVsb25ncyB0by5cbiAgICAgKlxuICAgICAqIFRoZSBsYWJlbCBpcyBpbmNsdWRlZCBpbiBhIHRvb2x0aXAgYW5kIG1hZGUgYXZhaWxhYmxlIGZvciBhMTF5IHRlY2hub2xvZ2llcy5cbiAgICAgKlxuICAgICAqIFVzZWZ1bCB3aGVuIHRoZSB2YWx1ZSBpcyBkaXNwbGF5ZWQgd2l0aG91dCBjb250ZXh0LlxuICAgICAqXG4gICAgICogT3RoZXIgdG9vbHRpcHMgbWlnaHQgYmUgYWRkZWQgZXZlbiB3aXRoIHRoaXMgaW5wdXQgc2V0IHRvIGBmYWxzZWAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgcHJvdmlkZUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlTGFiZWxTdWJqZWN0LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgcHJvdmlkZUxhYmVsKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucHJvdmlkZUxhYmVsU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByb3ZpZGVMYWJlbFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cbn1cblxuZXhwb3J0IHR5cGUgTGlzdFdpZGdldENsYXNzID0ge1xuICAgIHN1cHBvcnRlZEl0ZW1zOiBMaXN0SXRlbVtdO1xufSAmIFR5cGU8TGlzdFdpZGdldD47XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component, ContentChild, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/tooltip";
5
+ import * as i3 from "../list-text/list-text.component";
6
+ import * as i4 from "../../pipes/node-icon.pipe";
7
+ import * as i5 from "@ngx-translate/core";
8
+ export class NodeRowComponent {
9
+ constructor() { }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: NodeRowComponent, selector: "es-node-row", inputs: { node: "node", columns: "columns" }, queries: [{ propertyName: "customMetadataRef", first: true, predicate: ["customMetadata"], descendants: true }], ngImport: i0, template: "<div class=\"node-row\" *ngIf=\"node\">\n <div class=\"icon-bg\">\n <img\n [src]=\"node | esNodeIcon | async\"\n [alt]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n [matTooltip]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n />\n </div>\n <div class=\"node-data\">\n <div class=\"node-data-primary\">\n <es-list-text [node]=\"node\" [item]=\"columns[0]\"> </es-list-text>\n </div>\n <div class=\"node-data-secondary\">\n <es-list-text\n *ngFor=\"let column of columns.slice(1)\"\n [node]=\"node\"\n [item]=\"column\"\n [provideLabel]=\"true\"\n ></es-list-text>\n <ng-container *ngTemplateOutlet=\"customMetadataRef; context: { node: node }\"></ng-container>\n </div>\n </div>\n</div>\n", styles: [".node-row{width:100%;display:grid;grid-template-columns:var(--tableIconSize) auto;grid-gap:10px;align-items:center;padding:10px;white-space:normal}.node-row .node-data{flex-grow:1;display:flex;flex-direction:column}.node-row .node-data .node-data-primary{font-weight:700;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:1.25em;max-height:1.25em;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node-row .node-data .node-data-secondary{color:var(--textLight);display:flex;justify-content:space-between}.node-row .icon-bg{background-color:rgb(var(--palette-foreground-text-dark));border-radius:50%;width:var(--tableIconSize);height:var(--tableIconSize)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 3px #0000001a}.node-row .icon-bg img,.node-row .icon-bg i{width:50%;z-index:0}.node-row .icon-bg i{color:rgb(var(--palette-foreground-text));font-size:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i3.ListTextComponent, selector: "es-list-text" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.NodeIconPipe, name: "esNodeIcon" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeRowComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'es-node-row', template: "<div class=\"node-row\" *ngIf=\"node\">\n <div class=\"icon-bg\">\n <img\n [src]=\"node | esNodeIcon | async\"\n [alt]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n [matTooltip]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n />\n </div>\n <div class=\"node-data\">\n <div class=\"node-data-primary\">\n <es-list-text [node]=\"node\" [item]=\"columns[0]\"> </es-list-text>\n </div>\n <div class=\"node-data-secondary\">\n <es-list-text\n *ngFor=\"let column of columns.slice(1)\"\n [node]=\"node\"\n [item]=\"column\"\n [provideLabel]=\"true\"\n ></es-list-text>\n <ng-container *ngTemplateOutlet=\"customMetadataRef; context: { node: node }\"></ng-container>\n </div>\n </div>\n</div>\n", styles: [".node-row{width:100%;display:grid;grid-template-columns:var(--tableIconSize) auto;grid-gap:10px;align-items:center;padding:10px;white-space:normal}.node-row .node-data{flex-grow:1;display:flex;flex-direction:column}.node-row .node-data .node-data-primary{font-weight:700;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:1.25em;max-height:1.25em;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node-row .node-data .node-data-secondary{color:var(--textLight);display:flex;justify-content:space-between}.node-row .icon-bg{background-color:rgb(var(--palette-foreground-text-dark));border-radius:50%;width:var(--tableIconSize);height:var(--tableIconSize)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 3px #0000001a}.node-row .icon-bg img,.node-row .icon-bg i{width:50%;z-index:0}.node-row .icon-bg i{color:rgb(var(--palette-foreground-text));font-size:20px}\n"] }]
16
+ }], ctorParameters: function () { return []; }, propDecorators: { customMetadataRef: [{
17
+ type: ContentChild,
18
+ args: ['customMetadata']
19
+ }], node: [{
20
+ type: Input
21
+ }], columns: [{
22
+ type: Input
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9saXN0LWl0ZW1zL25vZGUtcm93L25vZGUtcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9ub2RlLXJvdy9ub2RlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTNUUsTUFBTSxPQUFPLGdCQUFnQjtJQUt6QixnQkFBZSxDQUFDOzhHQUxQLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGtOQ1Q3Qix3OUJBK0JBOzsyRkR0QmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNJLGFBQWE7MEVBS1MsaUJBQWlCO3NCQUFoRCxZQUFZO3VCQUFDLGdCQUFnQjtnQkFDckIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1ub2RlLXJvdycsXG4gICAgdGVtcGxhdGVVcmw6ICdub2RlLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ25vZGUtcm93LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVSb3dDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoJ2N1c3RvbU1ldGFkYXRhJykgY3VzdG9tTWV0YWRhdGFSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgbm9kZTogTm9kZTtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBMaXN0SXRlbVtdO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cIm5vZGUtcm93XCIgKm5nSWY9XCJub2RlXCI+XG4gIDxkaXYgY2xhc3M9XCJpY29uLWJnXCI+XG4gICAgPGltZ1xuICAgICAgW3NyY109XCJub2RlIHwgZXNOb2RlSWNvbiB8IGFzeW5jXCJcbiAgICAgIFthbHRdPVwiXG4gICAgICAgIG5vZGUubWVkaWF0eXBlXG4gICAgICAgICAgPyAoJ05PREUubWVkaWF0eXBlJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgKCdNRURJQVRZUEUuJyArIG5vZGUubWVkaWF0eXBlIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIDogJydcbiAgICAgIFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgICAgbm9kZS5tZWRpYXR5cGVcbiAgICAgICAgICA/ICgnTk9ERS5tZWRpYXR5cGUnIHwgdHJhbnNsYXRlKSArICc6ICcgKyAoJ01FRElBVFlQRS4nICsgbm9kZS5tZWRpYXR5cGUgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAnJ1xuICAgICAgXCJcbiAgICAvPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm5vZGUtZGF0YVwiPlxuICAgIDxkaXYgY2xhc3M9XCJub2RlLWRhdGEtcHJpbWFyeVwiPlxuICAgICAgPGVzLWxpc3QtdGV4dCBbbm9kZV09XCJub2RlXCIgW2l0ZW1dPVwiY29sdW1uc1swXVwiPiA8L2VzLWxpc3QtdGV4dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibm9kZS1kYXRhLXNlY29uZGFyeVwiPlxuICAgICAgPGVzLWxpc3QtdGV4dFxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnMuc2xpY2UoMSlcIlxuICAgICAgICBbbm9kZV09XCJub2RlXCJcbiAgICAgICAgW2l0ZW1dPVwiY29sdW1uXCJcbiAgICAgICAgW3Byb3ZpZGVMYWJlbF09XCJ0cnVlXCJcbiAgICAgID48L2VzLWxpc3QtdGV4dD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21NZXRhZGF0YVJlZjsgY29udGV4dDogeyBub2RlOiBub2RlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../services/node-helper.service";
4
+ import * as i2 from "ngx-edu-sharing-api";
5
+ export class NodeSourcePipe {
6
+ constructor(nodeHelper, networkApi) {
7
+ this.nodeHelper = nodeHelper;
8
+ this.networkApi = networkApi;
9
+ this.networkApi.getHomeRepository().subscribe((homeRepository) => {
10
+ this.homeRepository = homeRepository;
11
+ });
12
+ }
13
+ transform(replicationSource, args) {
14
+ const rawSrc = replicationSource ? replicationSource.toString().trim() : 'home';
15
+ if (args.mode === 'text') {
16
+ if (rawSrc === 'home') {
17
+ // FIXME: This will fix the pipe's return value to 'home' for calls before
18
+ // `this.homeRepository` was populated (although that doesn't seem to happen).
19
+ return this.homeRepository?.title || 'home';
20
+ }
21
+ return rawSrc;
22
+ }
23
+ else if (args.mode === 'url') {
24
+ const src = this.escape(rawSrc);
25
+ return this.nodeHelper.getSourceIconPath(src);
26
+ }
27
+ else if (args.mode === 'escaped') {
28
+ return this.escape(rawSrc);
29
+ }
30
+ return null;
31
+ }
32
+ escape(src) {
33
+ if (!src) {
34
+ return src;
35
+ }
36
+ src = src.substring(src.lastIndexOf(':') + 1).toLowerCase();
37
+ src = src.replace(/\s/g, '_');
38
+ src = src.replace(/\./g, '_');
39
+ src = src.replace(/\//g, '_');
40
+ return src;
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeSourcePipe, deps: [{ token: i1.NodeHelperService }, { token: i2.NetworkService }], target: i0.ɵɵFactoryTarget.Pipe }); }
43
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: NodeSourcePipe, name: "appNodeSource" }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeSourcePipe, decorators: [{
46
+ type: Pipe,
47
+ args: [{ name: 'appNodeSource' }]
48
+ }], ctorParameters: function () { return [{ type: i1.NodeHelperService }, { type: i2.NetworkService }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zb3VyY2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9ub2RlLXNvdXJjZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7O0FBS3BELE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQW9CLFVBQTZCLEVBQVUsVUFBMEI7UUFBakUsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUNqRixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUyxDQUNMLGlCQUF5QixFQUN6QixJQUVDO1FBRUQsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEYsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN0QixJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQ25CLDBFQUEwRTtnQkFDMUUsOEVBQThFO2dCQUM5RSxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxJQUFJLE1BQU0sQ0FBQzthQUMvQztZQUNELE9BQU8sTUFBTSxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNqRDthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFXO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDTixPQUFPLEdBQUcsQ0FBQztTQUNkO1FBQ0QsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1RCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7OEdBekNRLGNBQWM7NEdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSwgUmVwb3NpdG9yeSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgTm9kZUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ub2RlLWhlbHBlci5zZXJ2aWNlJztcblxuQFBpcGUoeyBuYW1lOiAnYXBwTm9kZVNvdXJjZScgfSlcbmV4cG9ydCBjbGFzcyBOb2RlU291cmNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgaG9tZVJlcG9zaXRvcnk6IFJlcG9zaXRvcnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vZGVIZWxwZXI6IE5vZGVIZWxwZXJTZXJ2aWNlLCBwcml2YXRlIG5ldHdvcmtBcGk6IE5ldHdvcmtTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubmV0d29ya0FwaS5nZXRIb21lUmVwb3NpdG9yeSgpLnN1YnNjcmliZSgoaG9tZVJlcG9zaXRvcnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaG9tZVJlcG9zaXRvcnkgPSBob21lUmVwb3NpdG9yeTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHJhbnNmb3JtKFxuICAgICAgICByZXBsaWNhdGlvblNvdXJjZTogc3RyaW5nLFxuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBtb2RlOiAndGV4dCcgfCAndXJsJyB8ICdlc2NhcGVkJztcbiAgICAgICAgfSxcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByYXdTcmMgPSByZXBsaWNhdGlvblNvdXJjZSA/IHJlcGxpY2F0aW9uU291cmNlLnRvU3RyaW5nKCkudHJpbSgpIDogJ2hvbWUnO1xuICAgICAgICBpZiAoYXJncy5tb2RlID09PSAndGV4dCcpIHtcbiAgICAgICAgICAgIGlmIChyYXdTcmMgPT09ICdob21lJykge1xuICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHdpbGwgZml4IHRoZSBwaXBlJ3MgcmV0dXJuIHZhbHVlIHRvICdob21lJyBmb3IgY2FsbHMgYmVmb3JlXG4gICAgICAgICAgICAgICAgLy8gYHRoaXMuaG9tZVJlcG9zaXRvcnlgIHdhcyBwb3B1bGF0ZWQgKGFsdGhvdWdoIHRoYXQgZG9lc24ndCBzZWVtIHRvIGhhcHBlbikuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaG9tZVJlcG9zaXRvcnk/LnRpdGxlIHx8ICdob21lJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByYXdTcmM7XG4gICAgICAgIH0gZWxzZSBpZiAoYXJncy5tb2RlID09PSAndXJsJykge1xuICAgICAgICAgICAgY29uc3Qgc3JjID0gdGhpcy5lc2NhcGUocmF3U3JjKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5vZGVIZWxwZXIuZ2V0U291cmNlSWNvblBhdGgoc3JjKTtcbiAgICAgICAgfSBlbHNlIGlmIChhcmdzLm1vZGUgPT09ICdlc2NhcGVkJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXNjYXBlKHJhd1NyYyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlc2NhcGUoc3JjOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFzcmMpIHtcbiAgICAgICAgICAgIHJldHVybiBzcmM7XG4gICAgICAgIH1cbiAgICAgICAgc3JjID0gc3JjLnN1YnN0cmluZyhzcmMubGFzdEluZGV4T2YoJzonKSArIDEpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHNyYyA9IHNyYy5yZXBsYWNlKC9cXHMvZywgJ18nKTtcbiAgICAgICAgc3JjID0gc3JjLnJlcGxhY2UoL1xcLi9nLCAnXycpO1xuICAgICAgICBzcmMgPSBzcmMucmVwbGFjZSgvXFwvL2csICdfJyk7XG4gICAgICAgIHJldHVybiBzcmM7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,41 @@
1
+ import { of } from 'rxjs';
2
+ import { NodeDataSource } from './node-data-source';
3
+ /**
4
+ * data source which joins multiple underlying data sources
5
+ * used for the "all" search
6
+ */
7
+ export class CombinedDataSource extends NodeDataSource {
8
+ constructor(dataSources) {
9
+ super();
10
+ this.dataSources = dataSources;
11
+ }
12
+ connect() {
13
+ // @TODO: Using a forkJoin and real connect would be better
14
+ return of(this.getData());
15
+ /*
16
+ return forkJoin(this.dataSources.map(ds => ds.connect())).pipe(
17
+ switchMap(d => d)
18
+ ) as Observable<T[]>;
19
+ */
20
+ }
21
+ disconnect() { }
22
+ hasMore() {
23
+ return this.dataSources.filter((ds) => ds.hasMore()).length > 0;
24
+ }
25
+ getData() {
26
+ return [].concat.apply([], this.dataSources.map((ds) => ds.getData()));
27
+ }
28
+ isEmpty() {
29
+ return this.getData()?.length === 0;
30
+ }
31
+ getTotal() {
32
+ return this.dataSources.map((ds) => ds.getTotal()).reduce((a, b) => a + b);
33
+ }
34
+ isFullyLoaded() {
35
+ return this.getTotal() <= this.getData()?.length;
36
+ }
37
+ getDatasource(position) {
38
+ return this.dataSources[position];
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL25vZGUtZW50cmllcy9jb21iaW5lZC1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdwRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQXNELFNBQVEsY0FBaUI7SUFDeEYsWUFBb0IsV0FBZ0M7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFEUSxnQkFBVyxHQUFYLFdBQVcsQ0FBcUI7SUFFcEQsQ0FBQztJQUVELE9BQU87UUFDSCwyREFBMkQ7UUFDM0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDMUI7Ozs7V0FJRztJQUNQLENBQUM7SUFFRCxVQUFVLEtBQUksQ0FBQztJQUNmLE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDbEIsRUFBRSxFQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDN0MsQ0FBQztJQUNOLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDckQsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vZGVEYXRhU291cmNlIH0gZnJvbSAnLi9ub2RlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IE5vZGUsIEdlbmVyaWNBdXRob3JpdHkgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcblxuLyoqXG4gKiBkYXRhIHNvdXJjZSB3aGljaCBqb2lucyBtdWx0aXBsZSB1bmRlcmx5aW5nIGRhdGEgc291cmNlc1xuICogdXNlZCBmb3IgdGhlIFwiYWxsXCIgc2VhcmNoXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21iaW5lZERhdGFTb3VyY2U8VCBleHRlbmRzIE5vZGUgfCBHZW5lcmljQXV0aG9yaXR5PiBleHRlbmRzIE5vZGVEYXRhU291cmNlPFQ+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTb3VyY2VzOiBOb2RlRGF0YVNvdXJjZTxUPltdKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgY29ubmVjdCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgICAgICAvLyBAVE9ETzogVXNpbmcgYSBmb3JrSm9pbiBhbmQgcmVhbCBjb25uZWN0IHdvdWxkIGJlIGJldHRlclxuICAgICAgICByZXR1cm4gb2YodGhpcy5nZXREYXRhKCkpO1xuICAgICAgICAvKlxuICAgICAgICByZXR1cm4gZm9ya0pvaW4odGhpcy5kYXRhU291cmNlcy5tYXAoZHMgPT4gZHMuY29ubmVjdCgpKSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChkID0+IGQpXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxUW10+O1xuICAgICAgICAgKi9cbiAgICB9XG5cbiAgICBkaXNjb25uZWN0KCkge31cbiAgICBoYXNNb3JlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlcy5maWx0ZXIoKGRzKSA9PiBkcy5oYXNNb3JlKCkpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0RGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIFtdLmNvbmNhdC5hcHBseShcbiAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlcy5tYXAoKGRzKSA9PiBkcy5nZXREYXRhKCkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGEoKT8ubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIGdldFRvdGFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlcy5tYXAoKGRzKSA9PiBkcy5nZXRUb3RhbCgpKS5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiKTtcbiAgICB9XG5cbiAgICBpc0Z1bGx5TG9hZGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3RhbCgpIDw9IHRoaXMuZ2V0RGF0YSgpPy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0RGF0YXNvdXJjZShwb3NpdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VzW3Bvc2l0aW9uXTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { NodeDataSource } from './node-data-source';
2
+ /**
3
+ * this is a special data source to provide custom card layouts into the node-entries components
4
+ */
5
+ export class CustomTemplatesDataSource extends NodeDataSource {
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRlbXBsYXRlcy1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbm9kZS1lbnRyaWVzL2N1c3RvbS10ZW1wbGF0ZXMtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGNBQW1CO0NBQUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlRGF0YVNvdXJjZSB9IGZyb20gJy4vbm9kZS1kYXRhLXNvdXJjZSc7XG5cbi8qKlxuICogdGhpcyBpcyBhIHNwZWNpYWwgZGF0YSBzb3VyY2UgdG8gcHJvdmlkZSBjdXN0b20gY2FyZCBsYXlvdXRzIGludG8gdGhlIG5vZGUtZW50cmllcyBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21UZW1wbGF0ZXNEYXRhU291cmNlIGV4dGVuZHMgTm9kZURhdGFTb3VyY2U8YW55PiB7fVxuIl19
@@ -0,0 +1,21 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../list-items/list-text/list-text.component";
5
+ import * as i3 from "@angular/material/badge";
6
+ import * as i4 from "../../pipes/node-icon.pipe";
7
+ export class DragPreviewComponent {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: DragPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: DragPreviewComponent, selector: "es-drag-preview", inputs: { node: "node", selected: "selected", item: "item" }, ngImport: i0, template: "<div class=\"drag-preview\" [matBadge]=\"selected.length > 1 ? selected.length : null\">\n <div class=\"drag-preview-icon\">\n <img *ngIf=\"node.iconURL\" [src]=\"node | esNodeIcon\" />\n </div>\n <es-list-text class=\"drag-preview-text\" [node]=\"node\" [item]=\"item\"></es-list-text>\n</div>\n", styles: [".drag-preview{display:flex;align-items:center;gap:16px;height:48px;padding:0 12px;background-color:var(--palette-primary-50)}.drag-preview-icon{width:30px;height:30px;padding:3px;margin:1px 0;background-color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 0 3px #0000004d}.drag-preview-icon>img{width:18px;height:auto}.drag-preview-text{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ListTextComponent, selector: "es-list-text" }, { kind: "directive", type: i3.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i4.NodeIconPipe, name: "esNodeIcon" }] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: DragPreviewComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'es-drag-preview', template: "<div class=\"drag-preview\" [matBadge]=\"selected.length > 1 ? selected.length : null\">\n <div class=\"drag-preview-icon\">\n <img *ngIf=\"node.iconURL\" [src]=\"node | esNodeIcon\" />\n </div>\n <es-list-text class=\"drag-preview-text\" [node]=\"node\" [item]=\"item\"></es-list-text>\n</div>\n", styles: [".drag-preview{display:flex;align-items:center;gap:16px;height:48px;padding:0 12px;background-color:var(--palette-primary-50)}.drag-preview-icon{width:30px;height:30px;padding:3px;margin:1px 0;background-color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 0 3px #0000004d}.drag-preview-icon>img{width:18px;height:auto}.drag-preview-text{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
14
+ }], propDecorators: { node: [{
15
+ type: Input
16
+ }], selected: [{
17
+ type: Input
18
+ }], item: [{
19
+ type: Input
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbm9kZS1lbnRyaWVzL2RyYWctcHJldmlldy9kcmFnLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9ub2RlLWVudHJpZXMvZHJhZy1wcmV2aWV3L2RyYWctcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVWpELE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHFIQ1ZqQyxnVEFNQTs7MkZESWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNJLGlCQUFpQjs4QkFLbEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9saXN0LWl0ZW0nO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgTm9kZUVudHJpZXNEYXRhVHlwZSB9IGZyb20gJy4uL2VudHJpZXMtbW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLWRyYWctcHJldmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyYWctcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJhZy1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERyYWdQcmV2aWV3Q29tcG9uZW50PFQgZXh0ZW5kcyBOb2RlRW50cmllc0RhdGFUeXBlPiB7XG4gICAgQElucHV0KCkgbm9kZTogTm9kZTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZDogVFtdO1xuICAgIEBJbnB1dCgpIGl0ZW06IExpc3RJdGVtO1xufVxuIiwiPGRpdiBjbGFzcz1cImRyYWctcHJldmlld1wiIFttYXRCYWRnZV09XCJzZWxlY3RlZC5sZW5ndGggPiAxID8gc2VsZWN0ZWQubGVuZ3RoIDogbnVsbFwiPlxuICA8ZGl2IGNsYXNzPVwiZHJhZy1wcmV2aWV3LWljb25cIj5cbiAgICA8aW1nICpuZ0lmPVwibm9kZS5pY29uVVJMXCIgW3NyY109XCJub2RlIHwgZXNOb2RlSWNvblwiIC8+XG4gIDwvZGl2PlxuICA8ZXMtbGlzdC10ZXh0IGNsYXNzPVwiZHJhZy1wcmV2aWV3LXRleHRcIiBbbm9kZV09XCJub2RlXCIgW2l0ZW1dPVwiaXRlbVwiPjwvZXMtbGlzdC10ZXh0PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ export var NodeEntriesDisplayType;
2
+ (function (NodeEntriesDisplayType) {
3
+ NodeEntriesDisplayType[NodeEntriesDisplayType["Table"] = 0] = "Table";
4
+ NodeEntriesDisplayType[NodeEntriesDisplayType["Grid"] = 1] = "Grid";
5
+ NodeEntriesDisplayType[NodeEntriesDisplayType["SmallGrid"] = 2] = "SmallGrid";
6
+ })(NodeEntriesDisplayType || (NodeEntriesDisplayType = {}));
7
+ export var InteractionType;
8
+ (function (InteractionType) {
9
+ // create router link
10
+ InteractionType[InteractionType["DefaultActionLink"] = 0] = "DefaultActionLink";
11
+ // emit an event
12
+ InteractionType[InteractionType["Emitter"] = 1] = "Emitter";
13
+ InteractionType[InteractionType["None"] = 2] = "None";
14
+ })(InteractionType || (InteractionType = {}));
15
+ export var ClickSource;
16
+ (function (ClickSource) {
17
+ ClickSource[ClickSource["Preview"] = 0] = "Preview";
18
+ ClickSource[ClickSource["Icon"] = 1] = "Icon";
19
+ ClickSource[ClickSource["Metadata"] = 2] = "Metadata";
20
+ ClickSource[ClickSource["Comments"] = 3] = "Comments";
21
+ ClickSource[ClickSource["Overlay"] = 4] = "Overlay";
22
+ })(ClickSource || (ClickSource = {}));
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmllcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbm9kZS1lbnRyaWVzL2VudHJpZXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JBLE1BQU0sQ0FBTixJQUFZLHNCQUlYO0FBSkQsV0FBWSxzQkFBc0I7SUFDOUIscUVBQUssQ0FBQTtJQUNMLG1FQUFJLENBQUE7SUFDSiw2RUFBUyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFJakM7QUFFRCxNQUFNLENBQU4sSUFBWSxlQU1YO0FBTkQsV0FBWSxlQUFlO0lBQ3ZCLHFCQUFxQjtJQUNyQiwrRUFBaUIsQ0FBQTtJQUNqQixnQkFBZ0I7SUFDaEIsMkRBQU8sQ0FBQTtJQUNQLHFEQUFJLENBQUE7QUFDUixDQUFDLEVBTlcsZUFBZSxLQUFmLGVBQWUsUUFNMUI7QUE2QkQsTUFBTSxDQUFOLElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNuQixtREFBTyxDQUFBO0lBQ1AsNkNBQUksQ0FBQTtJQUNKLHFEQUFRLENBQUE7SUFDUixxREFBUSxDQUFBO0lBQ1IsbURBQU8sQ0FBQTtBQUNYLENBQUMsRUFOVyxXQUFXLEtBQVgsV0FBVyxRQU10QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcblxuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ3VzdG9tT3B0aW9ucywgT3B0aW9uSXRlbSwgVGFyZ2V0IH0gZnJvbSAnLi4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgTGlzdEl0ZW0sIExpc3RJdGVtU29ydCB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5pbXBvcnQgeyBDYW5Ecm9wLCBEcmFnRGF0YSwgRHJvcEFjdGlvbiB9IGZyb20gJy4uL3R5cGVzL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBOb2RlLCBHZW5lcmljQXV0aG9yaXR5IH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIE5vZGVSb290ID1cbiAgICB8ICdNWV9GSUxFUydcbiAgICB8ICdTSEFSRURfRklMRVMnXG4gICAgfCAnTVlfU0hBUkVEX0ZJTEVTJ1xuICAgIHwgJ1RPX01FX1NIQVJFRF9GSUxFUydcbiAgICB8ICdXT1JLRkxPV19SRUNFSVZFJ1xuICAgIHwgJ1JFQ1lDTEUnXG4gICAgfCAnQUxMX0ZJTEVTJztcblxuZXhwb3J0IGVudW0gTm9kZUVudHJpZXNEaXNwbGF5VHlwZSB7XG4gICAgVGFibGUsXG4gICAgR3JpZCxcbiAgICBTbWFsbEdyaWQsXG59XG5cbmV4cG9ydCBlbnVtIEludGVyYWN0aW9uVHlwZSB7XG4gICAgLy8gY3JlYXRlIHJvdXRlciBsaW5rXG4gICAgRGVmYXVsdEFjdGlvbkxpbmssXG4gICAgLy8gZW1pdCBhbiBldmVudFxuICAgIEVtaXR0ZXIsXG4gICAgTm9uZSxcbn1cblxuZXhwb3J0IHR5cGUgTGlzdE9wdGlvbnMgPSB7IFtrZXkgaW4gVGFyZ2V0XT86IE9wdGlvbkl0ZW1bXSB9O1xuZXhwb3J0IHR5cGUgTGlzdE9wdGlvbnNDb25maWcgPSB7XG4gICAgYWN0aW9uYmFyPzogQWN0aW9uYmFyQ29tcG9uZW50O1xuICAgIHBhcmVudD86IE5vZGU7XG4gICAgY3VzdG9tT3B0aW9ucz86IEN1c3RvbU9wdGlvbnM7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RTb3J0Q29uZmlnIGV4dGVuZHMgU29ydCB7XG4gICAgY29sdW1uczogTGlzdEl0ZW1Tb3J0W107XG4gICAgYWxsb3dlZD86IGJvb2xlYW47XG4gICAgY3VzdG9tU29ydGluZ0luUHJvZ3Jlc3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBEcm9wVGFyZ2V0ID0gTm9kZSB8IE5vZGVSb290O1xuXG5leHBvcnQgaW50ZXJmYWNlIERyb3BTb3VyY2U8VCBleHRlbmRzIE5vZGVFbnRyaWVzRGF0YVR5cGU+IHtcbiAgICBlbGVtZW50OiBUW107XG4gICAgLy8gc291cmNlTGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPFQ+O1xuICAgIG1vZGU6IERyb3BBY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdERyYWdHcm9wQ29uZmlnPFQgZXh0ZW5kcyBOb2RlRW50cmllc0RhdGFUeXBlPiB7XG4gICAgZHJhZ0FsbG93ZWQ6IGJvb2xlYW47XG4gICAgZHJvcEFsbG93ZWQ/OiAoZHJhZ0RhdGE6IERyYWdEYXRhPFQ+KSA9PiBDYW5Ecm9wO1xuICAgIGRyb3BwZWQ/OiAodGFyZ2V0OiBOb2RlLCBzb3VyY2U6IERyb3BTb3VyY2U8Tm9kZUVudHJpZXNEYXRhVHlwZT4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBlbnVtIENsaWNrU291cmNlIHtcbiAgICBQcmV2aWV3LFxuICAgIEljb24sXG4gICAgTWV0YWRhdGEsXG4gICAgQ29tbWVudHMsXG4gICAgT3ZlcmxheSxcbn1cblxuZXhwb3J0IHR5cGUgTm9kZUNsaWNrRXZlbnQ8VCBleHRlbmRzIE5vZGVFbnRyaWVzRGF0YVR5cGU+ID0ge1xuICAgIGVsZW1lbnQ6IFQ7XG4gICAgc291cmNlOiBDbGlja1NvdXJjZTtcbiAgICBhdHRyaWJ1dGU/OiBMaXN0SXRlbTsgLy8gb25seSB3aGVuIHNvdXJjZSA9PT0gTWV0YWRhdGFcbn07XG5leHBvcnQgdHlwZSBGZXRjaEV2ZW50ID0ge1xuICAgIG9mZnNldDogbnVtYmVyO1xuICAgIGFtb3VudD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBpcyBhIHJlc2V0IG9mIHRoZSBjdXJyZW50IGRhdGEgcmVxdWlyZWQ/XG4gICAgICogdGhpcyBzaG91bGQgYmUgdHJ1ZSBpZiB0aGlzIHdhcyBhIHBhZ2luYXRpb24gcmVxdWVzdFxuICAgICAqL1xuICAgIHJlc2V0PzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBOb2RlRW50cmllc0RhdGFUeXBlID0gTm9kZSB8IEdlbmVyaWNBdXRob3JpdHk7XG5leHBvcnQgdHlwZSBHcmlkTGF5b3V0ID0gJ2dyaWQnIHwgJ3Njcm9sbCc7XG5leHBvcnQgdHlwZSBHcmlkQ29uZmlnID0ge1xuICAgIC8qKlxuICAgICAqIG1heCBhbW91bnQgb2Ygcm93cyB0aGF0IHNob3VsZCBiZSB2aXNpYmxlLCB1bnNldCBmb3Igbm8gbGltaXRcbiAgICAgKi9cbiAgICBtYXhSb3dzPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIGxheW91dCwgZGVmYXVsdHMgdG8gJ2dyaWQnXG4gICAgICogJ3Njcm9sbCcgbWF5IG9ubHkgYmUgdXNlZCB3aGVuIG1heFJvd3MgaXMgbm90IHNldFxuICAgICAqL1xuICAgIGxheW91dD86IEdyaWRMYXlvdXQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RFdmVudEludGVyZmFjZTxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4ge1xuICAgIHVwZGF0ZU5vZGVzKG5vZGVzOiB2b2lkIHwgVFtdKTogdm9pZDtcblxuICAgIGdldERpc3BsYXlUeXBlKCk6IE5vZGVFbnRyaWVzRGlzcGxheVR5cGU7XG5cbiAgICBzZXREaXNwbGF5VHlwZShkaXNwbGF5VHlwZTogTm9kZUVudHJpZXNEaXNwbGF5VHlwZSk6IHZvaWQ7XG5cbiAgICBzaG93UmVvcmRlckNvbHVtbnNEaWFsb2coKTogdm9pZDtcblxuICAgIGFkZFZpcnR1YWxOb2Rlcyh2aXJ0dWFsOiBUW10pOiB2b2lkO1xuXG4gICAgc2V0T3B0aW9ucyhvcHRpb25zOiBMaXN0T3B0aW9ucyk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBhY3RpdmF0ZSBvcHRpb24gKGRyb3Bkb3duKSBnZW5lcmF0aW9uXG4gICAgICovXG4gICAgaW5pdE9wdGlvbnNHZW5lcmF0b3IoY29uZmlnOiBMaXN0T3B0aW9uc0NvbmZpZyk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4gICAgZ2V0U2VsZWN0aW9uKCk6IFNlbGVjdGlvbk1vZGVsPFQ+O1xuXG4gICAgLyoqXG4gICAgICogdHJpZ2dlcmVkIHdoZW4gbm9kZXMvb2JqZWN0cyBhcmUgZGVsZXRlZCBhbmQgc2hvdWxkIG5vdCBiZSBzaG93biBpbiB0aGUgbGlzdCBhbnltb3JlXG4gICAgICovXG4gICAgZGVsZXRlTm9kZXMob2JqZWN0czogVFtdKTogdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import * as rxjs from 'rxjs';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { distinctUntilChanged, map } from 'rxjs/operators';
4
+ export class ItemsCap {
5
+ constructor() {
6
+ this._cap = new BehaviorSubject(null);
7
+ this._disabled = new BehaviorSubject(false);
8
+ this._isActivelyCapping = false;
9
+ this._effectiveCap = rxjs
10
+ .combineLatest([this._cap, this._disabled])
11
+ .pipe(map(([cap, disabled]) => (disabled ? null : cap)), distinctUntilChanged());
12
+ }
13
+ /** The number of items to which the data should be capped. */
14
+ get cap() {
15
+ return this._cap.value;
16
+ }
17
+ set cap(value) {
18
+ this._cap.next(value ?? null);
19
+ }
20
+ /** Whether to temporarily disable capping. */
21
+ get disabled() {
22
+ return this._disabled.value;
23
+ }
24
+ set disabled(value) {
25
+ this._disabled.next(value);
26
+ }
27
+ /** Whether there is more data available that is currently being capped. */
28
+ get isActivelyCapping() {
29
+ return this._isActivelyCapping;
30
+ }
31
+ connect(dataStream) {
32
+ return rxjs.combineLatest([this._effectiveCap, dataStream]).pipe(map(([effectiveCap, originalData]) => {
33
+ const needToCap = this._needToCap(effectiveCap, originalData);
34
+ this._isActivelyCapping = needToCap;
35
+ if (needToCap) {
36
+ return originalData.slice(0, effectiveCap);
37
+ }
38
+ else {
39
+ return originalData;
40
+ }
41
+ }));
42
+ }
43
+ _needToCap(effectiveCap, originalData) {
44
+ return effectiveCap && originalData?.length > effectiveCap;
45
+ }
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtY2FwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9ub2RlLWVudHJpZXMvaXRlbXMtY2FwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBUVksU0FBSSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQVNoRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFNdkMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRTNCLGtCQUFhLEdBQThCLElBQUk7YUFDbEQsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUMsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNqRCxvQkFBb0IsRUFBRSxDQUN6QixDQUFDO0lBbUJWLENBQUM7SUFoREcsOERBQThEO0lBQzlELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQW9CO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBR0QsOENBQThDO0lBQzlDLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUdELDJFQUEyRTtJQUMzRSxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBVUQsT0FBTyxDQUFDLFVBQTJCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzVELEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDakMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUNwQyxJQUFJLFNBQVMsRUFBRTtnQkFDWCxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQzlDO2lCQUFNO2dCQUNILE9BQU8sWUFBWSxDQUFDO2FBQ3ZCO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyxVQUFVLENBQUMsWUFBMkIsRUFBRSxZQUFpQjtRQUM3RCxPQUFPLFlBQVksSUFBSSxZQUFZLEVBQUUsTUFBTSxHQUFHLFlBQVksQ0FBQztJQUMvRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyByeGpzIGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgSXRlbXNDYXA8VD4ge1xuICAgIC8qKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIHRvIHdoaWNoIHRoZSBkYXRhIHNob3VsZCBiZSBjYXBwZWQuICovXG4gICAgZ2V0IGNhcCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhcC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IGNhcCh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9jYXAubmV4dCh2YWx1ZSA/PyBudWxsKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY2FwID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHRlbXBvcmFyaWx5IGRpc2FibGUgY2FwcGluZy4gKi9cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkLm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlcmUgaXMgbW9yZSBkYXRhIGF2YWlsYWJsZSB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBjYXBwZWQuICovXG4gICAgZ2V0IGlzQWN0aXZlbHlDYXBwaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNBY3RpdmVseUNhcHBpbmc7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzQWN0aXZlbHlDYXBwaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9lZmZlY3RpdmVDYXA6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD4gPSByeGpzXG4gICAgICAgIC5jb21iaW5lTGF0ZXN0KFt0aGlzLl9jYXAsIHRoaXMuX2Rpc2FibGVkXSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtjYXAsIGRpc2FibGVkXSkgPT4gKGRpc2FibGVkID8gbnVsbCA6IGNhcCkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcblxuICAgIGNvbm5lY3QoZGF0YVN0cmVhbTogT2JzZXJ2YWJsZTxUW10+KTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICAgICAgcmV0dXJuIHJ4anMuY29tYmluZUxhdGVzdChbdGhpcy5fZWZmZWN0aXZlQ2FwLCBkYXRhU3RyZWFtXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2VmZmVjdGl2ZUNhcCwgb3JpZ2luYWxEYXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5lZWRUb0NhcCA9IHRoaXMuX25lZWRUb0NhcChlZmZlY3RpdmVDYXAsIG9yaWdpbmFsRGF0YSk7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNBY3RpdmVseUNhcHBpbmcgPSBuZWVkVG9DYXA7XG4gICAgICAgICAgICAgICAgaWYgKG5lZWRUb0NhcCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxEYXRhLnNsaWNlKDAsIGVmZmVjdGl2ZUNhcCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9uZWVkVG9DYXAoZWZmZWN0aXZlQ2FwOiBudW1iZXIgfCBudWxsLCBvcmlnaW5hbERhdGE6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZWZmZWN0aXZlQ2FwICYmIG9yaWdpbmFsRGF0YT8ubGVuZ3RoID4gZWZmZWN0aXZlQ2FwO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as rxjs from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ngx-translate/core";
5
+ export class ListItemLabelPipe {
6
+ constructor(translate) {
7
+ this.translate = translate;
8
+ }
9
+ transform(item, args = { fallback: item.name }) {
10
+ const mapping = {
11
+ NODE: 'NODE',
12
+ COLLECTION: 'NODE',
13
+ NODE_PROPOSAL: 'NODE_PROPOSAL',
14
+ ORG: 'ORG',
15
+ GROUP: 'GROUP',
16
+ USER: 'USER',
17
+ };
18
+ if (item.label) {
19
+ return rxjs.of(item.label);
20
+ }
21
+ else {
22
+ return this.translate.get(mapping[item.type] + '.' + item.name, {
23
+ fallback: args.fallback,
24
+ });
25
+ }
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ListItemLabelPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
28
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: ListItemLabelPipe, name: "esListItemLabel" }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ListItemLabelPipe, decorators: [{
31
+ type: Pipe,
32
+ args: [{ name: 'esListItemLabel' }]
33
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWxhYmVsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL25vZGUtZW50cmllcy9saXN0LWl0ZW0tbGFiZWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQzs7O0FBSzdCLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELFNBQVMsQ0FBQyxJQUFjLEVBQUUsSUFBSSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDcEQsTUFBTSxPQUFPLEdBQUc7WUFDWixJQUFJLEVBQUUsTUFBTTtZQUNaLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLGFBQWEsRUFBRSxlQUFlO1lBQzlCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUUsTUFBTTtTQUNmLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQzVELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUMxQixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7OEdBbkJRLGlCQUFpQjs0R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0ICogYXMgcnhqcyBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQFBpcGUoeyBuYW1lOiAnZXNMaXN0SXRlbUxhYmVsJyB9KVxuZXhwb3J0IGNsYXNzIExpc3RJdGVtTGFiZWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICB0cmFuc2Zvcm0oaXRlbTogTGlzdEl0ZW0sIGFyZ3MgPSB7IGZhbGxiYWNrOiBpdGVtLm5hbWUgfSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IG1hcHBpbmcgPSB7XG4gICAgICAgICAgICBOT0RFOiAnTk9ERScsXG4gICAgICAgICAgICBDT0xMRUNUSU9OOiAnTk9ERScsXG4gICAgICAgICAgICBOT0RFX1BST1BPU0FMOiAnTk9ERV9QUk9QT1NBTCcsXG4gICAgICAgICAgICBPUkc6ICdPUkcnLFxuICAgICAgICAgICAgR1JPVVA6ICdHUk9VUCcsXG4gICAgICAgICAgICBVU0VSOiAnVVNFUicsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChpdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gcnhqcy5vZihpdGVtLmxhYmVsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQobWFwcGluZ1tpdGVtLnR5cGVdICsgJy4nICsgaXRlbS5uYW1lLCB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2s6IGFyZ3MuZmFsbGJhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==