@wizishop/img-manager 15.1.2 → 15.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/esm2020/lib/components/images-view/images-actions-handler.mjs +8 -8
- package/esm2020/lib/components/images-view/images-view.component.mjs +13 -10
- package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +7 -7
- package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +7 -7
- package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +7 -7
- package/esm2020/lib/components/img-editor/img-editor.component.mjs +52 -37
- package/esm2020/lib/components/img-upload/img-upload.component.mjs +16 -17
- package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +12 -12
- package/esm2020/lib/components/upload-list/upload-list.component.mjs +2 -2
- package/esm2020/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +2 -10
- package/esm2020/lib/services/alert.service.mjs +2 -2
- package/esm2020/lib/services/api.service.mjs +10 -0
- package/esm2020/lib/services/canva.service.mjs +36 -33
- package/esm2020/lib/services/config/img-cdn.service.mjs +5 -7
- package/esm2020/lib/services/img-manager.service.mjs +39 -51
- package/esm2020/lib/services/img-selection.service.mjs +20 -7
- package/esm2020/lib/services/pexels.service.mjs +15 -12
- package/esm2020/lib/services/rename-picture.service.mjs +12 -23
- package/esm2020/lib/services/upload.service.mjs +22 -0
- package/esm2020/lib/wz-img-manager.component.mjs +21 -21
- package/esm2020/lib/wz-img-manager.module.mjs +9 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/wizishop-img-manager.mjs +285 -291
- package/fesm2015/wizishop-img-manager.mjs.map +1 -1
- package/fesm2020/wizishop-img-manager.mjs +386 -392
- package/fesm2020/wizishop-img-manager.mjs.map +1 -1
- package/lib/components/images-view/images-actions-handler.d.ts +3 -3
- package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +2 -2
- package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +2 -2
- package/lib/components/images-view/table-view/table-view.component.d.ts +2 -2
- package/lib/components/img-editor/img-editor.component.d.ts +4 -2
- package/lib/components/img-upload/img-upload.component.d.ts +5 -5
- package/lib/components/pexels-lib/pexels-lib.component.d.ts +3 -3
- package/lib/dto/config/image-cdn/image-cdn-config.dto.d.ts +1 -1
- package/lib/services/alert.service.d.ts +1 -1
- package/lib/services/api.service.d.ts +27 -0
- package/lib/services/canva.service.d.ts +7 -9
- package/lib/services/config/img-cdn.service.d.ts +0 -2
- package/lib/services/img-manager.service.d.ts +14 -14
- package/lib/services/img-selection.service.d.ts +6 -0
- package/lib/services/pexels.service.d.ts +5 -5
- package/lib/services/rename-picture.service.d.ts +5 -7
- package/lib/services/upload.service.d.ts +10 -0
- package/lib/wz-img-manager.component.d.ts +2 -6
- package/lib/wz-img-manager.module.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/wizishop-img-manager-15.2.0.tgz +0 -0
- package/esm2020/lib/services/config/external-config.service.mjs +0 -49
- package/lib/services/config/external-config.service.d.ts +0 -24
- package/wizishop-img-manager-15.1.2.tgz +0 -0
|
@@ -3,12 +3,12 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
3
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import { listAnnimation } from '../../../animations/listAnnimation/list.animation';
|
|
5
5
|
import { AlertService } from '../../../services/alert.service';
|
|
6
|
-
import { ImgManagerConfigService } from '../../../services/config/external-config.service';
|
|
7
6
|
import { ImgCDNService } from '../../../services/config/img-cdn.service';
|
|
8
7
|
import { ImgEventService } from '../../../services/img-event.service';
|
|
9
8
|
import { ImgManagerService } from '../../../services/img-manager.service';
|
|
10
9
|
import { ImgSelectionService } from '../../../services/img-selection.service';
|
|
11
10
|
import { ImagesActionHandler } from '../images-actions-handler';
|
|
11
|
+
import { ApiService } from '../../../services/api.service';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "../../../services/img-manager.service";
|
|
14
14
|
import * as i2 from "../../../services/img-selection.service";
|
|
@@ -17,7 +17,7 @@ import * as i4 from "../../../services/config/img-cdn.service";
|
|
|
17
17
|
import * as i5 from "../../../services/img-event.service";
|
|
18
18
|
import * as i6 from "../../../services/alert.service";
|
|
19
19
|
import * as i7 from "@ngx-translate/core";
|
|
20
|
-
import * as i8 from "../../../services/
|
|
20
|
+
import * as i8 from "../../../services/api.service";
|
|
21
21
|
import * as i9 from "@angular/common";
|
|
22
22
|
import * as i10 from "@angular/forms";
|
|
23
23
|
import * as i11 from "./img-card/img-card.component";
|
|
@@ -26,8 +26,8 @@ import * as i13 from "../../shared/input-search/input-search.component";
|
|
|
26
26
|
import * as i14 from "../../shared/pagination/pagination.component";
|
|
27
27
|
import * as i15 from "../../../pipes/number-to-array.pipe";
|
|
28
28
|
export class MosaicViewComponent extends ImagesActionHandler {
|
|
29
|
-
constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService,
|
|
30
|
-
super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService,
|
|
29
|
+
constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService) {
|
|
30
|
+
super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService);
|
|
31
31
|
this.nbFakeImg = 0;
|
|
32
32
|
this.switchDisplayWindow = new EventEmitter();
|
|
33
33
|
}
|
|
@@ -47,7 +47,7 @@ export class MosaicViewComponent extends ImagesActionHandler {
|
|
|
47
47
|
this.switchDisplayWindow.emit(true);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
MosaicViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MosaicViewComponent, deps: [{ token: i1.ImgManagerService }, { token: i2.ImgSelectionService }, { token: i3.HttpClient }, { token: i4.ImgCDNService }, { token: i5.ImgEventService }, { token: i6.AlertService }, { token: i7.TranslateService }, { token: i8.
|
|
50
|
+
MosaicViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MosaicViewComponent, 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.Component });
|
|
51
51
|
MosaicViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: MosaicViewComponent, selector: "mosaic-view", inputs: { tabDisplayed: "tabDisplayed", fullSize: "fullSize", nbFakeImg: "nbFakeImg" }, outputs: { switchDisplayWindow: "switchDisplayWindow" }, usesInheritance: true, ngImport: i0, template: "<div class=\"mosaic\" [ngClass]=\"{'fullSize': fullSize, 'small': stateDisplayed === 'small', 'mosaic--displayPexelsImg': displayPexelsResults}\">\n <!-- Search section -->\n <div\n class=\"mosaic__search\"\n [ngClass]=\"{'mosaic__search--small': stateDisplayed === 'small'}\"\n *ngIf=\"tabDisplayed !== 'img-upload'\">\n <wz-input-search\n [(ngModel)]=\"tableFilters.searchValue\"\n (changeDebounced)=\"onSearchChange($event)\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n [smallPadding]=\"stateDisplayed === 'small'\"\n ></wz-input-search>\n </div>\n\n <!-- Cards section -->\n <div\n class=\"mosaic__container__cards\"\n [ngClass]=\"{'mosaic__container__cards--padding': stateDisplayed !== 'window'}\"\n [@listAnimation]=\"picturesList.length\"\n *ngIf=\"!isLoading && !displayPexelsResults\"\n >\n <img-card\n *ngFor=\"let picture of picturesList; let index = index;\"\n [picture]=\"picture\"\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabDisplayed\"\n [disable]=\"disable\"\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\n (pictureNameChange)=\"onCardRenamePicture($event)\"\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\n [fullSize]=\"fullSize\"\n ></img-card>\n <div\n *ngFor=\"let fakeImg of nbFakeImg | numberToArray\"\n class=\"mosaic__container__cards__fakeImg\"\n [ngClass]=\"{'mosaic__container__cards__fakeImg--smallFakeImg': stateDisplayed === 'small' || tabDisplayed === 'img-upload'}\">\n </div>\n </div>\n <!-- Loader section -->\n <div class=\"mosaic__container__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\"></wz-loader>\n </div>\n\n <!-- Pagination section -->\n <div class=\"mosaic__pagination\" *ngIf=\"picturesList.length && tabDisplayed !== 'img-upload' && !displayPexelsResults\" >\n <wz-pagination\n [pagination]=\"tableFilters\"\n (pageChange)=\"onFiltersChange()\"\n >\n </wz-pagination>\n </div>\n\n</div>\n", dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.ImgCardComponent, selector: "img-card", inputs: ["tabDisplayed", "fullSize", "picture", "index"], outputs: ["toggleImgSelected", "switchDisplayWindow"] }, { kind: "component", type: i12.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "component", type: i13.InputSearchComponent, selector: "wz-input-search", inputs: ["placeholder", "smallPadding", "id"], outputs: ["changeDebounced"] }, { kind: "component", type: i14.PaginationComponent, selector: "wz-pagination", inputs: ["pagination"], outputs: ["pageChange"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i15.NumberToArray, name: "numberToArray" }], animations: [
|
|
52
52
|
listAnnimation
|
|
53
53
|
] });
|
|
@@ -56,7 +56,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
56
56
|
args: [{ selector: 'mosaic-view', animations: [
|
|
57
57
|
listAnnimation
|
|
58
58
|
], template: "<div class=\"mosaic\" [ngClass]=\"{'fullSize': fullSize, 'small': stateDisplayed === 'small', 'mosaic--displayPexelsImg': displayPexelsResults}\">\n <!-- Search section -->\n <div\n class=\"mosaic__search\"\n [ngClass]=\"{'mosaic__search--small': stateDisplayed === 'small'}\"\n *ngIf=\"tabDisplayed !== 'img-upload'\">\n <wz-input-search\n [(ngModel)]=\"tableFilters.searchValue\"\n (changeDebounced)=\"onSearchChange($event)\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n [smallPadding]=\"stateDisplayed === 'small'\"\n ></wz-input-search>\n </div>\n\n <!-- Cards section -->\n <div\n class=\"mosaic__container__cards\"\n [ngClass]=\"{'mosaic__container__cards--padding': stateDisplayed !== 'window'}\"\n [@listAnimation]=\"picturesList.length\"\n *ngIf=\"!isLoading && !displayPexelsResults\"\n >\n <img-card\n *ngFor=\"let picture of picturesList; let index = index;\"\n [picture]=\"picture\"\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabDisplayed\"\n [disable]=\"disable\"\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\n (pictureNameChange)=\"onCardRenamePicture($event)\"\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\n [fullSize]=\"fullSize\"\n ></img-card>\n <div\n *ngFor=\"let fakeImg of nbFakeImg | numberToArray\"\n class=\"mosaic__container__cards__fakeImg\"\n [ngClass]=\"{'mosaic__container__cards__fakeImg--smallFakeImg': stateDisplayed === 'small' || tabDisplayed === 'img-upload'}\">\n </div>\n </div>\n <!-- Loader section -->\n <div class=\"mosaic__container__loader\" *ngIf=\"isLoading\">\n <wz-loader [small]=\"true\"></wz-loader>\n </div>\n\n <!-- Pagination section -->\n <div class=\"mosaic__pagination\" *ngIf=\"picturesList.length && tabDisplayed !== 'img-upload' && !displayPexelsResults\" >\n <wz-pagination\n [pagination]=\"tableFilters\"\n (pageChange)=\"onFiltersChange()\"\n >\n </wz-pagination>\n </div>\n\n</div>\n" }]
|
|
59
|
-
}], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.ImgSelectionService }, { type: i3.HttpClient }, { type: i4.ImgCDNService }, { type: i5.ImgEventService }, { type: i6.AlertService }, { type: i7.TranslateService }, { type: i8.
|
|
59
|
+
}], ctorParameters: function () { return [{ 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: { tabDisplayed: [{
|
|
60
60
|
type: Input
|
|
61
61
|
}], fullSize: [{
|
|
62
62
|
type: Input
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
65
65
|
}], switchDisplayWindow: [{
|
|
66
66
|
type: Output
|
|
67
67
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYWljLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlcy12aWV3L21vc2FpYy12aWV3L21vc2FpYy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy9tb3NhaWMtdmlldy9tb3NhaWMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQVMzRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBVzFELFlBQ0UsVUFBNkIsRUFDN0IsbUJBQXdDLEVBQ3hDLElBQWdCLEVBQ2hCLGFBQTRCLEVBQzVCLG1CQUFvQyxFQUNwQyxZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsVUFBc0I7UUFFdEIsS0FBSyxDQUNILFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsSUFBSSxFQUNKLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixVQUFVLENBQ1gsQ0FBQztRQXZCSixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBRXRCLHdCQUFtQixHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBc0JoRSxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxjQUFpQztRQUNuRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOztnSEFsRFUsbUJBQW1CO29HQUFuQixtQkFBbUIsMk5DcEJoQyxvakVBcURBLDIyQ0RyQ2M7UUFDVixjQUFjO0tBQ2Y7MkZBRVUsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGFBQWEsY0FFWDt3QkFDVixjQUFjO3FCQUNmO2dUQUtELFlBQVk7c0JBRFgsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgbGlzdEFubmltYXRpb24gfSBmcm9tICcuLi8uLi8uLi9hbmltYXRpb25zL2xpc3RBbm5pbWF0aW9uL2xpc3QuYW5pbWF0aW9uJztcbmltcG9ydCB7IFBpY3R1cmVOYW1lVXBkYXRlLCB0YWJEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1nQ0ROU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbmZpZy9pbWctY2RuLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1nRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW1nLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbWctbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ1NlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1hZ2VzQWN0aW9uSGFuZGxlciB9IGZyb20gJy4uL2ltYWdlcy1hY3Rpb25zLWhhbmRsZXInO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9zYWljLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9zYWljLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgbGlzdEFubmltYXRpb25cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb3NhaWNWaWV3Q29tcG9uZW50IGV4dGVuZHMgSW1hZ2VzQWN0aW9uSGFuZGxlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgdGFiRGlzcGxheWVkOiB0YWJEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpXG4gIGZ1bGxTaXplOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBuYkZha2VJbWc6IG51bWJlciA9IDA7XG4gIEBPdXRwdXQoKVxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW1nTWFuYWdlcjogSW1nTWFuYWdlclNlcnZpY2UsXG4gICAgaW1nU2VsZWN0aW9uU2VydmljZTogSW1nU2VsZWN0aW9uU2VydmljZSxcbiAgICBodHRwOiBIdHRwQ2xpZW50LFxuICAgIGltZ0NETlNlcnZpY2U6IEltZ0NETlNlcnZpY2UsXG4gICAgaW1nRXZlbnRDYXJkU2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxuICAgIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgYXBpU2VydmljZTogQXBpU2VydmljZVxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGltZ01hbmFnZXIsXG4gICAgICBpbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgaHR0cCxcbiAgICAgIGltZ0NETlNlcnZpY2UsXG4gICAgICBpbWdFdmVudENhcmRTZXJ2aWNlLFxuICAgICAgYWxlcnRTZXJ2aWNlLFxuICAgICAgdHJhbnNsYXRlU2VydmljZSxcbiAgICAgIGFwaVNlcnZpY2VcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBvblNlYXJjaENoYW5nZShldmVudDogc3RyaW5nKSB7XG4gICAgLy8gUmVzZXQgdGFibGUgZmlsdGVyc1xuICAgIHRoaXMudGFibGVGaWx0ZXJzLnNvcnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50YWJsZUZpbHRlcnMub3JkZXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50YWJsZUZpbHRlcnMuY3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMuZmlsdGVyc0NoYW5nZS5lbWl0KHRoaXMudGFibGVGaWx0ZXJzKTtcbiAgfVxuXG4gIG9uQ2FyZFJlbmFtZVBpY3R1cmUocGljdHVyZVJlbmFtZWQ6IFBpY3R1cmVOYW1lVXBkYXRlKSB7XG4gICAgdGhpcy5waWN0dXJlTmFtZUNoYW5nZS5uZXh0KHBpY3R1cmVSZW5hbWVkKTtcbiAgfVxuXG4gIHN3aXRjaERpc3BsYXlXaW5kb3dDYXJkKCkge1xuICAgIHRoaXMuc3dpdGNoRGlzcGxheVdpbmRvdy5lbWl0KHRydWUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9zYWljXCIgW25nQ2xhc3NdPVwieydmdWxsU2l6ZSc6IGZ1bGxTaXplLCAnc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJywgJ21vc2FpYy0tZGlzcGxheVBleGVsc0ltZyc6IGRpc3BsYXlQZXhlbHNSZXN1bHRzfVwiPlxuICA8IS0tIFNlYXJjaCBzZWN0aW9uIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJtb3NhaWNfX3NlYXJjaFwiXG4gICAgW25nQ2xhc3NdPVwieydtb3NhaWNfX3NlYXJjaC0tc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIlxuICAgICpuZ0lmPVwidGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCdcIj5cbiAgICAgIDx3ei1pbnB1dC1zZWFyY2hcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0YWJsZUZpbHRlcnMuc2VhcmNoVmFsdWVcIlxuICAgICAgICAoY2hhbmdlRGVib3VuY2VkKT1cIm9uU2VhcmNoQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0ltZ01hbmFnZXIuU2VhcmNoQmFyLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtzbWFsbFBhZGRpbmddPVwic3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCdcIlxuICAgICAgPjwvd3otaW5wdXQtc2VhcmNoPlxuICA8L2Rpdj5cblxuICA8IS0tIENhcmRzIHNlY3Rpb24gLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1vc2FpY19fY29udGFpbmVyX19jYXJkc1wiXG4gICAgW25nQ2xhc3NdPVwieydtb3NhaWNfX2NvbnRhaW5lcl9fY2FyZHMtLXBhZGRpbmcnOiBzdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdyd9XCJcbiAgICBbQGxpc3RBbmltYXRpb25dPVwicGljdHVyZXNMaXN0Lmxlbmd0aFwiXG4gICAgKm5nSWY9XCIhaXNMb2FkaW5nICYmICFkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gICAgPlxuICAgICAgPGltZy1jYXJkXG4gICAgICAgICpuZ0Zvcj1cImxldCBwaWN0dXJlIG9mIHBpY3R1cmVzTGlzdDsgbGV0IGluZGV4ID0gaW5kZXg7XCJcbiAgICAgICAgW3BpY3R1cmVdPVwicGljdHVyZVwiXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXG4gICAgICAgIFt0YWJEaXNwbGF5ZWRdPVwidGFiRGlzcGxheWVkXCJcbiAgICAgICAgW2Rpc2FibGVdPVwiZGlzYWJsZVwiXG4gICAgICAgICh0b2dnbGVJbWdTZWxlY3RlZCk9XCJvblRvZ2dsZVNlbGVjdEltZyhpbmRleClcIlxuICAgICAgICAocGljdHVyZU5hbWVDaGFuZ2UpPVwib25DYXJkUmVuYW1lUGljdHVyZSgkZXZlbnQpXCJcbiAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0NhcmQoKVwiXG4gICAgICAgIFtmdWxsU2l6ZV09XCJmdWxsU2l6ZVwiXG4gICAgICA+PC9pbWctY2FyZD5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGZha2VJbWcgb2YgbmJGYWtlSW1nIHwgbnVtYmVyVG9BcnJheVwiXG4gICAgICAgIGNsYXNzPVwibW9zYWljX19jb250YWluZXJfX2NhcmRzX19mYWtlSW1nXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydtb3NhaWNfX2NvbnRhaW5lcl9fY2FyZHNfX2Zha2VJbWctLXNtYWxsRmFrZUltZyc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnIHx8IHRhYkRpc3BsYXllZCA9PT0gJ2ltZy11cGxvYWQnfVwiPlxuICAgICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIExvYWRlciBzZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwibW9zYWljX19jb250YWluZXJfX2xvYWRlclwiICAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgIDx3ei1sb2FkZXIgW3NtYWxsXT1cInRydWVcIj48L3d6LWxvYWRlcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBQYWdpbmF0aW9uIHNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJtb3NhaWNfX3BhZ2luYXRpb25cIiAqbmdJZj1cInBpY3R1cmVzTGlzdC5sZW5ndGggJiYgdGFiRGlzcGxheWVkICE9PSAnaW1nLXVwbG9hZCcgJiYgIWRpc3BsYXlQZXhlbHNSZXN1bHRzXCIgPlxuICAgIDx3ei1wYWdpbmF0aW9uXG4gICAgW3BhZ2luYXRpb25dPVwidGFibGVGaWx0ZXJzXCJcbiAgICAocGFnZUNoYW5nZSk9XCJvbkZpbHRlcnNDaGFuZ2UoKVwiXG4gICAgPlxuICAgIDwvd3otcGFnaW5hdGlvbj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
|
|
@@ -3,12 +3,12 @@ import { Component } from '@angular/core';
|
|
|
3
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import { listAnnimation } from '../../../animations/listAnnimation/list.animation';
|
|
5
5
|
import { AlertService } from '../../../services/alert.service';
|
|
6
|
-
import { ImgManagerConfigService } from '../../../services/config/external-config.service';
|
|
7
6
|
import { ImgCDNService } from '../../../services/config/img-cdn.service';
|
|
8
7
|
import { ImgEventService } from '../../../services/img-event.service';
|
|
9
8
|
import { ImgManagerService } from '../../../services/img-manager.service';
|
|
10
9
|
import { ImgSelectionService } from '../../../services/img-selection.service';
|
|
11
10
|
import { ImagesActionHandler } from '../images-actions-handler';
|
|
11
|
+
import { ApiService } from '../../../services/api.service';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "../../../services/img-manager.service";
|
|
14
14
|
import * as i2 from "../../../services/img-selection.service";
|
|
@@ -17,7 +17,7 @@ import * as i4 from "../../../services/config/img-cdn.service";
|
|
|
17
17
|
import * as i5 from "../../../services/img-event.service";
|
|
18
18
|
import * as i6 from "../../../services/alert.service";
|
|
19
19
|
import * as i7 from "@ngx-translate/core";
|
|
20
|
-
import * as i8 from "../../../services/
|
|
20
|
+
import * as i8 from "../../../services/api.service";
|
|
21
21
|
import * as i9 from "@angular/common";
|
|
22
22
|
import * as i10 from "@angular/forms";
|
|
23
23
|
import * as i11 from "../../shared/dropdown/dropdown.component";
|
|
@@ -28,14 +28,14 @@ import * as i15 from "../../../directives/table/columnHeader.directive";
|
|
|
28
28
|
import * as i16 from "../../../directives/table/raw.directive";
|
|
29
29
|
import * as i17 from "../../../pipes/images/img-src.pipe";
|
|
30
30
|
export class TableViewComponent extends ImagesActionHandler {
|
|
31
|
-
constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService,
|
|
32
|
-
super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService,
|
|
31
|
+
constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService) {
|
|
32
|
+
super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, apiService);
|
|
33
33
|
this.dataTableName = 'imgagesView'; // Name of your table
|
|
34
34
|
}
|
|
35
35
|
ngOnInit() {
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
TableViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableViewComponent, deps: [{ token: i1.ImgManagerService }, { token: i2.ImgSelectionService }, { token: i3.HttpClient }, { token: i4.ImgCDNService }, { token: i5.ImgEventService }, { token: i6.AlertService }, { token: i7.TranslateService }, { token: i8.
|
|
38
|
+
TableViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableViewComponent, 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.Component });
|
|
39
39
|
TableViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableViewComponent, selector: "table-view", usesInheritance: true, ngImport: i0, template: "<div class=\"table-view\" [@listAnimation]=\"picturesList.length\">\n <wz-table\n [checkbox]=\"true\"\n (toggleAllCheckBox)=\"onToggleAllCheckBoxRow($event)\"\n [(tableFilters)]=\"tableFilters\"\n (tableFiltersChange)=\"onFiltersChange()\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n [disablePagniation]=\"displayPexelsResults\"\n [isLoading]=\"isLoading\"\n >\n <!-- Header Section -->\n <div\n headerCell\n [headerName]=\"'ImgManager.ImgList.titleImgName' | translate\"\n columnSize=\"2\"\n sortName=\"name\"\n ></div>\n <div\n headerCell\n centerCell=\"center\"\n [headerName]=\"'ImgManager.ImgList.titleResolution' | translate\"\n ></div>\n <div headerCell columnSize=\"0\"></div>\n\n <!-- Body Section -->\n <div\n tableRow\n checkBoxRow\n [checkBoxValue]=\"picture.delSelected\"\n (checkBoxValueChange)=\"onToggleDelSelection(index)\"\n *ngFor=\"let picture of picturesList; let index = index\"\n >\n\n <div tableColumn columnSize=\"2\">\n <div class=\"table-view__row__container\">\n <div\n class=\"table-view__row__container__imgContainer\"\n [ngClass]=\"{'imgSelected': picture.selected}\"\n (click)=\"onToggleSelectImg(index)\">\n <img\n class=\"table-view__row__container__imgContainer__img\"\n [src]=\"picture.file_name | imgSrc : '100'\"\n alt=\"picture.display_name\"\n [ngClass]=\"{'pictureDeletion': picture.deleted}\"\n (error)=\"picture.imgNotLoaded=true;onPictureNotLoading($event);\"\n />\n <!-- If the img is not loaded, or the link is broken, an icon is displayed -->\n <div\n *ngIf=\"picture.imgNotLoaded\"\n class=\"table-view__row__container__imgContainer__overlay\"\n >\n <i class=\"fad fa-folder-times\"></i>\n </div>\n </div>\n <input\n type=\"text\"\n class=\"wzImgMngInput table-view__row__container__name\"\n [(ngModel)]=\"picture.display_name\"\n (focus)=\"previousName=picture.display_name\"\n (blur)=\"onNameChange(picture.id_file)\"\n (click)=\"onToggleDelSelection(index)\"\n [ngClass]=\"{'desabled': picture.deleted}\"\n [disabled]=\"picture.deleted\"\n >\n </div>\n </div>\n\n <div\n tableColumn\n centerCell=\"center\"\n (click)=\"onToggleDelSelection(index)\"\n >\n <p class=\"grey\">{{picture.raw_height}}x{{picture.raw_width}}</p>\n </div>\n\n <div tableColumn centerCell=\"center\" columnSize=\"0\" class=\"table-view__dropdown-options\">\n <!-- Dropdown -->\n <dropdown dropdownId=\"dropdown-options\" [disable]=\"picture.deleted\">\n <ng-container label>\n <div class=\"table-view__dropdown-options__label rotate\">\n <span> <i class=\"far fa-ellipsis-h is-size-4\" aria-haspopup=\"true\" aria-controls=\"dropdown-menu\"> </i> </span>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onDownloadImg(picture.display_name, picture.file_name)\"\n >\n <i class=\"far fa-download download\"></i> \n <p>{{ 'ImgManager.ImgList.download' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onEdit(picture)\"\n >\n <i class=\"far fa-crop-alt edit\"></i> \n <p>{{ 'ImgManager.ImgList.edit' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onRemoveImg(picture)\"\n >\n <i class=\"fal fa-times deleted\"></i> \n <p>{{ 'ImgManager.ImgList.remove' | translate }}</p>\n </div>\n </ng-container>\n </dropdown>\n </div>\n </div>\n </wz-table>\n</div>\n", dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.DropdownComponent, selector: "dropdown", inputs: ["dropDownMenuClass", "disable"] }, { kind: "component", type: i12.TableComponent, selector: "wz-table", inputs: ["tableFilters", "tableRoutingName", "placeholder", "checkbox", "disableSearch", "disablePagniation", "isLoading"], outputs: ["tableFiltersChange", "toggleAllCheckBox"] }, { kind: "directive", type: i13.TableColumn, selector: "[tableColumn]", inputs: ["columnSize", "centerCell"] }, { kind: "directive", type: i14.CheckBoxRow, selector: "[checkBoxRow]", inputs: ["checkBoxId", "checkBoxName", "checkBoxValue"], outputs: ["checkBoxValueChange"] }, { kind: "directive", type: i15.TableColumnHeader, selector: "[headerCell]", inputs: ["headerName", "columnSize", "filterRouting", "tableName", "sortName", "centerCell", "tableFilters"], outputs: ["onSortChange", "tableFiltersChange"] }, { kind: "directive", type: i16.TableRow, selector: "[tableRow]" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i17.ImageSrcPipe, name: "imgSrc" }], animations: [
|
|
40
40
|
listAnnimation
|
|
41
41
|
] });
|
|
@@ -44,5 +44,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
44
44
|
args: [{ selector: 'table-view', animations: [
|
|
45
45
|
listAnnimation
|
|
46
46
|
], template: "<div class=\"table-view\" [@listAnimation]=\"picturesList.length\">\n <wz-table\n [checkbox]=\"true\"\n (toggleAllCheckBox)=\"onToggleAllCheckBoxRow($event)\"\n [(tableFilters)]=\"tableFilters\"\n (tableFiltersChange)=\"onFiltersChange()\"\n [placeholder]=\"'ImgManager.SearchBar.placeholder' | translate\"\n [disablePagniation]=\"displayPexelsResults\"\n [isLoading]=\"isLoading\"\n >\n <!-- Header Section -->\n <div\n headerCell\n [headerName]=\"'ImgManager.ImgList.titleImgName' | translate\"\n columnSize=\"2\"\n sortName=\"name\"\n ></div>\n <div\n headerCell\n centerCell=\"center\"\n [headerName]=\"'ImgManager.ImgList.titleResolution' | translate\"\n ></div>\n <div headerCell columnSize=\"0\"></div>\n\n <!-- Body Section -->\n <div\n tableRow\n checkBoxRow\n [checkBoxValue]=\"picture.delSelected\"\n (checkBoxValueChange)=\"onToggleDelSelection(index)\"\n *ngFor=\"let picture of picturesList; let index = index\"\n >\n\n <div tableColumn columnSize=\"2\">\n <div class=\"table-view__row__container\">\n <div\n class=\"table-view__row__container__imgContainer\"\n [ngClass]=\"{'imgSelected': picture.selected}\"\n (click)=\"onToggleSelectImg(index)\">\n <img\n class=\"table-view__row__container__imgContainer__img\"\n [src]=\"picture.file_name | imgSrc : '100'\"\n alt=\"picture.display_name\"\n [ngClass]=\"{'pictureDeletion': picture.deleted}\"\n (error)=\"picture.imgNotLoaded=true;onPictureNotLoading($event);\"\n />\n <!-- If the img is not loaded, or the link is broken, an icon is displayed -->\n <div\n *ngIf=\"picture.imgNotLoaded\"\n class=\"table-view__row__container__imgContainer__overlay\"\n >\n <i class=\"fad fa-folder-times\"></i>\n </div>\n </div>\n <input\n type=\"text\"\n class=\"wzImgMngInput table-view__row__container__name\"\n [(ngModel)]=\"picture.display_name\"\n (focus)=\"previousName=picture.display_name\"\n (blur)=\"onNameChange(picture.id_file)\"\n (click)=\"onToggleDelSelection(index)\"\n [ngClass]=\"{'desabled': picture.deleted}\"\n [disabled]=\"picture.deleted\"\n >\n </div>\n </div>\n\n <div\n tableColumn\n centerCell=\"center\"\n (click)=\"onToggleDelSelection(index)\"\n >\n <p class=\"grey\">{{picture.raw_height}}x{{picture.raw_width}}</p>\n </div>\n\n <div tableColumn centerCell=\"center\" columnSize=\"0\" class=\"table-view__dropdown-options\">\n <!-- Dropdown -->\n <dropdown dropdownId=\"dropdown-options\" [disable]=\"picture.deleted\">\n <ng-container label>\n <div class=\"table-view__dropdown-options__label rotate\">\n <span> <i class=\"far fa-ellipsis-h is-size-4\" aria-haspopup=\"true\" aria-controls=\"dropdown-menu\"> </i> </span>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onDownloadImg(picture.display_name, picture.file_name)\"\n >\n <i class=\"far fa-download download\"></i> \n <p>{{ 'ImgManager.ImgList.download' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onEdit(picture)\"\n >\n <i class=\"far fa-crop-alt edit\"></i> \n <p>{{ 'ImgManager.ImgList.edit' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item>\n <div\n class=\"dropdown-item\"\n (click)=\"onRemoveImg(picture)\"\n >\n <i class=\"fal fa-times deleted\"></i> \n <p>{{ 'ImgManager.ImgList.remove' | translate }}</p>\n </div>\n </ng-container>\n </dropdown>\n </div>\n </div>\n </wz-table>\n</div>\n" }]
|
|
47
|
-
}], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.ImgSelectionService }, { type: i3.HttpClient }, { type: i4.ImgCDNService }, { type: i5.ImgEventService }, { type: i6.AlertService }, { type: i7.TranslateService }, { type: i8.
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
}], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.ImgSelectionService }, { type: i3.HttpClient }, { type: i4.ImgCDNService }, { type: i5.ImgEventService }, { type: i6.AlertService }, { type: i7.TranslateService }, { type: i8.ApiService }]; } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2VzLXZpZXcvdGFibGUtdmlldy90YWJsZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZXMtdmlldy90YWJsZS12aWV3L3RhYmxlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVMzRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsbUJBQW1CO0lBR3ZELFlBQ0UsVUFBNkIsRUFDN0IsbUJBQXdDLEVBQ3hDLElBQWdCLEVBQ2hCLGFBQTRCLEVBQzVCLG1CQUFvQyxFQUNwQyxZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsVUFBc0I7UUFFdEIsS0FBSyxDQUNILFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsSUFBSSxFQUNKLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixVQUFVLENBQ1gsQ0FBQztRQXJCSixrQkFBYSxHQUFXLGFBQWEsQ0FBQyxDQUFDLHFCQUFxQjtJQXNCNUQsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOzsrR0ExQlEsa0JBQWtCO21HQUFsQixrQkFBa0IseUVDbkIvQiwweElBbUhBLHU5RERwR2M7UUFDVixjQUFjO0tBQ2Y7MkZBRVUsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksY0FFVjt3QkFDVixjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBsaXN0QW5uaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbnMvbGlzdEFubmltYXRpb24vbGlzdC5hbmltYXRpb24nO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdDRE5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29uZmlnL2ltZy1jZG4uc2VydmljZSc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbWctZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1nU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ltZy1zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbWFnZXNBY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi4vaW1hZ2VzLWFjdGlvbnMtaGFuZGxlcic7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBpLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0YWJsZS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgbGlzdEFubmltYXRpb25cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBJbWFnZXNBY3Rpb25IYW5kbGVyIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBkYXRhVGFibGVOYW1lOiBzdHJpbmcgPSAnaW1nYWdlc1ZpZXcnOyAvLyBOYW1lIG9mIHlvdXIgdGFibGVcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgaW1nTWFuYWdlcjogSW1nTWFuYWdlclNlcnZpY2UsXG4gICAgICBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgaHR0cDogSHR0cENsaWVudCxcbiAgICAgIGltZ0NETlNlcnZpY2U6IEltZ0NETlNlcnZpY2UsXG4gICAgICBpbWdFdmVudENhcmRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXG4gICAgICBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICBzdXBlcihcbiAgICAgICAgaW1nTWFuYWdlcixcbiAgICAgICAgaW1nU2VsZWN0aW9uU2VydmljZSxcbiAgICAgICAgaHR0cCxcbiAgICAgICAgaW1nQ0ROU2VydmljZSxcbiAgICAgICAgaW1nRXZlbnRDYXJkU2VydmljZSxcbiAgICAgICAgYWxlcnRTZXJ2aWNlLFxuICAgICAgICB0cmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBhcGlTZXJ2aWNlXG4gICAgICApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInRhYmxlLXZpZXdcIiBbQGxpc3RBbmltYXRpb25dPVwicGljdHVyZXNMaXN0Lmxlbmd0aFwiPlxuICA8d3otdGFibGVcbiAgICBbY2hlY2tib3hdPVwidHJ1ZVwiXG4gICAgKHRvZ2dsZUFsbENoZWNrQm94KT1cIm9uVG9nZ2xlQWxsQ2hlY2tCb3hSb3coJGV2ZW50KVwiXG4gICAgWyh0YWJsZUZpbHRlcnMpXT1cInRhYmxlRmlsdGVyc1wiXG4gICAgKHRhYmxlRmlsdGVyc0NoYW5nZSk9XCJvbkZpbHRlcnNDaGFuZ2UoKVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIidJbWdNYW5hZ2VyLlNlYXJjaEJhci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgIFtkaXNhYmxlUGFnbmlhdGlvbl09XCJkaXNwbGF5UGV4ZWxzUmVzdWx0c1wiXG4gICAgW2lzTG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICA+XG4gICAgPCEtLSBIZWFkZXIgU2VjdGlvbiAtLT5cbiAgICA8ZGl2XG4gICAgICBoZWFkZXJDZWxsXG4gICAgICBbaGVhZGVyTmFtZV09XCInSW1nTWFuYWdlci5JbWdMaXN0LnRpdGxlSW1nTmFtZScgfCB0cmFuc2xhdGVcIlxuICAgICAgY29sdW1uU2l6ZT1cIjJcIlxuICAgICAgc29ydE5hbWU9XCJuYW1lXCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdlxuICAgICAgaGVhZGVyQ2VsbFxuICAgICAgY2VudGVyQ2VsbD1cImNlbnRlclwiXG4gICAgICBbaGVhZGVyTmFtZV09XCInSW1nTWFuYWdlci5JbWdMaXN0LnRpdGxlUmVzb2x1dGlvbicgfCB0cmFuc2xhdGVcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2IGhlYWRlckNlbGwgY29sdW1uU2l6ZT1cIjBcIj48L2Rpdj5cblxuICAgIDwhLS0gQm9keSBTZWN0aW9uIC0tPlxuICAgIDxkaXZcbiAgICAgIHRhYmxlUm93XG4gICAgICBjaGVja0JveFJvd1xuICAgICAgW2NoZWNrQm94VmFsdWVdPVwicGljdHVyZS5kZWxTZWxlY3RlZFwiXG4gICAgICAoY2hlY2tCb3hWYWx1ZUNoYW5nZSk9XCJvblRvZ2dsZURlbFNlbGVjdGlvbihpbmRleClcIlxuICAgICAgKm5nRm9yPVwibGV0IHBpY3R1cmUgb2YgcGljdHVyZXNMaXN0OyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgPlxuXG4gICAgICA8ZGl2IHRhYmxlQ29sdW1uIGNvbHVtblNpemU9XCIyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS12aWV3X19yb3dfX2NvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidGFibGUtdmlld19fcm93X19jb250YWluZXJfX2ltZ0NvbnRhaW5lclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ltZ1NlbGVjdGVkJzogcGljdHVyZS5zZWxlY3RlZH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlU2VsZWN0SW1nKGluZGV4KVwiPlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS12aWV3X19yb3dfX2NvbnRhaW5lcl9faW1nQ29udGFpbmVyX19pbWdcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwicGljdHVyZS5maWxlX25hbWUgfCBpbWdTcmMgOiAnMTAwJ1wiXG4gICAgICAgICAgICAgICAgYWx0PVwicGljdHVyZS5kaXNwbGF5X25hbWVcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncGljdHVyZURlbGV0aW9uJzogcGljdHVyZS5kZWxldGVkfVwiXG4gICAgICAgICAgICAgICAgKGVycm9yKT1cInBpY3R1cmUuaW1nTm90TG9hZGVkPXRydWU7b25QaWN0dXJlTm90TG9hZGluZygkZXZlbnQpO1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwhLS0gSWYgdGhlIGltZyBpcyBub3QgbG9hZGVkLCBvciB0aGUgbGluayBpcyBicm9rZW4sIGFuIGljb24gaXMgZGlzcGxheWVkIC0tPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwaWN0dXJlLmltZ05vdExvYWRlZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS12aWV3X19yb3dfX2NvbnRhaW5lcl9faW1nQ29udGFpbmVyX19vdmVybGF5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFkIGZhLWZvbGRlci10aW1lc1wiPjwvaT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3ekltZ01uZ0lucHV0IHRhYmxlLXZpZXdfX3Jvd19fY29udGFpbmVyX19uYW1lXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwaWN0dXJlLmRpc3BsYXlfbmFtZVwiXG4gICAgICAgICAgICAgIChmb2N1cyk9XCJwcmV2aW91c05hbWU9cGljdHVyZS5kaXNwbGF5X25hbWVcIlxuICAgICAgICAgICAgICAoYmx1cik9XCJvbk5hbWVDaGFuZ2UocGljdHVyZS5pZF9maWxlKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZURlbFNlbGVjdGlvbihpbmRleClcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rlc2FibGVkJzogcGljdHVyZS5kZWxldGVkfVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwaWN0dXJlLmRlbGV0ZWRcIlxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICB0YWJsZUNvbHVtblxuICAgICAgICBjZW50ZXJDZWxsPVwiY2VudGVyXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlRGVsU2VsZWN0aW9uKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cCBjbGFzcz1cImdyZXlcIj57e3BpY3R1cmUucmF3X2hlaWdodH19eHt7cGljdHVyZS5yYXdfd2lkdGh9fTwvcD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHRhYmxlQ29sdW1uIGNlbnRlckNlbGw9XCJjZW50ZXJcIiBjb2x1bW5TaXplPVwiMFwiIGNsYXNzPVwidGFibGUtdmlld19fZHJvcGRvd24tb3B0aW9uc1wiPlxuICAgICAgICA8IS0tIERyb3Bkb3duIC0tPlxuICAgICAgICA8ZHJvcGRvd24gZHJvcGRvd25JZD1cImRyb3Bkb3duLW9wdGlvbnNcIiBbZGlzYWJsZV09XCJwaWN0dXJlLmRlbGV0ZWRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGxhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdmlld19fZHJvcGRvd24tb3B0aW9uc19fbGFiZWwgcm90YXRlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+IDxpIGNsYXNzPVwiZmFyIGZhLWVsbGlwc2lzLWggaXMtc2l6ZS00XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWNvbnRyb2xzPVwiZHJvcGRvd24tbWVudVwiPiA8L2k+IDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBpdGVtPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZEltZyhwaWN0dXJlLmRpc3BsYXlfbmFtZSwgcGljdHVyZS5maWxlX25hbWUpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtZG93bmxvYWQgZG93bmxvYWRcIj48L2k+Jm5ic3A7XG4gICAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5JbWdMaXN0LmRvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBpdGVtPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25FZGl0KHBpY3R1cmUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1jcm9wLWFsdCBlZGl0XCI+PC9pPiZuYnNwO1xuICAgICAgICAgICAgICAgIDxwPnt7ICdJbWdNYW5hZ2VyLkltZ0xpc3QuZWRpdCcgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIGl0ZW0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblJlbW92ZUltZyhwaWN0dXJlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgZGVsZXRlZFwiPjwvaT4mbmJzcDtcbiAgICAgICAgICAgICAgICA8cD57eyAnSW1nTWFuYWdlci5JbWdMaXN0LnJlbW92ZScgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kcm9wZG93bj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3d6LXRhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import { ImgManagerService } from '../../services/img-manager.service';
|
|
3
3
|
import { easeInOut } from '../../animations/easeInOut/ease-in-out.animation';
|
|
4
|
+
import { RenamePictureService } from '../../services/rename-picture.service';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../../services/img-manager.service";
|
|
6
|
-
import * as i2 from "
|
|
7
|
-
import * as i3 from "
|
|
8
|
-
import * as i4 from "
|
|
9
|
-
import * as i5 from "./
|
|
10
|
-
import * as i6 from "
|
|
11
|
-
import * as i7 from "
|
|
7
|
+
import * as i2 from "../../services/rename-picture.service";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "ngx-scrollbar";
|
|
10
|
+
import * as i5 from "./info-section/info-section.component";
|
|
11
|
+
import * as i6 from "./cropper/cropper.component";
|
|
12
|
+
import * as i7 from "../../directives/loading.directive";
|
|
13
|
+
import * as i8 from "@ngx-translate/core";
|
|
12
14
|
export class ImgEditorComponent {
|
|
13
|
-
constructor(imgManagerService) {
|
|
15
|
+
constructor(imgManagerService, renamePictureService) {
|
|
14
16
|
this.imgManagerService = imgManagerService;
|
|
17
|
+
this.renamePictureService = renamePictureService;
|
|
15
18
|
this.editClosed = new EventEmitter();
|
|
16
19
|
this.isLoading = false;
|
|
17
20
|
this.isImgModified = false;
|
|
@@ -34,31 +37,37 @@ export class ImgEditorComponent {
|
|
|
34
37
|
this.onEditClosed();
|
|
35
38
|
}
|
|
36
39
|
const obsReplaceImg = this.imgManagerService.replaceImg(this.currentCroppedImage, this.imgToEdit.id_file);
|
|
37
|
-
const obsChangeImgName = this.
|
|
40
|
+
const obsChangeImgName = this.renamePictureService.changeImageName(this.imgToEdit.display_name, this.imgToEdit.id_file);
|
|
38
41
|
if (this.isImgModified && this.isNameModified) {
|
|
39
|
-
this.
|
|
42
|
+
this.renameAndReplaceImg(obsChangeImgName, obsReplaceImg);
|
|
40
43
|
return;
|
|
41
44
|
}
|
|
42
45
|
if (this.isImgModified) {
|
|
43
|
-
obsReplaceImg.subscribe(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
obsReplaceImg.subscribe({
|
|
47
|
+
next: data => {
|
|
48
|
+
this.isLoading = false;
|
|
49
|
+
this.onEditClosed(this.msgSuccessEdit);
|
|
50
|
+
},
|
|
51
|
+
error: error => {
|
|
52
|
+
this.isLoading = false;
|
|
53
|
+
this.currentCroppedImage = '';
|
|
54
|
+
this.onEditClosed(this.msgFailSave);
|
|
55
|
+
}
|
|
50
56
|
});
|
|
51
57
|
return;
|
|
52
58
|
}
|
|
53
59
|
if (this.isNameModified) {
|
|
54
|
-
obsChangeImgName.subscribe(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
obsChangeImgName.subscribe({
|
|
61
|
+
next: data => {
|
|
62
|
+
this.isLoading = false;
|
|
63
|
+
this.previousName = this.imgToEdit.display_name;
|
|
64
|
+
this.onEditClosed(this.msgSuccessEdit);
|
|
65
|
+
},
|
|
66
|
+
error: error => {
|
|
67
|
+
this.isLoading = false;
|
|
68
|
+
this.imgToEdit.display_name = this.previousName;
|
|
69
|
+
this.onEditClosed(this.msgFailSave);
|
|
70
|
+
}
|
|
62
71
|
});
|
|
63
72
|
}
|
|
64
73
|
this.isNameModified = false;
|
|
@@ -77,21 +86,27 @@ export class ImgEditorComponent {
|
|
|
77
86
|
onImgCropped(imgBase64) {
|
|
78
87
|
this.currentCroppedImage = imgBase64;
|
|
79
88
|
}
|
|
80
|
-
|
|
81
|
-
// Avoid to use forkjoin, because it can create conflict and
|
|
82
|
-
obsChangeImgName.subscribe(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
89
|
+
renameAndReplaceImg(obsChangeImgName, obsReplaceImg) {
|
|
90
|
+
// Avoid to use forkjoin, because it can create conflict and loose the img
|
|
91
|
+
obsChangeImgName.subscribe({
|
|
92
|
+
next: res1 => {
|
|
93
|
+
obsReplaceImg.subscribe({
|
|
94
|
+
next: res2 => {
|
|
95
|
+
this.onEditClosed(this.msgSuccessEdit);
|
|
96
|
+
},
|
|
97
|
+
error: error => {
|
|
98
|
+
this.onEditClosed(this.msgFailSave);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
error: error => {
|
|
86
103
|
this.onEditClosed(this.msgFailSave);
|
|
87
|
-
}
|
|
88
|
-
}, error => {
|
|
89
|
-
this.onEditClosed(this.msgFailSave);
|
|
104
|
+
}
|
|
90
105
|
});
|
|
91
106
|
}
|
|
92
107
|
}
|
|
93
|
-
ImgEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEditorComponent, deps: [{ token: i1.ImgManagerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
-
ImgEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgEditorComponent, selector: "img-editor", inputs: { stateDisplayed: "stateDisplayed", imgToEdit: "imgToEdit" }, outputs: { editClosed: "editClosed" }, ngImport: i0, template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\n\n <!-- Button Action Section -->\n\n <div class=\"img-editor__infoSection__actions\">\n <div>\n <button\n type=\"button\"\n class=\"button img-editor__infoSection__actions__cancel\"\n (click)=\"onCancel()\"\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\n >\n {{ 'ImgManager.ImgLib.cancel' | translate }}\n </button>\n <div\n class=\"button danger button img-editor__infoSection__actions__save\"\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\n (click)=\"onSave()\"\n >\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\n </div>\n\n </div>\n </div>\n\n <ng-scrollbar\n class=\"img-editor__scroll\"\n [ngClass]=\"{\n 'img-editor__scroll--full': stateDisplayed === 'full',\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\n 'img-editor__scroll--window': stateDisplayed === 'window'\n }\"\n >\n <div class=\"columns\">\n <!-- Left section -->\n <div class=\"column is-one-third img-editor__infoSection\">\n\n <info-section\n [imgToEdit]=\"imgToEdit\"\n [(isNameModified)]=\"isNameModified\"\n >\n </info-section>\n </div>\n\n\n <!-- Right section -->\n <div class=\"column img-editor__container\">\n <cropper\n [imgToEdit]=\"imgToEdit\"\n [(isImgModified)]=\"isImgModified\"\n (currentCroppedImageChange)=\"onImgCropped($event)\"\n (editClosed)=\"onEditClosed($event)\">\n </cropper>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n", dependencies: [{ kind: "directive", type:
|
|
108
|
+
ImgEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEditorComponent, deps: [{ token: i1.ImgManagerService }, { token: i2.RenamePictureService }], target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
ImgEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgEditorComponent, selector: "img-editor", inputs: { stateDisplayed: "stateDisplayed", imgToEdit: "imgToEdit" }, outputs: { editClosed: "editClosed" }, ngImport: i0, template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\n\n <!-- Button Action Section -->\n\n <div class=\"img-editor__infoSection__actions\">\n <div>\n <button\n type=\"button\"\n class=\"button img-editor__infoSection__actions__cancel\"\n (click)=\"onCancel()\"\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\n >\n {{ 'ImgManager.ImgLib.cancel' | translate }}\n </button>\n <div\n class=\"button danger button img-editor__infoSection__actions__save\"\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\n (click)=\"onSave()\"\n >\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\n </div>\n\n </div>\n </div>\n\n <ng-scrollbar\n class=\"img-editor__scroll\"\n [ngClass]=\"{\n 'img-editor__scroll--full': stateDisplayed === 'full',\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\n 'img-editor__scroll--window': stateDisplayed === 'window'\n }\"\n >\n <div class=\"columns\">\n <!-- Left section -->\n <div class=\"column is-one-third img-editor__infoSection\">\n\n <info-section\n [imgToEdit]=\"imgToEdit\"\n [(isNameModified)]=\"isNameModified\"\n >\n </info-section>\n </div>\n\n\n <!-- Right section -->\n <div class=\"column img-editor__container\">\n <cropper\n [imgToEdit]=\"imgToEdit\"\n [(isImgModified)]=\"isImgModified\"\n (currentCroppedImageChange)=\"onImgCropped($event)\"\n (editClosed)=\"onEditClosed($event)\">\n </cropper>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.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: "component", type: i5.EditorInfoSectionComponent, selector: "info-section", inputs: ["imgToEdit", "isNameModified"], outputs: ["isNameModifiedChange"] }, { kind: "component", type: i6.CropperComponent, selector: "cropper", inputs: ["imgToEdit", "isImgModified"], outputs: ["isImgModifiedChange", "editClosed", "currentCroppedImageChange"] }, { kind: "directive", type: i7.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], animations: [
|
|
95
110
|
easeInOut
|
|
96
111
|
] });
|
|
97
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEditorComponent, decorators: [{
|
|
@@ -99,11 +114,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
99
114
|
args: [{ selector: 'img-editor', animations: [
|
|
100
115
|
easeInOut
|
|
101
116
|
], template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\n\n <!-- Button Action Section -->\n\n <div class=\"img-editor__infoSection__actions\">\n <div>\n <button\n type=\"button\"\n class=\"button img-editor__infoSection__actions__cancel\"\n (click)=\"onCancel()\"\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\n >\n {{ 'ImgManager.ImgLib.cancel' | translate }}\n </button>\n <div\n class=\"button danger button img-editor__infoSection__actions__save\"\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\n (click)=\"onSave()\"\n >\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\n </div>\n\n </div>\n </div>\n\n <ng-scrollbar\n class=\"img-editor__scroll\"\n [ngClass]=\"{\n 'img-editor__scroll--full': stateDisplayed === 'full',\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\n 'img-editor__scroll--window': stateDisplayed === 'window'\n }\"\n >\n <div class=\"columns\">\n <!-- Left section -->\n <div class=\"column is-one-third img-editor__infoSection\">\n\n <info-section\n [imgToEdit]=\"imgToEdit\"\n [(isNameModified)]=\"isNameModified\"\n >\n </info-section>\n </div>\n\n\n <!-- Right section -->\n <div class=\"column img-editor__container\">\n <cropper\n [imgToEdit]=\"imgToEdit\"\n [(isImgModified)]=\"isImgModified\"\n (currentCroppedImageChange)=\"onImgCropped($event)\"\n (editClosed)=\"onEditClosed($event)\">\n </cropper>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n" }]
|
|
102
|
-
}], ctorParameters: function () { return [{ type: i1.ImgManagerService }]; }, propDecorators: { stateDisplayed: [{
|
|
117
|
+
}], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.RenamePictureService }]; }, propDecorators: { stateDisplayed: [{
|
|
103
118
|
type: Input
|
|
104
119
|
}], imgToEdit: [{
|
|
105
120
|
type: Input
|
|
106
121
|
}], editClosed: [{
|
|
107
122
|
type: Output
|
|
108
123
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLWVkaXRvci9pbWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2ltZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7Ozs7QUFTN0UsTUFBTSxPQUFPLGtCQUFrQjtJQW1CN0IsWUFDVSxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWJwQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLHdCQUFtQixHQUFXLEVBQUUsQ0FBQyxDQUFDLCtDQUErQztRQUdqRixnQkFBVyxHQUFXLGtDQUFrQyxDQUFDO1FBQ3pELGdCQUFXLEdBQVcsa0NBQWtDLENBQUM7UUFDekQsbUJBQWMsR0FBVyx5REFBeUQsQ0FBQTtJQUk1RSxDQUFDO0lBRVAsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDbEQsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FB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QVMsQ0FDeEIsSUFBSSxDQUFDLEVBQUU7WUFDTCxhQUFhLENBQUMsU0FBUyxDQUNyQixJQUFJLENBQUMsRUFBRTtnQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6QyxDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUU7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7OytHQTdHVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiwrSkNiL0IsdzREQTBEQSwrb0NEakRjO1FBQ1YsU0FBUztLQUNWOzJGQUVVLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxZQUFZLGNBRVY7d0JBQ1YsU0FBUztxQkFDVjt3R0FLRCxjQUFjO3NCQURiLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltZy1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICBlYXNlSW5PdXRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJbWdFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHN0YXRlRGlzcGxheWVkO1xuICBASW5wdXQoKVxuICBpbWdUb0VkaXQ6IEltZ1BpY3R1cmVEVE87XG5cbiAgQE91dHB1dCgpIGVkaXRDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGlzSW1nTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNOYW1lTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY3VycmVudENyb3BwZWRJbWFnZTogc3RyaW5nID0gJyc7IC8vIEltZyBtb2RpZmllZCByZXR1cm4gaW4gYmFzZTY0IGJ5IHRoZSBjcm9wcGVyXG4gIHByaXZhdGUgcHJldmlvdXNOYW1lOiBzdHJpbmc7XG5cbiAgbXNnRmFpbFNhdmU6IHN0cmluZyA9ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5tc2dGYWlsU2F2ZSc7XG4gIG1zZ0ZhaWxMb2FkOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbExvYWQnO1xuICBtc2dTdWNjZXNzRWRpdDogc3RyaW5nID0gXCJMZXMgbW9kaWZpY2F0aW9ucyBkZSBsJ2ltYWdlIG9udCBiaWVuIMOpdMOpIGVucmVnaXN0csOpZXMuXCJcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGltZ01hbmFnZXJTZXJ2aWNlOiBJbWdNYW5hZ2VyU2VydmljZSxcbiAgICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucHJldmlvdXNOYW1lID0gdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lO1xuICB9XG5cbiAgb25TYXZlKCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICBpZiAoIXRoaXMuaXNJbWdNb2RpZmllZCAgJiYgIXRoaXMuaXNOYW1lTW9kaWZpZWQpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLm9uRWRpdENsb3NlZCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic1JlcGxhY2VJbWc6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuaW1nTWFuYWdlclNlcnZpY2UucmVwbGFjZUltZyh0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UsIHRoaXMuaW1nVG9FZGl0LmlkX2ZpbGUpO1xuICAgIGNvbnN0IG9ic0NoYW5nZUltZ05hbWU6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuaW1nTWFuYWdlclNlcnZpY2UuY2hhbmdlSW1nTmFtZSh0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUsIHRoaXMuaW1nVG9FZGl0LmlkX2ZpbGUpO1xuXG4gICAgaWYodGhpcy5pc0ltZ01vZGlmaWVkICYmIHRoaXMuaXNOYW1lTW9kaWZpZWQpIHtcbiAgICAgIHRoaXMucmFuYW1lQW5kUmVwbGFjZUltZyhvYnNDaGFuZ2VJbWdOYW1lLCBvYnNSZXBsYWNlSW1nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZih0aGlzLmlzSW1nTW9kaWZpZWQpe1xuICAgICAgb2JzUmVwbGFjZUltZy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnU3VjY2Vzc0VkaXQpO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gJyc7XG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnRmFpbFNhdmUpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNOYW1lTW9kaWZpZWQpIHtcbiAgICAgIG9ic0NoYW5nZUltZ05hbWUuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByZXZpb3VzTmFtZSA9IHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZTtcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUgPSB0aGlzLnByZXZpb3VzTmFtZTtcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5pc05hbWVNb2RpZmllZCA9IGZhbHNlO1xuICB9XG5cbiAgb25FZGl0Q2xvc2VkKG1zZ0tleT86IHN0cmluZykge1xuICAgIHRoaXMuZWRpdENsb3NlZC5lbWl0KG1zZ0tleSk7XG4gIH1cblxuICBvblJlc3RhcnRFZGl0KCkge1xuICAgIHRoaXMuaXNJbWdNb2RpZmllZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNOYW1lTW9kaWZpZWQgPSBmYWxzZTtcbiAgICB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUgPSB0aGlzLnByZXZpb3VzTmFtZTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMub25FZGl0Q2xvc2VkKCcnKTtcbiAgfVxuXG4gIG9uSW1nQ3JvcHBlZChpbWdCYXNlNjQ6IHN0cmluZykge1xuICAgIHRoaXMuY3VycmVudENyb3BwZWRJbWFnZSA9IGltZ0Jhc2U2NDtcbiAgfVxuXG4gIHByaXZhdGUgcmFuYW1lQW5kUmVwbGFjZUltZyhvYnNDaGFuZ2VJbWdOYW1lOiBPYnNlcnZhYmxlPGFueT4sIG9ic1JlcGxhY2VJbWc6IE9ic2VydmFibGU8YW55Pikge1xuICAgIC8vIEF2b2lkIHRvIHVzZSBmb3Jram9pbiwgYmVjYXVzZSBpdCBjYW4gY3JlYXRlIGNvbmZsaWN0IGFuZCBsb29zIHRoZSBpbWdcbiAgICBvYnNDaGFuZ2VJbWdOYW1lLnN1YnNjcmliZShcbiAgICAgIHJlczEgPT4ge1xuICAgICAgICBvYnNSZXBsYWNlSW1nLnN1YnNjcmliZShcbiAgICAgICAgICByZXMyID0+IHtcbiAgICAgICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnU3VjY2Vzc0VkaXQpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImltZy1lZGl0b3JcIiBbQGVhc2VJbk91dF09XCInaW4nXCI+XG5cbiAgICA8IS0tIEJ1dHRvbiBBY3Rpb24gU2VjdGlvbiAtLT5cblxuICAgIDxkaXYgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fYWN0aW9uc1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19hY3Rpb25zX19jYW5jZWxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nIHx8ICghaXNJbWdNb2RpZmllZCAgJiYgIWlzTmFtZU1vZGlmaWVkKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnSW1nTWFuYWdlci5JbWdMaWIuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGRhbmdlciBidXR0b24gaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNfX3NhdmVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNfX3NhdmUtLWRpc2FibGUnOiBpc0xvYWRpbmd9XCJcbiAgICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLnNhdmVCdG4nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPHNwYW4gYnRuTG9hZGluZ0FuaW0gKm5nSWY9XCJpc0xvYWRpbmdcIiBjbGFzcz1cImJ0bkxvYWRpbmdBbm5pbWF0aW9uXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctc2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzPVwiaW1nLWVkaXRvcl9fc2Nyb2xsXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2ltZy1lZGl0b3JfX3Njcm9sbC0tZnVsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnZnVsbCcsXG4gICAgICAgICAgICAnaW1nLWVkaXRvcl9fc2Nyb2xsLS1zbWFsbERpc3BsYXknOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyxcbiAgICAgICAgICAgICdpbWctZWRpdG9yX19zY3JvbGwtLXdpbmRvdyc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93J1xuICAgICAgICB9XCJcbiAgICA+XG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgPCEtLSBMZWZ0IHNlY3Rpb24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtb25lLXRoaXJkIGltZy1lZGl0b3JfX2luZm9TZWN0aW9uXCI+XG5cbiAgICAgICAgICAgIDxpbmZvLXNlY3Rpb25cbiAgICAgICAgICAgICAgW2ltZ1RvRWRpdF09XCJpbWdUb0VkaXRcIlxuICAgICAgICAgICAgICBbKGlzTmFtZU1vZGlmaWVkKV09XCJpc05hbWVNb2RpZmllZFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvaW5mby1zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgIDwhLS0gUmlnaHQgc2VjdGlvbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctZWRpdG9yX19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxjcm9wcGVyXG4gICAgICAgICAgICAgIFtpbWdUb0VkaXRdPVwiaW1nVG9FZGl0XCJcbiAgICAgICAgICAgICAgWyhpc0ltZ01vZGlmaWVkKV09XCJpc0ltZ01vZGlmaWVkXCJcbiAgICAgICAgICAgICAgKGN1cnJlbnRDcm9wcGVkSW1hZ2VDaGFuZ2UpPVwib25JbWdDcm9wcGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAoZWRpdENsb3NlZCk9XCJvbkVkaXRDbG9zZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9jcm9wcGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8L25nLXNjcm9sbGJhcj5cbjwvZGl2PlxuIl19
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLWVkaXRvci9pbWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2ltZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7O0FBUzdFLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQ1UsaUJBQW9DLEVBQ3BDLG9CQUEwQztRQUQxQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFkMUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFHakYsZ0JBQVcsR0FBVyxrQ0FBa0MsQ0FBQztRQUN6RCxnQkFBVyxHQUFXLGtDQUFrQyxDQUFDO1FBQ3pELG1CQUFjLEdBQVcseURBQXlELENBQUE7SUFLNUUsQ0FBQztJQUVQLFFBQVE7UUFD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Q0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsZ0JBQWlDLEVBQUUsYUFBOEI7UUFDM0YsMEVBQTBFO1FBQzFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztZQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ1gsYUFBYSxDQUFDLFNBQVMsQ0FBQztvQkFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO3dCQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUN6QyxDQUFDO29CQUNELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDdEMsQ0FBQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzsrR0FqSFUsa0JBQWtCO21HQUFsQixrQkFBa0IsK0pDZC9CLHc0REEwREEsK29DRGhEYztRQUNWLFNBQVM7S0FDVjsyRkFFVSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsWUFBWSxjQUVWO3dCQUNWLFNBQVM7cUJBQ1Y7MklBS0QsY0FBYztzQkFEYixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgUmVuYW1lUGljdHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZW5hbWUtcGljdHVyZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1nLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIGVhc2VJbk91dFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEltZ0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgc3RhdGVEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcblxuICBAT3V0cHV0KCkgZWRpdENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNJbWdNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc05hbWVNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjdXJyZW50Q3JvcHBlZEltYWdlOiBzdHJpbmcgPSAnJzsgLy8gSW1nIG1vZGlmaWVkIHJldHVybiBpbiBiYXNlNjQgYnkgdGhlIGNyb3BwZXJcbiAgcHJpdmF0ZSBwcmV2aW91c05hbWU6IHN0cmluZztcblxuICBtc2dGYWlsU2F2ZTogc3RyaW5nID0gJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLm1zZ0ZhaWxTYXZlJztcbiAgbXNnRmFpbExvYWQ6IHN0cmluZyA9ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5tc2dGYWlsTG9hZCc7XG4gIG1zZ1N1Y2Nlc3NFZGl0OiBzdHJpbmcgPSBcIkxlcyBtb2RpZmljYXRpb25zIGRlIGwnaW1hZ2Ugb250IGJpZW4gw6l0w6kgZW5yZWdpc3Ryw6llcy5cIlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1nTWFuYWdlclNlcnZpY2U6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlXG4gICAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZXZpb3VzTmFtZSA9IHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZTtcbiAgfVxuXG4gIG9uU2F2ZSgpIHtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgaWYgKCF0aGlzLmlzSW1nTW9kaWZpZWQgICYmICF0aGlzLmlzTmFtZU1vZGlmaWVkKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5vbkVkaXRDbG9zZWQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBvYnNSZXBsYWNlSW1nOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmltZ01hbmFnZXJTZXJ2aWNlLnJlcGxhY2VJbWcodGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlLCB0aGlzLmltZ1RvRWRpdC5pZF9maWxlKTtcbiAgICBjb25zdCBvYnNDaGFuZ2VJbWdOYW1lOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLmNoYW5nZUltYWdlTmFtZSh0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUsIHRoaXMuaW1nVG9FZGl0LmlkX2ZpbGUpO1xuXG4gICAgaWYodGhpcy5pc0ltZ01vZGlmaWVkICYmIHRoaXMuaXNOYW1lTW9kaWZpZWQpIHtcbiAgICAgIHRoaXMucmVuYW1lQW5kUmVwbGFjZUltZyhvYnNDaGFuZ2VJbWdOYW1lLCBvYnNSZXBsYWNlSW1nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZih0aGlzLmlzSW1nTW9kaWZpZWQpe1xuICAgICAgb2JzUmVwbGFjZUltZy5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiBkYXRhID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gJyc7XG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnRmFpbFNhdmUpO1xuICAgICAgfX0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzTmFtZU1vZGlmaWVkKSB7XG4gICAgICBvYnNDaGFuZ2VJbWdOYW1lLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IGRhdGEgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByZXZpb3VzTmFtZSA9IHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZTtcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lID0gdGhpcy5wcmV2aW91c05hbWU7XG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnRmFpbFNhdmUpO1xuICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuaXNOYW1lTW9kaWZpZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uRWRpdENsb3NlZChtc2dLZXk/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmVkaXRDbG9zZWQuZW1pdChtc2dLZXkpO1xuICB9XG5cbiAgb25SZXN0YXJ0RWRpdCgpIHtcbiAgICB0aGlzLmlzSW1nTW9kaWZpZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzTmFtZU1vZGlmaWVkID0gZmFsc2U7XG4gICAgdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lID0gdGhpcy5wcmV2aW91c05hbWU7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICB0aGlzLm9uRWRpdENsb3NlZCgnJyk7XG4gIH1cblxuICBvbkltZ0Nyb3BwZWQoaW1nQmFzZTY0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UgPSBpbWdCYXNlNjQ7XG4gIH1cblxuICBwcml2YXRlIHJlbmFtZUFuZFJlcGxhY2VJbWcob2JzQ2hhbmdlSW1nTmFtZTogT2JzZXJ2YWJsZTxhbnk+LCBvYnNSZXBsYWNlSW1nOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICAvLyBBdm9pZCB0byB1c2UgZm9ya2pvaW4sIGJlY2F1c2UgaXQgY2FuIGNyZWF0ZSBjb25mbGljdCBhbmQgbG9vc2UgdGhlIGltZ1xuICAgIG9ic0NoYW5nZUltZ05hbWUuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IHJlczEgPT4ge1xuICAgICAgICBvYnNSZXBsYWNlSW1nLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogcmVzMiA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ1N1Y2Nlc3NFZGl0KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnRmFpbFNhdmUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW1nLWVkaXRvclwiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cblxuICAgIDwhLS0gQnV0dG9uIEFjdGlvbiBTZWN0aW9uIC0tPlxuXG4gICAgPGRpdiBjbGFzcz1cImltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19hY3Rpb25zXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24gaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNfX2NhbmNlbFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcgfHwgKCFpc0ltZ01vZGlmaWVkICAmJiAhaXNOYW1lTW9kaWZpZWQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJidXR0b24gZGFuZ2VyIGJ1dHRvbiBpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fYWN0aW9uc19fc2F2ZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fYWN0aW9uc19fc2F2ZS0tZGlzYWJsZSc6IGlzTG9hZGluZ31cIlxuICAgICAgICAgIChjbGljayk9XCJvblNhdmUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnSW1nTWFuYWdlci5JbWdFZGl0b3Iuc2F2ZUJ0bicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8c3BhbiBidG5Mb2FkaW5nQW5pbSAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiYnRuTG9hZGluZ0FubmltYXRpb25cIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1zY3JvbGxiYXJcbiAgICAgICAgY2xhc3M9XCJpbWctZWRpdG9yX19zY3JvbGxcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnaW1nLWVkaXRvcl9fc2Nyb2xsLS1mdWxsJzogc3RhdGVEaXNwbGF5ZWQgPT09ICdmdWxsJyxcbiAgICAgICAgICAgICdpbWctZWRpdG9yX19zY3JvbGwtLXNtYWxsRGlzcGxheSc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnLFxuICAgICAgICAgICAgJ2ltZy1lZGl0b3JfX3Njcm9sbC0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnXG4gICAgICAgIH1cIlxuICAgID5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiPlxuICAgICAgICA8IS0tIExlZnQgc2VjdGlvbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy1vbmUtdGhpcmQgaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25cIj5cblxuICAgICAgICAgICAgPGluZm8tc2VjdGlvblxuICAgICAgICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXG4gICAgICAgICAgICAgIFsoaXNOYW1lTW9kaWZpZWQpXT1cImlzTmFtZU1vZGlmaWVkXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9pbmZvLXNlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPCEtLSBSaWdodCBzZWN0aW9uIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGltZy1lZGl0b3JfX2NvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGNyb3BwZXJcbiAgICAgICAgICAgICAgW2ltZ1RvRWRpdF09XCJpbWdUb0VkaXRcIlxuICAgICAgICAgICAgICBbKGlzSW1nTW9kaWZpZWQpXT1cImlzSW1nTW9kaWZpZWRcIlxuICAgICAgICAgICAgICAoY3VycmVudENyb3BwZWRJbWFnZUNoYW5nZSk9XCJvbkltZ0Nyb3BwZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChlZGl0Q2xvc2VkKT1cIm9uRWRpdENsb3NlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2Nyb3BwZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwvbmctc2Nyb2xsYmFyPlxuPC9kaXY+XG4iXX0=
|