@wizishop/img-manager 0.2.79 → 0.2.83
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/assets/i18n/en.json +1 -1
- package/assets/i18n/fr.json +1 -1
- package/bundles/wizishop-img-manager.umd.js +52 -12
- package/bundles/wizishop-img-manager.umd.js.map +1 -1
- package/bundles/wizishop-img-manager.umd.min.js +2 -2
- package/bundles/wizishop-img-manager.umd.min.js.map +1 -1
- package/esm2015/lib/components/images-view/images-view.component.js +11 -3
- package/esm2015/lib/components/images-view/mosaic-view/img-card/img-card.component.js +10 -2
- package/esm2015/lib/components/images-view/mosaic-view/mosaic-view.component.js +11 -3
- package/esm2015/lib/components/img-tabs/img-tabs.component.js +19 -5
- package/esm2015/lib/wz-img-manager.component.js +5 -2
- package/esm5/lib/components/images-view/images-view.component.js +11 -3
- package/esm5/lib/components/images-view/mosaic-view/img-card/img-card.component.js +10 -2
- package/esm5/lib/components/images-view/mosaic-view/mosaic-view.component.js +11 -3
- package/esm5/lib/components/img-tabs/img-tabs.component.js +19 -5
- package/esm5/lib/wz-img-manager.component.js +5 -2
- package/fesm2015/wizishop-img-manager.js +49 -8
- package/fesm2015/wizishop-img-manager.js.map +1 -1
- package/fesm5/wizishop-img-manager.js +49 -8
- package/fesm5/wizishop-img-manager.js.map +1 -1
- package/lib/components/images-view/images-view.component.d.ts +3 -1
- package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +2 -0
- package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +3 -1
- package/lib/components/img-tabs/img-tabs.component.d.ts +6 -1
- package/lib/wz-img-manager.component.d.ts +1 -0
- package/package.json +1 -1
- package/wizishop-img-manager-0.2.83.tgz +0 -0
- package/wizishop-img-manager.metadata.json +1 -1
- package/wz-img-manager.scss +164 -3
- package/wizishop-img-manager-0.2.79.tgz +0 -0
|
@@ -3,14 +3,17 @@ import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core
|
|
|
3
3
|
import { UploadListComponent } from '../upload-list/upload-list.component';
|
|
4
4
|
import { ImgEventService } from '../../services/img-event.service';
|
|
5
5
|
import { AlertService } from '../../services/alert.service';
|
|
6
|
+
import { Router } from '@angular/router';
|
|
6
7
|
var ImgTabsComponent = /** @class */ (function () {
|
|
7
|
-
function ImgTabsComponent(imgEventEditService, alertService) {
|
|
8
|
+
function ImgTabsComponent(imgEventEditService, alertService, route) {
|
|
8
9
|
this.imgEventEditService = imgEventEditService;
|
|
9
10
|
this.alertService = alertService;
|
|
11
|
+
this.route = route;
|
|
10
12
|
this.multipleImgMode = false;
|
|
11
13
|
this.listDisplayed = false;
|
|
12
14
|
this.imgManagerClosed = new EventEmitter();
|
|
13
15
|
this.currentTab = new EventEmitter();
|
|
16
|
+
this.switchDisplayWindow = new EventEmitter();
|
|
14
17
|
this.tabActive = 'images-view';
|
|
15
18
|
this.tabs = ['img-upload', 'images-view', 'pexels-lib', 'img-edition'];
|
|
16
19
|
this.editTab = false;
|
|
@@ -49,12 +52,18 @@ var ImgTabsComponent = /** @class */ (function () {
|
|
|
49
52
|
ImgTabsComponent.prototype.onShowImgUploaded = function () {
|
|
50
53
|
this.tabActive = this.tabs[1];
|
|
51
54
|
};
|
|
55
|
+
ImgTabsComponent.prototype.switchDisplayWindowImgView = function () {
|
|
56
|
+
this.switchDisplayWindow.emit(true);
|
|
57
|
+
};
|
|
58
|
+
ImgTabsComponent.prototype.switchRouterLink = function (event) {
|
|
59
|
+
};
|
|
52
60
|
ImgTabsComponent.prototype.onImgManagerClosed = function () {
|
|
53
61
|
this.imgManagerClosed.emit();
|
|
54
62
|
};
|
|
55
63
|
ImgTabsComponent.ctorParameters = function () { return [
|
|
56
64
|
{ type: ImgEventService },
|
|
57
|
-
{ type: AlertService }
|
|
65
|
+
{ type: AlertService },
|
|
66
|
+
{ type: Router }
|
|
58
67
|
]; };
|
|
59
68
|
__decorate([
|
|
60
69
|
Input(),
|
|
@@ -76,6 +85,10 @@ var ImgTabsComponent = /** @class */ (function () {
|
|
|
76
85
|
Output(),
|
|
77
86
|
__metadata("design:type", Object)
|
|
78
87
|
], ImgTabsComponent.prototype, "currentTab", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
Output(),
|
|
90
|
+
__metadata("design:type", EventEmitter)
|
|
91
|
+
], ImgTabsComponent.prototype, "switchDisplayWindow", void 0);
|
|
79
92
|
__decorate([
|
|
80
93
|
ViewChild('imgUploadedImg'),
|
|
81
94
|
__metadata("design:type", UploadListComponent)
|
|
@@ -83,12 +96,13 @@ var ImgTabsComponent = /** @class */ (function () {
|
|
|
83
96
|
ImgTabsComponent = __decorate([
|
|
84
97
|
Component({
|
|
85
98
|
selector: 'img-tabs',
|
|
86
|
-
template: "<div\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\n <div class=\"wrapper-tabs\">\n <div\n class=\"tabs\"\n [ngClass]=\"\n {\n 'tabs--notWindow': stateDisplayed !== 'window',\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive === tabs[3]\n }\">\n\n <ul>\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive === tabs[0]}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ 'ImgManager.Tabs.addImg' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[1]}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ 'ImgManager.Tabs.imgLib' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[2]}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ 'ImgManager.Tabs.freeImgLib' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[3]}\" *ngIf=\"editTab\"><a>{{ 'ImgManager.Tabs.Editor' | translate }}</a></li>\n </ul>\n <div\n class=\"img-tabs__canva\"\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\n <canva-btn\n (showImgUploaded)=\"onShowImgUploaded()\"\n [stateDisplayed]=\"stateDisplayed\">\n </canva-btn>\n </div>\n </div>\n </div>\n\n <!-- Upload section -->\n <div\n class=\"columns img-tabs__tabsFirst\"\n [ngClass]=\"{\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\n }\"\n *ngIf=\"tabActive === tabs[0]\">\n <div class=\"column img-tabs__tabsFirst__upload\">\n <img-upload\n [stateDisplayed]=\"stateDisplayed\"\n (imgUploaded)=\"onImgUploaded($event)\"\n ></img-upload>\n </div>\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\n 'img-tabs__tabsFirst__list--upload': imgUpload\n }\">\n <images-view\n *ngIf=\"!imgUpload\"\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"false\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive\"\n [maxLengthCardShow]=\"stateDisplayed === 'small' ? 16 : 8\"\n [fullSize]=\"false\">\n </images-view>\n\n\n <div [hidden]=\"!imgUpload\">\n <upload-list\n #imgUploadedImg\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabActive\"\n [multipleImgMode]=\"multipleImgMode\"\n >\n </upload-list>\n </div>\n </div>\n </div>\n\n <!-- Images section -->\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive === tabs[1]\">\n <div class=\"column\">\n\n <images-view\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"listDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive\"\n [fullSize]=\"true\">\n </images-view>\n\n </div>\n </div>\n\n <!-- Pexel img section -->\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive === tabs[2]\">\n <div class=\"column\">\n <pexels-lib\n [stateDisplayed]=\"stateDisplayed\"\n (showImgUploaded)=\"onShowImgUploaded()\">\n </pexels-lib>\n </div>\n </div>\n\n <!--Edition section -->\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive === tabs[3]\">\n <div class=\"column\">\n <img-editor\n [stateDisplayed]=\"stateDisplayed\"\n [imgToEdit]=\"imgToEdit\"\n (editClosed)=\"onEditClosed($event)\">\n </img-editor>\n </div>\n </div>\n\n</div>\n"
|
|
99
|
+
template: "<div\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\n <div class=\"wrapper-tabs\">\n <div\n class=\"tabs\"\n [ngClass]=\"\n {\n 'tabs--notWindow': stateDisplayed !== 'window',\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive === tabs[3]\n }\">\n\n <ul>\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive === tabs[0]}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ 'ImgManager.Tabs.addImg' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[1]}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ 'ImgManager.Tabs.imgLib' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[2]}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ 'ImgManager.Tabs.freeImgLib' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[3]}\" *ngIf=\"editTab\"><a>{{ 'ImgManager.Tabs.Editor' | translate }}</a></li>\n </ul>\n <div\n class=\"img-tabs__canva\"\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\n <canva-btn\n (showImgUploaded)=\"onShowImgUploaded()\"\n [stateDisplayed]=\"stateDisplayed\">\n </canva-btn>\n </div>\n </div>\n <div class=\"select-mobile-page\">\n <select (change)=\"toggleTabs(tabs[$event.target['value']])\">\n <option disabled selected value>{{ 'ImgManager.Tabs.switchTabs' | translate }}</option>\n <option value=\"0\">{{ 'ImgManager.Tabs.addImg' | translate }}</option>\n <option value=\"1\">{{ 'ImgManager.Tabs.imgLib' | translate }}</option>\n <option value=\"2\">{{ 'ImgManager.Tabs.freeImgLib' | translate }}</option>\n </select>\n </div>\n </div>\n\n <!-- Upload section -->\n <div\n class=\"columns img-tabs__tabsFirst\"\n [ngClass]=\"{\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\n }\"\n *ngIf=\"tabActive === tabs[0]\">\n <div class=\"column img-tabs__tabsFirst__upload\">\n <img-upload\n [stateDisplayed]=\"stateDisplayed\"\n (imgUploaded)=\"onImgUploaded($event)\"\n ></img-upload>\n </div>\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\n 'img-tabs__tabsFirst__list--upload': imgUpload\n }\">\n <images-view\n *ngIf=\"!imgUpload\"\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"false\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive\"\n [maxLengthCardShow]=\"stateDisplayed === 'small' ? 16 : 8\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n [fullSize]=\"false\">\n </images-view>\n\n\n <div [hidden]=\"!imgUpload\">\n <upload-list\n #imgUploadedImg\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabActive\"\n [multipleImgMode]=\"multipleImgMode\"\n >\n </upload-list>\n </div>\n </div>\n </div>\n\n <!-- Images section -->\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive === tabs[1]\">\n <div class=\"column\">\n\n <images-view\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"listDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n [fullSize]=\"true\">\n </images-view>\n\n </div>\n </div>\n\n <!-- Pexel img section -->\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive === tabs[2]\">\n <div class=\"column\">\n <pexels-lib\n [stateDisplayed]=\"stateDisplayed\"\n (showImgUploaded)=\"onShowImgUploaded()\">\n </pexels-lib>\n </div>\n </div>\n\n <!--Edition section -->\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive === tabs[3]\">\n <div class=\"column\">\n <img-editor\n [stateDisplayed]=\"stateDisplayed\"\n [imgToEdit]=\"imgToEdit\"\n (editClosed)=\"onEditClosed($event)\">\n </img-editor>\n </div>\n </div>\n\n</div>\n"
|
|
87
100
|
}),
|
|
88
101
|
__metadata("design:paramtypes", [ImgEventService,
|
|
89
|
-
AlertService
|
|
102
|
+
AlertService,
|
|
103
|
+
Router])
|
|
90
104
|
], ImgTabsComponent);
|
|
91
105
|
return ImgTabsComponent;
|
|
92
106
|
}());
|
|
93
107
|
export { ImgTabsComponent };
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW1nLXRhYnMvaW1nLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQU12QztJQWtDRSwwQkFDVSxtQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsS0FBYTtRQUZiLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBaUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQWxDdkIsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFJakMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHdEIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoQyx3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVoRSxjQUFTLEdBQUcsYUFBYSxDQUFDO1FBQzFCLFNBQUksR0FBYSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUtsQiw2QkFBd0IsR0FBc0I7WUFDNUMsT0FBTyxFQUFFLEVBQUU7WUFDWCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7SUFNSSxDQUFDO0lBRVAsbUNBQVEsR0FBUjtRQUFBLGlCQU9DO1FBTkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixFQUFFLENBQUMsU0FBUyxDQUFDLFVBQUEsU0FBUztZQUNyRSxLQUFJLENBQUMsU0FBUyxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsS0FBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDM0IsS0FBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsS0FBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFDQUFVLEdBQVYsVUFBVyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCx3Q0FBYSxHQUFiLFVBQWMsR0FBb0I7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsdUNBQVksR0FBWixVQUFhLE1BQWM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCw0Q0FBaUIsR0FBakI7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELHFEQUEwQixHQUExQjtRQUNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELDJDQUFnQixHQUFoQixVQUFpQixLQUFLO0lBRXRCLENBQUM7SUFFRCw2Q0FBa0IsR0FBbEI7UUFDRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7Z0JBaEQ4QixlQUFlO2dCQUN0QixZQUFZO2dCQUNuQixNQUFNOztJQWxDdkI7UUFEQyxLQUFLLEVBQUU7OzZEQUN5QjtJQUVqQztRQURDLEtBQUssRUFBRTs7NERBQ3VCO0lBRS9CO1FBREMsS0FBSyxFQUFFOzsyREFDYztJQUd0QjtRQURDLE1BQU0sRUFBRTs7OERBQzZCO0lBR3RDO1FBREMsTUFBTSxFQUFFOzt3REFDdUI7SUFHaEM7UUFEQyxNQUFNLEVBQUU7a0NBQ1ksWUFBWTtpRUFBK0I7SUFXaEU7UUFEQyxTQUFTLENBQUUsZ0JBQWdCLENBQUU7a0NBQ1IsbUJBQW1CO2tFQUFFO0lBM0JoQyxnQkFBZ0I7UUFKNUIsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLFVBQVU7WUFDcEIsa21JQUF3QztTQUN6QyxDQUFDO3lDQW9DK0IsZUFBZTtZQUN0QixZQUFZO1lBQ25CLE1BQU07T0FyQ1osZ0JBQWdCLENBb0Y1QjtJQUFELHVCQUFDO0NBQUEsQUFwRkQsSUFvRkM7U0FwRlksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgVXBsb2FkTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC1saXN0L3VwbG9hZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBOd2JTbmFja2JhckNvbmZpZyB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkIH0gZnJvbSAnLi4vLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbWctdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctdGFicy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSW1nVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQElucHV0KClcbiAgbGlzdERpc3BsYXllZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBpbWdNYW5hZ2VyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBjdXJyZW50VGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdGFiQWN0aXZlID0gJ2ltYWdlcy12aWV3JztcbiAgdGFiczogc3RyaW5nW10gPSBbJ2ltZy11cGxvYWQnLCAnaW1hZ2VzLXZpZXcnLCAncGV4ZWxzLWxpYicsICdpbWctZWRpdGlvbiddO1xuICBlZGl0VGFiID0gZmFsc2U7XG5cbiAgaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPO1xuXG4gIGltZ1VwbG9hZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoICdpbWdVcGxvYWRlZEltZycgKVxuICBpbWdVcGxvYWRlZENvbXBvbmVudDogVXBsb2FkTGlzdENvbXBvbmVudCA7XG5cbiAgc25hY2tCYXJOZXdWZXJzaW9uQ29uZmlnOiBOd2JTbmFja2JhckNvbmZpZyA9IHtcbiAgICBtZXNzYWdlOiAnJyxcbiAgICBkdXJhdGlvbjogMzAwMFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1nRXZlbnRFZGl0U2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogUm91dGVyXG4gICAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmltZ0V2ZW50RWRpdFNlcnZpY2UuZ2V0SW1nVG9FZGl0RXZlbnRMaXN0bmVyKCkuc3Vic2NyaWJlKGltZ1RvRWRpdCA9PntcbiAgICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzNdO1xuICAgICAgdGhpcy5pbWdUb0VkaXQgPSBpbWdUb0VkaXQ7XG4gICAgICB0aGlzLmVkaXRUYWIgPSB0cnVlO1xuICAgICAgdGhpcy5jdXJyZW50VGFiLmVtaXQodGhpcy50YWJzWzNdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZVRhYnModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaW1nVXBsb2FkID0gZmFsc2U7XG4gICAgdGhpcy5lZGl0VGFiID0gZmFsc2U7XG4gICAgdGhpcy50YWJBY3RpdmUgPSB2YWx1ZTtcbiAgfVxuXG4gIG9uSW1nVXBsb2FkZWQoaW1nOiBJbWdQaWN0dXJlRFRPW10pIHtcbiAgICB0aGlzLmltZ1VwbG9hZCA9IHRydWU7XG4gICAgdGhpcy5pbWdVcGxvYWRlZENvbXBvbmVudC5vbkltZ1VwbG9hZGVkKGltZyk7XG4gIH1cblxuICBvbkVkaXRDbG9zZWQobXNnS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmVkaXRUYWIgPSBmYWxzZTtcbiAgICB0aGlzLnRvZ2dsZVRhYnModGhpcy50YWJzWzFdKTtcbiAgICBpZiAobXNnS2V5KSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQobXNnS2V5KTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VGFiLmVtaXQoJ2Nsb3NlJyk7XG4gIH1cblxuICBvblNob3dJbWdVcGxvYWRlZCgpIHtcbiAgICB0aGlzLnRhYkFjdGl2ZSA9IHRoaXMudGFic1sxXTtcbiAgfVxuXG4gIHN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KCkge1xuICAgIHRoaXMuc3dpdGNoRGlzcGxheVdpbmRvdy5lbWl0KHRydWUpO1xuICB9XG5cbiAgc3dpdGNoUm91dGVyTGluayhldmVudCkge1xuXG4gIH1cblxuICBvbkltZ01hbmFnZXJDbG9zZWQoKSB7XG4gICAgdGhpcy5pbWdNYW5hZ2VyQ2xvc2VkLmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -144,6 +144,9 @@ var WzImgManagerComponent = /** @class */ (function () {
|
|
|
144
144
|
this.bodyPadding = 0;
|
|
145
145
|
}
|
|
146
146
|
};
|
|
147
|
+
WzImgManagerComponent.prototype.changeDisplayTab = function () {
|
|
148
|
+
this.stateDisplayed = 'full';
|
|
149
|
+
};
|
|
147
150
|
WzImgManagerComponent.prototype.ngOnDestroy = function () {
|
|
148
151
|
this.selectImgEvent.unsubscribe();
|
|
149
152
|
this.canvaService.expectedImgSizesChange(null);
|
|
@@ -192,7 +195,7 @@ var WzImgManagerComponent = /** @class */ (function () {
|
|
|
192
195
|
WzImgManagerComponent = __decorate([
|
|
193
196
|
Component({
|
|
194
197
|
selector: 'wz-img-manager',
|
|
195
|
-
template: "<div class=\"wz-img-manager\">\n <!-- Img slection handler -->\n <div class=\"wz-img-manager__selectionHandler\" *ngIf=\"showSelection\">\n <img-selection></img-selection>\n </div>\n\n <!-- Img manager module -->\n <div\n *ngIf=\"_showImgManagerModule\"\n class=\"wz-img-manager__module\"\n [ngClass]=\"{\n 'wz-img-manager__module--small': stateDisplayed === 'small',\n 'wz-img-manager__module--full': stateDisplayed === 'full',\n 'wz-img-manager__module--window': stateDisplayed === 'window',\n 'wz-img-manager__module--edit': hideTab}\"\n >\n\n <div class=\"wz-img-manager__module__header\" *ngIf=\"stateDisplayed !== 'window'\">\n <button (click)=\"openSmall()\" *ngIf=\"stateDisplayed === 'full'\"><span>Expand</span><i class=\"fal fa-compress-alt\"></i></button>\n <button (click)=\"openSmall()\" *ngIf=\"stateDisplayed === 'closed'\"><span>Expand</span><i class=\"fal fa-expand-alt\"></i></button>\n <button (click)=\"openFull()\" *ngIf=\"stateDisplayed === 'small'\"><span>Expand</span><i class=\"fal fa-expand-alt\"></i></button>\n <button (click)=\"onClose()\" *ngIf=\"stateDisplayed !== 'closed'\"><span>Close</span><i class=\"fal fa-times\"></i></button>\n </div>\n\n <div\n class=\"wz-img-manager__module__content wz-block\"\n [ngClass]=\"{'wz-block--window': stateDisplayed === 'window'}\">\n <img-tabs\n [stateDisplayed]=\"stateDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [listDisplayed]=\"listDisplayed\"\n (imgManagerClosed)=\"onImgManagerClosed()\"\n (currentTab)=\"setCurrentTab($event)\">\n </img-tabs>\n </div>\n </div>\n\n</div>\n"
|
|
198
|
+
template: "<div class=\"wz-img-manager\">\n <!-- Img slection handler -->\n <div class=\"wz-img-manager__selectionHandler\" *ngIf=\"showSelection\">\n <img-selection></img-selection>\n </div>\n\n <!-- Img manager module -->\n <div\n *ngIf=\"_showImgManagerModule\"\n class=\"wz-img-manager__module\"\n [ngClass]=\"{\n 'wz-img-manager__module--small': stateDisplayed === 'small',\n 'wz-img-manager__module--full': stateDisplayed === 'full',\n 'wz-img-manager__module--window': stateDisplayed === 'window',\n 'wz-img-manager__module--edit': hideTab}\"\n >\n\n <div class=\"wz-img-manager__module__header\" *ngIf=\"stateDisplayed !== 'window'\">\n <button (click)=\"openSmall()\" *ngIf=\"stateDisplayed === 'full'\"><span>Expand</span><i class=\"fal fa-compress-alt\"></i></button>\n <button (click)=\"openSmall()\" *ngIf=\"stateDisplayed === 'closed'\"><span>Expand</span><i class=\"fal fa-expand-alt\"></i></button>\n <button (click)=\"openFull()\" *ngIf=\"stateDisplayed === 'small'\"><span>Expand</span><i class=\"fal fa-expand-alt\"></i></button>\n <button (click)=\"onClose()\" *ngIf=\"stateDisplayed !== 'closed'\"><span>Close</span><i class=\"fal fa-times\"></i></button>\n </div>\n\n <div\n class=\"wz-img-manager__module__content wz-block\"\n [ngClass]=\"{'wz-block--window': stateDisplayed === 'window'}\">\n <img-tabs\n [stateDisplayed]=\"stateDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [listDisplayed]=\"listDisplayed\"\n (imgManagerClosed)=\"onImgManagerClosed()\"\n (switchDisplayWindow)=\"changeDisplayTab()\"\n (currentTab)=\"setCurrentTab($event)\">\n </img-tabs>\n </div>\n </div>\n\n</div>\n"
|
|
196
199
|
}),
|
|
197
200
|
__metadata("design:paramtypes", [ImgSelectionService,
|
|
198
201
|
ImgManagerConfigService,
|
|
@@ -204,4 +207,4 @@ var WzImgManagerComponent = /** @class */ (function () {
|
|
|
204
207
|
return WzImgManagerComponent;
|
|
205
208
|
}());
|
|
206
209
|
export { WzImgManagerComponent };
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3otaW1nLW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL3d6LWltZy1tYW5hZ2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzdDO0lBMkNFLCtCQUNVLG1CQUF3QyxFQUN4QyxxQkFBOEMsRUFDOUMsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLFVBQXNCO1FBTHRCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF5QjtRQUM5Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBL0N2QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUU5QixxQkFBZ0IsR0FBRyxJQUFJLFlB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SUFBSSxDQUFDO1lBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELDJDQUFXLEdBQVg7UUFDRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7O2dCQXBIOEIsbUJBQW1CO2dCQUNqQix1QkFBdUI7Z0JBQ3pCLG1CQUFtQjtnQkFDMUIsWUFBWTtnQkFDVCxlQUFlO2dCQUNwQixVQUFVOztJQWhEdkI7UUFBUixLQUFLLEVBQUU7O2lFQUFnQztJQUMvQjtRQUFSLEtBQUssRUFBRTs7Z0VBQWdDO0lBQy9CO1FBQVIsS0FBSyxFQUFFO2tDQUFpQixtQkFBbUI7aUVBQUM7SUFDbkM7UUFBVCxNQUFNLEVBQUU7O21FQUF1QztJQUd2QztRQUFSLEtBQUssRUFBRTs7O2dFQUdQO0lBT1E7UUFBUixLQUFLLEVBQUU7OztxRUFLUDtJQU1vRDtRQUFwRCxZQUFZLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7eUNBQXlCLGFBQWE7O2lFQUl6RjtJQWhDVSxxQkFBcUI7UUFKakMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixtcURBQThDO1NBQy9DLENBQUM7eUNBNkMrQixtQkFBbUI7WUFDakIsdUJBQXVCO1lBQ3pCLG1CQUFtQjtZQUMxQixZQUFZO1lBQ1QsZUFBZTtZQUNwQixVQUFVO09BakRyQixxQkFBcUIsQ0FpS2pDO0lBQUQsNEJBQUM7Q0FBQSxBQWpLRCxJQWlLQztTQWpLWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9pbWctc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1nTWFuYWdlckNvbmZpZ0R0byB9IGZyb20gJy4vZHRvL2NvbmZpZy9leHRlcm5hbC9leHRlcm5hbC1jb25maWcuZHRvJztcbmltcG9ydCB7IEltZ01hbmFnZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb25maWcvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVc2VyU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FudmFTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jYW52YS5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW1nLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZG9tLnNlcnZpY2UnO1xuaW1wb3J0IHsgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzdGF0ZURpc3BsYXllZCB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3ei1pbWctbWFuYWdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi93ei1pbWctbWFuYWdlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3pJbWdNYW5hZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xuICBASW5wdXQoKSBzaG93U2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGV4dGVybmFsQ29uZmlnOiBJbWdNYW5hZ2VyQ29uZmlnRHRvO1xuICBAT3V0cHV0KCkgaW1nTWFuYWdlckNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHJpdmF0ZSBfbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IG11bHRpcGxlSW1nTW9kZShhY3RpdmF0ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX211bHRpcGxlSW1nTW9kZSA9IGFjdGl2YXRlO1xuICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5zZXRNdWx0aXBsZUltZ01vZGUodGhpcy5fbXVsdGlwbGVJbWdNb2RlKTtcbiAgfVxuXG4gIGdldCBtdWx0aXBsZUltZ01vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpcGxlSW1nTW9kZTtcbiAgfVxuXG4gIF9zaG93SW1nTWFuYWdlck1vZHVsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZXQgc2hvd0ltZ01hbmFnZXJNb2R1bGUoYWN0aXZhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93SW1nTWFuYWdlck1vZHVsZSA9IGFjdGl2YXRlO1xuICAgIGlmIChhY3RpdmF0ZSkge1xuICAgICAgdGhpcy5kaXNwbGF5U21hbGwoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2hvd0ltZ01hbmFnZXJNb2R1bGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpcGxlSW1nTW9kZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSkgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLnN0YXRlRGlzcGxheWVkICYmIHRoaXMuc3RhdGVEaXNwbGF5ZWQgIT09ICd3aW5kb3cnKSB7XG4gICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZTogYm9vbGVhbiA9IGZhbHNlXG4gIHNlbGVjdEltZ0V2ZW50OiBTdWJzY3JpcHRpb247XG4gIGxpc3REaXNwbGF5ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbGlzdERpc3BsYXllZEV2ZW50OiBTdWJzY3JpcHRpb247XG4gIGhpZGVUYWI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8gU2F2ZSB0aGUgZGVmYXV0IG92ZXJmbG93IGFwcGx5IHRvIGh0bWwgdGFnLCB3aGVuIHRoZSBtb2R1bGUgaXMgZnVsbCBvcGVuXG4gIHByaXZhdGUgb3ZlcmZsb3dIVE1MOiBzdHJpbmc7XG4gIHByaXZhdGUgYm9keVBhZGRpbmc6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGltZ1NlbGVjdGlvblNlcnZpY2U6IEltZ1NlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBleHRlcm5hbENvbmZpZ1NlcnZpY2U6IEltZ01hbmFnZXJDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNldHRpbmdzU2VydmljZTogVXNlclNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGNhbnZhU2VydmljZTogQ2FudmFTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1nRXZlbnRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5zZXRFeHRlcm5hbENvbmZpZyh0aGlzLmV4dGVybmFsQ29uZmlnKTtcbiAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2Uuc2V0TXVsdGlwbGVJbWdNb2RlKHRoaXMuX211bHRpcGxlSW1nTW9kZSk7XG4gICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLmluaXRJbWdTZWxlY3RlZExpc3QobnVsbCk7XG4gICAgdGhpcy5zZWxlY3RJbWdFdmVudCA9IHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5nZXRJbWdTZWxlY3Rpb25DaGFuZ2UoKS5zdWJzY3JpYmUoaW1nU2xlY3Rpb24gPT57XG5cbiAgICAgIGlmIChpbWdTbGVjdGlvbiAmJiBpbWdTbGVjdGlvbi5sZW5ndGggJiYgdGhpcy5jaGVja0Nsb3NlSW1nTWFuYWdlcigpKSB7XG4gICAgICAgIC8vIENsb3NlIHRoZSBpbWcgbWFuYWdlclxuICAgICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmNoZWNrVXNlckRpc3BsYXlQcmVmZXJlbmNlKCk7XG4gICAgLy8gVXNlIHdoZW4gdGhlIGltZyBtYW5hZ2VyIGlzIGZ1bGwgb3BlbiBvciBvcGVuIGluIHBhZ2UuIFRoaXMgZGlzcGxheSB0aGUgdXNlciBwcmVmZXJlbmNlIGRpc3BsYXksIG1vc2FpYyBvciBsaXN0LlxuICAgIHRoaXMubGlzdERpc3BsYXllZEV2ZW50ID0gdGhpcy5pbWdFdmVudFNlcnZpY2UuZ2V0bGlzdERpc3BsYXllZENoYW5nZSgpLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmxpc3REaXNwbGF5ZWQgPSB2YWx1ZSk7XG4gICAgLy8gUmVnaXN0ZXIgZG9tIHNlcnZpY2UgdG8gbGlzdGVuIG9uIGFsbCBldmVudCBvbiB0aGUgYm9keSB0byBhdm9pZCBoYXZpbmcgbXVsdGlwbGUgaW5zdGFuY2Ugb2YgdGhlIHNhbWUgdGhpbmcgZXZlcnkgd2hlcmVcbiAgICB0aGlzLmRvbVNlcnZpY2Uuc2V0RG9jdW1lbnRFdmVudExpc3RlbmVyKCk7XG4gIH1cblxuICBjaGVja1VzZXJEaXNwbGF5UHJlZmVyZW5jZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycgfHwgdGhpcy5zdGF0ZURpc3BsYXllZCA9PT0gJ2Z1bGwnKSB7XG4gICAgICB0aGlzLmxpc3REaXNwbGF5ZWQgPSB0aGlzLnVzZXJTZXR0aW5nc1NlcnZpY2UuZ2V0VXNlckRpc3BsYXlQcmVmZXJlbmNlKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0Q3VycmVudFRhYihldmVudCkge1xuICAgIGlmIChldmVudCA9PT0gJ2ltZy1lZGl0aW9uJykge1xuICAgICAgdGhpcy5oaWRlVGFiID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oaWRlVGFiID0gZmFsc2U7XG4gIH1cblxuICBkaXNwbGF5U21hbGwoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGVEaXNwbGF5ZWQgIT09ICd3aW5kb3cnKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZURpc3BsYXllZCA9ICdzbWFsbCc7XG4gICAgICAgIHRoaXMuYWRkQm9keUJvdHRvbVBhZGRpbmdGb3JNb2R1bGUoKTtcbiAgICAgIH0sIDEwKTtcbiAgICB9XG4gIH1cblxuICBvcGVuU21hbGwoKSB7XG4gICAgdGhpcy5zdGF0ZURpc3BsYXllZCA9ICdzbWFsbCc7XG4gICAgdGhpcy5zZXRCb2R5TWFpblNjcm9sbCgpO1xuICAgIHRoaXMubGlzdERpc3BsYXllZCA9IGZhbHNlO1xuICB9XG5cbiAgb3BlbkZ1bGwoKSB7XG4gICAgdGhpcy5zdGF0ZURpc3BsYXllZCA9ICdmdWxsJztcbiAgICB0aGlzLmNoZWNrVXNlckRpc3BsYXlQcmVmZXJlbmNlKCk7XG4gICAgdGhpcy5oaWRlQm9keU1haW5TY3JvbGwoKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5zdGF0ZURpc3BsYXllZCA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVRhYiA9IGZhbHNlO1xuICAgIHRoaXMuc2V0Qm9keU1haW5TY3JvbGwoKTtcbiAgICB0aGlzLnJlbW92ZUJvZHlCb3R0b21QYWRkaW5nRm9yTW9kdWxlKCk7XG4gICAgLy8gV2FpdCB0aGUgZW5kIG9mIHRoZSBjbG9zaW5nIGFubmltYXRpb25cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaW1nTWFuYWdlckNsb3NlZC5lbWl0KCk7XG4gICAgfSwgMjUwKTtcbiAgfVxuXG4gIG9uSW1nTWFuYWdlckNsb3NlZCgpIHtcbiAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSB0aGUgaW1nIG1hbmFnZXIgYWZ0ZXIgb25lIGltZyBpcyBzZWxlY3RlZCwgaWYgbm90IGluIG11bHRpcGxlIGltZyB0byBzZWxlY3RcbiAgICovXG4gIGNoZWNrQ2xvc2VJbWdNYW5hZ2VyKCkge1xuICAgIHJldHVybiAhdGhpcy5tdWx0aXBsZUltZ01vZGUgJiYgdGhpcy5zdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdycgPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBoaWRlQm9keU1haW5TY3JvbGwoKSB7XG4gICAgY29uc3QgaHRtbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF07XG5cbiAgICBpZiAoIXRoaXMub3ZlcmZsb3dIVE1MKSB7XG4gICAgICB0aGlzLm92ZXJmbG93SFRNTCA9IGh0bWwuc3R5bGUub3ZlcmZsb3dZO1xuICAgIH1cblxuICAgIGh0bWwuc3R5bGUub3ZlcmZsb3dZID0gXCJoaWRkZW5cIjtcbiAgfVxuXG4gIHNldEJvZHlNYWluU2Nyb2xsKCkge1xuICAgIGNvbnN0IGh0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xuICAgIGh0bWwuc3R5bGUub3ZlcmZsb3dZID0gdGhpcy5vdmVyZmxvd0hUTUwgPyB0aGlzLm92ZXJmbG93SFRNTCA6IFwic2Nyb2xsXCI7XG4gIH1cblxuICBhZGRCb2R5Qm90dG9tUGFkZGluZ0Zvck1vZHVsZSgpIHtcbiAgICBjb25zdCBib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXTtcbiAgICB0aGlzLmJvZHlQYWRkaW5nID0gdGhpcy5ib2R5UGFkZGluZyA/IHBhcnNlSW50KGJvZHkuc3R5bGUucGFkZGluZ0JvdHRvbSkgOiAwO1xuICAgIGJvZHkuc3R5bGUucGFkZGluZ0JvdHRvbSA9IHRoaXMuYm9keVBhZGRpbmcgKyAzMDAgKyAncHgnO1xuICB9XG5cbiAgcmVtb3ZlQm9keUJvdHRvbVBhZGRpbmdGb3JNb2R1bGUoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmJvZHlQYWRkaW5nICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XG4gICAgICBib2R5LnN0eWxlLnBhZGRpbmdCb3R0b20gPSB0aGlzLmJvZHlQYWRkaW5nICsgJ3B4JztcbiAgICAgIHRoaXMuYm9keVBhZGRpbmcgPSAwO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2VsZWN0SW1nRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNhbnZhU2VydmljZS5leHBlY3RlZEltZ1NpemVzQ2hhbmdlKG51bGwpO1xuICAgIHRoaXMubGlzdERpc3BsYXllZEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3otaW1nLW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL3d6LWltZy1tYW5hZ2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzdDO0lBMkNFLCtCQUNVLG1CQUF3QyxFQUN4QyxxQkFBOEMsRUFDOUMsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLFVBQXNCO1FBTHRCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF5QjtRQUM5Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBL0N2QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUU5QixxQkFBZ0IsR0FBRyxJQUFJLFlB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dXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW1nLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ01hbmFnZXJDb25maWdEdG8gfSBmcm9tICcuL2R0by9jb25maWcvZXh0ZXJuYWwvZXh0ZXJuYWwtY29uZmlnLmR0byc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29uZmlnL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlclNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXNlci1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IENhbnZhU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY2FudmEuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdFdmVudFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IERvbVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RvbS5zZXJ2aWNlJztcbmltcG9ydCB7IEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3otaW1nLW1hbmFnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vd3otaW1nLW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFd6SW1nTWFuYWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQElucHV0KCkgc2hvd1NlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBleHRlcm5hbENvbmZpZzogSW1nTWFuYWdlckNvbmZpZ0R0bztcbiAgQE91dHB1dCgpIGltZ01hbmFnZXJDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByaXZhdGUgX211bHRpcGxlSW1nTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBtdWx0aXBsZUltZ01vZGUoYWN0aXZhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9tdWx0aXBsZUltZ01vZGUgPSBhY3RpdmF0ZTtcbiAgICB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2Uuc2V0TXVsdGlwbGVJbWdNb2RlKHRoaXMuX211bHRpcGxlSW1nTW9kZSk7XG4gIH1cblxuICBnZXQgbXVsdGlwbGVJbWdNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZUltZ01vZGU7XG4gIH1cblxuICBfc2hvd0ltZ01hbmFnZXJNb2R1bGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IHNob3dJbWdNYW5hZ2VyTW9kdWxlKGFjdGl2YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0ltZ01hbmFnZXJNb2R1bGUgPSBhY3RpdmF0ZTtcbiAgICBpZiAoYWN0aXZhdGUpIHtcbiAgICAgIHRoaXMuZGlzcGxheVNtYWxsKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dJbWdNYW5hZ2VyTW9kdWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZUltZ01vZGU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCAmJiB0aGlzLnN0YXRlRGlzcGxheWVkICE9PSAnd2luZG93Jykge1xuICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2U6IGJvb2xlYW4gPSBmYWxzZVxuICBzZWxlY3RJbWdFdmVudDogU3Vic2NyaXB0aW9uO1xuICBsaXN0RGlzcGxheWVkOiBib29sZWFuID0gZmFsc2U7XG4gIGxpc3REaXNwbGF5ZWRFdmVudDogU3Vic2NyaXB0aW9uO1xuICBoaWRlVGFiOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIFNhdmUgdGhlIGRlZmF1dCBvdmVyZmxvdyBhcHBseSB0byBodG1sIHRhZywgd2hlbiB0aGUgbW9kdWxlIGlzIGZ1bGwgb3BlblxuICBwcml2YXRlIG92ZXJmbG93SFRNTDogc3RyaW5nO1xuICBwcml2YXRlIGJvZHlQYWRkaW5nOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBJbWdNYW5hZ2VyQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXR0aW5nc1NlcnZpY2U6IFVzZXJTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYW52YVNlcnZpY2U6IENhbnZhU2VydmljZSxcbiAgICBwcml2YXRlIGltZ0V2ZW50U2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG9tU2VydmljZTogRG9tU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2Uuc2V0RXh0ZXJuYWxDb25maWcodGhpcy5leHRlcm5hbENvbmZpZyk7XG4gICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnNldE11bHRpcGxlSW1nTW9kZSh0aGlzLl9tdWx0aXBsZUltZ01vZGUpO1xuICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5pbml0SW1nU2VsZWN0ZWRMaXN0KG51bGwpO1xuICAgIHRoaXMuc2VsZWN0SW1nRXZlbnQgPSB0aGlzLmltZ1NlbGVjdGlvblNlcnZpY2UuZ2V0SW1nU2VsZWN0aW9uQ2hhbmdlKCkuc3Vic2NyaWJlKGltZ1NsZWN0aW9uID0+e1xuXG4gICAgICBpZiAoaW1nU2xlY3Rpb24gJiYgaW1nU2xlY3Rpb24ubGVuZ3RoICYmIHRoaXMuY2hlY2tDbG9zZUltZ01hbmFnZXIoKSkge1xuICAgICAgICAvLyBDbG9zZSB0aGUgaW1nIG1hbmFnZXJcbiAgICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jaGVja1VzZXJEaXNwbGF5UHJlZmVyZW5jZSgpO1xuICAgIC8vIFVzZSB3aGVuIHRoZSBpbWcgbWFuYWdlciBpcyBmdWxsIG9wZW4gb3Igb3BlbiBpbiBwYWdlLiBUaGlzIGRpc3BsYXkgdGhlIHVzZXIgcHJlZmVyZW5jZSBkaXNwbGF5LCBtb3NhaWMgb3IgbGlzdC5cbiAgICB0aGlzLmxpc3REaXNwbGF5ZWRFdmVudCA9IHRoaXMuaW1nRXZlbnRTZXJ2aWNlLmdldGxpc3REaXNwbGF5ZWRDaGFuZ2UoKS5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5saXN0RGlzcGxheWVkID0gdmFsdWUpO1xuICAgIC8vIFJlZ2lzdGVyIGRvbSBzZXJ2aWNlIHRvIGxpc3RlbiBvbiBhbGwgZXZlbnQgb24gdGhlIGJvZHkgdG8gYXZvaWQgaGF2aW5nIG11bHRpcGxlIGluc3RhbmNlIG9mIHRoZSBzYW1lIHRoaW5nIGV2ZXJ5IHdoZXJlXG4gICAgdGhpcy5kb21TZXJ2aWNlLnNldERvY3VtZW50RXZlbnRMaXN0ZW5lcigpO1xuICB9XG5cbiAgY2hlY2tVc2VyRGlzcGxheVByZWZlcmVuY2UoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnIHx8IHRoaXMuc3RhdGVEaXNwbGF5ZWQgPT09ICdmdWxsJykge1xuICAgICAgdGhpcy5saXN0RGlzcGxheWVkID0gdGhpcy51c2VyU2V0dGluZ3NTZXJ2aWNlLmdldFVzZXJEaXNwbGF5UHJlZmVyZW5jZSgpO1xuICAgIH1cbiAgfVxuXG4gIHNldEN1cnJlbnRUYWIoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQgPT09ICdpbWctZWRpdGlvbicpIHtcbiAgICAgIHRoaXMuaGlkZVRhYiA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaGlkZVRhYiA9IGZhbHNlO1xuICB9XG5cbiAgZGlzcGxheVNtYWxsKCkge1xuICAgIGlmICh0aGlzLnN0YXRlRGlzcGxheWVkICE9PSAnd2luZG93Jykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGVEaXNwbGF5ZWQgPSAnc21hbGwnO1xuICAgICAgICB0aGlzLmFkZEJvZHlCb3R0b21QYWRkaW5nRm9yTW9kdWxlKCk7XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICB9XG5cbiAgb3BlblNtYWxsKCkge1xuICAgIHRoaXMuc3RhdGVEaXNwbGF5ZWQgPSAnc21hbGwnO1xuICAgIHRoaXMuc2V0Qm9keU1haW5TY3JvbGwoKTtcbiAgICB0aGlzLmxpc3REaXNwbGF5ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG9wZW5GdWxsKCkge1xuICAgIHRoaXMuc3RhdGVEaXNwbGF5ZWQgPSAnZnVsbCc7XG4gICAgdGhpcy5jaGVja1VzZXJEaXNwbGF5UHJlZmVyZW5jZSgpO1xuICAgIHRoaXMuaGlkZUJvZHlNYWluU2Nyb2xsKCk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuc3RhdGVEaXNwbGF5ZWQgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVUYWIgPSBmYWxzZTtcbiAgICB0aGlzLnNldEJvZHlNYWluU2Nyb2xsKCk7XG4gICAgdGhpcy5yZW1vdmVCb2R5Qm90dG9tUGFkZGluZ0Zvck1vZHVsZSgpO1xuICAgIC8vIFdhaXQgdGhlIGVuZCBvZiB0aGUgY2xvc2luZyBhbm5pbWF0aW9uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmltZ01hbmFnZXJDbG9zZWQuZW1pdCgpO1xuICAgIH0sIDI1MCk7XG4gIH1cblxuICBvbkltZ01hbmFnZXJDbG9zZWQoKSB7XG4gICAgdGhpcy5vbkNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIGltZyBtYW5hZ2VyIGFmdGVyIG9uZSBpbWcgaXMgc2VsZWN0ZWQsIGlmIG5vdCBpbiBtdWx0aXBsZSBpbWcgdG8gc2VsZWN0XG4gICAqL1xuICBjaGVja0Nsb3NlSW1nTWFuYWdlcigpIHtcbiAgICByZXR1cm4gIXRoaXMubXVsdGlwbGVJbWdNb2RlICYmIHRoaXMuc3RhdGVEaXNwbGF5ZWQgIT09ICd3aW5kb3cnID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgaGlkZUJvZHlNYWluU2Nyb2xsKCkge1xuICAgIGNvbnN0IGh0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xuXG4gICAgaWYgKCF0aGlzLm92ZXJmbG93SFRNTCkge1xuICAgICAgdGhpcy5vdmVyZmxvd0hUTUwgPSBodG1sLnN0eWxlLm92ZXJmbG93WTtcbiAgICB9XG5cbiAgICBodG1sLnN0eWxlLm92ZXJmbG93WSA9IFwiaGlkZGVuXCI7XG4gIH1cblxuICBzZXRCb2R5TWFpblNjcm9sbCgpIHtcbiAgICBjb25zdCBodG1sID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcbiAgICBodG1sLnN0eWxlLm92ZXJmbG93WSA9IHRoaXMub3ZlcmZsb3dIVE1MID8gdGhpcy5vdmVyZmxvd0hUTUwgOiBcInNjcm9sbFwiO1xuICB9XG5cbiAgYWRkQm9keUJvdHRvbVBhZGRpbmdGb3JNb2R1bGUoKSB7XG4gICAgY29uc3QgYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XG4gICAgdGhpcy5ib2R5UGFkZGluZyA9IHRoaXMuYm9keVBhZGRpbmcgPyBwYXJzZUludChib2R5LnN0eWxlLnBhZGRpbmdCb3R0b20pIDogMDtcbiAgICBib2R5LnN0eWxlLnBhZGRpbmdCb3R0b20gPSB0aGlzLmJvZHlQYWRkaW5nICsgMzAwICsgJ3B4JztcbiAgfVxuXG4gIHJlbW92ZUJvZHlCb3R0b21QYWRkaW5nRm9yTW9kdWxlKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5ib2R5UGFkZGluZyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdO1xuICAgICAgYm9keS5zdHlsZS5wYWRkaW5nQm90dG9tID0gdGhpcy5ib2R5UGFkZGluZyArICdweCc7XG4gICAgICB0aGlzLmJvZHlQYWRkaW5nID0gMDtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VEaXNwbGF5VGFiKCkge1xuICAgIHRoaXMuc3RhdGVEaXNwbGF5ZWQgPSAnZnVsbCc7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdEltZ0V2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jYW52YVNlcnZpY2UuZXhwZWN0ZWRJbWdTaXplc0NoYW5nZShudWxsKTtcbiAgICB0aGlzLmxpc3REaXNwbGF5ZWRFdmVudC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -6,6 +6,7 @@ import { trigger, state, style, transition, animate, query, stagger } from '@ang
|
|
|
6
6
|
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
7
7
|
import { NwbAlertService, NwbFilterRoutingBuilder, NwbAllModule } from '@wizishop/ng-wizi-bulma';
|
|
8
8
|
import { debounceTime, map, take, takeUntil, distinctUntilChanged, tap } from 'rxjs/operators';
|
|
9
|
+
import { Router } from '@angular/router';
|
|
9
10
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
10
11
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
11
12
|
import { NgScrollbarModule } from 'ngx-scrollbar';
|
|
@@ -639,6 +640,9 @@ let WzImgManagerComponent = class WzImgManagerComponent {
|
|
|
639
640
|
this.bodyPadding = 0;
|
|
640
641
|
}
|
|
641
642
|
}
|
|
643
|
+
changeDisplayTab() {
|
|
644
|
+
this.stateDisplayed = 'full';
|
|
645
|
+
}
|
|
642
646
|
ngOnDestroy() {
|
|
643
647
|
this.selectImgEvent.unsubscribe();
|
|
644
648
|
this.canvaService.expectedImgSizesChange(null);
|
|
@@ -688,7 +692,7 @@ __decorate([
|
|
|
688
692
|
WzImgManagerComponent = __decorate([
|
|
689
693
|
Component({
|
|
690
694
|
selector: 'wz-img-manager',
|
|
691
|
-
template: "<div class=\"wz-img-manager\">\n <!-- Img slection handler -->\n <div class=\"wz-img-manager__selectionHandler\" *ngIf=\"showSelection\">\n <img-selection></img-selection>\n </div>\n\n <!-- Img manager module -->\n <div\n *ngIf=\"_showImgManagerModule\"\n class=\"wz-img-manager__module\"\n [ngClass]=\"{\n 'wz-img-manager__module--small': stateDisplayed === 'small',\n 'wz-img-manager__module--full': stateDisplayed === 'full',\n 'wz-img-manager__module--window': stateDisplayed === 'window',\n 'wz-img-manager__module--edit': hideTab}\"\n >\n\n <div class=\"wz-img-manager__module__header\" *ngIf=\"stateDisplayed !== 'window'\">\n <button (click)=\"openSmall()\" *ngIf=\"stateDisplayed === 'full'\"><span>Expand</span><i class=\"fal fa-compress-alt\"></i></button>\n <button (click)=\"openSmall()\" *ngIf=\"stateDisplayed === 'closed'\"><span>Expand</span><i class=\"fal fa-expand-alt\"></i></button>\n <button (click)=\"openFull()\" *ngIf=\"stateDisplayed === 'small'\"><span>Expand</span><i class=\"fal fa-expand-alt\"></i></button>\n <button (click)=\"onClose()\" *ngIf=\"stateDisplayed !== 'closed'\"><span>Close</span><i class=\"fal fa-times\"></i></button>\n </div>\n\n <div\n class=\"wz-img-manager__module__content wz-block\"\n [ngClass]=\"{'wz-block--window': stateDisplayed === 'window'}\">\n <img-tabs\n [stateDisplayed]=\"stateDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [listDisplayed]=\"listDisplayed\"\n (imgManagerClosed)=\"onImgManagerClosed()\"\n (currentTab)=\"setCurrentTab($event)\">\n </img-tabs>\n </div>\n </div>\n\n</div>\n"
|
|
695
|
+
template: "<div class=\"wz-img-manager\">\n <!-- Img slection handler -->\n <div class=\"wz-img-manager__selectionHandler\" *ngIf=\"showSelection\">\n <img-selection></img-selection>\n </div>\n\n <!-- Img manager module -->\n <div\n *ngIf=\"_showImgManagerModule\"\n class=\"wz-img-manager__module\"\n [ngClass]=\"{\n 'wz-img-manager__module--small': stateDisplayed === 'small',\n 'wz-img-manager__module--full': stateDisplayed === 'full',\n 'wz-img-manager__module--window': stateDisplayed === 'window',\n 'wz-img-manager__module--edit': hideTab}\"\n >\n\n <div class=\"wz-img-manager__module__header\" *ngIf=\"stateDisplayed !== 'window'\">\n <button (click)=\"openSmall()\" *ngIf=\"stateDisplayed === 'full'\"><span>Expand</span><i class=\"fal fa-compress-alt\"></i></button>\n <button (click)=\"openSmall()\" *ngIf=\"stateDisplayed === 'closed'\"><span>Expand</span><i class=\"fal fa-expand-alt\"></i></button>\n <button (click)=\"openFull()\" *ngIf=\"stateDisplayed === 'small'\"><span>Expand</span><i class=\"fal fa-expand-alt\"></i></button>\n <button (click)=\"onClose()\" *ngIf=\"stateDisplayed !== 'closed'\"><span>Close</span><i class=\"fal fa-times\"></i></button>\n </div>\n\n <div\n class=\"wz-img-manager__module__content wz-block\"\n [ngClass]=\"{'wz-block--window': stateDisplayed === 'window'}\">\n <img-tabs\n [stateDisplayed]=\"stateDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [listDisplayed]=\"listDisplayed\"\n (imgManagerClosed)=\"onImgManagerClosed()\"\n (switchDisplayWindow)=\"changeDisplayTab()\"\n (currentTab)=\"setCurrentTab($event)\">\n </img-tabs>\n </div>\n </div>\n\n</div>\n"
|
|
692
696
|
}),
|
|
693
697
|
__metadata("design:paramtypes", [ImgSelectionService,
|
|
694
698
|
ImgManagerConfigService,
|
|
@@ -996,13 +1000,15 @@ UploadListComponent = __decorate([
|
|
|
996
1000
|
], UploadListComponent);
|
|
997
1001
|
|
|
998
1002
|
let ImgTabsComponent = class ImgTabsComponent {
|
|
999
|
-
constructor(imgEventEditService, alertService) {
|
|
1003
|
+
constructor(imgEventEditService, alertService, route) {
|
|
1000
1004
|
this.imgEventEditService = imgEventEditService;
|
|
1001
1005
|
this.alertService = alertService;
|
|
1006
|
+
this.route = route;
|
|
1002
1007
|
this.multipleImgMode = false;
|
|
1003
1008
|
this.listDisplayed = false;
|
|
1004
1009
|
this.imgManagerClosed = new EventEmitter();
|
|
1005
1010
|
this.currentTab = new EventEmitter();
|
|
1011
|
+
this.switchDisplayWindow = new EventEmitter();
|
|
1006
1012
|
this.tabActive = 'images-view';
|
|
1007
1013
|
this.tabs = ['img-upload', 'images-view', 'pexels-lib', 'img-edition'];
|
|
1008
1014
|
this.editTab = false;
|
|
@@ -1040,13 +1046,19 @@ let ImgTabsComponent = class ImgTabsComponent {
|
|
|
1040
1046
|
onShowImgUploaded() {
|
|
1041
1047
|
this.tabActive = this.tabs[1];
|
|
1042
1048
|
}
|
|
1049
|
+
switchDisplayWindowImgView() {
|
|
1050
|
+
this.switchDisplayWindow.emit(true);
|
|
1051
|
+
}
|
|
1052
|
+
switchRouterLink(event) {
|
|
1053
|
+
}
|
|
1043
1054
|
onImgManagerClosed() {
|
|
1044
1055
|
this.imgManagerClosed.emit();
|
|
1045
1056
|
}
|
|
1046
1057
|
};
|
|
1047
1058
|
ImgTabsComponent.ctorParameters = () => [
|
|
1048
1059
|
{ type: ImgEventService },
|
|
1049
|
-
{ type: AlertService }
|
|
1060
|
+
{ type: AlertService },
|
|
1061
|
+
{ type: Router }
|
|
1050
1062
|
];
|
|
1051
1063
|
__decorate([
|
|
1052
1064
|
Input(),
|
|
@@ -1068,6 +1080,10 @@ __decorate([
|
|
|
1068
1080
|
Output(),
|
|
1069
1081
|
__metadata("design:type", Object)
|
|
1070
1082
|
], ImgTabsComponent.prototype, "currentTab", void 0);
|
|
1083
|
+
__decorate([
|
|
1084
|
+
Output(),
|
|
1085
|
+
__metadata("design:type", EventEmitter)
|
|
1086
|
+
], ImgTabsComponent.prototype, "switchDisplayWindow", void 0);
|
|
1071
1087
|
__decorate([
|
|
1072
1088
|
ViewChild('imgUploadedImg'),
|
|
1073
1089
|
__metadata("design:type", UploadListComponent)
|
|
@@ -1075,10 +1091,11 @@ __decorate([
|
|
|
1075
1091
|
ImgTabsComponent = __decorate([
|
|
1076
1092
|
Component({
|
|
1077
1093
|
selector: 'img-tabs',
|
|
1078
|
-
template: "<div\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\n <div class=\"wrapper-tabs\">\n <div\n class=\"tabs\"\n [ngClass]=\"\n {\n 'tabs--notWindow': stateDisplayed !== 'window',\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive === tabs[3]\n }\">\n\n <ul>\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive === tabs[0]}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ 'ImgManager.Tabs.addImg' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[1]}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ 'ImgManager.Tabs.imgLib' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[2]}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ 'ImgManager.Tabs.freeImgLib' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[3]}\" *ngIf=\"editTab\"><a>{{ 'ImgManager.Tabs.Editor' | translate }}</a></li>\n </ul>\n <div\n class=\"img-tabs__canva\"\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\n <canva-btn\n (showImgUploaded)=\"onShowImgUploaded()\"\n [stateDisplayed]=\"stateDisplayed\">\n </canva-btn>\n </div>\n </div>\n </div>\n\n <!-- Upload section -->\n <div\n class=\"columns img-tabs__tabsFirst\"\n [ngClass]=\"{\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\n }\"\n *ngIf=\"tabActive === tabs[0]\">\n <div class=\"column img-tabs__tabsFirst__upload\">\n <img-upload\n [stateDisplayed]=\"stateDisplayed\"\n (imgUploaded)=\"onImgUploaded($event)\"\n ></img-upload>\n </div>\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\n 'img-tabs__tabsFirst__list--upload': imgUpload\n }\">\n <images-view\n *ngIf=\"!imgUpload\"\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"false\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive\"\n [maxLengthCardShow]=\"stateDisplayed === 'small' ? 16 : 8\"\n [fullSize]=\"false\">\n </images-view>\n\n\n <div [hidden]=\"!imgUpload\">\n <upload-list\n #imgUploadedImg\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabActive\"\n [multipleImgMode]=\"multipleImgMode\"\n >\n </upload-list>\n </div>\n </div>\n </div>\n\n <!-- Images section -->\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive === tabs[1]\">\n <div class=\"column\">\n\n <images-view\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"listDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive\"\n [fullSize]=\"true\">\n </images-view>\n\n </div>\n </div>\n\n <!-- Pexel img section -->\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive === tabs[2]\">\n <div class=\"column\">\n <pexels-lib\n [stateDisplayed]=\"stateDisplayed\"\n (showImgUploaded)=\"onShowImgUploaded()\">\n </pexels-lib>\n </div>\n </div>\n\n <!--Edition section -->\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive === tabs[3]\">\n <div class=\"column\">\n <img-editor\n [stateDisplayed]=\"stateDisplayed\"\n [imgToEdit]=\"imgToEdit\"\n (editClosed)=\"onEditClosed($event)\">\n </img-editor>\n </div>\n </div>\n\n</div>\n"
|
|
1094
|
+
template: "<div\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\n <div class=\"wrapper-tabs\">\n <div\n class=\"tabs\"\n [ngClass]=\"\n {\n 'tabs--notWindow': stateDisplayed !== 'window',\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive === tabs[3]\n }\">\n\n <ul>\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive === tabs[0]}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ 'ImgManager.Tabs.addImg' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[1]}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ 'ImgManager.Tabs.imgLib' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[2]}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ 'ImgManager.Tabs.freeImgLib' | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive === tabs[3]}\" *ngIf=\"editTab\"><a>{{ 'ImgManager.Tabs.Editor' | translate }}</a></li>\n </ul>\n <div\n class=\"img-tabs__canva\"\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\n <canva-btn\n (showImgUploaded)=\"onShowImgUploaded()\"\n [stateDisplayed]=\"stateDisplayed\">\n </canva-btn>\n </div>\n </div>\n <div class=\"select-mobile-page\">\n <select (change)=\"toggleTabs(tabs[$event.target['value']])\">\n <option disabled selected value>{{ 'ImgManager.Tabs.switchTabs' | translate }}</option>\n <option value=\"0\">{{ 'ImgManager.Tabs.addImg' | translate }}</option>\n <option value=\"1\">{{ 'ImgManager.Tabs.imgLib' | translate }}</option>\n <option value=\"2\">{{ 'ImgManager.Tabs.freeImgLib' | translate }}</option>\n </select>\n </div>\n </div>\n\n <!-- Upload section -->\n <div\n class=\"columns img-tabs__tabsFirst\"\n [ngClass]=\"{\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\n }\"\n *ngIf=\"tabActive === tabs[0]\">\n <div class=\"column img-tabs__tabsFirst__upload\">\n <img-upload\n [stateDisplayed]=\"stateDisplayed\"\n (imgUploaded)=\"onImgUploaded($event)\"\n ></img-upload>\n </div>\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\n 'img-tabs__tabsFirst__list--upload': imgUpload\n }\">\n <images-view\n *ngIf=\"!imgUpload\"\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"false\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive\"\n [maxLengthCardShow]=\"stateDisplayed === 'small' ? 16 : 8\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n [fullSize]=\"false\">\n </images-view>\n\n\n <div [hidden]=\"!imgUpload\">\n <upload-list\n #imgUploadedImg\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabActive\"\n [multipleImgMode]=\"multipleImgMode\"\n >\n </upload-list>\n </div>\n </div>\n </div>\n\n <!-- Images section -->\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive === tabs[1]\">\n <div class=\"column\">\n\n <images-view\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"listDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n [fullSize]=\"true\">\n </images-view>\n\n </div>\n </div>\n\n <!-- Pexel img section -->\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive === tabs[2]\">\n <div class=\"column\">\n <pexels-lib\n [stateDisplayed]=\"stateDisplayed\"\n (showImgUploaded)=\"onShowImgUploaded()\">\n </pexels-lib>\n </div>\n </div>\n\n <!--Edition section -->\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive === tabs[3]\">\n <div class=\"column\">\n <img-editor\n [stateDisplayed]=\"stateDisplayed\"\n [imgToEdit]=\"imgToEdit\"\n (editClosed)=\"onEditClosed($event)\">\n </img-editor>\n </div>\n </div>\n\n</div>\n"
|
|
1079
1095
|
}),
|
|
1080
1096
|
__metadata("design:paramtypes", [ImgEventService,
|
|
1081
|
-
AlertService
|
|
1097
|
+
AlertService,
|
|
1098
|
+
Router])
|
|
1082
1099
|
], ImgTabsComponent);
|
|
1083
1100
|
|
|
1084
1101
|
let DragDropDirective = class DragDropDirective {
|
|
@@ -1589,12 +1606,16 @@ let ImgCardComponent = class ImgCardComponent extends ImagesActionHandler {
|
|
|
1589
1606
|
super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, externalService);
|
|
1590
1607
|
this.focusInput = false;
|
|
1591
1608
|
this.toggleImgSelected = new EventEmitter();
|
|
1609
|
+
this.switchDisplayWindow = new EventEmitter();
|
|
1592
1610
|
this.isUploadSection = false;
|
|
1593
1611
|
this.activeConfirmDelete = false;
|
|
1594
1612
|
}
|
|
1595
1613
|
ngOnInit() {
|
|
1596
1614
|
this.isUploadSection = this.tabDisplayed === 'img-upload';
|
|
1597
1615
|
}
|
|
1616
|
+
displayLargeWindow() {
|
|
1617
|
+
this.switchDisplayWindow.emit(true);
|
|
1618
|
+
}
|
|
1598
1619
|
onToggleImgSelected() {
|
|
1599
1620
|
this.toggleImgSelected.next();
|
|
1600
1621
|
}
|
|
@@ -1629,10 +1650,14 @@ __decorate([
|
|
|
1629
1650
|
Output(),
|
|
1630
1651
|
__metadata("design:type", EventEmitter)
|
|
1631
1652
|
], ImgCardComponent.prototype, "toggleImgSelected", void 0);
|
|
1653
|
+
__decorate([
|
|
1654
|
+
Output(),
|
|
1655
|
+
__metadata("design:type", EventEmitter)
|
|
1656
|
+
], ImgCardComponent.prototype, "switchDisplayWindow", void 0);
|
|
1632
1657
|
ImgCardComponent = __decorate([
|
|
1633
1658
|
Component({
|
|
1634
1659
|
selector: 'img-card',
|
|
1635
|
-
template: "<div class=\"addCssPriority\" [@easeInOut]=\"'in'\" [ngClass]=\"{ 'fullSize': fullSize }\">\n <div class=\"img-card\">\n <div class=\"img-card__container\"\n [ngClass]=\"{\n 'smallDisplay': stateDisplayed === 'small' || isUploadSection,\n 'imgSelected': picture.selected,\n 'deletion': picture.deleted}\">\n <img\n class=\"img-card__container__img\"\n [src]=\"picture.file_name | imgSrc : '400'\"\n [alt]=\"picture.display_name\"\n (click)=\"onToggleImgSelected()\"\n (error)=\"picture.imgNotLoaded=true;onPictureNotLoading($event);\"\n />\n <div\n class=\"img-card__container__config\"\n *ngIf=\"!picture.deleted && stateDisplayed !== 'small'\"\n >\n <button class=\"size\"><i class=\"fal fa-image-polaroid\"></i><span>{{picture.raw_height}}x{{picture.raw_width}}</span></button>\n <button class=\"dl\" (click)=\"onDownloadImg(picture.display_name, picture.file_name)\"><i class=\"fal fa-download\"></i><span>{{ 'ImgManager.ImgCard.download' | translate }}</span></button>\n <button class=\"edit\" (click)=\"onEdit(picture)\"><i class=\"far fa-crop-alt\"></i><span>{{ 'ImgManager.ImgCard.edit' | translate }}</span></button>\n <button class=\"deleted\" (click)=\"activeConfirmDelete = true;\"><i class=\"fal fa-times\"></i><span>{{ 'ImgManager.ImgCard.del' | translate }}</span></button>\n <button class=\"selected\" (click)=\"onToggleImgSelected()\" *ngIf=\"stateDisplayed !== 'window'\">\n <i *ngIf=\"!picture.selected\" class=\"fal fa-square\"></i>\n <i *ngIf=\"picture.selected\" class=\"fas fa-check-square checked\"></i>\n <span>{{ 'ImgManager.ImgCard.select' | translate }}</span>\n </button>\n </div>\n <div class=\"img-card__container__delete\" [ngClass]=\"{ 'show' : activeConfirmDelete}\">\n <span>{{ 'ImgManager.ImgCard.confirmDeleteImg' | translate }}</span>\n <div>\n <button (click)=\"activeConfirmDelete = false;\">{{ 'no' | translate }}</button>\n <button (click)=\"onRemoveImg(picture);activeConfirmDelete = false;\">{{ 'yes' | translate }}</button>\n </div>\n </div>\n <div class=\"img-card__container__valid\" *ngIf=\"stateDisplayed === 'small' && tabDisplayed == 'img-upload'\">\n <i class=\"far fa-check\"></i>\n <span>{{ 'ImgManager.ImgCard.validImgSmall' | translate }}</span>\n </div>\n <div\n *ngIf=\"picture.imgNotLoaded\"\n class=\"img-card__container__overlay\"\n [ngClass]=\"{'img-card__container__overlay--smallDisplay': stateDisplayed === 'small' || isUploadSection}\">\n <i (click)=\"onToggleImgSelected()\" class=\"fad fa-folder-times\"></i>\n </div>\n <span btnLoadingAnim class=\"btnLoadingAnnimation\" *ngIf=\"picture.deleted\"></span>\n\n </div>\n <div\n class=\"img-card__nameContainer\"\n [ngClass]=\"{'smallNameDisplay': stateDisplayed === 'small' || isUploadSection, 'focus': focusInput}\">\n <input\n type=\"text\"\n class=\"wzImgMngInput img-card__nameContainer__name\"\n [(ngModel)]=\"picture.display_name\"\n (ngModelChange)=\"onNameChange(picture.id_file)\"\n (focus)=\"previousName=picture.display_name;focusInput = true;\"\n (blur)=\"focusInput = false;\"\n >\n <span>{{picture.display_name}}</span>\n </div>\n\n </div>\n</div>\n",
|
|
1660
|
+
template: "<div class=\"addCssPriority\" [@easeInOut]=\"'in'\" [ngClass]=\"{ 'fullSize': fullSize }\">\n <div class=\"img-card\">\n <div class=\"img-card__container\"\n [ngClass]=\"{\n 'smallDisplay': stateDisplayed === 'small' || isUploadSection,\n 'imgSelected': picture.selected,\n 'deletion': picture.deleted}\">\n <img\n class=\"img-card__container__img\"\n [src]=\"picture.file_name | imgSrc : '400'\"\n [alt]=\"picture.display_name\"\n (click)=\"onToggleImgSelected()\"\n (error)=\"picture.imgNotLoaded=true;onPictureNotLoading($event);\"\n />\n <div\n class=\"img-card__container__config\"\n *ngIf=\"!picture.deleted && stateDisplayed !== 'small'\"\n >\n <button class=\"size\"><i class=\"fal fa-image-polaroid\"></i><span>{{picture.raw_height}}x{{picture.raw_width}}</span></button>\n <button class=\"dl\" (click)=\"onDownloadImg(picture.display_name, picture.file_name)\"><i class=\"fal fa-download\"></i><span>{{ 'ImgManager.ImgCard.download' | translate }}</span></button>\n <button class=\"edit\" (click)=\"onEdit(picture)\"><i class=\"far fa-crop-alt\"></i><span>{{ 'ImgManager.ImgCard.edit' | translate }}</span></button>\n <button class=\"deleted\" (click)=\"activeConfirmDelete = true;\"><i class=\"fal fa-times\"></i><span>{{ 'ImgManager.ImgCard.del' | translate }}</span></button>\n <button class=\"selected\" (click)=\"onToggleImgSelected()\" *ngIf=\"stateDisplayed !== 'window'\">\n <i *ngIf=\"!picture.selected\" class=\"fal fa-square\"></i>\n <i *ngIf=\"picture.selected\" class=\"fas fa-check-square checked\"></i>\n <span>{{ 'ImgManager.ImgCard.select' | translate }}</span>\n </button>\n </div>\n <div\n class=\"img-card__container__config img-card__container__config--small\"\n *ngIf=\"!picture.deleted && stateDisplayed === 'small'\"\n >\n <button class=\"show-edit\" (click)=\"displayLargeWindow()\"><i class=\"fas fa-edit\"></i></button>\n </div>\n <div class=\"img-card__container__delete\" [ngClass]=\"{ 'show' : activeConfirmDelete}\">\n <span>{{ 'ImgManager.ImgCard.confirmDeleteImg' | translate }}</span>\n <div>\n <button (click)=\"activeConfirmDelete = false;\">{{ 'no' | translate }}</button>\n <button (click)=\"onRemoveImg(picture);activeConfirmDelete = false;\">{{ 'yes' | translate }}</button>\n </div>\n </div>\n <div class=\"img-card__container__valid\" *ngIf=\"stateDisplayed === 'small' && tabDisplayed == 'img-upload'\">\n <i class=\"far fa-check\"></i>\n <span>{{ 'ImgManager.ImgCard.validImgSmall' | translate }}</span>\n </div>\n <div\n *ngIf=\"picture.imgNotLoaded\"\n class=\"img-card__container__overlay\"\n [ngClass]=\"{'img-card__container__overlay--smallDisplay': stateDisplayed === 'small' || isUploadSection}\">\n <i (click)=\"onToggleImgSelected()\" class=\"fad fa-folder-times\"></i>\n </div>\n <span btnLoadingAnim class=\"btnLoadingAnnimation\" *ngIf=\"picture.deleted\"></span>\n\n </div>\n <div\n class=\"img-card__nameContainer\"\n [ngClass]=\"{'smallNameDisplay': stateDisplayed === 'small' || isUploadSection, 'focus': focusInput}\">\n <input\n type=\"text\"\n class=\"wzImgMngInput img-card__nameContainer__name\"\n [(ngModel)]=\"picture.display_name\"\n (ngModelChange)=\"onNameChange(picture.id_file)\"\n (focus)=\"previousName=picture.display_name;focusInput = true;\"\n (blur)=\"focusInput = false;\"\n >\n <span>{{picture.display_name}}</span>\n </div>\n\n </div>\n</div>\n",
|
|
1636
1661
|
animations: [
|
|
1637
1662
|
easeInOut
|
|
1638
1663
|
]
|
|
@@ -2447,6 +2472,7 @@ let ImagesViewComponent = class ImagesViewComponent {
|
|
|
2447
2472
|
this.renamePictureService = renamePictureService;
|
|
2448
2473
|
this.listDisplayed = false; // Display format list or mosaic
|
|
2449
2474
|
this.multipleImgMode = false;
|
|
2475
|
+
this.switchDisplayWindow = new EventEmitter();
|
|
2450
2476
|
// Data filters
|
|
2451
2477
|
this.tableFilters = {
|
|
2452
2478
|
sort: undefined,
|
|
@@ -2841,6 +2867,9 @@ let ImagesViewComponent = class ImagesViewComponent {
|
|
|
2841
2867
|
this.initVariables(false);
|
|
2842
2868
|
});
|
|
2843
2869
|
}
|
|
2870
|
+
switchDisplayWindowMosaic() {
|
|
2871
|
+
this.switchDisplayWindow.emit(true);
|
|
2872
|
+
}
|
|
2844
2873
|
ngOnDestroy() {
|
|
2845
2874
|
this.searchQueryChanged.unsubscribe();
|
|
2846
2875
|
this.imgRemovedEvent.unsubscribe();
|
|
@@ -2880,6 +2909,10 @@ __decorate([
|
|
|
2880
2909
|
Input(),
|
|
2881
2910
|
__metadata("design:type", Object)
|
|
2882
2911
|
], ImagesViewComponent.prototype, "multipleImgMode", void 0);
|
|
2912
|
+
__decorate([
|
|
2913
|
+
Output(),
|
|
2914
|
+
__metadata("design:type", EventEmitter)
|
|
2915
|
+
], ImagesViewComponent.prototype, "switchDisplayWindow", void 0);
|
|
2883
2916
|
__decorate([
|
|
2884
2917
|
ViewChild('imgLibContainer'),
|
|
2885
2918
|
__metadata("design:type", ElementRef)
|
|
@@ -2887,7 +2920,7 @@ __decorate([
|
|
|
2887
2920
|
ImagesViewComponent = __decorate([
|
|
2888
2921
|
Component({
|
|
2889
2922
|
selector: 'images-view',
|
|
2890
|
-
template: "<div class=\"images-view\" [ngClass]=\"{'fullSize': fullSize, 'small': stateDisplayed === 'small'}\" [@easeInOut]=\"'in'\">\n <!-- Subheader : Img number and actions btn (sup img list, switch forma display) -->\n <div\n *ngIf=\"(stateDisplayed !== 'small' || tabDisplayed === 'img-upload')\"\n class=\"images-view__container\"\n [ngClass]=\"{'images-view__container--uploadTab': tabDisplayed === 'img-upload', 'images-view__container--window': stateDisplayed === 'window'}\"\n >\n\n <div *ngIf=\"tabDisplayed !== 'img-upload'\">\n <p class=\"mainColor\">{{ 'ImgManager.ImgLib.nbImg' | translate }} : {{length}}</p>\n </div>\n <div *ngIf=\"tabDisplayed === 'img-upload'\">\n <p class=\"mainColor\">{{ 'ImgManager.ImgLib.lastImgs' | translate }}</p>\n </div>\n\n <div class=\"field has-addons subHeaderActions\" *ngIf=\"tabDisplayed !== 'img-upload'\">\n\n <!-- For listforma : Display btn del multiple img & Confirm action -->\n <div class=\"images-view__container__boxAction\">\n\n\n <!-- S\u00E9lectionner -->\n <button\n class=\"button success images-view__container__boxAction__import\"\n @insertRemoveAnnim\n *ngIf=\"listDisplayed && nbImgToDelSelected && !confirmImgSup && !delListImgLoader && multipleImgMode\"\n (click)=\"selectImgChosen()\"\n >\n <i class=\"fal fa-check\"></i>\n {{ 'ImgManager.ImgLib.select' | translate }} ({{nbImgToDelSelected}})\n </button>\n\n <!-- Display btn del multiple img -->\n <button\n *ngIf=\"listDisplayed && nbImgToDelSelected && !confirmImgSup\"\n (click)=\"displayConfirmImgSup()\"\n class=\"button images-view__container__boxAction__delBtn danger\"\n @insertRemoveAnnim\n >\n <i class=\"fal fa-times\"></i>{{ 'ImgManager.ImgLib.delMlt' | translate }} ({{nbImgToDelSelected}})\n <span btnLoadingAnim *ngIf=\"delListImgLoader\" class=\"btnLoadingAnnimation\"></span>\n </button>\n\n <!-- Confirm action -->\n <div\n class=\"images-view__container__boxAction__confirmSup\"\n [ngClass]=\"{'images-view__container__boxAction__confirmSup--visible': confirmImgSup}\">\n <p *ngIf=\"nbImgToDelSelected > 1\" class=\"images-view__container__boxAction__confirmSup__text\">{{ 'ImgManager.ImgLib.confirmSupQuestions' | translate:{nbImage: nbImgToDelSelected} }}</p>\n <p *ngIf=\"nbImgToDelSelected === 1\" class=\"images-view__container__boxAction__confirmSup__text\">{{ 'ImgManager.ImgLib.confirmSupQuestion' | translate:{nbImage: nbImgToDelSelected} }}</p>\n <div>\n <button\n class=\"button images-view__container__boxAction__confirmSup__cancel\"\n (click)=\"cancelSup()\"\n >\n {{ 'ImgManager.ImgLib.cancel' | translate }}\n </button>\n <button\n (click)=\"removeListImg()\"\n class=\"button images-view__container__delBtn danger\"\n >\n {{ 'ImgManager.ImgLib.confirm' | translate }}\n </button>\n </div>\n </div>\n\n </div>\n\n\n <!-- Swith mosaic/list forma -->\n <div class=\"field has-addons images-view__container__buttonBox\">\n <div class=\"control\">\n <div\n class=\"button is-lighted images-view__container__buttonBox__btn\"\n [ngClass]=\"{'actifDisplayed': !listDisplayed}\"\n (click)=\"onSwitchFormatDisplayed(false)\"\n >\n <span class=\"icon is-small\">\n <i class=\"far fa-th\"></i>\n </span>\n </div>\n </div>\n\n <div class=\"control\">\n <div class=\"button is-lighted images-view__container__buttonBox__btn\"\n [ngClass]=\"{'actifDisplayed': listDisplayed}\"\n (click)=\"onSwitchFormatDisplayed(true)\"\n >\n <span class=\"icon is-small\">\n <i class=\"fas fa-bars\"></i>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n <!-- Images section -->\n<ng-scrollbar\n #scrollable\n [visibility]=\"'native'\"\n class=\"images-view__scroll\"\n [ngClass]=\"{\n 'images-view__scroll--hide--mosaic': displayPexelsResults && !listDisplayed,\n 'images-view__scroll--hide--mosaic--small': displayPexelsResults && !listDisplayed && stateDisplayed === 'small',\n 'images-view__scroll--hide--table': displayPexelsResults && listDisplayed,\n 'images-view__scroll--full': stateDisplayed === 'full',\n 'images-view__scroll--smallDisplay' : stateDisplayed === 'small' && tabDisplayed !== 'img-upload',\n 'images-view__scroll--smallUploadDisplay' : stateDisplayed === 'small' && tabDisplayed === 'img-upload',\n 'images-view__scroll--window': stateDisplayed === 'window'\n}\"\n>\n <div #imgLibContainer class=\"images-view__wrapper\">\n <div *ngIf=\"!listDisplayed || stateDisplayed === 'small'\" [@easeInOut]=\"'in'\">\n <mosaic-view\n [picturesList]=\"picturesList\"\n (picturesListChange)=\"onPicturesListChange()\"\n [tableFilters]=\"tableFilters\"\n (filtersChange)=\"onFiltersChange()\"\n [(disable)]=\"disable\"\n (pictureNameChange)=\"onRenamePicture($event)\"\n [nbFakeImg]=\"nbFakeImg\"\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabDisplayed\"\n [displayPexelsResults]=\"displayPexelsResults\"\n [isLoading]=\"isLoading\"\n [fullSize]=\"fullSize\"\n >\n </mosaic-view>\n </div>\n\n <div *ngIf=\"listDisplayed && stateDisplayed !== 'small'\" [@easeInOut]=\"'in'\">\n <table-view\n [picturesList]=\"picturesList\"\n (picturesListChange)=\"onPicturesListChange()\"\n [tableFilters]=\"tableFilters\"\n (filtersChange)=\"onFiltersChange()\"\n [(disable)]=\"disable\"\n (pictureNameChange)=\"onRenamePicture($event)\"\n [displayPexelsResults]=\"displayPexelsResults\"\n [stateDisplayed]=\"stateDisplayed\"\n [isLoading]=\"isLoading\"\n >\n </table-view>\n </div>\n\n </div>\n</ng-scrollbar>\n\n<!-- Pexels Section - When no img found -->\n<div\n *ngIf=\"displayPexelsResults\"\n class=\"images-view--pexels\"\n [@easeInOut]=\"'in'\">\n <pexels-lib\n [searchValue]=\"tableFilters.searchValue\"\n (showImgUploaded)=\"onShowImgUploaded()\"\n [disableSearch]=\"true\"\n >\n </pexels-lib>\n</div>\n",
|
|
2923
|
+
template: "<div class=\"images-view\" [ngClass]=\"{'fullSize': fullSize, 'small': stateDisplayed === 'small'}\" [@easeInOut]=\"'in'\">\n <!-- Subheader : Img number and actions btn (sup img list, switch forma display) -->\n <div\n *ngIf=\"(stateDisplayed !== 'small' || tabDisplayed === 'img-upload')\"\n class=\"images-view__container\"\n [ngClass]=\"{'images-view__container--uploadTab': tabDisplayed === 'img-upload', 'images-view__container--window': stateDisplayed === 'window'}\"\n >\n\n <div *ngIf=\"tabDisplayed !== 'img-upload'\">\n <p class=\"mainColor\">{{ 'ImgManager.ImgLib.nbImg' | translate }} : {{length}}</p>\n </div>\n <div *ngIf=\"tabDisplayed === 'img-upload'\">\n <p class=\"mainColor\">{{ 'ImgManager.ImgLib.lastImgs' | translate }}</p>\n </div>\n\n <div class=\"field has-addons subHeaderActions\" *ngIf=\"tabDisplayed !== 'img-upload'\">\n\n <!-- For listforma : Display btn del multiple img & Confirm action -->\n <div class=\"images-view__container__boxAction\">\n\n\n <!-- S\u00E9lectionner -->\n <button\n class=\"button success images-view__container__boxAction__import\"\n @insertRemoveAnnim\n *ngIf=\"listDisplayed && nbImgToDelSelected && !confirmImgSup && !delListImgLoader && multipleImgMode\"\n (click)=\"selectImgChosen()\"\n >\n <i class=\"fal fa-check\"></i>\n {{ 'ImgManager.ImgLib.select' | translate }} ({{nbImgToDelSelected}})\n </button>\n\n <!-- Display btn del multiple img -->\n <button\n *ngIf=\"listDisplayed && nbImgToDelSelected && !confirmImgSup\"\n (click)=\"displayConfirmImgSup()\"\n class=\"button images-view__container__boxAction__delBtn danger\"\n @insertRemoveAnnim\n >\n <i class=\"fal fa-times\"></i>{{ 'ImgManager.ImgLib.delMlt' | translate }} ({{nbImgToDelSelected}})\n <span btnLoadingAnim *ngIf=\"delListImgLoader\" class=\"btnLoadingAnnimation\"></span>\n </button>\n\n <!-- Confirm action -->\n <div\n class=\"images-view__container__boxAction__confirmSup\"\n [ngClass]=\"{'images-view__container__boxAction__confirmSup--visible': confirmImgSup}\">\n <p *ngIf=\"nbImgToDelSelected > 1\" class=\"images-view__container__boxAction__confirmSup__text\">{{ 'ImgManager.ImgLib.confirmSupQuestions' | translate:{nbImage: nbImgToDelSelected} }}</p>\n <p *ngIf=\"nbImgToDelSelected === 1\" class=\"images-view__container__boxAction__confirmSup__text\">{{ 'ImgManager.ImgLib.confirmSupQuestion' | translate:{nbImage: nbImgToDelSelected} }}</p>\n <div>\n <button\n class=\"button images-view__container__boxAction__confirmSup__cancel\"\n (click)=\"cancelSup()\"\n >\n {{ 'ImgManager.ImgLib.cancel' | translate }}\n </button>\n <button\n (click)=\"removeListImg()\"\n class=\"button images-view__container__delBtn danger\"\n >\n {{ 'ImgManager.ImgLib.confirm' | translate }}\n </button>\n </div>\n </div>\n\n </div>\n\n\n <!-- Swith mosaic/list forma -->\n <div class=\"field has-addons images-view__container__buttonBox\">\n <div class=\"control\">\n <div\n class=\"button is-lighted images-view__container__buttonBox__btn\"\n [ngClass]=\"{'actifDisplayed': !listDisplayed}\"\n (click)=\"onSwitchFormatDisplayed(false)\"\n >\n <span class=\"icon is-small\">\n <i class=\"far fa-th\"></i>\n </span>\n </div>\n </div>\n\n <div class=\"control\">\n <div class=\"button is-lighted images-view__container__buttonBox__btn\"\n [ngClass]=\"{'actifDisplayed': listDisplayed}\"\n (click)=\"onSwitchFormatDisplayed(true)\"\n >\n <span class=\"icon is-small\">\n <i class=\"fas fa-bars\"></i>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n <!-- Images section -->\n<ng-scrollbar\n #scrollable\n [visibility]=\"'native'\"\n class=\"images-view__scroll\"\n [ngClass]=\"{\n 'images-view__scroll--hide--mosaic': displayPexelsResults && !listDisplayed,\n 'images-view__scroll--hide--mosaic--small': displayPexelsResults && !listDisplayed && stateDisplayed === 'small',\n 'images-view__scroll--hide--table': displayPexelsResults && listDisplayed,\n 'images-view__scroll--full': stateDisplayed === 'full',\n 'images-view__scroll--smallDisplay' : stateDisplayed === 'small' && tabDisplayed !== 'img-upload',\n 'images-view__scroll--smallUploadDisplay' : stateDisplayed === 'small' && tabDisplayed === 'img-upload',\n 'images-view__scroll--window': stateDisplayed === 'window'\n}\"\n>\n <div #imgLibContainer class=\"images-view__wrapper\">\n <div *ngIf=\"!listDisplayed || stateDisplayed === 'small'\" [@easeInOut]=\"'in'\">\n <mosaic-view\n [picturesList]=\"picturesList\"\n (picturesListChange)=\"onPicturesListChange()\"\n [tableFilters]=\"tableFilters\"\n (filtersChange)=\"onFiltersChange()\"\n [(disable)]=\"disable\"\n (pictureNameChange)=\"onRenamePicture($event)\"\n (switchDisplayWindow)=\"switchDisplayWindowMosaic()\"\n [nbFakeImg]=\"nbFakeImg\"\n [stateDisplayed]=\"stateDisplayed\"\n [tabDisplayed]=\"tabDisplayed\"\n [displayPexelsResults]=\"displayPexelsResults\"\n [isLoading]=\"isLoading\"\n [fullSize]=\"fullSize\"\n >\n </mosaic-view>\n </div>\n\n <div *ngIf=\"listDisplayed && stateDisplayed !== 'small'\" [@easeInOut]=\"'in'\">\n <table-view\n [picturesList]=\"picturesList\"\n (picturesListChange)=\"onPicturesListChange()\"\n [tableFilters]=\"tableFilters\"\n (filtersChange)=\"onFiltersChange()\"\n [(disable)]=\"disable\"\n (pictureNameChange)=\"onRenamePicture($event)\"\n [displayPexelsResults]=\"displayPexelsResults\"\n [stateDisplayed]=\"stateDisplayed\"\n [isLoading]=\"isLoading\"\n >\n </table-view>\n </div>\n\n </div>\n</ng-scrollbar>\n\n<!-- Pexels Section - When no img found -->\n<div\n *ngIf=\"displayPexelsResults\"\n class=\"images-view--pexels\"\n [@easeInOut]=\"'in'\">\n <pexels-lib\n [searchValue]=\"tableFilters.searchValue\"\n (showImgUploaded)=\"onShowImgUploaded()\"\n [disableSearch]=\"true\"\n >\n </pexels-lib>\n</div>\n",
|
|
2891
2924
|
animations: [
|
|
2892
2925
|
easeInOut,
|
|
2893
2926
|
insertRemove
|
|
@@ -2905,6 +2938,7 @@ let MosaicViewComponent = class MosaicViewComponent extends ImagesActionHandler
|
|
|
2905
2938
|
constructor(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, externalService) {
|
|
2906
2939
|
super(imgManager, imgSelectionService, http, imgCDNService, imgEventCardService, alertService, translateService, externalService);
|
|
2907
2940
|
this.nbFakeImg = 0;
|
|
2941
|
+
this.switchDisplayWindow = new EventEmitter();
|
|
2908
2942
|
}
|
|
2909
2943
|
ngOnInit() {
|
|
2910
2944
|
}
|
|
@@ -2918,6 +2952,9 @@ let MosaicViewComponent = class MosaicViewComponent extends ImagesActionHandler
|
|
|
2918
2952
|
onCardRenamePicture(pictureRenamed) {
|
|
2919
2953
|
this.pictureNameChange.next(pictureRenamed);
|
|
2920
2954
|
}
|
|
2955
|
+
switchDisplayWindowCard() {
|
|
2956
|
+
this.switchDisplayWindow.emit(true);
|
|
2957
|
+
}
|
|
2921
2958
|
};
|
|
2922
2959
|
MosaicViewComponent.ctorParameters = () => [
|
|
2923
2960
|
{ type: ImgManagerService },
|
|
@@ -2941,10 +2978,14 @@ __decorate([
|
|
|
2941
2978
|
Input(),
|
|
2942
2979
|
__metadata("design:type", Number)
|
|
2943
2980
|
], MosaicViewComponent.prototype, "nbFakeImg", void 0);
|
|
2981
|
+
__decorate([
|
|
2982
|
+
Output(),
|
|
2983
|
+
__metadata("design:type", EventEmitter)
|
|
2984
|
+
], MosaicViewComponent.prototype, "switchDisplayWindow", void 0);
|
|
2944
2985
|
MosaicViewComponent = __decorate([
|
|
2945
2986
|
Component({
|
|
2946
2987
|
selector: 'mosaic-view',
|
|
2947
|
-
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 [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",
|
|
2988
|
+
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",
|
|
2948
2989
|
animations: [
|
|
2949
2990
|
listAnnimation
|
|
2950
2991
|
]
|