@os1-platform/console-ui-react 0.2.3 → 0.2.5
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/commonjs/aaa/index.js +31 -96
- package/dist/commonjs/aaa/index.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +3 -3
|
@@ -69,9 +69,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
69
69
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
73
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
74
|
-
};
|
|
75
72
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
76
73
|
exports.functionBoundAutoCompleteOption = exports.functionBoundOption = exports.OS1HttpClient = exports.OS1Modal = exports.OS1Toast = exports.OS1Provider = exports.ConsoleUIContext = exports.AuthContext = void 0;
|
|
77
74
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
@@ -80,7 +77,6 @@ Object.defineProperty(exports, "OS1HttpClient", { enumerable: true, get: functio
|
|
|
80
77
|
Object.defineProperty(exports, "functionBoundOption", { enumerable: true, get: function () { return console_ui_js_1.functionBoundOption; } });
|
|
81
78
|
Object.defineProperty(exports, "functionBoundAutoCompleteOption", { enumerable: true, get: function () { return console_ui_js_1.functionBoundAutoCompleteOption; } });
|
|
82
79
|
var react_1 = __importStar(require("react"));
|
|
83
|
-
var axios_1 = __importDefault(require("axios"));
|
|
84
80
|
exports.AuthContext = react_1.default.createContext(undefined);
|
|
85
81
|
exports.ConsoleUIContext = react_1.default.createContext(undefined);
|
|
86
82
|
var HeaderAndSideBar = function (props) {
|
|
@@ -126,86 +122,30 @@ var HeaderAndSideBar = function (props) {
|
|
|
126
122
|
//console.log(consoleInstance, props);
|
|
127
123
|
return ((0, jsx_runtime_1.jsx)(exports.ConsoleUIContext.Provider, __assign({ value: consoleInstance }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ id: "headerAndSidebar" }, { children: props.children })) })));
|
|
128
124
|
};
|
|
129
|
-
var getCleanedDomain = function (domain) {
|
|
130
|
-
var cleanedDomain = String(domain);
|
|
131
|
-
var splitHost = cleanedDomain.split('.');
|
|
132
|
-
var org = splitHost[0] || '';
|
|
133
|
-
var cleanedOrg = org.replace('-cdev', '');
|
|
134
|
-
var base = splitHost.join('.');
|
|
135
|
-
return { orgShortName: cleanedOrg, baseDomain: base };
|
|
136
|
-
};
|
|
137
|
-
var getTenantFromDevPortal = function (orgShortName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
138
|
-
var url, response;
|
|
139
|
-
return __generator(this, function (_a) {
|
|
140
|
-
switch (_a.label) {
|
|
141
|
-
case 0:
|
|
142
|
-
url = "https://api.getos1.com/app/core-api/tenant?orgShortName=".concat(orgShortName);
|
|
143
|
-
return [4 /*yield*/, axios_1.default.get(url)];
|
|
144
|
-
case 1:
|
|
145
|
-
response = _a.sent();
|
|
146
|
-
return [2 /*return*/, response.data.data];
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}); };
|
|
150
|
-
var getTenantUrlFromDevPortal = function (tenantId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
151
|
-
var url, response;
|
|
152
|
-
return __generator(this, function (_a) {
|
|
153
|
-
switch (_a.label) {
|
|
154
|
-
case 0:
|
|
155
|
-
url = "https://api.getos1.com/app/core-api/tenant?tenantId=".concat(tenantId);
|
|
156
|
-
return [4 /*yield*/, axios_1.default.get(url)];
|
|
157
|
-
case 1:
|
|
158
|
-
response = _a.sent();
|
|
159
|
-
return [2 /*return*/, response.data.data];
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
}); };
|
|
163
|
-
var getKeyCloakAuthority = function (domain, devTenantId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
164
|
-
var orgName, baseDomainName, tenant_1, _a, orgShortName, baseDomain, tenant;
|
|
165
|
-
return __generator(this, function (_b) {
|
|
166
|
-
switch (_b.label) {
|
|
167
|
-
case 0:
|
|
168
|
-
orgName = '';
|
|
169
|
-
baseDomainName = '';
|
|
170
|
-
if (!(devTenantId != undefined)) return [3 /*break*/, 2];
|
|
171
|
-
baseDomainName = domain.substring(domain.indexOf('.'));
|
|
172
|
-
return [4 /*yield*/, getTenantUrlFromDevPortal(devTenantId)];
|
|
173
|
-
case 1:
|
|
174
|
-
tenant_1 = _b.sent();
|
|
175
|
-
return [2 /*return*/, "".concat(tenant_1.stackAuthUrl, "/auth/realms/").concat(devTenantId)];
|
|
176
|
-
case 2:
|
|
177
|
-
_a = getCleanedDomain(domain), orgShortName = _a.orgShortName, baseDomain = _a.baseDomain;
|
|
178
|
-
orgName = orgShortName;
|
|
179
|
-
baseDomainName = baseDomain;
|
|
180
|
-
_b.label = 3;
|
|
181
|
-
case 3: return [4 /*yield*/, getTenantFromDevPortal(orgName)];
|
|
182
|
-
case 4:
|
|
183
|
-
tenant = _b.sent();
|
|
184
|
-
return [2 /*return*/, "".concat(tenant.stackAuthUrl, "/auth/realms/").concat(tenant.tenantId)];
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
}); };
|
|
188
125
|
var OS1Provider = function (props) {
|
|
189
126
|
var _a = (0, react_1.useState)(''), authUrl = _a[0], setAuthUrl = _a[1];
|
|
190
127
|
// const [tenantDns, setTenantDns] = useState('');
|
|
191
|
-
|
|
128
|
+
var _b = (0, react_1.useState)(false), isMountedRef = _b[0], setisMountedRef = _b[1];
|
|
129
|
+
var authHelper = new console_ui_js_1.AuthHelper();
|
|
192
130
|
var authUrls = '';
|
|
193
131
|
(0, react_1.useEffect)(function () {
|
|
194
132
|
(function () {
|
|
195
133
|
return __awaiter(this, void 0, void 0, function () {
|
|
196
134
|
return __generator(this, function (_a) {
|
|
197
135
|
switch (_a.label) {
|
|
198
|
-
case 0: return [4 /*yield*/, getKeyCloakAuthority(window.location.hostname, props.devTenantId)];
|
|
136
|
+
case 0: return [4 /*yield*/, authHelper.getKeyCloakAuthority(window.location.hostname, props.devTenantId)];
|
|
199
137
|
case 1:
|
|
200
138
|
authUrls = _a.sent();
|
|
201
139
|
setAuthUrl(authUrls);
|
|
140
|
+
setisMountedRef(true);
|
|
202
141
|
return [2 /*return*/];
|
|
203
142
|
}
|
|
204
143
|
});
|
|
205
144
|
});
|
|
206
145
|
})();
|
|
207
146
|
}, []);
|
|
208
|
-
return (
|
|
147
|
+
return (isMountedRef ?
|
|
148
|
+
(0, jsx_runtime_1.jsx)(OS1Provider2, { clientId: props.clientId, loginRedirectPath: props.loginRedirectPath, logoutRedirectPath: props.logoutRedirectPath, devTenantId: props.devTenantId, appId: props.appId, controls: props.controls, authUrl: authUrl, authHelper: authHelper, props: props }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}));
|
|
209
149
|
};
|
|
210
150
|
exports.OS1Provider = OS1Provider;
|
|
211
151
|
var OS1Provider2 = function (props) {
|
|
@@ -215,11 +155,12 @@ var OS1Provider2 = function (props) {
|
|
|
215
155
|
//console.log('userManager', userManager);
|
|
216
156
|
var _a = (0, react_1.useState)(true), isLoading = _a[0], setIsLoading = _a[1];
|
|
217
157
|
var isMountedRef = (0, react_1.useRef)(false);
|
|
158
|
+
var authHelper = props.authHelper;
|
|
218
159
|
(0, react_1.useEffect)(function () {
|
|
219
160
|
// Store current isMounted since this could change while awaiting async operations below
|
|
220
161
|
isMountedRef.current = true;
|
|
221
162
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
222
|
-
var user, error_1;
|
|
163
|
+
var user, error_1, error_2;
|
|
223
164
|
return __generator(this, function (_a) {
|
|
224
165
|
switch (_a.label) {
|
|
225
166
|
case 0:
|
|
@@ -235,15 +176,33 @@ var OS1Provider2 = function (props) {
|
|
|
235
176
|
error_1 = _a.sent();
|
|
236
177
|
return [3 /*break*/, 4];
|
|
237
178
|
case 4:
|
|
238
|
-
if (!
|
|
239
|
-
return [4 /*yield*/,
|
|
179
|
+
if (!authHelper.hasErrorInUrl(window.location)) return [3 /*break*/, 6];
|
|
180
|
+
return [4 /*yield*/, userManager.logout()];
|
|
240
181
|
case 5:
|
|
241
182
|
_a.sent();
|
|
242
|
-
cleanBrowserUrl();
|
|
243
|
-
setIsLoading(false);
|
|
244
183
|
return [2 /*return*/];
|
|
245
|
-
case 6:
|
|
184
|
+
case 6:
|
|
185
|
+
if (!authHelper.hasCodeInUrl(window.location)) return [3 /*break*/, 12];
|
|
186
|
+
_a.label = 7;
|
|
246
187
|
case 7:
|
|
188
|
+
_a.trys.push([7, 9, , 11]);
|
|
189
|
+
return [4 /*yield*/, (userManager === null || userManager === void 0 ? void 0 : userManager.logincallback())];
|
|
190
|
+
case 8:
|
|
191
|
+
_a.sent();
|
|
192
|
+
return [3 /*break*/, 11];
|
|
193
|
+
case 9:
|
|
194
|
+
error_2 = _a.sent();
|
|
195
|
+
window.console.log('Error: ', error_2);
|
|
196
|
+
return [4 /*yield*/, userManager.logout()];
|
|
197
|
+
case 10:
|
|
198
|
+
_a.sent();
|
|
199
|
+
return [3 /*break*/, 11];
|
|
200
|
+
case 11:
|
|
201
|
+
authHelper.cleanBrowserUrl();
|
|
202
|
+
setIsLoading(false);
|
|
203
|
+
return [2 /*return*/];
|
|
204
|
+
case 12: return [4 /*yield*/, (userManager === null || userManager === void 0 ? void 0 : userManager.isAuthenticated())];
|
|
205
|
+
case 13:
|
|
247
206
|
if (!(_a.sent())) {
|
|
248
207
|
userManager === null || userManager === void 0 ? void 0 : userManager.login();
|
|
249
208
|
}
|
|
@@ -260,30 +219,6 @@ var OS1Provider2 = function (props) {
|
|
|
260
219
|
}, [window.location, userManager]);
|
|
261
220
|
return ((0, jsx_runtime_1.jsx)(exports.AuthContext.Provider, __assign({ value: value }, { children: (0, jsx_runtime_1.jsx)(HeaderAndSideBar, __assign({ userManager: userManager, isLoading: isLoading, loader: props.loader, devOrgName: props.devOrgName, controls: props.controls, appId: props.appId, authUrl: props.authUrl }, { children: props.props.children })) })));
|
|
262
221
|
};
|
|
263
|
-
var hasCodeInUrl = function (location) {
|
|
264
|
-
var searchParams = new URLSearchParams(location.search);
|
|
265
|
-
var hashParams = new URLSearchParams(location.hash.replace('#', '?'));
|
|
266
|
-
return Boolean(searchParams.get('code') ||
|
|
267
|
-
searchParams.get('id_token') ||
|
|
268
|
-
searchParams.get('session_state') ||
|
|
269
|
-
searchParams.get('state') ||
|
|
270
|
-
hashParams.get('code') ||
|
|
271
|
-
hashParams.get('id_token') ||
|
|
272
|
-
hashParams.get('session_state') ||
|
|
273
|
-
hashParams.get('state'));
|
|
274
|
-
};
|
|
275
|
-
var cleanBrowserUrl = function () {
|
|
276
|
-
var search = window.location.search;
|
|
277
|
-
if (search &&
|
|
278
|
-
(search.includes('session_state=') ||
|
|
279
|
-
search.includes('state=') ||
|
|
280
|
-
search.includes('code='))) {
|
|
281
|
-
/*
|
|
282
|
-
* Use replaceState to redirect the user away and remove the querystring parameters
|
|
283
|
-
*/
|
|
284
|
-
window.history.replaceState({}, document.title, window.location.href.split('?')[0]);
|
|
285
|
-
}
|
|
286
|
-
};
|
|
287
222
|
// export { Toast, Modal };
|
|
288
223
|
var OS1Toast = function (props) {
|
|
289
224
|
(0, react_1.useEffect)(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aaa/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AAA, ConsoleUiInit, OS1HttpClient, OS1Components, functionBoundOption, functionBoundAutoCompleteOption} from '@os1-platform/console-ui-js';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { ModalProps } from '../components/modal/interface';\nimport { ToastProps } from '../components/toast/interface';\n\nimport axios from 'axios';\n\nexport const AuthContext = React.createContext<any | undefined>(undefined);\nexport const ConsoleUIContext = React.createContext<any>(undefined);\n\nconst HeaderAndSideBar = (props: any) => {\n const [consoleInstance, setConsoleInstance] = useState<any>(null);\n\n useEffect(() => {\n if (!props.isLoading) {\n const console = ConsoleUiInit.getInstance(\n props.clientId,\n props.loginRedirectPath,\n props.logoutRedirectPath,\n props.authurl,\n props.devTenantId,\n props.appId,\n props.userManager\n );\n\n setConsoleInstance(console);\n console.renderHeaderAndSidebar('headerAndSidebar', props.controls);\n }\n }, [props.isLoading]);\n\n if (props.isLoading) {\n if (props.loader) {\n return props.loader;\n } else {\n const keyframes = `\n @-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n `;\n const styleSheets = Array.from(document.styleSheets).filter(\n (styleSheet) =>\n !styleSheet.href || styleSheet.href.startsWith(window.location.origin)\n );\n for (let style of styleSheets) {\n if (style instanceof CSSStyleSheet && style.cssRules) {\n style.insertRule(keyframes, style.cssRules.length);\n }\n }\n const loaderStyle = () => ({\n marginTop: '50vh',\n marginLeft: '50vw',\n border: '12px solid #F3F3F3',\n borderRadius: '50%',\n borderTop: '12px solid grey',\n width: '40px',\n height: '40px',\n animationName: 'spin',\n animationDuration: '2s',\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite',\n });\n return <div style={loaderStyle()}></div>;\n }\n }\n //console.log(consoleInstance, props);\n return (\n <ConsoleUIContext.Provider value={consoleInstance}>\n <div id=\"headerAndSidebar\">{props.children}</div>\n </ConsoleUIContext.Provider>\n );\n};\n\ninterface TenantDTO {\n tenantId: string;\n tenantStatus: string;\n tenantDns: string;\n stackId: string;\n stackName: string;\n organizationShortName: string;\n organizationBaseDomain: string;\n stackAuthUrl: string;\n}\n\nconst getCleanedDomain = (domain: string) => {\n const cleanedDomain = String(domain);\n const splitHost = cleanedDomain.split('.');\n const org = splitHost[0] || '';\n const cleanedOrg = org.replace('-cdev', '');\n const base = splitHost.join('.');\n return { orgShortName: cleanedOrg, baseDomain: base };\n};\n\nconst getTenantFromDevPortal = async (\n orgShortName: any\n): Promise<TenantDTO> => {\n const url = `https://api.getos1.com/app/core-api/tenant?orgShortName=${orgShortName}`;\n const response = await axios.get(url);\n return response.data.data;\n};\n\nconst getTenantUrlFromDevPortal = async (\n tenantId: string\n): Promise<TenantDTO> => {\n const url = `https://api.getos1.com/app/core-api/tenant?tenantId=${tenantId}`;\n const response = await axios.get(url);\n return response.data.data;\n};\n\nconst getKeyCloakAuthority = async (domain: string, devTenantId: string) => {\n let orgName: string = '';\n var baseDomainName: string = '';\n\n if (devTenantId != undefined) {\n baseDomainName = domain.substring(domain.indexOf('.'));\n\n const tenant = await getTenantUrlFromDevPortal(devTenantId);\n \n return `${tenant.stackAuthUrl}/auth/realms/${devTenantId}`;\n } else {\n const { orgShortName, baseDomain } = getCleanedDomain(domain);\n\n orgName = orgShortName;\n baseDomainName = baseDomain;\n }\n const tenant = await getTenantFromDevPortal(orgName);\n\n return `${tenant.stackAuthUrl}/auth/realms/${tenant.tenantId}`;\n};\n\nconst OS1Provider = (props: any) => {\n const [authUrl, setAuthUrl] = useState('');\n // const [tenantDns, setTenantDns] = useState('');\n // let isMountedRef = useRef<boolean>(false);\n\n let authUrls = '';\n useEffect(() => {\n (async function () {\n authUrls = await getKeyCloakAuthority(\n window.location.hostname,\n props.devTenantId\n );\n setAuthUrl(authUrls);\n })();\n }, []);\n\n return (\n <OS1Provider2\n clientId={props.clientId}\n loginRedirectPath={props.loginRedirectPath}\n logoutRedirectPath={props.logoutRedirectPath}\n devTenantId={props.devTenantId}\n appId={props.appId}\n controls={props.controls}\n authUrl={authUrl}\n props={...props}\n />\n );\n};\nconst OS1Provider2 = (props: any) => {\n //console.log(props);\n const userManager = new AAA(\n props.clientId,\n props.loginRedirectPath,\n props.logoutRedirectPath,\n props.devTenantId,\n props.authUrl\n );\n const value = '';\n //console.log('userManager', userManager);\n const [isLoading, setIsLoading] = useState(true);\n let isMountedRef = useRef<boolean>(false);\n\n useEffect(() => {\n // Store current isMounted since this could change while awaiting async operations below\n isMountedRef.current = true;\n (async () => {\n let user = undefined;\n try {\n user = await userManager!.getUserInfo();\n } catch (error: any) {\n\n }\n /**\n * Check if the user is returning back from OIDC.\n */\n if (hasCodeInUrl(window.location)) {\n await userManager?.logincallback();\n cleanBrowserUrl();\n setIsLoading(false);\n return;\n }\n\n if (!(await userManager?.isAuthenticated())) {\n userManager?.login();\n } else if (isMountedRef.current) {\n setIsLoading(false);\n }\n })();\n\n return () => {\n isMountedRef.current = false;\n };\n }, [window.location, userManager]);\n\n return (\n <AuthContext.Provider value={value}>\n <HeaderAndSideBar\n userManager={userManager}\n isLoading={isLoading}\n loader={props.loader}\n devOrgName={props.devOrgName}\n controls={props.controls}\n appId={props.appId}\n authUrl={props.authUrl}\n >\n {props.props.children}\n </HeaderAndSideBar>\n </AuthContext.Provider>\n );\n};\nconst hasCodeInUrl = (location: Location): boolean => {\n const searchParams = new URLSearchParams(location.search);\n const hashParams = new URLSearchParams(location.hash.replace('#', '?'));\n return Boolean(\n searchParams.get('code') ||\n searchParams.get('id_token') ||\n searchParams.get('session_state') ||\n searchParams.get('state') ||\n hashParams.get('code') ||\n hashParams.get('id_token') ||\n hashParams.get('session_state') ||\n hashParams.get('state')\n );\n};\n\nconst cleanBrowserUrl = () => {\n const search = window.location.search;\n\n if (\n search &&\n (search.includes('session_state=') ||\n search.includes('state=') ||\n search.includes('code='))\n ) {\n /*\n * Use replaceState to redirect the user away and remove the querystring parameters\n */\n window.history.replaceState(\n {},\n document.title,\n window.location.href.split('?')[0]\n );\n }\n};\n\n// export { Toast, Modal };\n\nconst OS1Toast = (props: ToastProps) => {\n\n useEffect(() => {\n const os1Components = new OS1Components()\n os1Components.renderToast(props.elementId, props.toastConfig);\n }, []);\n\n return <div id={props.elementId}></div>;\n};\n\nconst OS1Modal = (props: ModalProps) => {\n\n useEffect(() => {\n const os1Components = new OS1Components()\n os1Components.renderModal(props.elementId, props.modalConfig);\n }, []);\n\n return <div id={props.elementId}></div>;\n};\n\n\nexport {\n OS1Provider,\n OS1Toast,\n OS1Modal,\n OS1HttpClient,\n functionBoundOption,\n functionBoundAutoCompleteOption\n};\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aaa/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AAA, ConsoleUiInit, OS1HttpClient, OS1Components, functionBoundOption, functionBoundAutoCompleteOption, AuthHelper} from '@os1-platform/console-ui-js';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { ModalProps } from '../components/modal/interface';\nimport { ToastProps } from '../components/toast/interface';\n\nexport const AuthContext = React.createContext<any | undefined>(undefined);\nexport const ConsoleUIContext = React.createContext<any>(undefined);\n\nconst HeaderAndSideBar = (props: any) => {\n const [consoleInstance, setConsoleInstance] = useState<any>(null);\n\n useEffect(() => {\n if (!props.isLoading) {\n const console = ConsoleUiInit.getInstance(\n props.clientId,\n props.loginRedirectPath,\n props.logoutRedirectPath,\n props.authurl,\n props.devTenantId,\n props.appId,\n props.userManager\n );\n\n setConsoleInstance(console);\n console.renderHeaderAndSidebar('headerAndSidebar', props.controls);\n }\n }, [props.isLoading]);\n\n if (props.isLoading) {\n if (props.loader) {\n return props.loader;\n } else {\n const keyframes = `\n @-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n `;\n const styleSheets = Array.from(document.styleSheets).filter(\n (styleSheet) =>\n !styleSheet.href || styleSheet.href.startsWith(window.location.origin)\n );\n for (let style of styleSheets) {\n if (style instanceof CSSStyleSheet && style.cssRules) {\n style.insertRule(keyframes, style.cssRules.length);\n }\n }\n const loaderStyle = () => ({\n marginTop: '50vh',\n marginLeft: '50vw',\n border: '12px solid #F3F3F3',\n borderRadius: '50%',\n borderTop: '12px solid grey',\n width: '40px',\n height: '40px',\n animationName: 'spin',\n animationDuration: '2s',\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite',\n });\n return <div style={loaderStyle()}></div>;\n }\n }\n //console.log(consoleInstance, props);\n return (\n <ConsoleUIContext.Provider value={consoleInstance}>\n <div id=\"headerAndSidebar\">{props.children}</div>\n </ConsoleUIContext.Provider>\n );\n};\n\nconst OS1Provider = (props: any) => {\n const [authUrl, setAuthUrl] = useState('');\n // const [tenantDns, setTenantDns] = useState('');\n let [isMountedRef, setisMountedRef] = useState<boolean>(false);\n \n const authHelper = new AuthHelper();\n let authUrls = '';\n useEffect(() => {\n (async function () {\n authUrls = await authHelper.getKeyCloakAuthority(\n window.location.hostname,\n props.devTenantId\n );\n setAuthUrl(authUrls);\n setisMountedRef(true)\n })();\n }, []);\n\n return (\n isMountedRef?\n <OS1Provider2\n clientId={props.clientId}\n loginRedirectPath={props.loginRedirectPath}\n logoutRedirectPath={props.logoutRedirectPath}\n devTenantId={props.devTenantId}\n appId={props.appId}\n controls={props.controls}\n authUrl={authUrl}\n authHelper = {authHelper}\n props={...props}\n />:<></>\n );\n};\nconst OS1Provider2 = (props: any) => {\n //console.log(props);\n const userManager = new AAA(\n props.clientId,\n props.loginRedirectPath,\n props.logoutRedirectPath,\n props.devTenantId,\n props.authUrl\n );\n const value = '';\n //console.log('userManager', userManager);\n const [isLoading, setIsLoading] = useState(true);\n let isMountedRef = useRef<boolean>(false);\n const { authHelper } = props;\n useEffect(() => {\n // Store current isMounted since this could change while awaiting async operations below\n isMountedRef.current = true;\n (async () => {\n let user = undefined;\n try {\n user = await userManager!.getUserInfo();\n } catch (error: any) {\n\n }\n /**\n * Check if the user is returning back from OIDC and throws error.\n */\n if (authHelper.hasErrorInUrl(window.location)){\n \n await userManager.logout();\n return\n }\n /**\n * Check if the user is returning back from OIDC.\n */\n if (authHelper.hasCodeInUrl(window.location)) {\n try{\n await userManager?.logincallback();\n }catch (error: any) {\n window.console.log('Error: ', error);\n await userManager.logout()\n }\n authHelper.cleanBrowserUrl();\n setIsLoading(false);\n return;\n }\n\n if (!(await userManager?.isAuthenticated())) {\n userManager?.login();\n } else if (isMountedRef.current) {\n setIsLoading(false);\n }\n })();\n\n return () => {\n isMountedRef.current = false;\n };\n }, [window.location, userManager]);\n\n return (\n <AuthContext.Provider value={value}>\n <HeaderAndSideBar\n userManager={userManager}\n isLoading={isLoading}\n loader={props.loader}\n devOrgName={props.devOrgName}\n controls={props.controls}\n appId={props.appId}\n authUrl={props.authUrl}\n >\n {props.props.children}\n </HeaderAndSideBar>\n </AuthContext.Provider>\n );\n};\n\n// export { Toast, Modal };\n\nconst OS1Toast = (props: ToastProps) => {\n\n useEffect(() => {\n const os1Components = new OS1Components()\n os1Components.renderToast(props.elementId, props.toastConfig);\n }, []);\n\n return <div id={props.elementId}></div>;\n};\n\nconst OS1Modal = (props: ModalProps) => {\n\n useEffect(() => {\n const os1Components = new OS1Components()\n os1Components.renderModal(props.elementId, props.modalConfig);\n }, []);\n\n return <div id={props.elementId}></div>;\n};\n\n\nexport {\n OS1Provider,\n OS1Toast,\n OS1Modal,\n OS1HttpClient,\n functionBoundOption,\n functionBoundAutoCompleteOption\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@os1-platform/console-ui-react",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "React wrapper for console-ui library",
|
|
5
5
|
"main": "dist/commonjs/aaa/index.js",
|
|
6
6
|
"types": "dist/commonjs/types/aaa/index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@fullhuman/postcss-purgecss": "^5.0.0",
|
|
30
|
-
"@os1-platform/console-ui-js": "^0.2.
|
|
30
|
+
"@os1-platform/console-ui-js": "^0.2.3",
|
|
31
31
|
"@react-native-community/eslint-config": "^2.0.0",
|
|
32
32
|
"@types/react": "^17.0.37",
|
|
33
33
|
"axios": "^0.21.4",
|
package/readme.md
CHANGED
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
|
|
174
174
|
11. Option to change the timezone of the application. At initital load, time zone will be tenant specific but user can change the time zone according to his choice and it will be stored in his browser's local Storage.
|
|
175
175
|
|
|
176
|
-
12. Exposed `convertTime` function that converts time of the user's application in their desired format and `currentTimeZone` function that gives user current timezone that is stored in the browser.
|
|
176
|
+
12. Exposed `convertTime` function that converts time of the user's application in their desired format and `currentTimeZone` function that gives user current timezone that is stored in the browser. When TimeZone is updated it emits `UpdateTimeZoneEvent` event.
|
|
177
177
|
|
|
178
178
|
```javascript
|
|
179
179
|
const { consoleInstance } = props;
|
|
@@ -191,10 +191,10 @@
|
|
|
191
191
|
|
|
192
192
|
15. If nothing is selected then, when user clicks on app for the first time, it asks how we want to redirect the app.
|
|
193
193
|
|
|
194
|
-
16. To get Access Token, use `
|
|
194
|
+
16. To get Access Token, use `getAuthenticationTokens` method, for userInfo, use `getUser`, and check whether user is authenticated use `isAuthenticated()`. User have to use context of consoleUi and call authInitializer method of it.
|
|
195
195
|
```Javascript
|
|
196
196
|
if (consoleInstance) {
|
|
197
|
-
const accessToken = consoleInstance.authInitializer.
|
|
197
|
+
const accessToken = consoleInstance.authInitializer.getAuthenticationTokens();
|
|
198
198
|
const userInfo = consoleInstance.authInitializer.getUser();
|
|
199
199
|
const isUserAuthenticated = consoleInstance.authInitializer.isAuthenticated();
|
|
200
200
|
}
|