@progress/kendo-angular-upload 8.0.0-dev.202201111351 → 9.0.0-next.202202241540

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 (268) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/README.md +1 -1
  4. package/bundles/kendo-angular-upload.umd.js +5 -0
  5. package/{dist/es2015/common → common}/action-buttons-layout.d.ts +0 -0
  6. package/{dist/es2015/common → common}/util.d.ts +0 -0
  7. package/{dist/es2015/common → common}/validation-util.d.ts +0 -0
  8. package/{dist/es2015/dropzone-base.d.ts → dropzone-base.d.ts} +4 -1
  9. package/{dist/es2015/dropzone-external.directive.d.ts → dropzone-external.directive.d.ts} +4 -1
  10. package/{dist/es2015/dropzone-internal.directive.d.ts → dropzone-internal.directive.d.ts} +3 -0
  11. package/{dist/es2015/dropzone.component.d.ts → dropzone.component.d.ts} +5 -2
  12. package/{dist/es2015/dropzone.service.d.ts → dropzone.service.d.ts} +3 -0
  13. package/{dist/es2015 → esm2015}/common/action-buttons-layout.js +1 -0
  14. package/{dist/es2015 → esm2015}/common/util.js +1 -7
  15. package/{dist/es2015 → esm2015}/common/validation-util.js +0 -4
  16. package/{dist/es2015 → esm2015}/dropzone-base.js +18 -16
  17. package/{dist/es2015 → esm2015}/dropzone-external.directive.js +29 -35
  18. package/{dist/es2015 → esm2015}/dropzone-internal.directive.js +25 -37
  19. package/esm2015/dropzone.component.js +113 -0
  20. package/{dist/es2015 → esm2015}/dropzone.service.js +8 -7
  21. package/{dist/es2015 → esm2015}/events/cancel-event.js +0 -0
  22. package/{dist/es2015 → esm2015}/events/clear-event.js +0 -0
  23. package/{dist/es2015 → esm2015}/events/error-event.js +0 -0
  24. package/{dist/es2015 → esm2015}/events/pause-event.js +0 -0
  25. package/{dist/es2015 → esm2015}/events/preventable-event.js +0 -0
  26. package/{dist/es2015 → esm2015}/events/remove-event.js +0 -0
  27. package/{dist/es2015 → esm2015}/events/resume-event.js +0 -0
  28. package/{dist/es2015 → esm2015}/events/select-event.js +0 -0
  29. package/{dist/es2015 → esm2015}/events/success-event.js +0 -0
  30. package/{dist/es2015 → esm2015}/events/upload-event.js +0 -0
  31. package/{dist/es2015 → esm2015}/events/upload-progress-event.js +0 -0
  32. package/{dist/es → esm2015}/events.js +0 -0
  33. package/esm2015/file-select.directive.js +100 -0
  34. package/{dist/es2015 → esm2015}/fileselect.component.js +160 -132
  35. package/esm2015/fileselect.module.js +35 -0
  36. package/{dist/es/types/chunk-info.js → esm2015/kendo-angular-upload.js} +4 -0
  37. package/esm2015/localization/custom-messages.component.js +50 -0
  38. package/esm2015/localization/localized-messages.directive.js +40 -0
  39. package/esm2015/localization/messages.js +59 -0
  40. package/{dist/es → esm2015}/main.js +0 -0
  41. package/{dist/es2015 → esm2015}/navigation.service.js +9 -9
  42. package/{dist/es2015 → esm2015}/package-metadata.js +1 -1
  43. package/{dist/es2015 → esm2015}/rendering/file-list-item-action-button.component.js +70 -28
  44. package/{dist/es2015 → esm2015}/rendering/file-list-item-base.js +9 -0
  45. package/esm2015/rendering/file-list-item.js +107 -0
  46. package/esm2015/rendering/file-list-multiple-items.component.js +172 -0
  47. package/esm2015/rendering/file-list-single-item.component.js +154 -0
  48. package/esm2015/rendering/file-list.component.js +145 -0
  49. package/esm2015/rendering/upload-action-buttons.component.js +136 -0
  50. package/esm2015/rendering/upload-status-total.component.js +60 -0
  51. package/{dist/es2015 → esm2015}/shared.module.js +45 -18
  52. package/esm2015/templates/file-info-template.directive.js +22 -0
  53. package/esm2015/templates/file-template.directive.js +22 -0
  54. package/esm2015/templates/template-context.directive.js +33 -0
  55. package/{dist/es2015 → esm2015}/types/async-settings.js +1 -0
  56. package/{dist/es2015 → esm2015}/types/chunk-info.js +1 -0
  57. package/{dist/es2015 → esm2015}/types/chunk-map.js +0 -0
  58. package/{dist/es → esm2015}/types/chunk-metadata.js +1 -0
  59. package/{dist/es → esm2015}/types/chunk-settings.js +1 -0
  60. package/{dist/es → esm2015}/types/direction.js +1 -0
  61. package/{dist/es2015 → esm2015}/types/file-groups.js +3 -5
  62. package/{dist/es → esm2015}/types/file-info.js +1 -0
  63. package/{dist/es2015 → esm2015}/types/file-map.js +0 -0
  64. package/{dist/es → esm2015}/types/file-restrictions.js +1 -0
  65. package/{dist/es → esm2015}/types/file-state.js +0 -0
  66. package/{dist/es → esm2015}/types/operation-type.js +1 -0
  67. package/{dist/es → esm2015}/types.js +0 -0
  68. package/{dist/es2015 → esm2015}/upload.component.js +263 -243
  69. package/esm2015/upload.module.js +43 -0
  70. package/{dist/es2015 → esm2015}/upload.service.js +10 -9
  71. package/{dist/es2015 → esm2015}/uploads.module.js +17 -12
  72. package/{dist/es2015/events → events}/cancel-event.d.ts +0 -0
  73. package/{dist/es2015/events → events}/clear-event.d.ts +0 -0
  74. package/{dist/es2015/events → events}/error-event.d.ts +0 -0
  75. package/{dist/es2015/events → events}/pause-event.d.ts +0 -0
  76. package/{dist/es2015/events → events}/preventable-event.d.ts +0 -0
  77. package/{dist/es2015/events → events}/remove-event.d.ts +0 -0
  78. package/{dist/es2015/events → events}/resume-event.d.ts +0 -0
  79. package/{dist/es2015/events → events}/select-event.d.ts +0 -0
  80. package/{dist/es2015/events → events}/success-event.d.ts +0 -0
  81. package/{dist/es2015/events → events}/upload-event.d.ts +0 -0
  82. package/{dist/es2015/events → events}/upload-progress-event.d.ts +0 -0
  83. package/{dist/es2015/events.d.ts → events.d.ts} +0 -0
  84. package/{dist/fesm2015/index.js → fesm2015/kendo-angular-upload.js} +2184 -2011
  85. package/{dist/es2015/file-select.directive.d.ts → file-select.directive.d.ts} +7 -4
  86. package/{dist/es2015/fileselect.component.d.ts → fileselect.component.d.ts} +14 -6
  87. package/fileselect.module.d.ts +20 -0
  88. package/{dist/es/common/action-buttons-layout.js → kendo-angular-upload.d.ts} +5 -0
  89. package/{dist/es2015/localization → localization}/custom-messages.component.d.ts +4 -1
  90. package/{dist/es2015/localization → localization}/localized-messages.directive.d.ts +3 -0
  91. package/{dist/es2015/localization → localization}/messages.d.ts +3 -0
  92. package/{dist/es2015/main.d.ts → main.d.ts} +0 -0
  93. package/{dist/es2015/navigation.service.d.ts → navigation.service.d.ts} +7 -3
  94. package/{dist/es2015/package-metadata.d.ts → package-metadata.d.ts} +0 -0
  95. package/package.json +35 -103
  96. package/{dist/es2015/rendering → rendering}/file-list-item-action-button.component.d.ts +11 -8
  97. package/{dist/es2015/rendering → rendering}/file-list-item-base.d.ts +3 -0
  98. package/{dist/es2015/rendering → rendering}/file-list-item.d.ts +10 -7
  99. package/{dist/es2015/rendering → rendering}/file-list-multiple-items.component.d.ts +7 -4
  100. package/{dist/es2015/rendering → rendering}/file-list-single-item.component.d.ts +9 -6
  101. package/{dist/es2015/rendering → rendering}/file-list.component.d.ts +3 -0
  102. package/{dist/es2015/rendering → rendering}/upload-action-buttons.component.d.ts +7 -4
  103. package/{dist/es2015/rendering → rendering}/upload-status-total.component.d.ts +3 -0
  104. package/schematics/ngAdd/index.js +5 -2
  105. package/schematics/ngAdd/index.js.map +1 -1
  106. package/shared.module.d.ts +36 -0
  107. package/{dist/es2015/templates → templates}/file-info-template.directive.d.ts +3 -0
  108. package/{dist/es2015/templates → templates}/file-template.directive.d.ts +3 -0
  109. package/{dist/es2015/templates → templates}/template-context.directive.d.ts +4 -1
  110. package/{dist/es2015/types → types}/async-settings.d.ts +0 -0
  111. package/{dist/es2015/types → types}/chunk-info.d.ts +0 -0
  112. package/{dist/es2015/types → types}/chunk-map.d.ts +0 -0
  113. package/{dist/es2015/types → types}/chunk-metadata.d.ts +0 -0
  114. package/{dist/es2015/types → types}/chunk-settings.d.ts +0 -0
  115. package/{dist/es2015/types → types}/direction.d.ts +0 -0
  116. package/{dist/es2015/types → types}/file-groups.d.ts +0 -0
  117. package/{dist/es2015/types → types}/file-info.d.ts +0 -0
  118. package/{dist/es2015/types → types}/file-map.d.ts +5 -5
  119. package/{dist/es2015/types → types}/file-restrictions.d.ts +0 -0
  120. package/{dist/es2015/types → types}/file-state.d.ts +0 -0
  121. package/{dist/es2015/types → types}/operation-type.d.ts +0 -0
  122. package/{dist/es2015/types.d.ts → types.d.ts} +0 -0
  123. package/{dist/es2015/upload.component.d.ts → upload.component.d.ts} +42 -21
  124. package/upload.module.d.ts +22 -0
  125. package/{dist/es2015/upload.service.d.ts → upload.service.d.ts} +4 -1
  126. package/{dist/es2015/uploads.module.d.ts → uploads.module.d.ts} +6 -0
  127. package/dist/cdn/js/kendo-angular-upload.js +0 -20
  128. package/dist/cdn/main.js +0 -5
  129. package/dist/es/common/util.js +0 -234
  130. package/dist/es/common/validation-util.js +0 -64
  131. package/dist/es/dropzone-base.js +0 -66
  132. package/dist/es/dropzone-external.directive.js +0 -98
  133. package/dist/es/dropzone-internal.directive.js +0 -110
  134. package/dist/es/dropzone.component.js +0 -99
  135. package/dist/es/dropzone.service.js +0 -33
  136. package/dist/es/events/cancel-event.js +0 -41
  137. package/dist/es/events/clear-event.js +0 -43
  138. package/dist/es/events/error-event.js +0 -45
  139. package/dist/es/events/pause-event.js +0 -42
  140. package/dist/es/events/preventable-event.js +0 -29
  141. package/dist/es/events/remove-event.js +0 -47
  142. package/dist/es/events/resume-event.js +0 -42
  143. package/dist/es/events/select-event.js +0 -45
  144. package/dist/es/events/success-event.js +0 -49
  145. package/dist/es/events/upload-event.js +0 -47
  146. package/dist/es/events/upload-progress-event.js +0 -42
  147. package/dist/es/file-select.directive.js +0 -141
  148. package/dist/es/fileselect.component.js +0 -484
  149. package/dist/es/fileselect.module.js +0 -30
  150. package/dist/es/index.js +0 -21
  151. package/dist/es/localization/custom-messages.component.js +0 -53
  152. package/dist/es/localization/localized-messages.directive.js +0 -35
  153. package/dist/es/localization/messages.js +0 -102
  154. package/dist/es/navigation.service.js +0 -166
  155. package/dist/es/package-metadata.js +0 -15
  156. package/dist/es/rendering/file-list-item-action-button.component.js +0 -169
  157. package/dist/es/rendering/file-list-item-base.js +0 -41
  158. package/dist/es/rendering/file-list-item.js +0 -165
  159. package/dist/es/rendering/file-list-multiple-items.component.js +0 -107
  160. package/dist/es/rendering/file-list-single-item.component.js +0 -112
  161. package/dist/es/rendering/file-list.component.js +0 -98
  162. package/dist/es/rendering/upload-action-buttons.component.js +0 -149
  163. package/dist/es/rendering/upload-status-total.component.js +0 -42
  164. package/dist/es/shared.module.js +0 -68
  165. package/dist/es/templates/file-info-template.directive.js +0 -22
  166. package/dist/es/templates/file-template.directive.js +0 -22
  167. package/dist/es/templates/template-context.directive.js +0 -40
  168. package/dist/es/types/async-settings.js +0 -4
  169. package/dist/es/types/chunk-map.js +0 -36
  170. package/dist/es/types/file-groups.js +0 -45
  171. package/dist/es/types/file-map.js +0 -170
  172. package/dist/es/upload.component.js +0 -967
  173. package/dist/es/upload.module.js +0 -34
  174. package/dist/es/upload.service.js +0 -448
  175. package/dist/es/uploads.module.js +0 -47
  176. package/dist/es2015/dropzone.component.js +0 -100
  177. package/dist/es2015/events.js +0 -14
  178. package/dist/es2015/file-select.directive.js +0 -123
  179. package/dist/es2015/fileselect.module.d.ts +0 -9
  180. package/dist/es2015/fileselect.module.js +0 -27
  181. package/dist/es2015/index.d.ts +0 -21
  182. package/dist/es2015/index.js +0 -21
  183. package/dist/es2015/index.metadata.json +0 -1
  184. package/dist/es2015/localization/custom-messages.component.js +0 -45
  185. package/dist/es2015/localization/localized-messages.directive.js +0 -35
  186. package/dist/es2015/localization/messages.js +0 -96
  187. package/dist/es2015/main.js +0 -24
  188. package/dist/es2015/rendering/file-list-item.js +0 -136
  189. package/dist/es2015/rendering/file-list-multiple-items.component.js +0 -128
  190. package/dist/es2015/rendering/file-list-single-item.component.js +0 -117
  191. package/dist/es2015/rendering/file-list.component.js +0 -123
  192. package/dist/es2015/rendering/upload-action-buttons.component.js +0 -141
  193. package/dist/es2015/rendering/upload-status-total.component.js +0 -51
  194. package/dist/es2015/shared.module.d.ts +0 -17
  195. package/dist/es2015/templates/file-info-template.directive.js +0 -21
  196. package/dist/es2015/templates/file-template.directive.js +0 -21
  197. package/dist/es2015/templates/template-context.directive.js +0 -35
  198. package/dist/es2015/types/chunk-metadata.js +0 -4
  199. package/dist/es2015/types/chunk-settings.js +0 -4
  200. package/dist/es2015/types/direction.js +0 -4
  201. package/dist/es2015/types/file-info.js +0 -4
  202. package/dist/es2015/types/file-restrictions.js +0 -4
  203. package/dist/es2015/types/file-state.js +0 -34
  204. package/dist/es2015/types/operation-type.js +0 -4
  205. package/dist/es2015/types.js +0 -5
  206. package/dist/es2015/upload.module.d.ts +0 -9
  207. package/dist/es2015/upload.module.js +0 -31
  208. package/dist/fesm5/index.js +0 -4653
  209. package/dist/npm/common/action-buttons-layout.js +0 -6
  210. package/dist/npm/common/util.js +0 -240
  211. package/dist/npm/common/validation-util.js +0 -68
  212. package/dist/npm/dropzone-base.js +0 -68
  213. package/dist/npm/dropzone-external.directive.js +0 -100
  214. package/dist/npm/dropzone-internal.directive.js +0 -112
  215. package/dist/npm/dropzone.component.js +0 -101
  216. package/dist/npm/dropzone.service.js +0 -35
  217. package/dist/npm/events/cancel-event.js +0 -43
  218. package/dist/npm/events/clear-event.js +0 -45
  219. package/dist/npm/events/error-event.js +0 -47
  220. package/dist/npm/events/pause-event.js +0 -44
  221. package/dist/npm/events/preventable-event.js +0 -31
  222. package/dist/npm/events/remove-event.js +0 -49
  223. package/dist/npm/events/resume-event.js +0 -44
  224. package/dist/npm/events/select-event.js +0 -47
  225. package/dist/npm/events/success-event.js +0 -51
  226. package/dist/npm/events/upload-event.js +0 -49
  227. package/dist/npm/events/upload-progress-event.js +0 -44
  228. package/dist/npm/events.js +0 -26
  229. package/dist/npm/file-select.directive.js +0 -143
  230. package/dist/npm/fileselect.component.js +0 -486
  231. package/dist/npm/fileselect.module.js +0 -32
  232. package/dist/npm/index.js +0 -39
  233. package/dist/npm/localization/custom-messages.component.js +0 -55
  234. package/dist/npm/localization/localized-messages.directive.js +0 -37
  235. package/dist/npm/localization/messages.js +0 -104
  236. package/dist/npm/main.js +0 -45
  237. package/dist/npm/navigation.service.js +0 -168
  238. package/dist/npm/package-metadata.js +0 -17
  239. package/dist/npm/rendering/file-list-item-action-button.component.js +0 -171
  240. package/dist/npm/rendering/file-list-item-base.js +0 -43
  241. package/dist/npm/rendering/file-list-item.js +0 -167
  242. package/dist/npm/rendering/file-list-multiple-items.component.js +0 -109
  243. package/dist/npm/rendering/file-list-single-item.component.js +0 -114
  244. package/dist/npm/rendering/file-list.component.js +0 -100
  245. package/dist/npm/rendering/upload-action-buttons.component.js +0 -151
  246. package/dist/npm/rendering/upload-status-total.component.js +0 -44
  247. package/dist/npm/shared.module.js +0 -70
  248. package/dist/npm/templates/file-info-template.directive.js +0 -24
  249. package/dist/npm/templates/file-template.directive.js +0 -24
  250. package/dist/npm/templates/template-context.directive.js +0 -42
  251. package/dist/npm/types/async-settings.js +0 -6
  252. package/dist/npm/types/chunk-info.js +0 -6
  253. package/dist/npm/types/chunk-map.js +0 -38
  254. package/dist/npm/types/chunk-metadata.js +0 -6
  255. package/dist/npm/types/chunk-settings.js +0 -6
  256. package/dist/npm/types/direction.js +0 -6
  257. package/dist/npm/types/file-groups.js +0 -47
  258. package/dist/npm/types/file-info.js +0 -6
  259. package/dist/npm/types/file-map.js +0 -172
  260. package/dist/npm/types/file-restrictions.js +0 -6
  261. package/dist/npm/types/file-state.js +0 -36
  262. package/dist/npm/types/operation-type.js +0 -6
  263. package/dist/npm/types.js +0 -8
  264. package/dist/npm/upload.component.js +0 -969
  265. package/dist/npm/upload.module.js +0 -36
  266. package/dist/npm/upload.service.js +0 -450
  267. package/dist/npm/uploads.module.js +0 -49
  268. package/dist/systemjs/kendo-angular-upload.js +0 -5
@@ -1,34 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { NgModule } from '@angular/core';
7
- import { UploadComponent } from './upload.component';
8
- import { UploadActionButtonsComponent } from './rendering/upload-action-buttons.component';
9
- import { UploadStatusTotalComponent } from './rendering/upload-status-total.component';
10
- import { SharedModule, PUBLIC_DIRECTIVES } from './shared.module';
11
- var UPLOAD_DECLARATIONS = [
12
- UploadComponent,
13
- UploadActionButtonsComponent,
14
- UploadStatusTotalComponent
15
- ];
16
- /**
17
- * Represents the [NgModule](https://angular.io/api/core/NgModule) definition for the Upload component.
18
- */
19
- var UploadModule = /** @class */ (function () {
20
- function UploadModule() {
21
- }
22
- UploadModule = tslib_1.__decorate([
23
- NgModule({
24
- declarations: [UPLOAD_DECLARATIONS],
25
- exports: [
26
- PUBLIC_DIRECTIVES,
27
- UPLOAD_DECLARATIONS
28
- ],
29
- imports: [SharedModule]
30
- })
31
- ], UploadModule);
32
- return UploadModule;
33
- }());
34
- export { UploadModule };
@@ -1,448 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { HttpClient, HttpEventType, HttpHeaders, HttpRequest, HttpResponse } from '@angular/common/http';
7
- import { EventEmitter, Injectable } from '@angular/core';
8
- import { FileState } from './types';
9
- import { FileMap } from './types/file-map';
10
- import { CancelEvent, ClearEvent, ErrorEvent, PauseEvent, RemoveEvent, ResumeEvent, SelectEvent, SuccessEvent, UploadEvent, UploadProgressEvent } from './events';
11
- import { getInitialFileInfo, convertFileToFileInfo } from './common/util';
12
- import { ChunkMap } from './types/chunk-map';
13
- /**
14
- * @hidden
15
- */
16
- var UploadService = /** @class */ (function () {
17
- function UploadService(http) {
18
- this.http = http;
19
- this.cancelEvent = new EventEmitter();
20
- this.clearEvent = new EventEmitter();
21
- this.completeEvent = new EventEmitter();
22
- this.errorEvent = new EventEmitter();
23
- this.pauseEvent = new EventEmitter();
24
- this.removeEvent = new EventEmitter();
25
- this.resumeEvent = new EventEmitter();
26
- this.selectEvent = new EventEmitter();
27
- this.successEvent = new EventEmitter();
28
- this.uploadEvent = new EventEmitter();
29
- this.uploadProgressEvent = new EventEmitter();
30
- /**
31
- * Required for the `ControlValueAccessor` integration
32
- */
33
- this.changeEvent = new EventEmitter();
34
- /**
35
- * Default async settings
36
- */
37
- this.async = {
38
- autoUpload: true,
39
- batch: false,
40
- chunk: false,
41
- concurrent: true,
42
- removeField: "fileNames",
43
- removeHeaders: new HttpHeaders(),
44
- removeMethod: "POST",
45
- removeUrl: "",
46
- responseType: "json",
47
- saveField: "files",
48
- saveHeaders: new HttpHeaders(),
49
- saveMethod: "POST",
50
- saveUrl: "",
51
- withCredentials: true
52
- };
53
- /**
54
- * Default chunk settings
55
- */
56
- this.chunk = {
57
- autoRetryAfter: 100,
58
- size: 1024 * 1024,
59
- maxAutoRetries: 1,
60
- resumable: true
61
- };
62
- this.component = 'Upload';
63
- this.chunkMap = new ChunkMap();
64
- this.fileList = new FileMap();
65
- }
66
- Object.defineProperty(UploadService.prototype, "files", {
67
- get: function () {
68
- return this.fileList;
69
- },
70
- enumerable: true,
71
- configurable: true
72
- });
73
- UploadService.prototype.setChunkSettings = function (settings) {
74
- if (settings !== false) {
75
- this.async.chunk = true;
76
- if (typeof settings === "object") {
77
- this.chunk = Object.assign({}, this.chunk, settings);
78
- }
79
- }
80
- };
81
- UploadService.prototype.onChange = function () {
82
- var files = this.fileList.filesFlat.filter(function (file) {
83
- return file.state === FileState.Initial ||
84
- file.state === FileState.Uploaded;
85
- });
86
- this.changeEvent.emit(files.length > 0 ? files : null);
87
- };
88
- UploadService.prototype.addFiles = function (files) {
89
- var selectEventArgs = new SelectEvent(files);
90
- this.selectEvent.emit(selectEventArgs);
91
- if (!selectEventArgs.isDefaultPrevented()) {
92
- for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {
93
- var file = files_1[_i];
94
- this.fileList.add(file);
95
- }
96
- if (this.async.autoUpload) {
97
- this.uploadFiles();
98
- }
99
- }
100
- if (this.component === 'FileSelect') {
101
- var flatFiles = this.fileList.filesFlat;
102
- this.changeEvent.emit(flatFiles.length > 0 ? flatFiles : null);
103
- }
104
- };
105
- UploadService.prototype.addInitialFiles = function (initialFiles) {
106
- var _this = this;
107
- this.fileList.clear();
108
- initialFiles.forEach(function (file) {
109
- var fakeFile = getInitialFileInfo(file);
110
- _this.fileList.add(fakeFile);
111
- });
112
- };
113
- UploadService.prototype.addInitialFileSelectFiles = function (initialFiles) {
114
- var _this = this;
115
- this.fileList.clear();
116
- initialFiles.forEach(function (file) {
117
- if (file instanceof File) {
118
- _this.fileList.add(convertFileToFileInfo(file));
119
- }
120
- else {
121
- _this.fileList.add(getInitialFileInfo(file));
122
- }
123
- });
124
- };
125
- UploadService.prototype.resumeFile = function (uid) {
126
- var fileToResume = this.fileList.get(uid);
127
- this.resumeEvent.emit(new ResumeEvent(fileToResume[0]));
128
- this.fileList.setFilesStateByUid(uid, FileState.Uploading);
129
- this._uploadFiles([fileToResume]);
130
- };
131
- UploadService.prototype.pauseFile = function (uid) {
132
- var pausedFile = this.fileList.get(uid)[0];
133
- this.pauseEvent.emit(new PauseEvent(pausedFile));
134
- this.fileList.setFilesStateByUid(uid, FileState.Paused);
135
- };
136
- UploadService.prototype.removeFiles = function (uid) {
137
- var removedFiles = this.fileList.get(uid);
138
- // Clone the Headers so that the default ones are not overridden
139
- var removeEventArgs = new RemoveEvent(removedFiles, this.cloneRequestHeaders(this.async.removeHeaders));
140
- this.removeEvent.emit(removeEventArgs);
141
- if (!removeEventArgs.isDefaultPrevented()) {
142
- if (this.component === 'Upload' &&
143
- (removedFiles[0].state === FileState.Uploaded ||
144
- removedFiles[0].state === FileState.Initial)) {
145
- this.performRemove(removedFiles, removeEventArgs);
146
- }
147
- else {
148
- this.fileList.remove(uid);
149
- if (this.component === 'FileSelect') {
150
- var flatFiles = this.fileList.filesFlat;
151
- this.changeEvent.emit(flatFiles.length > 0 ? flatFiles : null);
152
- }
153
- }
154
- }
155
- };
156
- UploadService.prototype.cancelFiles = function (uid) {
157
- var canceledFiles = this.fileList.get(uid);
158
- var cancelEventArgs = new CancelEvent(canceledFiles);
159
- this.cancelEvent.emit(cancelEventArgs);
160
- for (var _i = 0, canceledFiles_1 = canceledFiles; _i < canceledFiles_1.length; _i++) {
161
- var file = canceledFiles_1[_i];
162
- if (file.httpSubscription) {
163
- file.httpSubscription.unsubscribe();
164
- }
165
- }
166
- this.fileList.remove(uid);
167
- this.checkAllComplete();
168
- };
169
- UploadService.prototype.clearFiles = function () {
170
- var clearEventArgs = new ClearEvent();
171
- this.clearEvent.emit(clearEventArgs);
172
- if (!clearEventArgs.isDefaultPrevented()) {
173
- var triggerChange = this.fileList.hasFileWithState([
174
- FileState.Initial,
175
- FileState.Uploaded
176
- ]);
177
- this.fileList.clear();
178
- if (triggerChange) {
179
- this.onChange();
180
- }
181
- }
182
- };
183
- UploadService.prototype.uploadFiles = function () {
184
- var filesToUpload = [];
185
- if (this.async.concurrent) {
186
- filesToUpload = this.fileList.filesToUpload;
187
- }
188
- if (!this.async.concurrent && !this.fileList.hasFileWithState([FileState.Uploading])) {
189
- filesToUpload = this.fileList.firstFileToUpload ? [this.fileList.firstFileToUpload] : [];
190
- }
191
- if (filesToUpload && filesToUpload.length > 0) {
192
- this._uploadFiles(filesToUpload);
193
- }
194
- };
195
- UploadService.prototype.retryFiles = function (uid) {
196
- var filesToRetry = [this.fileList.get(uid)];
197
- if (filesToRetry) {
198
- this._uploadFiles(filesToRetry);
199
- }
200
- };
201
- UploadService.prototype._uploadFiles = function (allFiles) {
202
- var _loop_1 = function (filesToUpload) {
203
- if (filesToUpload[0].state === FileState.Paused) {
204
- return { value: void 0 };
205
- }
206
- // Clone the Headers so that the default ones are not overridden
207
- var uploadEventArgs = new UploadEvent(filesToUpload, this_1.cloneRequestHeaders(this_1.async.saveHeaders));
208
- this_1.uploadEvent.emit(uploadEventArgs);
209
- if (!uploadEventArgs.isDefaultPrevented()) {
210
- this_1.fileList.setFilesState(filesToUpload, FileState.Uploading);
211
- var httpSubcription_1 = this_1.performUpload(filesToUpload, uploadEventArgs);
212
- filesToUpload.forEach(function (file) {
213
- file.httpSubscription = httpSubcription_1;
214
- });
215
- }
216
- else {
217
- this_1.fileList.remove(filesToUpload[0].uid);
218
- }
219
- };
220
- var this_1 = this;
221
- for (var _i = 0, allFiles_1 = allFiles; _i < allFiles_1.length; _i++) {
222
- var filesToUpload = allFiles_1[_i];
223
- var state_1 = _loop_1(filesToUpload);
224
- if (typeof state_1 === "object")
225
- return state_1.value;
226
- }
227
- };
228
- UploadService.prototype.performRemove = function (files, removeEventArgs) {
229
- var _this = this;
230
- var async = this.async;
231
- var fileNames = files.map(function (file) {
232
- return file.name;
233
- });
234
- var formData = this.populateRemoveFormData(fileNames, removeEventArgs.data);
235
- var options = this.populateRequestOptions(removeEventArgs.headers);
236
- var removeRequest = new HttpRequest(async.removeMethod, async.removeUrl, formData, options);
237
- this.http.request(removeRequest)
238
- .subscribe(function (success) {
239
- _this.onSuccess(success, files, "remove");
240
- }, function (error) {
241
- _this.onError(error, files, "remove");
242
- });
243
- };
244
- UploadService.prototype.performUpload = function (files, uploadEventArgs) {
245
- var _this = this;
246
- var async = this.async;
247
- var formData = this.populateUploadFormData(files, uploadEventArgs.data);
248
- var options = this.populateRequestOptions(uploadEventArgs.headers);
249
- var uploadRequest = new HttpRequest(async.saveMethod, async.saveUrl, formData, options);
250
- var httpSubscription = this.http.request(uploadRequest)
251
- .subscribe(function (event) {
252
- if (event.type === HttpEventType.UploadProgress && !_this.async.chunk) {
253
- _this.onProgress(event, files);
254
- }
255
- else if (event instanceof HttpResponse) {
256
- _this.onSuccess(event, files, "upload");
257
- _this.checkAllComplete();
258
- }
259
- }, function (error) {
260
- _this.onError(error, files, "upload");
261
- _this.checkAllComplete();
262
- });
263
- return httpSubscription;
264
- };
265
- UploadService.prototype.onSuccess = function (successResponse, files, operation) {
266
- if (operation === "upload" && this.async.chunk) {
267
- this.onChunkProgress(files);
268
- if (this.isChunkUploadComplete(files[0].uid)) {
269
- this.removeChunkInfo(files[0].uid);
270
- }
271
- else {
272
- this.updateChunkInfo(files[0].uid);
273
- this._uploadFiles([files]);
274
- return;
275
- }
276
- }
277
- var successArgs = new SuccessEvent(files, operation, successResponse);
278
- this.successEvent.emit(successArgs);
279
- if (operation === "upload") {
280
- this.fileList.setFilesState(files, successArgs.isDefaultPrevented() ? FileState.Failed : FileState.Uploaded);
281
- }
282
- else {
283
- if (!successArgs.isDefaultPrevented()) {
284
- this.fileList.remove(files[0].uid);
285
- }
286
- }
287
- if (!successArgs.isDefaultPrevented()) {
288
- this.onChange();
289
- }
290
- };
291
- UploadService.prototype.onError = function (errorResponse, files, operation) {
292
- var _this = this;
293
- if (operation === "upload" && this.async.chunk) {
294
- var maxRetries = this.chunk.maxAutoRetries;
295
- var chunkInfo = this.chunkMap.get(files[0].uid);
296
- if (chunkInfo.retries < maxRetries) {
297
- chunkInfo.retries += 1;
298
- setTimeout(function () {
299
- _this.retryFiles(files[0].uid);
300
- }, this.chunk.autoRetryAfter);
301
- return;
302
- }
303
- }
304
- var errorArgs = new ErrorEvent(files, operation, errorResponse);
305
- this.errorEvent.emit(errorArgs);
306
- if (operation === "upload") {
307
- this.fileList.setFilesState(files, FileState.Failed);
308
- }
309
- };
310
- UploadService.prototype.onProgress = function (event, files) {
311
- var percentComplete = Math.round(100 * event.loaded / event.total);
312
- var progressArgs = new UploadProgressEvent(files, percentComplete < 100 ? percentComplete : 100);
313
- this.uploadProgressEvent.emit(progressArgs);
314
- };
315
- UploadService.prototype.onChunkProgress = function (files) {
316
- var chunkInfo = this.chunkMap.get(files[0].uid);
317
- var percentComplete = 0;
318
- if (chunkInfo) {
319
- if (chunkInfo.index === chunkInfo.totalChunks - 1) {
320
- percentComplete = 100;
321
- }
322
- else {
323
- percentComplete = Math.round(((chunkInfo.index + 1) / chunkInfo.totalChunks) * 100);
324
- }
325
- }
326
- var progressArgs = new UploadProgressEvent(files, percentComplete < 100 ? percentComplete : 100);
327
- this.uploadProgressEvent.emit(progressArgs);
328
- };
329
- UploadService.prototype.checkAllComplete = function () {
330
- if (!this.fileList.hasFileWithState([
331
- FileState.Uploading,
332
- FileState.Paused
333
- ]) && this.areAllSelectedFilesHandled()) {
334
- this.completeEvent.emit();
335
- }
336
- else if (this.shouldUploadNextFile()) {
337
- this.uploadFiles();
338
- }
339
- };
340
- UploadService.prototype.shouldUploadNextFile = function () {
341
- return !this.async.concurrent &&
342
- this.fileList.hasFileWithState([FileState.Selected]) &&
343
- !this.fileList.hasFileWithState([FileState.Uploading]);
344
- };
345
- UploadService.prototype.areAllSelectedFilesHandled = function () {
346
- var validSelectedFiles = this.fileList.getFilesWithState(FileState.Selected).filter(function (file) { return !file.validationErrors; });
347
- return validSelectedFiles.length === 0;
348
- };
349
- UploadService.prototype.cloneRequestHeaders = function (headers) {
350
- var cloned = {};
351
- if (headers) {
352
- headers.keys().forEach(function (key) {
353
- cloned[key] = headers.get(key);
354
- });
355
- }
356
- return new HttpHeaders(cloned);
357
- };
358
- UploadService.prototype.populateRequestOptions = function (headers) {
359
- return {
360
- headers: headers,
361
- reportProgress: true,
362
- responseType: this.async.responseType,
363
- withCredentials: this.async.withCredentials
364
- };
365
- };
366
- UploadService.prototype.populateUploadFormData = function (files, clientData) {
367
- var saveField = this.async.saveField;
368
- var data = new FormData();
369
- this.populateClientFormData(data, clientData);
370
- if (this.async.chunk) {
371
- data.append(saveField, this.getNextChunk(files[0]));
372
- data.append("metadata", this.getChunkMetadata(files[0]));
373
- }
374
- else {
375
- for (var _i = 0, files_2 = files; _i < files_2.length; _i++) {
376
- var file = files_2[_i];
377
- data.append(saveField, file.rawFile);
378
- }
379
- }
380
- return data;
381
- };
382
- UploadService.prototype.populateRemoveFormData = function (fileNames, clientData) {
383
- var data = new FormData();
384
- this.populateClientFormData(data, clientData);
385
- for (var _i = 0, fileNames_1 = fileNames; _i < fileNames_1.length; _i++) {
386
- var fileName = fileNames_1[_i];
387
- data.append(this.async.removeField, fileName);
388
- }
389
- return data;
390
- };
391
- UploadService.prototype.populateClientFormData = function (data, clientData) {
392
- for (var key in clientData) {
393
- if (clientData.hasOwnProperty(key)) {
394
- data.append(key, clientData[key]);
395
- }
396
- }
397
- };
398
- /* Chunking Helper Methods Section */
399
- UploadService.prototype.getNextChunk = function (file) {
400
- var info = this.getChunkInfo(file);
401
- var newPosition = info.position + this.chunk.size;
402
- return file.rawFile.slice(info.position, newPosition);
403
- };
404
- UploadService.prototype.getChunkInfo = function (file) {
405
- var chunkInfo = this.chunkMap.get(file.uid);
406
- if (!chunkInfo) {
407
- var totalChunks = Math.ceil(file.size / this.chunk.size);
408
- chunkInfo = this.chunkMap.add(file.uid, totalChunks);
409
- }
410
- return chunkInfo;
411
- };
412
- UploadService.prototype.updateChunkInfo = function (uid) {
413
- var chunkInfo = this.chunkMap.get(uid);
414
- if (chunkInfo.index < chunkInfo.totalChunks - 1) {
415
- chunkInfo.index += 1;
416
- chunkInfo.position += this.chunk.size;
417
- chunkInfo.retries = 0;
418
- }
419
- };
420
- UploadService.prototype.removeChunkInfo = function (uid) {
421
- this.chunkMap.remove(uid);
422
- };
423
- UploadService.prototype.getChunkMetadata = function (file) {
424
- var chunkInfo = this.chunkMap.get(file.uid);
425
- var chunkMetadata = {
426
- chunkIndex: chunkInfo.index,
427
- contentType: file.rawFile.type,
428
- fileName: file.name,
429
- fileSize: file.size,
430
- fileUid: file.uid,
431
- totalChunks: chunkInfo.totalChunks
432
- };
433
- return JSON.stringify(chunkMetadata);
434
- };
435
- UploadService.prototype.isChunkUploadComplete = function (uid) {
436
- var chunkInfo = this.chunkMap.get(uid);
437
- if (chunkInfo) {
438
- return chunkInfo.index + 1 === chunkInfo.totalChunks;
439
- }
440
- return false;
441
- };
442
- UploadService = tslib_1.__decorate([
443
- Injectable(),
444
- tslib_1.__metadata("design:paramtypes", [HttpClient])
445
- ], UploadService);
446
- return UploadService;
447
- }());
448
- export { UploadService };
@@ -1,47 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { NgModule } from '@angular/core';
7
- import { FileSelectModule } from './fileselect.module';
8
- import { UploadModule } from './upload.module';
9
- /**
10
- * Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
11
- * definition for the Uploads components.
12
- *
13
- * @example
14
- *
15
- * ```ts-no-run
16
- * import { UploadsModule } from '@progress/kendo-angular-upload';
17
- *
18
- * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
19
- * import { NgModule } from '@angular/core';
20
- *
21
- * import { AppComponent } from './app.component';
22
- *
23
- * _@NgModule({
24
- * declarations: [AppComponent],
25
- * imports: [BrowserModule, UploadsModule],
26
- * bootstrap: [AppComponent]
27
- * })
28
- * export class AppModule {}
29
- *
30
- * platformBrowserDynamic().bootstrapModule(AppModule);
31
- *
32
- * ```
33
- */
34
- var UploadsModule = /** @class */ (function () {
35
- function UploadsModule() {
36
- }
37
- UploadsModule = tslib_1.__decorate([
38
- NgModule({
39
- exports: [
40
- FileSelectModule,
41
- UploadModule
42
- ]
43
- })
44
- ], UploadsModule);
45
- return UploadsModule;
46
- }());
47
- export { UploadsModule };
@@ -1,100 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Component, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';
7
- import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
8
- import { DropZoneBase } from './dropzone-base';
9
- /* tslint:disable: no-use-before-declare */
10
- /**
11
- * Represents the [Kendo UI UploadDropZone component for Angular]({% slug overview_upload %}).
12
- */
13
- let UploadDropZoneComponent = class UploadDropZoneComponent extends DropZoneBase {
14
- constructor(element, renderer, localization) {
15
- super(element, renderer, 'k-external-dropzone-hover');
16
- this.localization = localization;
17
- this.hostClass = true;
18
- this.localizationChangeSubscription = this.localization.changes.subscribe(({ rtl }) => {
19
- this.direction = rtl ? 'rtl' : 'ltr';
20
- });
21
- }
22
- get dirAttribute() {
23
- return this.direction;
24
- }
25
- /**
26
- * @hidden
27
- */
28
- textFor(key) {
29
- return this.localization.get(key);
30
- }
31
- /**
32
- * @hidden
33
- */
34
- get iconClasses() {
35
- if (this.icon) {
36
- return `k-icon k-i-${this.icon}`;
37
- }
38
- if (this.iconClass) {
39
- return `${this.iconClass}`;
40
- }
41
- return 'k-icon k-i-upload';
42
- }
43
- ngOnDestroy() {
44
- if (this.localizationChangeSubscription) {
45
- this.localizationChangeSubscription.unsubscribe();
46
- }
47
- }
48
- };
49
- tslib_1.__decorate([
50
- HostBinding('class.k-external-dropzone'),
51
- tslib_1.__metadata("design:type", Boolean)
52
- ], UploadDropZoneComponent.prototype, "hostClass", void 0);
53
- tslib_1.__decorate([
54
- HostBinding('attr.dir'),
55
- tslib_1.__metadata("design:type", String),
56
- tslib_1.__metadata("design:paramtypes", [])
57
- ], UploadDropZoneComponent.prototype, "dirAttribute", null);
58
- tslib_1.__decorate([
59
- Input(),
60
- tslib_1.__metadata("design:type", String)
61
- ], UploadDropZoneComponent.prototype, "zoneId", void 0);
62
- tslib_1.__decorate([
63
- Input(),
64
- tslib_1.__metadata("design:type", String)
65
- ], UploadDropZoneComponent.prototype, "icon", void 0);
66
- tslib_1.__decorate([
67
- Input(),
68
- tslib_1.__metadata("design:type", String)
69
- ], UploadDropZoneComponent.prototype, "iconClass", void 0);
70
- UploadDropZoneComponent = tslib_1.__decorate([
71
- Component({
72
- exportAs: 'kendoUploadDropZone',
73
- providers: [
74
- LocalizationService,
75
- {
76
- provide: L10N_PREFIX,
77
- useValue: 'kendo.uploaddropzone'
78
- }
79
- ],
80
- selector: 'kendo-uploaddropzone',
81
- template: `
82
- <ng-container kendoUploadDropZoneLocalizedMessages
83
- i18n-externalDropFilesHere='kendo.uploaddropzone.externalDropFilesHere|Sets the external drop-zone hint'
84
- externalDropFilesHere='Drag and drop files here to upload'
85
- >
86
- </ng-container>
87
- <div class='k-dropzone-inner' [kendoUploadDropZone]="zoneId">
88
- <span [ngClass]="iconClasses"></span>
89
- <span class="k-dropzone-hint">{{ textFor('externalDropFilesHere') }}</span>
90
- <span class="k-dropzone-note">
91
- <ng-content></ng-content>
92
- </span>
93
- </div>
94
- `
95
- }),
96
- tslib_1.__metadata("design:paramtypes", [ElementRef,
97
- Renderer2,
98
- LocalizationService])
99
- ], UploadDropZoneComponent);
100
- export { UploadDropZoneComponent };
@@ -1,14 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export { CancelEvent } from './events/cancel-event';
6
- export { ClearEvent } from './events/clear-event';
7
- export { ErrorEvent } from './events/error-event';
8
- export { PauseEvent } from './events/pause-event';
9
- export { RemoveEvent } from './events/remove-event';
10
- export { ResumeEvent } from './events/resume-event';
11
- export { SelectEvent } from './events/select-event';
12
- export { SuccessEvent } from './events/success-event';
13
- export { UploadEvent } from './events/upload-event';
14
- export { UploadProgressEvent } from './events/upload-progress-event';