@ngx-smz/core 21.9.0-next.1 → 21.9.0-next.10
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.
|
@@ -8,7 +8,7 @@ import { take, takeWhile as takeWhile$1, tap as tap$1, debounceTime as debounceT
|
|
|
8
8
|
import * as i1$4 from '@angular/common/http';
|
|
9
9
|
import { HttpClient, provideHttpClient, withInterceptorsFromDi, HttpErrorResponse, HttpHeaders, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
10
10
|
import * as i2 from '@ngx-smz/ui-kit';
|
|
11
|
-
import { SmzObjectUtils, SmzTooltipDirective, SmzPopoverComponent, SmzButtonComponent, SmzAutoCompleteComponent, SmzTemplateDirective, SmzTextareaDirective, SmzListboxComponent, SmzSelectComponent, SmzDatePickerComponent, SmzCheckboxComponent, SmzColorPickerComponent, SmzInputMaskComponent, SmzInputNumberComponent, SmzToggleSwitchComponent, SmzInputTextDirective, SmzMultiSelectComponent, SmzPasswordComponent, SmzRadioButtonComponent, SmzMessageComponent, SmzAutoFocusDirective, SmzTreeSelectComponent, SmzDialogService, SmzDomHandler, SmzZIndex, smzUniqueId, SmzFilterService, SmzFilterOperator, SmzFilterMatchMode, SmzPaginatorComponent, SmzTranslationKeys, SmzConnectedOverlayScrollHandler, SmzSelectButtonComponent, SmzMenuListComponent, SmzSkeletonComponent, SmzIconFieldComponent, SmzInputIconComponent, SmzBadgeDirective, SmzToolbarComponent, SmzProgressBarComponent, SmzMessageService, SmzPickListComponent, SmzAccordionComponent, SmzAccordionPanelComponent, SmzAccordionHeaderComponent, SmzAccordionContentComponent, SmzInputGroupComponent, SmzInputGroupAddonComponent, SmzLocaleService, SmzBlockUiComponent, SmzToastContainerComponent, SmzDrawerComponent, SmzUiTreeComponent, SmzDataViewComponent, SmzUiTimelineComponent, SmzTabsComponent, SmzTabListComponent, SmzTabComponent, SmzTabPanelsComponent, SmzTabPanelComponent } from '@ngx-smz/ui-kit';
|
|
11
|
+
import { SmzObjectUtils, SmzTooltipDirective, SmzPopoverComponent, SmzButtonComponent, SmzAutoCompleteComponent, SmzTemplateDirective, SmzTextareaDirective, SmzListboxComponent, SmzSelectComponent, SmzDatePickerComponent, SmzCheckboxComponent, SmzColorPickerComponent, SmzInputMaskComponent, SmzInputNumberComponent, SmzToggleSwitchComponent, SmzInputTextDirective, SmzMultiSelectComponent, SmzPasswordComponent, SmzRadioButtonComponent, SmzMessageComponent, SmzAutoFocusDirective, SmzTreeSelectComponent, SmzDialogService, SmzDomHandler, SmzZIndex, smzUniqueId, SmzFilterService, SmzFilterOperator, SmzFilterMatchMode, SmzPaginatorComponent, SmzTranslationKeys, SmzConnectedOverlayScrollHandler, SmzSelectButtonComponent, SmzMenuListComponent, SmzSkeletonComponent, SmzIconFieldComponent, SmzInputIconComponent, SmzBadgeDirective, SmzToolbarComponent, SmzProgressBarComponent, SmzMessageService, SmzPickListComponent, SmzAccordionComponent, SmzAccordionPanelComponent, SmzAccordionHeaderComponent, SmzAccordionContentComponent, SmzInputGroupComponent, SmzInputGroupAddonComponent, SmzLocaleService, SmzBlockUiComponent, SmzToastContainerComponent, SmzDrawerComponent, SmzRippleDirective, SmzUiTreeComponent, SmzDataViewComponent, SmzUiTimelineComponent, SmzTabsComponent, SmzTabListComponent, SmzTabComponent, SmzTabPanelsComponent, SmzTabPanelComponent } from '@ngx-smz/ui-kit';
|
|
12
12
|
import { cloneDeep, uniqBy, flatten as flatten$1, sortBy, isBoolean as isBoolean$1, isEmpty as isEmpty$2, isEqual } from 'lodash-es';
|
|
13
13
|
import { Subscription, BehaviorSubject, merge, firstValueFrom, debounceTime, tap, of, take as take$1, Subject, throwError, map as map$1, throttleTime, switchMap, Observable, takeUntil as takeUntil$2, filter as filter$1 } from 'rxjs';
|
|
14
14
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
@@ -2932,7 +2932,7 @@ class CheckBoxComponent {
|
|
|
2932
2932
|
this.dialogVisibility.setValue(input, formId, event);
|
|
2933
2933
|
}
|
|
2934
2934
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxComponent, deps: [{ token: SmzFormsVisibilityService }, { token: SmzDialogsVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2935
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: CheckBoxComponent, isStandalone: false, selector: "smz-checkbox", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, host: { classAttribute: "grid grid-nogutter" }, ngImport: i0, template: "<div class=\"grid col-12 grid-nogutter input_inner__wrapper flex-gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.showLabel || input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n <ui-checkbox class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" (changed)=\"emitChange(input, formId, $event)\" [binary]=\"true\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm\">{{input.name}}</label>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzCheckboxComponent, selector: "ui-checkbox", inputs: ["label", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
2935
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: CheckBoxComponent, isStandalone: false, selector: "smz-checkbox", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, host: { classAttribute: "grid grid-nogutter" }, ngImport: i0, template: "<div class=\"grid col-12 grid-nogutter input_inner__wrapper flex-gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.showLabel || input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n <ui-checkbox class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" (changed)=\"emitChange(input, formId, $event)\" [binary]=\"true\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm\">{{input.name}}</label>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzCheckboxComponent, selector: "ui-checkbox", inputs: ["label", "inputId", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
2936
2936
|
}
|
|
2937
2937
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxComponent, decorators: [{
|
|
2938
2938
|
type: Component,
|
|
@@ -2952,7 +2952,7 @@ class CheckBoxGroupComponent {
|
|
|
2952
2952
|
control;
|
|
2953
2953
|
behaviors;
|
|
2954
2954
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2955
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: CheckBoxGroupComponent, isStandalone: false, selector: "smz-checkbox-group", inputs: { input: "input", control: "control", behaviors: "behaviors" }, host: { classAttribute: "grid grid-nogutter" }, ngImport: i0, template: "<div class=\"grid col-12 grid-nogutter input_inner__wrapper flex-gap-1 \">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n @for (option of input.options; track option) {\r\n <ui-checkbox class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzCheckboxComponent, selector: "ui-checkbox", inputs: ["label", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
2955
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: CheckBoxGroupComponent, isStandalone: false, selector: "smz-checkbox-group", inputs: { input: "input", control: "control", behaviors: "behaviors" }, host: { classAttribute: "grid grid-nogutter" }, ngImport: i0, template: "<div class=\"grid col-12 grid-nogutter input_inner__wrapper flex-gap-1 \">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n @for (option of input.options; track option) {\r\n <ui-checkbox class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzCheckboxComponent, selector: "ui-checkbox", inputs: ["label", "inputId", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
2956
2956
|
}
|
|
2957
2957
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxGroupComponent, decorators: [{
|
|
2958
2958
|
type: Component,
|
|
@@ -2989,7 +2989,7 @@ class ColorPickerComponent {
|
|
|
2989
2989
|
this.control.markAsTouched();
|
|
2990
2990
|
}
|
|
2991
2991
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2992
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: ColorPickerComponent, isStandalone: false, selector: "smz-color-picker", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper grid grid-nogutter items-center justify-start flex-nowrap mt-1\">\r\n <ui-color-picker [id]=\"input.propertyName\" class=\"smz__input_value\" appendTo=\"body\" [formControl]=\"control\">\r\n </ui-color-picker>\r\n <div class=\"flex-grow\">\r\n <input\r\n #colorinput\r\n class=\"smz__input_value colorpicker-hexa-input ml-2\"\r\n smzInputText\r\n [disabled]=\"input.isDisabled\"\r\n [(ngModel)]=\"color\"\r\n (keyup)=\"onInputChange(colorinput.value)\"\r\n (blur)=\"markAsTouched()\"/>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzColorPickerComponent, selector: "ui-color-picker", inputs: ["inputId", "appendTo"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
2992
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: ColorPickerComponent, isStandalone: false, selector: "smz-color-picker", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper grid grid-nogutter items-center justify-start flex-nowrap mt-1\">\r\n <ui-color-picker [id]=\"input.propertyName\" class=\"smz__input_value\" appendTo=\"body\" [formControl]=\"control\">\r\n </ui-color-picker>\r\n <div class=\"flex-grow\">\r\n <input\r\n #colorinput\r\n class=\"smz__input_value colorpicker-hexa-input ml-2\"\r\n smzInputText\r\n [disabled]=\"input.isDisabled\"\r\n [(ngModel)]=\"color\"\r\n (keyup)=\"onInputChange(colorinput.value)\"\r\n (blur)=\"markAsTouched()\"/>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzColorPickerComponent, selector: "ui-color-picker", inputs: ["inputId", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
2993
2993
|
}
|
|
2994
2994
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColorPickerComponent, decorators: [{
|
|
2995
2995
|
type: Component,
|
|
@@ -4115,7 +4115,7 @@ class InputMaskComponent {
|
|
|
4115
4115
|
control;
|
|
4116
4116
|
behaviors;
|
|
4117
4117
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4118
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputMaskComponent, isStandalone: false, selector: "smz-input-mask", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <ui-input-mask class=\"smz__input_value flex-1\" [mask]=\"input.mask\" [characterPattern]=\"input.characterPattern\" [unmask]=\"input.unmask\" [id]=\"input.propertyName\" type=\"text\" [formControl]=\"control\">\r\n </ui-input-mask>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzInputMaskComponent, selector: "ui-input-mask", inputs: ["mask", "slotChar", "characterPattern", "unmask", "autoClear", "placeholder", "readonly", "inputId"], outputs: ["inputed", "blurred", "completed"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
4118
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputMaskComponent, isStandalone: false, selector: "smz-input-mask", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <ui-input-mask class=\"smz__input_value flex-1\" [mask]=\"input.mask\" [characterPattern]=\"input.characterPattern\" [unmask]=\"input.unmask\" [id]=\"input.propertyName\" type=\"text\" [formControl]=\"control\">\r\n </ui-input-mask>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzInputMaskComponent, selector: "ui-input-mask", inputs: ["mask", "slotChar", "characterPattern", "unmask", "autoClear", "placeholder", "readonly", "inputId", "type"], outputs: ["inputed", "blurred", "completed"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
4119
4119
|
}
|
|
4120
4120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputMaskComponent, decorators: [{
|
|
4121
4121
|
type: Component,
|
|
@@ -4151,7 +4151,7 @@ class InputNumberComponent {
|
|
|
4151
4151
|
}
|
|
4152
4152
|
}
|
|
4153
4153
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4154
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputNumberComponent, isStandalone: false, selector: "smz-input-number", inputs: { input: "input", control: "control", behaviors: "behaviors", form: "form" }, ngImport: i0, template: "<smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\n @if (!input.useFraction) {\n <ui-input-mask class=\"smz__input_value flex-1\" slotChar=\"\" [autoClear]=\"false\" mask=\"9?9999999999999999999999999999999\" characterPattern=\"([0-9])\" [id]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" [formControl]=\"control\" (blurred)=\"onInputMaskBlur()\" (inputed)=\"onInputMaskInput()\">\n </ui-input-mask>\n }\n @if (input.useFraction) {\n <ui-input-number class=\"smz__input_value flex-1\" [formControl]=\"control\" [locale]=\"input.locale\" [minFractionDigits]=\"input.minFractionDigits\" [maxFractionDigits]=\"input.maxFractionDigits\" [useGrouping]=\"input.useGrouping\" [id]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" (inputed)=\"onInput($event)\">\n </ui-input-number>\n }\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzInputMaskComponent, selector: "ui-input-mask", inputs: ["mask", "slotChar", "characterPattern", "unmask", "autoClear", "placeholder", "readonly", "inputId"], outputs: ["inputed", "blurred", "completed"] }, { kind: "component", type: i2.SmzInputNumberComponent, selector: "ui-input-number", inputs: ["mode", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "step", "prefix", "suffix", "showButtons", "showClear", "allowEmpty", "placeholder", "readonly", "inputId"], outputs: ["inputed", "keyDown", "blurred", "focused"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.SmzAutoFocusDirective, selector: "[smzAutoFocus]", inputs: ["smzAutoFocus"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
4154
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputNumberComponent, isStandalone: false, selector: "smz-input-number", inputs: { input: "input", control: "control", behaviors: "behaviors", form: "form" }, ngImport: i0, template: "<smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\n @if (!input.useFraction) {\n <ui-input-mask class=\"smz__input_value flex-1\" slotChar=\"\" [autoClear]=\"false\" mask=\"9?9999999999999999999999999999999\" characterPattern=\"([0-9])\" [id]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" [formControl]=\"control\" (blurred)=\"onInputMaskBlur()\" (inputed)=\"onInputMaskInput()\">\n </ui-input-mask>\n }\n @if (input.useFraction) {\n <ui-input-number class=\"smz__input_value flex-1\" [formControl]=\"control\" [locale]=\"input.locale\" [minFractionDigits]=\"input.minFractionDigits\" [maxFractionDigits]=\"input.maxFractionDigits\" [useGrouping]=\"input.useGrouping\" [id]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" (inputed)=\"onInput($event)\">\n </ui-input-number>\n }\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzInputMaskComponent, selector: "ui-input-mask", inputs: ["mask", "slotChar", "characterPattern", "unmask", "autoClear", "placeholder", "readonly", "inputId", "type"], outputs: ["inputed", "blurred", "completed"] }, { kind: "component", type: i2.SmzInputNumberComponent, selector: "ui-input-number", inputs: ["mode", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "step", "prefix", "suffix", "showButtons", "showClear", "allowEmpty", "placeholder", "readonly", "inputId"], outputs: ["inputed", "keyDown", "blurred", "focused"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.SmzAutoFocusDirective, selector: "[smzAutoFocus]", inputs: ["smzAutoFocus"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
4155
4155
|
}
|
|
4156
4156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputNumberComponent, decorators: [{
|
|
4157
4157
|
type: Component,
|
|
@@ -4208,7 +4208,7 @@ class InputTextAreaComponent {
|
|
|
4208
4208
|
control;
|
|
4209
4209
|
behaviors;
|
|
4210
4210
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4211
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextAreaComponent, isStandalone: false, selector: "smz-input-text-area", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <textarea\r\n smzTextarea\r\n [rows]=\"input.textAreaRows != null ? input.textAreaRows : 5\"\r\n class=\"col-12 smz__input_value flex-1\"\r\n [id]=\"input.propertyName\"\r\n [formControl]=\"control\">\r\n </textarea>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
4211
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextAreaComponent, isStandalone: false, selector: "smz-input-text-area", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <textarea\r\n smzTextarea\r\n [rows]=\"input.textAreaRows != null ? input.textAreaRows : 5\"\r\n class=\"col-12 smz__input_value flex-1\"\r\n [id]=\"input.propertyName\"\r\n [formControl]=\"control\">\r\n </textarea>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
|
|
4212
4212
|
}
|
|
4213
4213
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextAreaComponent, decorators: [{
|
|
4214
4214
|
type: Component,
|
|
@@ -4655,7 +4655,7 @@ class SmzInputAutocompleteTagArea {
|
|
|
4655
4655
|
}
|
|
4656
4656
|
</ng-template>
|
|
4657
4657
|
</ui-popover>
|
|
4658
|
-
`, isInline: true, styles: [".p-overlaypanel.autocomplete-tag-overlay{box-shadow:unset}\n", ".p-overlaypanel.autocomplete-tag-overlay .p-overlaypanel-content{padding:0}\n", ".tag-dropdown.p-dropdown{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SmzAutocompleteSelectorComponent, selector: "smz-autocomplete-selector", inputs: ["isRequired", "allowCustomValues", "option", "suggestions"], outputs: ["selectedChange", "suggestionsChanged", "finished"] }, { kind: "directive", type: SmzSmartAutocompleteTagDirective, selector: "[smzSmartAutocompleteTag]", inputs: ["options"], outputs: ["tagTyped"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
4658
|
+
`, isInline: true, styles: [".p-overlaypanel.autocomplete-tag-overlay{box-shadow:unset}\n", ".p-overlaypanel.autocomplete-tag-overlay .p-overlaypanel-content{padding:0}\n", ".tag-dropdown.p-dropdown{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SmzAutocompleteSelectorComponent, selector: "smz-autocomplete-selector", inputs: ["isRequired", "allowCustomValues", "option", "suggestions"], outputs: ["selectedChange", "suggestionsChanged", "finished"] }, { kind: "directive", type: SmzSmartAutocompleteTagDirective, selector: "[smzSmartAutocompleteTag]", inputs: ["options"], outputs: ["tagTyped"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
4659
4659
|
}
|
|
4660
4660
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInputAutocompleteTagArea, decorators: [{
|
|
4661
4661
|
type: Component,
|
|
@@ -5255,7 +5255,7 @@ class SmzInputTagArea {
|
|
|
5255
5255
|
<ui-listbox #listbox (clicked)="hide($event)" (keyup.enter)="hide($event)" styleClass="tag-dropdown" [options]="currentTag.data" [(ngModel)]="currentTagSelection" optionLabel="key"></ui-listbox>
|
|
5256
5256
|
}
|
|
5257
5257
|
</ui-popover>
|
|
5258
|
-
`, isInline: true, styles: [".p-overlaypanel.tag-overlay .p-overlaypanel-content{padding:0}\n", ".tag-dropdown.p-dropdown{width:100%}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1$1.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => SmzTextareaDirective), selector: "textarea[smzTextarea]", inputs: ["invalid"] }, { kind: "directive", type: i0.forwardRef(() => SmzSmartTag), selector: "[smzSmartTag]", inputs: ["options"], outputs: ["tagTyped"] }, { kind: "component", type: i0.forwardRef(() => SmzListboxComponent), selector: "ui-listbox", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "checkbox", "filter", "filterBy", "filterMatchMode", "metaKeySelection", "readonly", "emptyMessage", "emptyFilterMessage", "listStyle", "style", "styleClass"], outputs: ["changed", "clicked"] }, { kind: "component", type: i0.forwardRef(() => SmzPopoverComponent), selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
5258
|
+
`, isInline: true, styles: [".p-overlaypanel.tag-overlay .p-overlaypanel-content{padding:0}\n", ".tag-dropdown.p-dropdown{width:100%}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1$1.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => SmzTextareaDirective), selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }, { kind: "directive", type: i0.forwardRef(() => SmzSmartTag), selector: "[smzSmartTag]", inputs: ["options"], outputs: ["tagTyped"] }, { kind: "component", type: i0.forwardRef(() => SmzListboxComponent), selector: "ui-listbox", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "checkbox", "filter", "filterBy", "filterMatchMode", "metaKeySelection", "readonly", "emptyMessage", "emptyFilterMessage", "listStyle", "style", "styleClass"], outputs: ["changed", "clicked"] }, { kind: "component", type: i0.forwardRef(() => SmzPopoverComponent), selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
5259
5259
|
}
|
|
5260
5260
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInputTagArea, decorators: [{
|
|
5261
5261
|
type: Component,
|
|
@@ -8496,7 +8496,7 @@ class DynamicDialogComponent {
|
|
|
8496
8496
|
</div>
|
|
8497
8497
|
}
|
|
8498
8498
|
</div>
|
|
8499
|
-
`, isInline: true, styles: [".p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog-mask-free{position:fixed;top:0;left:0;width:100%;height:100%;display:block!important;pointer-events:none}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative;padding:unset}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => SmzTooltipDirective), selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: i0.forwardRef(() => SmzAutoFocusDirective), selector: "[smzAutoFocus]", inputs: ["smzAutoFocus"] }, { kind: "directive", type: i0.forwardRef(() => DynamicDialogContent), selector: "[pDynamicDialogContent]" }, { kind: "directive", type: i0.forwardRef(() => DynamicDialogFooter), selector: "[pDynamicDialogFooter]" }, { kind: "pipe", type: i0.forwardRef(() => SafeHtmlPipe$1), name: "safeHtml" }], animations: [
|
|
8499
|
+
`, isInline: true, styles: [".p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog-mask-free{position:fixed;top:0;left:0;width:100%;height:100%;display:block!important;pointer-events:none}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative;padding:unset}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}.p-component-overlay{background-color:#0006}.p-component-overlay-enter{animation:smz-dialog-mask-enter var(--smz-duration, .15s) forwards}.p-component-overlay-leave{animation:smz-dialog-mask-leave var(--smz-duration, .15s) forwards}@keyframes smz-dialog-mask-enter{0%{background-color:transparent}to{background-color:#0006}}@keyframes smz-dialog-mask-leave{0%{background-color:#0006}to{background-color:transparent}}.p-dialog{background:rgb(var(--smz-color-surface-2));color:rgb(var(--smz-color-fg));font-family:var(--smz-font-sans);font-size:var(--smz-text-md);border:1px solid rgb(var(--smz-color-line));border-radius:var(--smz-radius-overlay);box-shadow:var(--smz-shadow-overlay)}.p-dialog-header{padding:1.25rem;gap:.5rem;background:transparent;color:inherit;border-top-left-radius:var(--smz-radius-overlay);border-top-right-radius:var(--smz-radius-overlay)}.p-dialog-title{font-size:1.25rem;font-weight:600}.p-dialog-content{padding:0 1.25rem 1.25rem;background:transparent;color:inherit}.p-dialog-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:0 1.25rem 1.25rem;background:transparent;border-bottom-left-radius:var(--smz-radius-overlay);border-bottom-right-radius:var(--smz-radius-overlay)}.p-dialog-footer button{width:auto}.p-dialog .p-dialog-header-icon{width:2rem;height:2rem;border:0;border-radius:9999px;background:transparent;color:rgb(var(--smz-color-fg-muted));cursor:pointer;transition:background-color var(--smz-duration)}.p-dialog .p-dialog-header-icon:hover{background:rgb(var(--smz-color-surface-3));color:rgb(var(--smz-color-fg))}.p-dialog .p-dialog-header-icon:focus-visible{outline:2px solid rgb(var(--smz-color-focus))}.p-dialog-footer .p-toolbar,.p-dialog-footer [class*=toolbar],.p-dialog-footer ui-toolbar{border:0!important;background:transparent!important;padding:0!important}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => SmzTooltipDirective), selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: i0.forwardRef(() => SmzAutoFocusDirective), selector: "[smzAutoFocus]", inputs: ["smzAutoFocus"] }, { kind: "directive", type: i0.forwardRef(() => DynamicDialogContent), selector: "[pDynamicDialogContent]" }, { kind: "directive", type: i0.forwardRef(() => DynamicDialogFooter), selector: "[pDynamicDialogFooter]" }, { kind: "pipe", type: i0.forwardRef(() => SafeHtmlPipe$1), name: "safeHtml" }], animations: [
|
|
8500
8500
|
trigger('animation', [
|
|
8501
8501
|
transition('void => visible', [
|
|
8502
8502
|
useAnimation(showAnimation)
|
|
@@ -8582,7 +8582,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
8582
8582
|
])
|
|
8583
8583
|
], changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, host: {
|
|
8584
8584
|
'class': 'p-element'
|
|
8585
|
-
}, standalone: false, styles: [".p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog-mask-free{position:fixed;top:0;left:0;width:100%;height:100%;display:block!important;pointer-events:none}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative;padding:unset}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}\n"] }]
|
|
8585
|
+
}, standalone: false, styles: [".p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog-mask-free{position:fixed;top:0;left:0;width:100%;height:100%;display:block!important;pointer-events:none}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative;padding:unset}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}.p-component-overlay{background-color:#0006}.p-component-overlay-enter{animation:smz-dialog-mask-enter var(--smz-duration, .15s) forwards}.p-component-overlay-leave{animation:smz-dialog-mask-leave var(--smz-duration, .15s) forwards}@keyframes smz-dialog-mask-enter{0%{background-color:transparent}to{background-color:#0006}}@keyframes smz-dialog-mask-leave{0%{background-color:#0006}to{background-color:transparent}}.p-dialog{background:rgb(var(--smz-color-surface-2));color:rgb(var(--smz-color-fg));font-family:var(--smz-font-sans);font-size:var(--smz-text-md);border:1px solid rgb(var(--smz-color-line));border-radius:var(--smz-radius-overlay);box-shadow:var(--smz-shadow-overlay)}.p-dialog-header{padding:1.25rem;gap:.5rem;background:transparent;color:inherit;border-top-left-radius:var(--smz-radius-overlay);border-top-right-radius:var(--smz-radius-overlay)}.p-dialog-title{font-size:1.25rem;font-weight:600}.p-dialog-content{padding:0 1.25rem 1.25rem;background:transparent;color:inherit}.p-dialog-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:0 1.25rem 1.25rem;background:transparent;border-bottom-left-radius:var(--smz-radius-overlay);border-bottom-right-radius:var(--smz-radius-overlay)}.p-dialog-footer button{width:auto}.p-dialog .p-dialog-header-icon{width:2rem;height:2rem;border:0;border-radius:9999px;background:transparent;color:rgb(var(--smz-color-fg-muted));cursor:pointer;transition:background-color var(--smz-duration)}.p-dialog .p-dialog-header-icon:hover{background:rgb(var(--smz-color-surface-3));color:rgb(var(--smz-color-fg))}.p-dialog .p-dialog-header-icon:focus-visible{outline:2px solid rgb(var(--smz-color-focus))}.p-dialog-footer .p-toolbar,.p-dialog-footer [class*=toolbar],.p-dialog-footer ui-toolbar{border:0!important;background:transparent!important;padding:0!important}\n"] }]
|
|
8586
8586
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: DynamicDialogConfig }, { type: DynamicDialogRef }, { type: i0.NgZone }, { type: SmzDynamicDialogConfig }, { type: SmzDockService }], propDecorators: { insertionPoint: [{
|
|
8587
8587
|
type: ViewChild,
|
|
8588
8588
|
args: [DynamicDialogContent]
|
|
@@ -12184,6 +12184,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
12184
12184
|
}], ctorParameters: () => [{ type: i1$3.Store }, { type: i1$3.Actions }, { type: ExcelsService }] });
|
|
12185
12185
|
|
|
12186
12186
|
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef, no-underscore-dangle, no-console, eqeqeq, @typescript-eslint/no-unused-vars, @typescript-eslint/no-useless-constructor, @typescript-eslint/explicit-member-accessibility, max-len, no-prototype-builtins, @typescript-eslint/no-shadow, @angular-eslint/component-class-suffix, @angular-eslint/no-output-on-prefix, @angular-eslint/directive-selector, @angular-eslint/directive-class-suffix, @angular-eslint/no-input-rename, @typescript-eslint/no-unsafe-function-type, brace-style, @typescript-eslint/no-unused-expressions, no-var, no-cond-assign */
|
|
12187
|
+
/**
|
|
12188
|
+
* Clique dentro de um painel do CDK Overlay (listas de `ui-select`, `ui-multi-select`, `ui-date-picker`...).
|
|
12189
|
+
* Esses paineis ficam fora do DOM do filtro, mas fazem parte dele: clicar neles nao deve fechar o painel do filtro.
|
|
12190
|
+
* Usa `composedPath` porque a opcao clicada pode ja ter sido removida do DOM quando o listener roda.
|
|
12191
|
+
*/
|
|
12192
|
+
function isInsideCdkOverlay(event) {
|
|
12193
|
+
const path = typeof event.composedPath === 'function' ? event.composedPath() : [];
|
|
12194
|
+
return path.some((node) => node instanceof Element && node.classList.contains('cdk-overlay-container'));
|
|
12195
|
+
}
|
|
12187
12196
|
/** Notificacao de cliques em overlays (para que paineis de filtro nao fechem ao interagir com outros overlays). */
|
|
12188
12197
|
class TableOverlayService {
|
|
12189
12198
|
clickSource = new Subject();
|
|
@@ -13702,12 +13711,12 @@ class Table {
|
|
|
13702
13711
|
widths.forEach((width, index) => {
|
|
13703
13712
|
const colWidth = index === colIndex ? newColumnWidth : nextColumnWidth && index === colIndex + 1 ? nextColumnWidth : width;
|
|
13704
13713
|
const style = `width: ${colWidth}px !important; max-width: ${colWidth}px !important;`;
|
|
13705
|
-
innerHTML += `
|
|
13706
|
-
#${this.id}-table > .p-datatable-thead > tr > th:nth-child(${index + 1}),
|
|
13707
|
-
#${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${index + 1}),
|
|
13708
|
-
#${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${index + 1}) {
|
|
13709
|
-
${style}
|
|
13710
|
-
}
|
|
13714
|
+
innerHTML += `
|
|
13715
|
+
#${this.id}-table > .p-datatable-thead > tr > th:nth-child(${index + 1}),
|
|
13716
|
+
#${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${index + 1}),
|
|
13717
|
+
#${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${index + 1}) {
|
|
13718
|
+
${style}
|
|
13719
|
+
}
|
|
13711
13720
|
`;
|
|
13712
13721
|
});
|
|
13713
13722
|
this.styleElement.innerHTML = innerHTML;
|
|
@@ -13981,12 +13990,12 @@ class Table {
|
|
|
13981
13990
|
let innerHTML = '';
|
|
13982
13991
|
widths.forEach((width, index) => {
|
|
13983
13992
|
const style = `width: ${width}px !important; max-width: ${width}px !important`;
|
|
13984
|
-
innerHTML += `
|
|
13985
|
-
#${this.id}-table > .p-datatable-thead > tr > th:nth-child(${index + 1}),
|
|
13986
|
-
#${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${index + 1}),
|
|
13987
|
-
#${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${index + 1}) {
|
|
13988
|
-
${style}
|
|
13989
|
-
}
|
|
13993
|
+
innerHTML += `
|
|
13994
|
+
#${this.id}-table > .p-datatable-thead > tr > th:nth-child(${index + 1}),
|
|
13995
|
+
#${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${index + 1}),
|
|
13996
|
+
#${this.id}-table > .p-datatable-tfoot > tr > td:nth-child(${index + 1}) {
|
|
13997
|
+
${style}
|
|
13998
|
+
}
|
|
13990
13999
|
`;
|
|
13991
14000
|
});
|
|
13992
14001
|
this.styleElement.innerHTML = innerHTML;
|
|
@@ -14047,33 +14056,33 @@ class Table {
|
|
|
14047
14056
|
this.responsiveStyleElement = document.createElement('style');
|
|
14048
14057
|
this.responsiveStyleElement.type = 'text/css';
|
|
14049
14058
|
document.head.appendChild(this.responsiveStyleElement);
|
|
14050
|
-
const innerHTML = `
|
|
14051
|
-
@media screen and (max-width: ${this.breakpoint}) {
|
|
14052
|
-
#${this.id}-table > .p-datatable-thead > tr > th,
|
|
14053
|
-
#${this.id}-table > .p-datatable-tfoot > tr > td {
|
|
14054
|
-
display: none !important;
|
|
14055
|
-
}
|
|
14056
|
-
|
|
14057
|
-
#${this.id}-table > .p-datatable-tbody > tr > td {
|
|
14058
|
-
width: 100% !important;
|
|
14059
|
-
align-items: center;
|
|
14060
|
-
justify-content: space-between;
|
|
14061
|
-
}
|
|
14062
|
-
|
|
14063
|
-
#${this.id}-table > .p-datatable-tbody > tr > td:not(:last-child) {
|
|
14064
|
-
border: 0 none;
|
|
14065
|
-
}
|
|
14066
|
-
|
|
14067
|
-
#${this.id}.p-datatable-gridlines > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tbody > tr > td:last-child {
|
|
14068
|
-
border-top: 0;
|
|
14069
|
-
border-right: 0;
|
|
14070
|
-
border-left: 0;
|
|
14071
|
-
}
|
|
14072
|
-
|
|
14073
|
-
#${this.id}-table > .p-datatable-tbody > tr > td > .p-column-title {
|
|
14074
|
-
display: block;
|
|
14075
|
-
}
|
|
14076
|
-
}
|
|
14059
|
+
const innerHTML = `
|
|
14060
|
+
@media screen and (max-width: ${this.breakpoint}) {
|
|
14061
|
+
#${this.id}-table > .p-datatable-thead > tr > th,
|
|
14062
|
+
#${this.id}-table > .p-datatable-tfoot > tr > td {
|
|
14063
|
+
display: none !important;
|
|
14064
|
+
}
|
|
14065
|
+
|
|
14066
|
+
#${this.id}-table > .p-datatable-tbody > tr > td {
|
|
14067
|
+
width: 100% !important;
|
|
14068
|
+
align-items: center;
|
|
14069
|
+
justify-content: space-between;
|
|
14070
|
+
}
|
|
14071
|
+
|
|
14072
|
+
#${this.id}-table > .p-datatable-tbody > tr > td:not(:last-child) {
|
|
14073
|
+
border: 0 none;
|
|
14074
|
+
}
|
|
14075
|
+
|
|
14076
|
+
#${this.id}.p-datatable-gridlines > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tbody > tr > td:last-child {
|
|
14077
|
+
border-top: 0;
|
|
14078
|
+
border-right: 0;
|
|
14079
|
+
border-left: 0;
|
|
14080
|
+
}
|
|
14081
|
+
|
|
14082
|
+
#${this.id}-table > .p-datatable-tbody > tr > td > .p-column-title {
|
|
14083
|
+
display: block;
|
|
14084
|
+
}
|
|
14085
|
+
}
|
|
14077
14086
|
`;
|
|
14078
14087
|
this.responsiveStyleElement.innerHTML = innerHTML;
|
|
14079
14088
|
}
|
|
@@ -14098,243 +14107,243 @@ class Table {
|
|
|
14098
14107
|
this.destroyResponsiveStyle();
|
|
14099
14108
|
}
|
|
14100
14109
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: Table, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: TableOverlayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
14101
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: Table, isStandalone: false, selector: "p-table", inputs: { frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: "paginator", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: "alwaysShowPaginator", paginatorPosition: "paginatorPosition", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showJumpToPageInput: "showJumpToPageInput", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", selectionMode: "selectionMode", selectionPageOnly: "selectionPageOnly", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", rowSelectable: "rowSelectable", rowTrackBy: "rowTrackBy", lazy: "lazy", lazyLoadOnInit: "lazyLoadOnInit", compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: "filterDelay", filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: "scrollable", scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: "virtualScrollDelay", frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: "resizableColumns", columnResizeMode: "columnResizeMode", reorderableColumns: "reorderableColumns", loading: "loading", loadingIcon: "loadingIcon", showLoader: "showLoader", rowHover: "rowHover", stripedRows: "stripedRows", size: "size", customSort: "customSort", showInitialSortBadge: "showInitialSortBadge", autoLayout: "autoLayout", exportFunction: "exportFunction", exportHeader: "exportHeader", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: "groupRowsByOrder", responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", virtualRowHeight: "virtualRowHeight", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", selectAll: "selectAll" }, outputs: { selectAllChange: "selectAllChange", selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect", onPage: "onPage", onSort: "onSort", onFilter: "onFilter", onLazyLoad: "onLazyLoad", onRowExpand: "onRowExpand", onRowCollapse: "onRowCollapse", onContextMenuSelect: "onContextMenuSelect", onColResize: "onColResize", onColReorder: "onColReorder", onRowReorder: "onRowReorder", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", sortFunction: "sortFunction", firstChange: "firstChange", rowsChange: "rowsChange", onStateSave: "onStateSave", onStateRestore: "onStateRestore" }, host: { classAttribute: "p-element" }, providers: [TableService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "tableHeaderViewChild", first: true, predicate: ["thead"], descendants: true }, { propertyName: "tableFooterViewChild", first: true, predicate: ["tfoot"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
14102
|
-
<div
|
|
14103
|
-
#container
|
|
14104
|
-
[ngStyle]="style"
|
|
14105
|
-
[class]="styleClass"
|
|
14106
|
-
[ngClass]="{ 'p-datatable p-component': true, 'p-datatable-hoverable-rows': rowHover || selectionMode, 'p-datatable-scrollable': scrollable, 'p-datatable-flex-scrollable': scrollable && scrollHeight === 'flex', 'p-datatable-striped': stripedRows, 'p-datatable-sm': size === 'small', 'p-datatable-lg': size === 'large' }"
|
|
14107
|
-
[attr.id]="id"
|
|
14108
|
-
>
|
|
14109
|
-
@if (loading && showLoader) {
|
|
14110
|
-
<div class="p-datatable-loading-overlay p-component-overlay">
|
|
14111
|
-
<i [class]="'p-datatable-loading-icon fa-spin ' + loadingIcon"></i>
|
|
14112
|
-
</div>
|
|
14113
|
-
}
|
|
14114
|
-
@if (captionTemplate) {
|
|
14115
|
-
<div class="p-datatable-header">
|
|
14116
|
-
<ng-container *ngTemplateOutlet="captionTemplate"></ng-container>
|
|
14117
|
-
</div>
|
|
14118
|
-
}
|
|
14119
|
-
@if (paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')) {
|
|
14120
|
-
<ui-paginator
|
|
14121
|
-
[rows]="rows"
|
|
14122
|
-
[first]="first"
|
|
14123
|
-
[totalRecords]="totalRecords"
|
|
14124
|
-
[pageLinkSize]="pageLinks"
|
|
14125
|
-
styleClass="smz-paginator-top"
|
|
14126
|
-
[alwaysShow]="alwaysShowPaginator"
|
|
14127
|
-
(pageChanged)="onPageChange($event)"
|
|
14128
|
-
[rowsPerPageOptions]="rowsPerPageOptions"
|
|
14129
|
-
[currentPageReportTemplate]="currentPageReportTemplate"
|
|
14130
|
-
[showFirstLastIcon]="showFirstLastIcon"
|
|
14131
|
-
[showCurrentPageReport]="showCurrentPageReport"
|
|
14132
|
-
[showPageLinks]="showPageLinks"
|
|
14133
|
-
></ui-paginator>
|
|
14134
|
-
}
|
|
14135
|
-
|
|
14136
|
-
<div #wrapper class="p-datatable-wrapper" [ngStyle]="{ maxHeight: virtualScroll ? '' : scrollHeight }">
|
|
14137
|
-
<ng-container *ngTemplateOutlet="buildInTable; context: { $implicit: processedData, options: { columns } }"></ng-container>
|
|
14138
|
-
|
|
14139
|
-
<ng-template #buildInTable let-items let-scrollerOptions="options">
|
|
14140
|
-
<table
|
|
14141
|
-
#table
|
|
14142
|
-
role="table"
|
|
14143
|
-
[ngClass]="{ 'p-datatable-table': true, 'p-datatable-scrollable-table': scrollable, 'p-datatable-resizable-table': resizableColumns, 'p-datatable-resizable-table-fit': resizableColumns && columnResizeMode === 'fit' }"
|
|
14144
|
-
[class]="tableStyleClass"
|
|
14145
|
-
[style]="tableStyle"
|
|
14146
|
-
[attr.id]="id + '-table'"
|
|
14147
|
-
>
|
|
14148
|
-
<ng-container *ngTemplateOutlet="colGroupTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14149
|
-
<thead #thead class="p-datatable-thead">
|
|
14150
|
-
<ng-container *ngTemplateOutlet="headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14151
|
-
</thead>
|
|
14152
|
-
@if (frozenValue || frozenBodyTemplate) {
|
|
14153
|
-
<tbody
|
|
14154
|
-
class="p-datatable-tbody p-datatable-frozen-tbody"
|
|
14155
|
-
[value]="frozenValue"
|
|
14156
|
-
[frozenRows]="true"
|
|
14157
|
-
[pTableBody]="scrollerOptions.columns"
|
|
14158
|
-
[pTableBodyTemplate]="frozenBodyTemplate"
|
|
14159
|
-
[frozen]="true"
|
|
14160
|
-
></tbody>
|
|
14161
|
-
}
|
|
14162
|
-
<tbody
|
|
14163
|
-
class="p-datatable-tbody"
|
|
14164
|
-
[ngClass]="scrollerOptions.contentStyleClass"
|
|
14165
|
-
[style]="scrollerOptions.contentStyle"
|
|
14166
|
-
[value]="dataToRender(scrollerOptions.rows)"
|
|
14167
|
-
[pTableBody]="scrollerOptions.columns"
|
|
14168
|
-
[pTableBodyTemplate]="bodyTemplate"
|
|
14169
|
-
[scrollerOptions]="scrollerOptions"
|
|
14170
|
-
></tbody>
|
|
14171
|
-
@if (scrollerOptions.spacerStyle) {
|
|
14172
|
-
<tbody [style]="'height: calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px);'" class="p-datatable-scroller-spacer"></tbody>
|
|
14173
|
-
}
|
|
14174
|
-
@if (footerGroupedTemplate || footerTemplate) {
|
|
14175
|
-
<tfoot #tfoot class="p-datatable-tfoot">
|
|
14176
|
-
<ng-container *ngTemplateOutlet="footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14177
|
-
</tfoot>
|
|
14178
|
-
}
|
|
14179
|
-
</table>
|
|
14180
|
-
</ng-template>
|
|
14181
|
-
</div>
|
|
14182
|
-
|
|
14183
|
-
@if (paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')) {
|
|
14184
|
-
<ui-paginator
|
|
14185
|
-
[rows]="rows"
|
|
14186
|
-
[first]="first"
|
|
14187
|
-
[totalRecords]="totalRecords"
|
|
14188
|
-
[pageLinkSize]="pageLinks"
|
|
14189
|
-
styleClass="smz-paginator-bottom"
|
|
14190
|
-
[alwaysShow]="alwaysShowPaginator"
|
|
14191
|
-
(pageChanged)="onPageChange($event)"
|
|
14192
|
-
[rowsPerPageOptions]="rowsPerPageOptions"
|
|
14193
|
-
[currentPageReportTemplate]="currentPageReportTemplate"
|
|
14194
|
-
[showFirstLastIcon]="showFirstLastIcon"
|
|
14195
|
-
[showCurrentPageReport]="showCurrentPageReport"
|
|
14196
|
-
[showPageLinks]="showPageLinks"
|
|
14197
|
-
></ui-paginator>
|
|
14198
|
-
}
|
|
14199
|
-
|
|
14200
|
-
@if (summaryTemplate) {
|
|
14201
|
-
<div class="p-datatable-footer">
|
|
14202
|
-
<ng-container *ngTemplateOutlet="summaryTemplate"></ng-container>
|
|
14203
|
-
</div>
|
|
14204
|
-
}
|
|
14205
|
-
|
|
14206
|
-
@if (resizableColumns) {
|
|
14207
|
-
<div #resizeHelper class="p-column-resizer-helper" style="display:none"></div>
|
|
14208
|
-
}
|
|
14209
|
-
@if (reorderableColumns) {
|
|
14210
|
-
<span #reorderIndicatorUp class="fa-solid fa-arrow-down p-datatable-reorder-indicator-up" style="display: none;"></span>
|
|
14211
|
-
}
|
|
14212
|
-
@if (reorderableColumns) {
|
|
14213
|
-
<span #reorderIndicatorDown class="fa-solid fa-arrow-up p-datatable-reorder-indicator-down" style="display: none;"></span>
|
|
14214
|
-
}
|
|
14215
|
-
</div>
|
|
14216
|
-
`, isInline: true, styles: [".p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:1}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:1}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-menu-button,.p-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}.p-datatable{color:rgb(var(--smz-color-fg));font-family:var(--smz-font-sans);font-size:var(--smz-text-md)}.p-datatable-table{border-collapse:separate;background:rgb(var(--smz-color-surface-1))}.p-datatable-thead>tr>th,.p-datatable-tfoot>tr>td{padding:.75rem 1rem;text-align:left;font-weight:600;background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-tfoot>tr>td{border-top:1px solid rgb(var(--smz-color-line));border-bottom:0}.p-datatable-tbody>tr{background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));transition:background-color var(--smz-duration)}.p-datatable-tbody>tr>td{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-datatable-row-selected):hover{background:rgb(var(--smz-color-surface-3))}.p-datatable-tbody>tr.p-datatable-row-selected,.p-datatable-tbody>tr.p-highlight{background:rgb(var(--smz-color-primary) / .12);color:rgb(var(--smz-color-fg))}.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:rgb(var(--smz-color-surface-0))}.p-datatable-gridlines .p-datatable-thead>tr>th,.p-datatable-gridlines .p-datatable-tbody>tr>td,.p-datatable-gridlines .p-datatable-tfoot>tr>td{border:1px solid rgb(var(--smz-color-line));border-width:0 0 1px 1px}.p-datatable-gridlines .p-datatable-thead>tr>th:last-child,.p-datatable-gridlines .p-datatable-tbody>tr>td:last-child,.p-datatable-gridlines .p-datatable-tfoot>tr>td:last-child{border-right-width:1px}.p-datatable-sm .p-datatable-thead>tr>th,.p-datatable-sm .p-datatable-tbody>tr>td,.p-datatable-sm .p-datatable-tfoot>tr>td{padding:.375rem .75rem}.p-datatable-lg .p-datatable-thead>tr>th,.p-datatable-lg .p-datatable-tbody>tr>td,.p-datatable-lg .p-datatable-tfoot>tr>td{padding:1.1rem 1.25rem}.p-datatable-header,.p-datatable-footer{padding:.75rem 1rem;background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-footer{border-top:1px solid rgb(var(--smz-color-line));border-bottom:0}.p-datatable .p-sortable-column:hover{background:rgb(var(--smz-color-surface-3))}.p-datatable .p-sortable-column:focus-visible{outline:2px solid rgb(var(--smz-color-focus));outline-offset:-2px}.p-datatable .p-datatable-loading-overlay{background:rgb(var(--smz-color-surface-1) / .6);color:rgb(var(--smz-color-primary))}.p-datatable .p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-datatable .p-checkbox,.p-datatable .p-radiobutton{position:relative;display:inline-flex;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-checkbox-box,.p-datatable .p-radiobutton-box{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:1px solid rgb(var(--smz-color-line-strong));background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-on-primary));transition:background-color var(--smz-duration),border-color var(--smz-duration),box-shadow var(--smz-duration)}.p-datatable .p-checkbox-box{border-radius:.3rem}.p-datatable .p-radiobutton-box{border-radius:9999px}.p-datatable .p-checkbox-box.p-highlight,.p-datatable .p-radiobutton-box.p-highlight{background:rgb(var(--smz-color-primary));border-color:rgb(var(--smz-color-primary))}.p-datatable .p-checkbox-box.p-focus,.p-datatable .p-radiobutton-box.p-focus{box-shadow:0 0 0 2px rgb(var(--smz-color-focus) / .45)}.p-datatable .p-checkbox-box.p-disabled,.p-datatable .p-radiobutton-box.p-disabled{opacity:.5;cursor:not-allowed}.p-datatable .p-checkbox-icon{font-size:.7rem;line-height:1}.p-datatable .p-radiobutton-icon{width:.5rem;height:.5rem;border-radius:9999px;background:rgb(var(--smz-color-on-primary));opacity:0}.p-datatable .p-radiobutton-box.p-highlight .p-radiobutton-icon{opacity:1}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => SmzPaginatorComponent), selector: "ui-paginator", inputs: ["first", "rows", "totalRecords", "pageLinkSize", "rowsPerPageOptions", "showCurrentPageReport", "currentPageReportTemplate", "alwaysShow", "showPageLinks", "styleClass", "dropdownAppendTo", "showFirstLastIcon"], outputs: ["firstChange", "rowsChange", "pageChanged"] }, { kind: "component", type: i0.forwardRef(() => TableBody), selector: "[pTableBody]", inputs: ["pTableBody", "pTableBodyTemplate", "value", "frozen", "frozenRows", "scrollerOptions"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
14110
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: Table, isStandalone: false, selector: "p-table", inputs: { frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: "paginator", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: "alwaysShowPaginator", paginatorPosition: "paginatorPosition", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showJumpToPageInput: "showJumpToPageInput", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", selectionMode: "selectionMode", selectionPageOnly: "selectionPageOnly", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", rowSelectable: "rowSelectable", rowTrackBy: "rowTrackBy", lazy: "lazy", lazyLoadOnInit: "lazyLoadOnInit", compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: "filterDelay", filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: "scrollable", scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: "virtualScrollDelay", frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: "resizableColumns", columnResizeMode: "columnResizeMode", reorderableColumns: "reorderableColumns", loading: "loading", loadingIcon: "loadingIcon", showLoader: "showLoader", rowHover: "rowHover", stripedRows: "stripedRows", size: "size", customSort: "customSort", showInitialSortBadge: "showInitialSortBadge", autoLayout: "autoLayout", exportFunction: "exportFunction", exportHeader: "exportHeader", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: "groupRowsByOrder", responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", virtualRowHeight: "virtualRowHeight", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", selectAll: "selectAll" }, outputs: { selectAllChange: "selectAllChange", selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect", onPage: "onPage", onSort: "onSort", onFilter: "onFilter", onLazyLoad: "onLazyLoad", onRowExpand: "onRowExpand", onRowCollapse: "onRowCollapse", onContextMenuSelect: "onContextMenuSelect", onColResize: "onColResize", onColReorder: "onColReorder", onRowReorder: "onRowReorder", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", sortFunction: "sortFunction", firstChange: "firstChange", rowsChange: "rowsChange", onStateSave: "onStateSave", onStateRestore: "onStateRestore" }, host: { classAttribute: "p-element" }, providers: [TableService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "tableHeaderViewChild", first: true, predicate: ["thead"], descendants: true }, { propertyName: "tableFooterViewChild", first: true, predicate: ["tfoot"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
14111
|
+
<div
|
|
14112
|
+
#container
|
|
14113
|
+
[ngStyle]="style"
|
|
14114
|
+
[class]="styleClass"
|
|
14115
|
+
[ngClass]="{ 'p-datatable p-component': true, 'p-datatable-hoverable-rows': rowHover || selectionMode, 'p-datatable-scrollable': scrollable, 'p-datatable-flex-scrollable': scrollable && scrollHeight === 'flex', 'p-datatable-striped': stripedRows, 'p-datatable-sm': size === 'small', 'p-datatable-lg': size === 'large' }"
|
|
14116
|
+
[attr.id]="id"
|
|
14117
|
+
>
|
|
14118
|
+
@if (loading && showLoader) {
|
|
14119
|
+
<div class="p-datatable-loading-overlay p-component-overlay">
|
|
14120
|
+
<i [class]="'p-datatable-loading-icon fa-spin ' + loadingIcon"></i>
|
|
14121
|
+
</div>
|
|
14122
|
+
}
|
|
14123
|
+
@if (captionTemplate) {
|
|
14124
|
+
<div class="p-datatable-header">
|
|
14125
|
+
<ng-container *ngTemplateOutlet="captionTemplate"></ng-container>
|
|
14126
|
+
</div>
|
|
14127
|
+
}
|
|
14128
|
+
@if (paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')) {
|
|
14129
|
+
<ui-paginator
|
|
14130
|
+
[rows]="rows"
|
|
14131
|
+
[first]="first"
|
|
14132
|
+
[totalRecords]="totalRecords"
|
|
14133
|
+
[pageLinkSize]="pageLinks"
|
|
14134
|
+
styleClass="smz-paginator-top"
|
|
14135
|
+
[alwaysShow]="alwaysShowPaginator"
|
|
14136
|
+
(pageChanged)="onPageChange($event)"
|
|
14137
|
+
[rowsPerPageOptions]="rowsPerPageOptions"
|
|
14138
|
+
[currentPageReportTemplate]="currentPageReportTemplate"
|
|
14139
|
+
[showFirstLastIcon]="showFirstLastIcon"
|
|
14140
|
+
[showCurrentPageReport]="showCurrentPageReport"
|
|
14141
|
+
[showPageLinks]="showPageLinks"
|
|
14142
|
+
></ui-paginator>
|
|
14143
|
+
}
|
|
14144
|
+
|
|
14145
|
+
<div #wrapper class="p-datatable-wrapper" [ngStyle]="{ maxHeight: virtualScroll ? '' : scrollHeight }">
|
|
14146
|
+
<ng-container *ngTemplateOutlet="buildInTable; context: { $implicit: processedData, options: { columns } }"></ng-container>
|
|
14147
|
+
|
|
14148
|
+
<ng-template #buildInTable let-items let-scrollerOptions="options">
|
|
14149
|
+
<table
|
|
14150
|
+
#table
|
|
14151
|
+
role="table"
|
|
14152
|
+
[ngClass]="{ 'p-datatable-table': true, 'p-datatable-scrollable-table': scrollable, 'p-datatable-resizable-table': resizableColumns, 'p-datatable-resizable-table-fit': resizableColumns && columnResizeMode === 'fit' }"
|
|
14153
|
+
[class]="tableStyleClass"
|
|
14154
|
+
[style]="tableStyle"
|
|
14155
|
+
[attr.id]="id + '-table'"
|
|
14156
|
+
>
|
|
14157
|
+
<ng-container *ngTemplateOutlet="colGroupTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14158
|
+
<thead #thead class="p-datatable-thead">
|
|
14159
|
+
<ng-container *ngTemplateOutlet="headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14160
|
+
</thead>
|
|
14161
|
+
@if (frozenValue || frozenBodyTemplate) {
|
|
14162
|
+
<tbody
|
|
14163
|
+
class="p-datatable-tbody p-datatable-frozen-tbody"
|
|
14164
|
+
[value]="frozenValue"
|
|
14165
|
+
[frozenRows]="true"
|
|
14166
|
+
[pTableBody]="scrollerOptions.columns"
|
|
14167
|
+
[pTableBodyTemplate]="frozenBodyTemplate"
|
|
14168
|
+
[frozen]="true"
|
|
14169
|
+
></tbody>
|
|
14170
|
+
}
|
|
14171
|
+
<tbody
|
|
14172
|
+
class="p-datatable-tbody"
|
|
14173
|
+
[ngClass]="scrollerOptions.contentStyleClass"
|
|
14174
|
+
[style]="scrollerOptions.contentStyle"
|
|
14175
|
+
[value]="dataToRender(scrollerOptions.rows)"
|
|
14176
|
+
[pTableBody]="scrollerOptions.columns"
|
|
14177
|
+
[pTableBodyTemplate]="bodyTemplate"
|
|
14178
|
+
[scrollerOptions]="scrollerOptions"
|
|
14179
|
+
></tbody>
|
|
14180
|
+
@if (scrollerOptions.spacerStyle) {
|
|
14181
|
+
<tbody [style]="'height: calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px);'" class="p-datatable-scroller-spacer"></tbody>
|
|
14182
|
+
}
|
|
14183
|
+
@if (footerGroupedTemplate || footerTemplate) {
|
|
14184
|
+
<tfoot #tfoot class="p-datatable-tfoot">
|
|
14185
|
+
<ng-container *ngTemplateOutlet="footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14186
|
+
</tfoot>
|
|
14187
|
+
}
|
|
14188
|
+
</table>
|
|
14189
|
+
</ng-template>
|
|
14190
|
+
</div>
|
|
14191
|
+
|
|
14192
|
+
@if (paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')) {
|
|
14193
|
+
<ui-paginator
|
|
14194
|
+
[rows]="rows"
|
|
14195
|
+
[first]="first"
|
|
14196
|
+
[totalRecords]="totalRecords"
|
|
14197
|
+
[pageLinkSize]="pageLinks"
|
|
14198
|
+
styleClass="smz-paginator-bottom"
|
|
14199
|
+
[alwaysShow]="alwaysShowPaginator"
|
|
14200
|
+
(pageChanged)="onPageChange($event)"
|
|
14201
|
+
[rowsPerPageOptions]="rowsPerPageOptions"
|
|
14202
|
+
[currentPageReportTemplate]="currentPageReportTemplate"
|
|
14203
|
+
[showFirstLastIcon]="showFirstLastIcon"
|
|
14204
|
+
[showCurrentPageReport]="showCurrentPageReport"
|
|
14205
|
+
[showPageLinks]="showPageLinks"
|
|
14206
|
+
></ui-paginator>
|
|
14207
|
+
}
|
|
14208
|
+
|
|
14209
|
+
@if (summaryTemplate) {
|
|
14210
|
+
<div class="p-datatable-footer">
|
|
14211
|
+
<ng-container *ngTemplateOutlet="summaryTemplate"></ng-container>
|
|
14212
|
+
</div>
|
|
14213
|
+
}
|
|
14214
|
+
|
|
14215
|
+
@if (resizableColumns) {
|
|
14216
|
+
<div #resizeHelper class="p-column-resizer-helper" style="display:none"></div>
|
|
14217
|
+
}
|
|
14218
|
+
@if (reorderableColumns) {
|
|
14219
|
+
<span #reorderIndicatorUp class="fa-solid fa-arrow-down p-datatable-reorder-indicator-up" style="display: none;"></span>
|
|
14220
|
+
}
|
|
14221
|
+
@if (reorderableColumns) {
|
|
14222
|
+
<span #reorderIndicatorDown class="fa-solid fa-arrow-up p-datatable-reorder-indicator-down" style="display: none;"></span>
|
|
14223
|
+
}
|
|
14224
|
+
</div>
|
|
14225
|
+
`, isInline: true, styles: [".p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:1}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:1}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-menu-button,.p-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}.p-datatable{color:rgb(var(--smz-color-fg));font-family:var(--smz-font-sans);font-size:var(--smz-text-md)}.p-datatable-table{border-collapse:separate;background:rgb(var(--smz-color-surface-1))}.p-datatable-thead>tr>th,.p-datatable-tfoot>tr>td{padding:.75rem 1rem;text-align:left;font-weight:600;background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-tfoot>tr>td{border-top:1px solid rgb(var(--smz-color-line));border-bottom:0}.p-datatable-tbody>tr{background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));transition:background-color var(--smz-duration)}.p-datatable-tbody>tr>td{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-datatable-row-selected):hover{background:rgb(var(--smz-color-surface-3))}.p-datatable-tbody>tr.p-datatable-row-selected,.p-datatable-tbody>tr.p-highlight{background:rgb(var(--smz-color-primary) / .12);color:rgb(var(--smz-color-fg))}.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:rgb(var(--smz-color-surface-0))}.p-datatable-gridlines .p-datatable-thead>tr>th,.p-datatable-gridlines .p-datatable-tbody>tr>td,.p-datatable-gridlines .p-datatable-tfoot>tr>td{border:1px solid rgb(var(--smz-color-line));border-width:0 0 1px 1px}.p-datatable-gridlines .p-datatable-thead>tr>th:last-child,.p-datatable-gridlines .p-datatable-tbody>tr>td:last-child,.p-datatable-gridlines .p-datatable-tfoot>tr>td:last-child{border-right-width:1px}.p-datatable-sm .p-datatable-thead>tr>th,.p-datatable-sm .p-datatable-tbody>tr>td,.p-datatable-sm .p-datatable-tfoot>tr>td{padding:.375rem .75rem}.p-datatable-lg .p-datatable-thead>tr>th,.p-datatable-lg .p-datatable-tbody>tr>td,.p-datatable-lg .p-datatable-tfoot>tr>td{padding:1.1rem 1.25rem}.p-datatable-header,.p-datatable-footer{padding:.75rem 1rem;background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-footer{border-top:1px solid rgb(var(--smz-color-line));border-bottom:0}.p-datatable .p-sortable-column:hover{background:rgb(var(--smz-color-surface-3))}.p-datatable .p-sortable-column:focus-visible{outline:2px solid rgb(var(--smz-color-focus));outline-offset:-2px}.p-datatable .p-datatable-loading-overlay{background:rgb(var(--smz-color-surface-1) / .6);color:rgb(var(--smz-color-primary))}.p-datatable .p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-datatable .p-checkbox,.p-datatable .p-radiobutton{position:relative;display:inline-flex;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-checkbox-box,.p-datatable .p-radiobutton-box{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:1px solid rgb(var(--smz-color-line-strong));background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-on-primary));transition:background-color var(--smz-duration),border-color var(--smz-duration),box-shadow var(--smz-duration)}.p-datatable .p-checkbox-box{border-radius:.3rem}.p-datatable .p-radiobutton-box{border-radius:9999px}.p-datatable .p-checkbox-box.p-highlight,.p-datatable .p-radiobutton-box.p-highlight{background:rgb(var(--smz-color-primary));border-color:rgb(var(--smz-color-primary))}.p-datatable .p-checkbox-box.p-focus,.p-datatable .p-radiobutton-box.p-focus{box-shadow:0 0 0 2px rgb(var(--smz-color-focus) / .45)}.p-datatable .p-checkbox-box.p-disabled,.p-datatable .p-radiobutton-box.p-disabled{opacity:.5;cursor:not-allowed}.p-datatable .p-checkbox-icon{font-size:.7rem;line-height:1}.p-datatable .p-radiobutton-icon{width:.5rem;height:.5rem;border-radius:9999px;background:rgb(var(--smz-color-on-primary));opacity:0}.p-datatable .p-radiobutton-box.p-highlight .p-radiobutton-icon{opacity:1}.p-datatable-thead>tr>th.p-highlight{background:rgb(var(--smz-color-primary) / .1);color:rgb(var(--smz-color-primary))}.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:rgb(var(--smz-color-surface-3) / .5)}.p-datatable-sm .p-datatable-thead>tr>th,.p-datatable-sm .p-datatable-tbody>tr>td,.p-datatable-sm .p-datatable-tfoot>tr>td{padding:.5rem}.p-column-filter-menu-button,.p-column-filter-clear-button{width:2rem;height:2rem;border-radius:9999px;color:rgb(var(--smz-color-fg-muted));background:transparent;border:0;cursor:pointer;transition:background-color var(--smz-duration)}.p-column-filter-menu-button:hover,.p-column-filter-clear-button:hover{background:rgb(var(--smz-color-surface-3));color:rgb(var(--smz-color-fg))}.p-column-filter-overlay{min-width:14rem;padding:.5rem;background:rgb(var(--smz-color-surface-2));color:rgb(var(--smz-color-fg));border:1px solid rgb(var(--smz-color-line));border-radius:var(--smz-radius-overlay);box-shadow:var(--smz-shadow-overlay);font-family:var(--smz-font-sans);font-size:var(--smz-text-md)}.p-column-filter-overlay .p-column-filter-row-items,.p-column-filter-overlay .p-column-filter-constraint{padding:.25rem 0}.p-column-filter-overlay .p-column-filter-row-item{padding:.5rem .75rem;border-radius:var(--smz-radius-control);cursor:pointer}.p-column-filter-overlay .p-column-filter-row-item:hover,.p-column-filter-overlay .p-column-filter-row-item.p-highlight{background:rgb(var(--smz-color-surface-3))}.p-column-filter-overlay .p-column-filter-buttonbar{padding:.5rem 0 0;border-top:1px solid rgb(var(--smz-color-line))}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => SmzPaginatorComponent), selector: "ui-paginator", inputs: ["first", "rows", "totalRecords", "pageLinkSize", "rowsPerPageOptions", "showCurrentPageReport", "currentPageReportTemplate", "alwaysShow", "showPageLinks", "styleClass", "dropdownAppendTo", "showFirstLastIcon"], outputs: ["firstChange", "rowsChange", "pageChanged"] }, { kind: "component", type: i0.forwardRef(() => TableBody), selector: "[pTableBody]", inputs: ["pTableBody", "pTableBodyTemplate", "value", "frozen", "frozenRows", "scrollerOptions"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
14217
14226
|
}
|
|
14218
14227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: Table, decorators: [{
|
|
14219
14228
|
type: Component,
|
|
14220
|
-
args: [{ selector: 'p-table', template: `
|
|
14221
|
-
<div
|
|
14222
|
-
#container
|
|
14223
|
-
[ngStyle]="style"
|
|
14224
|
-
[class]="styleClass"
|
|
14225
|
-
[ngClass]="{ 'p-datatable p-component': true, 'p-datatable-hoverable-rows': rowHover || selectionMode, 'p-datatable-scrollable': scrollable, 'p-datatable-flex-scrollable': scrollable && scrollHeight === 'flex', 'p-datatable-striped': stripedRows, 'p-datatable-sm': size === 'small', 'p-datatable-lg': size === 'large' }"
|
|
14226
|
-
[attr.id]="id"
|
|
14227
|
-
>
|
|
14228
|
-
@if (loading && showLoader) {
|
|
14229
|
-
<div class="p-datatable-loading-overlay p-component-overlay">
|
|
14230
|
-
<i [class]="'p-datatable-loading-icon fa-spin ' + loadingIcon"></i>
|
|
14231
|
-
</div>
|
|
14232
|
-
}
|
|
14233
|
-
@if (captionTemplate) {
|
|
14234
|
-
<div class="p-datatable-header">
|
|
14235
|
-
<ng-container *ngTemplateOutlet="captionTemplate"></ng-container>
|
|
14236
|
-
</div>
|
|
14237
|
-
}
|
|
14238
|
-
@if (paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')) {
|
|
14239
|
-
<ui-paginator
|
|
14240
|
-
[rows]="rows"
|
|
14241
|
-
[first]="first"
|
|
14242
|
-
[totalRecords]="totalRecords"
|
|
14243
|
-
[pageLinkSize]="pageLinks"
|
|
14244
|
-
styleClass="smz-paginator-top"
|
|
14245
|
-
[alwaysShow]="alwaysShowPaginator"
|
|
14246
|
-
(pageChanged)="onPageChange($event)"
|
|
14247
|
-
[rowsPerPageOptions]="rowsPerPageOptions"
|
|
14248
|
-
[currentPageReportTemplate]="currentPageReportTemplate"
|
|
14249
|
-
[showFirstLastIcon]="showFirstLastIcon"
|
|
14250
|
-
[showCurrentPageReport]="showCurrentPageReport"
|
|
14251
|
-
[showPageLinks]="showPageLinks"
|
|
14252
|
-
></ui-paginator>
|
|
14253
|
-
}
|
|
14254
|
-
|
|
14255
|
-
<div #wrapper class="p-datatable-wrapper" [ngStyle]="{ maxHeight: virtualScroll ? '' : scrollHeight }">
|
|
14256
|
-
<ng-container *ngTemplateOutlet="buildInTable; context: { $implicit: processedData, options: { columns } }"></ng-container>
|
|
14257
|
-
|
|
14258
|
-
<ng-template #buildInTable let-items let-scrollerOptions="options">
|
|
14259
|
-
<table
|
|
14260
|
-
#table
|
|
14261
|
-
role="table"
|
|
14262
|
-
[ngClass]="{ 'p-datatable-table': true, 'p-datatable-scrollable-table': scrollable, 'p-datatable-resizable-table': resizableColumns, 'p-datatable-resizable-table-fit': resizableColumns && columnResizeMode === 'fit' }"
|
|
14263
|
-
[class]="tableStyleClass"
|
|
14264
|
-
[style]="tableStyle"
|
|
14265
|
-
[attr.id]="id + '-table'"
|
|
14266
|
-
>
|
|
14267
|
-
<ng-container *ngTemplateOutlet="colGroupTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14268
|
-
<thead #thead class="p-datatable-thead">
|
|
14269
|
-
<ng-container *ngTemplateOutlet="headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14270
|
-
</thead>
|
|
14271
|
-
@if (frozenValue || frozenBodyTemplate) {
|
|
14272
|
-
<tbody
|
|
14273
|
-
class="p-datatable-tbody p-datatable-frozen-tbody"
|
|
14274
|
-
[value]="frozenValue"
|
|
14275
|
-
[frozenRows]="true"
|
|
14276
|
-
[pTableBody]="scrollerOptions.columns"
|
|
14277
|
-
[pTableBodyTemplate]="frozenBodyTemplate"
|
|
14278
|
-
[frozen]="true"
|
|
14279
|
-
></tbody>
|
|
14280
|
-
}
|
|
14281
|
-
<tbody
|
|
14282
|
-
class="p-datatable-tbody"
|
|
14283
|
-
[ngClass]="scrollerOptions.contentStyleClass"
|
|
14284
|
-
[style]="scrollerOptions.contentStyle"
|
|
14285
|
-
[value]="dataToRender(scrollerOptions.rows)"
|
|
14286
|
-
[pTableBody]="scrollerOptions.columns"
|
|
14287
|
-
[pTableBodyTemplate]="bodyTemplate"
|
|
14288
|
-
[scrollerOptions]="scrollerOptions"
|
|
14289
|
-
></tbody>
|
|
14290
|
-
@if (scrollerOptions.spacerStyle) {
|
|
14291
|
-
<tbody [style]="'height: calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px);'" class="p-datatable-scroller-spacer"></tbody>
|
|
14292
|
-
}
|
|
14293
|
-
@if (footerGroupedTemplate || footerTemplate) {
|
|
14294
|
-
<tfoot #tfoot class="p-datatable-tfoot">
|
|
14295
|
-
<ng-container *ngTemplateOutlet="footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14296
|
-
</tfoot>
|
|
14297
|
-
}
|
|
14298
|
-
</table>
|
|
14299
|
-
</ng-template>
|
|
14300
|
-
</div>
|
|
14301
|
-
|
|
14302
|
-
@if (paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')) {
|
|
14303
|
-
<ui-paginator
|
|
14304
|
-
[rows]="rows"
|
|
14305
|
-
[first]="first"
|
|
14306
|
-
[totalRecords]="totalRecords"
|
|
14307
|
-
[pageLinkSize]="pageLinks"
|
|
14308
|
-
styleClass="smz-paginator-bottom"
|
|
14309
|
-
[alwaysShow]="alwaysShowPaginator"
|
|
14310
|
-
(pageChanged)="onPageChange($event)"
|
|
14311
|
-
[rowsPerPageOptions]="rowsPerPageOptions"
|
|
14312
|
-
[currentPageReportTemplate]="currentPageReportTemplate"
|
|
14313
|
-
[showFirstLastIcon]="showFirstLastIcon"
|
|
14314
|
-
[showCurrentPageReport]="showCurrentPageReport"
|
|
14315
|
-
[showPageLinks]="showPageLinks"
|
|
14316
|
-
></ui-paginator>
|
|
14317
|
-
}
|
|
14318
|
-
|
|
14319
|
-
@if (summaryTemplate) {
|
|
14320
|
-
<div class="p-datatable-footer">
|
|
14321
|
-
<ng-container *ngTemplateOutlet="summaryTemplate"></ng-container>
|
|
14322
|
-
</div>
|
|
14323
|
-
}
|
|
14324
|
-
|
|
14325
|
-
@if (resizableColumns) {
|
|
14326
|
-
<div #resizeHelper class="p-column-resizer-helper" style="display:none"></div>
|
|
14327
|
-
}
|
|
14328
|
-
@if (reorderableColumns) {
|
|
14329
|
-
<span #reorderIndicatorUp class="fa-solid fa-arrow-down p-datatable-reorder-indicator-up" style="display: none;"></span>
|
|
14330
|
-
}
|
|
14331
|
-
@if (reorderableColumns) {
|
|
14332
|
-
<span #reorderIndicatorDown class="fa-solid fa-arrow-up p-datatable-reorder-indicator-down" style="display: none;"></span>
|
|
14333
|
-
}
|
|
14334
|
-
</div>
|
|
14229
|
+
args: [{ selector: 'p-table', template: `
|
|
14230
|
+
<div
|
|
14231
|
+
#container
|
|
14232
|
+
[ngStyle]="style"
|
|
14233
|
+
[class]="styleClass"
|
|
14234
|
+
[ngClass]="{ 'p-datatable p-component': true, 'p-datatable-hoverable-rows': rowHover || selectionMode, 'p-datatable-scrollable': scrollable, 'p-datatable-flex-scrollable': scrollable && scrollHeight === 'flex', 'p-datatable-striped': stripedRows, 'p-datatable-sm': size === 'small', 'p-datatable-lg': size === 'large' }"
|
|
14235
|
+
[attr.id]="id"
|
|
14236
|
+
>
|
|
14237
|
+
@if (loading && showLoader) {
|
|
14238
|
+
<div class="p-datatable-loading-overlay p-component-overlay">
|
|
14239
|
+
<i [class]="'p-datatable-loading-icon fa-spin ' + loadingIcon"></i>
|
|
14240
|
+
</div>
|
|
14241
|
+
}
|
|
14242
|
+
@if (captionTemplate) {
|
|
14243
|
+
<div class="p-datatable-header">
|
|
14244
|
+
<ng-container *ngTemplateOutlet="captionTemplate"></ng-container>
|
|
14245
|
+
</div>
|
|
14246
|
+
}
|
|
14247
|
+
@if (paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')) {
|
|
14248
|
+
<ui-paginator
|
|
14249
|
+
[rows]="rows"
|
|
14250
|
+
[first]="first"
|
|
14251
|
+
[totalRecords]="totalRecords"
|
|
14252
|
+
[pageLinkSize]="pageLinks"
|
|
14253
|
+
styleClass="smz-paginator-top"
|
|
14254
|
+
[alwaysShow]="alwaysShowPaginator"
|
|
14255
|
+
(pageChanged)="onPageChange($event)"
|
|
14256
|
+
[rowsPerPageOptions]="rowsPerPageOptions"
|
|
14257
|
+
[currentPageReportTemplate]="currentPageReportTemplate"
|
|
14258
|
+
[showFirstLastIcon]="showFirstLastIcon"
|
|
14259
|
+
[showCurrentPageReport]="showCurrentPageReport"
|
|
14260
|
+
[showPageLinks]="showPageLinks"
|
|
14261
|
+
></ui-paginator>
|
|
14262
|
+
}
|
|
14263
|
+
|
|
14264
|
+
<div #wrapper class="p-datatable-wrapper" [ngStyle]="{ maxHeight: virtualScroll ? '' : scrollHeight }">
|
|
14265
|
+
<ng-container *ngTemplateOutlet="buildInTable; context: { $implicit: processedData, options: { columns } }"></ng-container>
|
|
14266
|
+
|
|
14267
|
+
<ng-template #buildInTable let-items let-scrollerOptions="options">
|
|
14268
|
+
<table
|
|
14269
|
+
#table
|
|
14270
|
+
role="table"
|
|
14271
|
+
[ngClass]="{ 'p-datatable-table': true, 'p-datatable-scrollable-table': scrollable, 'p-datatable-resizable-table': resizableColumns, 'p-datatable-resizable-table-fit': resizableColumns && columnResizeMode === 'fit' }"
|
|
14272
|
+
[class]="tableStyleClass"
|
|
14273
|
+
[style]="tableStyle"
|
|
14274
|
+
[attr.id]="id + '-table'"
|
|
14275
|
+
>
|
|
14276
|
+
<ng-container *ngTemplateOutlet="colGroupTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14277
|
+
<thead #thead class="p-datatable-thead">
|
|
14278
|
+
<ng-container *ngTemplateOutlet="headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14279
|
+
</thead>
|
|
14280
|
+
@if (frozenValue || frozenBodyTemplate) {
|
|
14281
|
+
<tbody
|
|
14282
|
+
class="p-datatable-tbody p-datatable-frozen-tbody"
|
|
14283
|
+
[value]="frozenValue"
|
|
14284
|
+
[frozenRows]="true"
|
|
14285
|
+
[pTableBody]="scrollerOptions.columns"
|
|
14286
|
+
[pTableBodyTemplate]="frozenBodyTemplate"
|
|
14287
|
+
[frozen]="true"
|
|
14288
|
+
></tbody>
|
|
14289
|
+
}
|
|
14290
|
+
<tbody
|
|
14291
|
+
class="p-datatable-tbody"
|
|
14292
|
+
[ngClass]="scrollerOptions.contentStyleClass"
|
|
14293
|
+
[style]="scrollerOptions.contentStyle"
|
|
14294
|
+
[value]="dataToRender(scrollerOptions.rows)"
|
|
14295
|
+
[pTableBody]="scrollerOptions.columns"
|
|
14296
|
+
[pTableBodyTemplate]="bodyTemplate"
|
|
14297
|
+
[scrollerOptions]="scrollerOptions"
|
|
14298
|
+
></tbody>
|
|
14299
|
+
@if (scrollerOptions.spacerStyle) {
|
|
14300
|
+
<tbody [style]="'height: calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px);'" class="p-datatable-scroller-spacer"></tbody>
|
|
14301
|
+
}
|
|
14302
|
+
@if (footerGroupedTemplate || footerTemplate) {
|
|
14303
|
+
<tfoot #tfoot class="p-datatable-tfoot">
|
|
14304
|
+
<ng-container *ngTemplateOutlet="footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
|
|
14305
|
+
</tfoot>
|
|
14306
|
+
}
|
|
14307
|
+
</table>
|
|
14308
|
+
</ng-template>
|
|
14309
|
+
</div>
|
|
14310
|
+
|
|
14311
|
+
@if (paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')) {
|
|
14312
|
+
<ui-paginator
|
|
14313
|
+
[rows]="rows"
|
|
14314
|
+
[first]="first"
|
|
14315
|
+
[totalRecords]="totalRecords"
|
|
14316
|
+
[pageLinkSize]="pageLinks"
|
|
14317
|
+
styleClass="smz-paginator-bottom"
|
|
14318
|
+
[alwaysShow]="alwaysShowPaginator"
|
|
14319
|
+
(pageChanged)="onPageChange($event)"
|
|
14320
|
+
[rowsPerPageOptions]="rowsPerPageOptions"
|
|
14321
|
+
[currentPageReportTemplate]="currentPageReportTemplate"
|
|
14322
|
+
[showFirstLastIcon]="showFirstLastIcon"
|
|
14323
|
+
[showCurrentPageReport]="showCurrentPageReport"
|
|
14324
|
+
[showPageLinks]="showPageLinks"
|
|
14325
|
+
></ui-paginator>
|
|
14326
|
+
}
|
|
14327
|
+
|
|
14328
|
+
@if (summaryTemplate) {
|
|
14329
|
+
<div class="p-datatable-footer">
|
|
14330
|
+
<ng-container *ngTemplateOutlet="summaryTemplate"></ng-container>
|
|
14331
|
+
</div>
|
|
14332
|
+
}
|
|
14333
|
+
|
|
14334
|
+
@if (resizableColumns) {
|
|
14335
|
+
<div #resizeHelper class="p-column-resizer-helper" style="display:none"></div>
|
|
14336
|
+
}
|
|
14337
|
+
@if (reorderableColumns) {
|
|
14338
|
+
<span #reorderIndicatorUp class="fa-solid fa-arrow-down p-datatable-reorder-indicator-up" style="display: none;"></span>
|
|
14339
|
+
}
|
|
14340
|
+
@if (reorderableColumns) {
|
|
14341
|
+
<span #reorderIndicatorDown class="fa-solid fa-arrow-up p-datatable-reorder-indicator-down" style="display: none;"></span>
|
|
14342
|
+
}
|
|
14343
|
+
</div>
|
|
14335
14344
|
`, providers: [TableService], changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, host: {
|
|
14336
14345
|
class: 'p-element'
|
|
14337
|
-
}, standalone: false, styles: [".p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:1}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:1}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-menu-button,.p-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}.p-datatable{color:rgb(var(--smz-color-fg));font-family:var(--smz-font-sans);font-size:var(--smz-text-md)}.p-datatable-table{border-collapse:separate;background:rgb(var(--smz-color-surface-1))}.p-datatable-thead>tr>th,.p-datatable-tfoot>tr>td{padding:.75rem 1rem;text-align:left;font-weight:600;background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-tfoot>tr>td{border-top:1px solid rgb(var(--smz-color-line));border-bottom:0}.p-datatable-tbody>tr{background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));transition:background-color var(--smz-duration)}.p-datatable-tbody>tr>td{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-datatable-row-selected):hover{background:rgb(var(--smz-color-surface-3))}.p-datatable-tbody>tr.p-datatable-row-selected,.p-datatable-tbody>tr.p-highlight{background:rgb(var(--smz-color-primary) / .12);color:rgb(var(--smz-color-fg))}.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:rgb(var(--smz-color-surface-0))}.p-datatable-gridlines .p-datatable-thead>tr>th,.p-datatable-gridlines .p-datatable-tbody>tr>td,.p-datatable-gridlines .p-datatable-tfoot>tr>td{border:1px solid rgb(var(--smz-color-line));border-width:0 0 1px 1px}.p-datatable-gridlines .p-datatable-thead>tr>th:last-child,.p-datatable-gridlines .p-datatable-tbody>tr>td:last-child,.p-datatable-gridlines .p-datatable-tfoot>tr>td:last-child{border-right-width:1px}.p-datatable-sm .p-datatable-thead>tr>th,.p-datatable-sm .p-datatable-tbody>tr>td,.p-datatable-sm .p-datatable-tfoot>tr>td{padding:.375rem .75rem}.p-datatable-lg .p-datatable-thead>tr>th,.p-datatable-lg .p-datatable-tbody>tr>td,.p-datatable-lg .p-datatable-tfoot>tr>td{padding:1.1rem 1.25rem}.p-datatable-header,.p-datatable-footer{padding:.75rem 1rem;background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-footer{border-top:1px solid rgb(var(--smz-color-line));border-bottom:0}.p-datatable .p-sortable-column:hover{background:rgb(var(--smz-color-surface-3))}.p-datatable .p-sortable-column:focus-visible{outline:2px solid rgb(var(--smz-color-focus));outline-offset:-2px}.p-datatable .p-datatable-loading-overlay{background:rgb(var(--smz-color-surface-1) / .6);color:rgb(var(--smz-color-primary))}.p-datatable .p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-datatable .p-checkbox,.p-datatable .p-radiobutton{position:relative;display:inline-flex;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-checkbox-box,.p-datatable .p-radiobutton-box{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:1px solid rgb(var(--smz-color-line-strong));background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-on-primary));transition:background-color var(--smz-duration),border-color var(--smz-duration),box-shadow var(--smz-duration)}.p-datatable .p-checkbox-box{border-radius:.3rem}.p-datatable .p-radiobutton-box{border-radius:9999px}.p-datatable .p-checkbox-box.p-highlight,.p-datatable .p-radiobutton-box.p-highlight{background:rgb(var(--smz-color-primary));border-color:rgb(var(--smz-color-primary))}.p-datatable .p-checkbox-box.p-focus,.p-datatable .p-radiobutton-box.p-focus{box-shadow:0 0 0 2px rgb(var(--smz-color-focus) / .45)}.p-datatable .p-checkbox-box.p-disabled,.p-datatable .p-radiobutton-box.p-disabled{opacity:.5;cursor:not-allowed}.p-datatable .p-checkbox-icon{font-size:.7rem;line-height:1}.p-datatable .p-radiobutton-icon{width:.5rem;height:.5rem;border-radius:9999px;background:rgb(var(--smz-color-on-primary));opacity:0}.p-datatable .p-radiobutton-box.p-highlight .p-radiobutton-icon{opacity:1}\n"] }]
|
|
14346
|
+
}, standalone: false, styles: [".p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:1}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:1}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-menu-button,.p-column-filter-clear-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}.p-datatable{color:rgb(var(--smz-color-fg));font-family:var(--smz-font-sans);font-size:var(--smz-text-md)}.p-datatable-table{border-collapse:separate;background:rgb(var(--smz-color-surface-1))}.p-datatable-thead>tr>th,.p-datatable-tfoot>tr>td{padding:.75rem 1rem;text-align:left;font-weight:600;background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-tfoot>tr>td{border-top:1px solid rgb(var(--smz-color-line));border-bottom:0}.p-datatable-tbody>tr{background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));transition:background-color var(--smz-duration)}.p-datatable-tbody>tr>td{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-datatable-row-selected):hover{background:rgb(var(--smz-color-surface-3))}.p-datatable-tbody>tr.p-datatable-row-selected,.p-datatable-tbody>tr.p-highlight{background:rgb(var(--smz-color-primary) / .12);color:rgb(var(--smz-color-fg))}.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:rgb(var(--smz-color-surface-0))}.p-datatable-gridlines .p-datatable-thead>tr>th,.p-datatable-gridlines .p-datatable-tbody>tr>td,.p-datatable-gridlines .p-datatable-tfoot>tr>td{border:1px solid rgb(var(--smz-color-line));border-width:0 0 1px 1px}.p-datatable-gridlines .p-datatable-thead>tr>th:last-child,.p-datatable-gridlines .p-datatable-tbody>tr>td:last-child,.p-datatable-gridlines .p-datatable-tfoot>tr>td:last-child{border-right-width:1px}.p-datatable-sm .p-datatable-thead>tr>th,.p-datatable-sm .p-datatable-tbody>tr>td,.p-datatable-sm .p-datatable-tfoot>tr>td{padding:.375rem .75rem}.p-datatable-lg .p-datatable-thead>tr>th,.p-datatable-lg .p-datatable-tbody>tr>td,.p-datatable-lg .p-datatable-tfoot>tr>td{padding:1.1rem 1.25rem}.p-datatable-header,.p-datatable-footer{padding:.75rem 1rem;background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-fg));border-bottom:1px solid rgb(var(--smz-color-line))}.p-datatable-footer{border-top:1px solid rgb(var(--smz-color-line));border-bottom:0}.p-datatable .p-sortable-column:hover{background:rgb(var(--smz-color-surface-3))}.p-datatable .p-sortable-column:focus-visible{outline:2px solid rgb(var(--smz-color-focus));outline-offset:-2px}.p-datatable .p-datatable-loading-overlay{background:rgb(var(--smz-color-surface-1) / .6);color:rgb(var(--smz-color-primary))}.p-datatable .p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-datatable .p-checkbox,.p-datatable .p-radiobutton{position:relative;display:inline-flex;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-checkbox-box,.p-datatable .p-radiobutton-box{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:1px solid rgb(var(--smz-color-line-strong));background:rgb(var(--smz-color-surface-1));color:rgb(var(--smz-color-on-primary));transition:background-color var(--smz-duration),border-color var(--smz-duration),box-shadow var(--smz-duration)}.p-datatable .p-checkbox-box{border-radius:.3rem}.p-datatable .p-radiobutton-box{border-radius:9999px}.p-datatable .p-checkbox-box.p-highlight,.p-datatable .p-radiobutton-box.p-highlight{background:rgb(var(--smz-color-primary));border-color:rgb(var(--smz-color-primary))}.p-datatable .p-checkbox-box.p-focus,.p-datatable .p-radiobutton-box.p-focus{box-shadow:0 0 0 2px rgb(var(--smz-color-focus) / .45)}.p-datatable .p-checkbox-box.p-disabled,.p-datatable .p-radiobutton-box.p-disabled{opacity:.5;cursor:not-allowed}.p-datatable .p-checkbox-icon{font-size:.7rem;line-height:1}.p-datatable .p-radiobutton-icon{width:.5rem;height:.5rem;border-radius:9999px;background:rgb(var(--smz-color-on-primary));opacity:0}.p-datatable .p-radiobutton-box.p-highlight .p-radiobutton-icon{opacity:1}.p-datatable-thead>tr>th.p-highlight{background:rgb(var(--smz-color-primary) / .1);color:rgb(var(--smz-color-primary))}.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:rgb(var(--smz-color-surface-3) / .5)}.p-datatable-sm .p-datatable-thead>tr>th,.p-datatable-sm .p-datatable-tbody>tr>td,.p-datatable-sm .p-datatable-tfoot>tr>td{padding:.5rem}.p-column-filter-menu-button,.p-column-filter-clear-button{width:2rem;height:2rem;border-radius:9999px;color:rgb(var(--smz-color-fg-muted));background:transparent;border:0;cursor:pointer;transition:background-color var(--smz-duration)}.p-column-filter-menu-button:hover,.p-column-filter-clear-button:hover{background:rgb(var(--smz-color-surface-3));color:rgb(var(--smz-color-fg))}.p-column-filter-overlay{min-width:14rem;padding:.5rem;background:rgb(var(--smz-color-surface-2));color:rgb(var(--smz-color-fg));border:1px solid rgb(var(--smz-color-line));border-radius:var(--smz-radius-overlay);box-shadow:var(--smz-shadow-overlay);font-family:var(--smz-font-sans);font-size:var(--smz-text-md)}.p-column-filter-overlay .p-column-filter-row-items,.p-column-filter-overlay .p-column-filter-constraint{padding:.25rem 0}.p-column-filter-overlay .p-column-filter-row-item{padding:.5rem .75rem;border-radius:var(--smz-radius-control);cursor:pointer}.p-column-filter-overlay .p-column-filter-row-item:hover,.p-column-filter-overlay .p-column-filter-row-item.p-highlight{background:rgb(var(--smz-color-surface-3))}.p-column-filter-overlay .p-column-filter-buttonbar{padding:.5rem 0 0;border-top:1px solid rgb(var(--smz-color-line))}\n"] }]
|
|
14338
14347
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: TableService }, { type: i0.ChangeDetectorRef }, { type: TableOverlayService }], propDecorators: { frozenColumns: [{
|
|
14339
14348
|
type: Input
|
|
14340
14349
|
}], frozenValue: [{
|
|
@@ -14700,188 +14709,188 @@ class TableBody {
|
|
|
14700
14709
|
return getItemOptions ? getItemOptions(index).index : index;
|
|
14701
14710
|
}
|
|
14702
14711
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableBody, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
14703
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: TableBody, isStandalone: false, selector: "[pTableBody]", inputs: { columns: ["pTableBody", "columns"], template: ["pTableBodyTemplate", "template"], value: "value", frozen: "frozen", frozenRows: "frozenRows", scrollerOptions: "scrollerOptions" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
14704
|
-
@if (!dt.expandedRowTemplate) {
|
|
14705
|
-
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14706
|
-
@if (dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, rowIndex)) {
|
|
14707
|
-
<ng-container role="row">
|
|
14708
|
-
<ng-container
|
|
14709
|
-
*ngTemplateOutlet="dt.groupHeaderTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14710
|
-
></ng-container>
|
|
14711
|
-
</ng-container>
|
|
14712
|
-
}
|
|
14713
|
-
@if (dt.rowGroupMode !== 'rowspan') {
|
|
14714
|
-
<ng-container
|
|
14715
|
-
*ngTemplateOutlet="rowData ? template : dt.loadingBodyTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14716
|
-
></ng-container>
|
|
14717
|
-
}
|
|
14718
|
-
@if (dt.rowGroupMode === 'rowspan') {
|
|
14719
|
-
<ng-container
|
|
14720
|
-
*ngTemplateOutlet="
|
|
14721
|
-
rowData ? template : dt.loadingBodyTemplate;
|
|
14722
|
-
context: {
|
|
14723
|
-
$implicit: rowData,
|
|
14724
|
-
rowIndex: getRowIndex(rowIndex),
|
|
14725
|
-
columns: columns,
|
|
14726
|
-
editing: dt.editMode === 'row' && dt.isRowEditing(rowData),
|
|
14727
|
-
frozen: frozen,
|
|
14728
|
-
rowgroup: shouldRenderRowspan(value, rowData, rowIndex),
|
|
14729
|
-
rowspan: calculateRowGroupSize(value, rowData, rowIndex)
|
|
14730
|
-
}
|
|
14731
|
-
"
|
|
14732
|
-
></ng-container>
|
|
14733
|
-
}
|
|
14734
|
-
@if (dt.groupFooterTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, rowIndex)) {
|
|
14735
|
-
<ng-container role="row">
|
|
14736
|
-
<ng-container
|
|
14737
|
-
*ngTemplateOutlet="dt.groupFooterTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14738
|
-
></ng-container>
|
|
14739
|
-
</ng-container>
|
|
14740
|
-
}
|
|
14741
|
-
}
|
|
14742
|
-
}
|
|
14743
|
-
@if (dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)) {
|
|
14744
|
-
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14745
|
-
@if (!dt.groupHeaderTemplate) {
|
|
14746
|
-
<ng-container
|
|
14747
|
-
*ngTemplateOutlet="template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14748
|
-
></ng-container>
|
|
14749
|
-
}
|
|
14750
|
-
@if (dt.groupHeaderTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))) {
|
|
14751
|
-
<ng-container role="row">
|
|
14752
|
-
<ng-container
|
|
14753
|
-
*ngTemplateOutlet="
|
|
14754
|
-
dt.groupHeaderTemplate;
|
|
14755
|
-
context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }
|
|
14756
|
-
"
|
|
14757
|
-
></ng-container>
|
|
14758
|
-
</ng-container>
|
|
14759
|
-
}
|
|
14760
|
-
@if (dt.isRowExpanded(rowData)) {
|
|
14761
|
-
<ng-container *ngTemplateOutlet="dt.expandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }"></ng-container>
|
|
14762
|
-
@if (dt.groupFooterTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(rowIndex))) {
|
|
14763
|
-
<ng-container role="row">
|
|
14764
|
-
<ng-container
|
|
14765
|
-
*ngTemplateOutlet="
|
|
14766
|
-
dt.groupFooterTemplate;
|
|
14767
|
-
context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }
|
|
14768
|
-
"
|
|
14769
|
-
></ng-container>
|
|
14770
|
-
</ng-container>
|
|
14771
|
-
}
|
|
14772
|
-
}
|
|
14773
|
-
}
|
|
14774
|
-
}
|
|
14775
|
-
@if (dt.frozenExpandedRowTemplate && frozen) {
|
|
14776
|
-
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14777
|
-
<ng-container
|
|
14778
|
-
*ngTemplateOutlet="template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14779
|
-
></ng-container>
|
|
14780
|
-
@if (dt.isRowExpanded(rowData)) {
|
|
14781
|
-
<ng-container *ngTemplateOutlet="dt.frozenExpandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }"></ng-container>
|
|
14782
|
-
}
|
|
14783
|
-
}
|
|
14784
|
-
}
|
|
14785
|
-
@if (dt.loading) {
|
|
14786
|
-
<ng-container *ngTemplateOutlet="dt.loadingBodyTemplate; context: { $implicit: columns, frozen: frozen }"></ng-container>
|
|
14787
|
-
}
|
|
14788
|
-
@if (dt.isEmpty() && !dt.loading) {
|
|
14789
|
-
<ng-container *ngTemplateOutlet="dt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }"></ng-container>
|
|
14790
|
-
}
|
|
14712
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: TableBody, isStandalone: false, selector: "[pTableBody]", inputs: { columns: ["pTableBody", "columns"], template: ["pTableBodyTemplate", "template"], value: "value", frozen: "frozen", frozenRows: "frozenRows", scrollerOptions: "scrollerOptions" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
14713
|
+
@if (!dt.expandedRowTemplate) {
|
|
14714
|
+
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14715
|
+
@if (dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, rowIndex)) {
|
|
14716
|
+
<ng-container role="row">
|
|
14717
|
+
<ng-container
|
|
14718
|
+
*ngTemplateOutlet="dt.groupHeaderTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14719
|
+
></ng-container>
|
|
14720
|
+
</ng-container>
|
|
14721
|
+
}
|
|
14722
|
+
@if (dt.rowGroupMode !== 'rowspan') {
|
|
14723
|
+
<ng-container
|
|
14724
|
+
*ngTemplateOutlet="rowData ? template : dt.loadingBodyTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14725
|
+
></ng-container>
|
|
14726
|
+
}
|
|
14727
|
+
@if (dt.rowGroupMode === 'rowspan') {
|
|
14728
|
+
<ng-container
|
|
14729
|
+
*ngTemplateOutlet="
|
|
14730
|
+
rowData ? template : dt.loadingBodyTemplate;
|
|
14731
|
+
context: {
|
|
14732
|
+
$implicit: rowData,
|
|
14733
|
+
rowIndex: getRowIndex(rowIndex),
|
|
14734
|
+
columns: columns,
|
|
14735
|
+
editing: dt.editMode === 'row' && dt.isRowEditing(rowData),
|
|
14736
|
+
frozen: frozen,
|
|
14737
|
+
rowgroup: shouldRenderRowspan(value, rowData, rowIndex),
|
|
14738
|
+
rowspan: calculateRowGroupSize(value, rowData, rowIndex)
|
|
14739
|
+
}
|
|
14740
|
+
"
|
|
14741
|
+
></ng-container>
|
|
14742
|
+
}
|
|
14743
|
+
@if (dt.groupFooterTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, rowIndex)) {
|
|
14744
|
+
<ng-container role="row">
|
|
14745
|
+
<ng-container
|
|
14746
|
+
*ngTemplateOutlet="dt.groupFooterTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14747
|
+
></ng-container>
|
|
14748
|
+
</ng-container>
|
|
14749
|
+
}
|
|
14750
|
+
}
|
|
14751
|
+
}
|
|
14752
|
+
@if (dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)) {
|
|
14753
|
+
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14754
|
+
@if (!dt.groupHeaderTemplate) {
|
|
14755
|
+
<ng-container
|
|
14756
|
+
*ngTemplateOutlet="template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14757
|
+
></ng-container>
|
|
14758
|
+
}
|
|
14759
|
+
@if (dt.groupHeaderTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))) {
|
|
14760
|
+
<ng-container role="row">
|
|
14761
|
+
<ng-container
|
|
14762
|
+
*ngTemplateOutlet="
|
|
14763
|
+
dt.groupHeaderTemplate;
|
|
14764
|
+
context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }
|
|
14765
|
+
"
|
|
14766
|
+
></ng-container>
|
|
14767
|
+
</ng-container>
|
|
14768
|
+
}
|
|
14769
|
+
@if (dt.isRowExpanded(rowData)) {
|
|
14770
|
+
<ng-container *ngTemplateOutlet="dt.expandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }"></ng-container>
|
|
14771
|
+
@if (dt.groupFooterTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(rowIndex))) {
|
|
14772
|
+
<ng-container role="row">
|
|
14773
|
+
<ng-container
|
|
14774
|
+
*ngTemplateOutlet="
|
|
14775
|
+
dt.groupFooterTemplate;
|
|
14776
|
+
context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }
|
|
14777
|
+
"
|
|
14778
|
+
></ng-container>
|
|
14779
|
+
</ng-container>
|
|
14780
|
+
}
|
|
14781
|
+
}
|
|
14782
|
+
}
|
|
14783
|
+
}
|
|
14784
|
+
@if (dt.frozenExpandedRowTemplate && frozen) {
|
|
14785
|
+
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14786
|
+
<ng-container
|
|
14787
|
+
*ngTemplateOutlet="template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14788
|
+
></ng-container>
|
|
14789
|
+
@if (dt.isRowExpanded(rowData)) {
|
|
14790
|
+
<ng-container *ngTemplateOutlet="dt.frozenExpandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }"></ng-container>
|
|
14791
|
+
}
|
|
14792
|
+
}
|
|
14793
|
+
}
|
|
14794
|
+
@if (dt.loading) {
|
|
14795
|
+
<ng-container *ngTemplateOutlet="dt.loadingBodyTemplate; context: { $implicit: columns, frozen: frozen }"></ng-container>
|
|
14796
|
+
}
|
|
14797
|
+
@if (dt.isEmpty() && !dt.loading) {
|
|
14798
|
+
<ng-container *ngTemplateOutlet="dt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }"></ng-container>
|
|
14799
|
+
}
|
|
14791
14800
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
14792
14801
|
}
|
|
14793
14802
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableBody, decorators: [{
|
|
14794
14803
|
type: Component,
|
|
14795
14804
|
args: [{
|
|
14796
14805
|
selector: '[pTableBody]',
|
|
14797
|
-
template: `
|
|
14798
|
-
@if (!dt.expandedRowTemplate) {
|
|
14799
|
-
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14800
|
-
@if (dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, rowIndex)) {
|
|
14801
|
-
<ng-container role="row">
|
|
14802
|
-
<ng-container
|
|
14803
|
-
*ngTemplateOutlet="dt.groupHeaderTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14804
|
-
></ng-container>
|
|
14805
|
-
</ng-container>
|
|
14806
|
-
}
|
|
14807
|
-
@if (dt.rowGroupMode !== 'rowspan') {
|
|
14808
|
-
<ng-container
|
|
14809
|
-
*ngTemplateOutlet="rowData ? template : dt.loadingBodyTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14810
|
-
></ng-container>
|
|
14811
|
-
}
|
|
14812
|
-
@if (dt.rowGroupMode === 'rowspan') {
|
|
14813
|
-
<ng-container
|
|
14814
|
-
*ngTemplateOutlet="
|
|
14815
|
-
rowData ? template : dt.loadingBodyTemplate;
|
|
14816
|
-
context: {
|
|
14817
|
-
$implicit: rowData,
|
|
14818
|
-
rowIndex: getRowIndex(rowIndex),
|
|
14819
|
-
columns: columns,
|
|
14820
|
-
editing: dt.editMode === 'row' && dt.isRowEditing(rowData),
|
|
14821
|
-
frozen: frozen,
|
|
14822
|
-
rowgroup: shouldRenderRowspan(value, rowData, rowIndex),
|
|
14823
|
-
rowspan: calculateRowGroupSize(value, rowData, rowIndex)
|
|
14824
|
-
}
|
|
14825
|
-
"
|
|
14826
|
-
></ng-container>
|
|
14827
|
-
}
|
|
14828
|
-
@if (dt.groupFooterTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, rowIndex)) {
|
|
14829
|
-
<ng-container role="row">
|
|
14830
|
-
<ng-container
|
|
14831
|
-
*ngTemplateOutlet="dt.groupFooterTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14832
|
-
></ng-container>
|
|
14833
|
-
</ng-container>
|
|
14834
|
-
}
|
|
14835
|
-
}
|
|
14836
|
-
}
|
|
14837
|
-
@if (dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)) {
|
|
14838
|
-
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14839
|
-
@if (!dt.groupHeaderTemplate) {
|
|
14840
|
-
<ng-container
|
|
14841
|
-
*ngTemplateOutlet="template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14842
|
-
></ng-container>
|
|
14843
|
-
}
|
|
14844
|
-
@if (dt.groupHeaderTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))) {
|
|
14845
|
-
<ng-container role="row">
|
|
14846
|
-
<ng-container
|
|
14847
|
-
*ngTemplateOutlet="
|
|
14848
|
-
dt.groupHeaderTemplate;
|
|
14849
|
-
context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }
|
|
14850
|
-
"
|
|
14851
|
-
></ng-container>
|
|
14852
|
-
</ng-container>
|
|
14853
|
-
}
|
|
14854
|
-
@if (dt.isRowExpanded(rowData)) {
|
|
14855
|
-
<ng-container *ngTemplateOutlet="dt.expandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }"></ng-container>
|
|
14856
|
-
@if (dt.groupFooterTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(rowIndex))) {
|
|
14857
|
-
<ng-container role="row">
|
|
14858
|
-
<ng-container
|
|
14859
|
-
*ngTemplateOutlet="
|
|
14860
|
-
dt.groupFooterTemplate;
|
|
14861
|
-
context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }
|
|
14862
|
-
"
|
|
14863
|
-
></ng-container>
|
|
14864
|
-
</ng-container>
|
|
14865
|
-
}
|
|
14866
|
-
}
|
|
14867
|
-
}
|
|
14868
|
-
}
|
|
14869
|
-
@if (dt.frozenExpandedRowTemplate && frozen) {
|
|
14870
|
-
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14871
|
-
<ng-container
|
|
14872
|
-
*ngTemplateOutlet="template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14873
|
-
></ng-container>
|
|
14874
|
-
@if (dt.isRowExpanded(rowData)) {
|
|
14875
|
-
<ng-container *ngTemplateOutlet="dt.frozenExpandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }"></ng-container>
|
|
14876
|
-
}
|
|
14877
|
-
}
|
|
14878
|
-
}
|
|
14879
|
-
@if (dt.loading) {
|
|
14880
|
-
<ng-container *ngTemplateOutlet="dt.loadingBodyTemplate; context: { $implicit: columns, frozen: frozen }"></ng-container>
|
|
14881
|
-
}
|
|
14882
|
-
@if (dt.isEmpty() && !dt.loading) {
|
|
14883
|
-
<ng-container *ngTemplateOutlet="dt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }"></ng-container>
|
|
14884
|
-
}
|
|
14806
|
+
template: `
|
|
14807
|
+
@if (!dt.expandedRowTemplate) {
|
|
14808
|
+
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14809
|
+
@if (dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, rowIndex)) {
|
|
14810
|
+
<ng-container role="row">
|
|
14811
|
+
<ng-container
|
|
14812
|
+
*ngTemplateOutlet="dt.groupHeaderTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14813
|
+
></ng-container>
|
|
14814
|
+
</ng-container>
|
|
14815
|
+
}
|
|
14816
|
+
@if (dt.rowGroupMode !== 'rowspan') {
|
|
14817
|
+
<ng-container
|
|
14818
|
+
*ngTemplateOutlet="rowData ? template : dt.loadingBodyTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14819
|
+
></ng-container>
|
|
14820
|
+
}
|
|
14821
|
+
@if (dt.rowGroupMode === 'rowspan') {
|
|
14822
|
+
<ng-container
|
|
14823
|
+
*ngTemplateOutlet="
|
|
14824
|
+
rowData ? template : dt.loadingBodyTemplate;
|
|
14825
|
+
context: {
|
|
14826
|
+
$implicit: rowData,
|
|
14827
|
+
rowIndex: getRowIndex(rowIndex),
|
|
14828
|
+
columns: columns,
|
|
14829
|
+
editing: dt.editMode === 'row' && dt.isRowEditing(rowData),
|
|
14830
|
+
frozen: frozen,
|
|
14831
|
+
rowgroup: shouldRenderRowspan(value, rowData, rowIndex),
|
|
14832
|
+
rowspan: calculateRowGroupSize(value, rowData, rowIndex)
|
|
14833
|
+
}
|
|
14834
|
+
"
|
|
14835
|
+
></ng-container>
|
|
14836
|
+
}
|
|
14837
|
+
@if (dt.groupFooterTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, rowIndex)) {
|
|
14838
|
+
<ng-container role="row">
|
|
14839
|
+
<ng-container
|
|
14840
|
+
*ngTemplateOutlet="dt.groupFooterTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14841
|
+
></ng-container>
|
|
14842
|
+
</ng-container>
|
|
14843
|
+
}
|
|
14844
|
+
}
|
|
14845
|
+
}
|
|
14846
|
+
@if (dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)) {
|
|
14847
|
+
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14848
|
+
@if (!dt.groupHeaderTemplate) {
|
|
14849
|
+
<ng-container
|
|
14850
|
+
*ngTemplateOutlet="template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14851
|
+
></ng-container>
|
|
14852
|
+
}
|
|
14853
|
+
@if (dt.groupHeaderTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(rowIndex))) {
|
|
14854
|
+
<ng-container role="row">
|
|
14855
|
+
<ng-container
|
|
14856
|
+
*ngTemplateOutlet="
|
|
14857
|
+
dt.groupHeaderTemplate;
|
|
14858
|
+
context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }
|
|
14859
|
+
"
|
|
14860
|
+
></ng-container>
|
|
14861
|
+
</ng-container>
|
|
14862
|
+
}
|
|
14863
|
+
@if (dt.isRowExpanded(rowData)) {
|
|
14864
|
+
<ng-container *ngTemplateOutlet="dt.expandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }"></ng-container>
|
|
14865
|
+
@if (dt.groupFooterTemplate && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(rowIndex))) {
|
|
14866
|
+
<ng-container role="row">
|
|
14867
|
+
<ng-container
|
|
14868
|
+
*ngTemplateOutlet="
|
|
14869
|
+
dt.groupFooterTemplate;
|
|
14870
|
+
context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }
|
|
14871
|
+
"
|
|
14872
|
+
></ng-container>
|
|
14873
|
+
</ng-container>
|
|
14874
|
+
}
|
|
14875
|
+
}
|
|
14876
|
+
}
|
|
14877
|
+
}
|
|
14878
|
+
@if (dt.frozenExpandedRowTemplate && frozen) {
|
|
14879
|
+
@for (rowData of value; track $any(dt.rowTrackBy)(rowIndex, rowData); let rowIndex = $index) {
|
|
14880
|
+
<ng-container
|
|
14881
|
+
*ngTemplateOutlet="template; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, expanded: dt.isRowExpanded(rowData), editing: dt.editMode === 'row' && dt.isRowEditing(rowData), frozen: frozen }"
|
|
14882
|
+
></ng-container>
|
|
14883
|
+
@if (dt.isRowExpanded(rowData)) {
|
|
14884
|
+
<ng-container *ngTemplateOutlet="dt.frozenExpandedRowTemplate; context: { $implicit: rowData, rowIndex: getRowIndex(rowIndex), columns: columns, frozen: frozen }"></ng-container>
|
|
14885
|
+
}
|
|
14886
|
+
}
|
|
14887
|
+
}
|
|
14888
|
+
@if (dt.loading) {
|
|
14889
|
+
<ng-container *ngTemplateOutlet="dt.loadingBodyTemplate; context: { $implicit: columns, frozen: frozen }"></ng-container>
|
|
14890
|
+
}
|
|
14891
|
+
@if (dt.isEmpty() && !dt.loading) {
|
|
14892
|
+
<ng-container *ngTemplateOutlet="dt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }"></ng-container>
|
|
14893
|
+
}
|
|
14885
14894
|
`,
|
|
14886
14895
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
14887
14896
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -15125,22 +15134,22 @@ class SortIcon {
|
|
|
15125
15134
|
}
|
|
15126
15135
|
}
|
|
15127
15136
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SortIcon, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
15128
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SortIcon, isStandalone: false, selector: "p-sortIcon", inputs: { field: "field" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
15129
|
-
<i class="p-sortable-column-icon fa-solid fa-fw" [ngClass]="{ 'fa-arrow-up-short-wide': sortOrder === 1, 'fa-arrow-down-wide-short': sortOrder === -1, 'fa-sort': sortOrder === 0 }"></i>
|
|
15130
|
-
@if (isMultiSorted()) {
|
|
15131
|
-
<span class="p-sortable-column-badge">{{ getBadgeValue() }}</span>
|
|
15132
|
-
}
|
|
15137
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SortIcon, isStandalone: false, selector: "p-sortIcon", inputs: { field: "field" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
15138
|
+
<i class="p-sortable-column-icon fa-solid fa-fw" [ngClass]="{ 'fa-arrow-up-short-wide': sortOrder === 1, 'fa-arrow-down-wide-short': sortOrder === -1, 'fa-sort': sortOrder === 0 }"></i>
|
|
15139
|
+
@if (isMultiSorted()) {
|
|
15140
|
+
<span class="p-sortable-column-badge">{{ getBadgeValue() }}</span>
|
|
15141
|
+
}
|
|
15133
15142
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
15134
15143
|
}
|
|
15135
15144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SortIcon, decorators: [{
|
|
15136
15145
|
type: Component,
|
|
15137
15146
|
args: [{
|
|
15138
15147
|
selector: 'p-sortIcon',
|
|
15139
|
-
template: `
|
|
15140
|
-
<i class="p-sortable-column-icon fa-solid fa-fw" [ngClass]="{ 'fa-arrow-up-short-wide': sortOrder === 1, 'fa-arrow-down-wide-short': sortOrder === -1, 'fa-sort': sortOrder === 0 }"></i>
|
|
15141
|
-
@if (isMultiSorted()) {
|
|
15142
|
-
<span class="p-sortable-column-badge">{{ getBadgeValue() }}</span>
|
|
15143
|
-
}
|
|
15148
|
+
template: `
|
|
15149
|
+
<i class="p-sortable-column-icon fa-solid fa-fw" [ngClass]="{ 'fa-arrow-up-short-wide': sortOrder === 1, 'fa-arrow-down-wide-short': sortOrder === -1, 'fa-sort': sortOrder === 0 }"></i>
|
|
15150
|
+
@if (isMultiSorted()) {
|
|
15151
|
+
<span class="p-sortable-column-badge">{{ getBadgeValue() }}</span>
|
|
15152
|
+
}
|
|
15144
15153
|
`,
|
|
15145
15154
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15146
15155
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -16133,26 +16142,26 @@ class CellEditor {
|
|
|
16133
16142
|
return (this.dt.editingCell && this.editableColumn && this.dt.editingCell === this.editableColumn.el.nativeElement) || (this.editableRow && this.dt.editMode === 'row' && this.dt.isRowEditing(this.editableRow.data));
|
|
16134
16143
|
}
|
|
16135
16144
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CellEditor, deps: [{ token: Table }, { token: EditableColumn, optional: true }, { token: EditableRow, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
16136
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: CellEditor, isStandalone: false, selector: "p-cellEditor", host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: `
|
|
16137
|
-
@if (editing) {
|
|
16138
|
-
<ng-container *ngTemplateOutlet="inputTemplate"></ng-container>
|
|
16139
|
-
}
|
|
16140
|
-
@if (!editing) {
|
|
16141
|
-
<ng-container *ngTemplateOutlet="outputTemplate"></ng-container>
|
|
16142
|
-
}
|
|
16145
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: CellEditor, isStandalone: false, selector: "p-cellEditor", host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: `
|
|
16146
|
+
@if (editing) {
|
|
16147
|
+
<ng-container *ngTemplateOutlet="inputTemplate"></ng-container>
|
|
16148
|
+
}
|
|
16149
|
+
@if (!editing) {
|
|
16150
|
+
<ng-container *ngTemplateOutlet="outputTemplate"></ng-container>
|
|
16151
|
+
}
|
|
16143
16152
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
16144
16153
|
}
|
|
16145
16154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CellEditor, decorators: [{
|
|
16146
16155
|
type: Component,
|
|
16147
16156
|
args: [{
|
|
16148
16157
|
selector: 'p-cellEditor',
|
|
16149
|
-
template: `
|
|
16150
|
-
@if (editing) {
|
|
16151
|
-
<ng-container *ngTemplateOutlet="inputTemplate"></ng-container>
|
|
16152
|
-
}
|
|
16153
|
-
@if (!editing) {
|
|
16154
|
-
<ng-container *ngTemplateOutlet="outputTemplate"></ng-container>
|
|
16155
|
-
}
|
|
16158
|
+
template: `
|
|
16159
|
+
@if (editing) {
|
|
16160
|
+
<ng-container *ngTemplateOutlet="inputTemplate"></ng-container>
|
|
16161
|
+
}
|
|
16162
|
+
@if (!editing) {
|
|
16163
|
+
<ng-container *ngTemplateOutlet="outputTemplate"></ng-container>
|
|
16164
|
+
}
|
|
16156
16165
|
`,
|
|
16157
16166
|
encapsulation: ViewEncapsulation.None,
|
|
16158
16167
|
host: {
|
|
@@ -16214,30 +16223,30 @@ class TableRadioButton {
|
|
|
16214
16223
|
}
|
|
16215
16224
|
}
|
|
16216
16225
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableRadioButton, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
16217
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: TableRadioButton, isStandalone: false, selector: "p-tableRadioButton", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
16218
|
-
<div class="p-radiobutton p-component" [ngClass]="{ 'p-radiobutton-focused': focused, 'p-radiobutton-disabled': disabled }" (click)="onClick($event)">
|
|
16219
|
-
<div class="p-hidden-accessible">
|
|
16220
|
-
<input type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.aria-label]="ariaLabel" />
|
|
16221
|
-
</div>
|
|
16222
|
-
<div #box [ngClass]="{ 'p-radiobutton-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="radio" [attr.aria-checked]="checked">
|
|
16223
|
-
<div class="p-radiobutton-icon"></div>
|
|
16224
|
-
</div>
|
|
16225
|
-
</div>
|
|
16226
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: TableRadioButton, isStandalone: false, selector: "p-tableRadioButton", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
16227
|
+
<div class="p-radiobutton p-component" [ngClass]="{ 'p-radiobutton-focused': focused, 'p-radiobutton-disabled': disabled }" (click)="onClick($event)">
|
|
16228
|
+
<div class="p-hidden-accessible">
|
|
16229
|
+
<input type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.aria-label]="ariaLabel" />
|
|
16230
|
+
</div>
|
|
16231
|
+
<div #box [ngClass]="{ 'p-radiobutton-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="radio" [attr.aria-checked]="checked">
|
|
16232
|
+
<div class="p-radiobutton-icon"></div>
|
|
16233
|
+
</div>
|
|
16234
|
+
</div>
|
|
16226
16235
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
16227
16236
|
}
|
|
16228
16237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableRadioButton, decorators: [{
|
|
16229
16238
|
type: Component,
|
|
16230
16239
|
args: [{
|
|
16231
16240
|
selector: 'p-tableRadioButton',
|
|
16232
|
-
template: `
|
|
16233
|
-
<div class="p-radiobutton p-component" [ngClass]="{ 'p-radiobutton-focused': focused, 'p-radiobutton-disabled': disabled }" (click)="onClick($event)">
|
|
16234
|
-
<div class="p-hidden-accessible">
|
|
16235
|
-
<input type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.aria-label]="ariaLabel" />
|
|
16236
|
-
</div>
|
|
16237
|
-
<div #box [ngClass]="{ 'p-radiobutton-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="radio" [attr.aria-checked]="checked">
|
|
16238
|
-
<div class="p-radiobutton-icon"></div>
|
|
16239
|
-
</div>
|
|
16240
|
-
</div>
|
|
16241
|
+
template: `
|
|
16242
|
+
<div class="p-radiobutton p-component" [ngClass]="{ 'p-radiobutton-focused': focused, 'p-radiobutton-disabled': disabled }" (click)="onClick($event)">
|
|
16243
|
+
<div class="p-hidden-accessible">
|
|
16244
|
+
<input type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.aria-label]="ariaLabel" />
|
|
16245
|
+
</div>
|
|
16246
|
+
<div #box [ngClass]="{ 'p-radiobutton-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="radio" [attr.aria-checked]="checked">
|
|
16247
|
+
<div class="p-radiobutton-icon"></div>
|
|
16248
|
+
</div>
|
|
16249
|
+
</div>
|
|
16241
16250
|
`,
|
|
16242
16251
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
16243
16252
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -16306,30 +16315,30 @@ class TableCheckbox {
|
|
|
16306
16315
|
}
|
|
16307
16316
|
}
|
|
16308
16317
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
16309
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: TableCheckbox, isStandalone: false, selector: "p-tableCheckbox", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", required: "required", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
16310
|
-
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': disabled }" (click)="onClick($event)">
|
|
16311
|
-
<div class="p-hidden-accessible">
|
|
16312
|
-
<input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.required]="required" [attr.aria-label]="ariaLabel" />
|
|
16313
|
-
</div>
|
|
16314
|
-
<div #box [ngClass]="{ 'p-checkbox-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
|
|
16315
|
-
<span class="p-checkbox-icon" [ngClass]="{ 'fa-solid fa-check': checked }"></span>
|
|
16316
|
-
</div>
|
|
16317
|
-
</div>
|
|
16318
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: TableCheckbox, isStandalone: false, selector: "p-tableCheckbox", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", required: "required", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
16319
|
+
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': disabled }" (click)="onClick($event)">
|
|
16320
|
+
<div class="p-hidden-accessible">
|
|
16321
|
+
<input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.required]="required" [attr.aria-label]="ariaLabel" />
|
|
16322
|
+
</div>
|
|
16323
|
+
<div #box [ngClass]="{ 'p-checkbox-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
|
|
16324
|
+
<span class="p-checkbox-icon" [ngClass]="{ 'fa-solid fa-check': checked }"></span>
|
|
16325
|
+
</div>
|
|
16326
|
+
</div>
|
|
16318
16327
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
16319
16328
|
}
|
|
16320
16329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableCheckbox, decorators: [{
|
|
16321
16330
|
type: Component,
|
|
16322
16331
|
args: [{
|
|
16323
16332
|
selector: 'p-tableCheckbox',
|
|
16324
|
-
template: `
|
|
16325
|
-
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': disabled }" (click)="onClick($event)">
|
|
16326
|
-
<div class="p-hidden-accessible">
|
|
16327
|
-
<input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.required]="required" [attr.aria-label]="ariaLabel" />
|
|
16328
|
-
</div>
|
|
16329
|
-
<div #box [ngClass]="{ 'p-checkbox-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
|
|
16330
|
-
<span class="p-checkbox-icon" [ngClass]="{ 'fa-solid fa-check': checked }"></span>
|
|
16331
|
-
</div>
|
|
16332
|
-
</div>
|
|
16333
|
+
template: `
|
|
16334
|
+
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': disabled }" (click)="onClick($event)">
|
|
16335
|
+
<div class="p-hidden-accessible">
|
|
16336
|
+
<input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.required]="required" [attr.aria-label]="ariaLabel" />
|
|
16337
|
+
</div>
|
|
16338
|
+
<div #box [ngClass]="{ 'p-checkbox-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
|
|
16339
|
+
<span class="p-checkbox-icon" [ngClass]="{ 'fa-solid fa-check': checked }"></span>
|
|
16340
|
+
</div>
|
|
16341
|
+
</div>
|
|
16333
16342
|
`,
|
|
16334
16343
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
16335
16344
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -16417,30 +16426,30 @@ class TableHeaderCheckbox {
|
|
|
16417
16426
|
}
|
|
16418
16427
|
}
|
|
16419
16428
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableHeaderCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
16420
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: TableHeaderCheckbox, isStandalone: false, selector: "p-tableHeaderCheckbox", inputs: { disabled: "disabled", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
16421
|
-
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': isDisabled() }" (click)="onClick($event)">
|
|
16422
|
-
<div class="p-hidden-accessible">
|
|
16423
|
-
<input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="isDisabled()" [attr.aria-label]="ariaLabel" />
|
|
16424
|
-
</div>
|
|
16425
|
-
<div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': isDisabled() }" role="checkbox" [attr.aria-checked]="checked">
|
|
16426
|
-
<span class="p-checkbox-icon" [ngClass]="{ 'fa-solid fa-check': checked }"></span>
|
|
16427
|
-
</div>
|
|
16428
|
-
</div>
|
|
16429
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: TableHeaderCheckbox, isStandalone: false, selector: "p-tableHeaderCheckbox", inputs: { disabled: "disabled", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
16430
|
+
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': isDisabled() }" (click)="onClick($event)">
|
|
16431
|
+
<div class="p-hidden-accessible">
|
|
16432
|
+
<input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="isDisabled()" [attr.aria-label]="ariaLabel" />
|
|
16433
|
+
</div>
|
|
16434
|
+
<div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': isDisabled() }" role="checkbox" [attr.aria-checked]="checked">
|
|
16435
|
+
<span class="p-checkbox-icon" [ngClass]="{ 'fa-solid fa-check': checked }"></span>
|
|
16436
|
+
</div>
|
|
16437
|
+
</div>
|
|
16429
16438
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
16430
16439
|
}
|
|
16431
16440
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableHeaderCheckbox, decorators: [{
|
|
16432
16441
|
type: Component,
|
|
16433
16442
|
args: [{
|
|
16434
16443
|
selector: 'p-tableHeaderCheckbox',
|
|
16435
|
-
template: `
|
|
16436
|
-
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': isDisabled() }" (click)="onClick($event)">
|
|
16437
|
-
<div class="p-hidden-accessible">
|
|
16438
|
-
<input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="isDisabled()" [attr.aria-label]="ariaLabel" />
|
|
16439
|
-
</div>
|
|
16440
|
-
<div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': isDisabled() }" role="checkbox" [attr.aria-checked]="checked">
|
|
16441
|
-
<span class="p-checkbox-icon" [ngClass]="{ 'fa-solid fa-check': checked }"></span>
|
|
16442
|
-
</div>
|
|
16443
|
-
</div>
|
|
16444
|
+
template: `
|
|
16445
|
+
<div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': isDisabled() }" (click)="onClick($event)">
|
|
16446
|
+
<div class="p-hidden-accessible">
|
|
16447
|
+
<input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="isDisabled()" [attr.aria-label]="ariaLabel" />
|
|
16448
|
+
</div>
|
|
16449
|
+
<div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': isDisabled() }" role="checkbox" [attr.aria-checked]="checked">
|
|
16450
|
+
<span class="p-checkbox-icon" [ngClass]="{ 'fa-solid fa-check': checked }"></span>
|
|
16451
|
+
</div>
|
|
16452
|
+
</div>
|
|
16444
16453
|
`,
|
|
16445
16454
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
16446
16455
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -16894,7 +16903,8 @@ class ColumnFilter {
|
|
|
16894
16903
|
return false;
|
|
16895
16904
|
}
|
|
16896
16905
|
isOutsideClicked(event) {
|
|
16897
|
-
return !(
|
|
16906
|
+
return !(isInsideCdkOverlay(event) ||
|
|
16907
|
+
this.overlay.isSameNode(event.target) ||
|
|
16898
16908
|
this.overlay.contains(event.target) ||
|
|
16899
16909
|
this.icon.nativeElement.isSameNode(event.target) ||
|
|
16900
16910
|
this.icon.nativeElement.contains(event.target) ||
|
|
@@ -16986,260 +16996,260 @@ class ColumnFilter {
|
|
|
16986
16996
|
}
|
|
16987
16997
|
}
|
|
16988
16998
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColumnFilter, deps: [{ token: i0.ElementRef }, { token: Table }, { token: i0.Renderer2 }, { token: i2.SmzLocaleService }, { token: TableOverlayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16989
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ColumnFilter, isStandalone: false, selector: "p-columnFilter", inputs: { field: "field", type: "type", display: "display", showMenu: "showMenu", matchMode: "matchMode", operator: "operator", showOperator: "showOperator", showClearButton: "showClearButton", showApplyButton: "showApplyButton", showMatchModes: "showMatchModes", showAddButton: "showAddButton", hideOnClear: "hideOnClear", placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: "maxConstraints", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: "useGrouping", showButtons: "showButtons", showTime: "showTime" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "icon", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: `
|
|
16990
|
-
<div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
|
|
16991
|
-
@if (display === 'row') {
|
|
16992
|
-
<p-columnFilterFormElement
|
|
16993
|
-
class="p-fluid"
|
|
16994
|
-
[type]="type"
|
|
16995
|
-
[field]="field"
|
|
16996
|
-
[filterConstraint]="$any(dt.filters[field])"
|
|
16997
|
-
[filterTemplate]="filterTemplate"
|
|
16998
|
-
[placeholder]="placeholder"
|
|
16999
|
-
[minFractionDigits]="minFractionDigits"
|
|
17000
|
-
[maxFractionDigits]="maxFractionDigits"
|
|
17001
|
-
[prefix]="prefix"
|
|
17002
|
-
[suffix]="suffix"
|
|
17003
|
-
[locale]="locale"
|
|
17004
|
-
[localeMatcher]="localeMatcher"
|
|
17005
|
-
[currency]="currency"
|
|
17006
|
-
[currencyDisplay]="currencyDisplay"
|
|
17007
|
-
[useGrouping]="useGrouping"
|
|
17008
|
-
[showButtons]="showButtons"
|
|
17009
|
-
[showTime]="showTime"
|
|
17010
|
-
></p-columnFilterFormElement>
|
|
17011
|
-
}
|
|
17012
|
-
@if (showMenuButton) {
|
|
17013
|
-
<button
|
|
17014
|
-
#icon
|
|
17015
|
-
type="button"
|
|
17016
|
-
class="p-column-filter-menu-button p-link"
|
|
17017
|
-
aria-haspopup="true"
|
|
17018
|
-
[attr.aria-expanded]="overlayVisible"
|
|
17019
|
-
[ngClass]="{ 'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter() }"
|
|
17020
|
-
(click)="toggleMenu()"
|
|
17021
|
-
(keydown)="onToggleButtonKeyDown($event)"
|
|
17022
|
-
>
|
|
17023
|
-
<span class="fa-solid fa-filter p-filter-icon"></span>
|
|
17024
|
-
</button>
|
|
17025
|
-
}
|
|
17026
|
-
@if (showClearButton && display === 'row') {
|
|
17027
|
-
<button #icon [ngClass]="{ 'p-hidden-space': !hasRowFilter() }" type="button" class="p-column-filter-clear-button p-link" (click)="clearFilter()">
|
|
17028
|
-
<span class="fa-solid fa-filter-circle-xmark"></span>
|
|
17029
|
-
</button>
|
|
17030
|
-
}
|
|
17031
|
-
@if (showMenu && overlayVisible) {
|
|
17032
|
-
<div
|
|
17033
|
-
[ngClass]="{ 'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu' }"
|
|
17034
|
-
(click)="onContentClick()"
|
|
17035
|
-
[@overlayAnimation]="'visible'"
|
|
17036
|
-
(@overlayAnimation.start)="onOverlayAnimationStart($event)"
|
|
17037
|
-
(@overlayAnimation.done)="onOverlayAnimationEnd($event)"
|
|
17038
|
-
(keydown.escape)="onEscape()"
|
|
17039
|
-
>
|
|
17040
|
-
<ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: field }"></ng-container>
|
|
17041
|
-
@if (display === 'row') {
|
|
17042
|
-
<ul class="p-column-filter-row-items">
|
|
17043
|
-
@for (matchMode of matchModes; track matchMode; let i = $index) {
|
|
17044
|
-
<li
|
|
17045
|
-
class="p-column-filter-row-item"
|
|
17046
|
-
(click)="onRowMatchModeChange(matchMode.value)"
|
|
17047
|
-
(keydown)="onRowMatchModeKeyDown($event)"
|
|
17048
|
-
(keydown.enter)="this.onRowMatchModeChange(matchMode.value)"
|
|
17049
|
-
[ngClass]="{ 'p-highlight': isRowMatchModeSelected(matchMode.value) }"
|
|
17050
|
-
[attr.tabindex]="i === 0 ? '0' : null"
|
|
17051
|
-
>
|
|
17052
|
-
{{ matchMode.label }}
|
|
17053
|
-
</li>
|
|
17054
|
-
}
|
|
17055
|
-
<li class="p-column-filter-separator"></li>
|
|
17056
|
-
<li class="p-column-filter-row-item" (click)="onRowClearItemClick()" (keydown)="onRowMatchModeKeyDown($event)" (keydown.enter)="onRowClearItemClick()">{{ noFilterLabel }}</li>
|
|
17057
|
-
</ul>
|
|
17058
|
-
} @else {
|
|
17059
|
-
@if (isShowOperator) {
|
|
17060
|
-
<div class="p-column-filter-operator">
|
|
17061
|
-
<ui-select [options]="operatorOptions" [ngModel]="operator" (ngModelChange)="onOperatorChange($event)" styleClass="p-column-filter-operator-dropdown"></ui-select>
|
|
17062
|
-
</div>
|
|
17063
|
-
}
|
|
17064
|
-
<div class="p-column-filter-constraints">
|
|
17065
|
-
@for (fieldConstraint of fieldConstraints; track
|
|
17066
|
-
<div class="p-column-filter-constraint">
|
|
17067
|
-
@if (showMatchModes && matchModes) {
|
|
17068
|
-
<ui-select [options]="matchModes" [ngModel]="fieldConstraint.matchMode" (ngModelChange)="onMenuMatchModeChange($event, fieldConstraint)" styleClass="p-column-filter-matchmode-dropdown"></ui-select>
|
|
17069
|
-
}
|
|
17070
|
-
<p-columnFilterFormElement
|
|
17071
|
-
[type]="type"
|
|
17072
|
-
[field]="field"
|
|
17073
|
-
[filterConstraint]="fieldConstraint"
|
|
17074
|
-
[filterTemplate]="filterTemplate"
|
|
17075
|
-
[placeholder]="placeholder"
|
|
17076
|
-
[minFractionDigits]="minFractionDigits"
|
|
17077
|
-
[maxFractionDigits]="maxFractionDigits"
|
|
17078
|
-
[prefix]="prefix"
|
|
17079
|
-
[suffix]="suffix"
|
|
17080
|
-
[locale]="locale"
|
|
17081
|
-
[localeMatcher]="localeMatcher"
|
|
17082
|
-
[currency]="currency"
|
|
17083
|
-
[currencyDisplay]="currencyDisplay"
|
|
17084
|
-
[useGrouping]="useGrouping"
|
|
17085
|
-
[showTime]="showTime"
|
|
17086
|
-
></p-columnFilterFormElement>
|
|
17087
|
-
<div>
|
|
17088
|
-
@if (showRemoveIcon) {
|
|
17089
|
-
<button type="button" smzButton icon="fa-solid fa-trash" class="p-column-filter-remove-button" (click)="removeConstraint(fieldConstraint)" smzRipple [label]="removeRuleButtonLabel" variant="text" severity="danger" size="sm"></button>
|
|
17090
|
-
}
|
|
17091
|
-
</div>
|
|
17092
|
-
</div>
|
|
17093
|
-
}
|
|
17094
|
-
</div>
|
|
17095
|
-
@if (isShowAddConstraint) {
|
|
17096
|
-
<div class="p-column-filter-add-rule">
|
|
17097
|
-
<button type="button" smzButton [label]="addRuleButtonLabel" icon="fa-solid fa-plus" class="p-column-filter-add-button" (click)="addConstraint()" smzRipple variant="text" size="sm"></button>
|
|
17098
|
-
</div>
|
|
17099
|
-
}
|
|
17100
|
-
<div class="p-column-filter-buttonbar">
|
|
17101
|
-
@if (showClearButton) {
|
|
17102
|
-
<button type="button" smzButton (click)="clearFilter()" [label]="clearButtonLabel" smzRipple variant="outlined" size="sm"></button>
|
|
17103
|
-
}
|
|
17104
|
-
@if (showApplyButton) {
|
|
17105
|
-
<button type="button" smzButton (click)="applyFilter()" [label]="applyButtonLabel" smzRipple size="sm"></button>
|
|
17106
|
-
}
|
|
17107
|
-
</div>
|
|
17108
|
-
}
|
|
17109
|
-
<ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: field }"></ng-container>
|
|
17110
|
-
</div>
|
|
17111
|
-
}
|
|
17112
|
-
</div>
|
|
16999
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ColumnFilter, isStandalone: false, selector: "p-columnFilter", inputs: { field: "field", type: "type", display: "display", showMenu: "showMenu", matchMode: "matchMode", operator: "operator", showOperator: "showOperator", showClearButton: "showClearButton", showApplyButton: "showApplyButton", showMatchModes: "showMatchModes", showAddButton: "showAddButton", hideOnClear: "hideOnClear", placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: "maxConstraints", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: "useGrouping", showButtons: "showButtons", showTime: "showTime" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "icon", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: `
|
|
17000
|
+
<div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
|
|
17001
|
+
@if (display === 'row') {
|
|
17002
|
+
<p-columnFilterFormElement
|
|
17003
|
+
class="p-fluid"
|
|
17004
|
+
[type]="type"
|
|
17005
|
+
[field]="field"
|
|
17006
|
+
[filterConstraint]="$any(dt.filters[field])"
|
|
17007
|
+
[filterTemplate]="filterTemplate"
|
|
17008
|
+
[placeholder]="placeholder"
|
|
17009
|
+
[minFractionDigits]="minFractionDigits"
|
|
17010
|
+
[maxFractionDigits]="maxFractionDigits"
|
|
17011
|
+
[prefix]="prefix"
|
|
17012
|
+
[suffix]="suffix"
|
|
17013
|
+
[locale]="locale"
|
|
17014
|
+
[localeMatcher]="localeMatcher"
|
|
17015
|
+
[currency]="currency"
|
|
17016
|
+
[currencyDisplay]="currencyDisplay"
|
|
17017
|
+
[useGrouping]="useGrouping"
|
|
17018
|
+
[showButtons]="showButtons"
|
|
17019
|
+
[showTime]="showTime"
|
|
17020
|
+
></p-columnFilterFormElement>
|
|
17021
|
+
}
|
|
17022
|
+
@if (showMenuButton) {
|
|
17023
|
+
<button
|
|
17024
|
+
#icon
|
|
17025
|
+
type="button"
|
|
17026
|
+
class="p-column-filter-menu-button p-link"
|
|
17027
|
+
aria-haspopup="true"
|
|
17028
|
+
[attr.aria-expanded]="overlayVisible"
|
|
17029
|
+
[ngClass]="{ 'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter() }"
|
|
17030
|
+
(click)="toggleMenu()"
|
|
17031
|
+
(keydown)="onToggleButtonKeyDown($event)"
|
|
17032
|
+
>
|
|
17033
|
+
<span class="fa-solid fa-filter p-filter-icon"></span>
|
|
17034
|
+
</button>
|
|
17035
|
+
}
|
|
17036
|
+
@if (showClearButton && display === 'row') {
|
|
17037
|
+
<button #icon [ngClass]="{ 'p-hidden-space': !hasRowFilter() }" type="button" class="p-column-filter-clear-button p-link" (click)="clearFilter()">
|
|
17038
|
+
<span class="fa-solid fa-filter-circle-xmark"></span>
|
|
17039
|
+
</button>
|
|
17040
|
+
}
|
|
17041
|
+
@if (showMenu && overlayVisible) {
|
|
17042
|
+
<div
|
|
17043
|
+
[ngClass]="{ 'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu' }"
|
|
17044
|
+
(click)="onContentClick()"
|
|
17045
|
+
[@overlayAnimation]="'visible'"
|
|
17046
|
+
(@overlayAnimation.start)="onOverlayAnimationStart($event)"
|
|
17047
|
+
(@overlayAnimation.done)="onOverlayAnimationEnd($event)"
|
|
17048
|
+
(keydown.escape)="onEscape()"
|
|
17049
|
+
>
|
|
17050
|
+
<ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: field }"></ng-container>
|
|
17051
|
+
@if (display === 'row') {
|
|
17052
|
+
<ul class="p-column-filter-row-items">
|
|
17053
|
+
@for (matchMode of matchModes; track matchMode.value; let i = $index) {
|
|
17054
|
+
<li
|
|
17055
|
+
class="p-column-filter-row-item"
|
|
17056
|
+
(click)="onRowMatchModeChange(matchMode.value)"
|
|
17057
|
+
(keydown)="onRowMatchModeKeyDown($event)"
|
|
17058
|
+
(keydown.enter)="this.onRowMatchModeChange(matchMode.value)"
|
|
17059
|
+
[ngClass]="{ 'p-highlight': isRowMatchModeSelected(matchMode.value) }"
|
|
17060
|
+
[attr.tabindex]="i === 0 ? '0' : null"
|
|
17061
|
+
>
|
|
17062
|
+
{{ matchMode.label }}
|
|
17063
|
+
</li>
|
|
17064
|
+
}
|
|
17065
|
+
<li class="p-column-filter-separator"></li>
|
|
17066
|
+
<li class="p-column-filter-row-item" (click)="onRowClearItemClick()" (keydown)="onRowMatchModeKeyDown($event)" (keydown.enter)="onRowClearItemClick()">{{ noFilterLabel }}</li>
|
|
17067
|
+
</ul>
|
|
17068
|
+
} @else {
|
|
17069
|
+
@if (isShowOperator) {
|
|
17070
|
+
<div class="p-column-filter-operator">
|
|
17071
|
+
<ui-select [options]="operatorOptions" [ngModel]="operator" (ngModelChange)="onOperatorChange($event)" styleClass="p-column-filter-operator-dropdown"></ui-select>
|
|
17072
|
+
</div>
|
|
17073
|
+
}
|
|
17074
|
+
<div class="p-column-filter-constraints">
|
|
17075
|
+
@for (fieldConstraint of fieldConstraints; track $index; let i = $index) {
|
|
17076
|
+
<div class="p-column-filter-constraint">
|
|
17077
|
+
@if (showMatchModes && matchModes) {
|
|
17078
|
+
<ui-select [options]="matchModes" [ngModel]="fieldConstraint.matchMode" (ngModelChange)="onMenuMatchModeChange($event, fieldConstraint)" styleClass="p-column-filter-matchmode-dropdown"></ui-select>
|
|
17079
|
+
}
|
|
17080
|
+
<p-columnFilterFormElement
|
|
17081
|
+
[type]="type"
|
|
17082
|
+
[field]="field"
|
|
17083
|
+
[filterConstraint]="fieldConstraint"
|
|
17084
|
+
[filterTemplate]="filterTemplate"
|
|
17085
|
+
[placeholder]="placeholder"
|
|
17086
|
+
[minFractionDigits]="minFractionDigits"
|
|
17087
|
+
[maxFractionDigits]="maxFractionDigits"
|
|
17088
|
+
[prefix]="prefix"
|
|
17089
|
+
[suffix]="suffix"
|
|
17090
|
+
[locale]="locale"
|
|
17091
|
+
[localeMatcher]="localeMatcher"
|
|
17092
|
+
[currency]="currency"
|
|
17093
|
+
[currencyDisplay]="currencyDisplay"
|
|
17094
|
+
[useGrouping]="useGrouping"
|
|
17095
|
+
[showTime]="showTime"
|
|
17096
|
+
></p-columnFilterFormElement>
|
|
17097
|
+
<div>
|
|
17098
|
+
@if (showRemoveIcon) {
|
|
17099
|
+
<button type="button" smzButton icon="fa-solid fa-trash" class="p-column-filter-remove-button" (click)="removeConstraint(fieldConstraint)" smzRipple [label]="removeRuleButtonLabel" variant="text" severity="danger" size="sm"></button>
|
|
17100
|
+
}
|
|
17101
|
+
</div>
|
|
17102
|
+
</div>
|
|
17103
|
+
}
|
|
17104
|
+
</div>
|
|
17105
|
+
@if (isShowAddConstraint) {
|
|
17106
|
+
<div class="p-column-filter-add-rule">
|
|
17107
|
+
<button type="button" smzButton [label]="addRuleButtonLabel" icon="fa-solid fa-plus" class="p-column-filter-add-button" (click)="addConstraint()" smzRipple variant="text" size="sm"></button>
|
|
17108
|
+
</div>
|
|
17109
|
+
}
|
|
17110
|
+
<div class="p-column-filter-buttonbar">
|
|
17111
|
+
@if (showClearButton) {
|
|
17112
|
+
<button type="button" smzButton (click)="clearFilter()" [label]="clearButtonLabel" smzRipple variant="outlined" size="sm"></button>
|
|
17113
|
+
}
|
|
17114
|
+
@if (showApplyButton) {
|
|
17115
|
+
<button type="button" smzButton (click)="applyFilter()" [label]="applyButtonLabel" smzRipple size="sm"></button>
|
|
17116
|
+
}
|
|
17117
|
+
</div>
|
|
17118
|
+
}
|
|
17119
|
+
<ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: field }"></ng-container>
|
|
17120
|
+
</div>
|
|
17121
|
+
}
|
|
17122
|
+
</div>
|
|
17113
17123
|
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(() => SmzSelectComponent), selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i0.forwardRef(() => SmzButtonComponent), selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i0.forwardRef(() => ColumnFilterFormElement), selector: "p-columnFilterFormElement", inputs: ["field", "type", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showTime", "showButtons"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('.12s cubic-bezier(0, 0, 0.2, 1)')]), transition(':leave', [animate('.1s linear', style({ opacity: 0 }))])])], encapsulation: i0.ViewEncapsulation.None });
|
|
17114
17124
|
}
|
|
17115
17125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColumnFilter, decorators: [{
|
|
17116
17126
|
type: Component,
|
|
17117
17127
|
args: [{
|
|
17118
17128
|
selector: 'p-columnFilter',
|
|
17119
|
-
template: `
|
|
17120
|
-
<div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
|
|
17121
|
-
@if (display === 'row') {
|
|
17122
|
-
<p-columnFilterFormElement
|
|
17123
|
-
class="p-fluid"
|
|
17124
|
-
[type]="type"
|
|
17125
|
-
[field]="field"
|
|
17126
|
-
[filterConstraint]="$any(dt.filters[field])"
|
|
17127
|
-
[filterTemplate]="filterTemplate"
|
|
17128
|
-
[placeholder]="placeholder"
|
|
17129
|
-
[minFractionDigits]="minFractionDigits"
|
|
17130
|
-
[maxFractionDigits]="maxFractionDigits"
|
|
17131
|
-
[prefix]="prefix"
|
|
17132
|
-
[suffix]="suffix"
|
|
17133
|
-
[locale]="locale"
|
|
17134
|
-
[localeMatcher]="localeMatcher"
|
|
17135
|
-
[currency]="currency"
|
|
17136
|
-
[currencyDisplay]="currencyDisplay"
|
|
17137
|
-
[useGrouping]="useGrouping"
|
|
17138
|
-
[showButtons]="showButtons"
|
|
17139
|
-
[showTime]="showTime"
|
|
17140
|
-
></p-columnFilterFormElement>
|
|
17141
|
-
}
|
|
17142
|
-
@if (showMenuButton) {
|
|
17143
|
-
<button
|
|
17144
|
-
#icon
|
|
17145
|
-
type="button"
|
|
17146
|
-
class="p-column-filter-menu-button p-link"
|
|
17147
|
-
aria-haspopup="true"
|
|
17148
|
-
[attr.aria-expanded]="overlayVisible"
|
|
17149
|
-
[ngClass]="{ 'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter() }"
|
|
17150
|
-
(click)="toggleMenu()"
|
|
17151
|
-
(keydown)="onToggleButtonKeyDown($event)"
|
|
17152
|
-
>
|
|
17153
|
-
<span class="fa-solid fa-filter p-filter-icon"></span>
|
|
17154
|
-
</button>
|
|
17155
|
-
}
|
|
17156
|
-
@if (showClearButton && display === 'row') {
|
|
17157
|
-
<button #icon [ngClass]="{ 'p-hidden-space': !hasRowFilter() }" type="button" class="p-column-filter-clear-button p-link" (click)="clearFilter()">
|
|
17158
|
-
<span class="fa-solid fa-filter-circle-xmark"></span>
|
|
17159
|
-
</button>
|
|
17160
|
-
}
|
|
17161
|
-
@if (showMenu && overlayVisible) {
|
|
17162
|
-
<div
|
|
17163
|
-
[ngClass]="{ 'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu' }"
|
|
17164
|
-
(click)="onContentClick()"
|
|
17165
|
-
[@overlayAnimation]="'visible'"
|
|
17166
|
-
(@overlayAnimation.start)="onOverlayAnimationStart($event)"
|
|
17167
|
-
(@overlayAnimation.done)="onOverlayAnimationEnd($event)"
|
|
17168
|
-
(keydown.escape)="onEscape()"
|
|
17169
|
-
>
|
|
17170
|
-
<ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: field }"></ng-container>
|
|
17171
|
-
@if (display === 'row') {
|
|
17172
|
-
<ul class="p-column-filter-row-items">
|
|
17173
|
-
@for (matchMode of matchModes; track matchMode; let i = $index) {
|
|
17174
|
-
<li
|
|
17175
|
-
class="p-column-filter-row-item"
|
|
17176
|
-
(click)="onRowMatchModeChange(matchMode.value)"
|
|
17177
|
-
(keydown)="onRowMatchModeKeyDown($event)"
|
|
17178
|
-
(keydown.enter)="this.onRowMatchModeChange(matchMode.value)"
|
|
17179
|
-
[ngClass]="{ 'p-highlight': isRowMatchModeSelected(matchMode.value) }"
|
|
17180
|
-
[attr.tabindex]="i === 0 ? '0' : null"
|
|
17181
|
-
>
|
|
17182
|
-
{{ matchMode.label }}
|
|
17183
|
-
</li>
|
|
17184
|
-
}
|
|
17185
|
-
<li class="p-column-filter-separator"></li>
|
|
17186
|
-
<li class="p-column-filter-row-item" (click)="onRowClearItemClick()" (keydown)="onRowMatchModeKeyDown($event)" (keydown.enter)="onRowClearItemClick()">{{ noFilterLabel }}</li>
|
|
17187
|
-
</ul>
|
|
17188
|
-
} @else {
|
|
17189
|
-
@if (isShowOperator) {
|
|
17190
|
-
<div class="p-column-filter-operator">
|
|
17191
|
-
<ui-select [options]="operatorOptions" [ngModel]="operator" (ngModelChange)="onOperatorChange($event)" styleClass="p-column-filter-operator-dropdown"></ui-select>
|
|
17192
|
-
</div>
|
|
17193
|
-
}
|
|
17194
|
-
<div class="p-column-filter-constraints">
|
|
17195
|
-
@for (fieldConstraint of fieldConstraints; track
|
|
17196
|
-
<div class="p-column-filter-constraint">
|
|
17197
|
-
@if (showMatchModes && matchModes) {
|
|
17198
|
-
<ui-select [options]="matchModes" [ngModel]="fieldConstraint.matchMode" (ngModelChange)="onMenuMatchModeChange($event, fieldConstraint)" styleClass="p-column-filter-matchmode-dropdown"></ui-select>
|
|
17199
|
-
}
|
|
17200
|
-
<p-columnFilterFormElement
|
|
17201
|
-
[type]="type"
|
|
17202
|
-
[field]="field"
|
|
17203
|
-
[filterConstraint]="fieldConstraint"
|
|
17204
|
-
[filterTemplate]="filterTemplate"
|
|
17205
|
-
[placeholder]="placeholder"
|
|
17206
|
-
[minFractionDigits]="minFractionDigits"
|
|
17207
|
-
[maxFractionDigits]="maxFractionDigits"
|
|
17208
|
-
[prefix]="prefix"
|
|
17209
|
-
[suffix]="suffix"
|
|
17210
|
-
[locale]="locale"
|
|
17211
|
-
[localeMatcher]="localeMatcher"
|
|
17212
|
-
[currency]="currency"
|
|
17213
|
-
[currencyDisplay]="currencyDisplay"
|
|
17214
|
-
[useGrouping]="useGrouping"
|
|
17215
|
-
[showTime]="showTime"
|
|
17216
|
-
></p-columnFilterFormElement>
|
|
17217
|
-
<div>
|
|
17218
|
-
@if (showRemoveIcon) {
|
|
17219
|
-
<button type="button" smzButton icon="fa-solid fa-trash" class="p-column-filter-remove-button" (click)="removeConstraint(fieldConstraint)" smzRipple [label]="removeRuleButtonLabel" variant="text" severity="danger" size="sm"></button>
|
|
17220
|
-
}
|
|
17221
|
-
</div>
|
|
17222
|
-
</div>
|
|
17223
|
-
}
|
|
17224
|
-
</div>
|
|
17225
|
-
@if (isShowAddConstraint) {
|
|
17226
|
-
<div class="p-column-filter-add-rule">
|
|
17227
|
-
<button type="button" smzButton [label]="addRuleButtonLabel" icon="fa-solid fa-plus" class="p-column-filter-add-button" (click)="addConstraint()" smzRipple variant="text" size="sm"></button>
|
|
17228
|
-
</div>
|
|
17229
|
-
}
|
|
17230
|
-
<div class="p-column-filter-buttonbar">
|
|
17231
|
-
@if (showClearButton) {
|
|
17232
|
-
<button type="button" smzButton (click)="clearFilter()" [label]="clearButtonLabel" smzRipple variant="outlined" size="sm"></button>
|
|
17233
|
-
}
|
|
17234
|
-
@if (showApplyButton) {
|
|
17235
|
-
<button type="button" smzButton (click)="applyFilter()" [label]="applyButtonLabel" smzRipple size="sm"></button>
|
|
17236
|
-
}
|
|
17237
|
-
</div>
|
|
17238
|
-
}
|
|
17239
|
-
<ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: field }"></ng-container>
|
|
17240
|
-
</div>
|
|
17241
|
-
}
|
|
17242
|
-
</div>
|
|
17129
|
+
template: `
|
|
17130
|
+
<div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
|
|
17131
|
+
@if (display === 'row') {
|
|
17132
|
+
<p-columnFilterFormElement
|
|
17133
|
+
class="p-fluid"
|
|
17134
|
+
[type]="type"
|
|
17135
|
+
[field]="field"
|
|
17136
|
+
[filterConstraint]="$any(dt.filters[field])"
|
|
17137
|
+
[filterTemplate]="filterTemplate"
|
|
17138
|
+
[placeholder]="placeholder"
|
|
17139
|
+
[minFractionDigits]="minFractionDigits"
|
|
17140
|
+
[maxFractionDigits]="maxFractionDigits"
|
|
17141
|
+
[prefix]="prefix"
|
|
17142
|
+
[suffix]="suffix"
|
|
17143
|
+
[locale]="locale"
|
|
17144
|
+
[localeMatcher]="localeMatcher"
|
|
17145
|
+
[currency]="currency"
|
|
17146
|
+
[currencyDisplay]="currencyDisplay"
|
|
17147
|
+
[useGrouping]="useGrouping"
|
|
17148
|
+
[showButtons]="showButtons"
|
|
17149
|
+
[showTime]="showTime"
|
|
17150
|
+
></p-columnFilterFormElement>
|
|
17151
|
+
}
|
|
17152
|
+
@if (showMenuButton) {
|
|
17153
|
+
<button
|
|
17154
|
+
#icon
|
|
17155
|
+
type="button"
|
|
17156
|
+
class="p-column-filter-menu-button p-link"
|
|
17157
|
+
aria-haspopup="true"
|
|
17158
|
+
[attr.aria-expanded]="overlayVisible"
|
|
17159
|
+
[ngClass]="{ 'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter() }"
|
|
17160
|
+
(click)="toggleMenu()"
|
|
17161
|
+
(keydown)="onToggleButtonKeyDown($event)"
|
|
17162
|
+
>
|
|
17163
|
+
<span class="fa-solid fa-filter p-filter-icon"></span>
|
|
17164
|
+
</button>
|
|
17165
|
+
}
|
|
17166
|
+
@if (showClearButton && display === 'row') {
|
|
17167
|
+
<button #icon [ngClass]="{ 'p-hidden-space': !hasRowFilter() }" type="button" class="p-column-filter-clear-button p-link" (click)="clearFilter()">
|
|
17168
|
+
<span class="fa-solid fa-filter-circle-xmark"></span>
|
|
17169
|
+
</button>
|
|
17170
|
+
}
|
|
17171
|
+
@if (showMenu && overlayVisible) {
|
|
17172
|
+
<div
|
|
17173
|
+
[ngClass]="{ 'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu' }"
|
|
17174
|
+
(click)="onContentClick()"
|
|
17175
|
+
[@overlayAnimation]="'visible'"
|
|
17176
|
+
(@overlayAnimation.start)="onOverlayAnimationStart($event)"
|
|
17177
|
+
(@overlayAnimation.done)="onOverlayAnimationEnd($event)"
|
|
17178
|
+
(keydown.escape)="onEscape()"
|
|
17179
|
+
>
|
|
17180
|
+
<ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: field }"></ng-container>
|
|
17181
|
+
@if (display === 'row') {
|
|
17182
|
+
<ul class="p-column-filter-row-items">
|
|
17183
|
+
@for (matchMode of matchModes; track matchMode.value; let i = $index) {
|
|
17184
|
+
<li
|
|
17185
|
+
class="p-column-filter-row-item"
|
|
17186
|
+
(click)="onRowMatchModeChange(matchMode.value)"
|
|
17187
|
+
(keydown)="onRowMatchModeKeyDown($event)"
|
|
17188
|
+
(keydown.enter)="this.onRowMatchModeChange(matchMode.value)"
|
|
17189
|
+
[ngClass]="{ 'p-highlight': isRowMatchModeSelected(matchMode.value) }"
|
|
17190
|
+
[attr.tabindex]="i === 0 ? '0' : null"
|
|
17191
|
+
>
|
|
17192
|
+
{{ matchMode.label }}
|
|
17193
|
+
</li>
|
|
17194
|
+
}
|
|
17195
|
+
<li class="p-column-filter-separator"></li>
|
|
17196
|
+
<li class="p-column-filter-row-item" (click)="onRowClearItemClick()" (keydown)="onRowMatchModeKeyDown($event)" (keydown.enter)="onRowClearItemClick()">{{ noFilterLabel }}</li>
|
|
17197
|
+
</ul>
|
|
17198
|
+
} @else {
|
|
17199
|
+
@if (isShowOperator) {
|
|
17200
|
+
<div class="p-column-filter-operator">
|
|
17201
|
+
<ui-select [options]="operatorOptions" [ngModel]="operator" (ngModelChange)="onOperatorChange($event)" styleClass="p-column-filter-operator-dropdown"></ui-select>
|
|
17202
|
+
</div>
|
|
17203
|
+
}
|
|
17204
|
+
<div class="p-column-filter-constraints">
|
|
17205
|
+
@for (fieldConstraint of fieldConstraints; track $index; let i = $index) {
|
|
17206
|
+
<div class="p-column-filter-constraint">
|
|
17207
|
+
@if (showMatchModes && matchModes) {
|
|
17208
|
+
<ui-select [options]="matchModes" [ngModel]="fieldConstraint.matchMode" (ngModelChange)="onMenuMatchModeChange($event, fieldConstraint)" styleClass="p-column-filter-matchmode-dropdown"></ui-select>
|
|
17209
|
+
}
|
|
17210
|
+
<p-columnFilterFormElement
|
|
17211
|
+
[type]="type"
|
|
17212
|
+
[field]="field"
|
|
17213
|
+
[filterConstraint]="fieldConstraint"
|
|
17214
|
+
[filterTemplate]="filterTemplate"
|
|
17215
|
+
[placeholder]="placeholder"
|
|
17216
|
+
[minFractionDigits]="minFractionDigits"
|
|
17217
|
+
[maxFractionDigits]="maxFractionDigits"
|
|
17218
|
+
[prefix]="prefix"
|
|
17219
|
+
[suffix]="suffix"
|
|
17220
|
+
[locale]="locale"
|
|
17221
|
+
[localeMatcher]="localeMatcher"
|
|
17222
|
+
[currency]="currency"
|
|
17223
|
+
[currencyDisplay]="currencyDisplay"
|
|
17224
|
+
[useGrouping]="useGrouping"
|
|
17225
|
+
[showTime]="showTime"
|
|
17226
|
+
></p-columnFilterFormElement>
|
|
17227
|
+
<div>
|
|
17228
|
+
@if (showRemoveIcon) {
|
|
17229
|
+
<button type="button" smzButton icon="fa-solid fa-trash" class="p-column-filter-remove-button" (click)="removeConstraint(fieldConstraint)" smzRipple [label]="removeRuleButtonLabel" variant="text" severity="danger" size="sm"></button>
|
|
17230
|
+
}
|
|
17231
|
+
</div>
|
|
17232
|
+
</div>
|
|
17233
|
+
}
|
|
17234
|
+
</div>
|
|
17235
|
+
@if (isShowAddConstraint) {
|
|
17236
|
+
<div class="p-column-filter-add-rule">
|
|
17237
|
+
<button type="button" smzButton [label]="addRuleButtonLabel" icon="fa-solid fa-plus" class="p-column-filter-add-button" (click)="addConstraint()" smzRipple variant="text" size="sm"></button>
|
|
17238
|
+
</div>
|
|
17239
|
+
}
|
|
17240
|
+
<div class="p-column-filter-buttonbar">
|
|
17241
|
+
@if (showClearButton) {
|
|
17242
|
+
<button type="button" smzButton (click)="clearFilter()" [label]="clearButtonLabel" smzRipple variant="outlined" size="sm"></button>
|
|
17243
|
+
}
|
|
17244
|
+
@if (showApplyButton) {
|
|
17245
|
+
<button type="button" smzButton (click)="applyFilter()" [label]="applyButtonLabel" smzRipple size="sm"></button>
|
|
17246
|
+
}
|
|
17247
|
+
</div>
|
|
17248
|
+
}
|
|
17249
|
+
<ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: field }"></ng-container>
|
|
17250
|
+
</div>
|
|
17251
|
+
}
|
|
17252
|
+
</div>
|
|
17243
17253
|
`,
|
|
17244
17254
|
animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('.12s cubic-bezier(0, 0, 0.2, 1)')]), transition(':leave', [animate('.1s linear', style({ opacity: 0 }))])])],
|
|
17245
17255
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -17342,16 +17352,54 @@ class ColumnFilterFormElement {
|
|
|
17342
17352
|
this.dt._filter();
|
|
17343
17353
|
};
|
|
17344
17354
|
}
|
|
17355
|
+
pendingFilter = null;
|
|
17356
|
+
/**
|
|
17357
|
+
* Sem botao "Aplicar" (padrao dos filtros do smz), qualquer mudanca de valor filtra a tabela:
|
|
17358
|
+
* texto e numero com debounce, data e booleano na hora. Com o botao, so booleano/vazio filtram (comportamento do PrimeNG).
|
|
17359
|
+
*/
|
|
17345
17360
|
onModelChange(value) {
|
|
17346
17361
|
this.filterConstraint.value = value;
|
|
17347
17362
|
if (this.type === 'boolean' || value === '') {
|
|
17363
|
+
this.cancelPendingFilter();
|
|
17348
17364
|
this.dt._filter();
|
|
17349
17365
|
}
|
|
17366
|
+
else if (!this.colFilter.showApplyButton) {
|
|
17367
|
+
this.cancelPendingFilter();
|
|
17368
|
+
if (this.type === 'date') {
|
|
17369
|
+
this.dt._filter();
|
|
17370
|
+
}
|
|
17371
|
+
else {
|
|
17372
|
+
this.pendingFilter = setTimeout(() => {
|
|
17373
|
+
this.pendingFilter = null;
|
|
17374
|
+
this.dt._filter();
|
|
17375
|
+
this.dt.cd?.markForCheck();
|
|
17376
|
+
}, 300);
|
|
17377
|
+
}
|
|
17378
|
+
}
|
|
17350
17379
|
}
|
|
17351
17380
|
onTextInputEnterKeyDown(event) {
|
|
17381
|
+
this.cancelPendingFilter();
|
|
17352
17382
|
this.dt._filter();
|
|
17353
17383
|
event.preventDefault();
|
|
17354
17384
|
}
|
|
17385
|
+
cancelPendingFilter() {
|
|
17386
|
+
if (this.pendingFilter !== null) {
|
|
17387
|
+
clearTimeout(this.pendingFilter);
|
|
17388
|
+
this.pendingFilter = null;
|
|
17389
|
+
}
|
|
17390
|
+
}
|
|
17391
|
+
/** Fechar o painel antes do debounce terminar nao pode perder o filtro digitado: aplica o que estava pendente. */
|
|
17392
|
+
ngOnDestroy() {
|
|
17393
|
+
if (this.pendingFilter !== null) {
|
|
17394
|
+
this.cancelPendingFilter();
|
|
17395
|
+
// Estamos no meio de uma deteccao de mudancas (o painel acabou de fechar): filtra depois dela e agenda uma nova.
|
|
17396
|
+
const table = this.dt;
|
|
17397
|
+
queueMicrotask(() => {
|
|
17398
|
+
table._filter();
|
|
17399
|
+
table.cd.markForCheck();
|
|
17400
|
+
});
|
|
17401
|
+
}
|
|
17402
|
+
}
|
|
17355
17403
|
onNumericInputKeyDown(event) {
|
|
17356
17404
|
if (event.key === 'Enter') {
|
|
17357
17405
|
this.dt._filter();
|
|
@@ -17359,94 +17407,94 @@ class ColumnFilterFormElement {
|
|
|
17359
17407
|
}
|
|
17360
17408
|
}
|
|
17361
17409
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColumnFilterFormElement, deps: [{ token: Table }, { token: ColumnFilter }], target: i0.ɵɵFactoryTarget.Component });
|
|
17362
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ColumnFilterFormElement, isStandalone: false, selector: "p-columnFilterFormElement", inputs: { field: "field", type: "type", filterConstraint: "filterConstraint", filterTemplate: "filterTemplate", placeholder: "placeholder", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: "useGrouping", showTime: "showTime", showButtons: "showButtons" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
17363
|
-
@if (filterTemplate) {
|
|
17364
|
-
<ng-container
|
|
17365
|
-
*ngTemplateOutlet="
|
|
17366
|
-
filterTemplate;
|
|
17367
|
-
context: {
|
|
17368
|
-
$implicit: filterConstraint.value,
|
|
17369
|
-
filterCallback: filterCallback,
|
|
17370
|
-
type: type,
|
|
17371
|
-
field: field,
|
|
17372
|
-
filterConstraint: filterConstraint,
|
|
17373
|
-
placeholder: placeholder,
|
|
17374
|
-
minFractionDigits: minFractionDigits,
|
|
17375
|
-
maxFractionDigits: maxFractionDigits,
|
|
17376
|
-
prefix: prefix,
|
|
17377
|
-
suffix: suffix,
|
|
17378
|
-
locale: locale,
|
|
17379
|
-
localeMatcher: localeMatcher,
|
|
17380
|
-
currency: currency,
|
|
17381
|
-
currencyDisplay: currencyDisplay,
|
|
17382
|
-
useGrouping: useGrouping,
|
|
17383
|
-
showButtons: showButtons
|
|
17384
|
-
}
|
|
17385
|
-
"
|
|
17386
|
-
></ng-container>
|
|
17387
|
-
} @else {
|
|
17388
|
-
@switch (type) {
|
|
17389
|
-
@case ('text') {
|
|
17390
|
-
<input type="text" smzInputText [value]="filterConstraint?.value" (input)="onModelChange($any($event.target).value)" (keydown.enter)="onTextInputEnterKeyDown($any($event))" [attr.placeholder]="placeholder" />
|
|
17391
|
-
}
|
|
17392
|
-
@case ('numeric') {
|
|
17393
|
-
<ui-input-number [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (keyDown)="onNumericInputKeyDown($event)" [showButtons]="showButtons" [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder" [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></ui-input-number>
|
|
17394
|
-
}
|
|
17395
|
-
@case ('boolean') {
|
|
17396
|
-
<ui-checkbox [ngModel]="filterConstraint?.value" [binary]="false" (ngModelChange)="onModelChange($event)"></ui-checkbox>
|
|
17397
|
-
}
|
|
17398
|
-
@case ('date') {
|
|
17399
|
-
<ui-date-picker [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" [showTime]="showTime"></ui-date-picker>
|
|
17400
|
-
}
|
|
17401
|
-
}
|
|
17402
|
-
}
|
|
17403
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => SmzInputTextDirective), selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i0.forwardRef(() => SmzCheckboxComponent), selector: "ui-checkbox", inputs: ["label", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i0.forwardRef(() => SmzDatePickerComponent), selector: "ui-date-picker", inputs: ["selectionMode", "dateFormat", "showTime", "timeOnly", "showSeconds", "hourFormat", "minDate", "maxDate", "showButtonBar", "showIcon", "showOnFocus", "keepInvalid", "readonlyInput", "placeholder", "inputId", "styleClass", "appendTo", "touchUI", "focusTrap"], outputs: ["selected", "cleared", "opened", "closed", "blurred"] }, { kind: "component", type: i0.forwardRef(() => SmzInputNumberComponent), selector: "ui-input-number", inputs: ["mode", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "step", "prefix", "suffix", "showButtons", "showClear", "allowEmpty", "placeholder", "readonly", "inputId"], outputs: ["inputed", "keyDown", "blurred", "focused"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
17410
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ColumnFilterFormElement, isStandalone: false, selector: "p-columnFilterFormElement", inputs: { field: "field", type: "type", filterConstraint: "filterConstraint", filterTemplate: "filterTemplate", placeholder: "placeholder", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: "useGrouping", showTime: "showTime", showButtons: "showButtons" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
|
|
17411
|
+
@if (filterTemplate) {
|
|
17412
|
+
<ng-container
|
|
17413
|
+
*ngTemplateOutlet="
|
|
17414
|
+
filterTemplate;
|
|
17415
|
+
context: {
|
|
17416
|
+
$implicit: filterConstraint.value,
|
|
17417
|
+
filterCallback: filterCallback,
|
|
17418
|
+
type: type,
|
|
17419
|
+
field: field,
|
|
17420
|
+
filterConstraint: filterConstraint,
|
|
17421
|
+
placeholder: placeholder,
|
|
17422
|
+
minFractionDigits: minFractionDigits,
|
|
17423
|
+
maxFractionDigits: maxFractionDigits,
|
|
17424
|
+
prefix: prefix,
|
|
17425
|
+
suffix: suffix,
|
|
17426
|
+
locale: locale,
|
|
17427
|
+
localeMatcher: localeMatcher,
|
|
17428
|
+
currency: currency,
|
|
17429
|
+
currencyDisplay: currencyDisplay,
|
|
17430
|
+
useGrouping: useGrouping,
|
|
17431
|
+
showButtons: showButtons
|
|
17432
|
+
}
|
|
17433
|
+
"
|
|
17434
|
+
></ng-container>
|
|
17435
|
+
} @else {
|
|
17436
|
+
@switch (type) {
|
|
17437
|
+
@case ('text') {
|
|
17438
|
+
<input type="text" smzInputText [value]="filterConstraint?.value" (input)="onModelChange($any($event.target).value)" (keydown.enter)="onTextInputEnterKeyDown($any($event))" [attr.placeholder]="placeholder" />
|
|
17439
|
+
}
|
|
17440
|
+
@case ('numeric') {
|
|
17441
|
+
<ui-input-number [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (keyDown)="onNumericInputKeyDown($event)" [showButtons]="showButtons" [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder" [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></ui-input-number>
|
|
17442
|
+
}
|
|
17443
|
+
@case ('boolean') {
|
|
17444
|
+
<ui-checkbox [ngModel]="filterConstraint?.value" [binary]="false" (ngModelChange)="onModelChange($event)"></ui-checkbox>
|
|
17445
|
+
}
|
|
17446
|
+
@case ('date') {
|
|
17447
|
+
<ui-date-picker [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" [showTime]="showTime"></ui-date-picker>
|
|
17448
|
+
}
|
|
17449
|
+
}
|
|
17450
|
+
}
|
|
17451
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => SmzInputTextDirective), selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i0.forwardRef(() => SmzCheckboxComponent), selector: "ui-checkbox", inputs: ["label", "inputId", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$1.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i0.forwardRef(() => SmzDatePickerComponent), selector: "ui-date-picker", inputs: ["selectionMode", "dateFormat", "showTime", "timeOnly", "showSeconds", "hourFormat", "minDate", "maxDate", "showButtonBar", "showIcon", "showOnFocus", "keepInvalid", "readonlyInput", "placeholder", "inputId", "styleClass", "appendTo", "touchUI", "focusTrap"], outputs: ["selected", "cleared", "opened", "closed", "blurred"] }, { kind: "component", type: i0.forwardRef(() => SmzInputNumberComponent), selector: "ui-input-number", inputs: ["mode", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "step", "prefix", "suffix", "showButtons", "showClear", "allowEmpty", "placeholder", "readonly", "inputId"], outputs: ["inputed", "keyDown", "blurred", "focused"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
17404
17452
|
}
|
|
17405
17453
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
|
|
17406
17454
|
type: Component,
|
|
17407
17455
|
args: [{
|
|
17408
17456
|
selector: 'p-columnFilterFormElement',
|
|
17409
|
-
template: `
|
|
17410
|
-
@if (filterTemplate) {
|
|
17411
|
-
<ng-container
|
|
17412
|
-
*ngTemplateOutlet="
|
|
17413
|
-
filterTemplate;
|
|
17414
|
-
context: {
|
|
17415
|
-
$implicit: filterConstraint.value,
|
|
17416
|
-
filterCallback: filterCallback,
|
|
17417
|
-
type: type,
|
|
17418
|
-
field: field,
|
|
17419
|
-
filterConstraint: filterConstraint,
|
|
17420
|
-
placeholder: placeholder,
|
|
17421
|
-
minFractionDigits: minFractionDigits,
|
|
17422
|
-
maxFractionDigits: maxFractionDigits,
|
|
17423
|
-
prefix: prefix,
|
|
17424
|
-
suffix: suffix,
|
|
17425
|
-
locale: locale,
|
|
17426
|
-
localeMatcher: localeMatcher,
|
|
17427
|
-
currency: currency,
|
|
17428
|
-
currencyDisplay: currencyDisplay,
|
|
17429
|
-
useGrouping: useGrouping,
|
|
17430
|
-
showButtons: showButtons
|
|
17431
|
-
}
|
|
17432
|
-
"
|
|
17433
|
-
></ng-container>
|
|
17434
|
-
} @else {
|
|
17435
|
-
@switch (type) {
|
|
17436
|
-
@case ('text') {
|
|
17437
|
-
<input type="text" smzInputText [value]="filterConstraint?.value" (input)="onModelChange($any($event.target).value)" (keydown.enter)="onTextInputEnterKeyDown($any($event))" [attr.placeholder]="placeholder" />
|
|
17438
|
-
}
|
|
17439
|
-
@case ('numeric') {
|
|
17440
|
-
<ui-input-number [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (keyDown)="onNumericInputKeyDown($event)" [showButtons]="showButtons" [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder" [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></ui-input-number>
|
|
17441
|
-
}
|
|
17442
|
-
@case ('boolean') {
|
|
17443
|
-
<ui-checkbox [ngModel]="filterConstraint?.value" [binary]="false" (ngModelChange)="onModelChange($event)"></ui-checkbox>
|
|
17444
|
-
}
|
|
17445
|
-
@case ('date') {
|
|
17446
|
-
<ui-date-picker [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" [showTime]="showTime"></ui-date-picker>
|
|
17447
|
-
}
|
|
17448
|
-
}
|
|
17449
|
-
}
|
|
17457
|
+
template: `
|
|
17458
|
+
@if (filterTemplate) {
|
|
17459
|
+
<ng-container
|
|
17460
|
+
*ngTemplateOutlet="
|
|
17461
|
+
filterTemplate;
|
|
17462
|
+
context: {
|
|
17463
|
+
$implicit: filterConstraint.value,
|
|
17464
|
+
filterCallback: filterCallback,
|
|
17465
|
+
type: type,
|
|
17466
|
+
field: field,
|
|
17467
|
+
filterConstraint: filterConstraint,
|
|
17468
|
+
placeholder: placeholder,
|
|
17469
|
+
minFractionDigits: minFractionDigits,
|
|
17470
|
+
maxFractionDigits: maxFractionDigits,
|
|
17471
|
+
prefix: prefix,
|
|
17472
|
+
suffix: suffix,
|
|
17473
|
+
locale: locale,
|
|
17474
|
+
localeMatcher: localeMatcher,
|
|
17475
|
+
currency: currency,
|
|
17476
|
+
currencyDisplay: currencyDisplay,
|
|
17477
|
+
useGrouping: useGrouping,
|
|
17478
|
+
showButtons: showButtons
|
|
17479
|
+
}
|
|
17480
|
+
"
|
|
17481
|
+
></ng-container>
|
|
17482
|
+
} @else {
|
|
17483
|
+
@switch (type) {
|
|
17484
|
+
@case ('text') {
|
|
17485
|
+
<input type="text" smzInputText [value]="filterConstraint?.value" (input)="onModelChange($any($event.target).value)" (keydown.enter)="onTextInputEnterKeyDown($any($event))" [attr.placeholder]="placeholder" />
|
|
17486
|
+
}
|
|
17487
|
+
@case ('numeric') {
|
|
17488
|
+
<ui-input-number [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" (keyDown)="onNumericInputKeyDown($event)" [showButtons]="showButtons" [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits" [prefix]="prefix" [suffix]="suffix" [placeholder]="placeholder" [mode]="currency ? 'currency' : 'decimal'" [locale]="locale" [localeMatcher]="localeMatcher" [currency]="currency" [currencyDisplay]="currencyDisplay" [useGrouping]="useGrouping"></ui-input-number>
|
|
17489
|
+
}
|
|
17490
|
+
@case ('boolean') {
|
|
17491
|
+
<ui-checkbox [ngModel]="filterConstraint?.value" [binary]="false" (ngModelChange)="onModelChange($event)"></ui-checkbox>
|
|
17492
|
+
}
|
|
17493
|
+
@case ('date') {
|
|
17494
|
+
<ui-date-picker [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" [showTime]="showTime"></ui-date-picker>
|
|
17495
|
+
}
|
|
17496
|
+
}
|
|
17497
|
+
}
|
|
17450
17498
|
`,
|
|
17451
17499
|
encapsulation: ViewEncapsulation.None,
|
|
17452
17500
|
host: {
|
|
@@ -17753,41 +17801,7 @@ class SmzMenuItemActionsDirective {
|
|
|
17753
17801
|
data;
|
|
17754
17802
|
collapse = new EventEmitter();
|
|
17755
17803
|
onClick(event) {
|
|
17756
|
-
|
|
17757
|
-
return;
|
|
17758
|
-
}
|
|
17759
|
-
if (this.item.confirmable?.isCritical) {
|
|
17760
|
-
CriticalConfirmableFunction(this.item.confirmable.title, this.item.confirmable.message, () => { this.resolveCommand(event); });
|
|
17761
|
-
}
|
|
17762
|
-
else if (this.item.confirmable != null && this.item.confirmable.isCritical === false) {
|
|
17763
|
-
ConfirmableFunction(this.item.confirmable.title, this.item.confirmable.message, () => { this.resolveCommand(event); });
|
|
17764
|
-
}
|
|
17765
|
-
else {
|
|
17766
|
-
this.resolveCommand(event);
|
|
17767
|
-
}
|
|
17768
|
-
}
|
|
17769
|
-
resolveCommand(event) {
|
|
17770
|
-
if (this.item.command != null) {
|
|
17771
|
-
if (this.item.dataMap != null) {
|
|
17772
|
-
// Caso o menu tenha uma função para remapear o data
|
|
17773
|
-
const mappedData = this.item.dataMap(this.data);
|
|
17774
|
-
this.item.command(mappedData);
|
|
17775
|
-
}
|
|
17776
|
-
else {
|
|
17777
|
-
this.item.command(this.data);
|
|
17778
|
-
}
|
|
17779
|
-
}
|
|
17780
|
-
else if (this.item.routerLink != null) {
|
|
17781
|
-
if (this.item.queryParams != null) {
|
|
17782
|
-
this.store.dispatch(new Navigate([this.item.routerLink[0], this.item.queryParams]));
|
|
17783
|
-
}
|
|
17784
|
-
else {
|
|
17785
|
-
this.store.dispatch(new Navigate(this.item.routerLink));
|
|
17786
|
-
}
|
|
17787
|
-
}
|
|
17788
|
-
else {
|
|
17789
|
-
console.error('Nether command nor routerLink was set on the item. Please review the menu item model', event, this.item);
|
|
17790
|
-
}
|
|
17804
|
+
executeSmzMenuItem(this.store, this.item, this.data, event);
|
|
17791
17805
|
}
|
|
17792
17806
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzMenuItemActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
17793
17807
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.1", type: SmzMenuItemActionsDirective, isStandalone: false, selector: "[smzMenuItemAction]", inputs: { item: "item", data: "data" }, outputs: { collapse: "collapse" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
|
|
@@ -17808,6 +17822,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
17808
17822
|
type: HostListener,
|
|
17809
17823
|
args: ['click', ['$event']]
|
|
17810
17824
|
}] } });
|
|
17825
|
+
/**
|
|
17826
|
+
* Executa um item de menu com o `data` da linha: respeita `disabled`, `confirmable`, `dataMap`, `command` e `routerLink`/`queryParams`.
|
|
17827
|
+
* Compartilhado entre o modo inline (`smzMenuItemAction`) e o modo overlay (`smz-menu`).
|
|
17828
|
+
*/
|
|
17829
|
+
function executeSmzMenuItem(store, item, data, event) {
|
|
17830
|
+
if (item.disabled) {
|
|
17831
|
+
return;
|
|
17832
|
+
}
|
|
17833
|
+
const resolve = () => {
|
|
17834
|
+
if (item.command != null) {
|
|
17835
|
+
item.command(item.dataMap != null ? item.dataMap(data) : data);
|
|
17836
|
+
}
|
|
17837
|
+
else if (item.routerLink != null) {
|
|
17838
|
+
store.dispatch(new Navigate(item.queryParams != null ? [item.routerLink[0], item.queryParams] : item.routerLink));
|
|
17839
|
+
}
|
|
17840
|
+
else {
|
|
17841
|
+
console.error('Nether command nor routerLink was set on the item. Please review the menu item model', event, item);
|
|
17842
|
+
}
|
|
17843
|
+
};
|
|
17844
|
+
if (item.confirmable?.isCritical) {
|
|
17845
|
+
CriticalConfirmableFunction(item.confirmable.title, item.confirmable.message, resolve);
|
|
17846
|
+
}
|
|
17847
|
+
else if (item.confirmable != null && item.confirmable.isCritical === false) {
|
|
17848
|
+
ConfirmableFunction(item.confirmable.title, item.confirmable.message, resolve);
|
|
17849
|
+
}
|
|
17850
|
+
else {
|
|
17851
|
+
resolve();
|
|
17852
|
+
}
|
|
17853
|
+
}
|
|
17811
17854
|
|
|
17812
17855
|
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef, no-underscore-dangle, no-console, eqeqeq, @typescript-eslint/no-unused-vars, @typescript-eslint/no-useless-constructor, @typescript-eslint/explicit-member-accessibility, max-len, no-prototype-builtins, @typescript-eslint/no-shadow, @typescript-eslint/no-empty-object-type */
|
|
17813
17856
|
class SmzFlattenMenuPipe {
|
|
@@ -17888,9 +17931,27 @@ class SmzMenuComponent {
|
|
|
17888
17931
|
toggle(event, actionMenu) {
|
|
17889
17932
|
const items = this.callback != null ? this.callback(this.data) : this.items;
|
|
17890
17933
|
const store = GlobalInjector.instance.get(Store);
|
|
17891
|
-
this.menuItems = new SmzMenuPipe(store).transform(items, this.data);
|
|
17934
|
+
this.menuItems = this.bindActions(new SmzMenuPipe(store).transform(items, this.data), store);
|
|
17892
17935
|
actionMenu.toggle(event);
|
|
17893
17936
|
}
|
|
17937
|
+
/**
|
|
17938
|
+
* O `ui-menu` chama `command({ originalEvent, item })`; aqui cada item passa a executar a acao com o `data` da linha
|
|
17939
|
+
* (confirmacao, `dataMap`, `routerLink`/`queryParams`), como no modo inline.
|
|
17940
|
+
*/
|
|
17941
|
+
bindActions(items, store) {
|
|
17942
|
+
if (items == null)
|
|
17943
|
+
return items;
|
|
17944
|
+
return items.map((item) => {
|
|
17945
|
+
const hasAction = item.command != null || item.routerLink != null;
|
|
17946
|
+
const bound = { ...item, items: item.items ? this.bindActions(item.items, store) : item.items };
|
|
17947
|
+
if (hasAction) {
|
|
17948
|
+
const original = { ...item };
|
|
17949
|
+
bound.routerLink = undefined;
|
|
17950
|
+
bound.command = (event) => executeSmzMenuItem(store, original, this.data, event?.originalEvent ?? event);
|
|
17951
|
+
}
|
|
17952
|
+
return bound;
|
|
17953
|
+
});
|
|
17954
|
+
}
|
|
17894
17955
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17895
17956
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzMenuComponent, isStandalone: false, selector: "smz-menu", inputs: { items: "items", callback: "callback", data: "data", buttonClass: "buttonClass", styleClass: "styleClass", icon: "icon", behavior: "behavior", testId: "testId" }, ngImport: i0, template: "\r\n@switch (behavior) {\r\n @case ('overlay') {\r\n <ui-menu #actionMenu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></ui-menu>\r\n <button smzButton id=\"action-button\" type=\"button\" [attr.data-testid]=\"testId\" [styleClass]=\"[buttonClass, styleClass]\" [icon]=\"icon\" (click)=\"toggle($event, actionMenu)\"></button>\r\n }\r\n @case ('inline') {\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n @for (item of (items | smzFlattenMenu : data); track item) {\r\n @if (item.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"item\" [data]=\"data\" [icon]=\"item.icon\" [styleClass]=\"item.styleClass\" [disabled]=\"item.disabled\" [smzTooltip]=\"item.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n}\r\n", dependencies: [{ kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzMenuListComponent, selector: "ui-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "appendTo", "baseZIndex"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17896
17957
|
}
|
|
@@ -17985,6 +18046,8 @@ class SmzColumnFilterComponent {
|
|
|
17985
18046
|
showAddButton = true;
|
|
17986
18047
|
showMatchModes = true;
|
|
17987
18048
|
showOperator = true;
|
|
18049
|
+
/** Padrao `false`: todos os filtros de coluna do smz aplicam na hora (sem botao "Aplicar"), de forma consistente. */
|
|
18050
|
+
showApplyButton = false;
|
|
17988
18051
|
type = 'text';
|
|
17989
18052
|
showTime = false;
|
|
17990
18053
|
documentClickListener;
|
|
@@ -18027,7 +18090,7 @@ class SmzColumnFilterComponent {
|
|
|
18027
18090
|
}
|
|
18028
18091
|
}
|
|
18029
18092
|
isOutsideClicked(event) {
|
|
18030
|
-
return !(this.columnFilter.overlay.isSameNode(event.target) || this.columnFilter.overlay.contains(event.target));
|
|
18093
|
+
return !(isInsideCdkOverlay(event) || this.columnFilter.overlay.isSameNode(event.target) || this.columnFilter.overlay.contains(event.target));
|
|
18031
18094
|
}
|
|
18032
18095
|
hide() {
|
|
18033
18096
|
this.columnFilter.hide();
|
|
@@ -18038,7 +18101,7 @@ class SmzColumnFilterComponent {
|
|
|
18038
18101
|
this.unbindDocumentClickListener();
|
|
18039
18102
|
}
|
|
18040
18103
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzColumnFilterComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
18041
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzColumnFilterComponent, isStandalone: false, selector: "smz-column-filter", inputs: { currency: "currency", display: "display", field: "field", matchMode: "matchMode", showAddButton: "showAddButton", showMatchModes: "showMatchModes", showOperator: "showOperator", type: "type", showTime: "showTime" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "columnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: `
|
|
18104
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzColumnFilterComponent, isStandalone: false, selector: "smz-column-filter", inputs: { currency: "currency", display: "display", field: "field", matchMode: "matchMode", showAddButton: "showAddButton", showMatchModes: "showMatchModes", showOperator: "showOperator", showApplyButton: "showApplyButton", type: "type", showTime: "showTime" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "columnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: `
|
|
18042
18105
|
<div (click)="bindDocumentClickListener()">
|
|
18043
18106
|
<p-columnFilter
|
|
18044
18107
|
[currency]="currency"
|
|
@@ -18048,6 +18111,7 @@ class SmzColumnFilterComponent {
|
|
|
18048
18111
|
[showAddButton]="showAddButton"
|
|
18049
18112
|
[showMatchModes]="showMatchModes"
|
|
18050
18113
|
[showOperator]="showOperator"
|
|
18114
|
+
[showApplyButton]="showApplyButton"
|
|
18051
18115
|
[type]="type">
|
|
18052
18116
|
<!-- TODO: [showTime]="showTime" -->
|
|
18053
18117
|
|
|
@@ -18080,6 +18144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
18080
18144
|
[showAddButton]="showAddButton"
|
|
18081
18145
|
[showMatchModes]="showMatchModes"
|
|
18082
18146
|
[showOperator]="showOperator"
|
|
18147
|
+
[showApplyButton]="showApplyButton"
|
|
18083
18148
|
[type]="type">
|
|
18084
18149
|
<!-- TODO: [showTime]="showTime" -->
|
|
18085
18150
|
|
|
@@ -18119,6 +18184,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
18119
18184
|
type: Input
|
|
18120
18185
|
}], showOperator: [{
|
|
18121
18186
|
type: Input
|
|
18187
|
+
}], showApplyButton: [{
|
|
18188
|
+
type: Input
|
|
18122
18189
|
}], type: [{
|
|
18123
18190
|
type: Input
|
|
18124
18191
|
}], showTime: [{
|
|
@@ -22492,7 +22559,7 @@ class SmzTableComponent {
|
|
|
22492
22559
|
this.tableHelper.clear(this.tableKey);
|
|
22493
22560
|
}
|
|
22494
22561
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TableEditableService }, { token: TableFormsService }, { token: TableHelperService }, { token: i1$3.Store }, { token: SmzExcelService }], target: i0.ɵɵFactoryTarget.Component });
|
|
22495
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableComponent, isStandalone: false, selector: "smz-ui-table", inputs: { state: "state", items: "items", loading: "loading" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", columnVisibilityChange: "columnVisibilityChange", create: "create", update: "update", delete: "delete" }, host: { properties: { "attr.data-testid": "this.hostTestId" } }, providers: [TableEditableService, TableFormsService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }, { propertyName: "columnMultiselect", first: true, predicate: ["columnMultiselect"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state | tableContext; as context) {\n @if ((context.state.emptyFeedback != null && (context.state.emptyFeedback.extraInfo || context.state.emptyFeedback.image || context.state.emptyFeedback.actionButtons)) && (items != null && items.length === 0) && context.state.emptyFeedback.isFeatured) {\n <smz-data-info\n [attr.data-testid]=\"buildTableTestId('empty')\"\n [image]=\"context.state.emptyFeedback.image\"\n [message]=\"context.state.emptyFeedback.message\"\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\n [actions]=\"context.state.emptyFeedback.actionButtons\">\n <ng-template smzTemplate=\"actions\">\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\n </ng-template>\n </smz-data-info>\n } @else {\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\n <p-table #dt\n dataKey=\"id\"\n editMode=\"row\"\n [stripedRows]=\"context.state.styles.striped\"\n [value]=\"clonedData.items\"\n [(selection)]=\"selectedItems\"\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\n [class]=\"'p-datatable-smz-ui-table' + (context.state.styles.showGrid ? ' p-datatable-gridlines' : '') + (context.state.styles.size === 'extra-small' ? ' p-datatable-xs' : '') + (context.state.styles.size === 'small' ? ' p-datatable-sm' : '') + (context.state.styles.size === 'large' ? ' p-datatable-lg' : '')\"\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\n [rows]=\"context.state.pagination.rows\"\n [first]=\"context.state.pagination.state.first\"\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\n [loading]=\"loading || isViewportInitializing\"\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\n [paginator]=\"context.state.pagination.isVisible\"\n paginatorDropdownAppendTo=\"body\"\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\n [sortField]=\"context.state.sort.field\"\n [sortMode]=\"context.state.sort.mode\"\n [sortOrder]=\"context.state.sort.order\"\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\n [scrollable]=\"context.state.viewport.scrollable\"\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\n [filterDelay]=\"0\"\n [globalFilterFields]=\"context.globalFilter\"\n [columns]=\"context.visibleColumns\"\n [frozenColumns]=\"context.frozenColumns\"\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\n (onPage)=\"onPage($event)\"\n (onFilter)=\"onFilter($event)\"\n (selectionChange)=\"emitSelection($event)\"\n >\n @if (context.state.caption.isVisible) {\n <ng-template smzTemplate=\"caption\">\n <div class=\"grid grid-nogutter items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\n @if (context.state.caption.title != null) {\n <div class=\"col database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\n }\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\n @if (context.state.caption.exportToPdf.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-pdf')\" [label]=\"context.state.locale.exportToPdf.label\" icon=\"fa-solid fa-file-pdf\" (click)=\"exportToPdf(context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.caption.exportToExcel.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-excel')\" [label]=\"context.state.locale.exportToExcel.label\" icon=\"fa-solid fa-file-excel\" (click)=\"exportToExcel(table, context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.editable.creation.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('create')\" [label]=\"context.state.editable.creation.buttonLabel\" icon=\"fa-solid fa-plus\" (click)=\"editableService.onRowCreateInit(table, context.columns)\" [disabled]=\"clonedData.showSkeleton || editableService.isEditing || editableService.isCreating || context.state.editable.creation.isButtonDisabled\" variant=\"outlined\"></button>\n }\n @if (context.state.caption.rowSelection.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-selection')\" [label]=\"context.state.locale.rowSelection.label\" icon=\"fa-solid fa-check-double\" (click)=\"onRowSelection(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.rowExpansion.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-expansion')\" [label]=\"context.state.rowExpansion.label\" icon=\"fa-solid fa-list\" (click)=\"onRowExpansion(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.caption.clearFilters.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('clear-filters')\" [label]=\"context.state.locale.clearFilters.label\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\n <ui-multi-select #columnMultiselect [attr.data-testid]=\"buildTableTestId('column-visibility')\" class=\"ml-2 col-12 md:col-2\" styleClass=\"w-full\" appendTo=\"body\" [options]=\"context.hideableColumns\" [(ngModel)]=\"selectedColumns\" [placeholder]=\"context.state.locale.columnVisibility.placeholder\" [selectedItemsLabel]=\"context.state.locale.columnVisibility.selectedItemsLabel\" optionLabel=\"name\" dataKey=\"field\" optionLabel=\"header\" [filter]=\"true\" (panelHide)=\"updateColumnsVisibility(true)\" [smzTooltip]=\"context.state.locale.columnVisibility.pTooltip\">\n </ui-multi-select>\n }\n @if (context.state.caption.globalFilter.isVisible) {\n <ui-icon-field class=\"col-12\" [ngClass]=\"{ 'md:col-2': !context.state.caption.globalFilter.expanded }\">\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\n <input #inputGlobal [(ngModel)]=\"globalSearchInput\" smzInputText type=\"text\" styleClass=\"database-global-search\" (input)=\"updateGlobalFilter(inputGlobal.value)\" [disabled]=\"clonedData.showSkeleton\" [placeholder]=\"context.state.locale.globalFilter.placeholder\" [attr.data-testid]=\"buildTableTestId('search')\" />\n </ui-icon-field>\n }\n </div>\n @if (toolbarTemplate != null) {\n <div class=\"grid grid-nogutter items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n </ng-template>\n }\n <ng-template smzTemplate=\"header\" let-columns>\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\n @if (context.state.caption.rowSelection.isEnabled) {\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\n @if (!context.state.actions.batchActions.isVisible) {\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n }\n </th>\n }\n @if (context.state.rowExpansion.isEnabled) {\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\n }\n @for (col of columns; track col.field) {\n @if (context.state.viewport.resizableColumns) {\n @if (col.isOrderable) {\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n @if (!col.isOrderable) {\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n } @else {\n @if (col.isOrderable) {\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n @if (!col.isOrderable) {\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n }\n <ng-template #headerContent>\n <div class=\"flex justify-start items-center\">\n <span class=\"mr-1\">{{ col.header }}</span>\n @if (col.showHeaderActions) {\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\n }\n @if (!clonedData.showSkeleton && col.isOrderable) {\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\n }\n @if (!clonedData.showSkeleton) {\n @switch (col.filter.type) {\n @case (filterTypes.currency) {\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.numeric) {\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.date) {\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\n }\n @case (filterTypes.text) {\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.boolean) {\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.dropdown) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\n <ui-select appendTo=\"body\" [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-select>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-multi-select>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect_array) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : true\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect_string) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField : filterField : null : true : false : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\n </ng-template>\n </smz-column-filter>\n }\n }\n }\n }\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\n }\n </div>\n </ng-template>\n }\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\n }\n </tr>\n @if (context.state.actions.batchActions.isVisible) {\n <tr>\n <th [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\"\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\n <div class=\"grid grid-nogutter items-center justify-start\">\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\n @if (selectedItems?.length > 0) {\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\n @if (batchItem.visible) {\n <button smzButton [label]=\"batchItem.label\" class=\"animate__animated animate__fadeIn\" [styleClass]=\"'p-button-plain ' + (batchItem.styleClass)\" [icon]=\"batchItem.icon\" (click)=\"batchItem.command(selectedItems); selectedItems = [];\" [disabled]=\"batchItem.disabled\" [smzTooltip]=\"batchItem.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\n }\n }\n }\n </div>\n </th>\n </tr>\n }\n </ng-template>\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\n <tr #editableRowElement\n [pEditableRow]=\"item\"\n tableItemAction\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\n [item]=\"item\"\n class=\"p-selectable-row\"\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\n >\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\n <td\n clickStopPropagation\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\n >\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n }\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\n <td\n clickStopPropagation\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading, 'grid grid-nogutter justify-start items-center gap-2': context.state.rowExpansion.highlightNewItems && item._isNew }\"\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\n >\n <button smzButton type=\"button\" class=\"smz-table-row-expansion-toggle\" [icon]=\"item._isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\" (click)=\"item._isExpanded = !item._isExpanded; item._isNew = false\" variant=\"text\" [rounded]=\"true\" size=\"sm\"></button>\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\n <div class=\"rounded bg-cyan-400 text-sm text-white px-2 py-0 smz-table-new-tag\" (click)=\"item._isNew = false\">{{ context.state.rowExpansion.highlightLabel }}</div>\n }\n </td>\n }\n @for (col of columns; track col.field) {\n @if (clonedData.showSkeleton) {\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\n } @else {\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [attr.data-testid]=\"buildCellTestId(item, rowIndex, col.field)\" [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\" [ngStyle]=\"col.content.ngStyle\">\n <span class=\"p-column-title\">{{ col.header }}</span>\n <p-cellEditor>\n <!-- CELULAR COM EDITOR -->\n <ng-template smzTemplate=\"input\">\n @switch (col.editable.type) {\n @case (editableTypes.none) {\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\n }\n @case (editableTypes.custom) {\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\n }\n <!-- INPUT TEXT -->\n @case (editableTypes.text) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT NUMBER -->\n @case (editableTypes.number) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-input-number *ngVar=\"col.editable.data as numberData\" [formControl]=\"$any(control)\" [mode]=\"numberData.mode\" [minFractionDigits]=\"numberData.minFractionDigits\" [maxFractionDigits]=\"numberData.maxFractionDigits\" [currency]=\"numberData.currency\" [useGrouping]=\"numberData.useGrouping\" [allowEmpty]=\"numberData.allowEmpty\" [showClear]=\"numberData.showClear\" [showButtons]=\"numberData.showButtons\" [prefix]=\"numberData.prefix\" [suffix]=\"numberData.suffix\">\n </ui-input-number>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT SWITCH -->\n @case (editableTypes.switch) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT TEXT AREA -->\n @case (editableTypes.area) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT DROPDOWN -->\n @case (editableTypes.dropdown) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-select appendTo=\"body\" [formControl]=\"$any(control)\" styleClass=\"w-full\" [options]=\"col.editable.data | editableSource\" optionLabel=\"name\" dataKey=\"id\" [placeholder]=\"$any(col.editable.data).placeholder\" [showClear]=\"!col.editable.validatorsPreset?.isRequired\" [filter]=\"true\"></ui-select>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT CALENDAR -->\n @case (editableTypes.calendar) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n }\n </ng-template>\n <!-- CELULAR COM CONTE\u00DADO -->\n <ng-template smzTemplate=\"output\">\n <smz-table-content\n [col]=\"col\"\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\n tooltipPosition=\"left\"\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\n </smz-table-content>\n </ng-template>\n </p-cellEditor>\n </td>\n }\n }\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\n <div class=\"grid grid-nogutter items-center justify-center\">\n @if (clonedData.showSkeleton) {\n <div class=\"w-full\">\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\n </div>\n } @else {\n <!-- SEM EDITAR -->\n @if (!editing) {\n @if (context.state.editable.update.isButtonVisible) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-pencil\" (click)=\"editableService.onRowEditInit(item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.update.isButtonDisabled || (!context.state.editable.update.condition(item))\" pInitEditableRow [rounded]=\"true\" variant=\"text\"></button>\n }\n @if (context.state.editable.remove.isButtonVisible) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" (click)=\"editableService.onRowRemove($event, table, item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.remove.isButtonDisabled || (!context.state.editable.remove.condition(item))\" [rounded]=\"true\" variant=\"text\" severity=\"secondary\"></button>\n }\n }\n <!-- EDITANDO -->\n @if (editing) {\n @if (editableService.context[item.id]; as editableContext) {\n <!-- COM LOADING -->\n @if (editableContext.isLoading) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-rotate fa-spin\" [disabled]=\"true\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-info\"></button>\n }\n <!-- SEM LOADING -->\n @if (!editableContext.isLoading) {\n <!-- EDITANDO -->\n @if (!editableContext.hasErrors) {\n <!-- CRIANDO -->\n @if (item._context?.isCreating) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowCreateSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n <!-- ATUALIZANDO -->\n @if (item._context?.isUpdating) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowEditSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n }\n <!-- COM ERRORS -->\n @if (editableContext.hasErrors) {\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\n </ui-popover>\n <button smzButton type=\"button\" icon=\"fas fa-exclamation-triangle\" [disabled]=\"false\" class=\"mr-2\" (click)=\"errorsOverlay.toggle($event)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n <!-- CRIANDO -->\n @if (item._context?.isCreating) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n <!-- ATUALIZANDO -->\n @if (item._context?.isUpdating) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n }\n }\n }\n }\n <!-- CUSTOM MENU -->\n @if (context.state.actions.customActions.isVisible && !editing) {\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\n }\n <!-- MENU -->\n @if (context.state.actions.menu.isVisible && !editing) {\n <smz-menu [callback]=\"context.state.actions.menu.callback\" [items]=\"context.state.actions.menu.items\" [data]=\"item\" [behavior]=\"context.state.actions.menu.behavior\" [ngClass]=\"{ 'ml-2': context.state.actions.customActions.isVisible }\" [icon]=\"context.state.actions.menu.styles.icon\" [styleClass]=\"context.state.actions.menu.styles.styleClass\" [buttonClass]=\"context.state.actions.menu.styles.buttonClass\" [testId]=\"buildRowMenuTestId(item, rowIndex)\"></smz-menu>\n }\n }\n </div>\n </td>\n }\n </tr>\n @if (item?._isExpanded) {\n <tr>\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\">\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\n </td>\n </tr>\n }\n </ng-template>\n <ng-template smzTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\" [ngStyle]=\"{ 'text-align': 'center' }\">\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\n <button smzButton [label]=\"context.state.locale.clearFilters.label\" class=\"mt-3\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" variant=\"outlined\"></button>\n }\n </td>\n </tr>\n </ng-template>\n </p-table>\n }\n </ng-container>\n </ng-container>\n }\n} @else {\n @if (emptyStateTemplate != null) {\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\n }\n}\n\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "stripedRows", "size", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: CellEditor, selector: "p-cellEditor" }, { kind: "component", type: SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzMultiSelectComponent, selector: "ui-multi-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "showToggleAll", "emptyMessage", "emptyFilterMessage", "maxSelectedLabels", "selectedItemsLabel", "panelStyle", "styleClass", "inputId", "autofocusFilter", "appendTo", "display"], outputs: ["changed", "panelHide", "panelShow"] }, { kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "component", type: i2.SmzDatePickerComponent, selector: "ui-date-picker", inputs: ["selectionMode", "dateFormat", "showTime", "timeOnly", "showSeconds", "hourFormat", "minDate", "maxDate", "showButtonBar", "showIcon", "showOnFocus", "keepInvalid", "readonlyInput", "placeholder", "inputId", "styleClass", "appendTo", "touchUI", "focusTrap"], outputs: ["selected", "cleared", "opened", "closed", "blurred"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TableItemActionsDirective, selector: "[tableItemAction]", inputs: ["isClickable", "item", "callback", "expandRowOnClick"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: SmzDataInfoComponent, selector: "smz-data-info", inputs: ["image", "message", "actions", "callbackInfo", "callbackLabel"], outputs: ["clicked"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzSkeletonComponent, selector: "ui-skeleton", inputs: ["shape", "width", "height"] }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }, { kind: "component", type: i2.SmzInputNumberComponent, selector: "ui-input-number", inputs: ["mode", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "step", "prefix", "suffix", "showButtons", "showClear", "allowEmpty", "placeholder", "readonly", "inputId"], outputs: ["inputed", "keyDown", "blurred", "focused"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }, { kind: "component", type: SmzColumnFilterComponent, selector: "smz-column-filter", inputs: ["currency", "display", "field", "matchMode", "showAddButton", "showMatchModes", "showOperator", "type", "showTime"] }, { kind: "component", type: SmzTableValidationMessagesComponent, selector: "smz-table-validation-messages", inputs: ["errors", "messages", "isFormInvalid", "isFormDirty"] }, { kind: "component", type: SmzTableContentComponent, selector: "smz-table-content", inputs: ["col", "contentTypes", "item", "rowIndex", "contentTemplate"] }, { kind: "component", type: SmzTableCaptionButtonsComponent, selector: "smz-table-caption-buttons", inputs: ["buttons", "tableTestId"] }, { kind: "component", type: SmzTableHeaderActionsComponent, selector: "smz-table-header-actions", inputs: ["col"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: UniqueFilterPipe, name: "uniqueFilter" }, { kind: "pipe", type: SmzTableContextPipe, name: "tableContext" }, { kind: "pipe", type: SmzFilterObjectPipe, name: "filterObject" }, { kind: "pipe", type: SmzCloneTableItemsPipe, name: "cloneTableItems" }, { kind: "pipe", type: SmzEditableSourcePipe, name: "editableSource" }, { kind: "pipe", type: SmzContentErrorsPipe, name: "contentErrors" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22562
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableComponent, isStandalone: false, selector: "smz-ui-table", inputs: { state: "state", items: "items", loading: "loading" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", columnVisibilityChange: "columnVisibilityChange", create: "create", update: "update", delete: "delete" }, host: { properties: { "attr.data-testid": "this.hostTestId" } }, providers: [TableEditableService, TableFormsService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }, { propertyName: "columnMultiselect", first: true, predicate: ["columnMultiselect"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state | tableContext; as context) {\n @if ((context.state.emptyFeedback != null && (context.state.emptyFeedback.extraInfo || context.state.emptyFeedback.image || context.state.emptyFeedback.actionButtons)) && (items != null && items.length === 0) && context.state.emptyFeedback.isFeatured) {\n <smz-data-info\n [attr.data-testid]=\"buildTableTestId('empty')\"\n [image]=\"context.state.emptyFeedback.image\"\n [message]=\"context.state.emptyFeedback.message\"\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\n [actions]=\"context.state.emptyFeedback.actionButtons\">\n <ng-template smzTemplate=\"actions\">\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\n </ng-template>\n </smz-data-info>\n } @else {\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\n <p-table #dt\n dataKey=\"id\"\n editMode=\"row\"\n [stripedRows]=\"context.state.styles.striped\"\n [value]=\"clonedData.items\"\n [(selection)]=\"selectedItems\"\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\n [class]=\"'p-datatable-smz-ui-table' + (context.state.styles.showGrid ? ' p-datatable-gridlines' : '') + (context.state.styles.size === 'extra-small' ? ' p-datatable-xs' : '') + (context.state.styles.size === 'small' ? ' p-datatable-sm' : '') + (context.state.styles.size === 'large' ? ' p-datatable-lg' : '')\"\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\n [rows]=\"context.state.pagination.rows\"\n [first]=\"context.state.pagination.state.first\"\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\n [loading]=\"loading || isViewportInitializing\"\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\n [paginator]=\"context.state.pagination.isVisible\"\n paginatorDropdownAppendTo=\"body\"\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\n [sortField]=\"context.state.sort.field\"\n [sortMode]=\"context.state.sort.mode\"\n [sortOrder]=\"context.state.sort.order\"\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\n [scrollable]=\"context.state.viewport.scrollable\"\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\n [filterDelay]=\"0\"\n [globalFilterFields]=\"context.globalFilter\"\n [columns]=\"context.visibleColumns\"\n [frozenColumns]=\"context.frozenColumns\"\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\n (onPage)=\"onPage($event)\"\n (onFilter)=\"onFilter($event)\"\n (selectionChange)=\"emitSelection($event)\"\n >\n @if (context.state.caption.isVisible) {\n <ng-template smzTemplate=\"caption\">\n <div class=\"grid grid-nogutter items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\n @if (context.state.caption.title != null) {\n <div class=\"col database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\n }\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\n @if (context.state.caption.exportToPdf.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-pdf')\" [label]=\"context.state.locale.exportToPdf.label\" icon=\"fa-solid fa-file-pdf\" (click)=\"exportToPdf(context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.caption.exportToExcel.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-excel')\" [label]=\"context.state.locale.exportToExcel.label\" icon=\"fa-solid fa-file-excel\" (click)=\"exportToExcel(table, context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.editable.creation.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('create')\" [label]=\"context.state.editable.creation.buttonLabel\" icon=\"fa-solid fa-plus\" (click)=\"editableService.onRowCreateInit(table, context.columns)\" [disabled]=\"clonedData.showSkeleton || editableService.isEditing || editableService.isCreating || context.state.editable.creation.isButtonDisabled\" variant=\"outlined\"></button>\n }\n @if (context.state.caption.rowSelection.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-selection')\" [label]=\"context.state.locale.rowSelection.label\" icon=\"fa-solid fa-check-double\" (click)=\"onRowSelection(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.rowExpansion.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-expansion')\" [label]=\"context.state.rowExpansion.label\" icon=\"fa-solid fa-list\" (click)=\"onRowExpansion(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.caption.clearFilters.isButtonVisible) {\n <button smzButton [attr.data-testid]=\"buildTableTestId('clear-filters')\" [label]=\"context.state.locale.clearFilters.label\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\n }\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\n <ui-multi-select #columnMultiselect [attr.data-testid]=\"buildTableTestId('column-visibility')\" class=\"ml-2 col-12 md:col-2\" styleClass=\"w-full\" appendTo=\"body\" [options]=\"context.hideableColumns\" [(ngModel)]=\"selectedColumns\" [placeholder]=\"context.state.locale.columnVisibility.placeholder\" [selectedItemsLabel]=\"context.state.locale.columnVisibility.selectedItemsLabel\" optionLabel=\"name\" dataKey=\"field\" optionLabel=\"header\" [filter]=\"true\" (panelHide)=\"updateColumnsVisibility(true)\" [smzTooltip]=\"context.state.locale.columnVisibility.pTooltip\">\n </ui-multi-select>\n }\n @if (context.state.caption.globalFilter.isVisible) {\n <ui-icon-field class=\"col-12\" [ngClass]=\"{ 'md:col-2': !context.state.caption.globalFilter.expanded }\">\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\n <input #inputGlobal [(ngModel)]=\"globalSearchInput\" smzInputText type=\"text\" styleClass=\"database-global-search\" (input)=\"updateGlobalFilter(inputGlobal.value)\" [disabled]=\"clonedData.showSkeleton\" [placeholder]=\"context.state.locale.globalFilter.placeholder\" [attr.data-testid]=\"buildTableTestId('search')\" />\n </ui-icon-field>\n }\n </div>\n @if (toolbarTemplate != null) {\n <div class=\"grid grid-nogutter items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n </ng-template>\n }\n <ng-template smzTemplate=\"header\" let-columns>\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\n @if (context.state.caption.rowSelection.isEnabled) {\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\n @if (!context.state.actions.batchActions.isVisible) {\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n }\n </th>\n }\n @if (context.state.rowExpansion.isEnabled) {\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\n }\n @for (col of columns; track col.field) {\n @if (context.state.viewport.resizableColumns) {\n @if (col.isOrderable) {\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n @if (!col.isOrderable) {\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n } @else {\n @if (col.isOrderable) {\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n @if (!col.isOrderable) {\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n }\n <ng-template #headerContent>\n <div class=\"flex justify-start items-center\">\n <span class=\"mr-1\">{{ col.header }}</span>\n @if (col.showHeaderActions) {\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\n }\n @if (!clonedData.showSkeleton && col.isOrderable) {\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\n }\n @if (!clonedData.showSkeleton) {\n @switch (col.filter.type) {\n @case (filterTypes.currency) {\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.numeric) {\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.date) {\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\n }\n @case (filterTypes.text) {\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.boolean) {\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.dropdown) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\n <ui-select appendTo=\"body\" [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-select>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-multi-select>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect_array) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : true\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect_string) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField : filterField : null : true : false : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\n </ng-template>\n </smz-column-filter>\n }\n }\n }\n }\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\n }\n </div>\n </ng-template>\n }\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\n }\n </tr>\n @if (context.state.actions.batchActions.isVisible) {\n <tr>\n <th [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\"\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\n <div class=\"grid grid-nogutter items-center justify-start\">\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\n @if (selectedItems?.length > 0) {\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\n @if (batchItem.visible) {\n <button smzButton [label]=\"batchItem.label\" class=\"animate__animated animate__fadeIn\" [styleClass]=\"'p-button-plain ' + (batchItem.styleClass)\" [icon]=\"batchItem.icon\" (click)=\"batchItem.command(selectedItems); selectedItems = [];\" [disabled]=\"batchItem.disabled\" [smzTooltip]=\"batchItem.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\n }\n }\n }\n </div>\n </th>\n </tr>\n }\n </ng-template>\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\n <tr #editableRowElement\n [pEditableRow]=\"item\"\n tableItemAction\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\n [item]=\"item\"\n class=\"p-selectable-row\"\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\n >\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\n <td\n clickStopPropagation\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\n >\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n }\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\n <td\n clickStopPropagation\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading, 'grid grid-nogutter justify-start items-center gap-2': context.state.rowExpansion.highlightNewItems && item._isNew }\"\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\n >\n <button smzButton type=\"button\" class=\"smz-table-row-expansion-toggle\" [icon]=\"item._isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\" (click)=\"item._isExpanded = !item._isExpanded; item._isNew = false\" variant=\"text\" [rounded]=\"true\" size=\"sm\"></button>\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\n <div class=\"rounded bg-cyan-400 text-sm text-white px-2 py-0 smz-table-new-tag\" (click)=\"item._isNew = false\">{{ context.state.rowExpansion.highlightLabel }}</div>\n }\n </td>\n }\n @for (col of columns; track col.field) {\n @if (clonedData.showSkeleton) {\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\n } @else {\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [attr.data-testid]=\"buildCellTestId(item, rowIndex, col.field)\" [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\" [ngStyle]=\"col.content.ngStyle\">\n <span class=\"p-column-title\">{{ col.header }}</span>\n <p-cellEditor>\n <!-- CELULAR COM EDITOR -->\n <ng-template smzTemplate=\"input\">\n @switch (col.editable.type) {\n @case (editableTypes.none) {\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\n }\n @case (editableTypes.custom) {\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\n }\n <!-- INPUT TEXT -->\n @case (editableTypes.text) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT NUMBER -->\n @case (editableTypes.number) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-input-number *ngVar=\"col.editable.data as numberData\" [formControl]=\"$any(control)\" [mode]=\"numberData.mode\" [minFractionDigits]=\"numberData.minFractionDigits\" [maxFractionDigits]=\"numberData.maxFractionDigits\" [currency]=\"numberData.currency\" [useGrouping]=\"numberData.useGrouping\" [allowEmpty]=\"numberData.allowEmpty\" [showClear]=\"numberData.showClear\" [showButtons]=\"numberData.showButtons\" [prefix]=\"numberData.prefix\" [suffix]=\"numberData.suffix\">\n </ui-input-number>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT SWITCH -->\n @case (editableTypes.switch) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT TEXT AREA -->\n @case (editableTypes.area) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT DROPDOWN -->\n @case (editableTypes.dropdown) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-select appendTo=\"body\" [formControl]=\"$any(control)\" styleClass=\"w-full\" [options]=\"col.editable.data | editableSource\" optionLabel=\"name\" dataKey=\"id\" [placeholder]=\"$any(col.editable.data).placeholder\" [showClear]=\"!col.editable.validatorsPreset?.isRequired\" [filter]=\"true\"></ui-select>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT CALENDAR -->\n @case (editableTypes.calendar) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n }\n </ng-template>\n <!-- CELULAR COM CONTE\u00DADO -->\n <ng-template smzTemplate=\"output\">\n <smz-table-content\n [col]=\"col\"\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\n tooltipPosition=\"left\"\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\n </smz-table-content>\n </ng-template>\n </p-cellEditor>\n </td>\n }\n }\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\n <div class=\"grid grid-nogutter items-center justify-center\">\n @if (clonedData.showSkeleton) {\n <div class=\"w-full\">\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\n </div>\n } @else {\n <!-- SEM EDITAR -->\n @if (!editing) {\n @if (context.state.editable.update.isButtonVisible) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-pencil\" (click)=\"editableService.onRowEditInit(item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.update.isButtonDisabled || (!context.state.editable.update.condition(item))\" pInitEditableRow [rounded]=\"true\" variant=\"text\"></button>\n }\n @if (context.state.editable.remove.isButtonVisible) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" (click)=\"editableService.onRowRemove($event, table, item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.remove.isButtonDisabled || (!context.state.editable.remove.condition(item))\" [rounded]=\"true\" variant=\"text\" severity=\"secondary\"></button>\n }\n }\n <!-- EDITANDO -->\n @if (editing) {\n @if (editableService.context[item.id]; as editableContext) {\n <!-- COM LOADING -->\n @if (editableContext.isLoading) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-rotate fa-spin\" [disabled]=\"true\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-info\"></button>\n }\n <!-- SEM LOADING -->\n @if (!editableContext.isLoading) {\n <!-- EDITANDO -->\n @if (!editableContext.hasErrors) {\n <!-- CRIANDO -->\n @if (item._context?.isCreating) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowCreateSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n <!-- ATUALIZANDO -->\n @if (item._context?.isUpdating) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowEditSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n }\n <!-- COM ERRORS -->\n @if (editableContext.hasErrors) {\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\n </ui-popover>\n <button smzButton type=\"button\" icon=\"fas fa-exclamation-triangle\" [disabled]=\"false\" class=\"mr-2\" (click)=\"errorsOverlay.toggle($event)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n <!-- CRIANDO -->\n @if (item._context?.isCreating) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n <!-- ATUALIZANDO -->\n @if (item._context?.isUpdating) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n }\n }\n }\n }\n <!-- CUSTOM MENU -->\n @if (context.state.actions.customActions.isVisible && !editing) {\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\n }\n <!-- MENU -->\n @if (context.state.actions.menu.isVisible && !editing) {\n <smz-menu [callback]=\"context.state.actions.menu.callback\" [items]=\"context.state.actions.menu.items\" [data]=\"item\" [behavior]=\"context.state.actions.menu.behavior\" [ngClass]=\"{ 'ml-2': context.state.actions.customActions.isVisible }\" [icon]=\"context.state.actions.menu.styles.icon\" [styleClass]=\"context.state.actions.menu.styles.styleClass\" [buttonClass]=\"context.state.actions.menu.styles.buttonClass\" [testId]=\"buildRowMenuTestId(item, rowIndex)\"></smz-menu>\n }\n }\n </div>\n </td>\n }\n </tr>\n @if (item?._isExpanded) {\n <tr>\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\">\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\n </td>\n </tr>\n }\n </ng-template>\n <ng-template smzTemplate=\"emptymessage\" let-columns>\n <tr>\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\" [ngStyle]=\"{ 'text-align': 'center' }\">\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\n <button smzButton [label]=\"context.state.locale.clearFilters.label\" class=\"mt-3\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" variant=\"outlined\"></button>\n }\n </td>\n </tr>\n </ng-template>\n </p-table>\n }\n </ng-container>\n </ng-container>\n }\n} @else {\n @if (emptyStateTemplate != null) {\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\n }\n}\n\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "stripedRows", "size", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: CellEditor, selector: "p-cellEditor" }, { kind: "component", type: SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzMultiSelectComponent, selector: "ui-multi-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "showToggleAll", "emptyMessage", "emptyFilterMessage", "maxSelectedLabels", "selectedItemsLabel", "panelStyle", "styleClass", "inputId", "autofocusFilter", "appendTo", "display"], outputs: ["changed", "panelHide", "panelShow"] }, { kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "component", type: i2.SmzDatePickerComponent, selector: "ui-date-picker", inputs: ["selectionMode", "dateFormat", "showTime", "timeOnly", "showSeconds", "hourFormat", "minDate", "maxDate", "showButtonBar", "showIcon", "showOnFocus", "keepInvalid", "readonlyInput", "placeholder", "inputId", "styleClass", "appendTo", "touchUI", "focusTrap"], outputs: ["selected", "cleared", "opened", "closed", "blurred"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TableItemActionsDirective, selector: "[tableItemAction]", inputs: ["isClickable", "item", "callback", "expandRowOnClick"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: SmzDataInfoComponent, selector: "smz-data-info", inputs: ["image", "message", "actions", "callbackInfo", "callbackLabel"], outputs: ["clicked"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzSkeletonComponent, selector: "ui-skeleton", inputs: ["shape", "width", "height"] }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }, { kind: "component", type: i2.SmzInputNumberComponent, selector: "ui-input-number", inputs: ["mode", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "step", "prefix", "suffix", "showButtons", "showClear", "allowEmpty", "placeholder", "readonly", "inputId"], outputs: ["inputed", "keyDown", "blurred", "focused"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }, { kind: "component", type: SmzColumnFilterComponent, selector: "smz-column-filter", inputs: ["currency", "display", "field", "matchMode", "showAddButton", "showMatchModes", "showOperator", "showApplyButton", "type", "showTime"] }, { kind: "component", type: SmzTableValidationMessagesComponent, selector: "smz-table-validation-messages", inputs: ["errors", "messages", "isFormInvalid", "isFormDirty"] }, { kind: "component", type: SmzTableContentComponent, selector: "smz-table-content", inputs: ["col", "contentTypes", "item", "rowIndex", "contentTemplate"] }, { kind: "component", type: SmzTableCaptionButtonsComponent, selector: "smz-table-caption-buttons", inputs: ["buttons", "tableTestId"] }, { kind: "component", type: SmzTableHeaderActionsComponent, selector: "smz-table-header-actions", inputs: ["col"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: UniqueFilterPipe, name: "uniqueFilter" }, { kind: "pipe", type: SmzTableContextPipe, name: "tableContext" }, { kind: "pipe", type: SmzFilterObjectPipe, name: "filterObject" }, { kind: "pipe", type: SmzCloneTableItemsPipe, name: "cloneTableItems" }, { kind: "pipe", type: SmzEditableSourcePipe, name: "editableSource" }, { kind: "pipe", type: SmzContentErrorsPipe, name: "contentErrors" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22496
22563
|
}
|
|
22497
22564
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableComponent, decorators: [{
|
|
22498
22565
|
type: Component,
|
|
@@ -22615,7 +22682,7 @@ class SmzColumnFilter2Component {
|
|
|
22615
22682
|
}
|
|
22616
22683
|
isOutsideClicked(event) {
|
|
22617
22684
|
const overlay = this['overlay'];
|
|
22618
|
-
const result = !(overlay.isSameNode(event.target) || overlay.contains(event.target));
|
|
22685
|
+
const result = !(isInsideCdkOverlay(event) || overlay.isSameNode(event.target) || overlay.contains(event.target));
|
|
22619
22686
|
if (result) {
|
|
22620
22687
|
setTimeout(() => {
|
|
22621
22688
|
this['cdf'].markForCheck();
|
|
@@ -35501,7 +35568,7 @@ class FaqsContentComponent {
|
|
|
35501
35568
|
this.manager.delete(data.id);
|
|
35502
35569
|
}
|
|
35503
35570
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FaqsContentComponent, deps: [{ token: FaqsManagerService }, { token: i0.ChangeDetectorRef }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35504
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FaqsContentComponent, isStandalone: false, selector: "smz-faqs-content", inputs: { items: "items" }, ngImport: i0, template: "<div class=\"grid\">\n\n <div class=\"col-12\">\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\n\n <ui-input-group>\n <ui-input-group-addon>\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n </ui-input-group-addon>\n\n <input\n type=\"text\"\n smzInputText\n [(ngModel)]=\"keywords\"\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\n />\n\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\n </ui-input-group>\n </div>\n\n <div class=\"col-12\">\n @if ((items | searchFaqs : keywords); as filtered) {\n @if (filtered.length > 0) {\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\n <ui-accordion [multiple]=\"true\">\n @for (item of filtered; track item.id) {\n <ui-accordion-panel [value]=\"item.id\">\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\n\n <ui-accordion-content>\n @if (manager.config.creationClaim | rbkCanAccess) {\n <div class=\"faqs__actions\">\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\n </div>\n }\n\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\n </ui-accordion-content>\n </ui-accordion-panel>\n }\n </ui-accordion>\n } @else {\n <smz-icon-message\n [message]=\"manager.config.placeholders.emptyMessage\"\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\n manager.config.placeholders.creationMessage :\n (keywords === '') ?\n manager.config.placeholders.supportMessage :\n manager.config.placeholders.noSearchResultsMessage\"\n >\n </smz-icon-message>\n }\n }\n </div>\n\n <div class=\"col-12\">\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\n }\n </div>\n</div>\n", styles: [".faqs__answer{white-space:pre-wrap}.faqs__actions{width:100%;text-align:right;padding:0 0 10px}.p-input-icon-left,.p-input-icon-right{position:relative}.ui-float-icon{position:absolute;top:50%;margin-top:-.5rem;left:.5rem;color:#6c757d}.p-input-icon-left>.ui-inputtext{padding-left:2rem;border-left-width:1px}\n"], dependencies: [{ kind: "component", type: SmzIconMessageComponent, selector: "smz-icon-message", inputs: ["icon", "message", "comment"] }, { kind: "component", type: FormGroupComponent, selector: "smz-form-group", inputs: ["config"], outputs: ["statusChanges", "initialStateChanged", "previousStateChanged", "submit"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzAccordionComponent, selector: "ui-accordion", inputs: ["value", "multiple"], outputs: ["valueChange"] }, { kind: "component", type: i2.SmzAccordionPanelComponent, selector: "ui-accordion-panel", inputs: ["value"] }, { kind: "component", type: i2.SmzAccordionHeaderComponent, selector: "ui-accordion-header" }, { kind: "component", type: i2.SmzAccordionContentComponent, selector: "ui-accordion-content" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzInputGroupComponent, selector: "ui-input-group" }, { kind: "component", type: i2.SmzInputGroupAddonComponent, selector: "ui-input-group-addon" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: RbkCanAccessPipe, name: "rbkCanAccess" }, { kind: "pipe", type: SearchFaqsPipe, name: "searchFaqs" }, { kind: "pipe", type: HighlightSearch, name: "highlight" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] });
|
|
35571
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FaqsContentComponent, isStandalone: false, selector: "smz-faqs-content", inputs: { items: "items" }, ngImport: i0, template: "<div class=\"grid\">\n\n <div class=\"col-12\">\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\n\n <ui-input-group>\n <ui-input-group-addon>\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n </ui-input-group-addon>\n\n <input\n type=\"text\"\n smzInputText\n [(ngModel)]=\"keywords\"\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\n />\n\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\n </ui-input-group>\n </div>\n\n <div class=\"col-12\">\n @if ((items | searchFaqs : keywords); as filtered) {\n @if (filtered.length > 0) {\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\n <ui-accordion [multiple]=\"true\">\n @for (item of filtered; track item.id) {\n <ui-accordion-panel [value]=\"item.id\">\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\n\n <ui-accordion-content>\n @if (manager.config.creationClaim | rbkCanAccess) {\n <div class=\"faqs__actions\">\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\n </div>\n }\n\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\n </ui-accordion-content>\n </ui-accordion-panel>\n }\n </ui-accordion>\n } @else {\n <smz-icon-message\n [message]=\"manager.config.placeholders.emptyMessage\"\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\n manager.config.placeholders.creationMessage :\n (keywords === '') ?\n manager.config.placeholders.supportMessage :\n manager.config.placeholders.noSearchResultsMessage\"\n >\n </smz-icon-message>\n }\n }\n </div>\n\n <div class=\"col-12\">\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\n }\n </div>\n</div>\n", styles: [".faqs__answer{white-space:pre-wrap}.faqs__actions{width:100%;text-align:right;padding:0 0 10px}.p-input-icon-left,.p-input-icon-right{position:relative}.ui-float-icon{position:absolute;top:50%;margin-top:-.5rem;left:.5rem;color:#6c757d}.p-input-icon-left>.ui-inputtext{padding-left:2rem;border-left-width:1px}\n"], dependencies: [{ kind: "component", type: SmzIconMessageComponent, selector: "smz-icon-message", inputs: ["icon", "message", "comment"] }, { kind: "component", type: FormGroupComponent, selector: "smz-form-group", inputs: ["config"], outputs: ["statusChanges", "initialStateChanged", "previousStateChanged", "submit"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzAccordionComponent, selector: "ui-accordion", inputs: ["value", "multiple", "transitionOptions"], outputs: ["valueChange", "opened", "closed"] }, { kind: "component", type: i2.SmzAccordionPanelComponent, selector: "ui-accordion-panel", inputs: ["value"] }, { kind: "component", type: i2.SmzAccordionHeaderComponent, selector: "ui-accordion-header" }, { kind: "component", type: i2.SmzAccordionContentComponent, selector: "ui-accordion-content" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzInputGroupComponent, selector: "ui-input-group" }, { kind: "component", type: i2.SmzInputGroupAddonComponent, selector: "ui-input-group-addon" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: RbkCanAccessPipe, name: "rbkCanAccess" }, { kind: "pipe", type: SearchFaqsPipe, name: "searchFaqs" }, { kind: "pipe", type: HighlightSearch, name: "highlight" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] });
|
|
35505
35572
|
}
|
|
35506
35573
|
__decorate([
|
|
35507
35574
|
Confirmable('Confirma a criação desta pergunta/resposta ?', 'Aviso')
|
|
@@ -38930,7 +38997,6 @@ class HephaestusMenuExpandableItemComponent {
|
|
|
38930
38997
|
<i class="layout-menuitem-icon" [ngClass]="item.icon"></i>
|
|
38931
38998
|
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
38932
38999
|
<i class="fa-solid fa-fw fa-chevron-down layout-submenu-toggler"></i>
|
|
38933
|
-
<span class="p-ink"></span>
|
|
38934
39000
|
</a>
|
|
38935
39001
|
|
|
38936
39002
|
@for (subItem of item.items | isVisible; track subItem; let subItemIndex = $index) {
|
|
@@ -38960,7 +39026,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
38960
39026
|
<i class="layout-menuitem-icon" [ngClass]="item.icon"></i>
|
|
38961
39027
|
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
38962
39028
|
<i class="fa-solid fa-fw fa-chevron-down layout-submenu-toggler"></i>
|
|
38963
|
-
<span class="p-ink"></span>
|
|
38964
39029
|
</a>
|
|
38965
39030
|
|
|
38966
39031
|
@for (subItem of item.items | isVisible; track subItem; let subItemIndex = $index) {
|
|
@@ -38997,10 +39062,9 @@ class HephaestusMenuItemComponent {
|
|
|
38997
39062
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38998
39063
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusMenuItemComponent, isStandalone: false, selector: "smz-ui-hephaestus-menu-item", inputs: { item: "item", parent: "parent", index: "index", currentUrl: "currentUrl" }, ngImport: i0, template: `
|
|
38999
39064
|
<li [ngClass]="{ 'active-menuitem': currentUrl | urlChecker : item.routerLink }">
|
|
39000
|
-
<a
|
|
39065
|
+
<a smzRipple [ngClass]="{ 'active-route': currentUrl | urlChecker : item.routerLink, 'opacity-50 hover:bg-inherit select-none focus:shadow-none cursor-default': item.disabled }" menuItemAction [item]="item" [parent]="parent" [breadcrumbs]="true" [tabindex]="index">
|
|
39001
39066
|
<i class="layout-menuitem-icon" [ngClass]="item.icon"></i>
|
|
39002
39067
|
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
39003
|
-
<span class="p-ink"></span>
|
|
39004
39068
|
</a>
|
|
39005
39069
|
|
|
39006
39070
|
@for (subItem of item.items | isVisible; track subItem) {
|
|
@@ -39008,7 +39072,7 @@ class HephaestusMenuItemComponent {
|
|
|
39008
39072
|
}
|
|
39009
39073
|
|
|
39010
39074
|
</li>
|
|
39011
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => MenuItemActionsDirective), selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: i0.forwardRef(() => HephaestusMenuNodeComponent), selector: "smz-ui-hephaestus-menu-node", inputs: ["item", "index", "currentUrl"] }, { kind: "pipe", type: i0.forwardRef(() => IsVisiblePipe), name: "isVisible" }, { kind: "pipe", type: i0.forwardRef(() => UrlCheckerPipe), name: "urlChecker" }] });
|
|
39075
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i2.SmzRippleDirective), selector: "[smzRipple]" }, { kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => MenuItemActionsDirective), selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: i0.forwardRef(() => HephaestusMenuNodeComponent), selector: "smz-ui-hephaestus-menu-node", inputs: ["item", "index", "currentUrl"] }, { kind: "pipe", type: i0.forwardRef(() => IsVisiblePipe), name: "isVisible" }, { kind: "pipe", type: i0.forwardRef(() => UrlCheckerPipe), name: "urlChecker" }] });
|
|
39012
39076
|
}
|
|
39013
39077
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusMenuItemComponent, decorators: [{
|
|
39014
39078
|
type: Component,
|
|
@@ -39016,10 +39080,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
39016
39080
|
selector: 'smz-ui-hephaestus-menu-item',
|
|
39017
39081
|
template: `
|
|
39018
39082
|
<li [ngClass]="{ 'active-menuitem': currentUrl | urlChecker : item.routerLink }">
|
|
39019
|
-
<a
|
|
39083
|
+
<a smzRipple [ngClass]="{ 'active-route': currentUrl | urlChecker : item.routerLink, 'opacity-50 hover:bg-inherit select-none focus:shadow-none cursor-default': item.disabled }" menuItemAction [item]="item" [parent]="parent" [breadcrumbs]="true" [tabindex]="index">
|
|
39020
39084
|
<i class="layout-menuitem-icon" [ngClass]="item.icon"></i>
|
|
39021
39085
|
<span class="layout-menuitem-text">{{ item.label }}</span>
|
|
39022
|
-
<span class="p-ink"></span>
|
|
39023
39086
|
</a>
|
|
39024
39087
|
|
|
39025
39088
|
@for (subItem of item.items | isVisible; track subItem) {
|
|
@@ -39105,7 +39168,7 @@ class HephaestusMenuSlimNodeComponent {
|
|
|
39105
39168
|
@switch (subItem | hasChild) {
|
|
39106
39169
|
@case (false) {
|
|
39107
39170
|
<li [ngClass]="{ 'active-menuitem': currentUrl | urlChecker : subItem.routerLink }">
|
|
39108
|
-
<a
|
|
39171
|
+
<a smzRipple [tabindex]="subItemIndex" menuItemAction [item]="subItem" [parent]="parent" [breadcrumbs]="true">
|
|
39109
39172
|
@if (subItem.icon != null) {
|
|
39110
39173
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
39111
39174
|
}
|
|
@@ -39113,7 +39176,6 @@ class HephaestusMenuSlimNodeComponent {
|
|
|
39113
39176
|
<i class="layout-menuitem-icon fa-solid fa-fw"></i>
|
|
39114
39177
|
}
|
|
39115
39178
|
<span class="layout-menuitem-text">{{ subItem.label }}</span>
|
|
39116
|
-
<span class="p-ink"></span>
|
|
39117
39179
|
</a>
|
|
39118
39180
|
</li>
|
|
39119
39181
|
}
|
|
@@ -39122,7 +39184,7 @@ class HephaestusMenuSlimNodeComponent {
|
|
|
39122
39184
|
}
|
|
39123
39185
|
}
|
|
39124
39186
|
}
|
|
39125
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: HephaestusMenuExpandableItemComponent, selector: "smz-ui-hephaestus-menu-expandable-item", inputs: ["item", "index", "currentUrl"] }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }, { kind: "pipe", type: HasChildPipe$4, name: "hasChild" }] });
|
|
39187
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.SmzRippleDirective, selector: "[smzRipple]" }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: HephaestusMenuExpandableItemComponent, selector: "smz-ui-hephaestus-menu-expandable-item", inputs: ["item", "index", "currentUrl"] }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }, { kind: "pipe", type: HasChildPipe$4, name: "hasChild" }] });
|
|
39126
39188
|
}
|
|
39127
39189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusMenuSlimNodeComponent, decorators: [{
|
|
39128
39190
|
type: Component,
|
|
@@ -39133,7 +39195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
39133
39195
|
@switch (subItem | hasChild) {
|
|
39134
39196
|
@case (false) {
|
|
39135
39197
|
<li [ngClass]="{ 'active-menuitem': currentUrl | urlChecker : subItem.routerLink }">
|
|
39136
|
-
<a
|
|
39198
|
+
<a smzRipple [tabindex]="subItemIndex" menuItemAction [item]="subItem" [parent]="parent" [breadcrumbs]="true">
|
|
39137
39199
|
@if (subItem.icon != null) {
|
|
39138
39200
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
39139
39201
|
}
|
|
@@ -39141,7 +39203,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
39141
39203
|
<i class="layout-menuitem-icon fa-solid fa-fw"></i>
|
|
39142
39204
|
}
|
|
39143
39205
|
<span class="layout-menuitem-text">{{ subItem.label }}</span>
|
|
39144
|
-
<span class="p-ink"></span>
|
|
39145
39206
|
</a>
|
|
39146
39207
|
</li>
|
|
39147
39208
|
}
|
|
@@ -39204,11 +39265,11 @@ class HephaestusSidebarComponent {
|
|
|
39204
39265
|
return `/${currentPath}` == routerUrl;
|
|
39205
39266
|
}
|
|
39206
39267
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39207
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusSidebarComponent, isStandalone: false, selector: "smz-ui-hephaestus-sidebar", inputs: { menu: "menu" }, host: { classAttribute: "z-30" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-sidebar\" (mouseleave)=\"collapseAll(menu)\">\r\n @if ((appLayoutLogo$ | async); as appLayoutLogo) {\r\n <!-- LOGO EM FORMATO DE ICONE -->\r\n @if (layout.menu === menuType.SLIM) {\r\n <a class=\"logo\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\">\r\n <img id=\"app-logo\" [src]=\"appLayoutLogo.icon\" class=\"m-2 slim-mobile-logo\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n </a>\r\n } @else {\r\n <a class=\"logo\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\">\r\n <img id=\"app-logo\" [src]=\"appLayoutLogo.horizontal\" class=\"pl-4 pr-4\" width=\"100%\">\r\n </a>\r\n }\r\n <!-- LOGO COMPLETA -->\r\n }\r\n <!-- INICIO DO MENU -->\r\n <div class=\"layout-menu-container\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @if (layout.menu === menuType.SLIM) {\r\n <ul class=\"layout-menu bg-black bg-opacity-20 rounded-md mb-5\">\r\n @if (item.items == null || item.items.length == 0) {\r\n <!-- ACTION -->\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text pl-4 pt-4\">{{ item.label }}</div>\r\n <a class=\"hover:shadow-none\" [tabindex]=\"itemIndex\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n
|
|
39268
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusSidebarComponent, isStandalone: false, selector: "smz-ui-hephaestus-sidebar", inputs: { menu: "menu" }, host: { classAttribute: "z-30" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-sidebar\" (mouseleave)=\"collapseAll(menu)\">\r\n @if ((appLayoutLogo$ | async); as appLayoutLogo) {\r\n <!-- LOGO EM FORMATO DE ICONE -->\r\n @if (layout.menu === menuType.SLIM) {\r\n <a class=\"logo\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\">\r\n <img id=\"app-logo\" [src]=\"appLayoutLogo.icon\" class=\"m-2 slim-mobile-logo\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n </a>\r\n } @else {\r\n <a class=\"logo\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\">\r\n <img id=\"app-logo\" [src]=\"appLayoutLogo.horizontal\" class=\"pl-4 pr-4\" width=\"100%\">\r\n </a>\r\n }\r\n <!-- LOGO COMPLETA -->\r\n }\r\n <!-- INICIO DO MENU -->\r\n <div class=\"layout-menu-container\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @if (layout.menu === menuType.SLIM) {\r\n <ul class=\"layout-menu bg-black bg-opacity-20 rounded-md mb-5\">\r\n @if (item.items == null || item.items.length == 0) {\r\n <!-- ACTION -->\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text pl-4 pt-4\">{{ item.label }}</div>\r\n <a class=\"hover:shadow-none\" [tabindex]=\"itemIndex\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n </a>\r\n </li>\r\n }\r\n @if (item.items?.length > 0) {\r\n <!-- CAPTION -->\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text pl-4 pt-4\">{{ item.label }}</div>\r\n <a [tabindex]=\"itemIndex\" class=\"select-none hover:bg-inherit hover:shadow-none cursor-default\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text break-words uppercase font-bold\">{{ item.label }}</span>\r\n </a>\r\n </li>\r\n <li class=\"menu-separator m-0\"></li>\r\n }\r\n @for (subItem of item.items | isVisible; track subItem; let lastSubItem = $last; let subItemIndex = $index) {\r\n <!-- ACTION GROUP -->\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : subItem.expanded }\">\r\n <div class=\"layout-menuitem-root-text normal-case\">{{ subItem.label }}</div>\r\n <a class=\"hover:shadow-none\" [tabindex]=\"subItemIndex\" menuItemAction [item]=\"subItem\" [parent]=\"null\" [breadcrumbs]=\"true\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : subItem.routerLink }\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"subItem.icon\"></i>\r\n <span class=\"layout-menuitem-text break-words\">{{ subItem.label }}</span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n @if (layout.menu !== menuType.SLIM) {\r\n <ul class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <!-- CABE\u00C7ALHO DO N\u00CDVEL 1 -->\r\n @if (!$any(item).showAsCaption) {\r\n <div class=\"layout-menuitem-root-text\">{{ item.label }}</div>\r\n }\r\n @if ($any(item).showAsCaption) {\r\n <div class=\"layout-menuitem-root-text cursor-default bg-black bg-opacity-20\">{{ item.label }}</div>\r\n }\r\n <!-- ITENS PARA O MENU COLAPSADO -->\r\n @if (item.command == null && item.routerLink == null && !$any(item).showAsCaption) {\r\n <a smzRipple [tabindex]=\"itemIndex\" (click)=\"toogleOnly(item, menu)\" (mouseover)=\"toogleOnly(item, menu)\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n </a>\r\n }\r\n @if ($any(item).showAsCaption) {\r\n <a class=\"cursor-default bg-black bg-opacity-20\" [tabindex]=\"itemIndex\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n </a>\r\n }\r\n @if (item.command != null || item.routerLink != null && !$any(item).showAsCaption) {\r\n <a smzRipple [tabindex]=\"itemIndex\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n </a>\r\n }\r\n @if (item.expanded) {\r\n <ul smz-ui-hephaestus-menu-slim-node [item]=\"item\" [parent]=\"null\" [currentUrl]=\"route.url\" role=\"menu\" style=\"z-index: 100;\"></ul>\r\n }\r\n <smz-ui-hephaestus-menu-node [item]=\"item\" [currentUrl]=\"route.url\"></smz-ui-hephaestus-menu-node>\r\n </li>\r\n @if (!last && !($any(item).hideSeparator)) {\r\n <li class=\"menu-separator\"></li>\r\n }\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n}", styles: [".active-first-route{background-color:#ffffff1a}.slim-mobile-logo{max-width:2.5rem;max-height:2.5rem;margin-left:auto!important;margin-right:auto!important}\n"], dependencies: [{ kind: "directive", type: i2.SmzRippleDirective, selector: "[smzRipple]" }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: HephaestusMenuNodeComponent, selector: "smz-ui-hephaestus-menu-node", inputs: ["item", "index", "currentUrl"] }, { kind: "component", type: HephaestusMenuSlimNodeComponent, selector: "[smz-ui-hephaestus-menu-slim-node]", inputs: ["item", "parent", "index", "currentUrl"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }] });
|
|
39208
39269
|
}
|
|
39209
39270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusSidebarComponent, decorators: [{
|
|
39210
39271
|
type: Component,
|
|
39211
|
-
args: [{ selector: 'smz-ui-hephaestus-sidebar', host: { 'class': 'z-30' }, standalone: false, template: "@if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-sidebar\" (mouseleave)=\"collapseAll(menu)\">\r\n @if ((appLayoutLogo$ | async); as appLayoutLogo) {\r\n <!-- LOGO EM FORMATO DE ICONE -->\r\n @if (layout.menu === menuType.SLIM) {\r\n <a class=\"logo\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\">\r\n <img id=\"app-logo\" [src]=\"appLayoutLogo.icon\" class=\"m-2 slim-mobile-logo\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n </a>\r\n } @else {\r\n <a class=\"logo\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\">\r\n <img id=\"app-logo\" [src]=\"appLayoutLogo.horizontal\" class=\"pl-4 pr-4\" width=\"100%\">\r\n </a>\r\n }\r\n <!-- LOGO COMPLETA -->\r\n }\r\n <!-- INICIO DO MENU -->\r\n <div class=\"layout-menu-container\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @if (layout.menu === menuType.SLIM) {\r\n <ul class=\"layout-menu bg-black bg-opacity-20 rounded-md mb-5\">\r\n @if (item.items == null || item.items.length == 0) {\r\n <!-- ACTION -->\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text pl-4 pt-4\">{{ item.label }}</div>\r\n <a class=\"hover:shadow-none\" [tabindex]=\"itemIndex\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n
|
|
39272
|
+
args: [{ selector: 'smz-ui-hephaestus-sidebar', host: { 'class': 'z-30' }, standalone: false, template: "@if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-sidebar\" (mouseleave)=\"collapseAll(menu)\">\r\n @if ((appLayoutLogo$ | async); as appLayoutLogo) {\r\n <!-- LOGO EM FORMATO DE ICONE -->\r\n @if (layout.menu === menuType.SLIM) {\r\n <a class=\"logo\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\">\r\n <img id=\"app-logo\" [src]=\"appLayoutLogo.icon\" class=\"m-2 slim-mobile-logo\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n </a>\r\n } @else {\r\n <a class=\"logo\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\">\r\n <img id=\"app-logo\" [src]=\"appLayoutLogo.horizontal\" class=\"pl-4 pr-4\" width=\"100%\">\r\n </a>\r\n }\r\n <!-- LOGO COMPLETA -->\r\n }\r\n <!-- INICIO DO MENU -->\r\n <div class=\"layout-menu-container\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @if (layout.menu === menuType.SLIM) {\r\n <ul class=\"layout-menu bg-black bg-opacity-20 rounded-md mb-5\">\r\n @if (item.items == null || item.items.length == 0) {\r\n <!-- ACTION -->\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text pl-4 pt-4\">{{ item.label }}</div>\r\n <a class=\"hover:shadow-none\" [tabindex]=\"itemIndex\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n </a>\r\n </li>\r\n }\r\n @if (item.items?.length > 0) {\r\n <!-- CAPTION -->\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text pl-4 pt-4\">{{ item.label }}</div>\r\n <a [tabindex]=\"itemIndex\" class=\"select-none hover:bg-inherit hover:shadow-none cursor-default\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text break-words uppercase font-bold\">{{ item.label }}</span>\r\n </a>\r\n </li>\r\n <li class=\"menu-separator m-0\"></li>\r\n }\r\n @for (subItem of item.items | isVisible; track subItem; let lastSubItem = $last; let subItemIndex = $index) {\r\n <!-- ACTION GROUP -->\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : subItem.expanded }\">\r\n <div class=\"layout-menuitem-root-text normal-case\">{{ subItem.label }}</div>\r\n <a class=\"hover:shadow-none\" [tabindex]=\"subItemIndex\" menuItemAction [item]=\"subItem\" [parent]=\"null\" [breadcrumbs]=\"true\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : subItem.routerLink }\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"subItem.icon\"></i>\r\n <span class=\"layout-menuitem-text break-words\">{{ subItem.label }}</span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n @if (layout.menu !== menuType.SLIM) {\r\n <ul class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <!-- CABE\u00C7ALHO DO N\u00CDVEL 1 -->\r\n @if (!$any(item).showAsCaption) {\r\n <div class=\"layout-menuitem-root-text\">{{ item.label }}</div>\r\n }\r\n @if ($any(item).showAsCaption) {\r\n <div class=\"layout-menuitem-root-text cursor-default bg-black bg-opacity-20\">{{ item.label }}</div>\r\n }\r\n <!-- ITENS PARA O MENU COLAPSADO -->\r\n @if (item.command == null && item.routerLink == null && !$any(item).showAsCaption) {\r\n <a smzRipple [tabindex]=\"itemIndex\" (click)=\"toogleOnly(item, menu)\" (mouseover)=\"toogleOnly(item, menu)\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n </a>\r\n }\r\n @if ($any(item).showAsCaption) {\r\n <a class=\"cursor-default bg-black bg-opacity-20\" [tabindex]=\"itemIndex\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n </a>\r\n }\r\n @if (item.command != null || item.routerLink != null && !$any(item).showAsCaption) {\r\n <a smzRipple [tabindex]=\"itemIndex\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n <span class=\"layout-menuitem-text\">{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-chevron-down layout-submenu-toggler\"></i>\r\n </a>\r\n }\r\n @if (item.expanded) {\r\n <ul smz-ui-hephaestus-menu-slim-node [item]=\"item\" [parent]=\"null\" [currentUrl]=\"route.url\" role=\"menu\" style=\"z-index: 100;\"></ul>\r\n }\r\n <smz-ui-hephaestus-menu-node [item]=\"item\" [currentUrl]=\"route.url\"></smz-ui-hephaestus-menu-node>\r\n </li>\r\n @if (!last && !($any(item).hideSeparator)) {\r\n <li class=\"menu-separator\"></li>\r\n }\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n}", styles: [".active-first-route{background-color:#ffffff1a}.slim-mobile-logo{max-width:2.5rem;max-height:2.5rem;margin-left:auto!important;margin-right:auto!important}\n"] }]
|
|
39212
39273
|
}], ctorParameters: () => [], propDecorators: { templates: [{
|
|
39213
39274
|
type: ContentChildren,
|
|
39214
39275
|
args: [SmzTemplateDirective]
|
|
@@ -39827,7 +39888,8 @@ class SmzDiamontSidebarModule {
|
|
|
39827
39888
|
HephaestusMenuExpandableItemComponent,
|
|
39828
39889
|
HephaestusMenuNodeComponent,
|
|
39829
39890
|
HephaestusMenuSlimNodeComponent,
|
|
39830
|
-
HasChildPipe$4], imports: [
|
|
39891
|
+
HasChildPipe$4], imports: [SmzRippleDirective,
|
|
39892
|
+
CommonModule,
|
|
39831
39893
|
RouterModule,
|
|
39832
39894
|
SmzDrawerComponent,
|
|
39833
39895
|
MenuItemActionsModule,
|
|
@@ -39852,6 +39914,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
39852
39914
|
HasChildPipe$4,
|
|
39853
39915
|
],
|
|
39854
39916
|
imports: [
|
|
39917
|
+
SmzRippleDirective,
|
|
39855
39918
|
CommonModule,
|
|
39856
39919
|
RouterModule,
|
|
39857
39920
|
SmzDrawerComponent,
|
|
@@ -41512,24 +41575,22 @@ class AthenaHorizontalMenuNodeComponent {
|
|
|
41512
41575
|
@switch (subItem | hasChild) {
|
|
41513
41576
|
@case (false) {
|
|
41514
41577
|
<li [ngClass]="{ 'active-menuitem': currentUrl | urlChecker : subItem.routerLink }">
|
|
41515
|
-
<a
|
|
41578
|
+
<a smzRipple menuItemAction [item]="subItem" [parent]="item" [breadcrumbs]="true" [tabindex]="subItemIndex" (collapse)="collapse.emit()">
|
|
41516
41579
|
@if (subItem.icon) {
|
|
41517
41580
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
41518
41581
|
}
|
|
41519
41582
|
<span>{{ subItem.label }}</span>
|
|
41520
|
-
<span class="p-ink"></span>
|
|
41521
41583
|
</a>
|
|
41522
41584
|
</li>
|
|
41523
41585
|
}
|
|
41524
41586
|
@case (true) {
|
|
41525
41587
|
<li [ngClass]="{ 'active-menuitem' : subItem.expanded }">
|
|
41526
|
-
<a
|
|
41588
|
+
<a smzRipple [tabindex]="subItemIndex" (click)="toogleOnly(subItem, subItem.items)">
|
|
41527
41589
|
@if (subItem.icon) {
|
|
41528
41590
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
41529
41591
|
}
|
|
41530
41592
|
<span>{{ subItem.label }}</span>
|
|
41531
41593
|
<i class="fa-solid fa-fw fa-angle-down layout-menuitem-toggler"></i>
|
|
41532
|
-
<span class="p-ink"></span>
|
|
41533
41594
|
</a>
|
|
41534
41595
|
@if (subItem.expanded) {
|
|
41535
41596
|
<ul smz-ui-athena-horizontal-menu-node [item]="subItem" [currentUrl]="currentUrl" (collapse)="collapse.emit()"
|
|
@@ -41539,7 +41600,7 @@ class AthenaHorizontalMenuNodeComponent {
|
|
|
41539
41600
|
}
|
|
41540
41601
|
}
|
|
41541
41602
|
}
|
|
41542
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: AthenaHorizontalMenuNodeComponent, selector: "[smz-ui-athena-horizontal-menu-node]", inputs: ["item", "index", "currentUrl"], outputs: ["collapse"] }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }, { kind: "pipe", type: HasChildPipe$2, name: "hasChild" }] });
|
|
41603
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.SmzRippleDirective, selector: "[smzRipple]" }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: AthenaHorizontalMenuNodeComponent, selector: "[smz-ui-athena-horizontal-menu-node]", inputs: ["item", "index", "currentUrl"], outputs: ["collapse"] }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }, { kind: "pipe", type: HasChildPipe$2, name: "hasChild" }] });
|
|
41543
41604
|
}
|
|
41544
41605
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaHorizontalMenuNodeComponent, decorators: [{
|
|
41545
41606
|
type: Component,
|
|
@@ -41550,24 +41611,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
41550
41611
|
@switch (subItem | hasChild) {
|
|
41551
41612
|
@case (false) {
|
|
41552
41613
|
<li [ngClass]="{ 'active-menuitem': currentUrl | urlChecker : subItem.routerLink }">
|
|
41553
|
-
<a
|
|
41614
|
+
<a smzRipple menuItemAction [item]="subItem" [parent]="item" [breadcrumbs]="true" [tabindex]="subItemIndex" (collapse)="collapse.emit()">
|
|
41554
41615
|
@if (subItem.icon) {
|
|
41555
41616
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
41556
41617
|
}
|
|
41557
41618
|
<span>{{ subItem.label }}</span>
|
|
41558
|
-
<span class="p-ink"></span>
|
|
41559
41619
|
</a>
|
|
41560
41620
|
</li>
|
|
41561
41621
|
}
|
|
41562
41622
|
@case (true) {
|
|
41563
41623
|
<li [ngClass]="{ 'active-menuitem' : subItem.expanded }">
|
|
41564
|
-
<a
|
|
41624
|
+
<a smzRipple [tabindex]="subItemIndex" (click)="toogleOnly(subItem, subItem.items)">
|
|
41565
41625
|
@if (subItem.icon) {
|
|
41566
41626
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
41567
41627
|
}
|
|
41568
41628
|
<span>{{ subItem.label }}</span>
|
|
41569
41629
|
<i class="fa-solid fa-fw fa-angle-down layout-menuitem-toggler"></i>
|
|
41570
|
-
<span class="p-ink"></span>
|
|
41571
41630
|
</a>
|
|
41572
41631
|
@if (subItem.expanded) {
|
|
41573
41632
|
<ul smz-ui-athena-horizontal-menu-node [item]="subItem" [currentUrl]="currentUrl" (collapse)="collapse.emit()"
|
|
@@ -41647,11 +41706,11 @@ class AthenaHorizontalMenuComponent {
|
|
|
41647
41706
|
}
|
|
41648
41707
|
}
|
|
41649
41708
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaHorizontalMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
41650
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaHorizontalMenuComponent, isStandalone: false, selector: "smz-ui-athena-horizontal-menu", inputs: { menu: "menu" }, host: { listeners: { "document:click": "collapseFromOutside($event)" } }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], usesOnChanges: true, ngImport: i0, template: "@if (menu != null) {\r\n @if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-menu-container\">\r\n <div class=\"layout-menu-content\">\r\n <ul id=\"menu-ul\" class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @switch (item | hasChild) {\r\n @case (false) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text clickable\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\">{{ item.label }}</div>\r\n <a
|
|
41709
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaHorizontalMenuComponent, isStandalone: false, selector: "smz-ui-athena-horizontal-menu", inputs: { menu: "menu" }, host: { listeners: { "document:click": "collapseFromOutside($event)" } }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], usesOnChanges: true, ngImport: i0, template: "@if (menu != null) {\r\n @if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-menu-container\">\r\n <div class=\"layout-menu-content\">\r\n <ul id=\"menu-ul\" class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @switch (item | hasChild) {\r\n @case (false) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text clickable\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\">{{ item.label }}</div>\r\n <a smzRipple menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\" [tabindex]=\"itemIndex\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n @if (item.icon) {\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n }\r\n <span>{{ item.label }}</span>\r\n </a>\r\n </li>\r\n }\r\n @case (true) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text\">{{ item.label }}</div>\r\n <a smzRipple [tabindex]=\"itemIndex\" (click)=\"toogleOnly(item, menu)\">\r\n @if (item.icon) {\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n }\r\n <span>{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-angle-down layout-menuitem-toggler\"></i>\r\n </a>\r\n <ul smz-ui-athena-horizontal-menu-node [item]=\"item\" [currentUrl]=\"route.url\" role=\"menu\" style=\"z-index: 100;\" (collapse)=\"collapseAll(menu)\"></ul>\r\n </li>\r\n }\r\n }\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n }\r\n }\r\n}", styles: ["smz-ui-athena-horizontal-menu .active-first-route{border-bottom-color:var(--primary-color-menu-active)!important;color:var(--primary-color-menu-active)!important}\n"], dependencies: [{ kind: "directive", type: i2.SmzRippleDirective, selector: "[smzRipple]" }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: AthenaHorizontalMenuNodeComponent, selector: "[smz-ui-athena-horizontal-menu-node]", inputs: ["item", "index", "currentUrl"], outputs: ["collapse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }, { kind: "pipe", type: HasChildPipe$2, name: "hasChild" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
41651
41710
|
}
|
|
41652
41711
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaHorizontalMenuComponent, decorators: [{
|
|
41653
41712
|
type: Component,
|
|
41654
|
-
args: [{ selector: 'smz-ui-athena-horizontal-menu', host: { '(document:click)': 'collapseFromOutside($event)' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (menu != null) {\r\n @if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-menu-container\">\r\n <div class=\"layout-menu-content\">\r\n <ul id=\"menu-ul\" class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @switch (item | hasChild) {\r\n @case (false) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text clickable\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\">{{ item.label }}</div>\r\n <a
|
|
41713
|
+
args: [{ selector: 'smz-ui-athena-horizontal-menu', host: { '(document:click)': 'collapseFromOutside($event)' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (menu != null) {\r\n @if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-menu-container\">\r\n <div class=\"layout-menu-content\">\r\n <ul id=\"menu-ul\" class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @switch (item | hasChild) {\r\n @case (false) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text clickable\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\">{{ item.label }}</div>\r\n <a smzRipple menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\" [tabindex]=\"itemIndex\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n @if (item.icon) {\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n }\r\n <span>{{ item.label }}</span>\r\n </a>\r\n </li>\r\n }\r\n @case (true) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text\">{{ item.label }}</div>\r\n <a smzRipple [tabindex]=\"itemIndex\" (click)=\"toogleOnly(item, menu)\">\r\n @if (item.icon) {\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n }\r\n <span>{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-angle-down layout-menuitem-toggler\"></i>\r\n </a>\r\n <ul smz-ui-athena-horizontal-menu-node [item]=\"item\" [currentUrl]=\"route.url\" role=\"menu\" style=\"z-index: 100;\" (collapse)=\"collapseAll(menu)\"></ul>\r\n </li>\r\n }\r\n }\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n }\r\n }\r\n}", styles: ["smz-ui-athena-horizontal-menu .active-first-route{border-bottom-color:var(--primary-color-menu-active)!important;color:var(--primary-color-menu-active)!important}\n"] }]
|
|
41655
41714
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { templates: [{
|
|
41656
41715
|
type: ContentChildren,
|
|
41657
41716
|
args: [SmzTemplateDirective]
|
|
@@ -42006,7 +42065,8 @@ let SmzAthenaHorizontalMenuModule$1 = class SmzAthenaHorizontalMenuModule {
|
|
|
42006
42065
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzAthenaHorizontalMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
42007
42066
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.1", ngImport: i0, type: SmzAthenaHorizontalMenuModule, declarations: [AthenaHorizontalMenuComponent,
|
|
42008
42067
|
AthenaHorizontalMenuNodeComponent,
|
|
42009
|
-
HasChildPipe$2], imports: [
|
|
42068
|
+
HasChildPipe$2], imports: [SmzRippleDirective,
|
|
42069
|
+
CommonModule,
|
|
42010
42070
|
RouterModule,
|
|
42011
42071
|
SmzDrawerComponent,
|
|
42012
42072
|
MenuItemActionsModule,
|
|
@@ -42028,6 +42088,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
42028
42088
|
HasChildPipe$2
|
|
42029
42089
|
],
|
|
42030
42090
|
imports: [
|
|
42091
|
+
SmzRippleDirective,
|
|
42031
42092
|
CommonModule,
|
|
42032
42093
|
RouterModule,
|
|
42033
42094
|
SmzDrawerComponent,
|
|
@@ -43064,24 +43125,22 @@ class NewAthenaHorizontalMenuNodeComponent {
|
|
|
43064
43125
|
@switch (subItem | hasChild) {
|
|
43065
43126
|
@case (false) {
|
|
43066
43127
|
<li [ngClass]="{ 'active-menuitem': currentUrl | urlChecker : subItem.routerLink }">
|
|
43067
|
-
<a
|
|
43128
|
+
<a smzRipple menuItemAction [item]="subItem" [parent]="item" [breadcrumbs]="true" [tabindex]="subItemIndex" (collapse)="collapse.emit()">
|
|
43068
43129
|
@if (subItem.icon) {
|
|
43069
43130
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
43070
43131
|
}
|
|
43071
43132
|
<span>{{ subItem.label }}</span>
|
|
43072
|
-
<span class="p-ink"></span>
|
|
43073
43133
|
</a>
|
|
43074
43134
|
</li>
|
|
43075
43135
|
}
|
|
43076
43136
|
@case (true) {
|
|
43077
43137
|
<li [ngClass]="{ 'active-menuitem' : subItem.expanded }">
|
|
43078
|
-
<a
|
|
43138
|
+
<a smzRipple [tabindex]="subItemIndex" (click)="toogleOnly(subItem, subItem.items)">
|
|
43079
43139
|
@if (subItem.icon) {
|
|
43080
43140
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
43081
43141
|
}
|
|
43082
43142
|
<span>{{ subItem.label }}</span>
|
|
43083
43143
|
<i class="fa-solid fa-fw fa-angle-down layout-menuitem-toggler"></i>
|
|
43084
|
-
<span class="p-ink"></span>
|
|
43085
43144
|
</a>
|
|
43086
43145
|
@if (subItem.expanded) {
|
|
43087
43146
|
<ul smz-ui-new-athena-horizontal-menu-node [item]="subItem" [currentUrl]="currentUrl" (collapse)="collapse.emit()"
|
|
@@ -43091,7 +43150,7 @@ class NewAthenaHorizontalMenuNodeComponent {
|
|
|
43091
43150
|
}
|
|
43092
43151
|
}
|
|
43093
43152
|
}
|
|
43094
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: NewAthenaHorizontalMenuNodeComponent, selector: "[smz-ui-new-athena-horizontal-menu-node]", inputs: ["item", "index", "currentUrl"], outputs: ["collapse"] }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }, { kind: "pipe", type: HasChildPipe, name: "hasChild" }] });
|
|
43153
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.SmzRippleDirective, selector: "[smzRipple]" }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: NewAthenaHorizontalMenuNodeComponent, selector: "[smz-ui-new-athena-horizontal-menu-node]", inputs: ["item", "index", "currentUrl"], outputs: ["collapse"] }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }, { kind: "pipe", type: HasChildPipe, name: "hasChild" }] });
|
|
43095
43154
|
}
|
|
43096
43155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaHorizontalMenuNodeComponent, decorators: [{
|
|
43097
43156
|
type: Component,
|
|
@@ -43102,24 +43161,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
43102
43161
|
@switch (subItem | hasChild) {
|
|
43103
43162
|
@case (false) {
|
|
43104
43163
|
<li [ngClass]="{ 'active-menuitem': currentUrl | urlChecker : subItem.routerLink }">
|
|
43105
|
-
<a
|
|
43164
|
+
<a smzRipple menuItemAction [item]="subItem" [parent]="item" [breadcrumbs]="true" [tabindex]="subItemIndex" (collapse)="collapse.emit()">
|
|
43106
43165
|
@if (subItem.icon) {
|
|
43107
43166
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
43108
43167
|
}
|
|
43109
43168
|
<span>{{ subItem.label }}</span>
|
|
43110
|
-
<span class="p-ink"></span>
|
|
43111
43169
|
</a>
|
|
43112
43170
|
</li>
|
|
43113
43171
|
}
|
|
43114
43172
|
@case (true) {
|
|
43115
43173
|
<li [ngClass]="{ 'active-menuitem' : subItem.expanded }">
|
|
43116
|
-
<a
|
|
43174
|
+
<a smzRipple [tabindex]="subItemIndex" (click)="toogleOnly(subItem, subItem.items)">
|
|
43117
43175
|
@if (subItem.icon) {
|
|
43118
43176
|
<i class="layout-menuitem-icon" [ngClass]="subItem.icon"></i>
|
|
43119
43177
|
}
|
|
43120
43178
|
<span>{{ subItem.label }}</span>
|
|
43121
43179
|
<i class="fa-solid fa-fw fa-angle-down layout-menuitem-toggler"></i>
|
|
43122
|
-
<span class="p-ink"></span>
|
|
43123
43180
|
</a>
|
|
43124
43181
|
@if (subItem.expanded) {
|
|
43125
43182
|
<ul smz-ui-new-athena-horizontal-menu-node [item]="subItem" [currentUrl]="currentUrl" (collapse)="collapse.emit()"
|
|
@@ -43200,11 +43257,11 @@ class NewAthenaHorizontalMenuComponent {
|
|
|
43200
43257
|
}
|
|
43201
43258
|
}
|
|
43202
43259
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaHorizontalMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
43203
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaHorizontalMenuComponent, isStandalone: false, selector: "smz-ui-new-athena-horizontal-menu", inputs: { menu: "menu" }, host: { listeners: { "document:click": "collapseFromOutside($event)" } }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], usesOnChanges: true, ngImport: i0, template: "@if (menu != null) {\r\n @if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-menu-container\">\r\n <div class=\"layout-menu-content\">\r\n <ul id=\"menu-ul\" class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @switch (item | hasChild) {\r\n @case (false) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text clickable\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\">{{ item.label }}</div>\r\n <a
|
|
43260
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaHorizontalMenuComponent, isStandalone: false, selector: "smz-ui-new-athena-horizontal-menu", inputs: { menu: "menu" }, host: { listeners: { "document:click": "collapseFromOutside($event)" } }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], usesOnChanges: true, ngImport: i0, template: "@if (menu != null) {\r\n @if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-menu-container\">\r\n <div class=\"layout-menu-content\">\r\n <ul id=\"menu-ul\" class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @switch (item | hasChild) {\r\n @case (false) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text clickable\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\">{{ item.label }}</div>\r\n <a smzRipple menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\" [tabindex]=\"itemIndex\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n @if (item.icon) {\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n }\r\n <span>{{ item.label }}</span>\r\n </a>\r\n </li>\r\n }\r\n @case (true) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text\">{{ item.label }}</div>\r\n <a smzRipple [tabindex]=\"itemIndex\" (click)=\"toogleOnly(item, menu)\">\r\n @if (item.icon) {\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n }\r\n <span>{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-angle-down layout-menuitem-toggler\"></i>\r\n </a>\r\n <ul smz-ui-new-athena-horizontal-menu-node [item]=\"item\" [currentUrl]=\"route.url\" role=\"menu\" style=\"z-index: 100;\" (collapse)=\"collapseAll(menu)\"></ul>\r\n </li>\r\n }\r\n }\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n }\r\n }\r\n}", styles: ["smz-ui-new-athena-horizontal-menu .active-first-route{border-bottom-color:var(--primary-color)!important;color:var(--primary-color)!important}\n"], dependencies: [{ kind: "directive", type: i2.SmzRippleDirective, selector: "[smzRipple]" }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "component", type: NewAthenaHorizontalMenuNodeComponent, selector: "[smz-ui-new-athena-horizontal-menu-node]", inputs: ["item", "index", "currentUrl"], outputs: ["collapse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }, { kind: "pipe", type: UrlCheckerPipe, name: "urlChecker" }, { kind: "pipe", type: HasChildPipe, name: "hasChild" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
43204
43261
|
}
|
|
43205
43262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaHorizontalMenuComponent, decorators: [{
|
|
43206
43263
|
type: Component,
|
|
43207
|
-
args: [{ selector: 'smz-ui-new-athena-horizontal-menu', host: { '(document:click)': 'collapseFromOutside($event)' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (menu != null) {\r\n @if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-menu-container\">\r\n <div class=\"layout-menu-content\">\r\n <ul id=\"menu-ul\" class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @switch (item | hasChild) {\r\n @case (false) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text clickable\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\">{{ item.label }}</div>\r\n <a
|
|
43264
|
+
args: [{ selector: 'smz-ui-new-athena-horizontal-menu', host: { '(document:click)': 'collapseFromOutside($event)' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (menu != null) {\r\n @if (layout$ | async; as layout) {\r\n @if (appName$ | async; as appName) {\r\n @if ((currentRoute$ | async); as route) {\r\n <div class=\"layout-menu-container\">\r\n <div class=\"layout-menu-content\">\r\n <ul id=\"menu-ul\" class=\"layout-menu\">\r\n <!-- N\u00CDVEL 1 -->\r\n @for (item of menu | isVisible; track item; let last = $last; let itemIndex = $index) {\r\n @switch (item | hasChild) {\r\n @case (false) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text clickable\" menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\">{{ item.label }}</div>\r\n <a smzRipple menuItemAction [item]=\"item\" [parent]=\"null\" [breadcrumbs]=\"true\" (collapse)=\"collapseAll(menu)\" [tabindex]=\"itemIndex\" [ngClass]=\"{ 'active-first-route': route.url | urlChecker : item.routerLink }\">\r\n @if (item.icon) {\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n }\r\n <span>{{ item.label }}</span>\r\n </a>\r\n </li>\r\n }\r\n @case (true) {\r\n <li class=\"layout-root-menuitem\" [ngClass]=\"{ 'active-menuitem' : item.expanded }\">\r\n <div class=\"layout-menuitem-root-text\">{{ item.label }}</div>\r\n <a smzRipple [tabindex]=\"itemIndex\" (click)=\"toogleOnly(item, menu)\">\r\n @if (item.icon) {\r\n <i class=\"layout-menuitem-icon\" [ngClass]=\"item.icon\"></i>\r\n }\r\n <span>{{ item.label }}</span>\r\n <i class=\"fa-solid fa-fw fa-angle-down layout-menuitem-toggler\"></i>\r\n </a>\r\n <ul smz-ui-new-athena-horizontal-menu-node [item]=\"item\" [currentUrl]=\"route.url\" role=\"menu\" style=\"z-index: 100;\" (collapse)=\"collapseAll(menu)\"></ul>\r\n </li>\r\n }\r\n }\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n }\r\n }\r\n}", styles: ["smz-ui-new-athena-horizontal-menu .active-first-route{border-bottom-color:var(--primary-color)!important;color:var(--primary-color)!important}\n"] }]
|
|
43208
43265
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { templates: [{
|
|
43209
43266
|
type: ContentChildren,
|
|
43210
43267
|
args: [SmzTemplateDirective]
|
|
@@ -43463,7 +43520,8 @@ class SmzAthenaHorizontalMenuModule {
|
|
|
43463
43520
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzAthenaHorizontalMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
43464
43521
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.1", ngImport: i0, type: SmzAthenaHorizontalMenuModule, declarations: [NewAthenaHorizontalMenuComponent,
|
|
43465
43522
|
NewAthenaHorizontalMenuNodeComponent,
|
|
43466
|
-
HasChildPipe], imports: [
|
|
43523
|
+
HasChildPipe], imports: [SmzRippleDirective,
|
|
43524
|
+
CommonModule,
|
|
43467
43525
|
RouterModule,
|
|
43468
43526
|
SmzDrawerComponent,
|
|
43469
43527
|
MenuItemActionsModule,
|
|
@@ -43485,6 +43543,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
43485
43543
|
HasChildPipe
|
|
43486
43544
|
],
|
|
43487
43545
|
imports: [
|
|
43546
|
+
SmzRippleDirective,
|
|
43488
43547
|
CommonModule,
|
|
43489
43548
|
RouterModule,
|
|
43490
43549
|
SmzDrawerComponent,
|
|
@@ -46312,7 +46371,7 @@ class MentionableTextareaComponent {
|
|
|
46312
46371
|
</ul>
|
|
46313
46372
|
}
|
|
46314
46373
|
</div>
|
|
46315
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
46374
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
46316
46375
|
}
|
|
46317
46376
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MentionableTextareaComponent, decorators: [{
|
|
46318
46377
|
type: Component,
|
|
@@ -57071,5 +57130,5 @@ __decorate([
|
|
|
57071
57130
|
* Generated bundle index. Do not edit.
|
|
57072
57131
|
*/
|
|
57073
57132
|
|
|
57074
|
-
export { AUTHORIZATION_HEADER, AccessControlService, ActionDispatchDirective, ApplicationActions, ApplicationSelectors, ApplicationState, AsPipe, AthenaLayout, AthenaLayoutComponent, AthenaLayoutModule, AuthClaimDefinitions, AuthHandler, AuthService, AuthenticationActions, AuthenticationSelectors, AuthenticationService, AuthenticationState, AuthorizationService, AxisOverflowDirection, AxisOverflowType, AxisPosition, BaseApiService, BoilerplateService, BreadcrumbService, CLAIMS_PAGE_ROUTE, CLAIMS_PATH, CLAIMS_STATE_NAME, CONTENT_ENCODING_HEADER, CachedRouteReuseStrategy, CalendarComponent, CalendarPipe, CanAccess, ChartType, CheckBoxComponent, CheckBoxGroupComponent, ClaimAccessType, ClaimAccessTypeDescription, ClaimAccessTypeValues, ClaimsActions, ClaimsModule, ClaimsSelectors, ClaimsState, ClickStopPropagationDirective, ClickStopPropagationModule, ClonePipe, ColorPallete, ColorPickerComponent, Confirmable, CreateLinearChart, CreateRadialChart, CustomError, CustomNgForDirective, CustomNgForModule, DATABASE_REQUIRED_ACTIONS, DATABASE_STATES, DECORATOR_APPLIED, DEFAULT_AUTHENTICATION_ENDPOINTS_ROUTES, DEFAULT_AUTHORIZATION_ENDPOINTS_ROUTES, DatabaseActions, DatabaseSelectors, DatabaseState, DatasetType, DeepWrapper, DescribeAnyPipe, DescribeArrayPipe, DescribeSimpleNamedPipe, DialogContentManagerComponent, DialogService, DropdownComponent, DynamicDialogComponent, DynamicDialogConfig, DynamicDialogInjector, DynamicDialogModule, DynamicDialogRef, ERROR_HANDLING_TYPE_HEADER, ExcelsUiActions, FEATURE_STATES, FeaturesActions, FeaturesSelectors, FeaturesState, FileUploadComponent, FilterContains, FirstOrDefaultPipe, FormGroupComponent, FormSubmitComponent, GenericInjectComponentDirective, GetElementById, GetElementsByParentId, GlobalActions, GlobalFilter, GlobalInjector, GlobalLoaderComponent, GlobalLoaderModule, GlobalState, GroupingType, HephaestusLayout, HephaestusLayoutComponent, HephaestusLayoutModule, HephaestusProviderModule, HostElement, HttpErrorHandler, IGNORE_ERROR_HANDLING, InViewportMetadata, InjectComponentDirective, InjectComponentService, InjectContentAppModule, InjectContentDirective, InjectContentService, InputBlurDetectionModule, InputChangeDetectionDirective, InputClearExtensionDirective, InputCurrencyComponent, InputListComponent, InputMaskComponent, InputNumberComponent, InputPasswordComponent, InputSwitchComponent, InputTagAreaComponent, InputTextAreaComponent, InputTextComponent, InputTreeComponent, IsVisiblePipe, IsVisiblePipeModule, JoinPipe, LOADING_BEHAVIOR_HEADER, LOCAL_LOADING_TAG_HEADER, LayoutUiActions, LayoutUiSelectors, LayoutUiState, LegacyAuthenticationSelectors, LinearChartBuilder, LinkedDropdownComponent, LinkedMultiSelectComponent, LoggingScope, LoggingService, MAIN_LAYOUT_PATH, MentionableTextareaComponent, MenuHelperService, MenuType, MergeClonePipe, MergeClonePipeModule, MultiSelectComponent, NG_ON_INIT, NewAthenaLayout, NewAthenaLayoutComponent, NewAthenaLayoutModule, NewAthenaProviderModule, NgCloneDirective, NgCloneModule, NgIfLandscapeDirective, NgIfLandscapeDirectiveModule, NgIfPortraitDirective, NgIfPortraitDirectiveModule, NgVar, NgVarContext, NgVarModule, NgxRbkUtilsConfig, NgxRbkUtilsModule, NgxSmzCardsModule, NgxSmzCommentsModule, NgxSmzDataInfoModule, NgxSmzDataPipesModule, NgxSmzDialogsModule, NgxSmzDockModule, NgxSmzDocumentsModule, NgxSmzFaqsModule, NgxSmzFormsModule, NgxSmzLayoutsModule, NgxSmzMenuModule, NgxSmzMultiTablesModule, NgxSmzRouterParamsModule, NgxSmzSafeImageModule, NgxSmzServerImageModule, NgxSmzServerImageToBase64Module, NgxSmzSideContentModule, NgxSmzTablesModule, NgxSmzTreeWithDetailsModule, NgxSmzTreesModule, NgxSmzUiBlockModule, NgxSmzUiComponent, NgxSmzUiConfig, NgxSmzUiGuidesModule, NgxSmzUiModule, NgxSmzViewportModule, NotificationFolder, NotificationFolderStatus, NotificationStatus, NotificationType, NotificationTypeClass, NotificationsUiActions, NotificationsUiSelectors, PrettyJsonPipe$1 as PrettyJsonPipe, PrettyJsonPipeModule, PrimeConfigService, REFRESH_TOKEN_BEHAVIOR_HEADER, RESTORE_STATE_ON_ERROR_HEADER, ROLES_PAGE_ROUTE, ROLES_PATH, ROLES_STATE_NAME, RadialChartBuilder, RadioButtonComponent, RbkAccessControlModule, RbkAuthGuard, RbkCanAccessAnyPipe, RbkCanAccessPipe, RbkClaimGuardDirective, RbkDatabaseStateGuard, RbkFeatureStateGuard, RbkPipesModule, RbkTableFilterClearDirectivesModule, RegistrySmzUiConfiguration, RepositoryForm, RoleMode, RoleModeDescription, RoleModeValues, RoleSource, RoleSourceDescription, RoleSourceValues, RolesActions, RolesModule, RolesSelectors, RolesState, RouterParamsActions, RouterParamsSelectors, SMZ_CORE_LOGGING_CONFIG, SMZ_UI_ENVIRONMENT_CONFIG, SafeHtmlPipe$2 as SafeHtmlPipe, SafeImageDirective, SafeUrlPipe$1 as SafeUrlPipe, SelectorPipe, ServerImageDirective, ServerImageToBase64Directive, ServerPathPipe, SetTemplateClasses, SetTemplateClassesPipe, SidebarState, SimpleCalendarPipe, SmzActionDispatchModule, SmzAuthorizationDeactivatedUsersTableBuilder, SmzAuthorizationUsersTableBuilder, SmzBaseColumnBuilder, SmzBaseEditableBuilder, SmzBreakpoints, SmzBuilderUtilities, SmzCardsBuilder, SmzCardsComponent, SmzCardsContentType, SmzCardsInjectableComponentBuilder, SmzCardsTemplate, SmzCardsView, SmzChartComponent, SmzChartModule, SmzClipboardService, SmzColumnCollectionBuilder, SmzCommentsBuilder, SmzCommentsComponent, SmzCommentsSectionComponent, SmzContentTheme, SmzContentThemes, SmzContentType, SmzControlType, SmzCoreLogging, SmzCurrencyColumnBuilder, SmzCustomColumnBuilder, SmzDataInfoComponent, SmzDataTransformColumnBuilder, SmzDataTransformTreePipe, SmzDateColumnBuilder, SmzDialogBuilder, SmzDialogComponentBuilder, SmzDialogFormBuilder, SmzDialogTableBuilder, SmzDialogsConfig, SmzDialogsPresets, SmzDialogsService, SmzDockComponent, SmzDockService, SmzDocumentBaseCellBuilder, SmzDocumentBuilder, SmzDocumentComponent, SmzDocumentsService, SmzDragDropModule, SmzDraggable, SmzDropdownEditableBuilder, SmzDroppable, SmzDynamicDialogConfig, SmzEasyBaseColumnBuilder, SmzEasyColumnCollectionBuilder, SmzEasyCustomColumnBuilder, SmzEasyDataTransformColumnBuilder, SmzEasyDateColumnBuilder, SmzEasyMenuTableBuilder, SmzEasyTableBuilder, SmzEasyTableComponent, SmzEasyTableContentType, SmzEasyTableModule, SmzEasyTextColumnBuilder, SmzEditableCollectionBuilder, SmzEditableTableBuilder, SmzEditableType, SmzEnvironment, SmzExcelColorDefinitions, SmzExcelDataDefinitions, SmzExcelFontDefinitions, SmzExcelService, SmzExcelSortOrderDefinitions, SmzExcelThemeDefinitions, SmzExcelTypeDefinitions, SmzExcelsBuilder, SmzExportDialogComponent, SmzExportDialogModule, SmzExportDialogService, SmzExportableContentSource, SmzExportableContentType, SmzFaqsComponent, SmzFaqsConfig, SmzFilterType, SmzFlattenMenuPipe, SmzFlipCardContext, SmzFormBuilder, SmzFormViewdata, SmzFormsConfig, SmzFormsPresets, SmzFormsRepositoryService, SmzGaugeBuilder, SmzGaugeComponent, SmzGaugeThresholdBuilder, SmzGetDataPipe, SmzGridItemComponent, SmzHelpDialogService, SmzHtmlViewerComponent, SmzHtmlViewerModule, SmzIconColumnBuilder, SmzIconMessageComponent, SmzInfoDateComponent, SmzInfoDateModule, SmzInitialPipe, SmzInputAutocompleteTagArea, SmzInputTextModule, SmzInputTextPipe, SmzLayoutsConfig, SmzLoader, SmzLoaders, SmzLoginBuilder, SmzLoginComponent, SmzLoginModule, SmzMenuBuilder, SmzMenuComponent, SmzMenuCreationBuilder, SmzMenuCreationItemBuilder, SmzMenuItemActionsDirective, SmzMenuItemBuilder, SmzMenuItemEasyTableBuilder, SmzMenuItemTableBuilder, SmzMenuTableBuilder, SmzMessagesModule, SmzMultiTablesBuilder, SmzMultiTablesComponent, SmzNotificationsComponent, SmzNotificationsModule, SmzNumberEditableBuilder, SmzPresets, SmzProxyStore, SmzResponsiveBreakpointsDirective, SmzResponsiveBreakpointsDirectiveModule, SmzResponsiveComponent, SmzRouteDatas, SmzRouteParams, SmzRouteQueryParams, SmzSideContentComponent, SmzSideContentDefault, SmzSincronizeTablePipe, SmzSmartTag, SmzSmartTagModule, SmzSubmitComponent, SmzSvgBuilder, SmzSvgComponent, SmzSvgFeatureBuilder, SmzSvgModule, SmzSvgPinBuilder, SmzSvgRootBuilder, SmzSvgWorldCoordinates, SmzSwitchEditableBuilder, SmzTableBuilder, SmzTableComponent, SmzTablesConfig, SmzTagMessage, SmzTailPipe, SmzTemplatesPipeModule, SmzTenantSwitchComponent, SmzTextColumnBuilder, SmzTextEditableBuilder, SmzTextPattern, SmzTimelineBuilder, SmzTimelineComponent, SmzToastComponent, SmzTooltipTouchSupportModule, SmzTreeBuilder, SmzTreeComponent, SmzTreeDragAndDropBuilder, SmzTreeDropBuilder, SmzTreeDynamicMenuBuilder, SmzTreeDynamicMenuItemBuilder, SmzTreeEmptyFeedbackBuilder, SmzTreeMenuBuilder, SmzTreeMenuItemBuilder, SmzTreeToolbarBuilder, SmzTreeToolbarButtonBuilder, SmzTreeToolbarButtonCollectionBuilder, SmzTreeWithDetailsBuilder, SmzTreeWithDetailsComponent, SmzUiBlockComponent, SmzUiBlockDirective, SmzUiBlockService, SmzUiBuilder, SmzUiEnvironment, SmzUiGuidesBuilder, SmzUiGuidesService, SmzViewportDirective, SmzViewportService, StandaloneInjectComponentDirective, StateBuilderPipe, TENANTS_PAGE_ROUTE, TENANTS_PATH, TENANTS_STATE_NAME, TableClearExtensionDirective, TableHelperService, TenantAuthenticationSelectors, TenantsActions, TenantsModule, TenantsSelectors, TenantsState, ThemeManagerService, TitleService, ToastActions, ToastService, TooltipTouchSupportDirective, TreeHelperService, TreeHelpers, Tunnel, UI_DEFINITIONS_STATE_NAME, UI_LOCALIZATION_STATE_NAME, USERS_PAGE_ROUTE, USERS_PATH, USERS_STATE_NAME, USER_ID_HEADER, LayoutUiActions as UiActions, UiDefinitionsDbActions, UiDefinitionsDbSelectors, UiDefinitionsDbState, UiDefinitionsService, UiLocalizationDbActions, UiLocalizationDbSelectors, UiLocalizationDbState, UiLocalizationService, LayoutUiSelectors as UiSelectors, UniqueFilterPipe, UrlCheckerPipe, UrlCheckerPipeModule, UsersActions, UsersModule, UsersSelectors, UsersState, WINDOWS_AUTHENTICATION_HEADER, Wait, applyTableContentNgStyle, b64toBlob, base64ToFile, breakLinesForHtml, buildAuthenticationEndpointsRoutes, buildAuthenticationUrl, buildAuthorizationEndpointsRoutes, buildLoginPageUrl, buildServerApiUrl, buildSmzDialogCustomButtonTestId, buildSmzDialogTestId, buildSmzDialogTopbarButtonTestId, buildSmzTableTestId, buildState, capitalizeFirstLetter, capitalizeWithSlash, captureAttemptedRoute, clearArray, clearAttemptedRoute, clone, cloneAndRemoveProperties, cloneAndRemoveProperty, compare, compareInsensitive, completeSubjectOnTheInstance, composeAttemptedRoute, consumeAttemptedRoute, convertFormCreationFeature, convertFormFeature, convertFormFeatureFromInputData, convertFormUpdateFeature, count, createObjectFromString, createRound, createSubjectOnTheInstance, dataURLtoFile, databaseSmzAccessStates, debounce, deepClone, deepEqual, deepIndexOf, deepMerge, defaultFormsModuleConfig, defaultState, downloadBase64File, downloadFromServerUrl, downloadFromUrl, empty, every, executeTextPattern, featureSmzAccessStates, fixDate$1 as fixDate, fixDateProperties, fixDates, flatten, flattenObject, getAuthenticationInitialState, getCleanApplicationState, getFirst, getFirstElement, getFirstElements, getFormInputFromDialog, getGlobalInitialState, getInitialApplicationState, getInitialDatabaseStoreState, getInitialState$8 as getInitialState, getLastElements, getPreset, getProperty, getSymbol, getTreeNodeFromKey, getUiDefinitionsInitialState, getUiLocalizationInitialState, getUsersInitialState, getValidatorsForInput, handleBase64, isArray, isConvertibleToNumber, isDeepObject, isEmpty$1 as isEmpty, isFunction$1 as isFunction, isInteger, isNil, isNull$1 as isNull, isNullOrEmptyString, isNumber$1 as isNumber, isNumberFinite$1 as isNumberFinite, isNumeric, isObject$2 as isObject, isObjectHelper, isPositive, isSimpleNamedEntity, isString$1 as isString, isUndefined$1 as isUndefined, isValidAttemptedRoute, isWithinTime, leftPad, longestStringInArray, mapParamsToObject, markAsDecorated, mergeClone, mergeDeep, nameof, namesof, ngxsModuleForFeatureFaqsDbState, ngxsModuleForFeatureUiAthenaLayoutState, ngxsModuleForFeatureUiHephaestusLayoutState, ngxsModuleForFeatureUiNewAthenaLayoutState, normalizeDateToUtc, orderArrayByProperty, pad, peekAttemptedRoute, provideSmzCoreLogging, provideSmzEnvironment, rbkSafeHtmlPipe, removeElementFromArray, replaceAll, replaceArrayItem, replaceArrayPartialItem, replaceItem, replaceNgOnInit, resolvePostLoginUrl, resolveSmzTableRowId, rightPad, routerModuleForChildUsersModule, routerParamsDispatch, routerParamsListener, setNestedObject, shorten, showConfirmation, showDialog, showMarkdownDialog, showMessage, showObjectDialog, showPersistentDialog, shuffle, slugSmzDialogTestIdKey, slugSmzTableTestIdKey, sortArray, sortArrayOfObjects, sortArrayOfStrings, sortMenuItemsByLabel, sum, synchronizeNodes, synchronizeRow, synchronizeTable, synchronizeTrees, takeUntil, takeWhile, toDecimal, toSimpleNamedEntity, toString, unwrapDeep, upperFirst, uuidv4, wrapDeep };
|
|
57133
|
+
export { AUTHORIZATION_HEADER, AccessControlService, ActionDispatchDirective, ApplicationActions, ApplicationSelectors, ApplicationState, AsPipe, AthenaLayout, AthenaLayoutComponent, AthenaLayoutModule, AuthClaimDefinitions, AuthHandler, AuthService, AuthenticationActions, AuthenticationSelectors, AuthenticationService, AuthenticationState, AuthorizationService, AxisOverflowDirection, AxisOverflowType, AxisPosition, BaseApiService, BoilerplateService, BreadcrumbService, CLAIMS_PAGE_ROUTE, CLAIMS_PATH, CLAIMS_STATE_NAME, CONTENT_ENCODING_HEADER, CachedRouteReuseStrategy, CalendarComponent, CalendarPipe, CanAccess, CancelEditableRow, CellEditor, ChartType, CheckBoxComponent, CheckBoxGroupComponent, ClaimAccessType, ClaimAccessTypeDescription, ClaimAccessTypeValues, ClaimsActions, ClaimsModule, ClaimsSelectors, ClaimsState, ClickStopPropagationDirective, ClickStopPropagationModule, ClonePipe, ColorPallete, ColorPickerComponent, ColumnFilter, ColumnFilterFormElement, Confirmable, ContextMenuRow, CreateLinearChart, CreateRadialChart, CustomError, CustomNgForDirective, CustomNgForModule, DATABASE_REQUIRED_ACTIONS, DATABASE_STATES, DECORATOR_APPLIED, DEFAULT_AUTHENTICATION_ENDPOINTS_ROUTES, DEFAULT_AUTHORIZATION_ENDPOINTS_ROUTES, DatabaseActions, DatabaseSelectors, DatabaseState, DatasetType, DeepWrapper, DescribeAnyPipe, DescribeArrayPipe, DescribeSimpleNamedPipe, DialogContentManagerComponent, DialogService, DropdownComponent, DynamicDialogComponent, DynamicDialogConfig, DynamicDialogInjector, DynamicDialogModule, DynamicDialogRef, ERROR_HANDLING_TYPE_HEADER, EditableColumn, EditableRow, ExcelsUiActions, FEATURE_STATES, FeaturesActions, FeaturesSelectors, FeaturesState, FileUploadComponent, FilterContains, FirstOrDefaultPipe, FormGroupComponent, FormSubmitComponent, FrozenColumn, GenericInjectComponentDirective, GetElementById, GetElementsByParentId, GlobalActions, GlobalFilter, GlobalInjector, GlobalLoaderComponent, GlobalLoaderModule, GlobalState, GroupingType, HephaestusLayout, HephaestusLayoutComponent, HephaestusLayoutModule, HephaestusProviderModule, HostElement, HttpErrorHandler, IGNORE_ERROR_HANDLING, InViewportMetadata, InitEditableRow, InjectComponentDirective, InjectComponentService, InjectContentAppModule, InjectContentDirective, InjectContentService, InputBlurDetectionModule, InputChangeDetectionDirective, InputClearExtensionDirective, InputCurrencyComponent, InputListComponent, InputMaskComponent, InputNumberComponent, InputPasswordComponent, InputSwitchComponent, InputTagAreaComponent, InputTextAreaComponent, InputTextComponent, InputTreeComponent, IsVisiblePipe, IsVisiblePipeModule, JoinPipe, LOADING_BEHAVIOR_HEADER, LOCAL_LOADING_TAG_HEADER, LayoutUiActions, LayoutUiSelectors, LayoutUiState, LegacyAuthenticationSelectors, LinearChartBuilder, LinkedDropdownComponent, LinkedMultiSelectComponent, LoggingScope, LoggingService, MAIN_LAYOUT_PATH, MentionableTextareaComponent, MenuHelperService, MenuType, MergeClonePipe, MergeClonePipeModule, MultiSelectComponent, NG_ON_INIT, NewAthenaLayout, NewAthenaLayoutComponent, NewAthenaLayoutModule, NewAthenaProviderModule, NgCloneDirective, NgCloneModule, NgIfLandscapeDirective, NgIfLandscapeDirectiveModule, NgIfPortraitDirective, NgIfPortraitDirectiveModule, NgVar, NgVarContext, NgVarModule, NgxRbkUtilsConfig, NgxRbkUtilsModule, NgxSmzCardsModule, NgxSmzCommentsModule, NgxSmzDataInfoModule, NgxSmzDataPipesModule, NgxSmzDialogsModule, NgxSmzDockModule, NgxSmzDocumentsModule, NgxSmzFaqsModule, NgxSmzFormsModule, NgxSmzLayoutsModule, NgxSmzMenuModule, NgxSmzMultiTablesModule, NgxSmzRouterParamsModule, NgxSmzSafeImageModule, NgxSmzServerImageModule, NgxSmzServerImageToBase64Module, NgxSmzSideContentModule, NgxSmzTablesModule, NgxSmzTreeWithDetailsModule, NgxSmzTreesModule, NgxSmzUiBlockModule, NgxSmzUiComponent, NgxSmzUiConfig, NgxSmzUiGuidesModule, NgxSmzUiModule, NgxSmzViewportModule, NotificationFolder, NotificationFolderStatus, NotificationStatus, NotificationType, NotificationTypeClass, NotificationsUiActions, NotificationsUiSelectors, PrettyJsonPipe$1 as PrettyJsonPipe, PrettyJsonPipeModule, PrimeConfigService, REFRESH_TOKEN_BEHAVIOR_HEADER, RESTORE_STATE_ON_ERROR_HEADER, ROLES_PAGE_ROUTE, ROLES_PATH, ROLES_STATE_NAME, RadialChartBuilder, RadioButtonComponent, RbkAccessControlModule, RbkAuthGuard, RbkCanAccessAnyPipe, RbkCanAccessPipe, RbkClaimGuardDirective, RbkDatabaseStateGuard, RbkFeatureStateGuard, RbkPipesModule, RbkTableFilterClearDirectivesModule, RegistrySmzUiConfiguration, ReorderableColumn, ReorderableRow, ReorderableRowHandle, RepositoryForm, ResizableColumn, RoleMode, RoleModeDescription, RoleModeValues, RoleSource, RoleSourceDescription, RoleSourceValues, RolesActions, RolesModule, RolesSelectors, RolesState, RouterParamsActions, RouterParamsSelectors, RowGroupHeader, RowToggler, SMZ_CORE_LOGGING_CONFIG, SMZ_UI_ENVIRONMENT_CONFIG, SafeHtmlPipe$2 as SafeHtmlPipe, SafeImageDirective, SafeUrlPipe$1 as SafeUrlPipe, SaveEditableRow, SelectableRow, SelectableRowDblClick, SelectorPipe, ServerImageDirective, ServerImageToBase64Directive, ServerPathPipe, SetTemplateClasses, SetTemplateClassesPipe, SidebarState, SimpleCalendarPipe, SmzActionDispatchModule, SmzAuthorizationDeactivatedUsersTableBuilder, SmzAuthorizationUsersTableBuilder, SmzBaseColumnBuilder, SmzBaseEditableBuilder, SmzBreakpoints, SmzBuilderUtilities, SmzCardsBuilder, SmzCardsComponent, SmzCardsContentType, SmzCardsInjectableComponentBuilder, SmzCardsTemplate, SmzCardsView, SmzChartComponent, SmzChartModule, SmzClipboardService, SmzColumnCollectionBuilder, SmzCommentsBuilder, SmzCommentsComponent, SmzCommentsSectionComponent, SmzContentTheme, SmzContentThemes, SmzContentType, SmzControlType, SmzCoreLogging, SmzCurrencyColumnBuilder, SmzCustomColumnBuilder, SmzDataInfoComponent, SmzDataTransformColumnBuilder, SmzDataTransformTreePipe, SmzDateColumnBuilder, SmzDialogBuilder, SmzDialogComponentBuilder, SmzDialogFormBuilder, SmzDialogTableBuilder, SmzDialogsConfig, SmzDialogsPresets, SmzDialogsService, SmzDockComponent, SmzDockService, SmzDocumentBaseCellBuilder, SmzDocumentBuilder, SmzDocumentComponent, SmzDocumentsService, SmzDragDropModule, SmzDraggable, SmzDropdownEditableBuilder, SmzDroppable, SmzDynamicDialogConfig, SmzEasyBaseColumnBuilder, SmzEasyColumnCollectionBuilder, SmzEasyCustomColumnBuilder, SmzEasyDataTransformColumnBuilder, SmzEasyDateColumnBuilder, SmzEasyMenuTableBuilder, SmzEasyTableBuilder, SmzEasyTableComponent, SmzEasyTableContentType, SmzEasyTableModule, SmzEasyTextColumnBuilder, SmzEditableCollectionBuilder, SmzEditableTableBuilder, SmzEditableType, SmzEnvironment, SmzExcelColorDefinitions, SmzExcelDataDefinitions, SmzExcelFontDefinitions, SmzExcelService, SmzExcelSortOrderDefinitions, SmzExcelThemeDefinitions, SmzExcelTypeDefinitions, SmzExcelsBuilder, SmzExportDialogComponent, SmzExportDialogModule, SmzExportDialogService, SmzExportableContentSource, SmzExportableContentType, SmzFaqsComponent, SmzFaqsConfig, SmzFilterType, SmzFlattenMenuPipe, SmzFlipCardContext, SmzFormBuilder, SmzFormViewdata, SmzFormsConfig, SmzFormsPresets, SmzFormsRepositoryService, SmzGaugeBuilder, SmzGaugeComponent, SmzGaugeThresholdBuilder, SmzGetDataPipe, SmzGridItemComponent, SmzHelpDialogService, SmzHtmlViewerComponent, SmzHtmlViewerModule, SmzIconColumnBuilder, SmzIconMessageComponent, SmzInfoDateComponent, SmzInfoDateModule, SmzInitialPipe, SmzInputAutocompleteTagArea, SmzInputTextModule, SmzInputTextPipe, SmzLayoutsConfig, SmzLoader, SmzLoaders, SmzLoginBuilder, SmzLoginComponent, SmzLoginModule, SmzMenuBuilder, SmzMenuComponent, SmzMenuCreationBuilder, SmzMenuCreationItemBuilder, SmzMenuItemActionsDirective, SmzMenuItemBuilder, SmzMenuItemEasyTableBuilder, SmzMenuItemTableBuilder, SmzMenuTableBuilder, SmzMessagesModule, SmzMultiTablesBuilder, SmzMultiTablesComponent, SmzNotificationsComponent, SmzNotificationsModule, SmzNumberEditableBuilder, SmzPresets, SmzProxyStore, SmzResponsiveBreakpointsDirective, SmzResponsiveBreakpointsDirectiveModule, SmzResponsiveComponent, SmzRouteDatas, SmzRouteParams, SmzRouteQueryParams, SmzSideContentComponent, SmzSideContentDefault, SmzSincronizeTablePipe, SmzSmartTag, SmzSmartTagModule, SmzSubmitComponent, SmzSvgBuilder, SmzSvgComponent, SmzSvgFeatureBuilder, SmzSvgModule, SmzSvgPinBuilder, SmzSvgRootBuilder, SmzSvgWorldCoordinates, SmzSwitchEditableBuilder, SmzTableBuilder, SmzTableComponent, SmzTablesConfig, SmzTagMessage, SmzTailPipe, SmzTemplatesPipeModule, SmzTenantSwitchComponent, SmzTextColumnBuilder, SmzTextEditableBuilder, SmzTextPattern, SmzTimelineBuilder, SmzTimelineComponent, SmzToastComponent, SmzTooltipTouchSupportModule, SmzTreeBuilder, SmzTreeComponent, SmzTreeDragAndDropBuilder, SmzTreeDropBuilder, SmzTreeDynamicMenuBuilder, SmzTreeDynamicMenuItemBuilder, SmzTreeEmptyFeedbackBuilder, SmzTreeMenuBuilder, SmzTreeMenuItemBuilder, SmzTreeToolbarBuilder, SmzTreeToolbarButtonBuilder, SmzTreeToolbarButtonCollectionBuilder, SmzTreeWithDetailsBuilder, SmzTreeWithDetailsComponent, SmzUiBlockComponent, SmzUiBlockDirective, SmzUiBlockService, SmzUiBuilder, SmzUiEnvironment, SmzUiGuidesBuilder, SmzUiGuidesService, SmzViewportDirective, SmzViewportService, SortIcon, SortableColumn, StandaloneInjectComponentDirective, StateBuilderPipe, TENANTS_PAGE_ROUTE, TENANTS_PATH, TENANTS_STATE_NAME, Table, TableBody, TableCheckbox, TableClearExtensionDirective, TableHeaderCheckbox, TableHelperService, TableModule, TableOverlayService, TableRadioButton, TableService, TenantAuthenticationSelectors, TenantsActions, TenantsModule, TenantsSelectors, TenantsState, ThemeManagerService, TitleService, ToastActions, ToastService, TooltipTouchSupportDirective, TreeHelperService, TreeHelpers, Tunnel, UI_DEFINITIONS_STATE_NAME, UI_LOCALIZATION_STATE_NAME, USERS_PAGE_ROUTE, USERS_PATH, USERS_STATE_NAME, USER_ID_HEADER, LayoutUiActions as UiActions, UiDefinitionsDbActions, UiDefinitionsDbSelectors, UiDefinitionsDbState, UiDefinitionsService, UiLocalizationDbActions, UiLocalizationDbSelectors, UiLocalizationDbState, UiLocalizationService, LayoutUiSelectors as UiSelectors, UniqueFilterPipe, UrlCheckerPipe, UrlCheckerPipeModule, UsersActions, UsersModule, UsersSelectors, UsersState, WINDOWS_AUTHENTICATION_HEADER, Wait, applyTableContentNgStyle, b64toBlob, base64ToFile, breakLinesForHtml, buildAuthenticationEndpointsRoutes, buildAuthenticationUrl, buildAuthorizationEndpointsRoutes, buildLoginPageUrl, buildServerApiUrl, buildSmzDialogCustomButtonTestId, buildSmzDialogTestId, buildSmzDialogTopbarButtonTestId, buildSmzTableTestId, buildState, capitalizeFirstLetter, capitalizeWithSlash, captureAttemptedRoute, clearArray, clearAttemptedRoute, clone, cloneAndRemoveProperties, cloneAndRemoveProperty, compare, compareInsensitive, completeSubjectOnTheInstance, composeAttemptedRoute, consumeAttemptedRoute, convertFormCreationFeature, convertFormFeature, convertFormFeatureFromInputData, convertFormUpdateFeature, count, createObjectFromString, createRound, createSubjectOnTheInstance, dataURLtoFile, databaseSmzAccessStates, debounce, deepClone, deepEqual, deepIndexOf, deepMerge, defaultFormsModuleConfig, defaultState, downloadBase64File, downloadFromServerUrl, downloadFromUrl, empty, every, executeSmzMenuItem, executeTextPattern, featureSmzAccessStates, fixDate$1 as fixDate, fixDateProperties, fixDates, flatten, flattenObject, getAuthenticationInitialState, getCleanApplicationState, getFirst, getFirstElement, getFirstElements, getFormInputFromDialog, getGlobalInitialState, getInitialApplicationState, getInitialDatabaseStoreState, getInitialState$8 as getInitialState, getLastElements, getPreset, getProperty, getSymbol, getTreeNodeFromKey, getUiDefinitionsInitialState, getUiLocalizationInitialState, getUsersInitialState, getValidatorsForInput, handleBase64, isArray, isConvertibleToNumber, isDeepObject, isEmpty$1 as isEmpty, isFunction$1 as isFunction, isInsideCdkOverlay, isInteger, isNil, isNull$1 as isNull, isNullOrEmptyString, isNumber$1 as isNumber, isNumberFinite$1 as isNumberFinite, isNumeric, isObject$2 as isObject, isObjectHelper, isPositive, isSimpleNamedEntity, isString$1 as isString, isUndefined$1 as isUndefined, isValidAttemptedRoute, isWithinTime, leftPad, longestStringInArray, mapParamsToObject, markAsDecorated, mergeClone, mergeDeep, nameof, namesof, ngxsModuleForFeatureFaqsDbState, ngxsModuleForFeatureUiAthenaLayoutState, ngxsModuleForFeatureUiHephaestusLayoutState, ngxsModuleForFeatureUiNewAthenaLayoutState, normalizeDateToUtc, orderArrayByProperty, pad, peekAttemptedRoute, provideSmzCoreLogging, provideSmzEnvironment, rbkSafeHtmlPipe, removeElementFromArray, replaceAll, replaceArrayItem, replaceArrayPartialItem, replaceItem, replaceNgOnInit, resolvePostLoginUrl, resolveSmzTableRowId, rightPad, routerModuleForChildUsersModule, routerParamsDispatch, routerParamsListener, setNestedObject, shorten, showConfirmation, showDialog, showMarkdownDialog, showMessage, showObjectDialog, showPersistentDialog, shuffle, slugSmzDialogTestIdKey, slugSmzTableTestIdKey, sortArray, sortArrayOfObjects, sortArrayOfStrings, sortMenuItemsByLabel, sum, synchronizeNodes, synchronizeRow, synchronizeTable, synchronizeTrees, takeUntil, takeWhile, toDecimal, toSimpleNamedEntity, toString, unwrapDeep, upperFirst, uuidv4, wrapDeep };
|
|
57075
57134
|
//# sourceMappingURL=ngx-smz-core.mjs.map
|