@ngx-smz/core 21.6.0 → 21.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngx-smz-core.mjs +349 -22
- package/fesm2022/ngx-smz-core.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngx-smz-core.d.ts +83 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, Injectable, InjectionToken, provideAppInitializer, inject, makeEnvironmentProviders, computed, Pipe, Input, Component, DestroyRef, EventEmitter, HostListener, Output, HostBinding, Directive, ChangeDetectionStrategy, ViewEncapsulation, Optional, NgModule, ViewChild, ElementRef, Renderer2, forwardRef, Inject,
|
|
2
|
+
import { signal, Injectable, InjectionToken, provideAppInitializer, inject, makeEnvironmentProviders, computed, Pipe, Input, Component, ChangeDetectorRef, effect, DestroyRef, EventEmitter, HostListener, Output, HostBinding, Directive, ChangeDetectionStrategy, ViewEncapsulation, Optional, NgModule, ViewChild, ElementRef, Renderer2, forwardRef, Inject, LOCALE_ID, ContentChildren, Self, ErrorHandler, DEFAULT_CURRENCY_CODE, DOCUMENT, PLATFORM_ID } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/common';
|
|
4
4
|
import { CommonModule, getCurrencySymbol, getLocaleCurrencyCode, NgStyle, LocationStrategy, registerLocaleData, isPlatformBrowser as isPlatformBrowser$1, formatDate } from '@angular/common';
|
|
5
5
|
import * as i1$3 from '@angular/forms';
|
|
@@ -21,7 +21,7 @@ import { ObjectUtils, ZIndexUtils, UniqueComponentId } from 'primeng/utils';
|
|
|
21
21
|
import * as i1$8 from '@angular/common/http';
|
|
22
22
|
import { HttpClient, provideHttpClient, withInterceptorsFromDi, HttpErrorResponse, HttpHeaders, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
23
23
|
import { cloneDeep, uniqBy, flatten as flatten$1, sortBy, isBoolean as isBoolean$1, isEmpty as isEmpty$2, isEqual } from 'lodash-es';
|
|
24
|
-
import { Subscription, BehaviorSubject, firstValueFrom, debounceTime, tap, of, take as take$1, Subject, throwError, map as map$1, throttleTime, switchMap, Observable, takeUntil as takeUntil$2,
|
|
24
|
+
import { Subscription, BehaviorSubject, merge, firstValueFrom, debounceTime, tap, of, take as take$1, Subject, throwError, map as map$1, throttleTime, switchMap, Observable, takeUntil as takeUntil$2, filter as filter$1 } from 'rxjs';
|
|
25
25
|
import * as i1$2 from 'primeng/datepicker';
|
|
26
26
|
import { DatePickerModule } from 'primeng/datepicker';
|
|
27
27
|
import * as i1 from 'primeng/tooltip';
|
|
@@ -2184,7 +2184,9 @@ class SmzFormValidationMessagesService {
|
|
|
2184
2184
|
validationMessagesByPropertyName = new Map();
|
|
2185
2185
|
messagesByPropertyNameSignal = signal({}, ...(ngDevMode ? [{ debugName: "messagesByPropertyNameSignal" }] : []));
|
|
2186
2186
|
controlMessagesSignals = new WeakMap();
|
|
2187
|
+
viewRefreshSignal = signal(0, ...(ngDevMode ? [{ debugName: "viewRefreshSignal" }] : []));
|
|
2187
2188
|
messagesByPropertyName = this.messagesByPropertyNameSignal.asReadonly();
|
|
2189
|
+
viewRefreshTick = this.viewRefreshSignal.asReadonly();
|
|
2188
2190
|
initialize(config, form) {
|
|
2189
2191
|
this.resetState();
|
|
2190
2192
|
this.form = form;
|
|
@@ -2202,6 +2204,12 @@ class SmzFormValidationMessagesService {
|
|
|
2202
2204
|
this.subscriptions.add(this.form.statusChanges.subscribe(() => {
|
|
2203
2205
|
this.refreshAllMessages();
|
|
2204
2206
|
}));
|
|
2207
|
+
this.subscriptions.add(this.form.valueChanges.subscribe(() => {
|
|
2208
|
+
this.refreshAllMessages();
|
|
2209
|
+
}));
|
|
2210
|
+
}
|
|
2211
|
+
notifyViewRefresh() {
|
|
2212
|
+
this.viewRefreshSignal.update(value => value + 1);
|
|
2205
2213
|
}
|
|
2206
2214
|
getMessagesSignalByControl(control) {
|
|
2207
2215
|
if (control == null) {
|
|
@@ -2255,6 +2263,7 @@ class SmzFormValidationMessagesService {
|
|
|
2255
2263
|
this.subscriptions = new Subscription();
|
|
2256
2264
|
this.validationMessagesByPropertyName.clear();
|
|
2257
2265
|
this.messagesByPropertyNameSignal.set({});
|
|
2266
|
+
this.viewRefreshSignal.set(0);
|
|
2258
2267
|
this.form = null;
|
|
2259
2268
|
}
|
|
2260
2269
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzFormValidationMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -2854,11 +2863,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
2854
2863
|
|
|
2855
2864
|
class ValidationMessagesComponent {
|
|
2856
2865
|
validationMessagesService = inject(SmzFormValidationMessagesService);
|
|
2866
|
+
changeDetectorRef = inject(ChangeDetectorRef);
|
|
2867
|
+
controlSubscription;
|
|
2857
2868
|
formControl;
|
|
2858
2869
|
input;
|
|
2859
2870
|
set control(value) {
|
|
2871
|
+
this.controlSubscription?.unsubscribe();
|
|
2860
2872
|
this.formControl = value;
|
|
2861
2873
|
this.controlMessages = this.validationMessagesService.getMessagesSignalByControl(value);
|
|
2874
|
+
if (value != null) {
|
|
2875
|
+
this.controlSubscription = merge(value.statusChanges, value.valueChanges).subscribe(() => {
|
|
2876
|
+
this.changeDetectorRef.markForCheck();
|
|
2877
|
+
});
|
|
2878
|
+
}
|
|
2862
2879
|
}
|
|
2863
2880
|
get control() {
|
|
2864
2881
|
return this.formControl;
|
|
@@ -2867,13 +2884,22 @@ class ValidationMessagesComponent {
|
|
|
2867
2884
|
extraMessages = [];
|
|
2868
2885
|
controlMessages = signal([], ...(ngDevMode ? [{ debugName: "controlMessages" }] : []));
|
|
2869
2886
|
uiConfig = GlobalInjector.config;
|
|
2887
|
+
constructor() {
|
|
2888
|
+
effect(() => {
|
|
2889
|
+
this.validationMessagesService.viewRefreshTick();
|
|
2890
|
+
this.changeDetectorRef.markForCheck();
|
|
2891
|
+
});
|
|
2892
|
+
}
|
|
2893
|
+
ngOnDestroy() {
|
|
2894
|
+
this.controlSubscription?.unsubscribe();
|
|
2895
|
+
}
|
|
2870
2896
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ValidationMessagesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2871
2897
|
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=\"col-12 error-message\">{{ message }}</span>\r\n }\r\n }\r\n\r\n @if (messages.length > 1) {\r\n @if (behaviors.showMultipleErrorMessages) {\r\n <span class=\"col-12 error-message asterisk\">{{ messages | describeArray }}</span>\r\n }\r\n\r\n @if (!behaviors.showMultipleErrorMessages) {\r\n <span class=\"col-12 error-message asterisk\" [pTooltip]=\"messages | describeArray\">{{ uiConfig.dialogs.forms.multipleErrorMessagesLabel }} *</span>\r\n }\r\n }\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "pipe", type: DescribeArrayPipe, name: "describeArray" }, { kind: "pipe", type: JoinPipe, name: "join" }] });
|
|
2872
2898
|
}
|
|
2873
2899
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ValidationMessagesComponent, decorators: [{
|
|
2874
2900
|
type: Component,
|
|
2875
2901
|
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=\"col-12 error-message\">{{ message }}</span>\r\n }\r\n }\r\n\r\n @if (messages.length > 1) {\r\n @if (behaviors.showMultipleErrorMessages) {\r\n <span class=\"col-12 error-message asterisk\">{{ messages | describeArray }}</span>\r\n }\r\n\r\n @if (!behaviors.showMultipleErrorMessages) {\r\n <span class=\"col-12 error-message asterisk\" [pTooltip]=\"messages | describeArray\">{{ uiConfig.dialogs.forms.multipleErrorMessagesLabel }} *</span>\r\n }\r\n }\r\n }\r\n}" }]
|
|
2876
|
-
}], propDecorators: { input: [{
|
|
2902
|
+
}], ctorParameters: () => [], propDecorators: { input: [{
|
|
2877
2903
|
type: Input
|
|
2878
2904
|
}], control: [{
|
|
2879
2905
|
type: Input
|
|
@@ -4203,6 +4229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
4203
4229
|
}] } });
|
|
4204
4230
|
|
|
4205
4231
|
class InputNumberComponent {
|
|
4232
|
+
validationMessagesService = inject(SmzFormValidationMessagesService);
|
|
4206
4233
|
input;
|
|
4207
4234
|
control;
|
|
4208
4235
|
behaviors;
|
|
@@ -4213,12 +4240,22 @@ class InputNumberComponent {
|
|
|
4213
4240
|
this.control.updateValueAndValidity();
|
|
4214
4241
|
}
|
|
4215
4242
|
}
|
|
4243
|
+
onInputMaskBlur() {
|
|
4244
|
+
this.control.markAsTouched();
|
|
4245
|
+
this.control.updateValueAndValidity();
|
|
4246
|
+
this.validationMessagesService.notifyViewRefresh();
|
|
4247
|
+
}
|
|
4248
|
+
onInputMaskInput() {
|
|
4249
|
+
if (this.form.updateOn !== 'blur') {
|
|
4250
|
+
this.control.updateValueAndValidity();
|
|
4251
|
+
}
|
|
4252
|
+
}
|
|
4216
4253
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4217
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputNumberComponent, isStandalone: false, selector: "smz-input-number", inputs: { input: "input", control: "control", behaviors: "behaviors", form: "form" }, ngImport: i0, template: "<smz-label\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 @if (!input.useFraction) {\r\n <p-inputMask\r\n class=\"smz__input_value flex-1\"\r\n slotChar=\"\"\r\n [autoClear]=\"false\"\r\n mask=\"9?9999999999999999999999999999999\"\r\n characterPattern=\"([0-9])\"\r\n [id]=\"input.propertyName\"\r\n [pAutoFocus]=\"input.autoFocus\"\r\n [formControl]=\"control\">\r\n </p-inputMask>\r\n }\r\n @if (input.useFraction) {\r\n <p-inputNumber\r\n class=\"smz__input_value flex-1\"\r\n [formControl]=\"control\"\r\n [locale]=\"input.locale\"\r\n [minFractionDigits]=\"input.minFractionDigits\"\r\n [maxFractionDigits]=\"input.maxFractionDigits\"\r\n [useGrouping]=\"input.useGrouping\"\r\n [id]=\"input.propertyName\"\r\n [pAutoFocus]=\"input.autoFocus\"\r\n (onInput)=\"onInput($event)\">\r\n </p-inputNumber>\r\n }\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabel", "ariaLabelledBy", "ariaRequired", "readonly", "unmask", "characterPattern", "autofocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "component", type: i3$3.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "autocomplete", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { 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"] }] });
|
|
4254
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputNumberComponent, isStandalone: false, selector: "smz-input-number", inputs: { input: "input", control: "control", behaviors: "behaviors", form: "form" }, ngImport: i0, template: "<smz-label\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 @if (!input.useFraction) {\r\n <p-inputMask\r\n class=\"smz__input_value flex-1\"\r\n slotChar=\"\"\r\n [autoClear]=\"false\"\r\n mask=\"9?9999999999999999999999999999999\"\r\n characterPattern=\"([0-9])\"\r\n [id]=\"input.propertyName\"\r\n [pAutoFocus]=\"input.autoFocus\"\r\n [formControl]=\"control\"\r\n (onBlur)=\"onInputMaskBlur()\"\r\n (onInput)=\"onInputMaskInput()\">\r\n </p-inputMask>\r\n }\r\n @if (input.useFraction) {\r\n <p-inputNumber\r\n class=\"smz__input_value flex-1\"\r\n [formControl]=\"control\"\r\n [locale]=\"input.locale\"\r\n [minFractionDigits]=\"input.minFractionDigits\"\r\n [maxFractionDigits]=\"input.maxFractionDigits\"\r\n [useGrouping]=\"input.useGrouping\"\r\n [id]=\"input.propertyName\"\r\n [pAutoFocus]=\"input.autoFocus\"\r\n (onInput)=\"onInput($event)\">\r\n </p-inputNumber>\r\n }\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabel", "ariaLabelledBy", "ariaRequired", "readonly", "unmask", "characterPattern", "autofocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "component", type: i3$3.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "autocomplete", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { 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"] }] });
|
|
4218
4255
|
}
|
|
4219
4256
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputNumberComponent, decorators: [{
|
|
4220
4257
|
type: Component,
|
|
4221
|
-
args: [{ selector: 'smz-input-number', 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 @if (!input.useFraction) {\r\n <p-inputMask\r\n class=\"smz__input_value flex-1\"\r\n slotChar=\"\"\r\n [autoClear]=\"false\"\r\n mask=\"9?9999999999999999999999999999999\"\r\n characterPattern=\"([0-9])\"\r\n [id]=\"input.propertyName\"\r\n [pAutoFocus]=\"input.autoFocus\"\r\n [formControl]=\"control\">\r\n </p-inputMask>\r\n }\r\n @if (input.useFraction) {\r\n <p-inputNumber\r\n class=\"smz__input_value flex-1\"\r\n [formControl]=\"control\"\r\n [locale]=\"input.locale\"\r\n [minFractionDigits]=\"input.minFractionDigits\"\r\n [maxFractionDigits]=\"input.maxFractionDigits\"\r\n [useGrouping]=\"input.useGrouping\"\r\n [id]=\"input.propertyName\"\r\n [pAutoFocus]=\"input.autoFocus\"\r\n (onInput)=\"onInput($event)\">\r\n </p-inputNumber>\r\n }\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
|
|
4258
|
+
args: [{ selector: 'smz-input-number', 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 @if (!input.useFraction) {\r\n <p-inputMask\r\n class=\"smz__input_value flex-1\"\r\n slotChar=\"\"\r\n [autoClear]=\"false\"\r\n mask=\"9?9999999999999999999999999999999\"\r\n characterPattern=\"([0-9])\"\r\n [id]=\"input.propertyName\"\r\n [pAutoFocus]=\"input.autoFocus\"\r\n [formControl]=\"control\"\r\n (onBlur)=\"onInputMaskBlur()\"\r\n (onInput)=\"onInputMaskInput()\">\r\n </p-inputMask>\r\n }\r\n @if (input.useFraction) {\r\n <p-inputNumber\r\n class=\"smz__input_value flex-1\"\r\n [formControl]=\"control\"\r\n [locale]=\"input.locale\"\r\n [minFractionDigits]=\"input.minFractionDigits\"\r\n [maxFractionDigits]=\"input.maxFractionDigits\"\r\n [useGrouping]=\"input.useGrouping\"\r\n [id]=\"input.propertyName\"\r\n [pAutoFocus]=\"input.autoFocus\"\r\n (onInput)=\"onInput($event)\">\r\n </p-inputNumber>\r\n }\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
|
|
4222
4259
|
}], propDecorators: { input: [{
|
|
4223
4260
|
type: Input
|
|
4224
4261
|
}], control: [{
|
|
@@ -31164,13 +31201,180 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
31164
31201
|
args: [{ providedIn: 'root' }]
|
|
31165
31202
|
}], ctorParameters: () => [{ type: i1$6.Store }] });
|
|
31166
31203
|
|
|
31204
|
+
const ATTEMPTED_ROUTE_STORAGE_SUFFIX = '_attempted_route';
|
|
31205
|
+
function getAttemptedRouteStorageKey(localStoragePrefix) {
|
|
31206
|
+
return `${localStoragePrefix}${ATTEMPTED_ROUTE_STORAGE_SUFFIX}`;
|
|
31207
|
+
}
|
|
31208
|
+
function normalizePathname(path) {
|
|
31209
|
+
if (path == null || path.trim() === '') {
|
|
31210
|
+
return '/';
|
|
31211
|
+
}
|
|
31212
|
+
const withoutHash = path.split('#')[0];
|
|
31213
|
+
const withoutQuery = withoutHash.split('?')[0].trim();
|
|
31214
|
+
const withLeadingSlash = withoutQuery.startsWith('/') ? withoutQuery : `/${withoutQuery}`;
|
|
31215
|
+
if (withLeadingSlash.length > 1 && withLeadingSlash.endsWith('/')) {
|
|
31216
|
+
return withLeadingSlash.slice(0, -1);
|
|
31217
|
+
}
|
|
31218
|
+
return withLeadingSlash;
|
|
31219
|
+
}
|
|
31220
|
+
function pathnamesAreEqual(left, right) {
|
|
31221
|
+
return normalizePathname(left) === normalizePathname(right);
|
|
31222
|
+
}
|
|
31223
|
+
function isRelativeInternalPath(url) {
|
|
31224
|
+
if (url == null) {
|
|
31225
|
+
return false;
|
|
31226
|
+
}
|
|
31227
|
+
const trimmedUrl = url.trim();
|
|
31228
|
+
if (trimmedUrl === '') {
|
|
31229
|
+
return false;
|
|
31230
|
+
}
|
|
31231
|
+
if (!trimmedUrl.startsWith('/')) {
|
|
31232
|
+
return false;
|
|
31233
|
+
}
|
|
31234
|
+
if (trimmedUrl.startsWith('//')) {
|
|
31235
|
+
return false;
|
|
31236
|
+
}
|
|
31237
|
+
if (trimmedUrl.includes('\\')) {
|
|
31238
|
+
return false;
|
|
31239
|
+
}
|
|
31240
|
+
const pathname = normalizePathname(trimmedUrl);
|
|
31241
|
+
if (pathname.includes(':')) {
|
|
31242
|
+
return false;
|
|
31243
|
+
}
|
|
31244
|
+
return true;
|
|
31245
|
+
}
|
|
31246
|
+
function isLoginOrNonAuthenticatedPath(url, config) {
|
|
31247
|
+
const pathname = normalizePathname(url);
|
|
31248
|
+
const matchesNonAuthenticatedRoot = pathnamesAreEqual(pathname, config.nonAuthenticatedRoot);
|
|
31249
|
+
const matchesLoginRoute = pathnamesAreEqual(pathname, config.loginRoute);
|
|
31250
|
+
return matchesNonAuthenticatedRoot || matchesLoginRoute;
|
|
31251
|
+
}
|
|
31252
|
+
/**
|
|
31253
|
+
* Returns true when `url` is a same-app relative path and is not the login page.
|
|
31254
|
+
*/
|
|
31255
|
+
function isValidAttemptedRoute(url, config) {
|
|
31256
|
+
if (!isRelativeInternalPath(url)) {
|
|
31257
|
+
return false;
|
|
31258
|
+
}
|
|
31259
|
+
if (isLoginOrNonAuthenticatedPath(url, config)) {
|
|
31260
|
+
return false;
|
|
31261
|
+
}
|
|
31262
|
+
return true;
|
|
31263
|
+
}
|
|
31264
|
+
/**
|
|
31265
|
+
* Joins the router state URL with a fragment when the URL does not already include one.
|
|
31266
|
+
*/
|
|
31267
|
+
function composeAttemptedRoute(routerStateUrl, fragment) {
|
|
31268
|
+
if (fragment == null || fragment === '') {
|
|
31269
|
+
return routerStateUrl;
|
|
31270
|
+
}
|
|
31271
|
+
if (routerStateUrl.includes('#')) {
|
|
31272
|
+
return routerStateUrl;
|
|
31273
|
+
}
|
|
31274
|
+
return `${routerStateUrl}#${fragment}`;
|
|
31275
|
+
}
|
|
31276
|
+
function captureAttemptedRoute$1(url, config) {
|
|
31277
|
+
if (!isValidAttemptedRoute(url, config)) {
|
|
31278
|
+
return;
|
|
31279
|
+
}
|
|
31280
|
+
sessionStorage.setItem(getAttemptedRouteStorageKey(config.localStoragePrefix), url);
|
|
31281
|
+
}
|
|
31282
|
+
function peekAttemptedRoute$1(config) {
|
|
31283
|
+
const storedUrl = sessionStorage.getItem(getAttemptedRouteStorageKey(config.localStoragePrefix));
|
|
31284
|
+
if (storedUrl == null || !isValidAttemptedRoute(storedUrl, config)) {
|
|
31285
|
+
return null;
|
|
31286
|
+
}
|
|
31287
|
+
return storedUrl;
|
|
31288
|
+
}
|
|
31289
|
+
function consumeAttemptedRoute$1(config) {
|
|
31290
|
+
const storageKey = getAttemptedRouteStorageKey(config.localStoragePrefix);
|
|
31291
|
+
const storedUrl = sessionStorage.getItem(storageKey);
|
|
31292
|
+
sessionStorage.removeItem(storageKey);
|
|
31293
|
+
if (storedUrl == null || !isValidAttemptedRoute(storedUrl, config)) {
|
|
31294
|
+
return null;
|
|
31295
|
+
}
|
|
31296
|
+
return storedUrl;
|
|
31297
|
+
}
|
|
31298
|
+
function clearAttemptedRoute$1(config) {
|
|
31299
|
+
sessionStorage.removeItem(getAttemptedRouteStorageKey(config.localStoragePrefix));
|
|
31300
|
+
}
|
|
31301
|
+
function resolvePostLoginUrl$1(config) {
|
|
31302
|
+
const attemptedRoute = consumeAttemptedRoute$1(config);
|
|
31303
|
+
if (attemptedRoute != null) {
|
|
31304
|
+
return attemptedRoute;
|
|
31305
|
+
}
|
|
31306
|
+
return config.authenticatedRoot;
|
|
31307
|
+
}
|
|
31308
|
+
function buildLoginPageUrlWithOrigin(origin, nonAuthenticatedRoot, extraQuery) {
|
|
31309
|
+
const pathname = normalizePathname(nonAuthenticatedRoot);
|
|
31310
|
+
const loginUrl = new URL(pathname, origin);
|
|
31311
|
+
if (extraQuery != null) {
|
|
31312
|
+
for (const [name, value] of Object.entries(extraQuery)) {
|
|
31313
|
+
if (value == null || value === '') {
|
|
31314
|
+
continue;
|
|
31315
|
+
}
|
|
31316
|
+
loginUrl.searchParams.set(name, value);
|
|
31317
|
+
}
|
|
31318
|
+
}
|
|
31319
|
+
return loginUrl.toString();
|
|
31320
|
+
}
|
|
31321
|
+
|
|
31322
|
+
function readAttemptedRouteConfig() {
|
|
31323
|
+
const authentication = GlobalInjector.config.rbkUtils.authentication;
|
|
31324
|
+
return {
|
|
31325
|
+
localStoragePrefix: authentication.localStoragePrefix,
|
|
31326
|
+
authenticatedRoot: authentication.authenticatedRoot,
|
|
31327
|
+
nonAuthenticatedRoot: authentication.nonAuthenticatedRoot,
|
|
31328
|
+
loginRoute: authentication.login.route,
|
|
31329
|
+
};
|
|
31330
|
+
}
|
|
31331
|
+
/**
|
|
31332
|
+
* Stores the route the auth guard intercepted so a later successful login can restore it.
|
|
31333
|
+
* Invalid or login-page URLs are ignored.
|
|
31334
|
+
*/
|
|
31335
|
+
function captureAttemptedRoute(url) {
|
|
31336
|
+
captureAttemptedRoute$1(url, readAttemptedRouteConfig());
|
|
31337
|
+
}
|
|
31338
|
+
/**
|
|
31339
|
+
* Returns the stored attempted route without removing it.
|
|
31340
|
+
*/
|
|
31341
|
+
function peekAttemptedRoute() {
|
|
31342
|
+
return peekAttemptedRoute$1(readAttemptedRouteConfig());
|
|
31343
|
+
}
|
|
31344
|
+
/**
|
|
31345
|
+
* Returns and removes the stored attempted route, or `null` when none is valid.
|
|
31346
|
+
*/
|
|
31347
|
+
function consumeAttemptedRoute() {
|
|
31348
|
+
return consumeAttemptedRoute$1(readAttemptedRouteConfig());
|
|
31349
|
+
}
|
|
31350
|
+
/**
|
|
31351
|
+
* Removes any stored attempted route.
|
|
31352
|
+
*/
|
|
31353
|
+
function clearAttemptedRoute() {
|
|
31354
|
+
clearAttemptedRoute$1(readAttemptedRouteConfig());
|
|
31355
|
+
}
|
|
31356
|
+
/**
|
|
31357
|
+
* Returns the stored attempted route, or `authenticatedRoot` when none is valid.
|
|
31358
|
+
* Consumes the stored value.
|
|
31359
|
+
*/
|
|
31360
|
+
function resolvePostLoginUrl() {
|
|
31361
|
+
return resolvePostLoginUrl$1(readAttemptedRouteConfig());
|
|
31362
|
+
}
|
|
31363
|
+
/**
|
|
31364
|
+
* Builds an absolute URL pointing at the configured login page.
|
|
31365
|
+
* Use this as the SSO `successfulUrl` so the identity provider returns to the login page, not the deep link.
|
|
31366
|
+
*/
|
|
31367
|
+
function buildLoginPageUrl(extraQuery) {
|
|
31368
|
+
return buildLoginPageUrlWithOrigin(window.location.origin, GlobalInjector.config.rbkUtils.authentication.nonAuthenticatedRoot, extraQuery);
|
|
31369
|
+
}
|
|
31370
|
+
|
|
31167
31371
|
/* 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 */
|
|
31168
31372
|
class RbkAuthGuard {
|
|
31169
31373
|
store;
|
|
31170
31374
|
constructor(store) {
|
|
31171
31375
|
this.store = store;
|
|
31172
31376
|
}
|
|
31173
|
-
async canActivate(snapshot) {
|
|
31377
|
+
async canActivate(snapshot, state) {
|
|
31174
31378
|
if (GlobalInjector.config.debugMode)
|
|
31175
31379
|
console.groupCollapsed(`RbkAuthGuard on route /${snapshot.routeConfig.path}`);
|
|
31176
31380
|
let isAuthenticated = this.store.selectSnapshot(AuthenticationSelectors.isAuthenticated);
|
|
@@ -31211,6 +31415,10 @@ class RbkAuthGuard {
|
|
|
31211
31415
|
if (!isAuthenticated) {
|
|
31212
31416
|
if (GlobalInjector.config.debugMode)
|
|
31213
31417
|
console.log('[RbkAuthGuard] Could not login locally using localstorage, redirecting user to landing page');
|
|
31418
|
+
if (GlobalInjector.config.rbkUtils.authentication.returnToAttemptedRoute === true) {
|
|
31419
|
+
const attemptedRoute = composeAttemptedRoute(state.url, snapshot.fragment);
|
|
31420
|
+
captureAttemptedRoute(attemptedRoute);
|
|
31421
|
+
}
|
|
31214
31422
|
this.store.dispatch(new Navigate([GlobalInjector.config.rbkUtils.authentication.nonAuthenticatedRoot]));
|
|
31215
31423
|
// this.store.dispatch(new ToastActions.Error('Usuário não autenticado, redirecionando para ' + GlobalInjector.config.authentication.nonAuthenticatedRoot));
|
|
31216
31424
|
}
|
|
@@ -31295,13 +31503,15 @@ class BoilerplateService {
|
|
|
31295
31503
|
titleService;
|
|
31296
31504
|
store;
|
|
31297
31505
|
actions$;
|
|
31506
|
+
router;
|
|
31298
31507
|
subs1;
|
|
31299
31508
|
subs2;
|
|
31300
31509
|
subs3;
|
|
31301
|
-
constructor(titleService, store, actions
|
|
31510
|
+
constructor(titleService, store, actions$, router) {
|
|
31302
31511
|
this.titleService = titleService;
|
|
31303
31512
|
this.store = store;
|
|
31304
31513
|
this.actions$ = actions$;
|
|
31514
|
+
this.router = router;
|
|
31305
31515
|
}
|
|
31306
31516
|
init(callback) {
|
|
31307
31517
|
if (callback != null) {
|
|
@@ -31312,12 +31522,11 @@ class BoilerplateService {
|
|
|
31312
31522
|
if (GlobalInjector.config.rbkUtils.useTitleService === true) {
|
|
31313
31523
|
this.titleService.init();
|
|
31314
31524
|
}
|
|
31315
|
-
this.subs1 = this.actions$.subscribe(
|
|
31316
|
-
|
|
31317
|
-
this.store.dispatch(new Navigate([GlobalInjector.config.rbkUtils.authentication.authenticatedRoot]));
|
|
31318
|
-
}
|
|
31525
|
+
this.subs1 = this.actions$.pipe(ofActionSuccessful(AuthenticationActions.RemoteLoginSuccess)).subscribe(() => {
|
|
31526
|
+
this.navigateAfterRemoteLoginSuccess();
|
|
31319
31527
|
});
|
|
31320
31528
|
this.subs3 = this.actions$.pipe(ofActionDispatched(AuthenticationActions.Logout)).subscribe((event) => {
|
|
31529
|
+
clearAttemptedRoute();
|
|
31321
31530
|
this.store.dispatch(new Navigate([event.redirectTo ?? GlobalInjector.config.rbkUtils.authentication.login.route]));
|
|
31322
31531
|
this.store.dispatch(new DatabaseActions.Clear());
|
|
31323
31532
|
this.store.dispatch(new FeaturesActions.Clear());
|
|
@@ -31325,6 +31534,14 @@ class BoilerplateService {
|
|
|
31325
31534
|
});
|
|
31326
31535
|
this.store.dispatch(new AuthenticationActions.LocalLogin());
|
|
31327
31536
|
}
|
|
31537
|
+
navigateAfterRemoteLoginSuccess() {
|
|
31538
|
+
const shouldReturnToAttemptedRoute = GlobalInjector.config.rbkUtils.authentication.returnToAttemptedRoute === true;
|
|
31539
|
+
if (shouldReturnToAttemptedRoute) {
|
|
31540
|
+
this.router.navigateByUrl(resolvePostLoginUrl());
|
|
31541
|
+
return;
|
|
31542
|
+
}
|
|
31543
|
+
this.store.dispatch(new Navigate([GlobalInjector.config.rbkUtils.authentication.authenticatedRoot]));
|
|
31544
|
+
}
|
|
31328
31545
|
killSubscriptions() {
|
|
31329
31546
|
if (GlobalInjector.config.debugMode)
|
|
31330
31547
|
console.log('[Boilerplate Service] Killing subscriptions, if any');
|
|
@@ -31335,13 +31552,13 @@ class BoilerplateService {
|
|
|
31335
31552
|
if (this.subs3 != null)
|
|
31336
31553
|
this.subs3.unsubscribe();
|
|
31337
31554
|
}
|
|
31338
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: BoilerplateService, deps: [{ token: TitleService }, { token: i1$6.Store }, { token: i1$6.Actions }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31555
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: BoilerplateService, deps: [{ token: TitleService }, { token: i1$6.Store }, { token: i1$6.Actions }, { token: i1$9.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31339
31556
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: BoilerplateService, providedIn: 'root' });
|
|
31340
31557
|
}
|
|
31341
31558
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: BoilerplateService, decorators: [{
|
|
31342
31559
|
type: Injectable,
|
|
31343
31560
|
args: [{ providedIn: 'root' }]
|
|
31344
|
-
}], ctorParameters: () => [{ type: TitleService }, { type: i1$6.Store }, { type: i1$6.Actions }] });
|
|
31561
|
+
}], ctorParameters: () => [{ type: TitleService }, { type: i1$6.Store }, { type: i1$6.Actions }, { type: i1$9.Router }] });
|
|
31345
31562
|
|
|
31346
31563
|
/* 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, @angular-eslint/directive-selector */
|
|
31347
31564
|
class InputClearExtensionDirective {
|
|
@@ -44031,6 +44248,11 @@ class SmzTreeBuilder {
|
|
|
44031
44248
|
collapseLabel: '',
|
|
44032
44249
|
expandLabel: ''
|
|
44033
44250
|
},
|
|
44251
|
+
treeSelectionButtons: {
|
|
44252
|
+
isVisible: false,
|
|
44253
|
+
selectAllLabel: '',
|
|
44254
|
+
clearSelectionLabel: '',
|
|
44255
|
+
},
|
|
44034
44256
|
},
|
|
44035
44257
|
},
|
|
44036
44258
|
footer: {
|
|
@@ -44166,6 +44388,14 @@ class SmzTreeToolbarBuilder {
|
|
|
44166
44388
|
};
|
|
44167
44389
|
return this;
|
|
44168
44390
|
}
|
|
44391
|
+
useTreeSelectionButtons(selectAllLabel = '', clearSelectionLabel = '') {
|
|
44392
|
+
this.treeBuilderRef.treeState.header.toolbar.treeSelectionButtons = {
|
|
44393
|
+
isVisible: true,
|
|
44394
|
+
selectAllLabel: selectAllLabel,
|
|
44395
|
+
clearSelectionLabel: clearSelectionLabel,
|
|
44396
|
+
};
|
|
44397
|
+
return this;
|
|
44398
|
+
}
|
|
44169
44399
|
// public useNodeExpandButtons(expandLabel: string = '', collapseLabel: string = '',
|
|
44170
44400
|
// expandTooltip: string = 'Expandir nó selecionado', collapseTooltip: string = 'Colapsar nó selecionado',
|
|
44171
44401
|
// disabledTooltip: string = 'Selecione um nó da árvore'): SmzTreeToolbarBuilder {
|
|
@@ -44545,6 +44775,12 @@ class SmzTreeComponent {
|
|
|
44545
44775
|
primeSelection = [];
|
|
44546
44776
|
selection = [];
|
|
44547
44777
|
selectionKey = 'key';
|
|
44778
|
+
get hasSelection() {
|
|
44779
|
+
if (isArray(this.primeSelection)) {
|
|
44780
|
+
return this.primeSelection.length > 0;
|
|
44781
|
+
}
|
|
44782
|
+
return this.primeSelection != null;
|
|
44783
|
+
}
|
|
44548
44784
|
// Evento emitido quando o array de nodes selecionados é atualizado
|
|
44549
44785
|
selectedNodes = new EventEmitter();
|
|
44550
44786
|
// Evento emitido quando um nó da árvore é selecionado ou é clicado com o botão direito do mouse
|
|
@@ -44793,17 +45029,13 @@ class SmzTreeComponent {
|
|
|
44793
45029
|
return newResults;
|
|
44794
45030
|
}
|
|
44795
45031
|
expandAll() {
|
|
44796
|
-
this.
|
|
44797
|
-
this.expandRecursive(node, true);
|
|
44798
|
-
});
|
|
45032
|
+
this.setAllNodesExpanded(true);
|
|
44799
45033
|
setTimeout(() => {
|
|
44800
45034
|
this.treeExpanded.emit();
|
|
44801
45035
|
}, 200);
|
|
44802
45036
|
}
|
|
44803
45037
|
collapseAll() {
|
|
44804
|
-
this.
|
|
44805
|
-
this.expandRecursive(node, false);
|
|
44806
|
-
});
|
|
45038
|
+
this.setAllNodesExpanded(false);
|
|
44807
45039
|
setTimeout(() => {
|
|
44808
45040
|
this.nodeCollapsed.emit(null);
|
|
44809
45041
|
}, 200);
|
|
@@ -44811,6 +45043,7 @@ class SmzTreeComponent {
|
|
|
44811
45043
|
expandNode() {
|
|
44812
45044
|
if (this.primeSelection != null) {
|
|
44813
45045
|
this.expandRecursive(this.primeSelection, true);
|
|
45046
|
+
this.refreshTreeView();
|
|
44814
45047
|
setTimeout(() => {
|
|
44815
45048
|
this.nodeExpanded.emit({ node: this.primeSelection });
|
|
44816
45049
|
}, 200);
|
|
@@ -44819,11 +45052,47 @@ class SmzTreeComponent {
|
|
|
44819
45052
|
collapseNode() {
|
|
44820
45053
|
if (this.primeSelection != null) {
|
|
44821
45054
|
this.expandRecursive(this.primeSelection, false);
|
|
45055
|
+
this.refreshTreeView();
|
|
44822
45056
|
setTimeout(() => {
|
|
44823
45057
|
this.nodeCollapsed.emit({ node: this.primeSelection });
|
|
44824
45058
|
}, 200);
|
|
44825
45059
|
}
|
|
44826
45060
|
}
|
|
45061
|
+
collectSelectableNodeKeys(nodes) {
|
|
45062
|
+
const keys = [];
|
|
45063
|
+
if (nodes == null) {
|
|
45064
|
+
return keys;
|
|
45065
|
+
}
|
|
45066
|
+
const traverse = (node) => {
|
|
45067
|
+
if (node.key != null && node.selectable !== false) {
|
|
45068
|
+
keys.push(String(node.key));
|
|
45069
|
+
}
|
|
45070
|
+
if (node.children != null) {
|
|
45071
|
+
node.children.forEach((childNode) => traverse(childNode));
|
|
45072
|
+
}
|
|
45073
|
+
};
|
|
45074
|
+
nodes.forEach((node) => traverse(node));
|
|
45075
|
+
return keys;
|
|
45076
|
+
}
|
|
45077
|
+
selectAll() {
|
|
45078
|
+
const selectionMode = this.state?.selection?.mode ?? 'single';
|
|
45079
|
+
if (selectionMode === 'single') {
|
|
45080
|
+
return;
|
|
45081
|
+
}
|
|
45082
|
+
const selectedKeys = this.collectSelectableNodeKeys(this.treeItems);
|
|
45083
|
+
const expandNodes = this.state?.selection?.expandNodes ?? true;
|
|
45084
|
+
this.primeSelection = resolveTreeNodeSelection(this.treeItems, selectedKeys, expandNodes);
|
|
45085
|
+
this.refreshTreeView();
|
|
45086
|
+
this.selectedNodes.emit(this.primeSelection);
|
|
45087
|
+
this.selectionChange.emit(null);
|
|
45088
|
+
}
|
|
45089
|
+
clearSelection() {
|
|
45090
|
+
const selectionMode = this.state?.selection?.mode ?? 'single';
|
|
45091
|
+
this.primeSelection = selectionMode === 'single' ? null : [];
|
|
45092
|
+
this.selectedNodes.emit(selectionMode === 'single' ? [] : this.primeSelection);
|
|
45093
|
+
this.selectionChange.emit(null);
|
|
45094
|
+
this.cdr.markForCheck();
|
|
45095
|
+
}
|
|
44827
45096
|
// Método que recebe o evento de arrastar do prime e repassa para o nosso serviço de drag and drop.
|
|
44828
45097
|
// Inicialmente ele verifica se a operação é permitida e envia o accept para o prime, entretanto
|
|
44829
45098
|
// o dados do evento só podem ser lidos depois de um tempo pre-definido porque o parent do nó
|
|
@@ -44877,6 +45146,54 @@ class SmzTreeComponent {
|
|
|
44877
45146
|
});
|
|
44878
45147
|
}
|
|
44879
45148
|
}
|
|
45149
|
+
setAllNodesExpanded(isExpand) {
|
|
45150
|
+
this.treeItems?.forEach((node) => {
|
|
45151
|
+
this.expandRecursive(node, isExpand);
|
|
45152
|
+
});
|
|
45153
|
+
this.refreshTreeView();
|
|
45154
|
+
}
|
|
45155
|
+
// PrimeNG Tree (OnPush) ignores in-place `expanded` mutations. Replacing the root
|
|
45156
|
+
// node objects forces p-treeNode to recreate and read the new expansion state.
|
|
45157
|
+
refreshTreeView() {
|
|
45158
|
+
if (this.treeItems == null) {
|
|
45159
|
+
return;
|
|
45160
|
+
}
|
|
45161
|
+
this.treeItems = this.treeItems.map((node) => this.cloneRootNode(node));
|
|
45162
|
+
this.rematchPrimeSelection();
|
|
45163
|
+
this.cdr.markForCheck();
|
|
45164
|
+
}
|
|
45165
|
+
cloneRootNode(node) {
|
|
45166
|
+
const clonedRootNode = { ...node };
|
|
45167
|
+
if (clonedRootNode.children != null) {
|
|
45168
|
+
clonedRootNode.children.forEach((childNode) => {
|
|
45169
|
+
childNode.parent = clonedRootNode;
|
|
45170
|
+
});
|
|
45171
|
+
}
|
|
45172
|
+
return clonedRootNode;
|
|
45173
|
+
}
|
|
45174
|
+
rematchPrimeSelection() {
|
|
45175
|
+
if (this.primeSelection == null || this.treeItems == null) {
|
|
45176
|
+
return;
|
|
45177
|
+
}
|
|
45178
|
+
if (isArray(this.primeSelection)) {
|
|
45179
|
+
this.primeSelection = this.primeSelection.map((selectedNode) => {
|
|
45180
|
+
if (selectedNode?.key == null) {
|
|
45181
|
+
return selectedNode;
|
|
45182
|
+
}
|
|
45183
|
+
const matchedNode = getTreeNodeFromKey(this.treeItems, selectedNode.key);
|
|
45184
|
+
return matchedNode ?? selectedNode;
|
|
45185
|
+
});
|
|
45186
|
+
return;
|
|
45187
|
+
}
|
|
45188
|
+
const selectedNode = this.primeSelection;
|
|
45189
|
+
if (selectedNode?.key == null) {
|
|
45190
|
+
return;
|
|
45191
|
+
}
|
|
45192
|
+
const matchedNode = getTreeNodeFromKey(this.treeItems, selectedNode.key);
|
|
45193
|
+
if (matchedNode != null) {
|
|
45194
|
+
this.primeSelection = matchedNode;
|
|
45195
|
+
}
|
|
45196
|
+
}
|
|
44880
45197
|
// Método que verifica se uma operação é permitida ou não, baseado nas regras da configuração
|
|
44881
45198
|
check(event) {
|
|
44882
45199
|
// console.log(`D&D: Dropped [${event.dragNode.label} (${event.dragNode.type})] into [${event.dropNode.label} (${event.dropNode.type})], index=${event.index}`);
|
|
@@ -44981,11 +45298,11 @@ class SmzTreeComponent {
|
|
|
44981
45298
|
}
|
|
44982
45299
|
}
|
|
44983
45300
|
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 });
|
|
44984
|
-
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" }, providers: [TreeDragDropService], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "dt", first: true, predicate: Tree, 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 pTemplate=\"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 <p-contextMenu #cm [model]=\"menuItems\" [appendTo]=\"appendTo\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></p-contextMenu>\r\n <p-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" />\r\n <p-tree #dt [value]=\"treeItems\"\r\n scrollHeight=\"flex\"\r\n [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\"\r\n [selectionMode]=\"state.selection.mode\"\r\n [(selection)]=\"primeSelection\"\r\n layout=\"vertical\"\r\n [style]=\"inlineStyle\"\r\n [styleClass]=\"styleClass\"\r\n [propagateSelectionUp]=\"state.selection.propagateUp\"\r\n [propagateSelectionDown]=\"state.selection.propagateDown\"\r\n [loading]=\"state.loading.isLoading\"\r\n [loadingIcon]=\"state.loading.icon\"\r\n [filter]=\"false\"\r\n [filterMode]=\"state.filter.mode\"\r\n [filterPlaceholder]=\"state.filter.textPlaceholder\"\r\n [draggableNodes]=\"state.dragAndDrop.draggable\"\r\n [droppableNodes]=\"state.dragAndDrop.droppable\"\r\n [validateDrop]=\"state.dragAndDrop.validateDrop\"\r\n (onNodeContextMenuSelect)=\"onContextMenuOpen($event)\"\r\n (onNodeSelect)=\"onSelected($event)\"\r\n (onNodeUnselect)=\"onUnselected($event)\"\r\n (onNodeExpand)=\"onExpanded($event)\"\r\n (onNodeCollapse)=\"onCollapsed($event)\"\r\n (onNodeDrop)=\"onDropped($event)\"\r\n (onFilter)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template pTemplate=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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' }\"\r\n [label]=\"button.label\"\r\n [icon]=\"button.icon\"\r\n (click)=\"onToolbarButtonClick($event, button, treeItems)\"\r\n [pTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.nodeExpandButtons.expandLabel\"\r\n icon=\"fa-solid fa-angle-down\"\r\n (click)=\"expandNode()\"\r\n [pTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\"\r\n [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.nodeExpandButtons.collapseLabel\"\r\n icon=\"fa-solid fa-angle-up\"\r\n (click)=\"collapseNode()\"\r\n [pTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\"\r\n [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeExpandButtons.expandLabel\"\r\n icon=\"fa-solid fa-angles-down\"\r\n (click)=\"expandAll()\"\r\n [pTooltip]=\"\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeExpandButtons.collapseLabel\"\r\n icon=\"fa-solid fa-angles-up\"\r\n (click)=\"collapseAll()\"\r\n [pTooltip]=\"\">\r\n </button>\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 <p-iconfield class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\r\n <p-inputicon styleClass=\"pi pi-search\" />\r\n <input #inputGlobal pInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </p-iconfield>\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 pTemplate=\"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 [pTemplate]=\"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 <p-button clickStopPropagation (onClick)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"/>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node pTemplate=\"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 <p-button clickStopPropagation (onClick)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"/>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </p-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$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { 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: i1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "component", type: i8$2.ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay", "appendTo", "motionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i9$1.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "loadingMode", "selection", "styleClass", "contextMenu", "contextMenuSelectionMode", "contextMenuSelection", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterInputAutoFocus", "filterBy", "filterMode", "filterOptions", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "highlightOnSelect"], outputs: ["selectionChange", "contextMenuSelectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDoubleClick", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: i11$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i26.IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "component", type: i27.InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
45301
|
+
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" }, providers: [TreeDragDropService], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "dt", first: true, predicate: Tree, 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 pTemplate=\"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 <p-contextMenu #cm [model]=\"menuItems\" [appendTo]=\"appendTo\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></p-contextMenu>\r\n <p-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" />\r\n <p-tree #dt [value]=\"treeItems\"\r\n scrollHeight=\"flex\"\r\n [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\"\r\n [selectionMode]=\"state.selection.mode\"\r\n [(selection)]=\"primeSelection\"\r\n layout=\"vertical\"\r\n [style]=\"inlineStyle\"\r\n [styleClass]=\"styleClass\"\r\n [propagateSelectionUp]=\"state.selection.propagateUp\"\r\n [propagateSelectionDown]=\"state.selection.propagateDown\"\r\n [loading]=\"state.loading.isLoading\"\r\n [loadingIcon]=\"state.loading.icon\"\r\n [filter]=\"false\"\r\n [filterMode]=\"state.filter.mode\"\r\n [filterPlaceholder]=\"state.filter.textPlaceholder\"\r\n [draggableNodes]=\"state.dragAndDrop.draggable\"\r\n [droppableNodes]=\"state.dragAndDrop.droppable\"\r\n [validateDrop]=\"state.dragAndDrop.validateDrop\"\r\n (onNodeContextMenuSelect)=\"onContextMenuOpen($event)\"\r\n (onNodeSelect)=\"onSelected($event)\"\r\n (onNodeUnselect)=\"onUnselected($event)\"\r\n (onNodeExpand)=\"onExpanded($event)\"\r\n (onNodeCollapse)=\"onCollapsed($event)\"\r\n (onNodeDrop)=\"onDropped($event)\"\r\n (onFilter)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template pTemplate=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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' }\"\r\n [label]=\"button.label\"\r\n [icon]=\"button.icon\"\r\n (click)=\"onToolbarButtonClick($event, button, treeItems)\"\r\n [pTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.nodeExpandButtons.expandLabel\"\r\n icon=\"fa-solid fa-angle-down\"\r\n (click)=\"expandNode()\"\r\n [pTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\"\r\n [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.nodeExpandButtons.collapseLabel\"\r\n icon=\"fa-solid fa-angle-up\"\r\n (click)=\"collapseNode()\"\r\n [pTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\"\r\n [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeExpandButtons.expandLabel\"\r\n icon=\"fa-solid fa-angles-down\"\r\n (click)=\"expandAll()\"\r\n [pTooltip]=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeExpandButtons.collapseLabel\"\r\n icon=\"fa-solid fa-angles-up\"\r\n (click)=\"collapseAll()\"\r\n [pTooltip]=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeSelectionButtons.selectAllLabel\"\r\n icon=\"fa-solid fa-check-double\"\r\n (click)=\"selectAll()\"\r\n [disabled]=\"state.selection?.mode === 'single'\"\r\n [pTooltip]=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\"\r\n icon=\"fa-solid fa-eraser\"\r\n (click)=\"clearSelection()\"\r\n [disabled]=\"!hasSelection\"\r\n [pTooltip]=\"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 <p-iconfield class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\r\n <p-inputicon styleClass=\"pi pi-search\" />\r\n <input #inputGlobal pInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </p-iconfield>\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 pTemplate=\"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 [pTemplate]=\"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 <p-button clickStopPropagation (onClick)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"/>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node pTemplate=\"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 <p-button clickStopPropagation (onClick)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"/>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </p-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$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { 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: i1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "component", type: i8$2.ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay", "appendTo", "motionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i9$1.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "loadingMode", "selection", "styleClass", "contextMenu", "contextMenuSelectionMode", "contextMenuSelection", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterInputAutoFocus", "filterBy", "filterMode", "filterOptions", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "highlightOnSelect"], outputs: ["selectionChange", "contextMenuSelectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDoubleClick", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: i11$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i26.IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "component", type: i27.InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
44985
45302
|
}
|
|
44986
45303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeComponent, decorators: [{
|
|
44987
45304
|
type: Component,
|
|
44988
|
-
args: [{ selector: 'smz-ui-tree', changeDetection: ChangeDetectionStrategy.Default, providers: [TreeDragDropService], 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 pTemplate=\"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 <p-contextMenu #cm [model]=\"menuItems\" [appendTo]=\"appendTo\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></p-contextMenu>\r\n <p-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" />\r\n <p-tree #dt [value]=\"treeItems\"\r\n scrollHeight=\"flex\"\r\n [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\"\r\n [selectionMode]=\"state.selection.mode\"\r\n [(selection)]=\"primeSelection\"\r\n layout=\"vertical\"\r\n [style]=\"inlineStyle\"\r\n [styleClass]=\"styleClass\"\r\n [propagateSelectionUp]=\"state.selection.propagateUp\"\r\n [propagateSelectionDown]=\"state.selection.propagateDown\"\r\n [loading]=\"state.loading.isLoading\"\r\n [loadingIcon]=\"state.loading.icon\"\r\n [filter]=\"false\"\r\n [filterMode]=\"state.filter.mode\"\r\n [filterPlaceholder]=\"state.filter.textPlaceholder\"\r\n [draggableNodes]=\"state.dragAndDrop.draggable\"\r\n [droppableNodes]=\"state.dragAndDrop.droppable\"\r\n [validateDrop]=\"state.dragAndDrop.validateDrop\"\r\n (onNodeContextMenuSelect)=\"onContextMenuOpen($event)\"\r\n (onNodeSelect)=\"onSelected($event)\"\r\n (onNodeUnselect)=\"onUnselected($event)\"\r\n (onNodeExpand)=\"onExpanded($event)\"\r\n (onNodeCollapse)=\"onCollapsed($event)\"\r\n (onNodeDrop)=\"onDropped($event)\"\r\n (onFilter)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template pTemplate=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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' }\"\r\n [label]=\"button.label\"\r\n [icon]=\"button.icon\"\r\n (click)=\"onToolbarButtonClick($event, button, treeItems)\"\r\n [pTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.nodeExpandButtons.expandLabel\"\r\n icon=\"fa-solid fa-angle-down\"\r\n (click)=\"expandNode()\"\r\n [pTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\"\r\n [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.nodeExpandButtons.collapseLabel\"\r\n icon=\"fa-solid fa-angle-up\"\r\n (click)=\"collapseNode()\"\r\n [pTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\"\r\n [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeExpandButtons.expandLabel\"\r\n icon=\"fa-solid fa-angles-down\"\r\n (click)=\"expandAll()\"\r\n [pTooltip]=\"\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeExpandButtons.collapseLabel\"\r\n icon=\"fa-solid fa-angles-up\"\r\n (click)=\"collapseAll()\"\r\n [pTooltip]=\"\">\r\n </button>\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 <p-iconfield class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\r\n <p-inputicon styleClass=\"pi pi-search\" />\r\n <input #inputGlobal pInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </p-iconfield>\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 pTemplate=\"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 [pTemplate]=\"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 <p-button clickStopPropagation (onClick)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"/>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node pTemplate=\"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 <p-button clickStopPropagation (onClick)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"/>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </p-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" }]
|
|
45305
|
+
args: [{ selector: 'smz-ui-tree', changeDetection: ChangeDetectionStrategy.Default, providers: [TreeDragDropService], 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 pTemplate=\"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 <p-contextMenu #cm [model]=\"menuItems\" [appendTo]=\"appendTo\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></p-contextMenu>\r\n <p-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" />\r\n <p-tree #dt [value]=\"treeItems\"\r\n scrollHeight=\"flex\"\r\n [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\"\r\n [selectionMode]=\"state.selection.mode\"\r\n [(selection)]=\"primeSelection\"\r\n layout=\"vertical\"\r\n [style]=\"inlineStyle\"\r\n [styleClass]=\"styleClass\"\r\n [propagateSelectionUp]=\"state.selection.propagateUp\"\r\n [propagateSelectionDown]=\"state.selection.propagateDown\"\r\n [loading]=\"state.loading.isLoading\"\r\n [loadingIcon]=\"state.loading.icon\"\r\n [filter]=\"false\"\r\n [filterMode]=\"state.filter.mode\"\r\n [filterPlaceholder]=\"state.filter.textPlaceholder\"\r\n [draggableNodes]=\"state.dragAndDrop.draggable\"\r\n [droppableNodes]=\"state.dragAndDrop.droppable\"\r\n [validateDrop]=\"state.dragAndDrop.validateDrop\"\r\n (onNodeContextMenuSelect)=\"onContextMenuOpen($event)\"\r\n (onNodeSelect)=\"onSelected($event)\"\r\n (onNodeUnselect)=\"onUnselected($event)\"\r\n (onNodeExpand)=\"onExpanded($event)\"\r\n (onNodeCollapse)=\"onCollapsed($event)\"\r\n (onNodeDrop)=\"onDropped($event)\"\r\n (onFilter)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template pTemplate=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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' }\"\r\n [label]=\"button.label\"\r\n [icon]=\"button.icon\"\r\n (click)=\"onToolbarButtonClick($event, button, treeItems)\"\r\n [pTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.nodeExpandButtons.expandLabel\"\r\n icon=\"fa-solid fa-angle-down\"\r\n (click)=\"expandNode()\"\r\n [pTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\"\r\n [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.nodeExpandButtons.collapseLabel\"\r\n icon=\"fa-solid fa-angle-up\"\r\n (click)=\"collapseNode()\"\r\n [pTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\"\r\n [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeExpandButtons.expandLabel\"\r\n icon=\"fa-solid fa-angles-down\"\r\n (click)=\"expandAll()\"\r\n [pTooltip]=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeExpandButtons.collapseLabel\"\r\n icon=\"fa-solid fa-angles-up\"\r\n (click)=\"collapseAll()\"\r\n [pTooltip]=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeSelectionButtons.selectAllLabel\"\r\n icon=\"fa-solid fa-check-double\"\r\n (click)=\"selectAll()\"\r\n [disabled]=\"state.selection?.mode === 'single'\"\r\n [pTooltip]=\"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\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n [ngClass]=\"{ '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 }\"\r\n [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\"\r\n icon=\"fa-solid fa-eraser\"\r\n (click)=\"clearSelection()\"\r\n [disabled]=\"!hasSelection\"\r\n [pTooltip]=\"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 <p-iconfield class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\r\n <p-inputicon styleClass=\"pi pi-search\" />\r\n <input #inputGlobal pInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </p-iconfield>\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 pTemplate=\"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 [pTemplate]=\"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 <p-button clickStopPropagation (onClick)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"/>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node pTemplate=\"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 <p-button clickStopPropagation (onClick)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"/>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </p-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" }]
|
|
44989
45306
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TreeHelperService }], propDecorators: { dt: [{
|
|
44990
45307
|
type: ViewChild,
|
|
44991
45308
|
args: [Tree]
|
|
@@ -50453,6 +50770,15 @@ class SmzUiAuthenticationBuilder extends SmzBuilderUtilities {
|
|
|
50453
50770
|
this._builder._state.rbkUtils.authentication.login.page.useSmzLoginModule = false;
|
|
50454
50771
|
return this.that;
|
|
50455
50772
|
}
|
|
50773
|
+
/**
|
|
50774
|
+
* After a successful remote login, navigate back to the route the auth guard intercepted
|
|
50775
|
+
* (including query parameters) instead of always using `authenticatedRoot`.
|
|
50776
|
+
* `authenticatedRoot` remains the fallback when no attempted route was stored.
|
|
50777
|
+
*/
|
|
50778
|
+
returnToAttemptedRoute() {
|
|
50779
|
+
this._builder._state.rbkUtils.authentication.returnToAttemptedRoute = true;
|
|
50780
|
+
return this.that;
|
|
50781
|
+
}
|
|
50456
50782
|
mapAccessTokenData(from, to, type) {
|
|
50457
50783
|
this._builder._state.rbkUtils.authentication.accessTokenClaims.push({ claimName: from, propertyName: to, type });
|
|
50458
50784
|
return this.that;
|
|
@@ -51503,6 +51829,7 @@ class SmzUiBuilder extends SmzBuilderUtilities {
|
|
|
51503
51829
|
localStoragePrefix: 'ui-demo',
|
|
51504
51830
|
authenticatedRoot: '/home',
|
|
51505
51831
|
nonAuthenticatedRoot: '/login',
|
|
51832
|
+
returnToAttemptedRoute: false,
|
|
51506
51833
|
allowSuperuser: false,
|
|
51507
51834
|
useSingleTenantAplication: false,
|
|
51508
51835
|
allowTenantSwitching: false,
|
|
@@ -57895,5 +58222,5 @@ __decorate([
|
|
|
57895
58222
|
* Generated bundle index. Do not edit.
|
|
57896
58223
|
*/
|
|
57897
58224
|
|
|
57898
|
-
export { AUTHORIZATION_HEADER, AccessControlService, ActionDispatchDirective, ApplicationActions, ApplicationSelectors, ApplicationState, AsPipe, AthenaLayout, AthenaLayoutComponent, AthenaLayoutModule, AuthClaimDefinitions, AuthHandler, AuthService, AuthenticationActions, AuthenticationSelectors, AuthenticationService, AuthenticationState, AuthorizationService, AxisOverflowDirection, AxisOverflowType, AxisPosition, BaseApiService, BoilerplateService, BreadcrumbService, CLAIMS_PAGE_ROUTE, CLAIMS_PATH, CLAIMS_STATE_NAME, CONTENT_ENCODING_HEADER, CachedRouteReuseStrategy, CalendarComponent, CalendarPipe, CanAccess, ChartType, CheckBoxComponent, CheckBoxGroupComponent, ClaimAccessType, ClaimAccessTypeDescription, ClaimAccessTypeValues, ClaimsActions, ClaimsModule, ClaimsSelectors, ClaimsState, ClickStopPropagationDirective, ClickStopPropagationModule, ClonePipe, ColorPallete, ColorPickerComponent, Confirmable, CreateLinearChart, CreateRadialChart, CustomError, CustomNgForDirective, CustomNgForModule, DATABASE_REQUIRED_ACTIONS, DATABASE_STATES, DECORATOR_APPLIED, DEFAULT_AUTHENTICATION_ENDPOINTS_ROUTES, DEFAULT_AUTHORIZATION_ENDPOINTS_ROUTES, DatabaseActions, DatabaseSelectors, DatabaseState, DatasetType, DeepWrapper, DescribeAnyPipe, DescribeArrayPipe, DescribeSimpleNamedPipe, DialogContentManagerComponent, DialogService, DropdownComponent, DynamicDialogComponent, DynamicDialogConfig, DynamicDialogInjector, DynamicDialogModule, DynamicDialogRef, ERROR_HANDLING_TYPE_HEADER, ExcelsUiActions, FEATURE_STATES, FeaturesActions, FeaturesSelectors, FeaturesState, FileUploadComponent, FilterContains, FirstOrDefaultPipe, FormGroupComponent, FormSubmitComponent, GenericInjectComponentDirective, GetElementById, GetElementsByParentId, GlobalActions, GlobalFilter, GlobalInjector, GlobalLoaderComponent, GlobalLoaderModule, GlobalState, GroupingType, HephaestusLayout, HephaestusLayoutComponent, HephaestusLayoutModule, HephaestusProviderModule, HostElement, HttpErrorHandler, IGNORE_ERROR_HANDLING, InViewportMetadata, InjectComponentDirective, InjectComponentService, InjectContentAppModule, InjectContentDirective, InjectContentService, InputBlurDetectionModule, InputChangeDetectionDirective, InputClearExtensionDirective, InputCurrencyComponent, InputListComponent, InputMaskComponent, InputNumberComponent, InputPasswordComponent, InputSwitchComponent, InputTagAreaComponent, InputTextAreaComponent, InputTextComponent, InputTreeComponent, IsVisiblePipe, IsVisiblePipeModule, JoinPipe, LOADING_BEHAVIOR_HEADER, LOCAL_LOADING_TAG_HEADER, LayoutUiActions, LayoutUiSelectors, LayoutUiState, LegacyAuthenticationSelectors, LinearChartBuilder, LinkedDropdownComponent, LinkedMultiSelectComponent, LoggingScope, LoggingService, MAIN_LAYOUT_PATH, MentionableTextareaComponent, MenuHelperService, MenuType, MergeClonePipe, MergeClonePipeModule, MultiSelectComponent, NG_ON_INIT, NewAthenaLayout, NewAthenaLayoutComponent, NewAthenaLayoutModule, NewAthenaProviderModule, NgCloneDirective, NgCloneModule, NgIfLandscapeDirective, NgIfLandscapeDirectiveModule, NgIfPortraitDirective, NgIfPortraitDirectiveModule, NgVar, NgVarContext, NgVarModule, NgxRbkUtilsConfig, NgxRbkUtilsModule, NgxSmzCardsModule, NgxSmzCommentsModule, NgxSmzDataInfoModule, NgxSmzDataPipesModule, NgxSmzDialogsModule, NgxSmzDockModule, NgxSmzDocumentsModule, NgxSmzFaqsModule, NgxSmzFormsModule, NgxSmzLayoutsModule, NgxSmzMenuModule, NgxSmzMultiTablesModule, NgxSmzRouterParamsModule, NgxSmzSafeImageModule, NgxSmzServerImageModule, NgxSmzServerImageToBase64Module, NgxSmzSideContentModule, NgxSmzTablesModule, NgxSmzTreeWithDetailsModule, NgxSmzTreesModule, NgxSmzUiBlockModule, NgxSmzUiComponent, NgxSmzUiConfig, NgxSmzUiGuidesModule, NgxSmzUiModule, NgxSmzViewportModule, NotificationFolder, NotificationFolderStatus, NotificationStatus, NotificationType, NotificationTypeClass, NotificationsUiActions, NotificationsUiSelectors, PrettyJsonPipe$1 as PrettyJsonPipe, PrettyJsonPipeModule, PrimeConfigService, REFRESH_TOKEN_BEHAVIOR_HEADER, RESTORE_STATE_ON_ERROR_HEADER, ROLES_PAGE_ROUTE, ROLES_PATH, ROLES_STATE_NAME, RadialChartBuilder, RadioButtonComponent, RbkAccessControlModule, RbkAuthGuard, RbkCanAccessAnyPipe, RbkCanAccessPipe, RbkClaimGuardDirective, RbkDatabaseStateGuard, RbkFeatureStateGuard, RbkPipesModule, RbkTableFilterClearDirectivesModule, RegistrySmzUiConfiguration, RepositoryForm, RoleMode, RoleModeDescription, RoleModeValues, RoleSource, RoleSourceDescription, RoleSourceValues, RolesActions, RolesModule, RolesSelectors, RolesState, RouterParamsActions, RouterParamsSelectors, SMZ_CORE_LOGGING_CONFIG, SMZ_UI_ENVIRONMENT_CONFIG, SafeHtmlPipe$2 as SafeHtmlPipe, SafeImageDirective, SafeUrlPipe$1 as SafeUrlPipe, SelectorPipe, ServerImageDirective, ServerImageToBase64Directive, ServerPathPipe, SetTemplateClasses, SetTemplateClassesPipe, SidebarState, SimpleCalendarPipe, SmzActionDispatchModule, SmzAuthorizationDeactivatedUsersTableBuilder, SmzAuthorizationUsersTableBuilder, SmzBaseColumnBuilder, SmzBaseEditableBuilder, SmzBreakpoints, SmzBuilderUtilities, SmzCardsBuilder, SmzCardsComponent, SmzCardsContentType, SmzCardsInjectableComponentBuilder, SmzCardsTemplate, SmzCardsView, SmzChartComponent, SmzChartModule, SmzClipboardService, SmzColumnCollectionBuilder, SmzCommentsBuilder, SmzCommentsComponent, SmzCommentsSectionComponent, SmzContentTheme, SmzContentThemes, SmzContentType, SmzControlType, SmzCoreLogging, SmzCurrencyColumnBuilder, SmzCustomColumnBuilder, SmzDataInfoComponent, SmzDataTransformColumnBuilder, SmzDataTransformTreePipe, SmzDateColumnBuilder, SmzDialogBuilder, SmzDialogComponentBuilder, SmzDialogFormBuilder, SmzDialogTableBuilder, SmzDialogsConfig, SmzDialogsPresets, SmzDialogsService, SmzDockComponent, SmzDockService, SmzDocumentBaseCellBuilder, SmzDocumentBuilder, SmzDocumentComponent, SmzDocumentsService, SmzDragDropModule, SmzDraggable, SmzDropdownEditableBuilder, SmzDroppable, SmzDynamicDialogConfig, SmzEasyBaseColumnBuilder, SmzEasyColumnCollectionBuilder, SmzEasyCustomColumnBuilder, SmzEasyDataTransformColumnBuilder, SmzEasyDateColumnBuilder, SmzEasyMenuTableBuilder, SmzEasyTableBuilder, SmzEasyTableComponent, SmzEasyTableContentType, SmzEasyTableModule, SmzEasyTextColumnBuilder, SmzEditableCollectionBuilder, SmzEditableTableBuilder, SmzEditableType, SmzEnvironment, SmzExcelColorDefinitions, SmzExcelDataDefinitions, SmzExcelFontDefinitions, SmzExcelService, SmzExcelSortOrderDefinitions, SmzExcelThemeDefinitions, SmzExcelTypeDefinitions, SmzExcelsBuilder, SmzExportDialogComponent, SmzExportDialogModule, SmzExportDialogService, SmzExportableContentSource, SmzExportableContentType, SmzFaqsComponent, SmzFaqsConfig, SmzFilterType, SmzFlattenMenuPipe, SmzFlipCardContext, SmzFormBuilder, SmzFormViewdata, SmzFormsConfig, SmzFormsPresets, SmzFormsRepositoryService, SmzGaugeBuilder, SmzGaugeComponent, SmzGaugeThresholdBuilder, SmzGetDataPipe, SmzGridItemComponent, SmzHelpDialogService, SmzHtmlViewerComponent, SmzHtmlViewerModule, SmzIconColumnBuilder, SmzIconMessageComponent, SmzInfoDateComponent, SmzInfoDateModule, SmzInitialPipe, SmzInputAutocompleteTagArea, SmzInputTextModule, SmzInputTextPipe, SmzLayoutsConfig, SmzLoader, SmzLoaders, SmzLoginBuilder, SmzLoginComponent, SmzLoginModule, SmzMenuBuilder, SmzMenuComponent, SmzMenuCreationBuilder, SmzMenuCreationItemBuilder, SmzMenuItemActionsDirective, SmzMenuItemBuilder, SmzMenuItemEasyTableBuilder, SmzMenuItemTableBuilder, SmzMenuTableBuilder, SmzMessagesModule, SmzMultiTablesBuilder, SmzMultiTablesComponent, SmzNotificationsComponent, SmzNotificationsModule, SmzNumberEditableBuilder, SmzPresets, SmzProxyStore, SmzResponsiveBreakpointsDirective, SmzResponsiveBreakpointsDirectiveModule, SmzResponsiveComponent, SmzRouteDatas, SmzRouteParams, SmzRouteQueryParams, SmzSideContentComponent, SmzSideContentDefault, SmzSincronizeTablePipe, SmzSmartTag, SmzSmartTagModule, SmzSubmitComponent, SmzSvgBuilder, SmzSvgComponent, SmzSvgFeatureBuilder, SmzSvgModule, SmzSvgPinBuilder, SmzSvgRootBuilder, SmzSvgWorldCoordinates, SmzSwitchEditableBuilder, SmzTableBuilder, SmzTableComponent, SmzTablesConfig, SmzTagMessage, SmzTailPipe, SmzTemplatesPipeModule, SmzTenantSwitchComponent, SmzTextColumnBuilder, SmzTextEditableBuilder, SmzTextPattern, SmzTimelineBuilder, SmzTimelineComponent, SmzToastComponent, SmzToastModule, SmzTooltipTouchSupportModule, SmzTreeBuilder, SmzTreeComponent, SmzTreeDragAndDropBuilder, SmzTreeDropBuilder, SmzTreeDynamicMenuBuilder, SmzTreeDynamicMenuItemBuilder, SmzTreeEmptyFeedbackBuilder, SmzTreeMenuBuilder, SmzTreeMenuItemBuilder, SmzTreeToolbarBuilder, SmzTreeToolbarButtonBuilder, SmzTreeToolbarButtonCollectionBuilder, SmzTreeWithDetailsBuilder, SmzTreeWithDetailsComponent, SmzUiBlockComponent, SmzUiBlockDirective, SmzUiBlockService, SmzUiBuilder, SmzUiEnvironment, SmzUiGuidesBuilder, SmzUiGuidesService, SmzViewportDirective, SmzViewportService, StandaloneInjectComponentDirective, StateBuilderPipe, TENANTS_PAGE_ROUTE, TENANTS_PATH, TENANTS_STATE_NAME, TableClearExtensionDirective, TableHelperService, TenantAuthenticationSelectors, TenantsActions, TenantsModule, TenantsSelectors, TenantsState, ThemeManagerService, TitleService, Toast, ToastActions, ToastItem, ToastService, TooltipTouchSupportDirective, TreeHelperService, TreeHelpers, Tunnel, UI_DEFINITIONS_STATE_NAME, UI_LOCALIZATION_STATE_NAME, USERS_PAGE_ROUTE, USERS_PATH, USERS_STATE_NAME, USER_ID_HEADER, LayoutUiActions as UiActions, UiDefinitionsDbActions, UiDefinitionsDbSelectors, UiDefinitionsDbState, UiDefinitionsService, UiLocalizationDbActions, UiLocalizationDbSelectors, UiLocalizationDbState, UiLocalizationService, LayoutUiSelectors as UiSelectors, UniqueFilterPipe, UrlCheckerPipe, UrlCheckerPipeModule, UsersActions, UsersModule, UsersSelectors, UsersState, WINDOWS_AUTHENTICATION_HEADER, Wait, applyTableContentNgStyle, b64toBlob, base64ToFile, breakLinesForHtml, buildAuthenticationEndpointsRoutes, buildAuthenticationUrl, buildAuthorizationEndpointsRoutes, buildServerApiUrl, buildSmzDialogCustomButtonTestId, buildSmzDialogTestId, buildSmzDialogTopbarButtonTestId, buildSmzTableTestId, buildState, capitalizeFirstLetter, capitalizeWithSlash, clearArray, clone, cloneAndRemoveProperties, cloneAndRemoveProperty, compare, compareInsensitive, completeSubjectOnTheInstance, convertFormCreationFeature, convertFormFeature, convertFormFeatureFromInputData, convertFormUpdateFeature, count, createObjectFromString, createRound, createSubjectOnTheInstance, dataURLtoFile, databaseSmzAccessStates, debounce, deepClone, deepEqual, deepIndexOf, deepMerge, defaultFormsModuleConfig, defaultState, downloadBase64File, downloadFromServerUrl, downloadFromUrl, empty, every, executeTextPattern, featureSmzAccessStates, fixDate$1 as fixDate, fixDateProperties, fixDates, flatten, flattenObject, getAuthenticationInitialState, getCleanApplicationState, getFirst, getFirstElement, getFirstElements, getFormInputFromDialog, getGlobalInitialState, getInitialApplicationState, getInitialDatabaseStoreState, getInitialState$8 as getInitialState, getLastElements, getPreset, getProperty, getSymbol, getTreeNodeFromKey, getUiDefinitionsInitialState, getUiLocalizationInitialState, getUsersInitialState, getValidatorsForInput, handleBase64, isArray, isConvertibleToNumber, isDeepObject, isEmpty$1 as isEmpty, isFunction$1 as isFunction, isInteger, isNil, isNull$1 as isNull, isNullOrEmptyString, isNumber$1 as isNumber, isNumberFinite$1 as isNumberFinite, isNumeric, isObject$2 as isObject, isObjectHelper, isPositive, isSimpleNamedEntity, isString$1 as isString, isUndefined$1 as isUndefined, isWithinTime, leftPad, longestStringInArray, mapParamsToObject, markAsDecorated, mergeClone, mergeDeep, nameof, namesof, ngxsModuleForFeatureFaqsDbState, ngxsModuleForFeatureUiAthenaLayoutState, ngxsModuleForFeatureUiHephaestusLayoutState, ngxsModuleForFeatureUiNewAthenaLayoutState, normalizeDateToUtc, orderArrayByProperty, pad, provideSmzCoreLogging, provideSmzEnvironment, rbkSafeHtmlPipe, removeElementFromArray, replaceAll, replaceArrayItem, replaceArrayPartialItem, replaceItem, replaceNgOnInit, resolveSmzTableRowId, rightPad, routerModuleForChildUsersModule, routerParamsDispatch, routerParamsListener, setNestedObject, shorten, showConfirmation, showDialog, showMarkdownDialog, showMessage, showObjectDialog, showPersistentDialog, shuffle, slugSmzDialogTestIdKey, slugSmzTableTestIdKey, sortArray, sortArrayOfObjects, sortArrayOfStrings, sortMenuItemsByLabel, sum, synchronizeNodes, synchronizeRow, synchronizeTable, synchronizeTrees, takeUntil, takeWhile, toDecimal, toSimpleNamedEntity, toString, unwrapDeep, upperFirst, uuidv4, wrapDeep };
|
|
58225
|
+
export { AUTHORIZATION_HEADER, AccessControlService, ActionDispatchDirective, ApplicationActions, ApplicationSelectors, ApplicationState, AsPipe, AthenaLayout, AthenaLayoutComponent, AthenaLayoutModule, AuthClaimDefinitions, AuthHandler, AuthService, AuthenticationActions, AuthenticationSelectors, AuthenticationService, AuthenticationState, AuthorizationService, AxisOverflowDirection, AxisOverflowType, AxisPosition, BaseApiService, BoilerplateService, BreadcrumbService, CLAIMS_PAGE_ROUTE, CLAIMS_PATH, CLAIMS_STATE_NAME, CONTENT_ENCODING_HEADER, CachedRouteReuseStrategy, CalendarComponent, CalendarPipe, CanAccess, ChartType, CheckBoxComponent, CheckBoxGroupComponent, ClaimAccessType, ClaimAccessTypeDescription, ClaimAccessTypeValues, ClaimsActions, ClaimsModule, ClaimsSelectors, ClaimsState, ClickStopPropagationDirective, ClickStopPropagationModule, ClonePipe, ColorPallete, ColorPickerComponent, Confirmable, CreateLinearChart, CreateRadialChart, CustomError, CustomNgForDirective, CustomNgForModule, DATABASE_REQUIRED_ACTIONS, DATABASE_STATES, DECORATOR_APPLIED, DEFAULT_AUTHENTICATION_ENDPOINTS_ROUTES, DEFAULT_AUTHORIZATION_ENDPOINTS_ROUTES, DatabaseActions, DatabaseSelectors, DatabaseState, DatasetType, DeepWrapper, DescribeAnyPipe, DescribeArrayPipe, DescribeSimpleNamedPipe, DialogContentManagerComponent, DialogService, DropdownComponent, DynamicDialogComponent, DynamicDialogConfig, DynamicDialogInjector, DynamicDialogModule, DynamicDialogRef, ERROR_HANDLING_TYPE_HEADER, ExcelsUiActions, FEATURE_STATES, FeaturesActions, FeaturesSelectors, FeaturesState, FileUploadComponent, FilterContains, FirstOrDefaultPipe, FormGroupComponent, FormSubmitComponent, GenericInjectComponentDirective, GetElementById, GetElementsByParentId, GlobalActions, GlobalFilter, GlobalInjector, GlobalLoaderComponent, GlobalLoaderModule, GlobalState, GroupingType, HephaestusLayout, HephaestusLayoutComponent, HephaestusLayoutModule, HephaestusProviderModule, HostElement, HttpErrorHandler, IGNORE_ERROR_HANDLING, InViewportMetadata, InjectComponentDirective, InjectComponentService, InjectContentAppModule, InjectContentDirective, InjectContentService, InputBlurDetectionModule, InputChangeDetectionDirective, InputClearExtensionDirective, InputCurrencyComponent, InputListComponent, InputMaskComponent, InputNumberComponent, InputPasswordComponent, InputSwitchComponent, InputTagAreaComponent, InputTextAreaComponent, InputTextComponent, InputTreeComponent, IsVisiblePipe, IsVisiblePipeModule, JoinPipe, LOADING_BEHAVIOR_HEADER, LOCAL_LOADING_TAG_HEADER, LayoutUiActions, LayoutUiSelectors, LayoutUiState, LegacyAuthenticationSelectors, LinearChartBuilder, LinkedDropdownComponent, LinkedMultiSelectComponent, LoggingScope, LoggingService, MAIN_LAYOUT_PATH, MentionableTextareaComponent, MenuHelperService, MenuType, MergeClonePipe, MergeClonePipeModule, MultiSelectComponent, NG_ON_INIT, NewAthenaLayout, NewAthenaLayoutComponent, NewAthenaLayoutModule, NewAthenaProviderModule, NgCloneDirective, NgCloneModule, NgIfLandscapeDirective, NgIfLandscapeDirectiveModule, NgIfPortraitDirective, NgIfPortraitDirectiveModule, NgVar, NgVarContext, NgVarModule, NgxRbkUtilsConfig, NgxRbkUtilsModule, NgxSmzCardsModule, NgxSmzCommentsModule, NgxSmzDataInfoModule, NgxSmzDataPipesModule, NgxSmzDialogsModule, NgxSmzDockModule, NgxSmzDocumentsModule, NgxSmzFaqsModule, NgxSmzFormsModule, NgxSmzLayoutsModule, NgxSmzMenuModule, NgxSmzMultiTablesModule, NgxSmzRouterParamsModule, NgxSmzSafeImageModule, NgxSmzServerImageModule, NgxSmzServerImageToBase64Module, NgxSmzSideContentModule, NgxSmzTablesModule, NgxSmzTreeWithDetailsModule, NgxSmzTreesModule, NgxSmzUiBlockModule, NgxSmzUiComponent, NgxSmzUiConfig, NgxSmzUiGuidesModule, NgxSmzUiModule, NgxSmzViewportModule, NotificationFolder, NotificationFolderStatus, NotificationStatus, NotificationType, NotificationTypeClass, NotificationsUiActions, NotificationsUiSelectors, PrettyJsonPipe$1 as PrettyJsonPipe, PrettyJsonPipeModule, PrimeConfigService, REFRESH_TOKEN_BEHAVIOR_HEADER, RESTORE_STATE_ON_ERROR_HEADER, ROLES_PAGE_ROUTE, ROLES_PATH, ROLES_STATE_NAME, RadialChartBuilder, RadioButtonComponent, RbkAccessControlModule, RbkAuthGuard, RbkCanAccessAnyPipe, RbkCanAccessPipe, RbkClaimGuardDirective, RbkDatabaseStateGuard, RbkFeatureStateGuard, RbkPipesModule, RbkTableFilterClearDirectivesModule, RegistrySmzUiConfiguration, RepositoryForm, RoleMode, RoleModeDescription, RoleModeValues, RoleSource, RoleSourceDescription, RoleSourceValues, RolesActions, RolesModule, RolesSelectors, RolesState, RouterParamsActions, RouterParamsSelectors, SMZ_CORE_LOGGING_CONFIG, SMZ_UI_ENVIRONMENT_CONFIG, SafeHtmlPipe$2 as SafeHtmlPipe, SafeImageDirective, SafeUrlPipe$1 as SafeUrlPipe, SelectorPipe, ServerImageDirective, ServerImageToBase64Directive, ServerPathPipe, SetTemplateClasses, SetTemplateClassesPipe, SidebarState, SimpleCalendarPipe, SmzActionDispatchModule, SmzAuthorizationDeactivatedUsersTableBuilder, SmzAuthorizationUsersTableBuilder, SmzBaseColumnBuilder, SmzBaseEditableBuilder, SmzBreakpoints, SmzBuilderUtilities, SmzCardsBuilder, SmzCardsComponent, SmzCardsContentType, SmzCardsInjectableComponentBuilder, SmzCardsTemplate, SmzCardsView, SmzChartComponent, SmzChartModule, SmzClipboardService, SmzColumnCollectionBuilder, SmzCommentsBuilder, SmzCommentsComponent, SmzCommentsSectionComponent, SmzContentTheme, SmzContentThemes, SmzContentType, SmzControlType, SmzCoreLogging, SmzCurrencyColumnBuilder, SmzCustomColumnBuilder, SmzDataInfoComponent, SmzDataTransformColumnBuilder, SmzDataTransformTreePipe, SmzDateColumnBuilder, SmzDialogBuilder, SmzDialogComponentBuilder, SmzDialogFormBuilder, SmzDialogTableBuilder, SmzDialogsConfig, SmzDialogsPresets, SmzDialogsService, SmzDockComponent, SmzDockService, SmzDocumentBaseCellBuilder, SmzDocumentBuilder, SmzDocumentComponent, SmzDocumentsService, SmzDragDropModule, SmzDraggable, SmzDropdownEditableBuilder, SmzDroppable, SmzDynamicDialogConfig, SmzEasyBaseColumnBuilder, SmzEasyColumnCollectionBuilder, SmzEasyCustomColumnBuilder, SmzEasyDataTransformColumnBuilder, SmzEasyDateColumnBuilder, SmzEasyMenuTableBuilder, SmzEasyTableBuilder, SmzEasyTableComponent, SmzEasyTableContentType, SmzEasyTableModule, SmzEasyTextColumnBuilder, SmzEditableCollectionBuilder, SmzEditableTableBuilder, SmzEditableType, SmzEnvironment, SmzExcelColorDefinitions, SmzExcelDataDefinitions, SmzExcelFontDefinitions, SmzExcelService, SmzExcelSortOrderDefinitions, SmzExcelThemeDefinitions, SmzExcelTypeDefinitions, SmzExcelsBuilder, SmzExportDialogComponent, SmzExportDialogModule, SmzExportDialogService, SmzExportableContentSource, SmzExportableContentType, SmzFaqsComponent, SmzFaqsConfig, SmzFilterType, SmzFlattenMenuPipe, SmzFlipCardContext, SmzFormBuilder, SmzFormViewdata, SmzFormsConfig, SmzFormsPresets, SmzFormsRepositoryService, SmzGaugeBuilder, SmzGaugeComponent, SmzGaugeThresholdBuilder, SmzGetDataPipe, SmzGridItemComponent, SmzHelpDialogService, SmzHtmlViewerComponent, SmzHtmlViewerModule, SmzIconColumnBuilder, SmzIconMessageComponent, SmzInfoDateComponent, SmzInfoDateModule, SmzInitialPipe, SmzInputAutocompleteTagArea, SmzInputTextModule, SmzInputTextPipe, SmzLayoutsConfig, SmzLoader, SmzLoaders, SmzLoginBuilder, SmzLoginComponent, SmzLoginModule, SmzMenuBuilder, SmzMenuComponent, SmzMenuCreationBuilder, SmzMenuCreationItemBuilder, SmzMenuItemActionsDirective, SmzMenuItemBuilder, SmzMenuItemEasyTableBuilder, SmzMenuItemTableBuilder, SmzMenuTableBuilder, SmzMessagesModule, SmzMultiTablesBuilder, SmzMultiTablesComponent, SmzNotificationsComponent, SmzNotificationsModule, SmzNumberEditableBuilder, SmzPresets, SmzProxyStore, SmzResponsiveBreakpointsDirective, SmzResponsiveBreakpointsDirectiveModule, SmzResponsiveComponent, SmzRouteDatas, SmzRouteParams, SmzRouteQueryParams, SmzSideContentComponent, SmzSideContentDefault, SmzSincronizeTablePipe, SmzSmartTag, SmzSmartTagModule, SmzSubmitComponent, SmzSvgBuilder, SmzSvgComponent, SmzSvgFeatureBuilder, SmzSvgModule, SmzSvgPinBuilder, SmzSvgRootBuilder, SmzSvgWorldCoordinates, SmzSwitchEditableBuilder, SmzTableBuilder, SmzTableComponent, SmzTablesConfig, SmzTagMessage, SmzTailPipe, SmzTemplatesPipeModule, SmzTenantSwitchComponent, SmzTextColumnBuilder, SmzTextEditableBuilder, SmzTextPattern, SmzTimelineBuilder, SmzTimelineComponent, SmzToastComponent, SmzToastModule, SmzTooltipTouchSupportModule, SmzTreeBuilder, SmzTreeComponent, SmzTreeDragAndDropBuilder, SmzTreeDropBuilder, SmzTreeDynamicMenuBuilder, SmzTreeDynamicMenuItemBuilder, SmzTreeEmptyFeedbackBuilder, SmzTreeMenuBuilder, SmzTreeMenuItemBuilder, SmzTreeToolbarBuilder, SmzTreeToolbarButtonBuilder, SmzTreeToolbarButtonCollectionBuilder, SmzTreeWithDetailsBuilder, SmzTreeWithDetailsComponent, SmzUiBlockComponent, SmzUiBlockDirective, SmzUiBlockService, SmzUiBuilder, SmzUiEnvironment, SmzUiGuidesBuilder, SmzUiGuidesService, SmzViewportDirective, SmzViewportService, StandaloneInjectComponentDirective, StateBuilderPipe, TENANTS_PAGE_ROUTE, TENANTS_PATH, TENANTS_STATE_NAME, TableClearExtensionDirective, TableHelperService, TenantAuthenticationSelectors, TenantsActions, TenantsModule, TenantsSelectors, TenantsState, ThemeManagerService, TitleService, Toast, ToastActions, ToastItem, ToastService, TooltipTouchSupportDirective, TreeHelperService, TreeHelpers, Tunnel, UI_DEFINITIONS_STATE_NAME, UI_LOCALIZATION_STATE_NAME, USERS_PAGE_ROUTE, USERS_PATH, USERS_STATE_NAME, USER_ID_HEADER, LayoutUiActions as UiActions, UiDefinitionsDbActions, UiDefinitionsDbSelectors, UiDefinitionsDbState, UiDefinitionsService, UiLocalizationDbActions, UiLocalizationDbSelectors, UiLocalizationDbState, UiLocalizationService, LayoutUiSelectors as UiSelectors, UniqueFilterPipe, UrlCheckerPipe, UrlCheckerPipeModule, UsersActions, UsersModule, UsersSelectors, UsersState, WINDOWS_AUTHENTICATION_HEADER, Wait, applyTableContentNgStyle, b64toBlob, base64ToFile, breakLinesForHtml, buildAuthenticationEndpointsRoutes, buildAuthenticationUrl, buildAuthorizationEndpointsRoutes, buildLoginPageUrl, buildServerApiUrl, buildSmzDialogCustomButtonTestId, buildSmzDialogTestId, buildSmzDialogTopbarButtonTestId, buildSmzTableTestId, buildState, capitalizeFirstLetter, capitalizeWithSlash, captureAttemptedRoute, clearArray, clearAttemptedRoute, clone, cloneAndRemoveProperties, cloneAndRemoveProperty, compare, compareInsensitive, completeSubjectOnTheInstance, composeAttemptedRoute, consumeAttemptedRoute, convertFormCreationFeature, convertFormFeature, convertFormFeatureFromInputData, convertFormUpdateFeature, count, createObjectFromString, createRound, createSubjectOnTheInstance, dataURLtoFile, databaseSmzAccessStates, debounce, deepClone, deepEqual, deepIndexOf, deepMerge, defaultFormsModuleConfig, defaultState, downloadBase64File, downloadFromServerUrl, downloadFromUrl, empty, every, executeTextPattern, featureSmzAccessStates, fixDate$1 as fixDate, fixDateProperties, fixDates, flatten, flattenObject, getAuthenticationInitialState, getCleanApplicationState, getFirst, getFirstElement, getFirstElements, getFormInputFromDialog, getGlobalInitialState, getInitialApplicationState, getInitialDatabaseStoreState, getInitialState$8 as getInitialState, getLastElements, getPreset, getProperty, getSymbol, getTreeNodeFromKey, getUiDefinitionsInitialState, getUiLocalizationInitialState, getUsersInitialState, getValidatorsForInput, handleBase64, isArray, isConvertibleToNumber, isDeepObject, isEmpty$1 as isEmpty, isFunction$1 as isFunction, isInteger, isNil, isNull$1 as isNull, isNullOrEmptyString, isNumber$1 as isNumber, isNumberFinite$1 as isNumberFinite, isNumeric, isObject$2 as isObject, isObjectHelper, isPositive, isSimpleNamedEntity, isString$1 as isString, isUndefined$1 as isUndefined, isValidAttemptedRoute, isWithinTime, leftPad, longestStringInArray, mapParamsToObject, markAsDecorated, mergeClone, mergeDeep, nameof, namesof, ngxsModuleForFeatureFaqsDbState, ngxsModuleForFeatureUiAthenaLayoutState, ngxsModuleForFeatureUiHephaestusLayoutState, ngxsModuleForFeatureUiNewAthenaLayoutState, normalizeDateToUtc, orderArrayByProperty, pad, peekAttemptedRoute, provideSmzCoreLogging, provideSmzEnvironment, rbkSafeHtmlPipe, removeElementFromArray, replaceAll, replaceArrayItem, replaceArrayPartialItem, replaceItem, replaceNgOnInit, resolvePostLoginUrl, resolveSmzTableRowId, rightPad, routerModuleForChildUsersModule, routerParamsDispatch, routerParamsListener, setNestedObject, shorten, showConfirmation, showDialog, showMarkdownDialog, showMessage, showObjectDialog, showPersistentDialog, shuffle, slugSmzDialogTestIdKey, slugSmzTableTestIdKey, sortArray, sortArrayOfObjects, sortArrayOfStrings, sortMenuItemsByLabel, sum, synchronizeNodes, synchronizeRow, synchronizeTable, synchronizeTrees, takeUntil, takeWhile, toDecimal, toSimpleNamedEntity, toString, unwrapDeep, upperFirst, uuidv4, wrapDeep };
|
|
57899
58226
|
//# sourceMappingURL=ngx-smz-core.mjs.map
|