sk-front-lib 0.16.1 → 0.16.2

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 (235) hide show
  1. package/package.json +1 -65
  2. package/api/model/api-config.d.ts +0 -6
  3. package/api/model/api-pageable-param.d.ts +0 -11
  4. package/api/model/api-pageable.d.ts +0 -11
  5. package/api/model/api-response.d.ts +0 -8
  6. package/api/model/index.d.ts +0 -4
  7. package/api/package.json +0 -10
  8. package/api/public_api.d.ts +0 -3
  9. package/api/sk-api.module.d.ts +0 -12
  10. package/api/sk-api.service.d.ts +0 -34
  11. package/api/sk-front-lib-api.d.ts +0 -5
  12. package/article/package.json +0 -10
  13. package/article/public_api.d.ts +0 -6
  14. package/article/sk-article-editor-server.component.d.ts +0 -23
  15. package/article/sk-article-editor.component.d.ts +0 -27
  16. package/article/sk-article-server.module.d.ts +0 -10
  17. package/article/sk-article.module.d.ts +0 -9
  18. package/article/sk-article.service.d.ts +0 -96
  19. package/article/sk-froala-editor.directive.d.ts +0 -40
  20. package/article/sk-front-lib-article.d.ts +0 -5
  21. package/crud/package.json +0 -10
  22. package/crud/public_api.d.ts +0 -23
  23. package/crud/sk-account.service.d.ts +0 -16
  24. package/crud/sk-auth-admin.guard.d.ts +0 -13
  25. package/crud/sk-auth.guard.d.ts +0 -13
  26. package/crud/sk-auth.service.d.ts +0 -33
  27. package/crud/sk-board.service.d.ts +0 -21
  28. package/crud/sk-brand.service.d.ts +0 -19
  29. package/crud/sk-cart.service.d.ts +0 -72
  30. package/crud/sk-category.service.d.ts +0 -28
  31. package/crud/sk-comment.service.d.ts +0 -15
  32. package/crud/sk-config.service.d.ts +0 -13
  33. package/crud/sk-contact.service.d.ts +0 -15
  34. package/crud/sk-coupon.service.d.ts +0 -24
  35. package/crud/sk-document.service.d.ts +0 -47
  36. package/crud/sk-etc.service.d.ts +0 -12
  37. package/crud/sk-file.service.d.ts +0 -18
  38. package/crud/sk-front-lib-crud.d.ts +0 -5
  39. package/crud/sk-keyword.service.d.ts +0 -19
  40. package/crud/sk-order.service.d.ts +0 -45
  41. package/crud/sk-point.service.d.ts +0 -17
  42. package/crud/sk-product.service.d.ts +0 -80
  43. package/crud/sk-promotion.service.d.ts +0 -41
  44. package/crud/sk-search.service.d.ts +0 -12
  45. package/crud/sk-store.service.d.ts +0 -17
  46. package/crud/sk-user.service.d.ts +0 -25
  47. package/esm2020/api/model/api-config.mjs +0 -2
  48. package/esm2020/api/model/api-pageable-param.mjs +0 -29
  49. package/esm2020/api/model/api-pageable.mjs +0 -3
  50. package/esm2020/api/model/api-response.mjs +0 -3
  51. package/esm2020/api/model/index.mjs +0 -4
  52. package/esm2020/api/public_api.mjs +0 -4
  53. package/esm2020/api/sk-api.module.mjs +0 -35
  54. package/esm2020/api/sk-api.service.mjs +0 -145
  55. package/esm2020/api/sk-front-lib-api.mjs +0 -5
  56. package/esm2020/article/public_api.mjs +0 -7
  57. package/esm2020/article/sk-article-editor-server.component.mjs +0 -51
  58. package/esm2020/article/sk-article-editor.component.mjs +0 -93
  59. package/esm2020/article/sk-article-server.module.mjs +0 -33
  60. package/esm2020/article/sk-article.module.mjs +0 -32
  61. package/esm2020/article/sk-article.service.mjs +0 -248
  62. package/esm2020/article/sk-froala-editor.directive.mjs +0 -325
  63. package/esm2020/article/sk-front-lib-article.mjs +0 -5
  64. package/esm2020/crud/public_api.mjs +0 -24
  65. package/esm2020/crud/sk-account.service.mjs +0 -36
  66. package/esm2020/crud/sk-auth-admin.guard.mjs +0 -31
  67. package/esm2020/crud/sk-auth.guard.mjs +0 -31
  68. package/esm2020/crud/sk-auth.service.mjs +0 -67
  69. package/esm2020/crud/sk-board.service.mjs +0 -54
  70. package/esm2020/crud/sk-brand.service.mjs +0 -46
  71. package/esm2020/crud/sk-cart.service.mjs +0 -255
  72. package/esm2020/crud/sk-category.service.mjs +0 -63
  73. package/esm2020/crud/sk-comment.service.mjs +0 -43
  74. package/esm2020/crud/sk-config.service.mjs +0 -31
  75. package/esm2020/crud/sk-contact.service.mjs +0 -39
  76. package/esm2020/crud/sk-coupon.service.mjs +0 -62
  77. package/esm2020/crud/sk-document.service.mjs +0 -98
  78. package/esm2020/crud/sk-etc.service.mjs +0 -25
  79. package/esm2020/crud/sk-file.service.mjs +0 -37
  80. package/esm2020/crud/sk-front-lib-crud.mjs +0 -5
  81. package/esm2020/crud/sk-keyword.service.mjs +0 -46
  82. package/esm2020/crud/sk-order.service.mjs +0 -133
  83. package/esm2020/crud/sk-point.service.mjs +0 -45
  84. package/esm2020/crud/sk-product.service.mjs +0 -156
  85. package/esm2020/crud/sk-promotion.service.mjs +0 -84
  86. package/esm2020/crud/sk-search.service.mjs +0 -25
  87. package/esm2020/crud/sk-store.service.mjs +0 -47
  88. package/esm2020/crud/sk-user.service.mjs +0 -73
  89. package/esm2020/google-analytics/google-analytics-router.module.mjs +0 -30
  90. package/esm2020/google-analytics/google-analytics.module.mjs +0 -40
  91. package/esm2020/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -24
  92. package/esm2020/google-analytics/initializers/google-analytics.initializer.mjs +0 -46
  93. package/esm2020/google-analytics/interfaces/google-analytics-command.mjs +0 -2
  94. package/esm2020/google-analytics/interfaces/google-analytics-settings.mjs +0 -2
  95. package/esm2020/google-analytics/public_api.mjs +0 -11
  96. package/esm2020/google-analytics/services/google-analytics.service.mjs +0 -200
  97. package/esm2020/google-analytics/sk-front-lib-google-analytics.mjs +0 -5
  98. package/esm2020/google-analytics/tokens/google-analytics-settings-token.mjs +0 -5
  99. package/esm2020/google-analytics/types/ga-action.type.mjs +0 -2
  100. package/esm2020/google-analytics/types/ga-bind.type.mjs +0 -2
  101. package/esm2020/image/public_api.mjs +0 -3
  102. package/esm2020/image/sk-front-lib-image.mjs +0 -5
  103. package/esm2020/image/sk-image.component.mjs +0 -262
  104. package/esm2020/image/sk-image.module.mjs +0 -43
  105. package/esm2020/model/lib/article.mjs +0 -11
  106. package/esm2020/model/lib/audit.mjs +0 -12
  107. package/esm2020/model/lib/auth.mjs +0 -2
  108. package/esm2020/model/lib/board.mjs +0 -21
  109. package/esm2020/model/lib/cart.mjs +0 -29
  110. package/esm2020/model/lib/comment.mjs +0 -25
  111. package/esm2020/model/lib/contact.mjs +0 -28
  112. package/esm2020/model/lib/coupon.mjs +0 -23
  113. package/esm2020/model/lib/document.mjs +0 -49
  114. package/esm2020/model/lib/etc.mjs +0 -38
  115. package/esm2020/model/lib/file.mjs +0 -8
  116. package/esm2020/model/lib/filetype.mjs +0 -179
  117. package/esm2020/model/lib/grid.mjs +0 -83
  118. package/esm2020/model/lib/nicepay.mjs +0 -81
  119. package/esm2020/model/lib/order.mjs +0 -106
  120. package/esm2020/model/lib/payment.mjs +0 -30
  121. package/esm2020/model/lib/point.mjs +0 -47
  122. package/esm2020/model/lib/product-series.mjs +0 -2
  123. package/esm2020/model/lib/product.mjs +0 -128
  124. package/esm2020/model/lib/promotion.mjs +0 -79
  125. package/esm2020/model/lib/shipping.mjs +0 -37
  126. package/esm2020/model/lib/user.mjs +0 -60
  127. package/esm2020/model/public_api.mjs +0 -23
  128. package/esm2020/model/sk-front-lib-model.mjs +0 -5
  129. package/esm2020/search-address/dialog/dialog.component.mjs +0 -27
  130. package/esm2020/search-address/public_api.mjs +0 -4
  131. package/esm2020/search-address/sk-front-lib-search-address.mjs +0 -5
  132. package/esm2020/search-address/sk-search-address.directive.mjs +0 -41
  133. package/esm2020/search-address/sk-search-address.model.mjs +0 -8
  134. package/esm2020/search-address/sk-search-address.module.mjs +0 -52
  135. package/esm2020/search-address/sk-search-address.service.mjs +0 -65
  136. package/esm2020/uploader/public_api.mjs +0 -4
  137. package/esm2020/uploader/sk-front-lib-uploader.mjs +0 -5
  138. package/esm2020/uploader/sk-uploader-file-item.model.mjs +0 -95
  139. package/esm2020/uploader/sk-uploader.animation.mjs +0 -47
  140. package/esm2020/uploader/sk-uploader.class.mjs +0 -188
  141. package/esm2020/uploader/sk-uploader.component.mjs +0 -120
  142. package/esm2020/uploader/sk-uploader.directive.mjs +0 -44
  143. package/esm2020/uploader/sk-uploader.module.mjs +0 -62
  144. package/fesm2015/sk-front-lib-api.mjs +0 -218
  145. package/fesm2015/sk-front-lib-api.mjs.map +0 -1
  146. package/fesm2015/sk-front-lib-article.mjs +0 -762
  147. package/fesm2015/sk-front-lib-article.mjs.map +0 -1
  148. package/fesm2015/sk-front-lib-crud.mjs +0 -1413
  149. package/fesm2015/sk-front-lib-crud.mjs.map +0 -1
  150. package/fesm2015/sk-front-lib-google-analytics.mjs +0 -339
  151. package/fesm2015/sk-front-lib-google-analytics.mjs.map +0 -1
  152. package/fesm2015/sk-front-lib-image.mjs +0 -306
  153. package/fesm2015/sk-front-lib-image.mjs.map +0 -1
  154. package/fesm2015/sk-front-lib-model.mjs +0 -1056
  155. package/fesm2015/sk-front-lib-model.mjs.map +0 -1
  156. package/fesm2015/sk-front-lib-search-address.mjs +0 -188
  157. package/fesm2015/sk-front-lib-search-address.mjs.map +0 -1
  158. package/fesm2015/sk-front-lib-uploader.mjs +0 -551
  159. package/fesm2015/sk-front-lib-uploader.mjs.map +0 -1
  160. package/fesm2020/sk-front-lib-api.mjs +0 -216
  161. package/fesm2020/sk-front-lib-api.mjs.map +0 -1
  162. package/fesm2020/sk-front-lib-article.mjs +0 -771
  163. package/fesm2020/sk-front-lib-article.mjs.map +0 -1
  164. package/fesm2020/sk-front-lib-crud.mjs +0 -1411
  165. package/fesm2020/sk-front-lib-crud.mjs.map +0 -1
  166. package/fesm2020/sk-front-lib-google-analytics.mjs +0 -336
  167. package/fesm2020/sk-front-lib-google-analytics.mjs.map +0 -1
  168. package/fesm2020/sk-front-lib-image.mjs +0 -309
  169. package/fesm2020/sk-front-lib-image.mjs.map +0 -1
  170. package/fesm2020/sk-front-lib-model.mjs +0 -1056
  171. package/fesm2020/sk-front-lib-model.mjs.map +0 -1
  172. package/fesm2020/sk-front-lib-search-address.mjs +0 -186
  173. package/fesm2020/sk-front-lib-search-address.mjs.map +0 -1
  174. package/fesm2020/sk-front-lib-uploader.mjs +0 -549
  175. package/fesm2020/sk-front-lib-uploader.mjs.map +0 -1
  176. package/google-analytics/google-analytics-router.module.d.ts +0 -8
  177. package/google-analytics/google-analytics.module.d.ts +0 -10
  178. package/google-analytics/initializers/google-analytics-router.initializer.d.ts +0 -5
  179. package/google-analytics/initializers/google-analytics.initializer.d.ts +0 -4
  180. package/google-analytics/interfaces/google-analytics-command.d.ts +0 -4
  181. package/google-analytics/interfaces/google-analytics-settings.d.ts +0 -6
  182. package/google-analytics/package.json +0 -10
  183. package/google-analytics/public_api.d.ts +0 -10
  184. package/google-analytics/services/google-analytics.service.d.ts +0 -84
  185. package/google-analytics/sk-front-lib-google-analytics.d.ts +0 -5
  186. package/google-analytics/tokens/google-analytics-settings-token.d.ts +0 -3
  187. package/google-analytics/types/ga-action.type.d.ts +0 -1
  188. package/google-analytics/types/ga-bind.type.d.ts +0 -1
  189. package/image/package.json +0 -10
  190. package/image/public_api.d.ts +0 -3
  191. package/image/sk-front-lib-image.d.ts +0 -5
  192. package/image/sk-image.component.d.ts +0 -112
  193. package/image/sk-image.module.d.ts +0 -12
  194. package/model/lib/article.d.ts +0 -13
  195. package/model/lib/audit.d.ts +0 -13
  196. package/model/lib/auth.d.ts +0 -8
  197. package/model/lib/board.d.ts +0 -39
  198. package/model/lib/cart.d.ts +0 -45
  199. package/model/lib/comment.d.ts +0 -43
  200. package/model/lib/contact.d.ts +0 -40
  201. package/model/lib/coupon.d.ts +0 -114
  202. package/model/lib/document.d.ts +0 -95
  203. package/model/lib/etc.d.ts +0 -145
  204. package/model/lib/file.d.ts +0 -24
  205. package/model/lib/filetype.d.ts +0 -10
  206. package/model/lib/grid.d.ts +0 -97
  207. package/model/lib/nicepay.d.ts +0 -39
  208. package/model/lib/order.d.ts +0 -161
  209. package/model/lib/payment.d.ts +0 -27
  210. package/model/lib/point.d.ts +0 -30
  211. package/model/lib/product-series.d.ts +0 -25
  212. package/model/lib/product.d.ts +0 -295
  213. package/model/lib/promotion.d.ts +0 -166
  214. package/model/lib/shipping.d.ts +0 -44
  215. package/model/lib/user.d.ts +0 -53
  216. package/model/package.json +0 -10
  217. package/model/public_api.d.ts +0 -22
  218. package/model/sk-front-lib-model.d.ts +0 -5
  219. package/search-address/dialog/dialog.component.d.ts +0 -13
  220. package/search-address/package.json +0 -10
  221. package/search-address/public_api.d.ts +0 -3
  222. package/search-address/sk-front-lib-search-address.d.ts +0 -5
  223. package/search-address/sk-search-address.directive.d.ts +0 -15
  224. package/search-address/sk-search-address.model.d.ts +0 -40
  225. package/search-address/sk-search-address.module.d.ts +0 -14
  226. package/search-address/sk-search-address.service.d.ts +0 -13
  227. package/uploader/package.json +0 -10
  228. package/uploader/public_api.d.ts +0 -4
  229. package/uploader/sk-front-lib-uploader.d.ts +0 -5
  230. package/uploader/sk-uploader-file-item.model.d.ts +0 -29
  231. package/uploader/sk-uploader.animation.d.ts +0 -1
  232. package/uploader/sk-uploader.class.d.ts +0 -47
  233. package/uploader/sk-uploader.component.d.ts +0 -28
  234. package/uploader/sk-uploader.directive.d.ts +0 -15
  235. package/uploader/sk-uploader.module.d.ts +0 -16
@@ -1,52 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatDialogModule } from '@angular/material/dialog';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatToolbarModule } from '@angular/material/toolbar';
8
- import { SearchAddressDialogComponent } from './dialog/dialog.component';
9
- import { SkSearchAddressDirective } from "./sk-search-address.directive";
10
- import * as i0 from "@angular/core";
11
- export class SkSearchAddressModule {
12
- }
13
- SkSearchAddressModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchAddressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- SkSearchAddressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchAddressModule, declarations: [SearchAddressDialogComponent,
15
- SkSearchAddressDirective], imports: [CommonModule,
16
- FormsModule,
17
- MatToolbarModule,
18
- MatIconModule,
19
- MatButtonModule,
20
- MatDialogModule], exports: [SkSearchAddressDirective] });
21
- SkSearchAddressModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchAddressModule, imports: [[
22
- CommonModule,
23
- FormsModule,
24
- MatToolbarModule,
25
- MatIconModule,
26
- MatButtonModule,
27
- MatDialogModule
28
- ]] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchAddressModule, decorators: [{
30
- type: NgModule,
31
- args: [{
32
- imports: [
33
- CommonModule,
34
- FormsModule,
35
- MatToolbarModule,
36
- MatIconModule,
37
- MatButtonModule,
38
- MatDialogModule
39
- ],
40
- exports: [
41
- SkSearchAddressDirective
42
- ],
43
- entryComponents: [
44
- SearchAddressDialogComponent
45
- ],
46
- declarations: [
47
- SearchAddressDialogComponent,
48
- SkSearchAddressDirective
49
- ]
50
- }]
51
- }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stc2VhcmNoLWFkZHJlc3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL3NlYXJjaC1hZGRyZXNzL3NyYy9zay1zZWFyY2gtYWRkcmVzcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQXNCdkUsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQUoxQiw0QkFBNEI7UUFDNUIsd0JBQXdCLGFBZnhCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZSxhQUdmLHdCQUF3QjttSEFVbkIscUJBQXFCLFlBbkJyQjtZQUNMLFlBQVk7WUFDWixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtTQUNsQjsyRkFZUSxxQkFBcUI7a0JBcEJqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHdCQUF3QjtxQkFDM0I7b0JBQ0QsZUFBZSxFQUFFO3dCQUNiLDRCQUE0QjtxQkFDL0I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLDRCQUE0Qjt3QkFDNUIsd0JBQXdCO3FCQUMzQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0VG9vbGJhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQge1NlYXJjaEFkZHJlc3NEaWFsb2dDb21wb25lbnR9IGZyb20gJy4vZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtTa1NlYXJjaEFkZHJlc3NEaXJlY3RpdmV9IGZyb20gXCIuL3NrLXNlYXJjaC1hZGRyZXNzLmRpcmVjdGl2ZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2tTZWFyY2hBZGRyZXNzRGlyZWN0aXZlXG4gICAgXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICAgICAgU2VhcmNoQWRkcmVzc0RpYWxvZ0NvbXBvbmVudFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFNlYXJjaEFkZHJlc3NEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIFNrU2VhcmNoQWRkcmVzc0RpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2tTZWFyY2hBZGRyZXNzTW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,65 +0,0 @@
1
- import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
2
- import { isPlatformBrowser } from '@angular/common';
3
- import { SkSearchAddressModel } from "./sk-search-address.model";
4
- import * as i0 from "@angular/core";
5
- const url = '//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js';
6
- export class SkSearchAddressService {
7
- constructor(platformId) {
8
- this.platformId = platformId;
9
- this.injected = false;
10
- this.injectScript();
11
- }
12
- injectDialogContent(element) {
13
- return new Promise(resolve => {
14
- new daum.Postcode({
15
- oncomplete: (data) => {
16
- resolve(this.buildSearchAddressModel(data));
17
- },
18
- width: '100%',
19
- height: element.nativeElement.offsetHeight,
20
- animation: true
21
- }).embed(element.nativeElement, { autoClose: false });
22
- });
23
- }
24
- injectScript() {
25
- if (isPlatformBrowser(this.platformId) && !this.injected) {
26
- const script = document.createElement('script');
27
- script.src = url;
28
- script.type = 'text/javascript';
29
- script.async = true;
30
- document.body.appendChild(script);
31
- this.injected = true;
32
- }
33
- }
34
- buildSearchAddressModel(data) {
35
- // 아래의 코드는 다음 주소찾기에서 주소 파싱하는 부분을 그대로 가져옴
36
- // 각 주소의 노출 규칙에 따라 주소를 조합한다.
37
- // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
38
- let fullAddr = data.address; // 최종 주소 변수
39
- let extraAddr = ''; // 조합형 주소 변수
40
- // 기본 주소가 도로명 타입일때 조합한다.
41
- if (data.addressType === 'R') {
42
- // 법정동명이 있을 경우 추가한다.
43
- if (data.bname !== '') {
44
- extraAddr += data.bname;
45
- }
46
- // 건물명이 있을 경우 추가한다.
47
- if (data.buildingName !== '') {
48
- extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
49
- }
50
- // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
51
- fullAddr += (extraAddr !== '' ? ' (' + extraAddr + ')' : '');
52
- }
53
- return new SkSearchAddressModel(data.zonecode, fullAddr);
54
- }
55
- }
56
- SkSearchAddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchAddressService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
57
- SkSearchAddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchAddressService, providedIn: 'root' });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkSearchAddressService, decorators: [{
59
- type: Injectable,
60
- args: [{ providedIn: 'root' }]
61
- }], ctorParameters: function () { return [{ type: Object, decorators: [{
62
- type: Inject,
63
- args: [PLATFORM_ID]
64
- }] }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stc2VhcmNoLWFkZHJlc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9zZWFyY2gtYWRkcmVzcy9zcmMvc2stc2VhcmNoLWFkZHJlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUE4QixvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQUc1RixNQUFNLEdBQUcsR0FBRywrREFBK0QsQ0FBQztBQUc1RSxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CLFlBQXlDLFVBQWtCO1FBQWxCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFGM0QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdiLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBbUI7UUFDbkMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ2QsVUFBVSxFQUFFLENBQUMsSUFBaUMsRUFBRSxFQUFFO29CQUM5QyxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELENBQUM7Z0JBQ0QsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWTtnQkFDMUMsU0FBUyxFQUFFLElBQUk7YUFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0RCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7WUFDaEMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsSUFBaUM7UUFFN0Qsd0NBQXdDO1FBRXhDLDRCQUE0QjtRQUM1QixtREFBbUQ7UUFDbkQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVc7UUFDeEMsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUMsWUFBWTtRQUVoQyx3QkFBd0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEdBQUcsRUFBRTtZQUMxQixvQkFBb0I7WUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTtnQkFDbkIsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDM0I7WUFDRCxtQkFBbUI7WUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRTtnQkFDMUIsU0FBUyxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsRjtZQUNELHlDQUF5QztZQUN6QyxRQUFRLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEU7UUFFRCxPQUFPLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDOzttSEF4RFEsc0JBQXNCLGtCQUlYLFdBQVc7dUhBSnRCLHNCQUFzQixjQURWLE1BQU07MkZBQ2xCLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7MERBS3lCLE1BQU07MEJBQTlDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTa0RhdW1BZGRyZXNzTW9kZWxJbnRlcmZhY2UsIFNrU2VhcmNoQWRkcmVzc01vZGVsfSBmcm9tIFwiLi9zay1zZWFyY2gtYWRkcmVzcy5tb2RlbFwiO1xuXG5kZWNsYXJlIHZhciBkYXVtOiBhbnk7XG5jb25zdCB1cmwgPSAnLy90MS5kYXVtY2RuLm5ldC9tYXBqc2FwaS9idW5kbGUvcG9zdGNvZGUvcHJvZC9wb3N0Y29kZS52Mi5qcyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFNrU2VhcmNoQWRkcmVzc1NlcnZpY2Uge1xuXG4gICAgaW5qZWN0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0KSB7XG4gICAgICAgIHRoaXMuaW5qZWN0U2NyaXB0KCk7XG4gICAgfVxuXG4gICAgaW5qZWN0RGlhbG9nQ29udGVudChlbGVtZW50OiBFbGVtZW50UmVmKTogUHJvbWlzZTxTa1NlYXJjaEFkZHJlc3NNb2RlbD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICAgICAgbmV3IGRhdW0uUG9zdGNvZGUoe1xuICAgICAgICAgICAgICAgICAgICBvbmNvbXBsZXRlOiAoZGF0YTogU2tEYXVtQWRkcmVzc01vZGVsSW50ZXJmYWNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuYnVpbGRTZWFyY2hBZGRyZXNzTW9kZWwoZGF0YSkpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pLmVtYmVkKGVsZW1lbnQubmF0aXZlRWxlbWVudCwge2F1dG9DbG9zZTogZmFsc2V9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5qZWN0U2NyaXB0KCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiAhdGhpcy5pbmplY3RlZCkge1xuICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgICBzY3JpcHQuc3JjID0gdXJsO1xuICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAgICAgICB0aGlzLmluamVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRTZWFyY2hBZGRyZXNzTW9kZWwoZGF0YTogU2tEYXVtQWRkcmVzc01vZGVsSW50ZXJmYWNlKTogU2tTZWFyY2hBZGRyZXNzTW9kZWwge1xuXG4gICAgICAgIC8vIOyVhOuemOydmCDsvZTrk5zripQg64uk7J2MIOyjvOyGjOywvuq4sOyXkOyEnCDso7zshowg7YyM7Iux7ZWY64qUIOu2gOu2hOydhCDqt7jrjIDroZwg6rCA7KC47Ji0XG5cbiAgICAgICAgLy8g6rCBIOyjvOyGjOydmCDrhbjstpwg6rec7LmZ7JeQIOuUsOudvCDso7zshozrpbwg7KGw7ZWp7ZWc64ukLlxuICAgICAgICAvLyDrgrTroKTsmKTripQg67OA7IiY6rCAIOqwkuydtCDsl4bripQg6rK97Jqw7JeUIOqzteuwsSgnJynqsJLsnYQg6rCA7KeA66+A66GcLCDsnbTrpbwg7LC46rOg7ZWY7JesIOu2hOq4sCDtlZzri6QuXG4gICAgICAgIGxldCBmdWxsQWRkciA9IGRhdGEuYWRkcmVzczsgLy8g7LWc7KKFIOyjvOyGjCDrs4DsiJhcbiAgICAgICAgbGV0IGV4dHJhQWRkciA9ICcnOyAvLyDsobDtlantmJUg7KO87IaMIOuzgOyImFxuXG4gICAgICAgIC8vIOq4sOuzuCDso7zshozqsIAg64+E66Gc66qFIO2DgOyeheydvOuVjCDsobDtlantlZzri6QuXG4gICAgICAgIGlmIChkYXRhLmFkZHJlc3NUeXBlID09PSAnUicpIHtcbiAgICAgICAgICAgIC8vIOuyleygleuPmeuqheydtCDsnojsnYQg6rK97JqwIOy2lOqwgO2VnOuLpC5cbiAgICAgICAgICAgIGlmIChkYXRhLmJuYW1lICE9PSAnJykge1xuICAgICAgICAgICAgICAgIGV4dHJhQWRkciArPSBkYXRhLmJuYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8g6rG066y866qF7J20IOyeiOydhCDqsr3smrAg7LaU6rCA7ZWc64ukLlxuICAgICAgICAgICAgaWYgKGRhdGEuYnVpbGRpbmdOYW1lICE9PSAnJykge1xuICAgICAgICAgICAgICAgIGV4dHJhQWRkciArPSAoZXh0cmFBZGRyICE9PSAnJyA/ICcsICcgKyBkYXRhLmJ1aWxkaW5nTmFtZSA6IGRhdGEuYnVpbGRpbmdOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIOyhsO2Vqe2YleyjvOyGjOydmCDsnKDrrLTsl5Ag65Sw6528IOyWkeyqveyXkCDqtITtmLjrpbwg7LaU6rCA7ZWY7JesIOy1nOyihSDso7zshozrpbwg66eM65Og64ukLlxuICAgICAgICAgICAgZnVsbEFkZHIgKz0gKGV4dHJhQWRkciAhPT0gJycgPyAnICgnICsgZXh0cmFBZGRyICsgJyknIDogJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBTa1NlYXJjaEFkZHJlc3NNb2RlbChkYXRhLnpvbmVjb2RlLCBmdWxsQWRkcik7XG4gICAgfVxufVxuIl19
@@ -1,4 +0,0 @@
1
- export { SkUploaderModule } from './sk-uploader.module';
2
- export { SkUploaderComponent } from './sk-uploader.component';
3
- export { SkUploaderDirective } from './sk-uploader.directive';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi91cGxvYWRlci9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNrVXBsb2FkZXJNb2R1bGUgfSBmcm9tICcuL3NrLXVwbG9hZGVyLm1vZHVsZSc7XG5leHBvcnQgeyBTa1VwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zay11cGxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2tVcGxvYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vc2stdXBsb2FkZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNrRmlsZVVwbG9hZGVyT3B0aW9ucyB9IGZyb20gJy4vc2stdXBsb2FkZXIuY2xhc3MnO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stZnJvbnQtbGliLXVwbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL3VwbG9hZGVyL3NyYy9zay1mcm9udC1saWItdXBsb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,95 +0,0 @@
1
- import { FileType } from 'sk-front-lib/model';
2
- export var SkUploaderFileItemType;
3
- (function (SkUploaderFileItemType) {
4
- SkUploaderFileItemType[SkUploaderFileItemType["Local"] = 0] = "Local";
5
- SkUploaderFileItemType[SkUploaderFileItemType["API"] = 1] = "API";
6
- SkUploaderFileItemType[SkUploaderFileItemType["Unidentified"] = 2] = "Unidentified";
7
- })(SkUploaderFileItemType || (SkUploaderFileItemType = {}));
8
- export var SkUploaderFileItemStatus;
9
- (function (SkUploaderFileItemStatus) {
10
- SkUploaderFileItemStatus[SkUploaderFileItemStatus["WAIT"] = 0] = "WAIT";
11
- SkUploaderFileItemStatus[SkUploaderFileItemStatus["READY"] = 1] = "READY";
12
- SkUploaderFileItemStatus[SkUploaderFileItemStatus["UPLOADING"] = 2] = "UPLOADING";
13
- SkUploaderFileItemStatus[SkUploaderFileItemStatus["PROCESS"] = 3] = "PROCESS";
14
- SkUploaderFileItemStatus[SkUploaderFileItemStatus["DONE"] = 4] = "DONE";
15
- SkUploaderFileItemStatus[SkUploaderFileItemStatus["ERROR"] = 5] = "ERROR";
16
- })(SkUploaderFileItemStatus || (SkUploaderFileItemStatus = {}));
17
- export class SkUploaderFileItem {
18
- constructor(localFile, skFile) {
19
- this.localFile = localFile;
20
- this.skFile = skFile;
21
- this.state = SkUploaderFileItemStatus.WAIT;
22
- this.progress = 0;
23
- if (this.localFile && !this.skFile) {
24
- this.itemType = SkUploaderFileItemType.Local;
25
- }
26
- else if (!this.localFile && this.skFile) {
27
- this.itemType = SkUploaderFileItemType.API;
28
- this.state = SkUploaderFileItemStatus.DONE;
29
- this.progress = 100;
30
- }
31
- else {
32
- this.itemType = SkUploaderFileItemType.Unidentified;
33
- }
34
- }
35
- get filename() {
36
- if (this.itemType === SkUploaderFileItemType.Local) {
37
- return this.localFile.name;
38
- }
39
- else if (this.itemType === SkUploaderFileItemType.API) {
40
- return this.skFile.sourceFilename;
41
- }
42
- else {
43
- return 'Unknown File';
44
- }
45
- }
46
- get size() {
47
- if (this.itemType === SkUploaderFileItemType.Local) {
48
- return this.localFile.size;
49
- }
50
- else if (this.itemType === SkUploaderFileItemType.API) {
51
- return this.skFile.fileSize;
52
- }
53
- else {
54
- return -1;
55
- }
56
- }
57
- get mime() {
58
- if (this.itemType === SkUploaderFileItemType.Local) {
59
- return this.localFile.type;
60
- }
61
- else if (this.itemType === SkUploaderFileItemType.API) {
62
- return this.skFile.mime;
63
- }
64
- else {
65
- return '';
66
- }
67
- }
68
- get icon() {
69
- if (this.itemType === SkUploaderFileItemType.Local) {
70
- return FileType.getMimeClass(this.localFile);
71
- }
72
- else if (this.itemType === SkUploaderFileItemType.API) {
73
- return FileType.getMimeClass(this.skFile);
74
- }
75
- else {
76
- return 'application';
77
- }
78
- }
79
- // -----------------------------------------------------------------------------------------------------
80
- // @ Static Builder
81
- // -----------------------------------------------------------------------------------------------------
82
- static fromLocalFile(localFile) {
83
- return new SkUploaderFileItem(localFile);
84
- }
85
- static fromApi(skFile) {
86
- return new SkUploaderFileItem(null, skFile);
87
- }
88
- // -----------------------------------------------------------------------------------------------------
89
- // @ State Method
90
- // -----------------------------------------------------------------------------------------------------
91
- prepareUpload() {
92
- this.state = SkUploaderFileItemStatus.READY;
93
- }
94
- }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stdXBsb2FkZXItZmlsZS1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL3VwbG9hZGVyL3NyYy9zay11cGxvYWRlci1maWxlLWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBUyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE1BQU0sQ0FBTixJQUFZLHNCQUlYO0FBSkQsV0FBWSxzQkFBc0I7SUFDOUIscUVBQUssQ0FBQTtJQUNMLGlFQUFHLENBQUE7SUFDSCxtRkFBWSxDQUFBO0FBQ2hCLENBQUMsRUFKVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBSWpDO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBT1g7QUFQRCxXQUFZLHdCQUF3QjtJQUNoQyx1RUFBSSxDQUFBO0lBQ0oseUVBQUssQ0FBQTtJQUNMLGlGQUFTLENBQUE7SUFDVCw2RUFBTyxDQUFBO0lBQ1AsdUVBQUksQ0FBQTtJQUNKLHlFQUFLLENBQUE7QUFDVCxDQUFDLEVBUFcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQU9uQztBQUVELE1BQU0sT0FBTyxrQkFBa0I7SUFFM0IsWUFBb0IsU0FBZ0IsRUFBRSxNQUFlO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7U0FDaEQ7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxDQUFDO1lBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLHNCQUFzQixDQUFDLFlBQVksQ0FBQztTQUN2RDtJQUNMLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssc0JBQXNCLENBQUMsS0FBSyxFQUFFO1lBQ2hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDOUI7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssc0JBQXNCLENBQUMsR0FBRyxFQUFFO1lBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7U0FDckM7YUFBTTtZQUNILE9BQU8sY0FBYyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUM5QjthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUU7WUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztTQUMvQjthQUFNO1lBQ0gsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNiO0lBQ0wsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUM5QjthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUU7WUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUMzQjthQUFNO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssc0JBQXNCLENBQUMsS0FBSyxFQUFFO1lBQ2hELE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDaEQ7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssc0JBQXNCLENBQUMsR0FBRyxFQUFFO1lBQ3JELE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNILE9BQU8sYUFBYSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQVdELHdHQUF3RztJQUN4RyxtQkFBbUI7SUFDbkIsd0dBQXdHO0lBRXhHLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBZTtRQUNoQyxPQUFPLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBYztRQUN6QixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsaUJBQWlCO0lBQ2pCLHdHQUF3RztJQUVqRyxhQUFhO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmlsZVR5cGUsIFNrRmlsZX0gZnJvbSAnc2stZnJvbnQtbGliL21vZGVsJztcblxuZXhwb3J0IGVudW0gU2tVcGxvYWRlckZpbGVJdGVtVHlwZSB7XG4gICAgTG9jYWwsXG4gICAgQVBJLFxuICAgIFVuaWRlbnRpZmllZFxufVxuXG5leHBvcnQgZW51bSBTa1VwbG9hZGVyRmlsZUl0ZW1TdGF0dXMge1xuICAgIFdBSVQsXG4gICAgUkVBRFksXG4gICAgVVBMT0FESU5HLFxuICAgIFBST0NFU1MsXG4gICAgRE9ORSxcbiAgICBFUlJPUlxufVxuXG5leHBvcnQgY2xhc3MgU2tVcGxvYWRlckZpbGVJdGVtIHtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IobG9jYWxGaWxlPzogRmlsZSwgc2tGaWxlPzogU2tGaWxlKSB7XG4gICAgICAgIHRoaXMubG9jYWxGaWxlID0gbG9jYWxGaWxlO1xuICAgICAgICB0aGlzLnNrRmlsZSA9IHNrRmlsZTtcblxuICAgICAgICB0aGlzLnN0YXRlID0gU2tVcGxvYWRlckZpbGVJdGVtU3RhdHVzLldBSVQ7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3MgPSAwO1xuXG4gICAgICAgIGlmICh0aGlzLmxvY2FsRmlsZSAmJiAhdGhpcy5za0ZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbVR5cGUgPSBTa1VwbG9hZGVyRmlsZUl0ZW1UeXBlLkxvY2FsO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmxvY2FsRmlsZSAmJiB0aGlzLnNrRmlsZSkge1xuICAgICAgICAgICAgdGhpcy5pdGVtVHlwZSA9IFNrVXBsb2FkZXJGaWxlSXRlbVR5cGUuQVBJO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFNrVXBsb2FkZXJGaWxlSXRlbVN0YXR1cy5ET05FO1xuICAgICAgICAgICAgdGhpcy5wcm9ncmVzcyA9IDEwMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbVR5cGUgPSBTa1VwbG9hZGVyRmlsZUl0ZW1UeXBlLlVuaWRlbnRpZmllZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBmaWxlbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pdGVtVHlwZSA9PT0gU2tVcGxvYWRlckZpbGVJdGVtVHlwZS5Mb2NhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxGaWxlLm5hbWU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtVHlwZSA9PT0gU2tVcGxvYWRlckZpbGVJdGVtVHlwZS5BUEkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNrRmlsZS5zb3VyY2VGaWxlbmFtZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnVW5rbm93biBGaWxlJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1UeXBlID09PSBTa1VwbG9hZGVyRmlsZUl0ZW1UeXBlLkxvY2FsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbEZpbGUuc2l6ZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLml0ZW1UeXBlID09PSBTa1VwbG9hZGVyRmlsZUl0ZW1UeXBlLkFQSSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2tGaWxlLmZpbGVTaXplO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IG1pbWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbVR5cGUgPT09IFNrVXBsb2FkZXJGaWxlSXRlbVR5cGUuTG9jYWwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsRmlsZS50eXBlO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbVR5cGUgPT09IFNrVXBsb2FkZXJGaWxlSXRlbVR5cGUuQVBJKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5za0ZpbGUubWltZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1UeXBlID09PSBTa1VwbG9hZGVyRmlsZUl0ZW1UeXBlLkxvY2FsKSB7XG4gICAgICAgICAgICByZXR1cm4gRmlsZVR5cGUuZ2V0TWltZUNsYXNzKHRoaXMubG9jYWxGaWxlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLml0ZW1UeXBlID09PSBTa1VwbG9hZGVyRmlsZUl0ZW1UeXBlLkFQSSkge1xuICAgICAgICAgICAgcmV0dXJuIEZpbGVUeXBlLmdldE1pbWVDbGFzcyh0aGlzLnNrRmlsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBsb2NhbEZpbGU6IEZpbGU7XG4gICAgcHVibGljIHNrRmlsZTogU2tGaWxlO1xuICAgIHB1YmxpYyBpdGVtVHlwZTogU2tVcGxvYWRlckZpbGVJdGVtVHlwZTtcblxuICAgIHB1YmxpYyBzdGF0ZTogU2tVcGxvYWRlckZpbGVJdGVtU3RhdHVzO1xuICAgIHB1YmxpYyBwcm9ncmVzczogbnVtYmVyO1xuXG5cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBTdGF0aWMgQnVpbGRlclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBzdGF0aWMgZnJvbUxvY2FsRmlsZShsb2NhbEZpbGU6IEZpbGUpOiBTa1VwbG9hZGVyRmlsZUl0ZW0ge1xuICAgICAgICByZXR1cm4gbmV3IFNrVXBsb2FkZXJGaWxlSXRlbShsb2NhbEZpbGUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBmcm9tQXBpKHNrRmlsZTogU2tGaWxlKTogU2tVcGxvYWRlckZpbGVJdGVtIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTa1VwbG9hZGVyRmlsZUl0ZW0obnVsbCwgc2tGaWxlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEAgU3RhdGUgTWV0aG9kXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBwcmVwYXJlVXBsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXRlID0gU2tVcGxvYWRlckZpbGVJdGVtU3RhdHVzLlJFQURZO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { animate, animateChild, animation, query, stagger, style, transition, trigger, useAnimation } from '@angular/animations';
2
- const customAnimation = animation([
3
- style({
4
- opacity: '{{opacity}}',
5
- transform: 'scale({{scale}}) translate3d({{x}}, {{y}}, {{z}})'
6
- }),
7
- animate('{{duration}} {{delay}} cubic-bezier(0.0, 0.0, 0.2, 1)', style('*'))
8
- ], {
9
- params: {
10
- duration: '200ms',
11
- delay: '0ms',
12
- opacity: '0',
13
- scale: '1',
14
- x: '0',
15
- y: '0',
16
- z: '0'
17
- }
18
- });
19
- const customOutAnimation = animation([
20
- style('*'),
21
- animate('{{duration}} {{delay}} cubic-bezier(0.0, 0.0, 0.2, 1)', style({
22
- opacity: '{{opacity}}',
23
- transform: 'scale({{scale}}) translate3d({{x}}, {{y}}, {{z}})'
24
- }))
25
- ], {
26
- params: {
27
- duration: '200ms',
28
- delay: '0ms',
29
- opacity: '0',
30
- scale: '1',
31
- x: '0',
32
- y: '0',
33
- z: '0'
34
- }
35
- });
36
- export const uploaderAnimations = [
37
- trigger('animate', [transition('void => *', [useAnimation(customAnimation)])]),
38
- trigger('animateOut', [transition('* => void', [useAnimation(customOutAnimation)])]),
39
- trigger('animateStagger', [
40
- transition('* => *', query('@*', [
41
- stagger('100ms', [
42
- animateChild()
43
- ])
44
- ], { optional: true })),
45
- ]),
46
- ];
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stdXBsb2FkZXIuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL3VwbG9hZGVyL3NyYy9zay11cGxvYWRlci5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFL0gsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0lBQzlCLEtBQUssQ0FBQztRQUNGLE9BQU8sRUFBSSxhQUFhO1FBQ3hCLFNBQVMsRUFBRSxtREFBbUQ7S0FDakUsQ0FBQztJQUNGLE9BQU8sQ0FBQyx1REFBdUQsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Q0FDL0UsRUFBRTtJQUNDLE1BQU0sRUFBRTtRQUNKLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLEtBQUssRUFBSyxLQUFLO1FBQ2YsT0FBTyxFQUFHLEdBQUc7UUFDYixLQUFLLEVBQUssR0FBRztRQUNiLENBQUMsRUFBUyxHQUFHO1FBQ2IsQ0FBQyxFQUFTLEdBQUc7UUFDYixDQUFDLEVBQVMsR0FBRztLQUNoQjtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0lBQ2pDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDVixPQUFPLENBQUMsdURBQXVELEVBQUUsS0FBSyxDQUFDO1FBQ25FLE9BQU8sRUFBSSxhQUFhO1FBQ3hCLFNBQVMsRUFBRSxtREFBbUQ7S0FDakUsQ0FBQyxDQUFDO0NBQ04sRUFBRTtJQUNDLE1BQU0sRUFBRTtRQUNKLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLEtBQUssRUFBSyxLQUFLO1FBQ2YsT0FBTyxFQUFHLEdBQUc7UUFDYixLQUFLLEVBQUssR0FBRztRQUNiLENBQUMsRUFBUyxHQUFHO1FBQ2IsQ0FBQyxFQUFTLEdBQUc7UUFDYixDQUFDLEVBQVMsR0FBRztLQUNoQjtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEYsT0FBTyxDQUFDLGdCQUFnQixFQUFFO1FBQ3RCLFVBQVUsQ0FBQyxRQUFRLEVBQ2YsS0FBSyxDQUFDLElBQUksRUFDTjtZQUNJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsWUFBWSxFQUFFO2FBQ2pCLENBQUM7U0FDTCxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7S0FDaEMsQ0FBQztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIGFuaW1hdGVDaGlsZCwgYW5pbWF0aW9uLCBxdWVyeSwgc3RhZ2dlciwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmNvbnN0IGN1c3RvbUFuaW1hdGlvbiA9IGFuaW1hdGlvbihbXG4gICAgc3R5bGUoe1xuICAgICAgICBvcGFjaXR5ICA6ICd7e29wYWNpdHl9fScsXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKHt7c2NhbGV9fSkgdHJhbnNsYXRlM2Qoe3t4fX0sIHt7eX19LCB7e3p9fSknXG4gICAgfSksXG4gICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IHt7ZGVsYXl9fSBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLCBzdHlsZSgnKicpKVxuXSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICBkdXJhdGlvbjogJzIwMG1zJyxcbiAgICAgICAgZGVsYXkgICA6ICcwbXMnLFxuICAgICAgICBvcGFjaXR5IDogJzAnLFxuICAgICAgICBzY2FsZSAgIDogJzEnLFxuICAgICAgICB4ICAgICAgIDogJzAnLFxuICAgICAgICB5ICAgICAgIDogJzAnLFxuICAgICAgICB6ICAgICAgIDogJzAnXG4gICAgfVxufSk7XG5cbmNvbnN0IGN1c3RvbU91dEFuaW1hdGlvbiA9IGFuaW1hdGlvbihbXG4gICAgc3R5bGUoJyonKSxcbiAgICBhbmltYXRlKCd7e2R1cmF0aW9ufX0ge3tkZWxheX19IGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKScsIHN0eWxlKHtcbiAgICAgICAgb3BhY2l0eSAgOiAne3tvcGFjaXR5fX0nLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSh7e3NjYWxlfX0pIHRyYW5zbGF0ZTNkKHt7eH19LCB7e3l9fSwge3t6fX0pJ1xuICAgIH0pKVxuXSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICBkdXJhdGlvbjogJzIwMG1zJyxcbiAgICAgICAgZGVsYXkgICA6ICcwbXMnLFxuICAgICAgICBvcGFjaXR5IDogJzAnLFxuICAgICAgICBzY2FsZSAgIDogJzEnLFxuICAgICAgICB4ICAgICAgIDogJzAnLFxuICAgICAgICB5ICAgICAgIDogJzAnLFxuICAgICAgICB6ICAgICAgIDogJzAnXG4gICAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCB1cGxvYWRlckFuaW1hdGlvbnMgPSBbXG4gICAgdHJpZ2dlcignYW5pbWF0ZScsIFt0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbdXNlQW5pbWF0aW9uKGN1c3RvbUFuaW1hdGlvbildKV0pLFxuICAgIHRyaWdnZXIoJ2FuaW1hdGVPdXQnLCBbdHJhbnNpdGlvbignKiA9PiB2b2lkJywgW3VzZUFuaW1hdGlvbihjdXN0b21PdXRBbmltYXRpb24pXSldKSxcblxuICAgIHRyaWdnZXIoJ2FuaW1hdGVTdGFnZ2VyJywgW1xuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IConLFxuICAgICAgICAgICAgcXVlcnkoJ0AqJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoJzEwMG1zJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZUNoaWxkKClcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSksXG4gICAgXSksXG5dO1xuIl19
@@ -1,188 +0,0 @@
1
- import { HttpEventType, HttpHeaders, HttpRequest } from '@angular/common/http';
2
- import { of } from 'rxjs';
3
- import { catchError, last, map, tap } from 'rxjs/operators';
4
- import { FileType, SkFile } from 'sk-front-lib/model';
5
- import { SkUploaderFileItem, SkUploaderFileItemStatus } from './sk-uploader-file-item.model';
6
- export class SkFileUploader {
7
- constructor(apiService, options, selectedFiles = []) {
8
- this.apiService = apiService;
9
- this.queue = [];
10
- this.progress = 0;
11
- this.options = {
12
- autoUpload: false,
13
- filters: [],
14
- maxFileSize: 2 * 1024 * 1024 * 1024,
15
- queueLimit: 1,
16
- asyncLimit: 2,
17
- };
18
- this.setOptions(options);
19
- this.setSelectedFiles(selectedFiles);
20
- }
21
- // -----------------------------------------------------------------------------------------------------
22
- // @ Data Accessor
23
- // -----------------------------------------------------------------------------------------------------
24
- // -----------------------------------------------------------------------------------------------------
25
- // @ Uploader - Public methods
26
- // -----------------------------------------------------------------------------------------------------
27
- setOptions(options) {
28
- this.options = Object.assign(this.options, options);
29
- this.options.filters.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });
30
- if (this.options.maxFileSize) {
31
- this.options.filters.unshift({ name: 'fileSize', fn: this._fileSizeFilter });
32
- }
33
- if (this.options.allowedFileType) {
34
- this.options.filters.unshift({ name: 'fileType', fn: this._fileTypeFilter });
35
- }
36
- if (this.options.allowedMimeType) {
37
- this.options.filters.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });
38
- }
39
- }
40
- setSelectedFiles(files) {
41
- const items = files.map(file => SkUploaderFileItem.fromApi(file));
42
- this.addToQueue(items);
43
- }
44
- addToQueue(files, filters) {
45
- const arrayOfFilters = this._getFilters(filters);
46
- files.forEach(item => {
47
- if (this._isValidFile(item, arrayOfFilters, this.options) && !this._findByFilenameInQueue(item.filename)) {
48
- this.queue.push(item);
49
- }
50
- });
51
- this.updateProgress();
52
- }
53
- removeFromQueue(file) {
54
- const index = this.queue.findIndex(value => value.filename === file.filename);
55
- this.queue.splice(index, 1);
56
- this.updateProgress();
57
- }
58
- clearQueue() {
59
- while (this.queue.length) {
60
- this.removeFromQueue(this.queue[0]);
61
- }
62
- this.progress = 0;
63
- }
64
- upload(item) {
65
- this._processUpload(item);
66
- }
67
- uploadAll() {
68
- const targetItems = this.getNotUploadedItems();
69
- targetItems.forEach(item => {
70
- item.prepareUpload();
71
- });
72
- if (targetItems.length > 0) {
73
- const max = Math.min(targetItems.length, this.options.asyncLimit);
74
- for (let i = 0; i < max; i++) {
75
- this.upload(targetItems[i]);
76
- }
77
- }
78
- }
79
- // -----------------------------------------------------------------------------------------------------
80
- // @ Private methods.
81
- // -----------------------------------------------------------------------------------------------------
82
- updateProgress() {
83
- const uploaded = this.getDoneItems().length;
84
- const current = uploaded / this.queue.length * 100;
85
- this.progress = Math.ceil(current);
86
- }
87
- // -----------------------------------------------------------------------------------------------------
88
- // @ Uploader - Filters
89
- // -----------------------------------------------------------------------------------------------------
90
- _isValidFile(file, filters, options) {
91
- this._failFilterIndex = -1;
92
- return !filters.length ? true : filters.every((filter) => {
93
- this._failFilterIndex++;
94
- return filter.fn.call(this, file, options);
95
- });
96
- }
97
- _getFilters(filters) {
98
- if (!filters) {
99
- return this.options.filters;
100
- }
101
- if (Array.isArray(filters)) {
102
- return filters;
103
- }
104
- if (typeof filters === 'string') {
105
- const names = filters.match(/[^\s,]+/g);
106
- return this.options.filters
107
- .filter((filter) => names.indexOf(filter.name) !== -1);
108
- }
109
- return this.options.filters;
110
- }
111
- _queueLimitFilter() {
112
- return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;
113
- }
114
- _mimeTypeFilter(item) {
115
- return !(this.options.allowedMimeType && this.options.allowedMimeType.indexOf(item.mime) === -1);
116
- }
117
- _fileSizeFilter(item) {
118
- return !(this.options.maxFileSize && item.size > this.options.maxFileSize);
119
- }
120
- _fileTypeFilter(item) {
121
- return !(this.options.allowedFileType &&
122
- this.options.allowedFileType.indexOf(FileType.getMimeClass(item.localFile ? item.localFile : item.skFile)) === -1);
123
- }
124
- // -----------------------------------------------------------------------------------------------------
125
- // @ Uploader - Upload biz logic
126
- // -----------------------------------------------------------------------------------------------------
127
- _processUpload(item) {
128
- if (item.state !== SkUploaderFileItemStatus.READY) {
129
- return;
130
- }
131
- const formData = new FormData();
132
- formData.append('file', item.localFile, item.filename);
133
- const request = new HttpRequest('POST', this.apiService.apiServer + '/api/public/files/upload', formData, {
134
- reportProgress: true,
135
- headers: new HttpHeaders().set('Authorization', 'Bearer ' + this.apiService.getToken()).set('ngsw-bypass', 'true')
136
- });
137
- this.apiService.rawRequest(request).pipe(tap(event => {
138
- switch (event.type) {
139
- case HttpEventType.UploadProgress:
140
- // Compute and show the % done:
141
- const percentDone = Math.ceil(100 * event.loaded / event.total);
142
- item.progress = percentDone;
143
- if (item.progress >= 99) {
144
- item.state = SkUploaderFileItemStatus.PROCESS;
145
- }
146
- else {
147
- item.state = SkUploaderFileItemStatus.UPLOADING;
148
- }
149
- return;
150
- case HttpEventType.Response:
151
- item.state = SkUploaderFileItemStatus.DONE;
152
- return;
153
- default:
154
- return;
155
- }
156
- }), last(), // return last (completed) message to caller
157
- map((result) => result.body.data ? new SkFile(result.body.data) : null), catchError(err => {
158
- console.log(err);
159
- item.state = SkUploaderFileItemStatus.ERROR;
160
- return of(null);
161
- })).subscribe(result => {
162
- if (result instanceof SkFile) {
163
- item.skFile = result;
164
- }
165
- this.updateProgress();
166
- const nextItems = this.getReadyItems();
167
- if (nextItems.length > 0) {
168
- this.upload(nextItems[0]);
169
- }
170
- });
171
- }
172
- // -----------------------------------------------------------------------------------------------------
173
- // @ Data Handlers
174
- // -----------------------------------------------------------------------------------------------------
175
- _findByFilenameInQueue(name) {
176
- return this.queue.findIndex(value => value.filename === name) > -1;
177
- }
178
- getNotUploadedItems() {
179
- return this.queue.filter((item) => item.state === SkUploaderFileItemStatus.WAIT);
180
- }
181
- getReadyItems() {
182
- return this.queue.filter((item) => item.state === SkUploaderFileItemStatus.READY);
183
- }
184
- getDoneItems() {
185
- return this.queue.filter((item) => item.state === SkUploaderFileItemStatus.DONE);
186
- }
187
- }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stdXBsb2FkZXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvdXBsb2FkZXIvc3JjL3NrLXVwbG9hZGVyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQzNGLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzFELE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFtQjNGLE1BQU0sT0FBTyxjQUFjO0lBZXZCLFlBQW9CLFVBQXdCLEVBQUUsT0FBK0IsRUFBRSxnQkFBMEIsRUFBRTtRQUF2RixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBYnJDLFVBQUssR0FBeUIsRUFBRSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFJYixZQUFPLEdBQTBCO1lBQ3BDLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUk7WUFDbkMsVUFBVSxFQUFFLENBQUM7WUFDYixVQUFVLEVBQUUsQ0FBQztTQUNoQixDQUFDO1FBR0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxrQkFBa0I7SUFDbEIsd0dBQXdHO0lBR3hHLHdHQUF3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QUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pHLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cEV2ZW50VHlwZSwgSHR0cEhlYWRlcnMsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBsYXN0LCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1NrQXBpU2VydmljZX0gZnJvbSAnc2stZnJvbnQtbGliL2FwaSc7XG5pbXBvcnQge0ZpbGVUeXBlLCBTa0ZpbGV9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5pbXBvcnQge1NrVXBsb2FkZXJGaWxlSXRlbSwgU2tVcGxvYWRlckZpbGVJdGVtU3RhdHVzfSBmcm9tICcuL3NrLXVwbG9hZGVyLWZpbGUtaXRlbS5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRnVuY3Rpb24ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBmbjogKGl0ZW0/OiBTa1VwbG9hZGVyRmlsZUl0ZW0sIG9wdGlvbnM/OiBTa0ZpbGVVcGxvYWRlck9wdGlvbnMpID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2tGaWxlVXBsb2FkZXJPcHRpb25zIHtcbiAgICBhbGxvd2VkTWltZVR5cGU/OiBzdHJpbmdbXTtcbiAgICBhbGxvd2VkRmlsZVR5cGU/OiBzdHJpbmdbXTtcbiAgICBhdXRvVXBsb2FkPzogYm9vbGVhbjtcbiAgICBmaWx0ZXJzPzogRmlsdGVyRnVuY3Rpb25bXTtcbiAgICBtYXhGaWxlU2l6ZT86IG51bWJlcjtcbiAgICBxdWV1ZUxpbWl0PzogbnVtYmVyO1xuICAgIGFzeW5jTGltaXQ/OiBudW1iZXI7XG4gICAgYWRkaXRpb25hbFBhcmFtZXRlcj86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gICAgcGFyYW1ldGVyc0JlZm9yZUZpbGVzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNrRmlsZVVwbG9hZGVyIHtcblxuICAgIHB1YmxpYyBxdWV1ZTogU2tVcGxvYWRlckZpbGVJdGVtW10gPSBbXTtcbiAgICBwdWJsaWMgcHJvZ3Jlc3MgPSAwO1xuXG4gICAgcHJpdmF0ZSBfZmFpbEZpbHRlckluZGV4OiBudW1iZXI7XG5cbiAgICBwdWJsaWMgb3B0aW9uczogU2tGaWxlVXBsb2FkZXJPcHRpb25zID0ge1xuICAgICAgICBhdXRvVXBsb2FkOiBmYWxzZSxcbiAgICAgICAgZmlsdGVyczogW10sXG4gICAgICAgIG1heEZpbGVTaXplOiAyICogMTAyNCAqIDEwMjQgKiAxMDI0LCAvLyAyR0JcbiAgICAgICAgcXVldWVMaW1pdDogMSxcbiAgICAgICAgYXN5bmNMaW1pdDogMixcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UsIG9wdGlvbnM/OiBTa0ZpbGVVcGxvYWRlck9wdGlvbnMsIHNlbGVjdGVkRmlsZXM6IFNrRmlsZVtdID0gW10pIHtcbiAgICAgICAgdGhpcy5zZXRPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkRmlsZXMoc2VsZWN0ZWRGaWxlcyk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIERhdGEgQWNjZXNzb3JcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEAgVXBsb2FkZXIgLSBQdWJsaWMgbWV0aG9kc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBTa0ZpbGVVcGxvYWRlck9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih0aGlzLm9wdGlvbnMsIG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMub3B0aW9ucy5maWx0ZXJzLnVuc2hpZnQoeyBuYW1lOiAncXVldWVMaW1pdCcsIGZuOiB0aGlzLl9xdWV1ZUxpbWl0RmlsdGVyIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMubWF4RmlsZVNpemUpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5maWx0ZXJzLnVuc2hpZnQoeyBuYW1lOiAnZmlsZVNpemUnLCBmbjogdGhpcy5fZmlsZVNpemVGaWx0ZXIgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLmFsbG93ZWRGaWxlVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zLmZpbHRlcnMudW5zaGlmdCh7IG5hbWU6ICdmaWxlVHlwZScsIGZuOiB0aGlzLl9maWxlVHlwZUZpbHRlciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dlZE1pbWVUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuZmlsdGVycy51bnNoaWZ0KHsgbmFtZTogJ21pbWVUeXBlJywgZm46IHRoaXMuX21pbWVUeXBlRmlsdGVyIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlbGVjdGVkRmlsZXMoZmlsZXM6IFNrRmlsZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBTa1VwbG9hZGVyRmlsZUl0ZW1bXSA9IGZpbGVzLm1hcChmaWxlID0+IFNrVXBsb2FkZXJGaWxlSXRlbS5mcm9tQXBpKGZpbGUpKTtcbiAgICAgICAgdGhpcy5hZGRUb1F1ZXVlKGl0ZW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVG9RdWV1ZShmaWxlczogU2tVcGxvYWRlckZpbGVJdGVtW10sIGZpbHRlcnM/OiBGaWx0ZXJGdW5jdGlvbltdIHwgc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFycmF5T2ZGaWx0ZXJzID0gdGhpcy5fZ2V0RmlsdGVycyhmaWx0ZXJzKTtcblxuICAgICAgICBmaWxlcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2lzVmFsaWRGaWxlKGl0ZW0sIGFycmF5T2ZGaWx0ZXJzLCB0aGlzLm9wdGlvbnMpICYmICF0aGlzLl9maW5kQnlGaWxlbmFtZUluUXVldWUoaXRlbS5maWxlbmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXVlLnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvZ3Jlc3MoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlRnJvbVF1ZXVlKGZpbGU6IFNrVXBsb2FkZXJGaWxlSXRlbSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMucXVldWUuZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmZpbGVuYW1lID09PSBmaWxlLmZpbGVuYW1lKTtcblxuICAgICAgICB0aGlzLnF1ZXVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvZ3Jlc3MoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJRdWV1ZSgpOiB2b2lkIHtcbiAgICAgICAgd2hpbGUgKHRoaXMucXVldWUubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUZyb21RdWV1ZSh0aGlzLnF1ZXVlWzBdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByb2dyZXNzID0gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBsb2FkKGl0ZW06IFNrVXBsb2FkZXJGaWxlSXRlbSkge1xuICAgICAgICB0aGlzLl9wcm9jZXNzVXBsb2FkKGl0ZW0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGxvYWRBbGwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldEl0ZW1zID0gdGhpcy5nZXROb3RVcGxvYWRlZEl0ZW1zKCk7XG4gICAgICAgIHRhcmdldEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLnByZXBhcmVVcGxvYWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRhcmdldEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG1heCA9IE1hdGgubWluKHRhcmdldEl0ZW1zLmxlbmd0aCwgdGhpcy5vcHRpb25zLmFzeW5jTGltaXQpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXg7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkKHRhcmdldEl0ZW1zW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBQcml2YXRlIG1ldGhvZHMuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvZ3Jlc3MoKSB7XG4gICAgICAgIGNvbnN0IHVwbG9hZGVkID0gdGhpcy5nZXREb25lSXRlbXMoKS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB1cGxvYWRlZCAvIHRoaXMucXVldWUubGVuZ3RoICogMTAwO1xuICAgICAgICB0aGlzLnByb2dyZXNzID0gTWF0aC5jZWlsKGN1cnJlbnQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBVcGxvYWRlciAtIEZpbHRlcnNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9pc1ZhbGlkRmlsZShmaWxlOiBTa1VwbG9hZGVyRmlsZUl0ZW0sIGZpbHRlcnM6IEZpbHRlckZ1bmN0aW9uW10sIG9wdGlvbnM6IFNrRmlsZVVwbG9hZGVyT3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgICAgICB0aGlzLl9mYWlsRmlsdGVySW5kZXggPSAtMTtcbiAgICAgICAgcmV0dXJuICFmaWx0ZXJzLmxlbmd0aCA/IHRydWUgOiBmaWx0ZXJzLmV2ZXJ5KChmaWx0ZXI6IEZpbHRlckZ1bmN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9mYWlsRmlsdGVySW5kZXgrKztcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXIuZm4uY2FsbCh0aGlzLCBmaWxlLCBvcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9nZXRGaWx0ZXJzKGZpbHRlcnM6IEZpbHRlckZ1bmN0aW9uW10gfCBzdHJpbmcpOiBGaWx0ZXJGdW5jdGlvbltdIHtcbiAgICAgICAgaWYgKCFmaWx0ZXJzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbHRlcnM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsdGVycykpIHtcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgZmlsdGVycyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gZmlsdGVycy5tYXRjaCgvW15cXHMsXSsvZyk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbHRlcnNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChmaWx0ZXI6IGFueSkgPT4gbmFtZXMuaW5kZXhPZihmaWx0ZXIubmFtZSkgIT09IC0xKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZpbHRlcnM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9xdWV1ZUxpbWl0RmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnF1ZXVlTGltaXQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnF1ZXVlLmxlbmd0aCA8IHRoaXMub3B0aW9ucy5xdWV1ZUxpbWl0O1xuICAgIH1cblxuICAgIHB1YmxpYyBfbWltZVR5cGVGaWx0ZXIoaXRlbTogU2tVcGxvYWRlckZpbGVJdGVtKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhKHRoaXMub3B0aW9ucy5hbGxvd2VkTWltZVR5cGUgJiYgdGhpcy5vcHRpb25zLmFsbG93ZWRNaW1lVHlwZS5pbmRleE9mKGl0ZW0ubWltZSkgPT09IC0xKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX2ZpbGVTaXplRmlsdGVyKGl0ZW06IFNrVXBsb2FkZXJGaWxlSXRlbSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISh0aGlzLm9wdGlvbnMubWF4RmlsZVNpemUgJiYgaXRlbS5zaXplID4gdGhpcy5vcHRpb25zLm1heEZpbGVTaXplKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX2ZpbGVUeXBlRmlsdGVyKGl0ZW06IFNrVXBsb2FkZXJGaWxlSXRlbSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISh0aGlzLm9wdGlvbnMuYWxsb3dlZEZpbGVUeXBlICYmXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuYWxsb3dlZEZpbGVUeXBlLmluZGV4T2YoRmlsZVR5cGUuZ2V0TWltZUNsYXNzKGl0ZW0ubG9jYWxGaWxlID8gaXRlbS5sb2NhbEZpbGUgOiBpdGVtLnNrRmlsZSkpID09PSAtMSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFVwbG9hZGVyIC0gVXBsb2FkIGJpeiBsb2dpY1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcml2YXRlIF9wcm9jZXNzVXBsb2FkKGl0ZW06IFNrVXBsb2FkZXJGaWxlSXRlbSkge1xuICAgICAgICBpZiAoaXRlbS5zdGF0ZSAhPT0gU2tVcGxvYWRlckZpbGVJdGVtU3RhdHVzLlJFQURZKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBpdGVtLmxvY2FsRmlsZSwgaXRlbS5maWxlbmFtZSk7XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBIdHRwUmVxdWVzdDxhbnk+KCdQT1NUJywgdGhpcy5hcGlTZXJ2aWNlLmFwaVNlcnZlciArICcvYXBpL3B1YmxpYy9maWxlcy91cGxvYWQnLCBmb3JtRGF0YSwge1xuICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcgKyB0aGlzLmFwaVNlcnZpY2UuZ2V0VG9rZW4oKSkuc2V0KCduZ3N3LWJ5cGFzcycsICd0cnVlJylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLnJhd1JlcXVlc3Q8U2tGaWxlPihyZXF1ZXN0KS5waXBlKFxuICAgICAgICAgICAgdGFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29tcHV0ZSBhbmQgc2hvdyB0aGUgJSBkb25lOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVyY2VudERvbmUgPSBNYXRoLmNlaWwoMTAwICogZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5wcm9ncmVzcyA9IHBlcmNlbnREb25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5wcm9ncmVzcyA+PSA5OSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc3RhdGUgPSBTa1VwbG9hZGVyRmlsZUl0ZW1TdGF0dXMuUFJPQ0VTUztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zdGF0ZSA9IFNrVXBsb2FkZXJGaWxlSXRlbVN0YXR1cy5VUExPQURJTkc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc3RhdGUgPSBTa1VwbG9hZGVyRmlsZUl0ZW1TdGF0dXMuRE9ORTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGxhc3QoKSwgLy8gcmV0dXJuIGxhc3QgKGNvbXBsZXRlZCkgbWVzc2FnZSB0byBjYWxsZXJcbiAgICAgICAgICAgIG1hcCgocmVzdWx0OiBIdHRwUmVzcG9uc2U8YW55PikgPT4gcmVzdWx0LmJvZHkuZGF0YSA/IG5ldyBTa0ZpbGUocmVzdWx0LmJvZHkuZGF0YSkgOiBudWxsKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICAgIGl0ZW0uc3RhdGUgPSBTa1VwbG9hZGVyRmlsZUl0ZW1TdGF0dXMuRVJST1I7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBTa0ZpbGUpIHtcbiAgICAgICAgICAgICAgICBpdGVtLnNrRmlsZSA9IHJlc3VsdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy51cGRhdGVQcm9ncmVzcygpO1xuICAgICAgICAgICAgY29uc3QgbmV4dEl0ZW1zID0gdGhpcy5nZXRSZWFkeUl0ZW1zKCk7XG4gICAgICAgICAgICBpZiAobmV4dEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZChuZXh0SXRlbXNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cblxuXG5cblxuXG5cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBEYXRhIEhhbmRsZXJzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgX2ZpbmRCeUZpbGVuYW1lSW5RdWV1ZShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVldWUuZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmZpbGVuYW1lID09PSBuYW1lKSA+IC0xO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROb3RVcGxvYWRlZEl0ZW1zKCk6IFNrVXBsb2FkZXJGaWxlSXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVldWUuZmlsdGVyKChpdGVtOiBTa1VwbG9hZGVyRmlsZUl0ZW0pID0+IGl0ZW0uc3RhdGUgPT09IFNrVXBsb2FkZXJGaWxlSXRlbVN0YXR1cy5XQUlUKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVhZHlJdGVtcygpOiBTa1VwbG9hZGVyRmlsZUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXVlLmZpbHRlcigoaXRlbTogU2tVcGxvYWRlckZpbGVJdGVtKSA9PiBpdGVtLnN0YXRlID09PSBTa1VwbG9hZGVyRmlsZUl0ZW1TdGF0dXMuUkVBRFkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREb25lSXRlbXMoKTogU2tVcGxvYWRlckZpbGVJdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWV1ZS5maWx0ZXIoKGl0ZW06IFNrVXBsb2FkZXJGaWxlSXRlbSkgPT4gaXRlbS5zdGF0ZSA9PT0gU2tVcGxvYWRlckZpbGVJdGVtU3RhdHVzLkRPTkUpO1xuICAgIH1cblxufVxuIl19