UNPKG

@materia/users

Version:

Signin/signup your users in your Materia application

980 lines (975 loc) 65.4 kB
import { __decorate, __metadata } from 'tslib'; import { ɵɵelement, ɵɵnextContext, ɵɵproperty, ɵɵreference, ɵɵelementStart, ɵɵtext, ɵɵelementEnd, ɵɵadvance, ɵɵtextInterpolate1, ɵɵtemplate, ɵɵtextInterpolate, EventEmitter, ɵɵdefineComponent, ɵsetClassMetadata, Component, Input, Output, ɵɵgetCurrentView, ɵɵlistener, ɵɵrestoreView, ɵɵdirectiveInject, ɵɵstaticViewQuery, ɵɵqueryRefresh, ɵɵloadQuery, ɵɵNgOnChangesFeature, ɵɵtemplateRefExtractor, ViewChild, ɵɵtextInterpolate2, ɵɵsanitizeUrl, ɵɵstyleProp, ɵɵelementContainerStart, ɵɵelementContainerEnd, ɵɵdefineNgModule, ɵɵdefineInjector, ɵɵsetNgModuleScope, NgModule } from '@angular/core'; import { MatDialog, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogModule } from '@angular/material/dialog'; import { AddonView, AddonSetup, Addon } from '@materia/addons'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { NgControlStatusGroup, FormGroupDirective, NgControlStatus, FormControlName, DefaultValueAccessor, NumberValueAccessor, Validators, FormBuilder, ɵangular_packages_forms_forms_y, RequiredValidator, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatCard, MatCardModule } from '@angular/material/card'; import { DefaultLayoutDirective, DefaultFlexDirective, DefaultLayoutAlignDirective } from '@angular/flex-layout/flex'; import { MatToolbar, MatToolbarModule } from '@angular/material/toolbar'; import { MatFormField, MatSuffix, MatError } from '@angular/material/form-field'; import { MatInput, MatInputModule } from '@angular/material/input'; import { NgIf, NgForOf, CommonModule } from '@angular/common'; import { MatButton, MatButtonModule } from '@angular/material/button'; import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox'; import { MatDatepicker, MatDatepickerInput, MatDatepickerToggle, MatDatepickerModule } from '@angular/material/datepicker'; import { MatIcon, MatIconModule } from '@angular/material/icon'; import { MatBadge, MatBadgeModule } from '@angular/material/badge'; import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip'; import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'; import { MatSpinner, MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { MatAccordion, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionModule } from '@angular/material/expansion'; import { MatSelect, MatSelectModule } from '@angular/material/select'; import { MatOption, MatRippleModule, MatNativeDateModule } from '@angular/material/core'; import { MatRadioGroup, MatRadioButton, MatRadioModule } from '@angular/material/radio'; import { FlexLayoutModule } from '@angular/flex-layout'; import { MatListModule } from '@angular/material/list'; import { MatSnackBarModule } from '@angular/material/snack-bar'; import { MatStepperModule } from '@angular/material/stepper'; function ParamInputComponent_mat_checkbox_2_Template(rf, ctx) { if (rf & 1) { ɵɵelement(0, "mat-checkbox", 6); } if (rf & 2) { const ctx_r0 = ɵɵnextContext(); ɵɵproperty("formControlName", ctx_r0.checkboxName); } } function ParamInputComponent_mat_form_field_3_input_1_Template(rf, ctx) { if (rf & 1) { ɵɵelement(0, "input", 15); } if (rf & 2) { const ctx_r4 = ɵɵnextContext(2); ɵɵproperty("formControlName", ctx_r4.param.name)("placeholder", ctx_r4.label)("type", ctx_r4.actualComponent); } } function ParamInputComponent_mat_form_field_3_input_2_Template(rf, ctx) { if (rf & 1) { ɵɵelement(0, "input", 16); } if (rf & 2) { const ctx_r5 = ɵɵnextContext(2); ɵɵproperty("placeholder", ctx_r5.label)("formControlName", ctx_r5.param.name); } } function ParamInputComponent_mat_form_field_3_textarea_3_Template(rf, ctx) { if (rf & 1) { ɵɵelement(0, "textarea", 17); } if (rf & 2) { const ctx_r6 = ɵɵnextContext(2); ɵɵproperty("placeholder", ctx_r6.label)("formControlName", ctx_r6.param.name); } } function ParamInputComponent_mat_form_field_3_input_4_Template(rf, ctx) { if (rf & 1) { ɵɵelement(0, "input", 18); } if (rf & 2) { ɵɵnextContext(); const _r9 = ɵɵreference(7); const ctx_r7 = ɵɵnextContext(); ɵɵproperty("formControlName", ctx_r7.param.name)("matDatepicker", _r9)("placeholder", ctx_r7.param.name); } } function ParamInputComponent_mat_form_field_3_mat_datepicker_toggle_5_Template(rf, ctx) { if (rf & 1) { ɵɵelement(0, "mat-datepicker-toggle", 19); } if (rf & 2) { ɵɵnextContext(); const _r9 = ɵɵreference(7); ɵɵproperty("for", _r9); } } function ParamInputComponent_mat_form_field_3_mat_error_8_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-error"); ɵɵtext(1); ɵɵelementStart(2, "strong"); ɵɵtext(3, "required"); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { const ctx_r10 = ɵɵnextContext(2); ɵɵadvance(1); ɵɵtextInterpolate1(" ", ctx_r10.param.name, " is "); } } function ParamInputComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-form-field", 7); ɵɵtemplate(1, ParamInputComponent_mat_form_field_3_input_1_Template, 1, 3, "input", 8); ɵɵtemplate(2, ParamInputComponent_mat_form_field_3_input_2_Template, 1, 2, "input", 9); ɵɵtemplate(3, ParamInputComponent_mat_form_field_3_textarea_3_Template, 1, 2, "textarea", 10); ɵɵtemplate(4, ParamInputComponent_mat_form_field_3_input_4_Template, 1, 3, "input", 11); ɵɵtemplate(5, ParamInputComponent_mat_form_field_3_mat_datepicker_toggle_5_Template, 1, 1, "mat-datepicker-toggle", 12); ɵɵelement(6, "mat-datepicker", null, 13); ɵɵtemplate(8, ParamInputComponent_mat_form_field_3_mat_error_8_Template, 4, 1, "mat-error", 14); ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = ɵɵnextContext(); ɵɵadvance(1); ɵɵproperty("ngIf", ctx_r1.type != "boolean" && ctx_r1.type != "date" && ctx_r1.type != "float" && ctx_r1.actualComponent != "textarea"); ɵɵadvance(1); ɵɵproperty("ngIf", ctx_r1.type == "float"); ɵɵadvance(1); ɵɵproperty("ngIf", ctx_r1.actualComponent == "textarea"); ɵɵadvance(1); ɵɵproperty("ngIf", ctx_r1.type == "date"); ɵɵadvance(1); ɵɵproperty("ngIf", ctx_r1.type == "date"); ɵɵadvance(3); ɵɵproperty("ngIf", ctx_r1.requiredError); } } function ParamInputComponent_mat_checkbox_4_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-checkbox", 20); ɵɵtext(1); ɵɵelementEnd(); } if (rf & 2) { const ctx_r2 = ɵɵnextContext(); ɵɵproperty("formControlName", ctx_r2.param.name); ɵɵadvance(1); ɵɵtextInterpolate(ctx_r2.label); } } function ParamInputComponent_div_5_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "div", 21); ɵɵelementStart(1, "label"); ɵɵtext(2); ɵɵelementEnd(); ɵɵelement(3, "textarea", 22); ɵɵelementEnd(); } if (rf & 2) { const ctx_r3 = ɵɵnextContext(); ɵɵadvance(2); ɵɵtextInterpolate(ctx_r3.label); ɵɵadvance(1); ɵɵproperty("formControlName", ctx_r3.param.name); } } const DefaultComponent = Object.freeze({ text: 'text', number: 'text', date: 'date', float: 'text', boolean: 'switch' }); class ParamInputComponent { constructor() { this.showAsterisk = true; this.showCheckbox = true; this.changed = new EventEmitter(); } get requiredError() { return (this.form.get(this.param.name) && this.form.get(this.param.name).hasError('required')); } get checkboxName() { return `${this.param.name}_check`; } ngOnInit() { this.type = this.param.type; if (!this.label) { this.label = this.param.name; if (this.param.required && this.showAsterisk) { this.label += '*'; } } if (this.param && this.param.component) { if (this.param.component === 'input') { if (this.param.type === 'text' || this.param.type === 'string') { this.actualComponent = 'text'; } else if (this.param.type === 'number') { this.actualComponent = 'number'; } else { this.actualComponent = this.param.component; } } else { if (this.param.component === 'datePicker') { this.actualComponent = 'date'; } else if (this.param.component === 'timePicker') { this.actualComponent = 'time'; } else if (this.param.component === 'dateTimePicker') { this.actualComponent = 'datetime-local'; } else { this.actualComponent = this.param.component; } } } else { this.actualComponent = DefaultComponent[this.type]; } if (this.showCheckbox && !this.param.required) { this.form.get(this.param.name).valueChanges.subscribe(val => { if (val) { this.form.get(this.checkboxName).setValue(true); } else { this.form.get(this.checkboxName).setValue(false); } }); } } } ParamInputComponent.ɵfac = function ParamInputComponent_Factory(t) { return new (t || ParamInputComponent)(); }; ParamInputComponent.ɵcmp = ɵɵdefineComponent({ type: ParamInputComponent, selectors: [["materia-param-input"]], inputs: { param: "param", disabled: "disabled", form: "form", label: "label", showAsterisk: "showAsterisk", showCheckbox: "showCheckbox" }, outputs: { changed: "changed" }, decls: 6, vars: 5, consts: [["fxLayout", "row", 3, "formGroup"], ["fxLayout", "row", "fxFlex", ""], [3, "formControlName", 4, "ngIf"], ["fxFlex", "", 4, "ngIf"], ["tabindex", "0", "style", "top: 0;", 3, "formControlName", 4, "ngIf"], ["class", "markdown", "fxLayout", "column", "fxFlex", "", 4, "ngIf"], [3, "formControlName"], ["fxFlex", ""], ["tabindex", "0", "matInput", "", 3, "formControlName", "placeholder", "type", 4, "ngIf"], ["matInput", "", "tabindex", "0", "type", "number", "step", "any", 3, "placeholder", "formControlName", 4, "ngIf"], ["tabindex", "0", "matInput", "", 3, "placeholder", "formControlName", 4, "ngIf"], ["matInput", "", "tabindex", "0", 3, "formControlName", "matDatepicker", "placeholder", 4, "ngIf"], ["matSuffix", "", 3, "for", 4, "ngIf"], ["picker", ""], [4, "ngIf"], ["tabindex", "0", "matInput", "", 3, "formControlName", "placeholder", "type"], ["matInput", "", "tabindex", "0", "type", "number", "step", "any", 3, "placeholder", "formControlName"], ["tabindex", "0", "matInput", "", 3, "placeholder", "formControlName"], ["matInput", "", "tabindex", "0", 3, "formControlName", "matDatepicker", "placeholder"], ["matSuffix", "", 3, "for"], ["tabindex", "0", 2, "top", "0", 3, "formControlName"], ["fxLayout", "column", "fxFlex", "", 1, "markdown"], ["tabindex", "0", "simplemde", "{spellChecker: false, toolbar: ['bold', 'italic', 'heading', '|', 'quote', 'unordered-list', 'ordered-list', '|', 'link', 'image', 'table']}", 3, "formControlName"]], template: function ParamInputComponent_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "div", 0); ɵɵelementStart(1, "div", 1); ɵɵtemplate(2, ParamInputComponent_mat_checkbox_2_Template, 1, 1, "mat-checkbox", 2); ɵɵtemplate(3, ParamInputComponent_mat_form_field_3_Template, 9, 6, "mat-form-field", 3); ɵɵtemplate(4, ParamInputComponent_mat_checkbox_4_Template, 2, 2, "mat-checkbox", 4); ɵɵtemplate(5, ParamInputComponent_div_5_Template, 4, 2, "div", 5); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { ɵɵproperty("formGroup", ctx.form); ɵɵadvance(2); ɵɵproperty("ngIf", !ctx.param.required && ctx.showCheckbox && ctx.type !== "boolean"); ɵɵadvance(1); ɵɵproperty("ngIf", ctx.type != "boolean" && ctx.actualComponent != "markdown" && ctx.actualComponent != "article"); ɵɵadvance(1); ɵɵproperty("ngIf", ctx.type == "boolean"); ɵɵadvance(1); ɵɵproperty("ngIf", ctx.actualComponent == "markdown"); } }, directives: [DefaultLayoutDirective, NgControlStatusGroup, FormGroupDirective, DefaultFlexDirective, NgIf, MatCheckbox, NgControlStatus, FormControlName, MatFormField, MatDatepicker, MatInput, DefaultValueAccessor, NumberValueAccessor, MatDatepickerInput, MatDatepickerToggle, MatSuffix, MatError], styles: [""] }); /*@__PURE__*/ (function () { ɵsetClassMetadata(ParamInputComponent, [{ type: Component, args: [{ selector: 'materia-param-input', templateUrl: './param-input.component.html', styleUrls: ['./param-input.component.scss'] }] }], function () { return []; }, { param: [{ type: Input }], disabled: [{ type: Input }], form: [{ type: Input }], label: [{ type: Input }], showAsterisk: [{ type: Input }], showCheckbox: [{ type: Input }], changed: [{ type: Output }] }); })(); const _c0 = ["template"]; function SignupFormComponent_ng_template_0_div_8_materia_param_input_1_Template(rf, ctx) { if (rf & 1) { ɵɵelement(0, "materia-param-input", 9); } if (rf & 2) { const param_r4 = ctx.$implicit; const ctx_r3 = ɵɵnextContext(3); ɵɵproperty("showCheckbox", false)("form", ctx_r3.signupForm)("param", param_r4); } } function SignupFormComponent_ng_template_0_div_8_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "div"); ɵɵtemplate(1, SignupFormComponent_ng_template_0_div_8_materia_param_input_1_Template, 1, 3, "materia-param-input", 8); ɵɵelementEnd(); } if (rf & 2) { const ctx_r2 = ɵɵnextContext(2); ɵɵadvance(1); ɵɵproperty("ngForOf", ctx_r2.profileFields); } } function SignupFormComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) { const _r6 = ɵɵgetCurrentView(); ɵɵelementStart(0, "mat-card", 1); ɵɵelementStart(1, "mat-toolbar"); ɵɵtext(2, "Create a new user"); ɵɵelementEnd(); ɵɵelementStart(3, "form", 2); ɵɵelementStart(4, "mat-form-field"); ɵɵelement(5, "input", 3); ɵɵelementEnd(); ɵɵelementStart(6, "mat-form-field"); ɵɵelement(7, "input", 4); ɵɵelementEnd(); ɵɵtemplate(8, SignupFormComponent_ng_template_0_div_8_Template, 2, 1, "div", 5); ɵɵelementStart(9, "div"); ɵɵelementStart(10, "button", 6); ɵɵlistener("click", function SignupFormComponent_ng_template_0_Template_button_click_10_listener() { ɵɵrestoreView(_r6); const ctx_r5 = ɵɵnextContext(); return ctx_r5.signup.emit(ctx_r5.signupForm.value); }); ɵɵtext(11, "Create"); ɵɵelementEnd(); ɵɵelementStart(12, "button", 7); ɵɵlistener("click", function SignupFormComponent_ng_template_0_Template_button_click_12_listener() { ɵɵrestoreView(_r6); const ctx_r7 = ɵɵnextContext(); return ctx_r7.cancel.emit(); }); ɵɵtext(13, "Cancel"); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = ɵɵnextContext(); ɵɵadvance(3); ɵɵproperty("formGroup", ctx_r1.signupForm); ɵɵadvance(5); ɵɵproperty("ngIf", ctx_r1.profileFields.length > 0); } } 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)(ɵɵdirectiveInject(FormBuilder)); }; SignupFormComponent.ɵcmp = ɵɵdefineComponent({ type: SignupFormComponent, selectors: [["materia-signup-form"]], viewQuery: function SignupFormComponent_Query(rf, ctx) { if (rf & 1) { ɵɵstaticViewQuery(_c0, true); } if (rf & 2) { var _t; ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.template = _t.first); } }, inputs: { profileFields: "profileFields" }, outputs: { signup: "signup", cancel: "cancel" }, features: [ɵɵ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) { ɵɵtemplate(0, SignupFormComponent_ng_template_0_Template, 14, 2, "ng-template", null, 0, ɵɵtemplateRefExtractor); } }, directives: [MatCard, DefaultLayoutDirective, MatToolbar, ɵangular_packages_forms_forms_y, NgControlStatusGroup, FormGroupDirective, MatFormField, DefaultValueAccessor, MatInput, NgControlStatus, FormControlName, RequiredValidator, NgIf, MatButton, NgForOf, ParamInputComponent], styles: ["mat-card[_ngcontent-%COMP%]{width:300px;margin:0p;padding:0}"] }); /*@__PURE__*/ (function () { ɵsetClassMetadata(SignupFormComponent, [{ type: Component, args: [{ selector: 'materia-signup-form', templateUrl: './signup-form.component.html', styleUrls: ['./signup-form.component.scss'] }] }], function () { return [{ type: FormBuilder }]; }, { signup: [{ type: Output }], cancel: [{ type: Output }], template: [{ type: ViewChild, args: ['template', { static: true }] }], profileFields: [{ type: Input }] }); })(); const _c0$1 = ["signupPanel"]; const _c1 = ["changeEmailPanel"]; const _c2 = ["lostPasswordPanel"]; function EmailSettingsComponent_mat_option_11_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-option", 20); ɵɵtext(1); ɵɵelementEnd(); } if (rf & 2) { const t_r6 = ctx.$implicit; ɵɵproperty("value", t_r6.id); ɵɵadvance(1); ɵɵtextInterpolate2("", t_r6.name, " (", t_r6.id, ")"); } } function EmailSettingsComponent_mat_option_23_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-option", 20); ɵɵtext(1); ɵɵelementEnd(); } if (rf & 2) { const t_r7 = ctx.$implicit; ɵɵproperty("value", t_r7.id); ɵɵadvance(1); ɵɵtextInterpolate2("", t_r7.name, " (", t_r7.id, ")"); } } function EmailSettingsComponent_mat_option_35_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-option", 20); ɵɵtext(1); ɵɵelementEnd(); } if (rf & 2) { const t_r8 = ctx.$implicit; ɵɵproperty("value", t_r8.id); ɵɵadvance(1); ɵɵtextInterpolate2("", t_r8.name, " (", t_r8.id, ")"); } } class EmailSettingsComponent { constructor(http, form) { this.http = http; this.form = form; this.hide = new EventEmitter(); this.save = new EventEmitter(); } ngOnInit() { this.emailForm = this.form.group({ method: [ this.getSettingsProperty('method', 'session'), Validators.required ], user_profile_enabled: [ this.getSettingsProperty('user_profile_enabled', false) ], user_profile_entity: [ this.getSettingsProperty('user_profile_entity', '') ], email_verification: [ this.getSettingsProperty('email_verification', false) ], email_addon: [this.getSettingsProperty('email_addon', false)], template_signup: [this.getSettingsProperty('template_signup', '')], redirect_signup: [this.getSettingsProperty('redirect_signup', '')], subject_signup: [this.getSettingsProperty('subject_signup', '')], subject_lost_password: [this.getSettingsProperty('subject_lost_password', '')], subject_change_email: [this.getSettingsProperty('subject_change_email', '')], template_lost_password: [ this.getSettingsProperty('template_lost_password', '') ], redirect_lost_password: [ this.getSettingsProperty('redirect_lost_password', '') ], template_change_email: [ this.getSettingsProperty('template_change_email', '') ], redirect_change_email: [ this.getSettingsProperty('redirect_change_email', '') ] }); this.refreshTemplates(); } refreshTemplates() { if (this.settings.email_addon === '@materia/mailjet') { this.http .post(`${this.baseUrl}/entities/mailjet_template/queries/list`, { limit: 1000 }) .subscribe(data => { this.templates = data.data .filter(row => row.OwnerId !== 0) .map(row => { return { name: row.Name, id: row.ID }; }); }); } else if (this.settings.email_addon === '@materia/sendgrid') { this.http .post(`${this.baseUrl}/entities/sendgrid_template/queries/listTemplates`, {}) .subscribe(data => { this.templates = data && data.data && data.data; // TODO... }); } } saveEmailSettings() { if (this.emailForm.valid) { this.save.emit(this.emailForm.value); } } cancel() { this.hide.emit(); } getSettingsProperty(property, defaultValue) { return (this.settings && this.settings[property]) || defaultValue; } } EmailSettingsComponent.ɵfac = function EmailSettingsComponent_Factory(t) { return new (t || EmailSettingsComponent)(ɵɵdirectiveInject(HttpClient), ɵɵdirectiveInject(FormBuilder)); }; EmailSettingsComponent.ɵcmp = ɵɵdefineComponent({ type: EmailSettingsComponent, selectors: [["materia-user-management-email-settings"]], viewQuery: function EmailSettingsComponent_Query(rf, ctx) { if (rf & 1) { ɵɵstaticViewQuery(_c0$1, true); ɵɵstaticViewQuery(_c1, true); ɵɵstaticViewQuery(_c2, true); } if (rf & 2) { var _t; ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.signupPanel = _t.first); ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.changeEmailPanel = _t.first); ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.lostPasswordPanel = _t.first); } }, inputs: { settings: "settings", baseUrl: "baseUrl" }, outputs: { hide: "hide", save: "save" }, decls: 43, vars: 5, consts: [[3, "formGroup"], ["fxLayout", "column", 3, "expanded"], ["signupPanel", ""], ["fxLayout", "column", 1, "panel-content"], ["matInput", "", "placeholder", "Subject", "formControlName", "subject_signup"], ["placeholder", "Template", "formControlName", "template_signup"], [3, "value", 4, "ngFor", "ngForOf"], ["matInput", "", "placeholder", "Redirect URL", "formControlName", "redirect_signup"], ["changeEmailPanel", ""], ["matInput", "", "placeholder", "Subject", "formControlName", "subject_change_email"], ["placeholder", "Template", "formControlName", "template_change_email"], ["matInput", "", "placeholder", "Redirect URL", "formControlName", "redirect_change_email"], ["fxLayout", "column"], ["lostPasswordPanel", ""], ["matInput", "", "placeholder", "Subject", "formControlName", "subject_lost_password"], ["placeholder", "Template", "formControlName", "template_lost_password"], ["matInput", "", "placeholder", "Redirect URL", "formControlName", "redirect_lost_password"], [2, "margin", "16px 0", "text-align", "center"], ["mat-raised-button", "", "color", "primary", 2, "margin-right", "8px", 3, "click"], ["mat-raised-button", "", 3, "click"], [3, "value"]], template: function EmailSettingsComponent_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "form", 0); ɵɵelementStart(1, "mat-accordion"); ɵɵelementStart(2, "mat-expansion-panel", 1, 2); ɵɵelementStart(4, "mat-expansion-panel-header"); ɵɵtext(5, " Signup "); ɵɵelementEnd(); ɵɵelementStart(6, "div", 3); ɵɵelementStart(7, "mat-form-field"); ɵɵelement(8, "input", 4); ɵɵelementEnd(); ɵɵelementStart(9, "mat-form-field"); ɵɵelementStart(10, "mat-select", 5); ɵɵtemplate(11, EmailSettingsComponent_mat_option_11_Template, 2, 3, "mat-option", 6); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementStart(12, "mat-form-field"); ɵɵelement(13, "input", 7); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementStart(14, "mat-expansion-panel", null, 8); ɵɵelementStart(16, "mat-expansion-panel-header"); ɵɵtext(17, " Change email "); ɵɵelementEnd(); ɵɵelementStart(18, "div", 3); ɵɵelementStart(19, "mat-form-field"); ɵɵelement(20, "input", 9); ɵɵelementEnd(); ɵɵelementStart(21, "mat-form-field"); ɵɵelementStart(22, "mat-select", 10); ɵɵtemplate(23, EmailSettingsComponent_mat_option_23_Template, 2, 3, "mat-option", 6); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementStart(24, "mat-form-field"); ɵɵelement(25, "input", 11); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementStart(26, "mat-expansion-panel", 12, 13); ɵɵelementStart(28, "mat-expansion-panel-header"); ɵɵtext(29, " Lost password "); ɵɵelementEnd(); ɵɵelementStart(30, "div", 3); ɵɵelementStart(31, "mat-form-field"); ɵɵelement(32, "input", 14); ɵɵelementEnd(); ɵɵelementStart(33, "mat-form-field"); ɵɵelementStart(34, "mat-select", 15); ɵɵtemplate(35, EmailSettingsComponent_mat_option_35_Template, 2, 3, "mat-option", 6); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementStart(36, "mat-form-field"); ɵɵelement(37, "input", 16); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementStart(38, "div", 17); ɵɵelementStart(39, "button", 18); ɵɵlistener("click", function EmailSettingsComponent_Template_button_click_39_listener() { return ctx.saveEmailSettings(); }); ɵɵtext(40, "Save"); ɵɵelementEnd(); ɵɵelementStart(41, "button", 19); ɵɵlistener("click", function EmailSettingsComponent_Template_button_click_41_listener() { return ctx.hide.emit(); }); ɵɵtext(42, "Cancel"); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { ɵɵproperty("formGroup", ctx.emailForm); ɵɵadvance(2); ɵɵproperty("expanded", true); ɵɵadvance(9); ɵɵproperty("ngForOf", ctx.templates); ɵɵadvance(12); ɵɵproperty("ngForOf", ctx.templates); ɵɵadvance(12); ɵɵproperty("ngForOf", ctx.templates); } }, directives: [ɵangular_packages_forms_forms_y, NgControlStatusGroup, FormGroupDirective, MatAccordion, MatExpansionPanel, DefaultLayoutDirective, MatExpansionPanelHeader, MatFormField, MatInput, DefaultValueAccessor, NgControlStatus, FormControlName, MatSelect, NgForOf, MatButton, MatOption], styles: [".panel-content[_ngcontent-%COMP%]{margin:0 24px!important}"] }); /*@__PURE__*/ (function () { ɵsetClassMetadata(EmailSettingsComponent, [{ type: Component, args: [{ selector: 'materia-user-management-email-settings', templateUrl: './email-settings.component.html', styleUrls: ['./email-settings.component.scss'] }] }], function () { return [{ type: HttpClient }, { type: FormBuilder }]; }, { settings: [{ type: Input }], baseUrl: [{ type: Input }], hide: [{ type: Output }], save: [{ type: Output }], signupPanel: [{ type: ViewChild, args: ['signupPanel', { static: true }] }], changeEmailPanel: [{ type: ViewChild, args: ['changeEmailPanel', { static: true }] }], lostPasswordPanel: [{ type: ViewChild, args: ['lostPasswordPanel', { static: true }] }] }); })(); function UserManagementViewComponent_div_1_Template(rf, ctx) { if (rf & 1) { const _r9 = ɵɵgetCurrentView(); ɵɵelementStart(0, "div", 9); ɵɵtext(1); ɵɵelementStart(2, "a", 10); ɵɵlistener("click", function UserManagementViewComponent_div_1_Template_a_click_2_listener() { ɵɵrestoreView(_r9); const ctx_r8 = ɵɵnextContext(); return ctx_r8.logout(); }); ɵɵtext(3, "Logout"); ɵɵelementEnd(); ɵɵtext(4, ") "); ɵɵelementEnd(); } if (rf & 2) { const ctx_r0 = ɵɵnextContext(); ɵɵadvance(1); ɵɵtextInterpolate1(" Currently connected as ", ctx_r0.me.email, " ("); } } function UserManagementViewComponent_ng_container_4_button_7_Template(rf, ctx) { if (rf & 1) { const _r13 = ɵɵgetCurrentView(); ɵɵelementStart(0, "button", 17); ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_button_7_Template_button_click_0_listener() { ɵɵrestoreView(_r13); const ctx_r12 = ɵɵnextContext(2); return ctx_r12.configureEmails(); }); ɵɵtext(1, "Configure emails"); ɵɵelementEnd(); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_span_1_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "span"); ɵɵtext(1, "verified"); ɵɵelementEnd(); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template(rf, ctx) { if (rf & 1) { const _r25 = ɵɵgetCurrentView(); ɵɵelementStart(0, "button", 30); ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template_button_click_0_listener() { ɵɵrestoreView(_r25); const user_r18 = ɵɵnextContext(2).$implicit; const ctx_r23 = ɵɵnextContext(4); return ctx_r23.resendVerification(user_r18.id_user); }); ɵɵtext(1, "Resend verification"); ɵɵelementEnd(); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "div", 28); ɵɵtemplate(1, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_span_1_Template, 2, 0, "span", 3); ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template, 2, 0, "ng-template", null, 29, ɵɵtemplateRefExtractor); ɵɵelementEnd(); } if (rf & 2) { const _r21 = ɵɵreference(3); const user_r18 = ɵɵnextContext().$implicit; ɵɵadvance(1); ɵɵproperty("ngIf", user_r18.verified)("ngIfElse", _r21); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "div", 24); ɵɵelement(1, "img", 25); ɵɵelementStart(2, "div", 26); ɵɵtext(3); ɵɵelementEnd(); ɵɵtemplate(4, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_Template, 4, 2, "div", 27); ɵɵelementEnd(); } if (rf & 2) { const user_r18 = ctx.$implicit; const ctx_r17 = ɵɵnextContext(4); ɵɵadvance(1); ɵɵproperty("src", user_r18.gravatar, ɵɵsanitizeUrl); ɵɵadvance(2); ɵɵtextInterpolate(user_r18.email); ɵɵadvance(1); ɵɵproperty("ngIf", ctx_r17.settings == null ? null : ctx_r17.settings.email_verification); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template(rf, ctx) { if (rf & 1) { const _r28 = ɵɵgetCurrentView(); ɵɵelementStart(0, "div", 20); ɵɵelementStart(1, "div", 21); ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_Template, 5, 3, "div", 22); ɵɵelementEnd(); ɵɵelementStart(3, "mat-paginator", 23); ɵɵlistener("page", function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template_mat_paginator_page_3_listener($event) { ɵɵrestoreView(_r28); const ctx_r27 = ɵɵnextContext(3); return ctx_r27.paginationEvent($event); }); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { const ctx_r14 = ɵɵnextContext(3); ɵɵadvance(1); ɵɵstyleProp("overflow-y", "auto"); ɵɵadvance(1); ɵɵproperty("ngForOf", ctx_r14.users); ɵɵadvance(1); ɵɵproperty("length", ctx_r14.nbUsers)("pageIndex", ctx_r14.defaultPageIndex); } } function UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template(rf, ctx) { if (rf & 1) { const _r30 = ɵɵgetCurrentView(); ɵɵelementStart(0, "div", 31); ɵɵelementStart(1, "span"); ɵɵtext(2, "There is no users registered yet"); ɵɵelementEnd(); ɵɵelementStart(3, "div"); ɵɵelementStart(4, "button", 32); ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template_button_click_4_listener() { ɵɵrestoreView(_r30); const ctx_r29 = ɵɵnextContext(3); return ctx_r29.openSignupDialog(); }); ɵɵtext(5, " Create a user "); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { ɵɵadvance(4); ɵɵstyleProp("margin", "15px")("color", "white"); } } function UserManagementViewComponent_ng_container_4_ng_container_11_Template(rf, ctx) { if (rf & 1) { ɵɵelementContainerStart(0); ɵɵtemplate(1, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template, 4, 5, "div", 18); ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template, 6, 4, "ng-template", null, 19, ɵɵtemplateRefExtractor); ɵɵelementContainerEnd(); } if (rf & 2) { const _r15 = ɵɵreference(3); const ctx_r11 = ɵɵnextContext(2); ɵɵadvance(1); ɵɵproperty("ngIf", ctx_r11.users && ctx_r11.users.length)("ngIfElse", _r15); } } function UserManagementViewComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) { const _r32 = ɵɵgetCurrentView(); ɵɵelementContainerStart(0); ɵɵelementStart(1, "mat-toolbar", 11); ɵɵelementStart(2, "mat-icon"); ɵɵtext(3, "people"); ɵɵelementEnd(); ɵɵelementStart(4, "span", 12); ɵɵtext(5, " Users "); ɵɵelementEnd(); ɵɵelement(6, "span", 13); ɵɵtemplate(7, UserManagementViewComponent_ng_container_4_button_7_Template, 2, 0, "button", 14); ɵɵelementStart(8, "button", 15); ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_Template_button_click_8_listener() { ɵɵrestoreView(_r32); const ctx_r31 = ɵɵnextContext(); return ctx_r31.openSignupDialog(); }); ɵɵelementStart(9, "mat-icon", 16); ɵɵtext(10, "add"); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵtemplate(11, UserManagementViewComponent_ng_container_4_ng_container_11_Template, 4, 2, "ng-container", 3); ɵɵelementContainerEnd(); } if (rf & 2) { const ctx_r1 = ɵɵnextContext(); const _r2 = ɵɵreference(6); ɵɵadvance(4); ɵɵproperty("matBadge", ctx_r1.nbUsers); ɵɵadvance(3); ɵɵproperty("ngIf", !ctx_r1.displayEmailSettings && ctx_r1.settings.email_verification && ctx_r1.settings.email_addon); ɵɵadvance(4); ɵɵproperty("ngIf", !ctx_r1.loading)("ngIfElse", _r2); } } function UserManagementViewComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "div", 33); ɵɵelement(1, "mat-spinner"); ɵɵelementEnd(); } } function UserManagementViewComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) { const _r34 = ɵɵgetCurrentView(); ɵɵelementStart(0, "div", 31); ɵɵelementStart(1, "span"); ɵɵtext(2, "It seems "); ɵɵelementStart(3, "strong"); ɵɵtext(4, "@materia/users"); ɵɵelementEnd(); ɵɵtext(5, " addon is not configured yet"); ɵɵelementEnd(); ɵɵelementStart(6, "div"); ɵɵelementStart(7, "button", 32); ɵɵlistener("click", function UserManagementViewComponent_ng_template_7_Template_button_click_7_listener() { ɵɵrestoreView(_r34); const ctx_r33 = ɵɵnextContext(); return ctx_r33.openSetup.emit(); }); ɵɵtext(8, " Settings "); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { ɵɵadvance(7); ɵɵstyleProp("margin", "15px")("color", "white"); } } function UserManagementViewComponent_div_9_Template(rf, ctx) { if (rf & 1) { const _r36 = ɵɵgetCurrentView(); ɵɵelementStart(0, "div", 34); ɵɵelementStart(1, "mat-toolbar", 11); ɵɵelementStart(2, "button", 35); ɵɵlistener("click", function UserManagementViewComponent_div_9_Template_button_click_2_listener() { ɵɵrestoreView(_r36); const ctx_r35 = ɵɵnextContext(); return ctx_r35.hideEmailSettings(); }); ɵɵelementStart(3, "mat-icon"); ɵɵtext(4, "arrow_back"); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementStart(5, "mat-icon"); ɵɵtext(6, "mail"); ɵɵelementEnd(); ɵɵelementStart(7, "span"); ɵɵtext(8, " Emails "); ɵɵelementEnd(); ɵɵelement(9, "span", 13); ɵɵelementEnd(); ɵɵelementStart(10, "materia-user-management-email-settings", 36); ɵɵlistener("hide", function UserManagementViewComponent_div_9_Template_materia_user_management_email_settings_hide_10_listener() { ɵɵrestoreView(_r36); const ctx_r37 = ɵɵnextContext(); return ctx_r37.hideEmailSettings(); })("save", function UserManagementViewComponent_div_9_Template_materia_user_management_email_settings_save_10_listener($event) { ɵɵrestoreView(_r36); const ctx_r38 = ɵɵnextContext(); return ctx_r38.saveEmailSettings($event); }); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { const ctx_r6 = ɵɵnextContext(); ɵɵadvance(10); ɵɵproperty("settings", ctx_r6.settings)("baseUrl", ctx_r6.baseUrl); } } let UserManagementViewComponent = class UserManagementViewComponent { constructor(dialog, http) { this.dialog = dialog; this.http = http; this.openSetup = new EventEmitter(); this.snackbarSuccess = new EventEmitter(); this.loading = true; this.users = []; this.nbUsers = 0; this.defaultPageIndex = 0; } ngOnInit() { this.refreshList(); this.refreshConnectedUser(); this.getProfileParams(); } getProfileParams() { if (this.settings && this.settings.user_profile_enabled && this.settings.user_profile_entity) { return this.http .get(`${this.baseUrl}/infos`) .toPromise() .then(res => { const profileEntity = res.entities.find(entity => entity.name === this.settings.user_profile_entity); this.profileFields = profileEntity.fields.filter(field => field.name !== 'id_user' && (!field.primary || (field.primary && !field.autoIncrement))); }) .catch(e => { this.profileFields = []; }); } else { this.profileFields = []; return Promise.resolve(); } } refreshList(params) { this.loading = true; this.http .post(`${this.baseUrl}/entities/user/queries/listWithGravatar`, params) .subscribe(res => { this.users = res.data; this.nbUsers = res.count; this.loading = false; }); } refreshConnectedUser() { this.http.get(`${this.apiUrl}/user/me`).subscribe(res => { this.me = res; }, () => (this.me = null)); } paginationEvent(event) { this.defaultPageIndex = event.pageIndex; this.refreshList({ limit: event.pageSize, page: event.pageIndex + 1 }); } configureEmails() { this.displayEmailSettings = true; } hideEmailSettings() { this.displayEmailSettings = false; } openSignupDialog() { this.signupDialog = this.dialog.open(this.signupDialogComp.template, { panelClass: 'no-padding' }); } saveEmailSettings(settings) { this.http .post(`${this.baseUrl}/addons/@materia/users/setup`, settings) .subscribe(() => { this.snackbarSuccess.emit('Settings saved!'); this.hideEmailSettings(); this.settings = settings; }); } closeSignupDialog() { this.signupDialog.close(); } signup(user) { this.http.post(`${this.apiUrl}/user/signup`, user).subscribe(() => { this.closeSignupDialog(); this.refreshList(); this.refreshConnectedUser(); }); } logout() { this.http.post(`${this.apiUrl}/user/logout`, {}).subscribe(() => { this.refreshConnectedUser(); }, () => this.refreshConnectedUser()); } resendVerification(id) { this.http.post(`${this.baseUrl}/entities/user/queries/sendVerificationEmail`, { id_user: id }) .subscribe(() => this.snackbarSuccess.emit('Verification email sent!')); } }; UserManagementViewComponent.ctorParameters = () => [ { type: MatDialog }, { type: HttpClient } ]; UserManagementViewComponent.ɵfac = function UserManagementViewComponent_Factory(t) { return new (t || UserManagementViewComponent)(ɵɵdirectiveInject(MatDialog), ɵɵdirectiveInject(HttpClient)); }; UserManagementViewComponent.ɵcmp = ɵɵdefineComponent({ type: UserManagementViewComponent, selectors: [["materia-user-management"]], viewQuery: function UserManagementViewComponent_Query(rf, ctx) { if (rf & 1) { ɵɵstaticViewQuery(SignupFormComponent, true); } if (rf & 2) { var _t; ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.signupDialogComp = _t.first); } }, inputs: { app: "app", settings: "settings", baseUrl: "baseUrl", apiUrl: "apiUrl" }, outputs: { openSetup: "openSetup", snackbarSuccess: "snackbarSuccess" }, decls: 12, vars: 5, consts: [["fxLayout", "column", "fxFlex", ""], ["style", "padding: 8px 16px; background-color: #4CAF50; color: white;", 4, "ngIf"], ["fxLayout", "row", "fxFlex", ""], [4, "ngIf", "ngIfElse"], ["loadingUsers", ""], ["noSettings", ""], ["style", "margin: 8px;", "fxLayout", "column", "fxFlex", "", 4, "ngIf"], [3, "profileFields", "signup", "cancel"], ["signupFormTemplate", ""], [2, "padding", "8px 16px", "background-color", "#4CAF50", "color", "white"], [2, "text-decoration", "underline", "cursor", "pointer", 3, "click"], ["fxLayout", "row", "fxLayoutAlign", "start center"], ["matBadgeOverlap", "false", 3, "matBadge"], ["fxFlex", ""], ["style", "margin-right: 8px;", "mat-button", "", 3, "click", 4, "ngIf"], ["mat-mini-fab", "", "matTooltip", "New User", "matTooltipPosition", "left", 2, "width", "31px", "height", "31px", 3, "click"], [2, "position", "relative", "top", "-6px", "left", "-4px"], ["mat-button", "", 2, "margin-right", "8px", 3, "click"], ["style", "border-top: 1px solid #EEE; overflow-y: auto;", "fxLayout", "column", "fxFlex", "", 4, "ngIf", "ngIfElse"], ["noUser", ""], ["fxLayout", "column", "fxFlex", "", 2, "border-top", "1px solid #EEE", "overflow-y", "auto"], ["fxFlex", "", "fxLayout", "column"], ["fxLayout", "row", "fxLayoutAlign", "start center", "style", "border-bottom: 1px solid #EEE; cursor: pointer;min-height: 40px", 4, "ngFor", "ngForOf"], ["hidePageSize", "true", "showFirstLastButtons", "true", 3, "length", "pageIndex", "page"], ["fxLayout", "row", "fxLayoutAlign", "start center", 2, "border-bottom", "1px solid #EEE", "cursor", "pointer", "min-height", "40px"], [1, "avatar", 2, "margin", "0 8px", "width", "32px", "height", "32px", "border-radius", "100%", 3, "src"], ["fxFlex", "", 2, "color", "#999", "padding-top", "0"], ["class", "verified", 4, "ngIf"], [1, "verified"], ["resendTemplate", ""], ["mat-button", "", 3, "click"], ["fxFlex", "", "fxLayout", "column", "fxLayoutAlign", "center center", 1, "no-users"], ["mat-raised-button", "", "color", "primary", 3, "click"], ["fxLayout", "column", "fxFlex", "", "fxLayoutAlign", "center center"], ["fxLayout", "column", "fxFlex", "", 2, "margin", "8px"], ["mat-icon-button", "", "matTooltip", "Hide email settings", "matTooltipPosition", "right", 3, "click"], ["fxFlex", "", 2, "overflow-y", "auto", 3, "settings", "baseUrl", "hide", "save"]], template: function UserManagementViewComponent_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "div", 0); ɵɵtemplate(1, UserManagementViewComponent_div_1_Template, 5, 1, "div", 1); ɵɵelementStart(2, "div", 2); ɵɵelementStart(3, "mat-card", 0); ɵɵtemplate(4, UserManagementViewComponent_ng_container_4_Template, 12, 4, "ng-container", 3); ɵɵelementEnd(); ɵɵtemplate(5, UserManagementViewComponent_ng_template_5_Template, 2, 0, "ng-template", null, 4, ɵɵtemplateRefExtractor); ɵɵtemplate(7, UserManagementViewComponent_ng_template_7_Template, 9, 4, "ng-template", null, 5, ɵɵtemplateRefExtractor); ɵɵtemplate(9, UserManagementViewComponent_div_9_Template, 11, 2, "div", 6); ɵɵelementEnd(); ɵɵelementEnd(); ɵɵelementStart(10, "materia-signup-form", 7, 8); ɵɵlistener("signup", function UserManagementViewComponent_Template_materia_signup_form_signup_10_listener($event) { return ctx.signup($event); })("cancel", function UserManagementViewComponent_Template_materia_signup_form_cancel_10_listener() { return ctx.closeSignupDialog(); }); ɵɵelementEnd(); } if (rf & 2) { const _r4 = ɵɵreference(8); ɵɵadvance(1); ɵɵproperty("ngIf", ctx.me); ɵɵadvance(3); ɵɵproperty("ngIf", ctx.settings == null ? null : ctx.settings.method)("ngIfElse", _r4); ɵɵadvance(5); ɵɵproperty("ngIf", ctx.displayEmailSettings); ɵɵadvance(1); ɵɵproperty("profileFields", ctx.profileFields); } }, directives: [DefaultLayoutDirective, DefaultFlexDirective, NgIf, MatCard, SignupFormComponent, MatToolbar, DefaultLayoutAlignDirective, MatIcon, MatBadge, MatButton, MatTooltip, NgForOf, MatPaginator, MatSpinner, EmailSettingsComponent], styles: ["[_nghost-%COMP%]{flex:1 1 0} .mat-paginator-container{background:#f5f5f5}mat-card[_ngcontent-%COMP%]{margin:8px;padding:0}mat-icon[_ngcontent-%COMP%]{margin:2px 8px}.no-users[_ngcontent-%COMP%]{font-style:italic}.verified[_ngcontent-%COMP%]{margin:0 15px}.verified[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#4caf50;font-size:14px;font-weight:700;margin:0 16px}"] }); UserManagementViewComponent = __decorate([ AddonView('@materia/users'), __metadata("design:paramtypes", [MatDialog, HttpClient]) ], UserManagementViewComponent); /*@__PURE__*/ (function () { ɵsetClassMetadata(UserManagementViewComponent, [{ type: Component, args: [{ selector: 'materia-user-management', templateUrl: './user-management.component.html', styleUrls: ['./user-management.component.scss'] }] }], function () { return [{ type: MatDialog }, { type: HttpClient }]; }, { app: [{ type: Input }], settings: [{ type: Input }], baseUrl: [{ type: Input }], apiUrl: [{ type: Input }], openSetup: [{ type: Output }], snackbarSuccess: [{ type: Output }], signupDialogComp: [{ type: ViewChild, args: [SignupFormComponent, { static: true }] }] }); })(); function UserManagementSetupComponent_form_0_mat_form_field_19_mat_option_2_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-option", 18); ɵɵtext(1); ɵɵelementEnd(); } if (rf & 2) { const entity_r8 = ctx.$implicit; ɵɵproperty("value", entity_r8.name); ɵɵadvance(1); ɵɵtextInterpolate(entity_r8.name); } } function UserManagementSetupComponent_form_0_mat_form_field_19_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-form-field"); ɵɵelementStart(1, "mat-select", 16); ɵɵtemplate(2, UserManagementSetupComponent_form_0_mat_form_field_19_mat_option_2_Template, 2, 2, "mat-option", 17); ɵɵelementEnd(); ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = ɵɵnextContext(2); ɵɵadvance(2); ɵɵproperty("ngForOf", ctx_r1.entities); } } function UserManagementSetupComponent_form_0_ng_template_20_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "div", 19); ɵɵtext(1, " No entity found. You need an entity to add custom fields to your users. "); ɵɵelementEnd(); } } function UserManagementSetupComponent_form_0_mat_form_field_25_mat_option_2_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-option", 18); ɵɵtext(1); ɵɵelementEnd(); } if (rf & 2) { const addon_r10 = ctx.$implicit; ɵɵproperty("value", addon_r10.package); ɵɵadvance(1); ɵɵtextInterpolate(addon_r10.name); } } function UserManagementSetupComponent_form_0_mat_form_field_25_Template(rf, ctx) { if (rf & 1) { ɵɵelementStart(0, "mat-