@ngx-smz/core 21.10.0-next.2 → 21.10.0-next.4
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.
|
@@ -2792,11 +2792,11 @@ class ValidationMessagesComponent {
|
|
|
2792
2792
|
this.controlSubscription?.unsubscribe();
|
|
2793
2793
|
}
|
|
2794
2794
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ValidationMessagesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2795
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ValidationMessagesComponent, isStandalone: false, selector: "smz-validation-messages", inputs: { input: "input", control: "control", behaviors: "behaviors", extraMessages: "extraMessages" }, ngImport: i0, template: "@if (behaviors?.showErrorsMethod != null ? control[behaviors.showErrorsMethod] : control[uiConfig.dialogs.forms.behaviors.showErrorsMethod]) {\r\n @if (controlMessages() | join : extraMessages; as messages) {\r\n @if (messages.length === 1) {\r\n @for (message of messages; track message) {\r\n <span class=\"
|
|
2795
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ValidationMessagesComponent, isStandalone: false, selector: "smz-validation-messages", inputs: { input: "input", control: "control", behaviors: "behaviors", extraMessages: "extraMessages" }, ngImport: i0, template: "@if (behaviors?.showErrorsMethod != null ? control[behaviors.showErrorsMethod] : control[uiConfig.dialogs.forms.behaviors.showErrorsMethod]) {\r\n @if (controlMessages() | join : extraMessages; as messages) {\r\n @if (messages.length === 1) {\r\n @for (message of messages; track message) {\r\n <span class=\"w-full flex-none error-message p-2\">{{ message }}</span>\r\n }\r\n }\r\n\r\n @if (messages.length > 1) {\r\n @if (behaviors.showMultipleErrorMessages) {\r\n <span class=\"w-full flex-none error-message asterisk p-2\">{{ messages | describeArray }}</span>\r\n }\r\n\r\n @if (!behaviors.showMultipleErrorMessages) {\r\n <span class=\"w-full flex-none error-message asterisk p-2\" [smzTooltip]=\"messages | describeArray\">{{ uiConfig.dialogs.forms.multipleErrorMessagesLabel }} *</span>\r\n }\r\n }\r\n }\r\n}", dependencies: [{ kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "pipe", type: DescribeArrayPipe, name: "describeArray" }, { kind: "pipe", type: JoinPipe, name: "join" }] });
|
|
2796
2796
|
}
|
|
2797
2797
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ValidationMessagesComponent, decorators: [{
|
|
2798
2798
|
type: Component,
|
|
2799
|
-
args: [{ selector: 'smz-validation-messages', standalone: false, template: "@if (behaviors?.showErrorsMethod != null ? control[behaviors.showErrorsMethod] : control[uiConfig.dialogs.forms.behaviors.showErrorsMethod]) {\r\n @if (controlMessages() | join : extraMessages; as messages) {\r\n @if (messages.length === 1) {\r\n @for (message of messages; track message) {\r\n <span class=\"
|
|
2799
|
+
args: [{ selector: 'smz-validation-messages', standalone: false, template: "@if (behaviors?.showErrorsMethod != null ? control[behaviors.showErrorsMethod] : control[uiConfig.dialogs.forms.behaviors.showErrorsMethod]) {\r\n @if (controlMessages() | join : extraMessages; as messages) {\r\n @if (messages.length === 1) {\r\n @for (message of messages; track message) {\r\n <span class=\"w-full flex-none error-message p-2\">{{ message }}</span>\r\n }\r\n }\r\n\r\n @if (messages.length > 1) {\r\n @if (behaviors.showMultipleErrorMessages) {\r\n <span class=\"w-full flex-none error-message asterisk p-2\">{{ messages | describeArray }}</span>\r\n }\r\n\r\n @if (!behaviors.showMultipleErrorMessages) {\r\n <span class=\"w-full flex-none error-message asterisk p-2\" [smzTooltip]=\"messages | describeArray\">{{ uiConfig.dialogs.forms.multipleErrorMessagesLabel }} *</span>\r\n }\r\n }\r\n }\r\n}" }]
|
|
2800
2800
|
}], ctorParameters: () => [], propDecorators: { input: [{
|
|
2801
2801
|
type: Input
|
|
2802
2802
|
}], control: [{
|
|
@@ -2930,11 +2930,11 @@ class CheckBoxComponent {
|
|
|
2930
2930
|
this.dialogVisibility.setValue(input, formId, event);
|
|
2931
2931
|
}
|
|
2932
2932
|
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 });
|
|
2933
|
-
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: "
|
|
2933
|
+
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: "flex flex-wrap" }, ngImport: i0, template: "<div class=\"flex flex-wrap w-full flex-none input_inner__wrapper -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\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=\"w-full flex-none flex justify-start items-center p-1 gap-1 -m-1\">\r\n <ui-checkbox class=\"smz__input_value p-1\" [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 p-1\">{{input.name}}</label>\r\n </div>\r\n <smz-validation-messages class=\"p-1\" [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"] }] });
|
|
2934
2934
|
}
|
|
2935
2935
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxComponent, decorators: [{
|
|
2936
2936
|
type: Component,
|
|
2937
|
-
args: [{ selector: 'smz-checkbox', host: { class: '
|
|
2937
|
+
args: [{ selector: 'smz-checkbox', host: { class: 'flex flex-wrap' }, standalone: false, template: "<div class=\"flex flex-wrap w-full flex-none input_inner__wrapper -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\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=\"w-full flex-none flex justify-start items-center p-1 gap-1 -m-1\">\r\n <ui-checkbox class=\"smz__input_value p-1\" [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 p-1\">{{input.name}}</label>\r\n </div>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
|
|
2938
2938
|
}], ctorParameters: () => [{ type: SmzFormsVisibilityService }, { type: SmzDialogsVisibilityService }], propDecorators: { input: [{
|
|
2939
2939
|
type: Input
|
|
2940
2940
|
}], formId: [{
|
|
@@ -2950,11 +2950,11 @@ class CheckBoxGroupComponent {
|
|
|
2950
2950
|
control;
|
|
2951
2951
|
behaviors;
|
|
2952
2952
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2953
|
-
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: "
|
|
2953
|
+
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: "flex flex-wrap" }, ngImport: i0, template: "<div class=\"flex flex-wrap w-full flex-none input_inner__wrapper -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\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=\"w-full flex-none flex justify-start items-center p-1 gap-1 -m-1\">\r\n @for (option of input.options; track option) {\r\n <ui-checkbox class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm p-1\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages class=\"p-1\" [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"] }] });
|
|
2954
2954
|
}
|
|
2955
2955
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxGroupComponent, decorators: [{
|
|
2956
2956
|
type: Component,
|
|
2957
|
-
args: [{ selector: 'smz-checkbox-group', host: { class: '
|
|
2957
|
+
args: [{ selector: 'smz-checkbox-group', host: { class: 'flex flex-wrap' }, standalone: false, template: "<div class=\"flex flex-wrap w-full flex-none input_inner__wrapper -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\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=\"w-full flex-none flex justify-start items-center p-1 gap-1 -m-1\">\r\n @for (option of input.options; track option) {\r\n <ui-checkbox class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm p-1\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
|
|
2958
2958
|
}], propDecorators: { input: [{
|
|
2959
2959
|
type: Input
|
|
2960
2960
|
}], control: [{
|
|
@@ -2987,11 +2987,11 @@ class ColorPickerComponent {
|
|
|
2987
2987
|
this.control.markAsTouched();
|
|
2988
2988
|
}
|
|
2989
2989
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2990
|
-
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
|
|
2990
|
+
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 flex flex-wrap 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"] }] });
|
|
2991
2991
|
}
|
|
2992
2992
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColorPickerComponent, decorators: [{
|
|
2993
2993
|
type: Component,
|
|
2994
|
-
args: [{ selector: 'smz-color-picker', standalone: false, 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
|
|
2994
|
+
args: [{ selector: 'smz-color-picker', standalone: false, 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 flex flex-wrap 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>" }]
|
|
2995
2995
|
}], propDecorators: { input: [{
|
|
2996
2996
|
type: Input
|
|
2997
2997
|
}], control: [{
|
|
@@ -3031,11 +3031,11 @@ class DropdownComponent {
|
|
|
3031
3031
|
this.formsVisibility.setValue(input, formId, event);
|
|
3032
3032
|
}
|
|
3033
3033
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DropdownComponent, deps: [{ token: SmzFormsDropdownService }, { token: SmzFormsVisibilityService }, { token: SmzDialogsVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3034
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: DropdownComponent, isStandalone: false, selector: "smz-dropdown", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "\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=\"input_inner__wrapper
|
|
3034
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: DropdownComponent, isStandalone: false, selector: "smz-dropdown", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "\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=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-select [id]=\"input.propertyName\" appendTo=\"body\" class=\"w-full m-0 smz__input_value flex-1\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n", dependencies: [{ 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: "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"] }] });
|
|
3035
3035
|
}
|
|
3036
3036
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
3037
3037
|
type: Component,
|
|
3038
|
-
args: [{ selector: 'smz-dropdown', standalone: false, template: "\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=\"input_inner__wrapper
|
|
3038
|
+
args: [{ selector: 'smz-dropdown', standalone: false, template: "\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=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-select [id]=\"input.propertyName\" appendTo=\"body\" class=\"w-full m-0 smz__input_value flex-1\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
|
|
3039
3039
|
}], ctorParameters: () => [{ type: SmzFormsDropdownService }, { type: SmzFormsVisibilityService }, { type: SmzDialogsVisibilityService }], propDecorators: { input: [{
|
|
3040
3040
|
type: Input
|
|
3041
3041
|
}], formId: [{
|
|
@@ -3647,11 +3647,11 @@ class FileUploadComponent {
|
|
|
3647
3647
|
return '.' + file.name.split('.').pop();
|
|
3648
3648
|
}
|
|
3649
3649
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
3650
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FileUploadComponent, isStandalone: false, selector: "smz-file-upload", inputs: { input: "input", form: "form", control: "control", behaviors: "behaviors" }, outputs: { selectChange: "selectChange" }, 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<!-- ZONA DE DROPPING -->\r\n@if (input._file == null) {\r\n <div SmzDragDrop (fileDropped)=\"input.isDisabled ? notAllowed() : onFilesDropped($event, true, true, this.cdf)\" class=\"file_upload__drag-container
|
|
3650
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FileUploadComponent, isStandalone: false, selector: "smz-file-upload", inputs: { input: "input", form: "form", control: "control", behaviors: "behaviors" }, outputs: { selectChange: "selectChange" }, 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<!-- ZONA DE DROPPING -->\r\n@if (input._file == null) {\r\n <div SmzDragDrop (fileDropped)=\"input.isDisabled ? notAllowed() : onFilesDropped($event, true, true, this.cdf)\" class=\"file_upload__drag-container flex flex-wrap items-center justify-center mt-1 mb-1\">\r\n <div class=\"flex flex-wrap flex-col items-center justify-center pt-3 pb-3\">\r\n <!-- ICONE DE UPLOAD -->\r\n <i [ngClass]=\"input.dragIconClass\" class=\"text-4xl mb-2\"></i>\r\n <span class=\"flex flex-wrap gap-2\">\r\n <!-- INPUT DE UPLOAD MANUAL -->\r\n <input type=\"file\" [name]=\"uploadControl\" class=\"upload_manual_control\" [attr.disabled]=\"input.isDisabled\" [accept]=\"input.fileAccept\" [id]=\"uploadControl\" (change)=\"onInputFiles($event)\" />\r\n <!-- BOT\u00C3O PARA SELECIONAR ARQUIVO -->\r\n <label [for]=\"uploadControl\" [ngClass]=\"{ 'text-gray-500' : input.isDisabled,'clickable upload_manual_label hvr hvr-grow': !input.isDisabled }\">{{ input.inputMessage }}</label>\r\n <!-- MENSAGEM PARA ARRASTAR -->\r\n <span class=\"upload_field-drag-message\">ou {{ input.dragMessage }}</span>\r\n </span>\r\n <!-- MENSAGEM DE ERRO PARA SELE\u00C7\u00C3O DE ARQUIVO -->\r\n @for (error of errors; track error) {\r\n <ui-message [ngStyle]=\"{ 'width': '100%;' }\" class=\"dialog-messages\" [severity]=\"$any(error?.severity)\">\r\n {{ error?.detail ?? error?.summary ?? 'Erro desconhecido' }}\r\n </ui-message>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- CONTE\u00DADO COM ARQUIVO CARREGADO -->\r\n@if (input._file != null) {\r\n <div class=\"flex flex-wrap items-center justify-start flex-nowrap mt-1 mb-1 file_upload-container\">\r\n <div class=\"upload_field\" [style.height]=\"input.thumbnailSize\" [style.width]=\"input.thumbnailSize\">\r\n @switch (input._fileType) {\r\n <!-- IMAGENS -->\r\n @case ('image') {\r\n <!-- THUMBNAIL DE IMAGENS -->\r\n @if (input.base64) {\r\n <img class=\"upload_field-img mr-3\" [src]=\"input.base64 | safeUrl\"/>\r\n }\r\n <!-- ZOOM PARA IMAGENS -->\r\n <div class=\"upload_field__actions\">\r\n <div class=\"flex flex-wrap items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <!-- APLICA\u00C7\u00D5ES -->\r\n @case ('application') {\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <!-- THUMBNAIL DE APLICA\u00C7\u00D5ES -->\r\n @switch (input._fileExtension) {\r\n @case ('.pdf') {\r\n <i class=\"fa-solid fa-file-pdf\"></i>\r\n }\r\n @case ('.doc') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.docx') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.ppt') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.pptx') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.xls') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.xlsx') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.7zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.rar') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.txt') {\r\n <i class=\"fa-solid fa-file-lines\"></i>\r\n }\r\n @default {\r\n <i class=\"fa-solid fa-file\"></i>\r\n }\r\n }\r\n </div>\r\n <!-- ZOOM PARA PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n <div class=\"upload_field__actions\">\r\n <div class=\"flex flex-wrap items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n <!-- V\u00CDDEOS -->\r\n @case ('video') {\r\n <!-- THUMBNAIL DE V\u00CDDEOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-video\"></i>\r\n </div>\r\n }\r\n <!-- AUDIOS -->\r\n @case ('audio') {\r\n <!-- THUMBNAIL DE AUDIOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-audio\"></i>\r\n </div>\r\n }\r\n <!-- OUTROS -->\r\n @default {\r\n <!-- THUMBNAIL GENERICOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file\"></i>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <!-- NOME E TAMANHO DO ARQUIVO -->\r\n <div class=\"flex flex-wrap flex-col items-start justify-end ml-3\">\r\n <span>{{ input._file.name | fileNameShorten : input.shortenLength : input.shortenSeparator }} <i class=\"far fa-trash-alt hvr hvr-grow text-red-500 clickable ml-2 mb-1 cursor-pointer\" (click)=\"clear(true)\"></i></span>\r\n @if (input.showFileSize) {\r\n <span><small>{{ formatBytes(input._file.size) }}</small></span>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O DO FORM -->\r\n<smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n\r\n@if (isZoomActive) {\r\n <div class=\"upload_field__fullscreen-image\">\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n @if (input.base64) {\r\n <iframe [src]=\"input.base64 | safeUrl\" class=\"animate__animated animate__zoomIn animate__faster\" width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>\r\n }\r\n } @else {\r\n @if (input.base64) {\r\n <img class=\"animate__animated animate__zoomIn animate__faster\" [src]=\"input.base64 | safeUrl\" height=\"100%\" width=\"100%\"/>\r\n }\r\n }\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE IMAGENS -->\r\n <!-- ICONE DE SAIR DO FULLSCREEN -->\r\n <i class=\"far fa-times-circle clickable m-4 hvr hvr-grow text-4xl text-white\" (click)=\"restoreZoom()\"></i>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmzMessageComponent, selector: "ui-message", inputs: ["severity", "text", "icon"] }, { 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"] }, { kind: "directive", type: FileDragDropDirective, selector: "[SmzDragDrop]", outputs: ["fileDropped"] }, { kind: "pipe", type: SafeUrlPipe$1, name: "safeUrl" }, { kind: "pipe", type: FileNameShortenPipe, name: "fileNameShorten" }] });
|
|
3651
3651
|
}
|
|
3652
3652
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
3653
3653
|
type: Component,
|
|
3654
|
-
args: [{ selector: 'smz-file-upload', standalone: false, 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<!-- ZONA DE DROPPING -->\r\n@if (input._file == null) {\r\n <div SmzDragDrop (fileDropped)=\"input.isDisabled ? notAllowed() : onFilesDropped($event, true, true, this.cdf)\" class=\"file_upload__drag-container
|
|
3654
|
+
args: [{ selector: 'smz-file-upload', standalone: false, 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<!-- ZONA DE DROPPING -->\r\n@if (input._file == null) {\r\n <div SmzDragDrop (fileDropped)=\"input.isDisabled ? notAllowed() : onFilesDropped($event, true, true, this.cdf)\" class=\"file_upload__drag-container flex flex-wrap items-center justify-center mt-1 mb-1\">\r\n <div class=\"flex flex-wrap flex-col items-center justify-center pt-3 pb-3\">\r\n <!-- ICONE DE UPLOAD -->\r\n <i [ngClass]=\"input.dragIconClass\" class=\"text-4xl mb-2\"></i>\r\n <span class=\"flex flex-wrap gap-2\">\r\n <!-- INPUT DE UPLOAD MANUAL -->\r\n <input type=\"file\" [name]=\"uploadControl\" class=\"upload_manual_control\" [attr.disabled]=\"input.isDisabled\" [accept]=\"input.fileAccept\" [id]=\"uploadControl\" (change)=\"onInputFiles($event)\" />\r\n <!-- BOT\u00C3O PARA SELECIONAR ARQUIVO -->\r\n <label [for]=\"uploadControl\" [ngClass]=\"{ 'text-gray-500' : input.isDisabled,'clickable upload_manual_label hvr hvr-grow': !input.isDisabled }\">{{ input.inputMessage }}</label>\r\n <!-- MENSAGEM PARA ARRASTAR -->\r\n <span class=\"upload_field-drag-message\">ou {{ input.dragMessage }}</span>\r\n </span>\r\n <!-- MENSAGEM DE ERRO PARA SELE\u00C7\u00C3O DE ARQUIVO -->\r\n @for (error of errors; track error) {\r\n <ui-message [ngStyle]=\"{ 'width': '100%;' }\" class=\"dialog-messages\" [severity]=\"$any(error?.severity)\">\r\n {{ error?.detail ?? error?.summary ?? 'Erro desconhecido' }}\r\n </ui-message>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- CONTE\u00DADO COM ARQUIVO CARREGADO -->\r\n@if (input._file != null) {\r\n <div class=\"flex flex-wrap items-center justify-start flex-nowrap mt-1 mb-1 file_upload-container\">\r\n <div class=\"upload_field\" [style.height]=\"input.thumbnailSize\" [style.width]=\"input.thumbnailSize\">\r\n @switch (input._fileType) {\r\n <!-- IMAGENS -->\r\n @case ('image') {\r\n <!-- THUMBNAIL DE IMAGENS -->\r\n @if (input.base64) {\r\n <img class=\"upload_field-img mr-3\" [src]=\"input.base64 | safeUrl\"/>\r\n }\r\n <!-- ZOOM PARA IMAGENS -->\r\n <div class=\"upload_field__actions\">\r\n <div class=\"flex flex-wrap items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <!-- APLICA\u00C7\u00D5ES -->\r\n @case ('application') {\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <!-- THUMBNAIL DE APLICA\u00C7\u00D5ES -->\r\n @switch (input._fileExtension) {\r\n @case ('.pdf') {\r\n <i class=\"fa-solid fa-file-pdf\"></i>\r\n }\r\n @case ('.doc') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.docx') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.ppt') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.pptx') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.xls') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.xlsx') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.7zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.rar') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.txt') {\r\n <i class=\"fa-solid fa-file-lines\"></i>\r\n }\r\n @default {\r\n <i class=\"fa-solid fa-file\"></i>\r\n }\r\n }\r\n </div>\r\n <!-- ZOOM PARA PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n <div class=\"upload_field__actions\">\r\n <div class=\"flex flex-wrap items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n <!-- V\u00CDDEOS -->\r\n @case ('video') {\r\n <!-- THUMBNAIL DE V\u00CDDEOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-video\"></i>\r\n </div>\r\n }\r\n <!-- AUDIOS -->\r\n @case ('audio') {\r\n <!-- THUMBNAIL DE AUDIOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-audio\"></i>\r\n </div>\r\n }\r\n <!-- OUTROS -->\r\n @default {\r\n <!-- THUMBNAIL GENERICOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file\"></i>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <!-- NOME E TAMANHO DO ARQUIVO -->\r\n <div class=\"flex flex-wrap flex-col items-start justify-end ml-3\">\r\n <span>{{ input._file.name | fileNameShorten : input.shortenLength : input.shortenSeparator }} <i class=\"far fa-trash-alt hvr hvr-grow text-red-500 clickable ml-2 mb-1 cursor-pointer\" (click)=\"clear(true)\"></i></span>\r\n @if (input.showFileSize) {\r\n <span><small>{{ formatBytes(input._file.size) }}</small></span>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O DO FORM -->\r\n<smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n\r\n@if (isZoomActive) {\r\n <div class=\"upload_field__fullscreen-image\">\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n @if (input.base64) {\r\n <iframe [src]=\"input.base64 | safeUrl\" class=\"animate__animated animate__zoomIn animate__faster\" width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>\r\n }\r\n } @else {\r\n @if (input.base64) {\r\n <img class=\"animate__animated animate__zoomIn animate__faster\" [src]=\"input.base64 | safeUrl\" height=\"100%\" width=\"100%\"/>\r\n }\r\n }\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE IMAGENS -->\r\n <!-- ICONE DE SAIR DO FULLSCREEN -->\r\n <i class=\"far fa-times-circle clickable m-4 hvr hvr-grow text-4xl text-white\" (click)=\"restoreZoom()\"></i>\r\n </div>\r\n}" }]
|
|
3655
3655
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$3.Store }], propDecorators: { input: [{
|
|
3656
3656
|
type: Input
|
|
3657
3657
|
}], form: [{
|
|
@@ -3710,11 +3710,11 @@ class InputCurrencyComponent {
|
|
|
3710
3710
|
control;
|
|
3711
3711
|
behaviors;
|
|
3712
3712
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3713
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputCurrencyComponent, isStandalone: false, selector: "smz-input-currency", 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=\"p-inputgroup input_inner__wrapper\">\r\n <span class=\"p-inputgroup-addon\">R$</span>\r\n <input smzInputText class=\"
|
|
3713
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputCurrencyComponent, isStandalone: false, selector: "smz-input-currency", 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=\"p-inputgroup input_inner__wrapper\">\r\n <span class=\"p-inputgroup-addon\">R$</span>\r\n <input smzInputText class=\"w-full smz__input_value flex-1 py-2\" [id]=\"input.propertyName\" type=\"number\"\r\n [formControl]=\"control\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { 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"] }] });
|
|
3714
3714
|
}
|
|
3715
3715
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputCurrencyComponent, decorators: [{
|
|
3716
3716
|
type: Component,
|
|
3717
|
-
args: [{ selector: 'smz-input-currency', standalone: false, 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=\"p-inputgroup input_inner__wrapper\">\r\n <span class=\"p-inputgroup-addon\">R$</span>\r\n <input smzInputText class=\"
|
|
3717
|
+
args: [{ selector: 'smz-input-currency', standalone: false, 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=\"p-inputgroup input_inner__wrapper\">\r\n <span class=\"p-inputgroup-addon\">R$</span>\r\n <input smzInputText class=\"w-full smz__input_value flex-1 py-2\" [id]=\"input.propertyName\" type=\"number\"\r\n [formControl]=\"control\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
|
|
3718
3718
|
}], propDecorators: { input: [{
|
|
3719
3719
|
type: Input
|
|
3720
3720
|
}], control: [{
|
|
@@ -4083,7 +4083,7 @@ class InputListComponent {
|
|
|
4083
4083
|
return form;
|
|
4084
4084
|
}
|
|
4085
4085
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$3.Store }, { token: i1$3.Actions }, { token: i1$1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
4086
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputListComponent, isStandalone: false, selector: "smz-input-list", 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.hideName == false && 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-listbox [options]=\"input.listBoxOptions\" [metaKeySelection]=\"false\" [checkbox]=\"false\" [filter]=\"input.showFilter\" optionLabel=\"name\" dataKey=\"id\" [listStyle]=\"{'height': input.height ? input.height : '200px'}\" [style]=\"{'width':'100%'}\" [styleClass]=\"input.styleClass\" [disabled]=\"input.isDisabled\" (clicked)=\"onClick($event)\" [readonly]=\"isInlineEditingEnabled\" [emptyMessage]=\"input.emptyMessage\" [(ngModel)]=\"current\">\r\n\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"smz__list-header\">\r\n @if (input.showAddButton && !input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAdd()\" [disabled]=\"input.limitCount != null && input.listBoxOptions?.length >= input.limitCount\" smzTooltip=\"Adicionar novo item\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showAddButton && input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAddInBatch()\" smzTooltip=\"Adicionar novos itens\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showSortButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-down-a-z\" clickStopPropagation class=\"p-nocustom\" (click)=\"onSort()\" smzTooltip=\"Reordenar\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showClearButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" clickStopPropagation class=\"p-nocustom\" (click)=\"onClear()\" smzTooltip=\"Limpar a lista\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template let-item smzTemplate=\"item\">\r\n <div class=\"
|
|
4086
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputListComponent, isStandalone: false, selector: "smz-input-list", 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.hideName == false && 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-listbox [options]=\"input.listBoxOptions\" [metaKeySelection]=\"false\" [checkbox]=\"false\" [filter]=\"input.showFilter\" optionLabel=\"name\" dataKey=\"id\" [listStyle]=\"{'height': input.height ? input.height : '200px'}\" [style]=\"{'width':'100%'}\" [styleClass]=\"input.styleClass\" [disabled]=\"input.isDisabled\" (clicked)=\"onClick($event)\" [readonly]=\"isInlineEditingEnabled\" [emptyMessage]=\"input.emptyMessage\" [(ngModel)]=\"current\">\r\n\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"smz__list-header\">\r\n @if (input.showAddButton && !input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAdd()\" [disabled]=\"input.limitCount != null && input.listBoxOptions?.length >= input.limitCount\" smzTooltip=\"Adicionar novo item\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showAddButton && input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAddInBatch()\" smzTooltip=\"Adicionar novos itens\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showSortButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-down-a-z\" clickStopPropagation class=\"p-nocustom\" (click)=\"onSort()\" smzTooltip=\"Reordenar\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showClearButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" clickStopPropagation class=\"p-nocustom\" (click)=\"onClear()\" smzTooltip=\"Limpar a lista\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template let-item smzTemplate=\"item\">\r\n <div class=\"flex flex-wrap items-center w-full justify-between\">\r\n @if (!isInlineEditingEnabled || (isInlineEditingEnabled && current !== item)) {\r\n @if (input.crud?.inputType === 'float') {\r\n <div class=\"smz__list_item-title\">{{ item.name | number : input.crud.digitsInfo : input.crud.labelLocale }}</div>\r\n } @else {\r\n <div class=\"smz__list_item-title\">{{ item.name }}</div>\r\n }\r\n }\r\n\r\n @if (isInlineEditingEnabled && current === item) {\r\n @if (editForm != null) {\r\n <div class=\"flex-1 flex flex-wrap items-center justify-center py-3 px-0 -m-2\" clickStopPropagation>\r\n <form #form [formGroup]=\"editForm\" class=\"flex-1 relative p-2\">\r\n <input type=\"text\" clickStopPropagation smzInputText formControlName=\"value\"/>\r\n @if (editForm.get('value'); as valueInput) {\r\n @if (valueInput.touched && valueInput.hasError('required')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">Campo Obrigat\u00F3rio.</div>\r\n }\r\n @if (valueInput.touched && valueInput.hasError('unique')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">J\u00E1 existe um item com esse nome.</div>\r\n }\r\n }\r\n </form>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" clickStopPropagation [disabled]=\"!editForm.valid\" class=\"p-nocustom inline_action_button p-2\" (click)=\"onConfirmInlineEditing(item)\" [rounded]=\"true\" severity=\"success\" variant=\"text\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" clickStopPropagation class=\"p-nocustom inline_action_button p-2\" (click)=\"cancelEdit()\" [rounded]=\"true\" severity=\"danger\" variant=\"text\"></button>\r\n </div>\r\n }\r\n }\r\n\r\n @if (current === item && !isInlineEditingEnabled) {\r\n <div class=\"smz__list_item-actions\" clickStopPropagation>\r\n @if (input.showEditButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-pencil\" class=\"p-nocustom\" (click)=\"onEdit(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showRemoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-trash\" class=\"p-nocustom\" (click)=\"input.askBeforeRemoveItem ? askBeforeRemove(item) : remove(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-up\" class=\"p-nocustom\" (click)=\"moveUp(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-down\" class=\"p-nocustom\" (click)=\"moveDown(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template smzTemplate=\"footer\">\r\n @if (input.listBoxOptions.length === 0 && input.validatorsPreset?.isRequired) {\r\n <span class=\"w-full flex-none smz__footer-message p-2\">*Campo obrigat\u00F3rio</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length === input.limitCount) {\r\n <span class=\"w-full flex-none smz__footer-message text-blue-300 p-2\">*Limite atingido.</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length > input.limitCount) {\r\n <span class=\"w-full flex-none smz__footer-message p-2\">*Limite ultrapassado</span>\r\n }\r\n </ng-template>\r\n </ui-listbox>\r\n</div>", dependencies: [{ kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { 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: "component", type: i2.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: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { 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: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4087
4087
|
}
|
|
4088
4088
|
__decorate([
|
|
4089
4089
|
Confirmable('Deseja realmente excluir esse item ?', 'Exclusão')
|
|
@@ -4093,7 +4093,7 @@ __decorate([
|
|
|
4093
4093
|
], InputListComponent.prototype, "onClear", null);
|
|
4094
4094
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListComponent, decorators: [{
|
|
4095
4095
|
type: Component,
|
|
4096
|
-
args: [{ selector: 'smz-input-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && 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-listbox [options]=\"input.listBoxOptions\" [metaKeySelection]=\"false\" [checkbox]=\"false\" [filter]=\"input.showFilter\" optionLabel=\"name\" dataKey=\"id\" [listStyle]=\"{'height': input.height ? input.height : '200px'}\" [style]=\"{'width':'100%'}\" [styleClass]=\"input.styleClass\" [disabled]=\"input.isDisabled\" (clicked)=\"onClick($event)\" [readonly]=\"isInlineEditingEnabled\" [emptyMessage]=\"input.emptyMessage\" [(ngModel)]=\"current\">\r\n\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"smz__list-header\">\r\n @if (input.showAddButton && !input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAdd()\" [disabled]=\"input.limitCount != null && input.listBoxOptions?.length >= input.limitCount\" smzTooltip=\"Adicionar novo item\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showAddButton && input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAddInBatch()\" smzTooltip=\"Adicionar novos itens\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showSortButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-down-a-z\" clickStopPropagation class=\"p-nocustom\" (click)=\"onSort()\" smzTooltip=\"Reordenar\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showClearButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" clickStopPropagation class=\"p-nocustom\" (click)=\"onClear()\" smzTooltip=\"Limpar a lista\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template let-item smzTemplate=\"item\">\r\n <div class=\"
|
|
4096
|
+
args: [{ selector: 'smz-input-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && 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-listbox [options]=\"input.listBoxOptions\" [metaKeySelection]=\"false\" [checkbox]=\"false\" [filter]=\"input.showFilter\" optionLabel=\"name\" dataKey=\"id\" [listStyle]=\"{'height': input.height ? input.height : '200px'}\" [style]=\"{'width':'100%'}\" [styleClass]=\"input.styleClass\" [disabled]=\"input.isDisabled\" (clicked)=\"onClick($event)\" [readonly]=\"isInlineEditingEnabled\" [emptyMessage]=\"input.emptyMessage\" [(ngModel)]=\"current\">\r\n\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"smz__list-header\">\r\n @if (input.showAddButton && !input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAdd()\" [disabled]=\"input.limitCount != null && input.listBoxOptions?.length >= input.limitCount\" smzTooltip=\"Adicionar novo item\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showAddButton && input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAddInBatch()\" smzTooltip=\"Adicionar novos itens\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showSortButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-down-a-z\" clickStopPropagation class=\"p-nocustom\" (click)=\"onSort()\" smzTooltip=\"Reordenar\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showClearButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" clickStopPropagation class=\"p-nocustom\" (click)=\"onClear()\" smzTooltip=\"Limpar a lista\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template let-item smzTemplate=\"item\">\r\n <div class=\"flex flex-wrap items-center w-full justify-between\">\r\n @if (!isInlineEditingEnabled || (isInlineEditingEnabled && current !== item)) {\r\n @if (input.crud?.inputType === 'float') {\r\n <div class=\"smz__list_item-title\">{{ item.name | number : input.crud.digitsInfo : input.crud.labelLocale }}</div>\r\n } @else {\r\n <div class=\"smz__list_item-title\">{{ item.name }}</div>\r\n }\r\n }\r\n\r\n @if (isInlineEditingEnabled && current === item) {\r\n @if (editForm != null) {\r\n <div class=\"flex-1 flex flex-wrap items-center justify-center py-3 px-0 -m-2\" clickStopPropagation>\r\n <form #form [formGroup]=\"editForm\" class=\"flex-1 relative p-2\">\r\n <input type=\"text\" clickStopPropagation smzInputText formControlName=\"value\"/>\r\n @if (editForm.get('value'); as valueInput) {\r\n @if (valueInput.touched && valueInput.hasError('required')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">Campo Obrigat\u00F3rio.</div>\r\n }\r\n @if (valueInput.touched && valueInput.hasError('unique')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">J\u00E1 existe um item com esse nome.</div>\r\n }\r\n }\r\n </form>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" clickStopPropagation [disabled]=\"!editForm.valid\" class=\"p-nocustom inline_action_button p-2\" (click)=\"onConfirmInlineEditing(item)\" [rounded]=\"true\" severity=\"success\" variant=\"text\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" clickStopPropagation class=\"p-nocustom inline_action_button p-2\" (click)=\"cancelEdit()\" [rounded]=\"true\" severity=\"danger\" variant=\"text\"></button>\r\n </div>\r\n }\r\n }\r\n\r\n @if (current === item && !isInlineEditingEnabled) {\r\n <div class=\"smz__list_item-actions\" clickStopPropagation>\r\n @if (input.showEditButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-pencil\" class=\"p-nocustom\" (click)=\"onEdit(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showRemoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-trash\" class=\"p-nocustom\" (click)=\"input.askBeforeRemoveItem ? askBeforeRemove(item) : remove(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-up\" class=\"p-nocustom\" (click)=\"moveUp(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-down\" class=\"p-nocustom\" (click)=\"moveDown(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template smzTemplate=\"footer\">\r\n @if (input.listBoxOptions.length === 0 && input.validatorsPreset?.isRequired) {\r\n <span class=\"w-full flex-none smz__footer-message p-2\">*Campo obrigat\u00F3rio</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length === input.limitCount) {\r\n <span class=\"w-full flex-none smz__footer-message text-blue-300 p-2\">*Limite atingido.</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length > input.limitCount) {\r\n <span class=\"w-full flex-none smz__footer-message p-2\">*Limite ultrapassado</span>\r\n }\r\n </ng-template>\r\n </ui-listbox>\r\n</div>" }]
|
|
4097
4097
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$3.Store }, { type: i1$3.Actions }, { type: i1$1.UntypedFormBuilder }], propDecorators: { input: [{
|
|
4098
4098
|
type: Input
|
|
4099
4099
|
}], control: [{
|
|
@@ -4169,11 +4169,11 @@ class InputPasswordComponent {
|
|
|
4169
4169
|
control;
|
|
4170
4170
|
behaviors;
|
|
4171
4171
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4172
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputPasswordComponent, isStandalone: false, selector: "smz-input-password", 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
|
|
4172
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputPasswordComponent, isStandalone: false, selector: "smz-input-password", 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 flex flex-wrap\">\r\n <ui-password [promptLabel]=\"input.promptLabel\" [weakLabel]=\"input.weakLabel\" [mediumLabel]=\"input.mediumLabel\" [strongLabel]=\"input.strongLabel\" class=\"w-full smz__input_value flex-1\" [id]=\"input.propertyName\" type=\"password\" [feedback]=\"input.feedback\" [toggleMask]=\"input.toggleMask\" [mediumRegex]=\"input.mediumRegex\" [strongRegex]=\"input.strongRegex\" [formControl]=\"control\">\r\n </ui-password>\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.SmzPasswordComponent, selector: "ui-password", inputs: ["toggleMask", "feedback", "promptLabel", "weakLabel", "mediumLabel", "strongLabel", "mediumRegex", "strongRegex", "placeholder", "inputId"] }, { 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"] }] });
|
|
4173
4173
|
}
|
|
4174
4174
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputPasswordComponent, decorators: [{
|
|
4175
4175
|
type: Component,
|
|
4176
|
-
args: [{ selector: 'smz-input-password', standalone: false, 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
|
|
4176
|
+
args: [{ selector: 'smz-input-password', standalone: false, 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 flex flex-wrap\">\r\n <ui-password [promptLabel]=\"input.promptLabel\" [weakLabel]=\"input.weakLabel\" [mediumLabel]=\"input.mediumLabel\" [strongLabel]=\"input.strongLabel\" class=\"w-full smz__input_value flex-1\" [id]=\"input.propertyName\" type=\"password\" [feedback]=\"input.feedback\" [toggleMask]=\"input.toggleMask\" [mediumRegex]=\"input.mediumRegex\" [strongRegex]=\"input.strongRegex\" [formControl]=\"control\">\r\n </ui-password>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
|
|
4177
4177
|
}], propDecorators: { input: [{
|
|
4178
4178
|
type: Input
|
|
4179
4179
|
}], control: [{
|
|
@@ -4187,11 +4187,11 @@ class InputSwitchComponent {
|
|
|
4187
4187
|
control;
|
|
4188
4188
|
behaviors;
|
|
4189
4189
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4190
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputSwitchComponent, isStandalone: false, selector: "smz-input-switch", inputs: { input: "input", control: "control", behaviors: "behaviors" }, host: { classAttribute: "
|
|
4190
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputSwitchComponent, isStandalone: false, selector: "smz-input-switch", inputs: { input: "input", control: "control", behaviors: "behaviors" }, host: { classAttribute: "flex flex-wrap" }, ngImport: i0, template: "<div class=\"input_inner__wrapper w-full flex-none flex justify-start items-center gap-1 -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\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 <ui-toggle-switch class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" [attr.disabled]=\"input.isDisabled\" binary=\"true\">\r\n </ui-toggle-switch>\r\n <smz-validation-messages class=\"p-1\" [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.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }, { 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"] }] });
|
|
4191
4191
|
}
|
|
4192
4192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputSwitchComponent, decorators: [{
|
|
4193
4193
|
type: Component,
|
|
4194
|
-
args: [{ selector: 'smz-input-switch', host: { class: '
|
|
4194
|
+
args: [{ selector: 'smz-input-switch', host: { class: 'flex flex-wrap' }, standalone: false, template: "<div class=\"input_inner__wrapper w-full flex-none flex justify-start items-center gap-1 -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\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 <ui-toggle-switch class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" [attr.disabled]=\"input.isDisabled\" binary=\"true\">\r\n </ui-toggle-switch>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
|
|
4195
4195
|
}], propDecorators: { input: [{
|
|
4196
4196
|
type: Input
|
|
4197
4197
|
}], control: [{
|
|
@@ -4206,11 +4206,11 @@ class InputTextAreaComponent {
|
|
|
4206
4206
|
control;
|
|
4207
4207
|
behaviors;
|
|
4208
4208
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4209
|
-
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=\"
|
|
4209
|
+
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=\"w-full smz__input_value flex-1 py-2\"\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"] }] });
|
|
4210
4210
|
}
|
|
4211
4211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextAreaComponent, decorators: [{
|
|
4212
4212
|
type: Component,
|
|
4213
|
-
args: [{ selector: 'smz-input-text-area', standalone: false, 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=\"
|
|
4213
|
+
args: [{ selector: 'smz-input-text-area', standalone: false, 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=\"w-full smz__input_value flex-1 py-2\"\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>" }]
|
|
4214
4214
|
}], propDecorators: { input: [{
|
|
4215
4215
|
type: Input
|
|
4216
4216
|
}], control: [{
|
|
@@ -4324,8 +4324,8 @@ class SmzAutocompleteSelectorComponent {
|
|
|
4324
4324
|
}
|
|
4325
4325
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzAutocompleteSelectorComponent, deps: [{ token: i0.ElementRef }, { token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4326
4326
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzAutocompleteSelectorComponent, isStandalone: true, selector: "smz-autocomplete-selector", inputs: { isRequired: "isRequired", allowCustomValues: "allowCustomValues", option: "option", suggestions: "suggestions" }, outputs: { selectedChange: "selectedChange", suggestionsChanged: "suggestionsChanged", finished: "finished" }, ngImport: i0, template: `
|
|
4327
|
-
<div class="
|
|
4328
|
-
<ui-auto-complete class="
|
|
4327
|
+
<div class="w-full flex-none px-0 flex flex-wrap items-center justify-start gap-2">
|
|
4328
|
+
<ui-auto-complete class="flex-1" styleClass="w-full" [(ngModel)]="option.selected" [suggestions]="suggestions" [dropdown]="true" [emptyMessage]="option.emptyMessage" (completeMethod)="search($event)" (cleared)="onClear()" (blurred)="handleSelection()" (selectedItem)="onSelect()" (keydown)="handleKeyDown($event)">
|
|
4329
4329
|
|
|
4330
4330
|
<ng-template smzTemplate="header">
|
|
4331
4331
|
@if (option.dataSourceDisplayName != null) {
|
|
@@ -4349,8 +4349,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
4349
4349
|
],
|
|
4350
4350
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4351
4351
|
template: `
|
|
4352
|
-
<div class="
|
|
4353
|
-
<ui-auto-complete class="
|
|
4352
|
+
<div class="w-full flex-none px-0 flex flex-wrap items-center justify-start gap-2">
|
|
4353
|
+
<ui-auto-complete class="flex-1" styleClass="w-full" [(ngModel)]="option.selected" [suggestions]="suggestions" [dropdown]="true" [emptyMessage]="option.emptyMessage" (completeMethod)="search($event)" (cleared)="onClear()" (blurred)="handleSelection()" (selectedItem)="onSelect()" (keydown)="handleKeyDown($event)">
|
|
4354
4354
|
|
|
4355
4355
|
<ng-template smzTemplate="header">
|
|
4356
4356
|
@if (option.dataSourceDisplayName != null) {
|
|
@@ -4635,7 +4635,7 @@ class SmzInputAutocompleteTagArea {
|
|
|
4635
4635
|
<label class="smz__input_name" [innerHTML]="input.name"></label>
|
|
4636
4636
|
}
|
|
4637
4637
|
<div class="input_inner__wrapper" [id]="input.propertyName">
|
|
4638
|
-
<textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="
|
|
4638
|
+
<textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="w-full flex-none py-2"></textarea>
|
|
4639
4639
|
<smz-validation-messages [input]="input" [control]="$any(control)" [behaviors]="behaviors"></smz-validation-messages>
|
|
4640
4640
|
</div>
|
|
4641
4641
|
|
|
@@ -4662,7 +4662,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
4662
4662
|
<label class="smz__input_name" [innerHTML]="input.name"></label>
|
|
4663
4663
|
}
|
|
4664
4664
|
<div class="input_inner__wrapper" [id]="input.propertyName">
|
|
4665
|
-
<textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="
|
|
4665
|
+
<textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="w-full flex-none py-2"></textarea>
|
|
4666
4666
|
<smz-validation-messages [input]="input" [control]="$any(control)" [behaviors]="behaviors"></smz-validation-messages>
|
|
4667
4667
|
</div>
|
|
4668
4668
|
|
|
@@ -4706,11 +4706,11 @@ class InputTextComponent {
|
|
|
4706
4706
|
control;
|
|
4707
4707
|
behaviors;
|
|
4708
4708
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4709
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextComponent, isStandalone: false, selector: "smz-input-text", 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.hideName == false && 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 <input\r\n smzInputText\r\n class=\"
|
|
4709
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextComponent, isStandalone: false, selector: "smz-input-text", 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.hideName == false && 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 <input\r\n smzInputText\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [smzAutoFocus]=\"input.autoFocus\">\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.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { 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"] }] });
|
|
4710
4710
|
}
|
|
4711
4711
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextComponent, decorators: [{
|
|
4712
4712
|
type: Component,
|
|
4713
|
-
args: [{ selector: 'smz-input-text', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && 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 <input\r\n smzInputText\r\n class=\"
|
|
4713
|
+
args: [{ selector: 'smz-input-text', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && 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 <input\r\n smzInputText\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [smzAutoFocus]=\"input.autoFocus\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
|
|
4714
4714
|
}], propDecorators: { input: [{
|
|
4715
4715
|
type: Input
|
|
4716
4716
|
}], control: [{
|
|
@@ -4777,11 +4777,11 @@ class InputTreeComponent {
|
|
|
4777
4777
|
}
|
|
4778
4778
|
}
|
|
4779
4779
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTreeComponent, deps: [{ token: SmzFormsDropdownService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4780
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputTreeComponent, isStandalone: false, selector: "smz-input-tree", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "@if (nodes$ | async; as nodes) {\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=\"input_inner__wrapper
|
|
4780
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputTreeComponent, isStandalone: false, selector: "smz-input-tree", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "@if (nodes$ | async; as nodes) {\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=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-tree-select class=\"w-full m-0 smz__input_value flex-1\" containerStyleClass=\"w-full\" [formControl]=\"control\" [options]=\"nodes\" [placeholder]=\"input.name\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [selectionMode]=\"input.selectionMode\" [filterInputAutoFocus]=\"input.autofocusFilter\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [filterPlaceholder]=\"input.emptyFilterMessage\" [scrollHeight]=\"input.scrollHeight\" [display]=\"input.display\">\r\n @for (inputType of input.allTypes; track inputType) {\r\n <ng-template let-node [smzTemplate]=\"inputType\">\r\n @if (node != null) {\r\n <div [innerHTML]=\"node.label | safeHtml\" [smzTooltip]=\"node.tooltip\"></div>\r\n }\r\n </ng-template>\r\n }\r\n </ui-tree-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}", dependencies: [{ 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: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzTreeSelectComponent, selector: "ui-tree-select", inputs: ["options", "selectionMode", "placeholder", "filter", "filterPlaceholder", "emptyMessage", "showClear", "scrollHeight", "styleClass", "containerStyleClass", "appendTo", "display", "filterInputAutoFocus"] }, { 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"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
|
|
4781
4781
|
}
|
|
4782
4782
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTreeComponent, decorators: [{
|
|
4783
4783
|
type: Component,
|
|
4784
|
-
args: [{ selector: 'smz-input-tree', standalone: false, template: "@if (nodes$ | async; as nodes) {\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=\"input_inner__wrapper
|
|
4784
|
+
args: [{ selector: 'smz-input-tree', standalone: false, template: "@if (nodes$ | async; as nodes) {\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=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-tree-select class=\"w-full m-0 smz__input_value flex-1\" containerStyleClass=\"w-full\" [formControl]=\"control\" [options]=\"nodes\" [placeholder]=\"input.name\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [selectionMode]=\"input.selectionMode\" [filterInputAutoFocus]=\"input.autofocusFilter\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [filterPlaceholder]=\"input.emptyFilterMessage\" [scrollHeight]=\"input.scrollHeight\" [display]=\"input.display\">\r\n @for (inputType of input.allTypes; track inputType) {\r\n <ng-template let-node [smzTemplate]=\"inputType\">\r\n @if (node != null) {\r\n <div [innerHTML]=\"node.label | safeHtml\" [smzTooltip]=\"node.tooltip\"></div>\r\n }\r\n </ng-template>\r\n }\r\n </ui-tree-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}" }]
|
|
4785
4785
|
}], ctorParameters: () => [{ type: SmzFormsDropdownService }], propDecorators: { input: [{
|
|
4786
4786
|
type: Input
|
|
4787
4787
|
}], formId: [{
|
|
@@ -4828,11 +4828,11 @@ class LinkedDropdownComponent {
|
|
|
4828
4828
|
}));
|
|
4829
4829
|
}
|
|
4830
4830
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LinkedDropdownComponent, deps: [{ token: SmzFormsDropdownService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4831
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: LinkedDropdownComponent, isStandalone: false, selector: "smz-linked-dropdown", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "@if (options$ | async; as options) {\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=\"input_inner__wrapper
|
|
4831
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: LinkedDropdownComponent, isStandalone: false, selector: "smz-linked-dropdown", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "@if (options$ | async; as options) {\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=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-select appendTo=\"body\" class=\"w-full m-0 smz__input_value flex-1\" [options]=\"options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" (changed)=\"service.setValue(input, formId, $event)\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}", dependencies: [{ 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: "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"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
4832
4832
|
}
|
|
4833
4833
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LinkedDropdownComponent, decorators: [{
|
|
4834
4834
|
type: Component,
|
|
4835
|
-
args: [{ selector: 'smz-linked-dropdown', standalone: false, template: "@if (options$ | async; as options) {\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=\"input_inner__wrapper
|
|
4835
|
+
args: [{ selector: 'smz-linked-dropdown', standalone: false, template: "@if (options$ | async; as options) {\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=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-select appendTo=\"body\" class=\"w-full m-0 smz__input_value flex-1\" [options]=\"options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" (changed)=\"service.setValue(input, formId, $event)\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}" }]
|
|
4836
4836
|
}], ctorParameters: () => [{ type: SmzFormsDropdownService }], propDecorators: { input: [{
|
|
4837
4837
|
type: Input
|
|
4838
4838
|
}], formId: [{
|
|
@@ -4878,11 +4878,11 @@ class LinkedMultiSelectComponent {
|
|
|
4878
4878
|
this.service.registryObserver(this.input, this.formId);
|
|
4879
4879
|
}
|
|
4880
4880
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LinkedMultiSelectComponent, deps: [{ token: SmzFormsDropdownService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4881
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LinkedMultiSelectComponent, isStandalone: false, selector: "smz-linked-multi-select", inputs: { input: "input", formId: "formId", 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
|
|
4881
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LinkedMultiSelectComponent, isStandalone: false, selector: "smz-linked-multi-select", inputs: { input: "input", formId: "formId", 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 flex flex-wrap\">\r\n <ui-multi-select class=\"w-full m-0 smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"(service.observers[formId + input.propertyName]?.options | async ) | GetCurrentMultiselectOptions : input\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { 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: "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"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: GetCurrentMultiselectOptionsPipe, name: "GetCurrentMultiselectOptions" }] });
|
|
4882
4882
|
}
|
|
4883
4883
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LinkedMultiSelectComponent, decorators: [{
|
|
4884
4884
|
type: Component,
|
|
4885
|
-
args: [{ selector: 'smz-linked-multi-select', standalone: false, 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
|
|
4885
|
+
args: [{ selector: 'smz-linked-multi-select', standalone: false, 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 flex flex-wrap\">\r\n <ui-multi-select class=\"w-full m-0 smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"(service.observers[formId + input.propertyName]?.options | async ) | GetCurrentMultiselectOptions : input\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
|
|
4886
4886
|
}], ctorParameters: () => [{ type: SmzFormsDropdownService }], propDecorators: { input: [{
|
|
4887
4887
|
type: Input
|
|
4888
4888
|
}], formId: [{
|
|
@@ -4924,11 +4924,11 @@ class MultiSelectComponent {
|
|
|
4924
4924
|
this.formsVisibility.setValue(input, formId, event);
|
|
4925
4925
|
}
|
|
4926
4926
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MultiSelectComponent, deps: [{ token: SmzFormsDropdownService }, { token: SmzFormsVisibilityService }, { token: SmzDialogsVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4927
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: MultiSelectComponent, isStandalone: false, selector: "smz-multi-select", inputs: { input: "input", formId: "formId", 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
|
|
4927
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: MultiSelectComponent, isStandalone: false, selector: "smz-multi-select", inputs: { input: "input", formId: "formId", 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 flex flex-wrap\">\r\n <ui-multi-select class=\"w-full m-0 smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\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.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: "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"] }] });
|
|
4928
4928
|
}
|
|
4929
4929
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
4930
4930
|
type: Component,
|
|
4931
|
-
args: [{ selector: 'smz-multi-select', standalone: false, 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
|
|
4931
|
+
args: [{ selector: 'smz-multi-select', standalone: false, 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 flex flex-wrap\">\r\n <ui-multi-select class=\"w-full m-0 smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
|
|
4932
4932
|
}], ctorParameters: () => [{ type: SmzFormsDropdownService }, { type: SmzFormsVisibilityService }, { type: SmzDialogsVisibilityService }], propDecorators: { input: [{
|
|
4933
4933
|
type: Input
|
|
4934
4934
|
}], formId: [{
|
|
@@ -4959,11 +4959,11 @@ class RadioButtonComponent {
|
|
|
4959
4959
|
this.dialogVisibility.setValue(input, formId, event);
|
|
4960
4960
|
}
|
|
4961
4961
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RadioButtonComponent, deps: [{ token: SmzFormsVisibilityService }, { token: SmzDialogsVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4962
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: RadioButtonComponent, isStandalone: false, selector: "smz-radio-button", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, host: { classAttribute: "
|
|
4962
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: RadioButtonComponent, isStandalone: false, selector: "smz-radio-button", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, host: { classAttribute: "flex flex-wrap" }, ngImport: i0, template: "<div class=\"flex flex-col w-full flex-none input_inner__wrapper 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=\"w-full flex-none flex justify-start items-center gap-1 -m-1 p-2\">\r\n @for (option of input.options; track option) {\r\n <ui-radio-button class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\" (clicked)=\"emitChange(input, formId, $event)\">\r\n </ui-radio-button>\r\n <label class=\"p-1\" [for]=\"input.propertyName\">{{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: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzRadioButtonComponent, selector: "ui-radio-button", inputs: ["value", "name", "label"], outputs: ["clicked"] }, { 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"] }] });
|
|
4963
4963
|
}
|
|
4964
4964
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RadioButtonComponent, decorators: [{
|
|
4965
4965
|
type: Component,
|
|
4966
|
-
args: [{ selector: 'smz-radio-button', host: { class: '
|
|
4966
|
+
args: [{ selector: 'smz-radio-button', host: { class: 'flex flex-wrap' }, standalone: false, template: "<div class=\"flex flex-col w-full flex-none input_inner__wrapper 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=\"w-full flex-none flex justify-start items-center gap-1 -m-1 p-2\">\r\n @for (option of input.options; track option) {\r\n <ui-radio-button class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\" (clicked)=\"emitChange(input, formId, $event)\">\r\n </ui-radio-button>\r\n <label class=\"p-1\" [for]=\"input.propertyName\">{{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>" }]
|
|
4967
4967
|
}], ctorParameters: () => [{ type: SmzFormsVisibilityService }, { type: SmzDialogsVisibilityService }], propDecorators: { input: [{
|
|
4968
4968
|
type: Input
|
|
4969
4969
|
}], formId: [{
|
|
@@ -5247,7 +5247,7 @@ class SmzInputTagArea {
|
|
|
5247
5247
|
};
|
|
5248
5248
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInputTagArea, deps: [{ token: i1$1.NgModel, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5249
5249
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzInputTagArea, isStandalone: false, selector: "smz-input-tag-area", inputs: { config: "config", rows: "rows", control: "control" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: SmzPopoverComponent, descendants: true }, { propertyName: "inputElement", first: true, predicate: ["inputArea"], descendants: true }, { propertyName: "listboxElement", first: true, predicate: ["listbox"], descendants: true }], ngImport: i0, template: `
|
|
5250
|
-
<textarea #inputArea id="inputArea" smzTextarea smzSmartTag [(ngModel)]="ngModel" [formControl]="control" [options]="config?.options" [rows]="rows" (tagTyped)="onTag($event)" class="
|
|
5250
|
+
<textarea #inputArea id="inputArea" smzTextarea smzSmartTag [(ngModel)]="ngModel" [formControl]="control" [options]="config?.options" [rows]="rows" (tagTyped)="onTag($event)" class="w-full flex-none py-2"></textarea>
|
|
5251
5251
|
<ui-popover #overlay appendTo="body" [style]="{width: '450px'}" (hidden)="onHideOverlay()" styleClass="tag-overlay">
|
|
5252
5252
|
@if (currentTag) {
|
|
5253
5253
|
<ui-listbox #listbox (clicked)="hide($event)" (keyup.enter)="hide($event)" styleClass="tag-dropdown" [options]="currentTag.data" [(ngModel)]="currentTagSelection" optionLabel="key"></ui-listbox>
|
|
@@ -5258,7 +5258,7 @@ class SmzInputTagArea {
|
|
|
5258
5258
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInputTagArea, decorators: [{
|
|
5259
5259
|
type: Component,
|
|
5260
5260
|
args: [{ selector: 'smz-input-tag-area', template: `
|
|
5261
|
-
<textarea #inputArea id="inputArea" smzTextarea smzSmartTag [(ngModel)]="ngModel" [formControl]="control" [options]="config?.options" [rows]="rows" (tagTyped)="onTag($event)" class="
|
|
5261
|
+
<textarea #inputArea id="inputArea" smzTextarea smzSmartTag [(ngModel)]="ngModel" [formControl]="control" [options]="config?.options" [rows]="rows" (tagTyped)="onTag($event)" class="w-full flex-none py-2"></textarea>
|
|
5262
5262
|
<ui-popover #overlay appendTo="body" [style]="{width: '450px'}" (hidden)="onHideOverlay()" styleClass="tag-overlay">
|
|
5263
5263
|
@if (currentTag) {
|
|
5264
5264
|
<ui-listbox #listbox (clicked)="hide($event)" (keyup.enter)="hide($event)" styleClass="tag-dropdown" [options]="currentTag.data" [(ngModel)]="currentTagSelection" optionLabel="key"></ui-listbox>
|
|
@@ -5604,11 +5604,11 @@ class InputTextButtonComponent {
|
|
|
5604
5604
|
});
|
|
5605
5605
|
}
|
|
5606
5606
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5607
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextButtonComponent, isStandalone: false, selector: "smz-input-text-button", inputs: { input: "input", control: "control", viewdata: "viewdata", 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.hideName == false && 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\r\n <div class=\"p-inputgroup\">\r\n <input\r\n smzInputText\r\n class=\"
|
|
5607
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextButtonComponent, isStandalone: false, selector: "smz-input-text-button", inputs: { input: "input", control: "control", viewdata: "viewdata", 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.hideName == false && 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\r\n <div class=\"p-inputgroup\">\r\n <input\r\n smzInputText\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [placeholder]=\"input.placeholder\"\r\n [formControl]=\"$any(control)\">\r\n <button type=\"button\" [disabled]=\"!control.valid || blocked\" smzButton class=\"min-w-fit mt-3\" [label]=\"input.label\" [icon]=\"input.icon\" styleClass=\"p-button-warn\" (click)=\"emit()\"></button>\r\n </div>\r\n\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\" [extraMessages]=\"input.buttonMessages\"></smz-validation-messages>\r\n\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.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: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { 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"] }] });
|
|
5608
5608
|
}
|
|
5609
5609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextButtonComponent, decorators: [{
|
|
5610
5610
|
type: Component,
|
|
5611
|
-
args: [{ selector: 'smz-input-text-button', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && 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\r\n <div class=\"p-inputgroup\">\r\n <input\r\n smzInputText\r\n class=\"
|
|
5611
|
+
args: [{ selector: 'smz-input-text-button', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && 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\r\n <div class=\"p-inputgroup\">\r\n <input\r\n smzInputText\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [placeholder]=\"input.placeholder\"\r\n [formControl]=\"$any(control)\">\r\n <button type=\"button\" [disabled]=\"!control.valid || blocked\" smzButton class=\"min-w-fit mt-3\" [label]=\"input.label\" [icon]=\"input.icon\" styleClass=\"p-button-warn\" (click)=\"emit()\"></button>\r\n </div>\r\n\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\" [extraMessages]=\"input.buttonMessages\"></smz-validation-messages>\r\n\r\n</div>" }]
|
|
5612
5612
|
}], propDecorators: { input: [{
|
|
5613
5613
|
type: Input
|
|
5614
5614
|
}], control: [{
|
|
@@ -5639,35 +5639,72 @@ var SmzBreakpoints;
|
|
|
5639
5639
|
})(SmzBreakpoints || (SmzBreakpoints = {}));
|
|
5640
5640
|
|
|
5641
5641
|
const ORDER = ['extraSmall', 'small', 'medium', 'large', 'extraLarge'];
|
|
5642
|
+
const warned = new Set();
|
|
5642
5643
|
/**
|
|
5643
5644
|
* Classes de layout de um template responsivo. Funcao pura (sem Angular) para ser testavel em vitest.
|
|
5644
5645
|
*
|
|
5645
5646
|
* - `span` (padrao): filhos de `grid grid-cols-12` -> `col-span-N`, `sm:col-span-N`, ...
|
|
5647
|
+
* Sem `extraSmall` valido, a base e `col-span-12` (o item ocupa a linha inteira ate o primeiro breakpoint declarado).
|
|
5646
5648
|
* - `width`: elementos fora de uma grade (o proprio dialog, filho flex da mascara) -> `w-N/12` (`w-full` para 12).
|
|
5647
5649
|
*
|
|
5650
|
+
* `row` e tipado como `SmzColumns`, mas layouts persistidos (JSON/API) ainda chegam como `'col-N'`/`'N'`: sao
|
|
5651
|
+
* normalizados em runtime; `'col'`/`'col-auto'` valem 12 (o que o legado fazia na pratica); valor invalido e
|
|
5652
|
+
* descartado com aviso em dev, nunca vira `col-span-NaN`.
|
|
5653
|
+
*
|
|
5648
5654
|
* As classes sao montadas em runtime, por isso o preset do ui-kit as publica em `safelist`.
|
|
5649
5655
|
*/
|
|
5650
5656
|
function SetTemplateClasses(template, properties = ['row'], variant = 'span') {
|
|
5651
|
-
if (
|
|
5657
|
+
if (!properties.includes('row')) {
|
|
5652
5658
|
return '';
|
|
5653
5659
|
}
|
|
5660
|
+
if (template == null) {
|
|
5661
|
+
return variant === 'span' ? 'col-span-12' : ''; // sem template, o item ocupa a linha (equivale ao `col` legado numa grade)
|
|
5662
|
+
}
|
|
5654
5663
|
const classes = [];
|
|
5655
5664
|
for (const breakpoint of ORDER) {
|
|
5656
|
-
const
|
|
5665
|
+
const raw = template[breakpoint]?.row;
|
|
5666
|
+
if (raw == null) {
|
|
5667
|
+
continue;
|
|
5668
|
+
}
|
|
5669
|
+
const columns = normalizeColumns(raw);
|
|
5657
5670
|
if (columns == null) {
|
|
5671
|
+
warnOnce(`SetTemplateClasses: valor de row invalido em ${breakpoint}: ${JSON.stringify(raw)} (esperado 1 a 12); breakpoint ignorado.`);
|
|
5658
5672
|
continue;
|
|
5659
5673
|
}
|
|
5660
|
-
|
|
5661
|
-
|
|
5674
|
+
classes.push(`${SmzBreakpoints.Tags[breakpoint]}${columnsClass(columns, variant)}`);
|
|
5675
|
+
}
|
|
5676
|
+
if (variant === 'span' && !classes.some((cls) => cls.startsWith('col-span-'))) {
|
|
5677
|
+
classes.unshift('col-span-12');
|
|
5662
5678
|
}
|
|
5663
5679
|
return classes.join(' ');
|
|
5664
5680
|
}
|
|
5681
|
+
/** `12`, `'12'`, `'col-12'` -> 12; `'col'`/`'col-auto'` -> 12; fora de 1..12 e limitado; nao numerico -> null. */
|
|
5682
|
+
function normalizeColumns(value) {
|
|
5683
|
+
if (typeof value === 'string') {
|
|
5684
|
+
const text = value.trim();
|
|
5685
|
+
if (text === 'col' || text === 'col-auto')
|
|
5686
|
+
return 12;
|
|
5687
|
+
const match = /^(?:col-)?(\d{1,2})$/.exec(text);
|
|
5688
|
+
if (!match)
|
|
5689
|
+
return null;
|
|
5690
|
+
value = Number(match[1]);
|
|
5691
|
+
}
|
|
5692
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
5693
|
+
return null;
|
|
5694
|
+
return Math.min(12, Math.max(1, Math.round(value)));
|
|
5695
|
+
}
|
|
5665
5696
|
function columnsClass(columns, variant) {
|
|
5666
|
-
const value = Math.min(12, Math.max(1, Math.round(Number(columns))));
|
|
5667
5697
|
if (variant === 'width') {
|
|
5668
|
-
return
|
|
5698
|
+
return columns === 12 ? 'w-full' : `w-${columns}/12`;
|
|
5669
5699
|
}
|
|
5670
|
-
return `col-span-${
|
|
5700
|
+
return `col-span-${columns}`;
|
|
5701
|
+
}
|
|
5702
|
+
function warnOnce(message) {
|
|
5703
|
+
const dev = typeof ngDevMode === 'undefined' || !!ngDevMode;
|
|
5704
|
+
if (!dev || warned.has(message))
|
|
5705
|
+
return;
|
|
5706
|
+
warned.add(message);
|
|
5707
|
+
console.warn(message);
|
|
5671
5708
|
}
|
|
5672
5709
|
|
|
5673
5710
|
class SetTemplateClassesPipe {
|
|
@@ -7108,9 +7145,9 @@ class InputListDialogCrudComponent {
|
|
|
7108
7145
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListDialogCrudComponent, deps: [{ token: DialogCrudStateService }, { token: i2.SmzDialogConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
7109
7146
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputListDialogCrudComponent, isStandalone: false, selector: "smz-input-list-dialog-crud", viewQueries: [{ propertyName: "formComponent", first: true, predicate: ["formComponent"], descendants: true }], ngImport: i0, template: `
|
|
7110
7147
|
@if (form != null) {
|
|
7111
|
-
<div class="
|
|
7112
|
-
<smz-form-group class="
|
|
7113
|
-
<div class="w-full
|
|
7148
|
+
<div class="flex flex-wrap items-start justify-start">
|
|
7149
|
+
<smz-form-group class="flex-1" #formComponent [config]="form" clickStopPropagation></smz-form-group>
|
|
7150
|
+
<div class="w-full flex flex-wrap items-start justify-end">
|
|
7114
7151
|
<button smzButton (click)="confirm()" type="button" [disabled]="!formComponent.isValid" icon="fa-solid fa-check" label="Confirmar" styleClass="mr-2"></button>
|
|
7115
7152
|
</div>
|
|
7116
7153
|
</div>
|
|
@@ -7123,9 +7160,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
7123
7160
|
selector: 'smz-input-list-dialog-crud',
|
|
7124
7161
|
template: `
|
|
7125
7162
|
@if (form != null) {
|
|
7126
|
-
<div class="
|
|
7127
|
-
<smz-form-group class="
|
|
7128
|
-
<div class="w-full
|
|
7163
|
+
<div class="flex flex-wrap items-start justify-start">
|
|
7164
|
+
<smz-form-group class="flex-1" #formComponent [config]="form" clickStopPropagation></smz-form-group>
|
|
7165
|
+
<div class="w-full flex flex-wrap items-start justify-end">
|
|
7129
7166
|
<button smzButton (click)="confirm()" type="button" [disabled]="!formComponent.isValid" icon="fa-solid fa-check" label="Confirmar" styleClass="mr-2"></button>
|
|
7130
7167
|
</div>
|
|
7131
7168
|
</div>
|
|
@@ -7252,9 +7289,9 @@ class InputListBatchCrudComponent {
|
|
|
7252
7289
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListBatchCrudComponent, deps: [{ token: DialogCrudStateService }, { token: i2.SmzDialogConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
7253
7290
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputListBatchCrudComponent, isStandalone: false, selector: "smz-input-list-batch-crud", viewQueries: [{ propertyName: "formComponent", first: true, predicate: ["formComponent"], descendants: true }], ngImport: i0, template: `
|
|
7254
7291
|
@if (form != null) {
|
|
7255
|
-
<div class="
|
|
7256
|
-
<smz-form-group class="
|
|
7257
|
-
<div class="w-full
|
|
7292
|
+
<div class="flex flex-wrap items-start justify-start">
|
|
7293
|
+
<smz-form-group class="flex-1" #formComponent [config]="form" clickStopPropagation></smz-form-group>
|
|
7294
|
+
<div class="w-full flex flex-wrap items-start justify-end">
|
|
7258
7295
|
<button smzButton (click)="confirm()" type="button" [disabled]="!formComponent.isValid" icon="fa-solid fa-check" label="Confirmar" styleClass="mr-2"></button>
|
|
7259
7296
|
</div>
|
|
7260
7297
|
</div>
|
|
@@ -7267,9 +7304,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
7267
7304
|
selector: 'smz-input-list-batch-crud',
|
|
7268
7305
|
template: `
|
|
7269
7306
|
@if (form != null) {
|
|
7270
|
-
<div class="
|
|
7271
|
-
<smz-form-group class="
|
|
7272
|
-
<div class="w-full
|
|
7307
|
+
<div class="flex flex-wrap items-start justify-start">
|
|
7308
|
+
<smz-form-group class="flex-1" #formComponent [config]="form" clickStopPropagation></smz-form-group>
|
|
7309
|
+
<div class="w-full flex flex-wrap items-start justify-end">
|
|
7273
7310
|
<button smzButton (click)="confirm()" type="button" [disabled]="!formComponent.isValid" icon="fa-solid fa-check" label="Confirmar" styleClass="mr-2"></button>
|
|
7274
7311
|
</div>
|
|
7275
7312
|
</div>
|
|
@@ -7403,11 +7440,11 @@ class FormSubmitComponent {
|
|
|
7403
7440
|
this.dispose();
|
|
7404
7441
|
}
|
|
7405
7442
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FormSubmitComponent, deps: [{ token: SmzUiBlockService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7406
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FormSubmitComponent, isStandalone: false, selector: "smz-ui-form-submit", inputs: { form: "form", unBlockOnSave: "unBlockOnSave", useBlockUi: "useBlockUi", resetLabel: "resetLabel", resetStyleClass: "resetStyleClass", resetIcon: "resetIcon", saveLabel: "saveLabel", saveStyleClass: "saveStyleClass", saveIcon: "saveIcon" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: "@if (form != null && response != null) {\r\n <div class=\"
|
|
7443
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FormSubmitComponent, isStandalone: false, selector: "smz-ui-form-submit", inputs: { form: "form", unBlockOnSave: "unBlockOnSave", useBlockUi: "useBlockUi", resetLabel: "resetLabel", resetStyleClass: "resetStyleClass", resetIcon: "resetIcon", saveLabel: "saveLabel", saveStyleClass: "saveStyleClass", saveIcon: "saveIcon" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: "@if (form != null && response != null) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <button smzButton smzRipple type=\"button\" [icon]=\"saveIcon\" [styleClass]=\"saveStyleClass\" [disabled]=\"!response.isValid || !response.hasUnsavedChanges\" (click)=\"submitSave()\" [label]=\"saveLabel\"></button>\r\n <button smzButton smzRipple type=\"button\" [icon]=\"resetIcon\" [styleClass]=\"resetStyleClass\" [disabled]=\"!response.hasUnsavedChanges\" (click)=\"cancel()\" [label]=\"resetLabel\"></button>\r\n </div>\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"] }] });
|
|
7407
7444
|
}
|
|
7408
7445
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FormSubmitComponent, decorators: [{
|
|
7409
7446
|
type: Component,
|
|
7410
|
-
args: [{ selector: 'smz-ui-form-submit', standalone: false, template: "@if (form != null && response != null) {\r\n <div class=\"
|
|
7447
|
+
args: [{ selector: 'smz-ui-form-submit', standalone: false, template: "@if (form != null && response != null) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <button smzButton smzRipple type=\"button\" [icon]=\"saveIcon\" [styleClass]=\"saveStyleClass\" [disabled]=\"!response.isValid || !response.hasUnsavedChanges\" (click)=\"submitSave()\" [label]=\"saveLabel\"></button>\r\n <button smzButton smzRipple type=\"button\" [icon]=\"resetIcon\" [styleClass]=\"resetStyleClass\" [disabled]=\"!response.hasUnsavedChanges\" (click)=\"cancel()\" [label]=\"resetLabel\"></button>\r\n </div>\r\n}" }]
|
|
7411
7448
|
}], ctorParameters: () => [{ type: SmzUiBlockService }], propDecorators: { form: [{
|
|
7412
7449
|
type: Input
|
|
7413
7450
|
}], unBlockOnSave: [{
|
|
@@ -9224,11 +9261,11 @@ class DialogFooterComponent {
|
|
|
9224
9261
|
return response;
|
|
9225
9262
|
}
|
|
9226
9263
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DialogFooterComponent, deps: [{ token: DynamicDialogRef }, { token: SmzDynamicDialogConfig }, { token: SmzDialogsVisibilityService }, { token: InjectComponentService }, { token: i0.ChangeDetectorRef }, { token: i1$3.Actions }, { token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
9227
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DialogFooterComponent, isStandalone: false, selector: "smz-dialog-footer", ngImport: i0, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"
|
|
9264
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DialogFooterComponent, isStandalone: false, selector: "smz-dialog-footer", ngImport: i0, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"flex flex-wrap items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => i2.SmzButtonComponent), selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i0.forwardRef(() => i2.SmzToolbarComponent), selector: "ui-toolbar" }, { kind: "directive", type: i0.forwardRef(() => i2.SmzTooltipDirective), selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: i0.forwardRef(() => ConfirmOnEnterDirective), selector: "[confirmOnEnter]", inputs: ["confirmOnEnter", "clickEvent", "delayConfirmation", "disabled", "dialogId"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
9228
9265
|
}
|
|
9229
9266
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DialogFooterComponent, decorators: [{
|
|
9230
9267
|
type: Component,
|
|
9231
|
-
args: [{ selector: 'smz-dialog-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"
|
|
9268
|
+
args: [{ selector: 'smz-dialog-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"flex flex-wrap items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n" }]
|
|
9232
9269
|
}], ctorParameters: () => [{ type: DynamicDialogRef }, { type: SmzDynamicDialogConfig }, { type: SmzDialogsVisibilityService }, { type: InjectComponentService }, { type: i0.ChangeDetectorRef }, { type: i1$3.Actions }, { type: i1$3.Store }] });
|
|
9233
9270
|
class ConfirmOnEnterDirective {
|
|
9234
9271
|
el;
|
|
@@ -9451,7 +9488,7 @@ class TableFormsService {
|
|
|
9451
9488
|
this.state.columns
|
|
9452
9489
|
.filter(c => c.editable.type !== SmzEditableType.NONE)
|
|
9453
9490
|
.forEach(col => {
|
|
9454
|
-
// console.log('
|
|
9491
|
+
// console.log('flex-1', col);
|
|
9455
9492
|
// VALOR
|
|
9456
9493
|
const value = SmzObjectUtils.resolveFieldData(row, col.editable.property);
|
|
9457
9494
|
// CRIAR VALIDADORES COM BASE NA CONFIGURAÇÃO DA COLUNA
|
|
@@ -17047,7 +17084,7 @@ class ColumnFilter {
|
|
|
17047
17084
|
<div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
|
|
17048
17085
|
@if (display === 'row') {
|
|
17049
17086
|
<p-columnFilterFormElement
|
|
17050
|
-
class="
|
|
17087
|
+
class=""
|
|
17051
17088
|
[type]="type"
|
|
17052
17089
|
[field]="field"
|
|
17053
17090
|
[filterConstraint]="$any(dt.filters[field])"
|
|
@@ -17087,7 +17124,7 @@ class ColumnFilter {
|
|
|
17087
17124
|
}
|
|
17088
17125
|
@if (showMenu && overlayVisible) {
|
|
17089
17126
|
<div
|
|
17090
|
-
[ngClass]="{ 'p-column-filter-overlay p-component
|
|
17127
|
+
[ngClass]="{ 'p-column-filter-overlay p-component': true, 'p-column-filter-overlay-menu': display === 'menu' }"
|
|
17091
17128
|
(click)="onContentClick()"
|
|
17092
17129
|
[@overlayAnimation]="'visible'"
|
|
17093
17130
|
(@overlayAnimation.start)="onOverlayAnimationStart($event)"
|
|
@@ -17177,7 +17214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
17177
17214
|
<div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
|
|
17178
17215
|
@if (display === 'row') {
|
|
17179
17216
|
<p-columnFilterFormElement
|
|
17180
|
-
class="
|
|
17217
|
+
class=""
|
|
17181
17218
|
[type]="type"
|
|
17182
17219
|
[field]="field"
|
|
17183
17220
|
[filterConstraint]="$any(dt.filters[field])"
|
|
@@ -17217,7 +17254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
17217
17254
|
}
|
|
17218
17255
|
@if (showMenu && overlayVisible) {
|
|
17219
17256
|
<div
|
|
17220
|
-
[ngClass]="{ 'p-column-filter-overlay p-component
|
|
17257
|
+
[ngClass]="{ 'p-column-filter-overlay p-component': true, 'p-column-filter-overlay-menu': display === 'menu' }"
|
|
17221
17258
|
(click)="onContentClick()"
|
|
17222
17259
|
[@overlayAnimation]="'visible'"
|
|
17223
17260
|
(@overlayAnimation.start)="onOverlayAnimationStart($event)"
|
|
@@ -17753,11 +17790,11 @@ class SmzDataInfoComponent {
|
|
|
17753
17790
|
});
|
|
17754
17791
|
}
|
|
17755
17792
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17756
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDataInfoComponent, isStandalone: false, selector: "smz-data-info", inputs: { image: "image", message: "message", actions: "actions", callbackInfo: "callbackInfo", callbackLabel: "callbackLabel" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<div class=\"
|
|
17793
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDataInfoComponent, isStandalone: false, selector: "smz-data-info", inputs: { image: "image", message: "message", actions: "actions", callbackInfo: "callbackInfo", callbackLabel: "callbackLabel" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<div class=\"flex flex-wrap justify-center items-center p-4 m-0 h-full w-full text-center\">\r\n <div class=\"w-10/12 flex-none md:w-8/12 flex flex-wrap flex-col items-center justify-center p-2\">\r\n\r\n @if (image != null && image !== '') {\r\n <img [src]=\"image\" class=\"img-fluid\" width=\"60%\" [ngStyle]=\"{ 'max-width': '250px' }\" />\r\n }\r\n <h3 class=\"mt-2\">{{ message }}</h3>\r\n @if (callbackInfo != null) {\r\n <div class=\"mb-2\" [innerHtml]=\"callbackInfo\"></div>\r\n }\r\n\r\n <div class=\"flex flex-wrap items-center justify-center mt-2 gap-2\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: { } }\"></ng-container>\r\n @if (callbackLabel != null) {\r\n <button smzButton type=\"button\" [label]=\"callbackLabel\" (click)=\"clicked.emit($event)\"></button>\r\n }\r\n @if (actions) {\r\n @for (action of actions; track action) {\r\n <button smzButton type=\"button\" [label]=\"action.label\" [icon]=\"action.icon\" (click)=\"action.callback($event)\"></button>\r\n }\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }] });
|
|
17757
17794
|
}
|
|
17758
17795
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDataInfoComponent, decorators: [{
|
|
17759
17796
|
type: Component,
|
|
17760
|
-
args: [{ selector: 'smz-data-info', standalone: false, template: "<div class=\"
|
|
17797
|
+
args: [{ selector: 'smz-data-info', standalone: false, template: "<div class=\"flex flex-wrap justify-center items-center p-4 m-0 h-full w-full text-center\">\r\n <div class=\"w-10/12 flex-none md:w-8/12 flex flex-wrap flex-col items-center justify-center p-2\">\r\n\r\n @if (image != null && image !== '') {\r\n <img [src]=\"image\" class=\"img-fluid\" width=\"60%\" [ngStyle]=\"{ 'max-width': '250px' }\" />\r\n }\r\n <h3 class=\"mt-2\">{{ message }}</h3>\r\n @if (callbackInfo != null) {\r\n <div class=\"mb-2\" [innerHtml]=\"callbackInfo\"></div>\r\n }\r\n\r\n <div class=\"flex flex-wrap items-center justify-center mt-2 gap-2\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: { } }\"></ng-container>\r\n @if (callbackLabel != null) {\r\n <button smzButton type=\"button\" [label]=\"callbackLabel\" (click)=\"clicked.emit($event)\"></button>\r\n }\r\n @if (actions) {\r\n @for (action of actions; track action) {\r\n <button smzButton type=\"button\" [label]=\"action.label\" [icon]=\"action.icon\" (click)=\"action.callback($event)\"></button>\r\n }\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>" }]
|
|
17761
17798
|
}], propDecorators: { templates: [{
|
|
17762
17799
|
type: ContentChildren,
|
|
17763
17800
|
args: [SmzTemplateDirective]
|
|
@@ -18000,11 +18037,11 @@ class SmzMenuComponent {
|
|
|
18000
18037
|
});
|
|
18001
18038
|
}
|
|
18002
18039
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18003
|
-
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=\"
|
|
18040
|
+
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=\"flex flex-wrap 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 });
|
|
18004
18041
|
}
|
|
18005
18042
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzMenuComponent, decorators: [{
|
|
18006
18043
|
type: Component,
|
|
18007
|
-
args: [{ selector: 'smz-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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=\"
|
|
18044
|
+
args: [{ selector: 'smz-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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=\"flex flex-wrap 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" }]
|
|
18008
18045
|
}], propDecorators: { items: [{
|
|
18009
18046
|
type: Input
|
|
18010
18047
|
}], callback: [{
|
|
@@ -18307,11 +18344,11 @@ class SmzTableContentActionsComponent {
|
|
|
18307
18344
|
constructor() { }
|
|
18308
18345
|
ngOnInit() { }
|
|
18309
18346
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableContentActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18310
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableContentActionsComponent, isStandalone: false, selector: "smz-table-content-actions", inputs: { col: "col", contentTypes: "contentTypes", item: "item", rowIndex: "rowIndex" }, host: { classAttribute: "
|
|
18347
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableContentActionsComponent, isStandalone: false, selector: "smz-table-content-actions", inputs: { col: "col", contentTypes: "contentTypes", item: "item", rowIndex: "rowIndex" }, host: { classAttribute: "flex flex-wrap items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of col.actions; track action.icon) {\r\n @if (action.condition(item)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(item)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(item) : null\"></i>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }] });
|
|
18311
18348
|
}
|
|
18312
18349
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableContentActionsComponent, decorators: [{
|
|
18313
18350
|
type: Component,
|
|
18314
|
-
args: [{ selector: 'smz-table-content-actions', host: { class: '
|
|
18351
|
+
args: [{ selector: 'smz-table-content-actions', host: { class: 'flex flex-wrap items-center justify-start gap-2' }, standalone: false, template: "@for (action of col.actions; track action.icon) {\r\n @if (action.condition(item)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(item)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(item) : null\"></i>\r\n }\r\n}" }]
|
|
18315
18352
|
}], ctorParameters: () => [], propDecorators: { col: [{
|
|
18316
18353
|
type: Input
|
|
18317
18354
|
}], contentTypes: [{
|
|
@@ -18443,11 +18480,11 @@ class SmzTableCaptionButtonsComponent {
|
|
|
18443
18480
|
return buildSmzTableTestId(this.tableTestId, `caption-${key}`);
|
|
18444
18481
|
}
|
|
18445
18482
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableCaptionButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18446
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableCaptionButtonsComponent, isStandalone: false, selector: "smz-table-caption-buttons", inputs: { buttons: "buttons", tableTestId: "tableTestId" }, host: { classAttribute: "
|
|
18483
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableCaptionButtonsComponent, isStandalone: false, selector: "smz-table-caption-buttons", inputs: { buttons: "buttons", tableTestId: "tableTestId" }, host: { classAttribute: "flex flex-wrap items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of buttons; track action.label) {\r\n @if (action.visibilityCondition()) {\r\n <button smzButton type=\"button\" [attr.data-testid]=\"buildCaptionButtonTestId(action)\" [styleClass]=\"action.styleClass\" [icon]=\"action.icon\" [label]=\"action.label\" (click)=\"action.callback()\" [disabled]=\"!(action.activationCondition() && action.claimsWithAccess | rbkCanAccess)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip() : null\"></button>\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: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "pipe", type: RbkCanAccessPipe, name: "rbkCanAccess" }] });
|
|
18447
18484
|
}
|
|
18448
18485
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableCaptionButtonsComponent, decorators: [{
|
|
18449
18486
|
type: Component,
|
|
18450
|
-
args: [{ selector: 'smz-table-caption-buttons', host: { class: '
|
|
18487
|
+
args: [{ selector: 'smz-table-caption-buttons', host: { class: 'flex flex-wrap items-center justify-start gap-2' }, standalone: false, template: "@for (action of buttons; track action.label) {\r\n @if (action.visibilityCondition()) {\r\n <button smzButton type=\"button\" [attr.data-testid]=\"buildCaptionButtonTestId(action)\" [styleClass]=\"action.styleClass\" [icon]=\"action.icon\" [label]=\"action.label\" (click)=\"action.callback()\" [disabled]=\"!(action.activationCondition() && action.claimsWithAccess | rbkCanAccess)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip() : null\"></button>\r\n }\r\n}\r\n" }]
|
|
18451
18488
|
}], ctorParameters: () => [], propDecorators: { buttons: [{
|
|
18452
18489
|
type: Input
|
|
18453
18490
|
}], tableTestId: [{
|
|
@@ -18460,11 +18497,11 @@ class SmzTableHeaderActionsComponent {
|
|
|
18460
18497
|
constructor() { }
|
|
18461
18498
|
ngOnInit() { }
|
|
18462
18499
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableHeaderActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18463
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableHeaderActionsComponent, isStandalone: false, selector: "smz-table-header-actions", inputs: { col: "col" }, host: { classAttribute: "
|
|
18500
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableHeaderActionsComponent, isStandalone: false, selector: "smz-table-header-actions", inputs: { col: "col" }, host: { classAttribute: "flex flex-wrap items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of col.headerActions; track action.icon) {\r\n @if (action.condition(col)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(col)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(col) : null\"></i>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }] });
|
|
18464
18501
|
}
|
|
18465
18502
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableHeaderActionsComponent, decorators: [{
|
|
18466
18503
|
type: Component,
|
|
18467
|
-
args: [{ selector: 'smz-table-header-actions', host: { class: '
|
|
18504
|
+
args: [{ selector: 'smz-table-header-actions', host: { class: 'flex flex-wrap items-center justify-start gap-2' }, standalone: false, template: "@for (action of col.headerActions; track action.icon) {\r\n @if (action.condition(col)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(col)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(col) : null\"></i>\r\n }\r\n}" }]
|
|
18468
18505
|
}], ctorParameters: () => [], propDecorators: { col: [{
|
|
18469
18506
|
type: Input
|
|
18470
18507
|
}] } });
|
|
@@ -18486,7 +18523,7 @@ class SmzTableContextPipe {
|
|
|
18486
18523
|
const contextColumn = {
|
|
18487
18524
|
...column,
|
|
18488
18525
|
width,
|
|
18489
|
-
content: column.content ?? { type: SmzContentType.TEXT, contentStyleClass: '
|
|
18526
|
+
content: column.content ?? { type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: {}, ngStyle: {} },
|
|
18490
18527
|
filter: column.filter ?? { type: SmzFilterType.NONE, isGlobalFilterable: false }
|
|
18491
18528
|
};
|
|
18492
18529
|
if (column.content != null) {
|
|
@@ -18717,7 +18754,7 @@ const ContentConvertions = [
|
|
|
18717
18754
|
isOrderable: true,
|
|
18718
18755
|
isGlobalFilterable: true,
|
|
18719
18756
|
filterType: SmzFilterType.TEXT,
|
|
18720
|
-
content: () => ({ type: SmzContentType.TEXT, contentStyleClass: '
|
|
18757
|
+
content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
|
|
18721
18758
|
editable: (input) => ({
|
|
18722
18759
|
property: input.propertyName,
|
|
18723
18760
|
type: SmzEditableType.TEXT,
|
|
@@ -18733,7 +18770,7 @@ const ContentConvertions = [
|
|
|
18733
18770
|
isOrderable: false,
|
|
18734
18771
|
isGlobalFilterable: true,
|
|
18735
18772
|
filterType: SmzFilterType.MULTI_SELECT,
|
|
18736
|
-
content: () => ({ type: SmzContentType.TEXT, contentStyleClass: '
|
|
18773
|
+
content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
|
|
18737
18774
|
editable: (input) => ({
|
|
18738
18775
|
property: input.propertyName,
|
|
18739
18776
|
type: SmzEditableType.DROPDOWN,
|
|
@@ -18749,7 +18786,7 @@ const ContentConvertions = [
|
|
|
18749
18786
|
isOrderable: true,
|
|
18750
18787
|
isGlobalFilterable: true,
|
|
18751
18788
|
filterType: SmzFilterType.TEXT,
|
|
18752
|
-
content: () => ({ type: SmzContentType.TEXT, contentStyleClass: '
|
|
18789
|
+
content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
|
|
18753
18790
|
editable: (input) => ({
|
|
18754
18791
|
property: input.propertyName,
|
|
18755
18792
|
type: SmzEditableType.AREA,
|
|
@@ -18765,7 +18802,7 @@ const ContentConvertions = [
|
|
|
18765
18802
|
isOrderable: true,
|
|
18766
18803
|
isGlobalFilterable: true,
|
|
18767
18804
|
filterType: SmzFilterType.DATE,
|
|
18768
|
-
content: () => ({ type: SmzContentType.CALENDAR, contentStyleClass: '
|
|
18805
|
+
content: () => ({ type: SmzContentType.CALENDAR, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: { format: 'shortDate' }, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
|
|
18769
18806
|
editable: (input) => ({
|
|
18770
18807
|
property: input.propertyName,
|
|
18771
18808
|
type: SmzEditableType.CALENDAR,
|
|
@@ -18781,7 +18818,7 @@ const ContentConvertions = [
|
|
|
18781
18818
|
isOrderable: true,
|
|
18782
18819
|
isGlobalFilterable: true,
|
|
18783
18820
|
filterType: SmzFilterType.BOOLEAN,
|
|
18784
|
-
content: () => ({ type: SmzContentType.ICON, contentStyleClass: '
|
|
18821
|
+
content: () => ({ type: SmzContentType.ICON, contentStyleClass: 'flex flex-wrap items-center justify-start', styleClass: '', data: {
|
|
18785
18822
|
matches: [
|
|
18786
18823
|
{ icon: 'fa-solid fa-toggle-on', class: 'text-green-500', value: true },
|
|
18787
18824
|
{ icon: 'fa-solid fa-toggle-off', class: 'text-gray-300', value: false }
|
|
@@ -18802,7 +18839,7 @@ const ContentConvertions = [
|
|
|
18802
18839
|
isOrderable: true,
|
|
18803
18840
|
isGlobalFilterable: true,
|
|
18804
18841
|
filterType: SmzFilterType.BOOLEAN,
|
|
18805
|
-
content: () => ({ type: SmzContentType.ICON, contentStyleClass: '
|
|
18842
|
+
content: () => ({ type: SmzContentType.ICON, contentStyleClass: 'flex flex-wrap items-center justify-start', styleClass: '', data: {
|
|
18806
18843
|
matches: [
|
|
18807
18844
|
{ icon: 'fa-solid fa-toggle-on', class: 'text-green-500', value: true },
|
|
18808
18845
|
{ icon: 'fa-solid fa-toggle-off', class: 'text-gray-300', value: false }
|
|
@@ -18823,7 +18860,7 @@ const ContentConvertions = [
|
|
|
18823
18860
|
isOrderable: true,
|
|
18824
18861
|
isGlobalFilterable: true,
|
|
18825
18862
|
filterType: SmzFilterType.NUMERIC,
|
|
18826
|
-
content: () => ({ type: SmzContentType.TEXT, contentStyleClass: '
|
|
18863
|
+
content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
|
|
18827
18864
|
editable: (input) => ({
|
|
18828
18865
|
property: input.propertyName,
|
|
18829
18866
|
type: SmzEditableType.NUMBER,
|
|
@@ -19313,7 +19350,7 @@ class SmzBaseColumnBuilder {
|
|
|
19313
19350
|
hasSubTotal: false,
|
|
19314
19351
|
content: {
|
|
19315
19352
|
type: type,
|
|
19316
|
-
contentStyleClass: '
|
|
19353
|
+
contentStyleClass: 'flex flex-wrap items-center justify-start gap-2',
|
|
19317
19354
|
styleClass: '',
|
|
19318
19355
|
data: { matches: [] },
|
|
19319
19356
|
ngStyle: {},
|
|
@@ -19472,7 +19509,7 @@ class SmzBaseColumnBuilder {
|
|
|
19472
19509
|
throw Error(`You can´t set more than one column with the same field name. ${this.columnRef.field}`);
|
|
19473
19510
|
}
|
|
19474
19511
|
if (this.columnRef.actions.length > 0 && this.columnRef.actionsAlignment === 'begin') {
|
|
19475
|
-
this.columnRef.content.styleClass += '
|
|
19512
|
+
this.columnRef.content.styleClass += ' flex-1 flex flex-wrap items-center justify-start';
|
|
19476
19513
|
}
|
|
19477
19514
|
return this.parentRef;
|
|
19478
19515
|
}
|
|
@@ -22609,11 +22646,11 @@ class SmzTableComponent {
|
|
|
22609
22646
|
this.tableHelper.clear(this.tableKey);
|
|
22610
22647
|
}
|
|
22611
22648
|
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 });
|
|
22612
|
-
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", validChange: "validChange", 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) {\r\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) {\r\n <smz-data-info\r\n [attr.data-testid]=\"buildTableTestId('empty')\"\r\n [image]=\"context.state.emptyFeedback.image\"\r\n [message]=\"context.state.emptyFeedback.message\"\r\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\r\n [actions]=\"context.state.emptyFeedback.actionButtons\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\r\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\r\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\r\n <p-table #dt\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [stripedRows]=\"context.state.styles.striped\"\r\n [value]=\"clonedData.items\"\r\n [(selection)]=\"selectedItems\"\r\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\r\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\r\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' : '')\"\r\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\r\n [rows]=\"context.state.pagination.rows\"\r\n [first]=\"context.state.pagination.state.first\"\r\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\r\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\r\n [loading]=\"loading || isViewportInitializing\"\r\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\r\n [paginator]=\"context.state.pagination.isVisible\"\r\n paginatorDropdownAppendTo=\"body\"\r\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\r\n [sortField]=\"context.state.sort.field\"\r\n [sortMode]=\"context.state.sort.mode\"\r\n [sortOrder]=\"context.state.sort.order\"\r\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\r\n [scrollable]=\"context.state.viewport.scrollable\"\r\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\r\n [filterDelay]=\"0\"\r\n [globalFilterFields]=\"context.globalFilter\"\r\n [columns]=\"context.visibleColumns\"\r\n [frozenColumns]=\"context.frozenColumns\"\r\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\r\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\r\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\r\n (onPage)=\"onPage($event)\"\r\n (onFilter)=\"onFilter($event)\"\r\n (selectionChange)=\"emitSelection($event)\"\r\n >\r\n @if (context.state.caption.isVisible) {\r\n <ng-template smzTemplate=\"caption\">\r\n <div class=\"grid grid-nogutter items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n @if (context.state.caption.title != null) {\r\n <div class=\"col database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\r\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\r\n @if (context.state.caption.exportToPdf.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.exportToExcel.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.editable.creation.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.rowSelection.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.rowExpansion.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.clearFilters.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\r\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\">\r\n </ui-multi-select>\r\n }\r\n @if (context.state.caption.globalFilter.isVisible) {\r\n <ui-icon-field class=\"col-12\" [ngClass]=\"{ 'md:col-2': !context.state.caption.globalFilter.expanded }\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\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')\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n }\r\n <ng-template smzTemplate=\"header\" let-columns>\r\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\r\n @if (context.state.caption.rowSelection.isEnabled) {\r\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\r\n @if (!context.state.actions.batchActions.isVisible) {\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n }\r\n </th>\r\n }\r\n @if (context.state.rowExpansion.isEnabled) {\r\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (context.state.viewport.resizableColumns) {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n } @else {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n }\r\n <ng-template #headerContent>\r\n <div class=\"flex justify-start items-center\">\r\n <span class=\"mr-1\">{{ col.header }}</span>\r\n @if (col.showHeaderActions) {\r\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\r\n }\r\n @if (!clonedData.showSkeleton && col.isOrderable) {\r\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\r\n }\r\n @if (!clonedData.showSkeleton) {\r\n @switch (col.filter.type) {\r\n @case (filterTypes.currency) {\r\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.numeric) {\r\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.date) {\r\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\r\n }\r\n @case (filterTypes.text) {\r\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.boolean) {\r\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.dropdown) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_array) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_string) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n }\r\n }\r\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\r\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\r\n }\r\n </tr>\r\n @if (context.state.actions.batchActions.isVisible) {\r\n <tr>\r\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)\"\r\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\r\n @if (selectedItems?.length > 0) {\r\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\r\n @if (batchItem.visible) {\r\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>\r\n }\r\n }\r\n }\r\n </div>\r\n </th>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\r\n <tr #editableRowElement\r\n [pEditableRow]=\"item\"\r\n tableItemAction\r\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\r\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\r\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\r\n [item]=\"item\"\r\n class=\"p-selectable-row\"\r\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\r\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\r\n >\r\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\r\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\r\n >\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n }\r\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\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 }\"\r\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\r\n >\r\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>\r\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\r\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>\r\n }\r\n </td>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (clonedData.showSkeleton) {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\r\n } @else {\r\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\">\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <p-cellEditor>\r\n <!-- CELULAR COM EDITOR -->\r\n <ng-template smzTemplate=\"input\">\r\n @switch (col.editable.type) {\r\n @case (editableTypes.none) {\r\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\r\n }\r\n @case (editableTypes.custom) {\r\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\r\n }\r\n <!-- INPUT TEXT -->\r\n @case (editableTypes.text) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT NUMBER -->\r\n @case (editableTypes.number) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\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\">\r\n </ui-input-number>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT SWITCH -->\r\n @case (editableTypes.switch) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT TEXT AREA -->\r\n @case (editableTypes.area) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT DROPDOWN -->\r\n @case (editableTypes.dropdown) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\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>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT CALENDAR -->\r\n @case (editableTypes.calendar) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <!-- CELULAR COM CONTE\u00DADO -->\r\n <ng-template smzTemplate=\"output\">\r\n <smz-table-content\r\n [col]=\"col\"\r\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\r\n tooltipPosition=\"left\"\r\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\r\n </smz-table-content>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n }\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\r\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"grid grid-nogutter items-center justify-center\">\r\n @if (clonedData.showSkeleton) {\r\n <div class=\"w-full\">\r\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\r\n </div>\r\n } @else {\r\n <!-- SEM EDITAR -->\r\n @if (!editing) {\r\n @if (context.state.editable.update.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.editable.remove.isButtonVisible) {\r\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>\r\n }\r\n }\r\n <!-- EDITANDO -->\r\n @if (editing) {\r\n @if (editableService.context[item.id]; as editableContext) {\r\n <!-- COM LOADING -->\r\n @if (editableContext.isLoading) {\r\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>\r\n }\r\n <!-- SEM LOADING -->\r\n @if (!editableContext.isLoading) {\r\n <!-- EDITANDO -->\r\n @if (!editableContext.hasErrors) {\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\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>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\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>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n <!-- COM ERRORS -->\r\n @if (editableContext.hasErrors) {\r\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\r\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\r\n </ui-popover>\r\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>\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\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>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\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>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n <!-- CUSTOM MENU -->\r\n @if (context.state.actions.customActions.isVisible && !editing) {\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\r\n }\r\n <!-- MENU -->\r\n @if (context.state.actions.menu.isVisible && !editing) {\r\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>\r\n }\r\n }\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n @if (item?._isExpanded) {\r\n <tr>\r\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)\">\r\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\r\n </td>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\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' }\">\r\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\r\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\r\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>\r\n }\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\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", "name"], 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 });
|
|
22649
|
+
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", validChange: "validChange", 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) {\r\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) {\r\n <smz-data-info\r\n [attr.data-testid]=\"buildTableTestId('empty')\"\r\n [image]=\"context.state.emptyFeedback.image\"\r\n [message]=\"context.state.emptyFeedback.message\"\r\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\r\n [actions]=\"context.state.emptyFeedback.actionButtons\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\r\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\r\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\r\n <p-table #dt\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [stripedRows]=\"context.state.styles.striped\"\r\n [value]=\"clonedData.items\"\r\n [(selection)]=\"selectedItems\"\r\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\r\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\r\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' : '')\"\r\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\r\n [rows]=\"context.state.pagination.rows\"\r\n [first]=\"context.state.pagination.state.first\"\r\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\r\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\r\n [loading]=\"loading || isViewportInitializing\"\r\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\r\n [paginator]=\"context.state.pagination.isVisible\"\r\n paginatorDropdownAppendTo=\"body\"\r\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\r\n [sortField]=\"context.state.sort.field\"\r\n [sortMode]=\"context.state.sort.mode\"\r\n [sortOrder]=\"context.state.sort.order\"\r\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\r\n [scrollable]=\"context.state.viewport.scrollable\"\r\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\r\n [filterDelay]=\"0\"\r\n [globalFilterFields]=\"context.globalFilter\"\r\n [columns]=\"context.visibleColumns\"\r\n [frozenColumns]=\"context.frozenColumns\"\r\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\r\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\r\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\r\n (onPage)=\"onPage($event)\"\r\n (onFilter)=\"onFilter($event)\"\r\n (selectionChange)=\"emitSelection($event)\"\r\n >\r\n @if (context.state.caption.isVisible) {\r\n <ng-template smzTemplate=\"caption\">\r\n <div class=\"flex flex-wrap items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n @if (context.state.caption.title != null) {\r\n <div class=\"flex-1 database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\r\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\r\n @if (context.state.caption.exportToPdf.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.exportToExcel.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.editable.creation.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.rowSelection.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.rowExpansion.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.clearFilters.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\r\n <ui-multi-select #columnMultiselect [attr.data-testid]=\"buildTableTestId('column-visibility')\" class=\"ml-2 w-full flex-none md:w-2/12\" 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\">\r\n </ui-multi-select>\r\n }\r\n @if (context.state.caption.globalFilter.isVisible) {\r\n <ui-icon-field class=\"w-full flex-none\" [ngClass]=\"{ 'md:w-2/12 flex-none': !context.state.caption.globalFilter.expanded }\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\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')\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"flex flex-wrap items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n }\r\n <ng-template smzTemplate=\"header\" let-columns>\r\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\r\n @if (context.state.caption.rowSelection.isEnabled) {\r\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\r\n @if (!context.state.actions.batchActions.isVisible) {\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n }\r\n </th>\r\n }\r\n @if (context.state.rowExpansion.isEnabled) {\r\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (context.state.viewport.resizableColumns) {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n } @else {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n }\r\n <ng-template #headerContent>\r\n <div class=\"flex justify-start items-center\">\r\n <span class=\"mr-1\">{{ col.header }}</span>\r\n @if (col.showHeaderActions) {\r\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\r\n }\r\n @if (!clonedData.showSkeleton && col.isOrderable) {\r\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\r\n }\r\n @if (!clonedData.showSkeleton) {\r\n @switch (col.filter.type) {\r\n @case (filterTypes.currency) {\r\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.numeric) {\r\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.date) {\r\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\r\n }\r\n @case (filterTypes.text) {\r\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.boolean) {\r\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.dropdown) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_array) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_string) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n }\r\n }\r\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\r\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\r\n }\r\n </tr>\r\n @if (context.state.actions.batchActions.isVisible) {\r\n <tr>\r\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)\"\r\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\r\n @if (selectedItems?.length > 0) {\r\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\r\n @if (batchItem.visible) {\r\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>\r\n }\r\n }\r\n }\r\n </div>\r\n </th>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\r\n <tr #editableRowElement\r\n [pEditableRow]=\"item\"\r\n tableItemAction\r\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\r\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\r\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\r\n [item]=\"item\"\r\n class=\"p-selectable-row\"\r\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\r\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\r\n >\r\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\r\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\r\n >\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n }\r\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading, 'flex flex-wrap justify-start items-center gap-2': context.state.rowExpansion.highlightNewItems && item._isNew }\"\r\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\r\n >\r\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>\r\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\r\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>\r\n }\r\n </td>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (clonedData.showSkeleton) {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\r\n } @else {\r\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\">\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <p-cellEditor>\r\n <!-- CELULAR COM EDITOR -->\r\n <ng-template smzTemplate=\"input\">\r\n @switch (col.editable.type) {\r\n @case (editableTypes.none) {\r\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\r\n }\r\n @case (editableTypes.custom) {\r\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\r\n }\r\n <!-- INPUT TEXT -->\r\n @case (editableTypes.text) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT NUMBER -->\r\n @case (editableTypes.number) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\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\">\r\n </ui-input-number>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT SWITCH -->\r\n @case (editableTypes.switch) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT TEXT AREA -->\r\n @case (editableTypes.area) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT DROPDOWN -->\r\n @case (editableTypes.dropdown) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\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>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT CALENDAR -->\r\n @case (editableTypes.calendar) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <!-- CELULAR COM CONTE\u00DADO -->\r\n <ng-template smzTemplate=\"output\">\r\n <smz-table-content\r\n [col]=\"col\"\r\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\r\n tooltipPosition=\"left\"\r\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\r\n </smz-table-content>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n }\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\r\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"flex flex-wrap items-center justify-center\">\r\n @if (clonedData.showSkeleton) {\r\n <div class=\"w-full\">\r\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\r\n </div>\r\n } @else {\r\n <!-- SEM EDITAR -->\r\n @if (!editing) {\r\n @if (context.state.editable.update.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.editable.remove.isButtonVisible) {\r\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>\r\n }\r\n }\r\n <!-- EDITANDO -->\r\n @if (editing) {\r\n @if (editableService.context[item.id]; as editableContext) {\r\n <!-- COM LOADING -->\r\n @if (editableContext.isLoading) {\r\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>\r\n }\r\n <!-- SEM LOADING -->\r\n @if (!editableContext.isLoading) {\r\n <!-- EDITANDO -->\r\n @if (!editableContext.hasErrors) {\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\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>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\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>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n <!-- COM ERRORS -->\r\n @if (editableContext.hasErrors) {\r\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\r\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\r\n </ui-popover>\r\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>\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\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>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\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>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n <!-- CUSTOM MENU -->\r\n @if (context.state.actions.customActions.isVisible && !editing) {\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\r\n }\r\n <!-- MENU -->\r\n @if (context.state.actions.menu.isVisible && !editing) {\r\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>\r\n }\r\n }\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n @if (item?._isExpanded) {\r\n <tr>\r\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)\">\r\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\r\n </td>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\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' }\">\r\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\r\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\r\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>\r\n }\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\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", "name"], 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 });
|
|
22613
22650
|
}
|
|
22614
22651
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableComponent, decorators: [{
|
|
22615
22652
|
type: Component,
|
|
22616
|
-
args: [{ selector: 'smz-ui-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableEditableService, TableFormsService], standalone: false, template: "@if (state | tableContext; as context) {\r\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) {\r\n <smz-data-info\r\n [attr.data-testid]=\"buildTableTestId('empty')\"\r\n [image]=\"context.state.emptyFeedback.image\"\r\n [message]=\"context.state.emptyFeedback.message\"\r\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\r\n [actions]=\"context.state.emptyFeedback.actionButtons\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\r\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\r\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\r\n <p-table #dt\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [stripedRows]=\"context.state.styles.striped\"\r\n [value]=\"clonedData.items\"\r\n [(selection)]=\"selectedItems\"\r\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\r\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\r\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' : '')\"\r\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\r\n [rows]=\"context.state.pagination.rows\"\r\n [first]=\"context.state.pagination.state.first\"\r\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\r\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\r\n [loading]=\"loading || isViewportInitializing\"\r\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\r\n [paginator]=\"context.state.pagination.isVisible\"\r\n paginatorDropdownAppendTo=\"body\"\r\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\r\n [sortField]=\"context.state.sort.field\"\r\n [sortMode]=\"context.state.sort.mode\"\r\n [sortOrder]=\"context.state.sort.order\"\r\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\r\n [scrollable]=\"context.state.viewport.scrollable\"\r\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\r\n [filterDelay]=\"0\"\r\n [globalFilterFields]=\"context.globalFilter\"\r\n [columns]=\"context.visibleColumns\"\r\n [frozenColumns]=\"context.frozenColumns\"\r\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\r\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\r\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\r\n (onPage)=\"onPage($event)\"\r\n (onFilter)=\"onFilter($event)\"\r\n (selectionChange)=\"emitSelection($event)\"\r\n >\r\n @if (context.state.caption.isVisible) {\r\n <ng-template smzTemplate=\"caption\">\r\n <div class=\"grid grid-nogutter items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n @if (context.state.caption.title != null) {\r\n <div class=\"col database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\r\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\r\n @if (context.state.caption.exportToPdf.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.exportToExcel.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.editable.creation.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.rowSelection.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.rowExpansion.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.clearFilters.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\r\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\">\r\n </ui-multi-select>\r\n }\r\n @if (context.state.caption.globalFilter.isVisible) {\r\n <ui-icon-field class=\"col-12\" [ngClass]=\"{ 'md:col-2': !context.state.caption.globalFilter.expanded }\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\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')\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n }\r\n <ng-template smzTemplate=\"header\" let-columns>\r\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\r\n @if (context.state.caption.rowSelection.isEnabled) {\r\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\r\n @if (!context.state.actions.batchActions.isVisible) {\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n }\r\n </th>\r\n }\r\n @if (context.state.rowExpansion.isEnabled) {\r\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (context.state.viewport.resizableColumns) {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n } @else {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n }\r\n <ng-template #headerContent>\r\n <div class=\"flex justify-start items-center\">\r\n <span class=\"mr-1\">{{ col.header }}</span>\r\n @if (col.showHeaderActions) {\r\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\r\n }\r\n @if (!clonedData.showSkeleton && col.isOrderable) {\r\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\r\n }\r\n @if (!clonedData.showSkeleton) {\r\n @switch (col.filter.type) {\r\n @case (filterTypes.currency) {\r\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.numeric) {\r\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.date) {\r\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\r\n }\r\n @case (filterTypes.text) {\r\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.boolean) {\r\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.dropdown) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_array) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_string) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n }\r\n }\r\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\r\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\r\n }\r\n </tr>\r\n @if (context.state.actions.batchActions.isVisible) {\r\n <tr>\r\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)\"\r\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\r\n @if (selectedItems?.length > 0) {\r\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\r\n @if (batchItem.visible) {\r\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>\r\n }\r\n }\r\n }\r\n </div>\r\n </th>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\r\n <tr #editableRowElement\r\n [pEditableRow]=\"item\"\r\n tableItemAction\r\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\r\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\r\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\r\n [item]=\"item\"\r\n class=\"p-selectable-row\"\r\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\r\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\r\n >\r\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\r\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\r\n >\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n }\r\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\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 }\"\r\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\r\n >\r\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>\r\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\r\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>\r\n }\r\n </td>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (clonedData.showSkeleton) {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\r\n } @else {\r\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\">\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <p-cellEditor>\r\n <!-- CELULAR COM EDITOR -->\r\n <ng-template smzTemplate=\"input\">\r\n @switch (col.editable.type) {\r\n @case (editableTypes.none) {\r\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\r\n }\r\n @case (editableTypes.custom) {\r\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\r\n }\r\n <!-- INPUT TEXT -->\r\n @case (editableTypes.text) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT NUMBER -->\r\n @case (editableTypes.number) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\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\">\r\n </ui-input-number>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT SWITCH -->\r\n @case (editableTypes.switch) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT TEXT AREA -->\r\n @case (editableTypes.area) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT DROPDOWN -->\r\n @case (editableTypes.dropdown) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\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>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT CALENDAR -->\r\n @case (editableTypes.calendar) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <!-- CELULAR COM CONTE\u00DADO -->\r\n <ng-template smzTemplate=\"output\">\r\n <smz-table-content\r\n [col]=\"col\"\r\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\r\n tooltipPosition=\"left\"\r\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\r\n </smz-table-content>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n }\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\r\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"grid grid-nogutter items-center justify-center\">\r\n @if (clonedData.showSkeleton) {\r\n <div class=\"w-full\">\r\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\r\n </div>\r\n } @else {\r\n <!-- SEM EDITAR -->\r\n @if (!editing) {\r\n @if (context.state.editable.update.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.editable.remove.isButtonVisible) {\r\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>\r\n }\r\n }\r\n <!-- EDITANDO -->\r\n @if (editing) {\r\n @if (editableService.context[item.id]; as editableContext) {\r\n <!-- COM LOADING -->\r\n @if (editableContext.isLoading) {\r\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>\r\n }\r\n <!-- SEM LOADING -->\r\n @if (!editableContext.isLoading) {\r\n <!-- EDITANDO -->\r\n @if (!editableContext.hasErrors) {\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\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>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\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>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n <!-- COM ERRORS -->\r\n @if (editableContext.hasErrors) {\r\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\r\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\r\n </ui-popover>\r\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>\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\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>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\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>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n <!-- CUSTOM MENU -->\r\n @if (context.state.actions.customActions.isVisible && !editing) {\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\r\n }\r\n <!-- MENU -->\r\n @if (context.state.actions.menu.isVisible && !editing) {\r\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>\r\n }\r\n }\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n @if (item?._isExpanded) {\r\n <tr>\r\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)\">\r\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\r\n </td>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\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' }\">\r\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\r\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\r\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>\r\n }\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n" }]
|
|
22653
|
+
args: [{ selector: 'smz-ui-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableEditableService, TableFormsService], standalone: false, template: "@if (state | tableContext; as context) {\r\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) {\r\n <smz-data-info\r\n [attr.data-testid]=\"buildTableTestId('empty')\"\r\n [image]=\"context.state.emptyFeedback.image\"\r\n [message]=\"context.state.emptyFeedback.message\"\r\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\r\n [actions]=\"context.state.emptyFeedback.actionButtons\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\r\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\r\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\r\n <p-table #dt\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [stripedRows]=\"context.state.styles.striped\"\r\n [value]=\"clonedData.items\"\r\n [(selection)]=\"selectedItems\"\r\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\r\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\r\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' : '')\"\r\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\r\n [rows]=\"context.state.pagination.rows\"\r\n [first]=\"context.state.pagination.state.first\"\r\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\r\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\r\n [loading]=\"loading || isViewportInitializing\"\r\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\r\n [paginator]=\"context.state.pagination.isVisible\"\r\n paginatorDropdownAppendTo=\"body\"\r\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\r\n [sortField]=\"context.state.sort.field\"\r\n [sortMode]=\"context.state.sort.mode\"\r\n [sortOrder]=\"context.state.sort.order\"\r\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\r\n [scrollable]=\"context.state.viewport.scrollable\"\r\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\r\n [filterDelay]=\"0\"\r\n [globalFilterFields]=\"context.globalFilter\"\r\n [columns]=\"context.visibleColumns\"\r\n [frozenColumns]=\"context.frozenColumns\"\r\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\r\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\r\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\r\n (onPage)=\"onPage($event)\"\r\n (onFilter)=\"onFilter($event)\"\r\n (selectionChange)=\"emitSelection($event)\"\r\n >\r\n @if (context.state.caption.isVisible) {\r\n <ng-template smzTemplate=\"caption\">\r\n <div class=\"flex flex-wrap items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n @if (context.state.caption.title != null) {\r\n <div class=\"flex-1 database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\r\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\r\n @if (context.state.caption.exportToPdf.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.exportToExcel.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.editable.creation.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.rowSelection.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.rowExpansion.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.clearFilters.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\r\n <ui-multi-select #columnMultiselect [attr.data-testid]=\"buildTableTestId('column-visibility')\" class=\"ml-2 w-full flex-none md:w-2/12\" 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\">\r\n </ui-multi-select>\r\n }\r\n @if (context.state.caption.globalFilter.isVisible) {\r\n <ui-icon-field class=\"w-full flex-none\" [ngClass]=\"{ 'md:w-2/12 flex-none': !context.state.caption.globalFilter.expanded }\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\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')\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"flex flex-wrap items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n }\r\n <ng-template smzTemplate=\"header\" let-columns>\r\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\r\n @if (context.state.caption.rowSelection.isEnabled) {\r\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\r\n @if (!context.state.actions.batchActions.isVisible) {\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n }\r\n </th>\r\n }\r\n @if (context.state.rowExpansion.isEnabled) {\r\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (context.state.viewport.resizableColumns) {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n } @else {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n }\r\n <ng-template #headerContent>\r\n <div class=\"flex justify-start items-center\">\r\n <span class=\"mr-1\">{{ col.header }}</span>\r\n @if (col.showHeaderActions) {\r\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\r\n }\r\n @if (!clonedData.showSkeleton && col.isOrderable) {\r\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\r\n }\r\n @if (!clonedData.showSkeleton) {\r\n @switch (col.filter.type) {\r\n @case (filterTypes.currency) {\r\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.numeric) {\r\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.date) {\r\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\r\n }\r\n @case (filterTypes.text) {\r\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.boolean) {\r\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.dropdown) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_array) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_string) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\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>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n }\r\n }\r\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\r\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\r\n }\r\n </tr>\r\n @if (context.state.actions.batchActions.isVisible) {\r\n <tr>\r\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)\"\r\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\r\n @if (selectedItems?.length > 0) {\r\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\r\n @if (batchItem.visible) {\r\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>\r\n }\r\n }\r\n }\r\n </div>\r\n </th>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\r\n <tr #editableRowElement\r\n [pEditableRow]=\"item\"\r\n tableItemAction\r\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\r\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\r\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\r\n [item]=\"item\"\r\n class=\"p-selectable-row\"\r\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\r\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\r\n >\r\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\r\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\r\n >\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n }\r\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading, 'flex flex-wrap justify-start items-center gap-2': context.state.rowExpansion.highlightNewItems && item._isNew }\"\r\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\r\n >\r\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>\r\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\r\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>\r\n }\r\n </td>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (clonedData.showSkeleton) {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\r\n } @else {\r\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\">\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <p-cellEditor>\r\n <!-- CELULAR COM EDITOR -->\r\n <ng-template smzTemplate=\"input\">\r\n @switch (col.editable.type) {\r\n @case (editableTypes.none) {\r\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\r\n }\r\n @case (editableTypes.custom) {\r\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\r\n }\r\n <!-- INPUT TEXT -->\r\n @case (editableTypes.text) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT NUMBER -->\r\n @case (editableTypes.number) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\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\">\r\n </ui-input-number>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT SWITCH -->\r\n @case (editableTypes.switch) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT TEXT AREA -->\r\n @case (editableTypes.area) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT DROPDOWN -->\r\n @case (editableTypes.dropdown) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\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>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT CALENDAR -->\r\n @case (editableTypes.calendar) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <!-- CELULAR COM CONTE\u00DADO -->\r\n <ng-template smzTemplate=\"output\">\r\n <smz-table-content\r\n [col]=\"col\"\r\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\r\n tooltipPosition=\"left\"\r\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\r\n </smz-table-content>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n }\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\r\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"flex flex-wrap items-center justify-center\">\r\n @if (clonedData.showSkeleton) {\r\n <div class=\"w-full\">\r\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\r\n </div>\r\n } @else {\r\n <!-- SEM EDITAR -->\r\n @if (!editing) {\r\n @if (context.state.editable.update.isButtonVisible) {\r\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>\r\n }\r\n @if (context.state.editable.remove.isButtonVisible) {\r\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>\r\n }\r\n }\r\n <!-- EDITANDO -->\r\n @if (editing) {\r\n @if (editableService.context[item.id]; as editableContext) {\r\n <!-- COM LOADING -->\r\n @if (editableContext.isLoading) {\r\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>\r\n }\r\n <!-- SEM LOADING -->\r\n @if (!editableContext.isLoading) {\r\n <!-- EDITANDO -->\r\n @if (!editableContext.hasErrors) {\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\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>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\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>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n <!-- COM ERRORS -->\r\n @if (editableContext.hasErrors) {\r\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\r\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\r\n </ui-popover>\r\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>\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\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>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\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>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n <!-- CUSTOM MENU -->\r\n @if (context.state.actions.customActions.isVisible && !editing) {\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\r\n }\r\n <!-- MENU -->\r\n @if (context.state.actions.menu.isVisible && !editing) {\r\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>\r\n }\r\n }\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n @if (item?._isExpanded) {\r\n <tr>\r\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)\">\r\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\r\n </td>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\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' }\">\r\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\r\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\r\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>\r\n }\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n" }]
|
|
22617
22654
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TableEditableService }, { type: TableFormsService }, { type: TableHelperService }, { type: i1$3.Store }, { type: SmzExcelService }], propDecorators: { templates: [{
|
|
22618
22655
|
type: ContentChildren,
|
|
22619
22656
|
args: [SmzTemplateDirective]
|
|
@@ -23122,11 +23159,11 @@ class TableContentComponent {
|
|
|
23122
23159
|
}
|
|
23123
23160
|
onValidationError$ = new BehaviorSubject(null);
|
|
23124
23161
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: TableContentComponent, isStandalone: false, selector: "smz-table-content", inputs: { items$: "items$", state: "state" }, ngImport: i0, template: "@if (onValidationError$ | async; as onValidationError) {\r\n <div class=\"
|
|
23162
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: TableContentComponent, isStandalone: false, selector: "smz-table-content", inputs: { items$: "items$", state: "state" }, ngImport: i0, template: "@if (onValidationError$ | async; as onValidationError) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full\">\r\n @if (onValidationError) {\r\n <span style=\"color: red\">* Precisa selecionar pelo menos um item</span>\r\n }\r\n </div>\r\n}\r\n<smz-ui-table #smzdt [items]=\"items$ | async\" [state]=\"state\" (validChange)=\"tableValid = $event\"></smz-ui-table>", styles: [""], dependencies: [{ kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
23126
23163
|
}
|
|
23127
23164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableContentComponent, decorators: [{
|
|
23128
23165
|
type: Component,
|
|
23129
|
-
args: [{ selector: 'smz-table-content', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (onValidationError$ | async; as onValidationError) {\r\n <div class=\"
|
|
23166
|
+
args: [{ selector: 'smz-table-content', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (onValidationError$ | async; as onValidationError) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full\">\r\n @if (onValidationError) {\r\n <span style=\"color: red\">* Precisa selecionar pelo menos um item</span>\r\n }\r\n </div>\r\n}\r\n<smz-ui-table #smzdt [items]=\"items$ | async\" [state]=\"state\" (validChange)=\"tableValid = $event\"></smz-ui-table>" }]
|
|
23130
23167
|
}], propDecorators: { items$: [{
|
|
23131
23168
|
type: Input
|
|
23132
23169
|
}], state: [{
|
|
@@ -23156,11 +23193,11 @@ class SmzDocumentTitleComponent {
|
|
|
23156
23193
|
constructor() { }
|
|
23157
23194
|
ngOnInit() { }
|
|
23158
23195
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23159
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentTitleComponent, isStandalone: false, selector: "smz-document-title", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23196
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentTitleComponent, isStandalone: false, selector: "smz-document-title", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-center justify-center h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
|
|
23160
23197
|
}
|
|
23161
23198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentTitleComponent, decorators: [{
|
|
23162
23199
|
type: Component,
|
|
23163
|
-
args: [{ selector: 'smz-document-title', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23200
|
+
args: [{ selector: 'smz-document-title', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-center justify-center h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
|
|
23164
23201
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
23165
23202
|
type: Input
|
|
23166
23203
|
}], config: [{
|
|
@@ -23192,11 +23229,11 @@ class SmzDocumentFieldComponent {
|
|
|
23192
23229
|
constructor() { }
|
|
23193
23230
|
ngOnInit() { }
|
|
23194
23231
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23195
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentFieldComponent, isStandalone: false, selector: "smz-document-field", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23232
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentFieldComponent, isStandalone: false, selector: "smz-document-field", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (data.label.isVisible) {\r\n <div\r\n [ngClass]=\"data.label.styles\"\r\n [style.color]=\"data.label.color\"\r\n [innerHtml]=\"data.label.value | safeHtml\"\r\n >\r\n </div>\r\n }\r\n\r\n <div\r\n [style.font-weight]=\"data.text.fontWeight\"\r\n [ngClass]=\"data.text.styles\"\r\n [style.color]=\"data.text.color\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
|
|
23196
23233
|
}
|
|
23197
23234
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentFieldComponent, decorators: [{
|
|
23198
23235
|
type: Component,
|
|
23199
|
-
args: [{ selector: 'smz-document-field', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23236
|
+
args: [{ selector: 'smz-document-field', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (data.label.isVisible) {\r\n <div\r\n [ngClass]=\"data.label.styles\"\r\n [style.color]=\"data.label.color\"\r\n [innerHtml]=\"data.label.value | safeHtml\"\r\n >\r\n </div>\r\n }\r\n\r\n <div\r\n [style.font-weight]=\"data.text.fontWeight\"\r\n [ngClass]=\"data.text.styles\"\r\n [style.color]=\"data.text.color\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
|
|
23200
23237
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
23201
23238
|
type: Input
|
|
23202
23239
|
}], config: [{
|
|
@@ -23232,11 +23269,11 @@ class SmzDocumentImageComponent {
|
|
|
23232
23269
|
xhr.send();
|
|
23233
23270
|
}
|
|
23234
23271
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentImageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
23235
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentImageComponent, isStandalone: false, selector: "smz-document-image", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23272
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentImageComponent, isStandalone: false, selector: "smz-document-image", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (base64 != null) {\r\n <img\r\n [src]=\"base64 | safeUrl\"\r\n [ngClass]=\"data.image.styles\"\r\n [style.width]=\"data.image.width\"/>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeUrlPipe$1, name: "safeUrl" }] });
|
|
23236
23273
|
}
|
|
23237
23274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentImageComponent, decorators: [{
|
|
23238
23275
|
type: Component,
|
|
23239
|
-
args: [{ selector: 'smz-document-image', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23276
|
+
args: [{ selector: 'smz-document-image', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (base64 != null) {\r\n <img\r\n [src]=\"base64 | safeUrl\"\r\n [ngClass]=\"data.image.styles\"\r\n [style.width]=\"data.image.width\"/>\r\n }\r\n\r\n</div>" }]
|
|
23240
23277
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { data: [{
|
|
23241
23278
|
type: Input
|
|
23242
23279
|
}], config: [{
|
|
@@ -23268,11 +23305,11 @@ class SmzDocumentSubTitleComponent {
|
|
|
23268
23305
|
constructor() { }
|
|
23269
23306
|
ngOnInit() { }
|
|
23270
23307
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentSubTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23271
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentSubTitleComponent, isStandalone: false, selector: "smz-document-sub-title", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23308
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentSubTitleComponent, isStandalone: false, selector: "smz-document-sub-title", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-center justify-start h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
|
|
23272
23309
|
}
|
|
23273
23310
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentSubTitleComponent, decorators: [{
|
|
23274
23311
|
type: Component,
|
|
23275
|
-
args: [{ selector: 'smz-document-sub-title', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23312
|
+
args: [{ selector: 'smz-document-sub-title', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-center justify-start h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
|
|
23276
23313
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
23277
23314
|
type: Input
|
|
23278
23315
|
}], config: [{
|
|
@@ -23286,11 +23323,11 @@ class SmzDocumentFieldsGroupComponent {
|
|
|
23286
23323
|
constructor() { }
|
|
23287
23324
|
ngOnInit() { }
|
|
23288
23325
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentFieldsGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23289
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentFieldsGroupComponent, isStandalone: false, selector: "smz-document-fields-group", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23326
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentFieldsGroupComponent, isStandalone: false, selector: "smz-document-fields-group", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @for (field of data.fields; track field) {\r\n <smz-document-field [ngClass]=\"field.flexWidth\" [data]=\"field\" [config]=\"config\"></smz-document-field>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SmzDocumentFieldComponent, selector: "smz-document-field", inputs: ["data", "config"] }] });
|
|
23290
23327
|
}
|
|
23291
23328
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentFieldsGroupComponent, decorators: [{
|
|
23292
23329
|
type: Component,
|
|
23293
|
-
args: [{ selector: 'smz-document-fields-group', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23330
|
+
args: [{ selector: 'smz-document-fields-group', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @for (field of data.fields; track field) {\r\n <smz-document-field [ngClass]=\"field.flexWidth\" [data]=\"field\" [config]=\"config\"></smz-document-field>\r\n }\r\n\r\n</div>" }]
|
|
23294
23331
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
23295
23332
|
type: Input
|
|
23296
23333
|
}], config: [{
|
|
@@ -23304,11 +23341,11 @@ class SmzDocumentTableComponent {
|
|
|
23304
23341
|
constructor() { }
|
|
23305
23342
|
ngOnInit() { }
|
|
23306
23343
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23307
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentTableComponent, isStandalone: false, selector: "smz-document-table", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23344
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentTableComponent, isStandalone: false, selector: "smz-document-table", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <table class=\"w-full h-full border-collapse table-fixed smz-document-table-tag\" cellspacing=\"0\" cellpadding=\"0\">\r\n\r\n <thead>\r\n @if (data?.header.isVisible) {\r\n <tr class=\"relative\">\r\n @for (column of data?.header.columns; track column) {\r\n <th\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.headerStyles.background ?? data.header.background\"\r\n [style.color]=\"column.headerStyles.color ?? data.header.color\"\r\n [ngClass]=\"column.headerStyles.styles ?? data.header.styles\">\r\n {{ column.value }}\r\n </th>\r\n }\r\n </tr>\r\n }\r\n </thead>\r\n\r\n <tbody>\r\n @for (row of data?.content.items$ | async; track row; let index = $index) {\r\n <tr class=\"relative\" [style.background]=\"data.content.background\">\r\n @for (column of data?.header.columns; track column) {\r\n <td\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.contentStyles.background ?? data.content.background\"\r\n [style.color]=\"column.contentStyles.color ?? data.content.color\"\r\n [ngClass]=\"column.contentStyles.styles ?? data.content.styles\">\r\n <div [innerHtml]=\"((row | getData : column.property : column.dataTransform : index).result) | safeHtml\"></div>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n\r\n </table>\r\n\r\n</div>\r\n\r\n", styles: ["smz-document-table .smz-document-table-tag table{page-break-inside:auto}smz-document-table .smz-document-table-tag div{page-break-inside:avoid}smz-document-table .smz-document-table-tag thead{display:table-header-group}smz-document-table .smz-document-table-tag tfoot{display:table-footer-group}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzGetDataPipe, name: "getData" }], encapsulation: i0.ViewEncapsulation.None });
|
|
23308
23345
|
}
|
|
23309
23346
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentTableComponent, decorators: [{
|
|
23310
23347
|
type: Component,
|
|
23311
|
-
args: [{ selector: 'smz-document-table', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23348
|
+
args: [{ selector: 'smz-document-table', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <table class=\"w-full h-full border-collapse table-fixed smz-document-table-tag\" cellspacing=\"0\" cellpadding=\"0\">\r\n\r\n <thead>\r\n @if (data?.header.isVisible) {\r\n <tr class=\"relative\">\r\n @for (column of data?.header.columns; track column) {\r\n <th\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.headerStyles.background ?? data.header.background\"\r\n [style.color]=\"column.headerStyles.color ?? data.header.color\"\r\n [ngClass]=\"column.headerStyles.styles ?? data.header.styles\">\r\n {{ column.value }}\r\n </th>\r\n }\r\n </tr>\r\n }\r\n </thead>\r\n\r\n <tbody>\r\n @for (row of data?.content.items$ | async; track row; let index = $index) {\r\n <tr class=\"relative\" [style.background]=\"data.content.background\">\r\n @for (column of data?.header.columns; track column) {\r\n <td\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.contentStyles.background ?? data.content.background\"\r\n [style.color]=\"column.contentStyles.color ?? data.content.color\"\r\n [ngClass]=\"column.contentStyles.styles ?? data.content.styles\">\r\n <div [innerHtml]=\"((row | getData : column.property : column.dataTransform : index).result) | safeHtml\"></div>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n\r\n </table>\r\n\r\n</div>\r\n\r\n", styles: ["smz-document-table .smz-document-table-tag table{page-break-inside:auto}smz-document-table .smz-document-table-tag div{page-break-inside:avoid}smz-document-table .smz-document-table-tag thead{display:table-header-group}smz-document-table .smz-document-table-tag tfoot{display:table-footer-group}\n"] }]
|
|
23312
23349
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
23313
23350
|
type: Input
|
|
23314
23351
|
}], config: [{
|
|
@@ -23436,11 +23473,11 @@ class SmzChartComponent {
|
|
|
23436
23473
|
}
|
|
23437
23474
|
}
|
|
23438
23475
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzChartComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
23439
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzChartComponent, isStandalone: false, selector: "smz-ui-chart", inputs: { type: "type", plugins: "plugins", width: "width", height: "height", responsive: "responsive", styleClass: "styleClass", data: "data", options: "options" }, outputs: { chartClick: "chartClick", chartHover: "chartHover" }, ngImport: i0, template: "<div [ngClass]=\"{ 'invisible fixed': type == null || type === 'empty' }\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n class=\"{{styleClass}}\">\r\n <canvas [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\">\r\n </canvas>\r\n</div>\r\n\r\n@if (type === 'empty') {\r\n <div class=\"relative h-full\"\r\n [ngStyle]=\"{ height: responsive && !height ? 'auto' : height + 'px', width: responsive && !width ? 'auto' : width + 'px'}\"\r\n class=\"h-full\">\r\n @if (title != null) {\r\n <div class=\"text-center smz-chart-title\">{{title}}</div>\r\n }\r\n <div class=\"
|
|
23476
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzChartComponent, isStandalone: false, selector: "smz-ui-chart", inputs: { type: "type", plugins: "plugins", width: "width", height: "height", responsive: "responsive", styleClass: "styleClass", data: "data", options: "options" }, outputs: { chartClick: "chartClick", chartHover: "chartHover" }, ngImport: i0, template: "<div [ngClass]=\"{ 'invisible fixed': type == null || type === 'empty' }\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n class=\"{{styleClass}}\">\r\n <canvas [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\">\r\n </canvas>\r\n</div>\r\n\r\n@if (type === 'empty') {\r\n <div class=\"relative h-full\"\r\n [ngStyle]=\"{ height: responsive && !height ? 'auto' : height + 'px', width: responsive && !width ? 'auto' : width + 'px'}\"\r\n class=\"h-full\">\r\n @if (title != null) {\r\n <div class=\"text-center smz-chart-title\">{{title}}</div>\r\n }\r\n <div class=\"flex flex-wrap flex-col items-center justify-center h-full gap-3\">\r\n <i class=\"fa-solid fa-chart-bar text-4xl\"></i>\r\n <p>{{uiConfig.dialogs.charts.emptyMessage}}</p>\r\n </div>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
23440
23477
|
}
|
|
23441
23478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzChartComponent, decorators: [{
|
|
23442
23479
|
type: Component,
|
|
23443
|
-
args: [{ selector: 'smz-ui-chart', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div [ngClass]=\"{ 'invisible fixed': type == null || type === 'empty' }\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n class=\"{{styleClass}}\">\r\n <canvas [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\">\r\n </canvas>\r\n</div>\r\n\r\n@if (type === 'empty') {\r\n <div class=\"relative h-full\"\r\n [ngStyle]=\"{ height: responsive && !height ? 'auto' : height + 'px', width: responsive && !width ? 'auto' : width + 'px'}\"\r\n class=\"h-full\">\r\n @if (title != null) {\r\n <div class=\"text-center smz-chart-title\">{{title}}</div>\r\n }\r\n <div class=\"
|
|
23480
|
+
args: [{ selector: 'smz-ui-chart', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div [ngClass]=\"{ 'invisible fixed': type == null || type === 'empty' }\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n class=\"{{styleClass}}\">\r\n <canvas [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\">\r\n </canvas>\r\n</div>\r\n\r\n@if (type === 'empty') {\r\n <div class=\"relative h-full\"\r\n [ngStyle]=\"{ height: responsive && !height ? 'auto' : height + 'px', width: responsive && !width ? 'auto' : width + 'px'}\"\r\n class=\"h-full\">\r\n @if (title != null) {\r\n <div class=\"text-center smz-chart-title\">{{title}}</div>\r\n }\r\n <div class=\"flex flex-wrap flex-col items-center justify-center h-full gap-3\">\r\n <i class=\"fa-solid fa-chart-bar text-4xl\"></i>\r\n <p>{{uiConfig.dialogs.charts.emptyMessage}}</p>\r\n </div>\r\n </div>\r\n}" }]
|
|
23444
23481
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { type: [{
|
|
23445
23482
|
type: Input
|
|
23446
23483
|
}], plugins: [{
|
|
@@ -23514,11 +23551,11 @@ class SmzDocumentInjectableComponent {
|
|
|
23514
23551
|
config;
|
|
23515
23552
|
state;
|
|
23516
23553
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentInjectableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23517
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentInjectableComponent, isStandalone: false, selector: "smz-document-injectable", inputs: { data: "data", config: "config", state: "state" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23554
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentInjectableComponent, isStandalone: false, selector: "smz-document-injectable", inputs: { data: "data", config: "config", state: "state" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <ng-template [smzGenericInjectComponent]=\"data.content.component\" [context]=\"config\"></ng-template>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: GenericInjectComponentDirective, selector: "[smzGenericInjectComponent]", inputs: ["smzGenericInjectComponent", "context"] }] });
|
|
23518
23555
|
}
|
|
23519
23556
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentInjectableComponent, decorators: [{
|
|
23520
23557
|
type: Component,
|
|
23521
|
-
args: [{ selector: 'smz-document-injectable', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"
|
|
23558
|
+
args: [{ selector: 'smz-document-injectable', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <ng-template [smzGenericInjectComponent]=\"data.content.component\" [context]=\"config\"></ng-template>\r\n\r\n</div>" }]
|
|
23522
23559
|
}], propDecorators: { data: [{
|
|
23523
23560
|
type: Input
|
|
23524
23561
|
}], config: [{
|
|
@@ -23750,11 +23787,11 @@ class SmzDocumentViewerComponent {
|
|
|
23750
23787
|
this.documentService.setPaperElement(null);
|
|
23751
23788
|
}
|
|
23752
23789
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentViewerComponent, deps: [{ token: i0.ElementRef }, { token: SmzDocumentsService }, { token: i1.Location }, { token: i0.ChangeDetectorRef }, { token: i1$3.Store }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
23753
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentViewerComponent, isStandalone: false, selector: "document-viewer", inputs: { state: "state" }, providers: [SmzDocumentsService], viewQueries: [{ propertyName: "paperElement", first: true, predicate: ["paper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"
|
|
23790
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentViewerComponent, isStandalone: false, selector: "document-viewer", inputs: { state: "state" }, providers: [SmzDocumentsService], viewQueries: [{ propertyName: "paperElement", first: true, predicate: ["paper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-wrap items-center justify-start flex-col gap-2\" [ngClass]=\"state.viewer.container.styleClass\">\r\n\r\n <div class=\"flex flex-wrap items-start justify-start gap-2\">\r\n\r\n @if (state.viewer.zoom.isEnabled) {\r\n <button smzButton type=\"button\" label=\"ZOOM -\" (click)=\"documentService.lessZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"100%\" (click)=\"documentService.restoreZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"ZOOM +\" (click)=\"documentService.moreZoom()\" variant=\"outlined\"></button>\r\n }\r\n @if (state.viewer.open.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.open.label\" (click)=\"documentService.generate('open')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.print.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.print.label\" (click)=\"documentService.generate('print')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.download.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.download.label\" (click)=\"documentService.generate('download')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n </div>\r\n\r\n <div class=\"pager\" [ngClass]=\"state.viewer.paper.styleClass\"\r\n [style.transform]=\"'scale(' + documentService.zoom + ')'\"\r\n [style.width.pt]=\"state.viewer.paper.ptWidth\"\r\n [style.padding-left]=\"state.export.margin.left + 'pt !important'\"\r\n [style.padding-right]=\"state.export.margin.right + 'pt !important'\"\r\n [style.padding-top]=\"state.export.margin.top + 'pt !important'\"\r\n [style.padding-bottom]=\"state.export.margin.bottom + 'pt !important'\"\r\n >\r\n <div #paper [style.font-family]=\"state.globals.font.family\" [style.padding]=\"state.export.paddingCompensation\">\r\n <ng-content select=\"header\"></ng-content>\r\n <ng-content select=\"content\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".pager{transform-origin:top center;transition:transform .1s ease-in-out;margin-top:0;margin-left:auto;margin-right:auto}.footer-container{position:absolute;bottom:14.173px;right:22.6768px;font-size:\"0.8px\"}.sticky-header{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
23754
23791
|
}
|
|
23755
23792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentViewerComponent, decorators: [{
|
|
23756
23793
|
type: Component,
|
|
23757
|
-
args: [{ selector: 'document-viewer', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, providers: [SmzDocumentsService], standalone: false, template: "<div class=\"
|
|
23794
|
+
args: [{ selector: 'document-viewer', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, providers: [SmzDocumentsService], standalone: false, template: "<div class=\"flex flex-wrap items-center justify-start flex-col gap-2\" [ngClass]=\"state.viewer.container.styleClass\">\r\n\r\n <div class=\"flex flex-wrap items-start justify-start gap-2\">\r\n\r\n @if (state.viewer.zoom.isEnabled) {\r\n <button smzButton type=\"button\" label=\"ZOOM -\" (click)=\"documentService.lessZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"100%\" (click)=\"documentService.restoreZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"ZOOM +\" (click)=\"documentService.moreZoom()\" variant=\"outlined\"></button>\r\n }\r\n @if (state.viewer.open.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.open.label\" (click)=\"documentService.generate('open')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.print.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.print.label\" (click)=\"documentService.generate('print')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.download.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.download.label\" (click)=\"documentService.generate('download')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n </div>\r\n\r\n <div class=\"pager\" [ngClass]=\"state.viewer.paper.styleClass\"\r\n [style.transform]=\"'scale(' + documentService.zoom + ')'\"\r\n [style.width.pt]=\"state.viewer.paper.ptWidth\"\r\n [style.padding-left]=\"state.export.margin.left + 'pt !important'\"\r\n [style.padding-right]=\"state.export.margin.right + 'pt !important'\"\r\n [style.padding-top]=\"state.export.margin.top + 'pt !important'\"\r\n [style.padding-bottom]=\"state.export.margin.bottom + 'pt !important'\"\r\n >\r\n <div #paper [style.font-family]=\"state.globals.font.family\" [style.padding]=\"state.export.paddingCompensation\">\r\n <ng-content select=\"header\"></ng-content>\r\n <ng-content select=\"content\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".pager{transform-origin:top center;transition:transform .1s ease-in-out;margin-top:0;margin-left:auto;margin-right:auto}.footer-container{position:absolute;bottom:14.173px;right:22.6768px;font-size:\"0.8px\"}.sticky-header{position:absolute}\n"] }]
|
|
23758
23795
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: SmzDocumentsService }, { type: i1.Location }, { type: i0.ChangeDetectorRef }, { type: i1$3.Store }, { type: i0.Renderer2 }], propDecorators: { paperElement: [{
|
|
23759
23796
|
type: ViewChild,
|
|
23760
23797
|
args: ['paper', { static: true }]
|
|
@@ -28711,11 +28748,11 @@ class GuideFooterComponent {
|
|
|
28711
28748
|
this.refService.close();
|
|
28712
28749
|
}
|
|
28713
28750
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GuideFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28714
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: GuideFooterComponent, isStandalone: false, selector: "smz-guide-footer", ngImport: i0, template: "@if (dialogConfig.data?.overlayPanel; as overlay) {\r\n <ui-toolbar class=\"smz-guide-footer\">\r\n <div class=\"w-full
|
|
28751
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: GuideFooterComponent, isStandalone: false, selector: "smz-guide-footer", ngImport: i0, template: "@if (dialogConfig.data?.overlayPanel; as overlay) {\r\n <ui-toolbar class=\"smz-guide-footer\">\r\n <div class=\"w-full flex flex-wrap items-center justify-between gap-2\">\r\n @if (overlay.state.allowBackNavigation) {\r\n <button [disabled]=\"overlay.state.context.step <= 1\" smzButton type=\"button\" icon=\"fa-solid fa-arrow-left-long\" class=\"text-lg w-11 h-11\" (click)=\"previous()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.showSummaryCount) {\r\n <div class=\"flex flex-wrap items-center justify-center gap-2\">\r\n @for (step of overlay.state.steps; track step; let index = $index) {\r\n <div\r\n class=\"rounded-full h-4 w-4 border-1 border-surface-border\"\r\n [ngClass]=\"{ 'bg-primary-color' : overlay.state.context.step === (index + 1), 'bg-surface-ground' : overlay.state.context.step !== (index + 1) }\">\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if (overlay.state.context.step === overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" class=\"text-lg w-11 h-11\" (click)=\"conclude()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.context.step < overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-right-long\" class=\"text-lg w-11 h-11\" (click)=\"next()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.SmzToolbarComponent, selector: "ui-toolbar" }], encapsulation: i0.ViewEncapsulation.None });
|
|
28715
28752
|
}
|
|
28716
28753
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GuideFooterComponent, decorators: [{
|
|
28717
28754
|
type: Component,
|
|
28718
|
-
args: [{ selector: 'smz-guide-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data?.overlayPanel; as overlay) {\r\n <ui-toolbar class=\"smz-guide-footer\">\r\n <div class=\"w-full
|
|
28755
|
+
args: [{ selector: 'smz-guide-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data?.overlayPanel; as overlay) {\r\n <ui-toolbar class=\"smz-guide-footer\">\r\n <div class=\"w-full flex flex-wrap items-center justify-between gap-2\">\r\n @if (overlay.state.allowBackNavigation) {\r\n <button [disabled]=\"overlay.state.context.step <= 1\" smzButton type=\"button\" icon=\"fa-solid fa-arrow-left-long\" class=\"text-lg w-11 h-11\" (click)=\"previous()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.showSummaryCount) {\r\n <div class=\"flex flex-wrap items-center justify-center gap-2\">\r\n @for (step of overlay.state.steps; track step; let index = $index) {\r\n <div\r\n class=\"rounded-full h-4 w-4 border-1 border-surface-border\"\r\n [ngClass]=\"{ 'bg-primary-color' : overlay.state.context.step === (index + 1), 'bg-surface-ground' : overlay.state.context.step !== (index + 1) }\">\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if (overlay.state.context.step === overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" class=\"text-lg w-11 h-11\" (click)=\"conclude()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.context.step < overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-right-long\" class=\"text-lg w-11 h-11\" (click)=\"next()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}" }]
|
|
28719
28756
|
}] });
|
|
28720
28757
|
|
|
28721
28758
|
// export const ngxsModuleForFeatureDialogsState = NgxsModule.forFeature([DialogsState]);
|
|
@@ -31961,11 +31998,11 @@ class UserClaimsComponent {
|
|
|
31961
31998
|
this.claims = claims.filter(claim => this.user?.claims.findIndex(u => u.id === claim.id) !== -1 ? false : true);
|
|
31962
31999
|
}
|
|
31963
32000
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UserClaimsComponent, deps: [{ token: i1$3.Store }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
31964
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UserClaimsComponent, isStandalone: false, selector: "app-user-claims", inputs: { username: "username" }, outputs: { desassociateClaim: "desassociateClaim" }, ngImport: i0, template: "<div class=\"ui-g form-group\">\r\n <div class=\"ui-g-12 ui-md-12\">\r\n <ui-pick-list [source]=\"claims\" [target]=\"targetClaims\" [responsive]=\"true\" sourceHeader=\"Claims dispon\u00EDveis\" targetHeader=\"Claims associados\" sourceFilterPlaceholder=\"Filtrar claims\" targetFilterPlaceholder=\"Filtrar claims\" filterBy=\"name\" [showSourceControls]=\"false\" [showTargetControls]=\"false\" [dragdrop]=\"true\" (movedToTarget)=\"addItemToTarget($event)\" (movedToSource)=\"addItemToSource($event)\" (movedAllToTarget)=\"addItemToTarget($event)\" (movedAllToSource)=\"addItemToSource($event)\">\r\n <ng-template let-item smzTemplate=\"item\">\r\n\r\n <!-- TARGET -->\r\n @if (item.access != null) {\r\n <div class=\"
|
|
32001
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UserClaimsComponent, isStandalone: false, selector: "app-user-claims", inputs: { username: "username" }, outputs: { desassociateClaim: "desassociateClaim" }, ngImport: i0, template: "<div class=\"ui-g form-group\">\r\n <div class=\"ui-g-12 ui-md-12\">\r\n <ui-pick-list [source]=\"claims\" [target]=\"targetClaims\" [responsive]=\"true\" sourceHeader=\"Claims dispon\u00EDveis\" targetHeader=\"Claims associados\" sourceFilterPlaceholder=\"Filtrar claims\" targetFilterPlaceholder=\"Filtrar claims\" filterBy=\"name\" [showSourceControls]=\"false\" [showTargetControls]=\"false\" [dragdrop]=\"true\" (movedToTarget)=\"addItemToTarget($event)\" (movedToSource)=\"addItemToSource($event)\" (movedAllToTarget)=\"addItemToTarget($event)\" (movedAllToSource)=\"addItemToSource($event)\">\r\n <ng-template let-item smzTemplate=\"item\">\r\n\r\n <!-- TARGET -->\r\n @if (item.access != null) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <div class=\"claim-access-type-indicator\">\r\n @if (item.access.id === 0) {\r\n <strong class=\"block-text\"><i class=\"fa-solid fa-lock\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n @if (item.access.id === 1) {\r\n <strong class=\"allow-text\"><i class=\"fa-solid fa-lock-open\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n </div>\r\n <div>{{ item.claim.name }}</div>\r\n </div>\r\n <div></div>\r\n } @else {\r\n {{ item.description }}\r\n }\r\n\r\n <!-- SOURCE -->\r\n\r\n </ng-template>\r\n </ui-pick-list>\r\n </div>\r\n</div>", styles: ["app-user-claims .nameInput{height:60px}app-user-claims .p-picklist .p-picklist-filter-container{padding-right:30px!important}app-user-claims .p-picklist .p-picklist-filter-container .p-picklist-filter-icon{right:10px!important;left:unset}app-user-claims .p-picklist .p-picklist-list{height:300px}app-user-claims .p-picklist.p-picklist-responsive .p-picklist-listwrapper.p-picklist-listwrapper-nocontrols{width:50%}app-user-claims .claim-access-type-indicator{float:right}app-user-claims .allow-text{color:#1a9c2a}app-user-claims .block-text{color:#9c1a1a}\n"], dependencies: [{ kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: i2.SmzPickListComponent, selector: "ui-pick-list", inputs: ["source", "target", "sourceHeader", "targetHeader", "sourceFilterPlaceholder", "targetFilterPlaceholder", "filterBy", "dragdrop", "responsive", "listStyle", "showSourceControls", "showTargetControls"], outputs: ["movedToTarget", "movedToSource", "movedAllToTarget", "movedAllToSource"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
31965
32002
|
}
|
|
31966
32003
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UserClaimsComponent, decorators: [{
|
|
31967
32004
|
type: Component,
|
|
31968
|
-
args: [{ selector: 'app-user-claims', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"ui-g form-group\">\r\n <div class=\"ui-g-12 ui-md-12\">\r\n <ui-pick-list [source]=\"claims\" [target]=\"targetClaims\" [responsive]=\"true\" sourceHeader=\"Claims dispon\u00EDveis\" targetHeader=\"Claims associados\" sourceFilterPlaceholder=\"Filtrar claims\" targetFilterPlaceholder=\"Filtrar claims\" filterBy=\"name\" [showSourceControls]=\"false\" [showTargetControls]=\"false\" [dragdrop]=\"true\" (movedToTarget)=\"addItemToTarget($event)\" (movedToSource)=\"addItemToSource($event)\" (movedAllToTarget)=\"addItemToTarget($event)\" (movedAllToSource)=\"addItemToSource($event)\">\r\n <ng-template let-item smzTemplate=\"item\">\r\n\r\n <!-- TARGET -->\r\n @if (item.access != null) {\r\n <div class=\"
|
|
32005
|
+
args: [{ selector: 'app-user-claims', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"ui-g form-group\">\r\n <div class=\"ui-g-12 ui-md-12\">\r\n <ui-pick-list [source]=\"claims\" [target]=\"targetClaims\" [responsive]=\"true\" sourceHeader=\"Claims dispon\u00EDveis\" targetHeader=\"Claims associados\" sourceFilterPlaceholder=\"Filtrar claims\" targetFilterPlaceholder=\"Filtrar claims\" filterBy=\"name\" [showSourceControls]=\"false\" [showTargetControls]=\"false\" [dragdrop]=\"true\" (movedToTarget)=\"addItemToTarget($event)\" (movedToSource)=\"addItemToSource($event)\" (movedAllToTarget)=\"addItemToTarget($event)\" (movedAllToSource)=\"addItemToSource($event)\">\r\n <ng-template let-item smzTemplate=\"item\">\r\n\r\n <!-- TARGET -->\r\n @if (item.access != null) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <div class=\"claim-access-type-indicator\">\r\n @if (item.access.id === 0) {\r\n <strong class=\"block-text\"><i class=\"fa-solid fa-lock\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n @if (item.access.id === 1) {\r\n <strong class=\"allow-text\"><i class=\"fa-solid fa-lock-open\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n </div>\r\n <div>{{ item.claim.name }}</div>\r\n </div>\r\n <div></div>\r\n } @else {\r\n {{ item.description }}\r\n }\r\n\r\n <!-- SOURCE -->\r\n\r\n </ng-template>\r\n </ui-pick-list>\r\n </div>\r\n</div>", styles: ["app-user-claims .nameInput{height:60px}app-user-claims .p-picklist .p-picklist-filter-container{padding-right:30px!important}app-user-claims .p-picklist .p-picklist-filter-container .p-picklist-filter-icon{right:10px!important;left:unset}app-user-claims .p-picklist .p-picklist-list{height:300px}app-user-claims .p-picklist.p-picklist-responsive .p-picklist-listwrapper.p-picklist-listwrapper-nocontrols{width:50%}app-user-claims .claim-access-type-indicator{float:right}app-user-claims .allow-text{color:#1a9c2a}app-user-claims .block-text{color:#9c1a1a}\n"] }]
|
|
31969
32006
|
}], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { username: [{
|
|
31970
32007
|
type: Input
|
|
31971
32008
|
}], desassociateClaim: [{
|
|
@@ -32188,11 +32225,11 @@ class UsersPageComponent {
|
|
|
32188
32225
|
this.cdr.markForCheck();
|
|
32189
32226
|
}
|
|
32190
32227
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UsersPageComponent, deps: [{ token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
32191
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UsersPageComponent, isStandalone: false, selector: "smz-ui-users-page", ngImport: i0, template: "\r\n<ng-container *ngVar=\"(users$ | async) as users\">\r\n\r\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n\r\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\r\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\r\n </ui-select-button>\r\n }\r\n\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('displayName') {\r\n <div class=\"
|
|
32228
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UsersPageComponent, isStandalone: false, selector: "smz-ui-users-page", ngImport: i0, template: "\r\n<ng-container *ngVar=\"(users$ | async) as users\">\r\n\r\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n\r\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\r\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\r\n </ui-select-button>\r\n }\r\n\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('displayName') {\r\n <div class=\"flex flex-wrap items-center justify-start gap-3\">\r\n <!-- CONTROLE DE ACESSO N\u00C3O ENCONTROU O IDENTIFICADOR DO USU\u00C1RIO -->\r\n @if (item.avatar == null) {\r\n <img\r\n [src]=\"uiConfig.rbkUtils.authorization.users.avatarPlaceholderPath\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <!-- USU\u00C1RIO COM AVATAR INFORMADO PELO CONTROLE DE ACESSO -->\r\n @if (item.avatar != null) {\r\n <img\r\n [src]=\"item.avatar\"\r\n (error)=\"handleMissingImage($event, item.name, item.avatar)\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <span>{{ item.displayName }}</span>\r\n </div>\r\n }\r\n @case ('role.name') {\r\n {{ item.role?.name }}\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", dependencies: [{ 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: "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.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
32192
32229
|
}
|
|
32193
32230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UsersPageComponent, decorators: [{
|
|
32194
32231
|
type: Component,
|
|
32195
|
-
args: [{ selector: 'smz-ui-users-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n<ng-container *ngVar=\"(users$ | async) as users\">\r\n\r\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n\r\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\r\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\r\n </ui-select-button>\r\n }\r\n\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('displayName') {\r\n <div class=\"
|
|
32232
|
+
args: [{ selector: 'smz-ui-users-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n<ng-container *ngVar=\"(users$ | async) as users\">\r\n\r\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n\r\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\r\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\r\n </ui-select-button>\r\n }\r\n\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('displayName') {\r\n <div class=\"flex flex-wrap items-center justify-start gap-3\">\r\n <!-- CONTROLE DE ACESSO N\u00C3O ENCONTROU O IDENTIFICADOR DO USU\u00C1RIO -->\r\n @if (item.avatar == null) {\r\n <img\r\n [src]=\"uiConfig.rbkUtils.authorization.users.avatarPlaceholderPath\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <!-- USU\u00C1RIO COM AVATAR INFORMADO PELO CONTROLE DE ACESSO -->\r\n @if (item.avatar != null) {\r\n <img\r\n [src]=\"item.avatar\"\r\n (error)=\"handleMissingImage($event, item.name, item.avatar)\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <span>{{ item.displayName }}</span>\r\n </div>\r\n }\r\n @case ('role.name') {\r\n {{ item.role?.name }}\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>" }]
|
|
32196
32233
|
}], ctorParameters: () => [{ type: i1$3.Store }, { type: i0.ChangeDetectorRef }] });
|
|
32197
32234
|
|
|
32198
32235
|
const routes$7 = [
|
|
@@ -32669,14 +32706,14 @@ class RolesPageComponent {
|
|
|
32669
32706
|
this.dialogs.open(CreateRoleDialog());
|
|
32670
32707
|
}
|
|
32671
32708
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RolesPageComponent, deps: [{ token: i1$3.Store }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
32672
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: RolesPageComponent, isStandalone: false, selector: "app-roles-page", ngImport: i0, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('claims') {\r\n <div class=\"
|
|
32709
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: RolesPageComponent, isStandalone: false, selector: "app-roles-page", ngImport: i0, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('claims') {\r\n <div class=\"flex flex-wrap items-start justify-start flex-col gap-1\">\r\n <ng-container *ngVar=\"(item.claims | smzInitial : 3) as limitedClaims\">\r\n <!-- <div [innerHTML]=\"limitedClaims | prettyjson\"></div> -->\r\n <ul class=\"list-disc\">\r\n @for (claim of limitedClaims; track claim) {\r\n <li class=\"\">{{ $any(claim).name }}</li>\r\n }\r\n @if (item.claims.length > 3) {\r\n <li>(...)</li>\r\n }\r\n </ul>\r\n @if (item.claims.length > 3) {\r\n <button\r\n type=\"button\"\r\n (click)=\"onShowRoleClaimsDialog(item)\"\r\n class=\"block rounded-md bg-amber-400 px-2.5 py-1.5 text-center text-sm font-semibold text-black shadow-sm hover:bg-amber-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-amber-500\">\r\n <i class=\"fa-solid fa-circle-info mr-2\"></i>Ver mais\r\n </button>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n</smz-ui-table>\r\n", dependencies: [{ kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SmzInitialPipe, name: "smzInitial" }, { kind: "pipe", type: RbkCanAccessAnyPipe, name: "rbkCanAccessAny" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
32673
32710
|
}
|
|
32674
32711
|
__decorate([
|
|
32675
32712
|
Confirmable('Tem certeza de que deseja excluir esse perfil ?', 'Atenção', true)
|
|
32676
32713
|
], RolesPageComponent.prototype, "showDeleteConfirmation", null);
|
|
32677
32714
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RolesPageComponent, decorators: [{
|
|
32678
32715
|
type: Component,
|
|
32679
|
-
args: [{ selector: 'app-roles-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('claims') {\r\n <div class=\"
|
|
32716
|
+
args: [{ selector: 'app-roles-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('claims') {\r\n <div class=\"flex flex-wrap items-start justify-start flex-col gap-1\">\r\n <ng-container *ngVar=\"(item.claims | smzInitial : 3) as limitedClaims\">\r\n <!-- <div [innerHTML]=\"limitedClaims | prettyjson\"></div> -->\r\n <ul class=\"list-disc\">\r\n @for (claim of limitedClaims; track claim) {\r\n <li class=\"\">{{ $any(claim).name }}</li>\r\n }\r\n @if (item.claims.length > 3) {\r\n <li>(...)</li>\r\n }\r\n </ul>\r\n @if (item.claims.length > 3) {\r\n <button\r\n type=\"button\"\r\n (click)=\"onShowRoleClaimsDialog(item)\"\r\n class=\"block rounded-md bg-amber-400 px-2.5 py-1.5 text-center text-sm font-semibold text-black shadow-sm hover:bg-amber-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-amber-500\">\r\n <i class=\"fa-solid fa-circle-info mr-2\"></i>Ver mais\r\n </button>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n</smz-ui-table>\r\n" }]
|
|
32680
32717
|
}], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { showDeleteConfirmation: [] } });
|
|
32681
32718
|
|
|
32682
32719
|
const data$4 = {
|
|
@@ -34096,11 +34133,11 @@ class SmzLoginComponent {
|
|
|
34096
34133
|
}
|
|
34097
34134
|
}
|
|
34098
34135
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzLoginComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
34099
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzLoginComponent, isStandalone: false, selector: "smz-ui-login", inputs: { state: "state" }, host: { properties: { "class": "this.colorClass" } }, queries: [{ propertyName: "templates", predicate: i0.forwardRef(() => SmzTemplateDirective) }], ngImport: i0, template: "<div [ngClass]=\"state.styleClass.card\" class=\"flex overflow-y-auto flex-col flex-nowrap items-stretch justify-center gap-3 w-full md:max-w-md h-full mx-auto shadow-6\">\r\n\r\n @if (state.logo.customPath != null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"state.logo.customPath\" />\r\n }\r\n @if (state.logo.customPath == null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"(appLogo$ | async)[state.logo.type]\" />\r\n }\r\n\r\n @if (state.isFormVisible) {\r\n <div class=\"w-full
|
|
34136
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzLoginComponent, isStandalone: false, selector: "smz-ui-login", inputs: { state: "state" }, host: { properties: { "class": "this.colorClass" } }, queries: [{ propertyName: "templates", predicate: i0.forwardRef(() => SmzTemplateDirective) }], ngImport: i0, template: "<div [ngClass]=\"state.styleClass.card\" class=\"flex overflow-y-auto flex-col flex-nowrap items-stretch justify-center gap-3 w-full md:max-w-md h-full mx-auto shadow-6\">\r\n\r\n @if (state.logo.customPath != null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"state.logo.customPath\" />\r\n }\r\n @if (state.logo.customPath == null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"(appLogo$ | async)[state.logo.type]\" />\r\n }\r\n\r\n @if (state.isFormVisible) {\r\n <div class=\"w-full flex flex-wrap flex-col items-stretch justify-center p-6 gap-4\">\r\n @if (state.message) {\r\n <div class=\"ml-auto mr-auto\" [innerHtml]=\"state.message | safeHtml\"></div>\r\n }\r\n <smz-form-group #formComponent (submit)=\"login($any(formComponent.getData()))\" [config]=\"state.form\"></smz-form-group>\r\n <button smzButton [disabled]=\"!formComponent.isValid\" type=\"button\" [label]=\"state.loginButtonLabel\" (click)=\"login($any(formComponent.getData()))\"></button>\r\n @for (action of (state.customButtons | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n @if (state.extraInfo) {\r\n <div class=\"text-sm ml-auto mr-auto\" [innerHtml]=\"state.extraInfo | safeHtml\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (extraTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: FormGroupComponent, selector: "smz-form-group", inputs: ["config"], outputs: ["statusChanges", "initialStateChanged", "previousStateChanged", "submit"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
34100
34137
|
}
|
|
34101
34138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzLoginComponent, decorators: [{
|
|
34102
34139
|
type: Component,
|
|
34103
|
-
args: [{ selector: 'smz-ui-login', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div [ngClass]=\"state.styleClass.card\" class=\"flex overflow-y-auto flex-col flex-nowrap items-stretch justify-center gap-3 w-full md:max-w-md h-full mx-auto shadow-6\">\r\n\r\n @if (state.logo.customPath != null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"state.logo.customPath\" />\r\n }\r\n @if (state.logo.customPath == null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"(appLogo$ | async)[state.logo.type]\" />\r\n }\r\n\r\n @if (state.isFormVisible) {\r\n <div class=\"w-full
|
|
34140
|
+
args: [{ selector: 'smz-ui-login', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div [ngClass]=\"state.styleClass.card\" class=\"flex overflow-y-auto flex-col flex-nowrap items-stretch justify-center gap-3 w-full md:max-w-md h-full mx-auto shadow-6\">\r\n\r\n @if (state.logo.customPath != null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"state.logo.customPath\" />\r\n }\r\n @if (state.logo.customPath == null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"(appLogo$ | async)[state.logo.type]\" />\r\n }\r\n\r\n @if (state.isFormVisible) {\r\n <div class=\"w-full flex flex-wrap flex-col items-stretch justify-center p-6 gap-4\">\r\n @if (state.message) {\r\n <div class=\"ml-auto mr-auto\" [innerHtml]=\"state.message | safeHtml\"></div>\r\n }\r\n <smz-form-group #formComponent (submit)=\"login($any(formComponent.getData()))\" [config]=\"state.form\"></smz-form-group>\r\n <button smzButton [disabled]=\"!formComponent.isValid\" type=\"button\" [label]=\"state.loginButtonLabel\" (click)=\"login($any(formComponent.getData()))\"></button>\r\n @for (action of (state.customButtons | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n @if (state.extraInfo) {\r\n <div class=\"text-sm ml-auto mr-auto\" [innerHtml]=\"state.extraInfo | safeHtml\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (extraTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n\r\n</div>" }]
|
|
34104
34141
|
}], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
|
|
34105
34142
|
type: ContentChildren,
|
|
34106
34143
|
args: [forwardRef(() => SmzTemplateDirective)]
|
|
@@ -35622,7 +35659,7 @@ class FaqsContentComponent {
|
|
|
35622
35659
|
this.manager.delete(data.id);
|
|
35623
35660
|
}
|
|
35624
35661
|
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 });
|
|
35625
|
-
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\">\r\n\r\n <div class=\"col-12\">\r\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\r\n\r\n <ui-input-group>\r\n <ui-input-group-addon>\r\n <i class=\"fa-solid fa-magnifying-glass\"></i>\r\n </ui-input-group-addon>\r\n\r\n <input\r\n type=\"text\"\r\n smzInputText\r\n [(ngModel)]=\"keywords\"\r\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\r\n />\r\n\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\r\n </ui-input-group>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n @if ((items | searchFaqs : keywords); as filtered) {\r\n @if (filtered.length > 0) {\r\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\r\n <ui-accordion [multiple]=\"true\">\r\n @for (item of filtered; track item.id) {\r\n <ui-accordion-panel [value]=\"item.id\">\r\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\r\n\r\n <ui-accordion-content>\r\n @if (manager.config.creationClaim | rbkCanAccess) {\r\n <div class=\"faqs__actions\">\r\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\r\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\r\n </div>\r\n }\r\n\r\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\r\n </ui-accordion-content>\r\n </ui-accordion-panel>\r\n }\r\n </ui-accordion>\r\n } @else {\r\n <smz-icon-message\r\n [message]=\"manager.config.placeholders.emptyMessage\"\r\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\r\n manager.config.placeholders.creationMessage :\r\n (keywords === '') ?\r\n manager.config.placeholders.supportMessage :\r\n manager.config.placeholders.noSearchResultsMessage\"\r\n >\r\n </smz-icon-message>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\r\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\r\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\r\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\r\n }\r\n </div>\r\n</div>\r\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" }] });
|
|
35662
|
+
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 grid-cols-12 gap-4 pb-2\">\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\r\n\r\n <ui-input-group>\r\n <ui-input-group-addon>\r\n <i class=\"fa-solid fa-magnifying-glass\"></i>\r\n </ui-input-group-addon>\r\n\r\n <input\r\n type=\"text\"\r\n smzInputText\r\n [(ngModel)]=\"keywords\"\r\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\r\n />\r\n\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\r\n </ui-input-group>\r\n </div>\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n @if ((items | searchFaqs : keywords); as filtered) {\r\n @if (filtered.length > 0) {\r\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\r\n <ui-accordion [multiple]=\"true\">\r\n @for (item of filtered; track item.id) {\r\n <ui-accordion-panel [value]=\"item.id\">\r\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\r\n\r\n <ui-accordion-content>\r\n @if (manager.config.creationClaim | rbkCanAccess) {\r\n <div class=\"faqs__actions\">\r\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\r\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\r\n </div>\r\n }\r\n\r\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\r\n </ui-accordion-content>\r\n </ui-accordion-panel>\r\n }\r\n </ui-accordion>\r\n } @else {\r\n <smz-icon-message\r\n [message]=\"manager.config.placeholders.emptyMessage\"\r\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\r\n manager.config.placeholders.creationMessage :\r\n (keywords === '') ?\r\n manager.config.placeholders.supportMessage :\r\n manager.config.placeholders.noSearchResultsMessage\"\r\n >\r\n </smz-icon-message>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\r\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\r\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\r\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\r\n }\r\n </div>\r\n</div>\r\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" }] });
|
|
35626
35663
|
}
|
|
35627
35664
|
__decorate([
|
|
35628
35665
|
Confirmable('Confirma a criação desta pergunta/resposta ?', 'Aviso')
|
|
@@ -35632,7 +35669,7 @@ __decorate([
|
|
|
35632
35669
|
], FaqsContentComponent.prototype, "delete", null);
|
|
35633
35670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FaqsContentComponent, decorators: [{
|
|
35634
35671
|
type: Component,
|
|
35635
|
-
args: [{ selector: 'smz-faqs-content', standalone: false, template: "<div class=\"grid\">\r\n\r\n <div class=\"col-12\">\r\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\r\n\r\n <ui-input-group>\r\n <ui-input-group-addon>\r\n <i class=\"fa-solid fa-magnifying-glass\"></i>\r\n </ui-input-group-addon>\r\n\r\n <input\r\n type=\"text\"\r\n smzInputText\r\n [(ngModel)]=\"keywords\"\r\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\r\n />\r\n\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\r\n </ui-input-group>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n @if ((items | searchFaqs : keywords); as filtered) {\r\n @if (filtered.length > 0) {\r\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\r\n <ui-accordion [multiple]=\"true\">\r\n @for (item of filtered; track item.id) {\r\n <ui-accordion-panel [value]=\"item.id\">\r\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\r\n\r\n <ui-accordion-content>\r\n @if (manager.config.creationClaim | rbkCanAccess) {\r\n <div class=\"faqs__actions\">\r\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\r\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\r\n </div>\r\n }\r\n\r\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\r\n </ui-accordion-content>\r\n </ui-accordion-panel>\r\n }\r\n </ui-accordion>\r\n } @else {\r\n <smz-icon-message\r\n [message]=\"manager.config.placeholders.emptyMessage\"\r\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\r\n manager.config.placeholders.creationMessage :\r\n (keywords === '') ?\r\n manager.config.placeholders.supportMessage :\r\n manager.config.placeholders.noSearchResultsMessage\"\r\n >\r\n </smz-icon-message>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\r\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\r\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\r\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\r\n }\r\n </div>\r\n</div>\r\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"] }]
|
|
35672
|
+
args: [{ selector: 'smz-faqs-content', standalone: false, template: "<div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\r\n\r\n <ui-input-group>\r\n <ui-input-group-addon>\r\n <i class=\"fa-solid fa-magnifying-glass\"></i>\r\n </ui-input-group-addon>\r\n\r\n <input\r\n type=\"text\"\r\n smzInputText\r\n [(ngModel)]=\"keywords\"\r\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\r\n />\r\n\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\r\n </ui-input-group>\r\n </div>\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n @if ((items | searchFaqs : keywords); as filtered) {\r\n @if (filtered.length > 0) {\r\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\r\n <ui-accordion [multiple]=\"true\">\r\n @for (item of filtered; track item.id) {\r\n <ui-accordion-panel [value]=\"item.id\">\r\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\r\n\r\n <ui-accordion-content>\r\n @if (manager.config.creationClaim | rbkCanAccess) {\r\n <div class=\"faqs__actions\">\r\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\r\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\r\n </div>\r\n }\r\n\r\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\r\n </ui-accordion-content>\r\n </ui-accordion-panel>\r\n }\r\n </ui-accordion>\r\n } @else {\r\n <smz-icon-message\r\n [message]=\"manager.config.placeholders.emptyMessage\"\r\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\r\n manager.config.placeholders.creationMessage :\r\n (keywords === '') ?\r\n manager.config.placeholders.supportMessage :\r\n manager.config.placeholders.noSearchResultsMessage\"\r\n >\r\n </smz-icon-message>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\r\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\r\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\r\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\r\n }\r\n </div>\r\n</div>\r\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"] }]
|
|
35636
35673
|
}], ctorParameters: () => [{ type: FaqsManagerService }, { type: i0.ChangeDetectorRef }, { type: SmzDialogsService }], propDecorators: { items: [{
|
|
35637
35674
|
type: Input
|
|
35638
35675
|
}], create: [], delete: [] } });
|
|
@@ -36420,11 +36457,11 @@ class LoaderCubeComponent {
|
|
|
36420
36457
|
this.width = `${Math.round((characters * 160) / 18)}px`;
|
|
36421
36458
|
}
|
|
36422
36459
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LoaderCubeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36423
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LoaderCubeComponent, isStandalone: false, selector: "smz-ui-loader-cube", inputs: { title: "title", message: "message", width: "width" }, ngImport: i0, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-cube-grid\">\r\n <div class=\"sk-cube sk-cube1\"></div>\r\n <div class=\"sk-cube sk-cube2\"></div>\r\n <div class=\"sk-cube sk-cube3\"></div>\r\n <div class=\"sk-cube sk-cube4\"></div>\r\n <div class=\"sk-cube sk-cube5\"></div>\r\n <div class=\"sk-cube sk-cube6\"></div>\r\n <div class=\"sk-cube sk-cube7\"></div>\r\n <div class=\"sk-cube sk-cube8\"></div>\r\n <div class=\"sk-cube sk-cube9\"></div>\r\n </div>\r\n </div>\r\n <div class=\"text-container
|
|
36460
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LoaderCubeComponent, isStandalone: false, selector: "smz-ui-loader-cube", inputs: { title: "title", message: "message", width: "width" }, ngImport: i0, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-cube-grid\">\r\n <div class=\"sk-cube sk-cube1\"></div>\r\n <div class=\"sk-cube sk-cube2\"></div>\r\n <div class=\"sk-cube sk-cube3\"></div>\r\n <div class=\"sk-cube sk-cube4\"></div>\r\n <div class=\"sk-cube sk-cube5\"></div>\r\n <div class=\"sk-cube sk-cube6\"></div>\r\n <div class=\"sk-cube sk-cube7\"></div>\r\n <div class=\"sk-cube sk-cube8\"></div>\r\n <div class=\"sk-cube sk-cube9\"></div>\r\n </div>\r\n </div>\r\n <div class=\"text-container flex flex-wrap flex-col items-start justify-middle -mt-2 -mx-2\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:10px}.spinner-container{--aspect-ratio: 1/1;height:60px;width:60px;background:var(--primary-color);border-radius:60px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.sk-cube-grid{margin-top:14px!important;width:30px;height:30px;margin:0 auto}.sk-cube-grid .sk-cube{width:33%;height:33%;background-color:var(--surface-card);float:left;-webkit-animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out;animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out}.sk-cube-grid .sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}.sk-cube-grid .sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}.sk-cube-grid .sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
36424
36461
|
}
|
|
36425
36462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LoaderCubeComponent, decorators: [{
|
|
36426
36463
|
type: Component,
|
|
36427
|
-
args: [{ selector: 'smz-ui-loader-cube', standalone: false, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-cube-grid\">\r\n <div class=\"sk-cube sk-cube1\"></div>\r\n <div class=\"sk-cube sk-cube2\"></div>\r\n <div class=\"sk-cube sk-cube3\"></div>\r\n <div class=\"sk-cube sk-cube4\"></div>\r\n <div class=\"sk-cube sk-cube5\"></div>\r\n <div class=\"sk-cube sk-cube6\"></div>\r\n <div class=\"sk-cube sk-cube7\"></div>\r\n <div class=\"sk-cube sk-cube8\"></div>\r\n <div class=\"sk-cube sk-cube9\"></div>\r\n </div>\r\n </div>\r\n <div class=\"text-container
|
|
36464
|
+
args: [{ selector: 'smz-ui-loader-cube', standalone: false, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-cube-grid\">\r\n <div class=\"sk-cube sk-cube1\"></div>\r\n <div class=\"sk-cube sk-cube2\"></div>\r\n <div class=\"sk-cube sk-cube3\"></div>\r\n <div class=\"sk-cube sk-cube4\"></div>\r\n <div class=\"sk-cube sk-cube5\"></div>\r\n <div class=\"sk-cube sk-cube6\"></div>\r\n <div class=\"sk-cube sk-cube7\"></div>\r\n <div class=\"sk-cube sk-cube8\"></div>\r\n <div class=\"sk-cube sk-cube9\"></div>\r\n </div>\r\n </div>\r\n <div class=\"text-container flex flex-wrap flex-col items-start justify-middle -mt-2 -mx-2\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:10px}.spinner-container{--aspect-ratio: 1/1;height:60px;width:60px;background:var(--primary-color);border-radius:60px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.sk-cube-grid{margin-top:14px!important;width:30px;height:30px;margin:0 auto}.sk-cube-grid .sk-cube{width:33%;height:33%;background-color:var(--surface-card);float:left;-webkit-animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out;animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out}.sk-cube-grid .sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}.sk-cube-grid .sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}.sk-cube-grid .sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}\n"] }]
|
|
36428
36465
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
36429
36466
|
type: Input
|
|
36430
36467
|
}], message: [{
|
|
@@ -36449,11 +36486,11 @@ class LoaderSquareComponent {
|
|
|
36449
36486
|
this.width = `${Math.round((characters * 160) / 18)}px`;
|
|
36450
36487
|
}
|
|
36451
36488
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LoaderSquareComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36452
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LoaderSquareComponent, isStandalone: false, selector: "smz-ui-loader-square", inputs: { title: "title", message: "message", width: "width" }, ngImport: i0, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-square-grid\">\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-one\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-two\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-three\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-four\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-container
|
|
36489
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LoaderSquareComponent, isStandalone: false, selector: "smz-ui-loader-square", inputs: { title: "title", message: "message", width: "width" }, ngImport: i0, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-square-grid\">\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-one\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-two\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-three\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-four\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-container flex flex-wrap flex-col items-start justify-middle -mt-2 -mx-2\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:8px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.spinner-container{height:65px;width:65px;display:flex;justify-content:center;align-items:center;background:var(--primary-color);border-radius:100%}.sk-square-grid{height:35px;width:35px;transform:rotate(45deg);font-size:0;line-height:0;animation:rotate-loader 5s infinite;padding:4px;border:1px solid var(--surface-card)}.sk-segment-holder{position:relative;display:inline-block;width:50%;height:50%}.sk-segment{position:absolute;background:var(--surface-card)}.sk-one{bottom:0;height:0;width:100%;animation:slide-one 1s infinite}.sk-two{left:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.25s}.sk-three{right:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.75s}.sk-four{top:0;height:0;width:100%;animation:slide-one 1s infinite;animation-delay:.5s}@keyframes slide-one{0%{height:0;opacity:1}12.5%{height:100%;opacity:1}50%{opacity:1}to{height:100%;opacity:0}}@keyframes slide-two{0%{width:0;opacity:1}12.5%{width:100%;opacity:1}50%{opacity:1}to{width:100%;opacity:0}}@keyframes rotate-loader{0%{transform:rotate(45deg)}20%{transform:rotate(45deg)}25%{transform:rotate(135deg)}45%{transform:rotate(135deg)}50%{transform:rotate(225deg)}70%{transform:rotate(225deg)}75%{transform:rotate(315deg)}95%{transform:rotate(315deg)}to{transform:rotate(405deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
36453
36490
|
}
|
|
36454
36491
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LoaderSquareComponent, decorators: [{
|
|
36455
36492
|
type: Component,
|
|
36456
|
-
args: [{ selector: 'smz-ui-loader-square', standalone: false, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-square-grid\">\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-one\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-two\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-three\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-four\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-container
|
|
36493
|
+
args: [{ selector: 'smz-ui-loader-square', standalone: false, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-square-grid\">\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-one\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-two\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-three\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-four\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-container flex flex-wrap flex-col items-start justify-middle -mt-2 -mx-2\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:8px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.spinner-container{height:65px;width:65px;display:flex;justify-content:center;align-items:center;background:var(--primary-color);border-radius:100%}.sk-square-grid{height:35px;width:35px;transform:rotate(45deg);font-size:0;line-height:0;animation:rotate-loader 5s infinite;padding:4px;border:1px solid var(--surface-card)}.sk-segment-holder{position:relative;display:inline-block;width:50%;height:50%}.sk-segment{position:absolute;background:var(--surface-card)}.sk-one{bottom:0;height:0;width:100%;animation:slide-one 1s infinite}.sk-two{left:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.25s}.sk-three{right:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.75s}.sk-four{top:0;height:0;width:100%;animation:slide-one 1s infinite;animation-delay:.5s}@keyframes slide-one{0%{height:0;opacity:1}12.5%{height:100%;opacity:1}50%{opacity:1}to{height:100%;opacity:0}}@keyframes slide-two{0%{width:0;opacity:1}12.5%{width:100%;opacity:1}50%{opacity:1}to{width:100%;opacity:0}}@keyframes rotate-loader{0%{transform:rotate(45deg)}20%{transform:rotate(45deg)}25%{transform:rotate(135deg)}45%{transform:rotate(135deg)}50%{transform:rotate(225deg)}70%{transform:rotate(225deg)}75%{transform:rotate(315deg)}95%{transform:rotate(315deg)}to{transform:rotate(405deg)}}\n"] }]
|
|
36457
36494
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
36458
36495
|
type: Input
|
|
36459
36496
|
}], message: [{
|
|
@@ -36520,11 +36557,11 @@ class SmzDockComponent {
|
|
|
36520
36557
|
}
|
|
36521
36558
|
}
|
|
36522
36559
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36523
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDockComponent, isStandalone: false, selector: "smz-ui-dock", ngImport: i0, template: "<div class=\"dock-window fixed bottom-0 left-0 right-0 z-50\" [class.hidden]=\"dockService.dockItems().length === 0\">\r\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\r\n @for (item of dockService.dockItems(); track item.id) {\r\n <div class=\"relative w-16 cursor-pointer transition-transform duration-ui hover:-translate-y-1\" role=\"button\" tabindex=\"0\" (click)=\"execute(item)\" (keydown.enter)=\"execute(item)\">\r\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\r\n @if (item.label != null) {\r\n <div class=\"absolute inset-0
|
|
36560
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDockComponent, isStandalone: false, selector: "smz-ui-dock", ngImport: i0, template: "<div class=\"dock-window fixed bottom-0 left-0 right-0 z-50\" [class.hidden]=\"dockService.dockItems().length === 0\">\r\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\r\n @for (item of dockService.dockItems(); track item.id) {\r\n <div class=\"relative w-16 cursor-pointer transition-transform duration-ui hover:-translate-y-1\" role=\"button\" tabindex=\"0\" (click)=\"execute(item)\" (keydown.enter)=\"execute(item)\">\r\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\r\n @if (item.label != null) {\r\n <div class=\"absolute inset-0 flex flex-wrap items-center justify-center flex-col\">\r\n <div class=\"text-center font-medium my-auto pt-2 select-none text-black text-xs\">{{ item.label }}</div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n" });
|
|
36524
36561
|
}
|
|
36525
36562
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDockComponent, decorators: [{
|
|
36526
36563
|
type: Component,
|
|
36527
|
-
args: [{ selector: 'smz-ui-dock', standalone: false, template: "<div class=\"dock-window fixed bottom-0 left-0 right-0 z-50\" [class.hidden]=\"dockService.dockItems().length === 0\">\r\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\r\n @for (item of dockService.dockItems(); track item.id) {\r\n <div class=\"relative w-16 cursor-pointer transition-transform duration-ui hover:-translate-y-1\" role=\"button\" tabindex=\"0\" (click)=\"execute(item)\" (keydown.enter)=\"execute(item)\">\r\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\r\n @if (item.label != null) {\r\n <div class=\"absolute inset-0
|
|
36564
|
+
args: [{ selector: 'smz-ui-dock', standalone: false, template: "<div class=\"dock-window fixed bottom-0 left-0 right-0 z-50\" [class.hidden]=\"dockService.dockItems().length === 0\">\r\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\r\n @for (item of dockService.dockItems(); track item.id) {\r\n <div class=\"relative w-16 cursor-pointer transition-transform duration-ui hover:-translate-y-1\" role=\"button\" tabindex=\"0\" (click)=\"execute(item)\" (keydown.enter)=\"execute(item)\">\r\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\r\n @if (item.label != null) {\r\n <div class=\"absolute inset-0 flex flex-wrap items-center justify-center flex-col\">\r\n <div class=\"text-center font-medium my-auto pt-2 select-none text-black text-xs\">{{ item.label }}</div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n" }]
|
|
36528
36565
|
}] });
|
|
36529
36566
|
|
|
36530
36567
|
/* 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 */
|
|
@@ -36634,7 +36671,7 @@ class SmzCellChartBuilder extends SmzDocumentBaseCellBuilder {
|
|
|
36634
36671
|
return this.that;
|
|
36635
36672
|
}
|
|
36636
36673
|
setWidth(width) {
|
|
36637
|
-
const newStyle = width === 'auto' ? '
|
|
36674
|
+
const newStyle = width === 'auto' ? 'flex-1' : `${width}`;
|
|
36638
36675
|
this.cellData.flexWidth = newStyle;
|
|
36639
36676
|
return this;
|
|
36640
36677
|
}
|
|
@@ -36984,12 +37021,12 @@ class SmzCellFieldGroupBuilder {
|
|
|
36984
37021
|
container: { styles: defaultConfig.fields.container },
|
|
36985
37022
|
label: { value: label, isVisible: label !== null && label !== undefined, styles: defaultConfig.fields.label },
|
|
36986
37023
|
text: { value: text, styles: defaultConfig.fields.text },
|
|
36987
|
-
flexWidth: '
|
|
37024
|
+
flexWidth: 'flex-1'
|
|
36988
37025
|
};
|
|
36989
37026
|
this.groupBuilderRef.cellData.fields.push(this.fieldGroupData);
|
|
36990
37027
|
}
|
|
36991
37028
|
setWidth(width) {
|
|
36992
|
-
const newStyle = width === 'auto' ? '
|
|
37029
|
+
const newStyle = width === 'auto' ? 'flex-1' : `${width}`;
|
|
36993
37030
|
this.fieldGroupData.flexWidth = newStyle;
|
|
36994
37031
|
return this;
|
|
36995
37032
|
}
|
|
@@ -37227,7 +37264,7 @@ class SmzCellComponentBuilder extends SmzDocumentBaseCellBuilder {
|
|
|
37227
37264
|
return this.that;
|
|
37228
37265
|
}
|
|
37229
37266
|
setWidth(width) {
|
|
37230
|
-
const newStyle = width === 'auto' ? '
|
|
37267
|
+
const newStyle = width === 'auto' ? 'flex-1' : `${width}`;
|
|
37231
37268
|
this.cellData.flexWidth = newStyle;
|
|
37232
37269
|
return this;
|
|
37233
37270
|
}
|
|
@@ -37395,7 +37432,7 @@ class SmzDocumentRowBuilder extends SmzBuilderUtilities {
|
|
|
37395
37432
|
chart(chartData) {
|
|
37396
37433
|
const cell = { colspan: 1, rowspan: 1, height: '100%', width: 'auto', data: null };
|
|
37397
37434
|
this.rowData.cells.push(cell);
|
|
37398
|
-
const item = { type: SmzDocumentFeatureDefinitions.CHART, content: { chartData }, flexWidth: '
|
|
37435
|
+
const item = { type: SmzDocumentFeatureDefinitions.CHART, content: { chartData }, flexWidth: 'flex-1', height: undefined };
|
|
37399
37436
|
cell.data = item;
|
|
37400
37437
|
return new SmzCellChartBuilder(this, cell, item, this.documentBuilderRef);
|
|
37401
37438
|
}
|
|
@@ -37403,7 +37440,7 @@ class SmzDocumentRowBuilder extends SmzBuilderUtilities {
|
|
|
37403
37440
|
const cell = { colspan: 1, rowspan: 1, height: '100%', width: 'auto', data: null };
|
|
37404
37441
|
this.rowData.cells.push(cell);
|
|
37405
37442
|
const injectable = { component: component, inputs: [], outputs: [], styleClass: 'w-full h-full' };
|
|
37406
|
-
const item = { type: SmzDocumentFeatureDefinitions.COMPONENT, content: { component: injectable }, flexWidth: '
|
|
37443
|
+
const item = { type: SmzDocumentFeatureDefinitions.COMPONENT, content: { component: injectable }, flexWidth: 'flex-1' };
|
|
37407
37444
|
cell.data = item;
|
|
37408
37445
|
return new SmzCellComponentBuilder(this, cell, item, this.documentBuilderRef);
|
|
37409
37446
|
}
|
|
@@ -38288,7 +38325,7 @@ class HephaestusProfileMenuComponent {
|
|
|
38288
38325
|
}
|
|
38289
38326
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusProfileMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38290
38327
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusProfileMenuComponent, isStandalone: false, selector: "[smz-ui-hephaestus-profile-menu]", inputs: { items: "items" }, host: { properties: { "class": "this.themeClass" } }, ngImport: i0, template: `
|
|
38291
|
-
<a class="profile clickable
|
|
38328
|
+
<a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
|
|
38292
38329
|
@if (userData$ | async; as userdata) {
|
|
38293
38330
|
<span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
|
|
38294
38331
|
@if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
|
|
@@ -38319,7 +38356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
38319
38356
|
selector: '[smz-ui-hephaestus-profile-menu]',
|
|
38320
38357
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38321
38358
|
template: `
|
|
38322
|
-
<a class="profile clickable
|
|
38359
|
+
<a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
|
|
38323
38360
|
@if (userData$ | async; as userdata) {
|
|
38324
38361
|
<span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
|
|
38325
38362
|
@if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
|
|
@@ -38833,10 +38870,10 @@ class SmzLocalizationSwitchComponent {
|
|
|
38833
38870
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzLocalizationSwitchComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
38834
38871
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzLocalizationSwitchComponent, isStandalone: true, selector: "smz-localization-switch", host: { classAttribute: "h-full relative" }, ngImport: i0, template: `
|
|
38835
38872
|
@if (showLocalizationSwitch) {
|
|
38836
|
-
<smz-responsive class="
|
|
38873
|
+
<smz-responsive class="flex-1 basis-0 flex flex-wrap w-full items-center justify-start p-2">
|
|
38837
38874
|
<!-- LANDSCAPE -->
|
|
38838
38875
|
<ng-template smzTemplate="landscape">
|
|
38839
|
-
<div class="h-full
|
|
38876
|
+
<div class="h-full flex flex-wrap items-center justify-center">
|
|
38840
38877
|
<ui-select appendTo="body" [options]="locales$ | async" styleClass="smz-tenant-switch-small" optionLabel="alias" dataKey="name" [(ngModel)]="selected" (changed)="onSelectorChange($event.value)">
|
|
38841
38878
|
<ng-template smzTemplate="selectedItem">
|
|
38842
38879
|
@if (selected) {
|
|
@@ -38868,10 +38905,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
38868
38905
|
type: Component,
|
|
38869
38906
|
args: [{ selector: 'smz-localization-switch', imports: [CommonModule, SmzSelectComponent, FormsModule, SmzTemplateDirective, SmzResponsiveComponent], host: { class: 'h-full relative' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: `
|
|
38870
38907
|
@if (showLocalizationSwitch) {
|
|
38871
|
-
<smz-responsive class="
|
|
38908
|
+
<smz-responsive class="flex-1 basis-0 flex flex-wrap w-full items-center justify-start p-2">
|
|
38872
38909
|
<!-- LANDSCAPE -->
|
|
38873
38910
|
<ng-template smzTemplate="landscape">
|
|
38874
|
-
<div class="h-full
|
|
38911
|
+
<div class="h-full flex flex-wrap items-center justify-center">
|
|
38875
38912
|
<ui-select appendTo="body" [options]="locales$ | async" styleClass="smz-tenant-switch-small" optionLabel="alias" dataKey="name" [(ngModel)]="selected" (changed)="onSelectorChange($event.value)">
|
|
38876
38913
|
<ng-template smzTemplate="selectedItem">
|
|
38877
38914
|
@if (selected) {
|
|
@@ -39351,11 +39388,11 @@ class HephaestusFooterComponent {
|
|
|
39351
39388
|
});
|
|
39352
39389
|
}
|
|
39353
39390
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39354
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusFooterComponent, isStandalone: false, selector: "smz-ui-hephaestus-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container
|
|
39391
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusFooterComponent, isStandalone: false, selector: "smz-ui-hephaestus-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
39355
39392
|
}
|
|
39356
39393
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusFooterComponent, decorators: [{
|
|
39357
39394
|
type: Component,
|
|
39358
|
-
args: [{ selector: 'smz-ui-hephaestus-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container
|
|
39395
|
+
args: [{ selector: 'smz-ui-hephaestus-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
|
|
39359
39396
|
}], ctorParameters: () => [], propDecorators: { templates: [{
|
|
39360
39397
|
type: ContentChildren,
|
|
39361
39398
|
args: [SmzTemplateDirective]
|
|
@@ -39531,11 +39568,11 @@ class GlobalAssistanceComponent {
|
|
|
39531
39568
|
this.store.dispatch(new LayoutUiActions.SetAssistanceButtonPosition(data));
|
|
39532
39569
|
}
|
|
39533
39570
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GlobalAssistanceComponent, deps: [{ token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
39534
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: GlobalAssistanceComponent, isStandalone: false, selector: "smz-ui-global-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <h5 class=\"mt-4\">\r\n Global Loading\r\n @if (timer != null) {\r\n <span>{{ timer }}</span>\r\n }\r\n </h5>\r\n <div class=\"
|
|
39571
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: GlobalAssistanceComponent, isStandalone: false, selector: "smz-ui-global-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <h5 class=\"mt-4\">\r\n Global Loading\r\n @if (timer != null) {\r\n <span>{{ timer }}</span>\r\n }\r\n </h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-toggle-switch class=\"w-full flex-none\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 5)\"></ui-toggle-switch>\r\n <ui-toggle-switch class=\"w-full flex-none\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 60)\"></ui-toggle-switch>\r\n @for (loader of loaders; track loader) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"loader.name\" class=\"mr-2 mb-2\" (click)=\"onSetGlobalLoader(loader.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Messages</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (toast of toasts; track toast) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toast.name\" class=\"mr-2 mb-2\" (click)=\"onShowToast(toast.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (toastPosition of toastPositions; track toastPosition) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toastPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetToastPosition(toastPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (\r\n assistancePosition of assistancePositions;\r\n track assistancePosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistancePosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistancePosition(assistancePosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Button Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (\r\n assistanceButtonPosition of assistanceButtonPositions;\r\n track assistanceButtonPosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistanceButtonPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistanceButtonPosition(assistanceButtonPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Content Themes</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (content of contentThemes; track content) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"content.name\" class=\"mr-2 mb-2\" [styleClass]=\"{\r\n 'p-button-outlined': content.tone === 'light',\r\n 'p-button-secondary': content.tone === 'dark',\r\n }\" (click)=\"onSetContentTheme(content.id)\"></button>\r\n }\r\n </div>\r\n <h5>Color Schemas</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (schema of colorSchemes; track schema) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"schema.name\" class=\"mr-2 mb-2\" [ngStyle]=\"{ background: schema.color, color: schema.constrast }\" (click)=\"onSetColorSchema(schema.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n }\r\n}\r\n", styles: ["smz-ui-global-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-global-assistance .assistence_sidebar{width:25em}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "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.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
39535
39572
|
}
|
|
39536
39573
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GlobalAssistanceComponent, decorators: [{
|
|
39537
39574
|
type: Component,
|
|
39538
|
-
args: [{ selector: 'smz-ui-global-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <h5 class=\"mt-4\">\r\n Global Loading\r\n @if (timer != null) {\r\n <span>{{ timer }}</span>\r\n }\r\n </h5>\r\n <div class=\"
|
|
39575
|
+
args: [{ selector: 'smz-ui-global-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <h5 class=\"mt-4\">\r\n Global Loading\r\n @if (timer != null) {\r\n <span>{{ timer }}</span>\r\n }\r\n </h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-toggle-switch class=\"w-full flex-none\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 5)\"></ui-toggle-switch>\r\n <ui-toggle-switch class=\"w-full flex-none\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 60)\"></ui-toggle-switch>\r\n @for (loader of loaders; track loader) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"loader.name\" class=\"mr-2 mb-2\" (click)=\"onSetGlobalLoader(loader.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Messages</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (toast of toasts; track toast) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toast.name\" class=\"mr-2 mb-2\" (click)=\"onShowToast(toast.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (toastPosition of toastPositions; track toastPosition) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toastPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetToastPosition(toastPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (\r\n assistancePosition of assistancePositions;\r\n track assistancePosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistancePosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistancePosition(assistancePosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Button Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (\r\n assistanceButtonPosition of assistanceButtonPositions;\r\n track assistanceButtonPosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistanceButtonPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistanceButtonPosition(assistanceButtonPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Content Themes</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (content of contentThemes; track content) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"content.name\" class=\"mr-2 mb-2\" [styleClass]=\"{\r\n 'p-button-outlined': content.tone === 'light',\r\n 'p-button-secondary': content.tone === 'dark',\r\n }\" (click)=\"onSetContentTheme(content.id)\"></button>\r\n }\r\n </div>\r\n <h5>Color Schemas</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (schema of colorSchemes; track schema) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"schema.name\" class=\"mr-2 mb-2\" [ngStyle]=\"{ background: schema.color, color: schema.constrast }\" (click)=\"onSetColorSchema(schema.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n }\r\n}\r\n", styles: ["smz-ui-global-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-global-assistance .assistence_sidebar{width:25em}\n"] }]
|
|
39539
39576
|
}], ctorParameters: () => [{ type: i1$3.Store }, { type: i0.ChangeDetectorRef }] });
|
|
39540
39577
|
|
|
39541
39578
|
/* 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 */
|
|
@@ -39595,11 +39632,11 @@ class HephaestusAssistanceComponent {
|
|
|
39595
39632
|
this.store.dispatch(new LayoutUiActions.ShowConfigAssistance);
|
|
39596
39633
|
}
|
|
39597
39634
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusAssistanceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39598
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusAssistanceComponent, isStandalone: false, selector: "smz-ui-hephaestus-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear\"></i></a>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"
|
|
39635
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusAssistanceComponent, isStandalone: false, selector: "smz-ui-hephaestus-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear\"></i></a>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-hephaestus-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-hephaestus-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
|
|
39599
39636
|
}
|
|
39600
39637
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusAssistanceComponent, decorators: [{
|
|
39601
39638
|
type: Component,
|
|
39602
|
-
args: [{ selector: 'smz-ui-hephaestus-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear\"></i></a>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"
|
|
39639
|
+
args: [{ selector: 'smz-ui-hephaestus-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear\"></i></a>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-hephaestus-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-hephaestus-assistance .assistence_sidebar{width:35em}\n"] }]
|
|
39603
39640
|
}], ctorParameters: () => [] });
|
|
39604
39641
|
|
|
39605
39642
|
/* 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 */
|
|
@@ -40505,7 +40542,7 @@ class AthenaProfileMenuComponent {
|
|
|
40505
40542
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaProfileMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
40506
40543
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaProfileMenuComponent, isStandalone: false, selector: "[smz-ui-athena-profile-menu]", inputs: { profile: "profile" }, host: { listeners: { "document:click": "collapse($event)" }, properties: { "class": "this.themeClass" } }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: `
|
|
40507
40544
|
<!-- <ng-content></ng-content> -->
|
|
40508
|
-
<a class="profile clickable
|
|
40545
|
+
<a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
|
|
40509
40546
|
@if (userData$ | async; as userdata) {
|
|
40510
40547
|
<span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
|
|
40511
40548
|
@if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
|
|
@@ -40534,7 +40571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
40534
40571
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
40535
40572
|
template: `
|
|
40536
40573
|
<!-- <ng-content></ng-content> -->
|
|
40537
|
-
<a class="profile clickable
|
|
40574
|
+
<a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
|
|
40538
40575
|
@if (userData$ | async; as userdata) {
|
|
40539
40576
|
<span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
|
|
40540
40577
|
@if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
|
|
@@ -40591,7 +40628,7 @@ class AthenaNotificationItemsComponent {
|
|
|
40591
40628
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaNotificationItemsComponent, isStandalone: false, selector: "[smz-ui-athena-notification-items]", inputs: { items: "items" }, outputs: { onClose: "onClose" }, host: { listeners: { "document:click": "collapse($event)" } }, ngImport: i0, template: `
|
|
40592
40629
|
@for (item of items; track item; let index = $index) {
|
|
40593
40630
|
<li role="menuitem">
|
|
40594
|
-
<a menuItemAction class="
|
|
40631
|
+
<a menuItemAction class="flex flex-wrap items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
|
|
40595
40632
|
@if (item.icon != null) {
|
|
40596
40633
|
<i class="fa-solid mr-3" [ngClass]="item.icon"></i>
|
|
40597
40634
|
}
|
|
@@ -40609,7 +40646,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
40609
40646
|
args: [{ selector: '[smz-ui-athena-notification-items]', host: { '(document:click)': 'collapse($event)' }, changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
40610
40647
|
@for (item of items; track item; let index = $index) {
|
|
40611
40648
|
<li role="menuitem">
|
|
40612
|
-
<a menuItemAction class="
|
|
40649
|
+
<a menuItemAction class="flex flex-wrap items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
|
|
40613
40650
|
@if (item.icon != null) {
|
|
40614
40651
|
<i class="fa-solid mr-3" [ngClass]="item.icon"></i>
|
|
40615
40652
|
}
|
|
@@ -41121,11 +41158,11 @@ class NotificationItemComponent {
|
|
|
41121
41158
|
ngOnInit() {
|
|
41122
41159
|
}
|
|
41123
41160
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41124
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NotificationItemComponent, isStandalone: false, selector: "smz-notification-item", inputs: { item: "item", charactersLimit: "charactersLimit", showDate: "showDate" }, ngImport: i0, template: "<div class=\"
|
|
41161
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NotificationItemComponent, isStandalone: false, selector: "smz-notification-item", inputs: { item: "item", charactersLimit: "charactersLimit", showDate: "showDate" }, ngImport: i0, template: "<div class=\"flex flex-wrap flex-row flex-nowrap items-center justify-between relative py-2 pl-2 min-h-[90px] -m-1\" [ngClass]=\"uiConfig.rbkUtils.notifications.showTypeIndicators ? typeClass[item.type] : ''\">\r\n\r\n <div class=\"flex flex-wrap flex-col items-stretch justify-start relative p-1 -m-1\">\r\n <div class=\"flex flex-wrap items-center justify-start mb-1 p-1\">\r\n <div class=\"font-medium\" [ngClass]=\"{ 'font-extrabold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{item.title}}</div>\r\n @if (item.status === status.NEW) {\r\n <div class=\"rounded bg-blue-500 text-white px-1 py-0.5 ml-2 text-xs\">NOVO</div>\r\n }\r\n </div>\r\n <div class=\"text-sm p-1\" [ngClass]=\"{ 'font-bold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{ charactersLimit != null ? (item.body | shorten : charactersLimit : '...') : item.body}}</div>\r\n </div>\r\n\r\n @if (showDate) {\r\n <div class=\"p-1\">\r\n @if (uiConfig.rbkUtils.notifications.date; as date) {\r\n <span class=\"text-xs text-right whitespace-nowrap\">\r\n {{ item.date | calendar : date.recentsMethod : date.recentsDaysCount : date.othersFormat }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n</div>\r\n", styles: ["smz-notification-item .success-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-success)}smz-notification-item .info-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-info)}smz-notification-item .warning-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-warning)}smz-notification-item .danger-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-danger)}smz-notification-item .help-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-help)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: CalendarPipe, name: "calendar" }, { kind: "pipe", type: ShortenPipe, name: "shorten" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
41125
41162
|
}
|
|
41126
41163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationItemComponent, decorators: [{
|
|
41127
41164
|
type: Component,
|
|
41128
|
-
args: [{ selector: 'smz-notification-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"
|
|
41165
|
+
args: [{ selector: 'smz-notification-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"flex flex-wrap flex-row flex-nowrap items-center justify-between relative py-2 pl-2 min-h-[90px] -m-1\" [ngClass]=\"uiConfig.rbkUtils.notifications.showTypeIndicators ? typeClass[item.type] : ''\">\r\n\r\n <div class=\"flex flex-wrap flex-col items-stretch justify-start relative p-1 -m-1\">\r\n <div class=\"flex flex-wrap items-center justify-start mb-1 p-1\">\r\n <div class=\"font-medium\" [ngClass]=\"{ 'font-extrabold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{item.title}}</div>\r\n @if (item.status === status.NEW) {\r\n <div class=\"rounded bg-blue-500 text-white px-1 py-0.5 ml-2 text-xs\">NOVO</div>\r\n }\r\n </div>\r\n <div class=\"text-sm p-1\" [ngClass]=\"{ 'font-bold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{ charactersLimit != null ? (item.body | shorten : charactersLimit : '...') : item.body}}</div>\r\n </div>\r\n\r\n @if (showDate) {\r\n <div class=\"p-1\">\r\n @if (uiConfig.rbkUtils.notifications.date; as date) {\r\n <span class=\"text-xs text-right whitespace-nowrap\">\r\n {{ item.date | calendar : date.recentsMethod : date.recentsDaysCount : date.othersFormat }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n</div>\r\n", styles: ["smz-notification-item .success-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-success)}smz-notification-item .info-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-info)}smz-notification-item .warning-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-warning)}smz-notification-item .danger-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-danger)}smz-notification-item .help-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-help)}\n"] }]
|
|
41129
41166
|
}], ctorParameters: () => [], propDecorators: { item: [{
|
|
41130
41167
|
type: Input
|
|
41131
41168
|
}], charactersLimit: [{
|
|
@@ -41212,7 +41249,7 @@ class NotificationsListComponent {
|
|
|
41212
41249
|
.columns()
|
|
41213
41250
|
.custom('searchData', '')
|
|
41214
41251
|
.forceGlobalFilter()
|
|
41215
|
-
.addStyles('
|
|
41252
|
+
.addStyles('flex-1')
|
|
41216
41253
|
.disableFilter()
|
|
41217
41254
|
.columns
|
|
41218
41255
|
.table;
|
|
@@ -41280,7 +41317,7 @@ class NotificationsListComponent {
|
|
|
41280
41317
|
}
|
|
41281
41318
|
}
|
|
41282
41319
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41283
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NotificationsListComponent, isStandalone: false, selector: "smz-notifications-list", ngImport: i0, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\r\n\r\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\r\n <button smzButton smzRipple type=\"button\" icon=\"fa-solid fa-rotate\" smzTooltip=\"Atualizar\" class=\"mr-3\" (click)=\"refresh()\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\r\n <ng-template #item let-item>\r\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\r\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\r\n </ng-template>\r\n </ui-select-button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('searchData') {\r\n <div class=\"
|
|
41320
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NotificationsListComponent, isStandalone: false, selector: "smz-notifications-list", ngImport: i0, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\r\n\r\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\r\n <button smzButton smzRipple type=\"button\" icon=\"fa-solid fa-rotate\" smzTooltip=\"Atualizar\" class=\"mr-3\" (click)=\"refresh()\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\r\n <ng-template #item let-item>\r\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\r\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\r\n </ng-template>\r\n </ui-select-button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('searchData') {\r\n <div class=\"flex flex-wrap items-center justify-between\" (mouseenter)=\"item._showActions = true\" (mouseleave)=\"item._showActions = false\">\r\n <div class=\"flex-1\">\r\n <smz-notification-item [item]=\"item\" [showDate]=\"true\"></smz-notification-item>\r\n </div>\r\n @if (item._showActions) {\r\n <div class=\"flex flex-wrap items-center justify-start flex-col pl-4 animate__animated animate__fadeIn relative gap-4\" clickStopPropagation>\r\n @if (item.status !== status.ARCHIVED) {\r\n <i #archiveButton smzTooltip=\"Arquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-box-archive p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"archive([item])\"></i>\r\n }\r\n @if (item.status === status.ARCHIVED) {\r\n <i #inboxButton smzTooltip=\"Desarquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-inbox p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"moveToInbox([item])\"></i>\r\n }\r\n @if (item.route != '') {\r\n <i #routeButton smzTooltip=\"Navegar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-share p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"navigate(item)\"></i>\r\n }\r\n @if (item.link != '') {\r\n <i #linkButton smzTooltip=\"Abrir Link\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-up-right-from-square p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"openLink(item)\"></i>\r\n }\r\n <i #trashButton smzTooltip=\"Excluir\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-trash p-button-rounded p-button-text p-button-plain relative text-gray-500\" styleClass=\"relative\" (click)=\"remove(item)\"></i>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", styles: ["smz-notifications-list .database-title{font-size:1.2rem}smz-notifications-list i .p-tooltip .p-tooltip-text{word-break:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: NotificationItemComponent, selector: "smz-notification-item", inputs: ["item", "charactersLimit", "showDate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: FilterByPipe, name: "filterBy" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
41284
41321
|
}
|
|
41285
41322
|
__decorate([
|
|
41286
41323
|
Confirmable('Deseja realmente excluir as notificações selecionadas ?<br>Está operação não poderá ser desfeita.', 'Exclusão', true)
|
|
@@ -41290,7 +41327,7 @@ __decorate([
|
|
|
41290
41327
|
], NotificationsListComponent.prototype, "remove", null);
|
|
41291
41328
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationsListComponent, decorators: [{
|
|
41292
41329
|
type: Component,
|
|
41293
|
-
args: [{ selector: 'smz-notifications-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\r\n\r\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\r\n <button smzButton smzRipple type=\"button\" icon=\"fa-solid fa-rotate\" smzTooltip=\"Atualizar\" class=\"mr-3\" (click)=\"refresh()\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\r\n <ng-template #item let-item>\r\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\r\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\r\n </ng-template>\r\n </ui-select-button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('searchData') {\r\n <div class=\"
|
|
41330
|
+
args: [{ selector: 'smz-notifications-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\r\n\r\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\r\n <button smzButton smzRipple type=\"button\" icon=\"fa-solid fa-rotate\" smzTooltip=\"Atualizar\" class=\"mr-3\" (click)=\"refresh()\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\r\n <ng-template #item let-item>\r\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\r\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\r\n </ng-template>\r\n </ui-select-button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('searchData') {\r\n <div class=\"flex flex-wrap items-center justify-between\" (mouseenter)=\"item._showActions = true\" (mouseleave)=\"item._showActions = false\">\r\n <div class=\"flex-1\">\r\n <smz-notification-item [item]=\"item\" [showDate]=\"true\"></smz-notification-item>\r\n </div>\r\n @if (item._showActions) {\r\n <div class=\"flex flex-wrap items-center justify-start flex-col pl-4 animate__animated animate__fadeIn relative gap-4\" clickStopPropagation>\r\n @if (item.status !== status.ARCHIVED) {\r\n <i #archiveButton smzTooltip=\"Arquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-box-archive p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"archive([item])\"></i>\r\n }\r\n @if (item.status === status.ARCHIVED) {\r\n <i #inboxButton smzTooltip=\"Desarquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-inbox p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"moveToInbox([item])\"></i>\r\n }\r\n @if (item.route != '') {\r\n <i #routeButton smzTooltip=\"Navegar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-share p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"navigate(item)\"></i>\r\n }\r\n @if (item.link != '') {\r\n <i #linkButton smzTooltip=\"Abrir Link\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-up-right-from-square p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"openLink(item)\"></i>\r\n }\r\n <i #trashButton smzTooltip=\"Excluir\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-trash p-button-rounded p-button-text p-button-plain relative text-gray-500\" styleClass=\"relative\" (click)=\"remove(item)\"></i>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", styles: ["smz-notifications-list .database-title{font-size:1.2rem}smz-notifications-list i .p-tooltip .p-tooltip-text{word-break:normal}\n"] }]
|
|
41294
41331
|
}], ctorParameters: () => [], propDecorators: { batchRemove: [], remove: [] } });
|
|
41295
41332
|
|
|
41296
41333
|
function showNotificationsDialog() {
|
|
@@ -41323,11 +41360,11 @@ class SmzNotificationsComponent {
|
|
|
41323
41360
|
showNotificationsDialog();
|
|
41324
41361
|
}
|
|
41325
41362
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41326
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzNotificationsComponent, isStandalone: false, selector: "smz-ui-notifications", ngImport: i0, template: "@if (notifications$ | async; as notifications) {\r\n <smz-responsive class=\"
|
|
41363
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzNotificationsComponent, isStandalone: false, selector: "smz-ui-notifications", ngImport: i0, template: "@if (notifications$ | async; as notifications) {\r\n <smz-responsive class=\"flex-1 basis-0 flex flex-wrap w-full items-center justify-start p-2\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"op.toggle($event)\"></div>\r\n </i>\r\n <ui-popover #op [style]=\"{ 'width': uiConfig.rbkUtils.notifications.width, 'z-index': uiConfig.rbkUtils.notifications.zIndex }\" [styleClass]=\"uiConfig.rbkUtils.notifications.styleClass\" appendTo=\"body\" [autoZIndex]=\"false\">\r\n <smz-notifications-list></smz-notifications-list>\r\n </ui-popover>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"showDialog()\"></div>\r\n </i>\r\n </ng-template>\r\n </smz-responsive>\r\n}", styles: ["smz-ui-notifications .notification-container{min-width:40px}smz-ui-notifications .badge-color{color:var(--text-color-secondary)}smz-ui-notifications .p-badge{background:var(--surface-a);color:var(--primary-color)}smz-ui-notifications .regular-badge{font-size:1.6rem;line-height:1.6rem}smz-ui-notifications .regular-badge .p-badge{font-size:.8rem;font-weight:700;min-width:1.1rem;height:1.1rem;line-height:1.1rem}\n"], dependencies: [{ kind: "directive", type: i2.SmzBadgeDirective, selector: "[smzBadge]", inputs: ["value", "severity"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzResponsiveComponent, selector: "smz-responsive" }, { kind: "component", type: NotificationsListComponent, selector: "smz-notifications-list" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
41327
41364
|
}
|
|
41328
41365
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzNotificationsComponent, decorators: [{
|
|
41329
41366
|
type: Component,
|
|
41330
|
-
args: [{ selector: 'smz-ui-notifications', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (notifications$ | async; as notifications) {\r\n <smz-responsive class=\"
|
|
41367
|
+
args: [{ selector: 'smz-ui-notifications', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (notifications$ | async; as notifications) {\r\n <smz-responsive class=\"flex-1 basis-0 flex flex-wrap w-full items-center justify-start p-2\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"op.toggle($event)\"></div>\r\n </i>\r\n <ui-popover #op [style]=\"{ 'width': uiConfig.rbkUtils.notifications.width, 'z-index': uiConfig.rbkUtils.notifications.zIndex }\" [styleClass]=\"uiConfig.rbkUtils.notifications.styleClass\" appendTo=\"body\" [autoZIndex]=\"false\">\r\n <smz-notifications-list></smz-notifications-list>\r\n </ui-popover>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"showDialog()\"></div>\r\n </i>\r\n </ng-template>\r\n </smz-responsive>\r\n}", styles: ["smz-ui-notifications .notification-container{min-width:40px}smz-ui-notifications .badge-color{color:var(--text-color-secondary)}smz-ui-notifications .p-badge{background:var(--surface-a);color:var(--primary-color)}smz-ui-notifications .regular-badge{font-size:1.6rem;line-height:1.6rem}smz-ui-notifications .regular-badge .p-badge{font-size:.8rem;font-weight:700;min-width:1.1rem;height:1.1rem;line-height:1.1rem}\n"] }]
|
|
41331
41368
|
}], ctorParameters: () => [] });
|
|
41332
41369
|
|
|
41333
41370
|
/* 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 */
|
|
@@ -41344,7 +41381,7 @@ let AthenaTopbarActionsComponent$1 = class AthenaTopbarActionsComponent {
|
|
|
41344
41381
|
|
|
41345
41382
|
<div id="smz-ui-topbar"></div>
|
|
41346
41383
|
|
|
41347
|
-
<span class="
|
|
41384
|
+
<span class="flex-1 basis-0 extras-container justify-end mr-3 p-2">
|
|
41348
41385
|
@if (headerExtrasTemplate != null) {
|
|
41349
41386
|
<ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
|
|
41350
41387
|
}
|
|
@@ -41380,7 +41417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
41380
41417
|
|
|
41381
41418
|
<div id="smz-ui-topbar"></div>
|
|
41382
41419
|
|
|
41383
|
-
<span class="
|
|
41420
|
+
<span class="flex-1 basis-0 extras-container justify-end mr-3 p-2">
|
|
41384
41421
|
@if (headerExtrasTemplate != null) {
|
|
41385
41422
|
<ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
|
|
41386
41423
|
}
|
|
@@ -41450,11 +41487,11 @@ class AthenaTopbarComponent {
|
|
|
41450
41487
|
this.store.dispatch(new UiAthenaActions$1.ToggleSidebar);
|
|
41451
41488
|
}
|
|
41452
41489
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaTopbarComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
41453
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaTopbarComponent, isStandalone: false, selector: "smz-ui-athena-topbar", inputs: { notifications: "notifications", profile: "profile" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full
|
|
41490
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaTopbarComponent, isStandalone: false, selector: "smz-ui-athena-topbar", inputs: { notifications: "notifications", profile: "profile" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-athena-topbar-actions [headerExtrasTemplate]=\"headerExtrasTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo flex-1\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\" [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n style=\"outline: none; cursor: pointer;\" tabindex=\"0\">\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n <!-- <a *ngIf=\"layout.menu === horizontalMenuType\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left text-red\"></i>\r\n </a> -->\r\n </div>\r\n </div>\r\n}", styles: [""], dependencies: [{ 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: "component", type: AthenaTopbarActionsComponent$1, selector: "[smz-ui-athena-topbar-actions]", inputs: ["profile", "notifications", "headerExtrasTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41454
41491
|
}
|
|
41455
41492
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaTopbarComponent, decorators: [{
|
|
41456
41493
|
type: Component,
|
|
41457
|
-
args: [{ selector: 'smz-ui-athena-topbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (layout$ | async; as layout) {\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full
|
|
41494
|
+
args: [{ selector: 'smz-ui-athena-topbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (layout$ | async; as layout) {\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-athena-topbar-actions [headerExtrasTemplate]=\"headerExtrasTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo flex-1\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\" [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n style=\"outline: none; cursor: pointer;\" tabindex=\"0\">\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n <!-- <a *ngIf=\"layout.menu === horizontalMenuType\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left text-red\"></i>\r\n </a> -->\r\n </div>\r\n </div>\r\n}" }]
|
|
41458
41495
|
}], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
|
|
41459
41496
|
type: ContentChildren,
|
|
41460
41497
|
args: [SmzTemplateDirective]
|
|
@@ -41496,11 +41533,11 @@ class AthenaFooterComponent {
|
|
|
41496
41533
|
this.store.dispatch(new UiAthenaActions$1.ToggleSidebar);
|
|
41497
41534
|
}
|
|
41498
41535
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaFooterComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
41499
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaFooterComponent, isStandalone: false, selector: "smz-ui-athena-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container
|
|
41536
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaFooterComponent, isStandalone: false, selector: "smz-ui-athena-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
41500
41537
|
}
|
|
41501
41538
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaFooterComponent, decorators: [{
|
|
41502
41539
|
type: Component,
|
|
41503
|
-
args: [{ selector: 'smz-ui-athena-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container
|
|
41540
|
+
args: [{ selector: 'smz-ui-athena-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
|
|
41504
41541
|
}], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
|
|
41505
41542
|
type: ContentChildren,
|
|
41506
41543
|
args: [SmzTemplateDirective]
|
|
@@ -41570,11 +41607,11 @@ class AthenaAssistanceComponent {
|
|
|
41570
41607
|
this.store.dispatch(new LayoutUiActions.ShowConfigAssistance);
|
|
41571
41608
|
}
|
|
41572
41609
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaAssistanceComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
41573
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaAssistanceComponent, isStandalone: false, selector: "smz-ui-athena-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"
|
|
41610
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaAssistanceComponent, isStandalone: false, selector: "smz-ui-athena-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-athena-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
|
|
41574
41611
|
}
|
|
41575
41612
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaAssistanceComponent, decorators: [{
|
|
41576
41613
|
type: Component,
|
|
41577
|
-
args: [{ selector: 'smz-ui-athena-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"
|
|
41614
|
+
args: [{ selector: 'smz-ui-athena-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-athena-assistance .assistence_sidebar{width:35em}\n"] }]
|
|
41578
41615
|
}], ctorParameters: () => [{ type: i1$3.Store }] });
|
|
41579
41616
|
|
|
41580
41617
|
/* 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 */
|
|
@@ -42618,7 +42655,7 @@ class NewAthenaProfileMenuComponent {
|
|
|
42618
42655
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaProfileMenuComponent, deps: [{ token: i0.ElementRef }, { token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
42619
42656
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaProfileMenuComponent, isStandalone: false, selector: "[smz-ui-new-athena-profile-menu]", inputs: { profile: "profile" }, host: { listeners: { "document:click": "collapse($event)" }, properties: { "class": "this.themeClass" } }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: `
|
|
42620
42657
|
<!-- <ng-content></ng-content> -->
|
|
42621
|
-
<a class="profile clickable
|
|
42658
|
+
<a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
|
|
42622
42659
|
@if (userData$ | async; as userdata) {
|
|
42623
42660
|
<span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
|
|
42624
42661
|
@if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
|
|
@@ -42651,7 +42688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
42651
42688
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
42652
42689
|
template: `
|
|
42653
42690
|
<!-- <ng-content></ng-content> -->
|
|
42654
|
-
<a class="profile clickable
|
|
42691
|
+
<a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
|
|
42655
42692
|
@if (userData$ | async; as userdata) {
|
|
42656
42693
|
<span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
|
|
42657
42694
|
@if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
|
|
@@ -42712,7 +42749,7 @@ class NewAthenaNotificationItemsComponent {
|
|
|
42712
42749
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaNotificationItemsComponent, isStandalone: false, selector: "[smz-ui-new-athena-notification-items]", inputs: { items: "items" }, outputs: { onClose: "onClose" }, host: { listeners: { "document:click": "collapse($event)" } }, ngImport: i0, template: `
|
|
42713
42750
|
@for (item of items; track item; let index = $index) {
|
|
42714
42751
|
<li role="menuitem">
|
|
42715
|
-
<a menuItemAction class="
|
|
42752
|
+
<a menuItemAction class="flex flex-wrap items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
|
|
42716
42753
|
@if (item.icon != null) {
|
|
42717
42754
|
<i class="fa-solid mr-3" [ngClass]="item.icon"></i>
|
|
42718
42755
|
}
|
|
@@ -42730,7 +42767,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
42730
42767
|
args: [{ selector: '[smz-ui-new-athena-notification-items]', host: { '(document:click)': 'collapse($event)' }, changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
42731
42768
|
@for (item of items; track item; let index = $index) {
|
|
42732
42769
|
<li role="menuitem">
|
|
42733
|
-
<a menuItemAction class="
|
|
42770
|
+
<a menuItemAction class="flex flex-wrap items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
|
|
42734
42771
|
@if (item.icon != null) {
|
|
42735
42772
|
<i class="fa-solid mr-3" [ngClass]="item.icon"></i>
|
|
42736
42773
|
}
|
|
@@ -42819,12 +42856,12 @@ class AthenaTopbarActionsComponent {
|
|
|
42819
42856
|
|
|
42820
42857
|
<div id="smz-ui-topbar"></div>
|
|
42821
42858
|
|
|
42822
|
-
<smz-responsive class="
|
|
42859
|
+
<smz-responsive class="flex-1 basis-0 flex flex-wrap w-full items-center justify-start gap-5 p-2">
|
|
42823
42860
|
|
|
42824
42861
|
<!-- LANDSCAPE -->
|
|
42825
42862
|
<ng-template smzTemplate="landscape">
|
|
42826
42863
|
|
|
42827
|
-
<span class="
|
|
42864
|
+
<span class="flex-1 basis-0 extras-container justify-end p-2">
|
|
42828
42865
|
@if (headerExtrasTemplate != null) {
|
|
42829
42866
|
<ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
|
|
42830
42867
|
}
|
|
@@ -42856,7 +42893,7 @@ class AthenaTopbarActionsComponent {
|
|
|
42856
42893
|
<!-- PORTRAIT -->
|
|
42857
42894
|
<ng-template smzTemplate="portrait">
|
|
42858
42895
|
|
|
42859
|
-
<span class="
|
|
42896
|
+
<span class="flex-1 basis-0 extras-container justify-end p-2">
|
|
42860
42897
|
@if (headerExtrasTemplate != null) {
|
|
42861
42898
|
<ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
|
|
42862
42899
|
}
|
|
@@ -42892,12 +42929,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
42892
42929
|
|
|
42893
42930
|
<div id="smz-ui-topbar"></div>
|
|
42894
42931
|
|
|
42895
|
-
<smz-responsive class="
|
|
42932
|
+
<smz-responsive class="flex-1 basis-0 flex flex-wrap w-full items-center justify-start gap-5 p-2">
|
|
42896
42933
|
|
|
42897
42934
|
<!-- LANDSCAPE -->
|
|
42898
42935
|
<ng-template smzTemplate="landscape">
|
|
42899
42936
|
|
|
42900
|
-
<span class="
|
|
42937
|
+
<span class="flex-1 basis-0 extras-container justify-end p-2">
|
|
42901
42938
|
@if (headerExtrasTemplate != null) {
|
|
42902
42939
|
<ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
|
|
42903
42940
|
}
|
|
@@ -42929,7 +42966,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
42929
42966
|
<!-- PORTRAIT -->
|
|
42930
42967
|
<ng-template smzTemplate="portrait">
|
|
42931
42968
|
|
|
42932
|
-
<span class="
|
|
42969
|
+
<span class="flex-1 basis-0 extras-container justify-end p-2">
|
|
42933
42970
|
@if (headerExtrasTemplate != null) {
|
|
42934
42971
|
<ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
|
|
42935
42972
|
}
|
|
@@ -43003,11 +43040,11 @@ class NewAthenaTopbarComponent {
|
|
|
43003
43040
|
this.store.dispatch(new UiAthenaActions.ToggleSidebar);
|
|
43004
43041
|
}
|
|
43005
43042
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaTopbarComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
43006
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaTopbarComponent, isStandalone: false, selector: "smz-ui-new-athena-topbar", inputs: { notifications: "notifications", profile: "profile" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n <smz-responsive class=\"
|
|
43043
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaTopbarComponent, isStandalone: false, selector: "smz-ui-new-athena-topbar", inputs: { notifications: "notifications", profile: "profile" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n <smz-responsive class=\"flex flex-wrap w-full items-center justify-start\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerLandscapeTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n class=\"cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerPortraitTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo max-w-[100px]\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n class=\"w-full h-full cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n </smz-responsive>\r\n }", styles: [""], dependencies: [{ 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: "component", type: AthenaTopbarActionsComponent, selector: "[smz-ui-new-athena-topbar-actions]", inputs: ["profile", "notifications", "headerExtrasTemplate"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzResponsiveComponent, selector: "smz-responsive" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
43007
43044
|
}
|
|
43008
43045
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaTopbarComponent, decorators: [{
|
|
43009
43046
|
type: Component,
|
|
43010
|
-
args: [{ selector: 'smz-ui-new-athena-topbar', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (layout$ | async; as layout) {\r\n <smz-responsive class=\"
|
|
43047
|
+
args: [{ selector: 'smz-ui-new-athena-topbar', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (layout$ | async; as layout) {\r\n <smz-responsive class=\"flex flex-wrap w-full items-center justify-start\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerLandscapeTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n class=\"cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerPortraitTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo max-w-[100px]\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n class=\"w-full h-full cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n </smz-responsive>\r\n }" }]
|
|
43011
43048
|
}], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
|
|
43012
43049
|
type: ContentChildren,
|
|
43013
43050
|
args: [SmzTemplateDirective]
|
|
@@ -43049,11 +43086,11 @@ class NewAthenaFooterComponent {
|
|
|
43049
43086
|
this.store.dispatch(new UiAthenaActions.ToggleSidebar);
|
|
43050
43087
|
}
|
|
43051
43088
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaFooterComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
43052
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaFooterComponent, isStandalone: false, selector: "smz-ui-new-athena-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\" id=\"footer-container\">\r\n <div class=\"footer-logo-container
|
|
43089
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaFooterComponent, isStandalone: false, selector: "smz-ui-new-athena-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\" id=\"footer-container\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\" id=\"footer-logo-container\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
43053
43090
|
}
|
|
43054
43091
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaFooterComponent, decorators: [{
|
|
43055
43092
|
type: Component,
|
|
43056
|
-
args: [{ selector: 'smz-ui-new-athena-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\" id=\"footer-container\">\r\n <div class=\"footer-logo-container
|
|
43093
|
+
args: [{ selector: 'smz-ui-new-athena-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\" id=\"footer-container\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\" id=\"footer-logo-container\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
|
|
43057
43094
|
}], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
|
|
43058
43095
|
type: ContentChildren,
|
|
43059
43096
|
args: [SmzTemplateDirective]
|
|
@@ -43120,11 +43157,11 @@ class NewAthenaAssistanceComponent {
|
|
|
43120
43157
|
this.store.dispatch(new LayoutUiActions.ShowConfigAssistance);
|
|
43121
43158
|
}
|
|
43122
43159
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaAssistanceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43123
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaAssistanceComponent, isStandalone: false, selector: "smz-ui-new-athena-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"
|
|
43160
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaAssistanceComponent, isStandalone: false, selector: "smz-ui-new-athena-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-new-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-new-athena-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
|
|
43124
43161
|
}
|
|
43125
43162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaAssistanceComponent, decorators: [{
|
|
43126
43163
|
type: Component,
|
|
43127
|
-
args: [{ selector: 'smz-ui-new-athena-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"
|
|
43164
|
+
args: [{ selector: 'smz-ui-new-athena-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-new-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-new-athena-assistance .assistence_sidebar{width:35em}\n"] }]
|
|
43128
43165
|
}], ctorParameters: () => [] });
|
|
43129
43166
|
|
|
43130
43167
|
/* 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 */
|
|
@@ -43714,7 +43751,7 @@ class SmzTreeBuilder {
|
|
|
43714
43751
|
mode: 'lenient',
|
|
43715
43752
|
show: false,
|
|
43716
43753
|
textPlaceholder: 'Filtro...',
|
|
43717
|
-
styleClass: 'lg:
|
|
43754
|
+
styleClass: 'lg:w-4/12 flex-none md:w-6/12'
|
|
43718
43755
|
},
|
|
43719
43756
|
loading: {
|
|
43720
43757
|
icon: 'fa-solid fa-circle-notch fa-spin',
|
|
@@ -44736,11 +44773,11 @@ class SmzTreeComponent {
|
|
|
44736
44773
|
}
|
|
44737
44774
|
}
|
|
44738
44775
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TreeHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
44739
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTreeComponent, isStandalone: false, selector: "smz-ui-tree", inputs: { state: "state", items: "items", loading: "loading", styleClass: "styleClass", inlineStyle: "inlineStyle", appendTo: "appendTo", selection: "selection", selectionKey: "selectionKey" }, outputs: { selectedNodes: "selectedNodes", selectionChange: "selectionChange", parentChange: "parentChange", reorder: "reorder", blockedDrop: "blockedDrop", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed", treeExpanded: "treeExpanded", nodeDropped: "nodeDropped" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "dt", first: true, predicate: SmzUiTreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state) {\r\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\r\n <smz-data-info\r\n [image]=\"state.emptyFeedback.image\"\r\n [message]=\"state.emptyFeedback.message\"\r\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\r\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\r\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n @if (treeItems != null) {\r\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\r\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\r\n <ui-tree #dt [value]=\"treeItems\" scrollHeight=\"flex\" [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\" [selectionMode]=\"state.selection.mode\" [(selection)]=\"primeSelection\" layout=\"vertical\" [style]=\"inlineStyle\" [styleClass]=\"styleClass\" [propagateSelectionUp]=\"state.selection.propagateUp\" [propagateSelectionDown]=\"state.selection.propagateDown\" [loading]=\"state.loading.isLoading\" [loadingIcon]=\"state.loading.icon\" [filter]=\"false\" [filterMode]=\"state.filter.mode\" [filterPlaceholder]=\"state.filter.textPlaceholder\" [draggableNodes]=\"state.dragAndDrop.draggable\" [droppableNodes]=\"state.dragAndDrop.droppable\" [validateDrop]=\"state.dragAndDrop.validateDrop\" (nodeContextMenuSelect)=\"onContextMenuOpen($event)\" (nodeSelect)=\"onSelected($event)\" (nodeUnselect)=\"onUnselected($event)\" (nodeExpand)=\"onExpanded($event)\" (nodeCollapse)=\"onCollapsed($event)\" (nodeDrop)=\"onDropped($event)\" (filtered)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template smzTemplate=\"header\">\r\n @if (state.header.toolbar; as toolbar) {\r\n @if (headerTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center w-full justify-start\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"grid grid-nogutter justify-start items-center mb-2 gap-2\">\r\n @if (state.header.title != null) {\r\n <h3 class=\"m-2 col\">{{state.header.title}}</h3>\r\n }\r\n <div class=\"grid grid-nogutter justify-start items-center gap-2\">\r\n @for (button of state.header.toolbar.items; track button; let i = $index) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': button.color === 'secondary', 'p-button-success': button.color === 'success', 'p-button-info': button.color === 'info', 'p-button-warning': button.color === 'warning', 'p-button-help': button.color === 'help', 'p-button-danger': button.color === 'danger' }\" [label]=\"button.label\" [icon]=\"button.icon\" (click)=\"onToolbarButtonClick($event, button, treeItems)\" [smzTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.expandLabel\" icon=\"fa-solid fa-angle-down\" (click)=\"expandNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angle-up\" (click)=\"collapseNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.expandLabel\" icon=\"fa-solid fa-angles-down\" (click)=\"expandAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.expandLabel != null && toolbar.treeExpandButtons.expandLabel !== '' \r\n ? toolbar.treeExpandButtons.expandLabel \r\n : 'Expandir \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angles-up\" (click)=\"collapseAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.collapseLabel != null && toolbar.treeExpandButtons.collapseLabel !== '' \r\n ? toolbar.treeExpandButtons.collapseLabel \r\n : 'Colapsar \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.selectAllLabel\" icon=\"fa-solid fa-check-double\" (click)=\"selectAll()\" [disabled]=\"state.selection?.mode === 'single'\" [smzTooltip]=\"state.selection?.mode === 'single' \r\n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \r\n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\r\n </button>\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\" icon=\"fa-solid fa-eraser\" (click)=\"clearSelection()\" [disabled]=\"!hasSelection\" [smzTooltip]=\"toolbar.treeSelectionButtons.clearSelectionLabel != null && toolbar.treeSelectionButtons.clearSelectionLabel !== '' \r\n ? toolbar.treeSelectionButtons.clearSelectionLabel \r\n : 'Limpar sele\u00E7\u00E3o'\">\r\n </button>\r\n }\r\n\r\n @if (actionsTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (state.filter.show) {\r\n <ui-icon-field class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center mt-2\"\r\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </ng-template>\r\n }\r\n @if (state.footer.isVisible) {\r\n <ng-template smzTemplate=\"footer\">\r\n <div class=\"grid grid-nogutter justify-start items-center\">\r\n <span class=\"col mr-2\">FOOTER</span>\r\n </div>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"content.type\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n @if (content.template != null) {\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n } @else {\r\n <div>{{ node.label }}</div>\r\n }\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node smzTemplate=\"Check\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <div>{{ node.label }}</div>\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </ui-tree>\r\n }\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\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: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { 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: 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.SmzMenuListComponent, selector: "ui-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "appendTo", "baseZIndex"], outputs: ["shown", "hidden"] }, { kind: "component", type: i2.SmzUiTreeComponent, selector: "ui-tree", inputs: ["value", "selectionMode", "selection", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "filter", "filterMode", "filterPlaceholder", "filterBy", "emptyMessage", "draggableNodes", "droppableNodes", "validateDrop", "scrollHeight", "style", "styleClass", "contextMenu", "templateOverride", "layout", "virtualScroll"], outputs: ["selectionChange", "nodeSelect", "nodeUnselect", "nodeExpand", "nodeCollapse", "nodeContextMenuSelect", "nodeDblClick", "nodeDrop", "filtered"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
44776
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTreeComponent, isStandalone: false, selector: "smz-ui-tree", inputs: { state: "state", items: "items", loading: "loading", styleClass: "styleClass", inlineStyle: "inlineStyle", appendTo: "appendTo", selection: "selection", selectionKey: "selectionKey" }, outputs: { selectedNodes: "selectedNodes", selectionChange: "selectionChange", parentChange: "parentChange", reorder: "reorder", blockedDrop: "blockedDrop", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed", treeExpanded: "treeExpanded", nodeDropped: "nodeDropped" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "dt", first: true, predicate: SmzUiTreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state) {\r\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\r\n <smz-data-info\r\n [image]=\"state.emptyFeedback.image\"\r\n [message]=\"state.emptyFeedback.message\"\r\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\r\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\r\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n @if (treeItems != null) {\r\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\r\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\r\n <ui-tree #dt [value]=\"treeItems\" scrollHeight=\"flex\" [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\" [selectionMode]=\"state.selection.mode\" [(selection)]=\"primeSelection\" layout=\"vertical\" [style]=\"inlineStyle\" [styleClass]=\"styleClass\" [propagateSelectionUp]=\"state.selection.propagateUp\" [propagateSelectionDown]=\"state.selection.propagateDown\" [loading]=\"state.loading.isLoading\" [loadingIcon]=\"state.loading.icon\" [filter]=\"false\" [filterMode]=\"state.filter.mode\" [filterPlaceholder]=\"state.filter.textPlaceholder\" [draggableNodes]=\"state.dragAndDrop.draggable\" [droppableNodes]=\"state.dragAndDrop.droppable\" [validateDrop]=\"state.dragAndDrop.validateDrop\" (nodeContextMenuSelect)=\"onContextMenuOpen($event)\" (nodeSelect)=\"onSelected($event)\" (nodeUnselect)=\"onUnselected($event)\" (nodeExpand)=\"onExpanded($event)\" (nodeCollapse)=\"onCollapsed($event)\" (nodeDrop)=\"onDropped($event)\" (filtered)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template smzTemplate=\"header\">\r\n @if (state.header.toolbar; as toolbar) {\r\n @if (headerTemplate != null) {\r\n <div class=\"flex flex-wrap items-center w-full justify-start\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"flex flex-wrap justify-start items-center mb-2 gap-2\">\r\n @if (state.header.title != null) {\r\n <h3 class=\"m-2 flex-1\">{{state.header.title}}</h3>\r\n }\r\n <div class=\"flex flex-wrap justify-start items-center gap-2\">\r\n @for (button of state.header.toolbar.items; track button; let i = $index) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': button.color === 'secondary', 'p-button-success': button.color === 'success', 'p-button-info': button.color === 'info', 'p-button-warning': button.color === 'warning', 'p-button-help': button.color === 'help', 'p-button-danger': button.color === 'danger' }\" [label]=\"button.label\" [icon]=\"button.icon\" (click)=\"onToolbarButtonClick($event, button, treeItems)\" [smzTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.expandLabel\" icon=\"fa-solid fa-angle-down\" (click)=\"expandNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angle-up\" (click)=\"collapseNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.expandLabel\" icon=\"fa-solid fa-angles-down\" (click)=\"expandAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.expandLabel != null && toolbar.treeExpandButtons.expandLabel !== '' \r\n ? toolbar.treeExpandButtons.expandLabel \r\n : 'Expandir \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angles-up\" (click)=\"collapseAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.collapseLabel != null && toolbar.treeExpandButtons.collapseLabel !== '' \r\n ? toolbar.treeExpandButtons.collapseLabel \r\n : 'Colapsar \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.selectAllLabel\" icon=\"fa-solid fa-check-double\" (click)=\"selectAll()\" [disabled]=\"state.selection?.mode === 'single'\" [smzTooltip]=\"state.selection?.mode === 'single' \r\n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \r\n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\r\n </button>\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\" icon=\"fa-solid fa-eraser\" (click)=\"clearSelection()\" [disabled]=\"!hasSelection\" [smzTooltip]=\"toolbar.treeSelectionButtons.clearSelectionLabel != null && toolbar.treeSelectionButtons.clearSelectionLabel !== '' \r\n ? toolbar.treeSelectionButtons.clearSelectionLabel \r\n : 'Limpar sele\u00E7\u00E3o'\">\r\n </button>\r\n }\r\n\r\n @if (actionsTemplate != null) {\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (state.filter.show) {\r\n <ui-icon-field class=\"w-full flex-none\" [ngClass]=\"state.filter.styleClass\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"flex flex-wrap items-center mt-2\"\r\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </ng-template>\r\n }\r\n @if (state.footer.isVisible) {\r\n <ng-template smzTemplate=\"footer\">\r\n <div class=\"flex flex-wrap justify-start items-center\">\r\n <span class=\"flex-1 mr-2\">FOOTER</span>\r\n </div>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"content.type\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (content.template != null) {\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n } @else {\r\n <div>{{ node.label }}</div>\r\n }\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node smzTemplate=\"Check\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <div>{{ node.label }}</div>\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </ui-tree>\r\n }\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\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: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { 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: 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.SmzMenuListComponent, selector: "ui-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "appendTo", "baseZIndex"], outputs: ["shown", "hidden"] }, { kind: "component", type: i2.SmzUiTreeComponent, selector: "ui-tree", inputs: ["value", "selectionMode", "selection", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "filter", "filterMode", "filterPlaceholder", "filterBy", "emptyMessage", "draggableNodes", "droppableNodes", "validateDrop", "scrollHeight", "style", "styleClass", "contextMenu", "templateOverride", "layout", "virtualScroll"], outputs: ["selectionChange", "nodeSelect", "nodeUnselect", "nodeExpand", "nodeCollapse", "nodeContextMenuSelect", "nodeDblClick", "nodeDrop", "filtered"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
44740
44777
|
}
|
|
44741
44778
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeComponent, decorators: [{
|
|
44742
44779
|
type: Component,
|
|
44743
|
-
args: [{ selector: 'smz-ui-tree', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (state) {\r\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\r\n <smz-data-info\r\n [image]=\"state.emptyFeedback.image\"\r\n [message]=\"state.emptyFeedback.message\"\r\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\r\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\r\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n @if (treeItems != null) {\r\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\r\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\r\n <ui-tree #dt [value]=\"treeItems\" scrollHeight=\"flex\" [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\" [selectionMode]=\"state.selection.mode\" [(selection)]=\"primeSelection\" layout=\"vertical\" [style]=\"inlineStyle\" [styleClass]=\"styleClass\" [propagateSelectionUp]=\"state.selection.propagateUp\" [propagateSelectionDown]=\"state.selection.propagateDown\" [loading]=\"state.loading.isLoading\" [loadingIcon]=\"state.loading.icon\" [filter]=\"false\" [filterMode]=\"state.filter.mode\" [filterPlaceholder]=\"state.filter.textPlaceholder\" [draggableNodes]=\"state.dragAndDrop.draggable\" [droppableNodes]=\"state.dragAndDrop.droppable\" [validateDrop]=\"state.dragAndDrop.validateDrop\" (nodeContextMenuSelect)=\"onContextMenuOpen($event)\" (nodeSelect)=\"onSelected($event)\" (nodeUnselect)=\"onUnselected($event)\" (nodeExpand)=\"onExpanded($event)\" (nodeCollapse)=\"onCollapsed($event)\" (nodeDrop)=\"onDropped($event)\" (filtered)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template smzTemplate=\"header\">\r\n @if (state.header.toolbar; as toolbar) {\r\n @if (headerTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center w-full justify-start\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"grid grid-nogutter justify-start items-center mb-2 gap-2\">\r\n @if (state.header.title != null) {\r\n <h3 class=\"m-2 col\">{{state.header.title}}</h3>\r\n }\r\n <div class=\"grid grid-nogutter justify-start items-center gap-2\">\r\n @for (button of state.header.toolbar.items; track button; let i = $index) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': button.color === 'secondary', 'p-button-success': button.color === 'success', 'p-button-info': button.color === 'info', 'p-button-warning': button.color === 'warning', 'p-button-help': button.color === 'help', 'p-button-danger': button.color === 'danger' }\" [label]=\"button.label\" [icon]=\"button.icon\" (click)=\"onToolbarButtonClick($event, button, treeItems)\" [smzTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.expandLabel\" icon=\"fa-solid fa-angle-down\" (click)=\"expandNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angle-up\" (click)=\"collapseNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.expandLabel\" icon=\"fa-solid fa-angles-down\" (click)=\"expandAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.expandLabel != null && toolbar.treeExpandButtons.expandLabel !== '' \r\n ? toolbar.treeExpandButtons.expandLabel \r\n : 'Expandir \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angles-up\" (click)=\"collapseAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.collapseLabel != null && toolbar.treeExpandButtons.collapseLabel !== '' \r\n ? toolbar.treeExpandButtons.collapseLabel \r\n : 'Colapsar \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.selectAllLabel\" icon=\"fa-solid fa-check-double\" (click)=\"selectAll()\" [disabled]=\"state.selection?.mode === 'single'\" [smzTooltip]=\"state.selection?.mode === 'single' \r\n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \r\n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\r\n </button>\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\" icon=\"fa-solid fa-eraser\" (click)=\"clearSelection()\" [disabled]=\"!hasSelection\" [smzTooltip]=\"toolbar.treeSelectionButtons.clearSelectionLabel != null && toolbar.treeSelectionButtons.clearSelectionLabel !== '' \r\n ? toolbar.treeSelectionButtons.clearSelectionLabel \r\n : 'Limpar sele\u00E7\u00E3o'\">\r\n </button>\r\n }\r\n\r\n @if (actionsTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (state.filter.show) {\r\n <ui-icon-field class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center mt-2\"\r\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </ng-template>\r\n }\r\n @if (state.footer.isVisible) {\r\n <ng-template smzTemplate=\"footer\">\r\n <div class=\"grid grid-nogutter justify-start items-center\">\r\n <span class=\"col mr-2\">FOOTER</span>\r\n </div>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"content.type\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n @if (content.template != null) {\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n } @else {\r\n <div>{{ node.label }}</div>\r\n }\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node smzTemplate=\"Check\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <div>{{ node.label }}</div>\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </ui-tree>\r\n }\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n" }]
|
|
44780
|
+
args: [{ selector: 'smz-ui-tree', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (state) {\r\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\r\n <smz-data-info\r\n [image]=\"state.emptyFeedback.image\"\r\n [message]=\"state.emptyFeedback.message\"\r\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\r\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\r\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n @if (treeItems != null) {\r\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\r\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\r\n <ui-tree #dt [value]=\"treeItems\" scrollHeight=\"flex\" [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\" [selectionMode]=\"state.selection.mode\" [(selection)]=\"primeSelection\" layout=\"vertical\" [style]=\"inlineStyle\" [styleClass]=\"styleClass\" [propagateSelectionUp]=\"state.selection.propagateUp\" [propagateSelectionDown]=\"state.selection.propagateDown\" [loading]=\"state.loading.isLoading\" [loadingIcon]=\"state.loading.icon\" [filter]=\"false\" [filterMode]=\"state.filter.mode\" [filterPlaceholder]=\"state.filter.textPlaceholder\" [draggableNodes]=\"state.dragAndDrop.draggable\" [droppableNodes]=\"state.dragAndDrop.droppable\" [validateDrop]=\"state.dragAndDrop.validateDrop\" (nodeContextMenuSelect)=\"onContextMenuOpen($event)\" (nodeSelect)=\"onSelected($event)\" (nodeUnselect)=\"onUnselected($event)\" (nodeExpand)=\"onExpanded($event)\" (nodeCollapse)=\"onCollapsed($event)\" (nodeDrop)=\"onDropped($event)\" (filtered)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template smzTemplate=\"header\">\r\n @if (state.header.toolbar; as toolbar) {\r\n @if (headerTemplate != null) {\r\n <div class=\"flex flex-wrap items-center w-full justify-start\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"flex flex-wrap justify-start items-center mb-2 gap-2\">\r\n @if (state.header.title != null) {\r\n <h3 class=\"m-2 flex-1\">{{state.header.title}}</h3>\r\n }\r\n <div class=\"flex flex-wrap justify-start items-center gap-2\">\r\n @for (button of state.header.toolbar.items; track button; let i = $index) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': button.color === 'secondary', 'p-button-success': button.color === 'success', 'p-button-info': button.color === 'info', 'p-button-warning': button.color === 'warning', 'p-button-help': button.color === 'help', 'p-button-danger': button.color === 'danger' }\" [label]=\"button.label\" [icon]=\"button.icon\" (click)=\"onToolbarButtonClick($event, button, treeItems)\" [smzTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.expandLabel\" icon=\"fa-solid fa-angle-down\" (click)=\"expandNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angle-up\" (click)=\"collapseNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.expandLabel\" icon=\"fa-solid fa-angles-down\" (click)=\"expandAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.expandLabel != null && toolbar.treeExpandButtons.expandLabel !== '' \r\n ? toolbar.treeExpandButtons.expandLabel \r\n : 'Expandir \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angles-up\" (click)=\"collapseAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.collapseLabel != null && toolbar.treeExpandButtons.collapseLabel !== '' \r\n ? toolbar.treeExpandButtons.collapseLabel \r\n : 'Colapsar \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.selectAllLabel\" icon=\"fa-solid fa-check-double\" (click)=\"selectAll()\" [disabled]=\"state.selection?.mode === 'single'\" [smzTooltip]=\"state.selection?.mode === 'single' \r\n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \r\n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\r\n </button>\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\" icon=\"fa-solid fa-eraser\" (click)=\"clearSelection()\" [disabled]=\"!hasSelection\" [smzTooltip]=\"toolbar.treeSelectionButtons.clearSelectionLabel != null && toolbar.treeSelectionButtons.clearSelectionLabel !== '' \r\n ? toolbar.treeSelectionButtons.clearSelectionLabel \r\n : 'Limpar sele\u00E7\u00E3o'\">\r\n </button>\r\n }\r\n\r\n @if (actionsTemplate != null) {\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (state.filter.show) {\r\n <ui-icon-field class=\"w-full flex-none\" [ngClass]=\"state.filter.styleClass\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"flex flex-wrap items-center mt-2\"\r\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </ng-template>\r\n }\r\n @if (state.footer.isVisible) {\r\n <ng-template smzTemplate=\"footer\">\r\n <div class=\"flex flex-wrap justify-start items-center\">\r\n <span class=\"flex-1 mr-2\">FOOTER</span>\r\n </div>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"content.type\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (content.template != null) {\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n } @else {\r\n <div>{{ node.label }}</div>\r\n }\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node smzTemplate=\"Check\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <div>{{ node.label }}</div>\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </ui-tree>\r\n }\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n" }]
|
|
44744
44781
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TreeHelperService }], propDecorators: { dt: [{
|
|
44745
44782
|
type: ViewChild,
|
|
44746
44783
|
args: [SmzUiTreeComponent]
|
|
@@ -45032,11 +45069,11 @@ class SmzTreeWithDetailsComponent {
|
|
|
45032
45069
|
this.selectionChange.emit(node);
|
|
45033
45070
|
}
|
|
45034
45071
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeWithDetailsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
45035
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTreeWithDetailsComponent, isStandalone: false, selector: "smz-ui-tree-with-details", inputs: { state: "state" }, outputs: { selectionChange: "selectionChange", detailsChange: "detailsChange" }, host: { classAttribute: "absolute inset-0" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "treeComponent", first: true, predicate: SmzTreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state != null) {\r\n <div class=\"
|
|
45072
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTreeWithDetailsComponent, isStandalone: false, selector: "smz-ui-tree-with-details", inputs: { state: "state" }, outputs: { selectionChange: "selectionChange", detailsChange: "detailsChange" }, host: { classAttribute: "absolute inset-0" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "treeComponent", first: true, predicate: SmzTreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state != null) {\r\n <div class=\"flex flex-wrap items-start justify-start h-full\" [ngClass]=\"state?.styleClass?.content\">\r\n <ng-container *ngClone=\"state.items$ | async as items\">\r\n <!-- TREE -->\r\n <div class=\"h-full flex-1 basis-0 p-0\">\r\n <div smzUiBlock #treeContainer [component]=\"treeContainer\" class=\"h-full w-full rounded p-2 bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <div class=\"h-full\">\r\n <ng-container *ngVar=\"items | treeItems : state as treeItems\">\r\n <smz-ui-tree #treeComponent [items]=\"treeItems\" [state]=\"state.tree.state\" (selectionChange)=\"selectionChanged($event)\" [styleClass]=\"state.tree.styleClass\">\r\n @if (headerTemplate != null) {\r\n <ng-template smzTemplate=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (toolbarTemplate != null) {\r\n <ng-template smzTemplate=\"toolbar\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"'type:' + content.type\">\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-tree>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- DETAILS -->\r\n <div class=\"h-full w-full flex-none p-2\" [ngClass]=\"state.layout.detailsStyleClass\">\r\n <div class=\"h-full items-stretch flex-col flex flex-wrap justify-start rounded w-full overflow-y-auto bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <!-- CONTE\u00DADO -->\r\n @if (state.context.selectedNode != null) {\r\n @if (detailsTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n }\r\n } @else {\r\n @if (items != null) {\r\n @if (emptySelectionTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptySelectionTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n } @else {\r\n <div class=\"flex flex-wrap items-center justify-center p-4 flex-col flex-grow mt-10\">\r\n <i class=\"fas fa-info-circle text-5xl text-yellow-500 mb-4\"></i>\r\n <div class=\"text-lg\">Nenhum item selecionado.</div>\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\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: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzTreeComponent, selector: "smz-ui-tree", inputs: ["state", "items", "loading", "styleClass", "inlineStyle", "appendTo", "selection", "selectionKey"], outputs: ["selectedNodes", "selectionChange", "parentChange", "reorder", "blockedDrop", "nodeExpanded", "nodeCollapsed", "treeExpanded", "nodeDropped"] }, { kind: "directive", type: NgCloneDirective, selector: "[ngClone]", inputs: ["ngClone"] }, { kind: "directive", type: SmzUiBlockDirective, selector: "[smzUiBlock]", inputs: ["component"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TreeItemsPipe, name: "treeItems" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
45036
45073
|
}
|
|
45037
45074
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeWithDetailsComponent, decorators: [{
|
|
45038
45075
|
type: Component,
|
|
45039
|
-
args: [{ selector: 'smz-ui-tree-with-details', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'absolute inset-0' }, standalone: false, template: "@if (state != null) {\r\n <div class=\"
|
|
45076
|
+
args: [{ selector: 'smz-ui-tree-with-details', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'absolute inset-0' }, standalone: false, template: "@if (state != null) {\r\n <div class=\"flex flex-wrap items-start justify-start h-full\" [ngClass]=\"state?.styleClass?.content\">\r\n <ng-container *ngClone=\"state.items$ | async as items\">\r\n <!-- TREE -->\r\n <div class=\"h-full flex-1 basis-0 p-0\">\r\n <div smzUiBlock #treeContainer [component]=\"treeContainer\" class=\"h-full w-full rounded p-2 bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <div class=\"h-full\">\r\n <ng-container *ngVar=\"items | treeItems : state as treeItems\">\r\n <smz-ui-tree #treeComponent [items]=\"treeItems\" [state]=\"state.tree.state\" (selectionChange)=\"selectionChanged($event)\" [styleClass]=\"state.tree.styleClass\">\r\n @if (headerTemplate != null) {\r\n <ng-template smzTemplate=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (toolbarTemplate != null) {\r\n <ng-template smzTemplate=\"toolbar\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"'type:' + content.type\">\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-tree>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- DETAILS -->\r\n <div class=\"h-full w-full flex-none p-2\" [ngClass]=\"state.layout.detailsStyleClass\">\r\n <div class=\"h-full items-stretch flex-col flex flex-wrap justify-start rounded w-full overflow-y-auto bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <!-- CONTE\u00DADO -->\r\n @if (state.context.selectedNode != null) {\r\n @if (detailsTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n }\r\n } @else {\r\n @if (items != null) {\r\n @if (emptySelectionTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptySelectionTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n } @else {\r\n <div class=\"flex flex-wrap items-center justify-center p-4 flex-col flex-grow mt-10\">\r\n <i class=\"fas fa-info-circle text-5xl text-yellow-500 mb-4\"></i>\r\n <div class=\"text-lg\">Nenhum item selecionado.</div>\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n}" }]
|
|
45040
45077
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { treeComponent: [{
|
|
45041
45078
|
type: ViewChild,
|
|
45042
45079
|
args: [SmzTreeComponent]
|
|
@@ -46133,13 +46170,13 @@ class SmzCommentsComponent {
|
|
|
46133
46170
|
<ui-tree [value]="data">
|
|
46134
46171
|
<ng-template let-node smzTemplate="default">
|
|
46135
46172
|
<!-- CONTAINER -->
|
|
46136
|
-
<div class="
|
|
46173
|
+
<div class="flex flex-wrap items-start justify-start flex-nowrap mb-3 py-1 gap-3">
|
|
46137
46174
|
<!-- AVATAR -->
|
|
46138
46175
|
<img class="w-20" [src]="node.data.avatar | safeUrl"/>
|
|
46139
46176
|
<!-- CONTENT -->
|
|
46140
|
-
<div class="
|
|
46177
|
+
<div class="flex-1 flex flex-wrap flex-col items-start justify-start gap-2">
|
|
46141
46178
|
<!-- NAME AND DATE -->
|
|
46142
|
-
<div class="
|
|
46179
|
+
<div class="flex flex-wrap items-center justify-start gap-2">
|
|
46143
46180
|
<!-- DISPLAY NAME -->
|
|
46144
46181
|
<div class="font-bold leading-4">{{ node.data.displayName }}</div>
|
|
46145
46182
|
<!-- DATE: lastUpdated → timestamp → date -->
|
|
@@ -46169,13 +46206,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
46169
46206
|
<ui-tree [value]="data">
|
|
46170
46207
|
<ng-template let-node smzTemplate="default">
|
|
46171
46208
|
<!-- CONTAINER -->
|
|
46172
|
-
<div class="
|
|
46209
|
+
<div class="flex flex-wrap items-start justify-start flex-nowrap mb-3 py-1 gap-3">
|
|
46173
46210
|
<!-- AVATAR -->
|
|
46174
46211
|
<img class="w-20" [src]="node.data.avatar | safeUrl"/>
|
|
46175
46212
|
<!-- CONTENT -->
|
|
46176
|
-
<div class="
|
|
46213
|
+
<div class="flex-1 flex flex-wrap flex-col items-start justify-start gap-2">
|
|
46177
46214
|
<!-- NAME AND DATE -->
|
|
46178
|
-
<div class="
|
|
46215
|
+
<div class="flex flex-wrap items-center justify-start gap-2">
|
|
46179
46216
|
<!-- DISPLAY NAME -->
|
|
46180
46217
|
<div class="font-bold leading-4">{{ node.data.displayName }}</div>
|
|
46181
46218
|
<!-- DATE: lastUpdated → timestamp → date -->
|
|
@@ -46374,11 +46411,11 @@ class SmzCommentsSectionComponent {
|
|
|
46374
46411
|
});
|
|
46375
46412
|
}
|
|
46376
46413
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCommentsSectionComponent, deps: [{ token: i1$3.Store }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
46377
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCommentsSectionComponent, isStandalone: false, selector: "smz-comments-section", inputs: { state: "state" }, ngImport: i0, template: "<!-- COMENT\u00C1RIOS -->\r\n@if (state != null) {\r\n @if (comments$ | async; as comments) {\r\n <section class=\"
|
|
46414
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCommentsSectionComponent, isStandalone: false, selector: "smz-comments-section", inputs: { state: "state" }, ngImport: i0, template: "<!-- COMENT\u00C1RIOS -->\r\n@if (state != null) {\r\n @if (comments$ | async; as comments) {\r\n <section class=\"w-full flex-none p-2\" [ngClass]=\"{ 'lg:w-10/12 flex-none xl:w-6/12': !state.fullWidth }\">\r\n <div class=\"flex flex-wrap justify-between items-center -mt-2 -mx-2\">\r\n <div class=\"w-6/12 flex-none p-2\">\r\n <h2>{{ state.locale.title }}</h2>\r\n @if (comments != null) {\r\n <p>{{ state.locale.updateMessage }}: {{ comments.lastUpdated | simpleCalendar : 'fromNow'}}</p>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap w-6/12 flex-none justify-end p-2 -mt-2 -mx-2\">\r\n <button smzButton type=\"button\" class=\"mr-2\" [label]=\"state.locale.refreshButton\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" [label]=\"state.locale.createButton\" (click)=\"showCreateDialog(null)\" severity=\"success\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n <div class=\"col-span-12 min-w-0\">\r\n <smz-comments [data]=\"comments.items\" [state]=\"state\"></smz-comments>\r\n </div>\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"w-full flex-none p-2\" [ngClass]=\"{ 'lg:w-10/12 flex-none xl:w-6/12': !state.fullWidth }\">\r\n <div class=\"flex flex-wrap justify-between items-center -mt-2 -mx-2\">\r\n <div class=\"w-6/12 flex-none p-2\">\r\n <h2>{{ state.locale.title }}</h2>\r\n </div>\r\n <div class=\"flex flex-wrap w-6/12 flex-none justify-end p-2 -mt-2 -mx-2\">\r\n <button smzButton type=\"button\" label=\"CARREGAR COMENT\u00C1RIOS\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n <div class=\"col-span-12 min-w-0\">\r\n <p>{{ state.locale.emptyMessage }}</p>\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: SmzCommentsComponent, selector: "smz-comments", inputs: ["state", "data"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SimpleCalendarPipe, name: "simpleCalendar" }], encapsulation: i0.ViewEncapsulation.None });
|
|
46378
46415
|
}
|
|
46379
46416
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCommentsSectionComponent, decorators: [{
|
|
46380
46417
|
type: Component,
|
|
46381
|
-
args: [{ selector: 'smz-comments-section', encapsulation: ViewEncapsulation.None, standalone: false, template: "<!-- COMENT\u00C1RIOS -->\r\n@if (state != null) {\r\n @if (comments$ | async; as comments) {\r\n <section class=\"
|
|
46418
|
+
args: [{ selector: 'smz-comments-section', encapsulation: ViewEncapsulation.None, standalone: false, template: "<!-- COMENT\u00C1RIOS -->\r\n@if (state != null) {\r\n @if (comments$ | async; as comments) {\r\n <section class=\"w-full flex-none p-2\" [ngClass]=\"{ 'lg:w-10/12 flex-none xl:w-6/12': !state.fullWidth }\">\r\n <div class=\"flex flex-wrap justify-between items-center -mt-2 -mx-2\">\r\n <div class=\"w-6/12 flex-none p-2\">\r\n <h2>{{ state.locale.title }}</h2>\r\n @if (comments != null) {\r\n <p>{{ state.locale.updateMessage }}: {{ comments.lastUpdated | simpleCalendar : 'fromNow'}}</p>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap w-6/12 flex-none justify-end p-2 -mt-2 -mx-2\">\r\n <button smzButton type=\"button\" class=\"mr-2\" [label]=\"state.locale.refreshButton\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" [label]=\"state.locale.createButton\" (click)=\"showCreateDialog(null)\" severity=\"success\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n <div class=\"col-span-12 min-w-0\">\r\n <smz-comments [data]=\"comments.items\" [state]=\"state\"></smz-comments>\r\n </div>\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"w-full flex-none p-2\" [ngClass]=\"{ 'lg:w-10/12 flex-none xl:w-6/12': !state.fullWidth }\">\r\n <div class=\"flex flex-wrap justify-between items-center -mt-2 -mx-2\">\r\n <div class=\"w-6/12 flex-none p-2\">\r\n <h2>{{ state.locale.title }}</h2>\r\n </div>\r\n <div class=\"flex flex-wrap w-6/12 flex-none justify-end p-2 -mt-2 -mx-2\">\r\n <button smzButton type=\"button\" label=\"CARREGAR COMENT\u00C1RIOS\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n <div class=\"col-span-12 min-w-0\">\r\n <p>{{ state.locale.emptyMessage }}</p>\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n}" }]
|
|
46382
46419
|
}], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { state: [{
|
|
46383
46420
|
type: Input
|
|
46384
46421
|
}] } });
|
|
@@ -47381,11 +47418,11 @@ class SmzImageWithDetailsTypeComponent {
|
|
|
47381
47418
|
SmzCardsTextContent;
|
|
47382
47419
|
modes = SmzCardsView;
|
|
47383
47420
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzImageWithDetailsTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47384
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzImageWithDetailsTypeComponent, isStandalone: false, selector: "smz-image-with-details-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full
|
|
47421
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzImageWithDetailsTypeComponent, isStandalone: false, selector: "smz-image-with-details-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative gap-2\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : ''\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n <div class=\"flex flex-wrap flex-col items-start justify-start flex-1 gap-2\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInGrid) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.title.styleClass ?? 'font-bold')\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.subTitle.styleClass ?? 'text-sm')\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInGrid) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.conditionalStyleClass != null ? other.conditionalStyleClass(data) : (other.styleClass ?? 'text-sm')\"></div>\r\n }\r\n }\r\n <div class=\"flex-1\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"flex flex-wrap items-start justify-start relative flex-1 basis-0 gap-4 p-2\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.listStyleClass\"\r\n >\r\n }\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative flex-1 gap-2\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInList) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded'\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInList) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.styleClass ?? 'text-sm'\"></div>\r\n }\r\n }\r\n <div class=\"flex-1\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: ServerImageDirective, selector: "img[serverImage]", inputs: ["src", "path", "placeholder", "errorPlaceholder", "maximize", "openMaximized", "title", "useServerPath"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzCardsContentSelectorDirective, selector: "div[contentSelector]", inputs: ["content", "data", "callback"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: SmzCardsContentPipe, name: "cardsContent" }, { kind: "pipe", type: SmzCardsTransformContentPipe, name: "transformContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47385
47422
|
}
|
|
47386
47423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzImageWithDetailsTypeComponent, decorators: [{
|
|
47387
47424
|
type: Component,
|
|
47388
|
-
args: [{ selector: 'smz-image-with-details-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full
|
|
47425
|
+
args: [{ selector: 'smz-image-with-details-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative gap-2\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : ''\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n <div class=\"flex flex-wrap flex-col items-start justify-start flex-1 gap-2\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInGrid) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.title.styleClass ?? 'font-bold')\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.subTitle.styleClass ?? 'text-sm')\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInGrid) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.conditionalStyleClass != null ? other.conditionalStyleClass(data) : (other.styleClass ?? 'text-sm')\"></div>\r\n }\r\n }\r\n <div class=\"flex-1\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"flex flex-wrap items-start justify-start relative flex-1 basis-0 gap-4 p-2\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.listStyleClass\"\r\n >\r\n }\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative flex-1 gap-2\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInList) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded'\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInList) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.styleClass ?? 'text-sm'\"></div>\r\n }\r\n }\r\n <div class=\"flex-1\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n" }]
|
|
47389
47426
|
}], propDecorators: { template: [{
|
|
47390
47427
|
type: Input
|
|
47391
47428
|
}], data: [{
|
|
@@ -47414,11 +47451,11 @@ class SmzInfoATypeComponent {
|
|
|
47414
47451
|
ngOnInit() {
|
|
47415
47452
|
}
|
|
47416
47453
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInfoATypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47417
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzInfoATypeComponent, isStandalone: false, selector: "smz-info-a-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full
|
|
47454
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzInfoATypeComponent, isStandalone: false, selector: "smz-info-a-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative rounded-lg p-3 border-0 border-l-8\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInGrid) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" class=\"\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInGrid) {\r\n <div class=\"flex flex-wrap items-center justify-start mr-3 gap-2\">\r\n <div class=\"rounded-2xl h-4 w-4\" [ngClass]=\"info.bulletStyleClass ?? 'bg-gray-200'\"></div>\r\n <div class=\"flex flex-wrap flex-col items-start justify-start\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"flex-1 mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative rounded-lg p-3 border-0 border-l-8 flex-1 basis-0\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInList) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInList) {\r\n <div class=\"flex flex-wrap items-center justify-start mr-3 gap-2\">\r\n <div class=\"rounded-2xl h-4 w-4 bg-gray-200\" [ngClass]=\"info.bulletStyleClass\"></div>\r\n <div class=\"flex flex-wrap flex-col items-start justify-start\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"flex-1 mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n}\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzCardsContentSelectorDirective, selector: "div[contentSelector]", inputs: ["content", "data", "callback"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47418
47455
|
}
|
|
47419
47456
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInfoATypeComponent, decorators: [{
|
|
47420
47457
|
type: Component,
|
|
47421
|
-
args: [{ selector: 'smz-info-a-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full
|
|
47458
|
+
args: [{ selector: 'smz-info-a-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative rounded-lg p-3 border-0 border-l-8\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInGrid) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" class=\"\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInGrid) {\r\n <div class=\"flex flex-wrap items-center justify-start mr-3 gap-2\">\r\n <div class=\"rounded-2xl h-4 w-4\" [ngClass]=\"info.bulletStyleClass ?? 'bg-gray-200'\"></div>\r\n <div class=\"flex flex-wrap flex-col items-start justify-start\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"flex-1 mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative rounded-lg p-3 border-0 border-l-8 flex-1 basis-0\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInList) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInList) {\r\n <div class=\"flex flex-wrap items-center justify-start mr-3 gap-2\">\r\n <div class=\"rounded-2xl h-4 w-4 bg-gray-200\" [ngClass]=\"info.bulletStyleClass\"></div>\r\n <div class=\"flex flex-wrap flex-col items-start justify-start\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"flex-1 mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n}\r\n" }]
|
|
47422
47459
|
}], ctorParameters: () => [], propDecorators: { template: [{
|
|
47423
47460
|
type: Input
|
|
47424
47461
|
}], data: [{
|
|
@@ -47456,11 +47493,11 @@ class SmzFlipCardTypeComponent {
|
|
|
47456
47493
|
this.template.onChange(changes);
|
|
47457
47494
|
}
|
|
47458
47495
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzFlipCardTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47459
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzFlipCardTypeComponent, isStandalone: false, selector: "smz-flip-card-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <ng-container *ngVar=\"template._context.getFlipState(data) as status\">\r\n <div class=\"w-full h-full
|
|
47496
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzFlipCardTypeComponent, isStandalone: false, selector: "smz-flip-card-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <ng-container *ngVar=\"template._context.getFlipState(data) as status\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-center relative select-none\">\r\n <div class=\"relative\" [ngStyle]=\"{ width: template.width, height: template.height}\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <div class=\"cmp-card w-full h-full\" [ngClass]=\"{ 'cmp-card-flipped': status === 'back', 'cursor-pointer': template.back != null }\" (click)=\"flip()\">\r\n <div class=\"cmp-content\">\r\n <div class=\"cmp-front\">\r\n @if (status === 'front') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.front.image; as frontImage) {\r\n @if (frontImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.front.component; as frontComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"frontComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.front.html; as frontHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"frontHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n <div class=\"cmp-back\">\r\n @if (status === 'back') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.back.image; as backImage) {\r\n @if (backImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.back.component; as backComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"backComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.back.html; as backHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"backHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n }\r\n @case (modes.LIST) {\r\n }\r\n }\r\n\r\n <ng-template #buttonsTemplate let-template>\r\n <div class=\"absolute bottom-0 inset-x-0\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-center flex-1 basis-0 gap-2 p-2\" [ngClass]=\"template.contentStyleClass\">\r\n\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttonsData) {\r\n <div class=\"w-full flex flex-wrap items-center justify-center gap-1\">\r\n @for (button of buttonsData; track button; let i = $index) {\r\n 1\r\n @if (button.visible) {\r\n <button smzButton clickStopPropagation type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass + ' ' + buttons.styleClass\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #menuTemplate let-template>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1 p-2\">\r\n <smz-menu clickStopPropagation [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </ng-template>", styles: ["smz-flip-card-type .cmp-card{perspective:500px}smz-flip-card-type .cmp-content{position:absolute;width:100%;height:100%;transition:transform .2s;transform-style:preserve-3d}smz-flip-card-type .cmp-card-flipped .cmp-content{transform:rotateY(180deg);transition:transform .2s}smz-flip-card-type .cmp-front,smz-flip-card-type .cmp-back{position:absolute;height:100%;width:100%;backface-visibility:hidden}smz-flip-card-type .cmp-back{transform:rotateY(180deg)}\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: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: ServerImageDirective, selector: "img[serverImage]", inputs: ["src", "path", "placeholder", "errorPlaceholder", "maximize", "openMaximized", "title", "useServerPath"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzCardsContentPipe, name: "cardsContent" }, { kind: "pipe", type: SmzCardsTransformContentPipe, name: "transformContent" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
47460
47497
|
}
|
|
47461
47498
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzFlipCardTypeComponent, decorators: [{
|
|
47462
47499
|
type: Component,
|
|
47463
|
-
args: [{ selector: 'smz-flip-card-type', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <ng-container *ngVar=\"template._context.getFlipState(data) as status\">\r\n <div class=\"w-full h-full
|
|
47500
|
+
args: [{ selector: 'smz-flip-card-type', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <ng-container *ngVar=\"template._context.getFlipState(data) as status\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-center relative select-none\">\r\n <div class=\"relative\" [ngStyle]=\"{ width: template.width, height: template.height}\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <div class=\"cmp-card w-full h-full\" [ngClass]=\"{ 'cmp-card-flipped': status === 'back', 'cursor-pointer': template.back != null }\" (click)=\"flip()\">\r\n <div class=\"cmp-content\">\r\n <div class=\"cmp-front\">\r\n @if (status === 'front') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.front.image; as frontImage) {\r\n @if (frontImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.front.component; as frontComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"frontComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.front.html; as frontHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"frontHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n <div class=\"cmp-back\">\r\n @if (status === 'back') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.back.image; as backImage) {\r\n @if (backImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.back.component; as backComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"backComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.back.html; as backHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"backHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n }\r\n @case (modes.LIST) {\r\n }\r\n }\r\n\r\n <ng-template #buttonsTemplate let-template>\r\n <div class=\"absolute bottom-0 inset-x-0\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-center flex-1 basis-0 gap-2 p-2\" [ngClass]=\"template.contentStyleClass\">\r\n\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttonsData) {\r\n <div class=\"w-full flex flex-wrap items-center justify-center gap-1\">\r\n @for (button of buttonsData; track button; let i = $index) {\r\n 1\r\n @if (button.visible) {\r\n <button smzButton clickStopPropagation type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass + ' ' + buttons.styleClass\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #menuTemplate let-template>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1 p-2\">\r\n <smz-menu clickStopPropagation [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </ng-template>", styles: ["smz-flip-card-type .cmp-card{perspective:500px}smz-flip-card-type .cmp-content{position:absolute;width:100%;height:100%;transition:transform .2s;transform-style:preserve-3d}smz-flip-card-type .cmp-card-flipped .cmp-content{transform:rotateY(180deg);transition:transform .2s}smz-flip-card-type .cmp-front,smz-flip-card-type .cmp-back{position:absolute;height:100%;width:100%;backface-visibility:hidden}smz-flip-card-type .cmp-back{transform:rotateY(180deg)}\n"] }]
|
|
47464
47501
|
}], ctorParameters: () => [], propDecorators: { template: [{
|
|
47465
47502
|
type: Input
|
|
47466
47503
|
}], data: [{
|
|
@@ -47602,11 +47639,11 @@ class SmzCardsComponent {
|
|
|
47602
47639
|
this.cdr.markForCheck();
|
|
47603
47640
|
}
|
|
47604
47641
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47605
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCardsComponent, isStandalone: false, selector: "smz-ui-cards", inputs: { state: "state" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "dataView", first: true, predicate: SmzDataViewComponent, descendants: true }], ngImport: i0, template: "@if (state != null) {\r\n <ng-container *ngVar=\"state.items$ | async as items\">\r\n <ng-container *ngVar=\"items | resetContext : state.template._context\">\r\n <ui-data-view #dataView [styleClass]=\"state.view.dataViewStyleClass\" [gridStyleClass]=\"state.view.gridStyleClass\" [value]=\"items ?? []\" [paginator]=\"state.view.paginator\" [rows]=\"state.view.rowsPerPage\" [filterBy]=\"state.view.filterBy\" [layout]=\"state.view.layout\">\r\n @if (state.view.showHeader) {\r\n <ng-template #header>\r\n <div class=\"
|
|
47642
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCardsComponent, isStandalone: false, selector: "smz-ui-cards", inputs: { state: "state" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "dataView", first: true, predicate: SmzDataViewComponent, descendants: true }], ngImport: i0, template: "@if (state != null) {\r\n <ng-container *ngVar=\"state.items$ | async as items\">\r\n <ng-container *ngVar=\"items | resetContext : state.template._context\">\r\n <ui-data-view #dataView [styleClass]=\"state.view.dataViewStyleClass\" [gridStyleClass]=\"state.view.gridStyleClass\" [value]=\"items ?? []\" [paginator]=\"state.view.paginator\" [rows]=\"state.view.rowsPerPage\" [filterBy]=\"state.view.filterBy\" [layout]=\"state.view.layout\">\r\n @if (state.view.showHeader) {\r\n <ng-template #header>\r\n <div class=\"flex flex-wrap lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between gap-2\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n <ui-icon-field class=\"p-input-icon-left mb-2 md:mb-0\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input type=\"search\" smzInputText [placeholder]=\"state.locale.globalSearch.placeholder\" (input)=\"dataView.filter($any($event.target).value)\">\r\n </ui-icon-field>\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n <!-- FIXME: Implementar -->\r\n <!-- <p-dataViewLayoutOptions *ngIf=\"state.view.showLayoutOptions\"></p-dataViewLayoutOptions> -->\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-items #list>\r\n @if (state.template != null) {\r\n <div class=\"flex flex-wrap\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n <smz-list-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.list.styleClass.all\"></smz-list-item>\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template let-items #grid>\r\n @if (state.template != null) {\r\n <div class=\"flex flex-wrap\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.grid.styleClass.all\"></smz-grid-item>\r\n }\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template #empty>\r\n @if (state.view.emptyMessageType === 'html') {\r\n <div [innerHTML]=\"state.locale.emptyMessage | safeHtml\" class=\"w-full h-full\"></div>\r\n }\r\n @if (state.view.emptyMessageType === 'component') {\r\n <ng-template [smzInjectDataPathComponent]=\"state.view.emptyMessageComponent\" [data]=\"items\" [state]=\"state\"></ng-template>\r\n }\r\n </ng-template>\r\n </ui-data-view>\r\n </ng-container>\r\n </ng-container>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SmzDataViewComponent, selector: "ui-data-view", inputs: ["value", "layout", "paginator", "rows", "first", "filterBy", "styleClass", "gridStyleClass"], outputs: ["firstChange"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { 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: "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: 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: SmzListItemComponent, selector: "smz-list-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "component", type: SmzGridItemComponent, selector: "smz-grid-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzCardsResetContextPipe, name: "resetContext" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
47606
47643
|
}
|
|
47607
47644
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCardsComponent, decorators: [{
|
|
47608
47645
|
type: Component,
|
|
47609
|
-
args: [{ selector: 'smz-ui-cards', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (state != null) {\r\n <ng-container *ngVar=\"state.items$ | async as items\">\r\n <ng-container *ngVar=\"items | resetContext : state.template._context\">\r\n <ui-data-view #dataView [styleClass]=\"state.view.dataViewStyleClass\" [gridStyleClass]=\"state.view.gridStyleClass\" [value]=\"items ?? []\" [paginator]=\"state.view.paginator\" [rows]=\"state.view.rowsPerPage\" [filterBy]=\"state.view.filterBy\" [layout]=\"state.view.layout\">\r\n @if (state.view.showHeader) {\r\n <ng-template #header>\r\n <div class=\"
|
|
47646
|
+
args: [{ selector: 'smz-ui-cards', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (state != null) {\r\n <ng-container *ngVar=\"state.items$ | async as items\">\r\n <ng-container *ngVar=\"items | resetContext : state.template._context\">\r\n <ui-data-view #dataView [styleClass]=\"state.view.dataViewStyleClass\" [gridStyleClass]=\"state.view.gridStyleClass\" [value]=\"items ?? []\" [paginator]=\"state.view.paginator\" [rows]=\"state.view.rowsPerPage\" [filterBy]=\"state.view.filterBy\" [layout]=\"state.view.layout\">\r\n @if (state.view.showHeader) {\r\n <ng-template #header>\r\n <div class=\"flex flex-wrap lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between gap-2\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n <ui-icon-field class=\"p-input-icon-left mb-2 md:mb-0\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input type=\"search\" smzInputText [placeholder]=\"state.locale.globalSearch.placeholder\" (input)=\"dataView.filter($any($event.target).value)\">\r\n </ui-icon-field>\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n <!-- FIXME: Implementar -->\r\n <!-- <p-dataViewLayoutOptions *ngIf=\"state.view.showLayoutOptions\"></p-dataViewLayoutOptions> -->\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-items #list>\r\n @if (state.template != null) {\r\n <div class=\"flex flex-wrap\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n <smz-list-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.list.styleClass.all\"></smz-list-item>\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template let-items #grid>\r\n @if (state.template != null) {\r\n <div class=\"flex flex-wrap\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.grid.styleClass.all\"></smz-grid-item>\r\n }\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template #empty>\r\n @if (state.view.emptyMessageType === 'html') {\r\n <div [innerHTML]=\"state.locale.emptyMessage | safeHtml\" class=\"w-full h-full\"></div>\r\n }\r\n @if (state.view.emptyMessageType === 'component') {\r\n <ng-template [smzInjectDataPathComponent]=\"state.view.emptyMessageComponent\" [data]=\"items\" [state]=\"state\"></ng-template>\r\n }\r\n </ng-template>\r\n </ui-data-view>\r\n </ng-container>\r\n </ng-container>\r\n}" }]
|
|
47610
47647
|
}], propDecorators: { dataView: [{
|
|
47611
47648
|
type: ViewChild,
|
|
47612
47649
|
args: [SmzDataViewComponent]
|
|
@@ -47970,7 +48007,7 @@ class SmzTimelineComponent {
|
|
|
47970
48007
|
this.cdr.markForCheck();
|
|
47971
48008
|
}
|
|
47972
48009
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47973
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTimelineComponent, isStandalone: true, selector: "smz-ui-timeline", inputs: { state: "state" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state != null) {\r\n @if (state.items$ | async; as items) {\r\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\r\n <div class=\"
|
|
48010
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTimelineComponent, isStandalone: true, selector: "smz-ui-timeline", inputs: { state: "state" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state != null) {\r\n @if (state.items$ | async; as items) {\r\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\r\n <div class=\"flex flex-wrap lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between mb-3 gap-2\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (items?.length > 0) {\r\n <ui-timeline [value]=\"items\" [align]=\"state.view.align\" [styleClass]=\"state.view.styleClass.timeline\">\r\n <ng-template smzTemplate=\"marker\" let-event>\r\n <span [ngClass]=\"state.marker.styleClass\">\r\n <i [ngClass]=\"state.marker.icon\"></i>\r\n </span>\r\n </ng-template>\r\n <ng-template smzTemplate=\"content\" let-event>\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"event\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.view.styleClass.event\"></smz-grid-item>\r\n }\r\n </ng-template>\r\n </ui-timeline>\r\n } @else {\r\n <div>{{ state.locale.emptyMessage }}</div>\r\n }\r\n }\r\n}", styles: ["@media screen and (max-width:960px){smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n){flex-direction:row!important}smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n) .p-timeline-event-content{text-align:left!important}smz-ui-timeline .mobile-timeline .p-timeline-event-opposite{flex:0}}smz-ui-timeline .p-timeline-left .p-timeline-event-opposite{display:none}smz-ui-timeline .p-timeline-right .p-timeline-event-opposite{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { 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: SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: 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: SmzUiTimelineComponent, selector: "ui-timeline", inputs: ["value", "align", "layout", "styleClass"] }, { kind: "ngmodule", type: SafeContentPipeModule }, { kind: "ngmodule", type: NgxSmzCardsModule }, { kind: "component", type: SmzGridItemComponent, selector: "smz-grid-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$1, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
47974
48011
|
}
|
|
47975
48012
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTimelineComponent, decorators: [{
|
|
47976
48013
|
type: Component,
|
|
@@ -47982,7 +48019,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
47982
48019
|
SmzUiTimelineComponent,
|
|
47983
48020
|
SafeContentPipeModule,
|
|
47984
48021
|
NgxSmzCardsModule,
|
|
47985
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (state != null) {\r\n @if (state.items$ | async; as items) {\r\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\r\n <div class=\"
|
|
48022
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (state != null) {\r\n @if (state.items$ | async; as items) {\r\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\r\n <div class=\"flex flex-wrap lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between mb-3 gap-2\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (items?.length > 0) {\r\n <ui-timeline [value]=\"items\" [align]=\"state.view.align\" [styleClass]=\"state.view.styleClass.timeline\">\r\n <ng-template smzTemplate=\"marker\" let-event>\r\n <span [ngClass]=\"state.marker.styleClass\">\r\n <i [ngClass]=\"state.marker.icon\"></i>\r\n </span>\r\n </ng-template>\r\n <ng-template smzTemplate=\"content\" let-event>\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"event\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.view.styleClass.event\"></smz-grid-item>\r\n }\r\n </ng-template>\r\n </ui-timeline>\r\n } @else {\r\n <div>{{ state.locale.emptyMessage }}</div>\r\n }\r\n }\r\n}", styles: ["@media screen and (max-width:960px){smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n){flex-direction:row!important}smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n) .p-timeline-event-content{text-align:left!important}smz-ui-timeline .mobile-timeline .p-timeline-event-opposite{flex:0}}smz-ui-timeline .p-timeline-left .p-timeline-event-opposite{display:none}smz-ui-timeline .p-timeline-right .p-timeline-event-opposite{display:none}\n"] }]
|
|
47986
48023
|
}], propDecorators: { templates: [{
|
|
47987
48024
|
type: ContentChildren,
|
|
47988
48025
|
args: [SmzTemplateDirective]
|
|
@@ -48169,7 +48206,7 @@ class SmzSubmitComponent {
|
|
|
48169
48206
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzSubmitComponent, deps: [{ token: SmzUiBlockService }], target: i0.ɵɵFactoryTarget.Component });
|
|
48170
48207
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzSubmitComponent, isStandalone: true, selector: "smz-ui-submit", inputs: { state: "state", unBlockOnSave: "unBlockOnSave", useBlockUi: "useBlockUi", resetLabel: "resetLabel", resetStyleClass: "resetStyleClass", resetIcon: "resetIcon", saveLabel: "saveLabel", saveStyleClass: "saveStyleClass", saveIcon: "saveIcon" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: `
|
|
48171
48208
|
@if (state != null && response != null) {
|
|
48172
|
-
<div class="
|
|
48209
|
+
<div class="flex flex-wrap items-center justify-start gap-2">
|
|
48173
48210
|
<button smzButton smzRipple type="button" [icon]="saveIcon" [styleClass]="saveStyleClass" [disabled]="!response.isValid || !response.hasUnsavedChanges" (click)="submitSave()" [label]="saveLabel"></button>
|
|
48174
48211
|
<button smzButton smzRipple type="button" [icon]="resetIcon" [styleClass]="resetStyleClass" [disabled]="!response.hasUnsavedChanges" (click)="cancel()" [label]="resetLabel"></button>
|
|
48175
48212
|
</div>
|
|
@@ -48183,7 +48220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
48183
48220
|
selector: 'smz-ui-submit',
|
|
48184
48221
|
template: `
|
|
48185
48222
|
@if (state != null && response != null) {
|
|
48186
|
-
<div class="
|
|
48223
|
+
<div class="flex flex-wrap items-center justify-start gap-2">
|
|
48187
48224
|
<button smzButton smzRipple type="button" [icon]="saveIcon" [styleClass]="saveStyleClass" [disabled]="!response.isValid || !response.hasUnsavedChanges" (click)="submitSave()" [label]="saveLabel"></button>
|
|
48188
48225
|
<button smzButton smzRipple type="button" [icon]="resetIcon" [styleClass]="resetStyleClass" [disabled]="!response.hasUnsavedChanges" (click)="cancel()" [label]="resetLabel"></button>
|
|
48189
48226
|
</div>
|
|
@@ -48809,11 +48846,11 @@ class SmzSvgComponent {
|
|
|
48809
48846
|
this.state.dispatch.setScopes.unsubscribe();
|
|
48810
48847
|
}
|
|
48811
48848
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzSvgComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
48812
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzSvgComponent, isStandalone: false, selector: "smz-svg", inputs: { state: "state" }, viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: SmzPopoverComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"smz-svg-container\" [ngClass]=\"state?.containerClass\">\r\n <div id=\"smz-svg-map\" [ngClass]=\"{ 'border-2 border-red-800 border-solid': state?.isDebug }\"></div>\r\n</div>\r\n\r\n<ui-popover #op appendTo=\"body\">\r\n <div class=\"
|
|
48849
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzSvgComponent, isStandalone: false, selector: "smz-svg", inputs: { state: "state" }, viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: SmzPopoverComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"smz-svg-container\" [ngClass]=\"state?.containerClass\">\r\n <div id=\"smz-svg-map\" [ngClass]=\"{ 'border-2 border-red-800 border-solid': state?.isDebug }\"></div>\r\n</div>\r\n\r\n<ui-popover #op appendTo=\"body\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <i class=\"fa-solid fa-map-pin text-blue-200 text-2xl\"></i>\r\n <div>{{ tooltipContent }}</div>\r\n </div>\r\n</ui-popover>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
48813
48850
|
}
|
|
48814
48851
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzSvgComponent, decorators: [{
|
|
48815
48852
|
type: Component,
|
|
48816
|
-
args: [{ selector: 'smz-svg', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "<div id=\"smz-svg-container\" [ngClass]=\"state?.containerClass\">\r\n <div id=\"smz-svg-map\" [ngClass]=\"{ 'border-2 border-red-800 border-solid': state?.isDebug }\"></div>\r\n</div>\r\n\r\n<ui-popover #op appendTo=\"body\">\r\n <div class=\"
|
|
48853
|
+
args: [{ selector: 'smz-svg', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "<div id=\"smz-svg-container\" [ngClass]=\"state?.containerClass\">\r\n <div id=\"smz-svg-map\" [ngClass]=\"{ 'border-2 border-red-800 border-solid': state?.isDebug }\"></div>\r\n</div>\r\n\r\n<ui-popover #op appendTo=\"body\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <i class=\"fa-solid fa-map-pin text-blue-200 text-2xl\"></i>\r\n <div>{{ tooltipContent }}</div>\r\n </div>\r\n</ui-popover>\r\n" }]
|
|
48817
48854
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { overlayPanel: [{
|
|
48818
48855
|
type: ViewChild,
|
|
48819
48856
|
args: [SmzPopoverComponent]
|
|
@@ -53940,11 +53977,11 @@ class SmzEasyTableComponent {
|
|
|
53940
53977
|
this.dataService.disconnect();
|
|
53941
53978
|
}
|
|
53942
53979
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzEasyTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TableDataSourceService }, { token: TableContentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53943
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzEasyTableComponent, isStandalone: false, selector: "smz-easy-table", inputs: { state: "state", dataSource: "dataSource" }, providers: [TableDataSourceService, TableContentService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state != null) {\r\n <div class=\"grid grid-
|
|
53980
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzEasyTableComponent, isStandalone: false, selector: "smz-easy-table", inputs: { state: "state", dataSource: "dataSource" }, providers: [TableDataSourceService, TableContentService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state != null) {\r\n <div class=\"grid grid-cols-12 items-start flex-col justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <et-title class=\"col-span-12 min-w-0\" [state]=\"state\"></et-title>\r\n }\r\n @if (state.globalSearch.isEnabled) {\r\n <div class=\"col-span-12 flex flex-wrap items-center justify-end min-w-0\">\r\n <et-global-search class=\"w-4/12 flex-none\" [state]=\"state\" [dataSource]=\"dataService\"></et-global-search>\r\n </div>\r\n }\r\n @if (state.desktop.enabled) {\r\n <et-desktop-table class=\"col-span-12 min-w-0\" [state]=\"state\" [dataSource]=\"dataService\" [contentService]=\"contentService\"></et-desktop-table>\r\n }\r\n @if (state.mobile.enabled) {\r\n <et-mobile-table class=\"col-span-12 min-w-0\" [state]=\"state\" [data]=\"[]\"></et-mobile-table>\r\n }\r\n </div>\r\n}", dependencies: [{ kind: "component", type: DesktopTableComponent, selector: "et-desktop-table", inputs: ["state", "dataSource", "contentService"] }, { kind: "component", type: MobileTableComponent, selector: "et-mobile-table", inputs: ["state", "data"] }, { kind: "component", type: TitleComponent, selector: "et-title", inputs: ["state"] }, { kind: "component", type: GlobalSearchComponent, selector: "et-global-search", inputs: ["state", "dataSource"] }] });
|
|
53944
53981
|
}
|
|
53945
53982
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzEasyTableComponent, decorators: [{
|
|
53946
53983
|
type: Component,
|
|
53947
|
-
args: [{ selector: 'smz-easy-table', providers: [TableDataSourceService, TableContentService], standalone: false, template: "@if (state != null) {\r\n <div class=\"grid grid-
|
|
53984
|
+
args: [{ selector: 'smz-easy-table', providers: [TableDataSourceService, TableContentService], standalone: false, template: "@if (state != null) {\r\n <div class=\"grid grid-cols-12 items-start flex-col justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <et-title class=\"col-span-12 min-w-0\" [state]=\"state\"></et-title>\r\n }\r\n @if (state.globalSearch.isEnabled) {\r\n <div class=\"col-span-12 flex flex-wrap items-center justify-end min-w-0\">\r\n <et-global-search class=\"w-4/12 flex-none\" [state]=\"state\" [dataSource]=\"dataService\"></et-global-search>\r\n </div>\r\n }\r\n @if (state.desktop.enabled) {\r\n <et-desktop-table class=\"col-span-12 min-w-0\" [state]=\"state\" [dataSource]=\"dataService\" [contentService]=\"contentService\"></et-desktop-table>\r\n }\r\n @if (state.mobile.enabled) {\r\n <et-mobile-table class=\"col-span-12 min-w-0\" [state]=\"state\" [data]=\"[]\"></et-mobile-table>\r\n }\r\n </div>\r\n}" }]
|
|
53948
53985
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TableDataSourceService }, { type: TableContentService }], propDecorators: { state: [{
|
|
53949
53986
|
type: Input
|
|
53950
53987
|
}], dataSource: [{
|
|
@@ -54516,7 +54553,7 @@ class SmzTreeWithDetailsBuilder {
|
|
|
54516
54553
|
content: 'gap-3 p-6 overflow-y-auto'
|
|
54517
54554
|
},
|
|
54518
54555
|
layout: {
|
|
54519
|
-
detailsStyleClass: 'p-2 lg:
|
|
54556
|
+
detailsStyleClass: 'p-2 lg:w-6/12 flex-none'
|
|
54520
54557
|
},
|
|
54521
54558
|
locale: null,
|
|
54522
54559
|
};
|
|
@@ -54791,7 +54828,7 @@ class SmzCardsTextBuilder extends SmzCardsBaseBuilder {
|
|
|
54791
54828
|
}
|
|
54792
54829
|
else {
|
|
54793
54830
|
const iconHtml = `<i class="${icon.icon}"></i>`;
|
|
54794
|
-
const begin = icon.appendText === null || icon.appendText === undefined ? '' : `<div class="
|
|
54831
|
+
const begin = icon.appendText === null || icon.appendText === undefined ? '' : `<div class="flex flex-wrap items-center justify-start gap-1 ${icon.styleClass}">`;
|
|
54795
54832
|
const end = icon.appendText === null || icon.appendText === undefined ? '' : `<div>${icon.appendText}</div></div>`;
|
|
54796
54833
|
return `${begin}${iconHtml}${end}`;
|
|
54797
54834
|
}
|
|
@@ -55379,7 +55416,7 @@ class SmzCardsBuilder {
|
|
|
55379
55416
|
isVisible: false,
|
|
55380
55417
|
styleClass: {
|
|
55381
55418
|
all: '',
|
|
55382
|
-
layout: '
|
|
55419
|
+
layout: 'w-full flex-none lg:w-6/12 xl:w-3/12',
|
|
55383
55420
|
padding: 'p-2',
|
|
55384
55421
|
general: ''
|
|
55385
55422
|
}
|
|
@@ -55388,7 +55425,7 @@ class SmzCardsBuilder {
|
|
|
55388
55425
|
isVisible: false,
|
|
55389
55426
|
styleClass: {
|
|
55390
55427
|
all: '',
|
|
55391
|
-
layout: '
|
|
55428
|
+
layout: 'w-full flex-none lg:w-6/12 xl:w-3/12',
|
|
55392
55429
|
padding: 'p-2',
|
|
55393
55430
|
general: ''
|
|
55394
55431
|
}
|