@ngx-smz/core 21.9.0-next.11 → 21.9.0-next.13
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
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';
|
|
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, NgZone, LOCALE_ID, ContentChildren, Self, ErrorHandler, DEFAULT_CURRENCY_CODE, DOCUMENT, PLATFORM_ID } from '@angular/core';
|
|
3
3
|
import * as i1 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$1 from '@angular/forms';
|
|
@@ -8822,7 +8822,35 @@ class DialogFooterComponent {
|
|
|
8822
8822
|
this.actions$ = actions$;
|
|
8823
8823
|
this.store = store;
|
|
8824
8824
|
}
|
|
8825
|
+
ngZone = inject(NgZone);
|
|
8825
8826
|
ngOnInit() {
|
|
8827
|
+
this.watchValidity();
|
|
8828
|
+
}
|
|
8829
|
+
/**
|
|
8830
|
+
* `isValid` dos componentes injetados e um campo comum (nao signal): sem zone.js (zoneless) mudar `instance.isValid`
|
|
8831
|
+
* nao agenda deteccao de mudancas, e o `[disabled]` dos botoes `dependsOnValidation` ficava defasado ate a proxima
|
|
8832
|
+
* interacao. Enquanto houver botao que depende de validacao, a validade e amostrada e o footer e marcado quando muda.
|
|
8833
|
+
*/
|
|
8834
|
+
watchValidity() {
|
|
8835
|
+
const context = this.dialogConfig.data?._context;
|
|
8836
|
+
const dependsOnValidation = (context?.customButtons ?? []).some((button) => button.dependsOnValidation)
|
|
8837
|
+
|| context?.builtInButtons?.confirmDependsOnValidation
|
|
8838
|
+
|| context?.builtInButtons?.okDependsOnValidation
|
|
8839
|
+
|| context?.builtInButtons?.saveDependsOnValidation;
|
|
8840
|
+
if (!dependsOnValidation) {
|
|
8841
|
+
return;
|
|
8842
|
+
}
|
|
8843
|
+
let last = this.isValid();
|
|
8844
|
+
this.ngZone.runOutsideAngular(() => {
|
|
8845
|
+
const handle = setInterval(() => {
|
|
8846
|
+
const current = this.isValid();
|
|
8847
|
+
if (current !== last) {
|
|
8848
|
+
last = current;
|
|
8849
|
+
this.ngZone.run(() => this.cdf.markForCheck());
|
|
8850
|
+
}
|
|
8851
|
+
}, 150);
|
|
8852
|
+
this.destroyRef.onDestroy(() => clearInterval(handle));
|
|
8853
|
+
});
|
|
8826
8854
|
}
|
|
8827
8855
|
buildDialogTestId(suffix) {
|
|
8828
8856
|
return buildSmzDialogTestId(this.dialogConfig.data?.dialogTestId, suffix);
|
|
@@ -9177,11 +9205,11 @@ class DialogFooterComponent {
|
|
|
9177
9205
|
return response;
|
|
9178
9206
|
}
|
|
9179
9207
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DialogFooterComponent, deps: [{ token: DynamicDialogRef }, { token: SmzDynamicDialogConfig }, { token: SmzDialogsVisibilityService }, { token: InjectComponentService }, { token: i0.ChangeDetectorRef }, { token: i1$3.Actions }, { token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
9180
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DialogFooterComponent, isStandalone: false, selector: "smz-dialog-footer", ngImport: i0, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"grid grid-nogutter items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => i2.SmzButtonComponent), selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i0.forwardRef(() => i2.SmzToolbarComponent), selector: "ui-toolbar" }, { kind: "directive", type: i0.forwardRef(() => i2.SmzTooltipDirective), selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: i0.forwardRef(() => ConfirmOnEnterDirective), selector: "[confirmOnEnter]", inputs: ["confirmOnEnter", "clickEvent", "delayConfirmation", "disabled", "dialogId"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
9208
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DialogFooterComponent, isStandalone: false, selector: "smz-dialog-footer", ngImport: i0, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"grid grid-nogutter items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => i2.SmzButtonComponent), selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i0.forwardRef(() => i2.SmzToolbarComponent), selector: "ui-toolbar" }, { kind: "directive", type: i0.forwardRef(() => i2.SmzTooltipDirective), selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: i0.forwardRef(() => ConfirmOnEnterDirective), selector: "[confirmOnEnter]", inputs: ["confirmOnEnter", "clickEvent", "delayConfirmation", "disabled", "dialogId"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
9181
9209
|
}
|
|
9182
9210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DialogFooterComponent, decorators: [{
|
|
9183
9211
|
type: Component,
|
|
9184
|
-
args: [{ selector: 'smz-dialog-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"grid grid-nogutter items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n" }]
|
|
9212
|
+
args: [{ selector: 'smz-dialog-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"grid grid-nogutter items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n" }]
|
|
9185
9213
|
}], ctorParameters: () => [{ type: DynamicDialogRef }, { type: SmzDynamicDialogConfig }, { type: SmzDialogsVisibilityService }, { type: InjectComponentService }, { type: i0.ChangeDetectorRef }, { type: i1$3.Actions }, { type: i1$3.Store }] });
|
|
9186
9214
|
class ConfirmOnEnterDirective {
|
|
9187
9215
|
el;
|