UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

89 lines 11 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { LoadingEmitter } from '../../utility/loading-emitter'; import { take } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@angular/forms"; import * as i2 from "../../user/services/user.service"; import * as i3 from "../../configuration/configuration.service"; export class AbstractLoginFormComponent { _userService; _config; rootFormGroup; hidePassword = true; loading; showSsoButton; showSignUpButton; showForgottenPasswordButton; login; resetPassword; signUp; formSubmit; constructor(formBuilder, _userService, _config) { this._userService = _userService; this._config = _config; this.rootFormGroup = formBuilder.group({ login: [''], password: [''] }); this.login = new EventEmitter(); this.resetPassword = new EventEmitter(); this.signUp = new EventEmitter(); this.formSubmit = new EventEmitter(); this.loading = new LoadingEmitter(); let ssoConfig = this._config.getConfigurationSubtree(['providers', 'auth', 'sso']); this.showSsoButton = ssoConfig?.enable; } ngOnDestroy() { this.loading.complete(); this.login.complete(); this.resetPassword.complete(); this.signUp.complete(); this.formSubmit.complete(); } onSubmit() { if (!this.rootFormGroup.valid || this.loading.isActive) { return; } const credential = { username: this.rootFormGroup.controls['login'].value, password: this.rootFormGroup.controls['password'].value }; this.loading.on(); this.formSubmit.emit(credential); this._userService.login(credential).pipe(take(1)).subscribe((user) => { this.login.emit(user); this.loading.off(); }); } resetEmit() { this.resetPassword.emit(); } signUpEmit() { this.signUp.emit(); } getButtonsFxLayoutAlign() { if (this.showSignUpButton || this.showForgottenPasswordButton) { return 'space-between'; } return 'end'; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractLoginFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.UserService }, { token: i3.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractLoginFormComponent, selector: "ncc-abstract-login-field", inputs: { showSignUpButton: "showSignUpButton", showForgottenPasswordButton: "showForgottenPasswordButton" }, outputs: { login: "login", resetPassword: "resetPassword", signUp: "signUp", formSubmit: "formSubmit" }, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractLoginFormComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-login-field', template: '' }] }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.UserService }, { type: i3.ConfigurationService }], propDecorators: { showSignUpButton: [{ type: Input }], showForgottenPasswordButton: [{ type: Input }], login: [{ type: Output }], resetPassword: [{ type: Output }], signUp: [{ type: Output }], formSubmit: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbG9naW4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2Zvcm1zL2xvZ2luL2Fic3RyYWN0LWxvZ2luLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLaEYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFRcEMsTUFBTSxPQUFnQiwwQkFBMEI7SUFjYztJQUFxQztJQVp4RixhQUFhLENBQVk7SUFDekIsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixPQUFPLENBQWlCO0lBQ3JCLGFBQWEsQ0FBVTtJQUVqQixnQkFBZ0IsQ0FBVTtJQUMxQiwyQkFBMkIsQ0FBVTtJQUNwQyxLQUFLLENBQXFCO0lBQzFCLGFBQWEsQ0FBcUI7SUFDbEMsTUFBTSxDQUFxQjtJQUMzQixVQUFVLENBQWdDO0lBRTNELFlBQXNCLFdBQXdCLEVBQVksWUFBeUIsRUFBWSxPQUE2QjtRQUFsRSxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUFZLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQ3hILElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNuQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDWCxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDcEMsSUFBSSxTQUFTLEdBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsRUFBRSxNQUFNLENBQUE7SUFDMUMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDcEQsT0FBTztTQUNWO1FBQ0QsTUFBTSxVQUFVLEdBQUcsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQztRQUVuSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUN2RSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUMzRCxPQUFPLGVBQWUsQ0FBQztTQUMxQjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7d0dBL0RpQiwwQkFBMEI7NEZBQTFCLDBCQUEwQix1UkFGbEMsRUFBRTs7NEZBRU0sMEJBQTBCO2tCQUovQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzZJQVFtQixnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsMkJBQTJCO3NCQUExQyxLQUFLO2dCQUNXLEtBQUs7c0JBQXJCLE1BQU07Z0JBQ1UsYUFBYTtzQkFBN0IsTUFBTTtnQkFDVSxNQUFNO3NCQUF0QixNQUFNO2dCQUNVLFVBQVU7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1TdWJtaXRFdmVudCwgSGFzRm9ybX0gZnJvbSAnLi4vaGFzLWZvcm0nO1xuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi8uLi91c2VyL21vZGVscy91c2VyJztcbmltcG9ydCB7TG9hZGluZ0VtaXR0ZXJ9IGZyb20gJy4uLy4uL3V0aWxpdHkvbG9hZGluZy1lbWl0dGVyJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge1Nzb30gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbnMvc2NoZW1hXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LWxvZ2luLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RMb2dpbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBIYXNGb3JtLCBPbkRlc3Ryb3kge1xuXG4gICAgcHVibGljIHJvb3RGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgaGlkZVBhc3N3b3JkID0gdHJ1ZTtcbiAgICBwdWJsaWMgbG9hZGluZzogTG9hZGluZ0VtaXR0ZXI7XG4gICAgcHJvdGVjdGVkIHNob3dTc29CdXR0b246IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd1NpZ25VcEJ1dHRvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd0ZvcmdvdHRlblBhc3N3b3JkQnV0dG9uOiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgbG9naW46IEV2ZW50RW1pdHRlcjxVc2VyPjtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJlc2V0UGFzc3dvcmQ6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbiAgICBAT3V0cHV0KCkgcHVibGljIHNpZ25VcDogRXZlbnRFbWl0dGVyPHZvaWQ+O1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZm9ybVN1Ym1pdDogRXZlbnRFbWl0dGVyPEZvcm1TdWJtaXRFdmVudD47XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSwgcHJvdGVjdGVkIF9jb25maWc6IENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMucm9vdEZvcm1Hcm91cCA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGxvZ2luOiBbJyddLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IFsnJ11cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubG9naW4gPSBuZXcgRXZlbnRFbWl0dGVyPFVzZXI+KCk7XG4gICAgICAgIHRoaXMucmVzZXRQYXNzd29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICAgICAgdGhpcy5zaWduVXAgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgICAgIHRoaXMuZm9ybVN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybVN1Ym1pdEV2ZW50PigpO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBuZXcgTG9hZGluZ0VtaXR0ZXIoKTtcbiAgICAgICAgbGV0IHNzb0NvbmZpZzogU3NvID0gdGhpcy5fY29uZmlnLmdldENvbmZpZ3VyYXRpb25TdWJ0cmVlKFsncHJvdmlkZXJzJywgJ2F1dGgnLCAnc3NvJ10pXG4gICAgICAgIHRoaXMuc2hvd1Nzb0J1dHRvbiA9IHNzb0NvbmZpZz8uZW5hYmxlXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmxvZ2luLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMucmVzZXRQYXNzd29yZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnNpZ25VcC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmZvcm1TdWJtaXQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBvblN1Ym1pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJvb3RGb3JtR3JvdXAudmFsaWQgfHwgdGhpcy5sb2FkaW5nLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3JlZGVudGlhbCA9IHt1c2VybmFtZTogdGhpcy5yb290Rm9ybUdyb3VwLmNvbnRyb2xzWydsb2dpbiddLnZhbHVlLCBwYXNzd29yZDogdGhpcy5yb290Rm9ybUdyb3VwLmNvbnRyb2xzWydwYXNzd29yZCddLnZhbHVlfTtcblxuICAgICAgICB0aGlzLmxvYWRpbmcub24oKTtcbiAgICAgICAgdGhpcy5mb3JtU3VibWl0LmVtaXQoY3JlZGVudGlhbCk7XG4gICAgICAgIHRoaXMuX3VzZXJTZXJ2aWNlLmxvZ2luKGNyZWRlbnRpYWwpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCh1c2VyOiBVc2VyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2luLmVtaXQodXNlcik7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcub2ZmKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlc2V0RW1pdCgpIHtcbiAgICAgICAgdGhpcy5yZXNldFBhc3N3b3JkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBzaWduVXBFbWl0KCkge1xuICAgICAgICB0aGlzLnNpZ25VcC5lbWl0KCk7XG4gICAgfVxuXG4gICAgZ2V0QnV0dG9uc0Z4TGF5b3V0QWxpZ24oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NpZ25VcEJ1dHRvbiB8fCB0aGlzLnNob3dGb3Jnb3R0ZW5QYXNzd29yZEJ1dHRvbikge1xuICAgICAgICAgICAgcmV0dXJuICdzcGFjZS1iZXR3ZWVuJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ2VuZCc7XG4gICAgfVxufVxuIl19