@pega/react-sdk-components 0.23.18 → 0.23.19
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/lib/components/helpers/authManager.d.ts.map +1 -1
- package/lib/components/helpers/authManager.js +1 -0
- package/lib/components/helpers/authManager.js.map +1 -1
- package/lib/components/helpers/event-utils.js +1 -1
- package/lib/components/helpers/event-utils.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +2 -2
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.js +3 -49
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.js +0 -50
- package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
- package/lib/components/infra/Stages/Stages.d.ts.map +1 -1
- package/lib/components/infra/Stages/Stages.js +1 -2
- package/lib/components/infra/Stages/Stages.js.map +1 -1
- package/lib/components/infra/View/View.js +1 -1
- package/lib/components/infra/View/View.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/template/AppShell/AppShell.js +2 -323
- package/lib/components/template/AppShell/AppShell.js.map +1 -1
- package/lib/components/template/CaseSummary/CaseSummary.js +1 -1
- package/lib/components/template/CaseSummary/CaseSummary.js.map +1 -1
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +5 -39
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +3 -20
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/doc/KeyReleaseUpdates.md +33 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authManager.d.ts","sourceRoot":"","sources":["../../../src/components/helpers/authManager.js"],"names":[],"mappings":"AAOA,+BAAmE;AAEnE,sCAAiF;AA+D1E,0CAEN;AA0HM,kDAEN;AA2GM,0CAGN;AAoFO,wEAwBP;AAEM,mDA0CN;AAEM,2EAiBN;AASM,0CALK,MAAM,mBACN,OAAO,eAEP,OAAO,6BAyClB;AAEM,qCAEN;AAGM,8CAGN;AAGM,uDAEN;AAEM,
|
|
1
|
+
{"version":3,"file":"authManager.d.ts","sourceRoot":"","sources":["../../../src/components/helpers/authManager.js"],"names":[],"mappings":"AAOA,+BAAmE;AAEnE,sCAAiF;AA+D1E,0CAEN;AA0HM,kDAEN;AA2GM,0CAGN;AAoFO,wEAwBP;AAEM,mDA0CN;AAEM,2EAiBN;AASM,0CALK,MAAM,mBACN,OAAO,eAEP,OAAO,6BAyClB;AAEM,qCAEN;AAGM,8CAGN;AAGM,uDAEN;AAEM,uCAwCN;AAGM,mDAEN;AAIM,uCAaN;AAIM,wDAYN;AAGM,yCAKN"}
|
|
@@ -504,6 +504,7 @@ export const authTokenUpdated = (tokenInfo) => {
|
|
|
504
504
|
sessionStorage.setItem("rsdk_TI", JSON.stringify(tokenInfo));
|
|
505
505
|
};
|
|
506
506
|
export const logout = () => {
|
|
507
|
+
sessionStorage.removeItem('rsdk_portalName');
|
|
507
508
|
return new Promise((resolve) => {
|
|
508
509
|
const fnClearAndResolve = () => {
|
|
509
510
|
clearAuthMgr();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authManager.js","sourceRoot":"","sources":["../../../src/components/helpers/authManager.js"],"names":[],"mappings":"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","sourcesContent":["// This file wraps various calls related to logging in, logging out, etc.\n// that use the auth.html/auth.js to do the work of logging in via OAuth 2.0.\n\nimport { getSdkConfig, SdkConfigAccess } from './config_access';\nimport PegaAuth from './auth';\n\n// eslint-disable-next-line import/no-mutable-exports\nexport let gbLoggedIn = sessionStorage.getItem('rsdk_AH') !== null;\n// eslint-disable-next-line import/no-mutable-exports\nexport let gbLoginInProgress = sessionStorage.getItem(\"rsdk_loggingIn\") !== null;\n// other sessionStorage items: rsdk_appName\n\n// will store the PegaAuth instance\nlet authMgr = null;\n// Since this variable is loaded in a separate instance in the popup scenario, use storage to coordinate across the two\nlet usePopupForRestOfSession = sessionStorage.getItem(\"rsdk_popup\") === \"1\";\nlet gbC11NBootstrapInProgress = false;\n// Some non Pega OAuth 2.0 Authentication in use (Basic or Custom for service package)\nlet gbCustomAuth = false;\n\n/*\n * Set to use popup experience for rest of session\n */\nconst forcePopupForReauths = ( bForce ) => {\n if( bForce ) {\n sessionStorage.setItem(\"rsdk_popup\", \"1\");\n usePopupForRestOfSession = true;\n } else {\n sessionStorage.removeItem(\"rsdk_popup\");\n usePopupForRestOfSession = false;\n }\n};\n\nconst setNoInitialRedirect = (bNoInitialRedirect ) => {\n if( bNoInitialRedirect ) {\n forcePopupForReauths(true);\n sessionStorage.setItem(\"rsdk_noRedirect\", \"1\");\n } else {\n sessionStorage.removeItem(\"rsdk_noRedirect\");\n }\n};\n\nconst isLoginExpired = () => {\n let bExpired = true;\n const sLoginStart = sessionStorage.getItem(\"rsdk_loggingIn\");\n if( sLoginStart !== null ) {\n const currTime = Date.now();\n bExpired = currTime - parseInt(sLoginStart, 10) > 60000;\n }\n return bExpired;\n};\n\n/**\n * Clean up any web storage allocated for the user session.\n */\nconst clearAuthMgr = (bFullReauth=false) => {\n // Remove any local storage for the user\n if( !gbCustomAuth ) {\n sessionStorage.removeItem('rsdk_AH');\n }\n if( !bFullReauth ) {\n sessionStorage.removeItem(\"rsdk_CI\");\n }\n sessionStorage.removeItem(\"rsdk_TI\");\n sessionStorage.removeItem(\"rsdk_UI\");\n sessionStorage.removeItem(\"rsdk_loggingIn\");\n gbLoggedIn = false;\n gbLoginInProgress = false;\n forcePopupForReauths(bFullReauth);\n // Not removing the authMgr structure itself...as it can be leveraged on next login\n};\n\nexport const authNoRedirect = () => {\n return sessionStorage.getItem(\"rsdk_noRedirect\") === \"1\";\n};\n\n/**\n * Initialize OAuth config structure members and create authMgr instance\n * bInit - governs whether to create new sessionStorage or load existing one\n */\nconst initOAuth = (bInit) => {\n return getSdkConfig().then( sdkConfig => {\n const sdkConfigAuth = sdkConfig.authConfig;\n const sdkConfigServer = sdkConfig.serverConfig;\n let pegaUrl = sdkConfigServer.infinityRestServerUrl;\n const bNoInitialRedirect = authNoRedirect();\n\n // Construct default OAuth endpoints (if not explicitly specified)\n if (pegaUrl) {\n // Cope with trailing slash being present\n if (!pegaUrl.endsWith('/')) {\n pegaUrl += '/';\n }\n if (!sdkConfigAuth.authorize) {\n sdkConfigAuth.authorize = `${pegaUrl}PRRestService/oauth2/v1/authorize`;\n }\n if (!sdkConfigAuth.token) {\n sdkConfigAuth.token = `${pegaUrl}PRRestService/oauth2/v1/token`;\n }\n if (!sdkConfigAuth.revoke) {\n sdkConfigAuth.revoke = `${pegaUrl}PRRestService/oauth2/v1/revoke`;\n }\n if( !sdkConfigAuth.redirectUri ) {\n sdkConfigAuth.redirectUri = `${window.location.origin}${window.location.pathname}`;\n }\n if (!sdkConfigAuth.userinfo) {\n const appAliasSeg = sdkConfigServer.appAlias ? `app/${sdkConfigServer.appAlias}/` : '';\n sdkConfigAuth.userinfo = `${pegaUrl}${appAliasSeg}api/oauthclients/v1/userinfo/JSON`;\n }\n }\n // Auth service alias\n if( !sdkConfigAuth.authService) {\n sdkConfigAuth.authService = \"pega\";\n }\n\n // Construct path to auth.html (used for case when not doing a main window redirect)\n let sNoMainRedirectUri=sdkConfigAuth.redirectUri;\n const nLastPathSep = sNoMainRedirectUri.lastIndexOf(\"/\");\n sNoMainRedirectUri = nLastPathSep !== -1 ? `${sNoMainRedirectUri.substring(0,nLastPathSep+1)}auth.html` : `${sNoMainRedirectUri}/auth.html`;\n\n const authConfig = {\n clientId: bNoInitialRedirect ? sdkConfigAuth.mashupClientId : sdkConfigAuth.portalClientId,\n authorizeUri: sdkConfigAuth.authorize,\n tokenUri: sdkConfigAuth.token,\n revokeUri: sdkConfigAuth.revoke,\n userinfoUri: sdkConfigAuth.userinfo,\n redirectUri: bNoInitialRedirect || usePopupForRestOfSession\n ? sNoMainRedirectUri\n : sdkConfigAuth.redirectUri,\n authService: sdkConfigAuth.authService,\n appAlias: sdkConfigServer.appAlias || '',\n useLocking: true\n };\n // If no clientId is specified assume not OAuth but custom auth\n if( !authConfig.clientId ) {\n gbCustomAuth = true;\n return;\n }\n if( 'silentTimeout' in sdkConfigAuth ) {\n authConfig.silentTimeout = sdkConfigAuth.silentTimeout;\n }\n if( bNoInitialRedirect ) {\n authConfig.userIdentifier = sdkConfigAuth.mashupUserIdentifier;\n authConfig.password = sdkConfigAuth.mashupPassword;\n }\n if( 'iframeLoginUI' in sdkConfigAuth ){\n authConfig.iframeLoginUI = sdkConfigAuth.iframeLoginUI.toString().toLowerCase() === 'true';\n }\n\n // Check if sessionStorage exists (and if so if for same authorize endpoint). Otherwise, assume\n // sessionStorage is out of date (user just edited endpoints). Else, logout required to clear\n // sessionStorage and get other endpoints updates.\n // Doing this as sessionIndex might have been added to this storage structure\n let sSI = sessionStorage.getItem(\"rsdk_CI\");\n if( sSI ) {\n try {\n const oSI = JSON.parse(sSI);\n if( oSI.authorizeUri !== authConfig.authorizeUri ||\n oSI.appAlias !== authConfig.appAlias ||\n oSI.clientId !== authConfig.clientId ||\n oSI.userIdentifier !== authConfig.userIdentifier ||\n oSI.password !== authConfig.password) {\n clearAuthMgr();\n sSI = null;\n }\n } catch(e) {\n // do nothing\n }\n }\n\n if( !sSI || bInit ) {\n sessionStorage.setItem('rsdk_CI', JSON.stringify(authConfig));\n }\n authMgr = new PegaAuth('rsdk_CI');\n });\n};\n\nconst getAuthMgr = ( bInit ) => {\n return new Promise( (resolve) => {\n let idNextCheck = null;\n const fnCheckForAuthMgr = () => {\n if( PegaAuth && !authMgr ) {\n initOAuth( bInit );\n }\n if(authMgr) {\n if( idNextCheck ) {\n clearInterval(idNextCheck);\n }\n return resolve(authMgr);\n }\n }\n fnCheckForAuthMgr();\n idNextCheck = setInterval(fnCheckForAuthMgr, 10);\n });\n};\n\nexport const sdkGetAuthHeader = () => {\n return sessionStorage.getItem(\"rsdk_AH\");\n};\n\n/**\n * Initiate the process to get the Constellation bootstrap shell loaded and initialized\n * @param {Object} authConfig\n * @param {Object} tokenInfo\n * @param {Function} authTokenUpdated - callback invoked when Constellation JS Engine silently updates\n * an expired access_token\n * @param {Function} fnReauth - callback invoked when a full or custom reauth is needed\n */\nconst constellationInit = (authConfig, tokenInfo, authTokenUpdated, fnReauth) => {\n const constellationBootConfig = {};\n const sdkConfigServer = SdkConfigAccess.getSdkConfigServer();\n\n // Set up constellationConfig with data that bootstrapWithAuthHeader expects\n constellationBootConfig.customRendering = true;\n constellationBootConfig.restServerUrl = sdkConfigServer.infinityRestServerUrl;\n // NOTE: Needs a trailing slash! So add one if not provided\n if( !sdkConfigServer.sdkContentServerUrl.endsWith('/') ) {\n sdkConfigServer.sdkContentServerUrl = `${sdkConfigServer.sdkContentServerUrl}/`;\n }\n constellationBootConfig.staticContentServerUrl = `${sdkConfigServer.sdkContentServerUrl}constellation/`;\n if( !constellationBootConfig.staticContentServerUrl.endsWith('/') ) {\n constellationBootConfig.staticContentServerUrl = `${constellationBootConfig.staticContentServerUrl}/`;\n }\n // If appAlias specified, use it\n if( sdkConfigServer.appAlias ) {\n constellationBootConfig.appAlias = sdkConfigServer.appAlias;\n }\n\n if( tokenInfo ) {\n // Pass in auth info to Constellation\n constellationBootConfig.authInfo = {\n authType: \"OAuth2.0\",\n tokenInfo,\n // Set whether we want constellation to try to do a full re-Auth or not ()\n // true doesn't seem to be working in SDK scenario so always passing false for now\n popupReauth: false /* !authNoRedirect() */,\n client_id: authConfig.clientId,\n authentication_service: authConfig.authService,\n redirect_uri: authConfig.redirectUri,\n endPoints: {\n authorize: authConfig.authorizeUri,\n token: authConfig.tokenUri,\n revoke: authConfig.revokeUri\n },\n // TODO: setup callback so we can update own storage\n onTokenRetrieval: authTokenUpdated\n }\n } else {\n constellationBootConfig.authorizationHeader = sdkGetAuthHeader();\n }\n\n\n // Turn off dynamic load components (should be able to do it here instead of after load?)\n constellationBootConfig.dynamicLoadComponents = false;\n\n if( gbC11NBootstrapInProgress ) {\n return;\n } else {\n gbC11NBootstrapInProgress = true;\n }\n\n // Note that staticContentServerUrl already ends with a slash (see above), so no slash added.\n // In order to have this import succeed and to have it done with the webpackIgnore magic comment tag.\n // See: https://webpack.js.org/api/module-methods/\n import(/* webpackIgnore: true */ `${constellationBootConfig.staticContentServerUrl}bootstrap-shell.js`).then((bootstrapShell) => {\n // NOTE: once this callback is done, we lose the ability to access loadMashup.\n // So, create a reference to it\n window.myLoadMashup = bootstrapShell.loadMashup;\n window.myLoadPortal = bootstrapShell.loadPortal;\n window.myLoadDefaultPortal = bootstrapShell.loadDefaultPortal;\n\n bootstrapShell.bootstrapWithAuthHeader(constellationBootConfig, 'shell').then(() => {\n // eslint-disable-next-line no-console\n console.log('Bootstrap successful!');\n gbC11NBootstrapInProgress = false;\n\n // Setup listener for the reauth event\n if( tokenInfo ) {\n // eslint-disable-next-line no-undef\n PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.EVENT_FULL_REAUTH, fnReauth, \"authFullReauth\");\n } else {\n // customReauth event introduced with 8.8\n // eslint-disable-next-line no-undef\n const sEvent = PCore.getConstants().PUB_SUB_EVENTS.EVENT_CUSTOM_REAUTH;\n if( sEvent ) {\n // eslint-disable-next-line no-undef\n PCore.getPubSubUtils().subscribe(sEvent, fnReauth, \"doReauth\");\n }\n }\n\n // Fire SdkConstellationReady event so bridge and app route can do expected post PCore initializations\n const event = new CustomEvent('SdkConstellationReady', {});\n document.dispatchEvent(event);\n })\n .catch( e => {\n // Assume error caught is because token is not valid and attempt a full reauth\n // eslint-disable-next-line no-console\n console.error(`Constellation JS Engine bootstrap failed. ${e}`);\n gbC11NBootstrapInProgress = false;\n fnReauth();\n })\n });\n /* Ends here */\n};\n\nexport const updateLoginStatus = () => {\n const sAuthHdr = sdkGetAuthHeader();\n gbLoggedIn = sAuthHdr && sAuthHdr.length > 0;\n};\n\nconst getCurrentTokens = () => {\n let tokens = null;\n const sTI = sessionStorage.getItem('rsdk_TI');\n if(sTI) {\n try {\n tokens = JSON.parse(sTI);\n } catch(e) {\n tokens = null;\n }\n }\n return tokens;\n};\n\nconst fireTokenAvailable = (token, bLoadC11N=true) => {\n if( !token ) {\n // This is used on page reload to load the token from sessionStorage and carry on\n token = getCurrentTokens();\n if( !token ) {\n return;\n }\n }\n\n sessionStorage.setItem('rsdk_AH', `${token.token_type} ${token.access_token}`);\n updateLoginStatus();\n\n // gbLoggedIn is getting updated in updateLoginStatus\n gbLoggedIn = true;\n gbLoginInProgress = false;\n sessionStorage.removeItem(\"rsdk_loggingIn\");\n forcePopupForReauths(true);\n\n const sSI = sessionStorage.getItem(\"rsdk_CI\");\n let authConfig = null;\n if( sSI ) {\n try {\n authConfig = JSON.parse(sSI);\n } catch(e) {\n // do nothing\n }\n }\n\n if( !window.PCore && bLoadC11N ) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n constellationInit( authConfig, token, authTokenUpdated, authFullReauth );\n }\n\n/*\n // Create and dispatch the SdkLoggedIn event to trigger constellationInit\n const event = new CustomEvent('SdkLoggedIn', { detail: { authConfig, tokenInfo: token } });\n document.dispatchEvent(event);\n */\n};\n\nconst processTokenOnLogin = ( token, bLoadC11N=true ) => {\n sessionStorage.setItem(\"rsdk_TI\", JSON.stringify(token));\n if( window.PCore ) {\n window.PCore.getAuthUtils().setTokens(token);\n } else {\n fireTokenAvailable(token, bLoadC11N);\n }\n};\n\nconst updateRedirectUri = (aMgr, sRedirectUri) => {\n const sSI = sessionStorage.getItem(\"rsdk_CI\");\n let authConfig = null;\n if( sSI ) {\n try {\n authConfig = JSON.parse(sSI);\n } catch(e) {\n // do nothing\n }\n }\n authConfig.redirectUri = sRedirectUri;\n sessionStorage.setItem(\"rsdk_CI\", JSON.stringify(authConfig));\n aMgr.reloadConfig();\n};\n\n\n// TODO: Cope with 401 and refresh token if possible (or just hope that it succeeds during login)\n/**\n * Retrieve UserInfo for current authentication service\n */\n export const getUserInfo = (bUseSS=true) => {\n const ssUserInfo = sessionStorage.getItem(\"rsdk_UI\");\n let userInfo = null;\n if( bUseSS && ssUserInfo ) {\n try {\n userInfo = JSON.parse(ssUserInfo);\n return Promise.resolve(userInfo);\n } catch(e) {\n // do nothing\n }\n }\n getAuthMgr(false).then( (aMgr) => {\n const tokenInfo = getCurrentTokens();\n return aMgr.getUserinfo(tokenInfo.access_token).then( data => {\n userInfo = data;\n if( userInfo ) {\n sessionStorage.setItem(\"rsdk_UI\", JSON.stringify(userInfo));\n } else {\n sessionStorage.removeItem(\"rsdk_UI\");\n }\n return Promise.resolve(userInfo);\n });\n });\n\n};\n\nexport const login = (bFullReauth=false) => {\n\n if( gbCustomAuth ) return;\n\n gbLoginInProgress = true;\n // Needed so a redirect to login screen and back will know we are still in process of logging in\n sessionStorage.setItem(\"rsdk_loggingIn\", `${Date.now()}`);\n\n getAuthMgr(!bFullReauth).then( (aMgr) => {\n const bMainRedirect = !authNoRedirect();\n const sdkConfigAuth = SdkConfigAccess.getSdkConfigAuth();\n let sRedirectUri=sdkConfigAuth.redirectUri;\n\n // If initial main redirect is OK, redirect to main page, otherwise will authorize in a popup window\n if (bMainRedirect && !bFullReauth) {\n // update redirect uri to be the root\n updateRedirectUri(aMgr, sRedirectUri);\n aMgr.loginRedirect();\n // Don't have token til after the redirect\n return Promise.resolve(undefined);\n } else {\n // Construct path to redirect uri\n const nLastPathSep = sRedirectUri.lastIndexOf(\"/\");\n sRedirectUri = nLastPathSep !== -1 ? `${sRedirectUri.substring(0,nLastPathSep+1)}auth.html` : `${sRedirectUri}/auth.html`;\n // Set redirectUri to static auth.html\n updateRedirectUri(aMgr, sRedirectUri);\n return new Promise( (resolve, reject) => {\n aMgr.login().then(token => {\n processTokenOnLogin(token);\n // getUserInfo();\n resolve(token.access_token);\n }).catch( (e) => {\n gbLoginInProgress = false;\n sessionStorage.removeItem(\"rsdk_loggingIn\");\n // eslint-disable-next-line no-console\n console.log(e);\n reject(e);\n });\n });\n }\n });\n\n};\n\nexport const authRedirectCallback = ( href, fnLoggedInCB=null ) => {\n // Get code from href and swap for token\n const aHrefParts = href.split('?');\n const urlParams = new URLSearchParams(aHrefParts.length>1 ? `?${aHrefParts[1]}` : '');\n const code = urlParams.get(\"code\");\n\n getAuthMgr(false).then( (aMgr) => {\n aMgr.getToken(code).then(token => {\n if( token && token.access_token ) {\n processTokenOnLogin(token, false);\n // getUserInfo();\n if( fnLoggedInCB ) {\n fnLoggedInCB( token.access_token );\n }\n }\n });\n });\n};\n\n/**\n * Silent or visible login based on login status\n * @param {string} appName - unique name for application route (will be used to clear an session storage for another route)\n * @param {boolean} noMainRedirect - avoid the initial main window redirect that happens in scenarios where it is OK to transition\n * away from the main page\n * @param {boolean} deferLogin - defer logging in (if not already authenticated)\n */\nexport const loginIfNecessary = (appName, noMainRedirect=false, deferLogin=false) => {\n // If no initial redirect status of page changed...clearAuthMgr\n const currNoMainRedirect = authNoRedirect();\n const currAppName = sessionStorage.getItem(\"rsdk_appName\");\n if( appName !== currAppName || noMainRedirect !== currNoMainRedirect) {\n clearAuthMgr();\n sessionStorage.setItem(\"rsdk_appName\", appName);\n }\n setNoInitialRedirect(noMainRedirect);\n // If custom auth no need to do any OAuth logic\n if( gbCustomAuth ) {\n if( !window.PCore ) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n constellationInit( null, null, null, authCustomReauth );\n }\n return;\n }\n\n if( window.location.href.indexOf(\"?code\") !== -1 ) {\n // initialize authMgr\n initOAuth(false);\n return getAuthMgr(false).then(() => {\n authRedirectCallback(window.location.href, ()=> {\n window.location.href = window.location.pathname;\n });\n });\n }\n if( !deferLogin && (!gbLoginInProgress || isLoginExpired()) ) {\n initOAuth(false);\n return getAuthMgr(false).then(() => {\n updateLoginStatus();\n if( gbLoggedIn ) {\n fireTokenAvailable(getCurrentTokens());\n // getUserInfo();\n } else {\n return login();\n }\n });\n }\n};\n\nexport const getHomeUrl = () => {\n return `${window.location.origin}/`;\n};\n\n\nexport const authIsMainRedirect = () => {\n // Even with main redirect, we want to use it only for the first login (so it doesn't wipe out any state or the reload)\n return !authNoRedirect() && !usePopupForRestOfSession;\n};\n\n// Passive update where just session storage is updated so can be used on a window refresh\nexport const authTokenUpdated = (tokenInfo ) => {\n sessionStorage.setItem(\"rsdk_TI\", JSON.stringify(tokenInfo));\n};\n\nexport const logout = () => {\n return new Promise((resolve) => {\n const fnClearAndResolve = () => {\n clearAuthMgr();\n\n const event = new Event('SdkLoggedOut');\n document.dispatchEvent(event);\n\n resolve();\n };\n if( gbCustomAuth ) {\n sessionStorage.removeItem(\"rsdk_AH\");\n fnClearAndResolve();\n return;\n }\n const tokenInfo = getCurrentTokens();\n if( tokenInfo && tokenInfo.access_token ) {\n if( window.PCore ) {\n window.PCore.getAuthUtils().revokeTokens().then(() => {\n fnClearAndResolve();\n }).catch(err => {\n // eslint-disable-next-line no-console\n console.log(\"Error:\",err?.message);\n });\n } else {\n getAuthMgr(false).then( (aMgr) => {\n aMgr.revokeTokens(tokenInfo.access_token, tokenInfo.refresh_token)\n .then(() => {\n // Go to finally\n })\n .finally(() => {\n fnClearAndResolve();\n });\n });\n }\n } else {\n fnClearAndResolve();\n }\n });\n};\n\n// Callback routine for custom event to ask for updated tokens\nexport const authUpdateTokens = (token) => {\n processTokenOnLogin( token );\n};\n\n\n// Initiate a full OAuth re-authorization (any refresh token has also expired).\nexport const authFullReauth = () => {\n const bHandleHere = true; // Other alternative is to raise an event and have someone else handle it\n\n if( bHandleHere ) {\n // Don't want to do a full clear of authMgr as will loose sessionIndex. Rather just clear the tokens\n clearAuthMgr(true);\n login(true);\n } else {\n // Fire the SdkFullReauth event to indicate a new token is needed (PCore.getAuthUtils.setTokens method\n // should be used to communicate the new token to Constellation JS Engine.\n const event = new CustomEvent('SdkFullReauth', { detail: authUpdateTokens });\n document.dispatchEvent(event);\n }\n};\n\n// Set the custom authorization header for the SDK (and Constellation JS Engine) to\n// utilize for every DX API request\nexport const sdkSetAuthHeader = (authHeader) => {\n // set this within session storage so it survives a browser reload\n if( authHeader ) {\n sessionStorage.setItem(\"rsdk_AH\", authHeader);\n // setAuthorizationHeader method not available til 8.8 so do safety check\n if( window.PCore?.getAuthUtils().setAuthorizationHeader ) {\n window.PCore.getAuthUtils().setAuthorizationHeader(authHeader);\n }\n } else {\n sessionStorage.removeItem(\"rsdk_AH\");\n }\n gbCustomAuth = true;\n};\n\n// Initiate a custom re-authorization.\nexport const authCustomReauth = () => {\n // Fire the SdkCustomReauth event to indicate a new authHeader is needed. Event listener should invoke sdkSetAuthHeader\n // to communicate the new token to sdk (and Constellation JS Engine)\n const event = new CustomEvent('SdkCustomReauth', { detail: sdkSetAuthHeader });\n document.dispatchEvent(event);\n};\n"]}
|
|
1
|
+
{"version":3,"file":"authManager.js","sourceRoot":"","sources":["../../../src/components/helpers/authManager.js"],"names":[],"mappings":"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","sourcesContent":["// This file wraps various calls related to logging in, logging out, etc.\n// that use the auth.html/auth.js to do the work of logging in via OAuth 2.0.\n\nimport { getSdkConfig, SdkConfigAccess } from './config_access';\nimport PegaAuth from './auth';\n\n// eslint-disable-next-line import/no-mutable-exports\nexport let gbLoggedIn = sessionStorage.getItem('rsdk_AH') !== null;\n// eslint-disable-next-line import/no-mutable-exports\nexport let gbLoginInProgress = sessionStorage.getItem(\"rsdk_loggingIn\") !== null;\n// other sessionStorage items: rsdk_appName\n\n// will store the PegaAuth instance\nlet authMgr = null;\n// Since this variable is loaded in a separate instance in the popup scenario, use storage to coordinate across the two\nlet usePopupForRestOfSession = sessionStorage.getItem(\"rsdk_popup\") === \"1\";\nlet gbC11NBootstrapInProgress = false;\n// Some non Pega OAuth 2.0 Authentication in use (Basic or Custom for service package)\nlet gbCustomAuth = false;\n\n/*\n * Set to use popup experience for rest of session\n */\nconst forcePopupForReauths = ( bForce ) => {\n if( bForce ) {\n sessionStorage.setItem(\"rsdk_popup\", \"1\");\n usePopupForRestOfSession = true;\n } else {\n sessionStorage.removeItem(\"rsdk_popup\");\n usePopupForRestOfSession = false;\n }\n};\n\nconst setNoInitialRedirect = (bNoInitialRedirect ) => {\n if( bNoInitialRedirect ) {\n forcePopupForReauths(true);\n sessionStorage.setItem(\"rsdk_noRedirect\", \"1\");\n } else {\n sessionStorage.removeItem(\"rsdk_noRedirect\");\n }\n};\n\nconst isLoginExpired = () => {\n let bExpired = true;\n const sLoginStart = sessionStorage.getItem(\"rsdk_loggingIn\");\n if( sLoginStart !== null ) {\n const currTime = Date.now();\n bExpired = currTime - parseInt(sLoginStart, 10) > 60000;\n }\n return bExpired;\n};\n\n/**\n * Clean up any web storage allocated for the user session.\n */\nconst clearAuthMgr = (bFullReauth=false) => {\n // Remove any local storage for the user\n if( !gbCustomAuth ) {\n sessionStorage.removeItem('rsdk_AH');\n }\n if( !bFullReauth ) {\n sessionStorage.removeItem(\"rsdk_CI\");\n }\n sessionStorage.removeItem(\"rsdk_TI\");\n sessionStorage.removeItem(\"rsdk_UI\");\n sessionStorage.removeItem(\"rsdk_loggingIn\");\n gbLoggedIn = false;\n gbLoginInProgress = false;\n forcePopupForReauths(bFullReauth);\n // Not removing the authMgr structure itself...as it can be leveraged on next login\n};\n\nexport const authNoRedirect = () => {\n return sessionStorage.getItem(\"rsdk_noRedirect\") === \"1\";\n};\n\n/**\n * Initialize OAuth config structure members and create authMgr instance\n * bInit - governs whether to create new sessionStorage or load existing one\n */\nconst initOAuth = (bInit) => {\n return getSdkConfig().then( sdkConfig => {\n const sdkConfigAuth = sdkConfig.authConfig;\n const sdkConfigServer = sdkConfig.serverConfig;\n let pegaUrl = sdkConfigServer.infinityRestServerUrl;\n const bNoInitialRedirect = authNoRedirect();\n\n // Construct default OAuth endpoints (if not explicitly specified)\n if (pegaUrl) {\n // Cope with trailing slash being present\n if (!pegaUrl.endsWith('/')) {\n pegaUrl += '/';\n }\n if (!sdkConfigAuth.authorize) {\n sdkConfigAuth.authorize = `${pegaUrl}PRRestService/oauth2/v1/authorize`;\n }\n if (!sdkConfigAuth.token) {\n sdkConfigAuth.token = `${pegaUrl}PRRestService/oauth2/v1/token`;\n }\n if (!sdkConfigAuth.revoke) {\n sdkConfigAuth.revoke = `${pegaUrl}PRRestService/oauth2/v1/revoke`;\n }\n if( !sdkConfigAuth.redirectUri ) {\n sdkConfigAuth.redirectUri = `${window.location.origin}${window.location.pathname}`;\n }\n if (!sdkConfigAuth.userinfo) {\n const appAliasSeg = sdkConfigServer.appAlias ? `app/${sdkConfigServer.appAlias}/` : '';\n sdkConfigAuth.userinfo = `${pegaUrl}${appAliasSeg}api/oauthclients/v1/userinfo/JSON`;\n }\n }\n // Auth service alias\n if( !sdkConfigAuth.authService) {\n sdkConfigAuth.authService = \"pega\";\n }\n\n // Construct path to auth.html (used for case when not doing a main window redirect)\n let sNoMainRedirectUri=sdkConfigAuth.redirectUri;\n const nLastPathSep = sNoMainRedirectUri.lastIndexOf(\"/\");\n sNoMainRedirectUri = nLastPathSep !== -1 ? `${sNoMainRedirectUri.substring(0,nLastPathSep+1)}auth.html` : `${sNoMainRedirectUri}/auth.html`;\n\n const authConfig = {\n clientId: bNoInitialRedirect ? sdkConfigAuth.mashupClientId : sdkConfigAuth.portalClientId,\n authorizeUri: sdkConfigAuth.authorize,\n tokenUri: sdkConfigAuth.token,\n revokeUri: sdkConfigAuth.revoke,\n userinfoUri: sdkConfigAuth.userinfo,\n redirectUri: bNoInitialRedirect || usePopupForRestOfSession\n ? sNoMainRedirectUri\n : sdkConfigAuth.redirectUri,\n authService: sdkConfigAuth.authService,\n appAlias: sdkConfigServer.appAlias || '',\n useLocking: true\n };\n // If no clientId is specified assume not OAuth but custom auth\n if( !authConfig.clientId ) {\n gbCustomAuth = true;\n return;\n }\n if( 'silentTimeout' in sdkConfigAuth ) {\n authConfig.silentTimeout = sdkConfigAuth.silentTimeout;\n }\n if( bNoInitialRedirect ) {\n authConfig.userIdentifier = sdkConfigAuth.mashupUserIdentifier;\n authConfig.password = sdkConfigAuth.mashupPassword;\n }\n if( 'iframeLoginUI' in sdkConfigAuth ){\n authConfig.iframeLoginUI = sdkConfigAuth.iframeLoginUI.toString().toLowerCase() === 'true';\n }\n\n // Check if sessionStorage exists (and if so if for same authorize endpoint). Otherwise, assume\n // sessionStorage is out of date (user just edited endpoints). Else, logout required to clear\n // sessionStorage and get other endpoints updates.\n // Doing this as sessionIndex might have been added to this storage structure\n let sSI = sessionStorage.getItem(\"rsdk_CI\");\n if( sSI ) {\n try {\n const oSI = JSON.parse(sSI);\n if( oSI.authorizeUri !== authConfig.authorizeUri ||\n oSI.appAlias !== authConfig.appAlias ||\n oSI.clientId !== authConfig.clientId ||\n oSI.userIdentifier !== authConfig.userIdentifier ||\n oSI.password !== authConfig.password) {\n clearAuthMgr();\n sSI = null;\n }\n } catch(e) {\n // do nothing\n }\n }\n\n if( !sSI || bInit ) {\n sessionStorage.setItem('rsdk_CI', JSON.stringify(authConfig));\n }\n authMgr = new PegaAuth('rsdk_CI');\n });\n};\n\nconst getAuthMgr = ( bInit ) => {\n return new Promise( (resolve) => {\n let idNextCheck = null;\n const fnCheckForAuthMgr = () => {\n if( PegaAuth && !authMgr ) {\n initOAuth( bInit );\n }\n if(authMgr) {\n if( idNextCheck ) {\n clearInterval(idNextCheck);\n }\n return resolve(authMgr);\n }\n }\n fnCheckForAuthMgr();\n idNextCheck = setInterval(fnCheckForAuthMgr, 10);\n });\n};\n\nexport const sdkGetAuthHeader = () => {\n return sessionStorage.getItem(\"rsdk_AH\");\n};\n\n/**\n * Initiate the process to get the Constellation bootstrap shell loaded and initialized\n * @param {Object} authConfig\n * @param {Object} tokenInfo\n * @param {Function} authTokenUpdated - callback invoked when Constellation JS Engine silently updates\n * an expired access_token\n * @param {Function} fnReauth - callback invoked when a full or custom reauth is needed\n */\nconst constellationInit = (authConfig, tokenInfo, authTokenUpdated, fnReauth) => {\n const constellationBootConfig = {};\n const sdkConfigServer = SdkConfigAccess.getSdkConfigServer();\n\n // Set up constellationConfig with data that bootstrapWithAuthHeader expects\n constellationBootConfig.customRendering = true;\n constellationBootConfig.restServerUrl = sdkConfigServer.infinityRestServerUrl;\n // NOTE: Needs a trailing slash! So add one if not provided\n if( !sdkConfigServer.sdkContentServerUrl.endsWith('/') ) {\n sdkConfigServer.sdkContentServerUrl = `${sdkConfigServer.sdkContentServerUrl}/`;\n }\n constellationBootConfig.staticContentServerUrl = `${sdkConfigServer.sdkContentServerUrl}constellation/`;\n if( !constellationBootConfig.staticContentServerUrl.endsWith('/') ) {\n constellationBootConfig.staticContentServerUrl = `${constellationBootConfig.staticContentServerUrl}/`;\n }\n // If appAlias specified, use it\n if( sdkConfigServer.appAlias ) {\n constellationBootConfig.appAlias = sdkConfigServer.appAlias;\n }\n\n if( tokenInfo ) {\n // Pass in auth info to Constellation\n constellationBootConfig.authInfo = {\n authType: \"OAuth2.0\",\n tokenInfo,\n // Set whether we want constellation to try to do a full re-Auth or not ()\n // true doesn't seem to be working in SDK scenario so always passing false for now\n popupReauth: false /* !authNoRedirect() */,\n client_id: authConfig.clientId,\n authentication_service: authConfig.authService,\n redirect_uri: authConfig.redirectUri,\n endPoints: {\n authorize: authConfig.authorizeUri,\n token: authConfig.tokenUri,\n revoke: authConfig.revokeUri\n },\n // TODO: setup callback so we can update own storage\n onTokenRetrieval: authTokenUpdated\n }\n } else {\n constellationBootConfig.authorizationHeader = sdkGetAuthHeader();\n }\n\n\n // Turn off dynamic load components (should be able to do it here instead of after load?)\n constellationBootConfig.dynamicLoadComponents = false;\n\n if( gbC11NBootstrapInProgress ) {\n return;\n } else {\n gbC11NBootstrapInProgress = true;\n }\n\n // Note that staticContentServerUrl already ends with a slash (see above), so no slash added.\n // In order to have this import succeed and to have it done with the webpackIgnore magic comment tag.\n // See: https://webpack.js.org/api/module-methods/\n import(/* webpackIgnore: true */ `${constellationBootConfig.staticContentServerUrl}bootstrap-shell.js`).then((bootstrapShell) => {\n // NOTE: once this callback is done, we lose the ability to access loadMashup.\n // So, create a reference to it\n window.myLoadMashup = bootstrapShell.loadMashup;\n window.myLoadPortal = bootstrapShell.loadPortal;\n window.myLoadDefaultPortal = bootstrapShell.loadDefaultPortal;\n\n bootstrapShell.bootstrapWithAuthHeader(constellationBootConfig, 'shell').then(() => {\n // eslint-disable-next-line no-console\n console.log('Bootstrap successful!');\n gbC11NBootstrapInProgress = false;\n\n // Setup listener for the reauth event\n if( tokenInfo ) {\n // eslint-disable-next-line no-undef\n PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.EVENT_FULL_REAUTH, fnReauth, \"authFullReauth\");\n } else {\n // customReauth event introduced with 8.8\n // eslint-disable-next-line no-undef\n const sEvent = PCore.getConstants().PUB_SUB_EVENTS.EVENT_CUSTOM_REAUTH;\n if( sEvent ) {\n // eslint-disable-next-line no-undef\n PCore.getPubSubUtils().subscribe(sEvent, fnReauth, \"doReauth\");\n }\n }\n\n // Fire SdkConstellationReady event so bridge and app route can do expected post PCore initializations\n const event = new CustomEvent('SdkConstellationReady', {});\n document.dispatchEvent(event);\n })\n .catch( e => {\n // Assume error caught is because token is not valid and attempt a full reauth\n // eslint-disable-next-line no-console\n console.error(`Constellation JS Engine bootstrap failed. ${e}`);\n gbC11NBootstrapInProgress = false;\n fnReauth();\n })\n });\n /* Ends here */\n};\n\nexport const updateLoginStatus = () => {\n const sAuthHdr = sdkGetAuthHeader();\n gbLoggedIn = sAuthHdr && sAuthHdr.length > 0;\n};\n\nconst getCurrentTokens = () => {\n let tokens = null;\n const sTI = sessionStorage.getItem('rsdk_TI');\n if(sTI) {\n try {\n tokens = JSON.parse(sTI);\n } catch(e) {\n tokens = null;\n }\n }\n return tokens;\n};\n\nconst fireTokenAvailable = (token, bLoadC11N=true) => {\n if( !token ) {\n // This is used on page reload to load the token from sessionStorage and carry on\n token = getCurrentTokens();\n if( !token ) {\n return;\n }\n }\n\n sessionStorage.setItem('rsdk_AH', `${token.token_type} ${token.access_token}`);\n updateLoginStatus();\n\n // gbLoggedIn is getting updated in updateLoginStatus\n gbLoggedIn = true;\n gbLoginInProgress = false;\n sessionStorage.removeItem(\"rsdk_loggingIn\");\n forcePopupForReauths(true);\n\n const sSI = sessionStorage.getItem(\"rsdk_CI\");\n let authConfig = null;\n if( sSI ) {\n try {\n authConfig = JSON.parse(sSI);\n } catch(e) {\n // do nothing\n }\n }\n\n if( !window.PCore && bLoadC11N ) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n constellationInit( authConfig, token, authTokenUpdated, authFullReauth );\n }\n\n/*\n // Create and dispatch the SdkLoggedIn event to trigger constellationInit\n const event = new CustomEvent('SdkLoggedIn', { detail: { authConfig, tokenInfo: token } });\n document.dispatchEvent(event);\n */\n};\n\nconst processTokenOnLogin = ( token, bLoadC11N=true ) => {\n sessionStorage.setItem(\"rsdk_TI\", JSON.stringify(token));\n if( window.PCore ) {\n window.PCore.getAuthUtils().setTokens(token);\n } else {\n fireTokenAvailable(token, bLoadC11N);\n }\n};\n\nconst updateRedirectUri = (aMgr, sRedirectUri) => {\n const sSI = sessionStorage.getItem(\"rsdk_CI\");\n let authConfig = null;\n if( sSI ) {\n try {\n authConfig = JSON.parse(sSI);\n } catch(e) {\n // do nothing\n }\n }\n authConfig.redirectUri = sRedirectUri;\n sessionStorage.setItem(\"rsdk_CI\", JSON.stringify(authConfig));\n aMgr.reloadConfig();\n};\n\n\n// TODO: Cope with 401 and refresh token if possible (or just hope that it succeeds during login)\n/**\n * Retrieve UserInfo for current authentication service\n */\n export const getUserInfo = (bUseSS=true) => {\n const ssUserInfo = sessionStorage.getItem(\"rsdk_UI\");\n let userInfo = null;\n if( bUseSS && ssUserInfo ) {\n try {\n userInfo = JSON.parse(ssUserInfo);\n return Promise.resolve(userInfo);\n } catch(e) {\n // do nothing\n }\n }\n getAuthMgr(false).then( (aMgr) => {\n const tokenInfo = getCurrentTokens();\n return aMgr.getUserinfo(tokenInfo.access_token).then( data => {\n userInfo = data;\n if( userInfo ) {\n sessionStorage.setItem(\"rsdk_UI\", JSON.stringify(userInfo));\n } else {\n sessionStorage.removeItem(\"rsdk_UI\");\n }\n return Promise.resolve(userInfo);\n });\n });\n\n};\n\nexport const login = (bFullReauth=false) => {\n\n if( gbCustomAuth ) return;\n\n gbLoginInProgress = true;\n // Needed so a redirect to login screen and back will know we are still in process of logging in\n sessionStorage.setItem(\"rsdk_loggingIn\", `${Date.now()}`);\n\n getAuthMgr(!bFullReauth).then( (aMgr) => {\n const bMainRedirect = !authNoRedirect();\n const sdkConfigAuth = SdkConfigAccess.getSdkConfigAuth();\n let sRedirectUri=sdkConfigAuth.redirectUri;\n\n // If initial main redirect is OK, redirect to main page, otherwise will authorize in a popup window\n if (bMainRedirect && !bFullReauth) {\n // update redirect uri to be the root\n updateRedirectUri(aMgr, sRedirectUri);\n aMgr.loginRedirect();\n // Don't have token til after the redirect\n return Promise.resolve(undefined);\n } else {\n // Construct path to redirect uri\n const nLastPathSep = sRedirectUri.lastIndexOf(\"/\");\n sRedirectUri = nLastPathSep !== -1 ? `${sRedirectUri.substring(0,nLastPathSep+1)}auth.html` : `${sRedirectUri}/auth.html`;\n // Set redirectUri to static auth.html\n updateRedirectUri(aMgr, sRedirectUri);\n return new Promise( (resolve, reject) => {\n aMgr.login().then(token => {\n processTokenOnLogin(token);\n // getUserInfo();\n resolve(token.access_token);\n }).catch( (e) => {\n gbLoginInProgress = false;\n sessionStorage.removeItem(\"rsdk_loggingIn\");\n // eslint-disable-next-line no-console\n console.log(e);\n reject(e);\n });\n });\n }\n });\n\n};\n\nexport const authRedirectCallback = ( href, fnLoggedInCB=null ) => {\n // Get code from href and swap for token\n const aHrefParts = href.split('?');\n const urlParams = new URLSearchParams(aHrefParts.length>1 ? `?${aHrefParts[1]}` : '');\n const code = urlParams.get(\"code\");\n\n getAuthMgr(false).then( (aMgr) => {\n aMgr.getToken(code).then(token => {\n if( token && token.access_token ) {\n processTokenOnLogin(token, false);\n // getUserInfo();\n if( fnLoggedInCB ) {\n fnLoggedInCB( token.access_token );\n }\n }\n });\n });\n};\n\n/**\n * Silent or visible login based on login status\n * @param {string} appName - unique name for application route (will be used to clear an session storage for another route)\n * @param {boolean} noMainRedirect - avoid the initial main window redirect that happens in scenarios where it is OK to transition\n * away from the main page\n * @param {boolean} deferLogin - defer logging in (if not already authenticated)\n */\nexport const loginIfNecessary = (appName, noMainRedirect=false, deferLogin=false) => {\n // If no initial redirect status of page changed...clearAuthMgr\n const currNoMainRedirect = authNoRedirect();\n const currAppName = sessionStorage.getItem(\"rsdk_appName\");\n if( appName !== currAppName || noMainRedirect !== currNoMainRedirect) {\n clearAuthMgr();\n sessionStorage.setItem(\"rsdk_appName\", appName);\n }\n setNoInitialRedirect(noMainRedirect);\n // If custom auth no need to do any OAuth logic\n if( gbCustomAuth ) {\n if( !window.PCore ) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n constellationInit( null, null, null, authCustomReauth );\n }\n return;\n }\n\n if( window.location.href.indexOf(\"?code\") !== -1 ) {\n // initialize authMgr\n initOAuth(false);\n return getAuthMgr(false).then(() => {\n authRedirectCallback(window.location.href, ()=> {\n window.location.href = window.location.pathname;\n });\n });\n }\n if( !deferLogin && (!gbLoginInProgress || isLoginExpired()) ) {\n initOAuth(false);\n return getAuthMgr(false).then(() => {\n updateLoginStatus();\n if( gbLoggedIn ) {\n fireTokenAvailable(getCurrentTokens());\n // getUserInfo();\n } else {\n return login();\n }\n });\n }\n};\n\nexport const getHomeUrl = () => {\n return `${window.location.origin}/`;\n};\n\n\nexport const authIsMainRedirect = () => {\n // Even with main redirect, we want to use it only for the first login (so it doesn't wipe out any state or the reload)\n return !authNoRedirect() && !usePopupForRestOfSession;\n};\n\n// Passive update where just session storage is updated so can be used on a window refresh\nexport const authTokenUpdated = (tokenInfo ) => {\n sessionStorage.setItem(\"rsdk_TI\", JSON.stringify(tokenInfo));\n};\n\nexport const logout = () => {\n sessionStorage.removeItem('rsdk_portalName');\n return new Promise((resolve) => {\n const fnClearAndResolve = () => {\n clearAuthMgr();\n\n const event = new Event('SdkLoggedOut');\n document.dispatchEvent(event);\n\n resolve();\n };\n if( gbCustomAuth ) {\n sessionStorage.removeItem(\"rsdk_AH\");\n fnClearAndResolve();\n return;\n }\n const tokenInfo = getCurrentTokens();\n if( tokenInfo && tokenInfo.access_token ) {\n if( window.PCore ) {\n window.PCore.getAuthUtils().revokeTokens().then(() => {\n fnClearAndResolve();\n }).catch(err => {\n // eslint-disable-next-line no-console\n console.log(\"Error:\",err?.message);\n });\n } else {\n getAuthMgr(false).then( (aMgr) => {\n aMgr.revokeTokens(tokenInfo.access_token, tokenInfo.refresh_token)\n .then(() => {\n // Go to finally\n })\n .finally(() => {\n fnClearAndResolve();\n });\n });\n }\n } else {\n fnClearAndResolve();\n }\n });\n};\n\n// Callback routine for custom event to ask for updated tokens\nexport const authUpdateTokens = (token) => {\n processTokenOnLogin( token );\n};\n\n\n// Initiate a full OAuth re-authorization (any refresh token has also expired).\nexport const authFullReauth = () => {\n const bHandleHere = true; // Other alternative is to raise an event and have someone else handle it\n\n if( bHandleHere ) {\n // Don't want to do a full clear of authMgr as will loose sessionIndex. Rather just clear the tokens\n clearAuthMgr(true);\n login(true);\n } else {\n // Fire the SdkFullReauth event to indicate a new token is needed (PCore.getAuthUtils.setTokens method\n // should be used to communicate the new token to Constellation JS Engine.\n const event = new CustomEvent('SdkFullReauth', { detail: authUpdateTokens });\n document.dispatchEvent(event);\n }\n};\n\n// Set the custom authorization header for the SDK (and Constellation JS Engine) to\n// utilize for every DX API request\nexport const sdkSetAuthHeader = (authHeader) => {\n // set this within session storage so it survives a browser reload\n if( authHeader ) {\n sessionStorage.setItem(\"rsdk_AH\", authHeader);\n // setAuthorizationHeader method not available til 8.8 so do safety check\n if( window.PCore?.getAuthUtils().setAuthorizationHeader ) {\n window.PCore.getAuthUtils().setAuthorizationHeader(authHeader);\n }\n } else {\n sessionStorage.removeItem(\"rsdk_AH\");\n }\n gbCustomAuth = true;\n};\n\n// Initiate a custom re-authorization.\nexport const authCustomReauth = () => {\n // Fire the SdkCustomReauth event to indicate a new authHeader is needed. Event listener should invoke sdkSetAuthHeader\n // to communicate the new token to sdk (and Constellation JS Engine)\n const event = new CustomEvent('SdkCustomReauth', { detail: sdkSetAuthHeader });\n document.dispatchEvent(event);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-utils.js","sourceRoot":"","sources":["../../../src/components/helpers/event-utils.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"event-utils.js","sourceRoot":"","sources":["../../../src/components/helpers/event-utils.js"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAC1D,QAAQ,SAAS,EAAE;QACjB,KAAK,QAAQ;YACX,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,MAAM;YACT,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,aAAa;YAChB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM;QACR;YACE,MAAM;KACT;AACH,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["// From DX Components src/utils/event-utils.js\n\nconst handleEvent = (actions, eventType, propName, value) => {\n switch (eventType) {\n case \"change\":\n actions.updateFieldValue(propName, value);\n break;\n case \"blur\":\n actions.triggerFieldChange(propName, value);\n break;\n case \"changeNblur\":\n actions.updateFieldValue(propName, value);\n actions.triggerFieldChange(propName, value);\n break;\n default:\n break;\n }\n};\n\nexport default handleEvent;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":";AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AAgDnC,iBAAwB,aAAa,CAAC,KAAK,KAAA,
|
|
1
|
+
{"version":3,"file":"FlowContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":";AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AAgDnC,iBAAwB,aAAa,CAAC,KAAK,KAAA,eAmb1C;kBAnbuB,aAAa;;;;;;;;;;;;;;;;;;eAAb,aAAa"}
|
|
@@ -203,7 +203,7 @@ export default function FlowContainer(props) {
|
|
|
203
203
|
}
|
|
204
204
|
return activeActionLabel;
|
|
205
205
|
}
|
|
206
|
-
// From WC
|
|
206
|
+
// From SDK-WC updateSelf - so do this in useEffect that's run only when the props change...
|
|
207
207
|
useEffect(() => {
|
|
208
208
|
const localPConn = arNewChildren[0].getPConnect();
|
|
209
209
|
setBuildName(getBuildName());
|
|
@@ -286,7 +286,7 @@ export default function FlowContainer(props) {
|
|
|
286
286
|
const theNewChildren = [];
|
|
287
287
|
theNewChildren.push(configObject);
|
|
288
288
|
setArNewChildren(theNewChildren);
|
|
289
|
-
// JEA - adapted from
|
|
289
|
+
// JEA - adapted from Constellation DX Components FlowContainer since we want to render children that are React components
|
|
290
290
|
const root = createElement(createPConnectComponent(), configObject);
|
|
291
291
|
setArNewChildrenAsReact([root]);
|
|
292
292
|
const oWorkItem = configObject.getPConnect(); // was theNewChildren[0].getPConnect()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable camelcase */\nimport React, { useState, useEffect, useContext, createElement } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Card, CardHeader, Avatar, Typography } from \"@material-ui/core\";\nimport { Utils } from '../../../helpers/utils';\nimport { Alert } from '@material-ui/lab';\n\nimport Assignment from '../../Assignment';\nimport ToDo from \"../../../widget/ToDo\";\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport StoreContext from \"../../../../bridge/Context/StoreContext\";\nimport DayjsUtils from \"@date-io/dayjs\";\nimport { MuiPickersUtilsProvider } from \"@material-ui/pickers\";\n\nimport { addContainerItem, getToDoAssignments } from './helpers';\n\ndeclare const PCore;\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingRight: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingTop: theme.spacing(1.5),\n paddingBottom: theme.spacing(1.5),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n alert: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n }\n}));\n\n\n\nexport default function FlowContainer(props) {\n const pCoreConstants = PCore.getConstants();\n const { TODO } = pCoreConstants;\n const todo_headerText = \"To do\";\n\n const { getPConnect, routingInfo } = props;\n\n const {displayOnlyFA} = useContext(StoreContext);\n\n const thePConn = getPConnect();\n\n // const [init, setInit] = useState(true);\n // const [fcState, setFCState] = useState({ hasError: false });\n const [arNewChildren, setArNewChildren] = useState<Array<any>>(thePConn.getChildren());\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<Array<any>>([]);\n\n const [todo_showTodo, setShowTodo] = useState(false);\n const [todo_caseInfoID, setCaseInfoID] = useState(\"\");\n const [todo_showTodoList, setShowTodoList] = useState(false);\n const [todo_datasource, setTodoDatasource] = useState({});\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [todo_context, setTodoContext] = useState(\"\");\n\n\n const [caseMessages, setCaseMessages] = useState(\"\");\n const [bHasCaseMessages, setHasCaseMessages] = useState(false);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [checkSvg, setCheckSvg] = useState(\"\");\n\n\n const [itemKey, setItemKey] = useState(\"\");\n const [containerName, setContainerName] = useState(\"\");\n const [buildName, setBuildName] = useState(\"\");\n\n const classes = useStyles();\n\n function initContainer() {\n\n const ourPConn = getPConnect();\n const containerMgr = ourPConn.getContainerManager();\n const baseContext = ourPConn.getContextName();\n const theContainerName = ourPConn.getContainerName();\n const containerType = \"single\";\n\n const flowContainerTarget = `${baseContext}/${theContainerName}`;\n const isContainerItemAvailable = PCore.getContainerUtils().getActiveContainerItemName(\n flowContainerTarget\n );\n\n window.sessionStorage.setItem(\"okToInitFlowContainer\", \"false\");\n\n if (!isContainerItemAvailable) {\n containerMgr.initializeContainers({\n type: containerType\n });\n\n // updated for 8.7 - 30-Mar-2022\n addContainerItem(ourPConn);\n }\n }\n\n\n function getBuildName(): string {\n const ourPConn = getPConnect();\n\n // let { getPConnect, name } = this.pConn$.pConn;\n const context = ourPConn.getContextName();\n let viewContainerName = ourPConn.getContainerName();\n\n if (!viewContainerName) viewContainerName = \"\";\n return `${context.toUpperCase()}/${viewContainerName.toUpperCase()}`;\n }\n\n\n function getTodoVisibility() {\n const caseViewMode = getPConnect().getValue(\"context_data.caseViewMode\");\n if (caseViewMode && caseViewMode === \"review\") {\n return true;\n }\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (caseViewMode && caseViewMode === \"perform\") {\n return false;\n }\n\n return true;\n }\n\n\n function initComponent(bLoadChildren: boolean) {\n\n const ourPConn = getPConnect();\n\n // when true, update arChildren from pConn, otherwise, arChilren will be updated in updateSelf()\n if (bLoadChildren) {\n setArNewChildren(ourPConn.getChildren());\n }\n\n // debugging/investigation help\n // console.log(`${ourPConn.getComponentName()}: children update for main draw`);\n\n // const oData = ourPConn.getDataObject();\n\n // const activeActionLabel = \"\";\n // const child0_getPConnect = arNewChildren[0].getPConnect();\n\n // this.templateName$ = this.configProps$[\"template\"];\n\n // debugger;\n setShowTodo(getTodoVisibility());\n\n // create pointers to functions\n // const containerMgr = ourPConn.getContainerManager();\n // const actionsAPI = thePConn.getActionsApi();\n const baseContext = ourPConn.getContextName();\n const acName = ourPConn.getContainerName();\n\n // for now, in general this should be overridden by updateSelf(), and not be blank\n if (itemKey === \"\") {\n // debugger;\n setItemKey(baseContext.concat(\"/\").concat(acName));\n }\n\n\n ourPConn.isBoundToState();\n\n\n // inside\n // get fist kid, get the name and displa\n // pass first kid to a view container, which will disperse it to a view which will use one column, two column, etc.\n const oWorkItem = arNewChildren[0].getPConnect(); // child0_getPConnect;\n const oWorkData = oWorkItem.getDataObject();\n\n if (bLoadChildren && oWorkData) {\n // debugger;\n setContainerName(oWorkData.caseInfo.assignments[0].name);\n }\n\n // debugger;\n setBuildName(getBuildName());\n\n }\n\n\n useEffect(() => {\n // from WC SDK connectedCallback (mount)\n initComponent(true);\n initContainer();\n }, []);\n\n\n function isCaseWideLocalAction() {\n const ourPConn = getPConnect();\n\n const actionID = ourPConn.getValue(pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID);\n const caseActions = ourPConn.getValue(pCoreConstants.CASE_INFO.AVAILABLEACTIONS);\n let bCaseWideAction = false;\n if (caseActions && actionID) {\n const actionObj = caseActions.find(\n (caseAction) => caseAction.ID === actionID\n );\n if (actionObj) {\n bCaseWideAction = actionObj.type === \"Case\";\n }\n }\n return bCaseWideAction;\n }\n\n\n function hasChildCaseAssignments() {\n const ourPConn = getPConnect();\n\n const childCases = ourPConn.getValue(pCoreConstants.CASE_INFO.CHILD_ASSIGNMENTS);\n // const allAssignments = [];\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (childCases && childCases.length > 0) {\n return true;\n }\n return false;\n }\n\n\n function hasAssignments() {\n const ourPConn = getPConnect();\n\n let bHasAssignments = false;\n const assignmentsList: Array<any> = ourPConn.getValue(pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS);\n const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();\n // 8.7 includes assignments in Assignments List that may be assigned to\n // a different operator. So, see if there are any assignments for\n // the current operator\n let bAssignmentsForThisOperator = false;\n\n // Bail out if there isn't an assignmentsList\n if (!assignmentsList) {\n return bHasAssignments;\n }\n\n for (const assignment of assignmentsList) {\n if (assignment[\"assigneeInfo\"][\"ID\"] === thisOperator) {\n bAssignmentsForThisOperator = true;\n }\n }\n\n const bHasChildCaseAssignments = hasChildCaseAssignments();\n\n if (\n bAssignmentsForThisOperator ||\n bHasChildCaseAssignments ||\n isCaseWideLocalAction()\n ) {\n bHasAssignments = true;\n }\n\n return bHasAssignments;\n }\n\n\n\n function getActiveViewLabel() {\n const ourPConn = getPConnect();\n\n let activeActionLabel = \"\";\n\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n\n const caseActions = ourPConn.getValue(CASE_CONSTS.CASE_INFO_ACTIONS);\n const activeActionID = ourPConn.getValue(CASE_CONSTS.ACTIVE_ACTION_ID);\n const activeAction = caseActions.find(\n (action) => action.ID === activeActionID\n );\n if (activeAction) {\n activeActionLabel = activeAction.name;\n }\n return activeActionLabel;\n }\n\n\n // From WC SDK updateSelf - so do this in useEffect that's run only when the props change...\n\n useEffect(() => {\n const localPConn = arNewChildren[0].getPConnect();\n\n setBuildName(getBuildName());\n\n // routingInfo was added as component prop in populateAdditionalProps\n // let routingInfo = this.getComponentProp(\"routingInfo\");\n\n let loadingInfo: any;\n try {\n loadingInfo = thePConn.getLoadingStatus();\n }\n catch (ex) {\n // eslint-disable-next-line no-console\n console.error(`${thePConn.getComponentName()}: loadingInfo catch block`);\n }\n\n // let configProps = this.thePConn.resolveConfigProps(this.thePConn.getConfigProps());\n\n if (!loadingInfo) {\n // turn off spinner\n // this.psService.sendMessage(false);\n }\n\n const caseViewMode = thePConn.getValue(\"context_data.caseViewMode\");\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n if (caseViewMode && caseViewMode === \"review\") {\n setTimeout(() => {\n // updated for 8.7 - 30-Mar-2022\n const todoAssignments = getToDoAssignments(thePConn);\n if (todoAssignments && todoAssignments.length > 0) {\n setCaseInfoID(thePConn.getValue(CASE_CONSTS.CASE_INFO_ID));\n setTodoDatasource({ source: todoAssignments });\n }\n setShowTodo(true);\n setShowTodoList(false);\n }, 100);\n\n // in React, when cancel is called, somehow the constructor for flowContainer is called which\n // does init/add of containers. This mimics that\n initContainer();\n }\n else if (caseViewMode && caseViewMode === \"perform\") {\n // perform\n // debugger;\n setShowTodo(false);\n\n // this is different than Angular SDK, as we need to initContainer if root container reloaded\n if (window.sessionStorage.getItem(\"okToInitFlowContainer\") === \"true\") {\n initContainer();\n }\n\n // this check in routingInfo, mimic React to check and get the internals of the\n // flowContainer and force updates to pConnect/redux\n if (routingInfo && loadingInfo !== undefined) {\n\n // debugging/investigation help\n // console.log(`${thePConn.getComponentName()}: >>routingInfo: ${JSON.stringify(routingInfo)}`);\n\n const currentOrder = routingInfo.accessedOrder;\n const currentItems = routingInfo.items;\n const type = routingInfo.type;\n if (currentOrder && currentItems) { // JA - making more similar to React version\n const key = currentOrder[currentOrder.length - 1];\n\n // save off itemKey to be used for finishAssignment, etc.\n // debugger;\n setItemKey(key);\n\n if (currentOrder.length > 0 &&\n currentItems[key] &&\n currentItems[key].view &&\n type === \"single\" &&\n !Utils.isEmptyObject(currentItems[key].view)) {\n const currentItem = currentItems[key];\n const rootView = currentItem.view;\n const { context } = rootView.config;\n const config = { meta: rootView };\n\n config[\"options\"] = {\n context: currentItem.context,\n pageReference: context || localPConn.getPageReference(),\n hasForm: true,\n isFlowContainer: true,\n containerName: localPConn.getContainerName(),\n containerItemName: key,\n parentPageReference: localPConn.getPageReference()\n };\n\n const configObject = PCore.createPConnect(config);\n\n // Since we're setting an array, need to add in an appropriate key\n // to remove React warning.\n configObject[\"key\"] = config[\"options\"].parentPageReference;\n\n // keep track of these changes\n const theNewChildren: Array<Object> = [];\n theNewChildren.push(configObject);\n setArNewChildren(theNewChildren);\n\n // JEA - adapted from Nebula FlowContainer since we want to render children that are React components\n const root = createElement(createPConnectComponent(), configObject);\n setArNewChildrenAsReact([root]);\n\n const oWorkItem = configObject.getPConnect(); // was theNewChildren[0].getPConnect()\n const oWorkData = oWorkItem.getDataObject();\n\n\n // check if have oWorkData, there are times due to timing of state change, when this\n // may not be available\n if (oWorkData) {\n setContainerName(getActiveViewLabel() || oWorkData.caseInfo.assignments[0].name);\n }\n }\n }\n\n }\n }\n\n // if have caseMessage show message and end\n const theCaseMessages = thePConn.getValue(\"caseMessages\");\n\n if (theCaseMessages || !hasAssignments()) {\n\n // Temp fix for 8.7 change: confirmationNote no longer coming through in caseMessages$.\n // So, if we get here and caseMessages$ is empty, use default value in DX API response\n setCaseMessages(theCaseMessages || \"Thank you! The next step in this case has been routed appropriately.\");\n setHasCaseMessages(true);\n\n\n // publish this \"assignmentFinished\" for mashup, need to get approved as a standard\n PCore.getPubSubUtils().publish(\n \"assignmentFinished\");\n\n\n // debugger;\n setCheckSvg(Utils.getImageSrc(\"check\", PCore.getAssetLoader().getStaticServerUrl()));\n }\n else {\n // debugger;\n setHasCaseMessages(false);\n }\n }, [props]);\n\n const caseId = thePConn.getCaseSummary().content.pyID;\n const urgency = getPConnect().getCaseSummary().assignments ? getPConnect().getCaseSummary().assignments[0].urgency : \"\";\n const operatorInitials = Utils.getInitials(PCore.getEnvironmentInfo().getOperatorName());\n let instructionText = thePConn.getCaseSummary()?.assignments?.[0]?.instructions;\n if (instructionText === undefined) {\n instructionText = \"\";\n }\n\n return (\n <div style={{ textAlign: \"left\" }} id={buildName} className=\"psdk-flow-container-top\">\n {!bHasCaseMessages ?\n (!todo_showTodo) ?\n (!displayOnlyFA) ?\n <Card className={classes.root}>\n <CardHeader\n title={<Typography variant=\"h6\">{containerName}</Typography>}\n subheader={`Task in ${caseId} \\u2022 Priority ${urgency}`}\n avatar={\n <Avatar className={classes.avatar}>\n {operatorInitials}\n </Avatar>\n }\n ></CardHeader>\n { instructionText !== '' ? <Typography variant=\"caption\">{instructionText}</Typography> : null }\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n :\n <Card className={classes.root}>\n <Typography variant=\"h6\">{containerName}</Typography>\n { instructionText !== '' ? <Typography variant=\"caption\">{instructionText}</Typography> : null }\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n :\n <div>\n <ToDo getPConnect={getPConnect} caseInfoID={todo_caseInfoID} datasource={todo_datasource}\n showTodoList={todo_showTodoList} headerText={todo_headerText} type={TODO}\n context={todo_context} itemKey={itemKey}></ToDo>\n </div>\n :\n <div className={classes.alert}>\n <Alert severity=\"success\">{caseMessages}</Alert>\n </div>\n }\n </div>\n )\n}\n\nFlowContainer.defaultProps = {\n children: null,\n getPConnect: null,\n name: \"\",\n routingInfo: null,\n pageMessages: null\n};\n\nFlowContainer.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n children: PropTypes.node,\n getPConnect: PropTypes.func,\n // eslint-disable-next-line react/no-unused-prop-types\n name: PropTypes.string,\n routingInfo: PropTypes.objectOf(PropTypes.any),\n // eslint-disable-next-line react/no-unused-prop-types\n pageMessages: PropTypes.arrayOf(PropTypes.any)\n};\n"]}
|
|
1
|
+
{"version":3,"file":"FlowContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable camelcase */\nimport React, { useState, useEffect, useContext, createElement } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Card, CardHeader, Avatar, Typography } from \"@material-ui/core\";\nimport { Utils } from '../../../helpers/utils';\nimport { Alert } from '@material-ui/lab';\n\nimport Assignment from '../../Assignment';\nimport ToDo from \"../../../widget/ToDo\";\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport StoreContext from \"../../../../bridge/Context/StoreContext\";\nimport DayjsUtils from \"@date-io/dayjs\";\nimport { MuiPickersUtilsProvider } from \"@material-ui/pickers\";\n\nimport { addContainerItem, getToDoAssignments } from './helpers';\n\ndeclare const PCore;\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingRight: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingTop: theme.spacing(1.5),\n paddingBottom: theme.spacing(1.5),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n alert: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n }\n}));\n\n\n\nexport default function FlowContainer(props) {\n const pCoreConstants = PCore.getConstants();\n const { TODO } = pCoreConstants;\n const todo_headerText = \"To do\";\n\n const { getPConnect, routingInfo } = props;\n\n const {displayOnlyFA} = useContext(StoreContext);\n\n const thePConn = getPConnect();\n\n // const [init, setInit] = useState(true);\n // const [fcState, setFCState] = useState({ hasError: false });\n const [arNewChildren, setArNewChildren] = useState<Array<any>>(thePConn.getChildren());\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<Array<any>>([]);\n\n const [todo_showTodo, setShowTodo] = useState(false);\n const [todo_caseInfoID, setCaseInfoID] = useState(\"\");\n const [todo_showTodoList, setShowTodoList] = useState(false);\n const [todo_datasource, setTodoDatasource] = useState({});\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [todo_context, setTodoContext] = useState(\"\");\n\n\n const [caseMessages, setCaseMessages] = useState(\"\");\n const [bHasCaseMessages, setHasCaseMessages] = useState(false);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [checkSvg, setCheckSvg] = useState(\"\");\n\n\n const [itemKey, setItemKey] = useState(\"\");\n const [containerName, setContainerName] = useState(\"\");\n const [buildName, setBuildName] = useState(\"\");\n\n const classes = useStyles();\n\n function initContainer() {\n\n const ourPConn = getPConnect();\n const containerMgr = ourPConn.getContainerManager();\n const baseContext = ourPConn.getContextName();\n const theContainerName = ourPConn.getContainerName();\n const containerType = \"single\";\n\n const flowContainerTarget = `${baseContext}/${theContainerName}`;\n const isContainerItemAvailable = PCore.getContainerUtils().getActiveContainerItemName(\n flowContainerTarget\n );\n\n window.sessionStorage.setItem(\"okToInitFlowContainer\", \"false\");\n\n if (!isContainerItemAvailable) {\n containerMgr.initializeContainers({\n type: containerType\n });\n\n // updated for 8.7 - 30-Mar-2022\n addContainerItem(ourPConn);\n }\n }\n\n\n function getBuildName(): string {\n const ourPConn = getPConnect();\n\n // let { getPConnect, name } = this.pConn$.pConn;\n const context = ourPConn.getContextName();\n let viewContainerName = ourPConn.getContainerName();\n\n if (!viewContainerName) viewContainerName = \"\";\n return `${context.toUpperCase()}/${viewContainerName.toUpperCase()}`;\n }\n\n\n function getTodoVisibility() {\n const caseViewMode = getPConnect().getValue(\"context_data.caseViewMode\");\n if (caseViewMode && caseViewMode === \"review\") {\n return true;\n }\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (caseViewMode && caseViewMode === \"perform\") {\n return false;\n }\n\n return true;\n }\n\n\n function initComponent(bLoadChildren: boolean) {\n\n const ourPConn = getPConnect();\n\n // when true, update arChildren from pConn, otherwise, arChilren will be updated in updateSelf()\n if (bLoadChildren) {\n setArNewChildren(ourPConn.getChildren());\n }\n\n // debugging/investigation help\n // console.log(`${ourPConn.getComponentName()}: children update for main draw`);\n\n // const oData = ourPConn.getDataObject();\n\n // const activeActionLabel = \"\";\n // const child0_getPConnect = arNewChildren[0].getPConnect();\n\n // this.templateName$ = this.configProps$[\"template\"];\n\n // debugger;\n setShowTodo(getTodoVisibility());\n\n // create pointers to functions\n // const containerMgr = ourPConn.getContainerManager();\n // const actionsAPI = thePConn.getActionsApi();\n const baseContext = ourPConn.getContextName();\n const acName = ourPConn.getContainerName();\n\n // for now, in general this should be overridden by updateSelf(), and not be blank\n if (itemKey === \"\") {\n // debugger;\n setItemKey(baseContext.concat(\"/\").concat(acName));\n }\n\n\n ourPConn.isBoundToState();\n\n\n // inside\n // get fist kid, get the name and displa\n // pass first kid to a view container, which will disperse it to a view which will use one column, two column, etc.\n const oWorkItem = arNewChildren[0].getPConnect(); // child0_getPConnect;\n const oWorkData = oWorkItem.getDataObject();\n\n if (bLoadChildren && oWorkData) {\n // debugger;\n setContainerName(oWorkData.caseInfo.assignments[0].name);\n }\n\n // debugger;\n setBuildName(getBuildName());\n\n }\n\n\n useEffect(() => {\n // from WC SDK connectedCallback (mount)\n initComponent(true);\n initContainer();\n }, []);\n\n\n function isCaseWideLocalAction() {\n const ourPConn = getPConnect();\n\n const actionID = ourPConn.getValue(pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID);\n const caseActions = ourPConn.getValue(pCoreConstants.CASE_INFO.AVAILABLEACTIONS);\n let bCaseWideAction = false;\n if (caseActions && actionID) {\n const actionObj = caseActions.find(\n (caseAction) => caseAction.ID === actionID\n );\n if (actionObj) {\n bCaseWideAction = actionObj.type === \"Case\";\n }\n }\n return bCaseWideAction;\n }\n\n\n function hasChildCaseAssignments() {\n const ourPConn = getPConnect();\n\n const childCases = ourPConn.getValue(pCoreConstants.CASE_INFO.CHILD_ASSIGNMENTS);\n // const allAssignments = [];\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (childCases && childCases.length > 0) {\n return true;\n }\n return false;\n }\n\n\n function hasAssignments() {\n const ourPConn = getPConnect();\n\n let bHasAssignments = false;\n const assignmentsList: Array<any> = ourPConn.getValue(pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS);\n const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();\n // 8.7 includes assignments in Assignments List that may be assigned to\n // a different operator. So, see if there are any assignments for\n // the current operator\n let bAssignmentsForThisOperator = false;\n\n // Bail out if there isn't an assignmentsList\n if (!assignmentsList) {\n return bHasAssignments;\n }\n\n for (const assignment of assignmentsList) {\n if (assignment[\"assigneeInfo\"][\"ID\"] === thisOperator) {\n bAssignmentsForThisOperator = true;\n }\n }\n\n const bHasChildCaseAssignments = hasChildCaseAssignments();\n\n if (\n bAssignmentsForThisOperator ||\n bHasChildCaseAssignments ||\n isCaseWideLocalAction()\n ) {\n bHasAssignments = true;\n }\n\n return bHasAssignments;\n }\n\n\n\n function getActiveViewLabel() {\n const ourPConn = getPConnect();\n\n let activeActionLabel = \"\";\n\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n\n const caseActions = ourPConn.getValue(CASE_CONSTS.CASE_INFO_ACTIONS);\n const activeActionID = ourPConn.getValue(CASE_CONSTS.ACTIVE_ACTION_ID);\n const activeAction = caseActions.find(\n (action) => action.ID === activeActionID\n );\n if (activeAction) {\n activeActionLabel = activeAction.name;\n }\n return activeActionLabel;\n }\n\n\n // From SDK-WC updateSelf - so do this in useEffect that's run only when the props change...\n useEffect(() => {\n const localPConn = arNewChildren[0].getPConnect();\n\n setBuildName(getBuildName());\n\n // routingInfo was added as component prop in populateAdditionalProps\n // let routingInfo = this.getComponentProp(\"routingInfo\");\n\n let loadingInfo: any;\n try {\n loadingInfo = thePConn.getLoadingStatus();\n }\n catch (ex) {\n // eslint-disable-next-line no-console\n console.error(`${thePConn.getComponentName()}: loadingInfo catch block`);\n }\n\n // let configProps = this.thePConn.resolveConfigProps(this.thePConn.getConfigProps());\n\n if (!loadingInfo) {\n // turn off spinner\n // this.psService.sendMessage(false);\n }\n\n const caseViewMode = thePConn.getValue(\"context_data.caseViewMode\");\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n if (caseViewMode && caseViewMode === \"review\") {\n setTimeout(() => {\n // updated for 8.7 - 30-Mar-2022\n const todoAssignments = getToDoAssignments(thePConn);\n if (todoAssignments && todoAssignments.length > 0) {\n setCaseInfoID(thePConn.getValue(CASE_CONSTS.CASE_INFO_ID));\n setTodoDatasource({ source: todoAssignments });\n }\n setShowTodo(true);\n setShowTodoList(false);\n }, 100);\n\n // in React, when cancel is called, somehow the constructor for flowContainer is called which\n // does init/add of containers. This mimics that\n initContainer();\n }\n else if (caseViewMode && caseViewMode === \"perform\") {\n // perform\n // debugger;\n setShowTodo(false);\n\n // this is different than Angular SDK, as we need to initContainer if root container reloaded\n if (window.sessionStorage.getItem(\"okToInitFlowContainer\") === \"true\") {\n initContainer();\n }\n\n // this check in routingInfo, mimic React to check and get the internals of the\n // flowContainer and force updates to pConnect/redux\n if (routingInfo && loadingInfo !== undefined) {\n\n // debugging/investigation help\n // console.log(`${thePConn.getComponentName()}: >>routingInfo: ${JSON.stringify(routingInfo)}`);\n\n const currentOrder = routingInfo.accessedOrder;\n const currentItems = routingInfo.items;\n const type = routingInfo.type;\n if (currentOrder && currentItems) { // JA - making more similar to React version\n const key = currentOrder[currentOrder.length - 1];\n\n // save off itemKey to be used for finishAssignment, etc.\n // debugger;\n setItemKey(key);\n\n if (currentOrder.length > 0 &&\n currentItems[key] &&\n currentItems[key].view &&\n type === \"single\" &&\n !Utils.isEmptyObject(currentItems[key].view)) {\n const currentItem = currentItems[key];\n const rootView = currentItem.view;\n const { context } = rootView.config;\n const config = { meta: rootView };\n\n config[\"options\"] = {\n context: currentItem.context,\n pageReference: context || localPConn.getPageReference(),\n hasForm: true,\n isFlowContainer: true,\n containerName: localPConn.getContainerName(),\n containerItemName: key,\n parentPageReference: localPConn.getPageReference()\n };\n\n const configObject = PCore.createPConnect(config);\n\n // Since we're setting an array, need to add in an appropriate key\n // to remove React warning.\n configObject[\"key\"] = config[\"options\"].parentPageReference;\n\n // keep track of these changes\n const theNewChildren: Array<Object> = [];\n theNewChildren.push(configObject);\n setArNewChildren(theNewChildren);\n\n // JEA - adapted from Constellation DX Components FlowContainer since we want to render children that are React components\n const root = createElement(createPConnectComponent(), configObject);\n setArNewChildrenAsReact([root]);\n\n const oWorkItem = configObject.getPConnect(); // was theNewChildren[0].getPConnect()\n const oWorkData = oWorkItem.getDataObject();\n\n\n // check if have oWorkData, there are times due to timing of state change, when this\n // may not be available\n if (oWorkData) {\n setContainerName(getActiveViewLabel() || oWorkData.caseInfo.assignments[0].name);\n }\n }\n }\n\n }\n }\n\n // if have caseMessage show message and end\n const theCaseMessages = thePConn.getValue(\"caseMessages\");\n\n if (theCaseMessages || !hasAssignments()) {\n\n // Temp fix for 8.7 change: confirmationNote no longer coming through in caseMessages$.\n // So, if we get here and caseMessages$ is empty, use default value in DX API response\n setCaseMessages(theCaseMessages || \"Thank you! The next step in this case has been routed appropriately.\");\n setHasCaseMessages(true);\n\n\n // publish this \"assignmentFinished\" for mashup, need to get approved as a standard\n PCore.getPubSubUtils().publish(\n \"assignmentFinished\");\n\n\n // debugger;\n setCheckSvg(Utils.getImageSrc(\"check\", PCore.getAssetLoader().getStaticServerUrl()));\n }\n else {\n // debugger;\n setHasCaseMessages(false);\n }\n }, [props]);\n\n const caseId = thePConn.getCaseSummary().content.pyID;\n const urgency = getPConnect().getCaseSummary().assignments ? getPConnect().getCaseSummary().assignments[0].urgency : \"\";\n const operatorInitials = Utils.getInitials(PCore.getEnvironmentInfo().getOperatorName());\n let instructionText = thePConn.getCaseSummary()?.assignments?.[0]?.instructions;\n if (instructionText === undefined) {\n instructionText = \"\";\n }\n\n return (\n <div style={{ textAlign: \"left\" }} id={buildName} className=\"psdk-flow-container-top\">\n {!bHasCaseMessages ?\n (!todo_showTodo) ?\n (!displayOnlyFA) ?\n <Card className={classes.root}>\n <CardHeader\n title={<Typography variant=\"h6\">{containerName}</Typography>}\n subheader={`Task in ${caseId} \\u2022 Priority ${urgency}`}\n avatar={\n <Avatar className={classes.avatar}>\n {operatorInitials}\n </Avatar>\n }\n ></CardHeader>\n { instructionText !== '' ? <Typography variant=\"caption\">{instructionText}</Typography> : null }\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n :\n <Card className={classes.root}>\n <Typography variant=\"h6\">{containerName}</Typography>\n { instructionText !== '' ? <Typography variant=\"caption\">{instructionText}</Typography> : null }\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n :\n <div>\n <ToDo getPConnect={getPConnect} caseInfoID={todo_caseInfoID} datasource={todo_datasource}\n showTodoList={todo_showTodoList} headerText={todo_headerText} type={TODO}\n context={todo_context} itemKey={itemKey}></ToDo>\n </div>\n :\n <div className={classes.alert}>\n <Alert severity=\"success\">{caseMessages}</Alert>\n </div>\n }\n </div>\n )\n}\n\nFlowContainer.defaultProps = {\n children: null,\n getPConnect: null,\n name: \"\",\n routingInfo: null,\n pageMessages: null\n};\n\nFlowContainer.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n children: PropTypes.node,\n getPConnect: PropTypes.func,\n // eslint-disable-next-line react/no-unused-prop-types\n name: PropTypes.string,\n routingInfo: PropTypes.objectOf(PropTypes.any),\n // eslint-disable-next-line react/no-unused-prop-types\n pageMessages: PropTypes.arrayOf(PropTypes.any)\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/ErrorBoundary/ErrorBoundary.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/ErrorBoundary/ErrorBoundary.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,iBAAS,aAAa,CAAC,KAAK,KAAA,sBA0C3B;kBA1CQ,aAAa;;;;;;;;;;AAqDtB,eAAe,aAAa,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// Adapted from nebula ErrorBoundary (remove Cosmos dependencies)
|
|
2
1
|
import React from "react";
|
|
3
2
|
import PropTypes from "prop-types";
|
|
4
3
|
function ErrorBoundary(props) {
|
|
@@ -8,20 +7,7 @@ function ErrorBoundary(props) {
|
|
|
8
7
|
const { getPConnect, isInternalError } = props;
|
|
9
8
|
const theErrorDiv = React.createElement("div", null, ERROR_TEXT);
|
|
10
9
|
if (!getPConnect) {
|
|
11
|
-
return (theErrorDiv
|
|
12
|
-
// <Flex
|
|
13
|
-
// container={{
|
|
14
|
-
// alignItems: "center",
|
|
15
|
-
// justify: "center",
|
|
16
|
-
// itemGap: 1
|
|
17
|
-
// }}
|
|
18
|
-
// >
|
|
19
|
-
// <Text status="error">
|
|
20
|
-
// <Icon name="warn-solid" />
|
|
21
|
-
// </Text>
|
|
22
|
-
// <Text data-testid="errorText">{ERROR_TEXT}</Text>
|
|
23
|
-
// </Flex>
|
|
24
|
-
);
|
|
10
|
+
return (theErrorDiv);
|
|
25
11
|
}
|
|
26
12
|
const pConn = getPConnect();
|
|
27
13
|
if (!isInternalError) {
|
|
@@ -31,14 +17,7 @@ function ErrorBoundary(props) {
|
|
|
31
17
|
Raw meta data for the component: ${JSON.stringify(pConn.getRawMetadata())}`);
|
|
32
18
|
}
|
|
33
19
|
if (pConn.getConfigProps().type === "page") {
|
|
34
|
-
return (theErrorDiv
|
|
35
|
-
// <Banner
|
|
36
|
-
// data-testid="errorBanner"
|
|
37
|
-
// variant="urgent"
|
|
38
|
-
// heading="Error"
|
|
39
|
-
// messages={[ERROR_TEXT]}
|
|
40
|
-
// />
|
|
41
|
-
);
|
|
20
|
+
return (theErrorDiv);
|
|
42
21
|
}
|
|
43
22
|
if (pConn.getContainerName() === WORK_AREA ||
|
|
44
23
|
pConn.isInsideList() === true ||
|
|
@@ -47,32 +26,7 @@ function ErrorBoundary(props) {
|
|
|
47
26
|
publish(ERROR_WHILE_RENDERING);
|
|
48
27
|
return null;
|
|
49
28
|
}
|
|
50
|
-
return (theErrorDiv
|
|
51
|
-
// <Card>
|
|
52
|
-
// <CardHeader>
|
|
53
|
-
// <Text variant="h3">
|
|
54
|
-
// {pConn.getConfigProps().label || pConn.getComponentName()}
|
|
55
|
-
// </Text>
|
|
56
|
-
// </CardHeader>
|
|
57
|
-
// <CardContent
|
|
58
|
-
// direction="row"
|
|
59
|
-
// style={{ minHeight: "5rem", justifyContent: "center" }}
|
|
60
|
-
// >
|
|
61
|
-
// <Flex
|
|
62
|
-
// container={{
|
|
63
|
-
// alignItems: "center",
|
|
64
|
-
// justify: "center",
|
|
65
|
-
// itemGap: 1
|
|
66
|
-
// }}
|
|
67
|
-
// >
|
|
68
|
-
// <Text status="error">
|
|
69
|
-
// <Icon name="warn-solid" />
|
|
70
|
-
// </Text>
|
|
71
|
-
// <Text>{ERROR_TEXT}</Text>
|
|
72
|
-
// </Flex>
|
|
73
|
-
// </CardContent>
|
|
74
|
-
// </Card>
|
|
75
|
-
);
|
|
29
|
+
return (theErrorDiv);
|
|
76
30
|
}
|
|
77
31
|
ErrorBoundary.propTypes = {
|
|
78
32
|
getPConnect: PropTypes.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../../../src/components/infra/ErrorBoundary/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../../../src/components/infra/ErrorBoundary/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,SAAS,aAAa,CAAC,KAAK;IAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,uBAAuB,EAAE,CAAC;IACrE,MAAM,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;IACtD,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAE/C,MAAM,WAAW,GAAG,iCAAM,UAAU,CAAO,CAAA;IAE3C,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,CACL,WAAW,CACZ,CAAC;KACH;IAED,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAE5B,IAAI,CAAC,eAAe,EAAE;QACpB,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,gBAAgB,EAAE;;uCAEnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;KAC9E;IAED,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE;QAC1C,OAAO,CACL,WAAW,CACZ,CAAC;KACH;IAED,IACE,KAAK,CAAC,gBAAgB,EAAE,KAAK,SAAS;QACtC,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI;QAC7B,KAAK,CAAC,gBAAgB,EAAE,KAAK,OAAO,EACpC;QACA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,WAAW,CACZ,CAAC;AACJ,CAAC;AACD,aAAa,CAAC,SAAS,GAAG;IACxB,WAAW,EAAE,SAAS,CAAC,IAAI;IAC3B,eAAe,EAAE,SAAS,CAAC,IAAI;CAChC,CAAC;AAEF,aAAa,CAAC,YAAY,GAAG;IAC3B,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\ndeclare const PCore;\n\nfunction ErrorBoundary(props) {\n const ERROR_TEXT = PCore.getErrorHandler().getGenericFailedMessage();\n const WORK_AREA = \"workarea\";\n const ERROR_WHILE_RENDERING = \"ERROR_WHILE_RENDERING\";\n const { getPConnect, isInternalError } = props;\n\n const theErrorDiv = <div>{ERROR_TEXT}</div>\n\n if (!getPConnect) {\n return (\n theErrorDiv\n );\n }\n\n const pConn = getPConnect();\n\n if (!isInternalError) {\n // eslint-disable-next-line no-console\n console.error(`Unable to load the component ${pConn.getComponentName()}\n This might be due to the view meta data getting corrupted or the component file missing.\n Raw meta data for the component: ${JSON.stringify(pConn.getRawMetadata())}`);\n }\n\n if (pConn.getConfigProps().type === \"page\") {\n return (\n theErrorDiv\n );\n }\n\n if (\n pConn.getContainerName() === WORK_AREA ||\n pConn.isInsideList() === true ||\n pConn.getContainerName() === \"modal\"\n ) {\n const { publish } = PCore.getPubSubUtils();\n publish(ERROR_WHILE_RENDERING);\n return null;\n }\n\n return (\n theErrorDiv\n );\n}\nErrorBoundary.propTypes = {\n getPConnect: PropTypes.func,\n isInternalError: PropTypes.bool\n};\n\nErrorBoundary.defaultProps = {\n getPConnect: null,\n isInternalError: false\n};\n\nexport default ErrorBoundary;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,SAAqB,MAAM,YAAY,CAAC;AA8C/C,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"RootContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,SAAqB,MAAM,YAAY,CAAC;AA8C/C,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;CAuNlB,CAAC;AAoBF,eAAe,aAAa,CAAC"}
|