@provoly/dashboard 0.24.5 → 0.24.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +1 -1
- package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +1 -1
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +1 -1
- package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +1 -1
- package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +1 -1
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +1 -1
- package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +1 -1
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +1 -1
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +1 -1
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +1 -1
- package/esm2022/components/scheme-picker/scheme-picker.component.mjs +1 -1
- package/esm2022/filters/autocomplete/autocomplete.component.mjs +12 -8
- package/esm2022/filters/list/list-filter.component.mjs +1 -1
- package/esm2022/import/components/import.component.mjs +1 -1
- package/esm2022/lib/core/components/select/select.component.mjs +6 -2
- package/esm2022/lib/core/components/share/share.component.mjs +1 -1
- package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
- package/esm2022/lib/core/store/search/search.effects.mjs +2 -2
- package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +1 -1
- package/esm2022/pipeline-components/filter/component/filter.component.mjs +1 -1
- package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +1 -1
- package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +1 -1
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +1 -1
- package/esm2022/restitution/components/restitution/restitution.component.mjs +1 -1
- package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +1 -1
- package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +1 -1
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +1 -1
- package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +1 -1
- package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +26 -0
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +1 -1
- package/esm2022/toolbox/components/toolbox.component.mjs +4 -3
- package/esm2022/toolbox/public-api.mjs +2 -1
- package/esm2022/toolbox/toolbox.model.mjs +2 -2
- package/esm2022/toolbox/toolbox.module.mjs +8 -4
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +1 -1
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +1 -1
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +1 -1
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +1 -1
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +1 -1
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +1 -1
- package/fesm2022/provoly-dashboard-admin.mjs +13 -13
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +1 -1
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +11 -7
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-list.mjs +1 -1
- package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +1 -1
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +4 -4
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +29 -7
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +8 -4
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/filters/autocomplete/autocomplete.component.d.ts +3 -3
- package/lib/core/components/select/select.component.d.ts +2 -1
- package/lib/core/store/search/search.actions.d.ts +2 -0
- package/package.json +13 -13
- package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +17 -0
- package/toolbox/public-api.d.ts +1 -0
- package/toolbox/toolbox.module.d.ts +10 -9
|
@@ -251,7 +251,7 @@ export class PryFilterSettingsComponent extends ToolboxActionComponent {
|
|
|
251
251
|
return `${attributeId}@${datasetId}`;
|
|
252
252
|
}
|
|
253
253
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryFilterSettingsComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.FilterFactoryService }, { token: i0.Injector }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
254
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryFilterSettingsComponent, selector: "pry-filter-settings", inputs: { label: "label" }, viewQueries: [{ propertyName: "templateSettings", first: true, predicate: ["settings"], descendants: true, read: TemplateRef }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<pry-toolbox-css></pry-toolbox-css>\n<div class=\"save-manifest-container\">\n <div style=\"display: none\">\n <ng-template #container></ng-template>\n </div>\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n [disabled]=\"(attributes$ | async)?.length === 0\"\n (click)=\"toggleSettings()\"\n aria-haspopup=\"dialog\"\n >\n <ng-container *ngIf=\"label\">{{ '@pry.filters.label' | i18n }}</ng-container>\n </button>\n</div>\n\n<ng-template #settings>\n <div class=\"o-filters\">\n <div class=\"o-filters__header\">\n <ng-container *ngIf=\"currentStep === FilterSteps.LIST\">\n <h2>{{ '@pry.filters.label' | i18n }}</h2>\n </ng-container>\n <ng-container *ngIf=\"currentStep === FilterSteps.CREATION || currentStep === FilterSteps.EDITION\">\n <div class=\"u-display-flex -row -align-center\">\n <button (click)=\"goBack()\" type=\"button\" class=\"back-button\">\n <pry-icon iconSvg=\"chevron_right\"></pry-icon>\n </button>\n <h2>\n {{\n (currentStep === FilterSteps.CREATION ? '@pry.filters.creation.create' : '@pry.filters.creation.update')\n | i18n\n }}\n </h2>\n </div>\n </ng-container>\n <button (click)=\"toggleSettings()\" type=\"button\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <ng-container *ngIf=\"currentStep === FilterSteps.LIST\">\n <div class=\"o-filters__content\">\n <div *ngIf=\"(attributes$ | async)?.length === 0; else attributesExists\" class=\"a-table-wrapper\"></div>\n <ng-template #attributesExists>\n <table *ngIf=\"filters.length > 0; else noFilters\" class=\"a-table\">\n <tbody cdkDropList [cdkDropListData]=\"filters\" (cdkDropListDropped)=\"drop($event)\">\n <tr *ngFor=\"let filter of filters\" class=\"o-filters__filter\" cdkDrag>\n <td>\n <span>{{ filter.name }}</span>\n </td>\n <td>\n <span>{{ getFilterAttributes(filter, 3) }}</span>\n </td>\n <td>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"deleteFilter(filter.id)\">\n {{ '@pry.action.delete' | i18n }}\n </button>\n </td>\n <td>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"goToEdition(filter)\">\n {{ '@pry.filters.list.modify' | i18n }}\n </button>\n </td>\n <td cdkDragHandle>\n <pry-icon iconSvg=\"drag_indicator\"></pry-icon>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-template #noFilters>\n <span class=\"o-filters__no-filters\">{{ '@pry.filters.noFilters' | i18n }}</span>\n </ng-template>\n <button (click)=\"goToCreation()\" class=\"a-btn a-btn--primary\">{{ '@pry.filters.list.add' | i18n }}</button>\n </ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"currentStep === FilterSteps.CREATION || currentStep === FilterSteps.EDITION\">\n <div class=\"o-filters__content\">\n <div class=\"m-form-label-field\">\n <label for=\"filterName\" class=\"a-label\">{{ '@pry.filters.creation.name' | i18n }}</label>\n <input id=\"filterName\" class=\"a-form-field\" type=\"text\" [(ngModel)]=\"filter.name\" />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"filterType\" class=\"a-label\">{{ '@pry.filters.creation.type' | i18n }}</label>\n <pry-select\n id=\"filterType\"\n [placeholder]=\"'@pry.filters.creation.type' | i18n\"\n [items]=\"types$ | async\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [(ngModel)]=\"filter.type\"\n (ngModelChange)=\"updateFilterType($event)\"\n >\n </pry-select>\n </div>\n <div *ngIf=\"(currentFilterComponentType$ | async) === 'date'\" class=\"m-form-label-field u-display-flex -row\">\n <label for=\"date-range\" class=\"a-label\">{{ '@pry.filters.creation.dateRange' | i18n }}</label>\n <pry-checkbox\n id=\"date-range\"\n [(ngModel)]=\"filter.hasDateRange\"\n (ngModelChange)=\"this.currentOperators$.next(getOperators())\"\n />\n </div>\n <div *ngIf=\"(currentFilterComponentType$ | async) === 'list'\" class=\"m-form-label-field\">\n <label for=\"possibleValues\" class=\"a-label\">{{ '@pry.filters.creation.values' | i18n }}</label>\n <input\n id=\"possibleValues\"\n class=\"a-form-field\"\n type=\"text\"\n [(ngModel)]=\"filter.possibleValues\"\n placeholder=\"valeur1, valeur2, valeur3\"\n />\n </div>\n <div *ngIf=\"(currentFilterComponentType$ | async) === 'autocomplete'\" class=\"m-form-label-field\">\n <label for=\"limit\" class=\"a-label\">{{ '@pry.filters.creation.limit' | i18n }}</label>\n <input id=\"limit\" class=\"a-form-field\" type=\"number\" min=\"0\" max=\"50\" [(ngModel)]=\"filter.limit\" />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"attributes\" class=\"a-label\">{{ '@pry.filters.creation.attributes' | i18n }}</label>\n <pry-select\n id=\"attributes\"\n [multiple]=\"true\"\n [clearable]=\"true\"\n [closeOnSelect]=\"false\"\n [items]=\"attributes$ | async\"\n [ngModel]=\"filter.attributes\"\n (ngModelChange)=\"selectAttribute($event)\"\n [placeholder]=\"'@pry.filters.creation.attributes' | i18n\"\n bindLabel=\"label\"\n bindValue=\"customId\"\n bindClasses=\"classes\"\n >\n </pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"operations\" class=\"a-label\">{{ '@pry.filters.attributes.operator' | i18n }}</label>\n <pry-select\n id=\"operations\"\n [items]=\"currentOperators$ | async\"\n [(ngModel)]=\"filter.operator\"\n [placeholder]=\"'@pry.filters.attributes.operator' | i18n\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [disabled]=\"\n (currentFilterComponentType$ | async) === 'list' ||\n (currentFilterComponentType$ | async) === 'autocomplete'\n \"\n >\n </pry-select>\n </div>\n <button\n class=\"a-btn a-btn--primary\"\n (click)=\"submitFilter()\"\n [disabled]=\"!(filter.name && filter.type && filter.attributes.length !== 0 && filter.operator)\"\n type=\"submit\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ 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: i5.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: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i5.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "directive", type: i7.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: i7.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: "directive", type: i7.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i8.PrySelectGridLayoutCssComponent, selector: "pry-toolbox-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
254
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryFilterSettingsComponent, selector: "pry-filter-settings", inputs: { label: "label" }, viewQueries: [{ propertyName: "templateSettings", first: true, predicate: ["settings"], descendants: true, read: TemplateRef }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<pry-toolbox-css></pry-toolbox-css>\n<div class=\"save-manifest-container\">\n <div style=\"display: none\">\n <ng-template #container></ng-template>\n </div>\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n [disabled]=\"(attributes$ | async)?.length === 0\"\n (click)=\"toggleSettings()\"\n aria-haspopup=\"dialog\"\n >\n <ng-container *ngIf=\"label\">{{ '@pry.filters.label' | i18n }}</ng-container>\n </button>\n</div>\n\n<ng-template #settings>\n <div class=\"o-filters\">\n <div class=\"o-filters__header\">\n <ng-container *ngIf=\"currentStep === FilterSteps.LIST\">\n <h2>{{ '@pry.filters.label' | i18n }}</h2>\n </ng-container>\n <ng-container *ngIf=\"currentStep === FilterSteps.CREATION || currentStep === FilterSteps.EDITION\">\n <div class=\"u-display-flex -row -align-center\">\n <button (click)=\"goBack()\" type=\"button\" class=\"back-button\">\n <pry-icon iconSvg=\"chevron_right\"></pry-icon>\n </button>\n <h2>\n {{\n (currentStep === FilterSteps.CREATION ? '@pry.filters.creation.create' : '@pry.filters.creation.update')\n | i18n\n }}\n </h2>\n </div>\n </ng-container>\n <button (click)=\"toggleSettings()\" type=\"button\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <ng-container *ngIf=\"currentStep === FilterSteps.LIST\">\n <div class=\"o-filters__content\">\n <div *ngIf=\"(attributes$ | async)?.length === 0; else attributesExists\" class=\"a-table-wrapper\"></div>\n <ng-template #attributesExists>\n <table *ngIf=\"filters.length > 0; else noFilters\" class=\"a-table\">\n <tbody cdkDropList [cdkDropListData]=\"filters\" (cdkDropListDropped)=\"drop($event)\">\n <tr *ngFor=\"let filter of filters\" class=\"o-filters__filter\" cdkDrag>\n <td>\n <span>{{ filter.name }}</span>\n </td>\n <td>\n <span>{{ getFilterAttributes(filter, 3) }}</span>\n </td>\n <td>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"deleteFilter(filter.id)\">\n {{ '@pry.action.delete' | i18n }}\n </button>\n </td>\n <td>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"goToEdition(filter)\">\n {{ '@pry.filters.list.modify' | i18n }}\n </button>\n </td>\n <td cdkDragHandle>\n <pry-icon iconSvg=\"drag_indicator\"></pry-icon>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-template #noFilters>\n <span class=\"o-filters__no-filters\">{{ '@pry.filters.noFilters' | i18n }}</span>\n </ng-template>\n <button (click)=\"goToCreation()\" class=\"a-btn a-btn--primary\">{{ '@pry.filters.list.add' | i18n }}</button>\n </ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"currentStep === FilterSteps.CREATION || currentStep === FilterSteps.EDITION\">\n <div class=\"o-filters__content\">\n <div class=\"m-form-label-field\">\n <label for=\"filterName\" class=\"a-label\">{{ '@pry.filters.creation.name' | i18n }}</label>\n <input id=\"filterName\" class=\"a-form-field\" type=\"text\" [(ngModel)]=\"filter.name\" />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"filterType\" class=\"a-label\">{{ '@pry.filters.creation.type' | i18n }}</label>\n <pry-select\n id=\"filterType\"\n [placeholder]=\"'@pry.filters.creation.type' | i18n\"\n [items]=\"types$ | async\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [(ngModel)]=\"filter.type\"\n (ngModelChange)=\"updateFilterType($event)\"\n >\n </pry-select>\n </div>\n <div *ngIf=\"(currentFilterComponentType$ | async) === 'date'\" class=\"m-form-label-field u-display-flex -row\">\n <label for=\"date-range\" class=\"a-label\">{{ '@pry.filters.creation.dateRange' | i18n }}</label>\n <pry-checkbox\n id=\"date-range\"\n [(ngModel)]=\"filter.hasDateRange\"\n (ngModelChange)=\"this.currentOperators$.next(getOperators())\"\n />\n </div>\n <div *ngIf=\"(currentFilterComponentType$ | async) === 'list'\" class=\"m-form-label-field\">\n <label for=\"possibleValues\" class=\"a-label\">{{ '@pry.filters.creation.values' | i18n }}</label>\n <input\n id=\"possibleValues\"\n class=\"a-form-field\"\n type=\"text\"\n [(ngModel)]=\"filter.possibleValues\"\n placeholder=\"valeur1, valeur2, valeur3\"\n />\n </div>\n <div *ngIf=\"(currentFilterComponentType$ | async) === 'autocomplete'\" class=\"m-form-label-field\">\n <label for=\"limit\" class=\"a-label\">{{ '@pry.filters.creation.limit' | i18n }}</label>\n <input id=\"limit\" class=\"a-form-field\" type=\"number\" min=\"0\" max=\"50\" [(ngModel)]=\"filter.limit\" />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"attributes\" class=\"a-label\">{{ '@pry.filters.creation.attributes' | i18n }}</label>\n <pry-select\n id=\"attributes\"\n [multiple]=\"true\"\n [clearable]=\"true\"\n [closeOnSelect]=\"false\"\n [items]=\"attributes$ | async\"\n [ngModel]=\"filter.attributes\"\n (ngModelChange)=\"selectAttribute($event)\"\n [placeholder]=\"'@pry.filters.creation.attributes' | i18n\"\n bindLabel=\"label\"\n bindValue=\"customId\"\n bindClasses=\"classes\"\n >\n </pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"operations\" class=\"a-label\">{{ '@pry.filters.attributes.operator' | i18n }}</label>\n <pry-select\n id=\"operations\"\n [items]=\"currentOperators$ | async\"\n [(ngModel)]=\"filter.operator\"\n [placeholder]=\"'@pry.filters.attributes.operator' | i18n\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [disabled]=\"\n (currentFilterComponentType$ | async) === 'list' ||\n (currentFilterComponentType$ | async) === 'autocomplete'\n \"\n >\n </pry-select>\n </div>\n <button\n class=\"a-btn a-btn--primary\"\n (click)=\"submitFilter()\"\n [disabled]=\"!(filter.name && filter.type && filter.attributes.length !== 0 && filter.operator)\"\n type=\"submit\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ 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: i5.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: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i5.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "directive", type: i7.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: i7.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: "directive", type: i7.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i8.PrySelectGridLayoutCssComponent, selector: "pry-toolbox-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
255
255
|
}
|
|
256
256
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryFilterSettingsComponent, decorators: [{
|
|
257
257
|
type: Component,
|
|
@@ -8,7 +8,8 @@ import * as i2 from "@angular/cdk/overlay";
|
|
|
8
8
|
import * as i3 from "@provoly/dashboard";
|
|
9
9
|
import * as i4 from "./toolbox-action-instanciator/toolbox-action-instanciator.component";
|
|
10
10
|
import * as i5 from "./edit-mode-toggle/edit-mode-toggle.component";
|
|
11
|
-
import * as i6 from "
|
|
11
|
+
import * as i6 from "./edit-mode-action/edit-mode-action.component";
|
|
12
|
+
import * as i7 from "@angular/common";
|
|
12
13
|
export class ToolboxComponent {
|
|
13
14
|
set actions(actions) {
|
|
14
15
|
this.actions$.next(actions);
|
|
@@ -76,7 +77,7 @@ export class ToolboxComponent {
|
|
|
76
77
|
return this._dropdownActions$.getValue().find((action) => actionName === action.name)?.order;
|
|
77
78
|
}
|
|
78
79
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ToolboxComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ToolboxComponent, selector: "pry-toolbox", inputs: { displayLabels: "displayLabels", dropdownPosition: "dropdownPosition", actions: "actions", dropdownActions: "dropdownActions" }, ngImport: i0, template: "<ul class=\"m-actions-list\" #input>\n @for (action of mainActions$ | async; track action.name) {\n @if (action.visible) {\n <li class=\"m-actions-list__item -{{action.name}}\" *pryAccess=\"action.access\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n ></pry-toolbox-action-instanciator>\n </li>\n }\n }\n @if (showDropdownButton$ | async) {\n <li class=\"m-actions-list__item\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n id=\"options\"\n aria-controls=\"IDpanel\"\n aria-expanded=\"false\"\n (click)=\"openDropdown($event)\"\n >\n @if (displayLabels) {\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.options' | i18n }}</span>\n <span>{{ '@pry.toolbox.options' | i18n }}</span>\n <pry-icon [width]=\"10\" [height]=\"13\" iconSvg=\"chevron_bottom\"></pry-icon>\n }\n </button>\n </li>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"dropdownPosition\"\n [cdkConnectedOverlayOffsetY]=\"5\"\n (backdropClick)=\"isDropdownOpen = false\"\n >\n <div class=\"o-draggable-menu -dropdown\" aria-labelledby=\"\">\n <ul class=\"o-draggable-menu__list\">\n @for (action of dropdownActions$ | async; track action.name) {\n @if (action.visible) {\n <li class=\"o-draggable-menu__list__item\" [style.order]=\"getOrder(action.name)\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n (closeOptions)=\"closeDropdown($event)\"\n ></pry-toolbox-action-instanciator>\n </li>\n }\n }\n </ul>\n </div>\n </ng-template>\n }\n\n @if (showEditToggle$ | async) {\n @if (isManualMode$ | async) {\n <li class=\"m-actions-list__item\">\n <pry-edit-mode-toggle\n *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'edit_dashboard' }\"\n [displayLabels]=\"displayLabels\"\n ></pry-edit-mode-toggle>\n </li>\n }\n }\n</ul>\n", dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i3.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.ToolboxActionInstanciatorComponent, selector: "pry-toolbox-action-instanciator", inputs: ["displayLabels", "action"], outputs: ["closeOptions"] }, { kind: "component", type: i5.EditModeToggleComponent, selector: "pry-edit-mode-toggle" }, { kind: "
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ToolboxComponent, selector: "pry-toolbox", inputs: { displayLabels: "displayLabels", dropdownPosition: "dropdownPosition", actions: "actions", dropdownActions: "dropdownActions" }, ngImport: i0, template: "<ul class=\"m-actions-list\" #input>\n @for (action of mainActions$ | async; track action.name) {\n @if (action.visible) {\n <li class=\"m-actions-list__item -{{action.name}}\" *pryAccess=\"action.access\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n ></pry-toolbox-action-instanciator>\n </li>\n }\n }\n @if (showDropdownButton$ | async) {\n <li class=\"m-actions-list__item\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n id=\"options\"\n aria-controls=\"IDpanel\"\n aria-expanded=\"false\"\n (click)=\"openDropdown($event)\"\n >\n @if (displayLabels) {\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.options' | i18n }}</span>\n <span>{{ '@pry.toolbox.options' | i18n }}</span>\n <pry-icon [width]=\"10\" [height]=\"13\" iconSvg=\"chevron_bottom\"></pry-icon>\n }\n </button>\n </li>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"dropdownPosition\"\n [cdkConnectedOverlayOffsetY]=\"5\"\n (backdropClick)=\"isDropdownOpen = false\"\n >\n <div class=\"o-draggable-menu -dropdown\" aria-labelledby=\"\">\n <ul class=\"o-draggable-menu__list\">\n @for (action of dropdownActions$ | async; track action.name) {\n @if (action.visible) {\n <li class=\"o-draggable-menu__list__item\" [style.order]=\"getOrder(action.name)\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n (closeOptions)=\"closeDropdown($event)\"\n ></pry-toolbox-action-instanciator>\n </li>\n }\n }\n </ul>\n </div>\n </ng-template>\n }\n\n @if (showEditToggle$ | async) {\n @if (isManualMode$ | async) {\n <li class=\"m-actions-list__item\">\n <pry-edit-mode-toggle\n *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'edit_dashboard' }\"\n [displayLabels]=\"displayLabels\"\n ></pry-edit-mode-toggle>\n </li>\n }\n }\n</ul>\n", dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i3.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.ToolboxActionInstanciatorComponent, selector: "pry-toolbox-action-instanciator", inputs: ["displayLabels", "action"], outputs: ["closeOptions"] }, { kind: "component", type: i5.EditModeToggleComponent, selector: "pry-edit-mode-toggle" }, { kind: "component", type: i6.EditModeActionComponent, selector: "pry-edit-mode-toggle" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
80
81
|
}
|
|
81
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ToolboxComponent, decorators: [{
|
|
82
83
|
type: Component,
|
|
@@ -95,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
95
96
|
}], dropdownActions: [{
|
|
96
97
|
type: Input
|
|
97
98
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBSWxCLGdCQUFnQixFQUdqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0FBTzFELE1BQU0sT0FBTyxnQkFBZ0I7SUE2QjNCLElBQWEsT0FBTyxDQUFDLE9BQXdCO1FBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFhLGVBQWUsQ0FBQyxlQUFrRDtRQUM3RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZLEtBQVksRUFBZ0QsSUFBbUI7UUFBbkIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQXBDM0YsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFrQixPQUFPLENBQUMsQ0FBQztRQUN6RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBb0MsRUFBRSxDQUFDLENBQUM7UUFD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QyxNQUFhO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQW9CO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksTUFBTTtZQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUSxDQUFDLFVBQWtCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDL0YsQ0FBQzs4R0FoSFUsZ0JBQWdCLHVDQXFDbUIsZ0JBQWdCO2tHQXJDbkQsZ0JBQWdCLDZMQ3BCN0IsbS9FQXFFQTs7MkZEakRhLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxhQUFhOzswQkF3Q0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7eUNBbENyRCxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkF5Qk8sT0FBTztzQkFBbkIsS0FBSztnQkFJTyxlQUFlO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGlzcGxheU9wdGlvbnMsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBWaWV3TW9kZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFDVElPTlMsIFRvb2xib3hBY3Rpb24gfSBmcm9tICcuLi90b29sYm94Lm1vZGVsJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktdG9vbGJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sYm94LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUb29sYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYWN0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRvb2xib3hBY3Rpb25bXT4oQUNUSU9OUyk7XG4gIF9kcm9wZG93bkFjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IG5hbWU6IHN0cmluZzsgb3JkZXI6IG51bWJlciB9W10+KFtdKTtcbiAgQElucHV0KCkgZGlzcGxheUxhYmVscyA9IHRydWU7XG4gIEBJbnB1dCgpIGRyb3Bkb3duUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH1cbiAgXTtcbiAgaXNNYW51YWxNb2RlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgYWxsQWN0aW9ucyQhOiBPYnNlcnZhYmxlPFRvb2xib3hBY3Rpb25bXT47XG4gIG1haW5BY3Rpb25zJCE6IE9ic2VydmFibGU8VG9vbGJveEFjdGlvbltdPjtcbiAgZHJvcGRvd25BY3Rpb25zJCE6IE9ic2VydmFibGU8VG9vbGJveEFjdGlvbltdPjtcbiAgc2hvd0Ryb3Bkb3duQnV0dG9uJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGlzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gIGFjdGlvbnNBdmFpbGFibGUkOiBPYnNlcnZhYmxlPERpc3BsYXlPcHRpb25zIHwgdW5kZWZpbmVkPjtcbiAgc2hvd0VkaXRUb2dnbGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwcml2YXRlIHByZXNlbnRhdGlvbiQ6IE9ic2VydmFibGU8XG4gICAgfCB7XG4gICAgICAgIGN1cnJlbnQ6IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgICAgIHZpZXdNb2RlPzogVmlld01vZGU7XG4gICAgICAgIGluaXRpYWw6IEdsb2JhbE1hbmlmZXN0IHwgdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIHwgdW5kZWZpbmVkXG4gID47XG5cbiAgQElucHV0KCkgc2V0IGFjdGlvbnMoYWN0aW9uczogVG9vbGJveEFjdGlvbltdKSB7XG4gICAgdGhpcy5hY3Rpb25zJC5uZXh0KGFjdGlvbnMpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGRyb3Bkb3duQWN0aW9ucyhkcm9wZG93bkFjdGlvbnM6IHsgbmFtZTogc3RyaW5nOyBvcmRlcjogbnVtYmVyIH1bXSkge1xuICAgIHRoaXMuX2Ryb3Bkb3duQWN0aW9ucyQubmV4dChkcm9wZG93bkFjdGlvbnMpO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlLCBAT3B0aW9uYWwoKSBASW5qZWN0KFBSWV9BQ0NFU1NfVE9LRU4pIHByaXZhdGUgcm9sZTogUHJ5QmFzZUFjY2Vzcykge1xuICAgIHRoaXMucHJlc2VudGF0aW9uJCA9IHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucHJlc2VudGF0aW9uKTtcbiAgICB0aGlzLmlzTWFudWFsTW9kZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuc3RhdGljTWFuaWZlc3QpLFxuICAgICAgc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KVxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbc3RhdGljTWFuaWZlc3QsIGdyaWRMYXlvdXRdKSA9PlxuICAgICAgICAgIChzdGF0aWNNYW5pZmVzdC53aW5kb3dzWzBdPy5ncmlkPy5sYXlvdXQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBzdGF0aWNNYW5pZmVzdC53aW5kb3dzWzBdPy5ncmlkPy5sYXlvdXRcbiAgICAgICAgICAgIDogZ3JpZExheW91dCkgPT09IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLmFjdGlvbnNBdmFpbGFibGUkID0gc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kaXNwbGF5T3B0aW9ucyk7XG4gICAgdGhpcy5zaG93RWRpdFRvZ2dsZSQgPSB0aGlzLmFjdGlvbnNBdmFpbGFibGUkLnBpcGUobWFwKChhY3Rpb25zKSA9PiAhIWFjdGlvbnM/LmVkaXRfdG9nZ2xlKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFsbEFjdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFjdGlvbnMkLFxuICAgICAgdGhpcy5hY3Rpb25zQXZhaWxhYmxlJCxcbiAgICAgIHRoaXMucHJlc2VudGF0aW9uJC5waXBlKG1hcCgocHJlcykgPT4gcHJlcz8uY3VycmVudD8ub3duZXIgPz8gZmFsc2UpKVxuICAgIF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFthY3Rpb25zLCBkaXNwbGF5T3B0aW9ucywgaXNPd25lcl0pID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgYWN0aW9ucy5tYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgY29uc3QgYWN0aW9uQXZhaWxhYmxlID0gYWN0aW9uLnZpc2libGUgJiYgZGlzcGxheU9wdGlvbnMudG9vbGJveFthY3Rpb24ubmFtZV07XG4gICAgICAgICAgICBjb25zdCByZXN0cmFpbnRPd25lciA9ICFhY3Rpb24ubmVlZHNPd25lciB8fCBpc093bmVyO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm9sZVxuICAgICAgICAgICAgICA/IHRoaXMucm9sZS5oYXNSb2xlKG51bGwsIGFjdGlvbi5hY2Nlc3MubW9kdWxlLCBhY3Rpb24uYWNjZXNzLnBhZ2UsIGFjdGlvbi5hY2Nlc3MuYWN0aW9uKS5waXBlKFxuICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoaGFzUm9sZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogYWN0aW9uQXZhaWxhYmxlICYmICghdGhpcy5yb2xlIHx8IGhhc1JvbGUpICYmIHJlc3RyYWludE93bmVyXG4gICAgICAgICAgICAgICAgICAgICAgfSBhcyBUb29sYm94QWN0aW9uKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBvZih7XG4gICAgICAgICAgICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiBhY3Rpb25BdmFpbGFibGUgJiYgcmVzdHJhaW50T3duZXJcbiAgICAgICAgICAgICAgICB9IGFzIFRvb2xib3hBY3Rpb24pO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMubWFpbkFjdGlvbnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5fZHJvcGRvd25BY3Rpb25zJCwgdGhpcy5hbGxBY3Rpb25zJF0pLnBpcGUoXG4gICAgICBtYXAoKFtkcm9wZG93bkFjdGlvbnMsIGFjdGlvbnNdKSA9PlxuICAgICAgICBhY3Rpb25zLmZpbHRlcigoYWN0aW9uKSA9PiAhZHJvcGRvd25BY3Rpb25zLmZpbmQoKGRyb3Bkb3duQWN0aW9uKSA9PiBhY3Rpb24ubmFtZSA9PT0gZHJvcGRvd25BY3Rpb24ubmFtZSkpXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLmRyb3Bkb3duQWN0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9kcm9wZG93bkFjdGlvbnMkLCB0aGlzLmFsbEFjdGlvbnMkXSkucGlwZShcbiAgICAgIG1hcCgoW2Ryb3Bkb3duQWN0aW9ucywgYWN0aW9uc10pID0+XG4gICAgICAgIGFjdGlvbnMuZmlsdGVyKChhY3Rpb24pID0+ICEhZHJvcGRvd25BY3Rpb25zLmZpbmQoKGRyb3Bkb3duQWN0aW9uKSA9PiBhY3Rpb24ubmFtZSA9PT0gZHJvcGRvd25BY3Rpb24ubmFtZSkpXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc2hvd0Ryb3Bkb3duQnV0dG9uJCA9IHRoaXMuZHJvcGRvd25BY3Rpb25zJC5waXBlKFxuICAgICAgbWFwKChhY3Rpb25zKSA9PiBhY3Rpb25zLmZpbHRlcigoYWN0aW9uKSA9PiBhY3Rpb24udmlzaWJsZSkubGVuZ3RoID4gMClcbiAgICApO1xuICB9XG5cbiAgb3BlbkRyb3Bkb3duKCRldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBjbG9zZURyb3Bkb3duKCRldmVudDogRXZlbnQgfCB2b2lkKSB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgIGlmICgkZXZlbnQpICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGdldE9yZGVyKGFjdGlvbk5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9kcm9wZG93bkFjdGlvbnMkLmdldFZhbHVlKCkuZmluZCgoYWN0aW9uKSA9PiBhY3Rpb25OYW1lID09PSBhY3Rpb24ubmFtZSk/Lm9yZGVyO1xuICB9XG59XG4iLCI8dWwgY2xhc3M9XCJtLWFjdGlvbnMtbGlzdFwiICNpbnB1dD5cbiAgQGZvciAoYWN0aW9uIG9mIG1haW5BY3Rpb25zJCB8IGFzeW5jOyB0cmFjayBhY3Rpb24ubmFtZSkge1xuICAgIEBpZiAoYWN0aW9uLnZpc2libGUpIHtcbiAgICAgIDxsaSBjbGFzcz1cIm0tYWN0aW9ucy1saXN0X19pdGVtIC17e2FjdGlvbi5uYW1lfX1cIiAqcHJ5QWNjZXNzPVwiYWN0aW9uLmFjY2Vzc1wiPlxuICAgICAgICA8cHJ5LXRvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvclxuICAgICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgICBbZGlzcGxheUxhYmVsc109XCJkaXNwbGF5TGFiZWxzXCJcbiAgICAgICAgPjwvcHJ5LXRvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvcj5cbiAgICAgIDwvbGk+XG4gICAgfVxuICB9XG4gIEBpZiAoc2hvd0Ryb3Bkb3duQnV0dG9uJCB8IGFzeW5jKSB7XG4gICAgPGxpIGNsYXNzPVwibS1hY3Rpb25zLWxpc3RfX2l0ZW1cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgICAgIGlkPVwib3B0aW9uc1wiXG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJJRHBhbmVsXCJcbiAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChkaXNwbGF5TGFiZWxzKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3gub3B0aW9ucycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LnRvb2xib3gub3B0aW9ucycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMTBcIiBbaGVpZ2h0XT1cIjEzXCIgaWNvblN2Zz1cImNoZXZyb25fYm90dG9tXCI+PC9wcnktaWNvbj5cbiAgICAgICAgfVxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImlzRHJvcGRvd25PcGVuXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwidHJ1ZVwiXG4gICAgICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cImRyb3Bkb3duUG9zaXRpb25cIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRZXT1cIjVcIlxuICAgICAgKGJhY2tkcm9wQ2xpY2spPVwiaXNEcm9wZG93bk9wZW4gPSBmYWxzZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnUgLWRyb3Bkb3duXCIgYXJpYS1sYWJlbGxlZGJ5PVwiXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnVfX2xpc3RcIj5cbiAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgZHJvcGRvd25BY3Rpb25zJCB8IGFzeW5jOyB0cmFjayBhY3Rpb24ubmFtZSkge1xuICAgICAgICAgICAgQGlmIChhY3Rpb24udmlzaWJsZSkge1xuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51X19saXN0X19pdGVtXCIgW3N0eWxlLm9yZGVyXT1cImdldE9yZGVyKGFjdGlvbi5uYW1lKVwiPlxuICAgICAgICAgICAgICAgIDxwcnktdG9vbGJveC1hY3Rpb24taW5zdGFuY2lhdG9yXG4gICAgICAgICAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgICAgICBbZGlzcGxheUxhYmVsc109XCJkaXNwbGF5TGFiZWxzXCJcbiAgICAgICAgICAgICAgICAgIChjbG9zZU9wdGlvbnMpPVwiY2xvc2VEcm9wZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9wcnktdG9vbGJveC1hY3Rpb24taW5zdGFuY2lhdG9yPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIH1cblxuICBAaWYgKHNob3dFZGl0VG9nZ2xlJCB8IGFzeW5jKSB7XG4gICAgQGlmIChpc01hbnVhbE1vZGUkIHwgYXN5bmMpIHtcbiAgICAgIDxsaSBjbGFzcz1cIm0tYWN0aW9ucy1saXN0X19pdGVtXCI+XG4gICAgICAgIDxwcnktZWRpdC1tb2RlLXRvZ2dsZVxuICAgICAgICAgICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICd0b29sYm94JywgYWN0aW9uOiAnZWRpdF9kYXNoYm9hcmQnIH1cIlxuICAgICAgICAgIFtkaXNwbGF5TGFiZWxzXT1cImRpc3BsYXlMYWJlbHNcIlxuICAgICAgICA+PC9wcnktZWRpdC1tb2RlLXRvZ2dsZT5cbiAgICAgIDwvbGk+XG4gICAgfVxuICB9XG48L3VsPlxuIl19
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBSWxCLGdCQUFnQixFQUdqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7OztBQU8xRCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkIzQixJQUFhLE9BQU8sQ0FBQyxPQUF3QjtRQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBYSxlQUFlLENBQUMsZUFBa0Q7UUFDN0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBWSxLQUFZLEVBQWdELElBQW1CO1FBQW5CLFNBQUksR0FBSixJQUFJLENBQWU7UUFwQzNGLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsT0FBTyxDQUFDLENBQUM7UUFDekQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQW9DLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLHFCQUFnQixHQUF3QjtZQUMvQztnQkFDRSxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRixDQUFDO1FBTUYsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFxQnJCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztZQUMvQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztTQUM1QyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FDRCxDQUFDLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FDL0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEtBQUssU0FBUztZQUNwRCxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTTtZQUN6QyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssbUJBQW1CLENBQUMsTUFBTSxDQUNqRCxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUTtZQUNiLElBQUksQ0FBQyxpQkFBaUI7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQztTQUN0RSxDQUFDLENBQUMsSUFBSSxDQUNMLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQy9DLGFBQWEsQ0FDWCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDckIsYUFBYTtZQUNiLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQztZQUNyRCxPQUFPLElBQUksQ0FBQyxJQUFJO2dCQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzFGLEdBQUcsQ0FDRCxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1YsQ0FBQztvQkFDQyxHQUFHLE1BQU07b0JBQ1QsT0FBTyxFQUFFLGVBQWUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxjQUFjO2lCQUNwRCxDQUFBLENBQ3RCLENBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDRCxHQUFHLE1BQU07b0JBQ1QsT0FBTyxFQUFFLGVBQWUsSUFBSSxjQUFjO2lCQUMxQixDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2hGLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMzRyxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDcEYsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUNqQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDNUcsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYTtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFvQjtRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLE1BQU07WUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQy9GLENBQUM7OEdBaEhVLGdCQUFnQix1Q0FxQ21CLGdCQUFnQjtrR0FyQ25ELGdCQUFnQiw2TENwQjdCLG0vRUFxRUE7OzJGRGpEYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsYUFBYTs7MEJBd0NJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCO3lDQWxDckQsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBeUJPLE9BQU87c0JBQW5CLEtBQUs7Z0JBSU8sZUFBZTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRHcmlkTGF5b3V0LFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERpc3BsYXlPcHRpb25zLFxuICBHbG9iYWxNYW5pZmVzdCxcbiAgTWFuaWZlc3REZXNjcmlwdGlvbixcbiAgUFJZX0FDQ0VTU19UT0tFTixcbiAgUHJ5QmFzZUFjY2VzcyxcbiAgVmlld01vZGVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBQ1RJT05TLCBUb29sYm94QWN0aW9uIH0gZnJvbSAnLi4vdG9vbGJveC5tb2RlbCc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXRvb2xib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJveC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGFjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUb29sYm94QWN0aW9uW10+KEFDVElPTlMpO1xuICBfZHJvcGRvd25BY3Rpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBuYW1lOiBzdHJpbmc7IG9yZGVyOiBudW1iZXIgfVtdPihbXSk7XG4gIEBJbnB1dCgpIGRpc3BsYXlMYWJlbHMgPSB0cnVlO1xuICBASW5wdXQoKSBkcm9wZG93blBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICB9XG4gIF07XG4gIGlzTWFudWFsTW9kZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGFsbEFjdGlvbnMkITogT2JzZXJ2YWJsZTxUb29sYm94QWN0aW9uW10+O1xuICBtYWluQWN0aW9ucyQhOiBPYnNlcnZhYmxlPFRvb2xib3hBY3Rpb25bXT47XG4gIGRyb3Bkb3duQWN0aW9ucyQhOiBPYnNlcnZhYmxlPFRvb2xib3hBY3Rpb25bXT47XG4gIHNob3dEcm9wZG93bkJ1dHRvbiQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICBhY3Rpb25zQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxEaXNwbGF5T3B0aW9ucyB8IHVuZGVmaW5lZD47XG4gIHNob3dFZGl0VG9nZ2xlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSBwcmVzZW50YXRpb24kOiBPYnNlcnZhYmxlPFxuICAgIHwge1xuICAgICAgICBjdXJyZW50OiBNYW5pZmVzdERlc2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgICAgICBpbml0aWFsOiBHbG9iYWxNYW5pZmVzdCB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHVuZGVmaW5lZFxuICA+O1xuXG4gIEBJbnB1dCgpIHNldCBhY3Rpb25zKGFjdGlvbnM6IFRvb2xib3hBY3Rpb25bXSkge1xuICAgIHRoaXMuYWN0aW9ucyQubmV4dChhY3Rpb25zKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBkcm9wZG93bkFjdGlvbnMoZHJvcGRvd25BY3Rpb25zOiB7IG5hbWU6IHN0cmluZzsgb3JkZXI6IG51bWJlciB9W10pIHtcbiAgICB0aGlzLl9kcm9wZG93bkFjdGlvbnMkLm5leHQoZHJvcGRvd25BY3Rpb25zKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSwgQE9wdGlvbmFsKCkgQEluamVjdChQUllfQUNDRVNTX1RPS0VOKSBwcml2YXRlIHJvbGU6IFByeUJhc2VBY2Nlc3MpIHtcbiAgICB0aGlzLnByZXNlbnRhdGlvbiQgPSBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnByZXNlbnRhdGlvbik7XG4gICAgdGhpcy5pc01hbnVhbE1vZGUkID0gY29tYmluZUxhdGVzdChbXG4gICAgICBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnN0YXRpY01hbmlmZXN0KSxcbiAgICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZ3JpZExheW91dClcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW3N0YXRpY01hbmlmZXN0LCBncmlkTGF5b3V0XSkgPT5cbiAgICAgICAgICAoc3RhdGljTWFuaWZlc3Qud2luZG93c1swXT8uZ3JpZD8ubGF5b3V0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gc3RhdGljTWFuaWZlc3Qud2luZG93c1swXT8uZ3JpZD8ubGF5b3V0XG4gICAgICAgICAgICA6IGdyaWRMYXlvdXQpID09PSBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTFxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5hY3Rpb25zQXZhaWxhYmxlJCA9IHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGlzcGxheU9wdGlvbnMpO1xuICAgIHRoaXMuc2hvd0VkaXRUb2dnbGUkID0gdGhpcy5hY3Rpb25zQXZhaWxhYmxlJC5waXBlKG1hcCgoYWN0aW9ucykgPT4gISFhY3Rpb25zPy5lZGl0X3RvZ2dsZSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hbGxBY3Rpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hY3Rpb25zJCxcbiAgICAgIHRoaXMuYWN0aW9uc0F2YWlsYWJsZSQsXG4gICAgICB0aGlzLnByZXNlbnRhdGlvbiQucGlwZShtYXAoKHByZXMpID0+IHByZXM/LmN1cnJlbnQ/Lm93bmVyID8/IGZhbHNlKSlcbiAgICBdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChbYWN0aW9ucywgZGlzcGxheU9wdGlvbnMsIGlzT3duZXJdKSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIGFjdGlvbnMubWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbkF2YWlsYWJsZSA9IGFjdGlvbi52aXNpYmxlICYmIGRpc3BsYXlPcHRpb25zLnRvb2xib3hbYWN0aW9uLm5hbWVdO1xuICAgICAgICAgICAgY29uc3QgcmVzdHJhaW50T3duZXIgPSAhYWN0aW9uLm5lZWRzT3duZXIgfHwgaXNPd25lcjtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvbGVcbiAgICAgICAgICAgICAgPyB0aGlzLnJvbGUuaGFzUm9sZShudWxsLCBhY3Rpb24uYWNjZXNzLm1vZHVsZSwgYWN0aW9uLmFjY2Vzcy5wYWdlLCBhY3Rpb24uYWNjZXNzLmFjdGlvbikucGlwZShcbiAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKGhhc1JvbGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGFjdGlvbkF2YWlsYWJsZSAmJiAoIXRoaXMucm9sZSB8fCBoYXNSb2xlKSAmJiByZXN0cmFpbnRPd25lclxuICAgICAgICAgICAgICAgICAgICAgIH0gYXMgVG9vbGJveEFjdGlvbilcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIDogb2Yoe1xuICAgICAgICAgICAgICAgICAgLi4uYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgdmlzaWJsZTogYWN0aW9uQXZhaWxhYmxlICYmIHJlc3RyYWludE93bmVyXG4gICAgICAgICAgICAgICAgfSBhcyBUb29sYm94QWN0aW9uKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLm1haW5BY3Rpb25zJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2Ryb3Bkb3duQWN0aW9ucyQsIHRoaXMuYWxsQWN0aW9ucyRdKS5waXBlKFxuICAgICAgbWFwKChbZHJvcGRvd25BY3Rpb25zLCBhY3Rpb25zXSkgPT5cbiAgICAgICAgYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gIWRyb3Bkb3duQWN0aW9ucy5maW5kKChkcm9wZG93bkFjdGlvbikgPT4gYWN0aW9uLm5hbWUgPT09IGRyb3Bkb3duQWN0aW9uLm5hbWUpKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5kcm9wZG93bkFjdGlvbnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5fZHJvcGRvd25BY3Rpb25zJCwgdGhpcy5hbGxBY3Rpb25zJF0pLnBpcGUoXG4gICAgICBtYXAoKFtkcm9wZG93bkFjdGlvbnMsIGFjdGlvbnNdKSA9PlxuICAgICAgICBhY3Rpb25zLmZpbHRlcigoYWN0aW9uKSA9PiAhIWRyb3Bkb3duQWN0aW9ucy5maW5kKChkcm9wZG93bkFjdGlvbikgPT4gYWN0aW9uLm5hbWUgPT09IGRyb3Bkb3duQWN0aW9uLm5hbWUpKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnNob3dEcm9wZG93bkJ1dHRvbiQgPSB0aGlzLmRyb3Bkb3duQWN0aW9ucyQucGlwZShcbiAgICAgIG1hcCgoYWN0aW9ucykgPT4gYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLnZpc2libGUpLmxlbmd0aCA+IDApXG4gICAgKTtcbiAgfVxuXG4gIG9wZW5Ecm9wZG93bigkZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgY2xvc2VEcm9wZG93bigkZXZlbnQ6IEV2ZW50IHwgdm9pZCkge1xuICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBpZiAoJGV2ZW50KSAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBnZXRPcmRlcihhY3Rpb25OYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fZHJvcGRvd25BY3Rpb25zJC5nZXRWYWx1ZSgpLmZpbmQoKGFjdGlvbikgPT4gYWN0aW9uTmFtZSA9PT0gYWN0aW9uLm5hbWUpPy5vcmRlcjtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwibS1hY3Rpb25zLWxpc3RcIiAjaW5wdXQ+XG4gIEBmb3IgKGFjdGlvbiBvZiBtYWluQWN0aW9ucyQgfCBhc3luYzsgdHJhY2sgYWN0aW9uLm5hbWUpIHtcbiAgICBAaWYgKGFjdGlvbi52aXNpYmxlKSB7XG4gICAgICA8bGkgY2xhc3M9XCJtLWFjdGlvbnMtbGlzdF9faXRlbSAte3thY3Rpb24ubmFtZX19XCIgKnByeUFjY2Vzcz1cImFjdGlvbi5hY2Nlc3NcIj5cbiAgICAgICAgPHByeS10b29sYm94LWFjdGlvbi1pbnN0YW5jaWF0b3JcbiAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgW2Rpc3BsYXlMYWJlbHNdPVwiZGlzcGxheUxhYmVsc1wiXG4gICAgICAgID48L3ByeS10b29sYm94LWFjdGlvbi1pbnN0YW5jaWF0b3I+XG4gICAgICA8L2xpPlxuICAgIH1cbiAgfVxuICBAaWYgKHNob3dEcm9wZG93bkJ1dHRvbiQgfCBhc3luYykge1xuICAgIDxsaSBjbGFzcz1cIm0tYWN0aW9ucy1saXN0X19pdGVtXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICAgICAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgICAgICBpZD1cIm9wdGlvbnNcIlxuICAgICAgICBhcmlhLWNvbnRyb2xzPVwiSURwYW5lbFwiXG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoZGlzcGxheUxhYmVscykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94Lm9wdGlvbnMnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyAnQHByeS50b29sYm94Lm9wdGlvbnMnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjEwXCIgW2hlaWdodF09XCIxM1wiIGljb25Tdmc9XCJjaGV2cm9uX2JvdHRvbVwiPjwvcHJ5LWljb24+XG4gICAgICAgIH1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc0Ryb3Bkb3duT3BlblwiXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cInRydWVcIlxuICAgICAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJkcm9wZG93blBvc2l0aW9uXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T2Zmc2V0WV09XCI1XCJcbiAgICAgIChiYWNrZHJvcENsaWNrKT1cImlzRHJvcGRvd25PcGVuID0gZmFsc2VcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51IC1kcm9wZG93blwiIGFyaWEtbGFiZWxsZWRieT1cIlwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51X19saXN0XCI+XG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGRyb3Bkb3duQWN0aW9ucyQgfCBhc3luYzsgdHJhY2sgYWN0aW9uLm5hbWUpIHtcbiAgICAgICAgICAgIEBpZiAoYWN0aW9uLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdF9faXRlbVwiIFtzdHlsZS5vcmRlcl09XCJnZXRPcmRlcihhY3Rpb24ubmFtZSlcIj5cbiAgICAgICAgICAgICAgICA8cHJ5LXRvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvclxuICAgICAgICAgICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlMYWJlbHNdPVwiZGlzcGxheUxhYmVsc1wiXG4gICAgICAgICAgICAgICAgICAoY2xvc2VPcHRpb25zKT1cImNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvcHJ5LXRvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvcj5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICB9XG5cbiAgQGlmIChzaG93RWRpdFRvZ2dsZSQgfCBhc3luYykge1xuICAgIEBpZiAoaXNNYW51YWxNb2RlJCB8IGFzeW5jKSB7XG4gICAgICA8bGkgY2xhc3M9XCJtLWFjdGlvbnMtbGlzdF9faXRlbVwiPlxuICAgICAgICA8cHJ5LWVkaXQtbW9kZS10b2dnbGVcbiAgICAgICAgICAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2VkaXRfZGFzaGJvYXJkJyB9XCJcbiAgICAgICAgICBbZGlzcGxheUxhYmVsc109XCJkaXNwbGF5TGFiZWxzXCJcbiAgICAgICAgPjwvcHJ5LWVkaXQtbW9kZS10b2dnbGU+XG4gICAgICA8L2xpPlxuICAgIH1cbiAgfVxuPC91bD5cbiJdfQ==
|
|
@@ -18,4 +18,5 @@ export * from './components/save-view/save-view.component';
|
|
|
18
18
|
export * from './components/select-grid-layout/select-grid-layout.component';
|
|
19
19
|
export * from './components/share/share.component';
|
|
20
20
|
export * from './components/switch-to-edit-content/switch-to-edit-content.component';
|
|
21
|
-
|
|
21
|
+
export * from './components/edit-mode-action/edit-mode-action.component';
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnRkFBZ0YsQ0FBQztBQUUvRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYywwREFBMEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdG9vbGJveC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sYm94Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUvY3NzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJveC1hY3Rpb24vdG9vbGJveC1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90b29sYm94LWFjdGlvbi1pbnN0YW5jaWF0b3IvdG9vbGJveC1hY3Rpb24taW5zdGFuY2lhdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hdXRvbWF0ZS1yZWZyZXNoL2F1dG9tYXRlLXJlZnJlc2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jbGVhci12aWV3L2NsZWFyLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXNoYm9hcmQtZGV0YWlscy9kYXNoYm9hcmQtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kcmFnLXdpZGdldHMvZHJhZy13aWRnZXRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZWRpdC1tb2RlLXRvZ2dsZS9lZGl0LW1vZGUtdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLXNldHRpbmdzL2ZpbHRlci1zZXR0aW5ncy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xhdW5jaC10YWIvbGF1bmNoLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hbWVkLXF1ZXJ5L25hbWVkLXF1ZXJ5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmVmcmVzaC1kYXRhc2V0cy9yZWZyZXNoLWRhdGFzZXRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2F2ZS12aWV3L3NhdmUtdmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1ncmlkLWxheW91dC9zZWxlY3QtZ3JpZC1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS9zaGFyZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3N3aXRjaC10by1lZGl0LWNvbnRlbnQvc3dpdGNoLXRvLWVkaXQtY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtbW9kZS1hY3Rpb24vZWRpdC1tb2RlLWFjdGlvbi5jb21wb25lbnQnO1xuIl19
|
|
@@ -93,6 +93,6 @@ export const ACTIONS = [
|
|
|
93
93
|
visible: true,
|
|
94
94
|
access: { module: 'dashboard', page: 'toolbox', action: 'delete' },
|
|
95
95
|
needsOwner: false
|
|
96
|
-
}
|
|
96
|
+
}
|
|
97
97
|
];
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvdG9vbGJveC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUV6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBVXZHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBb0I7SUFDdEM7UUFDRSxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFNBQVMsRUFBRSwwQkFBMEI7UUFDckMsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFO1FBQzNFLFVBQVUsRUFBRSxLQUFLO0tBQ2xCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsV0FBVztRQUNqQixTQUFTLEVBQUUsaUJBQWlCO1FBQzVCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7UUFDaEUsVUFBVSxFQUFFLElBQUk7S0FDakI7SUFDRDtRQUNFLElBQUksRUFBRSxjQUFjO1FBQ3BCLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtRQUNoRSxVQUFVLEVBQUUsS0FBSztLQUNsQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFNBQVM7UUFDZixTQUFTLEVBQUUsa0JBQWtCO1FBQzdCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7UUFDbkUsVUFBVSxFQUFFLEtBQUs7S0FDbEI7SUFDRDtRQUNFLElBQUksRUFBRSxZQUFZO1FBQ2xCLFNBQVMsRUFBRSxrQkFBa0I7UUFDN0IsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRTtRQUN0RSxVQUFVLEVBQUUsS0FBSztLQUNsQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsU0FBUyxFQUFFLHlCQUF5QjtRQUNwQyxPQUFPLEVBQUUsSUFBSTtRQUNiLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFO1FBQ3hFLFVBQVUsRUFBRSxLQUFLO0tBQ2xCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFO1FBQzVFLFVBQVUsRUFBRSxLQUFLO0tBQ2xCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLFNBQVMsRUFBRSx3QkFBd0I7UUFDbkMsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFO1FBQzVFLFVBQVUsRUFBRSxLQUFLO0tBQ2xCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLFNBQVMsRUFBRSw0QkFBNEI7UUFDdkMsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLDJCQUEyQixFQUFFO1FBQ3JGLFVBQVUsRUFBRSxJQUFJO0tBQ2pCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7UUFDakUsVUFBVSxFQUFFLElBQUk7S0FDakI7SUFDRDtRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsU0FBUyxFQUFFLGVBQWU7UUFDMUIsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTtRQUNsRSxVQUFVLEVBQUUsSUFBSTtLQUNqQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixTQUFTLEVBQUUseUJBQXlCO1FBQ3BDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7UUFDbEUsVUFBVSxFQUFFLEtBQUs7S0FDbEI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJ5QWNjZXNzQ2hlY2sgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQXV0b21hdGVSZWZyZXNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F1dG9tYXRlLXJlZnJlc2gvYXV0b21hdGUtcmVmcmVzaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xlYXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NsZWFyLXZpZXcvY2xlYXItdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5RmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLXNldHRpbmdzL2ZpbHRlci1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF1bmNoVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xhdW5jaC10YWIvbGF1bmNoLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVmcmVzaERhdGFzZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZnJlc2gtZGF0YXNldHMvcmVmcmVzaC1kYXRhc2V0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2F2ZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2F2ZS12aWV3L3NhdmUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0R3JpZExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtZ3JpZC1sYXlvdXQvc2VsZWN0LWdyaWQtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYm94QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTd2l0Y2hUb0VkaXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N3aXRjaC10by1lZGl0LWNvbnRlbnQvc3dpdGNoLXRvLWVkaXQtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2hhcmVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmUvc2hhcmUuY29tcG9uZW50JztcbmltcG9ydCB7IERlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kZWxldGUvZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmREZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rhc2hib2FyZC1kZXRhaWxzL2Rhc2hib2FyZC1kZXRhaWxzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbGJveEFjdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29tcG9uZW50OiBUeXBlPFRvb2xib3hBY3Rpb25Db21wb25lbnQ+
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvdG9vbGJveC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUV6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBVXZHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBb0I7SUFDdEM7UUFDRSxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFNBQVMsRUFBRSwwQkFBMEI7UUFDckMsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFO1FBQzNFLFVBQVUsRUFBRSxLQUFLO0tBQ2xCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsV0FBVztRQUNqQixTQUFTLEVB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Q2IsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7UUFDbEUsVUFBVSxFQUFFLEtBQUs7S0FDbEI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJ5QWNjZXNzQ2hlY2sgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQXV0b21hdGVSZWZyZXNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F1dG9tYXRlLXJlZnJlc2gvYXV0b21hdGUtcmVmcmVzaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xlYXJWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NsZWFyLXZpZXcvY2xlYXItdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5RmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVyLXNldHRpbmdzL2ZpbHRlci1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF1bmNoVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xhdW5jaC10YWIvbGF1bmNoLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVmcmVzaERhdGFzZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZnJlc2gtZGF0YXNldHMvcmVmcmVzaC1kYXRhc2V0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2F2ZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2F2ZS12aWV3L3NhdmUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0R3JpZExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtZ3JpZC1sYXlvdXQvc2VsZWN0LWdyaWQtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYm94QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTd2l0Y2hUb0VkaXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N3aXRjaC10by1lZGl0LWNvbnRlbnQvc3dpdGNoLXRvLWVkaXQtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2hhcmVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmUvc2hhcmUuY29tcG9uZW50JztcbmltcG9ydCB7IERlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kZWxldGUvZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmREZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rhc2hib2FyZC1kZXRhaWxzL2Rhc2hib2FyZC1kZXRhaWxzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbGJveEFjdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29tcG9uZW50OiBUeXBlPFRvb2xib3hBY3Rpb25Db21wb25lbnQ+O1xuICBhY2Nlc3M6IFByeUFjY2Vzc0NoZWNrO1xuICB2aXNpYmxlOiBib29sZWFuO1xuICBuZWVkc093bmVyOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQUNUSU9OUzogVG9vbGJveEFjdGlvbltdID0gW1xuICB7XG4gICAgbmFtZTogJ2ZpbHRlcl9zZXR0aW5ncycsXG4gICAgY29tcG9uZW50OiBQcnlGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2ZpbHRlcl9zZXR0aW5ncycgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3NhdmVfdmlldycsXG4gICAgY29tcG9uZW50OiBTYXZlVmlld0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ3NhdmUnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3NhdmVfdmlld19hcycsXG4gICAgY29tcG9uZW50OiBTYXZlVmlld0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ3NhdmUnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICduZXdfdGFiJyxcbiAgICBjb21wb25lbnQ6IExhdW5jaFRhYkNvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ25ld190YWInIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdjbGVhcl92aWV3JyxcbiAgICBjb21wb25lbnQ6IENsZWFyVmlld0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2NsZWFyX3ZpZXcnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdkZWZhdWx0X3NpemUnLFxuICAgIGNvbXBvbmVudDogU2VsZWN0R3JpZExheW91dENvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2RlZmF1bHRfc2l6ZScgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3JlZnJlc2hfZGF0YXNldHMnLFxuICAgIGNvbXBvbmVudDogUmVmcmVzaERhdGFzZXRzQ29tcG9uZW50LFxuICAgIHZpc2libGU6IHRydWUsXG4gICAgYWNjZXNzOiB7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICd0b29sYm94JywgYWN0aW9uOiAncmVmcmVzaF9kYXRhc2V0cycgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2F1dG9tYXRlX3JlZnJlc2gnLFxuICAgIGNvbXBvbmVudDogQXV0b21hdGVSZWZyZXNoQ29tcG9uZW50LFxuICAgIHZpc2libGU6IHRydWUsXG4gICAgYWNjZXNzOiB7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICd0b29sYm94JywgYWN0aW9uOiAnYXV0b21hdGVfcmVmcmVzaCcgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2VkaXRfcHJlc2VudGF0aW9uX2NvbnRlbnQnLFxuICAgIGNvbXBvbmVudDogU3dpdGNoVG9FZGl0Q29udGVudENvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2VkaXRfcHJlc2VudGF0aW9uX2NvbnRlbnQnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3NoYXJlJyxcbiAgICBjb21wb25lbnQ6IFNoYXJlQ29tcG9uZW50LFxuICAgIHZpc2libGU6IHRydWUsXG4gICAgYWNjZXNzOiB7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICd0b29sYm94JywgYWN0aW9uOiAnc2hhcmUnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2RlbGV0ZScsXG4gICAgY29tcG9uZW50OiBEZWxldGVDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdkZWxldGUnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2Rhc2hib2FyZF9kZXRhaWxzJyxcbiAgICBjb21wb25lbnQ6IERhc2hib2FyZERldGFpbHNDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdkZWxldGUnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfVxuXTtcbiJdfQ==
|
|
@@ -25,6 +25,7 @@ import { SwitchToEditContentComponent } from './components/switch-to-edit-conten
|
|
|
25
25
|
import { ShareComponent } from './components/share/share.component';
|
|
26
26
|
import { DeleteComponent } from './components/delete/delete.component';
|
|
27
27
|
import { DashboardDetailsComponent } from './components/dashboard-details/dashboard-details.component';
|
|
28
|
+
import { EditModeActionComponent } from './components/edit-mode-action/edit-mode-action.component';
|
|
28
29
|
import * as i0 from "@angular/core";
|
|
29
30
|
const components = [
|
|
30
31
|
ToolboxActionComponent,
|
|
@@ -44,7 +45,8 @@ const components = [
|
|
|
44
45
|
SwitchToEditContentComponent,
|
|
45
46
|
ShareComponent,
|
|
46
47
|
DeleteComponent,
|
|
47
|
-
DashboardDetailsComponent
|
|
48
|
+
DashboardDetailsComponent,
|
|
49
|
+
EditModeActionComponent
|
|
48
50
|
];
|
|
49
51
|
export class PryToolboxModule {
|
|
50
52
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryToolboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -65,7 +67,8 @@ export class PryToolboxModule {
|
|
|
65
67
|
SwitchToEditContentComponent,
|
|
66
68
|
ShareComponent,
|
|
67
69
|
DeleteComponent,
|
|
68
|
-
DashboardDetailsComponent
|
|
70
|
+
DashboardDetailsComponent,
|
|
71
|
+
EditModeActionComponent], imports: [CommonModule,
|
|
69
72
|
FormsModule,
|
|
70
73
|
OverlayModule,
|
|
71
74
|
PryOverlayModule,
|
|
@@ -98,7 +101,8 @@ export class PryToolboxModule {
|
|
|
98
101
|
SwitchToEditContentComponent,
|
|
99
102
|
ShareComponent,
|
|
100
103
|
DeleteComponent,
|
|
101
|
-
DashboardDetailsComponent
|
|
104
|
+
DashboardDetailsComponent,
|
|
105
|
+
EditModeActionComponent] }); }
|
|
102
106
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryToolboxModule, imports: [CommonModule,
|
|
103
107
|
FormsModule,
|
|
104
108
|
OverlayModule,
|
|
@@ -140,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
140
144
|
exports: [...components]
|
|
141
145
|
}]
|
|
142
146
|
}] });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L3Rvb2xib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGNBQWMsRUFDZCxlQUFlLEVBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGlCQUFpQixFQUFF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LEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsVUFBVTtxQkFDWDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnLCBDZGtEcmFnSGFuZGxlLCBDZGtEcm9wTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBQcnlDb3JlTW9kdWxlLFxuICBQcnlEYXNoYm9hcmRNb2R1bGUsXG4gIFByeUkxOG5Nb2R1bGUsXG4gIFByeUljb25Nb2R1bGUsXG4gIFByeU92ZXJsYXlNb2R1bGUsXG4gIFByeVNlbGVjdE1vZHVsZSxcbiAgUHJ5U2hhcmVNb2R1bGUsXG4gIFByeVRvZ2dsZU1vZHVsZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUHJ5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBQcnlTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvc3RlcHBlcic7XG5pbXBvcnQgeyBDbGVhclZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2xlYXItdmlldy9jbGVhci12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmFnV2lkZ2V0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcmFnLXdpZGdldHMvZHJhZy13aWRnZXRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0TW9kZVRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lZGl0LW1vZGUtdG9nZ2xlL2VkaXQtbW9kZS10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFByeUZpbHRlclNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlci1zZXR0aW5ncy9maWx0ZXItc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IExhdW5jaFRhYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sYXVuY2gtdGFiL2xhdW5jaC10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IE5hbWVkUXVlcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmFtZWQtcXVlcnkvbmFtZWQtcXVlcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFNhdmVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NhdmUtdmlldy9zYXZlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEdyaWRMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LWdyaWQtbGF5b3V0L3NlbGVjdC1ncmlkLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlTZWxlY3RHcmlkTGF5b3V0Q3NzQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS9jc3MuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xib3hBY3Rpb25JbnN0YW5jaWF0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJveC1hY3Rpb24taW5zdGFuY2lhdG9yL3Rvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJveEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYm94LWFjdGlvbi90b29sYm94LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVmcmVzaERhdGFzZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlZnJlc2gtZGF0YXNldHMvcmVmcmVzaC1kYXRhc2V0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b21hdGVSZWZyZXNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F1dG9tYXRlLXJlZnJlc2gvYXV0b21hdGUtcmVmcmVzaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFN3aXRjaFRvRWRpdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3dpdGNoLXRvLWVkaXQtY29udGVudC9zd2l0Y2gtdG8tZWRpdC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS9zaGFyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IERhc2hib2FyZERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGFzaGJvYXJkLWRldGFpbHMvZGFzaGJvYXJkLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRNb2RlQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtbW9kZS1hY3Rpb24vZWRpdC1tb2RlLWFjdGlvbi5jb21wb25lbnQnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICBUb29sYm94QWN0aW9uQ29tcG9uZW50LFxuICBUb29sYm94QWN0aW9uSW5zdGFuY2lhdG9yQ29tcG9uZW50LFxuICBDbGVhclZpZXdDb21wb25lbnQsXG4gIERyYWdXaWRnZXRzQ29tcG9uZW50LFxuICBFZGl0TW9kZVRvZ2dsZUNvbXBvbmVudCxcbiAgTGF1bmNoVGFiQ29tcG9uZW50LFxuICBOYW1lZFF1ZXJ5Q29tcG9uZW50LFxuICBTYXZlVmlld0NvbXBvbmVudCxcbiAgU2VsZWN0R3JpZExheW91dENvbXBvbmVudCxcbiAgVG9vbGJveENvbXBvbmVudCxcbiAgUHJ5U2VsZWN0R3JpZExheW91dENzc0NvbXBvbmVudCxcbiAgUHJ5RmlsdGVyU2V0dGluZ3NDb21wb25lbnQsXG4gIFJlZnJlc2hEYXRhc2V0c0NvbXBvbmVudCxcbiAgQXV0b21hdGVSZWZyZXNoQ29tcG9uZW50LFxuICBTd2l0Y2hUb0VkaXRDb250ZW50Q29tcG9uZW50LFxuICBTaGFyZUNvbXBvbmVudCxcbiAgRGVsZXRlQ29tcG9uZW50LFxuICBEYXNoYm9hcmREZXRhaWxzQ29tcG9uZW50LFxuICBFZGl0TW9kZUFjdGlvbkNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlPdmVybGF5TW9kdWxlLFxuICAgIFByeUNvcmVNb2R1bGUsXG4gICAgUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICAgIFByeVNlbGVjdE1vZHVsZSxcbiAgICBQcnlJY29uTW9kdWxlLFxuICAgIFByeUNoZWNrYm94TW9kdWxlLFxuICAgIFByeVRvZ2dsZU1vZHVsZSxcbiAgICBQcnlTdGVwcGVyTW9kdWxlLFxuICAgIFByeVNoYXJlTW9kdWxlLFxuICAgIFByeUkxOG5Nb2R1bGUsXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgQ2RrRHJhZyxcbiAgICBDZGtEcmFnSGFuZGxlLFxuICAgIEExMXlNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogWy4uLmNvbXBvbmVudHNdXG59KVxuZXhwb3J0IGNsYXNzIFByeVRvb2xib3hNb2R1bGUge31cbiJdfQ==
|
package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs
CHANGED
|
@@ -842,7 +842,7 @@ export class WidgetAggregatedChartComponent extends DataWidgetComponent {
|
|
|
842
842
|
return hasSort ? VegaType.ORDINAL : abscissaVegaType;
|
|
843
843
|
}
|
|
844
844
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetAggregatedChartComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i0.ElementRef }, { token: i2.PryAggregationService }, { token: i3.PrySchemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
845
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: WidgetAggregatedChartComponent, selector: "pry-widget-aggregated-chart", viewQueries: [{ propertyName: "vega", first: true, predicate: ["vega"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-widget-aggregated-chart-css></pry-widget-aggregated-chart-css>\n<div class=\"o-widget o-widget--chart\" *ngIf=\"optionsCopy$ | async as optionsCopy\" [class.-has-header]=\"displayHeader$ | async\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n [openData$]=\"openData$\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [open$]=\"open$\"\n [header]=\"header\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-edit-input\n label=\"@pry.widget.chart.title\"\n (ngModelChange)=\"changeChartTitle($event)\"\n [ngModel]=\"optionsCopy.graph.title\"\n ></pry-edit-input>\n\n <div *ngIf=\"optionsCopy\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_type\">{{ '@pry.widget.chart.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeType($event)\"\n [items]=\"typeOptions\"\n [ngModel]=\"optionsCopy.graph.type\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"chart_type\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.graph.type === GraphType.DONUT\">\n <pry-range\n [ngModel]=\"optionsCopy.graph.donutSize\"\n (ngModelChange)=\"changeDonutSize($event)\"\n labelTranslate=\"@pry.widget.chart.donutSize\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </ng-container>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleLegend($event)\" [ngModel]=\"!!optionsCopy.graph.legend\">\n {{ '@pry.widget.chart.legend' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.graph.type\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"abscissa\">{{ '@pry.widget.chart.abscissa' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeAbscissa($event)\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.abscissa.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"abscissa\"\n ></pry-select>\n </div>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeAbscissaLabel($event)\"\n [ngModel]=\"optionsCopy.abscissa.label\"\n ></pry-edit-input>\n\n <div\n *ngIf=\"\n ['quantitative', 'temporal'].includes(translateToVegaType(copyAbscissaField?.type)) &&\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR\n \"\n class=\"m-form-label-field\"\n >\n <pry-checkbox (ngModelChange)=\"changeKeep0Abscissa($event)\" [ngModel]=\"optionsCopy.abscissa.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n\n <pry-checkbox\n (ngModelChange)=\"limitElements($event)\"\n [ngModel]=\"!!optionsCopy.abscissa.limit\"\n [disabled]=\"optionsCopy.graph.type === GraphType.HISTOGRAM\"\n >{{ '@pry.widget.chart.limit' | i18n }}\n </pry-checkbox>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit\">\n <ng-container *ngIf=\"optionsCopy.abscissa.limit.isTimeLimit === false\">\n <pry-range\n [ngModel]=\"optionsCopy.abscissa.limit.at\"\n (ngModelChange)=\"changeLimit($event)\"\n labelTranslate=\"@pry.widget.chart.limit\"\n min=\"1\"\n max=\"10\"\n ></pry-range>\n\n <ng-container *ngIf=\"optionsCopy.graph.type !== GraphType.HISTOGRAM\">\n <pry-checkbox\n (ngModelChange)=\"changeLimitOthers($event)\"\n [ngModel]=\"optionsCopy.abscissa.limit.others\"\n >{{ '@pry.widget.chart.others' | i18n }}\n </pry-checkbox>\n\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.order' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLimitOrder($event)\"\n [items]=\"[{ id: 'asc' }, { id: 'desc' }]\"\n [ngModel]=\"optionsCopy.abscissa.limit.order\"\n [i18nPrefix]=\"'@pry.widget.chart.'\"\n bindLabel=\"id\"\n bindValue=\"id\"\n id=\"other_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit.isTimeLimit\">\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.timeInterval' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeTimeLimit($event)\"\n [items]=\"[\n { id: 'second' },\n { id: 'minute' },\n { id: 'hour' },\n { id: 'day' },\n { id: 'week' },\n { id: 'month' },\n { id: 'quarter' },\n { id: 'year' }\n ]\"\n [ngModel]=\"optionsCopy.abscissa.limit.interval\"\n i18nPrefix=\"@pry.widget.chart.time.\"\n bindLabel=\"id\"\n bindValue=\"id\"\n id=\"date_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"operations\">{{ '@pry.widget.chart.operation.title' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOperation($event)\"\n [items]=\"operations$ | async\"\n [ngModel]=\"optionsCopy.ordinate.operation\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"operations\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.ordinate.operation !== Operation.COUNT\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"ordinate\">{{ '@pry.widget.chart.ordinate' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOrdinate($event)\"\n [items]=\"ordinateAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.ordinate.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"ordinate\"\n ></pry-select>\n </div>\n </ng-container>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeOrdinateLabel($event)\"\n [ngModel]=\"optionsCopy.ordinate.label\"\n ></pry-edit-input>\n\n <div *ngIf=\"translateToVegaType(copyOrdinateField?.type) === 'quantitative'\" class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"changeKeep0Ordinate($event)\" [ngModel]=\"optionsCopy.ordinate.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type !== GraphType.DONUT && optionsCopy.graph.type !== GraphType.CIRCULAR\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleGroupBy($event)\" [ngModel]=\"!!optionsCopy.groupBy\"\n >{{ '@pry.widget.chart.groupBy' | i18n }}\n </pry-checkbox>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.groupBy\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">{{ '@pry.widget.chart.groupAttr' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeGroupBy($event)\"\n [ngModel]=\"optionsCopy.groupBy.attribute\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"chart_seriesAttr\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-scheme-picker\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"optionsCopy.groupBy.color\"\n ></pry-scheme-picker>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox [ngModel]=\"optionsCopy.graph.stacked\" (ngModelChange)=\"toggleStacked($event)\">\n {{ '@pry.widget.chart.stacked' | i18n }}\n </pry-checkbox>\n </div>\n </ng-container>\n </div>\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleLimitItems()\" [ngModel]=\"!!optionsCopy.graph.limitItems\">\n {{ '@pry.widget.chart.limit' | i18n }}\n </pry-checkbox>\n </div>\n <ng-container *ngIf=\"!!optionsCopy.graph.limitItems\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_limitItemsValue\">{{ '@pry.widget.chart.limitMaxNb' | i18n }}</label>\n <input\n type=\"number\"\n id=\"chart_limitItemsValue\"\n class=\"a-form-field\"\n [(ngModel)]=\"optionsCopy.graph.limitItems\"\n />\n </div>\n </ng-container>\n </div>\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleSort($event)\" [ngModel]=\"!!optionsCopy.graph.sort\"\n >{{ '@pry.widget.chart.sort.title' | i18n }}\n </pry-checkbox>\n </div>\n <ng-container *ngIf=\"!!optionsCopy.graph.sort\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_sortValue\">{{ '@pry.widget.chart.sort.attribute' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSortValue($event)\"\n [ngModel]=\"optionsCopy.graph.sort.value\"\n [items]=\"sortValues$ | async\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"chart_sortValue\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_sortDirection\">{{ '@pry.widget.chart.sort.direction' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSortDirection($event)\"\n [ngModel]=\"optionsCopy.graph.sort.direction\"\n [items]=\"sortDirections\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"chart_sortDirection\"\n ></pry-select>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type === GraphType.DONUT || optionsCopy.graph.type === GraphType.CIRCULAR\"\n >\n <pry-scheme-picker\n (ngModelChange)=\"changeCircleColorScheme($event)\"\n [ngModel]=\"optionsCopy.circleColorScheme\"\n ></pry-scheme-picker>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR &&\n !optionsCopy.groupBy\n \"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_baseColor\">{{ '@pry.widget.chart.color' | i18n }}</label>\n <pry-color-picker\n (ngModelChange)=\"changeBaseColor($event)\"\n [ngModel]=\"optionsCopy.baseColor\"\n id=\"chart_baseColor\"\n ></pry-color-picker>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <div class=\"a-chip -md\" [style.background-color]=\"item\">{{ item }}</div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </pry-settings>\n </pry-widget-header>\n\n <ng-container *ngIf=\"(isChartValid$ | async) && !(noData$ | async) && !(noAggregationData$ | async)\">\n <div #vega></div>\n </ng-container>\n\n <ng-container *ngIf=\"noData$ | async\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.noData' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.noData' | i18n }}</span>\n <button type=\"button\" (click)=\"openData()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && (noAggregationData$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.aggNoResult' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.aggNoResult' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && !(noAggregationData$ | async) && !(isChartValid$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.chooseParameters' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.chooseParameters' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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: i2.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: i2.PryEditInputComponent, selector: "pry-edit-input", inputs: ["label"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: i7.PryColorPickerComponent, selector: "pry-color-picker" }, { kind: "component", type: i3.PrySchemePickerComponent, selector: "pry-scheme-picker" }, { kind: "component", type: i8.PryWidgetAggregatedChartCssComponent, selector: "pry-widget-aggregated-chart-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }] }); }
|
|
845
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: WidgetAggregatedChartComponent, selector: "pry-widget-aggregated-chart", viewQueries: [{ propertyName: "vega", first: true, predicate: ["vega"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-widget-aggregated-chart-css></pry-widget-aggregated-chart-css>\n<div class=\"o-widget o-widget--chart\" *ngIf=\"optionsCopy$ | async as optionsCopy\" [class.-has-header]=\"displayHeader$ | async\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n [openData$]=\"openData$\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [open$]=\"open$\"\n [header]=\"header\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-edit-input\n label=\"@pry.widget.chart.title\"\n (ngModelChange)=\"changeChartTitle($event)\"\n [ngModel]=\"optionsCopy.graph.title\"\n ></pry-edit-input>\n\n <div *ngIf=\"optionsCopy\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_type\">{{ '@pry.widget.chart.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeType($event)\"\n [items]=\"typeOptions\"\n [ngModel]=\"optionsCopy.graph.type\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"chart_type\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.graph.type === GraphType.DONUT\">\n <pry-range\n [ngModel]=\"optionsCopy.graph.donutSize\"\n (ngModelChange)=\"changeDonutSize($event)\"\n labelTranslate=\"@pry.widget.chart.donutSize\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </ng-container>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleLegend($event)\" [ngModel]=\"!!optionsCopy.graph.legend\">\n {{ '@pry.widget.chart.legend' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.graph.type\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"abscissa\">{{ '@pry.widget.chart.abscissa' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeAbscissa($event)\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.abscissa.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"abscissa\"\n ></pry-select>\n </div>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeAbscissaLabel($event)\"\n [ngModel]=\"optionsCopy.abscissa.label\"\n ></pry-edit-input>\n\n <div\n *ngIf=\"\n ['quantitative', 'temporal'].includes(translateToVegaType(copyAbscissaField?.type)) &&\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR\n \"\n class=\"m-form-label-field\"\n >\n <pry-checkbox (ngModelChange)=\"changeKeep0Abscissa($event)\" [ngModel]=\"optionsCopy.abscissa.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n\n <pry-checkbox\n (ngModelChange)=\"limitElements($event)\"\n [ngModel]=\"!!optionsCopy.abscissa.limit\"\n [disabled]=\"optionsCopy.graph.type === GraphType.HISTOGRAM\"\n >{{ '@pry.widget.chart.limit' | i18n }}\n </pry-checkbox>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit\">\n <ng-container *ngIf=\"optionsCopy.abscissa.limit.isTimeLimit === false\">\n <pry-range\n [ngModel]=\"optionsCopy.abscissa.limit.at\"\n (ngModelChange)=\"changeLimit($event)\"\n labelTranslate=\"@pry.widget.chart.limit\"\n min=\"1\"\n max=\"10\"\n ></pry-range>\n\n <ng-container *ngIf=\"optionsCopy.graph.type !== GraphType.HISTOGRAM\">\n <pry-checkbox\n (ngModelChange)=\"changeLimitOthers($event)\"\n [ngModel]=\"optionsCopy.abscissa.limit.others\"\n >{{ '@pry.widget.chart.others' | i18n }}\n </pry-checkbox>\n\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.order' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLimitOrder($event)\"\n [items]=\"[{ id: 'asc' }, { id: 'desc' }]\"\n [ngModel]=\"optionsCopy.abscissa.limit.order\"\n [i18nPrefix]=\"'@pry.widget.chart.'\"\n bindLabel=\"id\"\n bindValue=\"id\"\n id=\"other_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit.isTimeLimit\">\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.timeInterval' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeTimeLimit($event)\"\n [items]=\"[\n { id: 'second' },\n { id: 'minute' },\n { id: 'hour' },\n { id: 'day' },\n { id: 'week' },\n { id: 'month' },\n { id: 'quarter' },\n { id: 'year' }\n ]\"\n [ngModel]=\"optionsCopy.abscissa.limit.interval\"\n i18nPrefix=\"@pry.widget.chart.time.\"\n bindLabel=\"id\"\n bindValue=\"id\"\n id=\"date_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"operations\">{{ '@pry.widget.chart.operation.title' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOperation($event)\"\n [items]=\"operations$ | async\"\n [ngModel]=\"optionsCopy.ordinate.operation\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"operations\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.ordinate.operation !== Operation.COUNT\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"ordinate\">{{ '@pry.widget.chart.ordinate' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOrdinate($event)\"\n [items]=\"ordinateAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.ordinate.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"ordinate\"\n ></pry-select>\n </div>\n </ng-container>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeOrdinateLabel($event)\"\n [ngModel]=\"optionsCopy.ordinate.label\"\n ></pry-edit-input>\n\n <div *ngIf=\"translateToVegaType(copyOrdinateField?.type) === 'quantitative'\" class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"changeKeep0Ordinate($event)\" [ngModel]=\"optionsCopy.ordinate.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type !== GraphType.DONUT && optionsCopy.graph.type !== GraphType.CIRCULAR\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleGroupBy($event)\" [ngModel]=\"!!optionsCopy.groupBy\"\n >{{ '@pry.widget.chart.groupBy' | i18n }}\n </pry-checkbox>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.groupBy\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">{{ '@pry.widget.chart.groupAttr' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeGroupBy($event)\"\n [ngModel]=\"optionsCopy.groupBy.attribute\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n bindLabel=\"name\"\n bindValue=\"id\"\n id=\"chart_seriesAttr\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-scheme-picker\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"optionsCopy.groupBy.color\"\n ></pry-scheme-picker>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox [ngModel]=\"optionsCopy.graph.stacked\" (ngModelChange)=\"toggleStacked($event)\">\n {{ '@pry.widget.chart.stacked' | i18n }}\n </pry-checkbox>\n </div>\n </ng-container>\n </div>\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleLimitItems()\" [ngModel]=\"!!optionsCopy.graph.limitItems\">\n {{ '@pry.widget.chart.limit' | i18n }}\n </pry-checkbox>\n </div>\n <ng-container *ngIf=\"!!optionsCopy.graph.limitItems\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_limitItemsValue\">{{ '@pry.widget.chart.limitMaxNb' | i18n }}</label>\n <input\n type=\"number\"\n id=\"chart_limitItemsValue\"\n class=\"a-form-field\"\n [(ngModel)]=\"optionsCopy.graph.limitItems\"\n />\n </div>\n </ng-container>\n </div>\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleSort($event)\" [ngModel]=\"!!optionsCopy.graph.sort\"\n >{{ '@pry.widget.chart.sort.title' | i18n }}\n </pry-checkbox>\n </div>\n <ng-container *ngIf=\"!!optionsCopy.graph.sort\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_sortValue\">{{ '@pry.widget.chart.sort.attribute' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSortValue($event)\"\n [ngModel]=\"optionsCopy.graph.sort.value\"\n [items]=\"sortValues$ | async\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"chart_sortValue\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_sortDirection\">{{ '@pry.widget.chart.sort.direction' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSortDirection($event)\"\n [ngModel]=\"optionsCopy.graph.sort.direction\"\n [items]=\"sortDirections\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"chart_sortDirection\"\n ></pry-select>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type === GraphType.DONUT || optionsCopy.graph.type === GraphType.CIRCULAR\"\n >\n <pry-scheme-picker\n (ngModelChange)=\"changeCircleColorScheme($event)\"\n [ngModel]=\"optionsCopy.circleColorScheme\"\n ></pry-scheme-picker>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR &&\n !optionsCopy.groupBy\n \"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_baseColor\">{{ '@pry.widget.chart.color' | i18n }}</label>\n <pry-color-picker\n (ngModelChange)=\"changeBaseColor($event)\"\n [ngModel]=\"optionsCopy.baseColor\"\n id=\"chart_baseColor\"\n ></pry-color-picker>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <div class=\"a-chip -md\" [style.background-color]=\"item\">{{ item }}</div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </pry-settings>\n </pry-widget-header>\n\n <ng-container *ngIf=\"(isChartValid$ | async) && !(noData$ | async) && !(noAggregationData$ | async)\">\n <div #vega></div>\n </ng-container>\n\n <ng-container *ngIf=\"noData$ | async\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.noData' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.noData' | i18n }}</span>\n <button type=\"button\" (click)=\"openData()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && (noAggregationData$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.aggNoResult' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.aggNoResult' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && !(noAggregationData$ | async) && !(isChartValid$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.chooseParameters' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.chooseParameters' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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: i2.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: i2.PryEditInputComponent, selector: "pry-edit-input", inputs: ["label"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: i7.PryColorPickerComponent, selector: "pry-color-picker" }, { kind: "component", type: i3.PrySchemePickerComponent, selector: "pry-scheme-picker" }, { kind: "component", type: i8.PryWidgetAggregatedChartCssComponent, selector: "pry-widget-aggregated-chart-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }] }); }
|
|
846
846
|
}
|
|
847
847
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetAggregatedChartComponent, decorators: [{
|
|
848
848
|
type: Component,
|
|
@@ -639,7 +639,7 @@ export class WidgetChartComponent extends DataWidgetComponent {
|
|
|
639
639
|
});
|
|
640
640
|
}
|
|
641
641
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetChartComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
642
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: WidgetChartComponent, selector: "pry-widget-chart", viewQueries: [{ propertyName: "vega", first: true, predicate: ["vega"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-widget-chart-css></pry-widget-chart-css>\n<div class=\"o-widget o-widget--chart\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [isDisable]=\"(filterDataForOptionsCopy$ | async)?.length === 0 || hasNoType(optionsCopy)\"\n [widgetIndex]=\"widgetIndex\"\n [open$]=\"open$\"\n [header]=\"header\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-edit-input\n label=\"@pry.widget.chart.title\"\n (ngModelChange)=\"changeChartTitle($event)\"\n [ngModel]=\"optionsCopy.customTitle ?? optionsCopy.title\"\n ></pry-edit-input>\n\n <div class=\"m-form-label-field\">\n <ng-container *ngIf=\"(filterDataForOptionsCopy$ | async)?.length === 0; else data\">\n <p class=\"a-label a-label--help -error\">{{ '@pry.widget.chart.params.noParams' | i18n }}</p>\n </ng-container>\n <ng-template #data>\n <div *ngIf=\"optionsCopy?.type !== MarkType.RADAR\">\n {{ '@pry.widget.chart.params.multipleParams' | i18n }}{{ (filterDataForOptionsCopy$ | async)?.length }}\n </div>\n </ng-template>\n </div>\n\n <div *ngIf=\"optionsCopy\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_type\">{{ '@pry.widget.chart.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeType($event)\"\n [items]=\"typeOptions\"\n [ngModel]=\"optionsCopy.type + '-' + optionsCopy.subType\"\n i18nPrefix=\"@pry.widget.chart.markType.\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"chart_type\"\n ></pry-select>\n </div>\n </div>\n\n <ng-container *ngIf=\"optionsCopy?.type !== MarkType.RADAR && optionsCopy?.type !== MarkType.CIRCLE_PACK\">\n <ng-container *ngIf=\"optionsCopy?.subType === MarkSubType.DONUT\">\n <pry-range\n [ngModel]=\"optionsCopy.innerRadius\"\n (ngModelChange)=\"changeInnerRadius($event)\"\n labelTranslate=\"@pry.widget.chart.innerRadius\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </ng-container>\n\n <div\n *ngFor=\"let variableDef of optionsCopy?.selectedVariables; let i = index\"\n class=\"o-settings__popup__content__fields -condensed\"\n >\n <div class=\"m-form-label-field\" *ngIf=\"i === 1\">\n <label class=\"a-label\" for=\"aggregations\">{{ '@pry.widget.chart.encoding.group' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeAggregation($event)\"\n *ngIf=\"i === 1\"\n [items]=\"aggregations\"\n [ngModel]=\"optionsCopy.aggregation\"\n id=\"aggregations\"\n i18nPrefix=\"@pry.widget.chart.aggregation.\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\" *ngIf=\"i !== 1 || optionsCopy.aggregation !== 'count'\">\n <label class=\"a-label\" for=\"aggregation_property\">\n {{ axeLabel(i, optionsCopy) | i18n }}\n </label>\n <pry-select\n (ngModelChange)=\"changeProperty($event, i)\"\n [items]=\"(i !== 1 ? variableAttributes$ : possibleSecondaryAttributes$) | async\"\n [ngModel]=\"variableDef.name\"\n bindLabel=\"name\"\n bindValue=\"technicalName\"\n id=\"aggregation_property\"\n ></pry-select>\n </div>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeLabel($event, i)\"\n [ngModel]=\"variableDef.label\"\n ></pry-edit-input>\n\n <div *ngIf=\"variableDef.type === 'temporal'\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_timeUnit\">{{ '@pry.widget.chart.timeUnit' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeTimeUnit($event, variableDef)\"\n [items]=\"timeUnits\"\n [ngModel]=\"variableDef.timeUnit\"\n i18nPrefix=\"@pry.widget.chart.timeUnitList.\"\n id=\"chart_timeUnit\"\n ></pry-select>\n </div>\n\n <div *ngIf=\"variableDef.type === 'quantitative' && optionsCopy?.type !== 'arc'\" class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleOriginAtZero(variableDef, $event)\" [ngModel]=\"variableDef.origin0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox\n (ngModelChange)=\"toggleSeries($event)\"\n [ngModel]=\"!!optionsCopy.series\"\n *ngIf=\"optionsCopy?.type !== MarkType.ARC && optionsCopy?.type !== MarkType.RADAR\"\n [disabled]=\"\n this.optionsCopy.subType === MarkSubType.AREASTACKED ||\n this.optionsCopy.subType === MarkSubType.HISTOSTACKED\n \"\n >{{ '@pry.widget.chart.series' | i18n }}\n </pry-checkbox>\n </div>\n\n <div\n class=\"m-form-label-field\"\n *ngIf=\"optionsCopy?.type !== MarkType.ARC && optionsCopy?.type !== MarkType.RADAR && !!optionsCopy.series\"\n >\n <label class=\"a-label\" for=\"chart_seriesAttr\">{{ '@pry.widget.chart.seriesAttr' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSeries($event)\"\n [ngModel]=\"optionsCopy.series.groupBy!\"\n [items]=\"variableAttributes$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_seriesAttr\"\n ></pry-select>\n </div>\n\n <div\n class=\"m-form-label-field\"\n *ngIf=\"\n (optionsCopy?.type === MarkType.ARC || optionsCopy?.type === MarkType.RADAR || !!optionsCopy.series) &&\n schemes\n \"\n >\n <label class=\"a-label\" for=\"chart_seriesScheme\" [title]=\"'@pry.widget.chart.seriesSchemeAlt' | i18n\">{{\n '@pry.widget.chart.seriesScheme' | i18n\n }}</label>\n <pry-select\n (ngModelChange)=\"changeSeriesScheme($event)\"\n [ngModel]=\"optionsCopy.series?.scheme!\"\n [items]=\"schemes\"\n id=\"chart_seriesScheme\"\n i18nPrefix=\"@pry.widget.chart.scheme.\"\n bindValue=\"id\"\n bindLabel=\"id\"\n ></pry-select>\n </div>\n\n <div class=\"o-widget--chart-color-thumb\">\n <div\n *ngFor=\"let schemeColor of scheme()\"\n class=\"o-widget--chart-color-thumb-item\"\n [title]=\"schemeColor\"\n [style.background-color]=\"schemeColor\"\n ></div>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox\n (ngModelChange)=\"toggleSeriesLegend($event)\"\n [ngModel]=\"!!optionsCopy.legend!\"\n *ngIf=\"optionsCopy?.type !== MarkType.RADAR || !!optionsCopy.series\"\n >{{ '@pry.widget.chart.seriesLegend' | i18n }}\n </pry-checkbox>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleTooltip($event)\" [ngModel]=\"!!optionsCopy.tooltip!\"\n >{{ '@pry.widget.chart.tooltip' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"optionsCopy?.type === MarkType.RADAR && optionsCopy.radar !== undefined\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.compare\"\n [items]=\"comparisons\"\n bindLabel=\"name\"\n bindValue=\"id\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.radar.compare === 'item'\">\n <div class=\"m-form-label-field\">\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.props\"\n [items]=\"numericProperties$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n bindLabel=\"name\"\n bindValue=\"name\"\n ></pry-select>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"optionsCopy.radar.compare === 'value'\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"comparison_key\">{{ '@pry.widget.chart.comparison.key' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.keyProp\"\n [items]=\"textProperties$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"comparison_key\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"comparison_values\">{{ '@pry.widget.chart.comparison.values' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.valueProp\"\n [items]=\"numericProperties$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"comparison_values\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"comparison_category\">{{\n '@pry.widget.chart.comparison.category' | i18n\n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.categoryProp\"\n [items]=\"textProperties$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"comparison_category\"\n ></pry-select>\n </div>\n </ng-container>\n <ng-container *ngIf=\"schemes\">\n <label\n class=\"a-label\"\n for=\"chart_seriesScheme_radar\"\n [title]=\"'@pry.widget.chart.seriesSchemeAlt' | i18n\"\n >{{ '@pry.widget.chart.seriesScheme' | i18n }}</label\n >\n <pry-select\n (ngModelChange)=\"changeSeriesScheme($event)\"\n [ngModel]=\"optionsCopy.series?.scheme!\"\n [items]=\"schemes\"\n id=\"chart_seriesScheme_radar\"\n ></pry-select>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"optionsCopy?.type === MarkType.CIRCLE_PACK && optionsCopy.packing !== undefined\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_circle_id\">{{ '@pry.widget.chart.circle.id' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.packing.id\"\n [items]=\"variableAttributes$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_circle_id\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_circle_pid\">{{ '@pry.widget.chart.circle.pid' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.packing.parentId\"\n [items]=\"variableAttributes$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_circle_pid\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_circle_field\">{{ '@pry.widget.chart.circle.field' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.packing.packField\"\n [items]=\"numericProperties$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_circle_field\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_circle_tooltip\">{{ '@pry.widget.chart.circle.tooltip' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.packing.tooltip\"\n [items]=\"variableAttributes$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_circle_tooltip\"\n ></pry-select>\n </div>\n </div>\n </ng-container>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-checkbox (ngModelChange)=\"toggleSpecToMerge($event)\" [ngModel]=\"!!optionsCopy.specToMerge\"\n >{{ '@pry.widget.chart.moreOptions' | i18n }}\n </pry-checkbox>\n\n <ng-container *ngIf=\"!!optionsCopy.specToMerge\">\n <textarea\n [ngModel]=\"advancedEdit\"\n (focusout)=\"updateAdvancedEdit($event)\"\n class=\"o-settings__popup__content__area\"\n [class.-invalid]=\"invalidJson\"\n ></textarea>\n </ng-container>\n </div>\n </pry-settings>\n </pry-widget-header>\n <ng-container *ngIf=\"isChartValid$ | async\">\n <div\n #vega\n [style.height.px]=\"\n ((widgetSize$ | async)?.height ?? 0) - ((displayHeader$ | async) ? 1 : 0) * WIDGET_HEADER_HEIGHT\n \"\n [style.width.px]=\"(widgetSize$ | async)?.width\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"!(isChartValid$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <p class=\"a-p\">\n {{ '@pry.widget.chart.chooseParameters' | i18n }}\n </p>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: i2.PryEditInputComponent, selector: "pry-edit-input", inputs: ["label"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: i6.PryWidgetChartCssComponent, selector: "pry-widget-chart-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
|
|
642
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: WidgetChartComponent, selector: "pry-widget-chart", viewQueries: [{ propertyName: "vega", first: true, predicate: ["vega"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-widget-chart-css></pry-widget-chart-css>\n<div class=\"o-widget o-widget--chart\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [isDisable]=\"(filterDataForOptionsCopy$ | async)?.length === 0 || hasNoType(optionsCopy)\"\n [widgetIndex]=\"widgetIndex\"\n [open$]=\"open$\"\n [header]=\"header\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-edit-input\n label=\"@pry.widget.chart.title\"\n (ngModelChange)=\"changeChartTitle($event)\"\n [ngModel]=\"optionsCopy.customTitle ?? optionsCopy.title\"\n ></pry-edit-input>\n\n <div class=\"m-form-label-field\">\n <ng-container *ngIf=\"(filterDataForOptionsCopy$ | async)?.length === 0; else data\">\n <p class=\"a-label a-label--help -error\">{{ '@pry.widget.chart.params.noParams' | i18n }}</p>\n </ng-container>\n <ng-template #data>\n <div *ngIf=\"optionsCopy?.type !== MarkType.RADAR\">\n {{ '@pry.widget.chart.params.multipleParams' | i18n }}{{ (filterDataForOptionsCopy$ | async)?.length }}\n </div>\n </ng-template>\n </div>\n\n <div *ngIf=\"optionsCopy\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_type\">{{ '@pry.widget.chart.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeType($event)\"\n [items]=\"typeOptions\"\n [ngModel]=\"optionsCopy.type + '-' + optionsCopy.subType\"\n i18nPrefix=\"@pry.widget.chart.markType.\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"chart_type\"\n ></pry-select>\n </div>\n </div>\n\n <ng-container *ngIf=\"optionsCopy?.type !== MarkType.RADAR && optionsCopy?.type !== MarkType.CIRCLE_PACK\">\n <ng-container *ngIf=\"optionsCopy?.subType === MarkSubType.DONUT\">\n <pry-range\n [ngModel]=\"optionsCopy.innerRadius\"\n (ngModelChange)=\"changeInnerRadius($event)\"\n labelTranslate=\"@pry.widget.chart.innerRadius\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </ng-container>\n\n <div\n *ngFor=\"let variableDef of optionsCopy?.selectedVariables; let i = index\"\n class=\"o-settings__popup__content__fields -condensed\"\n >\n <div class=\"m-form-label-field\" *ngIf=\"i === 1\">\n <label class=\"a-label\" for=\"aggregations\">{{ '@pry.widget.chart.encoding.group' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeAggregation($event)\"\n *ngIf=\"i === 1\"\n [items]=\"aggregations\"\n [ngModel]=\"optionsCopy.aggregation\"\n id=\"aggregations\"\n i18nPrefix=\"@pry.widget.chart.aggregation.\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\" *ngIf=\"i !== 1 || optionsCopy.aggregation !== 'count'\">\n <label class=\"a-label\" for=\"aggregation_property\">\n {{ axeLabel(i, optionsCopy) | i18n }}\n </label>\n <pry-select\n (ngModelChange)=\"changeProperty($event, i)\"\n [items]=\"(i !== 1 ? variableAttributes$ : possibleSecondaryAttributes$) | async\"\n [ngModel]=\"variableDef.name\"\n bindLabel=\"name\"\n bindValue=\"technicalName\"\n id=\"aggregation_property\"\n ></pry-select>\n </div>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeLabel($event, i)\"\n [ngModel]=\"variableDef.label\"\n ></pry-edit-input>\n\n <div *ngIf=\"variableDef.type === 'temporal'\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_timeUnit\">{{ '@pry.widget.chart.timeUnit' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeTimeUnit($event, variableDef)\"\n [items]=\"timeUnits\"\n [ngModel]=\"variableDef.timeUnit\"\n i18nPrefix=\"@pry.widget.chart.timeUnitList.\"\n id=\"chart_timeUnit\"\n ></pry-select>\n </div>\n\n <div *ngIf=\"variableDef.type === 'quantitative' && optionsCopy?.type !== 'arc'\" class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleOriginAtZero(variableDef, $event)\" [ngModel]=\"variableDef.origin0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox\n (ngModelChange)=\"toggleSeries($event)\"\n [ngModel]=\"!!optionsCopy.series\"\n *ngIf=\"optionsCopy?.type !== MarkType.ARC && optionsCopy?.type !== MarkType.RADAR\"\n [disabled]=\"\n this.optionsCopy.subType === MarkSubType.AREASTACKED ||\n this.optionsCopy.subType === MarkSubType.HISTOSTACKED\n \"\n >{{ '@pry.widget.chart.series' | i18n }}\n </pry-checkbox>\n </div>\n\n <div\n class=\"m-form-label-field\"\n *ngIf=\"optionsCopy?.type !== MarkType.ARC && optionsCopy?.type !== MarkType.RADAR && !!optionsCopy.series\"\n >\n <label class=\"a-label\" for=\"chart_seriesAttr\">{{ '@pry.widget.chart.seriesAttr' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSeries($event)\"\n [ngModel]=\"optionsCopy.series.groupBy!\"\n [items]=\"variableAttributes$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_seriesAttr\"\n ></pry-select>\n </div>\n\n <div\n class=\"m-form-label-field\"\n *ngIf=\"\n (optionsCopy?.type === MarkType.ARC || optionsCopy?.type === MarkType.RADAR || !!optionsCopy.series) &&\n schemes\n \"\n >\n <label class=\"a-label\" for=\"chart_seriesScheme\" [title]=\"'@pry.widget.chart.seriesSchemeAlt' | i18n\">{{\n '@pry.widget.chart.seriesScheme' | i18n\n }}</label>\n <pry-select\n (ngModelChange)=\"changeSeriesScheme($event)\"\n [ngModel]=\"optionsCopy.series?.scheme!\"\n [items]=\"schemes\"\n id=\"chart_seriesScheme\"\n i18nPrefix=\"@pry.widget.chart.scheme.\"\n bindValue=\"id\"\n bindLabel=\"id\"\n ></pry-select>\n </div>\n\n <div class=\"o-widget--chart-color-thumb\">\n <div\n *ngFor=\"let schemeColor of scheme()\"\n class=\"o-widget--chart-color-thumb-item\"\n [title]=\"schemeColor\"\n [style.background-color]=\"schemeColor\"\n ></div>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox\n (ngModelChange)=\"toggleSeriesLegend($event)\"\n [ngModel]=\"!!optionsCopy.legend!\"\n *ngIf=\"optionsCopy?.type !== MarkType.RADAR || !!optionsCopy.series\"\n >{{ '@pry.widget.chart.seriesLegend' | i18n }}\n </pry-checkbox>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleTooltip($event)\" [ngModel]=\"!!optionsCopy.tooltip!\"\n >{{ '@pry.widget.chart.tooltip' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"optionsCopy?.type === MarkType.RADAR && optionsCopy.radar !== undefined\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.compare\"\n [items]=\"comparisons\"\n bindLabel=\"name\"\n bindValue=\"id\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.radar.compare === 'item'\">\n <div class=\"m-form-label-field\">\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.props\"\n [items]=\"numericProperties$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n bindLabel=\"name\"\n bindValue=\"name\"\n ></pry-select>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"optionsCopy.radar.compare === 'value'\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"comparison_key\">{{ '@pry.widget.chart.comparison.key' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.keyProp\"\n [items]=\"textProperties$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"comparison_key\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"comparison_values\">{{ '@pry.widget.chart.comparison.values' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.valueProp\"\n [items]=\"numericProperties$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"comparison_values\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"comparison_category\">{{\n '@pry.widget.chart.comparison.category' | i18n\n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.radar.categoryProp\"\n [items]=\"textProperties$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"comparison_category\"\n ></pry-select>\n </div>\n </ng-container>\n <ng-container *ngIf=\"schemes\">\n <label\n class=\"a-label\"\n for=\"chart_seriesScheme_radar\"\n [title]=\"'@pry.widget.chart.seriesSchemeAlt' | i18n\"\n >{{ '@pry.widget.chart.seriesScheme' | i18n }}</label\n >\n <pry-select\n (ngModelChange)=\"changeSeriesScheme($event)\"\n [ngModel]=\"optionsCopy.series?.scheme!\"\n [items]=\"schemes\"\n id=\"chart_seriesScheme_radar\"\n ></pry-select>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"optionsCopy?.type === MarkType.CIRCLE_PACK && optionsCopy.packing !== undefined\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_circle_id\">{{ '@pry.widget.chart.circle.id' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.packing.id\"\n [items]=\"variableAttributes$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_circle_id\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_circle_pid\">{{ '@pry.widget.chart.circle.pid' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.packing.parentId\"\n [items]=\"variableAttributes$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_circle_pid\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_circle_field\">{{ '@pry.widget.chart.circle.field' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.packing.packField\"\n [items]=\"numericProperties$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_circle_field\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_circle_tooltip\">{{ '@pry.widget.chart.circle.tooltip' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"trigger(); proposeTitle()\"\n [(ngModel)]=\"optionsCopy.packing.tooltip\"\n [items]=\"variableAttributes$ | async\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"chart_circle_tooltip\"\n ></pry-select>\n </div>\n </div>\n </ng-container>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-checkbox (ngModelChange)=\"toggleSpecToMerge($event)\" [ngModel]=\"!!optionsCopy.specToMerge\"\n >{{ '@pry.widget.chart.moreOptions' | i18n }}\n </pry-checkbox>\n\n <ng-container *ngIf=\"!!optionsCopy.specToMerge\">\n <textarea\n [ngModel]=\"advancedEdit\"\n (focusout)=\"updateAdvancedEdit($event)\"\n class=\"o-settings__popup__content__area\"\n [class.-invalid]=\"invalidJson\"\n ></textarea>\n </ng-container>\n </div>\n </pry-settings>\n </pry-widget-header>\n <ng-container *ngIf=\"isChartValid$ | async\">\n <div\n #vega\n [style.height.px]=\"\n ((widgetSize$ | async)?.height ?? 0) - ((displayHeader$ | async) ? 1 : 0) * WIDGET_HEADER_HEIGHT\n \"\n [style.width.px]=\"(widgetSize$ | async)?.width\"\n ></div>\n </ng-container>\n\n <ng-container *ngIf=\"!(isChartValid$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <p class=\"a-p\">\n {{ '@pry.widget.chart.chooseParameters' | i18n }}\n </p>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: i2.PryEditInputComponent, selector: "pry-edit-input", inputs: ["label"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: i6.PryWidgetChartCssComponent, selector: "pry-widget-chart-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
|
|
643
643
|
}
|
|
644
644
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WidgetChartComponent, decorators: [{
|
|
645
645
|
type: Component,
|