@progressive-development/pd-spa-helper 0.1.86 → 0.1.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/InitApplicationData.d.ts +1 -1
- package/dist/src/InitApplicationData.js +2 -2
- package/dist/src/InitApplicationData.js.map +1 -1
- package/dist/src/PdSpaHelper.d.ts +7 -3
- package/dist/src/PdSpaHelper.js +12 -41
- package/dist/src/PdSpaHelper.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/service-call-controller2.d.ts +1 -1
- package/dist/src/service-call-controller2.js +1 -1
- package/dist/src/service-call-controller2.js.map +1 -1
- package/dist/src/service-provider/firebase/auth.d.ts +5 -0
- package/dist/src/service-provider/firebase/auth.js +48 -0
- package/dist/src/service-provider/firebase/auth.js.map +1 -0
- package/dist/src/service-provider/firebase/firestore-client.d.ts +9 -0
- package/dist/src/service-provider/firebase/firestore-client.js +19 -0
- package/dist/src/service-provider/firebase/firestore-client.js.map +1 -0
- package/dist/src/service-provider/firebase/functions-client.d.ts +34 -0
- package/dist/src/service-provider/firebase/functions-client.js +70 -0
- package/dist/src/service-provider/firebase/functions-client.js.map +1 -0
- package/dist/src/service-provider/mock/auth.d.ts +4 -0
- package/dist/src/service-provider/mock/auth.js +50 -0
- package/dist/src/service-provider/mock/auth.js.map +1 -0
- package/dist/src/service-provider/service-provider-impl.d.ts +6 -0
- package/dist/src/service-provider/service-provider-impl.js +56 -0
- package/dist/src/service-provider/service-provider-impl.js.map +1 -0
- package/dist/src/tmpown/pd-login.js +2 -2
- package/dist/src/tmpown/pd-login.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/InitApplicationData.ts +2 -2
- package/src/PdSpaHelper.ts +26 -46
- package/src/index.ts +6 -6
- package/src/service-call-controller2.ts +1 -1
- package/src/service-provider/firebase/auth.ts +52 -0
- package/src/{firebase → service-provider/firebase}/functions-client.ts +1 -1
- package/src/service-provider/mock/auth.ts +68 -0
- package/src/service-provider/service-provider-impl.ts +68 -0
- package/src/tmpown/pd-login.ts +3 -2
- package/src/firebase/auth.ts +0 -30
- /package/src/{firebase → service-provider/firebase}/firestore-client.ts +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Only for temporary development:
|
|
3
|
+
* Set to true/false if the user should hold only in session (login after each reload)
|
|
4
|
+
* or in the localstore (login until the local store entry is invalid or not available).
|
|
5
|
+
*/
|
|
6
|
+
const LOCALSTORE_ACTIV = true;
|
|
7
|
+
const LOCALSTORE_ITEM_KEY = 'pdUserLogin';
|
|
8
|
+
const HARDCODED_USER = 'mock';
|
|
9
|
+
const HARDCODED_PWD = 'mock';
|
|
10
|
+
let loginAvailable;
|
|
11
|
+
const checkLocalStore = () => {
|
|
12
|
+
const userItem = localStorage.getItem(LOCALSTORE_ITEM_KEY);
|
|
13
|
+
return userItem === 'true';
|
|
14
|
+
};
|
|
15
|
+
export const logoutMock = async () => {
|
|
16
|
+
console.log("Do MOCK logout");
|
|
17
|
+
loginAvailable = undefined;
|
|
18
|
+
if (LOCALSTORE_ACTIV) {
|
|
19
|
+
localStorage.removeItem(LOCALSTORE_ITEM_KEY);
|
|
20
|
+
}
|
|
21
|
+
return Promise.resolve(true);
|
|
22
|
+
};
|
|
23
|
+
export const isAuthenticatedMock = () => {
|
|
24
|
+
if (loginAvailable === undefined) {
|
|
25
|
+
console.log('MOCK: check authentication');
|
|
26
|
+
loginAvailable = LOCALSTORE_ACTIV ? checkLocalStore() : false;
|
|
27
|
+
}
|
|
28
|
+
return loginAvailable;
|
|
29
|
+
};
|
|
30
|
+
export const authStateChangedMock = (callback) => {
|
|
31
|
+
console.log("Not implemented for MOCK");
|
|
32
|
+
};
|
|
33
|
+
export const loginMock = async (user, sec) => {
|
|
34
|
+
console.log('MOCK: do authentication for user: ', user);
|
|
35
|
+
let valid = false;
|
|
36
|
+
if (user === HARDCODED_USER && sec === HARDCODED_PWD) {
|
|
37
|
+
if (LOCALSTORE_ACTIV) {
|
|
38
|
+
localStorage.setItem(LOCALSTORE_ITEM_KEY, 'true');
|
|
39
|
+
}
|
|
40
|
+
valid = true;
|
|
41
|
+
loginAvailable = true;
|
|
42
|
+
}
|
|
43
|
+
if (valid) {
|
|
44
|
+
return Promise.resolve({
|
|
45
|
+
uid: "123124"
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
throw new Error("Invalid login");
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/service-provider/mock/auth.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAC1C,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,aAAa,GAAG,MAAM,CAAC;AAI7B,IAAI,cAAmC,CAAC;AAGxC,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,QAAQ,GAAI,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5D,OAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAsB,EAAE;IACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,cAAc,GAAG,SAAS,CAAC;IAC3B,IAAI,gBAAgB,EAAE;QAClB,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;KAChD;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAY,EAAE;IAC/C,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KAC/D;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAkB,EAAE,EAAE;IACzD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAW,EAAE,GAAU,EAAoB,EAAE;IAE3E,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,IAAI,KAAK,cAAc,IAAI,GAAG,KAAK,aAAa,EAAE;QAClD,IAAI,gBAAgB,EAAE;YAClB,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;SACrD;QACD,KAAK,GAAG,IAAI,CAAC;QACb,cAAc,GAAG,IAAI,CAAC;KACzB;IAED,IAAI,KAAK,EAAE;QACT,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,GAAG,EAAE,QAAQ;SACd,CAAC,CAAC;KACJ;IAED,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC,CAAA","sourcesContent":["\n/*\n * Only for temporary development:\n * Set to true/false if the user should hold only in session (login after each reload)\n * or in the localstore (login until the local store entry is invalid or not available).\n */\nconst LOCALSTORE_ACTIV = true;\nconst LOCALSTORE_ITEM_KEY = 'pdUserLogin';\nconst HARDCODED_USER = 'mock';\nconst HARDCODED_PWD = 'mock';\n\n\n\nlet loginAvailable: boolean | undefined;\n\n\nconst checkLocalStore = () => {\n const userItem = localStorage.getItem(LOCALSTORE_ITEM_KEY);\n return userItem === 'true';\n}\n\n\nexport const logoutMock = async (): Promise<boolean> => {\n console.log(\"Do MOCK logout\");\n loginAvailable = undefined;\n if (LOCALSTORE_ACTIV) {\n localStorage.removeItem(LOCALSTORE_ITEM_KEY);\n }\n return Promise.resolve(true);\n};\n\nexport const isAuthenticatedMock = (): boolean => {\n if (loginAvailable === undefined) {\n console.log('MOCK: check authentication');\n loginAvailable = LOCALSTORE_ACTIV ? checkLocalStore() : false;\n }\n return loginAvailable;\n} \n\n\nexport const authStateChangedMock = (callback: Function) => {\n console.log(\"Not implemented for MOCK\");\n}\n\nexport const loginMock = async (user:string, sec:string): Promise<unknown> => { \n\n console.log('MOCK: do authentication for user: ', user);\n let valid = false;\n if (user === HARDCODED_USER && sec === HARDCODED_PWD) {\n if (LOCALSTORE_ACTIV) {\n localStorage.setItem(LOCALSTORE_ITEM_KEY, 'true');\n }\n valid = true;\n loginAvailable = true;\n }\n\n if (valid) {\n return Promise.resolve({\n uid: \"123124\"\n }); \n }\n \n throw new Error(\"Invalid login\");\n}\n\n\n\n\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ServiceProviderConfiguration } from "../PdSpaHelper.js";
|
|
2
|
+
export declare const setServiceProvider: (providerParam?: ServiceProviderConfiguration) => void;
|
|
3
|
+
export declare const authStateChangedImpl: (callback: Function) => void;
|
|
4
|
+
export declare const isAuthenticatedImpl: () => boolean;
|
|
5
|
+
export declare const loginImpl: (user: string, sec: string) => Promise<unknown>;
|
|
6
|
+
export declare const logoutImpl: () => Promise<boolean>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { authStateChanged, isAuthenticated, login, logout } from "./firebase/auth.js";
|
|
2
|
+
import { authStateChangedMock, isAuthenticatedMock, loginMock, logoutMock } from "./mock/auth.js";
|
|
3
|
+
let provider;
|
|
4
|
+
const throwUndefinedProviderError = () => {
|
|
5
|
+
throw new Error("Undefined service provider, please check configuration. 'firebase' or 'mock' allowed here.");
|
|
6
|
+
};
|
|
7
|
+
export const setServiceProvider = (providerParam) => {
|
|
8
|
+
provider = providerParam;
|
|
9
|
+
};
|
|
10
|
+
export const authStateChangedImpl = (callback) => {
|
|
11
|
+
if (provider === "firebase") {
|
|
12
|
+
authStateChanged(callback);
|
|
13
|
+
}
|
|
14
|
+
else if (provider === "mock") {
|
|
15
|
+
authStateChangedMock(callback);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
throwUndefinedProviderError();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
export const isAuthenticatedImpl = () => {
|
|
22
|
+
if (provider === "firebase") {
|
|
23
|
+
return isAuthenticated();
|
|
24
|
+
}
|
|
25
|
+
if (provider === "mock") {
|
|
26
|
+
return isAuthenticatedMock();
|
|
27
|
+
}
|
|
28
|
+
return throwUndefinedProviderError();
|
|
29
|
+
};
|
|
30
|
+
export const loginImpl = (user, sec) => {
|
|
31
|
+
if (!user) {
|
|
32
|
+
const returnError = new Error("empty user");
|
|
33
|
+
return Promise.reject(returnError);
|
|
34
|
+
}
|
|
35
|
+
if (!sec) {
|
|
36
|
+
const returnError = new Error("empty password");
|
|
37
|
+
return Promise.reject(returnError);
|
|
38
|
+
}
|
|
39
|
+
if (provider === "firebase") {
|
|
40
|
+
return login(user, sec);
|
|
41
|
+
}
|
|
42
|
+
if (provider === "mock") {
|
|
43
|
+
return loginMock(user, sec);
|
|
44
|
+
}
|
|
45
|
+
return throwUndefinedProviderError();
|
|
46
|
+
};
|
|
47
|
+
export const logoutImpl = () => {
|
|
48
|
+
if (provider === "firebase") {
|
|
49
|
+
return logout();
|
|
50
|
+
}
|
|
51
|
+
if (provider === "mock") {
|
|
52
|
+
return logoutMock();
|
|
53
|
+
}
|
|
54
|
+
return throwUndefinedProviderError();
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=service-provider-impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-provider-impl.js","sourceRoot":"","sources":["../../../src/service-provider/service-provider-impl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGlG,IAAI,QAAkD,CAAC;AAGvD,MAAM,2BAA2B,GAAG,GAAG,EAAE;IACvC,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;AAChH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,aAA4C,EAAE,EAAE;IACjF,QAAQ,GAAG,aAAa,CAAC;AAC3B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,QAAkB,EAClB,EAAE;IACF,IAAI,QAAQ,KAAK,UAAU,EAAE;QAC3B,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KAC5B;SAAM,IAAI,QAAQ,KAAK,MAAM,EAAE;QAC9B,oBAAoB,CAAC,QAAQ,CAAC,CAAC;KAChC;SAAM;QACL,2BAA2B,EAAE,CAAC;KAC/B;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAI,QAAQ,KAAK,UAAU,EAAE;QAC3B,OAAO,eAAe,EAAE,CAAC;KAC1B;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE;QACvB,OAAO,mBAAmB,EAAE,CAAC;KAC9B;IACD,OAAO,2BAA2B,EAAE,CAAC;AACvC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE;IAErD,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACpC;IACD,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACpC;IAED,IAAI,QAAQ,KAAK,UAAU,EAAE;QAC3B,OAAO,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACzB;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE;QACvB,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAC7B;IACD,OAAO,2BAA2B,EAAE,CAAC;AACvC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,IAAI,QAAQ,KAAK,UAAU,EAAE;QAC3B,OAAO,MAAM,EAAE,CAAC;KACjB;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE;QACvB,OAAO,UAAU,EAAE,CAAC;KACrB;IACD,OAAO,2BAA2B,EAAE,CAAC;AACvC,CAAC,CAAA","sourcesContent":["import { ServiceProviderConfiguration } from \"../PdSpaHelper.js\";\n\nimport { authStateChanged, isAuthenticated, login, logout } from \"./firebase/auth.js\";\nimport { authStateChangedMock, isAuthenticatedMock, loginMock, logoutMock } from \"./mock/auth.js\";\n\n\nlet provider: ServiceProviderConfiguration | undefined;\n\n\nconst throwUndefinedProviderError = () => {\n throw new Error(\"Undefined service provider, please check configuration. 'firebase' or 'mock' allowed here.\");\n}\n\nexport const setServiceProvider = (providerParam?: ServiceProviderConfiguration) => {\n provider = providerParam;\n}\n\nexport const authStateChangedImpl = (\n callback: Function\n) => {\n if (provider === \"firebase\") {\n authStateChanged(callback);\n } else if (provider === \"mock\") {\n authStateChangedMock(callback);\n } else {\n throwUndefinedProviderError();\n }\n}\n\nexport const isAuthenticatedImpl = () => {\n if (provider === \"firebase\") {\n return isAuthenticated();\n } \n if (provider === \"mock\") {\n return isAuthenticatedMock();\n } \n return throwUndefinedProviderError(); \n}\n\nexport const loginImpl = (user: string, sec: string) => {\n\n if (!user) { \n const returnError = new Error(\"empty user\");\n return Promise.reject(returnError);\n }\n if (!sec) {\n const returnError = new Error(\"empty password\");\n return Promise.reject(returnError);\n }\n\n if (provider === \"firebase\") {\n return login(user, sec);\n } \n if (provider === \"mock\") {\n return loginMock(user, sec);\n } \n return throwUndefinedProviderError(); \n}\n\nexport const logoutImpl = () => {\n if (provider === \"firebase\") {\n return logout();\n } \n if (provider === \"mock\") {\n return logoutMock();\n } \n return throwUndefinedProviderError(); \n}\n"]}
|
|
@@ -5,7 +5,7 @@ import '@progressive-development/pd-forms/pd-form-container.js';
|
|
|
5
5
|
import '@progressive-development/pd-forms/pd-form-row.js';
|
|
6
6
|
import '@progressive-development/pd-forms/pd-input.js';
|
|
7
7
|
import '@progressive-development/pd-forms/pd-button.js';
|
|
8
|
-
import {
|
|
8
|
+
import { loginImpl } from '../service-provider/service-provider-impl.js';
|
|
9
9
|
let PdLogin = class PdLogin extends LitElement {
|
|
10
10
|
/**
|
|
11
11
|
* @event login-success fired when login was successfully
|
|
@@ -81,7 +81,7 @@ let PdLogin = class PdLogin extends LitElement {
|
|
|
81
81
|
// get form elements as input elements (for value access)
|
|
82
82
|
const elMail = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.getElementById('eMail');
|
|
83
83
|
const elSec = (_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.getElementById('pWord');
|
|
84
|
-
|
|
84
|
+
loginImpl(elMail === null || elMail === void 0 ? void 0 : elMail.value, elSec === null || elSec === void 0 ? void 0 : elSec.value)
|
|
85
85
|
.then(() => {
|
|
86
86
|
this.dispatchEvent(new CustomEvent("login-success"));
|
|
87
87
|
}).catch(error => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-login.js","sourceRoot":"","sources":["../../../src/tmpown/pd-login.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,wDAAwD,CAAC;AAChE,OAAO,kDAAkD,CAAC;AAC1D,OAAO,+CAA+C,CAAC;AACvD,OAAO,gDAAgD,CAAC;AAExD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pd-login.js","sourceRoot":"","sources":["../../../src/tmpown/pd-login.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,wDAAwD,CAAC;AAChE,OAAO,kDAAkD,CAAC;AAC1D,OAAO,+CAA+C,CAAC;AACvD,OAAO,gDAAgD,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AAIlE,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAErC;;OAEG;IAEH,MAAM,KAAK,MAAM;QACf,OAAO;YACL,GAAG,CAAA;;;;;;;;;;;;;;;OAeF;SACF,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;;;;;;;gCAciB,IAAI,CAAC,YAAY;;;;;;;;;;;;gCAYjB,IAAI,CAAC,YAAY;;;;;uEAKsB,IAAI,CAAC,YAAY;;;;;;KAMnF,CAAC;IACJ,CAAC;IAED,YAAY;;QAEV,gBAAgB;QAChB,MAAM,MAAM,GAAG;YACb,QAAQ,EAAE,IAAI,GAAG,EAAE;SACpB,CAAC;QACF,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,cAAc,CAAC,aAAa,CAAC,0CAAE,aAAa,CAC3D,IAAI,WAAW,CAAC,eAAe,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;QAE9C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YAE9B,yDAAyD;YACzD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,cAAc,CAAC,OAAO,CAAqB,CAAC;YAC5E,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,cAAc,CAAC,OAAO,CAAqB,CAAC;YAE3E,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;iBACnC,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACf,QAAQ,KAAK,CAAC,IAAI,EAAE;oBAClB,KAAK,oBAAoB;wBACvB,8BAA8B;wBAC9B,8CAA8C;wBAC9C,IAAI,CAAC,mBAAmB,CAAC,0CAA0C,CAAC,CAAC;wBACrE,MAAM;oBACR,KAAK,qBAAqB,CAAC;oBAC3B,KAAK,qBAAqB;wBACxB,IAAI,CAAC,mBAAmB,CAAC,oDAAoD,CAAC,CAAC;wBAC/E,MAAM;oBACR;wBACE,IAAI,CAAC,mBAAmB,CAAC,+FAA+F,CAAC,CAAC;iBAC7H;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAC;YAC/C,MAAM,EAAE;gBACN,GAAG,EAAE,OAAO,EAAE,IAAI;aACnB;YACD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC,CAAC;IACN,CAAC;CAEF,CAAA;AAlHY,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAkHnB;SAlHY,OAAO","sourcesContent":["import { LitElement, css, html } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\nimport '@progressive-development/pd-forms/pd-form-container.js';\nimport '@progressive-development/pd-forms/pd-form-row.js';\nimport '@progressive-development/pd-forms/pd-input.js';\nimport '@progressive-development/pd-forms/pd-button.js';\n\nimport { loginImpl } from '../service-provider/service-provider-impl.js';\n\n\n@customElement(\"pd-login\")\nexport class PdLogin extends LitElement {\n\n /**\n * @event login-success fired when login was successfully\n */\n\n static get styles() {\n return [\n css`\n :host {\n display: flex;\n justify-content: center;\n /*min-height: 100vh;\n min-width: 100vh;*/ \n }\n\n .login-form {\n display: flex; \n flex-flow: column;\n justify-content: center; \n --pd-form-row-allign: center; \n }\n \n `,\n ];\n } \n\n render() {\n return html`\n <div class=\"login-form\">\n <pd-form-container id=\"loginFormId\">\n \n <pd-form-row>\n <pd-input\n id=\"eMail\"\n class=\"quarter3\"\n maxlength=\"250\"\n field-type=\"mail\"\n valueName=\"email\"\n label=\"E-mail\" \n autoCompleteName=\"email\"\n required\n @enter-pressed=\"${this._accessLogin}\"\n ></pd-input>\n </pd-form-row>\n\n <pd-form-row>\n <pd-input\n id=\"pWord\"\n class=\"quarter3\"\n secret \n maxlength=\"30\"\n label=\"Password\" \n required \n @enter-pressed=\"${this._accessLogin}\"\n ></pd-input>\n </pd-form-row>\n \n <pd-form-row>\n <pd-button class=\"quarter3\" primary text=\"Login\" @click=\"${this._accessLogin}\"></pd-button> \n </pd-form-row>\n\n </pd-form-container> \n </div>\n\n `;\n }\n\n _accessLogin() {\n \n // validate form\n const detail = {\n errorMap: new Map()\n };\n this.shadowRoot?.getElementById(\"loginFormId\")?.dispatchEvent(\n new CustomEvent(\"validate-form\", {detail}));\n\n if (detail.errorMap.size === 0) {\n \n // get form elements as input elements (for value access)\n const elMail = this.shadowRoot?.getElementById('eMail') as HTMLInputElement; \n const elSec = this.shadowRoot?.getElementById('pWord') as HTMLInputElement; \n\n loginImpl(elMail?.value, elSec?.value)\n .then(() => {\n this.dispatchEvent(new CustomEvent(\"login-success\"));\n }).catch(error => {\n switch (error.code) {\n case 'auth/invalid-email':\n // returnError.eType = 'user';\n // returnError.logMsg = 'Invalid mail format';\n this._dispatchToastEvent(\"E-Mail Format für Benutzer ist ungültig.\");\n break;\n case 'auth/wrong-password':\n case 'auth/user-not-found':\n this._dispatchToastEvent(\"Anmeldung fehlgeschlagen, ungültige Benutzerdaten.\");\n break;\n default:\n this._dispatchToastEvent(\"Technisches Problem aufgetreten, die Anmeldung kann leider aktuell nicht durchgeführt werden.\");\n }\n });\n } \n }\n\n _dispatchToastEvent(txt: string) {\n this.dispatchEvent(new CustomEvent(\"toast-event\",{\n detail: {\n txt, isError: true,\n },\n bubbles: true,\n composed: true\n }));\n }\n\n}\n"]}
|