@sumaris-net/ngx-components 2.4.82-rc7 → 2.4.82-rc8
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/doc/changelog.md +0 -3
- package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +34 -25
- package/esm2020/src/app/core/services/account.service.mjs +19 -36
- package/esm2020/src/app/core/services/local-settings.service.mjs +4 -4
- package/esm2020/src/app/core/services/model/config.model.mjs +3 -3
- package/esm2020/src/app/core/table/table-select-columns.component.mjs +1 -1
- package/esm2020/src/app/shared/form/field.component.mjs +11 -15
- package/esm2020/src/app/shared/functions.mjs +4 -1
- package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +31 -41
- package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +2 -3
- package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +1 -1
- package/esm2020/src/app/shared/material/badge/badge.directive.mjs +110 -128
- package/esm2020/src/app/shared/material/badge/badge.test.mjs +13 -26
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +3 -3
- package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +3 -3
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +2 -2
- package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +33 -43
- package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +2 -3
- package/esm2020/src/app/shared/services/startable-service.class.mjs +6 -1
- package/esm2020/src/app/shared/shared.module.mjs +1 -1
- package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +1 -1
- package/esm2020/src/app/shared/toast/toast.testing.mjs +3 -3
- package/esm2020/src/environments/environment.class.mjs +1 -1
- package/esm2020/src/environments/environment.mjs +6 -5
- package/fesm2015/sumaris-net.ngx-components.mjs +276 -325
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
- package/fesm2020/sumaris-net.ngx-components.mjs +265 -319
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +8 -8
- package/src/app/core/form/entity/entity-editor.class.d.ts +28 -25
- package/src/app/core/services/account.service.d.ts +0 -2
- package/src/app/shared/functions.d.ts +1 -0
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +17 -14
- package/src/app/shared/material/badge/badge.directive.d.ts +18 -25
- package/src/app/shared/material/badge/badge.test.d.ts +0 -8
- package/src/app/shared/material/swipe/material.swipe.d.ts +12 -12
- package/src/app/shared/services/startable-service.class.d.ts +1 -0
- package/src/environments/environment.class.d.ts +0 -1
|
@@ -234,7 +234,7 @@ export class StorageExplorerComponent {
|
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
StorageExplorerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: StorageExplorerComponent, deps: [{ token: i1.Platform }, { token: i1.ToastController }, { token: i1.AlertController }, { token: i2.TranslateService }, { token: i3.MomentDateAdapter }, { token: i0.ChangeDetectorRef }, { token: APP_STORAGE }, { token: ENVIRONMENT }, { token: APP_DEBUG_DATA_SERVICE, optional: true }, { token: APP_STORAGE_EXPLORER_PROTECTED_KEYS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
237
|
-
StorageExplorerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: StorageExplorerComponent, selector: "app-storage-explorer", inputs: { mobile: "mobile", showSendButton: "showSendButton" }, viewQueries: [{ propertyName: "sendDataModal", first: true, predicate: ["sendDataModal"], descendants: true }, { propertyName: "viewDataModal", first: true, predicate: ["viewDataModal"], descendants: true }], ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-title>Storage Explorer</ion-title>\n\n <ion-buttons slot=\"end\">\n <!-- Refresh -->\n <button mat-icon-button\n [title]=\"'COMMON.BTN_REFRESH'|translate\"\n (click)=\"refresh()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-no-padding\">\n\n\n <ion-grid class=\"ion-padding list-istorage\">\n <ion-row>\n <ion-col size=\"12\" size-lg=\"6\" class=\"mat-header-cell\">\n <ion-label translate>REFERENTIAL.LABEL</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell\">\n <ion-label translate>REFERENTIAL.TYPE</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell ion-text-start\">\n <ion-label>Nb</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell\" size=\"auto\" >\n </ion-col>\n </ion-row>\n\n\n <ion-row class=\"mat-row\" *rxFor=\"let item of $items; trackBy: trackByFn; odd as odd;\"\n [class.odd]=\"odd\" >\n <ion-col size=\"12\" size-lg=\"6\">\n <ion-label class=\"ion-text-wrap mat-cell\"><b>{{ item.key }}</b></ion-label>\n </ion-col>\n <ion-col class=\" mat-cell\">\n <ion-label>{{ item.type }}</ion-label>\n </ion-col>\n <ion-col class=\" mat-cell\">\n <ion-label>{{ item.total }}</ion-label>\n </ion-col>\n <ion-col size=\"auto mat-cell\">\n <ion-buttons>\n\n <ion-button color=\"primary\" (click)=\"viewDataClick($event, item.key)\"\n [title]=\"'COMMON.BTN_PREVIEW'|translate\">\n <mat-icon slot=\"icon-only\" [attr.aria-label]=\"'COMMON.BTN_PREVIEW'|translate\">remove_red_eye</mat-icon>\n </ion-button>\n <ion-button *ngIf=\"showSendButton\"\n color=\"primary\"\n (click)=\"sendDataClick($event, item.key)\"\n [title]=\"'COMMON.BTN_SEND'|translate\">\n <mat-icon slot=\"icon-only\" [attr.aria-label]=\"'COMMON.BTN_SEND'|translate\">send</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n <ng-container *ngIf=\"$loading|async; else noResult\">\n <ion-item>\n <ion-skeleton-text animated></ion-skeleton-text>\n </ion-item>\n </ng-container>\n\n <ng-template #noResult>\n <ion-item *ngIf=\"$items|async|isEmptyArray\">\n <ion-text color=\"danger\"\n class=\"text-italic\"\n [innerHTML]=\"'COMMON.NO_RESULT' | translate\">\n </ion-text>\n </ion-item>\n </ng-template>\n\n</ion-content>\n\n\n<ion-modal #sendDataModal>\n <ng-template>\n <ion-content class=\"ion-padding\">\n <ion-item lines=\"none\" translate>CONFIRM.SEND_DEBUG_DATA</ion-item>\n </ion-content>\n <ion-footer>\n <ion-toolbar>\n\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n\n <!-- buttons -->\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"sendDataModal.dismiss()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n\n <ion-button fill=\"solid\" (click)=\"sendDataModal.dismiss(null, 'send')\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n\n<ion-modal #viewDataModal class=\"modal-large view-modal\">\n <ng-template>\n <ion-content class=\"ion-no-padding\" scroll-y=\"true\">\n <!-- display logs-->\n <ng-container *ngIf=\"logs; else otherKey\">\n <ion-grid>\n <ion-row *ngFor=\"let log of logs\"\n [style.color]=\"levelToColor(log.level)\">\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{log.date|dateFormat: {time: true} }}\n </ion-col>\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{levelToString(log.level)}}\n </ion-col>\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{log.loggerName}}\n </ion-col>\n <ion-col size=\"12\" size-lg=\"6\" class=\"ion-text-wrap\">\n {{ log.message }}\n </ion-col>\n </ion-row>\n </ion-grid>\n </ng-container>\n <ng-template #otherKey>\n <div class=\"ion-padding\">\n <pre>{{data}}</pre>\n </div>\n </ng-template>\n </ion-content>\n\n <ion-footer>\n <ion-toolbar>\n\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n\n <!-- buttons -->\n <ion-col size=\"auto\">\n\n <ion-button fill=\"clear\" color=\"danger\"\n (click)=\"clear(key)\">\n <mat-icon slot=\"start\">delete</mat-icon>\n <ion-label translate>COMMON.BTN_CLEAR</ion-label>\n </ion-button>\n <ion-button fill=\"clear\"\n (click)=\"copyToClipboard(key)\">\n <mat-icon slot=\"start\">content_copy</mat-icon>\n <ion-label translate>COMMON.BTN_COPY</ion-label>\n </ion-button>\n\n <ion-button fill=\"clear\"\n *ngIf=\"!mobile\"\n (click)=\"downloadAsJson(key)\">\n <mat-icon slot=\"start\">download</mat-icon>\n <ion-label translate>COMMON.BTN_DOWNLOAD</ion-label>\n </ion-button>\n\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"viewDataModal.dismiss()\">\n <ion-label translate>COMMON.BTN_CLOSE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n", styles: ["ion-grid.list-istorage{--ion-grid-column-padding: 5px}ion-grid.list-istorage ion-row{align-items:center}ion-grid.list-istorage ion-row.mat-header-row{height:40px}ion-grid.list-istorage ion-row.mat-header-row ion-col{vertical-align:center}ion-grid.list-istorage ion-row.computed ion-col ion-label,ion-grid.list-istorage ion-row ion-label.computed{color:var(--ion-color-primary-tint)!important;font-style:italic!important}ion-grid.list-istorage ion-row.odd{background-color:var(--ion-color-light)}ion-grid.list-istorage ion-row ion-col{padding:var(--ion-grid-column-padding)}ion-grid.list-istorage ion-row ion-col ion-label{vertical-align:center}.view-modal pre{overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal", inputs: ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "event", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "translucent", "trigger"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i5.RxFor, selector: "[rxFor][rxForOf]", inputs: ["rxForOf", "rxForTemplate", "rxForStrategy", "rxForParent", "rxForPatchZone", "rxForTrackBy", "rxForRenderCallback"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.DateFormatPipe, name: "dateFormat" }, { kind: "pipe", type: i9.EmptyArrayPipe, name: "isEmptyArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
237
|
+
StorageExplorerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: StorageExplorerComponent, selector: "app-storage-explorer", inputs: { mobile: "mobile", showSendButton: "showSendButton" }, viewQueries: [{ propertyName: "sendDataModal", first: true, predicate: ["sendDataModal"], descendants: true }, { propertyName: "viewDataModal", first: true, predicate: ["viewDataModal"], descendants: true }], ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-title>Storage Explorer</ion-title>\n\n <ion-buttons slot=\"end\">\n <!-- Refresh -->\n <button mat-icon-button\n [title]=\"'COMMON.BTN_REFRESH'|translate\"\n (click)=\"refresh()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-no-padding\">\n\n\n <ion-grid class=\"ion-padding list-istorage\">\n <ion-row>\n <ion-col size=\"12\" size-lg=\"6\" class=\"mat-header-cell\">\n <ion-label translate>REFERENTIAL.LABEL</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell\">\n <ion-label translate>REFERENTIAL.TYPE</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell ion-text-start\">\n <ion-label>Nb</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell\" size=\"auto\" >\n </ion-col>\n </ion-row>\n\n\n <ion-row class=\"mat-row\" *rxFor=\"let item of $items; trackBy: trackByFn; odd as odd;\"\n [class.odd]=\"odd\" >\n <ion-col size=\"12\" size-lg=\"6\">\n <ion-label class=\"ion-text-wrap mat-cell\"><b>{{ item.key }}</b></ion-label>\n </ion-col>\n <ion-col class=\" mat-cell\">\n <ion-label>{{ item.type }}</ion-label>\n </ion-col>\n <ion-col class=\" mat-cell\">\n <ion-label>{{ item.total }}</ion-label>\n </ion-col>\n <ion-col size=\"auto mat-cell\">\n <ion-buttons>\n\n <ion-button color=\"primary\" (click)=\"viewDataClick($event, item.key)\"\n [title]=\"'COMMON.BTN_PREVIEW'|translate\">\n <mat-icon slot=\"icon-only\" [attr.aria-label]=\"'COMMON.BTN_PREVIEW'|translate\">remove_red_eye</mat-icon>\n </ion-button>\n <ion-button *ngIf=\"showSendButton\"\n color=\"primary\"\n (click)=\"sendDataClick($event, item.key)\"\n [title]=\"'COMMON.BTN_SEND'|translate\">\n <mat-icon slot=\"icon-only\" [attr.aria-label]=\"'COMMON.BTN_SEND'|translate\">send</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n <ng-container *ngIf=\"$loading|async; else noResult\">\n <ion-item>\n <ion-skeleton-text animated></ion-skeleton-text>\n </ion-item>\n </ng-container>\n\n <ng-template #noResult>\n <ion-item *ngIf=\"$items|async|isEmptyArray\">\n <ion-text color=\"danger\"\n class=\"text-italic\"\n [innerHTML]=\"'COMMON.NO_RESULT' | translate\">\n </ion-text>\n </ion-item>\n </ng-template>\n\n</ion-content>\n\n\n<ion-modal #sendDataModal>\n <ng-template>\n <ion-content class=\"ion-padding\">\n <ion-item lines=\"none\" translate>CONFIRM.SEND_DEBUG_DATA</ion-item>\n </ion-content>\n <ion-footer>\n <ion-toolbar>\n\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n\n <!-- buttons -->\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"sendDataModal.dismiss()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n\n <ion-button fill=\"solid\" (click)=\"sendDataModal.dismiss(null, 'send')\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n\n<ion-modal #viewDataModal class=\"modal-large view-modal\">\n <ng-template>\n <ion-content class=\"ion-no-padding\" scroll-y=\"true\">\n <!-- display logs-->\n <ng-container *ngIf=\"logs; else otherKey\">\n <ion-grid>\n <ion-row *ngFor=\"let log of logs\"\n [style.color]=\"levelToColor(log.level)\">\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{log.date|dateFormat: {time: true} }}\n </ion-col>\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{levelToString(log.level)}}\n </ion-col>\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{log.loggerName}}\n </ion-col>\n <ion-col size=\"12\" size-lg=\"6\" class=\"ion-text-wrap\">\n {{ log.message }}\n </ion-col>\n </ion-row>\n </ion-grid>\n </ng-container>\n <ng-template #otherKey>\n <div class=\"ion-padding\">\n <pre>{{data}}</pre>\n </div>\n </ng-template>\n </ion-content>\n\n <ion-footer>\n <ion-toolbar>\n\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n\n <!-- buttons -->\n <ion-col size=\"auto\">\n\n <ion-button fill=\"clear\" color=\"danger\"\n (click)=\"clear(key)\">\n <mat-icon slot=\"start\">delete</mat-icon>\n <ion-label translate>COMMON.BTN_CLEAR</ion-label>\n </ion-button>\n <ion-button fill=\"clear\"\n (click)=\"copyToClipboard(key)\">\n <mat-icon slot=\"start\">content_copy</mat-icon>\n <ion-label translate>COMMON.BTN_COPY</ion-label>\n </ion-button>\n\n <ion-button fill=\"clear\"\n *ngIf=\"!mobile\"\n (click)=\"downloadAsJson(key)\">\n <mat-icon slot=\"start\">download</mat-icon>\n <ion-label translate>COMMON.BTN_DOWNLOAD</ion-label>\n </ion-button>\n\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"viewDataModal.dismiss()\">\n <ion-label translate>COMMON.BTN_CLOSE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n", styles: ["ion-grid.list-istorage{--ion-grid-column-padding: 5px}ion-grid.list-istorage ion-row{align-items:center}ion-grid.list-istorage ion-row.mat-header-row{height:40px}ion-grid.list-istorage ion-row.mat-header-row ion-col{vertical-align:center}ion-grid.list-istorage ion-row.computed ion-col ion-label,ion-grid.list-istorage ion-row ion-label.computed{color:var(--ion-color-primary-tint)!important;font-style:italic!important}ion-grid.list-istorage ion-row.odd{background-color:var(--ion-color-light)}ion-grid.list-istorage ion-row ion-col{padding:var(--ion-grid-column-padding)}ion-grid.list-istorage ion-row ion-col ion-label{vertical-align:center}.view-modal pre{overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal", inputs: ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "event", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "swipeToClose", "translucent", "trigger"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i5.RxFor, selector: "[rxFor][rxForOf]", inputs: ["rxForOf", "rxForTemplate", "rxForStrategy", "rxForParent", "rxForPatchZone", "rxForTrackBy", "rxForRenderCallback"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.DateFormatPipe, name: "dateFormat" }, { kind: "pipe", type: i9.EmptyArrayPipe, name: "isEmptyArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
238
238
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: StorageExplorerComponent, decorators: [{
|
|
239
239
|
type: Component,
|
|
240
240
|
args: [{ selector: 'app-storage-explorer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-title>Storage Explorer</ion-title>\n\n <ion-buttons slot=\"end\">\n <!-- Refresh -->\n <button mat-icon-button\n [title]=\"'COMMON.BTN_REFRESH'|translate\"\n (click)=\"refresh()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-no-padding\">\n\n\n <ion-grid class=\"ion-padding list-istorage\">\n <ion-row>\n <ion-col size=\"12\" size-lg=\"6\" class=\"mat-header-cell\">\n <ion-label translate>REFERENTIAL.LABEL</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell\">\n <ion-label translate>REFERENTIAL.TYPE</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell ion-text-start\">\n <ion-label>Nb</ion-label>\n </ion-col>\n <ion-col class=\"mat-header-cell\" size=\"auto\" >\n </ion-col>\n </ion-row>\n\n\n <ion-row class=\"mat-row\" *rxFor=\"let item of $items; trackBy: trackByFn; odd as odd;\"\n [class.odd]=\"odd\" >\n <ion-col size=\"12\" size-lg=\"6\">\n <ion-label class=\"ion-text-wrap mat-cell\"><b>{{ item.key }}</b></ion-label>\n </ion-col>\n <ion-col class=\" mat-cell\">\n <ion-label>{{ item.type }}</ion-label>\n </ion-col>\n <ion-col class=\" mat-cell\">\n <ion-label>{{ item.total }}</ion-label>\n </ion-col>\n <ion-col size=\"auto mat-cell\">\n <ion-buttons>\n\n <ion-button color=\"primary\" (click)=\"viewDataClick($event, item.key)\"\n [title]=\"'COMMON.BTN_PREVIEW'|translate\">\n <mat-icon slot=\"icon-only\" [attr.aria-label]=\"'COMMON.BTN_PREVIEW'|translate\">remove_red_eye</mat-icon>\n </ion-button>\n <ion-button *ngIf=\"showSendButton\"\n color=\"primary\"\n (click)=\"sendDataClick($event, item.key)\"\n [title]=\"'COMMON.BTN_SEND'|translate\">\n <mat-icon slot=\"icon-only\" [attr.aria-label]=\"'COMMON.BTN_SEND'|translate\">send</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n <ng-container *ngIf=\"$loading|async; else noResult\">\n <ion-item>\n <ion-skeleton-text animated></ion-skeleton-text>\n </ion-item>\n </ng-container>\n\n <ng-template #noResult>\n <ion-item *ngIf=\"$items|async|isEmptyArray\">\n <ion-text color=\"danger\"\n class=\"text-italic\"\n [innerHTML]=\"'COMMON.NO_RESULT' | translate\">\n </ion-text>\n </ion-item>\n </ng-template>\n\n</ion-content>\n\n\n<ion-modal #sendDataModal>\n <ng-template>\n <ion-content class=\"ion-padding\">\n <ion-item lines=\"none\" translate>CONFIRM.SEND_DEBUG_DATA</ion-item>\n </ion-content>\n <ion-footer>\n <ion-toolbar>\n\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n\n <!-- buttons -->\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"sendDataModal.dismiss()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n\n <ion-button fill=\"solid\" (click)=\"sendDataModal.dismiss(null, 'send')\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n\n<ion-modal #viewDataModal class=\"modal-large view-modal\">\n <ng-template>\n <ion-content class=\"ion-no-padding\" scroll-y=\"true\">\n <!-- display logs-->\n <ng-container *ngIf=\"logs; else otherKey\">\n <ion-grid>\n <ion-row *ngFor=\"let log of logs\"\n [style.color]=\"levelToColor(log.level)\">\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{log.date|dateFormat: {time: true} }}\n </ion-col>\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{levelToString(log.level)}}\n </ion-col>\n <ion-col size=\"2\" class=\"ion-text-start\">\n {{log.loggerName}}\n </ion-col>\n <ion-col size=\"12\" size-lg=\"6\" class=\"ion-text-wrap\">\n {{ log.message }}\n </ion-col>\n </ion-row>\n </ion-grid>\n </ng-container>\n <ng-template #otherKey>\n <div class=\"ion-padding\">\n <pre>{{data}}</pre>\n </div>\n </ng-template>\n </ion-content>\n\n <ion-footer>\n <ion-toolbar>\n\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n\n <!-- buttons -->\n <ion-col size=\"auto\">\n\n <ion-button fill=\"clear\" color=\"danger\"\n (click)=\"clear(key)\">\n <mat-icon slot=\"start\">delete</mat-icon>\n <ion-label translate>COMMON.BTN_CLEAR</ion-label>\n </ion-button>\n <ion-button fill=\"clear\"\n (click)=\"copyToClipboard(key)\">\n <mat-icon slot=\"start\">content_copy</mat-icon>\n <ion-label translate>COMMON.BTN_COPY</ion-label>\n </ion-button>\n\n <ion-button fill=\"clear\"\n *ngIf=\"!mobile\"\n (click)=\"downloadAsJson(key)\">\n <mat-icon slot=\"start\">download</mat-icon>\n <ion-label translate>COMMON.BTN_DOWNLOAD</ion-label>\n </ion-button>\n\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"viewDataModal.dismiss()\">\n <ion-label translate>COMMON.BTN_CLOSE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n", styles: ["ion-grid.list-istorage{--ion-grid-column-padding: 5px}ion-grid.list-istorage ion-row{align-items:center}ion-grid.list-istorage ion-row.mat-header-row{height:40px}ion-grid.list-istorage ion-row.mat-header-row ion-col{vertical-align:center}ion-grid.list-istorage ion-row.computed ion-col ion-label,ion-grid.list-istorage ion-row ion-label.computed{color:var(--ion-color-primary-tint)!important;font-style:italic!important}ion-grid.list-istorage ion-row.odd{background-color:var(--ion-color-light)}ion-grid.list-istorage ion-row ion-col{padding:var(--ion-grid-column-padding)}ion-grid.list-istorage ion-row ion-col ion-label{vertical-align:center}.view-modal pre{overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}\n"] }]
|
|
@@ -43,9 +43,9 @@ export class ToastTestingPage {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
ToastTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastTestingPage, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
ToastTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ToastTestingPage, selector: "toast-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo()\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <
|
|
46
|
+
ToastTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ToastTestingPage, selector: "toast-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo()\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "mode", "name", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }] });
|
|
47
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ToastTestingPage, decorators: [{
|
|
48
48
|
type: Component,
|
|
49
|
-
args: [{ selector: 'toast-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo()\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <
|
|
49
|
+
args: [{ selector: 'toast-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo()\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n" }]
|
|
50
50
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3RvYXN0L3RvYXN0LnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQW1CLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTG5CLG1CQUFjLEdBQXFCO1lBQzFDLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUM7SUFLRixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQXVCO1FBQy9CLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3RDLEdBQUcsSUFBSSxDQUFDLGNBQWM7WUFDdEIsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXVCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsR0FBRyxJQUFJO1NBQ1IsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUF1QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDcEIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBdUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3BCLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLHdCQUF3QjtZQUNqQyxHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQztJQUM3RSxDQUFDOzs4R0EvQ1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IscURDVDdCLDh3QkFzQ0E7NEZEN0JhLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VG9hc3RDb250cm9sbGVyfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge1Nob3dUb2FzdE9wdGlvbnMsIFRvYXN0c30gZnJvbSAnLi90b2FzdHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9hc3QtdGVzdGluZycsXG4gIHRlbXBsYXRlVXJsOiAndG9hc3QudGVzdGluZy5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFRlc3RpbmdQYWdlICB7XG5cbiAgcmVhZG9ubHkgZGVmYXVsdE9wdGlvbnM6IFNob3dUb2FzdE9wdGlvbnMgPSB7XG4gICAgc2hvd0Nsb3NlQnV0dG9uOiBmYWxzZVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICB9XG5cbiAgc2hvd1RvYXN0KG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIFRvYXN0cy5zaG93U2ltcGxlKHRoaXMuaW5qZWN0b3IsIHtcbiAgICAgIC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsXG4gICAgICBkdXJhdGlvbjogMTAwMDAwLFxuICAgICAgbWVzc2FnZTogJ1RoaXMgaXMgYSBtZXNzYWdlJyxcbiAgICAgIC4uLm9wdHNcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dJbmZvKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICByZXR1cm4gdGhpcy5zaG93VG9hc3Qoe1xuICAgICB0eXBlOiAnaW5mbycsXG4gICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgaW5mbyB0ZXh0ICEnLFxuICAgICAuLi5vcHRzXG4gICB9KTtcbiAgfVxuXG4gIHNob3dXYXJuaW5nKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1RvYXN0KHtcbiAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgd2FybmluZyB0ZXh0ICEnLFxuICAgICAgLi4ub3B0c1xuICAgIH0pO1xuICB9XG5cbiAgc2hvd0Vycm9yKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1RvYXN0KHtcbiAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnVGhpcyBpcyBhIGVycm9yIHRleHQgIScsXG4gICAgICAuLi5vcHRzXG4gICAgfSk7XG4gIH1cblxuXG4gIHRvZ2dsZUNsb3NlQnV0dG9uKCkge1xuICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMuc2hvd0Nsb3NlQnV0dG9uID0gIXRoaXMuZGVmYXVsdE9wdGlvbnMuc2hvd0Nsb3NlQnV0dG9uO1xuICB9XG59XG4iLCI8aW9uLXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCI+XG4gIDxpb24tdGl0bGU+VG9hc3RzPC9pb24tdGl0bGU+XG48L2lvbi10b29sYmFyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuXG4gIDxwPlRvYXN0IGV4YW1wbGVzOjwvcD5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd1RvYXN0KClcIiBjb2xvcj1cImRhcmtcIj5cbiAgICBkZWZhdWx0XG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd0luZm8oKVwiIGNvbG9yPVwic2Vjb25kYXJ5XCI+XG4gICAgaW5mb1xuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dXYXJuaW5nKClcIiBjb2xvcj1cImFjY2VudFwiPlxuICAgIHdhcm5pbmdcbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxpb24tYnV0dG9uIChjbGljayk9XCJzaG93RXJyb3IoKVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgZXJyb3JcbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxici8+XG5cblxuICA8aW9uLWxpc3Q+XG5cblxuICAgIDxpb24taXRlbT5cbiAgICAgIDxpb24tY2hlY2tib3ggc2xvdD1cInN0YXJ0XCIgW3ZhbHVlXT1cImRlZmF1bHRPcHRpb25zLnNob3dDbG9zZUJ1dHRvblwiICAoaW9uQ2hhbmdlKT1cInRvZ2dsZUNsb3NlQnV0dG9uKClcIj48L2lvbi1jaGVja2JveD5cbiAgICAgIDxpb24tbGFiZWw+Q2xvc2UgYnV0dG9uID88L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuICA8L2lvbi1saXN0PlxuXG5cbjwvaW9uLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -2,4 +2,4 @@ import { InjectionToken } from '@angular/core';
|
|
|
2
2
|
export const ENVIRONMENT = new InjectionToken('ENV');
|
|
3
3
|
export class Environment {
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJN0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFjLEtBQUssQ0FBQyxDQUFDO0FBRWxFLE1BQU0sT0FBTyxXQUFXO0NBeUV2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmV0Y2hQb2xpY3l9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHtTdG9yYWdlQ29uZmlnfSBmcm9tICdAaW9uaWMvc3RvcmFnZSc7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2FjaGVDb25maWd9IGZyb20gJ2lvbmljLWNhY2hlL2xpYi9pbnRlcmZhY2VzL2NhY2hlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtMb2dnaW5nU2VydmljZUNvbmZpZ30gZnJvbSAnLi4vYXBwL3NoYXJlZC9sb2dnaW5nL2xvZ2dpbmctc2VydmljZS5jb25maWcnO1xuXG5leHBvcnQgY29uc3QgRU5WSVJPTk1FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48RW52aXJvbm1lbnQ+KCdFTlYnKTtcblxuZXhwb3J0IGNsYXNzIEVudmlyb25tZW50IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHByb2R1Y3Rpb246IGJvb2xlYW47XG4gIGJhc2VVcmw6IHN0cmluZztcblxuICBzYW1lVXJsUGVlcj86IGJvb2xlYW47XG5cbiAgLy8gQSBwZWVyIHRvIHVzZSBhdCBzdGFydHVwICh1c2VmdWwgb24gYSB3ZWIgc2l0ZSBkZXBsb3ltZW50KVxuICBkZWZhdWx0UGVlcj86IHsgaG9zdDogc3RyaW5nOyBwb3J0OiBudW1iZXI7IHVzZVNzbD86IGJvb2xlYW47IHBhdGg/OiBzdHJpbmcgfSB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgLy8gQSBsaXN0IG9mIHBlZXJzLCB0byBzZWxlY3QgYXMgcGVlciwgaW4gc2V0dGluZ3NcbiAgZGVmYXVsdFBlZXJzPzogeyBob3N0OiBzdHJpbmc7IHBvcnQ6IG51bWJlcjsgdXNlU3NsPzogYm9vbGVhbjsgcGF0aD86IHN0cmluZyB9W107XG5cbiAgLy8gTWluIGNvbXBhdGlibGUgdmVyc2lvbiBmb3IgdGhlIHBlZXJcbiAgcGVlck1pblZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLy8gSW50ZXJ2YWwgdG8gY2hlY2sgaWYgd2ViIHBhZ2UgbXVzdCBiZSByZWxvYWQsIGluIG1pbGxpc1xuICBjaGVja0FwcFZlcnNpb25JbnRlcnZhbEluU2Vjb25kcz86IG51bWJlcjtcblxuICAvLyBFbmFibGUgY2FjaGUgcGVyc2lzdGVuY2UgP1xuICBwZXJzaXN0Q2FjaGU/OiBib29sZWFuO1xuXG4gIC8vIEZvcmNlIG9mZmxpbmUgbW9kZSA/IC8hXFwgRm9yIERFViBvbmx5XG4gIG9mZmxpbmU/OiBib29sZWFuO1xuXG4gIC8vIEFwb2xsbyAoZ3JhcGhRTCkgY29uZmlnXG4gIGFwb2xsb0ZldGNoUG9saWN5PzogIEZldGNoUG9saWN5O1xuXG4gIC8vIERlZmF1bHQgdmFsdWVzXG4gIGRlZmF1bHRMb2NhbGU6IHN0cmluZztcbiAgZGVmYXVsdExhdExvbmdGb3JtYXQ/OiAnREQnIHwgJ0RETU0nIHwgJ0RETU1TUyc7XG4gIGRlZmF1bHREZXBhcnRtZW50SWQ/OiBudW1iZXI7XG4gIGRlZmF1bHRBcHBOYW1lPzogc3RyaW5nO1xuICBkZWZhdWx0QW5kcm9pZEluc3RhbGxVcmw/OiBzdHJpbmc7XG5cbiAgLy8gTG9nZ2luZ1xuICBsb2dnaW5nPzogUGFydGlhbDxMb2dnaW5nU2VydmljZUNvbmZpZz47XG5cbiAgLy8gU3RvcmFnZVxuICBjYWNoZT86IFBhcnRpYWw8Q2FjaGVDb25maWc+O1xuICBzdG9yYWdlPzogUGFydGlhbDxTdG9yYWdlQ29uZmlnPjtcbiAgc3RvcmFnZVNhdmVQZXJpb2RNcz86IG51bWJlcjtcblxuICAvLyBBYm91dFxuICBzb3VyY2VVcmw/OiBzdHJpbmc7XG4gIHJlcG9ydElzc3VlVXJsPzogc3RyaW5nO1xuICBmb3J1bVVybD86IHN0cmluZztcbiAgaGVscFVybD86IHN0cmluZztcblxuICAvLyBEZWZhdWx0IGF1dGhlbnRpY2F0aW9uIC8hXFwgRm9yIERFViBvbmx5XG4gIC8vIChzZWUgdmFsdWVzIGluIHRoZSB0ZXN0IGRhdGFiYXNlIC0gWE1MIGZpbGVzIGluIFBvZCdzIG1vZHVsZSlcbiAgZGVmYXVsdEF1dGhWYWx1ZXM/OiB7XG4gICAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIH07XG5cbiAgLy8gQWNjb3VudFxuICBhY2NvdW50Pzoge1xuICAgIHNob3dBY2NvdW50QnV0dG9uPzogYm9vbGVhbjsgLy8gU2hvdyBhY2NvdW50IGJ1dHRvbiBpbiBob21lIHBhZ2UgKGlmIHVuZGVmaW5lZCA9IHRydWUpXG4gICAgZW5hYmxlTGlzdGVuQ2hhbmdlcz86IGJvb2xlYW47XG4gICAgLy8gSWYgdW5kZWZpbmVkIG9yIDAsIHRoZW4gbGlzdGVuIG9ubHkgY2hhbmdlcyBtYWRlIGJ5IHRoZSBwb2RcbiAgICAvLyBJZiBncmVhdGVyIHRoYW4gMCA6IHdpbGwgY2hlY2sgY29uY3VycmVudCBjaGFuZ2VzIGluIHRoZSBEQiAoZS5nLiBjaGFuZ2VzIG1kZSBieSBhbm90aGVyIHNvZnR3YXJlKSBBTkQgY2hhbmdlcyBtYWRlIHRoZSBwb2RcbiAgICBsaXN0ZW5JbnRlcnZhbEluU2Vjb25kcz86IG51bWJlcjtcbiAgfTtcblxuICBlbnRpdHlFZGl0b3I/OiB7XG4gICAgZW5hYmxlTGlzdGVuQ2hhbmdlcz86IGJvb2xlYW47XG4gICAgLy8gSWYgdW5kZWZpbmVkIG9yIDAsIHRoZW4gbGlzdGVuIG9ubHkgY2hhbmdlcyBtYWRlIGJ5IHRoZSBwb2RcbiAgICAvLyBJZiBncmVhdGVyIHRoYW4gMCA6IHdpbGwgY2hlY2sgY29uY3VycmVudCBjaGFuZ2VzIGluIHRoZSBEQiAoZS5nLiBjaGFuZ2VzIG1kZSBieSBhbm90aGVyIHNvZnR3YXJlKSBBTkQgY2hhbmdlcyBtYWRlIHRoZSBwb2RcbiAgICBsaXN0ZW5JbnRlcnZhbEluU2Vjb25kcz86IG51bWJlcjtcbiAgfTtcblxufVxuIl19
|
|
@@ -73,10 +73,11 @@ export const environment = Object.freeze({
|
|
|
73
73
|
helpUrl: 'https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-doc/-/blob/master/user-manual/index_fr.md',
|
|
74
74
|
// Development
|
|
75
75
|
defaultAuthValues: {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
// Basic auth (using Person.username)
|
|
77
|
+
// username: 'admq2', password: 'q22006'
|
|
78
|
+
// Token auth (using Person.pubkey)
|
|
79
|
+
//username: 'admin@sumaris.net', password: 'admin',
|
|
80
|
+
username: 'benoit.lavenier@e-is.pro', password: 'priezPourMoi!',
|
|
80
81
|
},
|
|
81
82
|
account: {
|
|
82
83
|
enableListenChanges: true,
|
|
@@ -87,4 +88,4 @@ export const environment = Object.freeze({
|
|
|
87
88
|
listenIntervalInSeconds: 60
|
|
88
89
|
}
|
|
89
90
|
});
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdGQUFnRjtBQUNoRiwyRUFBMkU7QUFDM0UsZ0VBQWdFO0FBR2hFOzs7OztHQUtHO0FBQ0gsT0FBTyw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFnQixNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3BELElBQUksRUFBRSw2QkFBNkI7SUFDbkMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsT0FBTyxFQUFFLEdBQUc7SUFDWixhQUFhLEVBQUUsSUFBSTtJQUNuQixvQkFBb0IsRUFBRSxNQUFNO0lBQzVCLGlCQUFpQixFQUFFLGFBQWE7SUFFaEMsc0JBQXNCO0lBQ3RCLFlBQVksRUFBRSxLQUFLO0lBRW5CLHdCQUF3QjtJQUN4QixnQkFBZ0I7SUFFaEIsY0FBYyxFQUFFLE9BQU87SUFDdkIsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLGNBQWM7UUFDcEIsSUFBSSxFQUFFLElBQUk7S0FDWDtJQUVELFlBQVksRUFBRTtRQUNaO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLElBQUk7U0FDWDtRQUNEO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLElBQUk7U0FDWDtRQUNEO1lBQ0UsSUFBSSxFQUFFLGNBQWM7WUFDcEIsSUFBSSxFQUFFLElBQUk7U0FDWDtRQUNEO1lBQ0UsSUFBSSxFQUFFLGNBQWM7WUFDcEIsSUFBSSxFQUFFLElBQUk7U0FDWDtRQUNEO1lBQ0UsSUFBSSxFQUFFLGNBQWM7WUFDcEIsSUFBSSxFQUFFLElBQUk7U0FDWDtRQUNEO1lBQ0UsSUFBSSxFQUFFLFlBQVk7WUFDbEIsSUFBSSxFQUFFLEVBQUU7U0FDVDtRQUNEO1lBQ0UsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixJQUFJLEVBQUUsR0FBRztTQUNWO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLElBQUksRUFBRSxHQUFHO1NBQ1Y7S0FDRjtJQUNELGNBQWMsRUFBRSxTQUFTO0lBQ3pCLHdCQUF3QixFQUFFLCtEQUErRDtJQUV6RixVQUFVO0lBQ1YsT0FBTyxFQUFFO1FBQ1AsV0FBVyxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLFlBQVksQ0FBQztLQUNwSDtJQUVELFFBQVE7SUFDUixTQUFTLEVBQUUscUVBQXFFO0lBQ2hGLGNBQWMsRUFBRSw4RUFBOEU7SUFDOUYsUUFBUSxFQUFFLDJCQUEyQjtJQUNyQyxPQUFPLEVBQUUsZ0dBQWdHO0lBRXpHLGNBQWM7SUFDZCxpQkFBaUIsRUFBRTtRQUVqQixxQ0FBcUM7UUFDckMsd0NBQXdDO1FBRXhDLG1DQUFtQztRQUNuQyxtREFBbUQ7UUFDbkQsUUFBUSxFQUFFLDBCQUEwQixFQUFFLFFBQVEsRUFBRSxlQUFlO0tBQ2hFO0lBRUQsT0FBTyxFQUFFO1FBQ1AsbUJBQW1CLEVBQUUsSUFBSTtRQUN6Qix1QkFBdUIsRUFBRSxFQUFFO0tBQzVCO0lBRUQsWUFBWSxFQUFFO1FBQ1osbUJBQW1CLEVBQUUsSUFBSTtRQUN6Qix1QkFBdUIsRUFBRSxFQUFFO0tBQzVCO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBmaWxlIGNhbiBiZSByZXBsYWNlZCBkdXJpbmcgYnVpbGQgYnkgdXNpbmcgdGhlIGBmaWxlUmVwbGFjZW1lbnRzYCBhcnJheS5cbi8vIGBuZyBidWlsZCAtLS1wcm9kYCByZXBsYWNlcyBgZW52aXJvbm1lbnQudHNgIHdpdGggYGVudmlyb25tZW50LnByb2QudHNgLlxuLy8gVGhlIGxpc3Qgb2YgZmlsZSByZXBsYWNlbWVudHMgY2FuIGJlIGZvdW5kIGluIGBhbmd1bGFyLmpzb25gLlxuXG5pbXBvcnQge0Vudmlyb25tZW50fSBmcm9tICcuL2Vudmlyb25tZW50LmNsYXNzJztcbi8qXG4gKiBJbiBkZXZlbG9wbWVudCBtb2RlLCB0byBpZ25vcmUgem9uZSByZWxhdGVkIGVycm9yIHN0YWNrIGZyYW1lcyBzdWNoIGFzXG4gKiBgem9uZS5ydW5gLCBgem9uZURlbGVnYXRlLmludm9rZVRhc2tgIGZvciBlYXNpZXIgZGVidWdnaW5nLCB5b3UgY2FuXG4gKiBpbXBvcnQgdGhlIGZvbGxvd2luZyBmaWxlLCBidXQgcGxlYXNlIGNvbW1lbnQgaXQgb3V0IGluIHByb2R1Y3Rpb24gbW9kZVxuICogYmVjYXVzZSBpdCB3aWxsIGhhdmUgcGVyZm9ybWFuY2UgaW1wYWN0IHdoZW4gdGhyb3cgZXJyb3JcbiAqL1xuaW1wb3J0ICd6b25lLmpzL3BsdWdpbnMvem9uZS1lcnJvcic7XG5pbXBvcnQge1N0b3JhZ2VEcml2ZXJzfSBmcm9tICcuLi9hcHAvc2hhcmVkL3N0b3JhZ2Uvc3RvcmFnZS51dGlscyc7XG5cbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQgPSBPYmplY3QuZnJlZXplKHtcbiAgbmFtZTogJ0BzdW1hcmlzLW5ldC9uZ3gtY29tcG9uZW50cycsIC8vIG92ZXJyaWRkZW4gYnkgRU5WSVJPTk1FTlQgdG9rZW5cbiAgdmVyc2lvbjogdW5kZWZpbmVkLCAvLyBvdmVycmlkZGVuIGJ5IEVOVklST05NRU5UIHRva2VuXG4gIHByb2R1Y3Rpb246IHRydWUsIC8vIGxldCB0byB0cnVlICEgYmVjYXVzZSB1c2VkIGJ5IHBhY2thZ2VyXG4gIGJhc2VVcmw6ICcvJyxcbiAgZGVmYXVsdExvY2FsZTogJ2ZyJyxcbiAgZGVmYXVsdExhdExvbmdGb3JtYXQ6ICdERE1NJyxcbiAgYXBvbGxvRmV0Y2hQb2xpY3k6ICdjYWNoZS1maXJzdCcsXG5cbiAgLy8gRklYTUU6IGVuYWJsZSBjYWNoZVxuICBwZXJzaXN0Q2FjaGU6IGZhbHNlLFxuXG4gIC8vIFRPRE86IG1ha2UgdGhpcyB3b3Jrc1xuICAvL29mZmxpbmU6IHRydWUsXG5cbiAgcGVlck1pblZlcnNpb246ICcxLjguMCcsXG4gIGRlZmF1bHRQZWVyOiB7XG4gICAgaG9zdDogJzE5Mi4xNjguMC40NScsXG4gICAgcG9ydDogODA4MFxuICB9LFxuXG4gIGRlZmF1bHRQZWVyczogW1xuICAgIHtcbiAgICAgIGhvc3Q6ICdsb2NhbGhvc3QnLFxuICAgICAgcG9ydDogODA4MFxuICAgIH0sXG4gICAge1xuICAgICAgaG9zdDogJ2xvY2FsaG9zdCcsXG4gICAgICBwb3J0OiA4MDgxXG4gICAgfSxcbiAgICB7XG4gICAgICBob3N0OiAnMTkyLjE2OC4wLjQ1JyxcbiAgICAgIHBvcnQ6IDgwODBcbiAgICB9LFxuICAgIHtcbiAgICAgIGhvc3Q6ICcxOTIuMTY4LjAuMjQnLFxuICAgICAgcG9ydDogODA4MFxuICAgIH0sXG4gICAge1xuICAgICAgaG9zdDogJzE5Mi4xNjguMC4yOScsXG4gICAgICBwb3J0OiA4MDgwXG4gICAgfSxcbiAgICB7XG4gICAgICBob3N0OiAnc2loLnNmYS5zYycsXG4gICAgICBwb3J0OiA4MFxuICAgIH0sXG4gICAge1xuICAgICAgaG9zdDogJ3Rlc3Quc3VtYXJpcy5uZXQnLFxuICAgICAgcG9ydDogNDQzXG4gICAgfSxcbiAgICB7XG4gICAgICBob3N0OiAnc2VydmVyLmUtaXMucHJvJyxcbiAgICAgIHBvcnQ6IDQ0M1xuICAgIH1cbiAgXSxcbiAgZGVmYXVsdEFwcE5hbWU6ICdTVU1BUmlTJyxcbiAgZGVmYXVsdEFuZHJvaWRJbnN0YWxsVXJsOiAnaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW5ldC5zdW1hcmlzLmFwcCcsXG5cbiAgLy8gU3RvcmFnZVxuICBzdG9yYWdlOiB7XG4gICAgZHJpdmVyT3JkZXI6IFtTdG9yYWdlRHJpdmVycy5TUUxMaXRlLCBTdG9yYWdlRHJpdmVycy5JbmRleGVkREIsIFN0b3JhZ2VEcml2ZXJzLldlYlNRTCwgU3RvcmFnZURyaXZlcnMuTG9jYWxTdG9yYWdlXVxuICB9LFxuXG4gIC8vIEFib3V0XG4gIHNvdXJjZVVybDogJ2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL25neC1zdW1hcmlzLWNvbXBvbmVudHMnLFxuICByZXBvcnRJc3N1ZVVybDogJ2h0dHBzOi8vZ2l0bGFiLmlmcmVtZXIuZnIvc2loLXB1YmxpYy9zdW1hcmlzL25neC1zdW1hcmlzLWNvbXBvbmVudHMvLS9pc3N1ZXMnLFxuICBmb3J1bVVybDogJ2h0dHBzOi8vZm9ydW0uc3VtYXJpcy5uZXQnLFxuICBoZWxwVXJsOiAnaHR0cHM6Ly9naXRsYWIuaWZyZW1lci5mci9zaWgtcHVibGljL3N1bWFyaXMvc3VtYXJpcy1kb2MvLS9ibG9iL21hc3Rlci91c2VyLW1hbnVhbC9pbmRleF9mci5tZCcsXG5cbiAgLy8gRGV2ZWxvcG1lbnRcbiAgZGVmYXVsdEF1dGhWYWx1ZXM6IHtcblxuICAgIC8vIEJhc2ljIGF1dGggKHVzaW5nIFBlcnNvbi51c2VybmFtZSlcbiAgICAvLyB1c2VybmFtZTogJ2FkbXEyJywgcGFzc3dvcmQ6ICdxMjIwMDYnXG5cbiAgICAvLyBUb2tlbiBhdXRoICh1c2luZyBQZXJzb24ucHVia2V5KVxuICAgIC8vdXNlcm5hbWU6ICdhZG1pbkBzdW1hcmlzLm5ldCcsIHBhc3N3b3JkOiAnYWRtaW4nLFxuICAgIHVzZXJuYW1lOiAnYmVub2l0LmxhdmVuaWVyQGUtaXMucHJvJywgcGFzc3dvcmQ6ICdwcmllelBvdXJNb2khJyxcbiAgfSxcblxuICBhY2NvdW50OiB7XG4gICAgZW5hYmxlTGlzdGVuQ2hhbmdlczogdHJ1ZSxcbiAgICBsaXN0ZW5JbnRlcnZhbEluU2Vjb25kczogNjBcbiAgfSxcblxuICBlbnRpdHlFZGl0b3I6IHtcbiAgICBlbmFibGVMaXN0ZW5DaGFuZ2VzOiB0cnVlLFxuICAgIGxpc3RlbkludGVydmFsSW5TZWNvbmRzOiA2MFxuICB9XG59KTtcblxuIl19
|