@wizishop/img-manager 15.2.57 → 15.2.59
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 +393 -393
- package/assets/canva/icon_canva.svg +4 -4
- package/assets/i18n/en.json +1 -1
- package/assets/i18n/es.json +1 -1
- package/assets/i18n/fr.json +1 -1
- package/assets/i18n/it.json +1 -1
- package/assets/img/icon_picture.svg +11 -11
- package/esm2020/lib/animations/easeInOut/ease-in-out.animation.mjs +1 -1
- package/esm2020/lib/animations/insertRemove/insert-remove.animation.mjs +1 -1
- package/esm2020/lib/animations/listAnnimation/list.animation.mjs +1 -1
- package/esm2020/lib/components/canva-btn/canva-btn.component.mjs +3 -3
- package/esm2020/lib/components/images-view/images-actions-handler.mjs +4 -1
- package/esm2020/lib/components/images-view/images-view.component.mjs +3 -3
- package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +3 -3
- package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +3 -3
- package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +3 -3
- package/esm2020/lib/components/img-editor/cropper/cropper.component.mjs +3 -3
- package/esm2020/lib/components/img-editor/img-editor.component.mjs +44 -7
- package/esm2020/lib/components/img-editor/info-section/info-section.component.mjs +3 -3
- package/esm2020/lib/components/img-editor/info-video/info-video.component.mjs +62 -0
- package/esm2020/lib/components/img-editor/show-iframe/show-iframe.component.mjs +54 -0
- package/esm2020/lib/components/img-selection/img-selection.component.mjs +3 -3
- package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +12 -3
- package/esm2020/lib/components/img-upload/img-upload.component.mjs +3 -3
- package/esm2020/lib/components/loader/loader.component.mjs +3 -3
- package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +3 -3
- package/esm2020/lib/components/shared/alert/alert.component.mjs +3 -3
- package/esm2020/lib/components/shared/checkbox/checkbox.component.mjs +3 -3
- package/esm2020/lib/components/shared/dropdown/dropdown.component.mjs +3 -3
- package/esm2020/lib/components/shared/input-search/input-search.component.mjs +3 -3
- package/esm2020/lib/components/shared/pagination/page-selector/page-selector.component.mjs +3 -3
- package/esm2020/lib/components/shared/pagination/pagination.component.mjs +3 -3
- package/esm2020/lib/components/shared/select/call-to-action.model.mjs +1 -1
- package/esm2020/lib/components/shared/select/select-items.dto.mjs +1 -1
- package/esm2020/lib/components/shared/select/select.component.mjs +3 -3
- package/esm2020/lib/components/shared/table/table.component.mjs +3 -3
- package/esm2020/lib/components/upload-list/upload-list.component.mjs +3 -3
- package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +1 -1
- package/esm2020/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +1 -1
- package/esm2020/lib/directives/auto-hide.directive.mjs +1 -1
- package/esm2020/lib/directives/copy-to-clipboard.directive.mjs +1 -1
- package/esm2020/lib/directives/drag-drop.directive.mjs +1 -1
- package/esm2020/lib/directives/loading.directive.mjs +1 -1
- package/esm2020/lib/directives/table/checkBoxRow.directive.mjs +1 -1
- package/esm2020/lib/directives/table/column.directive.mjs +1 -1
- package/esm2020/lib/directives/table/columnHeader.directive.mjs +1 -1
- package/esm2020/lib/directives/table/raw.directive.mjs +1 -1
- package/esm2020/lib/directives/zindex-toggle.directive.mjs +1 -1
- package/esm2020/lib/dto/ImgManagerDisplayConfig.dto.mjs +1 -1
- package/esm2020/lib/dto/canva-create-design.dto.mjs +1 -1
- package/esm2020/lib/dto/canva.dto.mjs +1 -1
- package/esm2020/lib/dto/config/apis/api.dto.mjs +1 -1
- package/esm2020/lib/dto/config/external/external-config.dto.mjs +1 -1
- package/esm2020/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +1 -1
- package/esm2020/lib/dto/config/img-manager.mjs +1 -1
- package/esm2020/lib/dto/export-dtos.api.mjs +1 -1
- package/esm2020/lib/dto/img-editor-config.dto.mjs +1 -1
- package/esm2020/lib/dto/img-manager.dto.mjs +1 -1
- package/esm2020/lib/dto/pexels-img.dto.mjs +1 -1
- package/esm2020/lib/dto/picture-name-update.dto.mjs +1 -1
- package/esm2020/lib/dto/wizi-block-media.dto.mjs +1 -1
- package/esm2020/lib/pipes/images/img-src.pipe.mjs +1 -1
- package/esm2020/lib/pipes/number-to-array.pipe.mjs +1 -1
- package/esm2020/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +1 -1
- package/esm2020/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +1 -1
- package/esm2020/lib/pipes/pagination/text/custom-text.pipe.mjs +1 -1
- package/esm2020/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +1 -1
- package/esm2020/lib/pipes/select/select-filters.pipe.mjs +1 -1
- package/esm2020/lib/services/alert.service.mjs +1 -1
- package/esm2020/lib/services/api.service.mjs +1 -1
- package/esm2020/lib/services/canva.service.mjs +1 -1
- package/esm2020/lib/services/config/img-cdn.service.mjs +1 -1
- package/esm2020/lib/services/dom.service.mjs +1 -1
- package/esm2020/lib/services/icon.service.mjs +1 -1
- package/esm2020/lib/services/image-not-found.service.mjs +1 -1
- package/esm2020/lib/services/img-event.service.mjs +8 -1
- package/esm2020/lib/services/img-manager.service.mjs +1 -1
- package/esm2020/lib/services/img-selection.service.mjs +1 -1
- package/esm2020/lib/services/pexels.service.mjs +1 -1
- package/esm2020/lib/services/rename-picture.service.mjs +4 -1
- package/esm2020/lib/services/snackbar.service.mjs +1 -1
- package/esm2020/lib/services/table/filters-table.service.mjs +1 -1
- package/esm2020/lib/services/upload.service.mjs +1 -1
- package/esm2020/lib/services/user-settings.service.mjs +1 -1
- package/esm2020/lib/services/video-info.service.mjs +87 -0
- package/esm2020/lib/wz-img-manager.component.mjs +3 -3
- package/esm2020/lib/wz-img-manager.module.mjs +7 -1
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/wizishop-img-manager.mjs +295 -47
- package/fesm2015/wizishop-img-manager.mjs.map +1 -1
- package/fesm2020/wizishop-img-manager.mjs +294 -47
- package/fesm2020/wizishop-img-manager.mjs.map +1 -1
- package/lib/components/images-view/images-actions-handler.d.ts +1 -0
- package/lib/components/img-editor/img-editor.component.d.ts +8 -1
- package/lib/components/img-editor/info-video/info-video.component.d.ts +20 -0
- package/lib/components/img-editor/show-iframe/show-iframe.component.d.ts +15 -0
- package/lib/components/img-tabs/img-tabs.component.d.ts +1 -0
- package/lib/dto/img-manager.dto.d.ts +1 -0
- package/lib/services/api.service.d.ts +1 -0
- package/lib/services/img-event.service.d.ts +3 -0
- package/lib/services/rename-picture.service.d.ts +1 -0
- package/lib/services/video-info.service.d.ts +23 -0
- package/lib/wz-img-manager.module.d.ts +46 -44
- package/package.json +1 -1
- package/wizishop-img-manager-15.2.59.tgz +0 -0
- package/wz-img-manager.scss +4285 -4106
- package/wizishop-img-manager-15.2.57.tgz +0 -0
|
@@ -40,10 +40,10 @@ export class EditorInfoSectionComponent {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
EditorInfoSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorInfoSectionComponent, deps: [{ token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
EditorInfoSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: EditorInfoSectionComponent, selector: "info-section", inputs: { imgToEdit: "imgToEdit", isNameModified: "isNameModified" }, outputs: { isNameModifiedChange: "isNameModifiedChange" }, ngImport: i0, template: "\n<!-- Img properties -->\n<div class=\"img-editor__infoSection__propertyEditable\">\n <p class=\"mainColor\">\n {{ 'ImgManager.UploadList.properties.imgName' | translate }}\n <span class=\"img-editor__infoSection__propertyEditable__tooltips\" [nwbToolTip]=\"'ImgManager.ImgEditor.NameInfo' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></span>\n </p>\n <input\n type=\"text\"\n class=\"img-editor__infoSection__propertyEditable__input\"\n placeholder=\"{{'ImgManager.ImgEditor.nameEx' | translate}} \"\n [(ngModel)]=\"imgToEdit.display_name\"\n debounceKeyUp\n [debounceTime]=\"500\"\n (onEventChange)=\"onNameChange()\">\n</div>\n<div class=\"img-editor__infoSection__propertyEditable\">\n <p class=\"mainColor\">\n {{ 'ImgManager.UploadList.properties.imgURL' | translate }}\n <span class=\"img-editor__infoSection__propertyEditable__tooltips\" [nwbToolTip]=\"'ImgManager.editImg.changeName' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></span>\n </p>\n <button type=\"button\" [copy-clipboard]=\"imgToEdit.file_name | imgSrc : 'raw'\" (copied)=\"copyToClipBoard($event)\" ><span class=\"img-editor__infoSection__propertyEditable__span\">{{imgToEdit.file_name}}</span> <i class=\"far fa-copy\"></i></button>\n</div>\n<div class=\"img-editor__infoSection__property\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.properties.imgSize' | translate }} :</p>\n <p>{{imgToEdit.raw_height}}*{{imgToEdit.raw_width}}px</p>\n</div>\n<div class=\"img-editor__infoSection__property\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.properties.imgWeight' | translate }} :</p>\n <p >{{getFileSize()}} ko</p>\n</div>\n\n<!-- SEO info -->\n\n<span class=\"img-editor__infoSection__divider\"></span>\n\n<div class=\"img-editor__infoSection__titleSEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.title' | translate }}</p>\n</div>\n\n<div class=\"img-editor__infoSection__propertySEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.reziseTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\n</div>\n<div class=\"img-editor__infoSection__propertySEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.webpTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\n</div>\n<div class=\"img-editor__infoSection__propertySEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.cdnTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\n\n</div>\n<div class=\"img-editor__infoSection__propertySEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.lazyloadingTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\n</div>\n", dependencies: [{ kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NwbToolTipDirective, selector: "[nwbToolTip]", inputs: ["nwbToolTip", "nwbToolTipPosition", "nwbToolTipIsMultiline"] }, { kind: "directive", type: i4.CopyClipboardDirective, selector: "[copy-clipboard]", inputs: ["copy-clipboard"], outputs: ["copied"] }, { kind: "directive", type: i5.DebounceKeyupDirective, selector: "input[debounceKeyUp]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.ImageSrcPipe, name: "imgSrc" }] });
|
|
43
|
+
EditorInfoSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: EditorInfoSectionComponent, selector: "info-section", inputs: { imgToEdit: "imgToEdit", isNameModified: "isNameModified" }, outputs: { isNameModifiedChange: "isNameModifiedChange" }, ngImport: i0, template: "\r\n<!-- Img properties -->\r\n<div class=\"img-editor__infoSection__propertyEditable\">\r\n <p class=\"mainColor\">\r\n {{ 'ImgManager.UploadList.properties.imgName' | translate }}\r\n <span class=\"img-editor__infoSection__propertyEditable__tooltips\" [nwbToolTip]=\"'ImgManager.ImgEditor.NameInfo' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></span>\r\n </p>\r\n <input\r\n type=\"text\"\r\n class=\"img-editor__infoSection__propertyEditable__input\"\r\n placeholder=\"{{'ImgManager.ImgEditor.nameEx' | translate}} \"\r\n [(ngModel)]=\"imgToEdit.display_name\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"onNameChange()\">\r\n</div>\r\n<div class=\"img-editor__infoSection__propertyEditable\">\r\n <p class=\"mainColor\">\r\n {{ 'ImgManager.UploadList.properties.imgURL' | translate }}\r\n <span class=\"img-editor__infoSection__propertyEditable__tooltips\" [nwbToolTip]=\"'ImgManager.editImg.changeName' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></span>\r\n </p>\r\n <button type=\"button\" [copy-clipboard]=\"imgToEdit.file_name | imgSrc : 'raw'\" (copied)=\"copyToClipBoard($event)\" ><span class=\"img-editor__infoSection__propertyEditable__span\">{{imgToEdit.file_name}}</span> <i class=\"far fa-copy\"></i></button>\r\n</div>\r\n<div class=\"img-editor__infoSection__property\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.properties.imgSize' | translate }} :</p>\r\n <p>{{imgToEdit.raw_height}}*{{imgToEdit.raw_width}}px</p>\r\n</div>\r\n<div class=\"img-editor__infoSection__property\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.properties.imgWeight' | translate }} :</p>\r\n <p >{{getFileSize()}} ko</p>\r\n</div>\r\n\r\n<!-- SEO info -->\r\n\r\n<span class=\"img-editor__infoSection__divider\"></span>\r\n\r\n<div class=\"img-editor__infoSection__titleSEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.title' | translate }}</p>\r\n</div>\r\n\r\n<div class=\"img-editor__infoSection__propertySEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.reziseTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\r\n</div>\r\n<div class=\"img-editor__infoSection__propertySEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.webpTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\r\n</div>\r\n<div class=\"img-editor__infoSection__propertySEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.cdnTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\r\n\r\n</div>\r\n<div class=\"img-editor__infoSection__propertySEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.lazyloadingTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NwbToolTipDirective, selector: "[nwbToolTip]", inputs: ["nwbToolTip", "nwbToolTipPosition", "nwbToolTipIsMultiline"] }, { kind: "directive", type: i4.CopyClipboardDirective, selector: "[copy-clipboard]", inputs: ["copy-clipboard"], outputs: ["copied"] }, { kind: "directive", type: i5.DebounceKeyupDirective, selector: "input[debounceKeyUp]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.ImageSrcPipe, name: "imgSrc" }] });
|
|
44
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorInfoSectionComponent, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
|
-
args: [{ selector: 'info-section', template: "\n<!-- Img properties -->\n<div class=\"img-editor__infoSection__propertyEditable\">\n <p class=\"mainColor\">\n {{ 'ImgManager.UploadList.properties.imgName' | translate }}\n <span class=\"img-editor__infoSection__propertyEditable__tooltips\" [nwbToolTip]=\"'ImgManager.ImgEditor.NameInfo' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></span>\n </p>\n <input\n type=\"text\"\n class=\"img-editor__infoSection__propertyEditable__input\"\n placeholder=\"{{'ImgManager.ImgEditor.nameEx' | translate}} \"\n [(ngModel)]=\"imgToEdit.display_name\"\n debounceKeyUp\n [debounceTime]=\"500\"\n (onEventChange)=\"onNameChange()\">\n</div>\n<div class=\"img-editor__infoSection__propertyEditable\">\n <p class=\"mainColor\">\n {{ 'ImgManager.UploadList.properties.imgURL' | translate }}\n <span class=\"img-editor__infoSection__propertyEditable__tooltips\" [nwbToolTip]=\"'ImgManager.editImg.changeName' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></span>\n </p>\n <button type=\"button\" [copy-clipboard]=\"imgToEdit.file_name | imgSrc : 'raw'\" (copied)=\"copyToClipBoard($event)\" ><span class=\"img-editor__infoSection__propertyEditable__span\">{{imgToEdit.file_name}}</span> <i class=\"far fa-copy\"></i></button>\n</div>\n<div class=\"img-editor__infoSection__property\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.properties.imgSize' | translate }} :</p>\n <p>{{imgToEdit.raw_height}}*{{imgToEdit.raw_width}}px</p>\n</div>\n<div class=\"img-editor__infoSection__property\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.properties.imgWeight' | translate }} :</p>\n <p >{{getFileSize()}} ko</p>\n</div>\n\n<!-- SEO info -->\n\n<span class=\"img-editor__infoSection__divider\"></span>\n\n<div class=\"img-editor__infoSection__titleSEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.title' | translate }}</p>\n</div>\n\n<div class=\"img-editor__infoSection__propertySEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.reziseTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\n</div>\n<div class=\"img-editor__infoSection__propertySEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.webpTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\n</div>\n<div class=\"img-editor__infoSection__propertySEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.cdnTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\n\n</div>\n<div class=\"img-editor__infoSection__propertySEO\">\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.lazyloadingTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\n</div>\n" }]
|
|
46
|
+
args: [{ selector: 'info-section', template: "\r\n<!-- Img properties -->\r\n<div class=\"img-editor__infoSection__propertyEditable\">\r\n <p class=\"mainColor\">\r\n {{ 'ImgManager.UploadList.properties.imgName' | translate }}\r\n <span class=\"img-editor__infoSection__propertyEditable__tooltips\" [nwbToolTip]=\"'ImgManager.ImgEditor.NameInfo' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></span>\r\n </p>\r\n <input\r\n type=\"text\"\r\n class=\"img-editor__infoSection__propertyEditable__input\"\r\n placeholder=\"{{'ImgManager.ImgEditor.nameEx' | translate}} \"\r\n [(ngModel)]=\"imgToEdit.display_name\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"onNameChange()\">\r\n</div>\r\n<div class=\"img-editor__infoSection__propertyEditable\">\r\n <p class=\"mainColor\">\r\n {{ 'ImgManager.UploadList.properties.imgURL' | translate }}\r\n <span class=\"img-editor__infoSection__propertyEditable__tooltips\" [nwbToolTip]=\"'ImgManager.editImg.changeName' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></span>\r\n </p>\r\n <button type=\"button\" [copy-clipboard]=\"imgToEdit.file_name | imgSrc : 'raw'\" (copied)=\"copyToClipBoard($event)\" ><span class=\"img-editor__infoSection__propertyEditable__span\">{{imgToEdit.file_name}}</span> <i class=\"far fa-copy\"></i></button>\r\n</div>\r\n<div class=\"img-editor__infoSection__property\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.properties.imgSize' | translate }} :</p>\r\n <p>{{imgToEdit.raw_height}}*{{imgToEdit.raw_width}}px</p>\r\n</div>\r\n<div class=\"img-editor__infoSection__property\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.properties.imgWeight' | translate }} :</p>\r\n <p >{{getFileSize()}} ko</p>\r\n</div>\r\n\r\n<!-- SEO info -->\r\n\r\n<span class=\"img-editor__infoSection__divider\"></span>\r\n\r\n<div class=\"img-editor__infoSection__titleSEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.title' | translate }}</p>\r\n</div>\r\n\r\n<div class=\"img-editor__infoSection__propertySEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.reziseTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\r\n</div>\r\n<div class=\"img-editor__infoSection__propertySEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.webpTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\r\n</div>\r\n<div class=\"img-editor__infoSection__propertySEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.cdnTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\r\n\r\n</div>\r\n<div class=\"img-editor__infoSection__propertySEO\">\r\n <p class=\"mainColor\">{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\r\n <p><i class=\"fal fa-check\"></i> 100%</p>\r\n <p class=\"img-editor__infoSection__propertySEO__tooltips\" [nwbToolTip]=\"'ImgManager.UploadList.seo.lazyloadingTooltips' | translate\" [nwbToolTipIsMultiline]=\"true\" nwbToolTipPosition=\"right\"><i class=\"fa-solid fa-info-circle\"></i></p>\r\n</div>\r\n" }]
|
|
47
47
|
}], ctorParameters: function () { return [{ type: i1.AlertService }]; }, propDecorators: { imgToEdit: [{
|
|
48
48
|
type: Input
|
|
49
49
|
}], isNameModified: [{
|
|
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
51
51
|
}], isNameModifiedChange: [{
|
|
52
52
|
type: Output
|
|
53
53
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2luZm8tc2VjdGlvbi9pbmZvLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy1lZGl0b3IvaW5mby1zZWN0aW9uL2luZm8tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7QUFNL0QsTUFBTSxPQUFPLDBCQUEwQjtJQXNCckMsWUFDVSxZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVg1QixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUd6Qyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBS25ELHVCQUFrQixHQUFXLHNDQUFzQyxDQUFDO0lBSTlELENBQUM7SUFuQlAsSUFDSSxjQUFjLENBQUMsY0FBdUI7UUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQWVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDN0MsQ0FBQztJQUNELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUMvRSxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3VIQTNDVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixxTENWdkMsbzZIQTZEQTsyRkRuRGEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLGNBQWM7bUdBTXhCLFNBQVM7c0JBRFIsS0FBSztnQkFJRixjQUFjO3NCQURqQixLQUFLO2dCQVVOLG9CQUFvQjtzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luZm8tc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2luZm8tc2VjdGlvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRvckluZm9TZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBpbWdUb0VkaXQ6IEltZ1BpY3R1cmVEVE87XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlzTmFtZU1vZGlmaWVkKGlzTmFtZU1vZGlmaWVkOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pc05hbWVNb2RpZmllZCA9IGlzTmFtZU1vZGlmaWVkO1xyXG4gIH1cclxuICBnZXQgaXNOYW1lTW9kaWZpZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNOYW1lTW9kaWZpZWQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzTmFtZU1vZGlmaWVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGlzTmFtZU1vZGlmaWVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBpbWdOYW1lOiBzdHJpbmc7XHJcbiAgaW1nUm91dGU6IHN0cmluZztcclxuXHJcbiAgbXNnQ29weVRvQ2xpcEJvYXJkOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29weXRvQ2xpcEJvYXJkJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLmltZ05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XHJcbiAgfVxyXG4gIGdldEZpbGVTaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaW1nVG9FZGl0ID8gTWF0aC5yb3VuZChwYXJzZUludCh0aGlzLmltZ1RvRWRpdC5zaXplKS8xMDAwKSA6ICctJztcclxuICB9XHJcblxyXG4gIGNvcHlUb0NsaXBCb2FyZChldmVudCkge1xyXG4gICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMubXNnQ29weVRvQ2xpcEJvYXJkKTtcclxuICB9XHJcblxyXG4gIG9uTmFtZUNoYW5nZSgpIHtcclxuICAgIHRoaXMuaXNOYW1lTW9kaWZpZWRDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICB9XHJcbn1cclxuIiwiXHJcbjwhLS0gSW1nIHByb3BlcnRpZXMgLS0+XHJcbjxkaXYgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fcHJvcGVydHlFZGl0YWJsZVwiPlxyXG4gICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj5cclxuICAgICAgICB7eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnByb3BlcnRpZXMuaW1nTmFtZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19wcm9wZXJ0eUVkaXRhYmxlX190b29sdGlwc1wiIFtud2JUb29sVGlwXT1cIidJbWdNYW5hZ2VyLkltZ0VkaXRvci5OYW1lSW5mbycgfCB0cmFuc2xhdGVcIiBbbndiVG9vbFRpcElzTXVsdGlsaW5lXT1cInRydWVcIiBud2JUb29sVGlwUG9zaXRpb249XCJyaWdodFwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtaW5mby1jaXJjbGVcIj48L2k+PC9zcGFuPlxyXG4gICAgPC9wPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fcHJvcGVydHlFZGl0YWJsZV9faW5wdXRcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cInt7J0ltZ01hbmFnZXIuSW1nRWRpdG9yLm5hbWVFeCcgfCB0cmFuc2xhdGV9fSBcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImltZ1RvRWRpdC5kaXNwbGF5X25hbWVcIlxyXG4gICAgICBkZWJvdW5jZUtleVVwXHJcbiAgICAgIFtkZWJvdW5jZVRpbWVdPVwiNTAwXCJcclxuICAgICAgKG9uRXZlbnRDaGFuZ2UpPVwib25OYW1lQ2hhbmdlKClcIj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fcHJvcGVydHlFZGl0YWJsZVwiPlxyXG4gICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj5cclxuICAgICAge3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5wcm9wZXJ0aWVzLmltZ1VSTCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fcHJvcGVydHlFZGl0YWJsZV9fdG9vbHRpcHNcIiBbbndiVG9vbFRpcF09XCInSW1nTWFuYWdlci5lZGl0SW1nLmNoYW5nZU5hbWUnIHwgdHJhbnNsYXRlXCIgW253YlRvb2xUaXBJc011bHRpbGluZV09XCJ0cnVlXCIgbndiVG9vbFRpcFBvc2l0aW9uPVwicmlnaHRcIj48aSBjbGFzcz1cImZhLXNvbGlkIGZhLWluZm8tY2lyY2xlXCI+PC9pPjwvc3Bhbj5cclxuICAgIDwvcD5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtjb3B5LWNsaXBib2FyZF09XCJpbWdUb0VkaXQuZmlsZV9uYW1lIHwgaW1nU3JjIDogJ3JhdydcIiAoY29waWVkKT1cImNvcHlUb0NsaXBCb2FyZCgkZXZlbnQpXCIgPjxzcGFuICBjbGFzcz1cImltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19wcm9wZXJ0eUVkaXRhYmxlX19zcGFuXCI+e3tpbWdUb0VkaXQuZmlsZV9uYW1lfX08L3NwYW4+Jm5ic3A7Jm5ic3A7PGkgY2xhc3M9XCJmYXIgZmEtY29weVwiPjwvaT48L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fcHJvcGVydHlcIj5cclxuICAgIDxwIGNsYXNzPVwibWFpbkNvbG9yXCI+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5wcm9wZXJ0aWVzLmltZ1NpemUnIHwgdHJhbnNsYXRlIH19Jm5ic3A7OjwvcD5cclxuICAgIDxwPnt7aW1nVG9FZGl0LnJhd19oZWlnaHR9fSp7e2ltZ1RvRWRpdC5yYXdfd2lkdGh9fXB4PC9wPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19wcm9wZXJ0eVwiPlxyXG4gICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnByb3BlcnRpZXMuaW1nV2VpZ2h0JyB8IHRyYW5zbGF0ZSB9fSZuYnNwOzo8L3A+XHJcbiAgICA8cCA+e3tnZXRGaWxlU2l6ZSgpfX0mbmJzcDtrbzwvcD5cclxuPC9kaXY+XHJcblxyXG48IS0tIFNFTyBpbmZvIC0tPlxyXG5cclxuPHNwYW4gY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fZGl2aWRlclwiPjwvc3Bhbj5cclxuXHJcbjxkaXYgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fdGl0bGVTRU9cIj5cclxuICAgIDxwIGNsYXNzPVwibWFpbkNvbG9yXCI+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8udGl0bGUnIHwgdHJhbnNsYXRlIH19PC9wPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fcHJvcGVydHlTRU9cIj5cclxuICAgIDxwIGNsYXNzPVwibWFpbkNvbG9yXCI+e3sgJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8ucmV6aXNlJyB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuICAgIDxwPjxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPiZuYnNwOzEwMCU8L3A+XHJcbiAgICA8cCBjbGFzcz1cImltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19wcm9wZXJ0eVNFT19fdG9vbHRpcHNcIiBbbndiVG9vbFRpcF09XCInSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby5yZXppc2VUb29sdGlwcycgfCB0cmFuc2xhdGVcIiBbbndiVG9vbFRpcElzTXVsdGlsaW5lXT1cInRydWVcIiBud2JUb29sVGlwUG9zaXRpb249XCJyaWdodFwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtaW5mby1jaXJjbGVcIj48L2k+PC9wPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19wcm9wZXJ0eVNFT1wiPlxyXG4gICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby53ZWJwJyB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuICAgIDxwPjxpIGNsYXNzPVwiZmFsIGZhLWNoZWNrXCI+PC9pPiZuYnNwOzEwMCU8L3A+XHJcbiAgPHAgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fcHJvcGVydHlTRU9fX3Rvb2x0aXBzXCIgW253YlRvb2xUaXBdPVwiJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8ud2VicFRvb2x0aXBzJyB8IHRyYW5zbGF0ZVwiIFtud2JUb29sVGlwSXNNdWx0aWxpbmVdPVwidHJ1ZVwiIG53YlRvb2xUaXBQb3NpdGlvbj1cInJpZ2h0XCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1pbmZvLWNpcmNsZVwiPjwvaT48L3A+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX3Byb3BlcnR5U0VPXCI+XHJcbiAgICA8cCBjbGFzcz1cIm1haW5Db2xvclwiPnt7ICdJbWdNYW5hZ2VyLlVwbG9hZExpc3Quc2VvLmNkbicgfCB0cmFuc2xhdGUgfX08L3A+XHJcbiAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4mbmJzcDsxMDAlPC9wPlxyXG4gIDxwIGNsYXNzPVwiaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX3Byb3BlcnR5U0VPX190b29sdGlwc1wiIFtud2JUb29sVGlwXT1cIidJbWdNYW5hZ2VyLlVwbG9hZExpc3Quc2VvLmNkblRvb2x0aXBzJyB8IHRyYW5zbGF0ZVwiIFtud2JUb29sVGlwSXNNdWx0aWxpbmVdPVwidHJ1ZVwiIG53YlRvb2xUaXBQb3NpdGlvbj1cInJpZ2h0XCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1pbmZvLWNpcmNsZVwiPjwvaT48L3A+XHJcblxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19wcm9wZXJ0eVNFT1wiPlxyXG4gICAgPHAgY2xhc3M9XCJtYWluQ29sb3JcIj57eyAnSW1nTWFuYWdlci5VcGxvYWRMaXN0LnNlby5sYXp5bG9hZGluZycgfCB0cmFuc2xhdGUgfX08L3A+XHJcbiAgICA8cD48aSBjbGFzcz1cImZhbCBmYS1jaGVja1wiPjwvaT4mbmJzcDsxMDAlPC9wPlxyXG4gICAgPHAgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fcHJvcGVydHlTRU9fX3Rvb2x0aXBzXCIgW253YlRvb2xUaXBdPVwiJ0ltZ01hbmFnZXIuVXBsb2FkTGlzdC5zZW8ubGF6eWxvYWRpbmdUb29sdGlwcycgfCB0cmFuc2xhdGVcIiBbbndiVG9vbFRpcElzTXVsdGlsaW5lXT1cInRydWVcIiBud2JUb29sVGlwUG9zaXRpb249XCJyaWdodFwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtaW5mby1jaXJjbGVcIj48L2k+PC9wPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { VideoInfoService } from "../../../services/video-info.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../services/video-info.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@ngx-translate/core";
|
|
8
|
+
export class EditorInfoVideoComponent {
|
|
9
|
+
constructor(videoInfoService) {
|
|
10
|
+
this.videoInfoService = videoInfoService;
|
|
11
|
+
this.videoLink = '';
|
|
12
|
+
this.videoLinkChange = new EventEmitter();
|
|
13
|
+
this.isVideoModified = false;
|
|
14
|
+
this.isVideoModifiedChange = new EventEmitter();
|
|
15
|
+
this.deleteVideo = new EventEmitter();
|
|
16
|
+
this.videoDuration = '';
|
|
17
|
+
this.videoPublishDate = '';
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.loadVideoInfos();
|
|
21
|
+
}
|
|
22
|
+
onVideoLinkChange(value) {
|
|
23
|
+
this.videoLink = value;
|
|
24
|
+
this.videoLinkChange.emit(value);
|
|
25
|
+
this.isVideoModifiedChange.emit(true);
|
|
26
|
+
this.loadVideoInfos();
|
|
27
|
+
}
|
|
28
|
+
loadVideoInfos() {
|
|
29
|
+
const obs = this.videoInfoService.getVideoInfo(this.videoLink);
|
|
30
|
+
if (!obs) {
|
|
31
|
+
this.videoDuration = '';
|
|
32
|
+
this.videoPublishDate = '';
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
obs.subscribe(data => {
|
|
36
|
+
if (!data)
|
|
37
|
+
return;
|
|
38
|
+
this.videoDuration = data.duration;
|
|
39
|
+
this.videoPublishDate = data.publishDate;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
onDelete() {
|
|
43
|
+
this.deleteVideo.emit();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
EditorInfoVideoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorInfoVideoComponent, deps: [{ token: i1.VideoInfoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
EditorInfoVideoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: EditorInfoVideoComponent, selector: "info-video", inputs: { videoLink: "videoLink", isVideoModified: "isVideoModified" }, outputs: { videoLinkChange: "videoLinkChange", isVideoModifiedChange: "isVideoModifiedChange", deleteVideo: "deleteVideo" }, ngImport: i0, template: "<div class=\"info-video\">\r\n <div class=\"info-video__wrapper\">\r\n\r\n <div class=\"info-video__wrapper__top\">\r\n <label for=\"input-video\">\r\n {{ 'ImgManager.ImgEditor.UrlVideo' | translate }}\r\n <i class=\"fa-solid fa-circle-info\"></i>\r\n </label>\r\n\r\n <input\r\n type=\"text\"\r\n id=\"input-video\"\r\n [ngModel]=\"videoLink\"\r\n (ngModelChange)=\"onVideoLinkChange($event)\"\r\n />\r\n\r\n <span>{{ 'ImgManager.ImgEditor.tooltipsIframe' | translate }}</span>\r\n </div>\r\n\r\n <a *ngIf=\"videoLink\" (click)=\"onDelete()\">{{ 'ImgManager.ImgEditor.deleteVideo' | translate }}</a>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorInfoVideoComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'info-video', template: "<div class=\"info-video\">\r\n <div class=\"info-video__wrapper\">\r\n\r\n <div class=\"info-video__wrapper__top\">\r\n <label for=\"input-video\">\r\n {{ 'ImgManager.ImgEditor.UrlVideo' | translate }}\r\n <i class=\"fa-solid fa-circle-info\"></i>\r\n </label>\r\n\r\n <input\r\n type=\"text\"\r\n id=\"input-video\"\r\n [ngModel]=\"videoLink\"\r\n (ngModelChange)=\"onVideoLinkChange($event)\"\r\n />\r\n\r\n <span>{{ 'ImgManager.ImgEditor.tooltipsIframe' | translate }}</span>\r\n </div>\r\n\r\n <a *ngIf=\"videoLink\" (click)=\"onDelete()\">{{ 'ImgManager.ImgEditor.deleteVideo' | translate }}</a>\r\n </div>\r\n</div>\r\n" }]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.VideoInfoService }]; }, propDecorators: { videoLink: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], videoLinkChange: [{
|
|
54
|
+
type: Output
|
|
55
|
+
}], isVideoModified: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], isVideoModifiedChange: [{
|
|
58
|
+
type: Output
|
|
59
|
+
}], deleteVideo: [{
|
|
60
|
+
type: Output
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby12aWRlby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLWVkaXRvci9pbmZvLXZpZGVvL2luZm8tdmlkZW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy1lZGl0b3IvaW5mby12aWRlby9pbmZvLXZpZGVvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQU10RSxNQUFNLE9BQU8sd0JBQXdCO0lBYW5DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBWDdDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdEIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTlDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2hDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWpELGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztJQUUyQixDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFFRCxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7O3FIQTdDVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix1UENQckMsaXNCQXNCQTsyRkRmYSx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0UsWUFBWTt1R0FLYixTQUFTO3NCQUFqQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBRUUsZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtWaWRlb0luZm9TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdmlkZW8taW5mby5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luZm8tdmlkZW8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLXZpZGVvLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdG9ySW5mb1ZpZGVvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgdmlkZW9MaW5rOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgdmlkZW9MaW5rQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGlzVmlkZW9Nb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpc1ZpZGVvTW9kaWZpZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBkZWxldGVWaWRlbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgdmlkZW9EdXJhdGlvbjogc3RyaW5nID0gJyc7XHJcbiAgdmlkZW9QdWJsaXNoRGF0ZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlkZW9JbmZvU2VydmljZTogVmlkZW9JbmZvU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmxvYWRWaWRlb0luZm9zKCk7XHJcbiAgfVxyXG5cclxuICBvblZpZGVvTGlua0NoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnZpZGVvTGluayA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMudmlkZW9MaW5rQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgdGhpcy5pc1ZpZGVvTW9kaWZpZWRDaGFuZ2UuZW1pdCh0cnVlKTtcclxuXHJcbiAgICB0aGlzLmxvYWRWaWRlb0luZm9zKCk7XHJcbiAgfVxyXG5cclxuICBsb2FkVmlkZW9JbmZvcygpIHtcclxuICAgIGNvbnN0IG9icyA9IHRoaXMudmlkZW9JbmZvU2VydmljZS5nZXRWaWRlb0luZm8odGhpcy52aWRlb0xpbmspO1xyXG4gICAgaWYgKCFvYnMpIHtcclxuICAgICAgdGhpcy52aWRlb0R1cmF0aW9uID0gJyc7XHJcbiAgICAgIHRoaXMudmlkZW9QdWJsaXNoRGF0ZSA9ICcnO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgb2JzLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgaWYgKCFkYXRhKSByZXR1cm47XHJcbiAgICAgIHRoaXMudmlkZW9EdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XHJcbiAgICAgIHRoaXMudmlkZW9QdWJsaXNoRGF0ZSA9IGRhdGEucHVibGlzaERhdGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRGVsZXRlKCkge1xyXG4gICAgdGhpcy5kZWxldGVWaWRlby5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbmZvLXZpZGVvXCI+XHJcbiAgPGRpdiBjbGFzcz1cImluZm8tdmlkZW9fX3dyYXBwZXJcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5mby12aWRlb19fd3JhcHBlcl9fdG9wXCI+XHJcbiAgICAgIDxsYWJlbCBmb3I9XCJpbnB1dC12aWRlb1wiPlxyXG4gICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5VcmxWaWRlbycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNpcmNsZS1pbmZvXCI+PC9pPlxyXG4gICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGlkPVwiaW5wdXQtdmlkZW9cIlxyXG4gICAgICAgIFtuZ01vZGVsXT1cInZpZGVvTGlua1wiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WaWRlb0xpbmtDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcblxyXG4gICAgICA8c3Bhbj57eyAnSW1nTWFuYWdlci5JbWdFZGl0b3IudG9vbHRpcHNJZnJhbWUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGEgKm5nSWY9XCJ2aWRlb0xpbmtcIiAoY2xpY2spPVwib25EZWxldGUoKVwiPnt7ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5kZWxldGVWaWRlbycgfCB0cmFuc2xhdGUgfX08L2E+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@ngx-translate/core";
|
|
7
|
+
export class EditorShowIframeComponent {
|
|
8
|
+
constructor(sanitizer) {
|
|
9
|
+
this.sanitizer = sanitizer;
|
|
10
|
+
this.videoLink = '';
|
|
11
|
+
this.safeUrl = null;
|
|
12
|
+
}
|
|
13
|
+
ngOnChanges() {
|
|
14
|
+
this.safeUrl = this.buildSafeIframeUrl(this.videoLink);
|
|
15
|
+
}
|
|
16
|
+
buildSafeIframeUrl(url) {
|
|
17
|
+
if (!url)
|
|
18
|
+
return null;
|
|
19
|
+
if (url.includes('youtube.com') || url.includes('youtu.be')) {
|
|
20
|
+
const videoId = this.extractYoutubeId(url);
|
|
21
|
+
if (!videoId)
|
|
22
|
+
return null;
|
|
23
|
+
const embed = `https://www.youtube.com/embed/${videoId}`;
|
|
24
|
+
return this.sanitizer.bypassSecurityTrustResourceUrl(embed);
|
|
25
|
+
}
|
|
26
|
+
if (url.includes('vimeo.com')) {
|
|
27
|
+
const videoId = this.extractVimeoId(url);
|
|
28
|
+
if (!videoId)
|
|
29
|
+
return null;
|
|
30
|
+
const embed = `https://player.vimeo.com/video/${videoId}`;
|
|
31
|
+
return this.sanitizer.bypassSecurityTrustResourceUrl(embed);
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
extractYoutubeId(url) {
|
|
36
|
+
const regExp = /^.*(youtu.be\/|v=|embed\/)([^#\&\?]*).*/;
|
|
37
|
+
const match = url.match(regExp);
|
|
38
|
+
return match && match[2].length > 0 ? match[2] : null;
|
|
39
|
+
}
|
|
40
|
+
extractVimeoId(url) {
|
|
41
|
+
const regExp = /vimeo\.com\/(?:video\/)?(\d+)/;
|
|
42
|
+
const match = url.match(regExp);
|
|
43
|
+
return match ? match[1] : null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
EditorShowIframeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorShowIframeComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
EditorShowIframeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: EditorShowIframeComponent, selector: "show-iframe", inputs: { videoLink: "videoLink" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"show-iframe\" *ngIf=\"safeUrl\">\r\n <iframe\r\n width=\"100%\"\r\n [src]=\"safeUrl\"\r\n frameborder=\"0\"\r\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n allowfullscreen>\r\n </iframe>\r\n</div>\r\n\r\n<div class=\"show-iframe__none\" *ngIf=\"!safeUrl\">\r\n <p>{{ 'ImgManager.ImgEditor.NoVideo' | translate }}</p>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: EditorShowIframeComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'show-iframe', template: "<div class=\"show-iframe\" *ngIf=\"safeUrl\">\r\n <iframe\r\n width=\"100%\"\r\n [src]=\"safeUrl\"\r\n frameborder=\"0\"\r\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\r\n allowfullscreen>\r\n </iframe>\r\n</div>\r\n\r\n<div class=\"show-iframe__none\" *ngIf=\"!safeUrl\">\r\n <p>{{ 'ImgManager.ImgEditor.NoVideo' | translate }}</p>\r\n</div>\r\n" }]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { videoLink: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1pZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy1lZGl0b3Ivc2hvdy1pZnJhbWUvc2hvdy1pZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy1lZGl0b3Ivc2hvdy1pZnJhbWUvc2hvdy1pZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBbUIsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFNMUUsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBSGxDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDaEMsWUFBTyxHQUEyQixJQUFJLENBQUM7SUFFTyxDQUFDO0lBRS9DLFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEdBQVc7UUFDcEMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV0QixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMzRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFMUIsTUFBTSxLQUFLLEdBQUcsaUNBQWlDLE9BQU8sRUFBRSxDQUFDO1lBQ3pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3RDtRQUVELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRTFCLE1BQU0sS0FBSyxHQUFHLGtDQUFrQyxPQUFPLEVBQUUsQ0FBQztZQUMxRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0Q7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLHlDQUF5QyxDQUFDO1FBQ3pELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLE1BQU0sR0FBRywrQkFBK0IsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDOztzSEEzQ1UseUJBQXlCOzBHQUF6Qix5QkFBeUIsNEdDUHRDLGliQWFBOzJGRE5hLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSxhQUFhO21HQUtkLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2hvdy1pZnJhbWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaG93LWlmcmFtZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRvclNob3dJZnJhbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSB2aWRlb0xpbms6IHN0cmluZyA9ICcnO1xyXG4gIHNhZmVVcmw6IFNhZmVSZXNvdXJjZVVybCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuc2FmZVVybCA9IHRoaXMuYnVpbGRTYWZlSWZyYW1lVXJsKHRoaXMudmlkZW9MaW5rKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRTYWZlSWZyYW1lVXJsKHVybDogc3RyaW5nKTogU2FmZVJlc291cmNlVXJsIHwgbnVsbCB7XHJcbiAgICBpZiAoIXVybCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgaWYgKHVybC5pbmNsdWRlcygneW91dHViZS5jb20nKSB8fCB1cmwuaW5jbHVkZXMoJ3lvdXR1LmJlJykpIHtcclxuICAgICAgY29uc3QgdmlkZW9JZCA9IHRoaXMuZXh0cmFjdFlvdXR1YmVJZCh1cmwpO1xyXG4gICAgICBpZiAoIXZpZGVvSWQpIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgY29uc3QgZW1iZWQgPSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHt2aWRlb0lkfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoZW1iZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh1cmwuaW5jbHVkZXMoJ3ZpbWVvLmNvbScpKSB7XHJcbiAgICAgIGNvbnN0IHZpZGVvSWQgPSB0aGlzLmV4dHJhY3RWaW1lb0lkKHVybCk7XHJcbiAgICAgIGlmICghdmlkZW9JZCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICBjb25zdCBlbWJlZCA9IGBodHRwczovL3BsYXllci52aW1lby5jb20vdmlkZW8vJHt2aWRlb0lkfWA7XHJcbiAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoZW1iZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHRyYWN0WW91dHViZUlkKHVybDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCByZWdFeHAgPSAvXi4qKHlvdXR1LmJlXFwvfHY9fGVtYmVkXFwvKShbXiNcXCZcXD9dKikuKi87XHJcbiAgICBjb25zdCBtYXRjaCA9IHVybC5tYXRjaChyZWdFeHApO1xyXG4gICAgcmV0dXJuIG1hdGNoICYmIG1hdGNoWzJdLmxlbmd0aCA+IDAgPyBtYXRjaFsyXSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RWaW1lb0lkKHVybDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCByZWdFeHAgPSAvdmltZW9cXC5jb21cXC8oPzp2aWRlb1xcLyk/KFxcZCspLztcclxuICAgIGNvbnN0IG1hdGNoID0gdXJsLm1hdGNoKHJlZ0V4cCk7XHJcbiAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzaG93LWlmcmFtZVwiICpuZ0lmPVwic2FmZVVybFwiPlxyXG4gIDxpZnJhbWVcclxuICAgIHdpZHRoPVwiMTAwJVwiXHJcbiAgICBbc3JjXT1cInNhZmVVcmxcIlxyXG4gICAgZnJhbWVib3JkZXI9XCIwXCJcclxuICAgIGFsbG93PVwiYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlXCJcclxuICAgIGFsbG93ZnVsbHNjcmVlbj5cclxuICA8L2lmcmFtZT5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwic2hvdy1pZnJhbWVfX25vbmVcIiAqbmdJZj1cIiFzYWZlVXJsXCI+XHJcbiAgPHA+e3sgJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLk5vVmlkZW8nIHwgdHJhbnNsYXRlIH19PC9wPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -41,13 +41,13 @@ export class ImgSelectionComponent {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
ImgSelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgSelectionComponent, deps: [{ token: i1.ImgSelectionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
ImgSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgSelectionComponent, selector: "img-selection", inputs: { tabDisplayed: "tabDisplayed" }, outputs: { imgManagerClosed: "imgManagerClosed" }, ngImport: i0, template: "<div\n class=\"trash\"\n cdkDropList\n #unSelectList=\"cdkDropList\"\n (cdkDropListDropped)=\"removeImgFromSelection($event)\">\n <p>{{'ImgManager.ImgSelection.unselect' | translate}}</p>\n</div>\n\n<ng-container *ngIf=\"vm$ | async as vm\">\n\n <div\n class=\"img-selection\"\n *ngIf=\"!vm.isLoading; else Loading\"\n [ngClass]=\"{'img-selection--visible' : vm.imgSelectedList && vm.imgSelectedList.length}\"\n >\n\n <div\n cdkDropList\n #selectionList=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n class=\"list_img_selection\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListConnectedTo]=\"[unSelectList]\"\n >\n\n <div\n class=\"img_box\"\n *ngFor=\"let picture of vm.imgSelectedList; let index = index\"\n cdkDrag\n (cdkDragStarted)=\"dragStart = true;\"\n (cdkDragEnded)=\"dragStart = false;\"\n >\n\n <img\n *ngIf=\"index < 1\"\n class=\"drag__img\"\n [src]=\"picture.file_name | imgSrc : '400'\"\n [title]=\"picture.display_name\"\n />\n\n <img\n *ngIf=\"index > 0\"\n class=\"drag__img\"\n [src]=\"picture.file_name | imgSrc : '200'\"\n [title]=\"picture.display_name\"\n />\n\n <div class=\"delete-btn\" (click)=\"removeImg(index)\">{{'ImgManager.ImgSelection.deleteImg' | translate}}</div>\n\n <span class=\"drag__tooltips\">{{'ImgManager.ImgSelection.tooltips' | translate}}</span>\n\n </div>\n </div>\n </div>\n</ng-container>\n<!-- Loader -->\n<ng-template #Loading>\n <wz-loader></wz-loader>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.ImageSrcPipe, name: "imgSrc" }] });
|
|
44
|
+
ImgSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgSelectionComponent, selector: "img-selection", inputs: { tabDisplayed: "tabDisplayed" }, outputs: { imgManagerClosed: "imgManagerClosed" }, ngImport: i0, template: "<div\r\n class=\"trash\"\r\n cdkDropList\r\n #unSelectList=\"cdkDropList\"\r\n (cdkDropListDropped)=\"removeImgFromSelection($event)\">\r\n <p>{{'ImgManager.ImgSelection.unselect' | translate}}</p>\r\n</div>\r\n\r\n<ng-container *ngIf=\"vm$ | async as vm\">\r\n\r\n <div\r\n class=\"img-selection\"\r\n *ngIf=\"!vm.isLoading; else Loading\"\r\n [ngClass]=\"{'img-selection--visible' : vm.imgSelectedList && vm.imgSelectedList.length}\"\r\n >\r\n\r\n <div\r\n cdkDropList\r\n #selectionList=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n class=\"list_img_selection\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n [cdkDropListConnectedTo]=\"[unSelectList]\"\r\n >\r\n\r\n <div\r\n class=\"img_box\"\r\n *ngFor=\"let picture of vm.imgSelectedList; let index = index\"\r\n cdkDrag\r\n (cdkDragStarted)=\"dragStart = true;\"\r\n (cdkDragEnded)=\"dragStart = false;\"\r\n >\r\n\r\n <img\r\n *ngIf=\"index < 1\"\r\n class=\"drag__img\"\r\n [src]=\"picture.file_name | imgSrc : '400'\"\r\n [title]=\"picture.display_name\"\r\n />\r\n\r\n <img\r\n *ngIf=\"index > 0\"\r\n class=\"drag__img\"\r\n [src]=\"picture.file_name | imgSrc : '200'\"\r\n [title]=\"picture.display_name\"\r\n />\r\n\r\n <div class=\"delete-btn\" (click)=\"removeImg(index)\">{{'ImgManager.ImgSelection.deleteImg' | translate}}</div>\r\n\r\n <span class=\"drag__tooltips\">{{'ImgManager.ImgSelection.tooltips' | translate}}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<!-- Loader -->\r\n<ng-template #Loading>\r\n <wz-loader></wz-loader>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.LoaderComponent, selector: "wz-loader", inputs: ["text", "small", "position"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.ImageSrcPipe, name: "imgSrc" }] });
|
|
45
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgSelectionComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
|
-
args: [{ selector: 'img-selection', template: "<div\n class=\"trash\"\n cdkDropList\n #unSelectList=\"cdkDropList\"\n (cdkDropListDropped)=\"removeImgFromSelection($event)\">\n <p>{{'ImgManager.ImgSelection.unselect' | translate}}</p>\n</div>\n\n<ng-container *ngIf=\"vm$ | async as vm\">\n\n <div\n class=\"img-selection\"\n *ngIf=\"!vm.isLoading; else Loading\"\n [ngClass]=\"{'img-selection--visible' : vm.imgSelectedList && vm.imgSelectedList.length}\"\n >\n\n <div\n cdkDropList\n #selectionList=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n class=\"list_img_selection\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListConnectedTo]=\"[unSelectList]\"\n >\n\n <div\n class=\"img_box\"\n *ngFor=\"let picture of vm.imgSelectedList; let index = index\"\n cdkDrag\n (cdkDragStarted)=\"dragStart = true;\"\n (cdkDragEnded)=\"dragStart = false;\"\n >\n\n <img\n *ngIf=\"index < 1\"\n class=\"drag__img\"\n [src]=\"picture.file_name | imgSrc : '400'\"\n [title]=\"picture.display_name\"\n />\n\n <img\n *ngIf=\"index > 0\"\n class=\"drag__img\"\n [src]=\"picture.file_name | imgSrc : '200'\"\n [title]=\"picture.display_name\"\n />\n\n <div class=\"delete-btn\" (click)=\"removeImg(index)\">{{'ImgManager.ImgSelection.deleteImg' | translate}}</div>\n\n <span class=\"drag__tooltips\">{{'ImgManager.ImgSelection.tooltips' | translate}}</span>\n\n </div>\n </div>\n </div>\n</ng-container>\n<!-- Loader -->\n<ng-template #Loading>\n <wz-loader></wz-loader>\n</ng-template>\n" }]
|
|
47
|
+
args: [{ selector: 'img-selection', template: "<div\r\n class=\"trash\"\r\n cdkDropList\r\n #unSelectList=\"cdkDropList\"\r\n (cdkDropListDropped)=\"removeImgFromSelection($event)\">\r\n <p>{{'ImgManager.ImgSelection.unselect' | translate}}</p>\r\n</div>\r\n\r\n<ng-container *ngIf=\"vm$ | async as vm\">\r\n\r\n <div\r\n class=\"img-selection\"\r\n *ngIf=\"!vm.isLoading; else Loading\"\r\n [ngClass]=\"{'img-selection--visible' : vm.imgSelectedList && vm.imgSelectedList.length}\"\r\n >\r\n\r\n <div\r\n cdkDropList\r\n #selectionList=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n class=\"list_img_selection\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n [cdkDropListConnectedTo]=\"[unSelectList]\"\r\n >\r\n\r\n <div\r\n class=\"img_box\"\r\n *ngFor=\"let picture of vm.imgSelectedList; let index = index\"\r\n cdkDrag\r\n (cdkDragStarted)=\"dragStart = true;\"\r\n (cdkDragEnded)=\"dragStart = false;\"\r\n >\r\n\r\n <img\r\n *ngIf=\"index < 1\"\r\n class=\"drag__img\"\r\n [src]=\"picture.file_name | imgSrc : '400'\"\r\n [title]=\"picture.display_name\"\r\n />\r\n\r\n <img\r\n *ngIf=\"index > 0\"\r\n class=\"drag__img\"\r\n [src]=\"picture.file_name | imgSrc : '200'\"\r\n [title]=\"picture.display_name\"\r\n />\r\n\r\n <div class=\"delete-btn\" (click)=\"removeImg(index)\">{{'ImgManager.ImgSelection.deleteImg' | translate}}</div>\r\n\r\n <span class=\"drag__tooltips\">{{'ImgManager.ImgSelection.tooltips' | translate}}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<!-- Loader -->\r\n<ng-template #Loading>\r\n <wz-loader></wz-loader>\r\n</ng-template>\r\n" }]
|
|
48
48
|
}], ctorParameters: function () { return [{ type: i1.ImgSelectionService }]; }, propDecorators: { tabDisplayed: [{
|
|
49
49
|
type: Input
|
|
50
50
|
}], imgManagerClosed: [{
|
|
51
51
|
type: Output
|
|
52
52
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLXNlbGVjdGlvbi9pbWctc2VsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctc2VsZWN0aW9uL2ltZy1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUczRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQU9yQyxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUNVLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBaEJ4QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWhELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsUUFBRyxHQUFHLGFBQWEsQ0FBQztZQUNsQixlQUFlLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWE7WUFDdkQsU0FBUyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUI7U0FDNUQsQ0FBQyxDQUFDO1FBR0gsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQztJQUlyQixDQUFDO0lBRVAsSUFBSTtRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssS0FBSyxDQUFDLFlBQVksRUFBRTtZQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQTRCO1FBQ2pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7a0hBeENVLHFCQUFxQjtzR0FBckIscUJBQXFCLGtKQ1hsQyxnMkRBMkRBOzJGRGhEYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsZUFBZTswR0FLaEIsWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWdTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLXNlbGVjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtDZGtEcmFnRHJvcH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IHRhYkRpc3BsYXllZCB9IGZyb20gJy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbWctc2VsZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEltZ1NlbGVjdGlvbkNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHRhYkRpc3BsYXllZDogdGFiRGlzcGxheWVkO1xyXG4gIEBPdXRwdXQoKSBpbWdNYW5hZ2VyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICByZW1vdmluZ0FsbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhbmNlbGxpbmdBbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbXBvcnRpbmdBbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkcmFnU3RhcnQgPSBmYWxzZTtcclxuICB2bSQgPSBjb21iaW5lTGF0ZXN0KHtcclxuICAgIGltZ1NlbGVjdGVkTGlzdDogdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLmltZ1NlbGVjdGlvbiQsXHJcbiAgICBpc0xvYWRpbmc6IHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5pbWdTZWxlY3RlZExpc3RMb2FkaW5nJFxyXG4gIH0pO1xyXG5cclxuXHJcbiAgdHJhc2hQb3NpdGlvbkluZGV4ID0gMDtcclxuICB0cmFzaFBvc2l0aW9uTGVmdCA9ICctNXB4JztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGltZ1NlbGVjdGlvblNlcnZpY2U6IEltZ1NlbGVjdGlvblNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLnJlbW92aW5nQWxsID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbmNlbGxpbmdBbGwgPSBmYWxzZTtcclxuICAgIHRoaXMuaW1wb3J0aW5nQWxsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByZW1vdmVJbWcoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGVkQnlJbmRleChpbmRleCk7XHJcbiAgfVxyXG5cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIGlmIChldmVudC5wcmV2aW91c0luZGV4ICE9PSBldmVudC5jdXJyZW50SW5kZXgpIHtcclxuICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLm1vdmVJbWdPcmRlcihldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVJbWdGcm9tU2VsZWN0aW9uKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5yZW1vdmVJbWdTZWxlY3RlZEJ5SW5kZXgoZXZlbnQucHJldmlvdXNJbmRleCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInRyYXNoXCJcclxuICBjZGtEcm9wTGlzdFxyXG4gICN1blNlbGVjdExpc3Q9XCJjZGtEcm9wTGlzdFwiXHJcbiAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJyZW1vdmVJbWdGcm9tU2VsZWN0aW9uKCRldmVudClcIj5cclxuICAgIDxwPnt7J0ltZ01hbmFnZXIuSW1nU2VsZWN0aW9uLnVuc2VsZWN0JyB8IHRyYW5zbGF0ZX19PC9wPlxyXG48L2Rpdj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJ2bSQgfCBhc3luYyBhcyB2bVwiPlxyXG5cclxuICA8ZGl2XHJcbiAgY2xhc3M9XCJpbWctc2VsZWN0aW9uXCJcclxuICAqbmdJZj1cIiF2bS5pc0xvYWRpbmc7IGVsc2UgTG9hZGluZ1wiXHJcbiAgW25nQ2xhc3NdPVwieydpbWctc2VsZWN0aW9uLS12aXNpYmxlJyA6IHZtLmltZ1NlbGVjdGVkTGlzdCAmJiB2bS5pbWdTZWxlY3RlZExpc3QubGVuZ3RofVwiXHJcbiAgPlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgI3NlbGVjdGlvbkxpc3Q9XCJjZGtEcm9wTGlzdFwiXHJcbiAgICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxyXG4gICAgICAgIGNsYXNzPVwibGlzdF9pbWdfc2VsZWN0aW9uXCJcclxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXHJcbiAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW3VuU2VsZWN0TGlzdF1cIlxyXG4gICAgICAgID5cclxuXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW1nX2JveFwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwaWN0dXJlIG9mIHZtLmltZ1NlbGVjdGVkTGlzdDsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJkcmFnU3RhcnQgPSB0cnVlO1wiXHJcbiAgICAgICAgICAgIChjZGtEcmFnRW5kZWQpPVwiZHJhZ1N0YXJ0ID0gZmFsc2U7XCJcclxuICAgICAgICAgICAgPlxyXG5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPCAxXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRyYWdfX2ltZ1wiXHJcbiAgICAgICAgICAgICAgW3NyY109XCJwaWN0dXJlLmZpbGVfbmFtZSB8IGltZ1NyYyA6ICc0MDAnXCJcclxuICAgICAgICAgICAgICBbdGl0bGVdPVwicGljdHVyZS5kaXNwbGF5X25hbWVcIlxyXG4gICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPiAwXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRyYWdfX2ltZ1wiXHJcbiAgICAgICAgICAgICAgW3NyY109XCJwaWN0dXJlLmZpbGVfbmFtZSB8IGltZ1NyYyA6ICcyMDAnXCJcclxuICAgICAgICAgICAgICBbdGl0bGVdPVwicGljdHVyZS5kaXNwbGF5X25hbWVcIlxyXG4gICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlbGV0ZS1idG5cIiAoY2xpY2spPVwicmVtb3ZlSW1nKGluZGV4KVwiPnt7J0ltZ01hbmFnZXIuSW1nU2VsZWN0aW9uLmRlbGV0ZUltZycgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcmFnX190b29sdGlwc1wiPnt7J0ltZ01hbmFnZXIuSW1nU2VsZWN0aW9uLnRvb2x0aXBzJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gTG9hZGVyIC0tPlxyXG48bmctdGVtcGxhdGUgI0xvYWRpbmc+XHJcbiAgPHd6LWxvYWRlcj48L3d6LWxvYWRlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -56,6 +56,7 @@ export class ImgTabsComponent {
|
|
|
56
56
|
tabs: string[] = ['img-upload', 'images-view', 'pexels-lib', 'img-edition']; */
|
|
57
57
|
this.editTab = false;
|
|
58
58
|
this.imgUpload = false;
|
|
59
|
+
this.isVideoEdit = false;
|
|
59
60
|
this.snackBarNewVersionConfig = {
|
|
60
61
|
message: '',
|
|
61
62
|
duration: 3000
|
|
@@ -66,6 +67,14 @@ export class ImgTabsComponent {
|
|
|
66
67
|
this.tabActive = this.tabs[3];
|
|
67
68
|
this.imgToEdit = imgToEdit;
|
|
68
69
|
this.editTab = true;
|
|
70
|
+
this.isVideoEdit = false;
|
|
71
|
+
this.currentTab.emit(this.tabs[3]);
|
|
72
|
+
});
|
|
73
|
+
this.imgEventEditService.getImgToVideoEventListener().subscribe(imgToEdit => {
|
|
74
|
+
this.tabActive = this.tabs[3];
|
|
75
|
+
this.imgToEdit = imgToEdit;
|
|
76
|
+
this.editTab = true;
|
|
77
|
+
this.isVideoEdit = true;
|
|
69
78
|
this.currentTab.emit(this.tabs[3]);
|
|
70
79
|
});
|
|
71
80
|
}
|
|
@@ -99,10 +108,10 @@ export class ImgTabsComponent {
|
|
|
99
108
|
}
|
|
100
109
|
}
|
|
101
110
|
ImgTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgTabsComponent, deps: [{ token: i1.ImgEventService }, { token: i2.AlertService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
ImgTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgTabsComponent, selector: "img-tabs", inputs: { multipleImgMode: "multipleImgMode", stateDisplayed: "stateDisplayed", listDisplayed: "listDisplayed" }, outputs: { imgManagerClosed: "imgManagerClosed", currentTab: "currentTab", switchDisplayWindow: "switchDisplayWindow" }, viewQueries: [{ propertyName: "imgUploadedComponent", first: true, predicate: ["imgUploadedImg"], descendants: true }], ngImport: i0, 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.value === tabs[3].value\n }\">\n\n <ul>\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | 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 <wac-select\n [(ngModel)]=\"tabActive\"\n name=\"tabs\"\n [items]=\"tabs\"\n ></wac-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.value === tabs[0].value\">\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.value\"\n [nbRowToShow]=\"2\"\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.value\"\n [multipleImgMode]=\"multipleImgMode\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n >\n </upload-list>\n </div>\n </div>\n </div>\n\n <!-- Images section -->\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\n <div class=\"column\">\n\n <images-view\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"listDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive.value\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n [fullSize]=\"true\">\n </images-view>\n\n </div>\n </div>\n\n <!-- Pexels img section -->\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\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.value === tabs[3].value\">\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", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.ImgUploadComponent, selector: "img-upload", inputs: ["stateDisplayed"], outputs: ["imgUploaded"] }, { kind: "component", type: i7.PexelLibComponent, selector: "pexels-lib", inputs: ["stateDisplayed", "searchValue", "disableSearch"] }, { kind: "component", type: i8.UploadListComponent, selector: "upload-list", inputs: ["stateDisplayed", "tabDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i9.ImgEditorComponent, selector: "img-editor", inputs: ["stateDisplayed", "imgToEdit"], outputs: ["editClosed"] }, { kind: "component", type: i10.CanvaBtnComponent, selector: "canva-btn", inputs: ["stateDisplayed"], outputs: ["showImgUploaded"] }, { kind: "component", type: i11.ImagesViewComponent, selector: "images-view", inputs: ["stateDisplayed", "tabDisplayed", "fullSize", "nbRowToShow", "listDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i12.SelectComponent, selector: "wac-select", inputs: ["items", "placeholder", "label", "maxWidthItems", "search", "type", "callToAction", "maxWidth", "disabled"], outputs: ["selectValue", "clickOnCallToAction"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
|
|
111
|
+
ImgTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgTabsComponent, selector: "img-tabs", inputs: { multipleImgMode: "multipleImgMode", stateDisplayed: "stateDisplayed", listDisplayed: "listDisplayed" }, outputs: { imgManagerClosed: "imgManagerClosed", currentTab: "currentTab", switchDisplayWindow: "switchDisplayWindow" }, viewQueries: [{ propertyName: "imgUploadedComponent", first: true, predicate: ["imgUploadedImg"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [isVideoEdit]=\"isVideoEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.ImgUploadComponent, selector: "img-upload", inputs: ["stateDisplayed"], outputs: ["imgUploaded"] }, { kind: "component", type: i7.PexelLibComponent, selector: "pexels-lib", inputs: ["stateDisplayed", "searchValue", "disableSearch"] }, { kind: "component", type: i8.UploadListComponent, selector: "upload-list", inputs: ["stateDisplayed", "tabDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i9.ImgEditorComponent, selector: "img-editor", inputs: ["stateDisplayed", "imgToEdit", "isVideoEdit"], outputs: ["editClosed"] }, { kind: "component", type: i10.CanvaBtnComponent, selector: "canva-btn", inputs: ["stateDisplayed"], outputs: ["showImgUploaded"] }, { kind: "component", type: i11.ImagesViewComponent, selector: "images-view", inputs: ["stateDisplayed", "tabDisplayed", "fullSize", "nbRowToShow", "listDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i12.SelectComponent, selector: "wac-select", inputs: ["items", "placeholder", "label", "maxWidthItems", "search", "type", "callToAction", "maxWidth", "disabled"], outputs: ["selectValue", "clickOnCallToAction"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
|
|
103
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgTabsComponent, decorators: [{
|
|
104
113
|
type: Component,
|
|
105
|
-
args: [{ selector: 'img-tabs', 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.value === tabs[3].value\n }\">\n\n <ul>\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | 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 <wac-select\n [(ngModel)]=\"tabActive\"\n name=\"tabs\"\n [items]=\"tabs\"\n ></wac-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.value === tabs[0].value\">\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.value\"\n [nbRowToShow]=\"2\"\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.value\"\n [multipleImgMode]=\"multipleImgMode\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n >\n </upload-list>\n </div>\n </div>\n </div>\n\n <!-- Images section -->\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\n <div class=\"column\">\n\n <images-view\n [stateDisplayed]=\"stateDisplayed\"\n [listDisplayed]=\"listDisplayed\"\n [multipleImgMode]=\"multipleImgMode\"\n [tabDisplayed]=\"tabActive.value\"\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\n [fullSize]=\"true\">\n </images-view>\n\n </div>\n </div>\n\n <!-- Pexels img section -->\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\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.value === tabs[3].value\">\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" }]
|
|
114
|
+
args: [{ selector: 'img-tabs', template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [isVideoEdit]=\"isVideoEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n" }]
|
|
106
115
|
}], ctorParameters: function () { return [{ type: i1.ImgEventService }, { type: i2.AlertService }, { type: i3.Router }]; }, propDecorators: { multipleImgMode: [{
|
|
107
116
|
type: Input
|
|
108
117
|
}], stateDisplayed: [{
|
|
@@ -119,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
119
128
|
type: ViewChild,
|
|
120
129
|
args: ['imgUploadedImg']
|
|
121
130
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy10YWJzL2ltZy10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctdGFicy9pbWctdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyxnQkFBZ0I7SUE2RDNCLFlBQ1UsbUJBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLEtBQWE7UUFGYix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWlCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQVE7UUE3RHZCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBSWpDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEMsd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsU0FBSSxHQUFpQjtZQUNuQjtnQkFDRSxJQUFJLEVBQUUsd0JBQXdCO2dCQUM5QixLQUFLLEVBQUUsWUFBWTtnQkFDbkIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsRUFBRSxFQUFFLENBQUM7YUFDTjtZQUNEO2dCQUNFLElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLEtBQUssRUFBRSxhQUFhO2dCQUNwQixFQUFFLEVBQUUsQ0FBQzthQUNOO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLDRCQUE0QjtnQkFDbEMsS0FBSyxFQUFFLFlBQVk7Z0JBQ25CLEVBQUUsRUFBRSxDQUFDO2FBQ047WUFDRDtnQkFDRSxJQUFJLEVBQUUsd0JBQXdCO2dCQUM5QixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsRUFBRSxFQUFFLENBQUM7YUFDTjtTQUNGLENBQUM7UUFFRixjQUFTLEdBQWUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQzt1RkFDK0U7UUFDL0UsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUloQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBS2xCLDZCQUF3QixHQUFzQjtZQUM1QyxPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztJQU1JLENBQUM7SUFFUCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixDQUFDLHlCQUF5QixFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3pFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWdCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBb0I7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLO0lBRXRCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7OzZHQTlHVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixtWkNkN0IsMjRIQW1IQTsyRkRyR2EsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLFVBQVU7c0pBTXBCLGVBQWU7c0JBRGQsS0FBSztnQkFHTixjQUFjO3NCQURiLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxtQkFBbUI7c0JBRGxCLE1BQU07Z0JBdUNQLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBVcGxvYWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdXBsb2FkLWxpc3QvdXBsb2FkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE53YlNuYWNrYmFyQ29uZmlnIH0gZnJvbSAnQHdpemlzaG9wL25nLXdpemktYnVsbWEnO1xuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vc2hhcmVkL3NlbGVjdC9zZWxlY3QtaXRlbXMuZHRvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1nLXRhYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLXRhYnMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEltZ1RhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlSW1nTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBzdGF0ZURpc3BsYXllZDogc3RhdGVEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpXG4gIGxpc3REaXNwbGF5ZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgaW1nTWFuYWdlckNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgY3VycmVudFRhYiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHRhYnM6IFNlbGVjdEl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnSW1nTWFuYWdlci5UYWJzLmFkZEltZycsXG4gICAgICB2YWx1ZTogJ2ltZy11cGxvYWQnLFxuICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICBpZDogMFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5pbWdMaWInLFxuICAgICAgdmFsdWU6ICdpbWFnZXMtdmlldycsXG4gICAgICBpZDogMVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5mcmVlSW1nTGliJyxcbiAgICAgIHZhbHVlOiAncGV4ZWxzLWxpYicsXG4gICAgICBpZDogMlxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5FZGl0b3InLFxuICAgICAgdmFsdWU6ICdpbWctZWRpdGlvbicsXG4gICAgICBoaWRlOiB0cnVlLFxuICAgICAgaWQ6IDNcbiAgICB9XG4gIF07XG5cbiAgdGFiQWN0aXZlOiBTZWxlY3RJdGVtID0gdGhpcy50YWJzWzBdO1xuXG4gIC8qIHRhYkFjdGl2ZSA9ICdpbWFnZXMtdmlldyc7XG4gIHRhYnM6IHN0cmluZ1tdID0gWydpbWctdXBsb2FkJywgJ2ltYWdlcy12aWV3JywgJ3BleGVscy1saWInLCAnaW1nLWVkaXRpb24nXTsgKi9cbiAgZWRpdFRhYiA9IGZhbHNlO1xuXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcblxuICBpbWdVcGxvYWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCAnaW1nVXBsb2FkZWRJbWcnIClcbiAgaW1nVXBsb2FkZWRDb21wb25lbnQ6IFVwbG9hZExpc3RDb21wb25lbnQgO1xuXG4gIHNuYWNrQmFyTmV3VmVyc2lvbkNvbmZpZzogTndiU25hY2tiYXJDb25maWcgPSB7XG4gICAgbWVzc2FnZTogJycsXG4gICAgZHVyYXRpb246IDMwMDBcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGltZ0V2ZW50RWRpdFNlcnZpY2U6IEltZ0V2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IFJvdXRlclxuICAgICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbWdFdmVudEVkaXRTZXJ2aWNlLmdldEltZ1RvRWRpdEV2ZW50TGlzdGVuZXIoKS5zdWJzY3JpYmUoaW1nVG9FZGl0ID0+e1xuICAgICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbM107XG4gICAgICB0aGlzLmltZ1RvRWRpdCA9IGltZ1RvRWRpdDtcbiAgICAgIHRoaXMuZWRpdFRhYiA9IHRydWU7XG4gICAgICB0aGlzLmN1cnJlbnRUYWIuZW1pdCh0aGlzLnRhYnNbM10pO1xuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlVGFicyhpdGVtOiBTZWxlY3RJdGVtKSB7XG4gICAgdGhpcy5pbWdVcGxvYWQgPSBmYWxzZTtcbiAgICB0aGlzLmVkaXRUYWIgPSBmYWxzZTtcbiAgICB0aGlzLnRhYkFjdGl2ZSA9IGl0ZW07XG4gIH1cblxuICBvbkltZ1VwbG9hZGVkKGltZzogSW1nUGljdHVyZURUT1tdKSB7XG4gICAgdGhpcy5pbWdVcGxvYWQgPSB0cnVlO1xuICAgIHRoaXMuaW1nVXBsb2FkZWRDb21wb25lbnQub25JbWdVcGxvYWRlZChpbWcpO1xuICB9XG5cbiAgb25FZGl0Q2xvc2VkKG1zZ0tleTogc3RyaW5nKSB7XG4gICAgdGhpcy5lZGl0VGFiID0gZmFsc2U7XG4gICAgdGhpcy50b2dnbGVUYWJzKHRoaXMudGFic1sxXSk7XG4gICAgaWYgKG1zZ0tleSkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KG1zZ0tleSk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFRhYi5lbWl0KCdjbG9zZScpO1xuICB9XG5cbiAgb25TaG93SW1nVXBsb2FkZWQoKSB7XG4gICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbMV07XG4gIH1cblxuICBzd2l0Y2hEaXNwbGF5V2luZG93SW1nVmlldygpIHtcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHN3aXRjaFJvdXRlckxpbmsoZXZlbnQpIHtcblxuICB9XG5cbiAgb25JbWdNYW5hZ2VyQ2xvc2VkKCkge1xuICAgIHRoaXMuaW1nTWFuYWdlckNsb3NlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJpbWctdGFic1wiIFtuZ0NsYXNzXT1cInsnc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIj5cbiAgPGRpdiBjbGFzcz1cIndyYXBwZXItdGFic1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidGFic1wiXG4gICAgICBbbmdDbGFzc109XCJcbiAgICAgICAge1xuICAgICAgICAgICd0YWJzLS1ub3RXaW5kb3cnOiBzdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdycsXG4gICAgICAgICAgJ3RhYnMtLW5vdERpc3BsYXllZCc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93JyAmJiB0YWJBY3RpdmUudmFsdWUgPT09IHRhYnNbM10udmFsdWVcbiAgICAgICAgfVwiPlxuXG4gICAgICA8dWw+XG4gICAgICAgIDxsaSBjbGFzcz1cImlzLWFjdGl2ZVwiIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzBdLnZhbHVlfVwiIChjbGljayk9XCJ0b2dnbGVUYWJzKHRhYnNbMF0pXCI+PGE+e3sgdGFic1swXS5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPjwvbGk+XG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1sxXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzFdKVwiPjxhPnt7IHRhYnNbMV0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxuICAgICAgICA8bGkgW25nQ2xhc3NdPVwieydpcy1hY3RpdmUnOiB0YWJBY3RpdmUudmFsdWUgPT09IHRhYnNbMl0udmFsdWV9XCIgKGNsaWNrKT1cInRvZ2dsZVRhYnModGFic1syXSlcIj48YT57eyB0YWJzWzJdLm5hbWUgfCB0cmFuc2xhdGUgfX08L2E+PC9saT5cbiAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzNdLnZhbHVlfVwiICpuZ0lmPVwiZWRpdFRhYlwiPjxhPnt7IHRhYnNbM10ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbWctdGFic19fY2FudmFcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J2ltZy10YWJzX19jYW52YS0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnfVwiPlxuICAgICAgICA8Y2FudmEtYnRuXG4gICAgICAgICAgKHNob3dJbWdVcGxvYWRlZCk9XCJvblNob3dJbWdVcGxvYWRlZCgpXCJcbiAgICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIj5cbiAgICAgICAgPC9jYW52YS1idG4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LW1vYmlsZS1wYWdlXCI+XG4gICAgICA8d2FjLXNlbGVjdFxuICAgICAgICBbKG5nTW9kZWwpXT1cInRhYkFjdGl2ZVwiXG4gICAgICAgIG5hbWU9XCJ0YWJzXCJcbiAgICAgICAgW2l0ZW1zXT1cInRhYnNcIlxuICAgICAgPjwvd2FjLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBVcGxvYWQgc2VjdGlvbiAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY29sdW1ucyBpbWctdGFic19fdGFic0ZpcnN0XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnaW1nLXRhYnNfX3RhYnNGaXJzdC0tc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyxcbiAgICAgICdpbWctdGFic19fdGFic0ZpcnN0LS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdydcbiAgICB9XCJcbiAgICAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1swXS52YWx1ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaW1nLXRhYnNfX3RhYnNGaXJzdF9fdXBsb2FkXCI+XG4gICAgICA8aW1nLXVwbG9hZFxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxuICAgICAgICAoaW1nVXBsb2FkZWQpPVwib25JbWdVcGxvYWRlZCgkZXZlbnQpXCJcbiAgICAgID48L2ltZy11cGxvYWQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctdGFic19fdGFic0ZpcnN0X19saXN0XCIgW25nQ2xhc3NdPVwie1xuICAgICAgJ2ltZy10YWJzX190YWJzRmlyc3RfX2xpc3QtLXVwbG9hZCc6IGltZ1VwbG9hZFxuICAgIH1cIj5cbiAgICAgIDxpbWFnZXMtdmlld1xuICAgICAgICAqbmdJZj1cIiFpbWdVcGxvYWRcIlxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxuICAgICAgICBbbGlzdERpc3BsYXllZF09XCJmYWxzZVwiXG4gICAgICAgIFttdWx0aXBsZUltZ01vZGVdPVwibXVsdGlwbGVJbWdNb2RlXCJcbiAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxuICAgICAgICBbbmJSb3dUb1Nob3ddPVwiMlwiXG4gICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KClcIlxuICAgICAgICBbZnVsbFNpemVdPVwiZmFsc2VcIj5cbiAgICAgIDwvaW1hZ2VzLXZpZXc+XG5cblxuICAgICAgPGRpdiBbaGlkZGVuXT1cIiFpbWdVcGxvYWRcIj5cbiAgICAgICAgPHVwbG9hZC1saXN0XG4gICAgICAgICAgI2ltZ1VwbG9hZGVkSW1nXG4gICAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcbiAgICAgICAgICBbdGFiRGlzcGxheWVkXT1cInRhYkFjdGl2ZS52YWx1ZVwiXG4gICAgICAgICAgW211bHRpcGxlSW1nTW9kZV09XCJtdWx0aXBsZUltZ01vZGVcIlxuICAgICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KClcIlxuICAgICAgICAgID5cbiAgICAgICAgPC91cGxvYWQtbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIEltYWdlcyBzZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpbWctdGFic19fdGFic1NlY29uZFwiICpuZ0lmPVwidGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzFdLnZhbHVlXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuXG4gICAgICA8aW1hZ2VzLXZpZXdcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcbiAgICAgICAgW2xpc3REaXNwbGF5ZWRdPVwibGlzdERpc3BsYXllZFwiXG4gICAgICAgIFttdWx0aXBsZUltZ01vZGVdPVwibXVsdGlwbGVJbWdNb2RlXCJcbiAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxuICAgICAgICAoc3dpdGNoRGlzcGxheVdpbmRvdyk9XCJzd2l0Y2hEaXNwbGF5V2luZG93SW1nVmlldygpXCJcbiAgICAgICAgW2Z1bGxTaXplXT1cInRydWVcIj5cbiAgICAgIDwvaW1hZ2VzLXZpZXc+XG5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBQZXhlbHMgaW1nIHNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzVGhpcmRcIiAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1syXS52YWx1ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgIDxwZXhlbHMtbGliXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXG4gICAgICAgIChzaG93SW1nVXBsb2FkZWQpPVwib25TaG93SW1nVXBsb2FkZWQoKVwiPlxuICAgICAgPC9wZXhlbHMtbGliPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tRWRpdGlvbiBzZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpbWctdGFic19fdGFic0VkaXRcIiAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1szXS52YWx1ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgIDxpbWctZWRpdG9yXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXG4gICAgICAgIFtpbWdUb0VkaXRdPVwiaW1nVG9FZGl0XCJcbiAgICAgICAgKGVkaXRDbG9zZWQpPVwib25FZGl0Q2xvc2VkKCRldmVudClcIj5cbiAgICAgIDwvaW1nLWVkaXRvcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy10YWJzL2ltZy10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctdGFicy9pbWctdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyxnQkFBZ0I7SUErRDNCLFlBQ1UsbUJBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLEtBQWE7UUFGYix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWlCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQVE7UUEvRHZCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBSWpDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEMsd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsU0FBSSxHQUFpQjtZQUNuQjtnQkFDRSxJQUFJLEVBQUUsd0JBQXdCO2dCQUM5QixLQUFLLEVBQUUsWUFBWTtnQkFDbkIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsRUFBRSxFQUFFLENBQUM7YUFDTjtZQUNEO2dCQUNFLElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLEtBQUssRUFBRSxhQUFhO2dCQUNwQixFQUFFLEVBQUUsQ0FBQzthQUNOO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLDRCQUE0QjtnQkFDbEMsS0FBSyxFQUFFLFlBQVk7Z0JBQ25CLEVBQUUsRUFBRSxDQUFDO2FBQ047WUFDRDtnQkFDRSxJQUFJLEVBQUUsd0JBQXdCO2dCQUM5QixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsRUFBRSxFQUFFLENBQUM7YUFDTjtTQUNGLENBQUM7UUFFRixjQUFTLEdBQWUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQzt1RkFDK0U7UUFDL0UsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUloQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBS3BCLDZCQUF3QixHQUFzQjtZQUM1QyxPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztJQU1JLENBQUM7SUFFUCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixDQUFDLHlCQUF5QixFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3pFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBZ0I7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFvQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7SUFFdEIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7NkdBeEhVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG1aQ2Q3QiwwcElBb0hBOzJGRHRHYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsVUFBVTtzSkFNcEIsZUFBZTtzQkFEZCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNO2dCQUlQLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkF5Q1Asb0JBQW9CO3NCQURuQixTQUFTO3VCQUFFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xyXG5pbXBvcnQgeyBVcGxvYWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdXBsb2FkLWxpc3QvdXBsb2FkLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW1nRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOd2JTbmFja2JhckNvbmZpZyB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcclxuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vc2hhcmVkL3NlbGVjdC9zZWxlY3QtaXRlbXMuZHRvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW1nLXRhYnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctdGFicy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEltZ1RhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG11bHRpcGxlSW1nTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGlzdERpc3BsYXllZCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBpbWdNYW5hZ2VyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBjdXJyZW50VGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHRhYnM6IFNlbGVjdEl0ZW1bXSA9IFtcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5hZGRJbWcnLFxyXG4gICAgICB2YWx1ZTogJ2ltZy11cGxvYWQnLFxyXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgICAgaWQ6IDBcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuaW1nTGliJyxcclxuICAgICAgdmFsdWU6ICdpbWFnZXMtdmlldycsXHJcbiAgICAgIGlkOiAxXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnSW1nTWFuYWdlci5UYWJzLmZyZWVJbWdMaWInLFxyXG4gICAgICB2YWx1ZTogJ3BleGVscy1saWInLFxyXG4gICAgICBpZDogMlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5FZGl0b3InLFxyXG4gICAgICB2YWx1ZTogJ2ltZy1lZGl0aW9uJyxcclxuICAgICAgaGlkZTogdHJ1ZSxcclxuICAgICAgaWQ6IDNcclxuICAgIH1cclxuICBdO1xyXG5cclxuICB0YWJBY3RpdmU6IFNlbGVjdEl0ZW0gPSB0aGlzLnRhYnNbMF07XHJcblxyXG4gIC8qIHRhYkFjdGl2ZSA9ICdpbWFnZXMtdmlldyc7XHJcbiAgdGFiczogc3RyaW5nW10gPSBbJ2ltZy11cGxvYWQnLCAnaW1hZ2VzLXZpZXcnLCAncGV4ZWxzLWxpYicsICdpbWctZWRpdGlvbiddOyAqL1xyXG4gIGVkaXRUYWIgPSBmYWxzZTtcclxuXHJcbiAgaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPO1xyXG5cclxuICBpbWdVcGxvYWQgPSBmYWxzZTtcclxuXHJcbiAgaXNWaWRlb0VkaXQgPSBmYWxzZTtcclxuXHJcbiAgQFZpZXdDaGlsZCggJ2ltZ1VwbG9hZGVkSW1nJyApXHJcbiAgaW1nVXBsb2FkZWRDb21wb25lbnQ6IFVwbG9hZExpc3RDb21wb25lbnQgO1xyXG5cclxuICBzbmFja0Jhck5ld1ZlcnNpb25Db25maWc6IE53YlNuYWNrYmFyQ29uZmlnID0ge1xyXG4gICAgbWVzc2FnZTogJycsXHJcbiAgICBkdXJhdGlvbjogMzAwMFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbWdFdmVudEVkaXRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogUm91dGVyXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW1nRXZlbnRFZGl0U2VydmljZS5nZXRJbWdUb0VkaXRFdmVudExpc3RlbmVyKCkuc3Vic2NyaWJlKGltZ1RvRWRpdCA9PntcclxuICAgICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbM107XHJcbiAgICAgIHRoaXMuaW1nVG9FZGl0ID0gaW1nVG9FZGl0O1xyXG4gICAgICB0aGlzLmVkaXRUYWIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmlzVmlkZW9FZGl0ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYi5lbWl0KHRoaXMudGFic1szXSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaW1nRXZlbnRFZGl0U2VydmljZS5nZXRJbWdUb1ZpZGVvRXZlbnRMaXN0ZW5lcigpLnN1YnNjcmliZShpbWdUb0VkaXQgPT57XHJcbiAgICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzNdO1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdCA9IGltZ1RvRWRpdDtcclxuICAgICAgdGhpcy5lZGl0VGFiID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pc1ZpZGVvRWRpdCA9IHRydWU7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYi5lbWl0KHRoaXMudGFic1szXSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVRhYnMoaXRlbTogU2VsZWN0SXRlbSkge1xyXG4gICAgdGhpcy5pbWdVcGxvYWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdFRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy50YWJBY3RpdmUgPSBpdGVtO1xyXG4gIH1cclxuXHJcbiAgb25JbWdVcGxvYWRlZChpbWc6IEltZ1BpY3R1cmVEVE9bXSkge1xyXG4gICAgdGhpcy5pbWdVcGxvYWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pbWdVcGxvYWRlZENvbXBvbmVudC5vbkltZ1VwbG9hZGVkKGltZyk7XHJcbiAgfVxyXG5cclxuICBvbkVkaXRDbG9zZWQobXNnS2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZWRpdFRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy50b2dnbGVUYWJzKHRoaXMudGFic1sxXSk7XHJcbiAgICBpZiAobXNnS2V5KSB7XHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydChtc2dLZXkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50VGFiLmVtaXQoJ2Nsb3NlJyk7XHJcbiAgfVxyXG5cclxuICBvblNob3dJbWdVcGxvYWRlZCgpIHtcclxuICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzFdO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKSB7XHJcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaFJvdXRlckxpbmsoZXZlbnQpIHtcclxuXHJcbiAgfVxyXG5cclxuICBvbkltZ01hbmFnZXJDbG9zZWQoKSB7XHJcbiAgICB0aGlzLmltZ01hbmFnZXJDbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJpbWctdGFic1wiIFtuZ0NsYXNzXT1cInsnc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIj5cclxuICA8ZGl2IGNsYXNzPVwid3JhcHBlci10YWJzXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidGFic1wiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgIHtcclxuICAgICAgICAgICd0YWJzLS1ub3RXaW5kb3cnOiBzdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdycsXHJcbiAgICAgICAgICAndGFicy0tbm90RGlzcGxheWVkJzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnICYmIHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1szXS52YWx1ZVxyXG4gICAgICAgIH1cIj5cclxuXHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGkgY2xhc3M9XCJpcy1hY3RpdmVcIiBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1swXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzBdKVwiPjxhPnt7IHRhYnNbMF0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1sxXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzFdKVwiPjxhPnt7IHRhYnNbMV0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1syXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzJdKVwiPjxhPnt7IHRhYnNbMl0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1szXS52YWx1ZX1cIiAqbmdJZj1cImVkaXRUYWJcIj48YT57eyB0YWJzWzNdLm5hbWUgfCB0cmFuc2xhdGUgfX08L2E+PC9saT5cclxuICAgICAgPC91bD5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiaW1nLXRhYnNfX2NhbnZhXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J2ltZy10YWJzX19jYW52YS0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnfVwiPlxyXG4gICAgICAgIDxjYW52YS1idG5cclxuICAgICAgICAgIChzaG93SW1nVXBsb2FkZWQpPVwib25TaG93SW1nVXBsb2FkZWQoKVwiXHJcbiAgICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIj5cclxuICAgICAgICA8L2NhbnZhLWJ0bj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtbW9iaWxlLXBhZ2VcIj5cclxuICAgICAgPHdhYy1zZWxlY3RcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInRhYkFjdGl2ZVwiXHJcbiAgICAgICAgbmFtZT1cInRhYnNcIlxyXG4gICAgICAgIFtpdGVtc109XCJ0YWJzXCJcclxuICAgICAgPjwvd2FjLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFVwbG9hZCBzZWN0aW9uIC0tPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sdW1ucyBpbWctdGFic19fdGFic0ZpcnN0XCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2ltZy10YWJzX190YWJzRmlyc3QtLXNtYWxsJzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcsXHJcbiAgICAgICdpbWctdGFic19fdGFic0ZpcnN0LS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdydcclxuICAgIH1cIlxyXG4gICAgKm5nSWY9XCJ0YWJBY3RpdmUudmFsdWUgPT09IHRhYnNbMF0udmFsdWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaW1nLXRhYnNfX3RhYnNGaXJzdF9fdXBsb2FkXCI+XHJcbiAgICAgIDxpbWctdXBsb2FkXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICAoaW1nVXBsb2FkZWQpPVwib25JbWdVcGxvYWRlZCgkZXZlbnQpXCJcclxuICAgICAgPjwvaW1nLXVwbG9hZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctdGFic19fdGFic0ZpcnN0X19saXN0XCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnaW1nLXRhYnNfX3RhYnNGaXJzdF9fbGlzdC0tdXBsb2FkJzogaW1nVXBsb2FkXHJcbiAgICB9XCI+XHJcbiAgICAgIDxpbWFnZXMtdmlld1xyXG4gICAgICAgICpuZ0lmPVwiIWltZ1VwbG9hZFwiXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbbGlzdERpc3BsYXllZF09XCJmYWxzZVwiXHJcbiAgICAgICAgW211bHRpcGxlSW1nTW9kZV09XCJtdWx0aXBsZUltZ01vZGVcIlxyXG4gICAgICAgIFt0YWJEaXNwbGF5ZWRdPVwidGFiQWN0aXZlLnZhbHVlXCJcclxuICAgICAgICBbbmJSb3dUb1Nob3ddPVwiMlwiXHJcbiAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKVwiXHJcbiAgICAgICAgW2Z1bGxTaXplXT1cImZhbHNlXCI+XHJcbiAgICAgIDwvaW1hZ2VzLXZpZXc+XHJcblxyXG5cclxuICAgICAgPGRpdiBbaGlkZGVuXT1cIiFpbWdVcGxvYWRcIj5cclxuICAgICAgICA8dXBsb2FkLWxpc3RcclxuICAgICAgICAgICNpbWdVcGxvYWRlZEltZ1xyXG4gICAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICAgIFt0YWJEaXNwbGF5ZWRdPVwidGFiQWN0aXZlLnZhbHVlXCJcclxuICAgICAgICAgIFttdWx0aXBsZUltZ01vZGVdPVwibXVsdGlwbGVJbWdNb2RlXCJcclxuICAgICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvdXBsb2FkLWxpc3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gSW1hZ2VzIHNlY3Rpb24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaW1nLXRhYnNfX3RhYnNTZWNvbmRcIiAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1sxXS52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG5cclxuICAgICAgPGltYWdlcy12aWV3XHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbbGlzdERpc3BsYXllZF09XCJsaXN0RGlzcGxheWVkXCJcclxuICAgICAgICBbbXVsdGlwbGVJbWdNb2RlXT1cIm11bHRpcGxlSW1nTW9kZVwiXHJcbiAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxyXG4gICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KClcIlxyXG4gICAgICAgIFtmdWxsU2l6ZV09XCJ0cnVlXCI+XHJcbiAgICAgIDwvaW1hZ2VzLXZpZXc+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gUGV4ZWxzIGltZyBzZWN0aW9uIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzVGhpcmRcIiAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1syXS52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8cGV4ZWxzLWxpYlxyXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXHJcbiAgICAgICAgKHNob3dJbWdVcGxvYWRlZCk9XCJvblNob3dJbWdVcGxvYWRlZCgpXCI+XHJcbiAgICAgIDwvcGV4ZWxzLWxpYj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tRWRpdGlvbiBzZWN0aW9uIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzRWRpdFwiICpuZ0lmPVwidGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzNdLnZhbHVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxpbWctZWRpdG9yXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgW2lzVmlkZW9FZGl0XT1cImlzVmlkZW9FZGl0XCJcclxuICAgICAgICAoZWRpdENsb3NlZCk9XCJvbkVkaXRDbG9zZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8L2ltZy1lZGl0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|