{"version":3,"mappings":"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","names":["ApContactComponent","constructor","routerStore","this","formConfig","ApDynformsConfigFieldset","key","columns","legend","label","config","ApDynformsConfigLabelIcon","src","label1","text1","label2","text2","onBackToLoginClick","navigateToLogin","then","i0","selectors","ApDynformsComponent","ctx","CountdownStatus","ing","pause","stop","done","CountdownGlobalConfig","locale","demand","leftTime","format","timezone","formatDate","date","formatStr","Date","ɵfac","LOCALE_ID","ɵprov","factory","CountdownTimer","ngZone","fns","commands","nextTime","start","runOutsideAngular","process","length","shift","diff","count","Math","floor","i","len","frequency","step","setTimeout","add","fn","push","remove","indexOf","splice","CountdownComponent","timer","defCog","cdr","_notify","status","isDestroy","left","event","EventEmitter","notify","Array","isArray","_config","begin","callEvent","restart","destroy","init","resume","action","emit","text","Object","assign","frq","getLeft","_reflow","reflow","force","apply","forEach","time","Error","value","prettyText","detectChanges","run","end","stopTime","getTime","ngOnInit","ngOnDestroy","ngOnChanges","changes","firstChange","ɵcmp","decls","directives","i3","encapsulation","CountdownModule","ɵmod","ɵinj","imports","CommonModule","ctx_r4","loginStore","languageStore","activeUsersStore","localeId","intlService","changeDetectorRef","ApMenuUrls","visible","position","asyncTranslation","ApDynformsConfigTextbox","emailFormKey","validators","ApDynformsValidator","validator","Validators","errorKey","passwordFormKey","type","ApDynformsConfigTextboxType","ngAfterContentInit","updateLoadingProgress","getDataFromStore","activateListeners","_subscriptions","Listen","s","selectedLanguage","subscribe","l","Key","loginErrorMessage$","errorMessage","updateProgressBarVisibility","unsubscribe","loginLoading$","LoginLoading$","Message$","actualProgress$","LoadingProgress$","maxProgress$","MaxProgress$","showProgressBar$","ShowProgressBar$","loginDelay$","Delay$","onSubmit","getValue","loginUser","dynForm","form","get","globalLogout","globalLogoutUser","ApLoginComponent","__decorate","Trace","b","PasswordStore","Store","backend","notifyStore","super","loaded","loading","data","registerObservable","SetNewPasswordSuccess","d","addMessage","DisplayTimeout","Level","ErrorKey","Data","Mutate","login","isSetPassword","SetLoadFinishState","RequestNewPasswordFail","SetNewPasswordFail","RequestNewPasswordSuccess","__awaiter","navigateToPasswordRecovery","AfterDatabaseUpdate","ReloadSource","PasswordLoading$","forgotPassword","emailAddress","SetLoadState","DispatchBackend","RequestNewPassword","Name","Type","NetTypes","Value","n","o","_a","SelectedLanguage","_b","r","_c","_d","setPassword","activationKey","password","SetNewPassword","ApBase64Util","u","ApRequestPasswordResetComponent","passwordStore","emailAddressFormKey","emailAddress$","EmailAddress$","emailMessage$","isEmailAddressSend$","IsEmailAddressSend$","passwordLoading$","ApDynformsConfigBase","options","ApDynformsControltype","ApPasswordRecoveryComponent","pwdMatch","BehaviorSubject","formBuilder","initialized","e","valueChanges","v","_pwdInput","next","autocomplete","formErrors","ApDynformsPasswordStrength","label$","value$","onSubmitClick","ActivationCode","Password","frm","same","mismatch","UsersActions","payload","USER_CREATE_FAIL","ApInvitationsNewUserComponent","userStore","invitationStore","translationStore","UserCreateFail","Message","Counter","Parameters","UserName","UserId","fetchInvitationById","QueryParams","id","invitation","catch","err","console","warn","message","isUniqueEmail","emailResult","setErrors","FindTranslationForSelectedLanguage","isNewUserCreated","uinc","confirmedWithUser","Id","Forename","Surname","pipe","map","x","Email","PasswordRepeat","onChanges","merge","submitClicked","user","Username","PasswordHash","EMail","RoleId","Language","StringFactory","lang","toLocaleUpperCase","createUser","filter","val","checkUniqueEmail","ApInvitationsComponent","fb","router","_translationPipe","createNewUser","cnu","showNewUser","Lang","_lang","_activationCode","_id","m","isSuccessful","confirmed","navigate","url","queryParams","parseInt","ac","isNaN","confirmedSuccess$","routes","path","component","canActivate","ApInvitationsGuard","ApLoginRoutes","RouterModule","ApLoginModule","FormsModule","ReactiveFormsModule","ButtonModule","InputsModule","LayoutModule","ApCoreModule","ApIconModule","ApTranslationModule","DropDownsModule","DropDownButtonModule","DatePickerModule","ApDynformsModule","ProgressBarModule","ApResponsiveTextModule"],"sources":["./src/app/login/components/ap-contact.component.ts","./node_modules/ngx-countdown/fesm2015/ngx-countdown.mjs","./src/app/login/components/ap-login.component.html","./src/app/login/components/ap-login.component.ts","./src/app/stores/login/password.store.ts","./src/app/login/components/ap-request-password-reset.component.ts","./src/app/login/components/ap-request-password-reset.component.html","./src/app/ap-dynforms/config/ap-dynforms-password-strength.ts","./src/app/login/components/ap-password-recovery.component.ts","./src/app/login/components/ap-password-recovery.component.html","./projects/invoker-transport/src/lib/actions/base-data/user.action.ts","./src/app/login/components/ap-invitations-new-user.component.ts","./src/app/login/components/ap-invitations-new-user.component.html","./src/app/login/components/ap-invitations.component.html","./src/app/login/components/ap-invitations.component.ts","./src/app/login/ap-login.routes.ts","./src/app/login/ap-login.module.ts"],"sourcesContent":["import {Component, ViewChild} from '@angular/core';\nimport {ApDynformsComponent} from '../../ap-dynforms/ap-dynforms.component';\nimport {ApDynformsConfigFieldset} from '../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {ApDynformsConfigLabelIcon} from '../../ap-dynforms/config/ap-dynforms-config-label-icon';\nimport {RouterStore} from '../../stores/router/router.store';\n\n/**\n * Component for the contact\n */\n@Component({\n selector: 'ap-contact',\n template: `\n \n
\n \n
\n
\n `\n})\n\nexport class ApContactComponent {\n @ViewChild(ApDynformsComponent, {static: true}) dynForm: ApDynformsComponent;\n public formConfig: ApDynformsConfigFieldset[];\n public caption: string;\n\n constructor(private routerStore: RouterStore) {\n this.formConfig = [\n new ApDynformsConfigFieldset({\n key: 'contact_fieldset',\n columns: 1,\n legend: 'Tip_ContactText',\n label: '',\n config: [\n new ApDynformsConfigLabelIcon({\n key: 'en',\n src: 'assets/img/flags/gb.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+49 34324 524 555',\n label2: 'Global__Email',\n text2: 'service@agricon.de'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'de',\n src: 'assets/img/flags/de.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+49 34324 524 555',\n label2: 'Global__Email',\n text2: 'service@agricon.de'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'lv',\n src: 'assets/img/flags/lv.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+371 2576 8830',\n label2: 'Global__Email',\n text2: 'info@agricon-baltic.com'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'lt',\n src: 'assets/img/flags/lt.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+370 6124 0119',\n label2: 'Global__Email',\n text2: 'info@agricon-baltic.com'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'ee',\n src: 'assets/img/flags/ee.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+372 525 3431',\n label2: 'Global__Email',\n text2: 'info@agricon-baltic.com'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'hu',\n src: 'assets/img/flags/hu.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+36 30 696 53 66',\n label2: 'Global__Email',\n text2: 'info@agricon-hungary.com'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'ro',\n src: 'assets/img/flags/ro.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+36 30 696 53 66',\n label2: 'Global__Email',\n text2: 'info@agricon-hungary.com'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'pl',\n src: 'assets/img/flags/pl.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+48 730 006 183',\n label2: 'Global__Email',\n text2: 'info@agricon-polska.com'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'sk',\n src: 'assets/img/flags/sk.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+421 907 078 773',\n label2: 'Global__Email',\n text2: 'info@agricon-slovakia.com'\n }),\n new ApDynformsConfigLabelIcon({\n key: 'cz',\n src: 'assets/img/flags/cz.png',\n label1: 'Docu_Ini__PhoneShort',\n text1: '+421 907 078 773',\n label2: 'Global__Email',\n text2: 'info@agricon-slovakia.com'\n })\n ]\n })\n ];\n }\n\n public onBackToLoginClick(): void {\n this.routerStore.navigateToLogin().then(() => {\n });\n }\n}\n","import * as i0 from '@angular/core';\nimport { LOCALE_ID, Injectable, Inject, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';\nimport * as i3 from '@angular/common';\nimport { formatDate, CommonModule } from '@angular/common';\n\nvar CountdownStatus;\n(function (CountdownStatus) {\n CountdownStatus[CountdownStatus[\"ing\"] = 0] = \"ing\";\n CountdownStatus[CountdownStatus[\"pause\"] = 1] = \"pause\";\n CountdownStatus[CountdownStatus[\"stop\"] = 2] = \"stop\";\n CountdownStatus[CountdownStatus[\"done\"] = 3] = \"done\";\n})(CountdownStatus || (CountdownStatus = {}));\n\n// tslint:disable: no-inferrable-types\nclass CountdownGlobalConfig {\n constructor(locale) {\n this.locale = locale;\n this.demand = false;\n this.leftTime = 0;\n this.format = 'HH:mm:ss';\n this.timezone = '+0000';\n this.formatDate = ({ date, formatStr, timezone }) => {\n return formatDate(new Date(date), formatStr, this.locale, timezone || this.timezone || '+0000');\n };\n }\n}\nCountdownGlobalConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownGlobalConfig, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nCountdownGlobalConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownGlobalConfig, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownGlobalConfig, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }];\n } });\n\nclass CountdownTimer {\n constructor(ngZone) {\n this.ngZone = ngZone;\n this.fns = [];\n this.commands = [];\n this.nextTime = 0;\n this.ing = false;\n }\n start() {\n if (this.ing === true) {\n return;\n }\n this.ing = true;\n this.nextTime = +new Date();\n this.ngZone.runOutsideAngular(() => {\n this.process();\n });\n }\n process() {\n while (this.commands.length) {\n this.commands.shift()();\n }\n let diff = +new Date() - this.nextTime;\n const count = 1 + Math.floor(diff / 100);\n diff = 100 - (diff % 100);\n this.nextTime += 100 * count;\n for (let i = 0, len = this.fns.length; i < len; i += 2) {\n let frequency = this.fns[i + 1];\n // 100/s\n if (0 === frequency) {\n this.fns[i](count);\n // 1000/s\n }\n else {\n // 先把末位至0,再每次加2\n frequency += 2 * count - 1;\n const step = Math.floor(frequency / 20);\n if (step > 0) {\n this.fns[i](step);\n }\n // 把末位还原成1\n this.fns[i + 1] = (frequency % 20) + 1;\n }\n }\n if (!this.ing) {\n return;\n }\n setTimeout(() => this.process(), diff);\n }\n add(fn, frequency) {\n this.commands.push(() => {\n this.fns.push(fn);\n this.fns.push(frequency === 1000 ? 1 : 0);\n this.ing = true;\n });\n return this;\n }\n remove(fn) {\n this.commands.push(() => {\n const i = this.fns.indexOf(fn);\n if (i !== -1) {\n this.fns.splice(i, 2);\n }\n this.ing = this.fns.length > 0;\n });\n return this;\n }\n}\nCountdownTimer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownTimer, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nCountdownTimer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownTimer });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownTimer, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });\n\nclass CountdownComponent {\n constructor(locale, timer, defCog, cdr, ngZone) {\n this.locale = locale;\n this.timer = timer;\n this.defCog = defCog;\n this.cdr = cdr;\n this.ngZone = ngZone;\n this.frequency = 1000;\n this._notify = {};\n this.status = CountdownStatus.ing;\n this.isDestroy = false;\n this.i = {};\n this.left = 0;\n this.event = new EventEmitter();\n }\n set config(i) {\n if (i.notify != null && !Array.isArray(i.notify) && i.notify > 0) {\n i.notify = [i.notify];\n }\n this._config = i;\n }\n get config() {\n return this._config;\n }\n /**\n * Start countdown, you must manually call when `demand: false`\n */\n begin() {\n this.status = CountdownStatus.ing;\n this.callEvent('start');\n }\n /**\n * Restart countdown\n */\n restart() {\n if (this.status !== CountdownStatus.stop) {\n this.destroy();\n }\n this.init();\n this.callEvent('restart');\n }\n /**\n * Stop countdown, must call `restart` when stopped, it's different from pause, unable to recover\n */\n stop() {\n if (this.status === CountdownStatus.stop) {\n return;\n }\n this.status = CountdownStatus.stop;\n this.destroy();\n this.callEvent('stop');\n }\n /**\n * Pause countdown, you can use `resume` to recover again\n */\n pause() {\n if (this.status === CountdownStatus.stop || this.status === CountdownStatus.pause) {\n return;\n }\n this.status = CountdownStatus.pause;\n this.callEvent('pause');\n }\n /**\n * Resume countdown\n */\n resume() {\n if (this.status === CountdownStatus.stop || this.status !== CountdownStatus.pause) {\n return;\n }\n this.status = CountdownStatus.ing;\n this.callEvent('resume');\n }\n callEvent(action) {\n this.event.emit({ action, left: this.left, status: this.status, text: this.i.text });\n }\n init() {\n const { locale, defCog } = this;\n const config = (this.config = Object.assign(Object.assign(Object.assign({}, new CountdownGlobalConfig(locale)), defCog), this.config));\n // tslint:disable-next-line: no-bitwise\n const frq = (this.frequency = ~config.format.indexOf('S') ? 100 : 1000);\n this.status = config.demand ? CountdownStatus.pause : CountdownStatus.ing;\n this.getLeft();\n // bind reflow to me\n const _reflow = this.reflow;\n this.reflow = (count = 0, force = false) => _reflow.apply(this, [count, force]);\n if (Array.isArray(config.notify)) {\n config.notify.forEach((time) => {\n if (time < 1) {\n throw new Error(`The notify config must be a positive integer.`);\n }\n time = time * 1000;\n time = time - (time % frq);\n this._notify[time] = true;\n });\n }\n this.timer.add(this.reflow, frq).start();\n this.reflow(0, true);\n }\n destroy() {\n this.timer.remove(this.reflow);\n return this;\n }\n /**\n * 更新时钟\n */\n reflow(count = 0, force = false) {\n if (this.isDestroy) {\n return;\n }\n const { status, config, _notify } = this;\n if (!force && status !== CountdownStatus.ing) {\n return;\n }\n let value = (this.left = this.left - this.frequency * count);\n if (value < 1) {\n value = 0;\n }\n this.i = {\n value,\n text: config.formatDate({ date: value, formatStr: config.format, timezone: config.timezone }),\n };\n if (typeof config.prettyText === 'function') {\n this.i.text = config.prettyText(this.i.text);\n }\n this.cdr.detectChanges();\n if (config.notify === 0 || _notify[value]) {\n this.ngZone.run(() => {\n this.callEvent('notify');\n });\n }\n if (value === 0) {\n this.ngZone.run(() => {\n this.status = CountdownStatus.done;\n this.destroy();\n this.callEvent('done');\n });\n }\n }\n /**\n * 获取倒计时剩余帧数\n */\n getLeft() {\n const { config, frequency } = this;\n let left = config.leftTime * 1000;\n const end = config.stopTime;\n if (!left && end) {\n left = end - new Date().getTime();\n }\n this.left = left - (left % frequency);\n }\n ngOnInit() {\n this.init();\n if (!this.config.demand) {\n this.begin();\n }\n }\n ngOnDestroy() {\n this.isDestroy = true;\n this.destroy();\n }\n ngOnChanges(changes) {\n if (!changes.config.firstChange) {\n this.restart();\n }\n }\n}\nCountdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownComponent, deps: [{ token: LOCALE_ID }, { token: CountdownTimer }, { token: CountdownGlobalConfig }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\nCountdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.1.1\", type: CountdownComponent, selector: \"countdown\", inputs: { config: \"config\", render: \"render\" }, outputs: { event: \"event\" }, host: { properties: { \"class.count-down\": \"true\" } }, usesOnChanges: true, ngImport: i0, template: `\n \n \n \n \n `, isInline: true, directives: [{ type: i3.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i3.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'countdown',\n template: `\n \n \n \n \n `,\n host: { '[class.count-down]': 'true' },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: CountdownTimer }, { type: CountdownGlobalConfig }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }];\n }, propDecorators: { config: [{\n type: Input\n }], render: [{\n type: Input\n }], event: [{\n type: Output\n }] } });\n\nclass CountdownModule {\n}\nCountdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCountdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownModule, declarations: [CountdownComponent], imports: [CommonModule], exports: [CountdownComponent] });\nCountdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownModule, providers: [CountdownTimer], imports: [[CommonModule]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.1.1\", ngImport: i0, type: CountdownModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n providers: [CountdownTimer],\n declarations: [CountdownComponent],\n exports: [CountdownComponent],\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CountdownComponent, CountdownGlobalConfig, CountdownModule, CountdownStatus, CountdownTimer };\n","\n
\n
\n 0\">{{(loginErrorMessage$ | async) | translateAsync | async}}\n 0\">\n {{'Web_Login__WaitingPeriod' | translateAsync | async}}:\n \n \n
\n {{'Global__Active_Users_Logout' | translateAsync | async}}\n
\n
\n
\n {{'PwRequest_Caption' | translateAsync | async}}\n \n
\n {{'Lbl_Login' | translateAsync | async}}\n
\n
\n \n \"Google\n \n \n \"Apple\n \n
\n
\n
\n \n
\n
\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n LOCALE_ID,\n OnDestroy,\n ViewChild\n} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {Validators} from '@angular/forms';\nimport {ApMenuUrls} from '../../ap-interface';\nimport {CldrIntlService, IntlService} from '@progress/kendo-angular-intl';\nimport {\n ApDynformsConfigFieldset\n} from '../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {\n ApDynformsConfigTextbox,\n ApDynformsConfigTextboxType\n} from '../../ap-dynforms/config/ap-dynforms-config-textbox';\nimport {ApDynformsValidator} from '../../ap-dynforms/ap-dynforms-validator';\nimport {ApDynformsComponent} from '../../ap-dynforms/ap-dynforms.component';\nimport {LabelSettings} from '@progress/kendo-angular-progressbar';\nimport {Trace} from '../../debug-utils/ApplicationTracer';\nimport {LoginStore} from '../../stores/login/login.store';\nimport {LanguageStore} from '../../stores/translation/language.store';\nimport {ActiveUsersStore} from '../../stores/administration/active-users.store';\n\n/**\n * Component for the login\n */\n@Component({\n selector: 'ap-login-form',\n templateUrl: 'ap-login.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ApLoginComponent implements AfterContentInit, OnDestroy {\n @ViewChild(ApDynformsComponent, {static: true}) dynForm: ApDynformsComponent;\n private emailFormKey = 'email';\n private passwordFormKey = 'password';\n private _subscriptions: Subscription[] = [];\n public loginLoading$: Observable;\n public loginErrorMessage$: Observable;\n public loginDelay$: Observable;\n public actualProgress$: Observable;\n public maxProgress$: Observable;\n public showProgressBar$: Observable;\n public ApMenuUrls = ApMenuUrls;\n public formConfig: ApDynformsConfigFieldset[];\n public caption: string;\n public progressBarLabel: LabelSettings = {\n visible: false,\n format: 'percent',\n position: 'end'\n };\n\n constructor(private loginStore: LoginStore,\n private languageStore: LanguageStore,\n private activeUsersStore: ActiveUsersStore,\n @Inject(LOCALE_ID) public localeId,\n public intlService: IntlService,\n public changeDetectorRef: ChangeDetectorRef) {\n this.formConfig = [\n new ApDynformsConfigFieldset({\n key: 'login_fieldset',\n columns: 1,\n legend: 'Tip_LoginText',\n label: 'Global_Login_Email_Password',\n asyncTranslation: true,\n config: [\n new ApDynformsConfigTextbox({\n key: this.emailFormKey,\n label: 'Lbl_Mail',\n value: '',\n validators: [\n new ApDynformsValidator({\n validator: Validators.required,\n errorKey: 'Global_Login_Enter_Email'\n }),\n new ApDynformsValidator({\n validator: Validators.pattern('^[-_.\\\\w]+@([0-9a-zA-Z][-\\\\w]*[0-9a-zA-Z]\\\\.){1,300}[a-zA-Z]{2,9}$'),\n errorKey: 'Admin_Pages_Login_Reset_Password_Email_Error'\n }),\n new ApDynformsValidator({\n validator: Validators.email,\n errorKey: 'Global_Login_Enter_Email'\n })]\n }),\n new ApDynformsConfigTextbox({\n key: this.passwordFormKey,\n label: 'Lbl_Password',\n value: '',\n type: ApDynformsConfigTextboxType.Password,\n validators: [new ApDynformsValidator({\n validator: Validators.required,\n errorKey: 'Admin_Pages_Login_Error_Password'\n })]\n })\n ]\n })\n ];\n }\n\n /**\n * when the component is loaded\n */\n @Trace()\n ngAfterContentInit(): void {\n this.loginStore.updateLoadingProgress(0);\n this.getDataFromStore();\n this.activateListeners();\n }\n\n activateListeners(): void {\n // reload the Localization of the Kendo Language Service\n // used for DatePicker\n this._subscriptions.push(this.languageStore.Listen(s => s.selectedLanguage)\n .subscribe((l) => {\n if (!l) {\n return;\n }\n this.localeId = l.Key;\n (this.intlService as CldrIntlService).localeId = l.Key;\n }));\n\n this._subscriptions.push(this.loginErrorMessage$.subscribe(errorMessage => {\n if (errorMessage && errorMessage.length > 1) {\n this.loginStore.updateProgressBarVisibility(false);\n }\n }));\n }\n\n ngOnDestroy(): void {\n this._subscriptions.forEach(s => s.unsubscribe());\n }\n\n /**\n * retrieves all data from the store\n */\n getDataFromStore(): void {\n this.loginLoading$ = this.loginStore.LoginLoading$;\n this.loginErrorMessage$ = this.loginStore.Message$;\n this.actualProgress$ = this.loginStore.LoadingProgress$;\n this.maxProgress$ = this.loginStore.MaxProgress$;\n this.showProgressBar$ = this.loginStore.ShowProgressBar$;\n this.loginDelay$ = this.loginStore.Delay$;\n }\n\n /**\n * on submit click event\n */\n onSubmit(): void {\n if (this.loginStore.ShowProgressBar$.getValue()) {\n return;\n }\n this.loginStore.updateProgressBarVisibility(true);\n this.loginStore.updateLoadingProgress(0);\n this.loginStore.loginUser(this.dynForm.form.get(this.emailFormKey).value, this.dynForm.form.get(this.passwordFormKey).value);\n }\n\n globalLogout(): void {\n this.activeUsersStore.globalLogoutUser(\n this.dynForm.form.get(this.emailFormKey).value,\n this.dynForm.form.get(this.passwordFormKey).value);\n }\n}\n","import {IStateStore} from '../../ap-interface/interfaces/store';\nimport {Store} from '../index';\nimport {Injectable} from '@angular/core';\nimport {\n NetTypes,\n RequestNewPassword,\n RequestNewPasswordFail,\n RequestNewPasswordSuccess,\n SetNewPassword,\n SetNewPasswordFail,\n SetNewPasswordSuccess\n} from 'invoker-transport';\nimport {LoginStore} from './login.store';\nimport {LanguageStore} from '../translation/language.store';\nimport {RouterStore} from '../router/router.store';\nimport {NotifyStore} from '../dialog/notify.store';\nimport {SafeBehaviorSubject} from 'ts-tooling';\nimport IApValidationResult = Data.Api.Validation.IApValidationResult;\nimport {ApSignalrService} from '../../ap-core/services/ap-signalr.service';\nimport {ApBase64Util} from '../../ap-utils/static/ap-base64-util';\n\ninterface IPasswordStore extends IStateStore {\n\n}\n\n@Injectable({providedIn: 'root'})\nexport class PasswordStore extends Store {\n constructor(public backend: ApSignalrService,\n private languageStore: LanguageStore,\n private loginStore: LoginStore,\n private routerStore: RouterStore,\n private notifyStore: NotifyStore) {\n super(backend, {\n loaded: false,\n loading: false,\n data: [],\n });\n\n backend.registerObservable(SetNewPasswordSuccess).subscribe(d => {\n const message = {\n DisplayTimeout: 10,\n Level: Data.Api.Validation.ApValidationLevel.Success,\n ErrorKey: d.Data\n } as IApValidationResult;\n this.notifyStore.addMessage(message);\n this.loginStore.Mutate(s => s.login.isSetPassword, () => true);\n setTimeout(() => this.routerStore.navigateToLogin(), 1000);\n this.SetLoadFinishState();\n });\n backend.registerObservable(RequestNewPasswordFail).subscribe(d => {\n const message = {\n DisplayTimeout: 10,\n Level: Data.Api.Validation.ApValidationLevel.Error,\n ErrorKey: d.Data\n } as IApValidationResult;\n this.notifyStore.addMessage(message);\n this.SetLoadFinishState();\n this.loginStore.Mutate(s => s.login.isSetPassword, () => false);\n });\n backend.registerObservable(SetNewPasswordFail).subscribe(d => {\n const message = {\n DisplayTimeout: 10,\n Level: Data.Api.Validation.ApValidationLevel.Error,\n ErrorKey: d.Data\n } as IApValidationResult;\n this.notifyStore.addMessage(message);\n this.SetLoadFinishState();\n this.loginStore.Mutate(s => s.login.isSetPassword, () => false);\n });\n backend.registerObservable(RequestNewPasswordSuccess).subscribe(async d => {\n const message = {\n DisplayTimeout: 10,\n Level: Data.Api.Validation.ApValidationLevel.Success,\n ErrorKey: d.Data\n } as IApValidationResult;\n this.notifyStore.addMessage(message);\n this.SetLoadFinishState();\n this.Mutate(s => s.data, () => d.Data);\n setTimeout(() => this.routerStore.navigateToPasswordRecovery(), 1000);\n });\n this.AfterDatabaseUpdate.subscribe(() => this.ReloadSource());\n }\n\n get PasswordLoading$(): SafeBehaviorSubject {\n return this.Listen(s => s.loading);\n }\n\n /**\n * request a new Password per Email\n */\n forgotPassword(emailAddress: string): void {\n this.SetLoadState();\n this.DispatchBackend(new RequestNewPassword([\n {Name: 'emailAddress', Type: NetTypes.STRING, Value: emailAddress || ''},\n {\n Name: 'cultureInfo',\n Type: NetTypes.STRING,\n Value: this.languageStore?.SelectedLanguage?.Key !== null ? this.languageStore?.SelectedLanguage?.Key : 'en'\n },\n ]));\n }\n\n /**\n * set a new Password by Activation Key\n */\n setPassword(activationKey: string, password: string): void {\n this.SetLoadState();\n this.DispatchBackend(new SetNewPassword([\n {Name: 'activationKey', Type: NetTypes.STRING, Value: activationKey},\n {\n Name: 'passwordHash',\n Type: NetTypes.STRING,\n Value: ApBase64Util.stringToBase64(password)\n },\n {\n Name: 'cultureInfo',\n Type: NetTypes.STRING,\n Value: this.languageStore?.SelectedLanguage?.Key !== null ? this.languageStore?.SelectedLanguage?.Key : 'en'\n },\n ]));\n }\n}\n","import {AfterContentInit, Component, ViewChild} from '@angular/core';\nimport {Validators} from '@angular/forms';\nimport {Observable} from 'rxjs';\nimport {ApMenuUrls} from '../../ap-interface';\nimport {ApDynformsComponent} from '../../ap-dynforms/ap-dynforms.component';\nimport {ApDynformsConfigFieldset} from '../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {\n ApDynformsConfigTextbox,\n ApDynformsConfigTextboxType\n} from '../../ap-dynforms/config/ap-dynforms-config-textbox';\nimport {ApDynformsValidator} from '../../ap-dynforms/ap-dynforms-validator';\nimport {LoginStore} from '../../stores/login/login.store';\nimport {PasswordStore} from '../../stores/login/password.store';\n\n/**\n * Component for the request password reset\n */\n@Component({\n selector: 'ap-request-password-reset',\n templateUrl: 'ap-request-password-reset.component.html',\n})\nexport class ApRequestPasswordResetComponent implements AfterContentInit {\n @ViewChild(ApDynformsComponent, {static: true}) dynForm: ApDynformsComponent;\n private emailAddressFormKey = 'emailAddress';\n public formConfig: ApDynformsConfigFieldset[];\n public caption: string;\n public emailAddress$: Observable;\n public emailMessage$: Observable;\n public isEmailAddressSend$: Observable;\n public loginLoading$: Observable;\n public ApMenuUrls = ApMenuUrls;\n public passwordLoading$: Observable;\n\n constructor(private loginStore: LoginStore,\n private passwordStore: PasswordStore) {\n this.formConfig = [\n new ApDynformsConfigFieldset({\n key: 'reset_password_fieldset',\n columns: 1,\n legend: 'Admin_Pages_Login_Reset_Password',\n label: 'Admin_Pages_Login_Reset_Password_Tip',\n asyncTranslation: true,\n config: [\n new ApDynformsConfigTextbox({\n key: this.emailAddressFormKey,\n label: 'Global__Email',\n value: '',\n type: ApDynformsConfigTextboxType.Email,\n validators: [new ApDynformsValidator({\n validator: Validators.required,\n errorKey: 'Admin_Pages_Login_Reset_Password_Email_Error'\n }),\n new ApDynformsValidator({\n validator: Validators.minLength(1),\n errorKey: 'Admin_Pages_Login_Reset_Password_Email_Error'\n }),\n new ApDynformsValidator({\n validator: Validators.pattern('^[-_.\\\\w]+@([0-9a-zA-Z][-\\\\w]*[0-9a-zA-Z]\\\\.){1,300}[a-zA-Z]{2,9}$'),\n errorKey: 'Admin_Pages_Login_Reset_Password_Email_Error'\n })]\n }),\n ]\n })\n ];\n }\n\n /**\n * when the component is loaded\n */\n ngAfterContentInit(): void {\n this.getDataFromStore();\n }\n\n /**\n * retrieves all data from the store\n */\n getDataFromStore(): void {\n this.emailAddress$ = this.loginStore.EmailAddress$;\n this.emailMessage$ = this.loginStore.Message$;\n this.isEmailAddressSend$ = this.loginStore.IsEmailAddressSend$;\n this.loginLoading$ = this.loginStore.LoginLoading$;\n this.passwordLoading$ = this.passwordStore.PasswordLoading$;\n }\n\n /**\n * on submit click event\n */\n onSubmit(): void {\n this.passwordStore.forgotPassword(this.dynForm.form.get(this.emailAddressFormKey).value);\n\n }\n}\n\n","\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n","import {ApDynformsConfigBase, ApDynformsControltype} from './ap-dynforms-config-base';\nimport {Observable} from 'rxjs';\nimport {ApDynformsValidator} from '../ap-dynforms-validator';\nimport {AsyncValidatorFn, ValidatorFn} from '@angular/forms';\n\nexport class ApDynformsPasswordStrength extends ApDynformsConfigBase {\n controlType = ApDynformsControltype.PasswordStrength;\n\n constructor(options: {\n value?: any,\n value$?: Observable,\n key?: string,\n label?: string,\n label$?: Observable,\n disabled?: boolean,\n disabled$?: Observable,\n validators?: ApDynformsValidator[],\n asyncValidators?: ApDynformsValidator[],\n listenUpdate?: Observable[],\n type?: string,\n dependsOn?: string[],\n formErrors?: string[],\n cssClass?: string,\n autocomplete?: string\n } = {}) {\n super(options);\n }\n}\n","import {ChangeDetectionStrategy, Component, OnInit, ViewChild} from '@angular/core';\nimport {FormGroup, ValidatorFn, Validators} from '@angular/forms';\nimport {LoginStore} from '../../stores/login/login.store';\nimport {PasswordStore} from '../../stores/login/password.store';\nimport {RouterStore} from '../../stores/router/router.store';\nimport {ApDynformsComponent} from '../../ap-dynforms/ap-dynforms.component';\nimport {ApDynformsValidator} from '../../ap-dynforms/ap-dynforms-validator';\nimport {\n ApDynformsConfigFieldset\n} from '../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {\n ApDynformsConfigTextbox, ApDynformsConfigTextboxType\n} from '../../ap-dynforms/config/ap-dynforms-config-textbox';\nimport {\n ApDynformsPasswordStrength\n} from '../../ap-dynforms/config/ap-dynforms-password-strength';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Component for the password recovery\n */\n@Component({\n selector: 'ap-password-recovery',\n templateUrl: 'ap-password-recovery.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class ApPasswordRecoveryComponent implements OnInit {\n constructor(private loginStore: LoginStore,\n private routerStore: RouterStore,\n private passwordStore: PasswordStore) {\n }\n\n @ViewChild(ApDynformsComponent, {static: true}) dynForm: ApDynformsComponent;\n public formValidators: ApDynformsValidator[] = [\n new ApDynformsValidator({\n validator: this.pwdMatch,\n errorKey: 'PwRecover_ValidationInfoNotSamePasswords'\n }),\n ];\n public formConfig: ApDynformsConfigFieldset[] = [];\n\n private _pwdInput = new BehaviorSubject('');\n\n /**\n * when the component is loaded\n */\n ngOnInit(): void {\n this.formBuilder();\n this.dynForm.initialized.subscribe(() => {\n this.dynForm.form.get('Password')?.valueChanges.subscribe(v => this._pwdInput.next(v));\n });\n }\n\n /**\n * binding of validators\n */\n formBuilder(): void {\n this.formConfig = [\n new ApDynformsConfigFieldset({\n key: 'passwordRecover_fieldset',\n legend: 'Admin_Pages_Password_New_Password',\n label: 'Admin_Pages_Password_New_Password_Tip',\n columns: 1,\n asyncTranslation: true,\n config: [\n new ApDynformsConfigTextbox({\n key: 'ActivationCode',\n label: 'PwRequest_EmailActivationKey',\n autocomplete: 'new-password',\n validators: [\n new ApDynformsValidator({\n validator: Validators.compose([Validators.required, Validators.minLength(5), Validators.maxLength(5)]),\n errorKey: 'PwRecover_ValidationInfoEmptyActivationKey',\n }),\n ],\n }),\n new ApDynformsConfigTextbox({\n key: 'Password',\n type: ApDynformsConfigTextboxType.Password,\n autocomplete: 'new-password',\n label: 'PwRecover_NewPassword',\n formErrors: ['PwRecover_ValidationInfoNotSamePasswords'],\n validators: [\n new ApDynformsValidator({\n validator: Validators.compose([Validators.required, Validators.minLength(0)]),\n errorKey: 'PwRecover_ValidationInfoEmptyNewPassword',\n }),\n ],\n }),\n new ApDynformsConfigTextbox({\n key: 'PasswordRepeat',\n type: ApDynformsConfigTextboxType.Password,\n autocomplete: 'new-password',\n label: 'PwRecover_NewPasswordValidation',\n formErrors: ['PwRecover_ValidationInfoNotSamePasswords'],\n validators: [\n new ApDynformsValidator({\n validator: Validators.compose([Validators.required, Validators.minLength(0)]),\n errorKey: 'PwRecover_ValidationInfoEmptyNewPassword',\n }),\n ],\n }),\n new ApDynformsPasswordStrength({\n key: 'PasswordStrength',\n label$: new BehaviorSubject(''),\n value$: this._pwdInput,\n }),\n ],\n }),\n ];\n }\n\n public onSubmitClick(): void {\n this.passwordStore.setPassword(this.dynForm.form.value.ActivationCode, this.dynForm.form.value.Password);\n }\n\n private pwdMatch(frm: FormGroup): { mismatch: boolean } | null {\n const same = frm.get('Password')?.value === frm.get('PasswordRepeat')?.value;\n ApDynformsComponent.setErrorOnControl(frm.get('Password'), 'Invitations__Msg_Vali_Mismatch_Password_Repeat_Password', !same);\n ApDynformsComponent.setErrorOnControl(frm.get('PasswordRepeat'), 'Invitations__Msg_Vali_Mismatch_Password_Repeat_Password', !same);\n return same ? null : {mismatch: true};\n }\n}\n","\n
\n \n
\n
\n","import {IAction, IApInvokerArguments} from '../../interfaces';\nimport IUser = Data.Authentication.IUser;\n\nexport enum UsersActions {\n USERS_LOAD = '[users] load',\n USERS_LOAD_SUCCESS = '[users] load success',\n USERS_LOAD_FAIL = '[users] load fail',\n USER_CREATE = '[user] create',\n USER_CREATE_SUCCESS = '[user] create success',\n USER_CREATE_FAIL = '[user] create fail',\n USER_UPDATE_FULLNAME = '[user] update full name',\n USER_UPDATE_FULLNAME_SUCCESS = '[user] update full name success',\n USER_UPDATE_FULLNAME_FAIL = '[user] update full name fail',\n USER_UNIQUE_EMAIL = '[user] check unique email',\n USER_UNIQUE_EMAIL_RESULT = '[user] check unique email result',\n USER_UNIQUE_USERNAME = '[user] check unique username',\n USER_UNIQUE_USERNAME_RESULT = '[user] check unique username result',\n USER_RESET_REDIRECT_TO_NEWS = '[user] reset redirect to news',\n USER_RESET_REDIRECT_TO_NEWS_SUCCESS = '[user] reset redirect to news success'\n}\n\nexport class UsersLoad implements IAction {\n readonly type = UsersActions.USERS_LOAD;\n\n constructor(public payload: IApInvokerArguments[]) {\n }\n}\n\nexport class UsersLoadSuccess implements IAction {\n readonly type = UsersActions.USERS_LOAD_SUCCESS;\n\n constructor(public payload: IUser[]) {\n }\n}\n\nexport class UsersLoadFail implements IAction {\n readonly type = UsersActions.USERS_LOAD_FAIL;\n\n constructor(public payload: string) {\n }\n}\n\nexport class UserCreate implements IAction {\n readonly type = UsersActions.USER_CREATE;\n\n constructor(public payload: IApInvokerArguments[]) {\n }\n}\n\nexport class UserCreateFail implements IAction {\n readonly type = UsersActions.USER_CREATE_FAIL;\n\n constructor(public payload: IUser) {\n }\n}\n\nexport class UserCreateSuccess implements IAction {\n readonly type = UsersActions.USER_CREATE_SUCCESS;\n\n constructor(public payload: IUser) {\n }\n}\n\nexport class UserUpdateFullName implements IAction {\n readonly type = UsersActions.USER_UPDATE_FULLNAME;\n\n constructor(public payload: IApInvokerArguments[]) {\n }\n}\n\nexport class UserUpdateFullNameSuccess implements IAction {\n readonly type = UsersActions.USER_UPDATE_FULLNAME_SUCCESS;\n\n constructor(public payload: IUser) {\n }\n}\n\nexport class UserUpdateFullNameFail implements IAction {\n readonly type = UsersActions.USER_UPDATE_FULLNAME_FAIL;\n\n constructor(public payload: IApInvokerArguments[]) {\n }\n}\n\nexport class UserCheckUniqueEmail implements IAction {\n readonly type = UsersActions.USER_UNIQUE_EMAIL;\n\n constructor(public payload: IApInvokerArguments[]) {\n }\n}\n\nexport class UserCheckUniqueEmailResult implements IAction {\n readonly type = UsersActions.USER_UNIQUE_EMAIL_RESULT;\n\n constructor(public payload: boolean) {\n }\n}\n\nexport class UserCheckUniqueUsername implements IAction {\n readonly type = UsersActions.USER_UNIQUE_USERNAME;\n\n constructor(public payload: IApInvokerArguments[]) {\n }\n}\n\nexport class UserCheckUniqueUsernameResult implements IAction {\n readonly type = UsersActions.USER_UNIQUE_USERNAME_RESULT;\n\n constructor(public payload: boolean) {\n }\n}\n\nexport class UserResetRedirectToNews implements IAction {\n readonly type = UsersActions.USER_RESET_REDIRECT_TO_NEWS;\n\n constructor(public payload: IApInvokerArguments[]) {\n }\n}\n\nexport class UserResetRedirectToNewsSuccess implements IAction {\n readonly type = UsersActions.USER_RESET_REDIRECT_TO_NEWS_SUCCESS;\n\n constructor(public payload: IUser) {\n }\n}\n\n","import {AfterContentInit, ChangeDetectionStrategy, Component, Input, OnDestroy, ViewChild} from '@angular/core';\nimport {\n ApDynformsComponent\n} from '../../ap-dynforms/ap-dynforms.component';\nimport {\n ApDynformsConfigFieldset\n} from '../../ap-dynforms/config/ap-dynforms-config-fieldset';\nimport {\n ApDynformsValidator\n} from '../../ap-dynforms/ap-dynforms-validator';\nimport {FormGroup, ValidatorFn, Validators} from '@angular/forms';\nimport {\n ApDynformsConfigTextbox, ApDynformsConfigTextboxType\n} from '../../ap-dynforms/config/ap-dynforms-config-textbox';\nimport {merge} from 'lodash';\nimport {BehaviorSubject, Subscription} from 'rxjs';\nimport {\n UserStore\n} from '../../stores/base-data/user.store';\nimport {\n InvitationStore\n} from '../../stores/login/invitation.store';\nimport {\n TranslationStore\n} from '../../stores/translation/translation.store';\nimport {\n RouterStore\n} from '../../stores/router/router.store';\nimport {filter, map} from 'rxjs/operators';\nimport {StringFactory} from 'ts-tooling';\nimport {\n ApDynformsPasswordStrength\n} from '../../ap-dynforms/config/ap-dynforms-password-strength';\nimport {\n UserCreateFail\n} from '../../../../projects/invoker-transport/src/lib/actions/base-data';\nimport {\n NotifyStore\n} from '../../stores/dialog/notify.store';\nimport IUser = Data.Authentication.IUser;\nimport IInvitations = Data.Authentication.IInvitations;\nimport ApValidationLevel = Data.Api.Validation.ApValidationLevel;\nimport {ApDynformsConfigPlaceholder} from '../../ap-dynforms/config/ap-dynforms-config-placeholder';\nimport {ApSignalrService} from '../../ap-core/services/ap-signalr.service';\nimport {ApBase64Util} from '../../ap-utils/static/ap-base64-util';\n\n@Component({\n selector: 'ap-invitations-new-user',\n templateUrl: 'ap-invitations-new-user.component.html',\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class ApInvitationsNewUserComponent implements AfterContentInit, OnDestroy {\n @ViewChild(ApDynformsComponent, {static: true}) dynForm: ApDynformsComponent;\n @Input()\n public data: any;\n public formConfig: ApDynformsConfigFieldset[];\n public caption: string;\n public emailResult: boolean;\n public usernameResult: boolean;\n public submitClicked = false;\n public invitation = new BehaviorSubject(null);\n public formValidators: ApDynformsValidator[] = [\n new ApDynformsValidator({\n validator: this.pwdMatch,\n errorKey: 'Invitations__Msg_Vali_Mismatch_Password_Repeat_Password'\n }),\n ];\n private _subscriptions: Subscription[] = [];\n private _pwdInput = new BehaviorSubject('');\n\n constructor(private userStore: UserStore,\n private invitationStore: InvitationStore,\n private translationStore: TranslationStore,\n private routerStore: RouterStore,\n private backend: ApSignalrService,\n private notifyStore: NotifyStore) {\n }\n\n ngAfterContentInit(): void {\n this.backend.registerObservable(UserCreateFail).subscribe((d) => {\n if (d.Data) {\n this.notifyStore.addMessage({\n ErrorKey: d.Data?.Message,\n Counter: 1,\n Level: ApValidationLevel.Error,\n Parameters: [],\n UserName: '',\n UserId: 0,\n DisplayTimeout: 3,\n });\n }\n });\n this.formBuilder();\n this.dynForm?.initialized.subscribe(() => {\n this.dynForm.form.get('Password')?.valueChanges.subscribe(v => this._pwdInput.next(v));\n });\n this.invitationStore.fetchInvitationById(this.routerStore.QueryParams.id)\n .then(i => this.invitation.next(i))\n .catch(err => console.warn(err.message));\n this._subscriptions.push(this.userStore.Listen(s => s.isUniqueEmail).subscribe(emailResult => {\n if (emailResult == null) {\n return;\n }\n this.emailResult = emailResult;\n if (this.emailResult) {\n this.dynForm?.initialized.subscribe(() => {\n this.dynForm.form.get('Email')?.setErrors({Error: this.translationStore.FindTranslationForSelectedLanguage('Msg_ToManyEmail')});\n });\n } else {\n this.dynForm?.initialized.subscribe(() => {\n this.dynForm.form.get('Email')?.setErrors(null);\n });\n }\n }));\n this._subscriptions.push(this.userStore.Listen(s => s.isNewUserCreated).subscribe(uinc => {\n if (uinc == null) {\n return;\n }\n this.invitationStore.confirmedWithUser(this.data.Id, this.data.ActivationCode, uinc.Id);\n }));\n }\n\n ngOnDestroy(): void {\n this._subscriptions.forEach(s => s.unsubscribe());\n }\n\n formBuilder(): void {\n this.formConfig = [\n new ApDynformsConfigFieldset({\n key: 'newUser_fieldset',\n legend: 'Admin_Pages__Registration',\n label: 'Admin_Pages_Login_Tip',\n columns: 1,\n config: [\n new ApDynformsConfigTextbox({\n key: 'Forename',\n label: 'Global__Forename',\n type: ApDynformsConfigTextboxType.Text,\n value: this.data.Forename,\n validators: [\n new ApDynformsValidator({\n validator: Validators.required,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.nullValidator,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.minLength(3),\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.maxLength(50),\n errorKey: 'Settings__Msg_Vali_Value_Required'\n })\n ]\n }),\n new ApDynformsConfigTextbox({\n key: 'Surname',\n label: 'Global__Surname',\n type: ApDynformsConfigTextboxType.Text,\n value: this.data.Surname,\n validators: [\n new ApDynformsValidator({\n validator: Validators.required,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.nullValidator,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.minLength(3),\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.maxLength(50),\n errorKey: 'Settings__Msg_Vali_Value_Required'\n })\n ]\n }),\n new ApDynformsConfigTextbox({\n key: 'Email',\n label: 'Global__Email',\n type: ApDynformsConfigTextboxType.Email,\n value$: this.invitation\n .pipe(map(x => x?.Email)),\n validators: [\n new ApDynformsValidator({\n validator: Validators.required,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.email,\n errorKey: 'Admin_Pages_Login_Reset_Password_Email_Error'\n }),\n new ApDynformsValidator({\n validator: Validators.nullValidator,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.minLength(1),\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.maxLength(80),\n errorKey: 'Settings__Msg_Vali_Value_Required'\n })\n ]\n }),\n new ApDynformsConfigTextbox({\n key: 'Password',\n label: 'PwRecover_NewPassword',\n type: ApDynformsConfigTextboxType.Password,\n autocomplete: 'new-password',\n value: this.data.Password,\n formErrors: ['Invitations__Msg_Vali_Mismatch_Password_Repeat_Password'],\n validators: [\n new ApDynformsValidator({\n validator: Validators.required,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.nullValidator,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n ]\n }),\n new ApDynformsConfigTextbox({\n key: 'PasswordRepeat',\n label: 'PwRecover_NewPasswordValidation',\n type: ApDynformsConfigTextboxType.Password,\n value: this.data.PasswordRepeat,\n formErrors: ['Invitations__Msg_Vali_Mismatch_Password_Repeat_Password'],\n validators: [\n new ApDynformsValidator({\n validator: Validators.required,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n new ApDynformsValidator({\n validator: Validators.nullValidator,\n errorKey: 'Settings__Msg_Vali_Value_Required'\n }),\n ]\n }),\n new ApDynformsPasswordStrength({\n key: 'PasswordStrength',\n label$: new BehaviorSubject(''),\n value$: this._pwdInput,\n }),\n ]\n })\n ];\n this.onChanges();\n }\n\n onSubmitClick(): void {\n merge(this.data, this.dynForm.form.value);\n if (this.data.Password !== this.data.PasswordRepeat) {\n return;\n }\n this.submitClicked = true;\n const user = {\n UserName: this.data.Username,\n PasswordHash: ApBase64Util.stringToBase64(this.data.Password),\n EMail: this.data.Email,\n RoleId: 0,\n Surname: this.data.Surname,\n Forename: this.data.Forename,\n Language: StringFactory.IsNullOrEmpty(this.routerStore.QueryParams.lang) ? 'en' : this.routerStore.QueryParams.lang.toLocaleUpperCase()\n } as IUser;\n this.userStore.createUser(user);\n }\n\n onChanges(): void {\n this.dynForm?.initialized.subscribe(() => {\n this.dynForm.form.get('Email')?.valueChanges\n .pipe(filter(x => !StringFactory.IsNullOrEmpty(x)))\n .subscribe(val => {\n this.userStore.checkUniqueEmail(val);\n });\n });\n }\n\n private pwdMatch(frm: FormGroup): { mismatch: boolean } | null {\n const same = frm.get('Password')?.value === frm.get('PasswordRepeat')?.value;\n ApDynformsComponent.setErrorOnControl(frm.get('Password'), 'Invitations__Msg_Vali_Mismatch_Password_Repeat_Password', !same);\n ApDynformsComponent.setErrorOnControl(frm.get('PasswordRepeat'), 'Invitations__Msg_Vali_Mismatch_Password_Repeat_Password', !same);\n return same ? null : {mismatch: true};\n }\n}\n","\n
\n \n
\n
\n\n","
\n {{message | translate}}\n
\n
\n \n
\n","import {AfterContentInit, ChangeDetectionStrategy, Component, OnDestroy} from '@angular/core';\nimport {FormBuilder} from '@angular/forms';\nimport {Observable, Subscription} from 'rxjs';\nimport {\n ApTranslationPipe\n} from '../../translation/pipes/ap-translation.pipe';\nimport {ApMenuUrls} from '../../ap-interface';\nimport {InvitationStore} from '../../stores/login/invitation.store';\nimport {LanguageStore} from '../../stores/translation/language.store';\nimport {RouterStore} from '../../stores/router/router.store';\n\n@Component({\n selector: 'ap-invitations',\n templateUrl: 'ap-invitations.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class ApInvitationsComponent implements AfterContentInit, OnDestroy {\n public confirmedSuccess$: Observable;\n public message: string;\n public data: any;\n public showNewUser = false;\n private _subscriptions: Subscription[] = [];\n private _activationCode: number;\n private _id: number;\n private _lang: string;\n\n constructor(private fb: FormBuilder,\n private invitationStore: InvitationStore,\n private router: RouterStore,\n private languageStore: LanguageStore,\n private _translationPipe: ApTranslationPipe) {\n }\n\n ngAfterContentInit(): void {\n this.getDataFromStore();\n this._subscriptions.push(this.languageStore.Listen(s => s.data).subscribe(lang => {\n if (lang == null) {\n return;\n }\n // const foundLang = find(lang, _ => _.Key === this._lang);\n // this.languageStore.SelectLanguage(foundLang);\n }));\n this._subscriptions.push(this.invitationStore.Listen(s => s.createNewUser).subscribe(cnu => {\n if (cnu == null) {\n return;\n }\n this.showNewUser = true;\n this.data = {\n Lang: this._lang,\n ActivationCode: this._activationCode,\n Id: this._id,\n Forename: '',\n Surname: '',\n Email: '',\n Password: '',\n PasswordRepeat: ''\n };\n }));\n\n this._subscriptions.push(this.invitationStore.Listen(s => s.message).subscribe(m => {\n if (m == null) {\n return;\n }\n if (m !== '') {\n this.message = m;\n }\n }));\n\n this._subscriptions.push(this.invitationStore.Listen(s => s.isSuccessful).subscribe(d => {\n if (d == null) {\n return;\n }\n if (d) {\n this.showNewUser = false;\n this.message = 'Web_DataService__SubjectRegistrationMail';\n if (!this._id || !this._activationCode) {\n throw new Error('Invitation activate : Id or activation code is not provided');\n }\n this.invitationStore.confirmed(this._id, this._activationCode);\n setTimeout(() => {\n this.router.navigate([ApMenuUrls.LOGIN]).then(() => {\n });\n }, 5000);\n }\n }));\n\n this._subscriptions.push(this.router.Listen(s => s).subscribe(url => {\n if (url == null) {\n return;\n }\n this._lang = url.queryParams.lang;\n this._activationCode = parseInt(url.queryParams.ac, 10);\n this._id = parseInt(url.queryParams.id, 10);\n if (isNaN(url.queryParams.id) || isNaN(url.queryParams.ac)) {\n console.warn(`id ${this._id} or activationCode ${this._activationCode} are not a number`);\n return;\n }\n this.invitationStore.confirmed(this._id, this._activationCode);\n }));\n }\n\n ngOnDestroy(): void {\n this._subscriptions.forEach(s => s.unsubscribe());\n }\n\n getDataFromStore(): void {\n // this.languageStore.Load();\n this.confirmedSuccess$ = this.invitationStore.Listen(s => s.isSuccessful);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {ApContactComponent} from './components/ap-contact.component';\nimport {ApLoginComponent} from './components/ap-login.component';\nimport {ApRequestPasswordResetComponent} from './components/ap-request-password-reset.component';\nimport {ApPasswordRecoveryComponent} from './components/ap-password-recovery.component';\nimport {ApInvitationsComponent} from './components/ap-invitations.component';\nimport {ApInvitationsGuard} from '../guards/ap-invitations-guard';\n\nconst routes: Routes = [\n {\n path: '',\n component: ApLoginComponent,\n },\n {\n path: 'request-password-reset',\n component: ApRequestPasswordResetComponent,\n },\n {\n path: 'password-recovery',\n component: ApPasswordRecoveryComponent,\n },\n {\n path: 'contact',\n component: ApContactComponent,\n },\n {\n path: 'invitations',\n canActivate: [ApInvitationsGuard],\n component: ApInvitationsComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class ApLoginRoutes {\n}\n","import {NgModule} from '@angular/core';\nimport {ApLoginComponent} from './components/ap-login.component';\nimport {ButtonModule, DropDownButtonModule} from '@progress/kendo-angular-buttons';\nimport {InputsModule} from '@progress/kendo-angular-inputs';\nimport {DropDownsModule} from '@progress/kendo-angular-dropdowns';\nimport {CommonModule} from '@angular/common';\nimport {LayoutModule} from '@progress/kendo-angular-layout';\nimport {ApIconModule} from '../icons/ap-icon.module';\nimport {ApRequestPasswordResetComponent} from './components/ap-request-password-reset.component';\nimport {ApPasswordRecoveryComponent} from './components/ap-password-recovery.component';\nimport {ApContactComponent} from './components/ap-contact.component';\nimport {ApTranslationModule} from '../translation/ap-translation.module';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {ApCoreModule} from '../ap-core/ap-core.module';\nimport {ApLoginRoutes} from './ap-login.routes';\nimport {DatePickerModule} from '@progress/kendo-angular-dateinputs';\nimport {ApDynformsModule} from '../ap-dynforms/ap-dynforms.module';\nimport {ApInvitationsComponent} from './components/ap-invitations.component';\nimport {ApInvitationsNewUserComponent} from './components/ap-invitations-new-user.component';\nimport {ApImprintComponent} from './components/ap-imprint.component';\nimport {ProgressBarModule} from '@progress/kendo-angular-progressbar';\nimport {CountdownModule} from 'ngx-countdown';\nimport {ApResponsiveTextModule} from '../ap-responsive-text/ap-responsive-text.module';\n\n@NgModule({\n declarations: [\n ApLoginComponent,\n ApRequestPasswordResetComponent,\n ApPasswordRecoveryComponent,\n ApContactComponent,\n ApInvitationsComponent,\n ApInvitationsNewUserComponent,\n ApImprintComponent,\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n CommonModule,\n InputsModule,\n LayoutModule,\n ApCoreModule,\n ApIconModule,\n ApTranslationModule,\n DropDownsModule,\n DropDownButtonModule,\n ApLoginRoutes,\n DatePickerModule,\n ApDynformsModule,\n ProgressBarModule,\n CountdownModule,\n ApResponsiveTextModule\n ],\n exports: [\n ApLoginComponent,\n ApRequestPasswordResetComponent,\n ApPasswordRecoveryComponent,\n ApContactComponent,\n ApInvitationsComponent,\n ApInvitationsNewUserComponent,\n ApImprintComponent\n ]\n})\nexport class ApLoginModule {\n}\n"],"sourceRoot":"webpack:///","file":"356.77eaf99e42ef9ede.js"}