@provoly/dashboard 1.4.13 → 1.4.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +7 -7
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +3 -3
- package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +7 -7
- package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +10 -10
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +6 -6
- package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +3 -3
- package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +10 -10
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +10 -15
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +8 -8
- package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +6 -6
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +6 -6
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +5 -5
- package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +6 -6
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +7 -7
- package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +5 -5
- package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +5 -5
- package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +5 -5
- package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +3 -3
- package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +3 -3
- package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +5 -5
- package/esm2022/admin/components/admin-links/admin-links.component.mjs +5 -5
- package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +4 -5
- package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +5 -6
- package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +4 -5
- package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +5 -5
- package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +4 -5
- package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +6 -6
- package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +6 -6
- package/esm2022/admin/components/admin-user/admin-user.component.mjs +5 -5
- package/esm2022/admin/components/association/association.component.mjs +4 -5
- package/esm2022/components/card/card.component.mjs +5 -6
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +6 -6
- package/esm2022/components/scheme-picker/scheme-picker.component.mjs +7 -7
- package/esm2022/components/stepper/stepper.component.mjs +3 -4
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +5 -5
- package/esm2022/dataset/components/dataset-version-form/dataset-version-form.component.mjs +6 -7
- package/esm2022/filters/date/date-filter.component.mjs +5 -6
- package/esm2022/filters/list/list-filter.component.mjs +6 -7
- package/esm2022/filters/number/number-filter.component.mjs +5 -6
- package/esm2022/filters/text/text-filter.component.mjs +5 -6
- package/esm2022/lib/core/components/about/about.component.mjs +3 -3
- package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +7 -7
- package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +6 -6
- package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +6 -6
- package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +6 -7
- package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
- package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +3 -4
- package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +6 -6
- package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +7 -8
- package/esm2022/lib/core/components/icon/icon.component.mjs +3 -3
- package/esm2022/lib/core/components/modal/modal.component.mjs +5 -6
- package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +5 -5
- package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +3 -3
- package/esm2022/lib/core/components/range/range.component.mjs +5 -6
- package/esm2022/lib/core/components/select/select.component.mjs +3 -3
- package/esm2022/lib/core/components/select-image/select-image.component.mjs +5 -5
- package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +6 -6
- package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +3 -3
- package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +5 -5
- package/esm2022/lib/core/components/tabs/tab-group.component.mjs +3 -3
- package/esm2022/lib/core/components/toggle/toggle.component.mjs +4 -4
- package/esm2022/lib/core/model/result-set.interface.mjs +1 -1
- package/esm2022/lib/core/model/search-mono-class.model.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +9 -9
- package/esm2022/lib/core/store/relation-types/relation-types.actions.mjs +2 -1
- package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +2 -1
- package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +5 -1
- package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
- package/esm2022/lib/core/store/search/search.effects.mjs +5 -3
- package/esm2022/lib/core/store/search/search.service.mjs +19 -13
- package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +3 -3
- package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +2 -2
- package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +8 -8
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +12 -12
- package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +5 -6
- package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +3 -3
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +6 -6
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +10 -10
- package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +2 -2
- package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +2 -2
- package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +7 -7
- package/esm2022/lib/dashboard/resultset-utils.mjs +7 -8
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -1
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +3 -3
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +31 -23
- package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
- package/esm2022/notification/components/notification/content/notification-content.component.mjs +3 -3
- package/esm2022/notification/components/notification/notification.component.mjs +5 -5
- package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +7 -7
- package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +2 -2
- package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +5 -5
- package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +9 -9
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +6 -6
- package/esm2022/presentation/components/presentation.component.mjs +6 -6
- package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +5 -5
- package/esm2022/restitution/components/restitution/restitution.component.mjs +3 -3
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +9 -9
- package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +3 -3
- package/esm2022/search/components/choose-widget/choose-widget.component.mjs +5 -5
- package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +9 -9
- package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +3 -3
- package/esm2022/search/search-home/search-home.component.mjs +3 -3
- package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +3 -3
- package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +3 -3
- package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +8 -8
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +6 -6
- package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +3 -3
- package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +4 -4
- package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +7 -7
- package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +6 -6
- package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +7 -7
- package/esm2022/search/search-tools/search-tools.component.mjs +13 -13
- package/esm2022/toolbox/components/named-query/named-query.component.mjs +5 -5
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +10 -10
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +8 -8
- package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +9 -6
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +3 -3
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +4 -4
- package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +12 -12
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +13 -7
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +7 -7
- package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +7 -7
- package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +2 -2
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +10 -10
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +2 -2
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +2 -2
- package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -5
- package/esm2022/widgets/widget-template/component/widget-template.component.mjs +7 -7
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +10 -10
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +9 -9
- package/fesm2022/provoly-dashboard-admin.mjs +171 -175
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-card.mjs +4 -5
- package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +4 -4
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +6 -6
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-stepper.mjs +2 -3
- package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +14 -14
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-date.mjs +4 -5
- package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-list.mjs +4 -5
- package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-number.mjs +4 -5
- package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-text.mjs +4 -5
- package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-notification.mjs +4 -4
- package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline.mjs +21 -21
- package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +14 -14
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +6 -6
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +38 -38
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +29 -25
- 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-aggregated-chart.mjs +3 -3
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +11 -5
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +5 -5
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +8 -8
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +9 -9
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +6 -6
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +7 -7
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +11 -11
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +7 -7
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +245 -224
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/model/result-set.interface.d.ts +6 -0
- package/lib/core/model/search-mono-class.model.d.ts +9 -2
- package/lib/core/store/relation-types/relation-types.actions.d.ts +9 -0
- package/lib/core/store/relation-types/relation-types.effects.d.ts +5 -0
- package/lib/core/store/relation-types/relation-types.service.d.ts +1 -0
- package/lib/core/store/search/search.actions.d.ts +4 -0
- package/lib/core/store/search/search.effects.d.ts +1 -0
- package/lib/core/store/search/search.service.d.ts +2 -2
- package/lib/dashboard/store/dashboard.actions.d.ts +5 -0
- package/lib/dashboard/store/dashboard.effects.d.ts +2 -0
- package/package.json +37 -37
- package/search/search-fulltext/store/search-fulltext.effects.d.ts +1 -0
- package/search/search-mono-class/store/search-mono-class.effects.d.ts +1 -0
- package/search/search-mono-class/store/search-mono-class.service.d.ts +1 -1
- package/search/search-multi-class/store/search-multi-class.effects.d.ts +1 -0
- package/toolbox/shared/presentation-form/presentation-form.component.d.ts +1 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as i2
|
|
1
|
+
import * as i2 from '@angular/cdk/overlay';
|
|
2
2
|
import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
3
3
|
import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
4
|
-
import * as i2 from '@angular/common';
|
|
4
|
+
import * as i2$1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import * as i0 from '@angular/core';
|
|
7
7
|
import { EventEmitter, Component, ViewEncapsulation, ViewChild, Input, Output, Inject, TemplateRef, ChangeDetectionStrategy, HostBinding, HostListener, Injectable, ElementRef, NgModule } from '@angular/core';
|
|
@@ -24,7 +24,7 @@ import { map, take, Subscription, BehaviorSubject, combineLatest, combineLatestW
|
|
|
24
24
|
import { map as map$1, debounceTime, distinctUntilChanged, filter as filter$1, switchMap as switchMap$1, take as take$1, delay, withLatestFrom, mergeMap, first, catchError } from 'rxjs/operators';
|
|
25
25
|
import { v4 } from 'uuid';
|
|
26
26
|
import equal from 'fast-deep-equal/es6';
|
|
27
|
-
import * as
|
|
27
|
+
import * as i4$1 from '@angular/cdk/bidi';
|
|
28
28
|
|
|
29
29
|
class ChooseWidgetComponent extends SubscriptionnerDirective {
|
|
30
30
|
constructor(toolboxMenuService, toolboxManifestService) {
|
|
@@ -68,11 +68,11 @@ class ChooseWidgetComponent extends SubscriptionnerDirective {
|
|
|
68
68
|
this.selected.emit(type.type);
|
|
69
69
|
}
|
|
70
70
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ChooseWidgetComponent, deps: [{ token: i3.ToolboxMenuService }, { token: i3.ToolboxManifestService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ChooseWidgetComponent, selector: "pry-choose-widget", inputs: { panelOpen: "panelOpen", mode: "mode", width: "width" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "chooseWidgets", first: true, predicate: ["chooseWidgets"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div cdkOverlayOrigin #originSearch=\"cdkOverlayOrigin\" class=\"m-choose-widget\">\n @if (mode === 'button') {\n <button\n type=\"button\"\n title=\"{{ '@pry.widget.buttonChoice' | i18n }}\"\n class=\"a-btn a-btn--primary a-btn--icon-text m-choose-widget__buttons-widget\"\n (click)=\"togglePopup()\"\n >\n <img\n [alt]=\"widgetSelected?.label\"\n [src]=\"widgetSelected?.icon | getSecuredImage | async\"\n [width]=\"22\"\n [height]=\"22\"\n />\n <span>{{ widgetSelected ? (widgetSelected.label | i18n) : ('@pry.toolbox.table' | i18n) }}</span>\n </button>\n }\n</div>\n\n@if (mode !== 'button') {\n <div class=\"m-choose-widget__input\" [class.choose-widget__input__inline]=\"mode === 'inline'\">\n <ng-content></ng-content>\n </div>\n}\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"originSearch\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"[BOTTOM_POSITION, TOP_POSITION]\"\n >\n <div class=\"m-choose-widget__widget_overlay\" (keydown.escape)=\"togglePopup()\" [style.width.px]=\"width\">\n <div class=\"m-choose-widget__widget_overlay__content\">\n @for (widget of widgets$ | async; track widget) {\n <div>\n <button\n #chooseWidgets\n type=\"button\"\n class=\"m-choose-widget__widget_overlay__content__item\"\n [class.choose-widget__widget_overlay__content__item__selected]=\"widget.type === widgetSelected?.type\"\n (click)=\"onSelectWidget(widget)\"\n >\n <img [alt]=\"widget.label | i18n\" [height]=\"22\" [width]=\"22\" [src]=\"widget.icon | getSecuredImage | async\" />\n <span class=\"m-choose-widget__widget_overlay__content__item__label\">{{ widget.label | i18n }}</span>\n </button>\n </div>\n }\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
72
72
|
}
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ChooseWidgetComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
|
-
args: [{ selector: 'pry-choose-widget', encapsulation: ViewEncapsulation.None, template: "<div cdkOverlayOrigin #originSearch=\"cdkOverlayOrigin\" class=\"m-choose-widget\">\n <button\n
|
|
75
|
+
args: [{ selector: 'pry-choose-widget', encapsulation: ViewEncapsulation.None, template: "<div cdkOverlayOrigin #originSearch=\"cdkOverlayOrigin\" class=\"m-choose-widget\">\n @if (mode === 'button') {\n <button\n type=\"button\"\n title=\"{{ '@pry.widget.buttonChoice' | i18n }}\"\n class=\"a-btn a-btn--primary a-btn--icon-text m-choose-widget__buttons-widget\"\n (click)=\"togglePopup()\"\n >\n <img\n [alt]=\"widgetSelected?.label\"\n [src]=\"widgetSelected?.icon | getSecuredImage | async\"\n [width]=\"22\"\n [height]=\"22\"\n />\n <span>{{ widgetSelected ? (widgetSelected.label | i18n) : ('@pry.toolbox.table' | i18n) }}</span>\n </button>\n }\n</div>\n\n@if (mode !== 'button') {\n <div class=\"m-choose-widget__input\" [class.choose-widget__input__inline]=\"mode === 'inline'\">\n <ng-content></ng-content>\n </div>\n}\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"originSearch\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"[BOTTOM_POSITION, TOP_POSITION]\"\n >\n <div class=\"m-choose-widget__widget_overlay\" (keydown.escape)=\"togglePopup()\" [style.width.px]=\"width\">\n <div class=\"m-choose-widget__widget_overlay__content\">\n @for (widget of widgets$ | async; track widget) {\n <div>\n <button\n #chooseWidgets\n type=\"button\"\n class=\"m-choose-widget__widget_overlay__content__item\"\n [class.choose-widget__widget_overlay__content__item__selected]=\"widget.type === widgetSelected?.type\"\n (click)=\"onSelectWidget(widget)\"\n >\n <img [alt]=\"widget.label | i18n\" [height]=\"22\" [width]=\"22\" [src]=\"widget.icon | getSecuredImage | async\" />\n <span class=\"m-choose-widget__widget_overlay__content__item__label\">{{ widget.label | i18n }}</span>\n </button>\n </div>\n }\n </div>\n </div>\n</ng-template>\n" }]
|
|
76
76
|
}], ctorParameters: () => [{ type: i3.ToolboxMenuService }, { type: i3.ToolboxManifestService }], propDecorators: { chooseWidgets: [{
|
|
77
77
|
type: ViewChild,
|
|
78
78
|
args: ['chooseWidgets']
|
|
@@ -653,13 +653,13 @@ class PrySearchHomeComponent {
|
|
|
653
653
|
ngOnDestroy() {
|
|
654
654
|
this.subscription.unsubscribe();
|
|
655
655
|
}
|
|
656
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchHomeComponent, deps: [{ token: i1.Store }, { token: i2
|
|
657
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: PrySearchHomeComponent, selector: "pry-search-home", inputs: { searchFulltextTpl: "searchFulltextTpl", isMoreList: "isMoreList" }, outputs: { changeListView: "changeListView", changeSearchCriteria: "changeSearchCriteria" }, viewQueries: [{ propertyName: "templateSpot", first: true, predicate: ["templateSpot"], descendants: true, read: TemplateRef }, { propertyName: "templateRefresh", first: true, predicate: ["templateRefresh"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<pry-search-css></pry-search-css>\n<div class=\"o-pry-search-home__named-query\">\n <ng-container *ngIf=\"namedQueryList$ | async as namedQuery\">\n <ng-container *ngIf=\"namedQuery.length > 0; else noNamedQuery\">\n <div class=\"o-pry-search-home__named-query__card\">\n <pry-expand-panel [open]=\"true\">\n <pry-expand-panel-title>{{ '@pry.search.home.title' | i18n }}</pry-expand-panel-title>\n\n <pry-card *ngFor=\"let nq of namedQuery.length > 1 && !isMoreList ? namedQuery.slice(0, 2) : namedQuery\">\n <pry-card-header [marker]=\"true\">\n <pry-card-icon>\n <pry-nq-color-selector [datasource]=\"nq\" [disabled]=\"true\"></pry-nq-color-selector>\n <img\n [alt]=\"nq.id | translateId : { type: 'datasource', output: 'name' } | async\"\n [height]=\"22\"\n [width]=\"22\"\n [src]=\"nq.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n </pry-card-icon>\n\n <pry-card-title>\n <div class=\"o-pry-card-title__text\" aria-describedby=\"infoTooltip_searchHome\">\n <div class=\"a-p o-pry-card-title__text__title\">{{ nq.name }}</div>\n <div class=\"a-p o-pry-card-title__text__description\" *ngIf=\"nq.description\">{{ nq.description }}</div>\n </div>\n <ng-template #infoTooltip>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltip_searchHome\">\n <span class=\"m-tooltip__text\">\n {{ nq.name }}\n </span>\n <span class=\"m-tooltip__description\" *ngIf=\"nq.description\">\n {{ nq.description }}\n </span>\n </div>\n </ng-template>\n <pry-icon\n class=\"o-pry-card-title__pin\"\n *ngIf=\"nq.favorite\"\n [width]=\"18\"\n [height]=\"18\"\n aria-label=\"favorite\"\n iconSvg=\"epingle\"\n ></pry-icon>\n\n <button\n [attr.data-tooltip]=\"'@pry.search.home.showAssociatedWidget' | i18n\"\n data-tooltip-position=\"bottom\"\n class=\"a-tooltip a-btn a-btn--secondary -size-sm -override-tooltip-position\"\n (click)=\"onSearchNamedQuery(nq.id)\"\n *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\"\n >\n {{ '@pry.search.namedQuery.display' | i18n }}\n <span class=\"u-visually-hidden\">{{ '@pry.search.home.associatedWidget' | i18n }}</span>\n </button>\n </pry-card-title>\n\n <pry-card-menu>\n <div class=\"o-pry-card-menu__nav\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onFavorite(nq.id, nq.favorite)\"\n >\n <pry-icon iconSvg=\"epingle\"></pry-icon>\n {{ (nq.favorite ? '@pry.search.namedQuery.noFavorite' : '@pry.search.namedQuery.favorite') | i18n }}\n </button>\n <pry-card-menu (click)=\"refresh(nq.id)\" class=\"refreshbt\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n {{ '@pry.search.namedQuery.refreshData' | i18n }}\n </button>\n </pry-card-menu>\n <pry-card-menu *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"loadOpened = nq.id; $event.stopPropagation()\"\n cdkOverlayOrigin\n #triggerLoad=\"cdkOverlayOrigin\"\n >\n <pry-icon iconSvg=\"file_download\"></pry-icon>\n {{ '@pry.search.namedQuery.display' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"triggerLoad\"\n [cdkConnectedOverlayOpen]=\"loadOpened === nq.id\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayPositions]=\"[connectedPosition]\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"loadOpened = undefined\"\n >\n <div class=\"o-draggable-menu -search-home\">\n <ul class=\"o-draggable-menu__list\">\n <ng-container *ngFor=\"let menu of structure\">\n <li class=\"o-draggable-menu__list__item\">\n <button class=\"a-btn\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <pry-icon [iconSvg]=\"menu.icon\"></pry-icon>\n {{ menu.label | i18n }}\n </button>\n\n <ul class=\"o-draggable-menu__list__submenu\">\n <ng-container *ngFor=\"let sub of menu.sub\">\n <li class=\"o-draggable-menu__list__submenu__item\">\n <button class=\"a-btn\" (click)=\"loadWidget(nq.id, sub)\">\n <pry-icon [iconSvg]=\"sub.icon\"></pry-icon>\n {{ sub.label | i18n }}\n </button>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n </ng-template>\n </pry-card-menu>\n\n <pry-card-menu class=\"o-pry-card-menu__nav__item\">\n <pry-nq-color-selector [ngStyle]=\"{ width: '100%' }\" [datasource]=\"nq\"></pry-nq-color-selector>\n </pry-card-menu>\n\n <pry-card-menu (click)=\"onSpot(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"mode_clic\"></pry-icon>\n {{ '@pry.search.namedQuery.spot' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <pry-card-menu (click)=\"onRefresh(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"history-line\"></pry-icon>\n {{ '@pry.search.namedQuery.refresh.title' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onDelete(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n {{ '@pry.search.namedQuery.delete' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onRename(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"renamed\"></pry-icon>\n {{ '@pry.search.namedQuery.rename' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onEdit(nq)\"\n (keydown.tab)=\"hideSpot()\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n {{ '@pry.search.namedQuery.edit' | i18n }}\n </button>\n </div>\n </pry-card-menu>\n </pry-card-header>\n </pry-card>\n </pry-expand-panel>\n </div>\n <button\n class=\"a-btn -link-like\"\n aria-pressed=\"false\"\n id=\"btn_view_more\"\n *ngIf=\"namedQuery.length > 2\"\n (click)=\"onChangeListView(isMoreList)\"\n >\n {{ isMoreList ? ('@pry.search.namedQuery.seeLess' | i18n) : ('@pry.search.namedQuery.seeMore' | i18n) }}\n </button>\n </ng-container>\n\n <ng-template #noNamedQuery>\n <p class=\"search-home__container-search\">{{ '@pry.search.namedQuery.emptyNamedQuery' | i18n }}</p>\n </ng-template>\n </ng-container>\n</div>\n\n<div class=\"o-pry-search-home__search\">\n <h3 class=\"a-h3\">{{ '@pry.search.home.ssTitle' | i18n }}</h3>\n <ng-container *ngIf=\"searchFulltextTpl\">\n <ng-container [ngTemplateOutlet]=\"searchFulltextTpl\"></ng-container>\n <p class=\"a-p o-pry-search-home__search__or\">{{ '@pry.search.home.or' | i18n }}</p>\n </ng-container>\n <button class=\"a-btn a-btn--primary -width-full\" (click)=\"onSearchCriteria()\">\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"search-criteria\"></pry-icon>\n {{ '@pry.search.home.searchByCriteria' | i18n }}\n <pry-icon iconSvg=\"arrow_right\"></pry-icon>\n </button>\n</div>\n\n<ng-template #templateSpot>\n <div (mouseleave)=\"hideSpot()\">\n {{\n ((spottingWidget$ | async)?.length ?? 0 > 0\n ? '@pry.search.namedQuery.spotTitle'\n : '@pry.search.namedQuery.noSpot'\n ) | i18n : { length: (spottingWidget$ | async)?.length }\n }}\n <div *ngFor=\"let use of spottingWidget$ | async\" class=\"spot-line\">\n <pry-icon [width]=\"20\" [height]=\"20\" [iconSvg]=\"icons[use.type]\"></pry-icon>\n {{ '@pry.search.namedQuery.type.' + use.type | i18n }} - {{ '@pry.search.namedQuery.use' | i18n : use }}\n </div>\n </div>\n</ng-template>\n\n<ng-template #templateRefresh>\n <div>\n <button\n *ngFor=\"let option of refreshOptions\"\n class=\"refresh-line a-btn a-btn--icon-text -size-sm\"\n (click)=\"selectRefresh(option)\"\n >\n <pry-icon\n [width]=\"20\"\n [height]=\"20\"\n iconSvg=\"check\"\n *ngIf=\"(((refreshRates$ | async) ?? {})[refreshId] ?? 0) === option\"\n ></pry-icon>\n {{ '@pry.search.namedQuery.refresh.' + option | i18n }}\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.PryNqColorSelectorComponent, selector: "pry-nq-color-selector", inputs: ["disabled", "datasource"], outputs: ["colorChanged"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i5.PryExpandPanelComponent, selector: "pry-expand-panel", inputs: ["open"] }, { kind: "directive", type: i5.PryExpansionPanelTitleDirective, selector: "pry-expand-panel-title" }, { kind: "component", type: i6.PryCardComponent, selector: "pry-card", inputs: ["selected"], outputs: ["statusChange"] }, { kind: "directive", type: i6.PryCardIconDirective, selector: "pry-card-icon, [pry-card-icon], [pryCardIcon]" }, { kind: "directive", type: i6.PryCardTitleDirective, selector: "pry-card-title, [o-pry-card-title], [pryCardTitle]" }, { kind: "directive", type: i6.PryCardMenuDirective, selector: "pry-card-menu", outputs: ["closeMenu$"], exportAs: ["pryCardMenu"] }, { kind: "component", type: i6.PryCardHeaderComponent, selector: "pry-card-header", inputs: ["marker"] }, { kind: "component", type: PrySearchCssComponent, selector: "pry-search-css" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
656
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchHomeComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.PryDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
657
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchHomeComponent, selector: "pry-search-home", inputs: { searchFulltextTpl: "searchFulltextTpl", isMoreList: "isMoreList" }, outputs: { changeListView: "changeListView", changeSearchCriteria: "changeSearchCriteria" }, viewQueries: [{ propertyName: "templateSpot", first: true, predicate: ["templateSpot"], descendants: true, read: TemplateRef }, { propertyName: "templateRefresh", first: true, predicate: ["templateRefresh"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<pry-search-css></pry-search-css>\n<div class=\"o-pry-search-home__named-query\">\n @if (namedQueryList$ | async; as namedQuery) {\n @if (namedQuery.length > 0) {\n <div class=\"o-pry-search-home__named-query__card\">\n <pry-expand-panel [open]=\"true\">\n <pry-expand-panel-title>{{ '@pry.search.home.title' | i18n }}</pry-expand-panel-title>\n @for (nq of namedQuery.length > 1 && !isMoreList ? namedQuery.slice(0, 2) : namedQuery; track nq) {\n <pry-card>\n <pry-card-header [marker]=\"true\">\n <pry-card-icon>\n <pry-nq-color-selector [datasource]=\"nq\" [disabled]=\"true\"></pry-nq-color-selector>\n <img\n [alt]=\"nq.id | translateId : { type: 'datasource', output: 'name' } | async\"\n [height]=\"22\"\n [width]=\"22\"\n [src]=\"nq.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n </pry-card-icon>\n <pry-card-title>\n <div class=\"o-pry-card-title__text\" aria-describedby=\"infoTooltip_searchHome\">\n <div class=\"a-p o-pry-card-title__text__title\">{{ nq.name }}</div>\n @if (nq.description) {\n <div class=\"a-p o-pry-card-title__text__description\">{{ nq.description }}</div>\n }\n </div>\n <ng-template #infoTooltip>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltip_searchHome\">\n <span class=\"m-tooltip__text\">\n {{ nq.name }}\n </span>\n @if (nq.description) {\n <span class=\"m-tooltip__description\">\n {{ nq.description }}\n </span>\n }\n </div>\n </ng-template>\n @if (nq.favorite) {\n <pry-icon\n class=\"o-pry-card-title__pin\"\n [width]=\"18\"\n [height]=\"18\"\n aria-label=\"favorite\"\n iconSvg=\"epingle\"\n ></pry-icon>\n }\n @if ((layout$ | async) !== DashboardGridLayout.MANUAL) {\n <button\n [attr.data-tooltip]=\"'@pry.search.home.showAssociatedWidget' | i18n\"\n data-tooltip-position=\"bottom\"\n class=\"a-tooltip a-btn a-btn--secondary -size-sm -override-tooltip-position\"\n (click)=\"onSearchNamedQuery(nq.id)\"\n >\n {{ '@pry.search.namedQuery.display' | i18n }}\n <span class=\"u-visually-hidden\">{{ '@pry.search.home.associatedWidget' | i18n }}</span>\n </button>\n }\n </pry-card-title>\n <pry-card-menu>\n <div class=\"o-pry-card-menu__nav\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onFavorite(nq.id, nq.favorite)\"\n >\n <pry-icon iconSvg=\"epingle\"></pry-icon>\n {{ (nq.favorite ? '@pry.search.namedQuery.noFavorite' : '@pry.search.namedQuery.favorite') | i18n }}\n </button>\n <pry-card-menu (click)=\"refresh(nq.id)\" class=\"refreshbt\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n {{ '@pry.search.namedQuery.refreshData' | i18n }}\n </button>\n </pry-card-menu>\n @if ((layout$ | async) !== DashboardGridLayout.MANUAL) {\n <pry-card-menu>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"loadOpened = nq.id; $event.stopPropagation()\"\n cdkOverlayOrigin\n #triggerLoad=\"cdkOverlayOrigin\"\n >\n <pry-icon iconSvg=\"file_download\"></pry-icon>\n {{ '@pry.search.namedQuery.display' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"triggerLoad\"\n [cdkConnectedOverlayOpen]=\"loadOpened === nq.id\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayPositions]=\"[connectedPosition]\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"loadOpened = undefined\"\n >\n <div class=\"o-draggable-menu -search-home\">\n <ul class=\"o-draggable-menu__list\">\n @for (menu of structure; track menu) {\n <li class=\"o-draggable-menu__list__item\">\n <button class=\"a-btn\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <pry-icon [iconSvg]=\"menu.icon\"></pry-icon>\n {{ menu.label | i18n }}\n </button>\n <ul class=\"o-draggable-menu__list__submenu\">\n @for (sub of menu.sub; track sub) {\n <li class=\"o-draggable-menu__list__submenu__item\">\n <button class=\"a-btn\" (click)=\"loadWidget(nq.id, sub)\">\n <pry-icon [iconSvg]=\"sub.icon\"></pry-icon>\n {{ sub.label | i18n }}\n </button>\n </li>\n }\n </ul>\n </li>\n }\n </ul>\n </div>\n </ng-template>\n </pry-card-menu>\n }\n <pry-card-menu class=\"o-pry-card-menu__nav__item\">\n <pry-nq-color-selector [ngStyle]=\"{ width: '100%' }\" [datasource]=\"nq\"></pry-nq-color-selector>\n </pry-card-menu>\n <pry-card-menu (click)=\"onSpot(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"mode_clic\"></pry-icon>\n {{ '@pry.search.namedQuery.spot' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <pry-card-menu (click)=\"onRefresh(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"history-line\"></pry-icon>\n {{ '@pry.search.namedQuery.refresh.title' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n @if (nq.owner) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onDelete(nq)\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n {{ '@pry.search.namedQuery.delete' | i18n }}\n </button>\n }\n @if (nq.owner) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onRename(nq)\"\n >\n <pry-icon iconSvg=\"renamed\"></pry-icon>\n {{ '@pry.search.namedQuery.rename' | i18n }}\n </button>\n }\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onEdit(nq)\"\n (keydown.tab)=\"hideSpot()\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n {{ '@pry.search.namedQuery.edit' | i18n }}\n </button>\n </div>\n </pry-card-menu>\n </pry-card-header>\n </pry-card>\n }\n </pry-expand-panel>\n </div>\n @if (namedQuery.length > 2) {\n <button\n class=\"a-btn -link-like\"\n aria-pressed=\"false\"\n id=\"btn_view_more\"\n (click)=\"onChangeListView(isMoreList)\"\n >\n {{ isMoreList ? ('@pry.search.namedQuery.seeLess' | i18n) : ('@pry.search.namedQuery.seeMore' | i18n) }}\n </button>\n }\n } @else {\n <p class=\"search-home__container-search\">{{ '@pry.search.namedQuery.emptyNamedQuery' | i18n }}</p>\n }\n }\n</div>\n\n<div class=\"o-pry-search-home__search\">\n <h3 class=\"a-h3\">{{ '@pry.search.home.ssTitle' | i18n }}</h3>\n @if (searchFulltextTpl) {\n <ng-container [ngTemplateOutlet]=\"searchFulltextTpl\"></ng-container>\n <p class=\"a-p o-pry-search-home__search__or\">{{ '@pry.search.home.or' | i18n }}</p>\n }\n <button class=\"a-btn a-btn--primary -width-full\" (click)=\"onSearchCriteria()\">\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"search-criteria\"></pry-icon>\n {{ '@pry.search.home.searchByCriteria' | i18n }}\n <pry-icon iconSvg=\"arrow_right\"></pry-icon>\n </button>\n</div>\n\n<ng-template #templateSpot>\n <div (mouseleave)=\"hideSpot()\">\n {{\n ((spottingWidget$ | async)?.length ?? 0 > 0\n ? '@pry.search.namedQuery.spotTitle'\n : '@pry.search.namedQuery.noSpot'\n ) | i18n : { length: (spottingWidget$ | async)?.length }\n }}\n @for (use of spottingWidget$ | async; track use) {\n <div class=\"spot-line\">\n <pry-icon [width]=\"20\" [height]=\"20\" [iconSvg]=\"icons[use.type]\"></pry-icon>\n {{ '@pry.search.namedQuery.type.' + use.type | i18n }} - {{ '@pry.search.namedQuery.use' | i18n : use }}\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #templateRefresh>\n <div>\n @for (option of refreshOptions; track option) {\n <button\n class=\"refresh-line a-btn a-btn--icon-text -size-sm\"\n (click)=\"selectRefresh(option)\"\n >\n @if ((((refreshRates$ | async) ?? {})[refreshId] ?? 0) === option) {\n <pry-icon\n [width]=\"20\"\n [height]=\"20\"\n iconSvg=\"check\"\n ></pry-icon>\n }\n {{ '@pry.search.namedQuery.refresh.' + option | i18n }}\n </button>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.PryNqColorSelectorComponent, selector: "pry-nq-color-selector", inputs: ["disabled", "datasource"], outputs: ["colorChanged"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i5.PryExpandPanelComponent, selector: "pry-expand-panel", inputs: ["open"] }, { kind: "directive", type: i5.PryExpansionPanelTitleDirective, selector: "pry-expand-panel-title" }, { kind: "component", type: i6.PryCardComponent, selector: "pry-card", inputs: ["selected"], outputs: ["statusChange"] }, { kind: "directive", type: i6.PryCardIconDirective, selector: "pry-card-icon, [pry-card-icon], [pryCardIcon]" }, { kind: "directive", type: i6.PryCardTitleDirective, selector: "pry-card-title, [o-pry-card-title], [pryCardTitle]" }, { kind: "directive", type: i6.PryCardMenuDirective, selector: "pry-card-menu", outputs: ["closeMenu$"], exportAs: ["pryCardMenu"] }, { kind: "component", type: i6.PryCardHeaderComponent, selector: "pry-card-header", inputs: ["marker"] }, { kind: "component", type: PrySearchCssComponent, selector: "pry-search-css" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
658
658
|
}
|
|
659
659
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchHomeComponent, decorators: [{
|
|
660
660
|
type: Component,
|
|
661
|
-
args: [{ selector: 'pry-search-home', template: "<pry-search-css></pry-search-css>\n<div class=\"o-pry-search-home__named-query\">\n <ng-container *ngIf=\"namedQueryList$ | async as namedQuery\">\n <ng-container *ngIf=\"namedQuery.length > 0; else noNamedQuery\">\n <div class=\"o-pry-search-home__named-query__card\">\n <pry-expand-panel [open]=\"true\">\n <pry-expand-panel-title>{{ '@pry.search.home.title' | i18n }}</pry-expand-panel-title>\n\n <pry-card *ngFor=\"let nq of namedQuery.length > 1 && !isMoreList ? namedQuery.slice(0, 2) : namedQuery\">\n <pry-card-header [marker]=\"true\">\n <pry-card-icon>\n <pry-nq-color-selector [datasource]=\"nq\" [disabled]=\"true\"></pry-nq-color-selector>\n <img\n [alt]=\"nq.id | translateId : { type: 'datasource', output: 'name' } | async\"\n [height]=\"22\"\n [width]=\"22\"\n [src]=\"nq.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n </pry-card-icon>\n\n <pry-card-title>\n <div class=\"o-pry-card-title__text\" aria-describedby=\"infoTooltip_searchHome\">\n <div class=\"a-p o-pry-card-title__text__title\">{{ nq.name }}</div>\n <div class=\"a-p o-pry-card-title__text__description\" *ngIf=\"nq.description\">{{ nq.description }}</div>\n </div>\n <ng-template #infoTooltip>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltip_searchHome\">\n <span class=\"m-tooltip__text\">\n {{ nq.name }}\n </span>\n <span class=\"m-tooltip__description\" *ngIf=\"nq.description\">\n {{ nq.description }}\n </span>\n </div>\n </ng-template>\n <pry-icon\n class=\"o-pry-card-title__pin\"\n *ngIf=\"nq.favorite\"\n [width]=\"18\"\n [height]=\"18\"\n aria-label=\"favorite\"\n iconSvg=\"epingle\"\n ></pry-icon>\n\n <button\n [attr.data-tooltip]=\"'@pry.search.home.showAssociatedWidget' | i18n\"\n data-tooltip-position=\"bottom\"\n class=\"a-tooltip a-btn a-btn--secondary -size-sm -override-tooltip-position\"\n (click)=\"onSearchNamedQuery(nq.id)\"\n *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\"\n >\n {{ '@pry.search.namedQuery.display' | i18n }}\n <span class=\"u-visually-hidden\">{{ '@pry.search.home.associatedWidget' | i18n }}</span>\n </button>\n </pry-card-title>\n\n <pry-card-menu>\n <div class=\"o-pry-card-menu__nav\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onFavorite(nq.id, nq.favorite)\"\n >\n <pry-icon iconSvg=\"epingle\"></pry-icon>\n {{ (nq.favorite ? '@pry.search.namedQuery.noFavorite' : '@pry.search.namedQuery.favorite') | i18n }}\n </button>\n <pry-card-menu (click)=\"refresh(nq.id)\" class=\"refreshbt\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n {{ '@pry.search.namedQuery.refreshData' | i18n }}\n </button>\n </pry-card-menu>\n <pry-card-menu *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"loadOpened = nq.id; $event.stopPropagation()\"\n cdkOverlayOrigin\n #triggerLoad=\"cdkOverlayOrigin\"\n >\n <pry-icon iconSvg=\"file_download\"></pry-icon>\n {{ '@pry.search.namedQuery.display' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"triggerLoad\"\n [cdkConnectedOverlayOpen]=\"loadOpened === nq.id\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayPositions]=\"[connectedPosition]\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"loadOpened = undefined\"\n >\n <div class=\"o-draggable-menu -search-home\">\n <ul class=\"o-draggable-menu__list\">\n <ng-container *ngFor=\"let menu of structure\">\n <li class=\"o-draggable-menu__list__item\">\n <button class=\"a-btn\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <pry-icon [iconSvg]=\"menu.icon\"></pry-icon>\n {{ menu.label | i18n }}\n </button>\n\n <ul class=\"o-draggable-menu__list__submenu\">\n <ng-container *ngFor=\"let sub of menu.sub\">\n <li class=\"o-draggable-menu__list__submenu__item\">\n <button class=\"a-btn\" (click)=\"loadWidget(nq.id, sub)\">\n <pry-icon [iconSvg]=\"sub.icon\"></pry-icon>\n {{ sub.label | i18n }}\n </button>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n </ng-template>\n </pry-card-menu>\n\n <pry-card-menu class=\"o-pry-card-menu__nav__item\">\n <pry-nq-color-selector [ngStyle]=\"{ width: '100%' }\" [datasource]=\"nq\"></pry-nq-color-selector>\n </pry-card-menu>\n\n <pry-card-menu (click)=\"onSpot(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"mode_clic\"></pry-icon>\n {{ '@pry.search.namedQuery.spot' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <pry-card-menu (click)=\"onRefresh(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"history-line\"></pry-icon>\n {{ '@pry.search.namedQuery.refresh.title' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onDelete(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n {{ '@pry.search.namedQuery.delete' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onRename(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"renamed\"></pry-icon>\n {{ '@pry.search.namedQuery.rename' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onEdit(nq)\"\n (keydown.tab)=\"hideSpot()\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n {{ '@pry.search.namedQuery.edit' | i18n }}\n </button>\n </div>\n </pry-card-menu>\n </pry-card-header>\n </pry-card>\n </pry-expand-panel>\n </div>\n <button\n class=\"a-btn -link-like\"\n aria-pressed=\"false\"\n id=\"btn_view_more\"\n *ngIf=\"namedQuery.length > 2\"\n (click)=\"onChangeListView(isMoreList)\"\n >\n {{ isMoreList ? ('@pry.search.namedQuery.seeLess' | i18n) : ('@pry.search.namedQuery.seeMore' | i18n) }}\n </button>\n </ng-container>\n\n <ng-template #noNamedQuery>\n <p class=\"search-home__container-search\">{{ '@pry.search.namedQuery.emptyNamedQuery' | i18n }}</p>\n </ng-template>\n </ng-container>\n</div>\n\n<div class=\"o-pry-search-home__search\">\n <h3 class=\"a-h3\">{{ '@pry.search.home.ssTitle' | i18n }}</h3>\n <ng-container *ngIf=\"searchFulltextTpl\">\n <ng-container [ngTemplateOutlet]=\"searchFulltextTpl\"></ng-container>\n <p class=\"a-p o-pry-search-home__search__or\">{{ '@pry.search.home.or' | i18n }}</p>\n </ng-container>\n <button class=\"a-btn a-btn--primary -width-full\" (click)=\"onSearchCriteria()\">\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"search-criteria\"></pry-icon>\n {{ '@pry.search.home.searchByCriteria' | i18n }}\n <pry-icon iconSvg=\"arrow_right\"></pry-icon>\n </button>\n</div>\n\n<ng-template #templateSpot>\n <div (mouseleave)=\"hideSpot()\">\n {{\n ((spottingWidget$ | async)?.length ?? 0 > 0\n ? '@pry.search.namedQuery.spotTitle'\n : '@pry.search.namedQuery.noSpot'\n ) | i18n : { length: (spottingWidget$ | async)?.length }\n }}\n <div *ngFor=\"let use of spottingWidget$ | async\" class=\"spot-line\">\n <pry-icon [width]=\"20\" [height]=\"20\" [iconSvg]=\"icons[use.type]\"></pry-icon>\n {{ '@pry.search.namedQuery.type.' + use.type | i18n }} - {{ '@pry.search.namedQuery.use' | i18n : use }}\n </div>\n </div>\n</ng-template>\n\n<ng-template #templateRefresh>\n <div>\n <button\n *ngFor=\"let option of refreshOptions\"\n class=\"refresh-line a-btn a-btn--icon-text -size-sm\"\n (click)=\"selectRefresh(option)\"\n >\n <pry-icon\n [width]=\"20\"\n [height]=\"20\"\n iconSvg=\"check\"\n *ngIf=\"(((refreshRates$ | async) ?? {})[refreshId] ?? 0) === option\"\n ></pry-icon>\n {{ '@pry.search.namedQuery.refresh.' + option | i18n }}\n </button>\n </div>\n</ng-template>\n" }]
|
|
662
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2
|
|
661
|
+
args: [{ selector: 'pry-search-home', template: "<pry-search-css></pry-search-css>\n<div class=\"o-pry-search-home__named-query\">\n @if (namedQueryList$ | async; as namedQuery) {\n @if (namedQuery.length > 0) {\n <div class=\"o-pry-search-home__named-query__card\">\n <pry-expand-panel [open]=\"true\">\n <pry-expand-panel-title>{{ '@pry.search.home.title' | i18n }}</pry-expand-panel-title>\n @for (nq of namedQuery.length > 1 && !isMoreList ? namedQuery.slice(0, 2) : namedQuery; track nq) {\n <pry-card>\n <pry-card-header [marker]=\"true\">\n <pry-card-icon>\n <pry-nq-color-selector [datasource]=\"nq\" [disabled]=\"true\"></pry-nq-color-selector>\n <img\n [alt]=\"nq.id | translateId : { type: 'datasource', output: 'name' } | async\"\n [height]=\"22\"\n [width]=\"22\"\n [src]=\"nq.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n </pry-card-icon>\n <pry-card-title>\n <div class=\"o-pry-card-title__text\" aria-describedby=\"infoTooltip_searchHome\">\n <div class=\"a-p o-pry-card-title__text__title\">{{ nq.name }}</div>\n @if (nq.description) {\n <div class=\"a-p o-pry-card-title__text__description\">{{ nq.description }}</div>\n }\n </div>\n <ng-template #infoTooltip>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltip_searchHome\">\n <span class=\"m-tooltip__text\">\n {{ nq.name }}\n </span>\n @if (nq.description) {\n <span class=\"m-tooltip__description\">\n {{ nq.description }}\n </span>\n }\n </div>\n </ng-template>\n @if (nq.favorite) {\n <pry-icon\n class=\"o-pry-card-title__pin\"\n [width]=\"18\"\n [height]=\"18\"\n aria-label=\"favorite\"\n iconSvg=\"epingle\"\n ></pry-icon>\n }\n @if ((layout$ | async) !== DashboardGridLayout.MANUAL) {\n <button\n [attr.data-tooltip]=\"'@pry.search.home.showAssociatedWidget' | i18n\"\n data-tooltip-position=\"bottom\"\n class=\"a-tooltip a-btn a-btn--secondary -size-sm -override-tooltip-position\"\n (click)=\"onSearchNamedQuery(nq.id)\"\n >\n {{ '@pry.search.namedQuery.display' | i18n }}\n <span class=\"u-visually-hidden\">{{ '@pry.search.home.associatedWidget' | i18n }}</span>\n </button>\n }\n </pry-card-title>\n <pry-card-menu>\n <div class=\"o-pry-card-menu__nav\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onFavorite(nq.id, nq.favorite)\"\n >\n <pry-icon iconSvg=\"epingle\"></pry-icon>\n {{ (nq.favorite ? '@pry.search.namedQuery.noFavorite' : '@pry.search.namedQuery.favorite') | i18n }}\n </button>\n <pry-card-menu (click)=\"refresh(nq.id)\" class=\"refreshbt\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n {{ '@pry.search.namedQuery.refreshData' | i18n }}\n </button>\n </pry-card-menu>\n @if ((layout$ | async) !== DashboardGridLayout.MANUAL) {\n <pry-card-menu>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"loadOpened = nq.id; $event.stopPropagation()\"\n cdkOverlayOrigin\n #triggerLoad=\"cdkOverlayOrigin\"\n >\n <pry-icon iconSvg=\"file_download\"></pry-icon>\n {{ '@pry.search.namedQuery.display' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"triggerLoad\"\n [cdkConnectedOverlayOpen]=\"loadOpened === nq.id\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayPositions]=\"[connectedPosition]\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"loadOpened = undefined\"\n >\n <div class=\"o-draggable-menu -search-home\">\n <ul class=\"o-draggable-menu__list\">\n @for (menu of structure; track menu) {\n <li class=\"o-draggable-menu__list__item\">\n <button class=\"a-btn\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <pry-icon [iconSvg]=\"menu.icon\"></pry-icon>\n {{ menu.label | i18n }}\n </button>\n <ul class=\"o-draggable-menu__list__submenu\">\n @for (sub of menu.sub; track sub) {\n <li class=\"o-draggable-menu__list__submenu__item\">\n <button class=\"a-btn\" (click)=\"loadWidget(nq.id, sub)\">\n <pry-icon [iconSvg]=\"sub.icon\"></pry-icon>\n {{ sub.label | i18n }}\n </button>\n </li>\n }\n </ul>\n </li>\n }\n </ul>\n </div>\n </ng-template>\n </pry-card-menu>\n }\n <pry-card-menu class=\"o-pry-card-menu__nav__item\">\n <pry-nq-color-selector [ngStyle]=\"{ width: '100%' }\" [datasource]=\"nq\"></pry-nq-color-selector>\n </pry-card-menu>\n <pry-card-menu (click)=\"onSpot(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"mode_clic\"></pry-icon>\n {{ '@pry.search.namedQuery.spot' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <pry-card-menu (click)=\"onRefresh(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"history-line\"></pry-icon>\n {{ '@pry.search.namedQuery.refresh.title' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n @if (nq.owner) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onDelete(nq)\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n {{ '@pry.search.namedQuery.delete' | i18n }}\n </button>\n }\n @if (nq.owner) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onRename(nq)\"\n >\n <pry-icon iconSvg=\"renamed\"></pry-icon>\n {{ '@pry.search.namedQuery.rename' | i18n }}\n </button>\n }\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onEdit(nq)\"\n (keydown.tab)=\"hideSpot()\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n {{ '@pry.search.namedQuery.edit' | i18n }}\n </button>\n </div>\n </pry-card-menu>\n </pry-card-header>\n </pry-card>\n }\n </pry-expand-panel>\n </div>\n @if (namedQuery.length > 2) {\n <button\n class=\"a-btn -link-like\"\n aria-pressed=\"false\"\n id=\"btn_view_more\"\n (click)=\"onChangeListView(isMoreList)\"\n >\n {{ isMoreList ? ('@pry.search.namedQuery.seeLess' | i18n) : ('@pry.search.namedQuery.seeMore' | i18n) }}\n </button>\n }\n } @else {\n <p class=\"search-home__container-search\">{{ '@pry.search.namedQuery.emptyNamedQuery' | i18n }}</p>\n }\n }\n</div>\n\n<div class=\"o-pry-search-home__search\">\n <h3 class=\"a-h3\">{{ '@pry.search.home.ssTitle' | i18n }}</h3>\n @if (searchFulltextTpl) {\n <ng-container [ngTemplateOutlet]=\"searchFulltextTpl\"></ng-container>\n <p class=\"a-p o-pry-search-home__search__or\">{{ '@pry.search.home.or' | i18n }}</p>\n }\n <button class=\"a-btn a-btn--primary -width-full\" (click)=\"onSearchCriteria()\">\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"search-criteria\"></pry-icon>\n {{ '@pry.search.home.searchByCriteria' | i18n }}\n <pry-icon iconSvg=\"arrow_right\"></pry-icon>\n </button>\n</div>\n\n<ng-template #templateSpot>\n <div (mouseleave)=\"hideSpot()\">\n {{\n ((spottingWidget$ | async)?.length ?? 0 > 0\n ? '@pry.search.namedQuery.spotTitle'\n : '@pry.search.namedQuery.noSpot'\n ) | i18n : { length: (spottingWidget$ | async)?.length }\n }}\n @for (use of spottingWidget$ | async; track use) {\n <div class=\"spot-line\">\n <pry-icon [width]=\"20\" [height]=\"20\" [iconSvg]=\"icons[use.type]\"></pry-icon>\n {{ '@pry.search.namedQuery.type.' + use.type | i18n }} - {{ '@pry.search.namedQuery.use' | i18n : use }}\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #templateRefresh>\n <div>\n @for (option of refreshOptions; track option) {\n <button\n class=\"refresh-line a-btn a-btn--icon-text -size-sm\"\n (click)=\"selectRefresh(option)\"\n >\n @if ((((refreshRates$ | async) ?? {})[refreshId] ?? 0) === option) {\n <pry-icon\n [width]=\"20\"\n [height]=\"20\"\n iconSvg=\"check\"\n ></pry-icon>\n }\n {{ '@pry.search.namedQuery.refresh.' + option | i18n }}\n </button>\n }\n </div>\n</ng-template>\n" }]
|
|
662
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i3.PryDialogService }], propDecorators: { templateSpot: [{
|
|
663
663
|
type: ViewChild,
|
|
664
664
|
args: ['templateSpot', { read: TemplateRef }]
|
|
665
665
|
}], templateRefresh: [{
|
|
@@ -693,11 +693,11 @@ class PrySearchSelectAttributeComponent {
|
|
|
693
693
|
this.selectAttributeChange.emit(attribute);
|
|
694
694
|
}
|
|
695
695
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchSelectAttributeComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
696
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
696
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchSelectAttributeComponent, selector: "pry-search-select-attribute", inputs: { id: "id" }, outputs: { selectAttributeChange: "selectAttributeChange" }, ngImport: i0, template: "@if (_attributes$ | async; as attributes) {\n <ul class=\"m-pry-search-select-attribute\">\n @for (attr of attributes; track attr) {\n <li class=\"m-pry-search-select-attribute__item\">\n <button class=\"a-btn\" (click)=\"onSelectAttribute(attr)\">\n {{ attr.name }}\n </button>\n </li>\n }\n </ul>\n}\n", dependencies: [{ kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
697
697
|
}
|
|
698
698
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchSelectAttributeComponent, decorators: [{
|
|
699
699
|
type: Component,
|
|
700
|
-
args: [{ selector: 'pry-search-select-attribute', changeDetection: ChangeDetectionStrategy.OnPush, template: "
|
|
700
|
+
args: [{ selector: 'pry-search-select-attribute', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (_attributes$ | async; as attributes) {\n <ul class=\"m-pry-search-select-attribute\">\n @for (attr of attributes; track attr) {\n <li class=\"m-pry-search-select-attribute__item\">\n <button class=\"a-btn\" (click)=\"onSelectAttribute(attr)\">\n {{ attr.name }}\n </button>\n </li>\n }\n </ul>\n}\n" }]
|
|
701
701
|
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { id: [{
|
|
702
702
|
type: Input
|
|
703
703
|
}], selectAttributeChange: [{
|
|
@@ -817,11 +817,11 @@ class PrySearchConditionComponent {
|
|
|
817
817
|
.pipe(filter((cond) => cond !== null));
|
|
818
818
|
}
|
|
819
819
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchConditionComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
820
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
820
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchConditionComponent, selector: "pry-search-condition", inputs: { attributeId: "attributeId", id: "id", useTextDateInputs: "useTextDateInputs" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"o-pry-search-condition\">\n <div class=\"o-pry-search-condition__fields\" [class.has-date-picker]=\"isDate && !textDateInputs\">\n <input class=\"a-form-field\" type=\"text\" [ngModel]=\"attributeName$ | async\" readonly />\n <pry-select\n class=\"a-pry-select operator\"\n [items]=\"operatorOptions$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n name=\"operator\"\n [ngModel]=\"operatorSelectedValue\"\n (ngModelChange)=\"onSelectedOperator($event)\"\n ></pry-select>\n @if (isDate && !textDateInputs) {\n <pry-date-picker\n class=\"o-pry-search-condition__date-picker\"\n [(ngModel)]=\"dateConditionValue\"\n (ngModelChange)=\"updateDateCondition()\"\n [rangePicker]=\"twoValues\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n required\n ></pry-date-picker>\n } @else {\n <input\n class=\"a-form-field\"\n type=\"text\"\n [placeholder]=\"(twoValues ? '@pry.search.placeholder.minValue' : '@pry.search.placeholder.search') | i18n\"\n [ngClass]=\"{ '-half': twoValues }\"\n [class.pry-search-condition-input-pattern]=\"firstValue.touched && firstValueInvalid\"\n [class.pry-search-condition-input-required]=\"firstValue.touched && firstValue.invalid\"\n name=\"value\"\n [type]=\"isDate ? 'date' : 'text'\"\n required\n #firstValue=\"ngModel\"\n [(ngModel)]=\"conditionValue\"\n (input)=\"onCheckValidity($event, true)\"\n (focusout)=\"updateFirstValue()\"\n />\n @if (twoValues) {\n <input\n class=\"a-form-field\"\n type=\"text\"\n [placeholder]=\"'@pry.search.placeholder.maxValue' | i18n\"\n required\n [type]=\"isDate ? 'date' : 'text'\"\n [(ngModel)]=\"secondConditionValue\"\n (input)=\"onCheckValidity($event, false)\"\n (focusout)=\"updateSecondValue()\"\n />\n }\n }\n </div>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only -circle -size-xs delete\"\n (click)=\"onDeleteAttributeCondition()\"\n [title]=\"'@pry.search.attribute.remove' | i18n\"\n >\n <pry-icon iconSvg=\"close\" [width]=\"22\" [height]=\"22\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.attribute.remove' | i18n }}</span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i3.PryDatePickerComponent, selector: "pry-date-picker", inputs: ["rangePicker", "timePicker", "maxYear", "minYear", "roundSelection"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
821
821
|
}
|
|
822
822
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchConditionComponent, decorators: [{
|
|
823
823
|
type: Component,
|
|
824
|
-
args: [{ selector: 'pry-search-condition', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-search-condition\">\n <div class=\"o-pry-search-condition__fields\" [class.has-date-picker]=\"isDate && !textDateInputs\">\n <input class=\"a-form-field\" type=\"text\" [ngModel]=\"attributeName$ | async\" readonly />\n <pry-select\n class=\"a-pry-select operator\"\n [items]=\"operatorOptions$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n name=\"operator\"\n [ngModel]=\"operatorSelectedValue\"\n (ngModelChange)=\"onSelectedOperator($event)\"\n ></pry-select>\n
|
|
824
|
+
args: [{ selector: 'pry-search-condition', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-search-condition\">\n <div class=\"o-pry-search-condition__fields\" [class.has-date-picker]=\"isDate && !textDateInputs\">\n <input class=\"a-form-field\" type=\"text\" [ngModel]=\"attributeName$ | async\" readonly />\n <pry-select\n class=\"a-pry-select operator\"\n [items]=\"operatorOptions$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n name=\"operator\"\n [ngModel]=\"operatorSelectedValue\"\n (ngModelChange)=\"onSelectedOperator($event)\"\n ></pry-select>\n @if (isDate && !textDateInputs) {\n <pry-date-picker\n class=\"o-pry-search-condition__date-picker\"\n [(ngModel)]=\"dateConditionValue\"\n (ngModelChange)=\"updateDateCondition()\"\n [rangePicker]=\"twoValues\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n required\n ></pry-date-picker>\n } @else {\n <input\n class=\"a-form-field\"\n type=\"text\"\n [placeholder]=\"(twoValues ? '@pry.search.placeholder.minValue' : '@pry.search.placeholder.search') | i18n\"\n [ngClass]=\"{ '-half': twoValues }\"\n [class.pry-search-condition-input-pattern]=\"firstValue.touched && firstValueInvalid\"\n [class.pry-search-condition-input-required]=\"firstValue.touched && firstValue.invalid\"\n name=\"value\"\n [type]=\"isDate ? 'date' : 'text'\"\n required\n #firstValue=\"ngModel\"\n [(ngModel)]=\"conditionValue\"\n (input)=\"onCheckValidity($event, true)\"\n (focusout)=\"updateFirstValue()\"\n />\n @if (twoValues) {\n <input\n class=\"a-form-field\"\n type=\"text\"\n [placeholder]=\"'@pry.search.placeholder.maxValue' | i18n\"\n required\n [type]=\"isDate ? 'date' : 'text'\"\n [(ngModel)]=\"secondConditionValue\"\n (input)=\"onCheckValidity($event, false)\"\n (focusout)=\"updateSecondValue()\"\n />\n }\n }\n </div>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only -circle -size-xs delete\"\n (click)=\"onDeleteAttributeCondition()\"\n [title]=\"'@pry.search.attribute.remove' | i18n\"\n >\n <pry-icon iconSvg=\"close\" [width]=\"22\" [height]=\"22\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.attribute.remove' | i18n }}</span>\n </button>\n</div>\n" }]
|
|
825
825
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { class: [{
|
|
826
826
|
type: HostBinding,
|
|
827
827
|
args: ['class']
|
|
@@ -879,11 +879,11 @@ class PrySearchComposedComponent {
|
|
|
879
879
|
this.store.dispatch(SearchMonoClassActions.deleteNormalizedConditionById({ conditionId }));
|
|
880
880
|
}
|
|
881
881
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchComposedComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
882
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
882
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchComposedComponent, selector: "pry-search-composed", inputs: { id: "id" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)" }, properties: { "class": "this.class", "class.is-hover": "this.hover" } }, ngImport: i0, template: "<div class=\"o-pry-search-composed\" [ngClass]=\"{ 'pry-search-composed-hover': hover }\">\n @if (condition$ | async; as cond) {\n @if (cond.type === 'ATTRIBUTE') {\n @if (cond.attribute) {\n <pry-search-condition [attributeId]=\"cond.attribute\" [id]=\"cond.id\"></pry-search-condition>\n }\n } @else {\n <div class=\"o-pry-search-composed__condition\">\n <div class=\"o-pry-search-composed__condition__type -vertical-bar\">\n <div class=\"o-pry-search-composed__condition__type__content\">\n <pry-toggle\n [leftword]=\"'@pry.search.type.or' | i18n\"\n [rightword]=\"'@pry.search.type.and' | i18n\"\n [alwaysActive]=\"true\"\n [ngModel]=\"cond.type === 'OR'\"\n (ngModelChange)=\"onSelectType(cond.id, cond.type === 'OR' ? 'AND' : 'OR')\"\n ></pry-toggle>\n </div>\n </div>\n <div class=\"o-pry-search-composed__condition__content\">\n @for (composedId of cond.composed; track composedId) {\n <pry-search-composed [id]=\"composedId\"></pry-search-composed>\n }\n <div class=\"o-pry-search-composed__condition__content__footer\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--select -size-sm\"\n (click)=\"onOpenPanel()\"\n [pryOverlay]=\"selectAttribute\"\n [overlayOpen]=\"panelNewAttributeOpen\"\n (overlayOpenChange)=\"onClosePanel()\"\n pryOverlayPosition=\"start-bottom\"\n [pryOverlayNoPadding]=\"true\"\n >\n <pry-icon iconSvg=\"add\" [width]=\"15\" [height]=\"15\"></pry-icon>\n <span>{{ '@pry.search.composed.addCondition' | i18n }}</span>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--secondary -size-sm\" (click)=\"onAddNestedCondition(cond.id)\">\n <pry-icon iconSvg=\"picture-in-picture\" [width]=\"16\" [height]=\"16\"></pry-icon>\n <span>{{ '@pry.search.composed.addGroup' | i18n }}</span>\n </button>\n @if (masterId$ | async; as masterId) {\n @if (masterId !== cond.id) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only -circle -size-sm o-pry-search-composed__condition__content__footer__remove\"\n (click)=\"onDeleteNestedCondition(cond.id)\"\n >\n <pry-icon iconSvg=\"close\" [width]=\"16\" [height]=\"16\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.composed.remove' | i18n }}</span>\n </button>\n }\n }\n </div>\n <ng-template #selectAttribute>\n <pry-search-select-attribute\n [id]=\"cond.id\"\n (selectAttributeChange)=\"onAddAttributeCondition($event, cond.id)\"\n ></pry-search-select-attribute>\n </ng-template>\n </div>\n </div>\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { 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: i3.PryToggleComponent, selector: "pry-toggle", inputs: ["alwaysActive", "disabled", "mode", "size", "dir", "leftword", "rightword"] }, { kind: "directive", type: i3.PryOverlayDirective, selector: "[pryOverlay]", inputs: ["pryOverlay", "styleReversed", "pryOverlaySticky", "pryOverlayNoPadding", "pryOverlayPosition", "overlayOpen", "hasBackdrop"], outputs: ["overlayOpenChange"] }, { kind: "component", type: PrySearchComposedComponent, selector: "pry-search-composed", inputs: ["id"] }, { kind: "component", type: PrySearchSelectAttributeComponent, selector: "pry-search-select-attribute", inputs: ["id"], outputs: ["selectAttributeChange"] }, { kind: "component", type: PrySearchConditionComponent, selector: "pry-search-condition", inputs: ["attributeId", "id", "useTextDateInputs"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
883
883
|
}
|
|
884
884
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchComposedComponent, decorators: [{
|
|
885
885
|
type: Component,
|
|
886
|
-
args: [{ selector: 'pry-search-composed', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-search-composed\" [ngClass]=\"{ 'pry-search-composed-hover': hover }\">\n
|
|
886
|
+
args: [{ selector: 'pry-search-composed', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-search-composed\" [ngClass]=\"{ 'pry-search-composed-hover': hover }\">\n @if (condition$ | async; as cond) {\n @if (cond.type === 'ATTRIBUTE') {\n @if (cond.attribute) {\n <pry-search-condition [attributeId]=\"cond.attribute\" [id]=\"cond.id\"></pry-search-condition>\n }\n } @else {\n <div class=\"o-pry-search-composed__condition\">\n <div class=\"o-pry-search-composed__condition__type -vertical-bar\">\n <div class=\"o-pry-search-composed__condition__type__content\">\n <pry-toggle\n [leftword]=\"'@pry.search.type.or' | i18n\"\n [rightword]=\"'@pry.search.type.and' | i18n\"\n [alwaysActive]=\"true\"\n [ngModel]=\"cond.type === 'OR'\"\n (ngModelChange)=\"onSelectType(cond.id, cond.type === 'OR' ? 'AND' : 'OR')\"\n ></pry-toggle>\n </div>\n </div>\n <div class=\"o-pry-search-composed__condition__content\">\n @for (composedId of cond.composed; track composedId) {\n <pry-search-composed [id]=\"composedId\"></pry-search-composed>\n }\n <div class=\"o-pry-search-composed__condition__content__footer\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--select -size-sm\"\n (click)=\"onOpenPanel()\"\n [pryOverlay]=\"selectAttribute\"\n [overlayOpen]=\"panelNewAttributeOpen\"\n (overlayOpenChange)=\"onClosePanel()\"\n pryOverlayPosition=\"start-bottom\"\n [pryOverlayNoPadding]=\"true\"\n >\n <pry-icon iconSvg=\"add\" [width]=\"15\" [height]=\"15\"></pry-icon>\n <span>{{ '@pry.search.composed.addCondition' | i18n }}</span>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--secondary -size-sm\" (click)=\"onAddNestedCondition(cond.id)\">\n <pry-icon iconSvg=\"picture-in-picture\" [width]=\"16\" [height]=\"16\"></pry-icon>\n <span>{{ '@pry.search.composed.addGroup' | i18n }}</span>\n </button>\n @if (masterId$ | async; as masterId) {\n @if (masterId !== cond.id) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only -circle -size-sm o-pry-search-composed__condition__content__footer__remove\"\n (click)=\"onDeleteNestedCondition(cond.id)\"\n >\n <pry-icon iconSvg=\"close\" [width]=\"16\" [height]=\"16\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.composed.remove' | i18n }}</span>\n </button>\n }\n }\n </div>\n <ng-template #selectAttribute>\n <pry-search-select-attribute\n [id]=\"cond.id\"\n (selectAttributeChange)=\"onAddAttributeCondition($event, cond.id)\"\n ></pry-search-select-attribute>\n </ng-template>\n </div>\n </div>\n }\n }\n</div>\n" }]
|
|
887
887
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { class: [{
|
|
888
888
|
type: HostBinding,
|
|
889
889
|
args: ['class']
|
|
@@ -937,11 +937,11 @@ class PrySearchOrderComponent {
|
|
|
937
937
|
}
|
|
938
938
|
}
|
|
939
939
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchOrderComponent, deps: [{ token: i1.Store }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
940
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
940
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchOrderComponent, selector: "pry-search-order", host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)" }, properties: { "class": "this.class", "class.is-hover": "this.hover" } }, ngImport: i0, template: "<div class=\"o-pry-search-order\">\n <pry-select\n (ngModelChange)=\"changeProperty($event)\"\n [items]=\"variableAttributes$ | async\"\n [ngModel]=\"(order$ | async)?.attribute ?? 'null'\"\n bindLabel=\"name\"\n bindValue=\"id\"\n ></pry-select>\n @if ((order$ | async)?.attribute) {\n <pry-toggle\n [ngModel]=\"(order$ | async)?.asc === 'asc'\"\n (ngModelChange)=\"changeProperty(undefined, $event ? 'asc' : 'desc')\"\n [alwaysActive]=\"true\"\n dir=\"ltr\"\n >\n {{ ((order$ | async)?.asc === 'asc' ? '@pry.search.composed.orderA' : '@pry.search.composed.orderD') | i18n }}\n </pry-toggle>\n }\n</div>\n", dependencies: [{ 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: "directive", type: i4$1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i3.PryToggleComponent, selector: "pry-toggle", inputs: ["alwaysActive", "disabled", "mode", "size", "dir", "leftword", "rightword"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
941
941
|
}
|
|
942
942
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchOrderComponent, decorators: [{
|
|
943
943
|
type: Component,
|
|
944
|
-
args: [{ selector: 'pry-search-order', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-search-order\">\n <pry-select\n (ngModelChange)=\"changeProperty($event)\"\n [items]=\"variableAttributes$ | async\"\n [ngModel]=\"(order$ | async)?.attribute ?? 'null'\"\n bindLabel=\"name\"\n bindValue=\"id\"\n ></pry-select>\n
|
|
944
|
+
args: [{ selector: 'pry-search-order', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-search-order\">\n <pry-select\n (ngModelChange)=\"changeProperty($event)\"\n [items]=\"variableAttributes$ | async\"\n [ngModel]=\"(order$ | async)?.attribute ?? 'null'\"\n bindLabel=\"name\"\n bindValue=\"id\"\n ></pry-select>\n @if ((order$ | async)?.attribute) {\n <pry-toggle\n [ngModel]=\"(order$ | async)?.asc === 'asc'\"\n (ngModelChange)=\"changeProperty(undefined, $event ? 'asc' : 'desc')\"\n [alwaysActive]=\"true\"\n dir=\"ltr\"\n >\n {{ ((order$ | async)?.asc === 'asc' ? '@pry.search.composed.orderA' : '@pry.search.composed.orderD') | i18n }}\n </pry-toggle>\n }\n</div>\n" }]
|
|
945
945
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i3.PryI18nService }], propDecorators: { class: [{
|
|
946
946
|
type: HostBinding,
|
|
947
947
|
args: ['class']
|
|
@@ -971,11 +971,11 @@ class PrySearchMonoClassComponent {
|
|
|
971
971
|
.subscribe(() => this.store.dispatch(SearchMonoClassActions.selectMonoClassSearch({ classId })));
|
|
972
972
|
}
|
|
973
973
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchMonoClassComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
974
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
974
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchMonoClassComponent, selector: "pry-search-mono-class", ngImport: i0, template: "<div class=\"o-search-mono-class\">\n <div class=\"o-search-mono-class__header search-mono__header\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"composed_class\">{{ '@pry.search.composed.class' | i18n }}</label>\n <pry-select\n [items]=\"classes$ | async\"\n bindValue=\"id\"\n [ngModel]=\"monoClassId$ | async\"\n (ngModelChange)=\"onChangeClass($event)\"\n [template]=\"optionTpl\"\n id=\"composed_class\"\n >\n </pry-select>\n </div>\n\n <ng-template #optionTpl let-item=\"item\">\n <div class=\"o-search-mono-class__header__selected search-class-selected__content\">\n @if (item.image) {\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n } @else {\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n }\n <span>{{ item.name }}</span>\n </div>\n </ng-template>\n </div>\n\n <div class=\"o-search-mono-class__content-wrapper search-mono__content\">\n <div class=\"o-search-mono-class__content search-mono__content__wrapper\">\n @if (monoClassMasterId$ | async; as conditionId) {\n <p class=\"o-search-mono-class__content__title search-mono__content__title\">\n {{ '@pry.search.composed.title' | i18n }}\n </p>\n @if (monoClass$ | async; as clazz) {\n <pry-search-composed [id]=\"conditionId\"></pry-search-composed>\n <p class=\"o-search-mono-class__content__title search-mono__content__title\">\n {{ '@pry.search.composed.order' | i18n }}\n </p>\n <pry-search-order></pry-search-order>\n }\n } @else {\n {{ '@pry.search.composed.shouldSelectClass' | i18n }}\n }\n </div>\n </div>\n</div>\n", dependencies: [{ 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: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: PrySearchComposedComponent, selector: "pry-search-composed", inputs: ["id"] }, { kind: "component", type: PrySearchOrderComponent, selector: "pry-search-order" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
975
975
|
}
|
|
976
976
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchMonoClassComponent, decorators: [{
|
|
977
977
|
type: Component,
|
|
978
|
-
args: [{ selector: 'pry-search-mono-class', template: "<div class=\"o-search-mono-class\">\n <div class=\"o-search-mono-class__header search-mono__header\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"composed_class\">{{ '@pry.search.composed.class' | i18n }}</label>\n <pry-select\n [items]=\"classes$ | async\"\n bindValue=\"id\"\n [ngModel]=\"monoClassId$ | async\"\n (ngModelChange)=\"onChangeClass($event)\"\n [template]=\"optionTpl\"\n id=\"composed_class\"\n
|
|
978
|
+
args: [{ selector: 'pry-search-mono-class', template: "<div class=\"o-search-mono-class\">\n <div class=\"o-search-mono-class__header search-mono__header\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"composed_class\">{{ '@pry.search.composed.class' | i18n }}</label>\n <pry-select\n [items]=\"classes$ | async\"\n bindValue=\"id\"\n [ngModel]=\"monoClassId$ | async\"\n (ngModelChange)=\"onChangeClass($event)\"\n [template]=\"optionTpl\"\n id=\"composed_class\"\n >\n </pry-select>\n </div>\n\n <ng-template #optionTpl let-item=\"item\">\n <div class=\"o-search-mono-class__header__selected search-class-selected__content\">\n @if (item.image) {\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n } @else {\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n }\n <span>{{ item.name }}</span>\n </div>\n </ng-template>\n </div>\n\n <div class=\"o-search-mono-class__content-wrapper search-mono__content\">\n <div class=\"o-search-mono-class__content search-mono__content__wrapper\">\n @if (monoClassMasterId$ | async; as conditionId) {\n <p class=\"o-search-mono-class__content__title search-mono__content__title\">\n {{ '@pry.search.composed.title' | i18n }}\n </p>\n @if (monoClass$ | async; as clazz) {\n <pry-search-composed [id]=\"conditionId\"></pry-search-composed>\n <p class=\"o-search-mono-class__content__title search-mono__content__title\">\n {{ '@pry.search.composed.order' | i18n }}\n </p>\n <pry-search-order></pry-search-order>\n }\n } @else {\n {{ '@pry.search.composed.shouldSelectClass' | i18n }}\n }\n </div>\n </div>\n</div>\n" }]
|
|
979
979
|
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
980
980
|
|
|
981
981
|
class SearchMultiClassService {
|
|
@@ -1137,11 +1137,11 @@ class MultiClassFieldSelectionComponent {
|
|
|
1137
1137
|
return availableFields.sort((a, b) => a.name.localeCompare(b.name));
|
|
1138
1138
|
}
|
|
1139
1139
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MultiClassFieldSelectionComponent, deps: [{ token: i1.Store }, { token: SearchMultiClassService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: MultiClassFieldSelectionComponent, selector: "pry-multi-class-field-selection", inputs: { conditionId: "conditionId" }, outputs: { closeModal: "closeModal", selectFieldChange: "selectFieldChange" }, ngImport: i0, template: "<div class=\"o-multi-class-field-selection\" id=\"popin\">\n <div class=\"o-multi-class-field-selection__header\" data-toggle=\"popin\">\n <div class=\"o-multi-class-field-selection__header__top\">\n <div class=\"o-multi-class-field-selection__header__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.search.multi.selectField' | i18n }}\n </h2>\n </div>\n <div class=\"o-multi-class-field-selection__header__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeModal.emit()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n </div>\n @if (availableFields$ | async; as list) {\n @if (list.length > 7) {\n <div class=\"o-multi-class-field-selection__header__search\">\n <input class=\"a-form-field\" type=\"text\" [(ngModel)]=\"fieldSearch\" placeholder=\"Filtrer\" />\n </div>\n }\n }\n </div>\n <div class=\"o-multi-class-field-selection__legend\">{{ '@pry.search.multi.legend' | i18n }}</div>\n <ul class=\"o-multi-class-field-selection__fields\">\n @for (field of availableFields$ | async | pryFilter: 'name' : fieldSearch; track field.id) {\n <li class=\"o-multi-class-field-selection__fields__select\" (click)=\"selectFieldChange.emit(field.id)\">\n <button class=\"a-btn -link-like\">\n {{ field.name }}\n <span class=\"o-multi-class-field-selection__fields__select__inside\"\n >{{ '@pry.search.multi.in' | i18n }}\n <ng-container> {{ field.classes.join(', ') }} </ng-container>\n </span>\n </button>\n </li>\n }\n </ul>\n</div>\n", dependencies: [{ kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { 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: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.PryFilterPipe, name: "pryFilter" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
1141
1141
|
}
|
|
1142
1142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MultiClassFieldSelectionComponent, decorators: [{
|
|
1143
1143
|
type: Component,
|
|
1144
|
-
args: [{ selector: 'pry-multi-class-field-selection', template: "<div class=\"o-multi-class-field-selection\" id=\"popin\">\n <div class=\"o-multi-class-field-selection__header\" data-toggle=\"popin\">\n <div class=\"o-multi-class-field-selection__header__top\">\n <div class=\"o-multi-class-field-selection__header__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.search.multi.selectField' | i18n }}\n </h2>\n </div>\n <div class=\"o-multi-class-field-selection__header__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeModal.emit()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n </div>\n
|
|
1144
|
+
args: [{ selector: 'pry-multi-class-field-selection', template: "<div class=\"o-multi-class-field-selection\" id=\"popin\">\n <div class=\"o-multi-class-field-selection__header\" data-toggle=\"popin\">\n <div class=\"o-multi-class-field-selection__header__top\">\n <div class=\"o-multi-class-field-selection__header__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.search.multi.selectField' | i18n }}\n </h2>\n </div>\n <div class=\"o-multi-class-field-selection__header__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeModal.emit()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n </div>\n @if (availableFields$ | async; as list) {\n @if (list.length > 7) {\n <div class=\"o-multi-class-field-selection__header__search\">\n <input class=\"a-form-field\" type=\"text\" [(ngModel)]=\"fieldSearch\" placeholder=\"Filtrer\" />\n </div>\n }\n }\n </div>\n <div class=\"o-multi-class-field-selection__legend\">{{ '@pry.search.multi.legend' | i18n }}</div>\n <ul class=\"o-multi-class-field-selection__fields\">\n @for (field of availableFields$ | async | pryFilter: 'name' : fieldSearch; track field.id) {\n <li class=\"o-multi-class-field-selection__fields__select\" (click)=\"selectFieldChange.emit(field.id)\">\n <button class=\"a-btn -link-like\">\n {{ field.name }}\n <span class=\"o-multi-class-field-selection__fields__select__inside\"\n >{{ '@pry.search.multi.in' | i18n }}\n <ng-container> {{ field.classes.join(', ') }} </ng-container>\n </span>\n </button>\n </li>\n }\n </ul>\n</div>\n" }]
|
|
1145
1145
|
}], ctorParameters: () => [{ type: i1.Store }, { type: SearchMultiClassService }], propDecorators: { conditionId: [{
|
|
1146
1146
|
type: Input
|
|
1147
1147
|
}], closeModal: [{
|
|
@@ -1274,13 +1274,13 @@ class MultiClassConditionComponent {
|
|
|
1274
1274
|
get hasTwoFields() {
|
|
1275
1275
|
return this.form.get('operator')?.value === 'INSIDE' || this.form.get('operator')?.value === 'OUTSIDE';
|
|
1276
1276
|
}
|
|
1277
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MultiClassConditionComponent, deps: [{ token: i1.Store }, { token: SearchMultiClassService }, { token: i2
|
|
1278
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1277
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MultiClassConditionComponent, deps: [{ token: i1.Store }, { token: SearchMultiClassService }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1278
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: MultiClassConditionComponent, selector: "pry-multi-class-condition", inputs: { id: "id" }, viewQueries: [{ propertyName: "fieldSelectionTpl", first: true, predicate: ["fieldSelectionTpl"], descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (condition$ | async; as condition) {\n <div class=\"o-multi-class-condition\">\n <div class=\"o-multi-class-condition__content\">\n <div class=\"o-multi-class-condition__content__action\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary -size-sm -width-full\"\n aria-label=\"selection button\"\n (click)=\"toggleFieldSelection()\"\n >\n @if (field$ | async; as field) {\n {{ field.name }}\n } @else {\n {{ '@pry.search.multi.selectField' | i18n }}\n }\n </button>\n @if (classesLinked$ | async; as classesLinked) {\n <pry-icon\n iconSvg=\"links_line\"\n [width]=\"15\"\n [height]=\"15\"\n style=\"color: black\"\n [attr.data-tooltip]=\"('@pry.search.multi.in' | i18n) + ' ' + join(classesLinked)\"\n ></pry-icon>\n }\n </div>\n <ng-container [formGroup]=\"form\">\n <div class=\"m-form-label-field\">\n <pry-select\n [items]=\"operators$ | async\"\n placeholder=\"Op\u00E9rateur\"\n formControlName=\"operator\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n @if (condition.isDate) {\n <pry-date-picker\n formControlName=\"value\"\n (click)=\"onUpdateValue(condition)\"\n [rangePicker]=\"hasTwoFields\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n ></pry-date-picker>\n } @else {\n <input\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"\n (hasTwoFields ? '@pry.search.placeholder.minValue' : '@pry.search.placeholder.search') | i18n\n \"\n formControlName=\"value\"\n (focusout)=\"onUpdateValue(condition)\"\n />\n @if (hasTwoFields) {\n <input\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.search.placeholder.maxValue' | i18n\"\n formControlName=\"upperValue\"\n (focusout)=\"onUpdateValue(condition)\"\n />\n }\n }\n @if (formValue?.errors?.['required'] && formValue?.touched) {\n <label class=\"a-label a-label--help -error\">\n {{ '@pry.search.multi.requiredError' | i18n }}\n </label>\n }\n </div>\n </ng-container>\n </div>\n <div class=\"o-multi-class-condition__delete-content\">\n @if (notLastCondition$ | async) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\">\n <pry-icon\n iconSvg=\"delete\"\n [height]=\"20\"\n [width]=\"20\"\n [animation]=\"false\"\n (click)=\"onRemoveCondition(condition)\"\n ></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.delete' | i18n }}</span>\n </button>\n } @else {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" disabled>\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"delete\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.delete' | i18n }}</span>\n </button>\n }\n </div>\n </div>\n <ng-template #fieldSelectionTpl>\n <pry-multi-class-field-selection\n [conditionId]=\"condition.id\"\n (closeModal)=\"onCloseModal()\"\n (selectFieldChange)=\"onChangeField(condition, $event)\"\n ></pry-multi-class-field-selection>\n </ng-template>\n}\n", dependencies: [{ kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: i3.PryDatePickerComponent, selector: "pry-date-picker", inputs: ["rangePicker", "timePicker", "maxYear", "minYear", "roundSelection"] }, { kind: "component", type: MultiClassFieldSelectionComponent, selector: "pry-multi-class-field-selection", inputs: ["conditionId"], outputs: ["closeModal", "selectFieldChange"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
1279
1279
|
}
|
|
1280
1280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MultiClassConditionComponent, decorators: [{
|
|
1281
1281
|
type: Component,
|
|
1282
|
-
args: [{ selector: 'pry-multi-class-condition', template: "
|
|
1283
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: SearchMultiClassService }, { type: i2
|
|
1282
|
+
args: [{ selector: 'pry-multi-class-condition', template: "@if (condition$ | async; as condition) {\n <div class=\"o-multi-class-condition\">\n <div class=\"o-multi-class-condition__content\">\n <div class=\"o-multi-class-condition__content__action\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary -size-sm -width-full\"\n aria-label=\"selection button\"\n (click)=\"toggleFieldSelection()\"\n >\n @if (field$ | async; as field) {\n {{ field.name }}\n } @else {\n {{ '@pry.search.multi.selectField' | i18n }}\n }\n </button>\n @if (classesLinked$ | async; as classesLinked) {\n <pry-icon\n iconSvg=\"links_line\"\n [width]=\"15\"\n [height]=\"15\"\n style=\"color: black\"\n [attr.data-tooltip]=\"('@pry.search.multi.in' | i18n) + ' ' + join(classesLinked)\"\n ></pry-icon>\n }\n </div>\n <ng-container [formGroup]=\"form\">\n <div class=\"m-form-label-field\">\n <pry-select\n [items]=\"operators$ | async\"\n placeholder=\"Op\u00E9rateur\"\n formControlName=\"operator\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n @if (condition.isDate) {\n <pry-date-picker\n formControlName=\"value\"\n (click)=\"onUpdateValue(condition)\"\n [rangePicker]=\"hasTwoFields\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n ></pry-date-picker>\n } @else {\n <input\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"\n (hasTwoFields ? '@pry.search.placeholder.minValue' : '@pry.search.placeholder.search') | i18n\n \"\n formControlName=\"value\"\n (focusout)=\"onUpdateValue(condition)\"\n />\n @if (hasTwoFields) {\n <input\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.search.placeholder.maxValue' | i18n\"\n formControlName=\"upperValue\"\n (focusout)=\"onUpdateValue(condition)\"\n />\n }\n }\n @if (formValue?.errors?.['required'] && formValue?.touched) {\n <label class=\"a-label a-label--help -error\">\n {{ '@pry.search.multi.requiredError' | i18n }}\n </label>\n }\n </div>\n </ng-container>\n </div>\n <div class=\"o-multi-class-condition__delete-content\">\n @if (notLastCondition$ | async) {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\">\n <pry-icon\n iconSvg=\"delete\"\n [height]=\"20\"\n [width]=\"20\"\n [animation]=\"false\"\n (click)=\"onRemoveCondition(condition)\"\n ></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.delete' | i18n }}</span>\n </button>\n } @else {\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" disabled>\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"delete\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.delete' | i18n }}</span>\n </button>\n }\n </div>\n </div>\n <ng-template #fieldSelectionTpl>\n <pry-multi-class-field-selection\n [conditionId]=\"condition.id\"\n (closeModal)=\"onCloseModal()\"\n (selectFieldChange)=\"onChangeField(condition, $event)\"\n ></pry-multi-class-field-selection>\n </ng-template>\n}\n" }]
|
|
1283
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: SearchMultiClassService }, { type: i2.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { fieldSelectionTpl: [{
|
|
1284
1284
|
type: ViewChild,
|
|
1285
1285
|
args: ['fieldSelectionTpl', { read: TemplateRef }]
|
|
1286
1286
|
}], id: [{
|
|
@@ -1307,11 +1307,11 @@ class PrySearchMultiClassComponent {
|
|
|
1307
1307
|
this.store.dispatch(SearchMultiClassActions.updateMultiType({ multiType }));
|
|
1308
1308
|
}
|
|
1309
1309
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchMultiClassComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1310
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1310
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchMultiClassComponent, selector: "pry-search-multi-class", ngImport: i0, template: "<div class=\"o-search-multi-class\">\n <div class=\"o-search-multi-class__header\">\n <h3 class=\"a-h3\">{{ '@pry.search.multi.title' | i18n }}</h3>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"'@pry.search.multi.extraOptions' | i18n\"\n data-tooltip-position=\"bottom\"\n [pryOverlay]=\"optionOverlay\"\n [(overlayOpen)]=\"optionsOpen\"\n (click)=\"optionsOpen = !optionsOpen\"\n >\n <button class=\"a-btn a-btn--icon-text\">\n {{ '@pry.search.multi.options' | i18n }}\n <pry-icon iconSvg=\"tune\" [width]=\"16\" [height]=\"16\" [animation]=\"false\"></pry-icon>\n </button>\n </div>\n <ng-template #optionOverlay>\n <div class=\"o-search-multi-class__options\">\n <pry-toggle\n [ngModel]=\"(multiType$ | async) === 'OR'\"\n [leftword]=\"'@pry.search.type.or' | i18n\"\n [rightword]=\"'@pry.search.type.and' | i18n\"\n [alwaysActive]=\"true\"\n (ngModelChange)=\"onChangeMultiType($event)\"\n >{{ '@pry.search.multi.multiType' | i18n }}</pry-toggle\n >\n </div>\n </ng-template>\n </div>\n\n <div class=\"o-search-multi-class__conditions-wrapper\">\n <div class=\"o-search-multi-class__conditions\">\n @for (condition of conditions$ | async; track condition) {\n <pry-multi-class-condition [id]=\"condition.id\"></pry-multi-class-condition>\n }\n </div>\n <div class=\"o-search-multi-class__add-condition\">\n <button (click)=\"onAddCondition()\" class=\"a-btn a-btn--secondary -size-sm\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"add\"></pry-icon>\n {{ '@pry.search.multi.addCondition' | i18n }}\n </button>\n </div>\n </div>\n </div>\n", dependencies: [{ kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { 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: i3.PryToggleComponent, selector: "pry-toggle", inputs: ["alwaysActive", "disabled", "mode", "size", "dir", "leftword", "rightword"] }, { kind: "directive", type: i3.PryOverlayDirective, selector: "[pryOverlay]", inputs: ["pryOverlay", "styleReversed", "pryOverlaySticky", "pryOverlayNoPadding", "pryOverlayPosition", "overlayOpen", "hasBackdrop"], outputs: ["overlayOpenChange"] }, { kind: "component", type: MultiClassConditionComponent, selector: "pry-multi-class-condition", inputs: ["id"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
1311
1311
|
}
|
|
1312
1312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchMultiClassComponent, decorators: [{
|
|
1313
1313
|
type: Component,
|
|
1314
|
-
args: [{ selector: 'pry-search-multi-class', template: "<div class=\"o-search-multi-class\">\n <div class=\"o-search-multi-class__header\">\n <h3 class=\"a-h3\">{{ '@pry.search.multi.title' | i18n }}</h3>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"'@pry.search.multi.extraOptions' | i18n\"\n data-tooltip-position=\"bottom\"\n [pryOverlay]=\"optionOverlay\"\n [(overlayOpen)]=\"optionsOpen\"\n (click)=\"optionsOpen = !optionsOpen\"\n
|
|
1314
|
+
args: [{ selector: 'pry-search-multi-class', template: "<div class=\"o-search-multi-class\">\n <div class=\"o-search-multi-class__header\">\n <h3 class=\"a-h3\">{{ '@pry.search.multi.title' | i18n }}</h3>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"'@pry.search.multi.extraOptions' | i18n\"\n data-tooltip-position=\"bottom\"\n [pryOverlay]=\"optionOverlay\"\n [(overlayOpen)]=\"optionsOpen\"\n (click)=\"optionsOpen = !optionsOpen\"\n >\n <button class=\"a-btn a-btn--icon-text\">\n {{ '@pry.search.multi.options' | i18n }}\n <pry-icon iconSvg=\"tune\" [width]=\"16\" [height]=\"16\" [animation]=\"false\"></pry-icon>\n </button>\n </div>\n <ng-template #optionOverlay>\n <div class=\"o-search-multi-class__options\">\n <pry-toggle\n [ngModel]=\"(multiType$ | async) === 'OR'\"\n [leftword]=\"'@pry.search.type.or' | i18n\"\n [rightword]=\"'@pry.search.type.and' | i18n\"\n [alwaysActive]=\"true\"\n (ngModelChange)=\"onChangeMultiType($event)\"\n >{{ '@pry.search.multi.multiType' | i18n }}</pry-toggle\n >\n </div>\n </ng-template>\n </div>\n\n <div class=\"o-search-multi-class__conditions-wrapper\">\n <div class=\"o-search-multi-class__conditions\">\n @for (condition of conditions$ | async; track condition) {\n <pry-multi-class-condition [id]=\"condition.id\"></pry-multi-class-condition>\n }\n </div>\n <div class=\"o-search-multi-class__add-condition\">\n <button (click)=\"onAddCondition()\" class=\"a-btn a-btn--secondary -size-sm\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"add\"></pry-icon>\n {{ '@pry.search.multi.addCondition' | i18n }}\n </button>\n </div>\n </div>\n </div>\n" }]
|
|
1315
1315
|
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
1316
1316
|
|
|
1317
1317
|
class PrySearchFulltextComponent {
|
|
@@ -1471,11 +1471,11 @@ class PrySearchFulltextComponent {
|
|
|
1471
1471
|
this.searchChange.emit(payload);
|
|
1472
1472
|
}
|
|
1473
1473
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchFulltextComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1474
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1474
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchFulltextComponent, selector: "pry-search-fulltext", inputs: { mode: "mode", launchButton: "launchButton", currentEdit: "currentEdit" }, outputs: { searchChange: "searchChange" }, host: { listeners: { "document:click": "clickout($event)", "window:keyup.enter": "keyEvent($event)" } }, viewQueries: [{ propertyName: "searchButton", first: true, predicate: ["searchButton"], descendants: true, read: ElementRef }, { propertyName: "searchTrigger", first: true, predicate: ["searchTrigger"], descendants: true, read: ElementRef }, { propertyName: "searchInputRef", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }, { propertyName: "searchOverlayRef", first: true, predicate: ["searchOverlay"], descendants: true, read: ElementRef }, { propertyName: "searchClass", first: true, predicate: ["searchClass"], descendants: true }, { propertyName: "chooseClasses", first: true, predicate: ["chooseClasses"], descendants: true }], ngImport: i0, template: "<pry-search-css></pry-search-css>\n<div class=\"o-search-fulltext\" [class.o-search-fulltext--vertical]=\"mode === 'vertical'\">\n <div class=\"o-search-fulltext__container\">\n <button\n #searchClass\n type=\"button\"\n class=\"o-search-fulltext__classes\"\n [class.o-search-fulltext__classes--inline]=\"mode === 'inline'\"\n [pryOverlay]=\"classesOverlay\"\n [(overlayOpen)]=\"panelClassesOpen\"\n pryOverlayPosition=\"start-top\"\n [pryOverlaySticky]=\"true\"\n [pryOverlayNoPadding]=\"true\"\n (click)=\"panelClassesOpen = true\"\n >\n <span\n class=\"o-search-fulltext__classes__content a-tooltip\"\n [attr.data-tooltip]=\"'@pry.search.fulltext.selectClass' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon\n [iconSvg]=\"classesSelected.length === 0 ? 'apps' : 'detail'\"\n [height]=\"20\"\n [width]=\"20\"\n [animation]=\"false\"\n ></pry-icon>\n @if (mode === 'inline') {\n <span class=\"o-search-fulltext__classes__content__label\">\n {{ classesSelectedLabel | i18n : { nb: classesSelected.length } }}\n </span>\n }\n </span>\n\n <span class=\"o-search-fulltext__classes__arrow\">\n <pry-icon\n iconSvg=\"fleche_bas\"\n [width]=\"17\"\n [height]=\"17\"\n [animation]=\"false\"\n class=\"o-search-fulltext__classes__arrow__icon\"\n [class.is-open]=\"panelClassesOpen\"\n ></pry-icon>\n </span>\n </button>\n\n <pry-choose-widget\n [mode]=\"'input'\"\n [class.m-choose-widget__input__inline]=\"mode === 'inline'\"\n [panelOpen]=\"panelSearchOpen\"\n [width]=\"searchPanelWidth ?? 200\"\n (selected)=\"onSelectWidget($event)\"\n >\n <input\n #searchInput\n [(ngModel)]=\"search\"\n (input)=\"onChangeSearch($event)\"\n (focusin)=\"onOpenSearchPanel()\"\n (focusout)=\"onFocusOut()\"\n />\n @if (!searchDisabled) {\n <div class=\"o-search-fulltext__input__clear\">\n <div class=\"o-search-fulltext__input__clear__wrapper\" (click)=\"onClearSearch($event)\">\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"'@pry.search.fulltext.clear' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"16\" [width]=\"16\" [animation]=\"false\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.fulltext.clear' | i18n }}</span>\n </div>\n </div>\n </div>\n }\n </pry-choose-widget>\n </div>\n\n @if (launchButton) {\n <button\n #searchButton\n class=\"a-btn a-btn--primary a-tooltip\"\n (click)=\"onSearch()\"\n [class.o-search-fulltext__button__inline]=\"mode === 'inline'\"\n [ngClass]=\"{ ' -width-full': mode === 'vertical' }\"\n [disabled]=\"searchDisabled\"\n [attr.data-tooltip]=\"'@pry.search.fulltext.search' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon iconSvg=\"search-line\" [animation]=\"false\"></pry-icon>\n @if (mode === 'vertical') {\n <span>{{ '@pry.search.fulltext.search' | i18n }}</span>\n }\n <span class=\"u-visually-hidden\">{{ '@pry.search.fulltext.search' | i18n }}</span>\n </button>\n }\n</div>\n\n<ng-template #classesOverlay>\n <div\n class=\"o-search-fulltext__classes-overlay\"\n #chooseClasses\n (keydown.escape)=\"closeFocus()\"\n (keydown.arrowDown)=\"onArrowDown()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n >\n <button class=\"o-search-fulltext__classes-overlay__item\" (click)=\"onSelectAllClasses()\">\n <pry-icon iconSvg=\"apps\" [width]=\"20\" [height]=\"20\"></pry-icon>\n <span class=\"o-search-fulltext__classes-overlay__item__label\">{{\n '@pry.search.fulltext.allClasses' | i18n\n }}</span>\n </button>\n @for (clazz of classes$ | async; track clazz; let last = $last) {\n <button\n type=\"button\"\n class=\"o-search-fulltext__classes-overlay__item\"\n (click)=\"onSelectClass(clazz)\"\n [class.o-search-fulltext__classes-overlay__item__selected]=\"classesSelected.includes(clazz.id)\"\n (keydown.tab)=\"last ? closeFocus() : null\"\n >\n <img\n alt=\"class\"\n [height]=\"20\"\n [width]=\"20\"\n [src]=\"clazz.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n <span class=\"o-search-fulltext__classes-overlay__item__label\">{{ clazz.name }}</span>\n </button>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { 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: "directive", type: i3.PryOverlayDirective, selector: "[pryOverlay]", inputs: ["pryOverlay", "styleReversed", "pryOverlaySticky", "pryOverlayNoPadding", "pryOverlayPosition", "overlayOpen", "hasBackdrop"], outputs: ["overlayOpenChange"] }, { kind: "component", type: ChooseWidgetComponent, selector: "pry-choose-widget", inputs: ["panelOpen", "mode", "width"], outputs: ["selected"] }, { kind: "component", type: PrySearchCssComponent, selector: "pry-search-css" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
1475
1475
|
}
|
|
1476
1476
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchFulltextComponent, decorators: [{
|
|
1477
1477
|
type: Component,
|
|
1478
|
-
args: [{ selector: 'pry-search-fulltext', template: "<pry-search-css></pry-search-css>\n<div class=\"o-search-fulltext\" [class.o-search-fulltext--vertical]=\"mode === 'vertical'\">\n <div class=\"o-search-fulltext__container\">\n <button\n #searchClass\n type=\"button\"\n class=\"o-search-fulltext__classes\"\n [class.o-search-fulltext__classes--inline]=\"mode === 'inline'\"\n [pryOverlay]=\"classesOverlay\"\n [(overlayOpen)]=\"panelClassesOpen\"\n pryOverlayPosition=\"start-top\"\n [pryOverlaySticky]=\"true\"\n [pryOverlayNoPadding]=\"true\"\n (click)=\"panelClassesOpen = true\"\n
|
|
1478
|
+
args: [{ selector: 'pry-search-fulltext', template: "<pry-search-css></pry-search-css>\n<div class=\"o-search-fulltext\" [class.o-search-fulltext--vertical]=\"mode === 'vertical'\">\n <div class=\"o-search-fulltext__container\">\n <button\n #searchClass\n type=\"button\"\n class=\"o-search-fulltext__classes\"\n [class.o-search-fulltext__classes--inline]=\"mode === 'inline'\"\n [pryOverlay]=\"classesOverlay\"\n [(overlayOpen)]=\"panelClassesOpen\"\n pryOverlayPosition=\"start-top\"\n [pryOverlaySticky]=\"true\"\n [pryOverlayNoPadding]=\"true\"\n (click)=\"panelClassesOpen = true\"\n >\n <span\n class=\"o-search-fulltext__classes__content a-tooltip\"\n [attr.data-tooltip]=\"'@pry.search.fulltext.selectClass' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon\n [iconSvg]=\"classesSelected.length === 0 ? 'apps' : 'detail'\"\n [height]=\"20\"\n [width]=\"20\"\n [animation]=\"false\"\n ></pry-icon>\n @if (mode === 'inline') {\n <span class=\"o-search-fulltext__classes__content__label\">\n {{ classesSelectedLabel | i18n : { nb: classesSelected.length } }}\n </span>\n }\n </span>\n\n <span class=\"o-search-fulltext__classes__arrow\">\n <pry-icon\n iconSvg=\"fleche_bas\"\n [width]=\"17\"\n [height]=\"17\"\n [animation]=\"false\"\n class=\"o-search-fulltext__classes__arrow__icon\"\n [class.is-open]=\"panelClassesOpen\"\n ></pry-icon>\n </span>\n </button>\n\n <pry-choose-widget\n [mode]=\"'input'\"\n [class.m-choose-widget__input__inline]=\"mode === 'inline'\"\n [panelOpen]=\"panelSearchOpen\"\n [width]=\"searchPanelWidth ?? 200\"\n (selected)=\"onSelectWidget($event)\"\n >\n <input\n #searchInput\n [(ngModel)]=\"search\"\n (input)=\"onChangeSearch($event)\"\n (focusin)=\"onOpenSearchPanel()\"\n (focusout)=\"onFocusOut()\"\n />\n @if (!searchDisabled) {\n <div class=\"o-search-fulltext__input__clear\">\n <div class=\"o-search-fulltext__input__clear__wrapper\" (click)=\"onClearSearch($event)\">\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"'@pry.search.fulltext.clear' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"16\" [width]=\"16\" [animation]=\"false\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.fulltext.clear' | i18n }}</span>\n </div>\n </div>\n </div>\n }\n </pry-choose-widget>\n </div>\n\n @if (launchButton) {\n <button\n #searchButton\n class=\"a-btn a-btn--primary a-tooltip\"\n (click)=\"onSearch()\"\n [class.o-search-fulltext__button__inline]=\"mode === 'inline'\"\n [ngClass]=\"{ ' -width-full': mode === 'vertical' }\"\n [disabled]=\"searchDisabled\"\n [attr.data-tooltip]=\"'@pry.search.fulltext.search' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon iconSvg=\"search-line\" [animation]=\"false\"></pry-icon>\n @if (mode === 'vertical') {\n <span>{{ '@pry.search.fulltext.search' | i18n }}</span>\n }\n <span class=\"u-visually-hidden\">{{ '@pry.search.fulltext.search' | i18n }}</span>\n </button>\n }\n</div>\n\n<ng-template #classesOverlay>\n <div\n class=\"o-search-fulltext__classes-overlay\"\n #chooseClasses\n (keydown.escape)=\"closeFocus()\"\n (keydown.arrowDown)=\"onArrowDown()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n >\n <button class=\"o-search-fulltext__classes-overlay__item\" (click)=\"onSelectAllClasses()\">\n <pry-icon iconSvg=\"apps\" [width]=\"20\" [height]=\"20\"></pry-icon>\n <span class=\"o-search-fulltext__classes-overlay__item__label\">{{\n '@pry.search.fulltext.allClasses' | i18n\n }}</span>\n </button>\n @for (clazz of classes$ | async; track clazz; let last = $last) {\n <button\n type=\"button\"\n class=\"o-search-fulltext__classes-overlay__item\"\n (click)=\"onSelectClass(clazz)\"\n [class.o-search-fulltext__classes-overlay__item__selected]=\"classesSelected.includes(clazz.id)\"\n (keydown.tab)=\"last ? closeFocus() : null\"\n >\n <img\n alt=\"class\"\n [height]=\"20\"\n [width]=\"20\"\n [src]=\"clazz.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n <span class=\"o-search-fulltext__classes-overlay__item__label\">{{ clazz.name }}</span>\n </button>\n }\n </div>\n</ng-template>\n" }]
|
|
1479
1479
|
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { searchButton: [{
|
|
1480
1480
|
type: ViewChild,
|
|
1481
1481
|
args: ['searchButton', { read: ElementRef }]
|
|
@@ -1653,11 +1653,11 @@ class EditNamedQueryComponent extends SubscriptionnerDirective {
|
|
|
1653
1653
|
this.widgetType = $event;
|
|
1654
1654
|
}
|
|
1655
1655
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditNamedQueryComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1656
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1656
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: EditNamedQueryComponent, selector: "pry-edit-named-query", inputs: { fromWidget: "fromWidget" }, outputs: { searchFulltextChange: "searchFulltextChange", cancelled: "cancelled", searched: "searched" }, host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-edit-named-query\">\n @if (currentEditType$ | async; as currentEditType) {\n <div class=\"o-edit-named-query__content\">\n @switch (currentEditType) {\n @case (FULL_TEXT) {\n <pry-search-fulltext\n mode=\"vertical\"\n [launchButton]=\"false\"\n (searchChange)=\"onSearchFulltextChange($event)\"\n [currentEdit]=\"currentEdit$ | async\"\n ></pry-search-fulltext>\n }\n @case (MONO_CLASS) {\n <pry-search-mono-class></pry-search-mono-class>\n }\n @case (MULTI_CLASS) {\n <pry-search-multi-class></pry-search-multi-class>\n }\n }\n </div>\n <div class=\"o-edit-named-query__buttons\">\n @if (currentEditType !== FULL_TEXT) {\n <pry-choose-widget (selected)=\"select($event)\"></pry-choose-widget>\n }\n <div class=\"m-btn-group\">\n @if (currentEditType === FULL_TEXT) {\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"cancel()\">\n {{ '@pry.search.button.cancel' | i18n }}\n </button>\n }\n <button\n [disabled]=\"\n (currentEditType === MULTI_CLASS && !(searchMultiClassValid$ | async)) ||\n (currentEditType === MONO_CLASS && !(searchMonoClassValid$ | async)) ||\n !(currentEdit$ | async)?.owner\n \"\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text\"\n (click)=\"search()\"\n >\n <pry-icon iconSvg=\"search-line\"></pry-icon>\n {{\n ((currentEdit$ | async)?.id === DEFAULT_NAMED_QUERY_ID\n ? '@pry.search.button.search'\n : '@pry.search.button.update'\n ) | i18n\n }}\n </button>\n </div>\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PrySearchMonoClassComponent, selector: "pry-search-mono-class" }, { kind: "component", type: PrySearchMultiClassComponent, selector: "pry-search-multi-class" }, { kind: "component", type: PrySearchFulltextComponent, selector: "pry-search-fulltext", inputs: ["mode", "launchButton", "currentEdit"], outputs: ["searchChange"] }, { kind: "component", type: ChooseWidgetComponent, selector: "pry-choose-widget", inputs: ["panelOpen", "mode", "width"], outputs: ["selected"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
1657
1657
|
}
|
|
1658
1658
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditNamedQueryComponent, decorators: [{
|
|
1659
1659
|
type: Component,
|
|
1660
|
-
args: [{ selector: 'pry-edit-named-query', template: "<div class=\"o-edit-named-query\">\n
|
|
1660
|
+
args: [{ selector: 'pry-edit-named-query', template: "<div class=\"o-edit-named-query\">\n @if (currentEditType$ | async; as currentEditType) {\n <div class=\"o-edit-named-query__content\">\n @switch (currentEditType) {\n @case (FULL_TEXT) {\n <pry-search-fulltext\n mode=\"vertical\"\n [launchButton]=\"false\"\n (searchChange)=\"onSearchFulltextChange($event)\"\n [currentEdit]=\"currentEdit$ | async\"\n ></pry-search-fulltext>\n }\n @case (MONO_CLASS) {\n <pry-search-mono-class></pry-search-mono-class>\n }\n @case (MULTI_CLASS) {\n <pry-search-multi-class></pry-search-multi-class>\n }\n }\n </div>\n <div class=\"o-edit-named-query__buttons\">\n @if (currentEditType !== FULL_TEXT) {\n <pry-choose-widget (selected)=\"select($event)\"></pry-choose-widget>\n }\n <div class=\"m-btn-group\">\n @if (currentEditType === FULL_TEXT) {\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"cancel()\">\n {{ '@pry.search.button.cancel' | i18n }}\n </button>\n }\n <button\n [disabled]=\"\n (currentEditType === MULTI_CLASS && !(searchMultiClassValid$ | async)) ||\n (currentEditType === MONO_CLASS && !(searchMonoClassValid$ | async)) ||\n !(currentEdit$ | async)?.owner\n \"\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text\"\n (click)=\"search()\"\n >\n <pry-icon iconSvg=\"search-line\"></pry-icon>\n {{\n ((currentEdit$ | async)?.id === DEFAULT_NAMED_QUERY_ID\n ? '@pry.search.button.search'\n : '@pry.search.button.update'\n ) | i18n\n }}\n </button>\n </div>\n </div>\n }\n</div>\n" }]
|
|
1661
1661
|
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { class: [{
|
|
1662
1662
|
type: HostBinding,
|
|
1663
1663
|
args: ['class']
|
|
@@ -1788,11 +1788,11 @@ class PrySearchToolsComponent {
|
|
|
1788
1788
|
this.store.dispatch(DataSourceActions.namedQuery.updateCurrentEdit({ currentEdit: { visibility: $event } }));
|
|
1789
1789
|
}
|
|
1790
1790
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchToolsComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1791
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1791
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySearchToolsComponent, selector: "pry-search-tools", host: { properties: { "class.o-pry-search-tools-wrapper": "this.class", "class.is-close": "this.searchToolsClose" } }, ngImport: i0, template: "<div\n class=\"o-pry-search-tools\"\n [class.is-close]=\"searchToolsClose\"\n [class.is-mono]=\"isNewMono || (isEditMono$ | async)\"\n >\n @if (((editInProgress$ | async) && !(isRename$ | async)) || isSearchCriteria) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -back a-tooltip\"\n (click)=\"onSearchTools()\"\n aria-pressed=\"false\"\n [attr.data-tooltip]=\"'@pry.search.button.backSearch' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon iconSvg=\"arrow_back\" [width]=\"24\" [height]=\"24\" [animation]=\"false\"></pry-icon>\n <span>{{ '@pry.search.button.backSearch' | i18n }}</span>\n </button>\n }\n <div class=\"o-pry-search-tools__content\" [class.is-close]=\"searchToolsClose\">\n @if (((editInProgress$ | async) && !(isRename$ | async)) || isSearchCriteria) {\n <button\n class=\"a-btn a-btn--icon-text -link-like u-self-end\"\n (click)=\"reset()\"\n id=\"btn_reset\"\n >\n <pry-icon iconSvg=\"reset\" [width]=\"18\" [height]=\"18\"></pry-icon>\n {{ '@pry.search.button.reset' | i18n }}\n </button>\n }\n @if (editInProgress$ | async) {\n <pry-share [ngModel]=\"(currentEdit$ | async)?.visibility\" (ngModelChange)=\"updateVisibility($event)\"></pry-share>\n }\n @if ((editInProgress$ | async) && !(isRename$ | async) && !(loading$ | async)) {\n <pry-edit-named-query\n (searchFulltextChange)=\"onSearchFulltextChange($event)\"\n (cancelled)=\"onSearchTools()\"\n ></pry-edit-named-query>\n } @else {\n @if (isSearchCriteria && !(loading$ | async)) {\n <pry-toggle\n class=\"o-pry-search-tools__content__toggle\"\n [ngModel]=\"isSearchMono\"\n (ngModelChange)=\"onMonoSearch()\"\n [alwaysActive]=\"true\"\n mode=\"action\"\n >\n {{ (isSearchMono ? '@pry.search.button.mono' : '@pry.search.button.multi') | i18n }}\n </pry-toggle>\n <div class=\"o-pry-search-tools__content__full\">\n @if (isSearchMono) {\n <pry-search-mono-class></pry-search-mono-class>\n } @else {\n <pry-search-multi-class></pry-search-multi-class>\n }\n </div>\n <div class=\"o-pry-search-tools__content__button-search\">\n @if (isSearchCriteria) {\n <pry-choose-widget (selected)=\"selectWidget($event)\"></pry-choose-widget>\n }\n @if (!isSearchCriteria) {\n <button class=\"a-btn a-btn--primary\" (click)=\"onSearchTools()\">\n {{ '@pry.search.button.cancel' | i18n }}\n </button>\n }\n <button\n [disabled]=\"\n (!(searchMultiClassValid$ | async) && !isSearchMono) || (!(searchMonoClassValid$ | async) && isSearchMono)\n \"\n class=\"a-btn a-btn--primary\"\n (click)=\"onSearch()\"\n >\n <pry-icon iconSvg=\"search-line\"></pry-icon>\n {{ '@pry.search.button.search' | i18n }}\n </button>\n </div>\n } @else {\n <div class=\"o-pry-search-tools__content__full\">\n <pry-search-home\n class=\"o-pry-search-home\"\n [isMoreList]=\"isMoreList\"\n [searchFulltextTpl]=\"searchFulltextTpl\"\n (changeListView)=\"onChangeListView($event)\"\n (changeSearchCriteria)=\"onSearchCriteria()\"\n ></pry-search-home>\n <ng-template #searchFulltextTpl>\n <pry-search-fulltext mode=\"vertical\" (searchChange)=\"onSearchFulltextChange($event)\"></pry-search-fulltext>\n </ng-template>\n </div>\n }\n }\n\n </div>\n <div class=\"o-pry-search-tools__footer\" [class.is-close]=\"searchToolsClose\">\n <pry-save-query-button\n [editInProgress]=\"editInProgress$ | async\"\n [currentEdit]=\"currentEdit$ | async\"\n [currentEditType]=\"currentEditType$ | async\"\n [fulltextValid]=\"isSearchFulltextValid\"\n [multiValid]=\"searchMultiClassValid$ | async\"\n [monoValid]=\"searchMonoClassValid$ | async\"\n [isNotFulltext]=\"isSearchCriteria\"\n [isMonoSearch]=\"isSearchMono\"\n [fulltextSearch]=\"searchFulltextTemp\"\n ></pry-save-query-button>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { 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: i3.PryToggleComponent, selector: "pry-toggle", inputs: ["alwaysActive", "disabled", "mode", "size", "dir", "leftword", "rightword"] }, { kind: "component", type: i3.PryShareComponent, selector: "pry-share", inputs: ["labelProperty", "valueProperty"] }, { kind: "component", type: PrySearchHomeComponent, selector: "pry-search-home", inputs: ["searchFulltextTpl", "isMoreList"], outputs: ["changeListView", "changeSearchCriteria"] }, { kind: "component", type: PrySearchMonoClassComponent, selector: "pry-search-mono-class" }, { kind: "component", type: PrySearchMultiClassComponent, selector: "pry-search-multi-class" }, { kind: "component", type: PrySearchFulltextComponent, selector: "pry-search-fulltext", inputs: ["mode", "launchButton", "currentEdit"], outputs: ["searchChange"] }, { kind: "component", type: PrySaveQueryButtonComponent, selector: "pry-save-query-button", inputs: ["editInProgress", "currentEdit", "currentEditType", "fulltextValid", "multiValid", "monoValid", "isNotFulltext", "isMonoSearch", "fulltextSearch", "saveDisabled"] }, { kind: "component", type: EditNamedQueryComponent, selector: "pry-edit-named-query", inputs: ["fromWidget"], outputs: ["searchFulltextChange", "cancelled", "searched"] }, { kind: "component", type: ChooseWidgetComponent, selector: "pry-choose-widget", inputs: ["panelOpen", "mode", "width"], outputs: ["selected"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
1792
1792
|
}
|
|
1793
1793
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySearchToolsComponent, decorators: [{
|
|
1794
1794
|
type: Component,
|
|
1795
|
-
args: [{ selector: 'pry-search-tools', template: "<div\n class=\"o-pry-search-tools\"\n [class.is-close]=\"searchToolsClose\"\n [class.is-mono]=\"isNewMono || (isEditMono$ | async)\"\n>\n <button\n
|
|
1795
|
+
args: [{ selector: 'pry-search-tools', template: "<div\n class=\"o-pry-search-tools\"\n [class.is-close]=\"searchToolsClose\"\n [class.is-mono]=\"isNewMono || (isEditMono$ | async)\"\n >\n @if (((editInProgress$ | async) && !(isRename$ | async)) || isSearchCriteria) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -back a-tooltip\"\n (click)=\"onSearchTools()\"\n aria-pressed=\"false\"\n [attr.data-tooltip]=\"'@pry.search.button.backSearch' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon iconSvg=\"arrow_back\" [width]=\"24\" [height]=\"24\" [animation]=\"false\"></pry-icon>\n <span>{{ '@pry.search.button.backSearch' | i18n }}</span>\n </button>\n }\n <div class=\"o-pry-search-tools__content\" [class.is-close]=\"searchToolsClose\">\n @if (((editInProgress$ | async) && !(isRename$ | async)) || isSearchCriteria) {\n <button\n class=\"a-btn a-btn--icon-text -link-like u-self-end\"\n (click)=\"reset()\"\n id=\"btn_reset\"\n >\n <pry-icon iconSvg=\"reset\" [width]=\"18\" [height]=\"18\"></pry-icon>\n {{ '@pry.search.button.reset' | i18n }}\n </button>\n }\n @if (editInProgress$ | async) {\n <pry-share [ngModel]=\"(currentEdit$ | async)?.visibility\" (ngModelChange)=\"updateVisibility($event)\"></pry-share>\n }\n @if ((editInProgress$ | async) && !(isRename$ | async) && !(loading$ | async)) {\n <pry-edit-named-query\n (searchFulltextChange)=\"onSearchFulltextChange($event)\"\n (cancelled)=\"onSearchTools()\"\n ></pry-edit-named-query>\n } @else {\n @if (isSearchCriteria && !(loading$ | async)) {\n <pry-toggle\n class=\"o-pry-search-tools__content__toggle\"\n [ngModel]=\"isSearchMono\"\n (ngModelChange)=\"onMonoSearch()\"\n [alwaysActive]=\"true\"\n mode=\"action\"\n >\n {{ (isSearchMono ? '@pry.search.button.mono' : '@pry.search.button.multi') | i18n }}\n </pry-toggle>\n <div class=\"o-pry-search-tools__content__full\">\n @if (isSearchMono) {\n <pry-search-mono-class></pry-search-mono-class>\n } @else {\n <pry-search-multi-class></pry-search-multi-class>\n }\n </div>\n <div class=\"o-pry-search-tools__content__button-search\">\n @if (isSearchCriteria) {\n <pry-choose-widget (selected)=\"selectWidget($event)\"></pry-choose-widget>\n }\n @if (!isSearchCriteria) {\n <button class=\"a-btn a-btn--primary\" (click)=\"onSearchTools()\">\n {{ '@pry.search.button.cancel' | i18n }}\n </button>\n }\n <button\n [disabled]=\"\n (!(searchMultiClassValid$ | async) && !isSearchMono) || (!(searchMonoClassValid$ | async) && isSearchMono)\n \"\n class=\"a-btn a-btn--primary\"\n (click)=\"onSearch()\"\n >\n <pry-icon iconSvg=\"search-line\"></pry-icon>\n {{ '@pry.search.button.search' | i18n }}\n </button>\n </div>\n } @else {\n <div class=\"o-pry-search-tools__content__full\">\n <pry-search-home\n class=\"o-pry-search-home\"\n [isMoreList]=\"isMoreList\"\n [searchFulltextTpl]=\"searchFulltextTpl\"\n (changeListView)=\"onChangeListView($event)\"\n (changeSearchCriteria)=\"onSearchCriteria()\"\n ></pry-search-home>\n <ng-template #searchFulltextTpl>\n <pry-search-fulltext mode=\"vertical\" (searchChange)=\"onSearchFulltextChange($event)\"></pry-search-fulltext>\n </ng-template>\n </div>\n }\n }\n\n </div>\n <div class=\"o-pry-search-tools__footer\" [class.is-close]=\"searchToolsClose\">\n <pry-save-query-button\n [editInProgress]=\"editInProgress$ | async\"\n [currentEdit]=\"currentEdit$ | async\"\n [currentEditType]=\"currentEditType$ | async\"\n [fulltextValid]=\"isSearchFulltextValid\"\n [multiValid]=\"searchMultiClassValid$ | async\"\n [monoValid]=\"searchMonoClassValid$ | async\"\n [isNotFulltext]=\"isSearchCriteria\"\n [isMonoSearch]=\"isSearchMono\"\n [fulltextSearch]=\"searchFulltextTemp\"\n ></pry-save-query-button>\n </div>\n</div>\n" }]
|
|
1796
1796
|
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { class: [{
|
|
1797
1797
|
type: HostBinding,
|
|
1798
1798
|
args: ['class.o-pry-search-tools-wrapper']
|
|
@@ -1837,13 +1837,13 @@ class EditNamedQueryModalComponent extends SubscriptionnerDirective {
|
|
|
1837
1837
|
document.getElementsByTagName('pry-search-tools').length >
|
|
1838
1838
|
0);
|
|
1839
1839
|
}
|
|
1840
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditNamedQueryModalComponent, deps: [{ token: i1.Store }, { token: i2
|
|
1840
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditNamedQueryModalComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1841
1841
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EditNamedQueryModalComponent, selector: "pry-edit-named-query-modal", viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div>\n <pry-search-tools></pry-search-tools>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: PrySearchToolsComponent, selector: "pry-search-tools" }] }); }
|
|
1842
1842
|
}
|
|
1843
1843
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditNamedQueryModalComponent, decorators: [{
|
|
1844
1844
|
type: Component,
|
|
1845
1845
|
args: [{ selector: 'pry-edit-named-query-modal', template: "<ng-template #template>\n <div>\n <pry-search-tools></pry-search-tools>\n </div>\n</ng-template>\n" }]
|
|
1846
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2
|
|
1846
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { template: [{
|
|
1847
1847
|
type: ViewChild,
|
|
1848
1848
|
args: ['template', { read: TemplateRef }]
|
|
1849
1849
|
}] } });
|
|
@@ -2280,9 +2280,9 @@ class SearchMonoClassService {
|
|
|
2280
2280
|
id,
|
|
2281
2281
|
parentId: parentId ?? null,
|
|
2282
2282
|
type: 'ATTRIBUTE',
|
|
2283
|
-
attribute: cond
|
|
2284
|
-
operator: cond
|
|
2285
|
-
value: cond
|
|
2283
|
+
attribute: cond?.attribute,
|
|
2284
|
+
operator: cond?.operator,
|
|
2285
|
+
value: cond?.value,
|
|
2286
2286
|
pattern: this.getPatternForField(field),
|
|
2287
2287
|
isDate: field.type === FieldType.INSTANT
|
|
2288
2288
|
}
|