@fundamental-ngx/platform 0.45.1 → 0.46.0-rc.0
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/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow.component.mjs +2 -2
- package/esm2022/dynamic-page/dynamic-page.component.mjs +2 -2
- package/esm2022/feed-input/feed-input.component.mjs +2 -2
- package/esm2022/form/checkbox/checkbox.component.mjs +14 -9
- package/esm2022/form/checkbox/checkbox.module.mjs +4 -8
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +7 -7
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +5 -9
- package/esm2022/form/combobox/combobox/combobox.component.mjs +1 -1
- package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +2 -2
- package/esm2022/form/form-group/form-group.component.mjs +2 -2
- package/esm2022/form/input-group/input-group.component.mjs +2 -2
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +2 -2
- package/esm2022/form/select/select/select.component.mjs +2 -2
- package/esm2022/form/step-input/number/number-step-input.component.mjs +2 -2
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +2 -2
- package/esm2022/link/link.component.mjs +2 -2
- package/esm2022/list/display-list-item/display-list-item.component.mjs +1 -1
- package/esm2022/list/list.component.mjs +2 -2
- package/esm2022/list/object-list-item/object-list-item-row.component.mjs +2 -2
- package/esm2022/list/object-list-item/object-list-item.component.mjs +2 -2
- package/esm2022/list/standard-list-item/standard-list-item.component.mjs +1 -1
- package/esm2022/menu/menu-item.component.mjs +2 -2
- package/esm2022/menu/menu.component.mjs +2 -2
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +15 -16
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +21 -9
- package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +6 -3
- package/esm2022/message-popover/message-popover.component.mjs +31 -11
- package/esm2022/message-popover/models/message-popover.interface.mjs +1 -1
- package/esm2022/message-popover/platform-message-popover.module.mjs +6 -65
- package/esm2022/message-popover/utils.mjs +18 -1
- package/esm2022/object-attribute/object-attribute.component.mjs +2 -2
- package/esm2022/page-footer/page-footer.component.mjs +2 -2
- package/esm2022/search-field/search-field.component.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +13 -8
- package/esm2022/slider/slider.module.mjs +5 -9
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +1 -1
- package/esm2022/split-menu-button/split-menu-button.component.mjs +2 -2
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +1 -1
- package/esm2022/table/components/table-row/table-row.component.mjs +1 -1
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
- package/esm2022/table/table.component.mjs +2 -2
- package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +1 -1
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +1 -1
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +1 -1
- package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +1 -1
- package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
- package/esm2022/variant-management/variant-management.component.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +5 -5
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +54 -52
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +4 -4
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +92 -100
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-attribute.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-object-attribute.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs +15 -13
- package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +4 -4
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/form/checkbox/checkbox.component.d.ts +3 -1
- package/form/checkbox/checkbox.module.d.ts +5 -8
- package/form/checkbox-group/checkbox-group.component.d.ts +1 -1
- package/form/checkbox-group/checkbox-group.module.d.ts +4 -7
- package/fundamental-ngx-platform-v0.46.0-rc.0.tgz +0 -0
- package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +1 -3
- package/message-popover/components/message-view/message-view.component.d.ts +1 -1
- package/message-popover/directives/message-popover-form-item.directive.d.ts +6 -3
- package/message-popover/message-popover.component.d.ts +3 -4
- package/message-popover/models/message-popover.interface.d.ts +2 -0
- package/message-popover/platform-message-popover.module.d.ts +1 -16
- package/message-popover/utils.d.ts +7 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/slider/slider.component.d.ts +3 -1
- package/slider/slider.module.d.ts +3 -6
- package/fundamental-ngx-platform-v0.45.1.tgz +0 -0
|
@@ -1,38 +1,32 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, ViewChild, HostBinding, Directive, Optional, ContentChildren, NgModule } from '@angular/core';
|
|
3
|
-
import * as i2 from '@angular/common';
|
|
4
|
-
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
5
|
-
import * as i5$1 from '@angular/forms';
|
|
6
|
-
import { FormGroup, ControlContainer, NgModel, FormsModule } from '@angular/forms';
|
|
7
|
-
import * as i3$1 from '@fundamental-ngx/core/bar';
|
|
8
|
-
import { BarModule } from '@fundamental-ngx/core/bar';
|
|
9
|
-
import * as i6$1 from '@fundamental-ngx/core/button';
|
|
10
|
-
import { ButtonModule } from '@fundamental-ngx/core/button';
|
|
11
|
-
import { IconModule } from '@fundamental-ngx/core/icon';
|
|
12
|
-
import * as i6 from '@fundamental-ngx/core/link';
|
|
13
|
-
import { LinkModule } from '@fundamental-ngx/core/link';
|
|
14
|
-
import * as i3 from '@fundamental-ngx/core/list';
|
|
15
|
-
import { ListModule } from '@fundamental-ngx/core/list';
|
|
16
|
-
import * as i4 from '@fundamental-ngx/core/object-status';
|
|
17
|
-
import { ObjectStatusModule } from '@fundamental-ngx/core/object-status';
|
|
18
|
-
import * as i2$1 from '@fundamental-ngx/core/popover';
|
|
19
|
-
import { PopoverModule } from '@fundamental-ngx/core/popover';
|
|
20
|
-
import * as i5 from '@fundamental-ngx/core/scrollbar';
|
|
21
|
-
import { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';
|
|
22
|
-
import * as i4$1 from '@fundamental-ngx/core/segmented-button';
|
|
23
|
-
import { SegmentedButtonModule } from '@fundamental-ngx/core/segmented-button';
|
|
24
|
-
import * as i1 from '@fundamental-ngx/cdk/utils';
|
|
25
|
-
import { resizeObservable, TabbableElementService, InitialFocusModule } from '@fundamental-ngx/cdk/utils';
|
|
26
|
-
import * as i7 from '@fundamental-ngx/i18n';
|
|
27
|
-
import { I18nModule } from '@fundamental-ngx/i18n';
|
|
28
|
-
import { PlatformButtonModule } from '@fundamental-ngx/platform/button';
|
|
29
|
-
import { PlatformObjectStatusModule } from '@fundamental-ngx/platform/object-status';
|
|
30
3
|
import { countBy, flatten, mergeWith } from 'lodash-es';
|
|
4
|
+
import * as i1$1 from '@fundamental-ngx/core/popover';
|
|
5
|
+
import { PopoverModule } from '@fundamental-ngx/core/popover';
|
|
31
6
|
import { getFormState } from '@fundamental-ngx/platform/form';
|
|
32
7
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
|
+
import { FdTranslatePipe } from '@fundamental-ngx/i18n';
|
|
33
9
|
import { trigger, state, style, transition, animate, keyframes } from '@angular/animations';
|
|
34
|
-
import {
|
|
35
|
-
import
|
|
10
|
+
import { DOCUMENT, NgTemplateOutlet, NgFor, NgIf, NgClass } from '@angular/common';
|
|
11
|
+
import * as i1 from '@fundamental-ngx/cdk/utils';
|
|
12
|
+
import { resizeObservable, TabbableElementService, InitialFocusDirective } from '@fundamental-ngx/cdk/utils';
|
|
13
|
+
import { debounceTime, Subject, BehaviorSubject, Subscription, startWith, switchMap, filter, zip } from 'rxjs';
|
|
14
|
+
import { LinkComponent } from '@fundamental-ngx/core/link';
|
|
15
|
+
import * as i3 from '@fundamental-ngx/core/object-status';
|
|
16
|
+
import { ObjectStatusModule } from '@fundamental-ngx/core/object-status';
|
|
17
|
+
import * as i2 from '@fundamental-ngx/core/list';
|
|
18
|
+
import { ListModule } from '@fundamental-ngx/core/list';
|
|
19
|
+
import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
|
|
20
|
+
import { CdkScrollable } from '@angular/cdk/overlay';
|
|
21
|
+
import * as i5 from '@angular/forms';
|
|
22
|
+
import { FormsModule, FormGroup, ControlContainer } from '@angular/forms';
|
|
23
|
+
import * as i4 from '@fundamental-ngx/core/segmented-button';
|
|
24
|
+
import { SegmentedButtonModule } from '@fundamental-ngx/core/segmented-button';
|
|
25
|
+
import * as i3$1 from '@fundamental-ngx/core/bar';
|
|
26
|
+
import { BarModule } from '@fundamental-ngx/core/bar';
|
|
27
|
+
import * as i2$1 from '@fundamental-ngx/core/button';
|
|
28
|
+
import { ButtonModule } from '@fundamental-ngx/core/button';
|
|
29
|
+
import { FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';
|
|
36
30
|
|
|
37
31
|
const FDP_MESSAGE_POPOVER_DEFAULT_CONFIG = {
|
|
38
32
|
errors: {
|
|
@@ -48,6 +42,23 @@ const FDP_MESSAGE_POPOVER_DEFAULT_CONFIG = {
|
|
|
48
42
|
};
|
|
49
43
|
const FDP_MESSAGE_POPOVER_CONFIG = new InjectionToken('FdpMessagePopoverConfig');
|
|
50
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Converts Object Status into Message Popover State
|
|
47
|
+
* @param status Object status
|
|
48
|
+
* @returns Message Popover State.
|
|
49
|
+
*/
|
|
50
|
+
function convertFormStateToMessagePopoverState(state) {
|
|
51
|
+
switch (state) {
|
|
52
|
+
case 'error':
|
|
53
|
+
return 'negative';
|
|
54
|
+
case 'warning':
|
|
55
|
+
return 'critical';
|
|
56
|
+
case 'default':
|
|
57
|
+
return 'neutral';
|
|
58
|
+
default:
|
|
59
|
+
return state;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
51
62
|
/**
|
|
52
63
|
* Converts Form State into Object status type.
|
|
53
64
|
* @param type Form state.
|
|
@@ -125,7 +136,7 @@ class MessageViewComponent {
|
|
|
125
136
|
}
|
|
126
137
|
}
|
|
127
138
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MessageViewComponent, deps: [{ token: i0.DestroyRef }, { token: i1.TabbableElementService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: MessageViewComponent, selector: "fdp-message-view", inputs: { currentScreen: "currentScreen", filteredErrors: "filteredErrors", currentEntry: "currentEntry" }, outputs: { openDetails: "openDetails", focusItem: "focusItem", closePopover: "closePopover" }, host: { properties: { "class": "this._initialClass" } }, providers: [TabbableElementService], viewQueries: [{ propertyName: "_listView", first: true, predicate: ["listView"], descendants: true, read: ElementRef }, { propertyName: "_detailsView", first: true, predicate: ["detailsView"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate : { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate : { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n [overrideTabindex]=\"false\"\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n <ng-container *ngFor=\"let group of filteredErrors\">\n <li fd-list-group-header *ngIf=\"group.group\">\n <span fd-list-title>{{ group.group }}</span>\n </li>\n <ng-container *ngFor=\"let item of group.errors; let i = index\">\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n <span\n fd-list-link\n [navigationIndicator]=\"!!item.description.message\"\n *ngIf=\"item.element && !!item.description.message; else anchorListLink\"\n >\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n <ng-template #anchorListLink>\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n <ng-container *ngIf=\"currentEntry\">\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n <span class=\"fd-message-view__details-description\" *ngIf=\"currentEntry.description.message\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n </ng-container>\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type:
|
|
139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: MessageViewComponent, isStandalone: true, selector: "fdp-message-view", inputs: { currentScreen: "currentScreen", filteredErrors: "filteredErrors", currentEntry: "currentEntry" }, outputs: { openDetails: "openDetails", focusItem: "focusItem", closePopover: "closePopover" }, host: { properties: { "class": "this._initialClass" } }, providers: [TabbableElementService], viewQueries: [{ propertyName: "_listView", first: true, predicate: ["listView"], descendants: true, read: ElementRef }, { propertyName: "_detailsView", first: true, predicate: ["detailsView"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate : { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate : { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n [overrideTabindex]=\"false\"\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n <ng-container *ngFor=\"let group of filteredErrors\">\n <li fd-list-group-header *ngIf=\"group.group\">\n <span fd-list-title>{{ group.group }}</span>\n </li>\n <ng-container *ngFor=\"let item of group.errors; let i = index\">\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n <span\n fd-list-link\n [navigationIndicator]=\"!!item.description.message\"\n *ngIf=\"item.element && !!item.description.message; else anchorListLink\"\n >\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n <ng-template #anchorListLink>\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n <ng-container *ngIf=\"currentEntry\">\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n <span class=\"fd-message-view__details-description\" *ngIf=\"currentEntry.description.message\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n </ng-container>\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i2.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ObjectStatusModule }, { kind: "component", type: i3.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], animations: [
|
|
129
140
|
trigger('openCloseList', [
|
|
130
141
|
// ...
|
|
131
142
|
state('open', style({
|
|
@@ -219,6 +230,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
219
230
|
animate('0.1s .1s cubic-bezier(0, 0, 0.2, 1)')
|
|
220
231
|
])
|
|
221
232
|
])
|
|
233
|
+
], standalone: true, imports: [
|
|
234
|
+
NgTemplateOutlet,
|
|
235
|
+
CdkScrollable,
|
|
236
|
+
ScrollbarDirective,
|
|
237
|
+
ListModule,
|
|
238
|
+
NgFor,
|
|
239
|
+
NgIf,
|
|
240
|
+
ObjectStatusModule,
|
|
241
|
+
LinkComponent,
|
|
242
|
+
FdTranslatePipe
|
|
222
243
|
], template: "<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate : { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate : { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n [overrideTabindex]=\"false\"\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n <ng-container *ngFor=\"let group of filteredErrors\">\n <li fd-list-group-header *ngIf=\"group.group\">\n <span fd-list-title>{{ group.group }}</span>\n </li>\n <ng-container *ngFor=\"let item of group.errors; let i = index\">\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n <span\n fd-list-link\n [navigationIndicator]=\"!!item.description.message\"\n *ngIf=\"item.element && !!item.description.message; else anchorListLink\"\n >\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n <ng-template #anchorListLink>\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n <ng-container *ngIf=\"currentEntry\">\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n <span class=\"fd-message-view__details-description\" *ngIf=\"currentEntry.description.message\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n </ng-container>\n </div>\n </section>\n</div>\n" }]
|
|
223
244
|
}], ctorParameters: function () { return [{ type: i0.DestroyRef }, { type: i1.TabbableElementService }, { type: Document, decorators: [{
|
|
224
245
|
type: Inject,
|
|
@@ -282,7 +303,7 @@ class MessagePopoverComponent {
|
|
|
282
303
|
});
|
|
283
304
|
});
|
|
284
305
|
this._priorityFormState = getFormState(errorTypes);
|
|
285
|
-
this._priorityState =
|
|
306
|
+
this._priorityState = convertFormStateToMessagePopoverState(this._priorityFormState);
|
|
286
307
|
this._priorityStateItemsCount = countedErrors[this._priorityFormState];
|
|
287
308
|
this._filterErrors();
|
|
288
309
|
this._cdr.detectChanges();
|
|
@@ -321,11 +342,24 @@ class MessagePopoverComponent {
|
|
|
321
342
|
});
|
|
322
343
|
}
|
|
323
344
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MessagePopoverComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
324
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: MessagePopoverComponent, selector: "fdp-message-popover", inputs: { wrapper: "wrapper" }, outputs: { focusItem: "focusItem" }, viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "<fd-popover\n #popover\n placement=\"top-start\"\n *ngIf=\"_errorTypes.length > 0\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n>\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState\"\n [glyph]=\"'message-' + _priorityFormState\"\n [label]=\"_priorityStateItemsCount.toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n <fd-segmented-button\n [(ngModel)]=\"_currentErrorType\"\n *ngIf=\"currentScreen === 'list'\"\n (ngModelChange)=\"_filterErrors()\"\n >\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n <button fd-button *ngFor=\"let type of _errorTypes\" [value]=\"type.group\">\n <span fd-object-status [status]=\"type.state\" [glyph]=\"'message-' + type.group\"></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n </fd-segmented-button>\n <button\n *ngIf=\"currentScreen === 'details'\"\n fd-button\n fdInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n</fd-popover>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-message-view{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;position:relative}.fd-message-view:after,.fd-message-view:before{box-sizing:inherit;font-size:inherit}.fd-message-view__list{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:50vh;max-width:26rem;padding:0}.fd-message-view__list:after,.fd-message-view__list:before{box-sizing:inherit;font-size:inherit}.fd-message-view__list--hidden{opacity:0}.fd-message-view__details{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;inset:0;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 1rem 1rem 3.5rem;position:absolute}.fd-message-view__details:after,.fd-message-view__details:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details[dir=rtl],[dir=rtl] .fd-message-view__details{padding:1rem 3.5rem 1rem 1rem}.fd-message-view__details-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);display:block;font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 1rem;padding:0;white-space:normal}.fd-message-view__details-title:after,.fd-message-view__details-title:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details-title .fd-message-view__icon{font-size:1rem;margin:0 .5rem 0 -2rem}.fd-message-view__details-title .fd-message-view__icon[dir=rtl],[dir=rtl] .fd-message-view__details-title .fd-message-view__icon{margin:0 -2rem 0 .5rem}.fd-message-view__details-description{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.4;margin:0 0 1rem;padding:0;white-space:normal}.fd-message-view__details-description:after,.fd-message-view__details-description:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details--visible{display:block}.fd-message-popover__trigger.is-focus,.fd-message-popover__trigger:focus{outline-color:var(--sapContent_ContrastFocusColor);z-index:5}.fd-message-popover__trigger--critical{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor)}.fd-message-popover__trigger--critical.is-hover,.fd-message-popover__trigger--critical:hover{--fdButtonColor:var(--sapButton_Critical_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Hover_Background);--fdButtonBorderColor:var(--sapButton_Critical_Hover_BorderColor)}.fd-message-popover__trigger--critical.is-active,.fd-message-popover__trigger--critical:active{--fdButtonColor:var(--sapButton_Critical_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Active_Background);--fdButtonBorderColor:var(--sapButton_Critical_Active_BorderColor)}.fd-message-popover__trigger--negative{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor)}.fd-message-popover__trigger--negative.is-hover,.fd-message-popover__trigger--negative:hover{--fdButtonColor:var(--sapButton_Negative_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Hover_Background);--fdButtonBorderColor:var(--sapButton_Negative_Hover_BorderColor)}.fd-message-popover__trigger--negative.is-active,.fd-message-popover__trigger--negative:active{--fdButtonColor:var(--sapButton_Negative_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Active_Background);--fdButtonBorderColor:var(--sapButton_Negative_Active_BorderColor)}.fd-message-popover__trigger--success{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor)}.fd-message-popover__trigger--success.is-hover,.fd-message-popover__trigger--success:hover{--fdButtonColor:var(--sapButton_Success_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Hover_Background);--fdButtonBorderColor:var(--sapButton_Success_Hover_BorderColor)}.fd-message-popover__trigger--success.is-active,.fd-message-popover__trigger--success:active{--fdButtonColor:var(--sapButton_Success_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Active_Background);--fdButtonBorderColor:var(--sapButton_Success_Active_BorderColor)}.fd-message-popover__trigger--information{--fdButtonColor:var(--sapButton_Neutral_TextColor);--fdButtonBackgroundColor:var(--sapButton_Neutral_Background);--fdButtonBorderColor:var(--sapButton_Neutral_BorderColor)}.fd-message-popover__trigger--information.is-hover,.fd-message-popover__trigger--information:hover{--fdButtonColor:var(--sapButton_Neutral_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Neutral_Hover_Background);--fdButtonBorderColor:var(--sapButton_Neutral_Hover_BorderColor)}.fd-message-popover__trigger--information.is-active,.fd-message-popover__trigger--information:active{--fdButtonColor:var(--sapButton_Neutral_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Neutral_Active_Background);--fdButtonBorderColor:var(--sapButton_Neutral_Active_BorderColor)}.fd-message-popover__view-container{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius);overflow:hidden;display:block;max-height:40vh}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child:before{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child:before{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-view__list{min-width:20rem;min-height:10rem;max-height:40vh}.fd-message-view__list .fd-link{font-size:inherit}.fd-message-view__list .fd-list__link:active,.fd-message-view__list .fd-list__link.is-active{--sapLinkColor: var(--sapList_Active_TextColor);--sapLink_Active_Color: var(--sapList_Active_TextColor)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "directive", type: i2$1.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "component", type: i2$1.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i3$1.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i3$1.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3$1.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4$1.SegmentedButtonComponent, selector: "fd-segmented-button", inputs: ["toggle"] }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "component", type: MessageViewComponent, selector: "fdp-message-view", inputs: ["currentScreen", "filteredErrors", "currentEntry"], outputs: ["openDetails", "focusItem", "closePopover"] }, { kind: "pipe", type: i7.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
345
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: MessagePopoverComponent, isStandalone: true, selector: "fdp-message-popover", inputs: { wrapper: "wrapper" }, outputs: { focusItem: "focusItem" }, viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "<fd-popover\n #popover\n placement=\"top-start\"\n *ngIf=\"_errorTypes.length > 0\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n>\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState\"\n [glyph]=\"'message-' + _priorityFormState\"\n [label]=\"_priorityStateItemsCount.toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n <fd-segmented-button\n [(ngModel)]=\"_currentErrorType\"\n *ngIf=\"currentScreen === 'list'\"\n (ngModelChange)=\"_filterErrors()\"\n >\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n <button fd-button *ngFor=\"let type of _errorTypes\" [value]=\"type.group\">\n <span fd-object-status [status]=\"type.state\" [glyph]=\"'message-' + type.group\"></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n </fd-segmented-button>\n <button\n *ngIf=\"currentScreen === 'details'\"\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n</fd-popover>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-message-view{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;position:relative}.fd-message-view:after,.fd-message-view:before{box-sizing:inherit;font-size:inherit}.fd-message-view__list{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:50vh;max-width:26rem;padding:0}.fd-message-view__list:after,.fd-message-view__list:before{box-sizing:inherit;font-size:inherit}.fd-message-view__list--hidden{opacity:0}.fd-message-view__details{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;inset:0;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 1rem 1rem 3.5rem;position:absolute}.fd-message-view__details:after,.fd-message-view__details:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details[dir=rtl],[dir=rtl] .fd-message-view__details{padding:1rem 3.5rem 1rem 1rem}.fd-message-view__details-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);display:block;font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 1rem;padding:0;white-space:normal}.fd-message-view__details-title:after,.fd-message-view__details-title:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details-title .fd-message-view__icon{font-size:1rem;margin:0 .5rem 0 -2rem}.fd-message-view__details-title .fd-message-view__icon[dir=rtl],[dir=rtl] .fd-message-view__details-title .fd-message-view__icon{margin:0 -2rem 0 .5rem}.fd-message-view__details-description{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.4;margin:0 0 1rem;padding:0;white-space:normal}.fd-message-view__details-description:after,.fd-message-view__details-description:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details--visible{display:block}.fd-message-popover__trigger{--fdButtonFocusColor:var(--sapContent_ContrastFocusColor);border-width:var(--fdMessagePopover_Trigger_Border_Width);text-shadow:var(--fdButtonTextShadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--critical:hover{--fdButtonColor:var(--sapButton_Critical_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Hover_Background);--fdButtonBorderColor:var(--sapButton_Critical_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--critical:active{--fdButtonColor:var(--sapButton_Critical_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Active_Background);--fdButtonBorderColor:var(--sapButton_Critical_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical[aria-disabled=true]{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--negative{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--negative:hover{--fdButtonColor:var(--sapButton_Negative_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Hover_Background);--fdButtonBorderColor:var(--sapButton_Negative_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--negative:active{--fdButtonColor:var(--sapButton_Negative_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Active_Background);--fdButtonBorderColor:var(--sapButton_Negative_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative[aria-disabled=true]{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--success{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--success:hover{--fdButtonColor:var(--sapButton_Success_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Hover_Background);--fdButtonBorderColor:var(--sapButton_Success_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--success:active{--fdButtonColor:var(--sapButton_Success_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Active_Background);--fdButtonBorderColor:var(--sapButton_Success_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success[aria-disabled=true]{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--information{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Information_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--information:hover{--fdButtonColor:var(--fdMessagePopover_Information_Hover_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Hover_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Hover_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--information:active{--fdButtonColor:var(--fdMessagePopover_Information_Active_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Active_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Active_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information[aria-disabled=true]{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__view-container{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius);overflow:hidden;display:block;max-height:40vh}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child:before{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child:before{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-view__list{min-width:20rem;min-height:10rem;max-height:40vh}.fd-message-view__list .fd-link{font-size:inherit}.fd-message-view__list .fd-list__link:active,.fd-message-view__list .fd-list__link.is-active{--sapLinkColor: var(--sapList_Active_TextColor);--sapLink_Active_Color: var(--sapList_Active_TextColor)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i1$1.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "directive", type: i1$1.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "component", type: i1$1.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: BarModule }, { kind: "component", type: i3$1.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i3$1.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3$1.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "ngmodule", type: SegmentedButtonModule }, { kind: "component", type: i4.SegmentedButtonComponent, selector: "fd-segmented-button", inputs: ["toggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ObjectStatusModule }, { kind: "component", type: i3.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large"] }, { kind: "directive", type: InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: MessageViewComponent, selector: "fdp-message-view", inputs: ["currentScreen", "filteredErrors", "currentEntry"], outputs: ["openDetails", "focusItem", "closePopover"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
325
346
|
}
|
|
326
347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MessagePopoverComponent, decorators: [{
|
|
327
348
|
type: Component,
|
|
328
|
-
args: [{ selector: 'fdp-message-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-popover\n #popover\n placement=\"top-start\"\n *ngIf=\"_errorTypes.length > 0\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n>\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState\"\n [glyph]=\"'message-' + _priorityFormState\"\n [label]=\"_priorityStateItemsCount.toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n <fd-segmented-button\n [(ngModel)]=\"_currentErrorType\"\n *ngIf=\"currentScreen === 'list'\"\n (ngModelChange)=\"_filterErrors()\"\n >\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n <button fd-button *ngFor=\"let type of _errorTypes\" [value]=\"type.group\">\n <span fd-object-status [status]=\"type.state\" [glyph]=\"'message-' + type.group\"></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n </fd-segmented-button>\n <button\n *ngIf=\"currentScreen === 'details'\"\n fd-button\n fdInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n</fd-popover>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-message-view{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;position:relative}.fd-message-view:after,.fd-message-view:before{box-sizing:inherit;font-size:inherit}.fd-message-view__list{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:50vh;max-width:26rem;padding:0}.fd-message-view__list:after,.fd-message-view__list:before{box-sizing:inherit;font-size:inherit}.fd-message-view__list--hidden{opacity:0}.fd-message-view__details{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;inset:0;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 1rem 1rem 3.5rem;position:absolute}.fd-message-view__details:after,.fd-message-view__details:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details[dir=rtl],[dir=rtl] .fd-message-view__details{padding:1rem 3.5rem 1rem 1rem}.fd-message-view__details-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);display:block;font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 1rem;padding:0;white-space:normal}.fd-message-view__details-title:after,.fd-message-view__details-title:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details-title .fd-message-view__icon{font-size:1rem;margin:0 .5rem 0 -2rem}.fd-message-view__details-title .fd-message-view__icon[dir=rtl],[dir=rtl] .fd-message-view__details-title .fd-message-view__icon{margin:0 -2rem 0 .5rem}.fd-message-view__details-description{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.4;margin:0 0 1rem;padding:0;white-space:normal}.fd-message-view__details-description:after,.fd-message-view__details-description:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details--visible{display:block}.fd-message-popover__trigger.is-focus,.fd-message-popover__trigger:focus{outline-color:var(--sapContent_ContrastFocusColor);z-index:5}.fd-message-popover__trigger--critical{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor)}.fd-message-popover__trigger--critical.is-hover,.fd-message-popover__trigger--critical:hover{--fdButtonColor:var(--sapButton_Critical_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Hover_Background);--fdButtonBorderColor:var(--sapButton_Critical_Hover_BorderColor)}.fd-message-popover__trigger--critical.is-active,.fd-message-popover__trigger--critical:active{--fdButtonColor:var(--sapButton_Critical_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Active_Background);--fdButtonBorderColor:var(--sapButton_Critical_Active_BorderColor)}.fd-message-popover__trigger--negative{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor)}.fd-message-popover__trigger--negative.is-hover,.fd-message-popover__trigger--negative:hover{--fdButtonColor:var(--sapButton_Negative_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Hover_Background);--fdButtonBorderColor:var(--sapButton_Negative_Hover_BorderColor)}.fd-message-popover__trigger--negative.is-active,.fd-message-popover__trigger--negative:active{--fdButtonColor:var(--sapButton_Negative_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Active_Background);--fdButtonBorderColor:var(--sapButton_Negative_Active_BorderColor)}.fd-message-popover__trigger--success{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor)}.fd-message-popover__trigger--success.is-hover,.fd-message-popover__trigger--success:hover{--fdButtonColor:var(--sapButton_Success_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Hover_Background);--fdButtonBorderColor:var(--sapButton_Success_Hover_BorderColor)}.fd-message-popover__trigger--success.is-active,.fd-message-popover__trigger--success:active{--fdButtonColor:var(--sapButton_Success_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Active_Background);--fdButtonBorderColor:var(--sapButton_Success_Active_BorderColor)}.fd-message-popover__trigger--information{--fdButtonColor:var(--sapButton_Neutral_TextColor);--fdButtonBackgroundColor:var(--sapButton_Neutral_Background);--fdButtonBorderColor:var(--sapButton_Neutral_BorderColor)}.fd-message-popover__trigger--information.is-hover,.fd-message-popover__trigger--information:hover{--fdButtonColor:var(--sapButton_Neutral_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Neutral_Hover_Background);--fdButtonBorderColor:var(--sapButton_Neutral_Hover_BorderColor)}.fd-message-popover__trigger--information.is-active,.fd-message-popover__trigger--information:active{--fdButtonColor:var(--sapButton_Neutral_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Neutral_Active_Background);--fdButtonBorderColor:var(--sapButton_Neutral_Active_BorderColor)}.fd-message-popover__view-container{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius);overflow:hidden;display:block;max-height:40vh}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child:before{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child:before{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-view__list{min-width:20rem;min-height:10rem;max-height:40vh}.fd-message-view__list .fd-link{font-size:inherit}.fd-message-view__list .fd-list__link:active,.fd-message-view__list .fd-list__link.is-active{--sapLinkColor: var(--sapList_Active_TextColor);--sapLink_Active_Color: var(--sapList_Active_TextColor)}\n"] }]
|
|
349
|
+
args: [{ selector: 'fdp-message-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
350
|
+
NgIf,
|
|
351
|
+
PopoverModule,
|
|
352
|
+
ButtonModule,
|
|
353
|
+
NgClass,
|
|
354
|
+
BarModule,
|
|
355
|
+
SegmentedButtonModule,
|
|
356
|
+
FormsModule,
|
|
357
|
+
NgFor,
|
|
358
|
+
ObjectStatusModule,
|
|
359
|
+
InitialFocusDirective,
|
|
360
|
+
MessageViewComponent,
|
|
361
|
+
FdTranslatePipe
|
|
362
|
+
], template: "<fd-popover\n #popover\n placement=\"top-start\"\n *ngIf=\"_errorTypes.length > 0\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n>\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState\"\n [glyph]=\"'message-' + _priorityFormState\"\n [label]=\"_priorityStateItemsCount.toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n <fd-segmented-button\n [(ngModel)]=\"_currentErrorType\"\n *ngIf=\"currentScreen === 'list'\"\n (ngModelChange)=\"_filterErrors()\"\n >\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n <button fd-button *ngFor=\"let type of _errorTypes\" [value]=\"type.group\">\n <span fd-object-status [status]=\"type.state\" [glyph]=\"'message-' + type.group\"></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n </fd-segmented-button>\n <button\n *ngIf=\"currentScreen === 'details'\"\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n</fd-popover>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-message-view{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;position:relative}.fd-message-view:after,.fd-message-view:before{box-sizing:inherit;font-size:inherit}.fd-message-view__list{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:50vh;max-width:26rem;padding:0}.fd-message-view__list:after,.fd-message-view__list:before{box-sizing:inherit;font-size:inherit}.fd-message-view__list--hidden{opacity:0}.fd-message-view__details{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;inset:0;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 1rem 1rem 3.5rem;position:absolute}.fd-message-view__details:after,.fd-message-view__details:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details[dir=rtl],[dir=rtl] .fd-message-view__details{padding:1rem 3.5rem 1rem 1rem}.fd-message-view__details-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);display:block;font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 1rem;padding:0;white-space:normal}.fd-message-view__details-title:after,.fd-message-view__details-title:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details-title .fd-message-view__icon{font-size:1rem;margin:0 .5rem 0 -2rem}.fd-message-view__details-title .fd-message-view__icon[dir=rtl],[dir=rtl] .fd-message-view__details-title .fd-message-view__icon{margin:0 -2rem 0 .5rem}.fd-message-view__details-description{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.4;margin:0 0 1rem;padding:0;white-space:normal}.fd-message-view__details-description:after,.fd-message-view__details-description:before{box-sizing:inherit;font-size:inherit}.fd-message-view__details--visible{display:block}.fd-message-popover__trigger{--fdButtonFocusColor:var(--sapContent_ContrastFocusColor);border-width:var(--fdMessagePopover_Trigger_Border_Width);text-shadow:var(--fdButtonTextShadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--critical:hover{--fdButtonColor:var(--sapButton_Critical_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Hover_Background);--fdButtonBorderColor:var(--sapButton_Critical_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--critical:active{--fdButtonColor:var(--sapButton_Critical_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Active_Background);--fdButtonBorderColor:var(--sapButton_Critical_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical[aria-disabled=true]{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--negative{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--negative:hover{--fdButtonColor:var(--sapButton_Negative_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Hover_Background);--fdButtonBorderColor:var(--sapButton_Negative_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--negative:active{--fdButtonColor:var(--sapButton_Negative_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Active_Background);--fdButtonBorderColor:var(--sapButton_Negative_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative[aria-disabled=true]{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--success{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--success:hover{--fdButtonColor:var(--sapButton_Success_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Hover_Background);--fdButtonBorderColor:var(--sapButton_Success_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--success:active{--fdButtonColor:var(--sapButton_Success_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Active_Background);--fdButtonBorderColor:var(--sapButton_Success_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success[aria-disabled=true]{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--information{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Information_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--information:hover{--fdButtonColor:var(--fdMessagePopover_Information_Hover_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Hover_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Hover_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--information:active{--fdButtonColor:var(--fdMessagePopover_Information_Active_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Active_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Active_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information[aria-disabled=true]{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__view-container{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius);overflow:hidden;display:block;max-height:40vh}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child:before{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child:before{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-view__list{min-width:20rem;min-height:10rem;max-height:40vh}.fd-message-view__list .fd-link{font-size:inherit}.fd-message-view__list .fd-list__link:active,.fd-message-view__list .fd-list__link.is-active{--sapLinkColor: var(--sapList_Active_TextColor);--sapLink_Active_Color: var(--sapList_Active_TextColor)}\n"] }]
|
|
329
363
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.DestroyRef }]; }, propDecorators: { _popover: [{
|
|
330
364
|
type: ViewChild,
|
|
331
365
|
args: ['popover']
|
|
@@ -341,19 +375,22 @@ class MessagePopoverFormItemDirective {
|
|
|
341
375
|
this.elementRef = elementRef;
|
|
342
376
|
this.control = control;
|
|
343
377
|
}
|
|
344
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MessagePopoverFormItemDirective, deps: [{ token: i0.ElementRef }, { token: i5
|
|
345
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: MessagePopoverFormItemDirective, selector: "[fdpMessagePopoverFormItem]", inputs: { label: ["fdpMessagePopoverFormItem", "label"] }, ngImport: i0 }); }
|
|
378
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MessagePopoverFormItemDirective, deps: [{ token: i0.ElementRef }, { token: i5.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
379
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: MessagePopoverFormItemDirective, isStandalone: true, selector: "[fdpMessagePopoverFormItem]", inputs: { label: ["fdpMessagePopoverFormItem", "label"], errorTypes: "errorTypes" }, ngImport: i0 }); }
|
|
346
380
|
}
|
|
347
381
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MessagePopoverFormItemDirective, decorators: [{
|
|
348
382
|
type: Directive,
|
|
349
383
|
args: [{
|
|
350
|
-
selector: '[fdpMessagePopoverFormItem]'
|
|
384
|
+
selector: '[fdpMessagePopoverFormItem]',
|
|
385
|
+
standalone: true
|
|
351
386
|
}]
|
|
352
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i5
|
|
387
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i5.NgControl, decorators: [{
|
|
353
388
|
type: Optional
|
|
354
389
|
}] }]; }, propDecorators: { label: [{
|
|
355
390
|
type: Input,
|
|
356
391
|
args: ['fdpMessagePopoverFormItem']
|
|
392
|
+
}], errorTypes: [{
|
|
393
|
+
type: Input
|
|
357
394
|
}] } });
|
|
358
395
|
|
|
359
396
|
class MessagePopoverFormWrapperComponent {
|
|
@@ -406,9 +443,7 @@ class MessagePopoverFormWrapperComponent {
|
|
|
406
443
|
if (this._ngForms.length > 0) {
|
|
407
444
|
return;
|
|
408
445
|
}
|
|
409
|
-
this.
|
|
410
|
-
this._startListeningForErrors();
|
|
411
|
-
this._projectedForm?.changes.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
446
|
+
this._projectedForm?.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
412
447
|
this._ngForms = this._projectedForm.toArray();
|
|
413
448
|
this._startListeningForErrors();
|
|
414
449
|
});
|
|
@@ -500,11 +535,15 @@ class MessagePopoverFormWrapperComponent {
|
|
|
500
535
|
.filter((error) => configErrors.includes(error))
|
|
501
536
|
.forEach((errorKey) => {
|
|
502
537
|
const errorObj = control.errors[errorKey];
|
|
503
|
-
const errorTextModel = this._getConfigErrorModel(errorKey);
|
|
538
|
+
const errorTextModel = this._getConfigErrorModel(errorKey, field.errorTypes);
|
|
539
|
+
const errorConfig = field?.errorTypes ? field?.errorTypes[errorKey] : null;
|
|
540
|
+
const errorState = errorConfig && this._isAdvancedError(errorConfig) && errorConfig.type
|
|
541
|
+
? errorConfig.type
|
|
542
|
+
: 'error';
|
|
504
543
|
const error = {
|
|
505
544
|
name: controlName,
|
|
506
545
|
type: errorTextModel.type,
|
|
507
|
-
state: convertFormState(
|
|
546
|
+
state: convertFormState(errorState),
|
|
508
547
|
fieldName: field?.label ?? '',
|
|
509
548
|
element: field?.elementRef,
|
|
510
549
|
heading: {
|
|
@@ -637,8 +676,8 @@ class MessagePopoverFormWrapperComponent {
|
|
|
637
676
|
return parts.join(', ');
|
|
638
677
|
}
|
|
639
678
|
/** @hidden */
|
|
640
|
-
_getConfigErrorModel(errorKey) {
|
|
641
|
-
const configError = this._config.errors[errorKey];
|
|
679
|
+
_getConfigErrorModel(errorKey, customErrorTypes) {
|
|
680
|
+
const configError = customErrorTypes && customErrorTypes[errorKey] ? customErrorTypes[errorKey] : this._config.errors[errorKey];
|
|
642
681
|
const isPlainError = !this._isAdvancedError(configError);
|
|
643
682
|
const errorType = isPlainError ? 'error' : configError.type;
|
|
644
683
|
const headingMessage = isPlainError ? configError : configError.heading;
|
|
@@ -654,23 +693,20 @@ class MessagePopoverFormWrapperComponent {
|
|
|
654
693
|
return !!error && typeof error !== 'string';
|
|
655
694
|
}
|
|
656
695
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MessagePopoverFormWrapperComponent, deps: [{ token: i0.DestroyRef }, { token: FDP_MESSAGE_POPOVER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
657
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: MessagePopoverFormWrapperComponent, selector: "fdp-message-popover-form-wrapper", inputs: { forms: "forms", formFields: "formFields" }, queries: [{ propertyName: "_projectedForm", predicate: ControlContainer, descendants: true }, { propertyName: "
|
|
696
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: MessagePopoverFormWrapperComponent, isStandalone: true, selector: "fdp-message-popover-form-wrapper", inputs: { forms: "forms", formFields: "formFields" }, queries: [{ propertyName: "_projectedForm", predicate: ControlContainer, descendants: true }, { propertyName: "_projectedFormFieldControls", predicate: FD_FORM_FIELD_CONTROL, descendants: true }, { propertyName: "_directiveItems", predicate: MessagePopoverFormItemDirective, descendants: true }], exportAs: ["messagePopoverWrapper"], ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
658
697
|
}
|
|
659
698
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: MessagePopoverFormWrapperComponent, decorators: [{
|
|
660
699
|
type: Component,
|
|
661
|
-
args: [{ selector: 'fdp-message-popover-form-wrapper', exportAs: 'messagePopoverWrapper', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n" }]
|
|
700
|
+
args: [{ selector: 'fdp-message-popover-form-wrapper', exportAs: 'messagePopoverWrapper', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, template: "<ng-content></ng-content>\n" }]
|
|
662
701
|
}], ctorParameters: function () { return [{ type: i0.DestroyRef }, { type: undefined, decorators: [{
|
|
663
702
|
type: Inject,
|
|
664
703
|
args: [FDP_MESSAGE_POPOVER_CONFIG]
|
|
665
704
|
}] }]; }, propDecorators: { _projectedForm: [{
|
|
666
705
|
type: ContentChildren,
|
|
667
706
|
args: [ControlContainer, { descendants: true }]
|
|
668
|
-
}], _projectedFormItems: [{
|
|
669
|
-
type: ContentChildren,
|
|
670
|
-
args: [NgModel, { descendants: true }]
|
|
671
707
|
}], _projectedFormFieldControls: [{
|
|
672
708
|
type: ContentChildren,
|
|
673
|
-
args: [
|
|
709
|
+
args: [FD_FORM_FIELD_CONTROL, { descendants: true }]
|
|
674
710
|
}], _directiveItems: [{
|
|
675
711
|
type: ContentChildren,
|
|
676
712
|
args: [MessagePopoverFormItemDirective, { descendants: true }]
|
|
@@ -708,24 +744,10 @@ class PlatformMessagePopoverModule {
|
|
|
708
744
|
};
|
|
709
745
|
}
|
|
710
746
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformMessagePopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
711
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: PlatformMessagePopoverModule,
|
|
747
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: PlatformMessagePopoverModule, imports: [MessagePopoverComponent,
|
|
712
748
|
MessagePopoverFormWrapperComponent,
|
|
713
749
|
MessageViewComponent,
|
|
714
|
-
MessagePopoverFormItemDirective],
|
|
715
|
-
IconModule,
|
|
716
|
-
PopoverModule,
|
|
717
|
-
BarModule,
|
|
718
|
-
ListModule,
|
|
719
|
-
SegmentedButtonModule,
|
|
720
|
-
FormsModule,
|
|
721
|
-
ButtonModule,
|
|
722
|
-
ObjectStatusModule,
|
|
723
|
-
ScrollbarModule,
|
|
724
|
-
LinkModule,
|
|
725
|
-
PlatformObjectStatusModule,
|
|
726
|
-
PlatformButtonModule,
|
|
727
|
-
I18nModule,
|
|
728
|
-
InitialFocusModule], exports: [MessagePopoverComponent,
|
|
750
|
+
MessagePopoverFormItemDirective], exports: [MessagePopoverComponent,
|
|
729
751
|
MessagePopoverFormWrapperComponent,
|
|
730
752
|
MessageViewComponent,
|
|
731
753
|
MessagePopoverFormItemDirective] }); }
|
|
@@ -734,49 +756,19 @@ class PlatformMessagePopoverModule {
|
|
|
734
756
|
provide: FDP_MESSAGE_POPOVER_CONFIG,
|
|
735
757
|
useValue: FDP_MESSAGE_POPOVER_DEFAULT_CONFIG
|
|
736
758
|
}
|
|
737
|
-
], imports: [
|
|
738
|
-
|
|
739
|
-
PopoverModule,
|
|
740
|
-
BarModule,
|
|
741
|
-
ListModule,
|
|
742
|
-
SegmentedButtonModule,
|
|
743
|
-
FormsModule,
|
|
744
|
-
ButtonModule,
|
|
745
|
-
ObjectStatusModule,
|
|
746
|
-
ScrollbarModule,
|
|
747
|
-
LinkModule,
|
|
748
|
-
PlatformObjectStatusModule,
|
|
749
|
-
PlatformButtonModule,
|
|
750
|
-
I18nModule,
|
|
751
|
-
InitialFocusModule] }); }
|
|
759
|
+
], imports: [MessagePopoverComponent,
|
|
760
|
+
MessageViewComponent] }); }
|
|
752
761
|
}
|
|
753
762
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformMessagePopoverModule, decorators: [{
|
|
754
763
|
type: NgModule,
|
|
755
764
|
args: [{
|
|
756
765
|
imports: [
|
|
757
|
-
CommonModule,
|
|
758
|
-
IconModule,
|
|
759
|
-
PopoverModule,
|
|
760
|
-
BarModule,
|
|
761
|
-
ListModule,
|
|
762
|
-
SegmentedButtonModule,
|
|
763
|
-
FormsModule,
|
|
764
|
-
ButtonModule,
|
|
765
|
-
ObjectStatusModule,
|
|
766
|
-
ScrollbarModule,
|
|
767
|
-
LinkModule,
|
|
768
|
-
PlatformObjectStatusModule,
|
|
769
|
-
PlatformButtonModule,
|
|
770
|
-
I18nModule,
|
|
771
|
-
InitialFocusModule
|
|
772
|
-
],
|
|
773
|
-
exports: [
|
|
774
766
|
MessagePopoverComponent,
|
|
775
767
|
MessagePopoverFormWrapperComponent,
|
|
776
768
|
MessageViewComponent,
|
|
777
769
|
MessagePopoverFormItemDirective
|
|
778
770
|
],
|
|
779
|
-
|
|
771
|
+
exports: [
|
|
780
772
|
MessagePopoverComponent,
|
|
781
773
|
MessagePopoverFormWrapperComponent,
|
|
782
774
|
MessageViewComponent,
|
|
@@ -795,5 +787,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
795
787
|
* Generated bundle index. Do not edit.
|
|
796
788
|
*/
|
|
797
789
|
|
|
798
|
-
export { FDP_MESSAGE_POPOVER_CONFIG, FDP_MESSAGE_POPOVER_DEFAULT_CONFIG, MessagePopoverComponent, MessagePopoverFormItemDirective, MessagePopoverFormWrapperComponent, MessageViewComponent, PlatformMessagePopoverModule, convertFormState };
|
|
790
|
+
export { FDP_MESSAGE_POPOVER_CONFIG, FDP_MESSAGE_POPOVER_DEFAULT_CONFIG, MessagePopoverComponent, MessagePopoverFormItemDirective, MessagePopoverFormWrapperComponent, MessageViewComponent, PlatformMessagePopoverModule, convertFormState, convertFormStateToMessagePopoverState };
|
|
799
791
|
//# sourceMappingURL=fundamental-ngx-platform-message-popover.mjs.map
|