@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
89 lines • 11 kB
JavaScript
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