@materia/users
Version:
Signin/signup your users in your Materia application
128 lines • 12.8 kB
JavaScript
import { Component, Output, EventEmitter, ViewChild, TemplateRef, Input } from '@angular/core';
import { FormBuilder, Validators } from '@angular/forms';
import * as i0 from "@angular/core";
import * as i1 from "@angular/forms";
import * as i2 from "@angular/material/card";
import * as i3 from "@angular/flex-layout/flex";
import * as i4 from "@angular/material/toolbar";
import * as i5 from "@angular/material/form-field";
import * as i6 from "@angular/material/input";
import * as i7 from "@angular/common";
import * as i8 from "@angular/material/button";
import * as i9 from "../param-input/param-input.component";
const _c0 = ["template"];
function SignupFormComponent_ng_template_0_div_8_materia_param_input_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "materia-param-input", 9);
} if (rf & 2) {
const param_r4 = ctx.$implicit;
const ctx_r3 = i0.ɵɵnextContext(3);
i0.ɵɵproperty("showCheckbox", false)("form", ctx_r3.signupForm)("param", param_r4);
} }
function SignupFormComponent_ng_template_0_div_8_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div");
i0.ɵɵtemplate(1, SignupFormComponent_ng_template_0_div_8_materia_param_input_1_Template, 1, 3, "materia-param-input", 8);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r2 = i0.ɵɵnextContext(2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngForOf", ctx_r2.profileFields);
} }
function SignupFormComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
const _r6 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "mat-card", 1);
i0.ɵɵelementStart(1, "mat-toolbar");
i0.ɵɵtext(2, "Create a new user");
i0.ɵɵelementEnd();
i0.ɵɵelementStart(3, "form", 2);
i0.ɵɵelementStart(4, "mat-form-field");
i0.ɵɵelement(5, "input", 3);
i0.ɵɵelementEnd();
i0.ɵɵelementStart(6, "mat-form-field");
i0.ɵɵelement(7, "input", 4);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(8, SignupFormComponent_ng_template_0_div_8_Template, 2, 1, "div", 5);
i0.ɵɵelementStart(9, "div");
i0.ɵɵelementStart(10, "button", 6);
i0.ɵɵlistener("click", function SignupFormComponent_ng_template_0_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.signup.emit(ctx_r5.signupForm.value); });
i0.ɵɵtext(11, "Create");
i0.ɵɵelementEnd();
i0.ɵɵelementStart(12, "button", 7);
i0.ɵɵlistener("click", function SignupFormComponent_ng_template_0_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r6); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.cancel.emit(); });
i0.ɵɵtext(13, "Cancel");
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵadvance(3);
i0.ɵɵproperty("formGroup", ctx_r1.signupForm);
i0.ɵɵadvance(5);
i0.ɵɵproperty("ngIf", ctx_r1.profileFields.length > 0);
} }
export class SignupFormComponent {
constructor(fb) {
this.fb = fb;
this.signup = new EventEmitter();
this.cancel = new EventEmitter();
}
ngOnChanges(changes) {
if (changes.profileFields && changes.profileFields.currentValue) {
this.initForm();
}
}
initForm() {
this.signupForm = this.fb.group(Object.assign({}, {
email: ['', Validators.required],
password: ['', Validators.required]
}, this.getProfileFormGroup()));
}
getProfileFormGroup() {
if (!this.profileFields) {
return {};
}
const result = {};
this.profileFields.forEach(field => {
if (field.required) {
result[field.name] = ['', Validators.required];
}
else {
result[field.name] = '';
}
});
return result;
}
ngOnInit() {
this.initForm();
}
signupClick() {
this.signup.emit(this.signupForm.value);
}
}
SignupFormComponent.ɵfac = function SignupFormComponent_Factory(t) { return new (t || SignupFormComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder)); };
SignupFormComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SignupFormComponent, selectors: [["materia-signup-form"]], viewQuery: function SignupFormComponent_Query(rf, ctx) { if (rf & 1) {
i0.ɵɵstaticViewQuery(_c0, true);
} if (rf & 2) {
var _t;
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);
} }, inputs: { profileFields: "profileFields" }, outputs: { signup: "signup", cancel: "cancel" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 0, consts: [["template", ""], ["fxLayout", "column"], ["fxLayout", "column", 2, "padding", "24px", 3, "formGroup"], ["formControlName", "email", "matInput", "", "placeholder", "Email", "required", "", "type", "email", "name", "email"], ["formControlName", "password", "matInput", "", "placeholder", "Password", "required", "", "type", "password", "name", "password"], [4, "ngIf"], ["mat-raised-button", "", "color", "primary", 3, "click"], ["mat-raised-button", "", 3, "click"], [3, "showCheckbox", "form", "param", 4, "ngFor", "ngForOf"], [3, "showCheckbox", "form", "param"]], template: function SignupFormComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, SignupFormComponent_ng_template_0_Template, 14, 2, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
} }, directives: [i2.MatCard, i3.DefaultLayoutDirective, i4.MatToolbar, i1.ɵangular_packages_forms_forms_y, i1.NgControlStatusGroup, i1.FormGroupDirective, i5.MatFormField, i1.DefaultValueAccessor, i6.MatInput, i1.NgControlStatus, i1.FormControlName, i1.RequiredValidator, i7.NgIf, i8.MatButton, i7.NgForOf, i9.ParamInputComponent], styles: ["mat-card[_ngcontent-%COMP%]{width:300px;margin:0p;padding:0}"] });
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SignupFormComponent, [{
type: Component,
args: [{
selector: 'materia-signup-form',
templateUrl: './signup-form.component.html',
styleUrls: ['./signup-form.component.scss']
}]
}], function () { return [{ type: i1.FormBuilder }]; }, { signup: [{
type: Output
}], cancel: [{
type: Output
}], template: [{
type: ViewChild,
args: ['template', { static: true }]
}], profileFields: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1hdGVyaWEvdXNlcnMvIiwic291cmNlcyI6WyJzaWdudXAtZm9ybS9zaWdudXAtZm9ybS5jb21wb25lbnQudHMiLCJzaWdudXAtZm9ybS9zaWdudXAtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0doRSx5Q0FBMEk7Ozs7SUFBckgsb0NBQXNCLDJCQUFBLG1CQUFBOzs7SUFENUMsMkJBQ0M7SUFBQSx3SEFBb0g7SUFDckgsaUJBQU07OztJQUQyRSxlQUFtQztJQUFuQyw4Q0FBbUM7Ozs7SUFadEgsbUNBQ0M7SUFBQSxtQ0FBYTtJQUFBLGlDQUFpQjtJQUFBLGlCQUFjO0lBRTVDLCtCQUNDO0lBQUEsc0NBQ0M7SUFBQSwyQkFDRDtJQUFBLGlCQUFpQjtJQUVqQixzQ0FDQztJQUFBLDJCQUNEO0lBQUEsaUJBQWlCO0lBQ2pCLGtGQUNDO0lBR0QsMkJBQ0M7SUFBQSxrQ0FBa0Y7SUFBMUUseUtBQVMsMkNBQTZCLElBQUM7SUFBbUMsdUJBQU07SUFBQSxpQkFBUztJQUNqRyxrQ0FBa0Q7SUFBMUMseUtBQVMsb0JBQWEsSUFBQztJQUFtQix1QkFBTTtJQUFBLGlCQUFTO0lBQ2xFLGlCQUFNO0lBQ1AsaUJBQU87SUFDUixpQkFBVzs7O0lBakJKLGVBQXdCO0lBQXhCLDZDQUF3QjtJQVF4QixlQUFnQztJQUFoQyxzREFBZ0M7O0FES3hDLE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFUekIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVFwQixDQUFDO0lBRXZDLFdBQVcsQ0FBQyxPQUFPO1FBQ2pCLElBQUksT0FBTyxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRTtZQUMvRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBQ08sUUFBUTtRQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDaEQsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDaEMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDcEMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1NBQUU7UUFDeEMsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDaEQ7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOztzRkEzQ1UsbUJBQW1CO3dEQUFuQixtQkFBbUI7Ozs7OztRQ2pCaEMsc0hBQ0M7O2tERGdCWSxtQkFBbUI7Y0FML0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSw4QkFBOEI7Z0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2FBQzVDOztrQkFFRSxNQUFNOztrQkFDTixNQUFNOztrQkFFTixTQUFTO21CQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O2tCQUl0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGQsXG4gIFRlbXBsYXRlUmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0ZXJpYS1zaWdudXAtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWdudXAtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZ251cC1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2lnbnVwRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIHNpZ251cDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHNpZ251cEZvcm06IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKSBwcm9maWxlRmllbGRzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnByb2ZpbGVGaWVsZHMgJiYgY2hhbmdlcy5wcm9maWxlRmllbGRzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGluaXRGb3JtKCkge1xuICAgIHRoaXMuc2lnbnVwRm9ybSA9IHRoaXMuZmIuZ3JvdXAoT2JqZWN0LmFzc2lnbih7fSwge1xuICAgICAgZW1haWw6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgIH0sIHRoaXMuZ2V0UHJvZmlsZUZvcm1Hcm91cCgpKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb2ZpbGVGb3JtR3JvdXAoKSB7XG4gICAgaWYgKCEgdGhpcy5wcm9maWxlRmllbGRzKSB7IHJldHVybiB7fTsgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgdGhpcy5wcm9maWxlRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgaWYgKGZpZWxkLnJlcXVpcmVkKSB7XG4gICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSAnJztcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgc2lnbnVwQ2xpY2soKSB7XG4gICAgdGhpcy5zaWdudXAuZW1pdCh0aGlzLnNpZ251cEZvcm0udmFsdWUpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuXHQ8bWF0LWNhcmQgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cblx0XHQ8bWF0LXRvb2xiYXI+Q3JlYXRlIGEgbmV3IHVzZXI8L21hdC10b29sYmFyPlxuXHRcblx0XHQ8Zm9ybSBbZm9ybUdyb3VwXT1cInNpZ251cEZvcm1cIiBmeExheW91dD1cImNvbHVtblwiIHN0eWxlPVwicGFkZGluZzogMjRweDtcIj5cblx0XHRcdDxtYXQtZm9ybS1maWVsZD5cblx0XHRcdFx0PGlucHV0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJFbWFpbFwiIHJlcXVpcmVkIHR5cGU9XCJlbWFpbFwiIG5hbWU9XCJlbWFpbFwiPlxuXHRcdFx0PC9tYXQtZm9ybS1maWVsZD5cblx0XG5cdFx0XHQ8bWF0LWZvcm0tZmllbGQ+XG5cdFx0XHRcdDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiUGFzc3dvcmRcIiByZXF1aXJlZCB0eXBlPVwicGFzc3dvcmRcIiBuYW1lPVwicGFzc3dvcmRcIj5cblx0XHRcdDwvbWF0LWZvcm0tZmllbGQ+XG5cdFx0XHQ8ZGl2ICpuZ0lmPVwicHJvZmlsZUZpZWxkcy5sZW5ndGggPiAwXCI+XG5cdFx0XHRcdDxtYXRlcmlhLXBhcmFtLWlucHV0IFtzaG93Q2hlY2tib3hdPVwiZmFsc2VcIiBbZm9ybV09XCJzaWdudXBGb3JtXCIgW3BhcmFtXT1cInBhcmFtXCIgKm5nRm9yPVwibGV0IHBhcmFtIG9mIHByb2ZpbGVGaWVsZHNcIj48L21hdGVyaWEtcGFyYW0taW5wdXQ+XG5cdFx0XHQ8L2Rpdj5cblxuXHRcdFx0PGRpdj5cblx0XHRcdFx0PGJ1dHRvbiAoY2xpY2spPVwic2lnbnVwLmVtaXQoc2lnbnVwRm9ybS52YWx1ZSlcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5DcmVhdGU8L2J1dHRvbj5cblx0XHRcdFx0PGJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsLmVtaXQoKVwiIG1hdC1yYWlzZWQtYnV0dG9uPkNhbmNlbDwvYnV0dG9uPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9mb3JtPlxuXHQ8L21hdC1jYXJkPlxuPC9uZy10ZW1wbGF0ZT4iXX0=