UNPKG

@materia/users

Version:

Signin/signup your users in your Materia application

130 lines 13.2 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"; var _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) { var param_r4 = ctx.$implicit; var 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) { var 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) { var _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); var 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); var ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.cancel.emit(); }); i0.ɵɵtext(13, "Cancel"); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { var ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵadvance(3); i0.ɵɵproperty("formGroup", ctx_r1.signupForm); i0.ɵɵadvance(5); i0.ɵɵproperty("ngIf", ctx_r1.profileFields.length > 0); } } var SignupFormComponent = /** @class */ (function () { function SignupFormComponent(fb) { this.fb = fb; this.signup = new EventEmitter(); this.cancel = new EventEmitter(); } SignupFormComponent.prototype.ngOnChanges = function (changes) { if (changes.profileFields && changes.profileFields.currentValue) { this.initForm(); } }; SignupFormComponent.prototype.initForm = function () { this.signupForm = this.fb.group(Object.assign({}, { email: ['', Validators.required], password: ['', Validators.required] }, this.getProfileFormGroup())); }; SignupFormComponent.prototype.getProfileFormGroup = function () { if (!this.profileFields) { return {}; } var result = {}; this.profileFields.forEach(function (field) { if (field.required) { result[field.name] = ['', Validators.required]; } else { result[field.name] = ''; } }); return result; }; SignupFormComponent.prototype.ngOnInit = function () { this.initForm(); }; SignupFormComponent.prototype.signupClick = function () { 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}"] }); return SignupFormComponent; }()); export { SignupFormComponent }; /*@__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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1hdGVyaWEvdXNlcnMvIiwic291cmNlcyI6WyJzaWdudXAtZm9ybS9zaWdudXAtZm9ybS5jb21wb25lbnQudHMiLCJzaWdudXAtZm9ybS9zaWdudXAtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0doRSx5Q0FBMEk7Ozs7SUFBckgsb0NBQXNCLDJCQUFBLG1CQUFBOzs7SUFENUMsMkJBQ0M7SUFBQSx3SEFBb0g7SUFDckgsaUJBQU07OztJQUQyRSxlQUFtQztJQUFuQyw4Q0FBbUM7Ozs7SUFadEgsbUNBQ0M7SUFBQSxtQ0FBYTtJQUFBLGlDQUFpQjtJQUFBLGlCQUFjO0lBRTVDLCtCQUNDO0lBQUEsc0NBQ0M7SUFBQSwyQkFDRDtJQUFBLGlCQUFpQjtJQUVqQixzQ0FDQztJQUFBLDJCQUNEO0lBQUEsaUJBQWlCO0lBQ2pCLGtGQUNDO0lBR0QsMkJBQ0M7SUFBQSxrQ0FBa0Y7SUFBMUUsdUtBQVMsMkNBQTZCLElBQUM7SUFBbUMsdUJBQU07SUFBQSxpQkFBUztJQUNqRyxrQ0FBa0Q7SUFBMUMsdUtBQVMsb0JBQWEsSUFBQztJQUFtQix1QkFBTTtJQUFBLGlCQUFTO0lBQ2xFLGlCQUFNO0lBQ1AsaUJBQU87SUFDUixpQkFBVzs7O0lBakJKLGVBQXdCO0lBQXhCLDZDQUF3QjtJQVF4QixlQUFnQztJQUFoQyxzREFBZ0M7O0FEQXhDO0lBZUUsNkJBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBVHpCLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQyxXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFRcEIsQ0FBQztJQUV2Qyx5Q0FBVyxHQUFYLFVBQVksT0FBTztRQUNqQixJQUFJLE9BQU8sQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUNPLHNDQUFRLEdBQWhCO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNoRCxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNoQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwQyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8saURBQW1CLEdBQTNCO1FBQ0UsSUFBSSxDQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQztTQUFFO1FBQ3hDLElBQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFBLEtBQUs7WUFDOUIsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO2dCQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNoRDtpQkFBTTtnQkFDTCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELHNDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELHlDQUFXLEdBQVg7UUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7MEZBM0NVLG1CQUFtQjs0REFBbkIsbUJBQW1COzs7Ozs7WUNqQmhDLHNIQUNDOzs4QkRERDtDQTZEQyxBQWpERCxJQWlEQztTQTVDWSxtQkFBbUI7a0RBQW5CLG1CQUFtQjtjQUwvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsV0FBVyxFQUFFLDhCQUE4QjtnQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7YUFDNUM7O2tCQUVFLE1BQU07O2tCQUNOLE1BQU07O2tCQUVOLFNBQVM7bUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0JBSXRDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXRlcmlhLXNpZ251cC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ251cC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lnbnVwLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTaWdudXBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBAT3V0cHV0KCkgc2lnbnVwOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNhbmNlbDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgc2lnbnVwRm9ybTogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpIHByb2ZpbGVGaWVsZHM6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMucHJvZmlsZUZpZWxkcyAmJiBjaGFuZ2VzLnByb2ZpbGVGaWVsZHMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgaW5pdEZvcm0oKSB7XG4gICAgdGhpcy5zaWdudXBGb3JtID0gdGhpcy5mYi5ncm91cChPYmplY3QuYXNzaWduKHt9LCB7XG4gICAgICBlbWFpbDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfSwgdGhpcy5nZXRQcm9maWxlRm9ybUdyb3VwKCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJvZmlsZUZvcm1Hcm91cCgpIHtcbiAgICBpZiAoISB0aGlzLnByb2ZpbGVGaWVsZHMpIHsgcmV0dXJuIHt9OyB9XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICB0aGlzLnByb2ZpbGVGaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBpZiAoZmllbGQucmVxdWlyZWQpIHtcbiAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9ICcnO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBzaWdudXBDbGljaygpIHtcbiAgICB0aGlzLnNpZ251cC5lbWl0KHRoaXMuc2lnbnVwRm9ybS52YWx1ZSk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG5cdDxtYXQtY2FyZCBmeExheW91dD1cImNvbHVtblwiPlxuXHRcdDxtYXQtdG9vbGJhcj5DcmVhdGUgYSBuZXcgdXNlcjwvbWF0LXRvb2xiYXI+XG5cdFxuXHRcdDxmb3JtIFtmb3JtR3JvdXBdPVwic2lnbnVwRm9ybVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgc3R5bGU9XCJwYWRkaW5nOiAyNHB4O1wiPlxuXHRcdFx0PG1hdC1mb3JtLWZpZWxkPlxuXHRcdFx0XHQ8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkVtYWlsXCIgcmVxdWlyZWQgdHlwZT1cImVtYWlsXCIgbmFtZT1cImVtYWlsXCI+XG5cdFx0XHQ8L21hdC1mb3JtLWZpZWxkPlxuXHRcblx0XHRcdDxtYXQtZm9ybS1maWVsZD5cblx0XHRcdFx0PGlucHV0IGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCIgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJQYXNzd29yZFwiIHJlcXVpcmVkIHR5cGU9XCJwYXNzd29yZFwiIG5hbWU9XCJwYXNzd29yZFwiPlxuXHRcdFx0PC9tYXQtZm9ybS1maWVsZD5cblx0XHRcdDxkaXYgKm5nSWY9XCJwcm9maWxlRmllbGRzLmxlbmd0aCA+IDBcIj5cblx0XHRcdFx0PG1hdGVyaWEtcGFyYW0taW5wdXQgW3Nob3dDaGVja2JveF09XCJmYWxzZVwiIFtmb3JtXT1cInNpZ251cEZvcm1cIiBbcGFyYW1dPVwicGFyYW1cIiAqbmdGb3I9XCJsZXQgcGFyYW0gb2YgcHJvZmlsZUZpZWxkc1wiPjwvbWF0ZXJpYS1wYXJhbS1pbnB1dD5cblx0XHRcdDwvZGl2PlxuXG5cdFx0XHQ8ZGl2PlxuXHRcdFx0XHQ8YnV0dG9uIChjbGljayk9XCJzaWdudXAuZW1pdChzaWdudXBGb3JtLnZhbHVlKVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPkNyZWF0ZTwvYnV0dG9uPlxuXHRcdFx0XHQ8YnV0dG9uIChjbGljayk9XCJjYW5jZWwuZW1pdCgpXCIgbWF0LXJhaXNlZC1idXR0b24+Q2FuY2VsPC9idXR0b24+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Zvcm0+XG5cdDwvbWF0LWNhcmQ+XG48L25nLXRlbXBsYXRlPiJdfQ==