@provoly/dashboard 0.13.7 → 0.13.9
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/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +4 -4
- package/admin/components/admin-dataset/store/admin-dataset.actions.d.ts +3 -3
- package/assets/svgs/layers.svg +2 -0
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +3 -3
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +2 -2
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.actions.mjs +1 -1
- package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +5 -12
- package/esm2022/lib/core/components/overlay/overlay.module.mjs +5 -4
- package/esm2022/lib/core/components/select/select.component.mjs +2 -2
- package/esm2022/lib/core/components/share/share.component.mjs +3 -3
- package/esm2022/lib/core/model/admin-api.model.mjs +1 -1
- package/esm2022/lib/core/model/dataset.interface.mjs +1 -1
- package/esm2022/lib/core/model/display-options.interface.mjs +4 -2
- package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/store/config/config.actions.mjs +2 -1
- package/esm2022/lib/core/store/config/config.effects.mjs +25 -4
- package/esm2022/lib/core/store/data-source/data-source.actions.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.model.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.service.mjs +1 -1
- package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +3 -7
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +1 -1
- package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +6 -3
- package/esm2022/lib/dashboard/public-api.mjs +2 -1
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -3
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +25 -11
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +2 -11
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -5
- package/esm2022/lib/dashboard/store/manifest-utils.class.mjs +11 -0
- package/esm2022/lib/dashboard/store/manifest.service.mjs +3 -10
- package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +5 -4
- package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +5 -8
- package/esm2022/presentation/components/presentation.component.mjs +5 -42
- package/esm2022/presentation/presentation.module.mjs +8 -4
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +9 -65
- package/esm2022/search/components/save-query/save-query.component.mjs +5 -8
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -3
- package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +5 -16
- package/esm2022/toolbox/toolbox.module.mjs +8 -4
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +3 -3
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +3 -3
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +90 -26
- package/esm2022/widgets/widget-map/i18n/en.translations.mjs +5 -2
- package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +5 -2
- package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +2 -36
- package/esm2022/widgets/widget-map/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +3 -3
- package/fesm2022/provoly-dashboard-admin.mjs +2 -2
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline.mjs +4 -7
- package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +11 -44
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +9 -65
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +4 -7
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +14 -21
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +2 -2
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +2 -2
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +103 -129
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +2 -2
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +153 -135
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/overlay/overlay.module.d.ts +2 -1
- package/lib/core/model/admin-api.model.d.ts +1 -1
- package/lib/core/model/dataset.interface.d.ts +0 -10
- package/lib/core/model/display-options.interface.d.ts +1 -0
- package/lib/core/model/manifest.interface.d.ts +2 -0
- package/lib/core/model/widget-map-manifest.interface.d.ts +1 -0
- package/lib/core/store/config/config.actions.d.ts +5 -0
- package/lib/core/store/config/config.effects.d.ts +6 -1
- package/lib/core/store/data-source/data-source.actions.d.ts +2 -2
- package/lib/core/store/data-source/data-source.effects.d.ts +2 -3
- package/lib/core/store/data-source/data-source.model.d.ts +11 -3
- package/lib/core/store/data-source/data-source.reducer.d.ts +2 -2
- package/lib/core/store/data-source/data-source.selectors.d.ts +5 -5
- package/lib/core/store/data-source/data-source.service.d.ts +4 -4
- package/lib/dashboard/components/context-menu/context-menu.component.d.ts +0 -1
- package/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.d.ts +1 -2
- package/lib/dashboard/components/widgets/settings/settings.component.d.ts +1 -0
- package/lib/dashboard/public-api.d.ts +1 -0
- package/lib/dashboard/store/dashboard.actions.d.ts +6 -17
- package/lib/dashboard/store/dashboard.effects.d.ts +6 -7
- package/lib/dashboard/store/dashboard.reducers.d.ts +1 -5
- package/lib/dashboard/store/dashboard.selectors.d.ts +0 -57
- package/lib/dashboard/store/manifest-utils.class.d.ts +4 -0
- package/lib/dashboard/store/manifest.service.d.ts +0 -1
- package/package.json +25 -25
- package/pipeline/components/pipeline-list/pipeline-list.component.d.ts +1 -2
- package/presentation/components/presentation.component.d.ts +0 -5
- package/presentation/presentation.module.d.ts +2 -1
- package/restitution/components/restitution-catalog/restitution-catalog.component.d.ts +4 -15
- package/schematics/ng-add/index.js +0 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-update/version-0-13/index.js +18 -1
- package/schematics/ng-update/version-0-13/index.js.map +1 -1
- package/schematics/ng-update/version-0-13/index.spec.js +8 -1
- package/schematics/ng-update/version-0-13/index.spec.js.map +1 -1
- package/search/components/save-query/save-query.component.d.ts +1 -2
- package/styles/components/_m-tooltip.scss +18 -2
- package/styles-theme/components-theme/_m-tooltip.theme.scss +0 -12
- package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +0 -4
- package/toolbox/toolbox.module.d.ts +2 -1
- package/widgets/widget-map/component/widget-map.component.d.ts +16 -3
- package/widgets/widget-map/i18n/en.translations.d.ts +3 -0
- package/widgets/widget-map/i18n/fr.translations.d.ts +3 -0
- package/widgets/widget-map/interaction/interaction-manager.class.d.ts +3 -8
- package/widgets/widget-map/style/_o-layer-legend.scss +45 -0
- package/widgets/widget-map/style/_o-widget-map.scss +0 -1
- package/esm2022/widgets/widget-map/search-bar/search-bar.control.mjs +0 -66
- package/widgets/widget-map/search-bar/search-bar.control.d.ts +0 -27
|
@@ -20,7 +20,8 @@ import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
|
20
20
|
import equal from 'fast-deep-equal/es6';
|
|
21
21
|
import { distinctUntilChanged, filter as filter$1, debounceTime as debounceTime$1, mergeMap as mergeMap$1, map as map$1, catchError, withLatestFrom, tap, delay as delay$1 } from 'rxjs/operators';
|
|
22
22
|
import { animation, style, animate, trigger, transition, useAnimation } from '@angular/animations';
|
|
23
|
-
import
|
|
23
|
+
import * as i5 from '@angular/cdk/a11y';
|
|
24
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
24
25
|
import { GeoJSON } from 'ol/format';
|
|
25
26
|
import { fromLonLat } from 'ol/proj';
|
|
26
27
|
import * as i1$4 from '@angular/cdk/accordion';
|
|
@@ -30,6 +31,7 @@ import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
30
31
|
import * as i2$2 from '@ng-select/ng-select';
|
|
31
32
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
32
33
|
import { webSocket } from 'rxjs/webSocket';
|
|
34
|
+
import { v4 } from 'uuid';
|
|
33
35
|
import * as i8 from '@provoly/dashboard/components/checkbox';
|
|
34
36
|
import { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';
|
|
35
37
|
|
|
@@ -1267,6 +1269,7 @@ const DashboardActions = {
|
|
|
1267
1269
|
loadManifest: createAction('[Dashboard] (bus) load manifest', props()),
|
|
1268
1270
|
loadAndActivateManifest: createAction('[Dashboard] (bus) load and activate manifest', props()),
|
|
1269
1271
|
downloadManifest: createAction('[Dashboard] download manifest', props()),
|
|
1272
|
+
confirmManifestDeletion: createAction('[Dashboard] confirm manifest deletion', props()),
|
|
1270
1273
|
deleteManifest: createAction('[Dashboard] deleting manifest', props()),
|
|
1271
1274
|
saveManifest: createAction('[Dashboard] save manifest', props()),
|
|
1272
1275
|
solveCollisions: createAction('[Dashboard] solving collisions'),
|
|
@@ -1292,8 +1295,6 @@ const DashboardActions = {
|
|
|
1292
1295
|
explore: createAction('[Dashboard] (bus) isolate in data set', props()),
|
|
1293
1296
|
detail: createAction('[Dashboard] (bus) add detail view', props()),
|
|
1294
1297
|
proximity: createAction('[Dashboard] proximity search', props()),
|
|
1295
|
-
searchAddressForPoint: createAction('[Dashboard] address search', props()),
|
|
1296
|
-
displayAddress: createAction('[Dashboard] display adress', props()),
|
|
1297
1298
|
multiSnackBar: createAction('[Dashboard] (bus) display snack message', props()),
|
|
1298
1299
|
quickOrder: createAction('[Dashboard] (bus) quick order', props()),
|
|
1299
1300
|
setGridLayout: createAction('[Dashboard] set grid layout', props()),
|
|
@@ -1330,6 +1331,7 @@ const ConfigActions = {
|
|
|
1330
1331
|
defineBreakpoint: createAction('[Config] (bus) defining breakpoint', props()),
|
|
1331
1332
|
defaultViewGuardUsed: createAction('[Config] (bus) default view guard used'),
|
|
1332
1333
|
saveWidget: createAction('[Config] (bus) defining widget', props()),
|
|
1334
|
+
confirmRestitutionDeletion: createAction('[Config] (bus) confirm Restitution deletion', props()),
|
|
1333
1335
|
deleteRestitution: createAction('[Config] (bus) delete Restitution', props()),
|
|
1334
1336
|
loadWidgets: createAction('[Config] (bus) loading widgets'),
|
|
1335
1337
|
loadedWidgets: createAction('[Config] (bus) loaded widgets', props()),
|
|
@@ -2690,14 +2692,6 @@ class PryDialogConfirmComponent {
|
|
|
2690
2692
|
this.dialog = dialog;
|
|
2691
2693
|
this.data = data;
|
|
2692
2694
|
this.store = store;
|
|
2693
|
-
setTimeout(() => {
|
|
2694
|
-
this.cross.nativeElement.focus();
|
|
2695
|
-
this.buttonAction.nativeElement.parentElement?.children[1].addEventListener('keydown', (event) => {
|
|
2696
|
-
if (event.key === 'Tab') {
|
|
2697
|
-
this.focusCrossElement();
|
|
2698
|
-
}
|
|
2699
|
-
});
|
|
2700
|
-
}, 10);
|
|
2701
2695
|
}
|
|
2702
2696
|
onClick(action) {
|
|
2703
2697
|
if (action) {
|
|
@@ -2717,11 +2711,11 @@ class PryDialogConfirmComponent {
|
|
|
2717
2711
|
this.cross.nativeElement.focus();
|
|
2718
2712
|
}
|
|
2719
2713
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryDialogConfirmComponent, deps: [{ token: PryDialogRef }, { token: PRY_DIALOG_DATA }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2720
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryDialogConfirmComponent, selector: "pry-dialog-confirm", viewQueries: [{ propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "buttonAction", first: true, predicate: ["buttonAction"], descendants: true }], ngImport: i0, template: "<div\n class=\"o-modal-wrapper\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_confirmDelete\"\n (keydown.escape)=\"onClick()\"\n>\n <div class=\"o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ data.title | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeDialog()\" #cross>\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div>\n <p *ngIf=\"data?.message as message\" class=\"a-p\">{{ message | i18n }}</p>\n </div>\n <div class=\"m-btn-group\">\n <ng-container *ngFor=\"let action of data.actions\" #buttonAction>\n <button\n (click)=\"onClick(action)\"\n class=\"a-btn\"\n type=\"button\"\n [class.a-btn--primary]=\"action.color === 'primary' || action.color === undefined\"\n [class.a-btn--secondary]=\"action.color === 'secondary'\"\n [class.a-btn--tertiary]=\"action.color === 'tertiary'\"\n [class.a-btn--ghost]=\"action.color === 'ghost'\"\n [ngClass]=\"{ 'a-btn--icon-text': action.icon }\"\n >\n <pry-icon *ngIf=\"action.icon\" [iconSvg]=\"action.icon\"></pry-icon>\n {{ action.label | i18n }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
2714
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryDialogConfirmComponent, selector: "pry-dialog-confirm", viewQueries: [{ propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "buttonAction", first: true, predicate: ["buttonAction"], descendants: true }], ngImport: i0, template: "<div\n class=\"o-modal-wrapper\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_confirmDelete\"\n (keydown.escape)=\"onClick()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n>\n <div class=\"o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ data.title | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeDialog()\" #cross>\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div>\n <p *ngIf=\"data?.message as message\" class=\"a-p\">{{ message | i18n }}</p>\n </div>\n <div class=\"m-btn-group\">\n <ng-container *ngFor=\"let action of data.actions\" #buttonAction>\n <button\n (click)=\"onClick(action)\"\n class=\"a-btn\"\n type=\"button\"\n [class.a-btn--primary]=\"action.color === 'primary' || action.color === undefined\"\n [class.a-btn--secondary]=\"action.color === 'secondary'\"\n [class.a-btn--tertiary]=\"action.color === 'tertiary'\"\n [class.a-btn--ghost]=\"action.color === 'ghost'\"\n [ngClass]=\"{ 'a-btn--icon-text': action.icon }\"\n >\n <pry-icon *ngIf=\"action.icon\" [iconSvg]=\"action.icon\"></pry-icon>\n {{ action.label | i18n }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
2721
2715
|
}
|
|
2722
2716
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryDialogConfirmComponent, decorators: [{
|
|
2723
2717
|
type: Component,
|
|
2724
|
-
args: [{ selector: 'pry-dialog-confirm', template: "<div\n class=\"o-modal-wrapper\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_confirmDelete\"\n (keydown.escape)=\"onClick()\"\n>\n <div class=\"o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ data.title | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeDialog()\" #cross>\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div>\n <p *ngIf=\"data?.message as message\" class=\"a-p\">{{ message | i18n }}</p>\n </div>\n <div class=\"m-btn-group\">\n <ng-container *ngFor=\"let action of data.actions\" #buttonAction>\n <button\n (click)=\"onClick(action)\"\n class=\"a-btn\"\n type=\"button\"\n [class.a-btn--primary]=\"action.color === 'primary' || action.color === undefined\"\n [class.a-btn--secondary]=\"action.color === 'secondary'\"\n [class.a-btn--tertiary]=\"action.color === 'tertiary'\"\n [class.a-btn--ghost]=\"action.color === 'ghost'\"\n [ngClass]=\"{ 'a-btn--icon-text': action.icon }\"\n >\n <pry-icon *ngIf=\"action.icon\" [iconSvg]=\"action.icon\"></pry-icon>\n {{ action.label | i18n }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
|
|
2718
|
+
args: [{ selector: 'pry-dialog-confirm', template: "<div\n class=\"o-modal-wrapper\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_confirmDelete\"\n (keydown.escape)=\"onClick()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n>\n <div class=\"o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ data.title | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeDialog()\" #cross>\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div>\n <p *ngIf=\"data?.message as message\" class=\"a-p\">{{ message | i18n }}</p>\n </div>\n <div class=\"m-btn-group\">\n <ng-container *ngFor=\"let action of data.actions\" #buttonAction>\n <button\n (click)=\"onClick(action)\"\n class=\"a-btn\"\n type=\"button\"\n [class.a-btn--primary]=\"action.color === 'primary' || action.color === undefined\"\n [class.a-btn--secondary]=\"action.color === 'secondary'\"\n [class.a-btn--tertiary]=\"action.color === 'tertiary'\"\n [class.a-btn--ghost]=\"action.color === 'ghost'\"\n [ngClass]=\"{ 'a-btn--icon-text': action.icon }\"\n >\n <pry-icon *ngIf=\"action.icon\" [iconSvg]=\"action.icon\"></pry-icon>\n {{ action.label | i18n }}\n </button>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
|
|
2725
2719
|
}], ctorParameters: function () { return [{ type: PryDialogRef }, { type: undefined, decorators: [{
|
|
2726
2720
|
type: Inject,
|
|
2727
2721
|
args: [PRY_DIALOG_DATA]
|
|
@@ -2981,15 +2975,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
2981
2975
|
|
|
2982
2976
|
class PryOverlayModule {
|
|
2983
2977
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2984
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: PryOverlayModule, declarations: [PryTooltipDirective, PryOverlayDirective, PryDialogConfirmComponent], imports: [CommonModule, OverlayModule, PryIconModule, PryI18nModule], exports: [PryTooltipDirective, PryOverlayDirective, PryDialogConfirmComponent] }); }
|
|
2985
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryOverlayModule, imports: [CommonModule, OverlayModule, PryIconModule, PryI18nModule] }); }
|
|
2978
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: PryOverlayModule, declarations: [PryTooltipDirective, PryOverlayDirective, PryDialogConfirmComponent], imports: [CommonModule, OverlayModule, PryIconModule, PryI18nModule, A11yModule], exports: [PryTooltipDirective, PryOverlayDirective, PryDialogConfirmComponent] }); }
|
|
2979
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryOverlayModule, imports: [CommonModule, OverlayModule, PryIconModule, PryI18nModule, A11yModule] }); }
|
|
2986
2980
|
}
|
|
2987
2981
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryOverlayModule, decorators: [{
|
|
2988
2982
|
type: NgModule,
|
|
2989
2983
|
args: [{
|
|
2990
2984
|
declarations: [PryTooltipDirective, PryOverlayDirective, PryDialogConfirmComponent],
|
|
2991
2985
|
exports: [PryTooltipDirective, PryOverlayDirective, PryDialogConfirmComponent],
|
|
2992
|
-
imports: [CommonModule, OverlayModule, PryIconModule, PryI18nModule]
|
|
2986
|
+
imports: [CommonModule, OverlayModule, PryIconModule, PryI18nModule, A11yModule]
|
|
2993
2987
|
}]
|
|
2994
2988
|
}] });
|
|
2995
2989
|
|
|
@@ -3627,13 +3621,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
3627
3621
|
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1.Store }]; } });
|
|
3628
3622
|
|
|
3629
3623
|
class ConfigEffects {
|
|
3630
|
-
constructor(actions$, openMapTilesService, store, configService, snackBar, translateService) {
|
|
3624
|
+
constructor(actions$, openMapTilesService, store, configService, snackBar, translateService, pryDialog) {
|
|
3631
3625
|
this.actions$ = actions$;
|
|
3632
3626
|
this.openMapTilesService = openMapTilesService;
|
|
3633
3627
|
this.store = store;
|
|
3634
3628
|
this.configService = configService;
|
|
3635
3629
|
this.snackBar = snackBar;
|
|
3636
3630
|
this.translateService = translateService;
|
|
3631
|
+
this.pryDialog = pryDialog;
|
|
3637
3632
|
this.mapStyles$ = createEffect(() => this.actions$.pipe(ofType(ConfigActions.getMapStyles), withLatestFrom(this.store.select(ConfigSelectors.mapStyles)), filter$1(([action, mapStyles]) => !mapStyles || mapStyles.length === 0), mergeMap$1(([action]) => this.openMapTilesService.getStyles().pipe(map$1((styles) => ConfigActions.defineMapStyles({ styles }))))));
|
|
3638
3633
|
this.saveIconDefinitions$ = createEffect(() => this.actions$.pipe(ofType(ConfigActions.saveIcons), mergeMap$1((action) => this.configService
|
|
3639
3634
|
.saveDefinitions(action.definitions, SYMBOL_DOMAIN)
|
|
@@ -3692,6 +3687,24 @@ class ConfigEffects {
|
|
|
3692
3687
|
});
|
|
3693
3688
|
return throwError(error);
|
|
3694
3689
|
})))));
|
|
3690
|
+
this.confirmRestitutionDeletion$ = createEffect(() => this.actions$.pipe(ofType(ConfigActions.confirmRestitutionDeletion), tap((action) => {
|
|
3691
|
+
const data = {
|
|
3692
|
+
title: '@pry.widget.modalTitle',
|
|
3693
|
+
actions: [
|
|
3694
|
+
{
|
|
3695
|
+
id: 0,
|
|
3696
|
+
label: '@pry.toolbox.manifest.validate',
|
|
3697
|
+
actions: [ConfigActions.deleteRestitution({ id: action.id })]
|
|
3698
|
+
},
|
|
3699
|
+
{
|
|
3700
|
+
id: 1,
|
|
3701
|
+
label: '@pry.toolbox.manifest.close',
|
|
3702
|
+
color: 'secondary'
|
|
3703
|
+
}
|
|
3704
|
+
]
|
|
3705
|
+
};
|
|
3706
|
+
this.pryDialog.open(PryDialogConfirmComponent, { data });
|
|
3707
|
+
})), { dispatch: false });
|
|
3695
3708
|
this.deleteRestitution$ = createEffect(() => this.actions$.pipe(ofType(ConfigActions.deleteRestitution), mergeMap$1((action) => this.configService.deleteRestitution(action.id).pipe(map$1(() => ConfigActions.loadWidgets())))));
|
|
3696
3709
|
this.loadWidget$ = createEffect(() => this.actions$.pipe(ofType(ConfigActions.loadWidgets), mergeMap$1((action) => this.configService.getAllWidgets().pipe(map$1((widgets) => ConfigActions.loadedWidgets({ widgets }))))));
|
|
3697
3710
|
this.loadChartOption$ = createEffect(() => this.actions$.pipe(ofType(ConfigActions.loadChartOption), withLatestFrom(this.store.select(ConfigSelectors.chartOption)), map$1(([action, chartOptions]) => {
|
|
@@ -3704,12 +3717,12 @@ class ConfigEffects {
|
|
|
3704
3717
|
return ConfigActions.loadedChartOption({ chartOption });
|
|
3705
3718
|
})));
|
|
3706
3719
|
}
|
|
3707
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ConfigEffects, deps: [{ token: i1$3.Actions }, { token: OpenMapTilesService }, { token: i1.Store }, { token: ConfigService }, { token: PrySnackbarService }, { token: PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3720
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ConfigEffects, deps: [{ token: i1$3.Actions }, { token: OpenMapTilesService }, { token: i1.Store }, { token: ConfigService }, { token: PrySnackbarService }, { token: PryI18nService }, { token: PryDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3708
3721
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ConfigEffects }); }
|
|
3709
3722
|
}
|
|
3710
3723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ConfigEffects, decorators: [{
|
|
3711
3724
|
type: Injectable
|
|
3712
|
-
}], ctorParameters: function () { return [{ type: i1$3.Actions }, { type: OpenMapTilesService }, { type: i1.Store }, { type: ConfigService }, { type: PrySnackbarService }, { type: PryI18nService }]; } });
|
|
3725
|
+
}], ctorParameters: function () { return [{ type: i1$3.Actions }, { type: OpenMapTilesService }, { type: i1.Store }, { type: ConfigService }, { type: PrySnackbarService }, { type: PryI18nService }, { type: PryDialogService }]; } });
|
|
3713
3726
|
|
|
3714
3727
|
class ContextMenuEffects {
|
|
3715
3728
|
constructor(actions$) {
|
|
@@ -3765,77 +3778,7 @@ var DashboardGridLayout;
|
|
|
3765
3778
|
DashboardGridLayout["MANUAL"] = "0";
|
|
3766
3779
|
})(DashboardGridLayout || (DashboardGridLayout = {}));
|
|
3767
3780
|
|
|
3768
|
-
class
|
|
3769
|
-
constructor(httpClient, store, snackBar, translateService) {
|
|
3770
|
-
this.httpClient = httpClient;
|
|
3771
|
-
this.store = store;
|
|
3772
|
-
this.snackBar = snackBar;
|
|
3773
|
-
this.translateService = translateService;
|
|
3774
|
-
}
|
|
3775
|
-
list() {
|
|
3776
|
-
return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/users/me/dashboards`))), catchError((error) => {
|
|
3777
|
-
if (error.error instanceof Error) {
|
|
3778
|
-
// A client-side or network error occurred
|
|
3779
|
-
console.error('A frontend error occurred:', error.error.message);
|
|
3780
|
-
this.snackBar.open({
|
|
3781
|
-
type: 'error',
|
|
3782
|
-
message: this.translateService.instant('@pry.manifest.get.errorFront', { msg: error.error.message })
|
|
3783
|
-
});
|
|
3784
|
-
}
|
|
3785
|
-
else {
|
|
3786
|
-
// The backend returned an unsuccessful response code.
|
|
3787
|
-
if (error.code !== 200) {
|
|
3788
|
-
console.error(`Backend returned code ${error.status}, body was: ${JSON.stringify(error.error)}`);
|
|
3789
|
-
}
|
|
3790
|
-
if (error.code >= 400) {
|
|
3791
|
-
this.snackBar.open({
|
|
3792
|
-
type: 'error',
|
|
3793
|
-
message: this.translateService.instant('@pry.manifest.get.errorBack', {
|
|
3794
|
-
code: error.status
|
|
3795
|
-
})
|
|
3796
|
-
});
|
|
3797
|
-
}
|
|
3798
|
-
}
|
|
3799
|
-
return of([]);
|
|
3800
|
-
}));
|
|
3801
|
-
}
|
|
3802
|
-
get(id) {
|
|
3803
|
-
return this.store
|
|
3804
|
-
.select(ConfigSelectors.refUrl)
|
|
3805
|
-
.pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/users/me/dashboards/id/${id}/manifest`))));
|
|
3806
|
-
}
|
|
3807
|
-
save(name, manifest, visibility, id, description, image, cover) {
|
|
3808
|
-
return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => this.httpClient.post(encodeURI(`${url}/users/me/dashboards`), {
|
|
3809
|
-
id: id === undefined || id.length === 0 ? v4() : id,
|
|
3810
|
-
name,
|
|
3811
|
-
description,
|
|
3812
|
-
manifest,
|
|
3813
|
-
image,
|
|
3814
|
-
visibility,
|
|
3815
|
-
cover,
|
|
3816
|
-
datasource: ManifestService.getDatasourcesUsedByManifest(manifest)
|
|
3817
|
-
})));
|
|
3818
|
-
}
|
|
3819
|
-
delete(id) {
|
|
3820
|
-
return this.store
|
|
3821
|
-
.select(ConfigSelectors.refUrl)
|
|
3822
|
-
.pipe(mergeMap((url) => this.httpClient.delete(encodeURI(`${url}/users/me/dashboards/id/${id}`))));
|
|
3823
|
-
}
|
|
3824
|
-
default(id) {
|
|
3825
|
-
return this.store.select(ConfigSelectors.refUrl).pipe(withLatestFrom(this.store.select(DashboardSelectors.manifestsList)), mergeMap(([url, manifests]) => {
|
|
3826
|
-
const actual = manifests.find((manifest) => manifest.id === id);
|
|
3827
|
-
if (!!actual && !actual.default) {
|
|
3828
|
-
return this.httpClient
|
|
3829
|
-
.put(encodeURI(`${url}/users/me/dashboards/id/${id}/default`), {})
|
|
3830
|
-
.pipe(map$1(() => true));
|
|
3831
|
-
}
|
|
3832
|
-
else {
|
|
3833
|
-
return this.httpClient
|
|
3834
|
-
.delete(encodeURI(`${url}/users/me/dashboards/default`), {})
|
|
3835
|
-
.pipe(map$1(() => false));
|
|
3836
|
-
}
|
|
3837
|
-
}));
|
|
3838
|
-
}
|
|
3781
|
+
class ManifestUtils {
|
|
3839
3782
|
static getDatasourcesUsedByManifest(manifest) {
|
|
3840
3783
|
return [
|
|
3841
3784
|
...new Set(manifest.windows
|
|
@@ -3844,15 +3787,7 @@ class ManifestService {
|
|
|
3844
3787
|
.filter((dataset) => !!dataset))
|
|
3845
3788
|
];
|
|
3846
3789
|
}
|
|
3847
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ManifestService, deps: [{ token: i1$2.HttpClient }, { token: i1.Store }, { token: PrySnackbarService }, { token: PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3848
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ManifestService, providedIn: 'root' }); }
|
|
3849
3790
|
}
|
|
3850
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ManifestService, decorators: [{
|
|
3851
|
-
type: Injectable,
|
|
3852
|
-
args: [{
|
|
3853
|
-
providedIn: 'root'
|
|
3854
|
-
}]
|
|
3855
|
-
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1.Store }, { type: PrySnackbarService }, { type: PryI18nService }]; } });
|
|
3856
3791
|
|
|
3857
3792
|
const NEW_WINDOW_TARGET = -1;
|
|
3858
3793
|
const feature$4 = createFeatureSelector('@pry/dashboard');
|
|
@@ -3862,7 +3797,7 @@ const currentManifestId = createSelector(manifests, (manifests) => manifests.cur
|
|
|
3862
3797
|
const globalManifest = createSelector(manifests,
|
|
3863
3798
|
// @ts-ignore
|
|
3864
3799
|
(manifests) => ({ windows: [], ...manifests?.manifest } ?? { windows: [] }));
|
|
3865
|
-
const manifestDatasources = createSelector(globalManifest, (manifest) =>
|
|
3800
|
+
const manifestDatasources = createSelector(globalManifest, (manifest) => ManifestUtils.getDatasourcesUsedByManifest(manifest));
|
|
3866
3801
|
const staticManifest = createSelector(manifests,
|
|
3867
3802
|
// @ts-ignore
|
|
3868
3803
|
(manifests) => ({ windows: [], ...manifests?.staticManifest } ?? { windows: [] }));
|
|
@@ -3898,7 +3833,6 @@ const defaultDatasourceNames = createSelector(results, (results) => results.defa
|
|
|
3898
3833
|
const selectedItemIds = createSelector(results, (results) => results.selectedItems ?? []);
|
|
3899
3834
|
const objectDetails = createSelector(results, (results) => results.objectDetails ?? {});
|
|
3900
3835
|
const quickOrder = createSelector(results, (results) => results.quickOrder ?? {});
|
|
3901
|
-
const address = createSelector(results, (results) => (results.address ?? {}));
|
|
3902
3836
|
const allItems = createSelector(results, (results) => Object.keys(results.resultSets)
|
|
3903
3837
|
.map((rsKey) => Object.keys(results.resultSets[rsKey].items)
|
|
3904
3838
|
.map((classKey) => results.resultSets[rsKey].items[classKey])
|
|
@@ -3949,7 +3883,6 @@ const DashboardSelectors = {
|
|
|
3949
3883
|
tenants,
|
|
3950
3884
|
resultSets,
|
|
3951
3885
|
resultSetsParams,
|
|
3952
|
-
address,
|
|
3953
3886
|
namedQueriesNames,
|
|
3954
3887
|
namedQueriesUses,
|
|
3955
3888
|
availableNamedQueries,
|
|
@@ -5977,7 +5910,7 @@ class PrySelectComponent {
|
|
|
5977
5910
|
this.clearable = false;
|
|
5978
5911
|
this.multiple = false;
|
|
5979
5912
|
this.multipleClearRight = false;
|
|
5980
|
-
this.closeOnSelect =
|
|
5913
|
+
this.closeOnSelect = true;
|
|
5981
5914
|
this.isForm = false;
|
|
5982
5915
|
this.readonly = false;
|
|
5983
5916
|
this.itemsAsOption = false;
|
|
@@ -6265,7 +6198,7 @@ class PryShareComponent {
|
|
|
6265
6198
|
useExisting: forwardRef(() => PryShareComponent),
|
|
6266
6199
|
multi: true
|
|
6267
6200
|
}
|
|
6268
|
-
], ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"visibilityTypes\"\n [labelTranslate]=\"true\"\n [ngModel]=\"value?.type\"\n [disabled]=\"_disabled\"\n baseTranslate=\"@pry.share.\"\n class=\"a-pry-select\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"share_type\"\n bindIcon=\"icon\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n\n<ng-container *ngIf=\"value?.type === PryVisibilityType.RESTRICTED\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"users\">{{ '@pry.share.users' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueUsers($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"users$ | async\"\n [multiple]=\"true\"\n [ngModel]=\"value?.users\"\n [disabled]=\"_disabled\"\n [bindLabel]=\"labelProperty\"\n [bindValue]=\"valueProperty\"\n [autocomplete]=\"true\"\n class=\"a-pry-select\"\n id=\"users\"\n ></pry-select>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6201
|
+
], ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"visibilityTypes\"\n [labelTranslate]=\"true\"\n [ngModel]=\"value?.type\"\n [disabled]=\"_disabled\"\n baseTranslate=\"@pry.share.\"\n class=\"a-pry-select\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"share_type\"\n bindIcon=\"icon\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n\n<ng-container *ngIf=\"value?.type === PryVisibilityType.RESTRICTED\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"users\">{{ '@pry.share.users' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueUsers($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"users$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [ngModel]=\"value?.users\"\n [disabled]=\"_disabled\"\n [bindLabel]=\"labelProperty\"\n [bindValue]=\"valueProperty\"\n [autocomplete]=\"true\"\n class=\"a-pry-select\"\n id=\"users\"\n ></pry-select>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6269
6202
|
}
|
|
6270
6203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryShareComponent, decorators: [{
|
|
6271
6204
|
type: Component,
|
|
@@ -6275,7 +6208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
6275
6208
|
useExisting: forwardRef(() => PryShareComponent),
|
|
6276
6209
|
multi: true
|
|
6277
6210
|
}
|
|
6278
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"visibilityTypes\"\n [labelTranslate]=\"true\"\n [ngModel]=\"value?.type\"\n [disabled]=\"_disabled\"\n baseTranslate=\"@pry.share.\"\n class=\"a-pry-select\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"share_type\"\n bindIcon=\"icon\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n\n<ng-container *ngIf=\"value?.type === PryVisibilityType.RESTRICTED\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"users\">{{ '@pry.share.users' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueUsers($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"users$ | async\"\n [multiple]=\"true\"\n [ngModel]=\"value?.users\"\n [disabled]=\"_disabled\"\n [bindLabel]=\"labelProperty\"\n [bindValue]=\"valueProperty\"\n [autocomplete]=\"true\"\n class=\"a-pry-select\"\n id=\"users\"\n ></pry-select>\n </div>\n</ng-container>\n" }]
|
|
6211
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"visibilityTypes\"\n [labelTranslate]=\"true\"\n [ngModel]=\"value?.type\"\n [disabled]=\"_disabled\"\n baseTranslate=\"@pry.share.\"\n class=\"a-pry-select\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"share_type\"\n bindIcon=\"icon\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n\n<ng-container *ngIf=\"value?.type === PryVisibilityType.RESTRICTED\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"users\">{{ '@pry.share.users' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueUsers($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"users$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [ngModel]=\"value?.users\"\n [disabled]=\"_disabled\"\n [bindLabel]=\"labelProperty\"\n [bindValue]=\"valueProperty\"\n [autocomplete]=\"true\"\n class=\"a-pry-select\"\n id=\"users\"\n ></pry-select>\n </div>\n</ng-container>\n" }]
|
|
6279
6212
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { value: [{
|
|
6280
6213
|
type: Input
|
|
6281
6214
|
}], labelProperty: [{
|
|
@@ -6766,6 +6699,7 @@ var DisplayMode;
|
|
|
6766
6699
|
})(DisplayMode || (DisplayMode = {}));
|
|
6767
6700
|
function getDisplayOptions(mode) {
|
|
6768
6701
|
const displayOptions = {
|
|
6702
|
+
presentationTitle: true,
|
|
6769
6703
|
search: false,
|
|
6770
6704
|
catalog: false,
|
|
6771
6705
|
useFilters: false,
|
|
@@ -6790,8 +6724,9 @@ function getDisplayOptions(mode) {
|
|
|
6790
6724
|
case DisplayMode.SEARCH:
|
|
6791
6725
|
return {
|
|
6792
6726
|
...displayOptions,
|
|
6727
|
+
presentationTitle: false,
|
|
6793
6728
|
search: true,
|
|
6794
|
-
toolbox: { ...displayOptions.toolbox, refresh_datasets: true }
|
|
6729
|
+
toolbox: { ...displayOptions.toolbox, clear_view: true, default_size: true, refresh_datasets: true }
|
|
6795
6730
|
};
|
|
6796
6731
|
case DisplayMode.EDIT:
|
|
6797
6732
|
case DisplayMode.CREATE:
|
|
@@ -7356,10 +7291,6 @@ class ContextMenuComponent extends SubscriptionnerDirective {
|
|
|
7356
7291
|
this.store.dispatch(DashboardActions.invertSelection());
|
|
7357
7292
|
this.hide();
|
|
7358
7293
|
}
|
|
7359
|
-
addressFromLoc() {
|
|
7360
|
-
this.store.dispatch(DashboardActions.searchAddressForPoint({ coordinates: this.coordinates ?? [0, 0] }));
|
|
7361
|
-
this.hide();
|
|
7362
|
-
}
|
|
7363
7294
|
flyingDetail() {
|
|
7364
7295
|
this.detailManifest.options.itemIds = [this.itemId ?? ''];
|
|
7365
7296
|
this.overlayDetailRef = this.overlay.create(new OverlayConfig({
|
|
@@ -7377,11 +7308,11 @@ class ContextMenuComponent extends SubscriptionnerDirective {
|
|
|
7377
7308
|
this.store.dispatch(ConfigActions.closeOverlay({ id: this.constructor.name + '-detail' }));
|
|
7378
7309
|
}
|
|
7379
7310
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ContextMenuComponent, deps: [{ token: i1.Store }, { token: i2$1.Overlay }, { token: i0.ViewContainerRef }, { token: WidgetFactoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7380
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: ContextMenuComponent, selector: "pry-context-menu", viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "detailTemplate", first: true, predicate: ["detailTemplate"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ul class=\"m-context-menu__list\">\n <ng-container *ngIf=\"!!itemId\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"selectionAddOrRemove()\">\n {{ ((isSelected$ | async) ? '@pry.context.remove' : '@pry.context.add') | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"selectionInvert()\">\n {{ '@pry.context.invert' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" *ngIf=\"!!resultSet\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"proximity()\" *ngIf=\"!!resultSet\">\n {{ '@pry.context.proximity' | i18n }}\n </button>\n </li>\n <ng-container *ngIf=\"isModuleLoaded['graph']\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"explore()\">\n {{ '@pry.context.explore' | i18n }}\n </button>\n </li>\n </ng-container>\n <ng-container *ngIf=\"isModuleLoaded['detail']\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"detail()\">\n {{ '@pry.context.detail' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"flyingDetail()\">\n {{ '@pry.context.flyingDetail' | i18n }}\n </button>\n </li>\n </ng-container>\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'dashboard', action: 'edit_object' }\">\n <li class=\"m-context-menu__list__item\">\n <pry-object-creation\n (closed)=\"hide()\"\n [link]=\"true\"\n [object]=\"false\"\n [menu]=\"true\"\n *ngIf=\"(selectedItemsIds?.length ?? 0) > 0\"\n ></pry-object-creation>\n <pry-object-creation (closed)=\"hide()\" [link]=\"true\" [object]=\"true\" [menu]=\"true\"></pry-object-creation>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'dashboard', action: 'edit_object' }\">\n <li class=\"m-context-menu__list__item\">\n <pry-object-creation (closed)=\"hide()\" [object]=\"true\" [menu]=\"true\"></pry-object-creation>\n </li>\n </ng-container>\n
|
|
7311
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: ContextMenuComponent, selector: "pry-context-menu", viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "detailTemplate", first: true, predicate: ["detailTemplate"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ul class=\"m-context-menu__list\">\n <ng-container *ngIf=\"!!itemId\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"selectionAddOrRemove()\">\n {{ ((isSelected$ | async) ? '@pry.context.remove' : '@pry.context.add') | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"selectionInvert()\">\n {{ '@pry.context.invert' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" *ngIf=\"!!resultSet\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"proximity()\" *ngIf=\"!!resultSet\">\n {{ '@pry.context.proximity' | i18n }}\n </button>\n </li>\n <ng-container *ngIf=\"isModuleLoaded['graph']\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"explore()\">\n {{ '@pry.context.explore' | i18n }}\n </button>\n </li>\n </ng-container>\n <ng-container *ngIf=\"isModuleLoaded['detail']\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"detail()\">\n {{ '@pry.context.detail' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"flyingDetail()\">\n {{ '@pry.context.flyingDetail' | i18n }}\n </button>\n </li>\n </ng-container>\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'dashboard', action: 'edit_object' }\">\n <li class=\"m-context-menu__list__item\">\n <pry-object-creation\n (closed)=\"hide()\"\n [link]=\"true\"\n [object]=\"false\"\n [menu]=\"true\"\n *ngIf=\"(selectedItemsIds?.length ?? 0) > 0\"\n ></pry-object-creation>\n <pry-object-creation (closed)=\"hide()\" [link]=\"true\" [object]=\"true\" [menu]=\"true\"></pry-object-creation>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'dashboard', action: 'edit_object' }\">\n <li class=\"m-context-menu__list__item\">\n <pry-object-creation (closed)=\"hide()\" [object]=\"true\" [menu]=\"true\"></pry-object-creation>\n </li>\n </ng-container>\n </ul>\n</ng-template>\n<ng-template #detailTemplate>\n <div class=\"o-settings__popup__header\">\n <h2 class=\"a-h2\">{{ '@pry.context.flyingDetail' | i18n }}</h2>\n <button type=\"button\" (click)=\"hideDetail()\" class=\"a-btn a-btn--icon-only -close\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n <div class=\"o-settings__popup__content\">\n <pry-widget-instanciator [staticManifest]=\"detailManifest\"></pry-widget-instanciator>\n </div>\n <div class=\"o-settings__popup__footer\">\n <button (click)=\"hideDetail()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.action.close' | i18n }}\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: WidgetInstanciatorComponent, selector: "pry-widget-instanciator", inputs: ["widgetIndex", "staticManifest", "standalone", "open$"], outputs: ["manifestModified", "widgetInstance"] }, { kind: "component", type: PryObjectEditionComponent, selector: "pry-object-creation", inputs: ["link", "object", "menu"], outputs: ["closed"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
7381
7312
|
}
|
|
7382
7313
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ContextMenuComponent, decorators: [{
|
|
7383
7314
|
type: Component,
|
|
7384
|
-
args: [{ selector: 'pry-context-menu', template: "<ng-template #template>\n <ul class=\"m-context-menu__list\">\n <ng-container *ngIf=\"!!itemId\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"selectionAddOrRemove()\">\n {{ ((isSelected$ | async) ? '@pry.context.remove' : '@pry.context.add') | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"selectionInvert()\">\n {{ '@pry.context.invert' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" *ngIf=\"!!resultSet\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"proximity()\" *ngIf=\"!!resultSet\">\n {{ '@pry.context.proximity' | i18n }}\n </button>\n </li>\n <ng-container *ngIf=\"isModuleLoaded['graph']\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"explore()\">\n {{ '@pry.context.explore' | i18n }}\n </button>\n </li>\n </ng-container>\n <ng-container *ngIf=\"isModuleLoaded['detail']\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"detail()\">\n {{ '@pry.context.detail' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"flyingDetail()\">\n {{ '@pry.context.flyingDetail' | i18n }}\n </button>\n </li>\n </ng-container>\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'dashboard', action: 'edit_object' }\">\n <li class=\"m-context-menu__list__item\">\n <pry-object-creation\n (closed)=\"hide()\"\n [link]=\"true\"\n [object]=\"false\"\n [menu]=\"true\"\n *ngIf=\"(selectedItemsIds?.length ?? 0) > 0\"\n ></pry-object-creation>\n <pry-object-creation (closed)=\"hide()\" [link]=\"true\" [object]=\"true\" [menu]=\"true\"></pry-object-creation>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'dashboard', action: 'edit_object' }\">\n <li class=\"m-context-menu__list__item\">\n <pry-object-creation (closed)=\"hide()\" [object]=\"true\" [menu]=\"true\"></pry-object-creation>\n </li>\n </ng-container>\n
|
|
7315
|
+
args: [{ selector: 'pry-context-menu', template: "<ng-template #template>\n <ul class=\"m-context-menu__list\">\n <ng-container *ngIf=\"!!itemId\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"selectionAddOrRemove()\">\n {{ ((isSelected$ | async) ? '@pry.context.remove' : '@pry.context.add') | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"selectionInvert()\">\n {{ '@pry.context.invert' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" *ngIf=\"!!resultSet\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"proximity()\" *ngIf=\"!!resultSet\">\n {{ '@pry.context.proximity' | i18n }}\n </button>\n </li>\n <ng-container *ngIf=\"isModuleLoaded['graph']\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"explore()\">\n {{ '@pry.context.explore' | i18n }}\n </button>\n </li>\n </ng-container>\n <ng-container *ngIf=\"isModuleLoaded['detail']\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"detail()\">\n {{ '@pry.context.detail' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"flyingDetail()\">\n {{ '@pry.context.flyingDetail' | i18n }}\n </button>\n </li>\n </ng-container>\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'dashboard', action: 'edit_object' }\">\n <li class=\"m-context-menu__list__item\">\n <pry-object-creation\n (closed)=\"hide()\"\n [link]=\"true\"\n [object]=\"false\"\n [menu]=\"true\"\n *ngIf=\"(selectedItemsIds?.length ?? 0) > 0\"\n ></pry-object-creation>\n <pry-object-creation (closed)=\"hide()\" [link]=\"true\" [object]=\"true\" [menu]=\"true\"></pry-object-creation>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'dashboard', action: 'edit_object' }\">\n <li class=\"m-context-menu__list__item\">\n <pry-object-creation (closed)=\"hide()\" [object]=\"true\" [menu]=\"true\"></pry-object-creation>\n </li>\n </ng-container>\n </ul>\n</ng-template>\n<ng-template #detailTemplate>\n <div class=\"o-settings__popup__header\">\n <h2 class=\"a-h2\">{{ '@pry.context.flyingDetail' | i18n }}</h2>\n <button type=\"button\" (click)=\"hideDetail()\" class=\"a-btn a-btn--icon-only -close\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n <div class=\"o-settings__popup__content\">\n <pry-widget-instanciator [staticManifest]=\"detailManifest\"></pry-widget-instanciator>\n </div>\n <div class=\"o-settings__popup__footer\">\n <button (click)=\"hideDetail()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.action.close' | i18n }}\n </button>\n </div>\n</ng-template>\n" }]
|
|
7385
7316
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2$1.Overlay }, { type: i0.ViewContainerRef }, { type: WidgetFactoryService }]; }, propDecorators: { template: [{
|
|
7386
7317
|
type: ViewChild,
|
|
7387
7318
|
args: ['template', { read: TemplateRef }]
|
|
@@ -9453,6 +9384,9 @@ class SettingsComponent extends SubscriptionnerDirective {
|
|
|
9453
9384
|
this.overlayRef.backdropClick().subscribe((_) => this.toggle());
|
|
9454
9385
|
this.overlayRef.attach(new TemplatePortal(this.template, this.viewContainerRef));
|
|
9455
9386
|
}
|
|
9387
|
+
focusElement(element) {
|
|
9388
|
+
element.focus();
|
|
9389
|
+
}
|
|
9456
9390
|
focusCrossElement() {
|
|
9457
9391
|
this.cross.nativeElement.focus();
|
|
9458
9392
|
}
|
|
@@ -9468,11 +9402,11 @@ class SettingsComponent extends SubscriptionnerDirective {
|
|
|
9468
9402
|
this.subscriptions.unsubscribe();
|
|
9469
9403
|
}
|
|
9470
9404
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: SettingsComponent, deps: [{ token: i1.Store }, { token: i2$1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9471
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: SettingsComponent, selector: "pry-settings", inputs: { widgetIndex: "widgetIndex", isDisable: "isDisable", headerPresent: "headerPresent", open$: "open$", header: "header" }, outputs: { saveTriggered: "saveTriggered", changeTitle: "changeTitle" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "validate", first: true, predicate: ["validate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button\n type=\"button\"\n (click)=\"toggle()\"\n class=\"a-btn a-btn--icon-text -settings\"\n [pryTooltip]=\"infoTooltipSearch\"\n aria-describedby=\"infoTooltipSearch_settings\"\n>\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_setting\">\n <div class=\"o-settings__popup__header\">\n <h2 class=\"a-h2\">{{ '@pry.widget.settings.title' | i18n }}</h2>\n <button\n type=\"button\"\n #cross\n (keydown.shift.tab)=\"
|
|
9405
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: SettingsComponent, selector: "pry-settings", inputs: { widgetIndex: "widgetIndex", isDisable: "isDisable", headerPresent: "headerPresent", open$: "open$", header: "header" }, outputs: { saveTriggered: "saveTriggered", changeTitle: "changeTitle" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "validate", first: true, predicate: ["validate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button\n type=\"button\"\n (click)=\"toggle()\"\n class=\"a-btn a-btn--icon-text -settings\"\n [pryTooltip]=\"infoTooltipSearch\"\n aria-describedby=\"infoTooltipSearch_settings\"\n>\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_setting\">\n <div class=\"o-settings__popup__header\">\n <h2 class=\"a-h2\">{{ '@pry.widget.settings.title' | i18n }}</h2>\n <button\n type=\"button\"\n #cross\n (keydown.shift.tab)=\"focusElement(this.validate)\"\n (click)=\"toggle()\"\n class=\"a-btn a-btn--icon-only -close\"\n >\n <pry-icon iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n\n <div class=\"o-settings__popup__content\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"widget_title\">{{ '@pry.widget.settings.changeTitle' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"widget_title\"\n type=\"text\"\n [value]=\"manifest?.title ?? ''\"\n (input)=\"emitTitle($event)\"\n />\n </div>\n <ng-content></ng-content>\n </div>\n\n <div class=\"o-settings__popup__footer\">\n <button\n (click)=\"saveAndClose()\"\n [class.btn-primary__disable]=\"isDisable\"\n [disabled]=\"isDisable\"\n (keydown.tab)=\"focusElement(this.cross)\"\n class=\"a-btn a-btn--primary\"\n #validate\n >\n {{ '@pry.widget.settings.validateUpdating' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #infoTooltipSearch>\n <div class=\"m-tooltip\" aria-hidden=\"true\" role=\"tooltip\" id=\"infoTooltipSearch_settings\">\n <span class=\"m-tooltip__text\"> {{ '@pry.widget.tooltip.openParameter' | i18n }}</span>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: PryTooltipDirective, selector: "[pryTooltip]", inputs: ["pryTooltip", "styleReversed", "pryTooltipContext", "pryTooltipPosition", "pryTooltipShowDelay"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
9472
9406
|
}
|
|
9473
9407
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: SettingsComponent, decorators: [{
|
|
9474
9408
|
type: Component,
|
|
9475
|
-
args: [{ selector: 'pry-settings', template: "<button\n type=\"button\"\n (click)=\"toggle()\"\n class=\"a-btn a-btn--icon-text -settings\"\n [pryTooltip]=\"infoTooltipSearch\"\n aria-describedby=\"infoTooltipSearch_settings\"\n>\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_setting\">\n <div class=\"o-settings__popup__header\">\n <h2 class=\"a-h2\">{{ '@pry.widget.settings.title' | i18n }}</h2>\n <button\n type=\"button\"\n #cross\n (keydown.shift.tab)=\"
|
|
9409
|
+
args: [{ selector: 'pry-settings', template: "<button\n type=\"button\"\n (click)=\"toggle()\"\n class=\"a-btn a-btn--icon-text -settings\"\n [pryTooltip]=\"infoTooltipSearch\"\n aria-describedby=\"infoTooltipSearch_settings\"\n>\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_setting\">\n <div class=\"o-settings__popup__header\">\n <h2 class=\"a-h2\">{{ '@pry.widget.settings.title' | i18n }}</h2>\n <button\n type=\"button\"\n #cross\n (keydown.shift.tab)=\"focusElement(this.validate)\"\n (click)=\"toggle()\"\n class=\"a-btn a-btn--icon-only -close\"\n >\n <pry-icon iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n\n <div class=\"o-settings__popup__content\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"widget_title\">{{ '@pry.widget.settings.changeTitle' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"widget_title\"\n type=\"text\"\n [value]=\"manifest?.title ?? ''\"\n (input)=\"emitTitle($event)\"\n />\n </div>\n <ng-content></ng-content>\n </div>\n\n <div class=\"o-settings__popup__footer\">\n <button\n (click)=\"saveAndClose()\"\n [class.btn-primary__disable]=\"isDisable\"\n [disabled]=\"isDisable\"\n (keydown.tab)=\"focusElement(this.cross)\"\n class=\"a-btn a-btn--primary\"\n #validate\n >\n {{ '@pry.widget.settings.validateUpdating' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #infoTooltipSearch>\n <div class=\"m-tooltip\" aria-hidden=\"true\" role=\"tooltip\" id=\"infoTooltipSearch_settings\">\n <span class=\"m-tooltip__text\"> {{ '@pry.widget.tooltip.openParameter' | i18n }}</span>\n </div>\n</ng-template>\n" }]
|
|
9476
9410
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2$1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { widgetIndex: [{
|
|
9477
9411
|
type: Input
|
|
9478
9412
|
}], isDisable: [{
|
|
@@ -9623,6 +9557,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
9623
9557
|
args: ['filters', { read: ViewContainerRef }]
|
|
9624
9558
|
}] } });
|
|
9625
9559
|
|
|
9560
|
+
class ManifestService {
|
|
9561
|
+
constructor(httpClient, store, snackBar, translateService) {
|
|
9562
|
+
this.httpClient = httpClient;
|
|
9563
|
+
this.store = store;
|
|
9564
|
+
this.snackBar = snackBar;
|
|
9565
|
+
this.translateService = translateService;
|
|
9566
|
+
}
|
|
9567
|
+
list() {
|
|
9568
|
+
return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/users/me/dashboards`))), catchError((error) => {
|
|
9569
|
+
if (error.error instanceof Error) {
|
|
9570
|
+
// A client-side or network error occurred
|
|
9571
|
+
console.error('A frontend error occurred:', error.error.message);
|
|
9572
|
+
this.snackBar.open({
|
|
9573
|
+
type: 'error',
|
|
9574
|
+
message: this.translateService.instant('@pry.manifest.get.errorFront', { msg: error.error.message })
|
|
9575
|
+
});
|
|
9576
|
+
}
|
|
9577
|
+
else {
|
|
9578
|
+
// The backend returned an unsuccessful response code.
|
|
9579
|
+
if (error.code !== 200) {
|
|
9580
|
+
console.error(`Backend returned code ${error.status}, body was: ${JSON.stringify(error.error)}`);
|
|
9581
|
+
}
|
|
9582
|
+
if (error.code >= 400) {
|
|
9583
|
+
this.snackBar.open({
|
|
9584
|
+
type: 'error',
|
|
9585
|
+
message: this.translateService.instant('@pry.manifest.get.errorBack', {
|
|
9586
|
+
code: error.status
|
|
9587
|
+
})
|
|
9588
|
+
});
|
|
9589
|
+
}
|
|
9590
|
+
}
|
|
9591
|
+
return of([]);
|
|
9592
|
+
}));
|
|
9593
|
+
}
|
|
9594
|
+
get(id) {
|
|
9595
|
+
return this.store
|
|
9596
|
+
.select(ConfigSelectors.refUrl)
|
|
9597
|
+
.pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/users/me/dashboards/id/${id}/manifest`))));
|
|
9598
|
+
}
|
|
9599
|
+
save(name, manifest, visibility, id, description, image, cover) {
|
|
9600
|
+
return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => this.httpClient.post(encodeURI(`${url}/users/me/dashboards`), {
|
|
9601
|
+
id: id === undefined || id.length === 0 ? v4() : id,
|
|
9602
|
+
name,
|
|
9603
|
+
description,
|
|
9604
|
+
manifest,
|
|
9605
|
+
image,
|
|
9606
|
+
visibility,
|
|
9607
|
+
cover,
|
|
9608
|
+
datasource: ManifestUtils.getDatasourcesUsedByManifest(manifest)
|
|
9609
|
+
})));
|
|
9610
|
+
}
|
|
9611
|
+
delete(id) {
|
|
9612
|
+
return this.store
|
|
9613
|
+
.select(ConfigSelectors.refUrl)
|
|
9614
|
+
.pipe(mergeMap((url) => this.httpClient.delete(encodeURI(`${url}/users/me/dashboards/id/${id}`))));
|
|
9615
|
+
}
|
|
9616
|
+
default(id) {
|
|
9617
|
+
return this.store.select(ConfigSelectors.refUrl).pipe(withLatestFrom(this.store.select(DashboardSelectors.manifestsList)), mergeMap(([url, manifests]) => {
|
|
9618
|
+
const actual = manifests.find((manifest) => manifest.id === id);
|
|
9619
|
+
if (!!actual && !actual.default) {
|
|
9620
|
+
return this.httpClient
|
|
9621
|
+
.put(encodeURI(`${url}/users/me/dashboards/id/${id}/default`), {})
|
|
9622
|
+
.pipe(map$1(() => true));
|
|
9623
|
+
}
|
|
9624
|
+
else {
|
|
9625
|
+
return this.httpClient
|
|
9626
|
+
.delete(encodeURI(`${url}/users/me/dashboards/default`), {})
|
|
9627
|
+
.pipe(map$1(() => false));
|
|
9628
|
+
}
|
|
9629
|
+
}));
|
|
9630
|
+
}
|
|
9631
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ManifestService, deps: [{ token: i1$2.HttpClient }, { token: i1.Store }, { token: PrySnackbarService }, { token: PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9632
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ManifestService, providedIn: 'root' }); }
|
|
9633
|
+
}
|
|
9634
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ManifestService, decorators: [{
|
|
9635
|
+
type: Injectable,
|
|
9636
|
+
args: [{
|
|
9637
|
+
providedIn: 'root'
|
|
9638
|
+
}]
|
|
9639
|
+
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1.Store }, { type: PrySnackbarService }, { type: PryI18nService }]; } });
|
|
9640
|
+
|
|
9626
9641
|
class DefaultViewGuard {
|
|
9627
9642
|
constructor(manifestService, router, store) {
|
|
9628
9643
|
this.manifestService = manifestService;
|
|
@@ -9792,7 +9807,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
9792
9807
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
9793
9808
|
|
|
9794
9809
|
class DashboardEffects {
|
|
9795
|
-
constructor(dashboardInitService, actions$, store, manifestService, itemService, titleService, translateService, snackBar, router, geocodingService, refreshService, toolboxManifestService, busService, searchService) {
|
|
9810
|
+
constructor(dashboardInitService, actions$, store, manifestService, itemService, titleService, translateService, snackBar, router, geocodingService, refreshService, toolboxManifestService, busService, searchService, pryDialog) {
|
|
9796
9811
|
this.dashboardInitService = dashboardInitService;
|
|
9797
9812
|
this.actions$ = actions$;
|
|
9798
9813
|
this.store = store;
|
|
@@ -9807,6 +9822,7 @@ class DashboardEffects {
|
|
|
9807
9822
|
this.toolboxManifestService = toolboxManifestService;
|
|
9808
9823
|
this.busService = busService;
|
|
9809
9824
|
this.searchService = searchService;
|
|
9825
|
+
this.pryDialog = pryDialog;
|
|
9810
9826
|
this.join$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.join), withLatestFrom(this.store.select(DashboardSelectors.rank), this.store.select(DashboardSelectors.tenants), this.store.select(DashboardSelectors.globalManifest), this.store.select(DashboardSelectors.resultSets), this.store.select(DashboardSelectors.selectedItemIds), this.store.select(DashboardSelectors.presentation)), filter$1(([action, rank, tenants, manifest, resultSets]) => rank === 0), map$1(([action, rank, tenants, manifest, resultSets, selectedIds, presentation]) => DashboardActions.updateManifestAfterTenantJoin({
|
|
9811
9827
|
tenants,
|
|
9812
9828
|
manifest: {
|
|
@@ -9936,6 +9952,24 @@ class DashboardEffects {
|
|
|
9936
9952
|
});
|
|
9937
9953
|
}))), map$1(() => DashboardActions.fetchManifestsList())));
|
|
9938
9954
|
this.listManifests$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.fetchManifestsList), withLatestFrom(this.store.select(DashboardSelectors.rank)), filter$1(([action, rank]) => rank === 0 || rank === -1), mergeMap$1(([action, rank]) => this.manifestService.list().pipe(map$1((manifests) => DashboardActions.updateManifestsList({ manifests }))))));
|
|
9955
|
+
this.confirmManifestDeletion$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.confirmManifestDeletion), tap((action) => {
|
|
9956
|
+
const data = {
|
|
9957
|
+
title: '@pry.widget.modalTitle',
|
|
9958
|
+
actions: [
|
|
9959
|
+
{
|
|
9960
|
+
id: 0,
|
|
9961
|
+
label: '@pry.toolbox.manifest.validate',
|
|
9962
|
+
actions: [DashboardActions.deleteManifest({ id: action.id })]
|
|
9963
|
+
},
|
|
9964
|
+
{
|
|
9965
|
+
id: 1,
|
|
9966
|
+
label: '@pry.toolbox.manifest.close',
|
|
9967
|
+
color: 'secondary'
|
|
9968
|
+
}
|
|
9969
|
+
]
|
|
9970
|
+
};
|
|
9971
|
+
this.pryDialog.open(PryDialogConfirmComponent, { data });
|
|
9972
|
+
})), { dispatch: false });
|
|
9939
9973
|
this.deleteManifest$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.deleteManifest), mergeMap$1((action) => this.manifestService.delete(action.id).pipe(map$1(() => DashboardActions.fetchManifestsList())))));
|
|
9940
9974
|
this.fetchObjectsDetails$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.fetchObjectsDetails), mergeMap$1((action) => merge(...action.ids.map((id) => this.itemService.get(id)))), map$1((item) => DashboardActions.updateObjectsDetails({ list: { [item.id]: item } }))));
|
|
9941
9975
|
this.proximitySearch$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.proximity), withLatestFrom(this.store.select(DashboardSelectors.resultSets)), mergeMap$1(([action, resultSets]) => this.itemService.proximity(action.id).pipe(map$1((proxRs) => {
|
|
@@ -9945,13 +9979,6 @@ class DashboardEffects {
|
|
|
9945
9979
|
});
|
|
9946
9980
|
})))));
|
|
9947
9981
|
this.explore$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.explore), mergeMap$1((action) => [DashboardActions.proximity({ id: action.id, targetResultSet: EXPLORE_NAMED_QUERY_ID })])));
|
|
9948
|
-
this.searchAddress$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.searchAddressForPoint), mergeMap$1((action) => this.geocodingService.fromLatLong(action.coordinates).pipe(map$1((address) => DashboardActions.displayAddress({ address })), catchError((error) => {
|
|
9949
|
-
this.snackBar.open({
|
|
9950
|
-
type: 'error',
|
|
9951
|
-
message: this.translateService.instant('@pry.context.errorSearchAddress')
|
|
9952
|
-
});
|
|
9953
|
-
return throwError(error);
|
|
9954
|
-
})))));
|
|
9955
9982
|
this.detailAsLoadInWidget$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.detail), map$1((action) => DashboardActions.addWidgetToPresentation({
|
|
9956
9983
|
id: '',
|
|
9957
9984
|
widgetType: 'detail',
|
|
@@ -10092,12 +10119,12 @@ class DashboardEffects {
|
|
|
10092
10119
|
dashboardInitService.init();
|
|
10093
10120
|
refreshService.start();
|
|
10094
10121
|
}
|
|
10095
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DashboardEffects, deps: [{ token: DashboardInitService }, { token: i1$3.Actions }, { token: i1.Store }, { token: ManifestService }, { token: ItemService }, { token: PryTitleService }, { token: PryI18nService }, { token: PrySnackbarService }, { token: i2.Router }, { token: GeocodingService }, { token: RefreshService }, { token: ToolboxManifestService }, { token: BusService }, { token: SearchService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DashboardEffects, deps: [{ token: DashboardInitService }, { token: i1$3.Actions }, { token: i1.Store }, { token: ManifestService }, { token: ItemService }, { token: PryTitleService }, { token: PryI18nService }, { token: PrySnackbarService }, { token: i2.Router }, { token: GeocodingService }, { token: RefreshService }, { token: ToolboxManifestService }, { token: BusService }, { token: SearchService }, { token: PryDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10096
10123
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DashboardEffects }); }
|
|
10097
10124
|
}
|
|
10098
10125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DashboardEffects, decorators: [{
|
|
10099
10126
|
type: Injectable
|
|
10100
|
-
}], ctorParameters: function () { return [{ type: DashboardInitService }, { type: i1$3.Actions }, { type: i1.Store }, { type: ManifestService }, { type: ItemService }, { type: PryTitleService }, { type: PryI18nService }, { type: PrySnackbarService }, { type: i2.Router }, { type: GeocodingService }, { type: RefreshService }, { type: ToolboxManifestService }, { type: BusService }, { type: SearchService }]; } });
|
|
10127
|
+
}], ctorParameters: function () { return [{ type: DashboardInitService }, { type: i1$3.Actions }, { type: i1.Store }, { type: ManifestService }, { type: ItemService }, { type: PryTitleService }, { type: PryI18nService }, { type: PrySnackbarService }, { type: i2.Router }, { type: GeocodingService }, { type: RefreshService }, { type: ToolboxManifestService }, { type: BusService }, { type: SearchService }, { type: PryDialogService }]; } });
|
|
10101
10128
|
|
|
10102
10129
|
const dashboardFeatureKey = '@pry/dashboard';
|
|
10103
10130
|
const dashboardInitialState = {
|
|
@@ -10131,7 +10158,6 @@ const dashboardInitialState = {
|
|
|
10131
10158
|
defaultDatasource: ['current'],
|
|
10132
10159
|
selectedItems: [],
|
|
10133
10160
|
objectDetails: {},
|
|
10134
|
-
address: undefined,
|
|
10135
10161
|
quickOrder: {}
|
|
10136
10162
|
},
|
|
10137
10163
|
dashboard: {
|
|
@@ -10454,14 +10480,6 @@ const internalReducer = createReducer(dashboardInitialState, on(DashboardActions
|
|
|
10454
10480
|
}
|
|
10455
10481
|
}
|
|
10456
10482
|
};
|
|
10457
|
-
}), on(DashboardActions.displayAddress, (state, action) => {
|
|
10458
|
-
return {
|
|
10459
|
-
...state,
|
|
10460
|
-
results: {
|
|
10461
|
-
...state.results,
|
|
10462
|
-
address: action.address
|
|
10463
|
-
}
|
|
10464
|
-
};
|
|
10465
10483
|
}), on(DashboardActions.setRefreshRate, (state, action) => {
|
|
10466
10484
|
return {
|
|
10467
10485
|
...state,
|
|
@@ -10733,11 +10751,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
10733
10751
|
|
|
10734
10752
|
class DefaultTooltipComponent extends BaseTooltipComponent {
|
|
10735
10753
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DefaultTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
10736
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: DefaultTooltipComponent, selector: "pry-default-tooltip", usesInheritance: true, ngImport: i0, template: "<div class=\"m-tooltip__item__content\" *ngIf=\"data.item.properties; else defaultTooltip\">\n
|
|
10754
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: DefaultTooltipComponent, selector: "pry-default-tooltip", usesInheritance: true, ngImport: i0, template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId : { type: 'class', output: 'name' } | async\"\n width=\"32\"\n aria-hidden=\"true\"\n />\n <span>{{ data.item.oClass | translateId : { type: 'class', output: 'name' } | async }}</span>\n </h3>\n <p>\n <span>{{ '@pry.widget.itemId' | i18n }} :</span> {{ data.item?.id }}\n </p>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
10737
10755
|
}
|
|
10738
10756
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: DefaultTooltipComponent, decorators: [{
|
|
10739
10757
|
type: Component,
|
|
10740
|
-
args: [{ selector: 'pry-default-tooltip', template: "<div class=\"m-tooltip__item__content\" *ngIf=\"data.item.properties; else defaultTooltip\">\n
|
|
10758
|
+
args: [{ selector: 'pry-default-tooltip', template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId : { type: 'class', output: 'name' } | async\"\n width=\"32\"\n aria-hidden=\"true\"\n />\n <span>{{ data.item.oClass | translateId : { type: 'class', output: 'name' } | async }}</span>\n </h3>\n <p>\n <span>{{ '@pry.widget.itemId' | i18n }} :</span> {{ data.item?.id }}\n </p>\n</ng-template>\n" }]
|
|
10741
10759
|
}] });
|
|
10742
10760
|
|
|
10743
10761
|
const TOOLTIP_DEFINITION = new InjectionToken('Tooltip definition');
|
|
@@ -11044,5 +11062,5 @@ function filterLoader(module, prop) {
|
|
|
11044
11062
|
* Generated bundle index. Do not edit.
|
|
11045
11063
|
*/
|
|
11046
11064
|
|
|
11047
|
-
export { AccordionComponent, AccordionItemComponent, Aggregation, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, DEFAULT_GAP_PX, DEFAULT_ICON_URL, DEFAULT_MSG_TIMEOUT, DEFAULT_NAMED_QUERY_ID, DEFAULT_RESTITUTION_ICON_URL, DEFAULT_ROWS_NUMBER, DEFAULT_ROW_HEIGHT_PX, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, DefaultViewGuard, DisplayMode, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, FIELD_OPTIONS, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, FilterInstanciatorComponent, GeoMetadata, GeocodingService, GetSecuredImagePipe, GraphType, HTTP_ORIGIN_METADATA, I18nPipe, INTERNALLY_STORED_IMAGE_PREFIX, IconPosition, ImageActions, ImageService, ImagesSelectors, ItemUtils, LibraryTypes, LoopScrollColumnComponent, METADATA_TYPE, META_OPTIONS, MIME_TYPE_RESULTSET, MIME_TYPE_WIDGET_MANIFEST, MIME_TYPE_WIDGET_SIZE, MIME_TYPE_WIDGET_TYPE, ManifestService, ManifestsComponent, MarkSubType, MarkType, MetadataComponent, NamedQueryTypes, NamedQueryUtils, OPERATOR_OPTIONS, Operation, PRY_ACCESS_GUARD, PRY_ACCESS_TOKEN, PRY_CUSTOMEVENT_TYPE, PRY_DIALOG_DATA, PryAccessDirective, PryAccessUtils, PryBaseAccess, PryBaseAccessGuard, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, PryHiddenWhenOverlay, PryHiddenWhenOverlayDirective, PryHttpErrorInterceptorService, PryI18nModule, PryI18nService, PryIconComponent, PryIconModule, PryModalComponent, PryModalModule, PryModalStatusComponent, PryModalStatusModule, PryNqColorSelectorComponent, PryObjectEditionComponent, PryOverlayDirective, PryOverlayModule, PryRangeComponent, PryRangeModule, PrySelectComponent, PrySelectImageComponent, PrySelectModule, PryShareComponent, PryShareModule, PrySnackbarComponent, PrySnackbarModule, PrySnackbarService, PrySortDataPipe, PrySortHeaderComponent, PrySortHeaderDirective, PrySortModule, PrySortTableDirective, PryTimePickerComponent, PryTitleService, PryToggleComponent, PryToggleModule, PryTooltipDirective, PryUploadComponent, PryVisibilityType, PryWidgetHeaderComponent, RawService, RelationTypesActions, RelationTypesSelectors, RelationTypesService, ResultSetSizePipe, ResultsetUtils, SYMBOL_DOMAIN, SearchActions, SearchSelectors, SearchService, SettingsComponent, SubscriptionnerDirective, SymbolService, TABLE_ATTR_DOMAIN, TILE_ATTR_DOMAIN, TOOLTIPS_DOMAIN, TOOLTIP_DEFINITION, ToolboxManifestService, ToolboxMenuService, TooltipFactoryService, TooltipMode, TranslateIdPipe, TranslateItemToSymbolPipe, UNKNOWN_DATASOURCE, USE_CURRENT_RESULTSET, VARIABLE_TYPE, VegaColorType, VegaType, ViewMode, VizualizeRawComponent, WIDGET_DEFINITION, WIDGET_HEADER_HEIGHT, WebsocketService, WidgetFactoryService, WidgetInstanciatorComponent, WidgetPlaceholderComponent, WidgetPlacementUtils, adapter$2 as adapter, aggregationDefault, baseItemProperties, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getDisplayOptions, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, selectIds$2 as selectIds, selectTotal$2 as selectTotal, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
|
|
11065
|
+
export { AccordionComponent, AccordionItemComponent, Aggregation, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, DEFAULT_GAP_PX, DEFAULT_ICON_URL, DEFAULT_MSG_TIMEOUT, DEFAULT_NAMED_QUERY_ID, DEFAULT_RESTITUTION_ICON_URL, DEFAULT_ROWS_NUMBER, DEFAULT_ROW_HEIGHT_PX, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, DefaultViewGuard, DisplayMode, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, FIELD_OPTIONS, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, FilterInstanciatorComponent, GeoMetadata, GeocodingService, GetSecuredImagePipe, GraphType, HTTP_ORIGIN_METADATA, I18nPipe, INTERNALLY_STORED_IMAGE_PREFIX, IconPosition, ImageActions, ImageService, ImagesSelectors, ItemUtils, LibraryTypes, LoopScrollColumnComponent, METADATA_TYPE, META_OPTIONS, MIME_TYPE_RESULTSET, MIME_TYPE_WIDGET_MANIFEST, MIME_TYPE_WIDGET_SIZE, MIME_TYPE_WIDGET_TYPE, ManifestService, ManifestUtils, ManifestsComponent, MarkSubType, MarkType, MetadataComponent, NamedQueryTypes, NamedQueryUtils, OPERATOR_OPTIONS, Operation, PRY_ACCESS_GUARD, PRY_ACCESS_TOKEN, PRY_CUSTOMEVENT_TYPE, PRY_DIALOG_DATA, PryAccessDirective, PryAccessUtils, PryBaseAccess, PryBaseAccessGuard, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, PryHiddenWhenOverlay, PryHiddenWhenOverlayDirective, PryHttpErrorInterceptorService, PryI18nModule, PryI18nService, PryIconComponent, PryIconModule, PryModalComponent, PryModalModule, PryModalStatusComponent, PryModalStatusModule, PryNqColorSelectorComponent, PryObjectEditionComponent, PryOverlayDirective, PryOverlayModule, PryRangeComponent, PryRangeModule, PrySelectComponent, PrySelectImageComponent, PrySelectModule, PryShareComponent, PryShareModule, PrySnackbarComponent, PrySnackbarModule, PrySnackbarService, PrySortDataPipe, PrySortHeaderComponent, PrySortHeaderDirective, PrySortModule, PrySortTableDirective, PryTimePickerComponent, PryTitleService, PryToggleComponent, PryToggleModule, PryTooltipDirective, PryUploadComponent, PryVisibilityType, PryWidgetHeaderComponent, RawService, RelationTypesActions, RelationTypesSelectors, RelationTypesService, ResultSetSizePipe, ResultsetUtils, SYMBOL_DOMAIN, SearchActions, SearchSelectors, SearchService, SettingsComponent, SubscriptionnerDirective, SymbolService, TABLE_ATTR_DOMAIN, TILE_ATTR_DOMAIN, TOOLTIPS_DOMAIN, TOOLTIP_DEFINITION, ToolboxManifestService, ToolboxMenuService, TooltipFactoryService, TooltipMode, TranslateIdPipe, TranslateItemToSymbolPipe, UNKNOWN_DATASOURCE, USE_CURRENT_RESULTSET, VARIABLE_TYPE, VegaColorType, VegaType, ViewMode, VizualizeRawComponent, WIDGET_DEFINITION, WIDGET_HEADER_HEIGHT, WebsocketService, WidgetFactoryService, WidgetInstanciatorComponent, WidgetPlaceholderComponent, WidgetPlacementUtils, adapter$2 as adapter, aggregationDefault, baseItemProperties, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getDisplayOptions, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, selectIds$2 as selectIds, selectTotal$2 as selectTotal, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
|
|
11048
11066
|
//# sourceMappingURL=provoly-dashboard.mjs.map
|