@wizishop/img-manager 18.2.0 → 18.2.1-beta
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.
- package/esm2022/lib/components/canva-btn/canva-btn.component.mjs +73 -0
- package/esm2022/lib/components/images-view/images-actions-handler.mjs +168 -0
- package/esm2022/lib/components/images-view/images-view.component.mjs +391 -0
- package/esm2022/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +70 -0
- package/esm2022/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +73 -0
- package/esm2022/lib/components/images-view/table-view/table-view.component.mjs +48 -0
- package/esm2022/lib/components/img-editor/cropper/cropper.component.mjs +313 -0
- package/esm2022/lib/components/img-editor/img-editor.component.mjs +129 -0
- package/esm2022/lib/components/img-editor/info-section/info-section.component.mjs +58 -0
- package/esm2022/lib/components/img-selection/img-selection.component.mjs +58 -0
- package/esm2022/lib/components/img-tabs/img-tabs.component.mjs +128 -0
- package/esm2022/lib/components/img-upload/img-upload.component.mjs +133 -0
- package/esm2022/lib/components/loader/loader.component.mjs +21 -0
- package/esm2022/lib/components/pexels-lib/pexels-lib.component.mjs +211 -0
- package/esm2022/lib/components/shared/alert/alert.component.mjs +26 -0
- package/esm2022/lib/components/shared/checkbox/checkbox.component.mjs +56 -0
- package/esm2022/lib/components/shared/dropdown/dropdown.component.mjs +21 -0
- package/esm2022/lib/components/shared/input-search/input-search.component.mjs +53 -0
- package/esm2022/lib/components/shared/pagination/page-selector/page-selector.component.mjs +50 -0
- package/esm2022/lib/components/shared/pagination/pagination.component.mjs +49 -0
- package/esm2022/lib/components/shared/select/select.component.mjs +117 -0
- package/esm2022/lib/components/shared/table/table.component.mjs +124 -0
- package/esm2022/lib/components/upload-list/upload-list.component.mjs +85 -0
- package/esm2022/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +41 -0
- package/{esm2020 → esm2022}/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +5 -5
- package/esm2022/lib/directives/auto-hide.directive.mjs +51 -0
- package/esm2022/lib/directives/copy-to-clipboard.directive.mjs +36 -0
- package/esm2022/lib/directives/drag-drop.directive.mjs +55 -0
- package/esm2022/lib/directives/loading.directive.mjs +43 -0
- package/esm2022/lib/directives/table/checkBoxRow.directive.mjs +130 -0
- package/esm2022/lib/directives/table/column.directive.mjs +50 -0
- package/esm2022/lib/directives/table/columnHeader.directive.mjs +215 -0
- package/esm2022/lib/directives/table/raw.directive.mjs +34 -0
- package/esm2022/lib/directives/zindex-toggle.directive.mjs +45 -0
- package/esm2022/lib/dto/canva-create-design.dto.mjs +9 -0
- package/esm2022/lib/dto/canva.dto.mjs +6 -0
- package/esm2022/lib/dto/config/apis/api.dto.mjs +11 -0
- package/esm2022/lib/dto/config/external/external-config.dto.mjs +5 -0
- package/esm2022/lib/dto/wizi-block-media.dto.mjs +7 -0
- package/esm2022/lib/pipes/images/img-src.pipe.mjs +29 -0
- package/{esm2020 → esm2022}/lib/pipes/number-to-array.pipe.mjs +4 -4
- package/esm2022/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +28 -0
- package/esm2022/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +53 -0
- package/esm2022/lib/pipes/pagination/text/custom-text.pipe.mjs +36 -0
- package/esm2022/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +25 -0
- package/{esm2020 → esm2022}/lib/pipes/select/select-filters.pipe.mjs +4 -4
- package/esm2022/lib/services/alert.service.mjs +53 -0
- package/{esm2020 → esm2022}/lib/services/api.service.mjs +4 -4
- package/esm2022/lib/services/canva.service.mjs +165 -0
- package/esm2022/lib/services/config/img-cdn.service.mjs +21 -0
- package/esm2022/lib/services/dom.service.mjs +31 -0
- package/{esm2020 → esm2022}/lib/services/icon.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/image-not-found.service.mjs +4 -4
- package/esm2022/lib/services/img-event.service.mjs +33 -0
- package/esm2022/lib/services/img-manager.service.mjs +134 -0
- package/esm2022/lib/services/img-selection.service.mjs +75 -0
- package/esm2022/lib/services/pexels.service.mjs +66 -0
- package/esm2022/lib/services/rename-picture.service.mjs +66 -0
- package/esm2022/lib/services/snackbar.service.mjs +67 -0
- package/esm2022/lib/services/table/filters-table.service.mjs +61 -0
- package/esm2022/lib/services/upload.service.mjs +20 -0
- package/esm2022/lib/services/user-settings.service.mjs +23 -0
- package/esm2022/lib/wz-img-manager.component.mjs +209 -0
- package/{esm2020 → esm2022}/lib/wz-img-manager.module.mjs +61 -61
- package/{fesm2020 → fesm2022}/wizishop-img-manager.mjs +1018 -830
- package/fesm2022/wizishop-img-manager.mjs.map +1 -0
- package/lib/components/canva-btn/canva-btn.component.d.ts +1 -1
- package/lib/components/images-view/images-actions-handler.d.ts +2 -1
- package/lib/components/images-view/images-view.component.d.ts +4 -9
- package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +1 -1
- package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +1 -1
- package/lib/components/img-editor/cropper/cropper.component.d.ts +1 -1
- package/lib/components/img-editor/img-editor.component.d.ts +1 -1
- package/lib/components/img-editor/info-section/info-section.component.d.ts +1 -1
- package/lib/components/img-selection/img-selection.component.d.ts +4 -5
- package/lib/components/img-tabs/img-tabs.component.d.ts +1 -1
- package/lib/components/img-upload/img-upload.component.d.ts +1 -1
- package/lib/components/loader/loader.component.d.ts +1 -1
- package/lib/components/pexels-lib/pexels-lib.component.d.ts +1 -1
- package/lib/components/shared/alert/alert.component.d.ts +1 -1
- package/lib/components/shared/checkbox/checkbox.component.d.ts +1 -1
- package/lib/components/shared/dropdown/dropdown.component.d.ts +1 -1
- package/lib/components/shared/input-search/input-search.component.d.ts +1 -1
- package/lib/components/shared/pagination/page-selector/page-selector.component.d.ts +1 -1
- package/lib/components/shared/pagination/pagination.component.d.ts +1 -1
- package/lib/components/shared/select/select.component.d.ts +1 -1
- package/lib/components/shared/table/table.component.d.ts +1 -1
- package/lib/components/upload-list/upload-list.component.d.ts +1 -1
- package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +1 -1
- package/lib/directives/auto-hide.directive.d.ts +1 -1
- package/lib/directives/copy-to-clipboard.directive.d.ts +1 -1
- package/lib/directives/table/checkBoxRow.directive.d.ts +1 -1
- package/lib/directives/table/column.directive.d.ts +1 -1
- package/lib/directives/table/columnHeader.directive.d.ts +1 -1
- package/lib/directives/zindex-toggle.directive.d.ts +1 -1
- package/lib/wz-img-manager.component.d.ts +3 -3
- package/package.json +6 -12
- package/wizishop-img-manager-18.2.1-beta.tgz +0 -0
- package/wz-img-manager.scss +77 -60
- package/esm2020/lib/components/canva-btn/canva-btn.component.mjs +0 -67
- package/esm2020/lib/components/images-view/images-actions-handler.mjs +0 -154
- package/esm2020/lib/components/images-view/images-view.component.mjs +0 -369
- package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +0 -66
- package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +0 -71
- package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +0 -48
- package/esm2020/lib/components/img-editor/cropper/cropper.component.mjs +0 -307
- package/esm2020/lib/components/img-editor/img-editor.component.mjs +0 -124
- package/esm2020/lib/components/img-editor/info-section/info-section.component.mjs +0 -54
- package/esm2020/lib/components/img-selection/img-selection.component.mjs +0 -53
- package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +0 -122
- package/esm2020/lib/components/img-upload/img-upload.component.mjs +0 -126
- package/esm2020/lib/components/loader/loader.component.mjs +0 -21
- package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +0 -203
- package/esm2020/lib/components/shared/alert/alert.component.mjs +0 -27
- package/esm2020/lib/components/shared/checkbox/checkbox.component.mjs +0 -52
- package/esm2020/lib/components/shared/dropdown/dropdown.component.mjs +0 -21
- package/esm2020/lib/components/shared/input-search/input-search.component.mjs +0 -54
- package/esm2020/lib/components/shared/pagination/page-selector/page-selector.component.mjs +0 -49
- package/esm2020/lib/components/shared/pagination/pagination.component.mjs +0 -49
- package/esm2020/lib/components/shared/select/select.component.mjs +0 -110
- package/esm2020/lib/components/shared/table/table.component.mjs +0 -116
- package/esm2020/lib/components/upload-list/upload-list.component.mjs +0 -79
- package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +0 -37
- package/esm2020/lib/directives/auto-hide.directive.mjs +0 -48
- package/esm2020/lib/directives/copy-to-clipboard.directive.mjs +0 -37
- package/esm2020/lib/directives/drag-drop.directive.mjs +0 -57
- package/esm2020/lib/directives/loading.directive.mjs +0 -42
- package/esm2020/lib/directives/table/checkBoxRow.directive.mjs +0 -114
- package/esm2020/lib/directives/table/column.directive.mjs +0 -45
- package/esm2020/lib/directives/table/columnHeader.directive.mjs +0 -204
- package/esm2020/lib/directives/table/raw.directive.mjs +0 -31
- package/esm2020/lib/directives/zindex-toggle.directive.mjs +0 -42
- package/esm2020/lib/dto/canva-create-design.dto.mjs +0 -4
- package/esm2020/lib/dto/canva.dto.mjs +0 -4
- package/esm2020/lib/dto/config/apis/api.dto.mjs +0 -9
- package/esm2020/lib/dto/config/external/external-config.dto.mjs +0 -3
- package/esm2020/lib/dto/wizi-block-media.dto.mjs +0 -3
- package/esm2020/lib/pipes/images/img-src.pipe.mjs +0 -28
- package/esm2020/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +0 -28
- package/esm2020/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +0 -53
- package/esm2020/lib/pipes/pagination/text/custom-text.pipe.mjs +0 -35
- package/esm2020/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +0 -25
- package/esm2020/lib/services/alert.service.mjs +0 -50
- package/esm2020/lib/services/canva.service.mjs +0 -159
- package/esm2020/lib/services/config/img-cdn.service.mjs +0 -23
- package/esm2020/lib/services/dom.service.mjs +0 -33
- package/esm2020/lib/services/img-event.service.mjs +0 -35
- package/esm2020/lib/services/img-manager.service.mjs +0 -136
- package/esm2020/lib/services/img-selection.service.mjs +0 -76
- package/esm2020/lib/services/pexels.service.mjs +0 -62
- package/esm2020/lib/services/rename-picture.service.mjs +0 -63
- package/esm2020/lib/services/snackbar.service.mjs +0 -64
- package/esm2020/lib/services/table/filters-table.service.mjs +0 -60
- package/esm2020/lib/services/upload.service.mjs +0 -22
- package/esm2020/lib/services/user-settings.service.mjs +0 -25
- package/esm2020/lib/wz-img-manager.component.mjs +0 -192
- package/fesm2015/wizishop-img-manager.mjs +0 -4035
- package/fesm2015/wizishop-img-manager.mjs.map +0 -1
- package/fesm2020/wizishop-img-manager.mjs.map +0 -1
- package/wizishop-img-manager-18.2.0.tgz +0 -0
- /package/{esm2020 → esm2022}/lib/animations/easeInOut/ease-in-out.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/animations/insertRemove/insert-remove.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/animations/listAnnimation/list.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/shared/select/call-to-action.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/shared/select/select-items.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/ImgManagerDisplayConfig.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/config/img-manager.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/export-dtos.api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/img-editor-config.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/img-manager.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/pexels-img.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/picture-name-update.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/stateDisplayed.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dto/tabDisplayed.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/wizishop-img-manager.mjs +0 -0
|
@@ -7,13 +7,13 @@ export class SelectFiltersPipe {
|
|
|
7
7
|
return regexp.test(item.name);
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SelectFiltersPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
11
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: SelectFiltersPipe, name: "selectFilters" });
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
SelectFiltersPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SelectFiltersPipe, name: "selectFilters" });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectFiltersPipe, decorators: [{
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SelectFiltersPipe, decorators: [{
|
|
14
14
|
type: Pipe,
|
|
15
15
|
args: [{
|
|
16
16
|
name: 'selectFilters'
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlcnMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvcGlwZXMvc2VsZWN0L3NlbGVjdC1maWx0ZXJzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsU0FBUyxDQUFDLEtBQW1CLEVBQUUsVUFBa0I7UUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMzQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt1R0FOUSxpQkFBaUI7cUdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZUFBZTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvc2VsZWN0L3NlbGVjdC1pdGVtcy5kdG8nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3NlbGVjdEZpbHRlcnMnXG59KVxuXG5leHBvcnQgY2xhc3MgU2VsZWN0RmlsdGVyc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oaXRlbXM6IFNlbGVjdEl0ZW1bXSwgZmlsdGVyTmFtZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+ICB7XG4gICAgICAgICAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKGZpbHRlck5hbWUsICdpJyk7XG4gICAgICAgICAgICByZXR1cm4gcmVnZXhwLnRlc3QoaXRlbS5uYW1lKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
+
import { NwbAlertService } from '@wizishop/ng-wizi-bulma';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@wizishop/ng-wizi-bulma";
|
|
6
|
+
import * as i2 from "@ngx-translate/core";
|
|
7
|
+
export class AlertService {
|
|
8
|
+
nwbAlertService;
|
|
9
|
+
translateService;
|
|
10
|
+
actionMsg = 'ImgManager.alert.action';
|
|
11
|
+
alertConfig = {
|
|
12
|
+
message: '',
|
|
13
|
+
duration: 5000
|
|
14
|
+
};
|
|
15
|
+
alertRefComponent;
|
|
16
|
+
constructor(nwbAlertService, translateService) {
|
|
17
|
+
this.nwbAlertService = nwbAlertService;
|
|
18
|
+
this.translateService = translateService;
|
|
19
|
+
}
|
|
20
|
+
openAlert(msgKey) {
|
|
21
|
+
this.closePreviousAlert();
|
|
22
|
+
this.translateService.get(msgKey).subscribe(trans => {
|
|
23
|
+
this.alertConfig.message = trans;
|
|
24
|
+
this.setAlertColor(msgKey);
|
|
25
|
+
this.alertRefComponent = this.nwbAlertService.open(this.alertConfig);
|
|
26
|
+
this.alertRefComponent.afterClosed().subscribe();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
openAlertWithBackendResponse(msgKey, msgBackend) {
|
|
30
|
+
this.translateService.get(msgKey).subscribe(trans => {
|
|
31
|
+
this.alertConfig.message = trans;
|
|
32
|
+
this.alertConfig.message += '<br/>' + JSON.parse(msgBackend).message;
|
|
33
|
+
this.closePreviousAlert();
|
|
34
|
+
this.alertRefComponent = this.nwbAlertService.open(this.alertConfig);
|
|
35
|
+
this.alertRefComponent.afterClosed().subscribe();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
closePreviousAlert() {
|
|
39
|
+
if (this.alertRefComponent) {
|
|
40
|
+
this.alertRefComponent.dismiss();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
setAlertColor(msgKey) {
|
|
44
|
+
const isErrorMsg = /error/i.test(msgKey);
|
|
45
|
+
this.alertConfig.color = isErrorMsg ? 'is-danger' : 'is-success';
|
|
46
|
+
}
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AlertService, deps: [{ token: i1.NwbAlertService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AlertService });
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AlertService, decorators: [{
|
|
51
|
+
type: Injectable
|
|
52
|
+
}], ctorParameters: () => [{ type: i1.NwbAlertService }, { type: i2.TranslateService }] });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvYWxlcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUcxRCxNQUFNLE9BQU8sWUFBWTtJQVlUO0lBQ0E7SUFYWixTQUFTLEdBQUcseUJBQXlCLENBQUM7SUFFdEMsV0FBVyxHQUFtQjtRQUM1QixPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQTtJQUVPLGlCQUFpQixDQUFvQjtJQUU3QyxZQUNZLGVBQWdDLEVBQ2hDLGdCQUFrQztRQURsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN2QyxDQUFDO0lBRVIsU0FBUyxDQUFDLE1BQWM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsTUFBYyxFQUFFLFVBQWtCO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFFckUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWM7UUFDbEMsTUFBTSxVQUFVLEdBQVksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ25FLENBQUM7dUdBL0NRLFlBQVk7MkdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTndiQWxlcnRDb25maWcsIE53YkFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnQHdpemlzaG9wL25nLXdpemktYnVsbWEnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE53YkFsZXJ0U2VydmljZSB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XHJcblxyXG4gICAgYWN0aW9uTXNnID0gJ0ltZ01hbmFnZXIuYWxlcnQuYWN0aW9uJztcclxuXHJcbiAgICBhbGVydENvbmZpZzogTndiQWxlcnRDb25maWcgPSB7XHJcbiAgICAgIG1lc3NhZ2U6ICcnLFxyXG4gICAgICBkdXJhdGlvbjogNTAwMFxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWxlcnRSZWZDb21wb25lbnQ6IE53YkFsZXJ0Q29tcG9uZW50O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbndiQWxlcnRTZXJ2aWNlOiBOd2JBbGVydFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgICAgICAgKSB7fVxyXG5cclxuICAgIG9wZW5BbGVydChtc2dLZXk6IHN0cmluZykge1xyXG4gICAgICB0aGlzLmNsb3NlUHJldmlvdXNBbGVydCgpO1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KG1zZ0tleSkuc3Vic2NyaWJlKHRyYW5zID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRDb25maWcubWVzc2FnZSA9IHRyYW5zO1xyXG4gICAgICAgICAgdGhpcy5zZXRBbGVydENvbG9yKG1zZ0tleSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5hbGVydFJlZkNvbXBvbmVudCA9IHRoaXMubndiQWxlcnRTZXJ2aWNlLm9wZW4odGhpcy5hbGVydENvbmZpZyk7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0UmVmQ29tcG9uZW50LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5BbGVydFdpdGhCYWNrZW5kUmVzcG9uc2UobXNnS2V5OiBzdHJpbmcsIG1zZ0JhY2tlbmQ6IHN0cmluZykge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KG1zZ0tleSkuc3Vic2NyaWJlKHRyYW5zID0+IHtcclxuICAgICAgICB0aGlzLmFsZXJ0Q29uZmlnLm1lc3NhZ2UgPSB0cmFucztcclxuICAgICAgICB0aGlzLmFsZXJ0Q29uZmlnLm1lc3NhZ2UgKz0gJzxici8+JyArIEpTT04ucGFyc2UobXNnQmFja2VuZCkubWVzc2FnZTtcclxuXHJcbiAgICAgICAgdGhpcy5jbG9zZVByZXZpb3VzQWxlcnQoKTtcclxuICAgICAgICB0aGlzLmFsZXJ0UmVmQ29tcG9uZW50ID0gdGhpcy5ud2JBbGVydFNlcnZpY2Uub3Blbih0aGlzLmFsZXJ0Q29uZmlnKTtcclxuICAgICAgICB0aGlzLmFsZXJ0UmVmQ29tcG9uZW50LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2xvc2VQcmV2aW91c0FsZXJ0KCkge1xyXG4gICAgICBpZiAodGhpcy5hbGVydFJlZkNvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRSZWZDb21wb25lbnQuZGlzbWlzcygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRBbGVydENvbG9yKG1zZ0tleTogc3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IGlzRXJyb3JNc2c6IGJvb2xlYW4gPSAvZXJyb3IvaS50ZXN0KG1zZ0tleSk7XHJcbiAgICAgIHRoaXMuYWxlcnRDb25maWcuY29sb3IgPSBpc0Vycm9yTXNnID8gJ2lzLWRhbmdlcicgOiAnaXMtc3VjY2Vzcyc7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class ApiService {
|
|
4
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ApiService });
|
|
4
6
|
}
|
|
5
|
-
|
|
6
|
-
ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiService });
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiService, decorators: [{
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ApiService, decorators: [{
|
|
8
8
|
type: Injectable
|
|
9
9
|
}] });
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBZ0IsVUFBVTt1R0FBVixVQUFVOzJHQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuXHJcbiAgICBhYnN0cmFjdCBDT05GSUc6IHtcclxuICAgICAgICBpbWFnZV9tYW5hZ2VyX3JvdXRlOiBzdHJpbmc7XHJcbiAgICAgICAgY2FudmFfdG9rZW46IHN0cmluZztcclxuICAgICAgICBjYW52YV91cmw6IHN0cmluZztcclxuICAgICAgICBwZXhlbHNfdG9rZW46IHN0cmluZ1xyXG4gICAgICAgIHBleGVsc19yb3V0ZTogc3RyaW5nO1xyXG4gICAgICAgIGFzc2V0c19yb3V0ZTogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGFic3RyYWN0IElNR19TSVpFIDogSW1nQ0ROQ29uZmlnRFRPO1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BDYXRlZ29yeSgpOiBzdHJpbmc7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0U2hvcEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8SW1nUGljdHVyZXNEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVwbGFjZUltZyhpbWFnZUJhc2U2NDogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVJbWcoaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVNdWx0aXBsZUltZyhpZF9hcnJheTogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE9bXT47XHJcblxyXG59Il19
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Observable, BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { AlertService } from './alert.service';
|
|
4
|
+
import { ImgEventService } from './img-event.service';
|
|
5
|
+
import { take } from 'rxjs/operators';
|
|
6
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
7
|
+
import { UploadService } from './upload.service';
|
|
8
|
+
import { ApiService } from './api.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "./img-event.service";
|
|
11
|
+
import * as i2 from "./alert.service";
|
|
12
|
+
import * as i3 from "@ngx-translate/core";
|
|
13
|
+
import * as i4 from "./upload.service";
|
|
14
|
+
import * as i5 from "./api.service";
|
|
15
|
+
export class CanvaService {
|
|
16
|
+
wzImgEventService;
|
|
17
|
+
alertService;
|
|
18
|
+
translateService;
|
|
19
|
+
uploadService;
|
|
20
|
+
apiService;
|
|
21
|
+
canvaApi; // Object use to manage the canva api
|
|
22
|
+
get canvaApiURL() {
|
|
23
|
+
return this.apiService.CONFIG.canva_url;
|
|
24
|
+
}
|
|
25
|
+
;
|
|
26
|
+
get canvaApiKey() {
|
|
27
|
+
return this.apiService.CONFIG.canva_token;
|
|
28
|
+
}
|
|
29
|
+
imgLoading = false;
|
|
30
|
+
uploadingImg = 'ImgManager.CanvaBtn.uploadingImg';
|
|
31
|
+
successUploadPhoto = 'ImgManager.CanvaBtn.successImport';
|
|
32
|
+
errorUploadCanvaImg = 'ImgManager.CanvaBtn.errorUploadCanvaImg';
|
|
33
|
+
errorRenameCanvaImg = 'ImgManager.CanvaBtn.errorRenameCanvaImg';
|
|
34
|
+
forceToOpenCanva = false;
|
|
35
|
+
bindExpectedImgSizeEvent = new BehaviorSubject(null);
|
|
36
|
+
bindExpectedSizeDone = this.bindExpectedImgSizeEvent.asObservable();
|
|
37
|
+
constructor(wzImgEventService, alertService, translateService, uploadService, apiService) {
|
|
38
|
+
this.wzImgEventService = wzImgEventService;
|
|
39
|
+
this.alertService = alertService;
|
|
40
|
+
this.translateService = translateService;
|
|
41
|
+
this.uploadService = uploadService;
|
|
42
|
+
this.apiService = apiService;
|
|
43
|
+
}
|
|
44
|
+
getCanvaLogo() {
|
|
45
|
+
return this.apiService.CONFIG.assets_route + "canva/icon_canva.svg";
|
|
46
|
+
}
|
|
47
|
+
bindEventExepectedImgSizeChange() {
|
|
48
|
+
return this.bindExpectedSizeDone;
|
|
49
|
+
}
|
|
50
|
+
expectedImgSizesChange(mediaDTO) {
|
|
51
|
+
this.bindExpectedImgSizeEvent.next(mediaDTO);
|
|
52
|
+
if (this.forceToOpenCanva) {
|
|
53
|
+
this.openCanva(parseInt(mediaDTO.image_width), parseInt(mediaDTO.image_height));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
getCanvaApi() {
|
|
57
|
+
return new Observable(observer => {
|
|
58
|
+
this.loadCanva().subscribe({
|
|
59
|
+
complete: () => {
|
|
60
|
+
if (this.canvaApi && Canva.DesignButton) {
|
|
61
|
+
observer.next(this.canvaApi);
|
|
62
|
+
observer.complete();
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.initializeCanva(observer);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
initializeCanva(observer) {
|
|
72
|
+
if (Canva.DesignButton) {
|
|
73
|
+
Canva.DesignButton.initialize({
|
|
74
|
+
apiKey: this.canvaApiKey
|
|
75
|
+
}).then((canvaApi) => {
|
|
76
|
+
this.canvaApi = canvaApi;
|
|
77
|
+
observer.next(this.canvaApi);
|
|
78
|
+
observer.complete();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
loadCanva() {
|
|
83
|
+
return new Observable(observer => {
|
|
84
|
+
if (this.canvaApi) {
|
|
85
|
+
observer.complete();
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.loadCanvaScript(observer);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
loadCanvaScript(observer) {
|
|
93
|
+
const node = document.createElement('script');
|
|
94
|
+
node.src = this.canvaApiURL;
|
|
95
|
+
node.type = 'text/javascript';
|
|
96
|
+
node.async = false;
|
|
97
|
+
node.charset = 'utf-8';
|
|
98
|
+
node.onload = () => {
|
|
99
|
+
observer.complete();
|
|
100
|
+
};
|
|
101
|
+
document.getElementsByTagName('head')[0].appendChild(node);
|
|
102
|
+
}
|
|
103
|
+
openCanva(width, height) {
|
|
104
|
+
if (this.imgLoading) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.getCanvaApi().pipe(take(1)).subscribe((api) => {
|
|
108
|
+
this.canvaApi = api;
|
|
109
|
+
this.addOverflowBody();
|
|
110
|
+
this.createDesign(width, height);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
addOverflowBody() {
|
|
114
|
+
document.body.classList.add('ovh-canva');
|
|
115
|
+
}
|
|
116
|
+
removeOverflowBody() {
|
|
117
|
+
document.body.classList.remove('ovh-canva');
|
|
118
|
+
}
|
|
119
|
+
createDesign(width, height) {
|
|
120
|
+
const createDesign = {
|
|
121
|
+
type: 'EtsyShopIcon',
|
|
122
|
+
dimensions: {
|
|
123
|
+
units: 'px',
|
|
124
|
+
width: width ? width : undefined,
|
|
125
|
+
height: height ? height : undefined,
|
|
126
|
+
},
|
|
127
|
+
publishLabel: this.translateService.instant('ImgManager.CanvaBtn.publish'),
|
|
128
|
+
};
|
|
129
|
+
this.canvaApi.createDesign({
|
|
130
|
+
design: createDesign,
|
|
131
|
+
onDesignPublish: ({ exportUrl, designTitle }) => this.designPublished(exportUrl, designTitle),
|
|
132
|
+
onDesignClose: () => {
|
|
133
|
+
this.removeOverflowBody();
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
designPublished(exportUrl, designTitle) {
|
|
138
|
+
this.alertService.openAlert(this.uploadingImg);
|
|
139
|
+
this.imgLoading = true;
|
|
140
|
+
this.uploadService.uploadFileByUrl(exportUrl, designTitle).pipe(take(1)).subscribe({
|
|
141
|
+
next: (img) => {
|
|
142
|
+
this.imgLoading = false;
|
|
143
|
+
this.removeOverflowBody();
|
|
144
|
+
this.wzImgEventService.emitImgAdded(img.id_file);
|
|
145
|
+
this.alertService.openAlert(this.successUploadPhoto);
|
|
146
|
+
},
|
|
147
|
+
error: error => {
|
|
148
|
+
this.imgLoading = false;
|
|
149
|
+
this.removeOverflowBody();
|
|
150
|
+
if (error.error.code === 406 && error.error.message) {
|
|
151
|
+
this.alertService.openAlertWithBackendResponse(this.errorUploadCanvaImg, error.error.message);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
this.alertService.openAlert(this.errorUploadCanvaImg);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CanvaService, deps: [{ token: i1.ImgEventService }, { token: i2.AlertService }, { token: i3.TranslateService }, { token: i4.UploadService }, { token: i5.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
160
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CanvaService });
|
|
161
|
+
}
|
|
162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CanvaService, decorators: [{
|
|
163
|
+
type: Injectable
|
|
164
|
+
}], ctorParameters: () => [{ type: i1.ImgEventService }, { type: i2.AlertService }, { type: i3.TranslateService }, { type: i4.UploadService }, { type: i5.ApiService }] });
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvY2FudmEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUzNDLE1BQU0sT0FBTyxZQUFZO0lBc0JiO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF4QlYsUUFBUSxDQUFBLENBQUMscUNBQXFDO0lBQzlDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFBQSxDQUFDO0lBQ0YsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDNUMsQ0FBQztJQUVELFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsWUFBWSxHQUFHLGtDQUFrQyxDQUFDO0lBQ2xELGtCQUFrQixHQUFHLG1DQUFtQyxDQUFDO0lBQ3pELG1CQUFtQixHQUFHLHlDQUF5QyxDQUFDO0lBQ2hFLG1CQUFtQixHQUFHLHlDQUF5QyxD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SUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDdkQsQ0FBQztZQUNELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBRTFCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQy9GLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTlKVSxZQUFZOzJHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmliZXIsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDYW52YUJ1dHRvbkFwaSB9IGZyb20gJy4uL2R0by9jYW52YS5kdG8nO1xyXG5pbXBvcnQgeyBXaXppQmxvY2tNZWRpYUR0byB9IGZyb20gJy4uL2R0by93aXppLWJsb2NrLW1lZGlhLmR0byc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4vaW1nLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYW52YUNyZWF0ZURlc2lnbiB9IGZyb20gJy4uL2R0by9jYW52YS1jcmVhdGUtZGVzaWduLmR0byc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4vdXBsb2FkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XHJcblxyXG5kZWNsYXJlIGxldCBDYW52YSAgOiB7XHJcbiAgRGVzaWduQnV0dG9uIDoge1xyXG4gICAgaW5pdGlhbGl6ZTogKG9wdHM6IHsgYXBpS2V5OiBzdHJpbmcgfSkgPT4gUHJvbWlzZTxDYW52YUJ1dHRvbkFwaT47XHJcbiAgfVxyXG59O1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2FudmFTZXJ2aWNlIHtcclxuXHJcbiAgY2FudmFBcGkgLy8gT2JqZWN0IHVzZSB0byBtYW5hZ2UgdGhlIGNhbnZhIGFwaVxyXG4gIGdldCBjYW52YUFwaVVSTCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmNhbnZhX3VybDtcclxuICB9O1xyXG4gIGdldCBjYW52YUFwaUtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmNhbnZhX3Rva2VuO1xyXG4gIH1cclxuXHJcbiAgaW1nTG9hZGluZyA9IGZhbHNlO1xyXG4gIHVwbG9hZGluZ0ltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLnVwbG9hZGluZ0ltZyc7XHJcbiAgc3VjY2Vzc1VwbG9hZFBob3RvID0gJ0ltZ01hbmFnZXIuQ2FudmFCdG4uc3VjY2Vzc0ltcG9ydCc7XHJcbiAgZXJyb3JVcGxvYWRDYW52YUltZyA9ICdJbWdNYW5hZ2VyLkNhbnZhQnRuLmVycm9yVXBsb2FkQ2FudmFJbWcnO1xyXG4gIGVycm9yUmVuYW1lQ2FudmFJbWcgPSAnSW1nTWFuYWdlci5DYW52YUJ0bi5lcnJvclJlbmFtZUNhbnZhSW1nJztcclxuXHJcbiAgZm9yY2VUb09wZW5DYW52YTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGJpbmRFeHBlY3RlZEltZ1NpemVFdmVudDogQmVoYXZpb3JTdWJqZWN0PFdpemlCbG9ja01lZGlhRHRvPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2l6aUJsb2NrTWVkaWFEdG8+KG51bGwpO1xyXG4gIHByaXZhdGUgYmluZEV4cGVjdGVkU2l6ZURvbmUgPSB0aGlzLmJpbmRFeHBlY3RlZEltZ1NpemVFdmVudC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHd6SW1nRXZlbnRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBnZXRDYW52YUxvZ28oKSB7XHJcbiAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuQ09ORklHLmFzc2V0c19yb3V0ZSArIFwiY2FudmEvaWNvbl9jYW52YS5zdmdcIjtcclxuICB9XHJcblxyXG4gIGJpbmRFdmVudEV4ZXBlY3RlZEltZ1NpemVDaGFuZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5iaW5kRXhwZWN0ZWRTaXplRG9uZTtcclxuICB9XHJcblxyXG4gIGV4cGVjdGVkSW1nU2l6ZXNDaGFuZ2UgKG1lZGlhRFRPOiBXaXppQmxvY2tNZWRpYUR0byl7XHJcbiAgICB0aGlzLmJpbmRFeHBlY3RlZEltZ1NpemVFdmVudC5uZXh0KG1lZGlhRFRPKTtcclxuICAgIGlmICh0aGlzLmZvcmNlVG9PcGVuQ2FudmEpIHtcclxuICAgICAgdGhpcy5vcGVuQ2FudmEocGFyc2VJbnQobWVkaWFEVE8uaW1hZ2Vfd2lkdGgpLCBwYXJzZUludChtZWRpYURUTy5pbWFnZV9oZWlnaHQpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENhbnZhQXBpKCk6T2JzZXJ2YWJsZTxDYW52YUJ1dHRvbkFwaT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcclxuICAgIHRoaXMubG9hZENhbnZhKCkuc3Vic2NyaWJlKHtcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLmNhbnZhQXBpICYmIENhbnZhLkRlc2lnbkJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLmNhbnZhQXBpKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDYW52YShvYnNlcnZlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2FudmEob2JzZXJ2ZXI6IFN1YnNjcmliZXI8Q2FudmFCdXR0b25BcGk+KSB7XHJcbiAgICBpZiAoQ2FudmEuRGVzaWduQnV0dG9uKSB7XHJcbiAgICAgIENhbnZhLkRlc2lnbkJ1dHRvbi5pbml0aWFsaXplKHtcclxuICAgICAgICBhcGlLZXk6IHRoaXMuY2FudmFBcGlLZXlcclxuXHJcbiAgICAgIH0pLnRoZW4oKGNhbnZhQXBpKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jYW52YUFwaSA9ICBjYW52YUFwaTtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuY2FudmFBcGkpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ2FudmEoKTpPYnNlcnZhYmxlPG51bGw+IHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcclxuICAgICAgICBpZih0aGlzLmNhbnZhQXBpKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ2FudmFTY3JpcHQob2JzZXJ2ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDYW52YVNjcmlwdChvYnNlcnZlcjogU3Vic2NyaWJlcjxudWxsPikge1xyXG5cclxuICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIG5vZGUuc3JjID0gdGhpcy5jYW52YUFwaVVSTDtcclxuICAgIG5vZGUudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xyXG4gICAgbm9kZS5hc3luYyA9IGZhbHNlO1xyXG4gICAgbm9kZS5jaGFyc2V0ID0gJ3V0Zi04JztcclxuICAgIG5vZGUub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChub2RlKTtcclxuICB9XHJcblxyXG4gIG9wZW5DYW52YSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuaW1nTG9hZGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldENhbnZhQXBpKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGFwaTogQ2FudmFCdXR0b25BcGkpID0+IHtcclxuICAgICAgdGhpcy5jYW52YUFwaSA9IGFwaTtcclxuICAgICAgdGhpcy5hZGRPdmVyZmxvd0JvZHkoKTtcclxuICAgICAgdGhpcy5jcmVhdGVEZXNpZ24od2lkdGgsIGhlaWdodCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkT3ZlcmZsb3dCb2R5KCkge1xyXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdvdmgtY2FudmEnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlT3ZlcmZsb3dCb2R5KCkge1xyXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdvdmgtY2FudmEnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRGVzaWduKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCAgY3JlYXRlRGVzaWduOiBDYW52YUNyZWF0ZURlc2lnbiA9IHtcclxuICAgICAgdHlwZTogJ0V0c3lTaG9wSWNvbicsXHJcbiAgICAgIGRpbWVuc2lvbnMgOiB7XHJcbiAgICAgICAgdW5pdHM6ICdweCcsXHJcbiAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGggOiB1bmRlZmluZWQsXHJcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHQgPyBoZWlnaHQgOiB1bmRlZmluZWQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHB1Ymxpc2hMYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ltZ01hbmFnZXIuQ2FudmFCdG4ucHVibGlzaCcpLFxyXG4gICAgfTtcclxuICAgIHRoaXMuY2FudmFBcGkuY3JlYXRlRGVzaWduKHtcclxuICAgICAgZGVzaWduOiBjcmVhdGVEZXNpZ24sXHJcbiAgICAgIG9uRGVzaWduUHVibGlzaDogKHsgZXhwb3J0VXJsLCBkZXNpZ25UaXRsZSB9KSA9PiB0aGlzLmRlc2lnblB1Ymxpc2hlZChleHBvcnRVcmwsIGRlc2lnblRpdGxlKSxcclxuICAgICAgb25EZXNpZ25DbG9zZTogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlT3ZlcmZsb3dCb2R5KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzaWduUHVibGlzaGVkKGV4cG9ydFVybDogc3RyaW5nLCBkZXNpZ25UaXRsZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy51cGxvYWRpbmdJbWcpO1xyXG4gICAgdGhpcy5pbWdMb2FkaW5nID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZEZpbGVCeVVybChleHBvcnRVcmwsIGRlc2lnblRpdGxlKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChpbWcpID0+IHtcclxuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlbW92ZU92ZXJmbG93Qm9keSgpO1xyXG5cclxuICAgICAgICB0aGlzLnd6SW1nRXZlbnRTZXJ2aWNlLmVtaXRJbWdBZGRlZChpbWcuaWRfZmlsZSk7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuc3VjY2Vzc1VwbG9hZFBob3RvKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmltZ0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlbW92ZU92ZXJmbG93Qm9keSgpO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IuZXJyb3IuY29kZSA9PT0gNDA2ICYmIGVycm9yLmVycm9yLm1lc3NhZ2UpIHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydFdpdGhCYWNrZW5kUmVzcG9uc2UodGhpcy5lcnJvclVwbG9hZENhbnZhSW1nLCBlcnJvci5lcnJvci5tZXNzYWdlKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvclVwbG9hZENhbnZhSW1nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { ApiService } from '../api.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ImgCDNService {
|
|
5
|
+
imgCDNConfig = inject(ApiService).IMG_SIZE;
|
|
6
|
+
getUrlImg(size) {
|
|
7
|
+
const urlProperty = Object.keys(this.imgCDNConfig)
|
|
8
|
+
.filter(url => new RegExp(size, 'i').test(url))[0];
|
|
9
|
+
return this.imgCDNConfig[urlProperty];
|
|
10
|
+
}
|
|
11
|
+
getAllSize() {
|
|
12
|
+
return Object.keys(this.imgCDNConfig)
|
|
13
|
+
.map(elem => elem.match(/_(\w+)_/)[1]);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgCDNService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgCDNService });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgCDNService, decorators: [{
|
|
19
|
+
type: Injectable
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWNkbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9jb25maWcvaW1nLWNkbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFM0MsU0FBUyxDQUFDLElBQTBDO1FBQ2xELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUMvQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDWixJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNoQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDcEMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDekIsQ0FBQztJQUNKLENBQUM7dUdBbEJVLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW1nQ0ROU2VydmljZSB7XHJcblxyXG4gIGltZ0NETkNvbmZpZyA9IGluamVjdChBcGlTZXJ2aWNlKS5JTUdfU0laRTtcclxuXHJcbiAgZ2V0VXJsSW1nKHNpemU6ICcxMDAnfCcyMDAnfCc0MDAnfCc4MDAnfCdyYXcnfHN0cmluZykge1xyXG4gICAgY29uc3QgdXJsUHJvcGVydHkgPSBPYmplY3Qua2V5cyh0aGlzLmltZ0NETkNvbmZpZylcclxuICAgICAgLmZpbHRlcih1cmwgPT5cclxuICAgICAgICBuZXcgUmVnRXhwKHNpemUsICdpJykudGVzdCh1cmwpXHJcbiAgICAgIClbMF07XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5pbWdDRE5Db25maWdbdXJsUHJvcGVydHldO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2l6ZSgpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pbWdDRE5Db25maWcpXHJcbiAgICAubWFwKGVsZW0gPT5cclxuICAgICAgZWxlbS5tYXRjaCgvXyhcXHcrKV8vKVsxXVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DomService {
|
|
5
|
+
documentEventSource = new Subject();
|
|
6
|
+
documentEventDone = this.documentEventSource.asObservable();
|
|
7
|
+
documentScrollSource = new Subject();
|
|
8
|
+
documentScrollDone = this.documentScrollSource.asObservable();
|
|
9
|
+
documentEvent() {
|
|
10
|
+
return this.documentEventDone;
|
|
11
|
+
}
|
|
12
|
+
setDocumentEventListener() {
|
|
13
|
+
document.body.addEventListener('click', event => {
|
|
14
|
+
this.documentEventSource.next(event.target);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
documentScroll() {
|
|
18
|
+
return this.documentScrollDone;
|
|
19
|
+
}
|
|
20
|
+
setScrollEventListener() {
|
|
21
|
+
window.onscroll = () => {
|
|
22
|
+
this.documentScrollSource.next(window);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DomService });
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DomService, decorators: [{
|
|
29
|
+
type: Injectable
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2RvbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLFVBQVU7SUFFYixtQkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU1RCxvQkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV0RSxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELHdCQUF3QjtRQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQztJQUNKLENBQUM7dUdBMUJVLFVBQVU7MkdBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRG9tU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgZG9jdW1lbnRFdmVudFNvdXJjZSA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSBkb2N1bWVudEV2ZW50RG9uZSA9IHRoaXMuZG9jdW1lbnRFdmVudFNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBkb2N1bWVudFNjcm9sbFNvdXJjZSA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSBkb2N1bWVudFNjcm9sbERvbmUgPSB0aGlzLmRvY3VtZW50U2Nyb2xsU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBkb2N1bWVudEV2ZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRFdmVudERvbmU7XHJcbiAgfVxyXG5cclxuICBzZXREb2N1bWVudEV2ZW50TGlzdGVuZXIoKSB7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZXZlbnQgPT4ge1xyXG4gICAgICB0aGlzLmRvY3VtZW50RXZlbnRTb3VyY2UubmV4dChldmVudC50YXJnZXQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudFNjcm9sbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRvY3VtZW50U2Nyb2xsRG9uZTtcclxuICB9XHJcblxyXG4gIHNldFNjcm9sbEV2ZW50TGlzdGVuZXIoKSB7XHJcbiAgICB3aW5kb3cub25zY3JvbGwgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRTY3JvbGxTb3VyY2UubmV4dCh3aW5kb3cpO1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -8,11 +8,11 @@ export class IconService {
|
|
|
8
8
|
link.crossOrigin = "anonymous";
|
|
9
9
|
document.getElementsByTagName('head')[0].appendChild(link);
|
|
10
10
|
}
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconService, providedIn: 'root' });
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
IconService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconService, providedIn: 'root' });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconService, decorators: [{
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconService, decorators: [{
|
|
15
15
|
type: Injectable,
|
|
16
16
|
args: [{ providedIn: 'root' }]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFdBQVc7SUFFcEIsV0FBVztRQUNMLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRywyRUFBMkUsQ0FBQztRQUN4RixJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7dUdBUk0sV0FBVzsyR0FBWCxXQUFXLGNBREMsTUFBTTs7MkZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBJY29uU2VydmljZSB7XHJcblxyXG4gICAgbG9hZEljb25MaWIoKSB7XHJcbiAgICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgICAgICAgbGluay5ocmVmID0gJ2h0dHBzOi8vbWVkaWEuY2Rud3MuY29tL190L18vZGlzdC9pY29ucy9mb250YXdlc29tZS9jc3MvYWxsLm1pbi5jc3M/djEuMDUnO1xyXG4gICAgICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICAgICAgICBsaW5rLmNyb3NzT3JpZ2luID0gXCJhbm9ueW1vdXNcIjtcclxuICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -4,10 +4,10 @@ export class ImageNotFoundService {
|
|
|
4
4
|
imageNotFound($url) {
|
|
5
5
|
return;
|
|
6
6
|
}
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImageNotFoundService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
8
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImageNotFoundService });
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
ImageNotFoundService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImageNotFoundService });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ImageNotFoundService, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImageNotFoundService, decorators: [{
|
|
11
11
|
type: Injectable
|
|
12
12
|
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utbm90LWZvdW5kLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltYWdlLW5vdC1mb3VuZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFFN0IsYUFBYSxDQUFDLElBQVk7UUFDdEIsT0FBTztJQUNYLENBQUM7dUdBSlEsb0JBQW9COzJHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbWFnZU5vdEZvdW5kU2VydmljZSB7XHJcblxyXG4gICAgaW1hZ2VOb3RGb3VuZCgkdXJsOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG59Il19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Subject } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ImgEventService {
|
|
5
|
+
imgRemoved$ = new BehaviorSubject(undefined);
|
|
6
|
+
imgToEditEvent = new Subject();
|
|
7
|
+
imgAdded = new Subject();
|
|
8
|
+
listDisplayedChange = new Subject();
|
|
9
|
+
emitImgToEdit(imgToEdit) {
|
|
10
|
+
this.imgToEditEvent.next(imgToEdit);
|
|
11
|
+
}
|
|
12
|
+
getImgToEditEventListener() {
|
|
13
|
+
return this.imgToEditEvent.asObservable();
|
|
14
|
+
}
|
|
15
|
+
emitImgAdded(id_file) {
|
|
16
|
+
this.imgAdded.next(id_file);
|
|
17
|
+
}
|
|
18
|
+
getImgAddedEventListner() {
|
|
19
|
+
return this.imgAdded.asObservable();
|
|
20
|
+
}
|
|
21
|
+
emitlistDisplayedChange(value) {
|
|
22
|
+
this.listDisplayedChange.next(value);
|
|
23
|
+
}
|
|
24
|
+
getlistDisplayedChange() {
|
|
25
|
+
return this.listDisplayedChange.asObservable();
|
|
26
|
+
}
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgEventService });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgEventService, decorators: [{
|
|
31
|
+
type: Injectable
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWhELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3QyxjQUFjLEdBQTJCLElBQUksT0FBTyxFQUFpQixDQUFDO0lBQ3RFLFFBQVEsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNsRCxtQkFBbUIsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUd0RSxhQUFhLENBQUMsU0FBd0I7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELHlCQUF5QjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFlO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCx1QkFBdUI7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHNCQUFzQjtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO3VHQTlCUyxlQUFlOzJHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbWdFdmVudFNlcnZpY2Uge1xyXG5cclxuICBpbWdSZW1vdmVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpO1xyXG4gIHByaXZhdGUgaW1nVG9FZGl0RXZlbnQ6IFN1YmplY3Q8SW1nUGljdHVyZURUTz4gPSBuZXcgU3ViamVjdDxJbWdQaWN0dXJlRFRPPigpO1xyXG4gIHByaXZhdGUgaW1nQWRkZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBwcml2YXRlIGxpc3REaXNwbGF5ZWRDaGFuZ2U6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuXHJcbiAgIGVtaXRJbWdUb0VkaXQoaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPKXtcclxuICAgICAgdGhpcy5pbWdUb0VkaXRFdmVudC5uZXh0KGltZ1RvRWRpdCk7XHJcbiAgIH1cclxuXHJcbiAgIGdldEltZ1RvRWRpdEV2ZW50TGlzdGVuZXIoKXtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1nVG9FZGl0RXZlbnQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgIH1cclxuXHJcbiAgIGVtaXRJbWdBZGRlZChpZF9maWxlOiBzdHJpbmcpe1xyXG4gICAgICB0aGlzLmltZ0FkZGVkLm5leHQoaWRfZmlsZSk7XHJcbiAgIH1cclxuXHJcbiAgIGdldEltZ0FkZGVkRXZlbnRMaXN0bmVyKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmltZ0FkZGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcblxyXG4gICBlbWl0bGlzdERpc3BsYXllZENoYW5nZSh2YWx1ZTogYm9vbGVhbil7XHJcbiAgICAgIHRoaXMubGlzdERpc3BsYXllZENoYW5nZS5uZXh0KHZhbHVlKTtcclxuICAgfVxyXG5cclxuICAgZ2V0bGlzdERpc3BsYXllZENoYW5nZSgpe1xyXG4gICAgICByZXR1cm4gdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import { BehaviorSubject, debounceTime, distinctUntilChanged, forkJoin, map, merge, shareReplay, startWith, Subject, switchMap, take, tap } from "rxjs";
|
|
4
|
+
import { ApiService } from './api.service';
|
|
5
|
+
import { UploadService } from './upload.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class ImgManagerService {
|
|
8
|
+
uploadService = inject(UploadService);
|
|
9
|
+
params = new HttpParams().set("limit", "20").set("page", "1");
|
|
10
|
+
// Display the img selection
|
|
11
|
+
pageFicheProductConfig = {
|
|
12
|
+
stateDisplayed: 'closed',
|
|
13
|
+
multipleImgMode: true,
|
|
14
|
+
showImgManagerModule: true,
|
|
15
|
+
showSelection: true,
|
|
16
|
+
displayBtn: true,
|
|
17
|
+
pageficheProduct: true
|
|
18
|
+
};
|
|
19
|
+
angularFicheProductConfig = {
|
|
20
|
+
stateDisplayed: 'closed',
|
|
21
|
+
multipleImgMode: true,
|
|
22
|
+
showImgManagerModule: true,
|
|
23
|
+
showSelection: true,
|
|
24
|
+
displayBtn: false,
|
|
25
|
+
pageficheProduct: true
|
|
26
|
+
};
|
|
27
|
+
wiziblockConfig = {
|
|
28
|
+
stateDisplayed: 'closed',
|
|
29
|
+
multipleImgMode: false,
|
|
30
|
+
showImgManagerModule: true,
|
|
31
|
+
showSelection: false,
|
|
32
|
+
displayBtn: false
|
|
33
|
+
};
|
|
34
|
+
simpleWithButtonOpenerConfig = {
|
|
35
|
+
stateDisplayed: 'closed',
|
|
36
|
+
multipleImgMode: false,
|
|
37
|
+
showImgManagerModule: true,
|
|
38
|
+
showSelection: false,
|
|
39
|
+
displayBtn: true
|
|
40
|
+
};
|
|
41
|
+
fullWindowConfig = {
|
|
42
|
+
stateDisplayed: 'window',
|
|
43
|
+
multipleImgMode: false,
|
|
44
|
+
showImgManagerModule: true,
|
|
45
|
+
showSelection: false,
|
|
46
|
+
displayBtn: false
|
|
47
|
+
};
|
|
48
|
+
apiService = inject(ApiService);
|
|
49
|
+
destroy$ = new Subject();
|
|
50
|
+
get DEFAULT_SEARCH_PARAMS() {
|
|
51
|
+
return {
|
|
52
|
+
limit: '30',
|
|
53
|
+
page: '1',
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
get DEFAULT_DATA_LIST() {
|
|
57
|
+
return {
|
|
58
|
+
imageList: {
|
|
59
|
+
data: [],
|
|
60
|
+
filter: [],
|
|
61
|
+
limit: 0,
|
|
62
|
+
page: 0,
|
|
63
|
+
totalRecords: 0
|
|
64
|
+
},
|
|
65
|
+
imageTotal: 0
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
searchImagesParameters$ = new BehaviorSubject(this.DEFAULT_SEARCH_PARAMS);
|
|
69
|
+
refreshImageList$ = new Subject();
|
|
70
|
+
resetImageList$ = merge(this.uploadService.imageUploaded$);
|
|
71
|
+
isLoading$ = new BehaviorSubject(true);
|
|
72
|
+
fetchImagesList$ = merge(this.searchImagesParameters$.pipe(debounceTime(800), distinctUntilChanged()), this.refreshImageList$.pipe(switchMap(() => this.searchImagesParameters$))).pipe(map((params) => this.getHttpParameters(params)), tap(() => this.isLoading$.next(true)), switchMap((params) => forkJoin({
|
|
73
|
+
imageList: this.apiService.getShopImgList(params).pipe(take(1)),
|
|
74
|
+
imageTotal: this.apiService.getShopTotalImgList(params).pipe(take(1))
|
|
75
|
+
})), tap(() => this.isLoading$.next(false)));
|
|
76
|
+
imageList$ = merge(this.fetchImagesList$, this.resetImageList$.pipe(tap(() => this.isLoading$.next(true)), tap(() => this.searchImagesParameters$.next(this.DEFAULT_SEARCH_PARAMS)), map(() => this.DEFAULT_DATA_LIST))).pipe(startWith(this.DEFAULT_DATA_LIST), shareReplay(1));
|
|
77
|
+
getHttpParameters(params) {
|
|
78
|
+
let parameters = new HttpParams();
|
|
79
|
+
parameters = parameters.set('id_file:sort', 'desc');
|
|
80
|
+
for (const param in params) {
|
|
81
|
+
parameters = parameters.set(param, params[param]);
|
|
82
|
+
}
|
|
83
|
+
if (params?.search) {
|
|
84
|
+
parameters = parameters.set('display_name:contains', params.search);
|
|
85
|
+
}
|
|
86
|
+
return parameters;
|
|
87
|
+
}
|
|
88
|
+
getShopImg(idFile) {
|
|
89
|
+
return this.apiService.getShopImg(idFile).pipe(tap(() => this.refreshImageList$.next()));
|
|
90
|
+
}
|
|
91
|
+
replaceImg(imageBase64, id_file) {
|
|
92
|
+
return this.apiService.replaceImg(imageBase64, id_file).pipe(tap(() => this.refreshImageList$.next()));
|
|
93
|
+
}
|
|
94
|
+
removeImg(id_file) {
|
|
95
|
+
return this.apiService.removeImg(id_file).pipe(tap(() => this.refreshImageList$.next()));
|
|
96
|
+
}
|
|
97
|
+
removeMultipleImg(id_array) {
|
|
98
|
+
return this.apiService.removeMultipleImg(id_array).pipe(tap(() => this.refreshImageList$.next()));
|
|
99
|
+
}
|
|
100
|
+
getImgManagerDisplayConfig(displayName) {
|
|
101
|
+
switch (displayName) {
|
|
102
|
+
case "window":
|
|
103
|
+
return this.fullWindowConfig;
|
|
104
|
+
case "wizi-block":
|
|
105
|
+
return this.wiziblockConfig;
|
|
106
|
+
case "fiche-product":
|
|
107
|
+
return this.pageFicheProductConfig;
|
|
108
|
+
case "simple-with-button":
|
|
109
|
+
return this.simpleWithButtonOpenerConfig;
|
|
110
|
+
case 'angular-fiche-product':
|
|
111
|
+
return this.angularFicheProductConfig;
|
|
112
|
+
default:
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
getAllImgManagerDisplayConfig() {
|
|
117
|
+
return [
|
|
118
|
+
this.fullWindowConfig,
|
|
119
|
+
this.wiziblockConfig,
|
|
120
|
+
this.pageFicheProductConfig,
|
|
121
|
+
this.simpleWithButtonOpenerConfig,
|
|
122
|
+
];
|
|
123
|
+
}
|
|
124
|
+
ngOnDestroy() {
|
|
125
|
+
this.destroy$.next();
|
|
126
|
+
this.destroy$.complete();
|
|
127
|
+
}
|
|
128
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
129
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgManagerService });
|
|
130
|
+
}
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ImgManagerService, decorators: [{
|
|
132
|
+
type: Injectable
|
|
133
|
+
}] });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEosT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBR2pELE1BQU0sT0FBTyxpQkFBaUI7SUFFWCxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXZELE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxHQUFHLENBQUMsQ0FBQztJQUU1RCw0QkFBNEI7SUFDcEIsc0JBQXNCLEdBQTRCO1FBQ3hELGNBQWMsRUFBRSxRQUFRO1FBQ3hCLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLG9CQUFvQixFQUFFLElBQUk7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsVUFBVSxFQUFFLElBQUk7UUFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtLQUN2QixDQUFBO0lBRU8seUJBQXlCLEdBQTRCO1FBQzNELGNBQWMsRUFBRSxRQUFRO1FBQ3hCLGVB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RSxPQUFPO1FBQ1gsQ0FBQztJQUNILENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsT0FBTztZQUNMLElBQUksQ0FBQyxnQkFBZ0I7WUFDckIsSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLHNCQUFzQjtZQUMzQixJQUFJLENBQUMsNEJBQTRCO1NBQ2xDLENBQUE7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO3VHQTFMVSxpQkFBaUI7MkdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZvcmtKb2luLCBtYXAsIG1lcmdlLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVzRFRPLCBQYXJhbXNJbWdNYW5hZ2VyRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJDb25maWcgfSBmcm9tICcuLi9kdG8vY29uZmlnL2ltZy1tYW5hZ2VyJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi91cGxvYWQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbWdNYW5hZ2VyU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdXBsb2FkU2VydmljZSA9IGluamVjdChVcGxvYWRTZXJ2aWNlKTtcclxuXHJcbiAgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJsaW1pdFwiLFwiMjBcIikuc2V0KFwicGFnZVwiLFwiMVwiKTtcclxuXHJcbiAgLy8gRGlzcGxheSB0aGUgaW1nIHNlbGVjdGlvblxyXG4gIHByaXZhdGUgcGFnZUZpY2hlUHJvZHVjdENvbmZpZzogSW1nTWFuYWdlckRpc3BsYXlDb25maWcgPSB7XHJcbiAgICBzdGF0ZURpc3BsYXllZDogJ2Nsb3NlZCcsXHJcbiAgICBtdWx0aXBsZUltZ01vZGU6IHRydWUsXHJcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcclxuICAgIHNob3dTZWxlY3Rpb246IHRydWUsXHJcbiAgICBkaXNwbGF5QnRuOiB0cnVlLFxyXG4gICAgcGFnZWZpY2hlUHJvZHVjdDogdHJ1ZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhbmd1bGFyRmljaGVQcm9kdWN0Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcclxuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcclxuICAgIG11bHRpcGxlSW1nTW9kZTogdHJ1ZSxcclxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxyXG4gICAgc2hvd1NlbGVjdGlvbjogdHJ1ZSxcclxuICAgIGRpc3BsYXlCdG46IGZhbHNlLFxyXG4gICAgcGFnZWZpY2hlUHJvZHVjdDogdHJ1ZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3aXppYmxvY2tDb25maWc6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnID0ge1xyXG4gICAgc3RhdGVEaXNwbGF5ZWQ6ICdjbG9zZWQnLFxyXG4gICAgbXVsdGlwbGVJbWdNb2RlOiBmYWxzZSxcclxuICAgIHNob3dJbWdNYW5hZ2VyTW9kdWxlOiB0cnVlLFxyXG4gICAgc2hvd1NlbGVjdGlvbjogZmFsc2UsXHJcbiAgICBkaXNwbGF5QnRuOiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcclxuICAgIHN0YXRlRGlzcGxheWVkOiAnY2xvc2VkJyxcclxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXHJcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcclxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgZGlzcGxheUJ0bjogdHJ1ZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmdWxsV2luZG93Q29uZmlnOiBJbWdNYW5hZ2VyRGlzcGxheUNvbmZpZyA9IHtcclxuICAgIHN0YXRlRGlzcGxheWVkOiAnd2luZG93JyxcclxuICAgIG11bHRpcGxlSW1nTW9kZTogZmFsc2UsXHJcbiAgICBzaG93SW1nTWFuYWdlck1vZHVsZTogdHJ1ZSxcclxuICAgIHNob3dTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgZGlzcGxheUJ0bjogZmFsc2VcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgREVGQVVMVF9TRUFSQ0hfUEFSQU1TKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGltaXQ6ICczMCcsXHJcbiAgICAgIHBhZ2U6ICcxJyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBERUZBVUxUX0RBVEFfTElTVCgpOiB7XHJcbiAgICBpbWFnZUxpc3Q6IEltZ1BpY3R1cmVzRFRPO1xyXG4gICAgaW1hZ2VUb3RhbDogbnVtYmVyO1xyXG4gIH0ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaW1hZ2VMaXN0OiB7XHJcbiAgICAgICAgZGF0YTogW10sXHJcbiAgICAgICAgZmlsdGVyOiBbXSxcclxuICAgICAgICBsaW1pdDogMCxcclxuICAgICAgICBwYWdlOiAwLFxyXG4gICAgICAgIHRvdGFsUmVjb3JkczogMFxyXG4gICAgICB9LFxyXG4gICAgICBpbWFnZVRvdGFsOiAwXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaEltYWdlc1BhcmFtZXRlcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbXNJbWdNYW5hZ2VyRFRPPih0aGlzLkRFRkFVTFRfU0VBUkNIX1BBUkFNUyk7XHJcbiAgcHVibGljIHJlZnJlc2hJbWFnZUxpc3QkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgcmVzZXRJbWFnZUxpc3QkID0gbWVyZ2UoXHJcbiAgICB0aGlzLnVwbG9hZFNlcnZpY2UuaW1hZ2VVcGxvYWRlZCRcclxuICApO1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgcHJpdmF0ZSBmZXRjaEltYWdlc0xpc3QkID0gbWVyZ2UoXHJcbiAgICAgIHRoaXMuc2VhcmNoSW1hZ2VzUGFyYW1ldGVycyQucGlwZShcclxuICAgICAgICBkZWJvdW5jZVRpbWUoODAwKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICApLFxyXG4gICAgICB0aGlzLnJlZnJlc2hJbWFnZUxpc3QkLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2VhcmNoSW1hZ2VzUGFyYW1ldGVycyQpXHJcbiAgICAgICksXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgocGFyYW1zKSA9PiB0aGlzLmdldEh0dHBQYXJhbWV0ZXJzKHBhcmFtcykpLFxyXG4gICAgICB0YXAoKCkgPT4gdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSkpLFxyXG4gICAgICBzd2l0Y2hNYXAoKHBhcmFtcykgPT4gZm9ya0pvaW4oe1xyXG4gICAgICAgIGltYWdlTGlzdDogdGhpcy5hcGlTZXJ2aWNlLmdldFNob3BJbWdMaXN0KHBhcmFtcykucGlwZSh0YWtlKDEpKSxcclxuICAgICAgICBpbWFnZVRvdGFsOiB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRvdGFsSW1nTGlzdChwYXJhbXMpLnBpcGUodGFrZSgxKSlcclxuICAgICAgfSkpLFxyXG4gICAgICB0YXAoKCkgPT4gdGhpcy5pc0xvYWRpbmckLm5leHQoZmFsc2UpKVxyXG4gICAgKTtcclxuXHJcblxyXG4gIHB1YmxpYyBpbWFnZUxpc3QkID0gbWVyZ2UoXHJcbiAgICAgIHRoaXMuZmV0Y2hJbWFnZXNMaXN0JCxcclxuICAgICAgdGhpcy5yZXNldEltYWdlTGlzdCQucGlwZShcclxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSkpLFxyXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnNlYXJjaEltYWdlc1BhcmFtZXRlcnMkLm5leHQodGhpcy5ERUZBVUxUX1NFQVJDSF9QQVJBTVMpKSxcclxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5ERUZBVUxUX0RBVEFfTElTVClcclxuICAgICAgICApXHJcbiAgKS5waXBlKFxyXG4gICAgc3RhcnRXaXRoKCB0aGlzLkRFRkFVTFRfREFUQV9MSVNUKSxcclxuICAgIHNoYXJlUmVwbGF5KDEpXHJcbiAgKTtcclxuXHJcblxyXG4gIGdldEh0dHBQYXJhbWV0ZXJzKHBhcmFtcz86IFBhcmFtc0ltZ01hbmFnZXJEVE8pIHtcclxuICAgIGxldCBwYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMuc2V0KCdpZF9maWxlOnNvcnQnLCAnZGVzYycpO1xyXG4gICAgZm9yIChjb25zdCBwYXJhbSBpbiBwYXJhbXMpIHtcclxuICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMuc2V0KHBhcmFtLCBwYXJhbXNbcGFyYW1dKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyYW1zPy5zZWFyY2gpIHtcclxuICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMuc2V0KCdkaXNwbGF5X25hbWU6Y29udGFpbnMnLCBwYXJhbXMuc2VhcmNoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJhbWV0ZXJzO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2hvcEltZyhpZEZpbGU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRTaG9wSW1nKGlkRmlsZSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHRoaXMucmVmcmVzaEltYWdlTGlzdCQubmV4dCgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnJlcGxhY2VJbWcoaW1hZ2VCYXNlNjQsIGlkX2ZpbGUpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnJlZnJlc2hJbWFnZUxpc3QkLm5leHQoKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcmVtb3ZlSW1nKGlkX2ZpbGU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5yZW1vdmVJbWcoaWRfZmlsZSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHRoaXMucmVmcmVzaEltYWdlTGlzdCQubmV4dCgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5OiBzdHJpbmdbXSl7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnJlbW92ZU11bHRpcGxlSW1nKGlkX2FycmF5KS5waXBlKFxyXG4gICAgICB0YXAoKCkgPT4gdGhpcy5yZWZyZXNoSW1hZ2VMaXN0JC5uZXh0KCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1nTWFuYWdlckRpc3BsYXlDb25maWcoZGlzcGxheU5hbWU6IEltZ01hbmFnZXJDb25maWcpIHtcclxuICAgIHN3aXRjaCAoZGlzcGxheU5hbWUpIHtcclxuICAgICAgY2FzZSBcIndpbmRvd1wiOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmZ1bGxXaW5kb3dDb25maWc7XHJcblxyXG4gICAgICBjYXNlIFwid2l6aS1ibG9ja1wiOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndpemlibG9ja0NvbmZpZztcclxuXHJcbiAgICAgIGNhc2UgXCJmaWNoZS1wcm9kdWN0XCI6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGFnZUZpY2hlUHJvZHVjdENvbmZpZztcclxuXHJcbiAgICAgIGNhc2UgXCJzaW1wbGUtd2l0aC1idXR0b25cIjpcclxuICAgICAgICByZXR1cm4gdGhpcy5zaW1wbGVXaXRoQnV0dG9uT3BlbmVyQ29uZmlnO1xyXG5cclxuICAgICAgY2FzZSAnYW5ndWxhci1maWNoZS1wcm9kdWN0JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5hbmd1bGFyRmljaGVQcm9kdWN0Q29uZmlnXHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEFsbEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnKCk6IEltZ01hbmFnZXJEaXNwbGF5Q29uZmlnW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgdGhpcy5mdWxsV2luZG93Q29uZmlnLFxyXG4gICAgICB0aGlzLndpemlibG9ja0NvbmZpZyxcclxuICAgICAgdGhpcy5wYWdlRmljaGVQcm9kdWN0Q29uZmlnLFxyXG4gICAgICB0aGlzLnNpbXBsZVdpdGhCdXR0b25PcGVuZXJDb25maWcsXHJcbiAgICBdXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufSJdfQ==
|