{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/dialogs/login-dialog/src/login-dialog.directive.ts","../../../../../projects/components/widgets/dialogs/login-dialog/src/index.ts"],"sourcesContent":["import {\n    AfterViewInit,\n    ContentChild,\n    ContentChildren,\n    Directive,\n    Inject,\n    OnDestroy,\n    QueryList,\n    Self\n} from '@angular/core';\n\nimport {$appDigest} from '@wm/core';\nimport {Context, DialogRef, MessageComponent} from '@wm/components/base';\nimport {FormComponent} from '@wm/components/data/form';\n\n@Directive({\n  standalone: true,\n    selector: '[wmDialog][wmLoginDialog]'\n})\nexport class LoginDialogDirective implements AfterViewInit, OnDestroy {\n    @ContentChildren(FormComponent) formCmp: QueryList<FormComponent>;\n    @ContentChild(MessageComponent) msgCmp: MessageComponent;\n    dialogOpenSubscription;\n\n    constructor(@Self() @Inject(Context) private contexts: Array<any>,\n                @Self() private dialogRef: DialogRef<any>) {\n        this.contexts[0].doLogin = () => this.doLogin();\n    }\n\n    hideMsg() {\n        if (this.msgCmp) {\n            this.msgCmp.hideMessage();\n        }\n    }\n\n    showError(msg) {\n        if (this.msgCmp) {\n            this.msgCmp.showMessage(msg, 'error');\n        }\n    }\n\n    showLoading() {\n        if (this.msgCmp) {\n            this.msgCmp.showMessage('Loading...', 'loading');\n        }\n    }\n\n    onSuccess() {\n        this.hideMsg();\n    }\n\n    onError(error?) {\n        this.showError(error);\n    }\n\n    getLoginDetails() {\n        return this.formCmp.first.dataoutput;\n    }\n\n    doLogin() {\n        const loginInfo = this.getLoginDetails();\n        const ds = (this.dialogRef as any).eventsource;\n        if (ds && loginInfo['j_username'] && loginInfo['j_password']) {\n            this.showLoading();\n            ds.invoke({loginInfo: loginInfo}, this.onSuccess.bind(this), this.onError.bind(this));\n        }\n    }\n\n    ngAfterViewInit() {\n        // On login dialog open we wait till the form loads and then assign the enter\n        // key event to the textbox in form.\n        this.dialogOpenSubscription = this.dialogRef.bsModal.onShown.subscribe(() => {\n            setTimeout(() => {\n                // On enter key press submit the login form in Login Dialog\n                (this as any).dialogRef.$element.find('.app-textbox').keypress((evt) => {\n                    if (evt.which === 13) {\n                        evt.stopPropagation();\n                        /**\n                         * As this function is getting executed outside of angular context,\n                         * trigger a digest cycle and then trigger doLogin method, So that the bindings in the loginAction will be evaluated property\n                         */\n                        $appDigest();\n                        this.doLogin();\n                    }\n                });\n            });\n        });\n    }\n\n    ngOnDestroy() {\n        this.dialogOpenSubscription.unsubscribe();\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}