@provoly/dashboard 0.22.5 → 0.22.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.d.ts +8 -4
- package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +7 -6
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +44 -30
- package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +3 -3
- package/esm2022/lib/core/components/about/about.component.mjs +3 -3
- package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +3 -3
- package/esm2022/lib/core/components/select/select.component.mjs +5 -4
- package/esm2022/lib/core/components/select/select.module.mjs +5 -4
- package/esm2022/lib/core/components/select-image/select-image.component.mjs +2 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +2 -2
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +2 -2
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +16 -1
- package/esm2022/lib/dashboard/item-utils.mjs +2 -2
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +1 -4
- package/esm2022/lib/dashboard/store/refresh.service.mjs +14 -9
- package/esm2022/presentation/components/presentation.component.mjs +3 -3
- package/esm2022/presentation/style/css.component.mjs +2 -2
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -3
- package/esm2022/restitution/style/css.component.mjs +2 -2
- package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +12 -9
- package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +19 -17
- package/esm2022/toolbox/components/toolbox.component.mjs +7 -4
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +3 -3
- package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +4 -5
- package/esm2022/widgets/widget-graph/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +3 -3
- package/fesm2022/provoly-dashboard-admin.mjs +49 -34
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +4 -4
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +4 -4
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +29 -21
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +4 -4
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +5 -6
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +2 -2
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +56 -39
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/select/select.module.d.ts +2 -1
- package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +1 -1
- package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +8 -1
- package/lib/dashboard/store/dashboard.selectors.d.ts +0 -13
- package/lib/dashboard/store/refresh.service.d.ts +3 -1
- package/package.json +7 -7
- package/presentation/style/_o-pry-presentation.scss +0 -3
- package/styles/components/_a-chip.scss +6 -0
- package/styles/components/_a-pry-select.scss +13 -0
- package/styles/components/_a-range-slider.scss +4 -5
- package/styles/components/_m-nav-links.scss +2 -7
- package/styles/components/_o-widget.scss +6 -0
- package/styles-theme/abstracts-theme/variables/_variables-colors.scss +4 -3
- package/styles-theme/base-theme/_typography.theme.scss +5 -2
- package/styles-theme/components-theme/_a-btn.theme.scss +3 -7
- package/styles-theme/components-theme/_a-label.theme.scss +1 -0
- package/styles-theme/components-theme/_a-pry-select.theme.scss +4 -6
- package/styles-theme/components-theme/_a-range-slider.theme.scss +16 -16
- package/styles-theme/components-theme/_a-table.theme.scss +2 -2
- package/styles-theme/components-theme/_m-btn-sorttable.theme.scss +3 -3
- package/styles-theme/components-theme/_m-nav-links.theme.scss +18 -0
- package/styles-theme/components-theme/_o-pry-presentation.theme.scss +9 -0
- package/styles-theme/components-theme/_o-tabs.theme.scss +1 -1
- package/styles-theme/layout-theme/_o-base-layout.theme.scss +1 -0
- package/styles-theme/main-theme.scss +1 -0
- package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +3 -1
- package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +3 -2
- package/widgets/widget-aggregated-chart/style/_o-widget-chart.scss +3 -0
- package/widgets/widget-graph/component/widget-graph.component.d.ts +0 -1
- package/widgets/widget-graph/style/_o-widget-graph.scss +14 -0
|
@@ -26,7 +26,7 @@ import * as i1$4 from '@angular/cdk/accordion';
|
|
|
26
26
|
import { CdkAccordionModule } from '@angular/cdk/accordion';
|
|
27
27
|
import * as i4 from '@angular/forms';
|
|
28
28
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
29
|
-
import * as
|
|
29
|
+
import * as i7 from '@provoly/dashboard/components/checkbox';
|
|
30
30
|
import { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';
|
|
31
31
|
import { v4 } from 'uuid';
|
|
32
32
|
import { webSocket } from 'rxjs/webSocket';
|
|
@@ -795,7 +795,7 @@ const frTranslations$1 = {
|
|
|
795
795
|
editProfil: 'Editer le profil',
|
|
796
796
|
choice: 'Choisir un ....',
|
|
797
797
|
choiceInList: 'Choisir un élément dans la liste',
|
|
798
|
-
text: '
|
|
798
|
+
text: 'Remplir le champ',
|
|
799
799
|
sortableColumnHeader: "Utilisez les boutons d'en-tête de colonne pour trier.",
|
|
800
800
|
viewDetails: 'Voir les détails',
|
|
801
801
|
selectDate: 'Choisir une date',
|
|
@@ -1105,11 +1105,11 @@ class BaseMenuComponent extends SubscriptionnerDirective {
|
|
|
1105
1105
|
console.error('Must override init function');
|
|
1106
1106
|
}
|
|
1107
1107
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseMenuComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseMenuComponent, selector: "pry-base-menu", usesInheritance: true, ngImport: i0, template: "<nav class=\"m-nav-links\">\n <ng-container *ngFor=\"let sub of subMenu$ | async\">\n <ul class=\"m-nav-links__list\">\n <ng-container *ngFor=\"let menu of sub.subMenus\">\n <li\n *pryAccess=\"{ module: menu.module, page: menu.page, subMenu: menu.subMenu }\"\n class=\"m-nav-links__list__item\"\n >\n <a [routerLink]=\"menu.menu\" class=\"a-btn
|
|
1108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseMenuComponent, selector: "pry-base-menu", usesInheritance: true, ngImport: i0, template: "<nav class=\"m-nav-links\">\n <ng-container *ngFor=\"let sub of subMenu$ | async\">\n <ul class=\"m-nav-links__list\">\n <ng-container *ngFor=\"let menu of sub.subMenus\">\n <li\n *pryAccess=\"{ module: menu.module, page: menu.page, subMenu: menu.subMenu }\"\n class=\"m-nav-links__list__item\"\n >\n <a [routerLink]=\"menu.menu\" class=\"a-btn -width-full\" [routerLinkActive]=\"'is-active'\">\n {{ baseMenuTranslation + menu.menu | i18n }}\n </a>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n</nav>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
1109
1109
|
}
|
|
1110
1110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseMenuComponent, decorators: [{
|
|
1111
1111
|
type: Component,
|
|
1112
|
-
args: [{ selector: 'pry-base-menu', template: "<nav class=\"m-nav-links\">\n <ng-container *ngFor=\"let sub of subMenu$ | async\">\n <ul class=\"m-nav-links__list\">\n <ng-container *ngFor=\"let menu of sub.subMenus\">\n <li\n *pryAccess=\"{ module: menu.module, page: menu.page, subMenu: menu.subMenu }\"\n class=\"m-nav-links__list__item\"\n >\n <a [routerLink]=\"menu.menu\" class=\"a-btn
|
|
1112
|
+
args: [{ selector: 'pry-base-menu', template: "<nav class=\"m-nav-links\">\n <ng-container *ngFor=\"let sub of subMenu$ | async\">\n <ul class=\"m-nav-links__list\">\n <ng-container *ngFor=\"let menu of sub.subMenus\">\n <li\n *pryAccess=\"{ module: menu.module, page: menu.page, subMenu: menu.subMenu }\"\n class=\"m-nav-links__list__item\"\n >\n <a [routerLink]=\"menu.menu\" class=\"a-btn -width-full\" [routerLinkActive]=\"'is-active'\">\n {{ baseMenuTranslation + menu.menu | i18n }}\n </a>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n</nav>\n" }]
|
|
1113
1113
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
1114
1114
|
|
|
1115
1115
|
const DEFAULT_ICON_URL = '/assets/svgs/default.svg';
|
|
@@ -3137,7 +3137,7 @@ class PrySelectImageComponent {
|
|
|
3137
3137
|
this.toggled = new EventEmitter();
|
|
3138
3138
|
this.changed = new EventEmitter();
|
|
3139
3139
|
this.iconUrl = '';
|
|
3140
|
-
this.size =
|
|
3140
|
+
this.size = 25;
|
|
3141
3141
|
this.mode = LibraryTypes.ICON;
|
|
3142
3142
|
this.store.dispatch(ImageActions.load());
|
|
3143
3143
|
this.id = uniqueId$3++;
|
|
@@ -3877,20 +3877,6 @@ var DashboardGridLayout;
|
|
|
3877
3877
|
DashboardGridLayout["MANUAL"] = "0";
|
|
3878
3878
|
})(DashboardGridLayout || (DashboardGridLayout = {}));
|
|
3879
3879
|
|
|
3880
|
-
class ManifestUtils {
|
|
3881
|
-
static getDatasourcesUsedByManifest(manifest) {
|
|
3882
|
-
const mapOfDatasources = manifest.windows
|
|
3883
|
-
.map((window) => window.widgets.map((widget) => ({ datasetId: widget.datasource, excludeGeo: widget.type !== 'map' })))
|
|
3884
|
-
.flat(3)
|
|
3885
|
-
.filter((dataset) => !!dataset.datasetId)
|
|
3886
|
-
.map((res) => Array.isArray(res.datasetId)
|
|
3887
|
-
? res.datasetId.map((r) => ({ datasetId: r, excludeGeo: res.excludeGeo }))
|
|
3888
|
-
: [res])
|
|
3889
|
-
.flat().reduce((p, c) => ({ ...p, [c.datasetId]: { ...p[c.datasetId], ...c } }), {});
|
|
3890
|
-
return Object.values(mapOfDatasources);
|
|
3891
|
-
}
|
|
3892
|
-
}
|
|
3893
|
-
|
|
3894
3880
|
const BASE_DISPLAY_OPTIONS = {
|
|
3895
3881
|
presentationTitle: true,
|
|
3896
3882
|
search: false,
|
|
@@ -3979,7 +3965,6 @@ const currentManifestId = createSelector(manifests, (manifests) => manifests.cur
|
|
|
3979
3965
|
const globalManifest = createSelector(manifests,
|
|
3980
3966
|
// @ts-ignore
|
|
3981
3967
|
(manifests) => ({ windows: [], ...manifests?.manifest } ?? { windows: [] }));
|
|
3982
|
-
const manifestDatasources = createSelector(globalManifest, (manifest) => ManifestUtils.getDatasourcesUsedByManifest(manifest));
|
|
3983
3968
|
const staticManifest = createSelector(manifests,
|
|
3984
3969
|
// @ts-ignore
|
|
3985
3970
|
(manifests) => ({ windows: [], ...manifests?.staticManifest } ?? { windows: [] }));
|
|
@@ -4058,7 +4043,6 @@ const DashboardSelectors = {
|
|
|
4058
4043
|
rank,
|
|
4059
4044
|
currentManifestId,
|
|
4060
4045
|
globalManifest,
|
|
4061
|
-
manifestDatasources,
|
|
4062
4046
|
refreshRates,
|
|
4063
4047
|
windowManifest,
|
|
4064
4048
|
widgetManifest,
|
|
@@ -4663,7 +4647,7 @@ class ItemUtils {
|
|
|
4663
4647
|
const attrField = fields.find((f) => f.id === attr.field);
|
|
4664
4648
|
return attrField && !GeometricFieldTypes.includes(attrField.type);
|
|
4665
4649
|
})
|
|
4666
|
-
.map((attr) => attr.
|
|
4650
|
+
.map((attr) => attr.name));
|
|
4667
4651
|
}
|
|
4668
4652
|
static ensureItemIdHasCorrectFormat(item) {
|
|
4669
4653
|
if (!item.id.includes('@')) {
|
|
@@ -7075,7 +7059,7 @@ class PrySelectComponent extends SubscriptionnerDirective {
|
|
|
7075
7059
|
multi: true
|
|
7076
7060
|
},
|
|
7077
7061
|
SelectA11yService
|
|
7078
|
-
], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n : { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n : { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { 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: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
7062
|
+
], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n : { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox (click)=\"$event.preventDefault()\" *ngIf=\"multiple\" [ngModel]=\"(valueItems$ | async).includes(item)\"></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n : { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { 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: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
7079
7063
|
}
|
|
7080
7064
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectComponent, decorators: [{
|
|
7081
7065
|
type: Component,
|
|
@@ -7086,7 +7070,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
7086
7070
|
multi: true
|
|
7087
7071
|
},
|
|
7088
7072
|
SelectA11yService
|
|
7089
|
-
], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n : { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n : { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
7073
|
+
], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n : { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox (click)=\"$event.preventDefault()\" *ngIf=\"multiple\" [ngModel]=\"(valueItems$ | async).includes(item)\"></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n : { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
7090
7074
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: SelectA11yService }]; }, propDecorators: { items: [{
|
|
7091
7075
|
type: Input
|
|
7092
7076
|
}], clearable: [{
|
|
@@ -7142,13 +7126,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
7142
7126
|
|
|
7143
7127
|
class PrySelectModule {
|
|
7144
7128
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7145
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, declarations: [PrySelectComponent], imports: [A11yModule, CommonModule, FormsModule, PryIconModule, PryI18nModule], exports: [PrySelectComponent] }); }
|
|
7146
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, imports: [A11yModule, CommonModule, FormsModule, PryIconModule, PryI18nModule] }); }
|
|
7129
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, declarations: [PrySelectComponent], imports: [A11yModule, CommonModule, FormsModule, PryIconModule, PryI18nModule, PryCheckboxModule], exports: [PrySelectComponent] }); }
|
|
7130
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, imports: [A11yModule, CommonModule, FormsModule, PryIconModule, PryI18nModule, PryCheckboxModule] }); }
|
|
7147
7131
|
}
|
|
7148
7132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, decorators: [{
|
|
7149
7133
|
type: NgModule,
|
|
7150
7134
|
args: [{
|
|
7151
|
-
imports: [A11yModule, CommonModule, FormsModule, PryIconModule, PryI18nModule],
|
|
7135
|
+
imports: [A11yModule, CommonModule, FormsModule, PryIconModule, PryI18nModule, PryCheckboxModule],
|
|
7152
7136
|
declarations: [PrySelectComponent],
|
|
7153
7137
|
exports: [PrySelectComponent]
|
|
7154
7138
|
}]
|
|
@@ -7847,6 +7831,21 @@ class WidgetFactoryService {
|
|
|
7847
7831
|
: [manifest.datasource];
|
|
7848
7832
|
return datasourcesArray.filter(() => widgetDefinition.autoLoadDatasource === undefined || widgetDefinition.autoLoadDatasource === 'aggregate');
|
|
7849
7833
|
}
|
|
7834
|
+
getObjectsToAutoLoad(manifest) {
|
|
7835
|
+
const datasources = [];
|
|
7836
|
+
const aggregates = [];
|
|
7837
|
+
manifest.windows.forEach((windowManifest) => {
|
|
7838
|
+
windowManifest.widgets.forEach((widgetManifest) => {
|
|
7839
|
+
this.datasourcesToAutoLoad(widgetManifest).forEach((res) => {
|
|
7840
|
+
if (res.datasetId) {
|
|
7841
|
+
datasources.push(res);
|
|
7842
|
+
}
|
|
7843
|
+
});
|
|
7844
|
+
this.aggregatesToAutoLoad(widgetManifest).forEach((ds) => aggregates.push(ds));
|
|
7845
|
+
});
|
|
7846
|
+
});
|
|
7847
|
+
return { datasources, aggregates };
|
|
7848
|
+
}
|
|
7850
7849
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetFactoryService, deps: [{ token: i0.Injector }, { token: WIDGET_DEFINITION }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7851
7850
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetFactoryService, providedIn: 'root' }); }
|
|
7852
7851
|
}
|
|
@@ -8174,7 +8173,7 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
8174
8173
|
this.inversion = !this.inversion;
|
|
8175
8174
|
}
|
|
8176
8175
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryObjectEditionComponent, deps: [{ token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryObjectEditionComponent, selector: "pry-object-creation", inputs: { link: "link", object: "object", menu: "menu" }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button type=\"button\" class=\"a-btn -link-like\" (click)=\"openCreateObjectPanel($event)\" *ngIf=\"menu\">\n {{ '@pry.context.createObject.title.' + (link && object ? 'linkedObject' : link ? 'link' : 'object') | i18n }}\n</button>\n<button\n id=\"object_creator_link\"\n type=\"button\"\n (click)=\"openCreateObjectPanel($event)\"\n *ngIf=\"!menu\"\n class=\"a-btn a-btn--secondary -circle u-floating u-floating--bottom-right\"\n [title]=\"'@pry.context.createObject.title.object' | i18n\"\n>\n <span class=\"u-visually-hidden\">{{ '@pry.context.createObject.title.object' | i18n }}</span>\n <pry-icon iconSvg=\"add_column\" [width]=\"24\" [height]=\"24\" aria-hidden=\"true\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\">\n <div class=\"o-settings__popup__content\">\n <ng-container *ngIf=\"link\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_link\">{{ '@pry.context.createObject.title.link' | i18n }}</label>\n <pry-select\n [(ngModel)]=\"relation.typeId\"\n [items]=\"relations$ | async\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"createobject_link\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_inversion\">{{\n '@pry.context.createObject.title.inversion' | i18n\n }}</label>\n <pry-checkbox\n id=\"createobject_inversion\"\n [ngModel]=\"inversion\"\n (ngModelChange)=\"toggleInversion()\"\n ></pry-checkbox>\n </div>\n </ng-container>\n\n <div class=\"o-object-panel\" *ngIf=\"object\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_class\">{{ '@pry.context.createObject.class' | i18n }}</label>\n <pry-select\n [ngModel]=\"tmpObject.oClass\"\n (ngModelChange)=\"changeClass($event)\"\n [items]=\"classes\"\n bindValue=\"id\"\n bindLabel=\"name\"\n id=\"createobject_class\"\n ></pry-select>\n </div>\n\n <ng-container *ngFor=\"let attribute of attributes\" [class.multi-value]=\"attribute.multiValued\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ attribute.name }}</label>\n <ng-container *ngIf=\"!attribute.multiValued\">\n <ng-container [ngSwitch]=\"fieldType(attribute)\">\n <ng-container *ngSwitchCase=\"FieldType.INSTANT\">\n <div class=\"a-date-input\" tabindex=\"-1\" (blur)=\"closeDatePicker($event)\">\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n <div class=\"a-open-date-picker\" (mousedown)=\"toggleDatePicker($event, attribute.id)\"></div>\n <div class=\"date-picker-container\" *ngIf=\"selectedDatePicker === attribute.id\">\n <pry-date-picker\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n ></pry-date-picker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.DECIMAL\">\n <input\n type=\"number\"\n step=\"any\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.INTEGER\">\n <input\n type=\"number\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.RAW\">\n <pry-select\n [ngModel]=\"method\"\n (ngModelChange)=\"setRawMethod(attribute, $event)\"\n [items]=\"rawMethods\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></pry-select>\n <input\n type=\"text\"\n class=\"a-form-field\"\n *ngIf=\"method === HTTP_ORIGIN_METHOD\"\n [ngModel]=\"valueMetadata(attribute, HTTP_ORIGIN_METADATA)\"\n (ngModelChange)=\"assignMetadata(attribute, $event, HTTP_ORIGIN_METADATA)\"\n />\n <ng-container *ngIf=\"method === UPLOAD_METHOD\">\n <pry-upload\n mode=\"doc\"\n accept=\"image/*,video/*\"\n (uploaded)=\"assignValue(attribute, $event)\"\n ></pry-upload>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"multi-value-container\" *ngIf=\"attribute.multiValued\">\n <button\n class=\"button-add a-btn a-btn--secondary a-btn--icon-text -size-sm\"\n (click)=\"addMultiValued(attribute)\"\n >\n <pry-icon iconSvg=\"add\"></pry-icon>\n <span>{{ '@pry.context.createObject.addMultiField' | i18n : { name: attribute.name } }}</span>\n </button>\n <div class=\"multi-value\" *ngFor=\"let multiValue of multiValues(attribute); let i = index\">\n <ng-container [ngSwitch]=\"fieldType(attribute)\">\n <ng-container *ngSwitchCase=\"FieldType.INSTANT\">\n <input\n type=\"datetime-local\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (focusout)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.DECIMAL\">\n <input\n type=\"number\"\n step=\"any\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.INTEGER\">\n <input\n type=\"number\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n type=\"text\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <button (click)=\"removeMultiValued(attribute, i)\">\n <pry-icon iconSvg=\"delete\"></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"hide()\">\n {{ '@pry.context.cancel' | i18n }}\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"createObjects()\" [disabled]=\"!valid\">\n {{ '@pry.context.create' | i18n }}\n </button>\n </div>\n </div>\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: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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: PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i8.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: PryDatePickerComponent, selector: "pry-date-picker", inputs: ["rangePicker", "timePicker", "maxYear", "minYear", "roundSelection"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
8176
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryObjectEditionComponent, selector: "pry-object-creation", inputs: { link: "link", object: "object", menu: "menu" }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button type=\"button\" class=\"a-btn -link-like\" (click)=\"openCreateObjectPanel($event)\" *ngIf=\"menu\">\n {{ '@pry.context.createObject.title.' + (link && object ? 'linkedObject' : link ? 'link' : 'object') | i18n }}\n</button>\n<button\n id=\"object_creator_link\"\n type=\"button\"\n (click)=\"openCreateObjectPanel($event)\"\n *ngIf=\"!menu\"\n class=\"a-btn a-btn--secondary -circle u-floating u-floating--bottom-right\"\n [title]=\"'@pry.context.createObject.title.object' | i18n\"\n>\n <span class=\"u-visually-hidden\">{{ '@pry.context.createObject.title.object' | i18n }}</span>\n <pry-icon iconSvg=\"add_column\" [width]=\"24\" [height]=\"24\" aria-hidden=\"true\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\">\n <div class=\"o-settings__popup__content\">\n <ng-container *ngIf=\"link\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_link\">{{ '@pry.context.createObject.title.link' | i18n }}</label>\n <pry-select\n [(ngModel)]=\"relation.typeId\"\n [items]=\"relations$ | async\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"createobject_link\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_inversion\">{{\n '@pry.context.createObject.title.inversion' | i18n\n }}</label>\n <pry-checkbox\n id=\"createobject_inversion\"\n [ngModel]=\"inversion\"\n (ngModelChange)=\"toggleInversion()\"\n ></pry-checkbox>\n </div>\n </ng-container>\n\n <div class=\"o-object-panel\" *ngIf=\"object\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_class\">{{ '@pry.context.createObject.class' | i18n }}</label>\n <pry-select\n [ngModel]=\"tmpObject.oClass\"\n (ngModelChange)=\"changeClass($event)\"\n [items]=\"classes\"\n bindValue=\"id\"\n bindLabel=\"name\"\n id=\"createobject_class\"\n ></pry-select>\n </div>\n\n <ng-container *ngFor=\"let attribute of attributes\" [class.multi-value]=\"attribute.multiValued\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ attribute.name }}</label>\n <ng-container *ngIf=\"!attribute.multiValued\">\n <ng-container [ngSwitch]=\"fieldType(attribute)\">\n <ng-container *ngSwitchCase=\"FieldType.INSTANT\">\n <div class=\"a-date-input\" tabindex=\"-1\" (blur)=\"closeDatePicker($event)\">\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n <div class=\"a-open-date-picker\" (mousedown)=\"toggleDatePicker($event, attribute.id)\"></div>\n <div class=\"date-picker-container\" *ngIf=\"selectedDatePicker === attribute.id\">\n <pry-date-picker\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n ></pry-date-picker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.DECIMAL\">\n <input\n type=\"number\"\n step=\"any\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.INTEGER\">\n <input\n type=\"number\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.RAW\">\n <pry-select\n [ngModel]=\"method\"\n (ngModelChange)=\"setRawMethod(attribute, $event)\"\n [items]=\"rawMethods\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></pry-select>\n <input\n type=\"text\"\n class=\"a-form-field\"\n *ngIf=\"method === HTTP_ORIGIN_METHOD\"\n [ngModel]=\"valueMetadata(attribute, HTTP_ORIGIN_METADATA)\"\n (ngModelChange)=\"assignMetadata(attribute, $event, HTTP_ORIGIN_METADATA)\"\n />\n <ng-container *ngIf=\"method === UPLOAD_METHOD\">\n <pry-upload\n mode=\"doc\"\n accept=\"image/*,video/*\"\n (uploaded)=\"assignValue(attribute, $event)\"\n ></pry-upload>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"multi-value-container\" *ngIf=\"attribute.multiValued\">\n <button\n class=\"button-add a-btn a-btn--secondary a-btn--icon-text -size-sm\"\n (click)=\"addMultiValued(attribute)\"\n >\n <pry-icon iconSvg=\"add\"></pry-icon>\n <span>{{ '@pry.context.createObject.addMultiField' | i18n : { name: attribute.name } }}</span>\n </button>\n <div class=\"multi-value\" *ngFor=\"let multiValue of multiValues(attribute); let i = index\">\n <ng-container [ngSwitch]=\"fieldType(attribute)\">\n <ng-container *ngSwitchCase=\"FieldType.INSTANT\">\n <input\n type=\"datetime-local\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (focusout)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.DECIMAL\">\n <input\n type=\"number\"\n step=\"any\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.INTEGER\">\n <input\n type=\"number\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n type=\"text\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <button (click)=\"removeMultiValued(attribute, i)\">\n <pry-icon iconSvg=\"delete\"></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"hide()\">\n {{ '@pry.context.cancel' | i18n }}\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"createObjects()\" [disabled]=\"!valid\">\n {{ '@pry.context.create' | i18n }}\n </button>\n </div>\n </div>\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: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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: PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: PryDatePickerComponent, selector: "pry-date-picker", inputs: ["rangePicker", "timePicker", "maxYear", "minYear", "roundSelection"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
8178
8177
|
}
|
|
8179
8178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryObjectEditionComponent, decorators: [{
|
|
8180
8179
|
type: Component,
|
|
@@ -9774,7 +9773,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
9774
9773
|
}]
|
|
9775
9774
|
}], ctorParameters: function () { return [{ type: WidgetFactoryService }, { type: ToolboxManifestService }, { type: i1.Store }]; } });
|
|
9776
9775
|
|
|
9777
|
-
const WIDGET_HEADER_HEIGHT =
|
|
9776
|
+
const WIDGET_HEADER_HEIGHT = 32;
|
|
9778
9777
|
class PryWidgetHeaderComponent extends SubscriptionnerDirective {
|
|
9779
9778
|
set manifest(manifest) {
|
|
9780
9779
|
this.manifest$.next(manifest);
|
|
@@ -10525,6 +10524,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10525
10524
|
args: [BASE_CONFIG]
|
|
10526
10525
|
}] }]; } });
|
|
10527
10526
|
|
|
10527
|
+
class ManifestUtils {
|
|
10528
|
+
static getDatasourcesUsedByManifest(manifest) {
|
|
10529
|
+
const mapOfDatasources = manifest.windows
|
|
10530
|
+
.map((window) => window.widgets.map((widget) => ({ datasetId: widget.datasource, excludeGeo: widget.type !== 'map' })))
|
|
10531
|
+
.flat(3)
|
|
10532
|
+
.filter((dataset) => !!dataset.datasetId)
|
|
10533
|
+
.map((res) => Array.isArray(res.datasetId)
|
|
10534
|
+
? res.datasetId.map((r) => ({ datasetId: r, excludeGeo: res.excludeGeo }))
|
|
10535
|
+
: [res])
|
|
10536
|
+
.flat().reduce((p, c) => ({ ...p, [c.datasetId]: { ...p[c.datasetId], ...c } }), {});
|
|
10537
|
+
return Object.values(mapOfDatasources);
|
|
10538
|
+
}
|
|
10539
|
+
}
|
|
10540
|
+
|
|
10528
10541
|
class ManifestService {
|
|
10529
10542
|
constructor(httpClient, store, snackBar, translateService) {
|
|
10530
10543
|
this.httpClient = httpClient;
|
|
@@ -10651,8 +10664,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10651
10664
|
}], ctorParameters: function () { return [{ type: i3$1.Title }, { type: PryI18nService }, { type: i1.Store }]; } });
|
|
10652
10665
|
|
|
10653
10666
|
class RefreshService {
|
|
10654
|
-
constructor(store) {
|
|
10667
|
+
constructor(store, widgetFactoryService) {
|
|
10655
10668
|
this.store = store;
|
|
10669
|
+
this.widgetFactoryService = widgetFactoryService;
|
|
10656
10670
|
}
|
|
10657
10671
|
stop() {
|
|
10658
10672
|
this.subscription?.unsubscribe();
|
|
@@ -10660,11 +10674,14 @@ class RefreshService {
|
|
|
10660
10674
|
start() {
|
|
10661
10675
|
if (!this.subscription) {
|
|
10662
10676
|
this.subscription = interval(1000)
|
|
10663
|
-
.pipe(withLatestFrom(this.store.select(DashboardSelectors.refreshRates), this.store.select(DashboardSelectors.
|
|
10664
|
-
|
|
10665
|
-
.
|
|
10666
|
-
|
|
10667
|
-
|
|
10677
|
+
.pipe(withLatestFrom(this.store.select(DashboardSelectors.refreshRates), this.store.select(DashboardSelectors.globalManifest)), map$1(([interval, refreshRates, globalManifest]) => {
|
|
10678
|
+
const datasources = this.widgetFactoryService.getObjectsToAutoLoad(globalManifest).datasources;
|
|
10679
|
+
return Object.keys(refreshRates)
|
|
10680
|
+
.filter((key) => datasources.map((ds) => ds.datasetId).includes(key))
|
|
10681
|
+
.filter((key) => refreshRates[key] !== undefined && refreshRates[key] !== 0)
|
|
10682
|
+
.filter((key) => interval % refreshRates[key] === 0)
|
|
10683
|
+
.map((dsId) => datasources.find((ds) => ds.datasetId === dsId));
|
|
10684
|
+
}), filter((rs) => rs.length > 0))
|
|
10668
10685
|
.subscribe((resultSetsToUpdate) => {
|
|
10669
10686
|
resultSetsToUpdate.forEach((rs) => {
|
|
10670
10687
|
this.store.dispatch(SearchActions.getDatasourceItems({
|
|
@@ -10676,7 +10693,7 @@ class RefreshService {
|
|
|
10676
10693
|
});
|
|
10677
10694
|
}
|
|
10678
10695
|
}
|
|
10679
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10696
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService, deps: [{ token: i1.Store }, { token: WidgetFactoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10680
10697
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService, providedIn: 'root' }); }
|
|
10681
10698
|
}
|
|
10682
10699
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService, decorators: [{
|
|
@@ -10684,7 +10701,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10684
10701
|
args: [{
|
|
10685
10702
|
providedIn: 'root'
|
|
10686
10703
|
}]
|
|
10687
|
-
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
10704
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: WidgetFactoryService }]; } });
|
|
10688
10705
|
|
|
10689
10706
|
class WmsService {
|
|
10690
10707
|
constructor(httpClient) {
|
|
@@ -12271,11 +12288,11 @@ class PryAboutComponent {
|
|
|
12271
12288
|
return !!value && (!!backVersion.chartVersion || !!frontVersion.libVersion);
|
|
12272
12289
|
}
|
|
12273
12290
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryAboutComponent, deps: [{ token: i1.Store }, { token: PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12274
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryAboutComponent, selector: "pry-about", inputs: { tooltipPosition: "tooltipPosition" }, ngImport: i0, template: "<div class=\"o-about\">\n <div class=\"m-info-icon\">\n <span>i</span>\n </div>\n <div class=\"o-about__tooltip -position-{{ tooltipPosition }}\">\n <ng-container *ngFor=\"let version of (version$ | async) ?? {} | keyvalue\">\n <div class=\"o-about__line\">\n {{ '@pry.about.' + version.key | i18n }}\n <p class=\"a-chip -md\" [class.-not-found]=\"!hasVersion(version.value)\">\n {{ displayVersion(version.value) }}\n </p>\n </div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
12291
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryAboutComponent, selector: "pry-about", inputs: { tooltipPosition: "tooltipPosition" }, ngImport: i0, template: "<div class=\"o-about\">\n <div class=\"m-info-icon\">\n <span>i</span>\n </div>\n <div class=\"o-about__tooltip -position-{{ tooltipPosition }}\">\n <ng-container *ngFor=\"let version of (version$ | async) ?? {} | keyvalue\">\n <div class=\"o-about__line\">\n {{ '@pry.about.' + version.key | i18n }}\n <p class=\"a-chip -md -no-wrap\" [class.-not-found]=\"!hasVersion(version.value)\">\n {{ displayVersion(version.value) }}\n </p>\n </div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
12275
12292
|
}
|
|
12276
12293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryAboutComponent, decorators: [{
|
|
12277
12294
|
type: Component,
|
|
12278
|
-
args: [{ selector: 'pry-about', template: "<div class=\"o-about\">\n <div class=\"m-info-icon\">\n <span>i</span>\n </div>\n <div class=\"o-about__tooltip -position-{{ tooltipPosition }}\">\n <ng-container *ngFor=\"let version of (version$ | async) ?? {} | keyvalue\">\n <div class=\"o-about__line\">\n {{ '@pry.about.' + version.key | i18n }}\n <p class=\"a-chip -md\" [class.-not-found]=\"!hasVersion(version.value)\">\n {{ displayVersion(version.value) }}\n </p>\n </div>\n </ng-container>\n </div>\n</div>\n" }]
|
|
12295
|
+
args: [{ selector: 'pry-about', template: "<div class=\"o-about\">\n <div class=\"m-info-icon\">\n <span>i</span>\n </div>\n <div class=\"o-about__tooltip -position-{{ tooltipPosition }}\">\n <ng-container *ngFor=\"let version of (version$ | async) ?? {} | keyvalue\">\n <div class=\"o-about__line\">\n {{ '@pry.about.' + version.key | i18n }}\n <p class=\"a-chip -md -no-wrap\" [class.-not-found]=\"!hasVersion(version.value)\">\n {{ displayVersion(version.value) }}\n </p>\n </div>\n </ng-container>\n </div>\n</div>\n" }]
|
|
12279
12296
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: PryI18nService }]; }, propDecorators: { tooltipPosition: [{
|
|
12280
12297
|
type: Input
|
|
12281
12298
|
}] } });
|