ngx-firebase-cms
Version:
Angular Content Management System using Google Firebase (Authentication, Storage & Firestore)
97 lines • 8.66 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Inject } from '@angular/core';
import { FormBuilder, Validators } from '@angular/forms';
import { AuthService } from '../../service/auth.service';
import { Router } from '@angular/router';
import { NzMessageService } from 'ng-zorro-antd';
export class SignupComponent {
/**
* @param {?} config
* @param {?} fb
* @param {?} auth
* @param {?} router
* @param {?} message
*/
constructor(config, fb, auth, router, message) {
this.config = config;
this.fb = fb;
this.auth = auth;
this.router = router;
this.message = message;
this.isLoading = false;
}
/**
* @return {?}
*/
ngOnInit() {
this.validateForm = this.fb.group({
userName: [null, [Validators.required, Validators.email]],
password: [null, [Validators.required]]
});
}
/**
* @return {?}
*/
submitForm() {
/** @type {?} */
let adminURL = this.config.adminURL || 'admin';
for (const i in this.validateForm.controls) {
this.validateForm.controls[i].markAsDirty();
this.validateForm.controls[i].updateValueAndValidity();
}
if (this.validateForm.valid && !this.isLoading) {
this.isLoading = true;
this.auth.signup(`${this.validateForm.value.userName}`, this.validateForm.value.password);
}
}
}
SignupComponent.decorators = [
{ type: Component, args: [{
selector: 'aq-signup',
template: "<div class=\"table-cell\">\n <form *ngIf=\"!isLoading\" nz-form [formGroup]=\"validateForm\" class=\"login-form\" (ngSubmit)=\"submitForm()\">\n <nz-form-item>\n <nz-form-control>\n <nz-input-group [nzPrefix]=\"prefixUserTemplate\" nzSize=\"large\">\n <input type=\"text\" nz-input formControlName=\"userName\" placeholder=\"Username\" autocomplete=\"email\" autofocus>\n </nz-input-group>\n <nz-form-explain *ngIf=\"validateForm.get('userName').dirty && validateForm.get('userName').errors\">Please\n input\n your username!</nz-form-explain>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-control>\n <nz-input-group [nzPrefix]=\"prefixLockTemplate\" nzSize=\"large\">\n <input type=\"password\" nz-input formControlName=\"password\" placeholder=\"Password\" autocomplete=\"password\">\n </nz-input-group>\n <nz-form-explain *ngIf=\"validateForm.get('password').dirty && validateForm.get('password').errors\">Please\n input\n your Password!</nz-form-explain>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <nz-form-control>\n <button nz-button class=\"login-form-button\" [nzType]=\"'primary'\" nzSize=\"large\">Sign up</button>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item>\n <p class=\"text-center\">You are member? Login <a routerLink=\"../login\">here</a></p>\n </nz-form-item>\n </form>\n</div>\n\n<ng-template #prefixUserTemplate>\n <i nz-icon type=\"user\" theme=\"outline\"></i>\n</ng-template>\n\n<ng-template #prefixLockTemplate>\n <i nz-icon type=\"lock\" theme=\"outline\"></i>\n</ng-template>",
styles: [":host{display:table;width:100%;height:100%;min-height:calc(100vh - 70px)}.login-form{max-width:340px;margin:20px auto}.login-form .login-form-button{width:100%}.table-cell{display:table-cell;vertical-align:middle}"]
}] }
];
/** @nocollapse */
SignupComponent.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: ['env',] }] },
{ type: FormBuilder },
{ type: AuthService },
{ type: Router },
{ type: NzMessageService }
];
if (false) {
/** @type {?} */
SignupComponent.prototype.validateForm;
/** @type {?} */
SignupComponent.prototype.isLoading;
/**
* @type {?}
* @private
*/
SignupComponent.prototype.config;
/**
* @type {?}
* @private
*/
SignupComponent.prototype.fb;
/**
* @type {?}
* @private
*/
SignupComponent.prototype.auth;
/**
* @type {?}
* @private
*/
SignupComponent.prototype.router;
/**
* @type {?}
* @private
*/
SignupComponent.prototype.message;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1maXJlYmFzZS1jbXMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L3NpZ251cC9zaWdudXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUWpELE1BQU0sT0FBTyxlQUFlOzs7Ozs7OztJQUsxQixZQUN5QixNQUFpQixFQUNoQyxFQUFlLEVBQ2YsSUFBaUIsRUFDakIsTUFBYyxFQUNkLE9BQXlCO1FBSlYsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFQbkMsY0FBUyxHQUFHLEtBQUssQ0FBQTtJQVFiLENBQUM7Ozs7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQyxRQUFRLEVBQUUsQ0FBRSxJQUFJLEVBQUUsQ0FBRSxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUUsQ0FBRTtZQUM3RCxRQUFRLEVBQUUsQ0FBRSxJQUFJLEVBQUUsQ0FBRSxVQUFVLENBQUMsUUFBUSxDQUFFLENBQUU7U0FDNUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELFVBQVU7O1lBQ0osUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLE9BQU87UUFDOUMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBRSxDQUFDLENBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBRSxDQUFDLENBQUUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQzFEO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUE7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtTQUMxRjtJQUNILENBQUM7OztZQW5DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLDRyREFBc0M7O2FBRXZDOzs7OzRDQU9JLE1BQU0sU0FBQyxLQUFLO1lBakJSLFdBQVc7WUFDWCxXQUFXO1lBQ1gsTUFBTTtZQUNOLGdCQUFnQjs7OztJQVV2Qix1Q0FBdUI7O0lBQ3ZCLG9DQUFpQjs7Ozs7SUFHZixpQ0FBd0M7Ozs7O0lBQ3hDLDZCQUF1Qjs7Ozs7SUFDdkIsK0JBQXlCOzs7OztJQUN6QixpQ0FBc0I7Ozs7O0lBQ3RCLGtDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOek1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZCc7XG5pbXBvcnQgeyBFbnZDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvZW52LWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FxLXNpZ251cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWdudXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWdudXAuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpZ251cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgdmFsaWRhdGVGb3JtOiBGb3JtR3JvdXBcbiAgaXNMb2FkaW5nID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGNvbmZpZzogRW52Q29uZmlnLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYXV0aDogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIG1lc3NhZ2U6IE56TWVzc2FnZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnZhbGlkYXRlRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdXNlck5hbWU6IFsgbnVsbCwgWyBWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsIF0gXSxcbiAgICAgIHBhc3N3b3JkOiBbIG51bGwsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdIF1cbiAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdEZvcm0oKSB7XG4gICAgbGV0IGFkbWluVVJMID0gdGhpcy5jb25maWcuYWRtaW5VUkwgfHwgJ2FkbWluJ1xuICAgIGZvciAoY29uc3QgaSBpbiB0aGlzLnZhbGlkYXRlRm9ybS5jb250cm9scykge1xuICAgICAgdGhpcy52YWxpZGF0ZUZvcm0uY29udHJvbHNbIGkgXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy52YWxpZGF0ZUZvcm0uY29udHJvbHNbIGkgXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhbGlkYXRlRm9ybS52YWxpZCAmJiAhdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5hdXRoLnNpZ251cChgJHt0aGlzLnZhbGlkYXRlRm9ybS52YWx1ZS51c2VyTmFtZX1gLCB0aGlzLnZhbGlkYXRlRm9ybS52YWx1ZS5wYXNzd29yZClcbiAgICB9XG4gIH1cblxufVxuIl19