@os1-platform/console-ui-react 0.3.0 → 0.4.0

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.
@@ -84,7 +84,7 @@ var HeaderAndSideBar = function (props) {
84
84
  var _a = (0, react_1.useState)(null), consoleInstance = _a[0], setConsoleInstance = _a[1];
85
85
  (0, react_1.useEffect)(function () {
86
86
  if (!props.isLoading) {
87
- var console_1 = console_ui_js_1.ConsoleUiInit.getInstance(props.clientId, props.loginRedirectPath, props.logoutRedirectPath, props.authurl, props.devTenantId, props.appId, props.userManager);
87
+ var console_1 = console_ui_js_1.ConsoleUiInit.getInstance(props.clientId, props.loginRedirectPath, props.logoutRedirectPath, props.authurl, props.orgShortName, props.devTenantId, props.appId, props.userManager);
88
88
  setConsoleInstance(console_1);
89
89
  console_1.renderHeaderAndSidebar('headerAndSidebar', props.controls);
90
90
  }
@@ -125,10 +125,11 @@ var HeaderAndSideBar = function (props) {
125
125
  };
126
126
  var OS1Provider = function (props) {
127
127
  var _a = (0, react_1.useState)(''), authUrl = _a[0], setAuthUrl = _a[1];
128
+ var _b = (0, react_1.useState)(''), orgShortName = _b[0], setOrgShortName = _b[1];
128
129
  // const [tenantDns, setTenantDns] = useState('');
129
- var _b = (0, react_1.useState)(false), isMountedRef = _b[0], setisMountedRef = _b[1];
130
+ var _c = (0, react_1.useState)(false), isMountedRef = _c[0], setisMountedRef = _c[1];
130
131
  var authHelper = new console_ui_js_1.AuthHelper();
131
- var authUrls = '';
132
+ var authUrls;
132
133
  (0, react_1.useEffect)(function () {
133
134
  (function () {
134
135
  return __awaiter(this, void 0, void 0, function () {
@@ -137,7 +138,8 @@ var OS1Provider = function (props) {
137
138
  case 0: return [4 /*yield*/, authHelper.getKeyCloakAuthority(window.location.hostname, props.devTenantId)];
138
139
  case 1:
139
140
  authUrls = _a.sent();
140
- setAuthUrl(authUrls);
141
+ setAuthUrl(authUrls.tenantUrl);
142
+ setOrgShortName(authUrls.orgName);
141
143
  setisMountedRef(true);
142
144
  return [2 /*return*/];
143
145
  }
@@ -146,7 +148,7 @@ var OS1Provider = function (props) {
146
148
  })();
147
149
  }, []);
148
150
  return (isMountedRef ?
149
- (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, {}));
151
+ (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, orgShortName: orgShortName, props: props }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}));
150
152
  };
151
153
  exports.OS1Provider = OS1Provider;
152
154
  var OS1Provider2 = function (props) {
@@ -218,7 +220,7 @@ var OS1Provider2 = function (props) {
218
220
  isMountedRef.current = false;
219
221
  };
220
222
  }, [window.location, userManager]);
221
- 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 })) })));
223
+ 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, devTenantId: props.devTenantId, controls: props.controls, appId: props.appId, authUrl: props.authUrl, orgShortName: props.orgShortName }, { children: props.props.children })) })));
222
224
  };
223
225
  // export { Toast, Modal };
224
226
  var OS1Toast = function (props) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/aaa/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA0L;AAmNxL,8FAnN2B,6BAAa,OAmN3B;AACb,oGApN0D,mCAAmB,OAoN1D;AACnB,gHArN+E,+CAA+B,OAqN/E;AAC/B,wGAtN4H,uCAAuB,OAsN5H;AArNzB,6CAA2D;AAI9C,QAAA,WAAW,GAAG,eAAK,CAAC,aAAa,CAAkB,SAAS,CAAC,CAAC;AAC9D,QAAA,gBAAgB,GAAG,eAAK,CAAC,aAAa,CAAM,SAAS,CAAC,CAAC;AAEpE,IAAM,gBAAgB,GAAG,UAAC,KAAU;IAC5B,IAAA,KAAwC,IAAA,gBAAQ,EAAM,IAAI,CAAC,EAA1D,eAAe,QAAA,EAAE,kBAAkB,QAAuB,CAAC;IAElE,IAAA,iBAAS,EAAC;QACR,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACpB,IAAM,SAAO,GAAG,6BAAa,CAAC,WAAW,CACvC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,kBAAkB,EACxB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,kBAAkB,CAAC,SAAO,CAAC,CAAC;YAC5B,SAAO,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;SACpE;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtB,IAAI,KAAK,CAAC,SAAS,EAAE;QACnB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,OAAO,KAAK,CAAC,MAAM,CAAC;SACrB;aAAM;YACL,IAAM,SAAS,GAAG,gMASnB,CAAC;YACA,IAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CACzD,UAAC,UAAU;gBACT,OAAA,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAtE,CAAsE,CACzE,CAAC;YACF,KAAkB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,EAAE;gBAA1B,IAAI,KAAK,oBAAA;gBACZ,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACpD,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBACpD;aACF;YACD,IAAM,WAAW,GAAG,cAAM,OAAA,CAAC;gBACzB,SAAS,EAAE,MAAM;gBACjB,UAAU,EAAE,MAAM;gBAClB,MAAM,EAAE,oBAAoB;gBAC5B,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,iBAAiB;gBAC5B,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,aAAa,EAAE,MAAM;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,uBAAuB,EAAE,QAAQ;gBACjC,uBAAuB,EAAE,UAAU;aACpC,CAAC,EAZwB,CAYxB,CAAC;YACH,OAAO,gCAAK,KAAK,EAAE,WAAW,EAAE,GAAQ,CAAC;SAC1C;KACF;IACD,sCAAsC;IACtC,OAAO,CACL,uBAAC,wBAAgB,CAAC,QAAQ,aAAC,KAAK,EAAE,eAAe,gBAC/C,yCAAK,EAAE,EAAC,kBAAkB,gBAAE,KAAK,CAAC,QAAQ,IAAO,IACvB,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,WAAW,GAAG,UAAC,KAAU;IACvB,IAAA,KAAwB,IAAA,gBAAQ,EAAC,EAAE,CAAC,EAAnC,OAAO,QAAA,EAAE,UAAU,QAAgB,CAAC;IAC3C,kDAAkD;IAC9C,IAAA,KAAkC,IAAA,gBAAQ,EAAU,KAAK,CAAC,EAAzD,YAAY,QAAA,EAAE,eAAe,QAA4B,CAAC;IAE/D,IAAO,UAAU,GAAG,IAAI,0BAAU,EAAE,CAAC;IACrC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAA,iBAAS,EAAC;QACR,CAAC;;;;gCACY,qBAAM,UAAU,CAAC,oBAAoB,CAC9C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EACxB,KAAK,CAAC,WAAW,CAClB,EAAA;;4BAHD,QAAQ,GAAG,SAGV,CAAC;4BACF,UAAU,CAAC,QAAQ,CAAC,CAAC;4BACrB,eAAe,CAAC,IAAI,CAAC,CAAA;;;;;SACtB,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,YAAY,CAAA,CAAC;QACb,uBAAC,YAAY,IACX,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAI,UAAU,EACxB,KAAK,EAAK,KAAK,GACf,CAAA,CAAC,CAAA,kDAAK,CACT,CAAC;AACJ,CAAC,CAAC;AAqGA,kCAAW;AApGb,IAAM,YAAY,GAAG,UAAC,KAAU;IAC9B,qBAAqB;IACrB,IAAM,WAAW,GAAG,IAAI,mBAAG,CACzB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,kBAAkB,EACxB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,CACd,CAAC;IACF,IAAM,KAAK,GAAG,EAAE,CAAC;IACjB,0CAA0C;IACpC,IAAA,KAA4B,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAzC,SAAS,QAAA,EAAE,YAAY,QAAkB,CAAC;IACjD,IAAI,YAAY,GAAG,IAAA,cAAM,EAAU,KAAK,CAAC,CAAC;IAClC,IAAA,UAAU,GAAK,KAAK,WAAV,CAAW;IAC7B,IAAA,iBAAS,EAAC;QACR,wFAAwF;QACxF,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,CAAC;;;;;wBACK,IAAI,GAAG,SAAS,CAAC;;;;wBAEZ,qBAAM,WAAY,CAAC,WAAW,EAAE,EAAA;;wBAAvC,IAAI,GAAG,SAAgC,CAAC;;;;;;6BAOtC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAzC,wBAAyC;wBAE3C,qBAAM,WAAW,CAAC,MAAM,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAC3B,sBAAM;;6BAKJ,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAxC,yBAAwC;;;;wBAExC,qBAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,EAAE,CAAA,EAAA;;wBAAlC,SAAkC,CAAC;;;;wBAEnC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAK,CAAC,CAAC;wBACrC,qBAAM,WAAW,CAAC,MAAM,EAAE,EAAA;;wBAA1B,SAA0B,CAAA;;;wBAE5B,UAAU,CAAC,eAAe,EAAE,CAAC;wBAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,sBAAO;6BAGH,qBAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,EAAE,CAAA,EAAA;;wBAA1C,IAAI,CAAC,CAAC,SAAoC,CAAC,EAAE;4BAC3C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAC;yBACtB;6BAAM,IAAI,YAAY,CAAC,OAAO,EAAE;4BAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;yBACrB;;;;aACF,CAAC,EAAE,CAAC;QAEL,OAAO;YACL,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,uBAAC,mBAAW,CAAC,QAAQ,aAAC,KAAK,EAAE,KAAK,gBAChC,uBAAC,gBAAgB,aACf,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,OAAO,EAAE,KAAK,CAAC,OAAO,gBAErB,KAAK,CAAC,KAAK,CAAC,QAAQ,IACJ,IACE,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,2BAA2B;AAE3B,IAAM,QAAQ,GAAG,UAAC,KAAiB;IAEjC,IAAA,iBAAS,EAAC;QACR,IAAM,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAA;QACzC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,gCAAK,EAAE,EAAE,KAAK,CAAC,SAAS,GAAQ,CAAC;AAC1C,CAAC,CAAC;AAeA,4BAAQ;AAbV,IAAM,QAAQ,GAAG,UAAC,KAAiB;IAEjC,IAAA,iBAAS,EAAC;QACR,IAAM,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAA;QACzC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,gCAAK,EAAE,EAAE,KAAK,CAAC,SAAS,GAAQ,CAAC;AAC1C,CAAC,CAAC;AAMA,4BAAQ","sourcesContent":["import { AAA, ConsoleUiInit, OS1HttpClient, OS1Components, functionBoundOption, functionBoundAutoCompleteOption, AuthHelper, OS1DropDownDefaultValue} 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 OS1DropDownDefaultValue\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, OS1DropDownDefaultValue} 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.orgShortName,\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 [orgShortName, setOrgShortName] = useState('');\n // const [tenantDns, setTenantDns] = useState('');\n let [isMountedRef, setisMountedRef] = useState<boolean>(false);\n \n const authHelper = new AuthHelper();\n let authUrls:{tenantUrl: string, orgName:string };\n useEffect(() => {\n (async function () {\n authUrls = await authHelper.getKeyCloakAuthority(\n window.location.hostname,\n props.devTenantId\n );\n setAuthUrl(authUrls.tenantUrl);\n setOrgShortName(authUrls.orgName)\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 orgShortName= {orgShortName}\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 devTenantId={props.devTenantId}\n controls={props.controls}\n appId={props.appId}\n authUrl={props.authUrl}\n orgShortName= {props.orgShortName}\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 OS1DropDownDefaultValue\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os1-platform/console-ui-react",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
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.3.0",
30
+ "@os1-platform/console-ui-js": "^0.4.0",
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
@@ -118,7 +118,7 @@
118
118
  }
119
119
  ```
120
120
 
121
- Note:- We are exposing OnChangeEvent, OnBlurEvent, OnScrollEvent, OnClickEvent, OnFocusEvent for injectableId's.
121
+ Note:- We are exposing OnChangeEvent, OnBlurEvent, OnScrollEvent, OnClickEvent, OnFocusEvent, OnKeyUpEvent for injectableId's.
122
122
 
123
123
  8. Use `OS1HttpClient` API to create a client variable for network requests and pass `authInitializer` property of ConsoleUiContext as a constructor parameter.
124
124
 
@@ -143,6 +143,7 @@
143
143
  2. Access token is verified and regenerated (if expired), every time an api request is made.
144
144
  3. `x-coreos-userinfo` contains the userId.
145
145
  4. `x-coreos-auth` contains the id_token.
146
+ 5. If you want to use `X-Coreos-Request-Id`, that is generated by library and also need to send request headers, then send requestId parameter as `undefined`.
146
147
 
147
148
  ```javascript
148
149
 
@@ -161,15 +162,23 @@
161
162
  }).catch(function (err) {
162
163
  console.error('error', err);
163
164
  });
165
+
166
+ // this example covers case when requestId is generated from console and requestHeaders are passed
167
+ client.post(`/todos`,{ "todo": "study" }, undefined, reqHeaders).then(response => {
168
+ console.log("api response", response.data)
169
+ }).catch(function (err) {
170
+ console.error('error', err);
171
+ });
164
172
  };
165
173
  };
166
174
  ```
167
175
 
168
- 10. Use Contact Us page, if you want to query about any application.
169
-
170
- - We provide text area to describe the issue in details.
171
- - We provide option to upload screenshots if any, that may help to understand the issue.
172
- `We will get the query along with your details and we can contact you.`
176
+ 10. Click on Need Help button in case you want to query about any application or want to use product guide.
177
+ - Click on `Raise a Ticket` button and Use Contact Us page, if you want to query about any application.
178
+ - We provide text area to describe the issue in details.
179
+ - We provide option to upload screenshots if any, that may help to understand the issue.
180
+ - We will get the query along with your details and we can contact you.`
181
+ - Click on `Product Guide` button to learn about the product.
173
182
 
174
183
  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
184
 
@@ -300,11 +309,12 @@
300
309
 
301
310
  ``` javascript
302
311
  import {functionBoundAutoCompleteOption} from '@os1-platform/console-ui-react';
303
-
312
+
313
+ if (consoleInstance){
304
314
  functionBoundAutoCompleteOption(autoCompleteValues,"AutoComplete1" ) // here firstParament is a variable that contains the array of objects that needs to be present in dropdown. Second parameter contains the id of dropdown on which we want to load the values
305
-
315
+ }
306
316
  ```
307
- - OnChange, onBlur, OnClick is emitted on this injectable controls
317
+ - OnChange, onBlur, OnClick, OnScroll is emitted on this injectable controls
308
318
 
309
319
 
310
320
  ##### DropDown:-
@@ -328,10 +338,12 @@
328
338
  ``` javascript
329
339
  import {functionBoundOption, OS1DropDownDefaultValue} from '@os1-platform/console-ui-react';
330
340
 
331
- functionBoundOption(dropDownValues,"Dropdown1" ) // here firstParament is a variable that contains the array of objects that needs to be present in dropdown. Second parameter contains the id of dropdown on which we want to load the values
332
-
333
341
  if (consoleInstance){
342
+ functionBoundOption(dropDownValues,"Dropdown1" ) // here firstParament is a variable that contains the array of objects that needs to be present in dropdown. Second parameter contains the id of dropdown on which we want to load the values
334
343
  OS1DropDownDefaultValue('initialValue', "DropDown1"); // Here first parameter contains the value that needs to passed as initialValue, second Parameter is the id of the dropdown on which Id, needs to be set.
335
344
  }
336
345
  ```
337
- - OnChange, onScroll, OnClick is emitted on this injectable controls
346
+ - OnChange, onScroll, OnClick, OnKeyUp is emitted on this injectable controls
347
+ ## Configuration required in Next.js projects.
348
+ - In Next.js, we need to have some library that supports global CSS.
349
+ - One of these library is `next-global-css`, we require to import `withGlobalCss` from it and wrap our configuration within it. [Link to configure next-global-css](https://www.npmjs.com/package/next-global-css)