@rs-pk/asset-management 1.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 (176) hide show
  1. package/README.md +24 -0
  2. package/bundles/rs-pk-asset-management.umd.js +6474 -0
  3. package/bundles/rs-pk-asset-management.umd.js.map +1 -0
  4. package/bundles/rs-pk-asset-management.umd.min.js +16 -0
  5. package/bundles/rs-pk-asset-management.umd.min.js.map +1 -0
  6. package/esm2015/lib/asset-management.component.js +147 -0
  7. package/esm2015/lib/asset-management.module.js +179 -0
  8. package/esm2015/lib/asset-management.service.js +45 -0
  9. package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +143 -0
  10. package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +373 -0
  11. package/esm2015/lib/components/partial/asset-item/asset-item.component.js +165 -0
  12. package/esm2015/lib/components/partial/asset-list/asset-list.component.js +239 -0
  13. package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +108 -0
  14. package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +100 -0
  15. package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +115 -0
  16. package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +139 -0
  17. package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +148 -0
  18. package/esm2015/lib/components/partial/file-item/file-item.component.js +136 -0
  19. package/esm2015/lib/components/partial/file-list/file-list.component.js +72 -0
  20. package/esm2015/lib/components/partial/folder-item/folder-item.component.js +114 -0
  21. package/esm2015/lib/components/partial/folder-list/folder-list.component.js +69 -0
  22. package/esm2015/lib/components/partial/node-details/node-details.component.js +402 -0
  23. package/esm2015/lib/components/partial/node-tree/node-tree.component.js +330 -0
  24. package/esm2015/lib/components/partial/search-box/search-box.component.js +158 -0
  25. package/esm2015/lib/components/partial/sort-items/sort-items.component.js +99 -0
  26. package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +136 -0
  27. package/esm2015/lib/components/partial/upload-file/upload-file.component.js +102 -0
  28. package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +96 -0
  29. package/esm2015/lib/components/ui/input-file/input-file.component.js +49 -0
  30. package/esm2015/lib/components/ui/modal/modal.component.js +34 -0
  31. package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +41 -0
  32. package/esm2015/lib/configs/admin.config.js +22 -0
  33. package/esm2015/lib/contanst/data-image.js +12 -0
  34. package/esm2015/lib/contanst/index.js +6 -0
  35. package/esm2015/lib/datasources/index.js +6 -0
  36. package/esm2015/lib/datasources/node-tree.datasource.js +179 -0
  37. package/esm2015/lib/directives/dialogTrigger.directive.js +47 -0
  38. package/esm2015/lib/directives/directives.module.js +20 -0
  39. package/esm2015/lib/directives/dnd.directive.js +57 -0
  40. package/esm2015/lib/models/asset-file.model.js +57 -0
  41. package/esm2015/lib/models/asset.model.js +135 -0
  42. package/esm2015/lib/models/file-type.enum.js +11 -0
  43. package/esm2015/lib/models/file.model.js +91 -0
  44. package/esm2015/lib/models/index.js +12 -0
  45. package/esm2015/lib/models/node-tree.model.js +32 -0
  46. package/esm2015/lib/models/sort.enum.js +23 -0
  47. package/esm2015/lib/pipes/datetime.pipe.js +79 -0
  48. package/esm2015/lib/pipes/file-size.pipe.js +54 -0
  49. package/esm2015/lib/services/asset.service.js +224 -0
  50. package/esm2015/lib/services/base.service.js +49 -0
  51. package/esm2015/lib/services/env-config.service.js +18 -0
  52. package/esm2015/lib/services/file.service.js +106 -0
  53. package/esm2015/lib/services/index.js +11 -0
  54. package/esm2015/lib/services/node-tree.service.js +212 -0
  55. package/esm2015/lib/services/upload-assets.service.js +203 -0
  56. package/esm2015/lib/store/actions.action.js +125 -0
  57. package/esm2015/lib/store/index.js +7 -0
  58. package/esm2015/lib/store/reducer.js +115 -0
  59. package/esm2015/public-api.js +34 -0
  60. package/esm2015/rs-pk-asset-management.js +17 -0
  61. package/esm5/lib/asset-management.component.js +162 -0
  62. package/esm5/lib/asset-management.module.js +180 -0
  63. package/esm5/lib/asset-management.service.js +54 -0
  64. package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +161 -0
  65. package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +417 -0
  66. package/esm5/lib/components/partial/asset-item/asset-item.component.js +184 -0
  67. package/esm5/lib/components/partial/asset-list/asset-list.component.js +266 -0
  68. package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +123 -0
  69. package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +115 -0
  70. package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +138 -0
  71. package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +154 -0
  72. package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +166 -0
  73. package/esm5/lib/components/partial/file-item/file-item.component.js +151 -0
  74. package/esm5/lib/components/partial/file-list/file-list.component.js +93 -0
  75. package/esm5/lib/components/partial/folder-item/folder-item.component.js +126 -0
  76. package/esm5/lib/components/partial/folder-list/folder-list.component.js +82 -0
  77. package/esm5/lib/components/partial/node-details/node-details.component.js +443 -0
  78. package/esm5/lib/components/partial/node-tree/node-tree.component.js +413 -0
  79. package/esm5/lib/components/partial/search-box/search-box.component.js +184 -0
  80. package/esm5/lib/components/partial/sort-items/sort-items.component.js +107 -0
  81. package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +151 -0
  82. package/esm5/lib/components/partial/upload-file/upload-file.component.js +130 -0
  83. package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +117 -0
  84. package/esm5/lib/components/ui/input-file/input-file.component.js +55 -0
  85. package/esm5/lib/components/ui/modal/modal.component.js +39 -0
  86. package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +43 -0
  87. package/esm5/lib/configs/admin.config.js +22 -0
  88. package/esm5/lib/contanst/data-image.js +12 -0
  89. package/esm5/lib/contanst/index.js +6 -0
  90. package/esm5/lib/datasources/index.js +6 -0
  91. package/esm5/lib/datasources/node-tree.datasource.js +239 -0
  92. package/esm5/lib/directives/dialogTrigger.directive.js +53 -0
  93. package/esm5/lib/directives/directives.module.js +25 -0
  94. package/esm5/lib/directives/dnd.directive.js +80 -0
  95. package/esm5/lib/models/asset-file.model.js +69 -0
  96. package/esm5/lib/models/asset.model.js +154 -0
  97. package/esm5/lib/models/file-type.enum.js +11 -0
  98. package/esm5/lib/models/file.model.js +99 -0
  99. package/esm5/lib/models/index.js +12 -0
  100. package/esm5/lib/models/node-tree.model.js +37 -0
  101. package/esm5/lib/models/sort.enum.js +23 -0
  102. package/esm5/lib/pipes/datetime.pipe.js +83 -0
  103. package/esm5/lib/pipes/file-size.pipe.js +63 -0
  104. package/esm5/lib/services/asset.service.js +274 -0
  105. package/esm5/lib/services/base.service.js +57 -0
  106. package/esm5/lib/services/env-config.service.js +18 -0
  107. package/esm5/lib/services/file.service.js +127 -0
  108. package/esm5/lib/services/index.js +11 -0
  109. package/esm5/lib/services/node-tree.service.js +278 -0
  110. package/esm5/lib/services/upload-assets.service.js +260 -0
  111. package/esm5/lib/store/actions.action.js +143 -0
  112. package/esm5/lib/store/index.js +7 -0
  113. package/esm5/lib/store/reducer.js +116 -0
  114. package/esm5/public-api.js +34 -0
  115. package/esm5/rs-pk-asset-management.js +17 -0
  116. package/fesm2015/rs-pk-asset-management.js +5429 -0
  117. package/fesm2015/rs-pk-asset-management.js.map +1 -0
  118. package/fesm5/rs-pk-asset-management.js +6244 -0
  119. package/fesm5/rs-pk-asset-management.js.map +1 -0
  120. package/lib/asset-management.component.d.ts +21 -0
  121. package/lib/asset-management.module.d.ts +5 -0
  122. package/lib/asset-management.service.d.ts +7 -0
  123. package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +27 -0
  124. package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +52 -0
  125. package/lib/components/partial/asset-item/asset-item.component.d.ts +25 -0
  126. package/lib/components/partial/asset-list/asset-list.component.d.ts +22 -0
  127. package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +17 -0
  128. package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +19 -0
  129. package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +17 -0
  130. package/lib/components/partial/delete-dialog/delete-dialog.component.d.ts +24 -0
  131. package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +28 -0
  132. package/lib/components/partial/file-item/file-item.component.d.ts +27 -0
  133. package/lib/components/partial/file-list/file-list.component.d.ts +12 -0
  134. package/lib/components/partial/folder-item/folder-item.component.d.ts +14 -0
  135. package/lib/components/partial/folder-list/folder-list.component.d.ts +11 -0
  136. package/lib/components/partial/node-details/node-details.component.d.ts +29 -0
  137. package/lib/components/partial/node-tree/node-tree.component.d.ts +34 -0
  138. package/lib/components/partial/search-box/search-box.component.d.ts +18 -0
  139. package/lib/components/partial/sort-items/sort-items.component.d.ts +21 -0
  140. package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +24 -0
  141. package/lib/components/partial/upload-file/upload-file.component.d.ts +18 -0
  142. package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +15 -0
  143. package/lib/components/ui/input-file/input-file.component.d.ts +9 -0
  144. package/lib/components/ui/modal/modal.component.d.ts +7 -0
  145. package/lib/components/ui/search-not-found/search-not-found.component.d.ts +8 -0
  146. package/lib/configs/admin.config.d.ts +3 -0
  147. package/lib/contanst/data-image.d.ts +3 -0
  148. package/lib/contanst/index.d.ts +1 -0
  149. package/lib/datasources/index.d.ts +1 -0
  150. package/lib/datasources/node-tree.datasource.d.ts +24 -0
  151. package/lib/directives/dialogTrigger.directive.d.ts +7 -0
  152. package/lib/directives/directives.module.d.ts +5 -0
  153. package/lib/directives/dnd.directive.d.ts +7 -0
  154. package/lib/models/asset-file.model.d.ts +26 -0
  155. package/lib/models/asset.model.d.ts +61 -0
  156. package/lib/models/file-type.enum.d.ts +4 -0
  157. package/lib/models/file.model.d.ts +41 -0
  158. package/lib/models/index.d.ts +7 -0
  159. package/lib/models/node-tree.model.d.ts +9 -0
  160. package/lib/models/sort.enum.d.ts +9 -0
  161. package/lib/pipes/datetime.pipe.d.ts +13 -0
  162. package/lib/pipes/file-size.pipe.d.ts +5 -0
  163. package/lib/services/asset.service.d.ts +35 -0
  164. package/lib/services/base.service.d.ts +20 -0
  165. package/lib/services/env-config.service.d.ts +7 -0
  166. package/lib/services/file.service.d.ts +13 -0
  167. package/lib/services/index.d.ts +6 -0
  168. package/lib/services/node-tree.service.d.ts +24 -0
  169. package/lib/services/upload-assets.service.d.ts +42 -0
  170. package/lib/store/actions.action.d.ts +51 -0
  171. package/lib/store/index.d.ts +2 -0
  172. package/lib/store/reducer.d.ts +18 -0
  173. package/package.json +28 -0
  174. package/public-api.d.ts +26 -0
  175. package/rs-pk-asset-management.d.ts +12 -0
  176. package/rs-pk-asset-management.metadata.json +1 -0
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Inject } from '@angular/core';
6
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
7
+ import { takeUntil } from 'rxjs/operators';
8
+ import { Subject } from 'rxjs';
9
+ import { FileService } from '../../../services/file.service';
10
+ import { AssetService } from '../../../services/asset.service';
11
+ /**
12
+ * @record
13
+ */
14
+ function IData() { }
15
+ if (false) {
16
+ /** @type {?} */
17
+ IData.prototype.type;
18
+ /** @type {?} */
19
+ IData.prototype.ids;
20
+ /** @type {?|undefined} */
21
+ IData.prototype.name;
22
+ }
23
+ export class DeleteDialogComponent {
24
+ /**
25
+ * @param {?} data
26
+ * @param {?} dialogRef
27
+ * @param {?} fileService
28
+ * @param {?} assetService
29
+ */
30
+ constructor(data, dialogRef, fileService, assetService) {
31
+ this.data = data;
32
+ this.dialogRef = dialogRef;
33
+ this.fileService = fileService;
34
+ this.assetService = assetService;
35
+ this.isLoading = false;
36
+ this.destroy$ = new Subject();
37
+ }
38
+ /**
39
+ * @return {?}
40
+ */
41
+ ngOnInit() { }
42
+ /**
43
+ * @return {?}
44
+ */
45
+ delete() {
46
+ this.isLoading = true;
47
+ this.fileService
48
+ .deleteFile(this.data.ids)
49
+ .pipe(takeUntil(this.destroy$))
50
+ .subscribe((/**
51
+ * @param {?} _res
52
+ * @return {?}
53
+ */
54
+ (_res) => {
55
+ this.handleAssetPaging();
56
+ this.isLoading = false;
57
+ this.closeDialog(true);
58
+ }), (/**
59
+ * @param {?} _err
60
+ * @return {?}
61
+ */
62
+ (_err) => {
63
+ this.isLoading = false;
64
+ console.log('deleted fail', _err);
65
+ }));
66
+ }
67
+ /**
68
+ * @private
69
+ * @return {?}
70
+ */
71
+ handleAssetPaging() {
72
+ this.assetService
73
+ .getAssetList()
74
+ .pipe(takeUntil(this.destroy$))
75
+ .subscribe((/**
76
+ * @param {?} assets
77
+ * @return {?}
78
+ */
79
+ (assets) => {
80
+ if (assets &&
81
+ assets.length === this.data.ids.length &&
82
+ this.assetService.pageIndex > 0) {
83
+ this.assetService.pageIndex--;
84
+ }
85
+ }));
86
+ }
87
+ /**
88
+ * @param {?=} res
89
+ * @return {?}
90
+ */
91
+ closeDialog(res) {
92
+ this.dialogRef.close(res);
93
+ }
94
+ /**
95
+ * @return {?}
96
+ */
97
+ ngOnDestroy() {
98
+ this.destroy$.next(true);
99
+ this.destroy$.complete();
100
+ }
101
+ }
102
+ DeleteDialogComponent.decorators = [
103
+ { type: Component, args: [{
104
+ selector: 'lib-delete-dialog',
105
+ template: "<ng-container *ngIf=\"data?.type === 'folder'\">\n <lib-modal heading=\"Delete folder\">\n <ng-container content>\n <div>\n Are you sure you want to delete folder{{ ' ' }}\n <strong class=\"file__name\">{{ data.name }}</strong\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet=\"deleteAction\"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-container *ngIf=\"data?.type === 'file'\">\n <lib-modal heading=\"Delete file\">\n <ng-container content>\n <div>\n Are you sure you want to delete file{{ ' ' }}\n <strong class=\"file__name\">{{ ' ' }}{{ data.name }}</strong\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet=\"deleteAction\"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-container *ngIf=\"data?.type === 'files'\">\n <lib-modal heading=\"Delete files\">\n <ng-container content>\n <div>\n Are you sure you want to delete\n <strong *ngIf=\"data?.ids?.length > 1; else singular\"\n >{{ data?.ids?.length }} files</strong\n >\n <ng-template #singular>\n <strong>{{ data?.ids?.length }} file</strong> </ng-template\n >?\n </div>\n </ng-container>\n <ng-container actions *ngTemplateOutlet=\"deleteAction\"></ng-container>\n </lib-modal>\n</ng-container>\n\n<ng-template #deleteAction>\n <button mat-raised-button mat-dialog-close>No</button>\n <button\n mat-raised-button\n color=\"warn\"\n (click)=\"delete()\"\n class=\"file__button delete__action\"\n [class.loading]=\"isLoading\"\n [disabled]=\"isLoading\"\n >\n <ng-container *ngIf=\"isLoading\">\n <mat-spinner [diameter]=\"20\"></mat-spinner>\n </ng-container>\n <span>Yes</span>\n </button>\n</ng-template>\n",
106
+ styles: [""]
107
+ }] }
108
+ ];
109
+ /** @nocollapse */
110
+ DeleteDialogComponent.ctorParameters = () => [
111
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
112
+ { type: MatDialogRef },
113
+ { type: FileService },
114
+ { type: AssetService }
115
+ ];
116
+ if (false) {
117
+ /** @type {?} */
118
+ DeleteDialogComponent.prototype.isLoading;
119
+ /**
120
+ * @type {?}
121
+ * @private
122
+ */
123
+ DeleteDialogComponent.prototype.destroy$;
124
+ /** @type {?} */
125
+ DeleteDialogComponent.prototype.data;
126
+ /** @type {?} */
127
+ DeleteDialogComponent.prototype.dialogRef;
128
+ /**
129
+ * @type {?}
130
+ * @private
131
+ */
132
+ DeleteDialogComponent.prototype.fileService;
133
+ /**
134
+ * @type {?}
135
+ * @private
136
+ */
137
+ DeleteDialogComponent.prototype.assetService;
138
+ }
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvZGVsZXRlLWRpYWxvZy9kZWxldGUtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUUvRCxvQkFJQzs7O0lBSEMscUJBQWtDOztJQUNsQyxvQkFBYzs7SUFDZCxxQkFBYzs7QUFRaEIsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7OztJQUdoQyxZQUVTLElBQVcsRUFDWCxTQUE4QyxFQUM3QyxXQUF3QixFQUN4QixZQUEwQjtRQUgzQixTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ1gsY0FBUyxHQUFULFNBQVMsQ0FBcUM7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFQN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7SUFPaEQsQ0FBQzs7OztJQUVKLFFBQVEsS0FBSSxDQUFDOzs7O0lBRWIsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXO2FBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVM7Ozs7UUFDUixDQUFDLElBQXNCLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUM7Ozs7UUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUNGLENBQUM7SUFDTixDQUFDOzs7OztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsWUFBWTthQUNkLFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVM7Ozs7UUFBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQ0UsTUFBTTtnQkFDTixNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU07Z0JBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLENBQUMsRUFDL0I7Z0JBQ0EsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUMvQjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsR0FBYTtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBMURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixrekRBQTZDOzthQUU5Qzs7Ozs0Q0FLSSxNQUFNLFNBQUMsZUFBZTtZQXRCbEIsWUFBWTtZQUdaLFdBQVc7WUFFWCxZQUFZOzs7O0lBY25CLDBDQUF5Qjs7Ozs7SUFDekIseUNBQW1EOztJQUVqRCxxQ0FDa0I7O0lBQ2xCLDBDQUFxRDs7Ozs7SUFDckQsNENBQWdDOzs7OztJQUNoQyw2Q0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IElBc3NldERldGFpbHNSZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XG5cbmludGVyZmFjZSBJRGF0YSB7XG4gIHR5cGU6ICdmaWxlJyB8ICdmb2xkZXInIHwgJ2ZpbGVzJztcbiAgaWRzOiBzdHJpbmdbXTtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWRlbGV0ZS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVsZXRlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlbGV0ZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVsZXRlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YTogSURhdGEsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERlbGV0ZURpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSBmaWxlU2VydmljZTogRmlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhc3NldFNlcnZpY2U6IEFzc2V0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGRlbGV0ZSgpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5maWxlU2VydmljZVxuICAgICAgLmRlbGV0ZUZpbGUodGhpcy5kYXRhLmlkcylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChfcmVzOiBJQXNzZXREZXRhaWxzUmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVBc3NldFBhZ2luZygpO1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5jbG9zZURpYWxvZyh0cnVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKF9lcnIpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdkZWxldGVkIGZhaWwnLCBfZXJyKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQXNzZXRQYWdpbmcoKSB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgIC5nZXRBc3NldExpc3QoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoYXNzZXRzKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBhc3NldHMgJiZcbiAgICAgICAgICBhc3NldHMubGVuZ3RoID09PSB0aGlzLmRhdGEuaWRzLmxlbmd0aCAmJlxuICAgICAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VJbmRleCA+IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5hc3NldFNlcnZpY2UucGFnZUluZGV4LS07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgY2xvc2VEaWFsb2cocmVzPzogYm9vbGVhbikge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlcyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,148 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Inject } from '@angular/core';
6
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
7
+ import { takeUntil } from 'rxjs/operators';
8
+ import { Subject } from 'rxjs';
9
+ import { FileService } from '../../../services/file.service';
10
+ import { FormBuilder, FormControl, Validators, } from '@angular/forms';
11
+ /**
12
+ * @record
13
+ */
14
+ function IData() { }
15
+ if (false) {
16
+ /** @type {?} */
17
+ IData.prototype.assetId;
18
+ /** @type {?} */
19
+ IData.prototype.name;
20
+ }
21
+ export class EditFolderDialogComponent {
22
+ /**
23
+ * @param {?} fb
24
+ * @param {?} data
25
+ * @param {?} dialogRef
26
+ * @param {?} fileService
27
+ */
28
+ constructor(fb, data, dialogRef, fileService) {
29
+ this.fb = fb;
30
+ this.data = data;
31
+ this.dialogRef = dialogRef;
32
+ this.fileService = fileService;
33
+ this.isLoading = false;
34
+ this.errorMessage = '';
35
+ this.value = '';
36
+ this.destroy$ = new Subject();
37
+ this.form = new FormControl();
38
+ this.formGroup = this.fb.group({
39
+ name: [this.data.name, Validators.compose([Validators.required])],
40
+ });
41
+ }
42
+ /**
43
+ * @return {?}
44
+ */
45
+ ngOnInit() { }
46
+ /**
47
+ * @return {?}
48
+ */
49
+ get disabled() {
50
+ const { value: name } = this.formGroup.controls.name;
51
+ return (!name ||
52
+ !!this.errorMessage ||
53
+ name.toLowerCase().trim() === this.data.name.toLowerCase() ||
54
+ this.isLoading);
55
+ }
56
+ /**
57
+ * @param {?} _event
58
+ * @return {?}
59
+ */
60
+ onChange(_event) {
61
+ this.errorMessage = '';
62
+ }
63
+ /**
64
+ * @return {?}
65
+ */
66
+ editFolder() {
67
+ const { value: name } = this.formGroup.controls.name;
68
+ this.isLoading = true;
69
+ this.fileService
70
+ .updateFile({
71
+ assetId: this.data.assetId,
72
+ fileName: name.trim(),
73
+ })
74
+ .pipe(takeUntil(this.destroy$))
75
+ .subscribe((/**
76
+ * @param {?} _res
77
+ * @return {?}
78
+ */
79
+ (_res) => this.closeDialog(true)), (/**
80
+ * @param {?} err
81
+ * @return {?}
82
+ */
83
+ err => {
84
+ this.isLoading = false;
85
+ this.errorMessage = err.ResponseMessage;
86
+ }));
87
+ }
88
+ /**
89
+ * @param {?=} res
90
+ * @return {?}
91
+ */
92
+ closeDialog(res) {
93
+ this.dialogRef.close(res);
94
+ }
95
+ /**
96
+ * @return {?}
97
+ */
98
+ ngOnDestroy() {
99
+ this.destroy$.next(true);
100
+ this.destroy$.complete();
101
+ }
102
+ }
103
+ EditFolderDialogComponent.decorators = [
104
+ { type: Component, args: [{
105
+ selector: 'lib-edit-folder-dialog',
106
+ template: "<lib-modal heading=\"Rename folder\">\n <ng-container content>\n <form (ngSubmit)=\"editFolder()\" [formGroup]=\"formGroup\" #form=\"ngForm\">\n <input\n matInput\n required\n autocomplete=\"off\"\n formControlName=\"name\"\n (input)=\"onChange($event)\"\n placeholder=\"Enter your folder name\"\n pattern=\".*\\S+.*\"\n />\n <mat-error *ngIf=\"formGroup?.controls?.name?.errors?.pattern\">\n This field does not allow only whitespace\n </mat-error>\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage }}</mat-error>\n </form>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"editFolder()\"\n [class.loading]=\"isLoading\"\n [disabled]=\"disabled || formGroup?.controls?.name?.errors?.pattern\"\n >\n <ng-container *ngIf=\"isLoading\">\n <mat-spinner [diameter]=\"20\"></mat-spinner>\n </ng-container>\n <span>Update</span>\n </button>\n </ng-container>\n</lib-modal>\n",
107
+ styles: [":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]
108
+ }] }
109
+ ];
110
+ /** @nocollapse */
111
+ EditFolderDialogComponent.ctorParameters = () => [
112
+ { type: FormBuilder },
113
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
114
+ { type: MatDialogRef },
115
+ { type: FileService }
116
+ ];
117
+ if (false) {
118
+ /** @type {?} */
119
+ EditFolderDialogComponent.prototype.isLoading;
120
+ /** @type {?} */
121
+ EditFolderDialogComponent.prototype.errorMessage;
122
+ /** @type {?} */
123
+ EditFolderDialogComponent.prototype.value;
124
+ /**
125
+ * @type {?}
126
+ * @private
127
+ */
128
+ EditFolderDialogComponent.prototype.destroy$;
129
+ /** @type {?} */
130
+ EditFolderDialogComponent.prototype.formGroup;
131
+ /** @type {?} */
132
+ EditFolderDialogComponent.prototype.form;
133
+ /**
134
+ * @type {?}
135
+ * @private
136
+ */
137
+ EditFolderDialogComponent.prototype.fb;
138
+ /** @type {?} */
139
+ EditFolderDialogComponent.prototype.data;
140
+ /** @type {?} */
141
+ EditFolderDialogComponent.prototype.dialogRef;
142
+ /**
143
+ * @type {?}
144
+ * @private
145
+ */
146
+ EditFolderDialogComponent.prototype.fileService;
147
+ }
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9lZGl0LWZvbGRlci1kaWFsb2cvZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdELE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUVYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXhCLG9CQUdDOzs7SUFGQyx3QkFBZ0I7O0lBQ2hCLHFCQUFhOztBQVFmLE1BQU0sT0FBTyx5QkFBeUI7Ozs7Ozs7SUFPcEMsWUFDVSxFQUFlLEVBQ1MsSUFBVyxFQUNwQyxTQUFrRCxFQUNqRCxXQUF3QjtRQUh4QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ1MsU0FBSSxHQUFKLElBQUksQ0FBTztRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUF5QztRQUNqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVYzQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFNUMsU0FBSSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBTzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xFLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxRQUFRLEtBQUksQ0FBQzs7OztJQUViLElBQUksUUFBUTtjQUNKLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUk7UUFDcEQsT0FBTyxDQUNMLENBQUMsSUFBSTtZQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzFELElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztJQUNKLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLE1BQWE7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7OztJQUVELFVBQVU7Y0FDRixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXO2FBQ2IsVUFBVSxDQUFDO1lBQ1YsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUN0QixDQUFDO2FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUNSLENBQUMsSUFBc0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Ozs7UUFDbEQsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDMUMsQ0FBQyxFQUNGLENBQUM7SUFDTixDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxHQUFhO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUFoRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLDRuQ0FBa0Q7O2FBRW5EOzs7O1lBZkMsV0FBVzs0Q0F5QlIsTUFBTSxTQUFDLGVBQWU7WUEvQmxCLFlBQVk7WUFHWixXQUFXOzs7O0lBb0JsQiw4Q0FBeUI7O0lBQ3pCLGlEQUF5Qjs7SUFDekIsMENBQWtCOzs7OztJQUNsQiw2Q0FBbUQ7O0lBQ25ELDhDQUE0Qjs7SUFDNUIseUNBQTZDOzs7OztJQUUzQyx1Q0FBdUI7O0lBQ3ZCLHlDQUEyQzs7SUFDM0MsOENBQXlEOzs7OztJQUN6RCxnREFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IElBc3NldFVwZGF0ZWRSZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW50ZXJmYWNlIElEYXRhIHtcbiAgYXNzZXRJZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1lZGl0LWZvbGRlci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRGb2xkZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgdmFsdWUgPSAnJztcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgcHVibGljIGZvcm06IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogSURhdGEsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEVkaXRGb2xkZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgZmlsZVNlcnZpY2U6IEZpbGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5kYXRhLm5hbWUsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgY29uc3QgeyB2YWx1ZTogbmFtZSB9ID0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHMubmFtZTtcbiAgICByZXR1cm4gKFxuICAgICAgIW5hbWUgfHxcbiAgICAgICEhdGhpcy5lcnJvck1lc3NhZ2UgfHxcbiAgICAgIG5hbWUudG9Mb3dlckNhc2UoKS50cmltKCkgPT09IHRoaXMuZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkgfHxcbiAgICAgIHRoaXMuaXNMb2FkaW5nXG4gICAgKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKF9ldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuICB9XG5cbiAgZWRpdEZvbGRlcigpIHtcbiAgICBjb25zdCB7IHZhbHVlOiBuYW1lIH0gPSB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5uYW1lO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmZpbGVTZXJ2aWNlXG4gICAgICAudXBkYXRlRmlsZSh7XG4gICAgICAgIGFzc2V0SWQ6IHRoaXMuZGF0YS5hc3NldElkLFxuICAgICAgICBmaWxlTmFtZTogbmFtZS50cmltKCksXG4gICAgICB9KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKF9yZXM6IElBc3NldFVwZGF0ZWRSZXMpID0+IHRoaXMuY2xvc2VEaWFsb2codHJ1ZSksXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVyci5SZXNwb25zZU1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBjbG9zZURpYWxvZyhyZXM/OiBib29sZWFuKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,136 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Output, Input, EventEmitter } from '@angular/core';
6
+ import { UploadAssetsService } from '../../../services/upload-assets.service';
7
+ import { imagePdf } from '../../../contanst';
8
+ import { DomSanitizer } from '@angular/platform-browser';
9
+ export class FileItemComponent {
10
+ /**
11
+ * @param {?} domSanitizer
12
+ * @param {?} uploadAssetService
13
+ */
14
+ constructor(domSanitizer, uploadAssetService) {
15
+ this.domSanitizer = domSanitizer;
16
+ this.uploadAssetService = uploadAssetService;
17
+ this.base64Pdf = this.domSanitizer.bypassSecurityTrustUrl(imagePdf);
18
+ this.checkError = new EventEmitter();
19
+ this.fileChange = new EventEmitter();
20
+ this.fileRemove = new EventEmitter();
21
+ this.dataFile = {
22
+ name: '',
23
+ size: 0,
24
+ ext: '',
25
+ data: null,
26
+ errors: {
27
+ ext: false,
28
+ size: false,
29
+ },
30
+ };
31
+ }
32
+ /**
33
+ * @return {?}
34
+ */
35
+ ngOnInit() {
36
+ this.setDataFile(this.file);
37
+ }
38
+ /**
39
+ * @private
40
+ * @param {?} file
41
+ * @return {?}
42
+ */
43
+ setDataFile(file) {
44
+ const { supportedTypes, supportedSize } = this.uploadAssetService;
45
+ /** @type {?} */
46
+ const nameSplit = file.name.split('.');
47
+ nameSplit.splice(nameSplit.length - 1, 1);
48
+ this.dataFile.name = nameSplit.join('.');
49
+ this.dataFile.size = file.size;
50
+ this.dataFile.ext = file.type.split('/')[1];
51
+ this.dataFile.errors = {
52
+ ext: supportedTypes.indexOf(`.${this.dataFile.ext}`) < 0,
53
+ size: supportedSize < this.dataFile.size,
54
+ };
55
+ const { ext, size } = this.dataFile.errors;
56
+ if (ext || size) {
57
+ this.uploadAssetService.errors = { [file.name]: true };
58
+ this.checkError.emit();
59
+ }
60
+ if (file.type.indexOf('image') > -1) {
61
+ /** @type {?} */
62
+ const reader = new FileReader();
63
+ reader.readAsDataURL(file);
64
+ reader.onload = (/**
65
+ * @param {?} readerEvent
66
+ * @return {?}
67
+ */
68
+ (readerEvent) => {
69
+ /** @type {?} */
70
+ const img = document.createElement('img');
71
+ img.src = (/** @type {?} */ (readerEvent.target.result));
72
+ img.onload = (/**
73
+ * @return {?}
74
+ */
75
+ () => {
76
+ this.dataFile.data = this.domSanitizer.bypassSecurityTrustUrl(readerEvent.target.result);
77
+ });
78
+ });
79
+ }
80
+ this.uploadAssetService.setErrorObs(this.uploadAssetService.errorFiles);
81
+ }
82
+ /**
83
+ * @param {?} event
84
+ * @return {?}
85
+ */
86
+ onChange(event) {
87
+ this.dataFile.name = ((/** @type {?} */ (event.target))).value.trim();
88
+ this.fileChange.emit(this.dataFile.name);
89
+ }
90
+ /**
91
+ * @return {?}
92
+ */
93
+ onRemove() {
94
+ this.fileRemove.emit(true);
95
+ }
96
+ }
97
+ FileItemComponent.decorators = [
98
+ { type: Component, args: [{
99
+ selector: 'lib-file-item',
100
+ template: "<div class=\"file-item__img\">\n <ng-container\n *ngIf=\"\n file.type.indexOf('image') > -1 || dataFile.ext === 'pdf';\n else defaultFile\n \"\n >\n <img\n [class.image]=\"file.type.indexOf('image') > -1\"\n *ngIf=\"dataFile.ext === 'pdf' || dataFile.data\"\n [src]=\"dataFile.ext === 'pdf' ? base64Pdf : dataFile.data\"\n />\n </ng-container>\n <ng-template #defaultFile>\n <mat-icon>attach_file</mat-icon>\n </ng-template>\n</div>\n<div class=\"file-item__content\">\n <input\n class=\"file-item__content--name\"\n matInput\n placeholder=\"Enter file name\"\n [value]=\"dataFile.name\"\n required\n (input)=\"onChange($event)\"\n />\n <div class=\"file-item__content--info\">\n <div class=\"file-item__content--info__item\">\n Type of file: <span>{{ dataFile.ext }}</span>\n </div>\n <div class=\"file-item__content--info__item\">\n Size: <span>{{ dataFile.size | fileSize }}</span>\n </div>\n </div>\n <div *ngIf=\"dataFile.errors.ext\" class=\"file-item__error\">\n {{ uploadAssetService.messageErrors['ext'] }}\n {{ uploadAssetService.supportedTypes.join(', ') }}\n </div>\n <div *ngIf=\"dataFile.errors.size\" class=\"file-item__error\">\n {{ uploadAssetService.messageErrors['size'] }}\n {{ uploadAssetService.supportedSize | fileSize: 0 }}\n </div>\n</div>\n<div class=\"file-item__action\">\n <mat-icon (click)=\"onRemove()\">delete_outline</mat-icon>\n</div>\n",
101
+ styles: [":host::ng-deep{padding:10px 5%;display:flex;justify-content:space-between;align-items:center;background-color:#f9f9f9;border-radius:10px}:host::ng-deep .file-item__img{display:flex;justify-content:center;align-items:center;width:250px;height:150px;border-radius:10px}:host::ng-deep .file-item__img img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}:host::ng-deep .file-item__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-item__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-item__content{flex:1;padding-left:5%;padding-right:5%}:host::ng-deep .file-item__content--name{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .file-item__content--info{margin-top:10px;display:flex}:host::ng-deep .file-item__content--info__item:not(:last-child){margin-right:50px}:host::ng-deep .file-item__content--info__item span{color:#000;text-transform:uppercase}:host::ng-deep .file-item__error{margin-top:10px;color:#f44336}:host::ng-deep .file-item__action{color:#f44336;cursor:pointer}"]
102
+ }] }
103
+ ];
104
+ /** @nocollapse */
105
+ FileItemComponent.ctorParameters = () => [
106
+ { type: DomSanitizer },
107
+ { type: UploadAssetsService }
108
+ ];
109
+ FileItemComponent.propDecorators = {
110
+ file: [{ type: Input }],
111
+ checkError: [{ type: Output }],
112
+ fileChange: [{ type: Output }],
113
+ fileRemove: [{ type: Output }]
114
+ };
115
+ if (false) {
116
+ /** @type {?} */
117
+ FileItemComponent.prototype.base64Pdf;
118
+ /** @type {?} */
119
+ FileItemComponent.prototype.file;
120
+ /** @type {?} */
121
+ FileItemComponent.prototype.checkError;
122
+ /** @type {?} */
123
+ FileItemComponent.prototype.fileChange;
124
+ /** @type {?} */
125
+ FileItemComponent.prototype.fileRemove;
126
+ /** @type {?} */
127
+ FileItemComponent.prototype.dataFile;
128
+ /**
129
+ * @type {?}
130
+ * @private
131
+ */
132
+ FileItemComponent.prototype.domSanitizer;
133
+ /** @type {?} */
134
+ FileItemComponent.prototype.uploadAssetService;
135
+ }
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9maWxlLWl0ZW0vZmlsZS1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBTWxFLE1BQU0sT0FBTyxpQkFBaUI7Ozs7O0lBaUI1QixZQUNVLFlBQTBCLEVBQzNCLGtCQUF1QztRQUR0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXFCO1FBbEJ6QyxjQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxhQUFRLEdBQUc7WUFDaEIsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsQ0FBQztZQUNQLEdBQUcsRUFBRSxFQUFFO1lBQ1AsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUU7Z0JBQ04sR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsSUFBSSxFQUFFLEtBQUs7YUFDWjtTQUNGLENBQUM7SUFLQyxDQUFDOzs7O0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxD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OztZQUxRLFlBQVk7WUFGWixtQkFBbUI7OzttQkFVekIsS0FBSzt5QkFDTCxNQUFNO3lCQUNOLE1BQU07eUJBQ04sTUFBTTs7OztJQUpQLHNDQUFzRTs7SUFDdEUsaUNBQW9COztJQUNwQix1Q0FBMEM7O0lBQzFDLHVDQUEwQzs7SUFDMUMsdUNBQTBDOztJQUMxQyxxQ0FTRTs7Ozs7SUFHQSx5Q0FBa0M7O0lBQ2xDLCtDQUE4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVwbG9hZEFzc2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91cGxvYWQtYXNzZXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgaW1hZ2VQZGYgfSBmcm9tICcuLi8uLi8uLi9jb250YW5zdCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1maWxlLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGJhc2U2NFBkZiA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoaW1hZ2VQZGYpO1xuICBASW5wdXQoKSBmaWxlOiBGaWxlO1xuICBAT3V0cHV0KCkgY2hlY2tFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZpbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBmaWxlUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwdWJsaWMgZGF0YUZpbGUgPSB7XG4gICAgbmFtZTogJycsXG4gICAgc2l6ZTogMCxcbiAgICBleHQ6ICcnLFxuICAgIGRhdGE6IG51bGwsXG4gICAgZXJyb3JzOiB7XG4gICAgICBleHQ6IGZhbHNlLFxuICAgICAgc2l6ZTogZmFsc2UsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHB1YmxpYyB1cGxvYWRBc3NldFNlcnZpY2U6IFVwbG9hZEFzc2V0c1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0RGF0YUZpbGUodGhpcy5maWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGF0YUZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIGNvbnN0IHsgc3VwcG9ydGVkVHlwZXMsIHN1cHBvcnRlZFNpemUgfSA9IHRoaXMudXBsb2FkQXNzZXRTZXJ2aWNlO1xuICAgIGNvbnN0IG5hbWVTcGxpdCA9IGZpbGUubmFtZS5zcGxpdCgnLicpO1xuICAgIG5hbWVTcGxpdC5zcGxpY2UobmFtZVNwbGl0Lmxlbmd0aCAtIDEsIDEpO1xuICAgIHRoaXMuZGF0YUZpbGUubmFtZSA9IG5hbWVTcGxpdC5qb2luKCcuJyk7XG4gICAgdGhpcy5kYXRhRmlsZS5zaXplID0gZmlsZS5zaXplO1xuICAgIHRoaXMuZGF0YUZpbGUuZXh0ID0gZmlsZS50eXBlLnNwbGl0KCcvJylbMV07XG4gICAgdGhpcy5kYXRhRmlsZS5lcnJvcnMgPSB7XG4gICAgICBleHQ6IHN1cHBvcnRlZFR5cGVzLmluZGV4T2YoYC4ke3RoaXMuZGF0YUZpbGUuZXh0fWApIDwgMCxcbiAgICAgIHNpemU6IHN1cHBvcnRlZFNpemUgPCB0aGlzLmRhdGFGaWxlLnNpemUsXG4gICAgfTtcblxuICAgIGNvbnN0IHsgZXh0LCBzaXplIH0gPSB0aGlzLmRhdGFGaWxlLmVycm9ycztcbiAgICBpZiAoZXh0IHx8IHNpemUpIHtcbiAgICAgIHRoaXMudXBsb2FkQXNzZXRTZXJ2aWNlLmVycm9ycyA9IHsgW2ZpbGUubmFtZV06IHRydWUgfTtcbiAgICAgIHRoaXMuY2hlY2tFcnJvci5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbGUudHlwZS5pbmRleE9mKCdpbWFnZScpID4gLTEpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAocmVhZGVyRXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcbiAgICAgICAgaW1nLnNyYyA9IHJlYWRlckV2ZW50LnRhcmdldC5yZXN1bHQgYXMgc3RyaW5nO1xuXG4gICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kYXRhRmlsZS5kYXRhID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChcbiAgICAgICAgICAgIHJlYWRlckV2ZW50LnRhcmdldC5yZXN1bHRcbiAgICAgICAgICApO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLnVwbG9hZEFzc2V0U2VydmljZS5zZXRFcnJvck9icyh0aGlzLnVwbG9hZEFzc2V0U2VydmljZS5lcnJvckZpbGVzKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZGF0YUZpbGUubmFtZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUudHJpbSgpO1xuICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KHRoaXMuZGF0YUZpbGUubmFtZSk7XG4gIH1cblxuICBvblJlbW92ZSgpIHtcbiAgICB0aGlzLmZpbGVSZW1vdmUuZW1pdCh0cnVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Output, EventEmitter } from '@angular/core';
6
+ import { UploadAssetsService } from '../../../services/upload-assets.service';
7
+ export class FileListComponent {
8
+ /**
9
+ * @param {?} uploadAssetsService
10
+ */
11
+ constructor(uploadAssetsService) {
12
+ this.uploadAssetsService = uploadAssetsService;
13
+ this.revalidate = new EventEmitter();
14
+ }
15
+ /**
16
+ * @return {?}
17
+ */
18
+ ngOnInit() { }
19
+ /**
20
+ * @param {?} newFiles
21
+ * @return {?}
22
+ */
23
+ onFileChange(newFiles) {
24
+ const { getFiles: files } = this.uploadAssetsService;
25
+ this.uploadAssetsService.setFiles = [...files, ...newFiles];
26
+ ((/** @type {?} */ (document.getElementById('file-import')))).value = '';
27
+ }
28
+ /**
29
+ * @param {?} fileName
30
+ * @param {?} index
31
+ * @return {?}
32
+ */
33
+ onDelFile(fileName, index) {
34
+ this.uploadAssetsService.deleteFile(fileName, index);
35
+ this.revalidate.emit(this.uploadAssetsService.errorFiles);
36
+ }
37
+ /**
38
+ * @param {?} newName
39
+ * @param {?} originName
40
+ * @return {?}
41
+ */
42
+ onChangeName(newName, originName) {
43
+ this.uploadAssetsService.newName = { [originName]: newName };
44
+ }
45
+ /**
46
+ * @return {?}
47
+ */
48
+ onEmitError() {
49
+ this.revalidate.emit(this.uploadAssetsService.errorFiles);
50
+ }
51
+ }
52
+ FileListComponent.decorators = [
53
+ { type: Component, args: [{
54
+ selector: 'lib-file-list',
55
+ template: "<div class=\"file-list__heading\">\n <div class=\"file-list__info\">\n <h4 class=\"file-list__info--title\">\n <span *ngIf=\"!uploadAssetsService.errorLength\">\n {{\n uploadAssetsService?.getFiles?.length -\n uploadAssetsService.errorLength\n }}\n {{ uploadAssetsService?.getFiles?.length > 1 ? 'assets' : 'asset' }}\n ready to upload\n </span>\n <span *ngIf=\"uploadAssetsService.errorLength\">\n {{ uploadAssetsService.errorLength }}\n {{ uploadAssetsService.errorLength > 1 ? 'assets' : 'asset' }}\n invalid, please remove it before upload</span\n >\n </h4>\n <div class=\"file-list__info--desc\">\n Manage the assets before adding them to the Media Library\n </div>\n </div>\n <lib-input-file\n [acceptTypes]=\"uploadAssetsService?.supportedTypes?.join(', ')\"\n (onFileChange)=\"onFileChange($event)\"\n color=\"primary\"\n >\n <span>Add new assets</span>\n </lib-input-file>\n</div>\n<div class=\"file-list\">\n <lib-file-item\n *ngFor=\"let file of uploadAssetsService?.getFiles; let i = index\"\n [file]=\"file\"\n (checkError)=\"onEmitError()\"\n (fileRemove)=\"onDelFile(file.name, i)\"\n (fileChange)=\"onChangeName($event, file.name)\"\n ></lib-file-item>\n</div>\n",
56
+ styles: [":host::ng-deep .file-list{padding-top:15px}:host::ng-deep .file-list__heading{display:flex;justify-content:space-between;align-items:center;padding-top:15px;padding-bottom:15px;position:-webkit-sticky;position:sticky;top:0;background-color:#fff}:host::ng-deep .file-list__info--title{font-size:16px;margin-bottom:5px;color:#000}:host::ng-deep lib-file-item{margin-bottom:20px}"]
57
+ }] }
58
+ ];
59
+ /** @nocollapse */
60
+ FileListComponent.ctorParameters = () => [
61
+ { type: UploadAssetsService }
62
+ ];
63
+ FileListComponent.propDecorators = {
64
+ revalidate: [{ type: Output }]
65
+ };
66
+ if (false) {
67
+ /** @type {?} */
68
+ FileListComponent.prototype.revalidate;
69
+ /** @type {?} */
70
+ FileListComponent.prototype.uploadAssetsService;
71
+ }
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9maWxlLWxpc3QvZmlsZS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBTzlFLE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUFFNUIsWUFBbUIsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFEakQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDb0IsQ0FBQzs7OztJQUUvRCxRQUFRLEtBQUksQ0FBQzs7Ozs7SUFFYixZQUFZLENBQUMsUUFBZ0I7Y0FDckIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtRQUNwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxLQUFLLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM1RCxDQUFDLG1CQUFBLFFBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQW9CLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQzFFLENBQUM7Ozs7OztJQUVELFNBQVMsQ0FBQyxRQUFnQixFQUFFLEtBQWE7UUFDdkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVELENBQUM7Ozs7OztJQUVELFlBQVksQ0FBQyxPQUFlLEVBQUUsVUFBa0I7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDL0QsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7O1lBNUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsa3pDQUF5Qzs7YUFFMUM7Ozs7WUFOUSxtQkFBbUI7Ozt5QkFRekIsTUFBTTs7OztJQUFQLHVDQUEwQzs7SUFDOUIsZ0RBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcGxvYWRBc3NldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXBsb2FkLWFzc2V0cy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZpbGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgcmV2YWxpZGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgY29uc3RydWN0b3IocHVibGljIHVwbG9hZEFzc2V0c1NlcnZpY2U6IFVwbG9hZEFzc2V0c1NlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG9uRmlsZUNoYW5nZShuZXdGaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgY29uc3QgeyBnZXRGaWxlczogZmlsZXMgfSA9IHRoaXMudXBsb2FkQXNzZXRzU2VydmljZTtcbiAgICB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2Uuc2V0RmlsZXMgPSBbLi4uZmlsZXMsIC4uLm5ld0ZpbGVzXTtcbiAgICAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGUtaW1wb3J0JykgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSAnJztcbiAgfVxuXG4gIG9uRGVsRmlsZShmaWxlTmFtZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlLmRlbGV0ZUZpbGUoZmlsZU5hbWUsIGluZGV4KTtcbiAgICB0aGlzLnJldmFsaWRhdGUuZW1pdCh0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2UuZXJyb3JGaWxlcyk7XG4gIH1cblxuICBvbkNoYW5nZU5hbWUobmV3TmFtZTogc3RyaW5nLCBvcmlnaW5OYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2UubmV3TmFtZSA9IHsgW29yaWdpbk5hbWVdOiBuZXdOYW1lIH07XG4gIH1cblxuICBvbkVtaXRFcnJvcigpOiB2b2lkIHtcbiAgICB0aGlzLnJldmFsaWRhdGUuZW1pdCh0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2UuZXJyb3JGaWxlcyk7XG4gIH1cbn1cbiJdfQ==