@wizishop/img-manager 18.2.3-beta → 19.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +393 -393
  2. package/assets/i18n/en.json +1 -1
  3. package/assets/i18n/es.json +1 -1
  4. package/assets/i18n/fr.json +1 -1
  5. package/assets/i18n/it.json +1 -1
  6. package/fesm2022/wizishop-img-manager.mjs +1150 -953
  7. package/fesm2022/wizishop-img-manager.mjs.map +1 -1
  8. package/lib/components/images-view/images-actions-handler.d.ts +3 -2
  9. package/lib/components/images-view/images-view.component.d.ts +11 -5
  10. package/lib/components/images-view/table-view/table-view.component.d.ts +1 -0
  11. package/lib/components/img-editor/img-editor.component.d.ts +8 -1
  12. package/lib/components/img-editor/info-video/info-video.component.d.ts +20 -0
  13. package/lib/components/img-editor/show-iframe/show-iframe.component.d.ts +16 -0
  14. package/lib/components/img-selection/img-selection.component.d.ts +4 -3
  15. package/lib/components/img-tabs/img-tabs.component.d.ts +1 -0
  16. package/lib/dto/img-manager.dto.d.ts +9 -0
  17. package/lib/services/api.service.d.ts +1 -0
  18. package/lib/services/img-event.service.d.ts +3 -0
  19. package/lib/services/img-manager.service.d.ts +11 -14
  20. package/lib/services/rename-picture.service.d.ts +1 -0
  21. package/lib/services/table/filters-table.service.d.ts +1 -0
  22. package/lib/services/video-info.service.d.ts +23 -0
  23. package/lib/wz-img-manager.component.d.ts +2 -2
  24. package/lib/wz-img-manager.module.d.ts +46 -44
  25. package/package.json +15 -24
  26. package/wizishop-img-manager-19.0.0-beta.2.tgz +0 -0
  27. package/wz-img-manager.scss +2422 -2112
  28. package/esm2022/lib/animations/easeInOut/ease-in-out.animation.mjs +0 -12
  29. package/esm2022/lib/animations/insertRemove/insert-remove.animation.mjs +0 -9
  30. package/esm2022/lib/animations/listAnnimation/list.animation.mjs +0 -16
  31. package/esm2022/lib/components/canva-btn/canva-btn.component.mjs +0 -73
  32. package/esm2022/lib/components/images-view/images-actions-handler.mjs +0 -168
  33. package/esm2022/lib/components/images-view/images-view.component.mjs +0 -391
  34. package/esm2022/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +0 -70
  35. package/esm2022/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +0 -73
  36. package/esm2022/lib/components/images-view/table-view/table-view.component.mjs +0 -48
  37. package/esm2022/lib/components/img-editor/cropper/cropper.component.mjs +0 -313
  38. package/esm2022/lib/components/img-editor/img-editor.component.mjs +0 -129
  39. package/esm2022/lib/components/img-editor/info-section/info-section.component.mjs +0 -58
  40. package/esm2022/lib/components/img-selection/img-selection.component.mjs +0 -58
  41. package/esm2022/lib/components/img-tabs/img-tabs.component.mjs +0 -128
  42. package/esm2022/lib/components/img-upload/img-upload.component.mjs +0 -133
  43. package/esm2022/lib/components/loader/loader.component.mjs +0 -21
  44. package/esm2022/lib/components/pexels-lib/pexels-lib.component.mjs +0 -211
  45. package/esm2022/lib/components/shared/alert/alert.component.mjs +0 -26
  46. package/esm2022/lib/components/shared/checkbox/checkbox.component.mjs +0 -56
  47. package/esm2022/lib/components/shared/dropdown/dropdown.component.mjs +0 -21
  48. package/esm2022/lib/components/shared/input-search/input-search.component.mjs +0 -53
  49. package/esm2022/lib/components/shared/pagination/page-selector/page-selector.component.mjs +0 -50
  50. package/esm2022/lib/components/shared/pagination/pagination.component.mjs +0 -49
  51. package/esm2022/lib/components/shared/select/call-to-action.model.mjs +0 -2
  52. package/esm2022/lib/components/shared/select/select-items.dto.mjs +0 -2
  53. package/esm2022/lib/components/shared/select/select.component.mjs +0 -117
  54. package/esm2022/lib/components/shared/table/table.component.mjs +0 -124
  55. package/esm2022/lib/components/upload-list/upload-list.component.mjs +0 -85
  56. package/esm2022/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +0 -41
  57. package/esm2022/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +0 -24
  58. package/esm2022/lib/directives/auto-hide.directive.mjs +0 -51
  59. package/esm2022/lib/directives/copy-to-clipboard.directive.mjs +0 -36
  60. package/esm2022/lib/directives/drag-drop.directive.mjs +0 -55
  61. package/esm2022/lib/directives/loading.directive.mjs +0 -43
  62. package/esm2022/lib/directives/table/checkBoxRow.directive.mjs +0 -130
  63. package/esm2022/lib/directives/table/column.directive.mjs +0 -50
  64. package/esm2022/lib/directives/table/columnHeader.directive.mjs +0 -215
  65. package/esm2022/lib/directives/table/raw.directive.mjs +0 -34
  66. package/esm2022/lib/directives/zindex-toggle.directive.mjs +0 -45
  67. package/esm2022/lib/dto/ImgManagerDisplayConfig.dto.mjs +0 -2
  68. package/esm2022/lib/dto/canva-create-design.dto.mjs +0 -9
  69. package/esm2022/lib/dto/canva.dto.mjs +0 -6
  70. package/esm2022/lib/dto/config/apis/api.dto.mjs +0 -11
  71. package/esm2022/lib/dto/config/external/external-config.dto.mjs +0 -5
  72. package/esm2022/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +0 -2
  73. package/esm2022/lib/dto/config/img-manager.mjs +0 -8
  74. package/esm2022/lib/dto/export-dtos.api.mjs +0 -11
  75. package/esm2022/lib/dto/img-editor-config.dto.mjs +0 -2
  76. package/esm2022/lib/dto/img-manager.dto.mjs +0 -2
  77. package/esm2022/lib/dto/pexels-img.dto.mjs +0 -2
  78. package/esm2022/lib/dto/picture-name-update.dto.mjs +0 -2
  79. package/esm2022/lib/dto/stateDisplayed.dto.mjs +0 -2
  80. package/esm2022/lib/dto/tabDisplayed.dto.mjs +0 -2
  81. package/esm2022/lib/dto/wizi-block-media.dto.mjs +0 -7
  82. package/esm2022/lib/pipes/images/img-src.pipe.mjs +0 -29
  83. package/esm2022/lib/pipes/number-to-array.pipe.mjs +0 -16
  84. package/esm2022/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +0 -28
  85. package/esm2022/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +0 -53
  86. package/esm2022/lib/pipes/pagination/text/custom-text.pipe.mjs +0 -36
  87. package/esm2022/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +0 -25
  88. package/esm2022/lib/pipes/select/select-filters.pipe.mjs +0 -19
  89. package/esm2022/lib/services/alert.service.mjs +0 -53
  90. package/esm2022/lib/services/api.service.mjs +0 -10
  91. package/esm2022/lib/services/canva.service.mjs +0 -165
  92. package/esm2022/lib/services/config/img-cdn.service.mjs +0 -21
  93. package/esm2022/lib/services/dom.service.mjs +0 -31
  94. package/esm2022/lib/services/icon.service.mjs +0 -18
  95. package/esm2022/lib/services/image-not-found.service.mjs +0 -13
  96. package/esm2022/lib/services/img-event.service.mjs +0 -33
  97. package/esm2022/lib/services/img-manager.service.mjs +0 -134
  98. package/esm2022/lib/services/img-selection.service.mjs +0 -75
  99. package/esm2022/lib/services/pexels.service.mjs +0 -66
  100. package/esm2022/lib/services/rename-picture.service.mjs +0 -66
  101. package/esm2022/lib/services/snackbar.service.mjs +0 -67
  102. package/esm2022/lib/services/table/filters-table.service.mjs +0 -61
  103. package/esm2022/lib/services/upload.service.mjs +0 -20
  104. package/esm2022/lib/services/user-settings.service.mjs +0 -23
  105. package/esm2022/lib/wz-img-manager.component.mjs +0 -209
  106. package/esm2022/lib/wz-img-manager.module.mjs +0 -225
  107. package/esm2022/public-api.mjs +0 -14
  108. package/esm2022/wizishop-img-manager.mjs +0 -5
  109. package/wizishop-img-manager-18.2.3-beta.tgz +0 -0
@@ -1,12 +0,0 @@
1
- import { animate, state, style, transition, trigger } from '@angular/animations';
2
- export const easeInOut = // the fade-in/fade-out animation.
3
- trigger('easeInOut', [
4
- // the "in" style determines the "resting" state of the element when it is visible.
5
- state('in', style({ opacity: 1 })),
6
- // fade in when created. this could also be written as transition('void => *')
7
- transition(':enter', [
8
- style({ opacity: 0 }),
9
- animate('0.5s ease-in-out')
10
- ]),
11
- ]);
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzZS1pbi1vdXQuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsa0NBQWtDO0NBQzNELE9BQU8sQ0FBQyxXQUFXLEVBQUU7SUFFbkIsbUZBQW1GO0lBQ25GLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7SUFFaEMsOEVBQThFO0lBQzlFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDbkIsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBRTtLQUM3QixDQUFDO0NBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBlYXNlSW5PdXQgPSAvLyB0aGUgZmFkZS1pbi9mYWRlLW91dCBhbmltYXRpb24uXG50cmlnZ2VyKCdlYXNlSW5PdXQnLCBbXG5cbiAgLy8gdGhlIFwiaW5cIiBzdHlsZSBkZXRlcm1pbmVzIHRoZSBcInJlc3RpbmdcIiBzdGF0ZSBvZiB0aGUgZWxlbWVudCB3aGVuIGl0IGlzIHZpc2libGUuXG4gIHN0YXRlKCdpbicsIHN0eWxlKHtvcGFjaXR5OiAxfSkpLFxuXG4gIC8vIGZhZGUgaW4gd2hlbiBjcmVhdGVkLiB0aGlzIGNvdWxkIGFsc28gYmUgd3JpdHRlbiBhcyB0cmFuc2l0aW9uKCd2b2lkID0+IConKVxuICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgc3R5bGUoe29wYWNpdHk6IDB9KSxcbiAgICBhbmltYXRlKCcwLjVzIGVhc2UtaW4tb3V0JyApXG4gIF0pLFxuXSk7XG4iXX0=
@@ -1,9 +0,0 @@
1
- import { animate, style, transition, trigger } from '@angular/animations';
2
- export const insertRemove = // the fade-in/fade-out animation.
3
- trigger('insertRemoveAnnim', [
4
- transition(':enter', [
5
- style({ opacity: 0 }),
6
- animate('0.5s ease-in-out', style({ opacity: 1 })),
7
- ])
8
- ]);
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXJlbW92ZS5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2FuaW1hdGlvbnMvaW5zZXJ0UmVtb3ZlL2luc2VydC1yZW1vdmUuYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsa0NBQWtDO0NBQzlELE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtJQUN2QixVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ25CLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNyQixPQUFPLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDbkQsQ0FBQztDQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRSZW1vdmUgPSAvLyB0aGUgZmFkZS1pbi9mYWRlLW91dCBhbmltYXRpb24uXG50cmlnZ2VyKCdpbnNlcnRSZW1vdmVBbm5pbScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKCcwLjVzIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgICAgIF0pXG5dKTtcbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { stagger } from '@angular/animations';
2
- import { query } from '@angular/animations';
3
- import { animate, style, transition, trigger } from '@angular/animations';
4
- export const listAnnimation = // the fade-in/fade-out animation.
5
- trigger('listAnimation', [
6
- transition(':enter, * => 0, * => -1', []),
7
- transition(':increment', [
8
- query(':enter', [
9
- style({ opacity: 0, transform: 'translateY(100px)' }),
10
- stagger(50, [
11
- animate('500ms cubic-bezier(0.35, 0, 0.25, 1)', style({ opacity: 1, transform: 'none' })),
12
- ]),
13
- ], { optional: true })
14
- ]),
15
- ]);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2FuaW1hdGlvbnMvbGlzdEFubmltYXRpb24vbGlzdC5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGtDQUFrQztDQUNoRSxPQUFPLENBQUMsZUFBZSxFQUFFO0lBQ3ZCLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLENBQUM7SUFDekMsVUFBVSxDQUFDLFlBQVksRUFBRTtRQUN2QixLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztZQUNuRCxPQUFPLENBQUMsRUFBRSxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxzQ0FBc0MsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQzFGLENBQUM7U0FDSCxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3ZCLENBQUM7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdGFnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBxdWVyeSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IGxpc3RBbm5pbWF0aW9uID0gLy8gdGhlIGZhZGUtaW4vZmFkZS1vdXQgYW5pbWF0aW9uLlxudHJpZ2dlcignbGlzdEFuaW1hdGlvbicsIFtcbiAgdHJhbnNpdGlvbignOmVudGVyLCAqID0+IDAsICogPT4gLTEnLCBbXSksXG4gIHRyYW5zaXRpb24oJzppbmNyZW1lbnQnLCBbXG4gICAgcXVlcnkoJzplbnRlcicsIFtcbiAgICAgIHN0eWxlKHtvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMHB4KSd9KSxcbiAgICAgIHN0YWdnZXIoNTAsIFtcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpJywgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdub25lJyB9KSksXG4gICAgICBdKSxcbiAgICBdLCB7IG9wdGlvbmFsOiB0cnVlIH0pXG4gIF0pLFxuXSk7XG4iXX0=
@@ -1,73 +0,0 @@
1
- import { Component, Output, EventEmitter, Input } from '@angular/core';
2
- import { CanvaService } from '../../services/canva.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/canva.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "ngx-scrollbar";
7
- import * as i4 from "../../directives/loading.directive";
8
- import * as i5 from "../../directives/auto-hide.directive";
9
- import * as i6 from "@ngx-translate/core";
10
- export class CanvaBtnComponent {
11
- canvaService;
12
- stateDisplayed;
13
- showImgUploaded = new EventEmitter();
14
- canvaApi;
15
- canvaLogoRouteAssets;
16
- imgLoading = false;
17
- availableFormat = {
18
- 'ImgManager.CanvaBtn.smallSquare': {
19
- 'width': 500,
20
- 'height': 500
21
- },
22
- 'ImgManager.CanvaBtn.mediumSquare': {
23
- 'width': 1000,
24
- 'height': 1000
25
- },
26
- 'ImgManager.CanvaBtn.bigSquare': {
27
- 'width': 2500,
28
- 'height': 2500
29
- }
30
- };
31
- openDropDownMenu = false;
32
- expectedHeight;
33
- expectedWidth;
34
- subs = [];
35
- constructor(canvaService) {
36
- this.canvaService = canvaService;
37
- }
38
- ngOnInit() {
39
- this.canvaLogoRouteAssets = this.canvaService.getCanvaLogo();
40
- this.listenCanvaExpectedSize();
41
- }
42
- listenCanvaExpectedSize() {
43
- // Subcribe to askImg from wizi-block
44
- const subExpectedImgSizesChange = this.canvaService.bindEventExepectedImgSizeChange().subscribe((mediaDTO) => {
45
- if (mediaDTO) {
46
- this.expectedWidth = parseInt(mediaDTO.image_width, 10);
47
- this.expectedHeight = parseInt(mediaDTO.image_height, 10);
48
- }
49
- else {
50
- this.expectedWidth = undefined;
51
- this.expectedHeight = undefined;
52
- }
53
- });
54
- this.subs.push(subExpectedImgSizesChange);
55
- }
56
- onOpenCanva(width, height) {
57
- this.canvaService.openCanva(width, height);
58
- }
59
- ngOnDestroy() {
60
- this.subs.forEach(sub => sub.unsubscribe());
61
- }
62
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CanvaBtnComponent, deps: [{ token: i1.CanvaService }], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: CanvaBtnComponent, selector: "canva-btn", inputs: { stateDisplayed: "stateDisplayed" }, outputs: { showImgUploaded: "showImgUploaded" }, ngImport: i0, template: "<div class=\"canva dropdown is-right is-hoverable\"\r\n wzAutoHide (clickOutside)=\"openDropDownMenu = false;\"\r\n [ngClass]=\"{'is-up': stateDisplayed === 'small', 'noTooltip': stateDisplayed !== 'small'}\"\r\n >\r\n <div class=\"dropdown-trigger\">\r\n <div\r\n class=\"button canva-btn\"\r\n aria-controls=\"dropdown-menuCanva\"\r\n (click)=\"openDropDownMenu = true;\"\r\n >\r\n <span>{{'ImgManager.CanvaBtn.createImg' | translate}}</span>\r\n <img [src]=\"canvaLogoRouteAssets\" class=\"canva-btn__logo\">\r\n\r\n <span btnLoadingAnim class=\"btnLoadingAnnimation\" *ngIf=\"imgLoading\"></span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"dropdown-menu dropDownShadow\"\r\n [ngClass]=\"{'displayDropDownMenu': openDropDownMenu }\"\r\n id=\"dropdown-menuCanva\"\r\n role=\"menu\">\r\n <ng-scrollbar\r\n class=\"smallScroll\"\r\n >\r\n <div class=\"dropdown-content\">\r\n <div class=\"dropdownTitle\">\r\n <p>{{'ImgManager.CanvaBtn.createImg.title' | translate}}</p>\r\n </div>\r\n\r\n <div class=\"infoItem\">\r\n <p>{{'ImgManager.CanvaBtn.info' | translate}}</p>\r\n </div>\r\n\r\n <ng-container >\r\n <div\r\n *ngIf=\"expectedWidth && expectedHeight\"\r\n class=\"dropdown-item-wrapper\"\r\n >\r\n <div class=\"dropdown-item expectedSizes\" (click)=\"onOpenCanva(expectedWidth, expectedHeight)\">\r\n <p>{{'ImgManager.CanvaBtn.recommanded' | translate}}</p><p>{{expectedWidth}}*{{expectedHeight}}</p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div\r\n *ngFor=\"let format of availableFormat| keyvalue\"\r\n class=\"dropdown-item-wrapper\">\r\n <div\r\n (click)=\"onOpenCanva(format.value.width, format.value.height)\"\r\n class=\"dropdown-item\">\r\n <p>{{format.key | translate}}</p><p>{{format.value.width}}*{{format.value.height}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i4.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "directive", type: i5.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CanvaBtnComponent, decorators: [{
66
- type: Component,
67
- args: [{ selector: 'canva-btn', template: "<div class=\"canva dropdown is-right is-hoverable\"\r\n wzAutoHide (clickOutside)=\"openDropDownMenu = false;\"\r\n [ngClass]=\"{'is-up': stateDisplayed === 'small', 'noTooltip': stateDisplayed !== 'small'}\"\r\n >\r\n <div class=\"dropdown-trigger\">\r\n <div\r\n class=\"button canva-btn\"\r\n aria-controls=\"dropdown-menuCanva\"\r\n (click)=\"openDropDownMenu = true;\"\r\n >\r\n <span>{{'ImgManager.CanvaBtn.createImg' | translate}}</span>\r\n <img [src]=\"canvaLogoRouteAssets\" class=\"canva-btn__logo\">\r\n\r\n <span btnLoadingAnim class=\"btnLoadingAnnimation\" *ngIf=\"imgLoading\"></span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"dropdown-menu dropDownShadow\"\r\n [ngClass]=\"{'displayDropDownMenu': openDropDownMenu }\"\r\n id=\"dropdown-menuCanva\"\r\n role=\"menu\">\r\n <ng-scrollbar\r\n class=\"smallScroll\"\r\n >\r\n <div class=\"dropdown-content\">\r\n <div class=\"dropdownTitle\">\r\n <p>{{'ImgManager.CanvaBtn.createImg.title' | translate}}</p>\r\n </div>\r\n\r\n <div class=\"infoItem\">\r\n <p>{{'ImgManager.CanvaBtn.info' | translate}}</p>\r\n </div>\r\n\r\n <ng-container >\r\n <div\r\n *ngIf=\"expectedWidth && expectedHeight\"\r\n class=\"dropdown-item-wrapper\"\r\n >\r\n <div class=\"dropdown-item expectedSizes\" (click)=\"onOpenCanva(expectedWidth, expectedHeight)\">\r\n <p>{{'ImgManager.CanvaBtn.recommanded' | translate}}</p><p>{{expectedWidth}}*{{expectedHeight}}</p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div\r\n *ngFor=\"let format of availableFormat| keyvalue\"\r\n class=\"dropdown-item-wrapper\">\r\n <div\r\n (click)=\"onOpenCanva(format.value.width, format.value.height)\"\r\n class=\"dropdown-item\">\r\n <p>{{format.key | translate}}</p><p>{{format.value.width}}*{{format.value.height}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n</div>\r\n" }]
68
- }], ctorParameters: () => [{ type: i1.CanvaService }], propDecorators: { stateDisplayed: [{
69
- type: Input
70
- }], showImgUploaded: [{
71
- type: Output
72
- }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEtYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9jYW52YS1idG4vY2FudmEtYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9jYW52YS1idG4vY2FudmEtYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQVU1RCxNQUFNLE9BQU8saUJBQWlCO0lBZ0NsQjtJQTlCRCxjQUFjLENBQWlCO0lBRTlCLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRS9DLFFBQVEsQ0FBaUI7SUFDekIsb0JBQW9CLENBQVM7SUFDN0IsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVuQixlQUFlLEdBQUc7UUFDaEIsaUNBQWlDLEVBQUc7WUFDbEMsT0FBTyxFQUFHLEdBQUc7WUFDYixRQUFRLEVBQUcsR0FBRztTQUNmO1FBQ0Qsa0NBQWtDLEVBQUc7WUFDbkMsT0FBTyxFQUFHLElBQUk7WUFDZCxRQUFRLEVBQUcsSUFBSTtTQUNoQjtRQUNELCtCQUErQixFQUFHO1lBQ2hDLE9BQU8sRUFBRyxJQUFJO1lBQ2QsUUFBUSxFQUFHLElBQUk7U0FDaEI7S0FDRixDQUFBO0lBRUQsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBRWxDLGNBQWMsQ0FBUztJQUN2QixhQUFhLENBQVM7SUFDdEIsSUFBSSxHQUFtQixFQUFFLENBQUM7SUFFMUIsWUFDVSxZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUM5QixDQUFDO0lBRVAsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCx1QkFBdUI7UUFDckIscUNBQXFDO1FBQ3JDLE1BQU0seUJBQXlCLEdBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxTQUFTLENBQUUsQ0FBQyxRQUEyQixFQUFFLEVBQUU7WUFDN0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQzt1R0E3RFUsaUJBQWlCOzJGQUFqQixpQkFBaUIsZ0pDWDlCLG83RUF5REE7OzJGRDlDYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsV0FBVztpRkFLWixjQUFjO3NCQUF0QixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW52YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYW52YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FudmFCdXR0b25BcGkgfSBmcm9tICcuLi8uLi9kdG8vY2FudmEuZHRvJztcclxuaW1wb3J0IHsgV2l6aUJsb2NrTWVkaWFEdG8gfSBmcm9tICcuLi8uLi9kdG8vd2l6aS1ibG9jay1tZWRpYS5kdG8nO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2FudmEtYnRuJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FudmEtYnRuLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FudmFCdG5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcclxuXHJcbiAgQE91dHB1dCgpIHNob3dJbWdVcGxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY2FudmFBcGk6IENhbnZhQnV0dG9uQXBpO1xyXG4gIGNhbnZhTG9nb1JvdXRlQXNzZXRzOiBzdHJpbmc7XHJcbiAgaW1nTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBhdmFpbGFibGVGb3JtYXQgPSB7XHJcbiAgICAnSW1nTWFuYWdlci5DYW52YUJ0bi5zbWFsbFNxdWFyZScgOiB7XHJcbiAgICAgICd3aWR0aCcgOiA1MDAsXHJcbiAgICAgICdoZWlnaHQnIDogNTAwXHJcbiAgICB9LFxyXG4gICAgJ0ltZ01hbmFnZXIuQ2FudmFCdG4ubWVkaXVtU3F1YXJlJyA6IHtcclxuICAgICAgJ3dpZHRoJyA6IDEwMDAsXHJcbiAgICAgICdoZWlnaHQnIDogMTAwMFxyXG4gICAgfSxcclxuICAgICdJbWdNYW5hZ2VyLkNhbnZhQnRuLmJpZ1NxdWFyZScgOiB7XHJcbiAgICAgICd3aWR0aCcgOiAyNTAwLFxyXG4gICAgICAnaGVpZ2h0JyA6IDI1MDBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5Ecm9wRG93bk1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZXhwZWN0ZWRIZWlnaHQ6IG51bWJlcjtcclxuICBleHBlY3RlZFdpZHRoOiBudW1iZXI7XHJcbiAgc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNhbnZhU2VydmljZTogQ2FudmFTZXJ2aWNlXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FudmFMb2dvUm91dGVBc3NldHMgPSB0aGlzLmNhbnZhU2VydmljZS5nZXRDYW52YUxvZ28oKTtcclxuICAgIHRoaXMubGlzdGVuQ2FudmFFeHBlY3RlZFNpemUoKTtcclxuICB9XHJcblxyXG4gIGxpc3RlbkNhbnZhRXhwZWN0ZWRTaXplKCkge1xyXG4gICAgLy8gU3ViY3JpYmUgdG8gYXNrSW1nIGZyb20gd2l6aS1ibG9ja1xyXG4gICAgY29uc3Qgc3ViRXhwZWN0ZWRJbWdTaXplc0NoYW5nZSA9XHJcbiAgICAgIHRoaXMuY2FudmFTZXJ2aWNlLmJpbmRFdmVudEV4ZXBlY3RlZEltZ1NpemVDaGFuZ2UoKS5zdWJzY3JpYmUoIChtZWRpYURUTzogV2l6aUJsb2NrTWVkaWFEdG8pID0+IHtcclxuICAgICAgICBpZiAobWVkaWFEVE8pIHtcclxuICAgICAgICAgIHRoaXMuZXhwZWN0ZWRXaWR0aCA9IHBhcnNlSW50KG1lZGlhRFRPLmltYWdlX3dpZHRoLCAxMCk7XHJcbiAgICAgICAgICB0aGlzLmV4cGVjdGVkSGVpZ2h0ID0gcGFyc2VJbnQobWVkaWFEVE8uaW1hZ2VfaGVpZ2h0LCAxMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZXhwZWN0ZWRXaWR0aCA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgIHRoaXMuZXhwZWN0ZWRIZWlnaHQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc3Vicy5wdXNoKHN1YkV4cGVjdGVkSW1nU2l6ZXNDaGFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgb25PcGVuQ2FudmEod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY2FudmFTZXJ2aWNlLm9wZW5DYW52YSh3aWR0aCwgaGVpZ2h0KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhbnZhIGRyb3Bkb3duIGlzLXJpZ2h0IGlzLWhvdmVyYWJsZVwiXHJcbiAgICAgd3pBdXRvSGlkZSAoY2xpY2tPdXRzaWRlKT1cIm9wZW5Ecm9wRG93bk1lbnUgPSBmYWxzZTtcIlxyXG4gICAgW25nQ2xhc3NdPVwieydpcy11cCc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnLCAnbm9Ub29sdGlwJzogc3RhdGVEaXNwbGF5ZWQgIT09ICdzbWFsbCd9XCJcclxuICAgID5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi10cmlnZ2VyXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24gY2FudmEtYnRuXCJcclxuICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJkcm9wZG93bi1tZW51Q2FudmFcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5Ecm9wRG93bk1lbnUgPSB0cnVlO1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7J0ltZ01hbmFnZXIuQ2FudmFCdG4uY3JlYXRlSW1nJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiY2FudmFMb2dvUm91dGVBc3NldHNcIiBjbGFzcz1cImNhbnZhLWJ0bl9fbG9nb1wiPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gYnRuTG9hZGluZ0FuaW0gY2xhc3M9XCJidG5Mb2FkaW5nQW5uaW1hdGlvblwiICpuZ0lmPVwiaW1nTG9hZGluZ1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcERvd25TaGFkb3dcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7J2Rpc3BsYXlEcm9wRG93bk1lbnUnOiBvcGVuRHJvcERvd25NZW51IH1cIlxyXG4gICAgICBpZD1cImRyb3Bkb3duLW1lbnVDYW52YVwiXHJcbiAgICAgIHJvbGU9XCJtZW51XCI+XHJcbiAgICAgICAgPG5nLXNjcm9sbGJhclxyXG4gICAgICAgICAgICBjbGFzcz1cInNtYWxsU2Nyb2xsXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duVGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cD57eydJbWdNYW5hZ2VyLkNhbnZhQnRuLmNyZWF0ZUltZy50aXRsZScgfCB0cmFuc2xhdGV9fTwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvSXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwPnt7J0ltZ01hbmFnZXIuQ2FudmFCdG4uaW5mbycgfCB0cmFuc2xhdGV9fTwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwZWN0ZWRXaWR0aCAmJiBleHBlY3RlZEhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0td3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1pdGVtIGV4cGVjdGVkU2l6ZXNcIiAoY2xpY2spPVwib25PcGVuQ2FudmEoZXhwZWN0ZWRXaWR0aCwgZXhwZWN0ZWRIZWlnaHQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eydJbWdNYW5hZ2VyLkNhbnZhQnRuLnJlY29tbWFuZGVkJyB8IHRyYW5zbGF0ZX19PC9wPjxwPnt7ZXhwZWN0ZWRXaWR0aH19Knt7ZXhwZWN0ZWRIZWlnaHR9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmb3JtYXQgb2YgYXZhaWxhYmxlRm9ybWF0fCBrZXl2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3BlbkNhbnZhKGZvcm1hdC52YWx1ZS53aWR0aCwgZm9ybWF0LnZhbHVlLmhlaWdodClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7Zm9ybWF0LmtleSB8IHRyYW5zbGF0ZX19PC9wPjxwPnt7Zm9ybWF0LnZhbHVlLndpZHRofX0qe3tmb3JtYXQudmFsdWUuaGVpZ2h0fX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1zY3JvbGxiYXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,168 +0,0 @@
1
- import { HttpClient } from "@angular/common/http";
2
- import { Directive, Input, Output, inject } from "@angular/core";
3
- import { EventEmitter } from '@angular/core';
4
- import { TranslateService } from "@ngx-translate/core";
5
- import { AlertService } from "../../services/alert.service";
6
- import { ImgCDNService } from "../../services/config/img-cdn.service";
7
- import { ImgEventService } from "../../services/img-event.service";
8
- import { ImgManagerService } from "../../services/img-manager.service";
9
- import { ImgSelectionService } from "../../services/img-selection.service";
10
- import { ApiService } from "../../services/api.service";
11
- import { ImageNotFoundService } from "../../services/image-not-found.service";
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "../../services/img-manager.service";
14
- import * as i2 from "../../services/img-selection.service";
15
- import * as i3 from "@angular/common/http";
16
- import * as i4 from "../../services/config/img-cdn.service";
17
- import * as i5 from "../../services/img-event.service";
18
- import * as i6 from "../../services/alert.service";
19
- import * as i7 from "@ngx-translate/core";
20
- import * as i8 from "../../services/api.service";
21
- export class ImagesActionHandler {
22
- imgManager;
23
- imgSelectionService;
24
- http;
25
- imgCDNService;
26
- imgEventCardService;
27
- alertService;
28
- translateService;
29
- apiService;
30
- picturesList = [];
31
- picturesListChange = new EventEmitter();
32
- tableFilters = {
33
- sort: undefined,
34
- order: undefined,
35
- searchValue: '',
36
- totalItems: 0,
37
- itemsPerPage: 30,
38
- currentPage: 1
39
- };
40
- displayPexelsResults = false;
41
- disable = false;
42
- disableChange = new EventEmitter();
43
- filtersChange = new EventEmitter();
44
- pictureNameChange = new EventEmitter();
45
- isLoading = false;
46
- stateDisplayed;
47
- previousName; // Use to save the previous picture name, when a user change his name
48
- fakeImgRoute;
49
- getDataAPISub;
50
- errorRemoveImg = 'ImgManager.ImgList.errorRemoveImg';
51
- errorAlreadyUsedImg = 'ImgManager.ImgList.errorAlreadyUsed';
52
- imageNotFoundService = inject(ImageNotFoundService);
53
- constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService) {
54
- this.imgManager = imgManager;
55
- this.imgSelectionService = imgSelectionService;
56
- this.http = http;
57
- this.imgCDNService = imgCDNService;
58
- this.imgEventCardService = imgEventCardService;
59
- this.alertService = alertService;
60
- this.translateService = translateService;
61
- this.apiService = apiService;
62
- }
63
- ngOnInit() {
64
- this.fakeImgRoute = this.apiService.CONFIG.assets_route + 'img/fake.png';
65
- }
66
- /** Event emit when the header checkbox is checked */
67
- onToggleAllCheckBoxRow(event) {
68
- this.picturesList.forEach(data => {
69
- data.delSelected = event;
70
- });
71
- this._pictureListeChange();
72
- }
73
- onToggleDelSelection(index) {
74
- if (this.disable) {
75
- return;
76
- }
77
- this.picturesList[index].delSelected = !this.picturesList[index].delSelected;
78
- this._pictureListeChange();
79
- }
80
- /** Event emit each time filters change */
81
- onFiltersChange() {
82
- this.filtersChange.emit();
83
- }
84
- onEdit(picture) {
85
- this.imgEventCardService.emitImgToEdit(picture);
86
- }
87
- onToggleSelectImg(index) {
88
- if (this.disable || this.stateDisplayed === 'window') {
89
- return;
90
- }
91
- if (!this.picturesList[index].selected) {
92
- this.imgSelectionService.addImgSelected(this.picturesList[index]);
93
- this.picturesList[index].selected = true;
94
- }
95
- else {
96
- this.imgSelectionService.removeImgSelectedById(this.picturesList[index].id_file);
97
- this.picturesList[index].selected = false;
98
- }
99
- }
100
- onRemoveImg(picture) {
101
- picture.deleted = true;
102
- this.imgManager.removeImg(picture.id_file).subscribe(data => {
103
- this.imgEventCardService.imgRemoved$.next(picture.id_file);
104
- this.imgSelectionService.removeImgSelectedById(picture.id_file);
105
- }, error => {
106
- const msg = error.status === 409 ? this.errorAlreadyUsedImg : this.errorRemoveImg;
107
- picture.deleted = false;
108
- this.alertService.openAlert(msg);
109
- });
110
- }
111
- onPictureNotLoading(event) {
112
- this.imageNotFoundService.imageNotFound(event.target.src);
113
- event.target.src = this.fakeImgRoute;
114
- }
115
- onDownloadImg(display_name, file_name) {
116
- this.http.get(this.getRAWImgRoute(file_name), { responseType: 'blob' }).subscribe(val => {
117
- let url = URL.createObjectURL(val);
118
- this.downloadUrl(url, display_name);
119
- URL.revokeObjectURL(url);
120
- });
121
- }
122
- onNameChange(id_file) {
123
- this.pictureNameChange.emit({ id: id_file, previousName: this.previousName });
124
- }
125
- getRAWImgRoute(file_name) {
126
- return this.imgCDNService.getUrlImg('raw') + file_name;
127
- }
128
- _pictureListeChange() {
129
- this.picturesListChange.emit();
130
- }
131
- downloadUrl(url, fileName) {
132
- const a = document.createElement('a');
133
- a.href = url;
134
- a.download = fileName;
135
- a.click();
136
- }
137
- ngDestroy() {
138
- if (this.getDataAPISub) {
139
- this.getDataAPISub.unsubscribe();
140
- }
141
- }
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImagesActionHandler, deps: [{ token: i1.ImgManagerService }, { token: i2.ImgSelectionService }, { token: i3.HttpClient }, { token: i4.ImgCDNService }, { token: i5.ImgEventService }, { token: i6.AlertService }, { token: i7.TranslateService }, { token: i8.ApiService }], target: i0.ɵɵFactoryTarget.Directive });
143
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: ImagesActionHandler, inputs: { picturesList: "picturesList", tableFilters: "tableFilters", displayPexelsResults: "displayPexelsResults", disable: "disable", isLoading: "isLoading", stateDisplayed: "stateDisplayed" }, outputs: { picturesListChange: "picturesListChange", disableChange: "disableChange", filtersChange: "filtersChange", pictureNameChange: "pictureNameChange" }, ngImport: i0 });
144
- }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImagesActionHandler, decorators: [{
146
- type: Directive
147
- }], ctorParameters: () => [{ type: i1.ImgManagerService }, { type: i2.ImgSelectionService }, { type: i3.HttpClient }, { type: i4.ImgCDNService }, { type: i5.ImgEventService }, { type: i6.AlertService }, { type: i7.TranslateService }, { type: i8.ApiService }], propDecorators: { picturesList: [{
148
- type: Input
149
- }], picturesListChange: [{
150
- type: Output
151
- }], tableFilters: [{
152
- type: Input
153
- }], displayPexelsResults: [{
154
- type: Input
155
- }], disable: [{
156
- type: Input
157
- }], disableChange: [{
158
- type: Output
159
- }], filtersChange: [{
160
- type: Output
161
- }], pictureNameChange: [{
162
- type: Output
163
- }], isLoading: [{
164
- type: Input
165
- }], stateDisplayed: [{
166
- type: Input
167
- }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWFjdGlvbnMtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy9pbWFnZXMtYWN0aW9ucy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7O0FBRzlFLE1BQU0sT0FBZ0IsbUJBQW1CO0lBMkN6QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNGO0lBaERWLFlBQVksR0FBb0IsRUFBRSxDQUFDO0lBRW5DLGtCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzVELFlBQVksR0FBaUI7UUFDM0IsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsU0FBUztRQUNoQixXQUFXLEVBQUUsRUFBRTtRQUNmLFVBQVUsRUFBRSxDQUFDO1FBQ2IsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUFFLENBQUM7S0FDZixDQUFDO0lBRUYsb0JBQW9CLEdBQVksS0FBSyxDQUFDO0lBR3RDLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFFekIsYUFBYSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzFELGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRW5DLGlCQUFpQixHQUFvQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRS9ELFNBQVMsR0FBRyxLQUFLLENBQUM7SUFHM0IsY0FBYyxDQUFpQjtJQUUvQixZQUFZLENBQVMsQ0FBQyxxRUFBcUU7SUFDM0YsWUFBWSxDQUFTO0lBRWIsYUFBYSxDQUFlO0lBQzVCLGNBQWMsR0FBRyxtQ0FBbUMsQ0FBQztJQUNyRCxtQkFBbUIsR0FBRyxxQ0FBcUMsQ0FBQztJQUU1RCxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUU1RCxZQUNZLFVBQTZCLEVBQzdCLG1CQUF3QyxFQUN4QyxJQUFnQixFQUNoQixhQUE0QixFQUM1QixtQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ3BDLFVBQXNCO1FBUHBCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWlCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUVoQyxDQUFDO0lBRUgsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQztJQUMzRSxDQUFDO0lBRUMscURBQXFEO0lBQ3JELHNCQUFzQixDQUFDLEtBQUs7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBYTtRQUNoQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDN0UsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXNCO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDckQsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDbEQsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRSxDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUU7WUFDTixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ2xGLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDdkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxZQUFvQixFQUFFLFNBQWlCO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEYsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNwQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFlO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQWlCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3pELENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBVyxFQUFFLFFBQWdCO1FBQy9DLE1BQU0sQ0FBQyxHQUFRLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN0QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7dUdBbEppQixtQkFBbUI7MkZBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUzs4UkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04sa0JBQWtCO3NCQURqQixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsS0FBSztnQkFVTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUdOLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBR1AsaUJBQWlCO3NCQURoQixNQUFNO2dCQUdFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPdXRwdXQsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tIFwiLi4vLi4vZHRvL2V4cG9ydC1kdG9zLmFwaVwiO1xyXG5pbXBvcnQgeyBQaWN0dXJlTmFtZVVwZGF0ZSB9IGZyb20gXCIuLi8uLi9kdG8vcGljdHVyZS1uYW1lLXVwZGF0ZS5kdG9cIjtcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gXCIuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvXCI7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEltZ0NETlNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvY29uZmlnL2ltZy1jZG4uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW1nLWV2ZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJbWdTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2ltZy1zZWxlY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJsZUZpbHRlcnMgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGFibGUvZmlsdGVycy10YWJsZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSW1hZ2VOb3RGb3VuZFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW1hZ2Utbm90LWZvdW5kLnNlcnZpY2VcIjtcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSW1hZ2VzQWN0aW9uSGFuZGxlciB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcGljdHVyZXNMaXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHRhYmxlRmlsdGVyczogVGFibGVGaWx0ZXJzID0ge1xyXG4gICAgICBzb3J0OiB1bmRlZmluZWQsXHJcbiAgICAgIG9yZGVyOiB1bmRlZmluZWQsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiAnJyxcclxuICAgICAgdG90YWxJdGVtczogMCxcclxuICAgICAgaXRlbXNQZXJQYWdlOiAzMCxcclxuICAgICAgY3VycmVudFBhZ2U6IDFcclxuICAgIH07XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZGlzcGxheVBleGVsc1Jlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBkaXNhYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBmaWx0ZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwaWN0dXJlTmFtZUNoYW5nZTogRXZlbnRFbWl0dGVyPFBpY3R1cmVOYW1lVXBkYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xyXG5cclxuICAgIHByZXZpb3VzTmFtZTogc3RyaW5nOyAvLyBVc2UgdG8gc2F2ZSB0aGUgcHJldmlvdXMgcGljdHVyZSBuYW1lLCB3aGVuIGEgdXNlciBjaGFuZ2UgaGlzIG5hbWVcclxuICAgIGZha2VJbWdSb3V0ZTogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgZ2V0RGF0YUFQSVN1YjogU3Vic2NyaXB0aW9uO1xyXG4gICAgcHJpdmF0ZSBlcnJvclJlbW92ZUltZyA9ICdJbWdNYW5hZ2VyLkltZ0xpc3QuZXJyb3JSZW1vdmVJbWcnO1xyXG4gICAgcHJpdmF0ZSBlcnJvckFscmVhZHlVc2VkSW1nID0gJ0ltZ01hbmFnZXIuSW1nTGlzdC5lcnJvckFscmVhZHlVc2VkJztcclxuXHJcbiAgICBwcml2YXRlIGltYWdlTm90Rm91bmRTZXJ2aWNlID0gaW5qZWN0KEltYWdlTm90Rm91bmRTZXJ2aWNlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHJvdGVjdGVkIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgaW1nU2VsZWN0aW9uU2VydmljZTogSW1nU2VsZWN0aW9uU2VydmljZSxcclxuICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgIHByb3RlY3RlZCBpbWdDRE5TZXJ2aWNlOiBJbWdDRE5TZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgaW1nRXZlbnRDYXJkU2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZha2VJbWdSb3V0ZSA9IHRoaXMuYXBpU2VydmljZS5DT05GSUcuYXNzZXRzX3JvdXRlICsgJ2ltZy9mYWtlLnBuZyc7XHJcbiAgfVxyXG5cclxuICAgIC8qKiBFdmVudCBlbWl0IHdoZW4gdGhlIGhlYWRlciBjaGVja2JveCBpcyBjaGVja2VkICovXHJcbiAgICBvblRvZ2dsZUFsbENoZWNrQm94Um93KGV2ZW50KSB7XHJcbiAgICAgIHRoaXMucGljdHVyZXNMaXN0LmZvckVhY2goZGF0YSA9PiB7XHJcbiAgICAgICAgZGF0YS5kZWxTZWxlY3RlZCA9IGV2ZW50O1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fcGljdHVyZUxpc3RlQ2hhbmdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ub2dnbGVEZWxTZWxlY3Rpb24oaW5kZXg6IG51bWJlcikge1xyXG4gICAgICBpZiAodGhpcy5kaXNhYmxlKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucGljdHVyZXNMaXN0W2luZGV4XS5kZWxTZWxlY3RlZCA9ICF0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uZGVsU2VsZWN0ZWQ7XHJcbiAgICAgIHRoaXMuX3BpY3R1cmVMaXN0ZUNoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBFdmVudCBlbWl0IGVhY2ggdGltZSBmaWx0ZXJzIGNoYW5nZSAqL1xyXG4gICAgb25GaWx0ZXJzQ2hhbmdlKCkge1xyXG4gICAgICB0aGlzLmZpbHRlcnNDaGFuZ2UuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRWRpdChwaWN0dXJlOiBJbWdQaWN0dXJlRFRPKSB7XHJcbiAgICAgIHRoaXMuaW1nRXZlbnRDYXJkU2VydmljZS5lbWl0SW1nVG9FZGl0KHBpY3R1cmUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVG9nZ2xlU2VsZWN0SW1nKGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgaWYgKHRoaXMuZGlzYWJsZSB8fCB0aGlzLnN0YXRlRGlzcGxheWVkID09PSAnd2luZG93Jykge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMucGljdHVyZXNMaXN0W2luZGV4XS5zZWxlY3RlZCkge1xyXG4gICAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5hZGRJbWdTZWxlY3RlZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0pO1xyXG4gICAgICAgIHRoaXMucGljdHVyZXNMaXN0W2luZGV4XS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGVkQnlJZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uaWRfZmlsZSk7XHJcbiAgICAgICAgdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblJlbW92ZUltZyhwaWN0dXJlOiBJbWdQaWN0dXJlRFRPKSB7XHJcbiAgICAgIHBpY3R1cmUuZGVsZXRlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuaW1nTWFuYWdlci5yZW1vdmVJbWcocGljdHVyZS5pZF9maWxlKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmltZ0V2ZW50Q2FyZFNlcnZpY2UuaW1nUmVtb3ZlZCQubmV4dChwaWN0dXJlLmlkX2ZpbGUpO1xyXG4gICAgICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGVkQnlJZChwaWN0dXJlLmlkX2ZpbGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbXNnID0gZXJyb3Iuc3RhdHVzID09PSA0MDkgPyAgdGhpcy5lcnJvckFscmVhZHlVc2VkSW1nOiB0aGlzLmVycm9yUmVtb3ZlSW1nO1xyXG4gICAgICAgICAgcGljdHVyZS5kZWxldGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQobXNnKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvblBpY3R1cmVOb3RMb2FkaW5nKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuaW1hZ2VOb3RGb3VuZFNlcnZpY2UuaW1hZ2VOb3RGb3VuZChldmVudC50YXJnZXQuc3JjKTtcclxuICAgICAgZXZlbnQudGFyZ2V0LnNyYyA9IHRoaXMuZmFrZUltZ1JvdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRG93bmxvYWRJbWcoZGlzcGxheV9uYW1lOiBzdHJpbmcsIGZpbGVfbmFtZTogc3RyaW5nKSB7XHJcbiAgICAgIHRoaXMuaHR0cC5nZXQodGhpcy5nZXRSQVdJbWdSb3V0ZShmaWxlX25hbWUpLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pLnN1YnNjcmliZSh2YWwgPT4ge1xyXG4gICAgICAgIGxldCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHZhbCk7XHJcbiAgICAgICAgdGhpcy5kb3dubG9hZFVybCh1cmwsIGRpc3BsYXlfbmFtZSk7XHJcbiAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbk5hbWVDaGFuZ2UoaWRfZmlsZTogc3RyaW5nKSB7XHJcbiAgICAgIHRoaXMucGljdHVyZU5hbWVDaGFuZ2UuZW1pdCh7aWQ6IGlkX2ZpbGUsIHByZXZpb3VzTmFtZTogdGhpcy5wcmV2aW91c05hbWV9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFJBV0ltZ1JvdXRlKGZpbGVfbmFtZTogc3RyaW5nKXtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1nQ0ROU2VydmljZS5nZXRVcmxJbWcoJ3JhdycpICsgZmlsZV9uYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3BpY3R1cmVMaXN0ZUNoYW5nZSgpIHtcclxuICAgICAgdGhpcy5waWN0dXJlc0xpc3RDaGFuZ2UuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZG93bmxvYWRVcmwodXJsOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgY29uc3QgYTogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgICBhLmhyZWYgPSB1cmw7XHJcbiAgICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgYS5jbGljaygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nRGVzdHJveSgpIHtcclxuICAgICAgaWYgKHRoaXMuZ2V0RGF0YUFQSVN1Yikge1xyXG4gICAgICAgIHRoaXMuZ2V0RGF0YUFQSVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19