UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

60 lines 9.41 kB
import { Component, Inject, Optional } from "@angular/core"; import { DATA_FIELD_PORTAL_DATA } from "../../models/data-field-portal-data-injection-token"; import { ButtonFieldValidation } from "../models/button-field"; import { take } from "rxjs/operators"; import { AbstractBaseDataFieldComponent } from "../../base-component/abstract-base-data-field.component"; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; import * as i2 from "../../../dialog/services/dialog.service"; export class AbstractButtonDefaultFieldComponent extends AbstractBaseDataFieldComponent { _translate; _dialogService; constructor(_translate, _dialogService, dataFieldPortalData) { super(dataFieldPortalData); this._translate = _translate; this._dialogService = _dialogService; } getErrorMessage() { if (this.formControlRef.hasError(ButtonFieldValidation.REQUIRED)) { return this._translate.instant('dataField.validations.required'); } } /** * Function checks if button is icon type * @returns true if component type is 'fab', 'minifab' or 'icon' */ isIconTypeButton() { return this.dataField.getComponentType() === 'fab' || this.dataField.getComponentType() === 'minifab' || this.dataField.getComponentType() === 'icon'; } /** * This function depends on type of component, if had dialogText provided in component, then its open a dialog with that text */ resolveValue() { if (!!this.dataField.component?.properties?.dialogText && this.dataField.component?.properties?.dialogTitle) { const dialogRef = this._dialogService.openConfirmDialog(this.dataField.component.properties.dialogTitle, this.dataField.component.properties.dialogText, this._translate.instant('dialog.close'), this._translate.instant('dialog.submit')); dialogRef.afterClosed().pipe(take(1)).subscribe(result => { if (result?.confirmed) { this.formControlRef.setValue(this.formControlRef.value + 1); } }); } else { this.formControlRef.setValue(this.formControlRef.value + 1); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractButtonDefaultFieldComponent, deps: [{ token: i1.TranslateService }, { token: i2.DialogService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractButtonDefaultFieldComponent, selector: "ncc-abstract-button-default-field", usesInheritance: true, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractButtonDefaultFieldComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-button-default-field', template: '' }] }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.DialogService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYnV0dG9uLWRlZmF1bHQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kYXRhLWZpZWxkcy9idXR0b24tZmllbGQvYnV0dG9uLWRlZmF1bHQtZmllbGQvYWJzdHJhY3QtYnV0dG9uLWRlZmF1bHQtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRCxPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0scURBQXFELENBQUM7QUFDaEgsT0FBTyxFQUFjLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXBDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDOzs7O0FBT3ZHLE1BQU0sT0FBZ0IsbUNBQW9DLFNBQVEsOEJBQTJDO0lBRW5GO0lBQ0E7SUFEdEIsWUFBc0IsVUFBNEIsRUFDNUIsY0FBNkIsRUFDSyxtQkFBcUQ7UUFDekcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFIVCxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtJQUduRCxDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNwRTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxnQkFBZ0I7UUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLE1BQU0sQ0FBQztJQUMxSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxZQUFZO1FBQ2YsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFO1lBQ3pHLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFDbkcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFDdkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUM5QyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDckQsSUFBSSxNQUFNLEVBQUUsU0FBUyxFQUFFO29CQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDL0Q7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvRDtJQUNMLENBQUM7d0dBdENpQixtQ0FBbUMsK0VBSXJCLHNCQUFzQjs0RkFKcEMsbUNBQW1DLGdHQUYzQyxFQUFFOzs0RkFFTSxtQ0FBbUM7a0JBSnhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OzBCQUtnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLCBEYXRhRmllbGRQb3J0YWxEYXRhfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEtZmllbGQtcG9ydGFsLWRhdGEtaW5qZWN0aW9uLXRva2VuXCI7XG5pbXBvcnQge0J1dHRvbkZpZWxkLCBCdXR0b25GaWVsZFZhbGlkYXRpb259IGZyb20gXCIuLi9tb2RlbHMvYnV0dG9uLWZpZWxkXCI7XG5pbXBvcnQge3Rha2V9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vZGlhbG9nL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlXCI7XG5pbXBvcnQge0Fic3RyYWN0QmFzZURhdGFGaWVsZENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50L2Fic3RyYWN0LWJhc2UtZGF0YS1maWVsZC5jb21wb25lbnRcIjtcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC1idXR0b24tZGVmYXVsdC1maWVsZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0QnV0dG9uRGVmYXVsdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RCYXNlRGF0YUZpZWxkQ29tcG9uZW50PEJ1dHRvbkZpZWxkPiB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPEJ1dHRvbkZpZWxkPikge1xuICAgICAgICBzdXBlcihkYXRhRmllbGRQb3J0YWxEYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlKCkge1xuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbFJlZi5oYXNFcnJvcihCdXR0b25GaWVsZFZhbGlkYXRpb24uUkVRVUlSRUQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC52YWxpZGF0aW9ucy5yZXF1aXJlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gY2hlY2tzIGlmIGJ1dHRvbiBpcyBpY29uIHR5cGVcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGNvbXBvbmVudCB0eXBlIGlzICdmYWInLCAnbWluaWZhYicgb3IgJ2ljb24nXG4gICAgICovXG4gICAgcHVibGljIGlzSWNvblR5cGVCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFGaWVsZC5nZXRDb21wb25lbnRUeXBlKCkgPT09ICdmYWInIHx8IHRoaXMuZGF0YUZpZWxkLmdldENvbXBvbmVudFR5cGUoKSA9PT0gJ21pbmlmYWInIHx8IHRoaXMuZGF0YUZpZWxkLmdldENvbXBvbmVudFR5cGUoKSA9PT0gJ2ljb24nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gZGVwZW5kcyBvbiB0eXBlIG9mIGNvbXBvbmVudCwgaWYgaGFkIGRpYWxvZ1RleHQgcHJvdmlkZWQgaW4gY29tcG9uZW50LCB0aGVuIGl0cyBvcGVuIGEgZGlhbG9nIHdpdGggdGhhdCB0ZXh0XG4gICAgICovXG4gICAgcHVibGljIHJlc29sdmVWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEhdGhpcy5kYXRhRmllbGQuY29tcG9uZW50Py5wcm9wZXJ0aWVzPy5kaWFsb2dUZXh0ICYmIHRoaXMuZGF0YUZpZWxkLmNvbXBvbmVudD8ucHJvcGVydGllcz8uZGlhbG9nVGl0bGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbkNvbmZpcm1EaWFsb2codGhpcy5kYXRhRmllbGQuY29tcG9uZW50LnByb3BlcnRpZXMuZGlhbG9nVGl0bGUsXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQuY29tcG9uZW50LnByb3BlcnRpZXMuZGlhbG9nVGV4dCwgdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RpYWxvZy5jbG9zZScpLFxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkaWFsb2cuc3VibWl0JykpO1xuICAgICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0Py5jb25maXJtZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbFJlZi5zZXRWYWx1ZSh0aGlzLmZvcm1Db250cm9sUmVmLnZhbHVlICsgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sUmVmLnNldFZhbHVlKHRoaXMuZm9ybUNvbnRyb2xSZWYudmFsdWUgKyAxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==