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
@@ -1,169 +0,0 @@
1
- @use 'sass:color';
2
- @import '../../../../assets/scss/mixins';
3
-
4
- $defaultColumnWidth: 145px;
5
- $minColumnWidth: 30%;
6
- $rowHeight: 58px;
7
-
8
- :host {
9
- display: flex;
10
- flex-direction: column;
11
- ::ng-deep {
12
- mat-header-cell {
13
- color: var(--textMediumLight);
14
- }
15
- mat-cell,
16
- mat-header-cell {
17
- margin: 0 !important;
18
- }
19
- mat-cell es-node-url {
20
- width: 100%;
21
- a {
22
- color: #000;
23
- }
24
- &.cdk-keyboard-focused {
25
- @include setGlobalKeyboardFocus('border');
26
- }
27
- }
28
- es-list-base {
29
- white-space: nowrap;
30
- text-overflow: ellipsis;
31
- overflow: hidden;
32
- display: flex;
33
- width: 100%;
34
- height: $rowHeight;
35
- align-items: center;
36
- }
37
- }
38
- }
39
- mat-header-cell,
40
- mat-cell {
41
- margin: 0 3px;
42
- // do not fix the "primary/title" column
43
- &:not(.mat-column-primary) {
44
- flex: 0 $defaultColumnWidth;
45
- }
46
- &.mat-column-primary {
47
- min-width: $minColumnWidth;
48
- }
49
- &.mat-column-select {
50
- flex: 0 58px;
51
- min-width: 58px;
52
- padding-left: 14px;
53
- }
54
- &.mat-column-icon {
55
- flex: 0 85px;
56
- min-width: 85px;
57
- justify-content: center;
58
- }
59
- &.mat-column-actions {
60
- flex: 0 58px;
61
- min-width: 58px;
62
- display: flex;
63
- justify-content: flex-end;
64
- padding-right: 5px;
65
- }
66
- }
67
-
68
- .mat-row {
69
- &.dynamic-single-click {
70
- cursor: pointer;
71
- &:hover {
72
- background-color: rgb(var(--palette-primary-50));
73
- }
74
- }
75
- &.mat-row-selected {
76
- background: var(--listItemSelectedBackgroundEffect);
77
- .mat-mdc-cell {
78
- background: transparent;
79
- }
80
- }
81
- // Overrides `.mat-row-selected` background by order
82
- &.mat-row-virtual {
83
- background: linear-gradient(to right, var(--nodeVirtualColor) 5px, transparent 5px)
84
- no-repeat;
85
- border-right: 2px dashed var(--nodeVirtualColorLight);
86
- .mat-mdc-cell {
87
- background: transparent;
88
- }
89
- &.mat-row-selected {
90
- background: linear-gradient(
91
- to right,
92
- var(--nodeVirtualColor) 0,
93
- var(--nodeVirtualColor) 5px,
94
- var(--listItemSelectedBackground) 5px,
95
- var(--listItemSelectedBackground) 5px
96
- );
97
- }
98
- }
99
- &.mat-row-virtual-first {
100
- border-top: 2px dashed var(--nodeVirtualColorLight);
101
- }
102
- &.mat-row-virtual-last {
103
- border-bottom: 2px dashed var(--nodeVirtualColorLight);
104
- }
105
- &.selected-when-dragging {
106
- opacity: 0.5; // Same as .cdk-drag-placeholder
107
- }
108
- }
109
- .dropdown-dummy {
110
- position: fixed;
111
- }
112
- .childobjects {
113
- background-color: rgba(0, 0, 0, 0.05);
114
- border-radius: 15px;
115
- display: inline-flex;
116
- align-items: center;
117
- min-width: 51px;
118
- min-height: 26px;
119
- justify-content: center;
120
- cursor: default;
121
- user-select: none;
122
- padding: 2px 8px;
123
- margin-left: 5px;
124
- > .childobject-count {
125
- display: inline-flex;
126
- align-items: center;
127
- > i {
128
- font-size: 13px;
129
- margin-left: 4px;
130
- }
131
- }
132
- }
133
- .cell-icon {
134
- .icon-bg {
135
- width: 36px;
136
- height: 36px;
137
- padding: 3px;
138
- margin: 1px 0;
139
- background-color: #fff;
140
- border-radius: 50%;
141
- display: flex;
142
- justify-content: center;
143
- align-items: center;
144
- @include materialShadowSmall();
145
- > img {
146
- width: 18px;
147
- height: auto;
148
- }
149
- > i {
150
- color: #666;
151
- font-size: 18px;
152
- }
153
- }
154
- }
155
- .mat-column-link {
156
- flex: 0 60px;
157
- a {
158
- display: flex;
159
- justify-content: center;
160
- }
161
- }
162
-
163
- .load-more {
164
- display: flex;
165
- justify-content: center;
166
- }
167
- es-node-entries-global-options {
168
- padding-bottom: 20px;
169
- }
@@ -1,333 +0,0 @@
1
- import { CdkOverlayOrigin } from '@angular/cdk/overlay';
2
- import {
3
- AfterViewInit,
4
- ApplicationRef,
5
- ChangeDetectionStrategy,
6
- ChangeDetectorRef,
7
- Component,
8
- ElementRef,
9
- NgZone,
10
- OnChanges,
11
- OnDestroy,
12
- SimpleChanges,
13
- ViewChild,
14
- } from '@angular/core';
15
- import { MatMenuTrigger } from '@angular/material/menu';
16
- import { MatPaginator } from '@angular/material/paginator';
17
- import { MatSort, MatSortHeader, Sort } from '@angular/material/sort';
18
- import * as rxjs from 'rxjs';
19
- import { BehaviorSubject, Observable, Subject } from 'rxjs';
20
- import {
21
- debounceTime,
22
- delay,
23
- distinctUntilChanged,
24
- first,
25
- map,
26
- shareReplay,
27
- startWith,
28
- takeUntil,
29
- } from 'rxjs/operators';
30
- import {
31
- ClickSource,
32
- InteractionType,
33
- NodeEntriesDataType,
34
- NodeEntriesDisplayType,
35
- } from '../entries-model';
36
- import { NodeEntriesGlobalService } from '../node-entries-global.service';
37
- import { NodeEntriesService } from '../../services/node-entries.service';
38
- import { UIService } from '../../services/ui.service';
39
- import { BorderBoxObserverDirective } from '../../directives/border-box-observer.directive';
40
- import { ListItem } from '../../types/list-item';
41
- import { CanDrop, DragData } from '../../types/drag-drop';
42
- import { Node } from 'ngx-edu-sharing-api';
43
- import { Target } from '../../types/option-item';
44
- import { Toast } from '../../services/abstract/toast.service';
45
- import { DropdownComponent } from '../../dropdown/dropdown.component';
46
- import { NodeDataSourceRemote } from '../node-data-source-remote';
47
-
48
- @Component({
49
- selector: 'es-node-entries-table',
50
- templateUrl: './node-entries-table.component.html',
51
- styleUrls: ['./node-entries-table.component.scss'],
52
- changeDetection: ChangeDetectionStrategy.OnPush,
53
- })
54
- export class NodeEntriesTableComponent<T extends NodeEntriesDataType>
55
- implements OnChanges, AfterViewInit, OnDestroy
56
- {
57
- readonly InteractionType = InteractionType;
58
- readonly ClickSource = ClickSource;
59
- readonly NodeEntriesDisplayType = NodeEntriesDisplayType;
60
- readonly Target = Target;
61
-
62
- @ViewChild(MatSort) sort: MatSort;
63
- @ViewChild(MatPaginator) paginator: MatPaginator;
64
- @ViewChild('columnChooserTrigger') columnChooserTrigger: CdkOverlayOrigin;
65
- @ViewChild(DropdownComponent) dropdown: DropdownComponent;
66
- @ViewChild('menuTrigger') menuTrigger: MatMenuTrigger;
67
-
68
- dropdownLeft: number;
69
- dropdownTop: number;
70
-
71
- loading: Observable<boolean>;
72
- isPageSelected = new BehaviorSubject(false);
73
- isAllSelected = new BehaviorSubject(false);
74
- columnChooserVisible = false;
75
- columnChooserTriggerReady = false;
76
- error: Observable<any>;
77
- pageSizeOptions = [25, 50, 100];
78
- isDragging = false;
79
-
80
- private readonly maximumColumnsNumber$ = new BehaviorSubject(1);
81
- readonly visibleDataColumns$;
82
- readonly visibleColumnNames$;
83
-
84
- private destroyed = new Subject<void>();
85
-
86
- constructor(
87
- public entriesService: NodeEntriesService<T>,
88
- public entriesGlobalService: NodeEntriesGlobalService,
89
- private applicationRef: ApplicationRef,
90
- private toast: Toast,
91
- private changeDetectorRef: ChangeDetectorRef,
92
- public ui: UIService,
93
- private ngZone: NgZone,
94
- private elementRef: ElementRef<HTMLElement>,
95
- ) {
96
- this.visibleDataColumns$ = this.getVisibleDataColumns();
97
- this.visibleColumnNames$ = this.getVisibleColumnNames();
98
- this.registerMaximumColumnsNumber();
99
- this.entriesService.selection.changed
100
- .pipe(takeUntil(this.destroyed), debounceTime(0))
101
- .subscribe(() => this.changeDetectorRef.detectChanges());
102
- }
103
-
104
- ngAfterViewInit(): void {
105
- void Promise.resolve().then(() => {
106
- this.registerSortChanges();
107
- if (this.entriesService.dataSource instanceof NodeDataSourceRemote) {
108
- (this.entriesService.dataSource as NodeDataSourceRemote).sortPanel = this.sort;
109
- }
110
- });
111
- this.visibleDataColumns$
112
- .pipe(first(), delay(0))
113
- .subscribe(() => (this.columnChooserTriggerReady = true));
114
- rxjs.combineLatest([
115
- this.entriesService.dataSource$.pipe(startWith(void 0 as void)),
116
- this.entriesService.options$.pipe(startWith(void 0 as void)),
117
- this.entriesService.dataSource.isLoadingSubject.pipe(startWith(void 0 as void)),
118
- this.entriesService.selection.changed.pipe(startWith(void 0 as void)),
119
- ])
120
- .pipe(takeUntil(this.destroyed))
121
- .subscribe(() => {
122
- this.changeDetectorRef.detectChanges();
123
- });
124
- }
125
-
126
- ngOnChanges(changes: SimpleChanges): void {
127
- this.updateSort();
128
- }
129
-
130
- ngOnDestroy(): void {
131
- this.destroyed.next();
132
- this.destroyed.complete();
133
- }
134
-
135
- onRowContextMenu({ event, node }: { event: MouseEvent | Event; node: T }) {
136
- if (!this.entriesService.selection.selected.includes(node)) {
137
- this.entriesService.selection.clear();
138
- this.entriesService.selection.select(node);
139
- }
140
- event.stopPropagation();
141
- event.preventDefault();
142
- if (event instanceof MouseEvent) {
143
- ({ clientX: this.dropdownLeft, clientY: this.dropdownTop } = event);
144
- } else {
145
- ({ x: this.dropdownLeft, y: this.dropdownTop } = (
146
- event.target as HTMLElement
147
- ).getBoundingClientRect());
148
- }
149
- // Wait for the menu to reflect changed options.
150
- setTimeout(() => {
151
- if (this.dropdown.canShowDropdown()) {
152
- this.menuTrigger.openMenu();
153
- } else {
154
- this.toast.toast('NO_AVAILABLE_OPTIONS');
155
- }
156
- });
157
- }
158
-
159
- private updateSort(): void {
160
- this.sort.sort({
161
- id: this.entriesService.sort?.active,
162
- start: this.entriesService.sort?.direction as 'asc' | 'desc',
163
- disableClear: false,
164
- });
165
- // Fix missing sorting indicators. See
166
- // https://github.com/angular/components/issues/10242#issuecomment-470726829. Seems
167
- // to be fixed upstream with Angular 11.
168
- (
169
- this.sort.sortables.get(this.entriesService.sort?.active) as MatSortHeader
170
- )._setAnimationTransitionState({
171
- toState: 'active',
172
- });
173
- /*
174
- this.route.queryParams.pipe(first()).subscribe((queryParams: Params) => {
175
- const sort: Sort = queryParams.sort ? JSON.parse(queryParams.sort) : null;
176
- if (sort && sort.direction) {
177
- this.sort.sort({ id: sort.active, start: sort.direction, disableClear: false });
178
- // Fix missing sorting indicators. See
179
- // https://github.com/angular/components/issues/10242#issuecomment-470726829. Seems
180
- // to be fixed upstream with Angular 11.
181
- (
182
- this.sort.sortables.get(sort.active) as MatSortHeader
183
- )._setAnimationTransitionState({
184
- toState: 'active',
185
- });
186
- }
187
- if (queryParams.pageIndex && queryParams.pageSize) {
188
- this.paginator.pageIndex = queryParams.pageIndex;
189
- this.paginator.pageSize = queryParams.pageSize;
190
- }
191
- });
192
- */
193
- }
194
-
195
- private registerMaximumColumnsNumber() {
196
- BorderBoxObserverDirective.observeElement(this.elementRef)
197
- .pipe(
198
- takeUntil(this.destroyed),
199
- map((box) => this.getMaximumColumnsNumber(box.width)),
200
- distinctUntilChanged(),
201
- )
202
- .subscribe((maximumColumnsNumber) =>
203
- this.ngZone.run(() => this.maximumColumnsNumber$.next(maximumColumnsNumber)),
204
- );
205
- }
206
-
207
- private getMaximumColumnsNumber(tableWidth: number): number {
208
- return Math.max(
209
- 1,
210
- Math.floor(
211
- // Subtract total width of always visible columns like checkboxes and icons.
212
- (tableWidth - 187) /
213
- // Divide by with of data columns (including margin).
214
- 126,
215
- ),
216
- );
217
- }
218
-
219
- private getVisibleDataColumns(): Observable<ListItem[]> {
220
- return rxjs
221
- .combineLatest([this.maximumColumnsNumber$, this.entriesService.columnsSubject])
222
- .pipe(
223
- map(([maximumColumnsNumber, columns]) => {
224
- return (columns ?? [])
225
- .filter((column) => column.visible)
226
- .filter((_, index) => index < maximumColumnsNumber);
227
- }),
228
- shareReplay(1),
229
- );
230
- }
231
-
232
- private getVisibleColumnNames(): Observable<string[]> {
233
- return this.visibleDataColumns$.pipe(
234
- map((visibleDataColumns) => {
235
- const columns = [];
236
- if (this.entriesService.checkbox) {
237
- columns.push('select');
238
- }
239
- columns.push('icon');
240
- return columns.concat(visibleDataColumns.map((c) => c.name)).concat(['actions']);
241
- }),
242
- shareReplay(1),
243
- );
244
- }
245
-
246
- isSortable(column: ListItem) {
247
- return this.entriesService.sort?.columns.some((c) => c.name === column.name);
248
- }
249
-
250
- toggleAll(checked: boolean) {
251
- if (checked) {
252
- this.entriesService.selection.select(...this.entriesService.dataSource.getData());
253
- } else {
254
- this.entriesService.selection.clear();
255
- }
256
- }
257
-
258
- private registerSortChanges() {
259
- this.sort.sortChange.subscribe((sort: Sort) => {
260
- this.entriesService.sort.active = sort.active;
261
- this.entriesService.sort.direction = sort.direction;
262
- this.entriesService.sortChange.emit(this.entriesService.sort);
263
- /*this.router.navigate(['.'], {
264
- relativeTo: this.route,
265
- queryParams: { sort: JSON.stringify(sort) },
266
- queryParamsHandling: 'merge',
267
- replaceUrl: true,
268
- });*/
269
- });
270
- /*
271
- this.paginator.page
272
- .pipe(
273
- // As a response to changes of other parameters, the pageIndex might be reset to 0 and a
274
- // page event triggers. This change of other parameters is likely to cause a
275
- // `router.navigate()` call elsewhere. When this happens just before our call, our
276
- // updates are ignored. To shield against this, we wait a tick.
277
- delay(0),
278
- )
279
- .subscribe(({ pageIndex, pageSize }: PageEvent) => {
280
- this.router.navigate(['.'], {
281
- relativeTo: this.route,
282
- queryParams: { pageIndex, pageSize },
283
- queryParamsHandling: 'merge',
284
- replaceUrl: true,
285
- });
286
- });
287
- */
288
- }
289
-
290
- canDrop = (dragData: DragData<T>): CanDrop => {
291
- return this.entriesService.dragDrop.dropAllowed?.(dragData);
292
- };
293
-
294
- drop(dragData: DragData<Node>) {
295
- this.entriesService.dragDrop.dropped(dragData.target, {
296
- element: dragData.draggedNodes,
297
- mode: dragData.action,
298
- });
299
- }
300
-
301
- getDragData(node: T): T[] {
302
- const selection = this.entriesService.selection;
303
- if (selection.isSelected(node)) {
304
- return selection.selected;
305
- } else {
306
- return [node];
307
- }
308
- }
309
-
310
- onDragStarted(node: T) {
311
- if (!this.entriesService.selection.isSelected(node)) {
312
- this.entriesService.selection.clear();
313
- this.entriesService.selection.select(node);
314
- }
315
- this.isDragging = true;
316
- }
317
-
318
- onDragEnded() {
319
- this.isDragging = false;
320
- }
321
-
322
- loadData(source: 'scroll' | 'button') {
323
- // TODO: focus next item when triggered via button.
324
- this.entriesService.loadMore(source);
325
- }
326
-
327
- async openMenu(node: T) {
328
- this.entriesService.selection.clear();
329
- this.entriesService.selection.select(node);
330
- await this.applicationRef.tick();
331
- this.dropdown.menu.focusFirstItem();
332
- }
333
- }