@wizishop/img-manager 0.2.108 → 14.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 (300) hide show
  1. package/esm2020/lib/animations/easeInOut/ease-in-out.animation.mjs +12 -0
  2. package/esm2020/lib/animations/insertRemove/insert-remove.animation.mjs +9 -0
  3. package/esm2020/lib/animations/listAnnimation/list.animation.mjs +16 -0
  4. package/esm2020/lib/components/canva-btn/canva-btn.component.mjs +67 -0
  5. package/esm2020/lib/components/images-view/images-actions-handler.mjs +151 -0
  6. package/esm2020/lib/components/images-view/images-view.component.mjs +474 -0
  7. package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +66 -0
  8. package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +68 -0
  9. package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +48 -0
  10. package/esm2020/lib/components/img-editor/cropper/cropper.component.mjs +307 -0
  11. package/esm2020/lib/components/img-editor/img-editor.component.mjs +109 -0
  12. package/esm2020/lib/components/img-editor/info-section/info-section.component.mjs +54 -0
  13. package/esm2020/lib/components/img-selection/img-selection.component.mjs +59 -0
  14. package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +122 -0
  15. package/esm2020/lib/components/img-upload/img-upload.component.mjs +118 -0
  16. package/esm2020/lib/components/loader/loader.component.mjs +21 -0
  17. package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +200 -0
  18. package/esm2020/lib/components/shared/alert/alert.component.mjs +27 -0
  19. package/esm2020/lib/components/shared/checkbox/checkbox.component.mjs +52 -0
  20. package/esm2020/lib/components/shared/dropdown/dropdown.component.mjs +21 -0
  21. package/esm2020/lib/components/shared/input-search/input-search.component.mjs +54 -0
  22. package/esm2020/lib/components/shared/pagination/page-selector/page-selector.component.mjs +49 -0
  23. package/esm2020/lib/components/shared/pagination/pagination.component.mjs +49 -0
  24. package/esm2020/lib/components/shared/select/call-to-action.model.mjs +2 -0
  25. package/esm2020/lib/components/shared/select/select-items.dto.mjs +2 -0
  26. package/esm2020/lib/components/shared/select/select.component.mjs +110 -0
  27. package/esm2020/lib/components/shared/table/table.component.mjs +116 -0
  28. package/esm2020/lib/components/upload-list/upload-list.component.mjs +79 -0
  29. package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +37 -0
  30. package/esm2020/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +24 -0
  31. package/esm2020/lib/directives/auto-hide.directive.mjs +48 -0
  32. package/esm2020/lib/directives/copy-to-clipboard.directive.mjs +37 -0
  33. package/esm2020/lib/directives/drag-drop.directive.mjs +57 -0
  34. package/esm2020/lib/directives/loading.directive.mjs +42 -0
  35. package/esm2020/lib/directives/table/checkBoxRow.directive.mjs +114 -0
  36. package/esm2020/lib/directives/table/column.directive.mjs +45 -0
  37. package/esm2020/lib/directives/table/columnHeader.directive.mjs +204 -0
  38. package/esm2020/lib/directives/table/raw.directive.mjs +31 -0
  39. package/esm2020/lib/directives/zindex-toggle.directive.mjs +42 -0
  40. package/esm2020/lib/dto/ImgManagerDisplayConfig.dto.mjs +2 -0
  41. package/esm2020/lib/dto/canva-create-design.dto.mjs +4 -0
  42. package/esm2020/lib/dto/canva.dto.mjs +4 -0
  43. package/esm2020/lib/dto/config/apis/api.dto.mjs +9 -0
  44. package/esm2020/lib/dto/config/external/external-config.dto.mjs +3 -0
  45. package/esm2020/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +10 -0
  46. package/esm2020/lib/dto/export-dtos.api.mjs +11 -0
  47. package/esm2020/lib/dto/img-editor-config.dto.mjs +2 -0
  48. package/esm2020/lib/dto/img-manager.dto.mjs +2 -0
  49. package/esm2020/lib/dto/pexels-img.dto.mjs +2 -0
  50. package/esm2020/lib/dto/picture-name-update.dto.mjs +2 -0
  51. package/esm2020/lib/dto/stateDisplayed.dto.mjs +2 -0
  52. package/esm2020/lib/dto/tabDisplayed.dto.mjs +2 -0
  53. package/esm2020/lib/dto/wizi-block-media.dto.mjs +3 -0
  54. package/esm2020/lib/pipes/images/img-src.pipe.mjs +28 -0
  55. package/esm2020/lib/pipes/number-to-array.pipe.mjs +16 -0
  56. package/esm2020/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +28 -0
  57. package/esm2020/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +53 -0
  58. package/esm2020/lib/pipes/pagination/text/custom-text.pipe.mjs +35 -0
  59. package/esm2020/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +25 -0
  60. package/esm2020/lib/pipes/select/select-filters.pipe.mjs +19 -0
  61. package/esm2020/lib/services/alert.service.mjs +53 -0
  62. package/esm2020/lib/services/canva.service.mjs +159 -0
  63. package/esm2020/lib/services/config/external-config.service.mjs +49 -0
  64. package/esm2020/lib/services/config/img-cdn.service.mjs +28 -0
  65. package/esm2020/lib/services/dom.service.mjs +36 -0
  66. package/{esm2015/lib/services/img-event.service.js → esm2020/lib/services/img-event.service.mjs} +11 -12
  67. package/esm2020/lib/services/img-manager.service.mjs +138 -0
  68. package/{esm2015/lib/services/img-selection.service.js → esm2020/lib/services/img-selection.service.mjs} +11 -12
  69. package/esm2020/lib/services/pexels.service.mjs +62 -0
  70. package/esm2020/lib/services/rename-picture.service.mjs +68 -0
  71. package/esm2020/lib/services/table/filters-table.service.mjs +63 -0
  72. package/{esm2015/lib/services/user-settings.service.js → esm2020/lib/services/user-settings.service.mjs} +11 -12
  73. package/esm2020/lib/wz-img-manager.component.mjs +186 -0
  74. package/esm2020/lib/wz-img-manager.module.mjs +193 -0
  75. package/esm2020/public-api.mjs +11 -0
  76. package/esm2020/wizishop-img-manager.mjs +5 -0
  77. package/fesm2015/wizishop-img-manager.mjs +4134 -0
  78. package/fesm2015/wizishop-img-manager.mjs.map +1 -0
  79. package/fesm2020/wizishop-img-manager.mjs +4140 -0
  80. package/fesm2020/wizishop-img-manager.mjs.map +1 -0
  81. package/index.d.ts +5 -0
  82. package/lib/components/canva-btn/canva-btn.component.d.ts +9 -6
  83. package/lib/components/images-view/images-actions-handler.d.ts +3 -0
  84. package/lib/components/images-view/images-view.component.d.ts +3 -0
  85. package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +3 -0
  86. package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +3 -0
  87. package/lib/components/images-view/table-view/table-view.component.d.ts +3 -0
  88. package/lib/components/img-editor/cropper/cropper.component.d.ts +6 -3
  89. package/lib/components/img-editor/img-editor.component.d.ts +3 -0
  90. package/lib/components/img-editor/info-section/info-section.component.d.ts +3 -0
  91. package/lib/components/img-selection/img-selection.component.d.ts +3 -0
  92. package/lib/components/img-tabs/img-tabs.component.d.ts +3 -0
  93. package/lib/components/img-upload/img-upload.component.d.ts +4 -1
  94. package/lib/components/loader/loader.component.d.ts +3 -0
  95. package/lib/components/pexels-lib/pexels-lib.component.d.ts +3 -0
  96. package/lib/components/shared/alert/alert.component.d.ts +3 -0
  97. package/lib/components/shared/checkbox/checkbox.component.d.ts +3 -0
  98. package/lib/components/shared/dropdown/dropdown.component.d.ts +3 -0
  99. package/lib/components/shared/input-search/input-search.component.d.ts +3 -0
  100. package/lib/components/shared/pagination/page-selector/page-selector.component.d.ts +3 -0
  101. package/lib/components/shared/pagination/pagination.component.d.ts +3 -0
  102. package/lib/components/shared/select/select.component.d.ts +3 -0
  103. package/lib/components/shared/table/table.component.d.ts +3 -0
  104. package/lib/components/upload-list/upload-list.component.d.ts +3 -0
  105. package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +3 -0
  106. package/lib/directives/abstract-debounce/debounce-keyup.directive.d.ts +3 -0
  107. package/lib/directives/auto-hide.directive.d.ts +3 -0
  108. package/lib/directives/copy-to-clipboard.directive.d.ts +3 -0
  109. package/lib/directives/drag-drop.directive.d.ts +3 -0
  110. package/lib/directives/loading.directive.d.ts +3 -0
  111. package/lib/directives/table/checkBoxRow.directive.d.ts +3 -0
  112. package/lib/directives/table/column.directive.d.ts +3 -0
  113. package/lib/directives/table/columnHeader.directive.d.ts +3 -0
  114. package/lib/directives/table/raw.directive.d.ts +3 -0
  115. package/lib/directives/zindex-toggle.directive.d.ts +3 -0
  116. package/lib/dto/pexels-img.dto.d.ts +1 -0
  117. package/lib/pipes/images/img-src.pipe.d.ts +3 -0
  118. package/lib/pipes/number-to-array.pipe.d.ts +3 -0
  119. package/lib/pipes/pagination/array-total-pages/array-pages.pipe.d.ts +3 -0
  120. package/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.d.ts +7 -1
  121. package/lib/pipes/pagination/text/custom-text.pipe.d.ts +3 -0
  122. package/lib/pipes/pagination/total-pages/is-last-page.pipe.d.ts +3 -0
  123. package/lib/pipes/select/select-filters.pipe.d.ts +3 -0
  124. package/lib/services/alert.service.d.ts +3 -0
  125. package/lib/services/canva.service.d.ts +3 -0
  126. package/lib/services/config/external-config.service.d.ts +3 -0
  127. package/lib/services/config/img-cdn.service.d.ts +3 -0
  128. package/lib/services/dom.service.d.ts +3 -0
  129. package/lib/services/img-event.service.d.ts +3 -0
  130. package/lib/services/img-manager.service.d.ts +5 -2
  131. package/lib/services/img-selection.service.d.ts +3 -0
  132. package/lib/services/pexels.service.d.ts +7 -4
  133. package/lib/services/rename-picture.service.d.ts +3 -0
  134. package/lib/services/table/filters-table.service.d.ts +3 -0
  135. package/lib/services/user-settings.service.d.ts +3 -0
  136. package/lib/wz-img-manager.component.d.ts +3 -0
  137. package/lib/wz-img-manager.module.d.ts +56 -0
  138. package/package.json +47 -29
  139. package/wizishop-img-manager-14.0.0.tgz +0 -0
  140. package/wz-img-manager.scss +4 -404
  141. package/bundles/wizishop-img-manager.umd.js +0 -5077
  142. package/bundles/wizishop-img-manager.umd.js.map +0 -1
  143. package/bundles/wizishop-img-manager.umd.min.js +0 -16
  144. package/bundles/wizishop-img-manager.umd.min.js.map +0 -1
  145. package/esm2015/lib/animations/easeInOut/ease-in-out.animation.js +0 -12
  146. package/esm2015/lib/animations/insertRemove/insert-remove.animation.js +0 -9
  147. package/esm2015/lib/animations/listAnnimation/list.animation.js +0 -16
  148. package/esm2015/lib/components/canva-btn/canva-btn.component.js +0 -70
  149. package/esm2015/lib/components/images-view/images-actions-handler.js +0 -180
  150. package/esm2015/lib/components/images-view/images-view.component.js +0 -492
  151. package/esm2015/lib/components/images-view/mosaic-view/img-card/img-card.component.js +0 -84
  152. package/esm2015/lib/components/images-view/mosaic-view/mosaic-view.component.js +0 -79
  153. package/esm2015/lib/components/images-view/table-view/table-view.component.js +0 -49
  154. package/esm2015/lib/components/img-editor/cropper/cropper.component.js +0 -300
  155. package/esm2015/lib/components/img-editor/img-editor.component.js +0 -112
  156. package/esm2015/lib/components/img-editor/info-section/info-section.component.js +0 -59
  157. package/esm2015/lib/components/img-selection/img-selection.component.js +0 -62
  158. package/esm2015/lib/components/img-tabs/img-tabs.component.js +0 -131
  159. package/esm2015/lib/components/img-upload/img-upload.component.js +0 -125
  160. package/esm2015/lib/components/loader/loader.component.js +0 -28
  161. package/esm2015/lib/components/pexels-lib/pexels-lib.component.js +0 -208
  162. package/esm2015/lib/components/shared/alert/alert.component.js +0 -37
  163. package/esm2015/lib/components/shared/checkbox/checkbox.component.js +0 -69
  164. package/esm2015/lib/components/shared/dropdown/dropdown.component.js +0 -26
  165. package/esm2015/lib/components/shared/input-search/input-search.component.js +0 -62
  166. package/esm2015/lib/components/shared/pagination/page-selector/page-selector.component.js +0 -55
  167. package/esm2015/lib/components/shared/pagination/pagination.component.js +0 -51
  168. package/esm2015/lib/components/shared/select/call-to-action.model.js +0 -1
  169. package/esm2015/lib/components/shared/select/select-items.dto.js +0 -1
  170. package/esm2015/lib/components/shared/select/select.component.js +0 -133
  171. package/esm2015/lib/components/shared/table/table.component.js +0 -133
  172. package/esm2015/lib/components/upload-list/upload-list.component.js +0 -87
  173. package/esm2015/lib/directives/abstract-debounce/abstract-debounce.directive.js +0 -40
  174. package/esm2015/lib/directives/abstract-debounce/debounce-keyup.directive.js +0 -26
  175. package/esm2015/lib/directives/auto-hide.directive.js +0 -55
  176. package/esm2015/lib/directives/copy-to-clipboard.directive.js +0 -40
  177. package/esm2015/lib/directives/drag-drop.directive.js +0 -68
  178. package/esm2015/lib/directives/loading.directive.js +0 -44
  179. package/esm2015/lib/directives/table/checkBoxRow.directive.js +0 -128
  180. package/esm2015/lib/directives/table/column.directive.js +0 -49
  181. package/esm2015/lib/directives/table/columnHeader.directive.js +0 -221
  182. package/esm2015/lib/directives/table/raw.directive.js +0 -33
  183. package/esm2015/lib/directives/zindex-toggle.directive.js +0 -49
  184. package/esm2015/lib/dto/ImgManagerDisplayConfig.dto.js +0 -1
  185. package/esm2015/lib/dto/canva-create-design.dto.js +0 -4
  186. package/esm2015/lib/dto/canva.dto.js +0 -4
  187. package/esm2015/lib/dto/config/apis/api.dto.js +0 -9
  188. package/esm2015/lib/dto/config/external/external-config.dto.js +0 -3
  189. package/esm2015/lib/dto/config/image-cdn/image-cdn-config.dto.js +0 -10
  190. package/esm2015/lib/dto/export-dtos.api.js +0 -5
  191. package/esm2015/lib/dto/img-editor-config.dto.js +0 -1
  192. package/esm2015/lib/dto/img-manager.dto.js +0 -1
  193. package/esm2015/lib/dto/pexels-img.dto.js +0 -1
  194. package/esm2015/lib/dto/picture-name-update.dto.js +0 -1
  195. package/esm2015/lib/dto/stateDisplayed.dto.js +0 -1
  196. package/esm2015/lib/dto/tabDisplayed.dto.js +0 -1
  197. package/esm2015/lib/dto/wizi-block-media.dto.js +0 -3
  198. package/esm2015/lib/pipes/images/img-src.pipe.js +0 -29
  199. package/esm2015/lib/pipes/number-to-array.pipe.js +0 -14
  200. package/esm2015/lib/pipes/pagination/array-total-pages/array-pages.pipe.js +0 -26
  201. package/esm2015/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.js +0 -51
  202. package/esm2015/lib/pipes/pagination/text/custom-text.pipe.js +0 -36
  203. package/esm2015/lib/pipes/pagination/total-pages/is-last-page.pipe.js +0 -23
  204. package/esm2015/lib/pipes/select/select-filters.pipe.js +0 -17
  205. package/esm2015/lib/services/alert.service.js +0 -59
  206. package/esm2015/lib/services/canva.service.js +0 -171
  207. package/esm2015/lib/services/config/external-config.service.js +0 -55
  208. package/esm2015/lib/services/config/img-cdn.service.js +0 -29
  209. package/esm2015/lib/services/dom.service.js +0 -36
  210. package/esm2015/lib/services/img-manager.service.js +0 -142
  211. package/esm2015/lib/services/pexels.service.js +0 -70
  212. package/esm2015/lib/services/rename-picture.service.js +0 -74
  213. package/esm2015/lib/services/table/filters-table.service.js +0 -67
  214. package/esm2015/lib/wz-img-manager.component.js +0 -212
  215. package/esm2015/lib/wz-img-manager.module.js +0 -132
  216. package/esm2015/public-api.js +0 -11
  217. package/esm2015/wizishop-img-manager.js +0 -57
  218. package/esm5/lib/animations/easeInOut/ease-in-out.animation.js +0 -12
  219. package/esm5/lib/animations/insertRemove/insert-remove.animation.js +0 -9
  220. package/esm5/lib/animations/listAnnimation/list.animation.js +0 -16
  221. package/esm5/lib/components/canva-btn/canva-btn.component.js +0 -72
  222. package/esm5/lib/components/images-view/images-actions-handler.js +0 -183
  223. package/esm5/lib/components/images-view/images-view.component.js +0 -535
  224. package/esm5/lib/components/images-view/mosaic-view/img-card/img-card.component.js +0 -87
  225. package/esm5/lib/components/images-view/mosaic-view/mosaic-view.component.js +0 -82
  226. package/esm5/lib/components/images-view/table-view/table-view.component.js +0 -52
  227. package/esm5/lib/components/img-editor/cropper/cropper.component.js +0 -312
  228. package/esm5/lib/components/img-editor/img-editor.component.js +0 -115
  229. package/esm5/lib/components/img-editor/info-section/info-section.component.js +0 -64
  230. package/esm5/lib/components/img-selection/img-selection.component.js +0 -64
  231. package/esm5/lib/components/img-tabs/img-tabs.component.js +0 -133
  232. package/esm5/lib/components/img-upload/img-upload.component.js +0 -138
  233. package/esm5/lib/components/loader/loader.component.js +0 -29
  234. package/esm5/lib/components/pexels-lib/pexels-lib.component.js +0 -216
  235. package/esm5/lib/components/shared/alert/alert.component.js +0 -38
  236. package/esm5/lib/components/shared/checkbox/checkbox.component.js +0 -71
  237. package/esm5/lib/components/shared/dropdown/dropdown.component.js +0 -27
  238. package/esm5/lib/components/shared/input-search/input-search.component.js +0 -68
  239. package/esm5/lib/components/shared/pagination/page-selector/page-selector.component.js +0 -64
  240. package/esm5/lib/components/shared/pagination/pagination.component.js +0 -56
  241. package/esm5/lib/components/shared/select/call-to-action.model.js +0 -1
  242. package/esm5/lib/components/shared/select/select-items.dto.js +0 -1
  243. package/esm5/lib/components/shared/select/select.component.js +0 -136
  244. package/esm5/lib/components/shared/table/table.component.js +0 -135
  245. package/esm5/lib/components/upload-list/upload-list.component.js +0 -103
  246. package/esm5/lib/directives/abstract-debounce/abstract-debounce.directive.js +0 -42
  247. package/esm5/lib/directives/abstract-debounce/debounce-keyup.directive.js +0 -28
  248. package/esm5/lib/directives/auto-hide.directive.js +0 -57
  249. package/esm5/lib/directives/copy-to-clipboard.directive.js +0 -42
  250. package/esm5/lib/directives/drag-drop.directive.js +0 -69
  251. package/esm5/lib/directives/loading.directive.js +0 -46
  252. package/esm5/lib/directives/table/checkBoxRow.directive.js +0 -137
  253. package/esm5/lib/directives/table/column.directive.js +0 -50
  254. package/esm5/lib/directives/table/columnHeader.directive.js +0 -229
  255. package/esm5/lib/directives/table/raw.directive.js +0 -34
  256. package/esm5/lib/directives/zindex-toggle.directive.js +0 -54
  257. package/esm5/lib/dto/ImgManagerDisplayConfig.dto.js +0 -1
  258. package/esm5/lib/dto/canva-create-design.dto.js +0 -8
  259. package/esm5/lib/dto/canva.dto.js +0 -8
  260. package/esm5/lib/dto/config/apis/api.dto.js +0 -11
  261. package/esm5/lib/dto/config/external/external-config.dto.js +0 -7
  262. package/esm5/lib/dto/config/image-cdn/image-cdn-config.dto.js +0 -12
  263. package/esm5/lib/dto/export-dtos.api.js +0 -5
  264. package/esm5/lib/dto/img-editor-config.dto.js +0 -1
  265. package/esm5/lib/dto/img-manager.dto.js +0 -1
  266. package/esm5/lib/dto/pexels-img.dto.js +0 -1
  267. package/esm5/lib/dto/picture-name-update.dto.js +0 -1
  268. package/esm5/lib/dto/stateDisplayed.dto.js +0 -1
  269. package/esm5/lib/dto/tabDisplayed.dto.js +0 -1
  270. package/esm5/lib/dto/wizi-block-media.dto.js +0 -7
  271. package/esm5/lib/pipes/images/img-src.pipe.js +0 -30
  272. package/esm5/lib/pipes/number-to-array.pipe.js +0 -17
  273. package/esm5/lib/pipes/pagination/array-total-pages/array-pages.pipe.js +0 -29
  274. package/esm5/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.js +0 -54
  275. package/esm5/lib/pipes/pagination/text/custom-text.pipe.js +0 -37
  276. package/esm5/lib/pipes/pagination/total-pages/is-last-page.pipe.js +0 -26
  277. package/esm5/lib/pipes/select/select-filters.pipe.js +0 -20
  278. package/esm5/lib/services/alert.service.js +0 -62
  279. package/esm5/lib/services/canva.service.js +0 -181
  280. package/esm5/lib/services/config/external-config.service.js +0 -56
  281. package/esm5/lib/services/config/img-cdn.service.js +0 -34
  282. package/esm5/lib/services/dom.service.js +0 -39
  283. package/esm5/lib/services/img-event.service.js +0 -46
  284. package/esm5/lib/services/img-manager.service.js +0 -143
  285. package/esm5/lib/services/img-selection.service.js +0 -143
  286. package/esm5/lib/services/pexels.service.js +0 -72
  287. package/esm5/lib/services/rename-picture.service.js +0 -88
  288. package/esm5/lib/services/table/filters-table.service.js +0 -68
  289. package/esm5/lib/services/user-settings.service.js +0 -30
  290. package/esm5/lib/wz-img-manager.component.js +0 -228
  291. package/esm5/lib/wz-img-manager.module.js +0 -131
  292. package/esm5/public-api.js +0 -11
  293. package/esm5/wizishop-img-manager.js +0 -57
  294. package/fesm2015/wizishop-img-manager.js +0 -4533
  295. package/fesm2015/wizishop-img-manager.js.map +0 -1
  296. package/fesm5/wizishop-img-manager.js +0 -4814
  297. package/fesm5/wizishop-img-manager.js.map +0 -1
  298. package/wizishop-img-manager-0.2.108.tgz +0 -0
  299. package/wizishop-img-manager.d.ts +0 -56
  300. package/wizishop-img-manager.metadata.json +0 -1
@@ -0,0 +1,49 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ImgManagerService } from '../img-manager.service';
3
+ import { ImgCDNService } from './img-cdn.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../img-manager.service";
6
+ import * as i2 from "./img-cdn.service";
7
+ export class ImgManagerConfigService {
8
+ constructor(imgManagerService, imgCDNService) {
9
+ this.imgManagerService = imgManagerService;
10
+ this.imgCDNService = imgCDNService;
11
+ }
12
+ /**
13
+ * Set imgManagerService and imgCDNService
14
+ * Canva and Pexel service retrieve the externalConfig at their initialization
15
+ * @param externalConfig
16
+ */
17
+ setExternalConfig(externalConfig) {
18
+ this.externalConfig = externalConfig;
19
+ this.imgManagerService.setApiConfig(externalConfig.api.image_manager_route, externalConfig.api.shop_token);
20
+ this.imgCDNService.setImgCDNConfig(externalConfig.imgCDNConfig);
21
+ }
22
+ getCanvaApiURL() {
23
+ return this.externalConfig.api.canva_url;
24
+ }
25
+ getCanvaApiToken() {
26
+ return this.externalConfig.api.canva_token;
27
+ }
28
+ getRouteAssets() {
29
+ return this.externalConfig.api.assets_route;
30
+ }
31
+ getPexelsApiURL() {
32
+ return this.externalConfig.api.pexels_route;
33
+ }
34
+ getPexelsApiToken() {
35
+ return this.externalConfig.api.pexels_token;
36
+ }
37
+ getShopCategory() {
38
+ return this.externalConfig.api.shop_category;
39
+ }
40
+ }
41
+ ImgManagerConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerConfigService, deps: [{ token: i1.ImgManagerService }, { token: i2.ImgCDNService }], target: i0.ɵɵFactoryTarget.Injectable });
42
+ ImgManagerConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerConfigService, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerConfigService, decorators: [{
44
+ type: Injectable,
45
+ args: [{
46
+ providedIn: 'root'
47
+ }]
48
+ }], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.ImgCDNService }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZy9leHRlcm5hbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUtsRCxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQ1ksaUJBQW9DLEVBQ3BDLGFBQTRCO1FBRDVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDckMsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxjQUFtQztRQUNuRCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQzlDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQy9DLENBQUM7O29IQTFDVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyQ29uZmlnRHRvIH0gZnJvbSAnLi4vLi4vZHRvL2NvbmZpZy9leHRlcm5hbC9leHRlcm5hbC1jb25maWcuZHRvJztcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vaW1nLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdDRE5TZXJ2aWNlIH0gZnJvbSAnLi9pbWctY2RuLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZSB7XG5cbiAgZXh0ZXJuYWxDb25maWc6IEltZ01hbmFnZXJDb25maWdEdG87XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGltZ01hbmFnZXJTZXJ2aWNlOiBJbWdNYW5hZ2VyU2VydmljZSxcbiAgICAgIHByaXZhdGUgaW1nQ0ROU2VydmljZTogSW1nQ0ROU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFNldCBpbWdNYW5hZ2VyU2VydmljZSBhbmQgaW1nQ0ROU2VydmljZVxuICAgKiBDYW52YSBhbmQgUGV4ZWwgc2VydmljZSByZXRyaWV2ZSB0aGUgZXh0ZXJuYWxDb25maWcgYXQgdGhlaXIgaW5pdGlhbGl6YXRpb25cbiAgICogQHBhcmFtIGV4dGVybmFsQ29uZmlnXG4gICAqL1xuICBzZXRFeHRlcm5hbENvbmZpZyhleHRlcm5hbENvbmZpZzogSW1nTWFuYWdlckNvbmZpZ0R0bykge1xuICAgIHRoaXMuZXh0ZXJuYWxDb25maWcgPSBleHRlcm5hbENvbmZpZztcbiAgICB0aGlzLmltZ01hbmFnZXJTZXJ2aWNlLnNldEFwaUNvbmZpZyhleHRlcm5hbENvbmZpZy5hcGkuaW1hZ2VfbWFuYWdlcl9yb3V0ZSwgZXh0ZXJuYWxDb25maWcuYXBpLnNob3BfdG9rZW4pO1xuICAgIHRoaXMuaW1nQ0ROU2VydmljZS5zZXRJbWdDRE5Db25maWcoZXh0ZXJuYWxDb25maWcuaW1nQ0ROQ29uZmlnKTtcbiAgfVxuXG4gIGdldENhbnZhQXBpVVJMKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsQ29uZmlnLmFwaS5jYW52YV91cmw7XG4gIH1cblxuICBnZXRDYW52YUFwaVRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsQ29uZmlnLmFwaS5jYW52YV90b2tlbjtcbiAgfVxuXG4gIGdldFJvdXRlQXNzZXRzKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsQ29uZmlnLmFwaS5hc3NldHNfcm91dGU7XG4gIH1cblxuICBnZXRQZXhlbHNBcGlVUkwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxDb25maWcuYXBpLnBleGVsc19yb3V0ZTtcbiAgfVxuXG4gIGdldFBleGVsc0FwaVRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsQ29uZmlnLmFwaS5wZXhlbHNfdG9rZW47XG4gIH1cblxuICBnZXRTaG9wQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxDb25maWcuYXBpLnNob3BfY2F0ZWdvcnk7XG4gIH1cbn0iXX0=
@@ -0,0 +1,28 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ImgCDNService {
4
+ constructor() {
5
+ this.imgCDNConfig = null;
6
+ }
7
+ setImgCDNConfig(imgCDNConfig) {
8
+ this.imgCDNConfig = imgCDNConfig;
9
+ }
10
+ getUrlImg(size) {
11
+ const urlProperty = Object.keys(this.imgCDNConfig)
12
+ .filter(url => new RegExp(size, 'i').test(url))[0];
13
+ return this.imgCDNConfig[urlProperty];
14
+ }
15
+ getAllSize() {
16
+ return Object.keys(this.imgCDNConfig)
17
+ .map(elem => elem.match(/_(\w+)_/)[1]);
18
+ }
19
+ }
20
+ ImgCDNService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgCDNService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
+ ImgCDNService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgCDNService, providedIn: 'root' });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgCDNService, decorators: [{
23
+ type: Injectable,
24
+ args: [{
25
+ providedIn: 'root'
26
+ }]
27
+ }], ctorParameters: function () { return []; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWNkbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9jb25maWcvaW1nLWNkbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBSXhCO1FBRkEsaUJBQVksR0FBb0IsSUFBSSxDQUFDO0lBRXRCLENBQUM7SUFFaEIsZUFBZSxDQUFDLFlBQTZCO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBMEM7UUFDbEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNaLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNwQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDVixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6QixDQUFDO0lBQ0osQ0FBQzs7MEdBeEJVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdDRE5Db25maWdEVE8gfSBmcm9tICcuLi8uLi9kdG8vY29uZmlnL2ltYWdlLWNkbi9pbWFnZS1jZG4tY29uZmlnLmR0byc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltZ0NETlNlcnZpY2Uge1xuXG4gIGltZ0NETkNvbmZpZzogSW1nQ0ROQ29uZmlnRFRPID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgc2V0SW1nQ0ROQ29uZmlnKGltZ0NETkNvbmZpZzogSW1nQ0ROQ29uZmlnRFRPKSB7XG4gICAgdGhpcy5pbWdDRE5Db25maWcgPSBpbWdDRE5Db25maWc7XG4gIH1cblxuICBnZXRVcmxJbWcoc2l6ZTogJzEwMCd8JzIwMCd8JzQwMCd8JzgwMCd8J3Jhdyd8c3RyaW5nKSB7XG4gICAgY29uc3QgdXJsUHJvcGVydHkgPSBPYmplY3Qua2V5cyh0aGlzLmltZ0NETkNvbmZpZylcbiAgICAgIC5maWx0ZXIodXJsID0+XG4gICAgICAgIG5ldyBSZWdFeHAoc2l6ZSwgJ2knKS50ZXN0KHVybClcbiAgICAgIClbMF07XG5cbiAgICAgIHJldHVybiB0aGlzLmltZ0NETkNvbmZpZ1t1cmxQcm9wZXJ0eV07XG4gIH1cblxuICBnZXRBbGxTaXplKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pbWdDRE5Db25maWcpXG4gICAgLm1hcChlbGVtID0+XG4gICAgICBlbGVtLm1hdGNoKC9fKFxcdyspXy8pWzFdXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,36 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class DomService {
5
+ constructor() {
6
+ this.documentEventSource = new Subject();
7
+ this.documentEventDone = this.documentEventSource.asObservable();
8
+ this.documentScrollSource = new Subject();
9
+ this.documentScrollDone = this.documentScrollSource.asObservable();
10
+ }
11
+ documentEvent() {
12
+ return this.documentEventDone;
13
+ }
14
+ setDocumentEventListener() {
15
+ document.body.addEventListener('click', event => {
16
+ this.documentEventSource.next(event.target);
17
+ });
18
+ }
19
+ documentScroll() {
20
+ return this.documentScrollDone;
21
+ }
22
+ setScrollEventListener() {
23
+ window.onscroll = () => {
24
+ this.documentScrollSource.next(window);
25
+ };
26
+ }
27
+ }
28
+ DomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ DomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DomService, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DomService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root'
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2RvbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLL0IsTUFBTSxPQUFPLFVBQVU7SUFIdkI7UUFJVSx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLHNCQUFpQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1RCx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3JDLHVCQUFrQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQXFCdkU7SUFuQkMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsTUFBTSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUM7SUFDSixDQUFDOzt1R0F6QlUsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRG9tU2VydmljZSB7XG4gIHByaXZhdGUgZG9jdW1lbnRFdmVudFNvdXJjZSA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgZG9jdW1lbnRFdmVudERvbmUgPSB0aGlzLmRvY3VtZW50RXZlbnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBkb2N1bWVudFNjcm9sbFNvdXJjZSA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgZG9jdW1lbnRTY3JvbGxEb25lID0gdGhpcy5kb2N1bWVudFNjcm9sbFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICBkb2N1bWVudEV2ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50RXZlbnREb25lO1xuICB9XG5cbiAgc2V0RG9jdW1lbnRFdmVudExpc3RlbmVyKCkge1xuICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBldmVudCA9PiB7XG4gICAgICB0aGlzLmRvY3VtZW50RXZlbnRTb3VyY2UubmV4dChldmVudC50YXJnZXQpO1xuICAgIH0pO1xuICB9XG5cbiAgZG9jdW1lbnRTY3JvbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRTY3JvbGxEb25lO1xuICB9XG5cbiAgc2V0U2Nyb2xsRXZlbnRMaXN0ZW5lcigpIHtcbiAgICB3aW5kb3cub25zY3JvbGwgPSAoKSA9PiB7XG4gICAgICB0aGlzLmRvY3VtZW50U2Nyb2xsU291cmNlLm5leHQod2luZG93KTtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,8 +1,7 @@
1
- import { __decorate, __metadata } from "tslib";
2
1
  import { Injectable } from '@angular/core';
3
2
  import { Subject } from "rxjs";
4
3
  import * as i0 from "@angular/core";
5
- let ImgEventService = class ImgEventService {
4
+ export class ImgEventService {
6
5
  constructor() {
7
6
  this.imgToEditEvent = new Subject();
8
7
  this.imgRemoved = new Subject();
@@ -33,13 +32,13 @@ let ImgEventService = class ImgEventService {
33
32
  getlistDisplayedChange() {
34
33
  return this.listDisplayedChange.asObservable();
35
34
  }
36
- };
37
- ImgEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ImgEventService_Factory() { return new ImgEventService(); }, token: ImgEventService, providedIn: "root" });
38
- ImgEventService = __decorate([
39
- Injectable({
40
- providedIn: 'root'
41
- }),
42
- __metadata("design:paramtypes", [])
43
- ], ImgEventService);
44
- export { ImgEventService };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ad2l6aXNob3AvaW1nLW1hbmFnZXIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvaW1nLWV2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQUUxQjtRQUVRLG1CQUFjLEdBQTJCLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQ3RFLGVBQVUsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUNwRCxhQUFRLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDbEQsd0JBQW1CLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7SUFMdkQsQ0FBQztJQU9oQixjQUFjLENBQUMsT0FBZTtRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQseUJBQXlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQXdCO1FBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx3QkFBd0I7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsdUJBQXVCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxzQkFBc0I7UUFDbkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQztDQUNILENBQUE7O0FBeENZLGVBQWU7SUFIM0IsVUFBVSxDQUFDO1FBQ1QsVUFBVSxFQUFFLE1BQU07S0FDbkIsQ0FBQzs7R0FDVSxlQUFlLENBd0MzQjtTQXhDWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICBwcm92aWRlZEluOiAncm9vdCdcbiB9KVxuZXhwb3J0IGNsYXNzIEltZ0V2ZW50U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwcml2YXRlIGltZ1RvRWRpdEV2ZW50OiBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+ID0gbmV3IFN1YmplY3Q8SW1nUGljdHVyZURUTz4oKTtcbiAgcHJpdmF0ZSBpbWdSZW1vdmVkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgaW1nQWRkZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSBsaXN0RGlzcGxheWVkQ2hhbmdlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgZW1pdEltZ1JlbW92ZWQoaWRfZmlsZTogc3RyaW5nKXtcbiAgICAgIHRoaXMuaW1nUmVtb3ZlZC5uZXh0KGlkX2ZpbGUpO1xuICAgfVxuXG4gICBnZXRJbWdSZW1vdmVkRXZlbnRMaXN0bmVyKCl7XG4gICAgICByZXR1cm4gdGhpcy5pbWdSZW1vdmVkLmFzT2JzZXJ2YWJsZSgpO1xuICAgfVxuXG4gICBlbWl0SW1nVG9FZGl0KGltZ1RvRWRpdDogSW1nUGljdHVyZURUTyl7XG4gICAgICB0aGlzLmltZ1RvRWRpdEV2ZW50Lm5leHQoaW1nVG9FZGl0KTtcbiAgIH1cblxuICAgZ2V0SW1nVG9FZGl0RXZlbnRMaXN0bmVyKCl7XG4gICAgICByZXR1cm4gdGhpcy5pbWdUb0VkaXRFdmVudC5hc09ic2VydmFibGUoKTtcbiAgIH1cblxuICAgZW1pdEltZ0FkZGVkKGlkX2ZpbGU6IHN0cmluZyl7XG4gICAgICB0aGlzLmltZ0FkZGVkLm5leHQoaWRfZmlsZSk7XG4gICB9XG5cbiAgIGdldEltZ0FkZGVkRXZlbnRMaXN0bmVyKCl7XG4gICAgICByZXR1cm4gdGhpcy5pbWdBZGRlZC5hc09ic2VydmFibGUoKTtcbiAgIH1cblxuICAgZW1pdGxpc3REaXNwbGF5ZWRDaGFuZ2UodmFsdWU6IGJvb2xlYW4pe1xuICAgICAgdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLm5leHQodmFsdWUpO1xuICAgfVxuXG4gICBnZXRsaXN0RGlzcGxheWVkQ2hhbmdlKCl7XG4gICAgICByZXR1cm4gdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICAgfVxufVxuIl19
35
+ }
36
+ ImgEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
37
+ ImgEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgEventService, providedIn: 'root' });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgEventService, decorators: [{
39
+ type: Injectable,
40
+ args: [{
41
+ providedIn: 'root'
42
+ }]
43
+ }], ctorParameters: function () { return []; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLGVBQWU7SUFFMUI7UUFFUSxtQkFBYyxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN0RSxlQUFVLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDcEQsYUFBUSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ2xELHdCQUFtQixHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0lBTHZELENBQUM7SUFPaEIsY0FBYyxDQUFDLE9BQWU7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELHlCQUF5QjtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUF3QjtRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsd0JBQXdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHVCQUF1QjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQWM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsc0JBQXNCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7OzRHQXZDUyxlQUFlO2dIQUFmLGVBQWUsY0FGYixNQUFNOzJGQUVSLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICBwcm92aWRlZEluOiAncm9vdCdcbiB9KVxuZXhwb3J0IGNsYXNzIEltZ0V2ZW50U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwcml2YXRlIGltZ1RvRWRpdEV2ZW50OiBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+ID0gbmV3IFN1YmplY3Q8SW1nUGljdHVyZURUTz4oKTtcbiAgcHJpdmF0ZSBpbWdSZW1vdmVkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgaW1nQWRkZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSBsaXN0RGlzcGxheWVkQ2hhbmdlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgZW1pdEltZ1JlbW92ZWQoaWRfZmlsZTogc3RyaW5nKXtcbiAgICAgIHRoaXMuaW1nUmVtb3ZlZC5uZXh0KGlkX2ZpbGUpO1xuICAgfVxuXG4gICBnZXRJbWdSZW1vdmVkRXZlbnRMaXN0bmVyKCl7XG4gICAgICByZXR1cm4gdGhpcy5pbWdSZW1vdmVkLmFzT2JzZXJ2YWJsZSgpO1xuICAgfVxuXG4gICBlbWl0SW1nVG9FZGl0KGltZ1RvRWRpdDogSW1nUGljdHVyZURUTyl7XG4gICAgICB0aGlzLmltZ1RvRWRpdEV2ZW50Lm5leHQoaW1nVG9FZGl0KTtcbiAgIH1cblxuICAgZ2V0SW1nVG9FZGl0RXZlbnRMaXN0bmVyKCl7XG4gICAgICByZXR1cm4gdGhpcy5pbWdUb0VkaXRFdmVudC5hc09ic2VydmFibGUoKTtcbiAgIH1cblxuICAgZW1pdEltZ0FkZGVkKGlkX2ZpbGU6IHN0cmluZyl7XG4gICAgICB0aGlzLmltZ0FkZGVkLm5leHQoaWRfZmlsZSk7XG4gICB9XG5cbiAgIGdldEltZ0FkZGVkRXZlbnRMaXN0bmVyKCl7XG4gICAgICByZXR1cm4gdGhpcy5pbWdBZGRlZC5hc09ic2VydmFibGUoKTtcbiAgIH1cblxuICAgZW1pdGxpc3REaXNwbGF5ZWRDaGFuZ2UodmFsdWU6IGJvb2xlYW4pe1xuICAgICAgdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLm5leHQodmFsdWUpO1xuICAgfVxuXG4gICBnZXRsaXN0RGlzcGxheWVkQ2hhbmdlKCl7XG4gICAgICByZXR1cm4gdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICAgfVxufVxuIl19
@@ -0,0 +1,138 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class ImgManagerService {
6
+ constructor(http) {
7
+ this.http = http;
8
+ this.params = new HttpParams().set("limit", "20").set("page", "1");
9
+ // Display the img selection
10
+ this.pageFicheProductConfig = {
11
+ stateDisplayed: 'closed',
12
+ multipleImgMode: true,
13
+ showImgManagerModule: true,
14
+ showSelection: true,
15
+ displayBtn: true,
16
+ pageficheProduct: true
17
+ };
18
+ this.angularFicheProductConfig = {
19
+ stateDisplayed: 'closed',
20
+ multipleImgMode: true,
21
+ showImgManagerModule: true,
22
+ showSelection: true,
23
+ displayBtn: false,
24
+ pageficheProduct: true
25
+ };
26
+ this.wiziblockConfig = {
27
+ stateDisplayed: 'closed',
28
+ multipleImgMode: false,
29
+ showImgManagerModule: true,
30
+ showSelection: false,
31
+ displayBtn: false
32
+ };
33
+ this.simpleWithButtonOpenerConfig = {
34
+ stateDisplayed: 'closed',
35
+ multipleImgMode: false,
36
+ showImgManagerModule: true,
37
+ showSelection: false,
38
+ displayBtn: true
39
+ };
40
+ this.fullWindowConfig = {
41
+ stateDisplayed: 'window',
42
+ multipleImgMode: false,
43
+ showImgManagerModule: true,
44
+ showSelection: false,
45
+ displayBtn: false
46
+ };
47
+ }
48
+ setApiConfig(img_manager_route, shop_token) {
49
+ this.imgManagerRoute = img_manager_route;
50
+ this.shopToken = shop_token;
51
+ }
52
+ getOptionsHeaders(params) {
53
+ const header = { headers: new HttpHeaders({
54
+ Authorization: 'Bearer ' + this.shopToken
55
+ })
56
+ };
57
+ if (params) {
58
+ this.getParams(params);
59
+ header['params'] = this.params;
60
+ }
61
+ return header;
62
+ }
63
+ getShopImgList(params) {
64
+ return this.http.get(`${this.imgManagerRoute}/images`, this.getOptionsHeaders(params));
65
+ }
66
+ getShopTotalImgList(params) {
67
+ return this.http.get(`${this.imgManagerRoute}/total/image`, this.getOptionsHeaders(params));
68
+ }
69
+ getShopImg(idFile) {
70
+ return this.http.get(`${this.imgManagerRoute}/images/${idFile}`, this.getOptionsHeaders());
71
+ }
72
+ getParams(params) {
73
+ this.params = new HttpParams();
74
+ this.params = this.params.set('id_file:sort', 'desc');
75
+ for (const param in params) {
76
+ this.params = this.params.set(param, params[param]);
77
+ }
78
+ }
79
+ uploadFile(formData) {
80
+ return this.http.post(`${this.imgManagerRoute}/images/template`, formData, this.getOptionsHeaders());
81
+ }
82
+ uploadFileByUrl(url, fileName) {
83
+ const body = {
84
+ url,
85
+ fileName
86
+ };
87
+ return this.http.post(`${this.imgManagerRoute}/images/template`, { url, fileName }, this.getOptionsHeaders());
88
+ }
89
+ replaceImg(imageBase64, id_file) {
90
+ const body = {
91
+ imageBase64,
92
+ type: "RAW"
93
+ };
94
+ return this.http.put(`${this.imgManagerRoute}/images/${id_file}/replace`, body, this.getOptionsHeaders());
95
+ }
96
+ changeImgName(fileName, id_file) {
97
+ return this.http.put(`${this.imgManagerRoute}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());
98
+ }
99
+ removeImg(id_file) {
100
+ return this.http.delete(`${this.imgManagerRoute}/images/${id_file}`, this.getOptionsHeaders());
101
+ }
102
+ removeMultipleImg(id_array) {
103
+ return this.http.post(`${this.imgManagerRoute}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());
104
+ }
105
+ getImgManagerDisplayConfig(displayName) {
106
+ switch (displayName) {
107
+ case "window":
108
+ return this.fullWindowConfig;
109
+ case "wizi-block":
110
+ return this.wiziblockConfig;
111
+ case "fiche-product":
112
+ return this.pageFicheProductConfig;
113
+ case "simple-with-button":
114
+ return this.simpleWithButtonOpenerConfig;
115
+ case 'angular-fiche-product':
116
+ return this.angularFicheProductConfig;
117
+ default:
118
+ return;
119
+ }
120
+ }
121
+ getAllImgManagerDisplayConfig() {
122
+ return [
123
+ this.fullWindowConfig,
124
+ this.wiziblockConfig,
125
+ this.pageFicheProductConfig,
126
+ this.simpleWithButtonOpenerConfig,
127
+ ];
128
+ }
129
+ }
130
+ ImgManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
131
+ ImgManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerService, providedIn: 'root' });
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgManagerService, decorators: [{
133
+ type: Injectable,
134
+ args: [{
135
+ providedIn: 'root'
136
+ }]
137
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFRM0UsTUFBTSxPQUFPLGlCQUFpQjtJQWtENUIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQTdDcEMsV0FBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVELDRCQUE0QjtRQUNwQiwyQkFBc0IsR0FBNEI7WUFDeEQsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsSUFBSTtZQUNoQixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUE7UUFFTyw4QkFBeUIsR0FBNEI7WUFDM0QsY0FBYyxFQUFFLFFBQVE7WUFDeEIsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsS0FBSztZQUNqQixnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUE7UUFFTyxvQkFBZSxHQUE0QjtZQUNqRCxjQUFjLEVBQUUsUUFBUTtZQUN4QixlQUFlLEVBQUUsS0FBSztZQUN0QixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLGFBQWEsRUFBRSxLQUFLO1lBQ3BC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QyxzQkFBc0IsQ0FBQztZQUVyQyxLQUFLLG9CQUFvQjtnQkFDdkIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUM7WUFFM0MsS0FBSyx1QkFBdUI7Z0JBQzFCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFBO1lBRXZDO2dCQUNFLE9BQU87U0FDVjtJQUNILENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsT0FBTztZQUNMLElBQUksQ0FBQyxnQkFBZ0I7WUFDckIsSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLHNCQUFzQjtZQUMzQixJQUFJLENBQUMsNEJBQTRCO1NBQ2xDLENBQUE7SUFDSCxDQUFDOzs4R0F0SlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIFBhcmFtc0ltZ01hbmFnZXJEVE8gfSBmcm9tICcuLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltZ01hbmFnZXJTZXJ2aWNlIHtcblxuICBpbWdNYW5hZ2VyUm91dGU6IHN0cmluZztcbiAgc2hvcFRva2VuOiBzdHJpbmc7XG5cbiAgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJsaW1pdFwiLFwiMjBcIikuc2V0KFwicGFnZVwiLFwiMVwiKTtcblxuICAvLyBEaXNwbGF5IHRoZSBpbWcgc2VsZWN0aW9uXG4gIHByaXZhdGUgcGFnZUZpY2hlUHJvZHVjdENvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogdHJ1ZSxcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcbiAgICBzaG93U2VsZWN0aW9uOiB0cnVlLFxuICAgIGRpc3BsYXlCdG46IHRydWUsXG4gICAgcGFnZWZpY2hlUHJvZHVjdDogdHJ1ZVxuICB9XG5cbiAgcHJpdmF0ZSBhbmd1bGFyRmljaGVQcm9kdWN0Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXG4gICAgbXVsdGlwbGVJbWdNb2RlOiB0cnVlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IHRydWUsXG4gICAgZGlzcGxheUJ0bjogZmFsc2UsXG4gICAgcGFnZWZpY2hlUHJvZHVjdDogdHJ1ZVxuICB9XG5cbiAgcHJpdmF0ZSB3aXppYmxvY2tDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IGZhbHNlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxuICAgIGRpc3BsYXlCdG46IGZhbHNlXG4gIH1cblxuICBwcml2YXRlIHNpbXBsZVdpdGhCdXR0b25PcGVuZXJDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcbiAgICBtdWx0aXBsZUltZ01vZGU6IGZhbHNlLFxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxuICAgIGRpc3BsYXlCdG46IHRydWVcbiAgfVxuXG4gIHByaXZhdGUgZnVsbFdpbmRvd0NvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICd3aW5kb3cnLFxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXG4gICAgc2hvd0ltZ01hbmFnZXJNb2R1bGU6IHRydWUsXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXG4gICAgZGlzcGxheUJ0bjogZmFsc2VcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cbiAgc2V0QXBpQ29uZmlnKGltZ19tYW5hZ2VyX3JvdXRlOiBzdHJpbmcsIHNob3BfdG9rZW46IHN0cmluZykge1xuICAgIHRoaXMuaW1nTWFuYWdlclJvdXRlID0gaW1nX21hbmFnZXJfcm91dGU7XG4gICAgdGhpcy5zaG9wVG9rZW4gPSBzaG9wX3Rva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcHRpb25zSGVhZGVycyhwYXJhbXM/OiBQYXJhbXNJbWdNYW5hZ2VyRFRPKSB7XG4gICAgY29uc3QgaGVhZGVyID0geyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgdGhpcy5zaG9wVG9rZW5cbiAgICAgIH0pXG4gICAgfTtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICB0aGlzLmdldFBhcmFtcyhwYXJhbXMpO1xuICAgICAgaGVhZGVyWydwYXJhbXMnXSA9IHRoaXMucGFyYW1zXG4gICAgfVxuICAgIHJldHVybiBoZWFkZXI7XG4gIH1cblxuICBnZXRTaG9wSW1nTGlzdChwYXJhbXM/OiBQYXJhbXNJbWdNYW5hZ2VyRFRPKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzYCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycyhwYXJhbXMpKTtcbiAgfVxuXG4gIGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogUGFyYW1zSW1nTWFuYWdlckRUTyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L3RvdGFsL2ltYWdlYCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycyhwYXJhbXMpKTtcbiAgfVxuXG4gIGdldFNob3BJbWcoaWRGaWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS9pbWFnZXMvJHtpZEZpbGV9YCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIGdldFBhcmFtcyhwYXJhbXM6IFBhcmFtc0ltZ01hbmFnZXJEVE8pe1xuICAgIHRoaXMucGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zLnNldCgnaWRfZmlsZTpzb3J0JywgJ2Rlc2MnKTtcbiAgICBmb3IgKGNvbnN0IHBhcmFtIGluIHBhcmFtcykge1xuICAgICAgdGhpcy5wYXJhbXMgPSB0aGlzLnBhcmFtcy5zZXQocGFyYW0sIHBhcmFtc1twYXJhbV0pO1xuICAgIH1cbiAgfVxuXG4gIHVwbG9hZEZpbGUoZm9ybURhdGE6IEZvcm1EYXRhKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS9pbWFnZXMvdGVtcGxhdGVgLCBmb3JtRGF0YSwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIHVwbG9hZEZpbGVCeVVybCh1cmw6IHN0cmluZywgZmlsZU5hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBib2R5ID0ge1xuICAgICAgdXJsLFxuICAgICAgZmlsZU5hbWVcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJbWdQaWN0dXJlRFRPPihgJHt0aGlzLmltZ01hbmFnZXJSb3V0ZX0vaW1hZ2VzL3RlbXBsYXRlYCwgeyB1cmwsIGZpbGVOYW1lIH0sIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gIH1cblxuICByZXBsYWNlSW1nKGltYWdlQmFzZTY0OiBzdHJpbmcsIGlkX2ZpbGU6IHN0cmluZykge1xuICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICBpbWFnZUJhc2U2NCxcbiAgICAgIHR5cGUgOiBcIlJBV1wiXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS9pbWFnZXMvJHtpZF9maWxlfS9yZXBsYWNlYCwgYm9keSwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy8ke2lkX2ZpbGV9P2ZpbGVfbmFtZT0ke2ZpbGVOYW1lfWAsIG51bGwsIHRoaXMuZ2V0T3B0aW9uc0hlYWRlcnMoKSk7XG4gIH1cblxuICByZW1vdmVJbWcoaWRfZmlsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5pbWdNYW5hZ2VyUm91dGV9L2ltYWdlcy8ke2lkX2ZpbGV9YCwgdGhpcy5nZXRPcHRpb25zSGVhZGVycygpKTtcbiAgfVxuXG4gIHJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5OiBzdHJpbmdbXSl7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuaW1nTWFuYWdlclJvdXRlfS9pbWFnZXMtbXVsdGlwbGUtZGVsZXRlYCwgeyBpZF9hcnJheSB9LCB0aGlzLmdldE9wdGlvbnNIZWFkZXJzKCkpO1xuICB9XG5cbiAgZ2V0SW1nTWFuYWdlckRpc3BsYXlDb25maWcoZGlzcGxheU5hbWU6IFwid2luZG93XCIgfCBcIndpemktYmxvY2tcIiB8IFwiZmljaGUtcHJvZHVjdFwiIHwgXCJzaW1wbGUtd2l0aC1idXR0b25cIiB8ICdhbmd1bGFyLWZpY2hlLXByb2R1Y3QnKSB7XG4gICAgc3dpdGNoIChkaXNwbGF5TmFtZSkge1xuICAgICAgY2FzZSBcIndpbmRvd1wiOlxuICAgICAgICByZXR1cm4gdGhpcy5mdWxsV2luZG93Q29uZmlnO1xuXG4gICAgICBjYXNlIFwid2l6aS1ibG9ja1wiOlxuICAgICAgICByZXR1cm4gdGhpcy53aXppYmxvY2tDb25maWc7XG5cbiAgICAgIGNhc2UgXCJmaWNoZS1wcm9kdWN0XCI6XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VGaWNoZVByb2R1Y3RDb25maWc7XG5cbiAgICAgIGNhc2UgXCJzaW1wbGUtd2l0aC1idXR0b25cIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2ltcGxlV2l0aEJ1dHRvbk9wZW5lckNvbmZpZztcblxuICAgICAgY2FzZSAnYW5ndWxhci1maWNoZS1wcm9kdWN0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYW5ndWxhckZpY2hlUHJvZHVjdENvbmZpZ1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsSW1nTWFuYWdlckRpc3BsYXlDb25maWcoKTogSW1nTWFuYWdlckRpc3BsYXlDb25maWdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuZnVsbFdpbmRvd0NvbmZpZyxcbiAgICAgIHRoaXMud2l6aWJsb2NrQ29uZmlnLFxuICAgICAgdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnLFxuICAgICAgdGhpcy5zaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnLFxuICAgIF1cbiAgfVxufSJdfQ==
@@ -1,8 +1,7 @@
1
- import { __decorate, __metadata } from "tslib";
2
1
  import { Injectable } from '@angular/core';
3
2
  import { Observable, ReplaySubject } from 'rxjs';
4
3
  import * as i0 from "@angular/core";
5
- let ImgSelectionService = class ImgSelectionService {
4
+ export class ImgSelectionService {
6
5
  constructor() {
7
6
  this.imgSelectedList = [];
8
7
  this.multipleImgMode = false;
@@ -114,13 +113,13 @@ let ImgSelectionService = class ImgSelectionService {
114
113
  this.imgSelectedList.splice(toIndex, 0, this.imgSelectedList.splice(fromIndex, 1)[0]);
115
114
  this.emitImgSelectionChange();
116
115
  }
117
- };
118
- ImgSelectionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ImgSelectionService_Factory() { return new ImgSelectionService(); }, token: ImgSelectionService, providedIn: "root" });
119
- ImgSelectionService = __decorate([
120
- Injectable({
121
- providedIn: 'root'
122
- }),
123
- __metadata("design:paramtypes", [])
124
- ], ImgSelectionService);
125
- export { ImgSelectionService };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ltZy1zZWxlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNN0QsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFPNUI7UUFMQSxvQkFBZSxHQUFvQixFQUFFLENBQUM7UUFDdEMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDekIsMkJBQXNCLEdBQXNCLEVBQUUsQ0FBQztRQUMvQyxtQkFBYyxHQUEyQixJQUFJLGFBQWEsRUFBVyxDQUFDO0lBRS9ELENBQUM7SUFFaEIsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLGVBQWUsQ0FBQyxlQUFnQztRQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQSxnRUFBZ0U7UUFFaEcsSUFBSSxlQUFlLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNwRTtRQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBdUI7UUFDbEMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDcEM7UUFDRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE1BQU0sZUFBZSxHQUFHLElBQUksVUFBVSxDQUFrQixVQUFVLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQzdELENBQUM7SUFDTixDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQWU7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDMUIsT0FBTztTQUNWO1FBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLEdBQUcsSUFBSyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3JDLElBQUcsR0FBRyxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckMsTUFBTTthQUNUO1lBQ0QsS0FBSyxFQUFFLENBQUM7U0FDWDtJQUNMLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxZQUFzQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztZQUMxQixPQUFPO1NBQ1Y7UUFFRCxLQUFLLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFFLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLEVBQUU7WUFDbkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDcEQsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUN0QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEM7U0FDSjtJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLGdFQUFnRTtJQUNwRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBa0I7UUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELG1CQUFtQixDQUFDLGVBQWdDO1FBQ2hELDhDQUE4QztRQUM5QyxJQUFJLGVBQWUsRUFBRTtZQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztZQUN2QyxPQUFPO1NBQ1Y7UUFDRCwyQ0FBMkM7UUFDM0MsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVELE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxPQUFnQjtRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNkJBQTZCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxLQUE0QjtRQUNyQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBQ0osQ0FBQTs7QUFsSVksbUJBQW1CO0lBSC9CLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7O0dBQ1csbUJBQW1CLENBa0kvQjtTQWxJWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbWdTZWxlY3Rpb25TZXJ2aWNlIHtcblxuICAgIGltZ1NlbGVjdGVkTGlzdDogSW1nUGljdHVyZURUT1tdID0gW107XG4gICAgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT5bXSA9IFtdO1xuICAgIHByaXZhdGUgaW1nTGlzdExvYWRpbmc6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgZ2V0SW1nU2VsZWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbWdTZWxlY3RlZExpc3Q7XG4gICAgfVxuXG4gICAgLy8gVXNlIGluIGltZyBtYW5hZ2VyIHdlYmVsZW1lbnQsIHdoZW4gdGhlIHByb2R1Y3QgaW1nIHNlbGVjdGlvbiBpcyByZXRyaWV2ZWRcbiAgICBzZXRJbWdTZWxlY3Rpb24oaW1nU2VsZWN0ZWRMaXN0OiBJbWdQaWN0dXJlRFRPW10pIHtcbiAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QubGVuZ3RoID0gMDsvLyBSZW1vdmUgYWxsIHRoZSBlbGVtZW50cyBmcm9tIHRoZSBhcnJheSBhbmQga2VlcCB0aGUgcmVmZXJlbmNlXG5cbiAgICAgICAgaWYgKGltZ1NlbGVjdGVkTGlzdCAmJiBpbWdTZWxlY3RlZExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICBpbWdTZWxlY3RlZExpc3QuZm9yRWFjaChlbGVtID0+IHRoaXMuaW1nU2VsZWN0ZWRMaXN0LnB1c2goZWxlbSkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW1pdEltZ1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgIH1cblxuICAgIGFkZEltZ1NlbGVjdGVkKHBpY3R1cmUgOiBJbWdQaWN0dXJlRFRPKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QucHVzaChwaWN0dXJlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0ID0gW3BpY3R1cmVdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW1pdEltZ1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgIH1cblxuICAgIGdldEltZ1NlbGVjdGlvbkNoYW5nZSgpIHtcbiAgICAgICAgY29uc3Qgb2JzSW1nU2VsZWN0aW9uID0gbmV3IE9ic2VydmFibGU8SW1nUGljdHVyZURUT1tdPihzdWJzY3JpYmVyID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU3Vic2NyaWJlci5wdXNoKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG9ic0ltZ1NlbGVjdGlvbjtcbiAgICB9XG5cbiAgICBlbWl0SW1nU2VsZWN0aW9uQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvblN1YnNjcmliZXIubWFwKG9icyA9PlxuICAgICAgICAgICAgb2JzLm5leHQoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmltZ1NlbGVjdGVkTGlzdCkpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlbW92ZUltZ1NlbGVjdGVkQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuZW1pdEltZ1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgIH1cblxuICAgIHJlbW92ZUltZ1NlbGVjdGVkQnlJZChpZF9maWxlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IGltZyAgb2YgdGhpcy5pbWdTZWxlY3RlZExpc3QpIHtcbiAgICAgICAgICAgIGlmKGltZy5pZF9maWxlID09PSBpZF9maWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVJbWdTZWxlY3RlZEJ5SW5kZXgoaW5kZXgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkX2ZpbGVfbGlzdDogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gdGhpcy5pbWdTZWxlY3RlZExpc3QubGVuZ3RoIC0xOyBpbmRleCA+IC0xIDsgaW5kZXgtLSkge1xuICAgICAgICAgICAgY29uc3QgaWRfZmlsZSA9IHRoaXMuaW1nU2VsZWN0ZWRMaXN0W2luZGV4XS5pZF9maWxlO1xuICAgICAgICAgICAgaWYgKGlkX2ZpbGVfbGlzdC5pbmRleE9mKGlkX2ZpbGUpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlSW1nU2VsZWN0ZWRCeUluZGV4KGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUFsbEltZ1NlbGVjdGVkKCkge1xuICAgICAgICB0aGlzLmltZ1NlbGVjdGVkTGlzdC5sZW5ndGggPSAwO1xuICAgICAgICB0aGlzLmVtaXRJbWdTZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICAgICAgLy8gUmVtb3ZlIGFsbCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgYXJyYXkgYW5kIGtlZXAgdGhlIHJlZmVyZW5jZVxuICAgIH1cblxuICAgIHNldE11bHRpcGxlSW1nTW9kZShhY3RpdmF0ZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5tdWx0aXBsZUltZ01vZGUgPSBhY3RpdmF0ZWQ7XG4gICAgfVxuXG4gICAgaW5pdEltZ1NlbGVjdGVkTGlzdChpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXSkge1xuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgaW1nU2VsZWN0ZWRMaXN0IGZyb20gcGFyYW1ldGVyXG4gICAgICAgIGlmIChpbWdTZWxlY3RlZExpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0ID0gaW1nU2VsZWN0ZWRMaXN0O1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlbW92ZSBhbGwgZWxlbWVudHMgZnJvbSBpbWdTZWxlY3RlZExpc3RcbiAgICAgICAgaWYgKHRoaXMuaW1nU2VsZWN0ZWRMaXN0ICYmIHRoaXMuaW1nU2VsZWN0ZWRMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3Quc3BsaWNlKDAsIHRoaXMuaW1nU2VsZWN0ZWRMaXN0Lmxlbmd0aCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QgPSBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2UgdG8gZGlzcGxheSB0aGUgbG9hZGVyIG9uIGltZyBzZWxlY3Rpb24gbGlzdFxuICAgICAqIEBwYXJhbSBsb2FkaW5nXG4gICAgICovXG4gICAgZW1pdEltZ0xpc3RMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pe1xuICAgICAgICB0aGlzLmltZ0xpc3RMb2FkaW5nLm5leHQobG9hZGluZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlIHRvIGRpc3BsYXkgdGhlIGxvYWRlciBvbiBpbWcgc2VsZWN0aW9uIGxpc3RcbiAgICAgKiBAcGFyYW0gbG9hZGluZ1xuICAgICAqL1xuICAgIGdldEltZ0xpc3RMb2FkaW5nRXZlbnRMaXN0bmVyKCl7XG4gICAgICAgIHJldHVybiB0aGlzLmltZ0xpc3RMb2FkaW5nLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZSBhbmd1bGFyIGNkayBmdW5jdGlvblxuICAgICAqIENhbGxlZCBieSBpbWcgc2VsZWN0aW9uIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIG1vdmVJbWdPcmRlcihldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XG4gICAgICAgIGNvbnN0IGZyb21JbmRleCA9IGV2ZW50LnByZXZpb3VzSW5kZXg7XG4gICAgICAgIGNvbnN0IHRvSW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0LnNwbGljZSh0b0luZGV4LCAwLCB0aGlzLmltZ1NlbGVjdGVkTGlzdC5zcGxpY2UoZnJvbUluZGV4LCAxKVswXSk7XG4gICAgICAgIHRoaXMuZW1pdEltZ1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgIH1cbn1cbiJdfQ==
116
+ }
117
+ ImgSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
118
+ ImgSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgSelectionService, providedIn: 'root' });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ImgSelectionService, decorators: [{
120
+ type: Injectable,
121
+ args: [{
122
+ providedIn: 'root'
123
+ }]
124
+ }], ctorParameters: function () { return []; } });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLG1CQUFtQjtJQU81QjtRQUxBLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUN0QyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUN6QiwyQkFBc0IsR0FBc0IsRUFBRSxDQUFDO1FBQy9DLG1CQUFjLEdBQTJCLElBQUksYUFBYSxFQUFXLENBQUM7SUFFL0QsQ0FBQztJQUVoQixlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsZUFBZSxDQUFDLGVBQWdDO1FBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBLGdFQUFnRTtRQUVoRyxJQUFJLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQzNDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNILElBQUksQ0FBQyxlQUFl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T0FHRztJQUNILGtCQUFrQixDQUFDLE9BQWdCO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDSCw2QkFBNkI7UUFDekIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEtBQTRCO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O2dIQWpJUSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbWdTZWxlY3Rpb25TZXJ2aWNlIHtcblxuICAgIGltZ1NlbGVjdGVkTGlzdDogSW1nUGljdHVyZURUT1tdID0gW107XG4gICAgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT5bXSA9IFtdO1xuICAgIHByaXZhdGUgaW1nTGlzdExvYWRpbmc6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgZ2V0SW1nU2VsZWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbWdTZWxlY3RlZExpc3Q7XG4gICAgfVxuXG4gICAgLy8gVXNlIGluIGltZyBtYW5hZ2VyIHdlYmVsZW1lbnQsIHdoZW4gdGhlIHByb2R1Y3QgaW1nIHNlbGVjdGlvbiBpcyByZXRyaWV2ZWRcbiAgICBzZXRJbWdTZWxlY3Rpb24oaW1nU2VsZWN0ZWRMaXN0OiBJbWdQaWN0dXJlRFRPW10pIHtcbiAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QubGVuZ3RoID0gMDsvLyBSZW1vdmUgYWxsIHRoZSBlbGVtZW50cyBmcm9tIHRoZSBhcnJheSBhbmQga2VlcCB0aGUgcmVmZXJlbmNlXG5cbiAgICAgICAgaWYgKGltZ1NlbGVjdGVkTGlzdCAmJiBpbWdTZWxlY3RlZExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICBpbWdTZWxlY3RlZExpc3QuZm9yRWFjaChlbGVtID0+IHRoaXMuaW1nU2VsZWN0ZWRMaXN0LnB1c2goZWxlbSkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW1pdEltZ1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgIH1cblxuICAgIGFkZEltZ1NlbGVjdGVkKHBpY3R1cmUgOiBJbWdQaWN0dXJlRFRPKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QucHVzaChwaWN0dXJlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0ID0gW3BpY3R1cmVdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW1pdEltZ1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgIH1cblxuICAgIGdldEltZ1NlbGVjdGlvbkNoYW5nZSgpIHtcbiAgICAgICAgY29uc3Qgb2JzSW1nU2VsZWN0aW9uID0gbmV3IE9ic2VydmFibGU8SW1nUGljdHVyZURUT1tdPihzdWJzY3JpYmVyID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU3Vic2NyaWJlci5wdXNoKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG9ic0ltZ1NlbGVjdGlvbjtcbiAgICB9XG5cbiAgICBlbWl0SW1nU2VsZWN0aW9uQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLmltZ1NlbGVjdGlvblN1YnNjcmliZXIubWFwKG9icyA9PlxuICAgICAgICAgICAgb2JzLm5leHQoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmltZ1NlbGVjdGVkTGlzdCkpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlbW92ZUltZ1NlbGVjdGVkQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuZW1pdEltZ1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgIH1cblxuICAgIHJlbW92ZUltZ1NlbGVjdGVkQnlJZChpZF9maWxlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IGltZyAgb2YgdGhpcy5pbWdTZWxlY3RlZExpc3QpIHtcbiAgICAgICAgICAgIGlmKGltZy5pZF9maWxlID09PSBpZF9maWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVJbWdTZWxlY3RlZEJ5SW5kZXgoaW5kZXgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUltZ1NlbGVjdGlvbkJ5SWRzKGlkX2ZpbGVfbGlzdDogc3RyaW5nW10pIHtcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlSW1nTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gdGhpcy5pbWdTZWxlY3RlZExpc3QubGVuZ3RoIC0xOyBpbmRleCA+IC0xIDsgaW5kZXgtLSkge1xuICAgICAgICAgICAgY29uc3QgaWRfZmlsZSA9IHRoaXMuaW1nU2VsZWN0ZWRMaXN0W2luZGV4XS5pZF9maWxlO1xuICAgICAgICAgICAgaWYgKGlkX2ZpbGVfbGlzdC5pbmRleE9mKGlkX2ZpbGUpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlSW1nU2VsZWN0ZWRCeUluZGV4KGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUFsbEltZ1NlbGVjdGVkKCkge1xuICAgICAgICB0aGlzLmltZ1NlbGVjdGVkTGlzdC5sZW5ndGggPSAwO1xuICAgICAgICB0aGlzLmVtaXRJbWdTZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICAgICAgLy8gUmVtb3ZlIGFsbCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgYXJyYXkgYW5kIGtlZXAgdGhlIHJlZmVyZW5jZVxuICAgIH1cblxuICAgIHNldE11bHRpcGxlSW1nTW9kZShhY3RpdmF0ZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5tdWx0aXBsZUltZ01vZGUgPSBhY3RpdmF0ZWQ7XG4gICAgfVxuXG4gICAgaW5pdEltZ1NlbGVjdGVkTGlzdChpbWdTZWxlY3RlZExpc3Q6IEltZ1BpY3R1cmVEVE9bXSkge1xuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgaW1nU2VsZWN0ZWRMaXN0IGZyb20gcGFyYW1ldGVyXG4gICAgICAgIGlmIChpbWdTZWxlY3RlZExpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0ID0gaW1nU2VsZWN0ZWRMaXN0O1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlbW92ZSBhbGwgZWxlbWVudHMgZnJvbSBpbWdTZWxlY3RlZExpc3RcbiAgICAgICAgaWYgKHRoaXMuaW1nU2VsZWN0ZWRMaXN0ICYmIHRoaXMuaW1nU2VsZWN0ZWRMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3Quc3BsaWNlKDAsIHRoaXMuaW1nU2VsZWN0ZWRMaXN0Lmxlbmd0aCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbWdTZWxlY3RlZExpc3QgPSBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2UgdG8gZGlzcGxheSB0aGUgbG9hZGVyIG9uIGltZyBzZWxlY3Rpb24gbGlzdFxuICAgICAqIEBwYXJhbSBsb2FkaW5nXG4gICAgICovXG4gICAgZW1pdEltZ0xpc3RMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pe1xuICAgICAgICB0aGlzLmltZ0xpc3RMb2FkaW5nLm5leHQobG9hZGluZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlIHRvIGRpc3BsYXkgdGhlIGxvYWRlciBvbiBpbWcgc2VsZWN0aW9uIGxpc3RcbiAgICAgKiBAcGFyYW0gbG9hZGluZ1xuICAgICAqL1xuICAgIGdldEltZ0xpc3RMb2FkaW5nRXZlbnRMaXN0bmVyKCl7XG4gICAgICAgIHJldHVybiB0aGlzLmltZ0xpc3RMb2FkaW5nLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZSBhbmd1bGFyIGNkayBmdW5jdGlvblxuICAgICAqIENhbGxlZCBieSBpbWcgc2VsZWN0aW9uIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIG1vdmVJbWdPcmRlcihldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XG4gICAgICAgIGNvbnN0IGZyb21JbmRleCA9IGV2ZW50LnByZXZpb3VzSW5kZXg7XG4gICAgICAgIGNvbnN0IHRvSW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7XG4gICAgICAgIHRoaXMuaW1nU2VsZWN0ZWRMaXN0LnNwbGljZSh0b0luZGV4LCAwLCB0aGlzLmltZ1NlbGVjdGVkTGlzdC5zcGxpY2UoZnJvbUluZGV4LCAxKVswXSk7XG4gICAgICAgIHRoaXMuZW1pdEltZ1NlbGVjdGlvbkNoYW5nZSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
3
+ import { map } from "rxjs/operators";
4
+ import { ImgManagerConfigService } from './config/external-config.service';
5
+ import { TranslateService } from '@ngx-translate/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "./config/external-config.service";
9
+ import * as i3 from "@ngx-translate/core";
10
+ export class PexelsService {
11
+ constructor(http, externalConfigService, translateService) {
12
+ this.http = http;
13
+ this.externalConfigService = externalConfigService;
14
+ this.translateService = translateService;
15
+ this.languages = { 'fr': 'fr-FR', 'en': 'en-US', 'it': 'it-IT', 'es': 'es-ES' };
16
+ this.setLang(this.translateService.currentLang);
17
+ this.translateService.onLangChange.subscribe(langData => {
18
+ this.setLang(langData.lang);
19
+ });
20
+ }
21
+ setLang(lang) {
22
+ this.lang = this.languages[lang] ? this.languages[lang] : 'fr-FR';
23
+ }
24
+ searchOnPexels(toSearch, perPage, page) {
25
+ if (!this.apiBaseUrl || this.apiKey) {
26
+ this.apiBaseUrl = this.externalConfigService.getPexelsApiURL();
27
+ this.apiKey = this.externalConfigService.getPexelsApiToken();
28
+ }
29
+ const httpOptions = {
30
+ headers: new HttpHeaders({
31
+ Authorization: 'Bearer ' + this.apiKey
32
+ })
33
+ };
34
+ let request;
35
+ // If search value is not empty or blank
36
+ if (toSearch && !/^\s*$/.test(toSearch)) {
37
+ request = `/search?query=${toSearch}&per_page=${perPage}&page=${page}&locale=${this.lang}`;
38
+ }
39
+ else { // Search by category or display Pexels selection
40
+ const shopCategory = this.externalConfigService.getShopCategory();
41
+ // Search by shop category
42
+ if (shopCategory && shopCategory !== 'other' && shopCategory !== 'btob') {
43
+ request = `/search?query=${shopCategory}&per_page=${perPage}&page=${page}&locale=en-US`;
44
+ }
45
+ else { // Display Pexels selection
46
+ request = `/curated?per_page=${perPage}&page=${page}`;
47
+ }
48
+ }
49
+ return this.http.get(this.apiBaseUrl + request, httpOptions).pipe(map((data) => {
50
+ return data;
51
+ }));
52
+ }
53
+ }
54
+ PexelsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PexelsService, deps: [{ token: i1.HttpClient }, { token: i2.ImgManagerConfigService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ PexelsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PexelsService, providedIn: 'root' });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: PexelsService, decorators: [{
57
+ type: Injectable,
58
+ args: [{
59
+ providedIn: 'root'
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ImgManagerConfigService }, { type: i3.TranslateService }]; } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGV4ZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3BleGVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBS3ZELE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQ1UsSUFBZ0IsRUFDaEIscUJBQThDLEVBQzlDLGdCQUFrQztRQUZsQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBeUI7UUFDOUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUw1QyxjQUFTLEdBQUcsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFPdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkUsQ0FBQztJQUVGLGNBQWMsQ0FBQyxRQUFnQixFQUFFLE9BQWUsRUFBRSxJQUFZO1FBQzVELElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM5RDtRQUVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsYUFBYSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTTthQUN2QyxDQUFDO1NBQ0gsQ0FBQztRQUVGLElBQUksT0FBTyxDQUFDO1FBRVosd0NBQXdDO1FBQ3hDLElBQUksUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsaUJBQWlCLFFBQVEsYUFBYSxPQUFPLFNBQVMsSUFBSSxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUU1RjthQUFNLEVBQUUsaURBQWlEO1lBQ3hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUVsRSwwQkFBMEI7WUFDMUIsSUFBSSxZQUFZLElBQUksWUFBWSxLQUFLLE9BQU8sSUFBSSxZQUFZLEtBQUssTUFBTSxFQUFFO2dCQUN2RSxPQUFPLEdBQUcsaUJBQWlCLFlBQVksYUFBYSxPQUFPLFNBQVMsSUFBSSxlQUFlLENBQUM7YUFDekY7aUJBQU0sRUFBRSwyQkFBMkI7Z0JBQ2xDLE9BQU8sR0FBRyxxQkFBcUIsT0FBTyxTQUFTLElBQUksRUFBRSxDQUFDO2FBQ3ZEO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OzBHQXZEVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1d6SW1nTGliRHRvfSBmcm9tIFwiLi4vZHRvL3BleGVscy1pbWcuZHRvXCI7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGV4ZWxzU2VydmljZSB7XG4gIGFwaUJhc2VVcmw7XG4gIGFwaUtleTtcbiAgbGFuZzogc3RyaW5nO1xuICBsYW5ndWFnZXMgPSB7J2ZyJzogJ2ZyLUZSJywgJ2VuJzogJ2VuLVVTJywgJ2l0JzogJ2l0LUlUJywgJ2VzJzogJ2VzLUVTJ307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZXRMYW5nKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyk7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUobGFuZ0RhdGEgPT4ge1xuICAgICAgdGhpcy5zZXRMYW5nKGxhbmdEYXRhLmxhbmcpO1xuICAgIH0pXG4gICB9XG5cbiAgIHNldExhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgdGhpcy5sYW5nID0gdGhpcy5sYW5ndWFnZXNbbGFuZ10gPyB0aGlzLmxhbmd1YWdlc1tsYW5nXSA6ICdmci1GUic7XG4gICB9XG5cbiAgc2VhcmNoT25QZXhlbHModG9TZWFyY2g6IHN0cmluZywgcGVyUGFnZTogbnVtYmVyLCBwYWdlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFd6SW1nTGliRHRvPiB7XG4gICAgaWYoIXRoaXMuYXBpQmFzZVVybCB8fCB0aGlzLmFwaUtleSkge1xuICAgICAgdGhpcy5hcGlCYXNlVXJsID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0UGV4ZWxzQXBpVVJMKCk7XG4gICAgICB0aGlzLmFwaUtleSA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldFBleGVsc0FwaVRva2VuKCk7XG4gICAgfVxuXG4gICAgY29uc3QgaHR0cE9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLmFwaUtleVxuICAgICAgfSlcbiAgICB9O1xuXG4gICAgbGV0IHJlcXVlc3Q7XG5cbiAgICAvLyBJZiBzZWFyY2ggdmFsdWUgaXMgbm90IGVtcHR5IG9yIGJsYW5rXG4gICAgaWYgKHRvU2VhcmNoICYmICEvXlxccyokLy50ZXN0KHRvU2VhcmNoKSkge1xuICAgICAgcmVxdWVzdCA9IGAvc2VhcmNoP3F1ZXJ5PSR7dG9TZWFyY2h9JnBlcl9wYWdlPSR7cGVyUGFnZX0mcGFnZT0ke3BhZ2V9JmxvY2FsZT0ke3RoaXMubGFuZ31gO1xuXG4gICAgfSBlbHNlIHsgLy8gU2VhcmNoIGJ5IGNhdGVnb3J5IG9yIGRpc3BsYXkgUGV4ZWxzIHNlbGVjdGlvblxuICAgICAgY29uc3Qgc2hvcENhdGVnb3J5ID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0U2hvcENhdGVnb3J5KCk7XG5cbiAgICAgIC8vIFNlYXJjaCBieSBzaG9wIGNhdGVnb3J5XG4gICAgICBpZiAoc2hvcENhdGVnb3J5ICYmIHNob3BDYXRlZ29yeSAhPT0gJ290aGVyJyAmJiBzaG9wQ2F0ZWdvcnkgIT09ICdidG9iJykge1xuICAgICAgICByZXF1ZXN0ID0gYC9zZWFyY2g/cXVlcnk9JHtzaG9wQ2F0ZWdvcnl9JnBlcl9wYWdlPSR7cGVyUGFnZX0mcGFnZT0ke3BhZ2V9JmxvY2FsZT1lbi1VU2A7XG4gICAgICB9IGVsc2UgeyAvLyBEaXNwbGF5IFBleGVscyBzZWxlY3Rpb25cbiAgICAgICAgcmVxdWVzdCA9IGAvY3VyYXRlZD9wZXJfcGFnZT0ke3BlclBhZ2V9JnBhZ2U9JHtwYWdlfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5hcGlCYXNlVXJsICsgcmVxdWVzdCwgaHR0cE9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IFd6SW1nTGliRHRvKSA9PiB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { debounceTime } from 'rxjs/operators';
4
+ import { ImgManagerService } from './img-manager.service';
5
+ import { AlertService } from './alert.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./img-manager.service";
8
+ import * as i2 from "./alert.service";
9
+ export class RenamePictureService {
10
+ constructor(imgManager, alertService) {
11
+ this.imgManager = imgManager;
12
+ this.alertService = alertService;
13
+ this.picturesList = [];
14
+ this.pictureNameChanged = new Subject();
15
+ this.errorRenameImg = 'ImgManager.ImgList.errorRenameImg';
16
+ this.msgSavingImgName = 'ImgManager.ImgLib.savingImgName';
17
+ this.msgImgNameSaved = 'ImgManager.ImgLib.imgNameSaved';
18
+ this.setEvents();
19
+ }
20
+ setPicturesList(picturesList) {
21
+ this.picturesList = picturesList;
22
+ }
23
+ onRenamePicture(pictureRenamed) {
24
+ this.pictureNameChanged.next(pictureRenamed);
25
+ }
26
+ setEvents() {
27
+ this.pictureNameChanged
28
+ .pipe(debounceTime(800)) // wait 0.8 sec after the last event before emitting last event
29
+ .subscribe((pictureNameUpdate) => {
30
+ this.renamePicture(pictureNameUpdate);
31
+ });
32
+ }
33
+ renamePicture(pictureNameUpdate) {
34
+ const picture = this.getPictureById(pictureNameUpdate.id);
35
+ if (!picture) {
36
+ this.alertService.openAlert(this.errorRenameImg);
37
+ return;
38
+ }
39
+ this.alertService.openAlert(this.msgSavingImgName);
40
+ this.imgManager
41
+ .changeImgName(picture.display_name, picture.id_file)
42
+ .subscribe((data) => {
43
+ picture.display_name = data.display_name;
44
+ this.alertService.openAlert(this.msgImgNameSaved);
45
+ }, (error) => {
46
+ picture.display_name = pictureNameUpdate.previousName;
47
+ this.alertService.openAlert(this.errorRenameImg);
48
+ });
49
+ }
50
+ getPictureById(id_file) {
51
+ if (!this.picturesList) {
52
+ return;
53
+ }
54
+ for (const picture of this.picturesList) {
55
+ if (picture.id_file === id_file) {
56
+ return picture;
57
+ }
58
+ }
59
+ return null;
60
+ }
61
+ }
62
+ RenamePictureService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: RenamePictureService, deps: [{ token: i1.ImgManagerService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ RenamePictureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: RenamePictureService, providedIn: 'root' });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: RenamePictureService, decorators: [{
65
+ type: Injectable,
66
+ args: [{ providedIn: 'root' }]
67
+ }], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.AlertService }]; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLXBpY3R1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUsvQyxNQUFNLE9BQU8sb0JBQW9CO0lBUzdCLFlBQ1UsVUFBNkIsRUFDN0IsWUFBMEI7UUFEMUIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFUNUIsaUJBQVksR0FBb0IsRUFBRSxDQUFDO1FBQ25DLHVCQUFrQixHQUErQixJQUFJLE9BQU8sRUFBcUIsQ0FBQztRQUVsRixtQkFBYyxHQUFHLG1DQUFtQyxDQUFDO1FBQ3JELHFCQUFnQixHQUFHLGlDQUFpQyxDQUFDO1FBQ3JELG9CQUFlLEdBQUcsZ0NBQWdDLENBQUM7UUFPdkQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxlQUFlLENBQUMsWUFBNkI7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUVELGVBQWUsQ0FBQyxjQUFpQztRQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxTQUFTO1FBQ2IsSUFBSSxDQUFDLGtCQUFrQjthQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsK0RBQStEO2FBQ3ZGLFNBQVMsQ0FBQyxDQUFDLGlCQUFtQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGFBQWEsQ0FBQyxpQkFBb0M7UUFDdEQsTUFBTSxPQUFPLEdBQWtCLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRCxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVTthQUNaLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDcEQsU0FBUyxDQUNSLENBQUMsSUFBbUIsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEQsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFHLEVBQUU7WUFDVCxPQUFPLENBQUMsWUFBWSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUNGLENBQUM7SUFDUixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWU7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBRUQsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3ZDLElBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7Z0JBQzlCLE9BQU8sT0FBTyxDQUFDO2FBQ2hCO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOztpSEFsRVEsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FEUixNQUFNOzJGQUNsQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IFBpY3R1cmVOYW1lVXBkYXRlIH0gZnJvbSAnLi4vZHRvL3BpY3R1cmUtbmFtZS11cGRhdGUuZHRvJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUmVuYW1lUGljdHVyZVNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBwaWN0dXJlc0xpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xuICAgIHByaXZhdGUgcGljdHVyZU5hbWVDaGFuZ2VkOiBTdWJqZWN0PFBpY3R1cmVOYW1lVXBkYXRlPiA9IG5ldyBTdWJqZWN0PFBpY3R1cmVOYW1lVXBkYXRlPigpO1xuXG4gICAgcHJpdmF0ZSBlcnJvclJlbmFtZUltZyA9ICdJbWdNYW5hZ2VyLkltZ0xpc3QuZXJyb3JSZW5hbWVJbWcnO1xuICAgIHByaXZhdGUgbXNnU2F2aW5nSW1nTmFtZSA9ICdJbWdNYW5hZ2VyLkltZ0xpYi5zYXZpbmdJbWdOYW1lJztcbiAgICBwcml2YXRlIG1zZ0ltZ05hbWVTYXZlZCA9ICdJbWdNYW5hZ2VyLkltZ0xpYi5pbWdOYW1lU2F2ZWQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICApXG4gICAge1xuICAgICAgICB0aGlzLnNldEV2ZW50cygpO1xuICAgIH1cblxuICAgIHNldFBpY3R1cmVzTGlzdChwaWN0dXJlc0xpc3Q6IEltZ1BpY3R1cmVEVE9bXSkge1xuICAgICAgICB0aGlzLnBpY3R1cmVzTGlzdCA9IHBpY3R1cmVzTGlzdDtcbiAgICB9XG5cbiAgICBvblJlbmFtZVBpY3R1cmUocGljdHVyZVJlbmFtZWQ6IFBpY3R1cmVOYW1lVXBkYXRlKSB7XG4gICAgICAgIHRoaXMucGljdHVyZU5hbWVDaGFuZ2VkLm5leHQocGljdHVyZVJlbmFtZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RXZlbnRzKCkge1xuICAgICAgICB0aGlzLnBpY3R1cmVOYW1lQ2hhbmdlZFxuICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg4MDApKSAvLyB3YWl0IDAuOCBzZWMgYWZ0ZXIgdGhlIGxhc3QgZXZlbnQgYmVmb3JlIGVtaXR0aW5nIGxhc3QgZXZlbnRcbiAgICAgICAgICAuc3Vic2NyaWJlKChwaWN0dXJlTmFtZVVwZGF0ZTpQaWN0dXJlTmFtZVVwZGF0ZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlbmFtZVBpY3R1cmUocGljdHVyZU5hbWVVcGRhdGUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmFtZVBpY3R1cmUocGljdHVyZU5hbWVVcGRhdGU6IFBpY3R1cmVOYW1lVXBkYXRlKSB7XG4gICAgICAgIGNvbnN0IHBpY3R1cmU6IEltZ1BpY3R1cmVEVE8gPSB0aGlzLmdldFBpY3R1cmVCeUlkKHBpY3R1cmVOYW1lVXBkYXRlLmlkKTtcbiAgICAgICAgaWYgKCFwaWN0dXJlKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JSZW5hbWVJbWcpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5tc2dTYXZpbmdJbWdOYW1lKTtcbiAgICAgICAgdGhpcy5pbWdNYW5hZ2VyXG4gICAgICAgICAgLmNoYW5nZUltZ05hbWUocGljdHVyZS5kaXNwbGF5X25hbWUsIHBpY3R1cmUuaWRfZmlsZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGRhdGE6IEltZ1BpY3R1cmVEVE8pID0+IHtcbiAgICAgICAgICAgICAgcGljdHVyZS5kaXNwbGF5X25hbWUgPSBkYXRhLmRpc3BsYXlfbmFtZTtcbiAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMubXNnSW1nTmFtZVNhdmVkKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyb3IpICA9PiB7XG4gICAgICAgICAgICAgIHBpY3R1cmUuZGlzcGxheV9uYW1lID0gcGljdHVyZU5hbWVVcGRhdGUucHJldmlvdXNOYW1lO1xuICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvclJlbmFtZUltZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBpY3R1cmVCeUlkKGlkX2ZpbGU6IHN0cmluZyk6IEltZ1BpY3R1cmVEVE8ge1xuICAgICAgICBpZiAoIXRoaXMucGljdHVyZXNMaXN0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBwaWN0dXJlIG9mIHRoaXMucGljdHVyZXNMaXN0KSB7XG4gICAgICAgICAgaWYocGljdHVyZS5pZF9maWxlID09PSBpZF9maWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gcGljdHVyZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbn0iXX0=