{"version":3,"sources":["pages/Home.jsx","components/Loading.styles.js","components/Loading.jsx","Sds/config.js","Sds/SdsSetup.jsx","components/OutdatedNotice.styles.js","api/ahuApi.js","components/OutdatedNotice.jsx","Sds/SdsWrapper.jsx","routes/index.jsx","pages/Login.jsx","pages/SignOut.jsx","pages/SignedOn.jsx","routes/AuthorizationRoute.jsx","pages/NotFound.jsx","pages/NoAccess.jsx","pages/Projects.jsx","App.jsx","index.js","ahu/lib/getProjectIdFromUrl.js","ahu/lib/loadScript.js","ahu/lib/getLocationPath.js","ahu/lib/getAhuBaseUrl.js"],"names":["AHU_IMPORTED_MODULE_NAME","window","AHU_IS_LOADED","Home","config","useContext","ConfigContext","auth","Authentication","AuthContext","l","locale","setLocale","translations","printLanguages","uiLanguages","TranslationContext","user","settings","saveUserSettings","UserContext","projectApi","projectId","setProjectId","project","setProject","ProjectContext","printApi","PrintContext","notificationsContext","NotificationsContext","versionContext","VersionContext","isLinkedApplication","goToLinkedApplication","addValidator","addLinkedApplicationValidator","querystring","LinkedApplicationContext","previousValues","useHistory","value","ref","useRef","useEffect","current","usePrevious","ahuModule","setAhuModule","useState","loading","setLoading","localStorage","setItem","getAccessToken","setAvailableLanguages","Data","uiLanguage","location","hash","split","reload","setPrintLanguages","getProjectIdFromUrl","href","ProjectId","referrer","getReferrer","ahuApplicationUrl","isValidReferrer","sds_url","getAhuBaseUrl","pathname","useIdentDev","getItem","toLowerCase","async","maybeLiteAhuId","URLSearchParams","search","get","loadLiteProject","createLiteProject","then","ahuIdFromResponse","response","ahuId","projectIdFromResponse","sessionStorage","catch","error","console","maybeProjectId","maybeProjectIdFromStorage","removeItem","version","sds_application","name","Object","keys","length","element","document","getElementById","appUrl","ahujs","spineBundle","vendorBundle","applicationPathVersion","initData","apiUrls","icdServer","icdMutateProjectUrl","authEndpoint","authendpoint","authUnauthorized","authRedirect","redirect_uri","logoutEndpoint","post_logout_redirect_uri","ahu","ahu_base","icdjs","climate","debugging","language","application","calculations","threeDElements","threedelements","print","cadPluginApi","cadplugin","pluginSession","pluginsession","ahuData","ahudata_url","ahuDataTenantId","ahudata_tenantid","confWise","confwise","queue","progress","calculationApi","calculation_api","featureApi","feature_api","websocketUrl","webUrl","ahu_web","applicationUrl","applicationVersion","clientId","domElement","environment","langEnvironment","useTelerikDocumentGenerationDefaultICD","userSettings","setUserSettings","linkedApplicationQuery","ahuBackend","ahu_backend","loadScript","global","_babelPolyfill","default","init","React","createElement","Loading","Fragment","LoaderContainer","styled","div","withConfig","displayName","componentId","spin","keyframes","RotatingLoader","authority","process","login","authority_prod","SDS_AUTH_PROD_URL","client_id","silent_redirect_uri","version_url","authredirect","logoutendpoint","ahu_application","mollier","SDS_URLS_AHU_BACKEND","icd_application","icdClient","usetelerikdocumentgenerationdefaulticd","SDS_URLS_USETELERIKDOCUMENTGENERATIONDEFAULTICD","icdprintservice","SDS_URLS_ICDPRINTSERVICE","SDS_URLS_ICDJS","sessionId","app_version","SdsSetup","children","Setup","OutdatedWrapper","OutdatedLink","a","AhuApi","Api","constructor","url","super","this","type","getVersion","originalUrl","MODULES_TO_CHECK","OutdatedNotice","getOutdatedModules","isLatestUpstreamApplication","upstreamVersions","versions","latestVersions","setLatestVersions","currentVersions","setCurrentVersions","climateSettings","VersionInfo","outdatedUpstreamModules","outdatedModules","outdatedInfo","goToLatestUrl","SdsWrapper","ahuBaseUrl","ahuUrl","URL","items","icon","tooltip","action","Sds","Name","goHome","titles","headerInfo","useSdsPrint","useSdsSettings","Routes","Switch","Route","component","path","Login","Signout","signOut","SignedOn","props","signedOn","isAuthenticated","redirectUrl","Redirect","to","AuthorizationRoute","Component","rest","checkProdAuthority","_extends","render","after_redirect","substring","origin","state","from","NotFound","PageNotFound","NoAcess","urlkeys","style","padding","replace","Projects","ProjectList","endsWith","ahudLiteQuery","basename","getLocationPath","history","createBrowserHistory","App","GlobalStyle","Router","className","SignOut","exact","NoAccess","ApplicationRoutes","ReactDOM","locationUrl","map","searchStart","indexOf","locationSearch","slice","queryString","parse","reduce","c","p","documentRef","ownerDocument","Promise","resolve","reject","script","onerror","Error","onload","src","currentScript","parentNode","insertBefore","head","getElementsByTagName","appendChild","event","target","defaultView","startsWith","shouldUseAhuPath","includes"],"mappings":"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","file":"main.chunk.js","sourcesContent":["/* eslint-disable */\nimport React, { useContext, useState, useEffect, useRef } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { Loading } from \"../components/Loading\";\n\n// SDS CONTEXT\nimport {\n Authentication,\n ConfigContext,\n LinkedApplicationContext,\n NotificationsContext,\n PrintContext,\n ProjectContext,\n TranslationContext,\n UserContext,\n VersionContext,\n getReferrer,\n isValidReferrer\n} from \"@swegon/sds-core\";\n\nimport { getProjectIdFromUrl, loadScript, getAhuBaseUrl } from \"../ahu/lib\";\n\nimport \"./Home.css\";\n\nconst AHU_IMPORTED_MODULE_NAME = \"ahuBundle\";\n\nwindow.AHU_IS_LOADED = false;\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nconst Home = () => {\n // SDS Contexts\n const { config } = useContext(ConfigContext);\n const auth = useContext(Authentication.AuthContext);\n const { l, locale, setLocale, translations, printLanguages, uiLanguages } = useContext(\n TranslationContext\n );\n const { user, settings, saveUserSettings } = useContext(UserContext);\n const { projectApi, projectId, setProjectId, project, setProject } = useContext(ProjectContext);\n const { printApi } = useContext(PrintContext);\n const notificationsContext = useContext(NotificationsContext);\n const versionContext = useContext(VersionContext);\n const {\n isLinkedApplication,\n goToLinkedApplication,\n addValidator: addLinkedApplicationValidator,\n querystring\n } = useContext(LinkedApplicationContext);\n const history = useHistory();\n // AHU Context\n // const { id: releaseId, url: releaseUrl } = useContext(ReleaseContext);\n const previousValues = usePrevious({ locale, settings });\n\n // Local state\n const [ahuModule, setAhuModule] = useState(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n // TODO: Update AHU 1 code to use context\n localStorage.setItem(\"auth_access_token\", auth.getAccessToken());\n }, [auth]);\n\n useEffect(() => {\n if (ahuModule && uiLanguages) {\n ahuModule.setAvailableLanguages(uiLanguages);\n }\n }, [ahuModule, uiLanguages]);\n\n // User settings changed\n useEffect(() => {\n if (ahuModule && previousValues && settings.Data.uiLanguage !== previousValues.locale) {\n window.location.hash = window.location.hash.split(\";\")[0];\n window.location.reload();\n }\n }, [ahuModule, settings]);\n\n useEffect(() => {\n if (ahuModule && printLanguages) {\n ahuModule.setPrintLanguages(printLanguages);\n }\n }, [ahuModule, printLanguages]);\n\n useEffect(() => {\n if (!project) {\n return;\n }\n const urlProjectId = getProjectIdFromUrl(window.location.href);\n if (urlProjectId !== project.ProjectId) {\n const referrer = getReferrer(location);\n const ahuApplicationUrl = isValidReferrer(referrer)\n ? `${config.sds_url}${referrer}/`\n : getAhuBaseUrl(window.location.pathname, config);\n const useIdentDev = (localStorage.getItem(\"sds_ident\") || \"\").toLowerCase() === \"dev\";\n if (useIdentDev) {\n window.location = `${ahuApplicationUrl}?ident=dev&projectId=${project.ProjectId}`;\n } else {\n window.location = `${ahuApplicationUrl}?projectId=${project.ProjectId}`;\n }\n }\n }, [project]);\n\n useEffect(async () => {\n const searchParams = new URLSearchParams(window.location.search);\n const maybeLiteAhuId = searchParams.get(\"ahudLiteId\");\n\n if (!!maybeLiteAhuId) {\n const loadLiteProject = async () => {\n return await projectApi\n .createLiteProject(maybeLiteAhuId)\n .then(async response => {\n const ahuIdFromResponse = response.ahuId;\n const projectIdFromResponse = response.projectId;\n\n if (!projectIdFromResponse && !ahuIdFromResponse) {\n return;\n }\n\n sessionStorage.setItem(\"AHUD_LITE_ID\", ahuIdFromResponse);\n sessionStorage.setItem(\"AHUD_LITE_PROJECT_ID\", projectIdFromResponse);\n localStorage.setItem(\"projectId\", projectIdFromResponse);\n })\n .catch(error => {\n console.error(error);\n });\n };\n\n await loadLiteProject();\n }\n\n const maybeProjectId = getProjectIdFromUrl(window.location.href);\n setLoading(false);\n\n if (maybeProjectId) {\n setProjectId(maybeProjectId);\n return;\n }\n\n const maybeProjectIdFromStorage = localStorage.getItem(\"projectId\");\n\n if (maybeProjectIdFromStorage) {\n setProjectId(maybeProjectIdFromStorage);\n localStorage.removeItem(\"projectId\");\n return;\n }\n\n const referrer = config.version;\n const useIdentDev = (localStorage.getItem(\"sds_ident\") || \"\").toLowerCase() === \"dev\";\n\n if (isValidReferrer(referrer)) {\n if (useIdentDev) {\n window.location = config.sds_application + `?ident=dev&referrer=${referrer}`;\n } else {\n window.location = config.sds_application + `?referrer=${referrer}${useIdentDev}`;\n }\n return;\n }\n if (useIdentDev) {\n window.location = config.sds_application + `?ident=dev`;\n } else {\n window.location = config.sds_application;\n }\n }, []);\n\n // Init AHU\n useEffect(() => {\n // make sure we have all data neded to initiate AHU\n if (\n !projectId ||\n !project ||\n !settings.Data ||\n !user.name ||\n !Object.keys(translations).length\n ) {\n setLoading(true);\n return;\n }\n\n setLoading(false);\n\n const element = document.getElementById(\"ahu\");\n\n let appUrl = config.ahujs;\n\n // if (releaseId !== \"working\") {\n // appUrl += releaseId + \"/\";\n // }\n const spineBundle = `${appUrl}spine.bundle.js?v=${config.version}`;\n const vendorBundle = `${appUrl}vendor.bundle.js?v=${config.version}`;\n const websocketBundle = `${appUrl}workerinit.bundle.js`;\n\n window.applicationPathVersion = appUrl;\n\n const initData = {\n apiUrls: {\n icdServer: config.icdServer,\n icdMutateProjectUrl: config.icdMutateProjectUrl,\n authEndpoint: config.authendpoint,\n authUnauthorized: config.authUnauthorized,\n authRedirect: config.redirect_uri,\n logoutEndpoint: config.post_logout_redirect_uri,\n project: config.project,\n ahu: config.ahu,\n ahu_base: config.ahu_base,\n icdjs: config.icdjs,\n climate: config.climate,\n debugging: config.debugging,\n user: config.user,\n language: config.language,\n application: config.application,\n calculations: config.calculations,\n threeDElements: config.threedelements,\n print: config.print,\n cadPluginApi: config.cadplugin,\n pluginSession: config.pluginsession,\n ahuData: config.ahudata_url,\n ahuDataTenantId: config.ahudata_tenantid,\n confWise: config.confwise,\n queue: config.queue,\n progress: config.progress,\n calculationApi: config.calculation_api,\n featureApi: config.feature_api\n },\n websocketUrl: config.websocketUrl,\n webUrl: config.ahu_web,\n applicationUrl: appUrl,\n applicationVersion: config.version,\n clientId: config.clientId,\n domElement: element,\n environment: config.environment,\n langEnvironment: config.environment,\n useTelerikDocumentGenerationDefaultICD: false,\n\n // UGLY UseContext Fix for AHU1 in SDS2\n auth: auth,\n user: user,\n userSettings: { ...settings },\n setUserSettings: saveUserSettings,\n l: l,\n locale: locale,\n projectId: project.ProjectId,\n project: project,\n projectApi: projectApi,\n printApi: printApi,\n printLanguages: printLanguages,\n notificationsContext: notificationsContext,\n versionContext: versionContext,\n uiLanguages: uiLanguages,\n translations: translations,\n // Linked Apllication state\n isLinkedApplication,\n goToLinkedApplication,\n addLinkedApplicationValidator,\n linkedApplicationQuery: querystring\n };\n\n if (config.environment === \"DEV\") {\n initData.apiUrls.ahuBackend = config.ahu_backend;\n }\n\n // TODO: INTERACT WITH SDS TO GET PRINT DOCUMENT\n if (!window.AHU_IS_LOADED) {\n loadScript(vendorBundle, AHU_IMPORTED_MODULE_NAME, element);\n loadScript(spineBundle, AHU_IMPORTED_MODULE_NAME, element).then(ahu => {\n /*\n * Allow Babel-polyfill to be loaded twice.\n * Todo: stop ICD from loading polyfill\n * OR separate AHU/ICD from SDS and have them both load/unload separately.\n */\n if (global._babelPolyfill) {\n global._babelPolyfill = false;\n }\n\n // UGLY hack to prevent multiple instances of AHU\n if (!window.AHU_IS_LOADED) {\n ahu.default.init(initData);\n setAhuModule(ahu.default);\n\n window.AHU_IS_LOADED = true;\n }\n\n // TODO: UNIT PREFERENCE?\n // TODO: Extend Settings with Unit preferece\n // TODO : Fix print\n // TODO : Fix Conversion units\n });\n }\n }, [projectApi, project, settings, translations, user.name, printLanguages, uiLanguages]);\n\n if (loading) {\n return ;\n } else {\n return <>;\n }\n};\nexport default Home;\n","import styled, { keyframes } from \"styled-components\";\n\nexport const LoaderContainer = styled.div`\n display: inline-flex;\n align-items: center;\n padding: 10%;\n`;\n\nexport const spin = keyframes`\n from {\n -webkit-transform: rotate(0deg);\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n to {\n -webkit-transform: rotate(360deg);\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n`;\n\nexport const RotatingLoader = styled.div`\n margin: auto;\n width: 100px;\n height: 100px;\n animation: ${spin} 0.75s infinite linear;\n position: absolute;\n bottom: 0px;\n left: 0px;\n right: 0px;\n top: 0px;\n z-index: 999;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 100%;\n border: 12px solid mix(rgb(57, 184, 18), white, 20%);\n border-right-color: rgb(57, 184, 18);\n`;\n","import React from \"react\";\n\nimport { LoaderContainer, RotatingLoader } from \"./Loading.styles\";\n\nexport const Loading = () => {\n return (\n \n \n \n );\n};\n\nexport default Loading;\n","export const config = {\n // AUTH\n authority: process.env.SDS_AUTH_URL, //(string): The URL of the OIDC provider.\n login: process.env.SDS_AUTH_URL + \"/login\",\n authority_prod: process.env.SDS_AUTH_PROD_URL, //(string): The URL of the (DEV) OIDC provider.\n client_id: process.env.SDS_IDENTITY_CLIENT_ID, //(string): Your client application's identifier as registered with the OIDC provider.\n redirect_uri: process.env.SDS_REDIRECT_URL, //The URI of your client application to receive a response from the OIDC provider.\n silent_redirect_uri: process.env.SDS_SILENT_REDIRECT_URL, //(string): The URL for the page containing the code handling the silent renew.\n post_logout_redirect_uri: process.env.SDS_LOGOFF_REDIRECT_URL, // (string): The OIDC post-logout redirect URI.\n\n // VERSIONS\n version: process.env.SDS_VERSION,\n version_url: process.env.SDS_URLS_VERSION,\n\n // SDS\n sds_url: process.env.SDS_URL,\n sds_application: process.env.SDS_APP,\n environment: process.env.SDS_HOST_ENVIRONMENT,\n application: process.env.SDS_URLS_APPLICATION,\n authendpoint: process.env.SDS_URLS_AUTH_ENDPOINT,\n authUnauthorized: process.env.SDS_URLS_AUTH_UNAUTHORIZED,\n authredirect: process.env.SDS_URLS_AUTH_REDIRECT,\n language: process.env.SDS_URLS_LANGUAGE,\n logoutendpoint: process.env.SDS_URLS_LOGOUT_ENDPOINT,\n pluginsession: process.env.SDS_URLS_PLUGIN_SESSION,\n print: process.env.SDS_URLS_PRINT,\n progress: process.env.SDS_URLS_PROGRESS,\n project: process.env.SDS_URLS_PROJECT,\n debugging: process.env.SDS_URLS_DEBUGGING,\n queue: process.env.SDS_URLS_QUEUE,\n user: process.env.SDS_URLS_USER,\n\n // AHU\n ahu_application: process.env.SDS_APP_AHU,\n ahu: process.env.SDS_URLS_AHU,\n ahu_base: process.env.SDS_URLS_AHU_BASE, // TODO: replace ahu with ahu_base and create a seperate url for the version\n ahudata_url: process.env.SDS_URLS_AHU_DATA,\n ahudata_tenantid: process.env.SDS_URLS_AHU_DATA_TENANT_ID,\n ahujs: process.env.SDS_URLS_AHUJS,\n cadplugin: process.env.SDS_URLS_CAD_PLUGIN_API,\n calculations: process.env.SDS_URLS_CALCULATIONS, //TODO: Remove once US21417_ParallelCalculations is removed\n climate: process.env.SDS_URLS_CLIMATE,\n threedelements: process.env.SDS_URLS_THREE_D_ELEMENTS,\n mollier: process.env.SDS_URLS_MOLLIER,\n websocketUrl: process.env.SDS_URLS_WEBSOCKET,\n ahu_backend: process.env.SDS_URLS_AHU_BACKEND, // TODO: Remove once testing of new ordered unit view is done. Feature 12415: Interface/view for locked units\n\n // ICD\n icd_application: process.env.SDS_APP_ICD,\n confwise: process.env.SDS_URLS_CONF_WISE,\n icdClient: process.env.SDS_URLS_ICD_CLIENT,\n icdMutateProjectUrl: process.env.SDS_URLS_ICD_MUTATE_PROJECT_URL,\n usetelerikdocumentgenerationdefaulticd:\n process.env.SDS_URLS_USETELERIKDOCUMENTGENERATIONDEFAULTICD,\n icdprintservice: process.env.SDS_URLS_ICDPRINTSERVICE,\n icdjs: process.env.SDS_URLS_ICDJS,\n\n // AHUD\n calculation_api: process.env.SDS_AHUD_CALCULATION_API,\n feature_api: process.env.SDS_AHUD_FEATURE_API,\n\n // MISC\n sessionId: null,\n app_version: process.env.PACKAGE_VERSION,\n ahu_web: \"https://www.swegon.com/support/software/ahu-design/\"\n};\n","import React from \"react\";\n\nimport { Setup } from \"@swegon/sds-core\";\n\nimport { config } from \"./config\";\n\nexport const SdsSetup = ({ children }) => {\n return {children};\n};\nexport default SdsSetup;\n","import styled from \"styled-components\";\n\nexport const OutdatedWrapper = styled.div`\n display: inline-flex;\n flex-direction: column;\n font-size: 90%;\n`;\n\nexport const OutdatedLink = styled.a`\n color: inherit;\n display: inline-block;\n margin-left: 0.25em;\n text-decoration: none;\n`;\n","import { Api } from \"@swegon/sds-core\";\n\nclass AhuApi extends Api {\n constructor(url, config) {\n super(url, config);\n this.type = \"REST\";\n }\n\n getVersion() {\n return this.get(`${this.originalUrl}version/version`, true);\n }\n}\n\nexport default AhuApi;\n","import React, { useContext, useEffect, useState } from \"react\";\n\nimport {\n ConfigContext,\n ProjectContext,\n TranslationContext,\n VersionContext\n} from \"@swegon/sds-core\";\n\nimport { OutdatedWrapper, OutdatedLink } from \"./OutdatedNotice.styles\";\nimport AhuApi from \"../api/ahuApi\";\n\nconst MODULES_TO_CHECK = [\"application\", \"ahuData\", \"climateSettings\"];\n\nexport const OutdatedNotice = () => {\n const {\n getOutdatedModules,\n isLatestUpstreamApplication,\n upstreamVersions,\n versions\n } = useContext(VersionContext);\n const { project } = useContext(ProjectContext);\n const { config } = useContext(ConfigContext);\n const { l } = useContext(TranslationContext);\n\n const [latestVersions, setLatestVersions] = useState(upstreamVersions);\n const [currentVersions, setCurrentVersions] = useState(versions);\n\n useEffect(() => {\n const ahuApi = new AhuApi(config.ahu_base, config);\n ahuApi.getVersion().then(version => {\n setLatestVersions({\n ...upstreamVersions,\n application: version,\n climateSettings: version\n });\n });\n }, [config, upstreamVersions]);\n\n useEffect(() => {\n if (!project || !project.VersionInfo) {\n return;\n }\n setCurrentVersions({\n ...versions,\n application: project.VersionInfo.application,\n climateSettings: project.VersionInfo.climateSettings\n });\n }, [versions, project]);\n\n if (!project || !project.VersionInfo) {\n return null;\n }\n\n if (\n config.environment === \"DEV\" ||\n isLatestUpstreamApplication(currentVersions, latestVersions, MODULES_TO_CHECK, project)\n ) {\n return null;\n }\n\n const outdatedUpstreamModules = getOutdatedModules(latestVersions, project, MODULES_TO_CHECK);\n const outdatedModules = getOutdatedModules(currentVersions, project, MODULES_TO_CHECK);\n\n let outdatedInfo = null;\n\n const goToLatestUrl = config.sds_url + \"ahu/\" + window.location.search + window.location.hash;\n\n if (outdatedModules.length) {\n outdatedInfo = {`${outdatedModules.length} ${l(\"texts.outdatedModules\")}`};\n } else if (outdatedUpstreamModules.length) {\n outdatedInfo = (\n \n {l(\"texts.notRunningLatestApplication\")}\n {l(\"buttons.goToLatest\")}\n \n );\n }\n\n return (\n \n {`${l(\"common.version\")}: ${project.VersionInfo.application}`}\n\n {outdatedInfo}\n \n );\n};\n\nexport default OutdatedNotice;\n","import React, { useContext } from \"react\";\n\nimport { ProjectContext, Sds, LinkedApplicationContext, ConfigContext } from \"@swegon/sds-core\";\nimport OutdatedNotice from \"../components/OutdatedNotice\";\nimport { getAhuBaseUrl } from \"../ahu/lib\";\n\nexport const SdsWrapper = ({ children }) => {\n const { project } = useContext(ProjectContext);\n const { querystring } = useContext(LinkedApplicationContext);\n const { config } = useContext(ConfigContext);\n\n const ahuBaseUrl = getAhuBaseUrl(window.location.pathname, config);\n const ahuUrl = new URL(querystring, ahuBaseUrl);\n\n // Only show these menu options when there's a project selected cause then we can\n // be certain we're in AHU since the old routing will only work when we're in there\n const items = project\n ? [\n {\n icon: \"print\",\n name: \"Print\",\n tooltip: \"navigation.print\",\n action: () => {\n window.location.hash = \"#print|pw\";\n }\n },\n {\n icon: \"climate\",\n name: \"Climate\",\n tooltip: \"navigation.climateSettings\",\n action: () => {\n window.location.hash = \"#climateSettings|pw\";\n }\n },\n {\n icon: \"settings\",\n name: \"Settings\",\n tooltip: \"navigation.settings\",\n action: () => {\n window.location.hash = \"#settings|pw\";\n }\n }\n ]\n : [];\n\n return (\n {\n window.location = ahuUrl;\n }}\n items={items}\n titles={[\"AHU 1 in SDS 2\"]}\n headerInfo={}\n useSdsPrint={false}\n useSdsSettings={false}\n >\n {children}\n \n );\n};\nexport default SdsWrapper;\n","import React from \"react\";\nimport { Route, Switch } from \"react-router\";\nimport Home from \"../pages/Home\";\n\nconst Routes = () => {\n return (\n \n \n \n );\n};\n\nexport default Routes;\n","import React, { useEffect, useContext } from \"react\";\nimport { Authentication } from \"@swegon/sds-core\";\n\nexport const Login = () => {\n const { login } = useContext(Authentication.AuthContext);\n\n useEffect(() => {\n login();\n });\n return <>;\n};\n\nexport default Login;\n","import React, { useEffect, useContext } from \"react\";\nimport { Authentication } from \"@swegon/sds-core\";\n\nexport const Signout = () => {\n const { signOut } = useContext(Authentication.AuthContext);\n useEffect(() => {\n signOut();\n });\n return <>;\n};\n\nexport default Signout;\n","import React, { useEffect, useContext } from \"react\";\nimport { Redirect } from \"react-router\";\nimport { Authentication } from \"@swegon/sds-core\";\n\nexport const SignedOn = props => {\n const { signedOn, isAuthenticated } = useContext(Authentication.AuthContext);\n\n const after_redirect = localStorage.getItem(\"after_redirect\");\n const redirectUrl = after_redirect || process.env.SDS_APP_AHU;\n\n useEffect(() => {\n signedOn(props.location.hash);\n });\n\n return isAuthenticated() ? :
Signing on...
;\n};\n\nexport default SignedOn;\n","import React, { useContext } from \"react\";\nimport { Redirect, Route } from \"react-router-dom\";\n\nimport { Authentication } from \"@swegon/sds-core\";\n\nconst AuthorizationRoute = ({ component: Component, ...rest }) => {\n const { isAuthenticated, checkProdAuthority } = useContext(Authentication.AuthContext);\n return (\n {\n if (isAuthenticated()) {\n return ;\n }\n\n const after_redirect = window.location.href.substring(\n window.location.origin.length\n );\n localStorage.setItem(\"after_redirect\", after_redirect);\n\n checkProdAuthority(props.location);\n\n return (\n \n );\n }}\n />\n );\n};\n\nexport default AuthorizationRoute;\n","import React from \"react\";\nimport { NotFound as PageNotFound } from \"@swegon/sds-core\";\n\nconst NotFound = () => {\n return ;\n};\nexport default NotFound;\n","import React from \"react\";\n\nconst NoAcess = ({ location }) => {\n let error = \"\";\n\n if (location && location.search && location.search.split(\"=\")) {\n //console.log(\"Noacccesss\", location);\n const urlkeys = location.search.split(\"=\");\n //console.log(\"Noacccesss\", location, urlkeys);\n if (urlkeys.length > 1) {\n //console.log(urlkeys);\n error = \"\" + urlkeys[1];\n }\n }\n\n return (\n
\n

You do not have any access!

\n

{error.replace(/\\+/g, \" \")}

\n
\n );\n};\nexport default NoAcess;\n","import React, { useContext } from \"react\";\n\nimport { LinkedApplicationContext, ProjectList } from \"@swegon/sds-core\";\n\nconst Projects = () => {\n const { isLinkedApplication } = useContext(LinkedApplicationContext);\n\n if (isLinkedApplication) {\n return null;\n }\n\n return ;\n};\n\nexport default Projects;\n","import React from \"react\";\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\nimport { createBrowserHistory } from \"history\";\n\nimport { GlobalStyle } from \"@swegon/sds-core\";\n\nimport { SdsSetup, SdsWrapper } from \"./Sds\";\n\nimport ApplicationRoutes from \"./routes\";\nimport Login from \"./pages/Login\";\nimport SignOut from \"./pages/SignOut\";\nimport SignedOn from \"./pages/SignedOn\";\nimport AuthorizationRoute from \"./routes/AuthorizationRoute\";\n\nimport NotFound from \"./pages/NotFound\";\nimport NoAccess from \"./pages/NoAccess\";\nimport Projects from \"./pages/Projects\";\n\nimport { getLocationPath } from \"./ahu/lib\";\n\nconst isAhudRedirect = window.location.pathname.endsWith(\"ahudLite\");\nif (isAhudRedirect) {\n const ahudLiteQuery = localStorage.getItem(\"ahudLiteQuery\");\n localStorage.removeItem(\"ahudLiteQuery\");\n window.location.href = `${window.location.origin}/ahu${ahudLiteQuery}`;\n}\n\n// If it's the latest version served on /ahu, we base the routes on /ahu.\n// Otherwise, if it's served on a specific version (e.g. /1.0.123.456)\n// we base it on that, fetching the version number from the config\nconst basename = getLocationPath(window.location.pathname);\nconst history = createBrowserHistory();\n\nconst App = () => (\n <>\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n);\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport \"./index.css\";\nimport App from \"./App\";\n\nReactDOM.render(, document.getElementById(\"sds\"));\n","import queryString from \"query-string\";\n\nexport const getProjectIdFromUrl = locationUrl => {\n return (locationUrl || \"\")\n .split(\"#\")\n .map(location => {\n const searchStart = location.indexOf(\"?\");\n const locationSearch = searchStart === -1 ? null : location.slice(searchStart);\n // Check query string\n const qs = queryString.parse(locationSearch);\n return qs.projectId || null;\n })\n .reduce((c, p) => (p ? p : c));\n};\n\nexport default getProjectIdFromUrl;\n","/**\n * Load an external script.\n *\n * @param {string} url Absolute URL of script to load\n * @param {string=} name Name of global variable that the script is expected to define\n * @return {Promise}\n */\nexport const loadScript = (url, name, domElement) => {\n const documentRef = domElement.ownerDocument;\n\n const promise = new Promise((resolve, reject) => {\n const script = documentRef.createElement(\"script\");\n script.onerror = () => reject(new Error(`Failed to load '${url}'`));\n script.onload = resolve;\n script.async = true;\n script.src = url;\n\n if (documentRef.currentScript) {\n documentRef.currentScript.parentNode.insertBefore(script, documentRef.currentScript);\n } else {\n (documentRef.head || documentRef.getElementsByTagName(\"head\")[0]).appendChild(script);\n }\n });\n\n return promise.then(event => {\n // event.target.parentNode.removeChild(event.target);\n if (event.target.ownerDocument.defaultView[name]) {\n return event.target.ownerDocument.defaultView[name];\n }\n throw new Error(`\"${name}\" was not created by \"${url}\"`);\n });\n};\nexport default loadScript;\n","const shouldUseAhuPath = pathname => {\n return pathname == \"/\" || pathname.startsWith(\"/ahu\");\n};\n\nexport const getLocationPath = pathname => {\n return shouldUseAhuPath(pathname) ? \"/ahu\" : process.env.SDS_APP_PREFIX;\n};\n\nexport default getLocationPath;\n","import { getLocationPath } from \"./getLocationPath\";\n\nexport const getAhuBaseUrl = (pathname, config) => {\n const isLocalEnvironment = config.ahu_application.includes(\"localhost\");\n return isLocalEnvironment\n ? config.ahu_application\n : `${config.sds_url.replace(/\\/+$/, \"\")}${getLocationPath(pathname)}/`;\n};\n\nexport default getAhuBaseUrl;\n"],"sourceRoot":""}