ngx-material-entity 18.2.5 → 20.0.0

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 (257) hide show
  1. package/fesm2022/ngx-material-entity.mjs +165 -155
  2. package/fesm2022/ngx-material-entity.mjs.map +1 -1
  3. package/index.d.ts +4501 -3
  4. package/package.json +10 -12
  5. package/classes/base.builder.d.ts +0 -37
  6. package/classes/entity.model.d.ts +0 -27
  7. package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +0 -24
  8. package/components/confirm-dialog/confirm-dialog-data.d.ts +0 -48
  9. package/components/confirm-dialog/confirm-dialog.component.d.ts +0 -36
  10. package/components/create-page/create-data.route.d.ts +0 -16
  11. package/components/create-page/create-page.component.d.ts +0 -141
  12. package/components/create-page/page-create-data.builder.d.ts +0 -18
  13. package/components/custom-table/custom-table-configuration.model.d.ts +0 -65
  14. package/components/custom-table/custom-table.component.d.ts +0 -111
  15. package/components/edit-page/edit-data.route.d.ts +0 -16
  16. package/components/edit-page/edit-page.component.d.ts +0 -167
  17. package/components/edit-page/page-edit-data.builder.d.ts +0 -18
  18. package/components/form/form.component.d.ts +0 -64
  19. package/components/input/array/array-date-input/array-date-input.component.d.ts +0 -17
  20. package/components/input/array/array-date-range-input/array-date-range-input.component.d.ts +0 -25
  21. package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +0 -26
  22. package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +0 -30
  23. package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +0 -36
  24. package/components/input/array/array-table.class.d.ts +0 -56
  25. package/components/input/base-input.component.d.ts +0 -64
  26. package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +0 -10
  27. package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +0 -13
  28. package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +0 -10
  29. package/components/input/custom/custom.component.d.ts +0 -13
  30. package/components/input/date/date-input/date-input.component.d.ts +0 -11
  31. package/components/input/date/date-range-input/date-range-input.component.d.ts +0 -22
  32. package/components/input/date/date-time-input/date-time-input.component.d.ts +0 -32
  33. package/components/input/file/file-default-input/file-default-input.component.d.ts +0 -11
  34. package/components/input/file/file-image-input/file-image-input.component.d.ts +0 -28
  35. package/components/input/file/file-input/file-input.component.d.ts +0 -45
  36. package/components/input/input.component.d.ts +0 -590
  37. package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +0 -24
  38. package/components/input/number/number-input/number-input.component.d.ts +0 -9
  39. package/components/input/number/number-slider-input/number-slider-input.component.d.ts +0 -10
  40. package/components/input/relations/references-many-input/references-many-input.component.d.ts +0 -43
  41. package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +0 -19
  42. package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +0 -24
  43. package/components/input/string/string-input/string-input.component.d.ts +0 -9
  44. package/components/input/string/string-password-input/string-password-input.component.d.ts +0 -31
  45. package/components/input/string/string-textbox-input/string-textbox-input.component.d.ts +0 -9
  46. package/components/table/create-dialog/create-data.builder.d.ts +0 -25
  47. package/components/table/create-dialog/create-entity-data.builder.d.ts +0 -21
  48. package/components/table/create-dialog/create-entity-data.d.ts +0 -19
  49. package/components/table/create-dialog/create-entity-dialog.component.d.ts +0 -77
  50. package/components/table/default.actions.d.ts +0 -25
  51. package/components/table/display-column-value/base-display-column-value.component.d.ts +0 -15
  52. package/components/table/display-column-value/display-column-value.component.d.ts +0 -26
  53. package/components/table/edit-dialog/edit-data.builder.d.ts +0 -44
  54. package/components/table/edit-dialog/edit-entity-data.d.ts +0 -27
  55. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +0 -118
  56. package/components/table/edit-dialog/edit-entity.builder.d.ts +0 -23
  57. package/components/table/table-data.builder.d.ts +0 -102
  58. package/components/table/table-data.d.ts +0 -340
  59. package/components/table/table.component.d.ts +0 -119
  60. package/components/tooltip/tooltip.component.d.ts +0 -14
  61. package/decorators/array/array-decorator-internal.data.d.ts +0 -129
  62. package/decorators/array/array-decorator.data.d.ts +0 -252
  63. package/decorators/array/array.decorator.d.ts +0 -9
  64. package/decorators/base/base-property.decorator.d.ts +0 -9
  65. package/decorators/base/decorator-types.enum.d.ts +0 -48
  66. package/decorators/base/dropdown-value.interface.d.ts +0 -14
  67. package/decorators/base/property-decorator-internal.data.d.ts +0 -41
  68. package/decorators/base/property-decorator.data.d.ts +0 -88
  69. package/decorators/boolean/boolean-decorator-internal.data.d.ts +0 -26
  70. package/decorators/boolean/boolean-decorator.data.d.ts +0 -39
  71. package/decorators/boolean/boolean.decorator.d.ts +0 -7
  72. package/decorators/custom/custom-decorator-internal.data.d.ts +0 -17
  73. package/decorators/custom/custom-decorator.data.d.ts +0 -35
  74. package/decorators/custom/custom.decorator.d.ts +0 -9
  75. package/decorators/date/date-decorator-internal.data.d.ts +0 -45
  76. package/decorators/date/date-decorator.data.d.ts +0 -126
  77. package/decorators/date/date.decorator.d.ts +0 -7
  78. package/decorators/file/file-decorator-internal.data.d.ts +0 -93
  79. package/decorators/file/file-decorator.data.d.ts +0 -88
  80. package/decorators/file/file.decorator.d.ts +0 -8
  81. package/decorators/has-many/has-many-decorator-internal.data.d.ts +0 -16
  82. package/decorators/has-many/has-many-decorator.data.d.ts +0 -34
  83. package/decorators/has-many/has-many.decorator.d.ts +0 -8
  84. package/decorators/number/number-decorator-internal.data.d.ts +0 -38
  85. package/decorators/number/number-decorator.data.d.ts +0 -63
  86. package/decorators/number/number.decorator.d.ts +0 -7
  87. package/decorators/object/object-decorator-internal.data.d.ts +0 -23
  88. package/decorators/object/object-decorator.data.d.ts +0 -42
  89. package/decorators/object/object.decorator.d.ts +0 -8
  90. package/decorators/references-many/references-many-decorator-internal.data.d.ts +0 -30
  91. package/decorators/references-many/references-many-decorator.data.d.ts +0 -63
  92. package/decorators/references-many/references-many.decorator.d.ts +0 -8
  93. package/decorators/references-one/references-one-decorator-internal.data.d.ts +0 -16
  94. package/decorators/references-one/references-one-decorator.data.d.ts +0 -32
  95. package/decorators/references-one/references-one.decorator.d.ts +0 -8
  96. package/decorators/string/string-decorator-internal.data.d.ts +0 -56
  97. package/decorators/string/string-decorator.data.d.ts +0 -116
  98. package/decorators/string/string.decorator.d.ts +0 -7
  99. package/default-global-configuration-values.d.ts +0 -13
  100. package/directives/drag-drop.directive.d.ts +0 -29
  101. package/directives/dynamic-style-class.directive.d.ts +0 -24
  102. package/directives/included-in.directive.d.ts +0 -14
  103. package/directives/number.directive.d.ts +0 -16
  104. package/directives/password-match.directive.d.ts +0 -14
  105. package/directives/tooltip.directive.d.ts +0 -42
  106. package/encapsulation/js-2-xml.utilities.d.ts +0 -14
  107. package/encapsulation/jszip.utilities.d.ts +0 -12
  108. package/encapsulation/lodash.utilities.d.ts +0 -60
  109. package/encapsulation/reflect.utilities.d.ts +0 -59
  110. package/encapsulation/uuid.utilities.d.ts +0 -10
  111. package/esm2022/classes/base.builder.mjs +0 -47
  112. package/esm2022/classes/entity.model.mjs +0 -26
  113. package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +0 -57
  114. package/esm2022/components/confirm-dialog/confirm-dialog-data.mjs +0 -2
  115. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -71
  116. package/esm2022/components/create-page/create-data.route.mjs +0 -12
  117. package/esm2022/components/create-page/create-page.component.mjs +0 -276
  118. package/esm2022/components/create-page/page-create-data.builder.mjs +0 -30
  119. package/esm2022/components/custom-table/custom-table-configuration.model.mjs +0 -37
  120. package/esm2022/components/custom-table/custom-table.component.mjs +0 -213
  121. package/esm2022/components/edit-page/edit-data.route.mjs +0 -12
  122. package/esm2022/components/edit-page/edit-page.component.mjs +0 -362
  123. package/esm2022/components/edit-page/page-edit-data.builder.mjs +0 -33
  124. package/esm2022/components/form/form.component.mjs +0 -106
  125. package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +0 -56
  126. package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +0 -82
  127. package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +0 -82
  128. package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +0 -81
  129. package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +0 -74
  130. package/esm2022/components/input/array/array-table.class.mjs +0 -107
  131. package/esm2022/components/input/base-input.component.mjs +0 -102
  132. package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +0 -29
  133. package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +0 -40
  134. package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +0 -29
  135. package/esm2022/components/input/custom/custom.component.mjs +0 -28
  136. package/esm2022/components/input/date/date-input/date-input.component.mjs +0 -28
  137. package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +0 -84
  138. package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +0 -90
  139. package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +0 -18
  140. package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +0 -104
  141. package/esm2022/components/input/file/file-input/file-input.component.mjs +0 -228
  142. package/esm2022/components/input/input.component.mjs +0 -1361
  143. package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +0 -65
  144. package/esm2022/components/input/number/number-input/number-input.component.mjs +0 -23
  145. package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +0 -27
  146. package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +0 -145
  147. package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +0 -56
  148. package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +0 -65
  149. package/esm2022/components/input/string/string-input/string-input.component.mjs +0 -23
  150. package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +0 -107
  151. package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +0 -24
  152. package/esm2022/components/table/create-dialog/create-data.builder.mjs +0 -56
  153. package/esm2022/components/table/create-dialog/create-entity-data.builder.mjs +0 -32
  154. package/esm2022/components/table/create-dialog/create-entity-data.mjs +0 -2
  155. package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +0 -180
  156. package/esm2022/components/table/default.actions.mjs +0 -83
  157. package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +0 -27
  158. package/esm2022/components/table/display-column-value/display-column-value.component.mjs +0 -41
  159. package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +0 -136
  160. package/esm2022/components/table/edit-dialog/edit-entity-data.mjs +0 -2
  161. package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +0 -295
  162. package/esm2022/components/table/edit-dialog/edit-entity.builder.mjs +0 -39
  163. package/esm2022/components/table/table-data.builder.mjs +0 -304
  164. package/esm2022/components/table/table-data.mjs +0 -2
  165. package/esm2022/components/table/table.component.mjs +0 -324
  166. package/esm2022/components/tooltip/tooltip.component.mjs +0 -26
  167. package/esm2022/decorators/array/array-decorator-internal.data.mjs +0 -310
  168. package/esm2022/decorators/array/array-decorator.data.mjs +0 -51
  169. package/esm2022/decorators/array/array.decorator.mjs +0 -37
  170. package/esm2022/decorators/base/base-property.decorator.mjs +0 -17
  171. package/esm2022/decorators/base/decorator-types.enum.mjs +0 -35
  172. package/esm2022/decorators/base/dropdown-value.interface.mjs +0 -2
  173. package/esm2022/decorators/base/property-decorator-internal.data.mjs +0 -101
  174. package/esm2022/decorators/base/property-decorator.data.mjs +0 -59
  175. package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +0 -45
  176. package/esm2022/decorators/boolean/boolean-decorator.data.mjs +0 -11
  177. package/esm2022/decorators/boolean/boolean.decorator.mjs +0 -21
  178. package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +0 -34
  179. package/esm2022/decorators/custom/custom-decorator.data.mjs +0 -2
  180. package/esm2022/decorators/custom/custom.decorator.mjs +0 -13
  181. package/esm2022/decorators/date/date-decorator-internal.data.mjs +0 -92
  182. package/esm2022/decorators/date/date-decorator.data.mjs +0 -11
  183. package/esm2022/decorators/date/date.decorator.mjs +0 -22
  184. package/esm2022/decorators/file/file-decorator-internal.data.mjs +0 -143
  185. package/esm2022/decorators/file/file-decorator.data.mjs +0 -59
  186. package/esm2022/decorators/file/file.decorator.mjs +0 -25
  187. package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +0 -41
  188. package/esm2022/decorators/has-many/has-many-decorator.data.mjs +0 -2
  189. package/esm2022/decorators/has-many/has-many.decorator.mjs +0 -13
  190. package/esm2022/decorators/number/number-decorator-internal.data.mjs +0 -68
  191. package/esm2022/decorators/number/number-decorator.data.mjs +0 -11
  192. package/esm2022/decorators/number/number.decorator.mjs +0 -22
  193. package/esm2022/decorators/object/object-decorator-internal.data.mjs +0 -42
  194. package/esm2022/decorators/object/object-decorator.data.mjs +0 -22
  195. package/esm2022/decorators/object/object.decorator.mjs +0 -20
  196. package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +0 -55
  197. package/esm2022/decorators/references-many/references-many-decorator.data.mjs +0 -2
  198. package/esm2022/decorators/references-many/references-many.decorator.mjs +0 -13
  199. package/esm2022/decorators/references-one/references-one-decorator-internal.data.mjs +0 -34
  200. package/esm2022/decorators/references-one/references-one-decorator.data.mjs +0 -2
  201. package/esm2022/decorators/references-one/references-one.decorator.mjs +0 -12
  202. package/esm2022/decorators/string/string-decorator-internal.data.mjs +0 -119
  203. package/esm2022/decorators/string/string-decorator.data.mjs +0 -11
  204. package/esm2022/decorators/string/string.decorator.mjs +0 -29
  205. package/esm2022/default-global-configuration-values.mjs +0 -91
  206. package/esm2022/directives/drag-drop.directive.mjs +0 -60
  207. package/esm2022/directives/dynamic-style-class.directive.mjs +0 -51
  208. package/esm2022/directives/included-in.directive.mjs +0 -33
  209. package/esm2022/directives/number.directive.mjs +0 -37
  210. package/esm2022/directives/password-match.directive.mjs +0 -30
  211. package/esm2022/directives/tooltip.directive.mjs +0 -142
  212. package/esm2022/encapsulation/js-2-xml.utilities.mjs +0 -17
  213. package/esm2022/encapsulation/jszip.utilities.mjs +0 -16
  214. package/esm2022/encapsulation/lodash.utilities.mjs +0 -80
  215. package/esm2022/encapsulation/reflect.utilities.mjs +0 -79
  216. package/esm2022/encapsulation/uuid.utilities.mjs +0 -14
  217. package/esm2022/functions/default-false.function.mjs +0 -9
  218. package/esm2022/functions/default-style-classes.function.mjs +0 -7
  219. package/esm2022/functions/default-true.function.mjs +0 -9
  220. package/esm2022/functions/dropdown-values-to-function.function.mjs +0 -15
  221. package/esm2022/functions/get-changes-tooltip-content.function.mjs +0 -23
  222. package/esm2022/functions/get-config-value.function.mjs +0 -14
  223. package/esm2022/functions/get-validation-error-message.function.mjs +0 -54
  224. package/esm2022/functions/get-validation-errors-tooltip-content.function.mjs +0 -23
  225. package/esm2022/functions/is-async-function.function.mjs +0 -9
  226. package/esm2022/functions/table-column-value-to-sort-value.function.mjs +0 -33
  227. package/esm2022/global-configuration-values.mjs +0 -27
  228. package/esm2022/mocks/placeholder-data.png.mjs +0 -3
  229. package/esm2022/ngx-material-entity.mjs +0 -5
  230. package/esm2022/public-api.mjs +0 -68
  231. package/esm2022/services/entity.service.mjs +0 -269
  232. package/esm2022/services/unsaved-changes.guard.mjs +0 -13
  233. package/esm2022/utilities/date.utilities.mjs +0 -138
  234. package/esm2022/utilities/entity.utilities.mjs +0 -611
  235. package/esm2022/utilities/file.utilities.mjs +0 -172
  236. package/esm2022/utilities/selection.utilities.mjs +0 -49
  237. package/esm2022/utilities/validation.utilities.mjs +0 -543
  238. package/functions/default-false.function.d.ts +0 -6
  239. package/functions/default-style-classes.function.d.ts +0 -6
  240. package/functions/default-true.function.d.ts +0 -6
  241. package/functions/dropdown-values-to-function.function.d.ts +0 -11
  242. package/functions/get-changes-tooltip-content.function.d.ts +0 -13
  243. package/functions/get-config-value.function.d.ts +0 -7
  244. package/functions/get-validation-error-message.function.d.ts +0 -5
  245. package/functions/get-validation-errors-tooltip-content.function.d.ts +0 -12
  246. package/functions/is-async-function.function.d.ts +0 -6
  247. package/functions/table-column-value-to-sort-value.function.d.ts +0 -9
  248. package/global-configuration-values.d.ts +0 -205
  249. package/mocks/placeholder-data.png.d.ts +0 -1
  250. package/public-api.d.ts +0 -60
  251. package/services/entity.service.d.ts +0 -146
  252. package/services/unsaved-changes.guard.d.ts +0 -23
  253. package/utilities/date.utilities.d.ts +0 -92
  254. package/utilities/entity.utilities.d.ts +0 -236
  255. package/utilities/file.utilities.d.ts +0 -67
  256. package/utilities/selection.utilities.d.ts +0 -28
  257. package/utilities/validation.utilities.d.ts +0 -58
@@ -1,172 +0,0 @@
1
- import { firstValueFrom } from 'rxjs';
2
- import { JSZipUtilities } from '../encapsulation/jszip.utilities';
3
- import { LodashUtilities } from '../encapsulation/lodash.utilities';
4
- /**
5
- * Provides functionality regarding files.
6
- */
7
- export class FileUtilities {
8
- /**
9
- * Gets the accept value for the html input.
10
- * @param mimeTypes - The mimeTypes to get the accept string from.
11
- * @returns A comma separated string of all the provided mime types.
12
- */
13
- static getAcceptString(mimeTypes) {
14
- if (!mimeTypes?.length) {
15
- return '*';
16
- }
17
- return mimeTypes.join(', ');
18
- }
19
- // TODO: Find a way to use blobs with jest
20
- /* istanbul ignore next */
21
- /**
22
- * Reads a url to display the given file.
23
- * @param file - The file to get the url from.
24
- * @returns A promise of the url. Undefined if no file was provided.
25
- */
26
- static async getDataURLFromFile(file) {
27
- if (!file) {
28
- return undefined;
29
- }
30
- return new Promise((resolve, reject) => {
31
- const reader = new FileReader();
32
- reader.onload = e => resolve(e.target?.result);
33
- reader.onerror = e => reject(e);
34
- reader.readAsDataURL(file);
35
- });
36
- }
37
- // TODO: Find a way to use blobs with jest
38
- /* istanbul ignore next */
39
- /**
40
- * Gets a file from the given url.
41
- * @param url - The url to get the file from.
42
- * @param http - The angular HttpClient. Used to fetch files.
43
- * @returns A promise of the File.
44
- */
45
- static async getFileFromUrl(url, http) {
46
- try {
47
- return await firstValueFrom(http.get(url, { responseType: 'blob' }));
48
- }
49
- catch (error) {
50
- throw new Error(`Error fetching the file from the url ${url}:\n ${error}`);
51
- }
52
- }
53
- // TODO: Find a way to use blobs with jest
54
- /* istanbul ignore next */
55
- /**
56
- * Gets the file data with the blob from the given File Data.
57
- * @param data - The File Data to get the file data with blob from.
58
- * @param http - The angular HttpClient. Used to fetch files.
59
- * @returns FileDataWithFile.
60
- */
61
- static async getFileData(data, http) {
62
- if (data.file) {
63
- return {
64
- file: data.file,
65
- name: data.name,
66
- url: data.url,
67
- type: data.type,
68
- size: data.size
69
- };
70
- }
71
- return {
72
- file: await FileUtilities.getFileFromUrl(data.url, http),
73
- name: data.name,
74
- url: data.url,
75
- type: data.type,
76
- size: data.size
77
- };
78
- }
79
- // TODO: Find a way to use blobs with jest
80
- /* istanbul ignore next */
81
- /**
82
- * Downloads a single file from the given File Data.
83
- * @param fileData - The file data. Needs to contain a blob.
84
- */
85
- static downloadSingleFile(fileData) {
86
- this.downLoadBlob(fileData.file, fileData.name);
87
- }
88
- // TODO: Find a way to use blobs with jest
89
- /* istanbul ignore next */
90
- /**
91
- * Downloads a blob.
92
- * @param blob - The blob to download.
93
- * @param name - The name of the downloaded file.
94
- */
95
- static downLoadBlob(blob, name) {
96
- const a = document.createElement('a');
97
- const objectUrl = URL.createObjectURL(blob);
98
- a.href = objectUrl;
99
- if (name) {
100
- a.download = name;
101
- }
102
- a.click();
103
- URL.revokeObjectURL(objectUrl);
104
- }
105
- // TODO: Find a way to use blobs with jest
106
- /* istanbul ignore next */
107
- /**
108
- * Downloads multiple files as a zip with the given name.
109
- * @param name - The name of the zip file to generate.
110
- * @param multiFileData - The file data array to put in the zip.
111
- * @param http - The angular HttpClient. Used to fetch files.
112
- */
113
- static async downloadMultipleFiles(name, multiFileData, http) {
114
- const zip = JSZipUtilities.new();
115
- for (let i = 0; i < multiFileData.length; i++) {
116
- multiFileData[i] = await FileUtilities.getFileData(multiFileData[i], http);
117
- zip.file(multiFileData[i].name, multiFileData[i].file);
118
- }
119
- const zipBlob = await zip.generateAsync({ type: 'blob' });
120
- const fileData = {
121
- name: name,
122
- file: zipBlob,
123
- type: 'application/zip',
124
- size: zipBlob.size
125
- };
126
- FileUtilities.downloadSingleFile(fileData);
127
- }
128
- /**
129
- * Checks if the given file has a valid mime type.
130
- * @param type - The type of the file to check.
131
- * @param allowedMimeTypes - The allowed mime types.
132
- * @returns Whether or not the given file has a valid mime type.
133
- */
134
- static isMimeTypeValid(type, allowedMimeTypes) {
135
- if (allowedMimeTypes.includes('*')) {
136
- return true;
137
- }
138
- for (const t of allowedMimeTypes) {
139
- if (t === type) {
140
- return true;
141
- }
142
- if (t.endsWith('*') && type.startsWith(t.split('*')[0])) {
143
- return true;
144
- }
145
- }
146
- return false;
147
- }
148
- /**
149
- * Transform the given value to Megabytes.
150
- * @param value - The original value.
151
- * @param unit - If the value is B, KB or GB.
152
- * @returns The given value as bytes.
153
- */
154
- static transformToMegaBytes(value, unit) {
155
- const bytes = this.transformToBytes(LodashUtilities.cloneDeep(value), unit);
156
- return bytes / 1000000;
157
- }
158
- static transformToBytes(value, unit) {
159
- switch (unit) {
160
- case 'B': {
161
- return value;
162
- }
163
- case 'KB': {
164
- return value * 1000;
165
- }
166
- case 'GB': {
167
- return value * 1000000000;
168
- }
169
- }
170
- }
171
- }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy91dGlsaXRpZXMvZmlsZS51dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0QyxPQUFPLEVBQUUsY0FBYyxFQUFPLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixhQUFhO0lBQy9COzs7O09BSUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQW9CO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDckIsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsMEJBQTBCO0lBQzFCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQVc7UUFDdkMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxNQUFNLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM1QyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBZ0IsQ0FBQyxDQUFDO1lBQ3pELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7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Q0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sS0FBSyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRU8sTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWEsRUFBRSxJQUF1QjtRQUNsRSxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ1gsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNQLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7WUFDRCxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ1IsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7WUFDRCxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ1IsT0FBTyxLQUFLLEdBQUcsVUFBVSxDQUFDO1lBQzlCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZpbGVEYXRhV2l0aEZpbGUgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2ZpbGUvZmlsZS1kZWNvcmF0b3ItaW50ZXJuYWwuZGF0YSc7XG5pbXBvcnQgeyBGaWxlRGF0YSB9IGZyb20gJy4uL2RlY29yYXRvcnMvZmlsZS9maWxlLWRlY29yYXRvci5kYXRhJztcbmltcG9ydCB7IEpTWmlwVXRpbGl0aWVzLCBaaXAgfSBmcm9tICcuLi9lbmNhcHN1bGF0aW9uL2pzemlwLnV0aWxpdGllcyc7XG5pbXBvcnQgeyBMb2Rhc2hVdGlsaXRpZXMgfSBmcm9tICcuLi9lbmNhcHN1bGF0aW9uL2xvZGFzaC51dGlsaXRpZXMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgcmVnYXJkaW5nIGZpbGVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmlsZVV0aWxpdGllcyB7XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYWNjZXB0IHZhbHVlIGZvciB0aGUgaHRtbCBpbnB1dC5cbiAgICAgKiBAcGFyYW0gbWltZVR5cGVzIC0gVGhlIG1pbWVUeXBlcyB0byBnZXQgdGhlIGFjY2VwdCBzdHJpbmcgZnJvbS5cbiAgICAgKiBAcmV0dXJucyBBIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2YgYWxsIHRoZSBwcm92aWRlZCBtaW1lIHR5cGVzLlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRBY2NlcHRTdHJpbmcobWltZVR5cGVzPzogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgICAgICBpZiAoIW1pbWVUeXBlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gJyonO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtaW1lVHlwZXMuam9pbignLCAnKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBGaW5kIGEgd2F5IHRvIHVzZSBibG9icyB3aXRoIGplc3RcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIC8qKlxuICAgICAqIFJlYWRzIGEgdXJsIHRvIGRpc3BsYXkgdGhlIGdpdmVuIGZpbGUuXG4gICAgICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byBnZXQgdGhlIHVybCBmcm9tLlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSBvZiB0aGUgdXJsLiBVbmRlZmluZWQgaWYgbm8gZmlsZSB3YXMgcHJvdmlkZWQuXG4gICAgICovXG4gICAgc3RhdGljIGFzeW5jIGdldERhdGFVUkxGcm9tRmlsZShmaWxlPzogQmxvYik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmICghZmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9IGUgPT4gcmVzb2x2ZShlLnRhcmdldD8ucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICAgICAgICByZWFkZXIub25lcnJvciA9IGUgPT4gcmVqZWN0KGUpO1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFRPRE86IEZpbmQgYSB3YXkgdG8gdXNlIGJsb2JzIHdpdGggamVzdFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGZpbGUgZnJvbSB0aGUgZ2l2ZW4gdXJsLlxuICAgICAqIEBwYXJhbSB1cmwgLSBUaGUgdXJsIHRvIGdldCB0aGUgZmlsZSBmcm9tLlxuICAgICAqIEBwYXJhbSBodHRwIC0gVGhlIGFuZ3VsYXIgSHR0cENsaWVudC4gVXNlZCB0byBmZXRjaCBmaWxlcy5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2Ugb2YgdGhlIEZpbGUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgZ2V0RmlsZUZyb21VcmwodXJsOiBzdHJpbmcsIGh0dHA6IEh0dHBDbGllbnQpOiBQcm9taXNlPEJsb2I+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBmaXJzdFZhbHVlRnJvbShodHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBmZXRjaGluZyB0aGUgZmlsZSBmcm9tIHRoZSB1cmwgJHt1cmx9OlxcbiAke2Vycm9yfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVE9ETzogRmluZCBhIHdheSB0byB1c2UgYmxvYnMgd2l0aCBqZXN0XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBmaWxlIGRhdGEgd2l0aCB0aGUgYmxvYiBmcm9tIHRoZSBnaXZlbiBGaWxlIERhdGEuXG4gICAgICogQHBhcmFtIGRhdGEgLSBUaGUgRmlsZSBEYXRhIHRvIGdldCB0aGUgZmlsZSBkYXRhIHdpdGggYmxvYiBmcm9tLlxuICAgICAqIEBwYXJhbSBodHRwIC0gVGhlIGFuZ3VsYXIgSHR0cENsaWVudC4gVXNlZCB0byBmZXRjaCBmaWxlcy5cbiAgICAgKiBAcmV0dXJucyBGaWxlRGF0YVdpdGhGaWxlLlxuICAgICAqL1xuICAgIHN0YXRpYyBhc3luYyBnZXRGaWxlRGF0YShkYXRhOiBGaWxlRGF0YSwgaHR0cDogSHR0cENsaWVudCk6IFByb21pc2U8RmlsZURhdGFXaXRoRmlsZT4ge1xuICAgICAgICBpZiAoZGF0YS5maWxlKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGZpbGU6IGRhdGEuZmlsZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBkYXRhLm5hbWUsXG4gICAgICAgICAgICAgICAgdXJsOiBkYXRhLnVybCxcbiAgICAgICAgICAgICAgICB0eXBlOiBkYXRhLnR5cGUsXG4gICAgICAgICAgICAgICAgc2l6ZTogZGF0YS5zaXplXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWxlOiBhd2FpdCBGaWxlVXRpbGl0aWVzLmdldEZpbGVGcm9tVXJsKGRhdGEudXJsIGFzIHN0cmluZywgaHR0cCksXG4gICAgICAgICAgICBuYW1lOiBkYXRhLm5hbWUsXG4gICAgICAgICAgICB1cmw6IGRhdGEudXJsLFxuICAgICAgICAgICAgdHlwZTogZGF0YS50eXBlLFxuICAgICAgICAgICAgc2l6ZTogZGF0YS5zaXplXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVE9ETzogRmluZCBhIHdheSB0byB1c2UgYmxvYnMgd2l0aCBqZXN0XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAvKipcbiAgICAgKiBEb3dubG9hZHMgYSBzaW5nbGUgZmlsZSBmcm9tIHRoZSBnaXZlbiBGaWxlIERhdGEuXG4gICAgICogQHBhcmFtIGZpbGVEYXRhIC0gVGhlIGZpbGUgZGF0YS4gTmVlZHMgdG8gY29udGFpbiBhIGJsb2IuXG4gICAgICovXG4gICAgc3RhdGljIGRvd25sb2FkU2luZ2xlRmlsZShmaWxlRGF0YTogRmlsZURhdGFXaXRoRmlsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRvd25Mb2FkQmxvYihmaWxlRGF0YS5maWxlLCBmaWxlRGF0YS5uYW1lKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBGaW5kIGEgd2F5IHRvIHVzZSBibG9icyB3aXRoIGplc3RcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIC8qKlxuICAgICAqIERvd25sb2FkcyBhIGJsb2IuXG4gICAgICogQHBhcmFtIGJsb2IgLSBUaGUgYmxvYiB0byBkb3dubG9hZC5cbiAgICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBkb3dubG9hZGVkIGZpbGUuXG4gICAgICovXG4gICAgc3RhdGljIGRvd25Mb2FkQmxvYihibG9iOiBCbG9iLCBuYW1lPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGE6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICBjb25zdCBvYmplY3RVcmw6IHN0cmluZyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIGEuaHJlZiA9IG9iamVjdFVybDtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIGEuZG93bmxvYWQgPSBuYW1lO1xuICAgICAgICB9XG4gICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IEZpbmQgYSB3YXkgdG8gdXNlIGJsb2JzIHdpdGggamVzdFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgLyoqXG4gICAgICogRG93bmxvYWRzIG11bHRpcGxlIGZpbGVzIGFzIGEgemlwIHdpdGggdGhlIGdpdmVuIG5hbWUuXG4gICAgICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgemlwIGZpbGUgdG8gZ2VuZXJhdGUuXG4gICAgICogQHBhcmFtIG11bHRpRmlsZURhdGEgLSBUaGUgZmlsZSBkYXRhIGFycmF5IHRvIHB1dCBpbiB0aGUgemlwLlxuICAgICAqIEBwYXJhbSBodHRwIC0gVGhlIGFuZ3VsYXIgSHR0cENsaWVudC4gVXNlZCB0byBmZXRjaCBmaWxlcy5cbiAgICAgKi9cbiAgICBzdGF0aWMgYXN5bmMgZG93bmxvYWRNdWx0aXBsZUZpbGVzKG5hbWU6IHN0cmluZywgbXVsdGlGaWxlRGF0YTogRmlsZURhdGFbXSwgaHR0cDogSHR0cENsaWVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB6aXA6IFppcCA9IEpTWmlwVXRpbGl0aWVzLm5ldygpO1xuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbXVsdGlGaWxlRGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbXVsdGlGaWxlRGF0YVtpXSA9IGF3YWl0IEZpbGVVdGlsaXRpZXMuZ2V0RmlsZURhdGEobXVsdGlGaWxlRGF0YVtpXSwgaHR0cCk7XG4gICAgICAgICAgICB6aXAuZmlsZShtdWx0aUZpbGVEYXRhW2ldLm5hbWUsIChtdWx0aUZpbGVEYXRhW2ldIGFzIEZpbGVEYXRhV2l0aEZpbGUpLmZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHppcEJsb2I6IEJsb2IgPSBhd2FpdCB6aXAuZ2VuZXJhdGVBc3luYyh7IHR5cGU6ICdibG9iJyB9KTtcbiAgICAgICAgY29uc3QgZmlsZURhdGE6IEZpbGVEYXRhV2l0aEZpbGUgPSB7XG4gICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgZmlsZTogemlwQmxvYixcbiAgICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi96aXAnLFxuICAgICAgICAgICAgc2l6ZTogemlwQmxvYi5zaXplXG4gICAgICAgIH07XG4gICAgICAgIEZpbGVVdGlsaXRpZXMuZG93bmxvYWRTaW5nbGVGaWxlKGZpbGVEYXRhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGdpdmVuIGZpbGUgaGFzIGEgdmFsaWQgbWltZSB0eXBlLlxuICAgICAqIEBwYXJhbSB0eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGZpbGUgdG8gY2hlY2suXG4gICAgICogQHBhcmFtIGFsbG93ZWRNaW1lVHlwZXMgLSBUaGUgYWxsb3dlZCBtaW1lIHR5cGVzLlxuICAgICAqIEByZXR1cm5zIFdoZXRoZXIgb3Igbm90IHRoZSBnaXZlbiBmaWxlIGhhcyBhIHZhbGlkIG1pbWUgdHlwZS5cbiAgICAgKi9cbiAgICBzdGF0aWMgaXNNaW1lVHlwZVZhbGlkKHR5cGU6IHN0cmluZywgYWxsb3dlZE1pbWVUeXBlczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGFsbG93ZWRNaW1lVHlwZXMuaW5jbHVkZXMoJyonKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCB0IG9mIGFsbG93ZWRNaW1lVHlwZXMpIHtcbiAgICAgICAgICAgIGlmICh0ID09PSB0eXBlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodC5lbmRzV2l0aCgnKicpICYmIHR5cGUuc3RhcnRzV2l0aCh0LnNwbGl0KCcqJylbMF0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybSB0aGUgZ2l2ZW4gdmFsdWUgdG8gTWVnYWJ5dGVzLlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBvcmlnaW5hbCB2YWx1ZS5cbiAgICAgKiBAcGFyYW0gdW5pdCAtIElmIHRoZSB2YWx1ZSBpcyBCLCBLQiBvciBHQi5cbiAgICAgKiBAcmV0dXJucyBUaGUgZ2l2ZW4gdmFsdWUgYXMgYnl0ZXMuXG4gICAgICovXG4gICAgc3RhdGljIHRyYW5zZm9ybVRvTWVnYUJ5dGVzKHZhbHVlOiBudW1iZXIsIHVuaXQ6ICdCJyB8ICdLQicgfCAnR0InKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgYnl0ZXM6IG51bWJlciA9IHRoaXMudHJhbnNmb3JtVG9CeXRlcyhMb2Rhc2hVdGlsaXRpZXMuY2xvbmVEZWVwKHZhbHVlKSwgdW5pdCk7XG4gICAgICAgIHJldHVybiBieXRlcyAvIDEwMDAwMDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdHJhbnNmb3JtVG9CeXRlcyh2YWx1ZTogbnVtYmVyLCB1bml0OiAnQicgfCAnS0InIHwgJ0dCJyk6IG51bWJlciB7XG4gICAgICAgIHN3aXRjaCAodW5pdCkge1xuICAgICAgICAgICAgY2FzZSAnQic6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdLQic6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgKiAxMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnR0InOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogMTAwMDAwMDAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
@@ -1,49 +0,0 @@
1
- /**
2
- * Provides functionality around material selections inside of tables.
3
- */
4
- export class SelectionUtilities {
5
- /**
6
- * Checks if all items in the table have been selected.
7
- * This is needed to display the "masterToggle"-checkbox correctly.
8
- * @param selection - The selection to check.
9
- * @param dataSource - The dataSource of the selection.
10
- * @returns Whether or not all items in the table have been selected.
11
- */
12
- // eslint-disable-next-line typescript/no-explicit-any
13
- static isAllSelected(selection, dataSource) {
14
- const numSelected = selection.selected.length;
15
- const numRows = dataSource.data.length;
16
- return numSelected === numRows;
17
- }
18
- /**
19
- * Toggles all items in the table.
20
- * @param selection - The selection to toggle.
21
- * @param dataSource - The dataSource of the selection.
22
- */
23
- // eslint-disable-next-line typescript/no-explicit-any
24
- static masterToggle(selection, dataSource) {
25
- if (SelectionUtilities.isAllSelected(selection, dataSource)) {
26
- selection.clear();
27
- }
28
- else {
29
- for (const row of dataSource.data) {
30
- selection.select(row);
31
- }
32
- }
33
- }
34
- /**
35
- * Removes all selected entries from the array.
36
- * @param selection - The selection containing the items to remove.
37
- * @param values - The values of the dataSource.
38
- * @param dataSource - The dataSource.
39
- */
40
- // eslint-disable-next-line typescript/no-explicit-any
41
- static remove(selection, values, dataSource) {
42
- for (const s of selection.selected) {
43
- values.splice(values.indexOf(s), 1);
44
- }
45
- dataSource.data = values;
46
- selection.clear();
47
- }
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL3V0aWxpdGllcy9zZWxlY3Rpb24udXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixrQkFBa0I7SUFFcEM7Ozs7OztPQU1HO0lBQ0gsc0RBQXNEO0lBQ3RELE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBOEIsRUFBRSxVQUFtQztRQUNwRixNQUFNLFdBQVcsR0FBVyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBVyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQyxPQUFPLFdBQVcsS0FBSyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxzREFBc0Q7SUFDdEQsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUE4QixFQUFFLFVBQW1DO1FBQ25GLElBQUksa0JBQWtCLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzFELFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixDQUFDO2FBQ0ksQ0FBQztZQUNGLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsc0RBQXNEO0lBQ3RELE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBOEIsRUFBRSxNQUFhLEVBQUUsVUFBbUM7UUFDNUYsS0FBSyxNQUFNLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxVQUFVLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUN6QixTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgYXJvdW5kIG1hdGVyaWFsIHNlbGVjdGlvbnMgaW5zaWRlIG9mIHRhYmxlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNlbGVjdGlvblV0aWxpdGllcyB7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYWxsIGl0ZW1zIGluIHRoZSB0YWJsZSBoYXZlIGJlZW4gc2VsZWN0ZWQuXG4gICAgICogVGhpcyBpcyBuZWVkZWQgdG8gZGlzcGxheSB0aGUgXCJtYXN0ZXJUb2dnbGVcIi1jaGVja2JveCBjb3JyZWN0bHkuXG4gICAgICogQHBhcmFtIHNlbGVjdGlvbiAtIFRoZSBzZWxlY3Rpb24gdG8gY2hlY2suXG4gICAgICogQHBhcmFtIGRhdGFTb3VyY2UgLSBUaGUgZGF0YVNvdXJjZSBvZiB0aGUgc2VsZWN0aW9uLlxuICAgICAqIEByZXR1cm5zIFdoZXRoZXIgb3Igbm90IGFsbCBpdGVtcyBpbiB0aGUgdGFibGUgaGF2ZSBiZWVuIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuICAgIHN0YXRpYyBpc0FsbFNlbGVjdGVkKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT4pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbnVtU2VsZWN0ZWQ6IG51bWJlciA9IHNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG51bVJvd3M6IG51bWJlciA9IGRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7XG4gICAgICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGFsbCBpdGVtcyBpbiB0aGUgdGFibGUuXG4gICAgICogQHBhcmFtIHNlbGVjdGlvbiAtIFRoZSBzZWxlY3Rpb24gdG8gdG9nZ2xlLlxuICAgICAqIEBwYXJhbSBkYXRhU291cmNlIC0gVGhlIGRhdGFTb3VyY2Ugb2YgdGhlIHNlbGVjdGlvbi5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby1leHBsaWNpdC1hbnlcbiAgICBzdGF0aWMgbWFzdGVyVG9nZ2xlKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT4pOiB2b2lkIHtcbiAgICAgICAgaWYgKFNlbGVjdGlvblV0aWxpdGllcy5pc0FsbFNlbGVjdGVkKHNlbGVjdGlvbiwgZGF0YVNvdXJjZSkpIHtcbiAgICAgICAgICAgIHNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZm9yIChjb25zdCByb3cgb2YgZGF0YVNvdXJjZS5kYXRhKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uLnNlbGVjdChyb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgc2VsZWN0ZWQgZW50cmllcyBmcm9tIHRoZSBhcnJheS5cbiAgICAgKiBAcGFyYW0gc2VsZWN0aW9uIC0gVGhlIHNlbGVjdGlvbiBjb250YWluaW5nIHRoZSBpdGVtcyB0byByZW1vdmUuXG4gICAgICogQHBhcmFtIHZhbHVlcyAtIFRoZSB2YWx1ZXMgb2YgdGhlIGRhdGFTb3VyY2UuXG4gICAgICogQHBhcmFtIGRhdGFTb3VyY2UgLSBUaGUgZGF0YVNvdXJjZS5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby1leHBsaWNpdC1hbnlcbiAgICBzdGF0aWMgcmVtb3ZlKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdmFsdWVzOiBhbnlbXSwgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT4pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBzIG9mIHNlbGVjdGlvbi5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdmFsdWVzLnNwbGljZSh2YWx1ZXMuaW5kZXhPZihzKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YVNvdXJjZS5kYXRhID0gdmFsdWVzO1xuICAgICAgICBzZWxlY3Rpb24uY2xlYXIoKTtcbiAgICB9XG59Il19