UNPKG

@materia/users

Version:

Signin/signup your users in your Materia application

128 lines 12.8 kB
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=