@zengenti/contensis-react-base 3.0.0-beta.81 → 3.0.0-beta.83

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteLoader-5171c63f.js","sources":["../src/routing/components/NotFound.tsx","../src/routing/components/Status.tsx","../src/routing/components/RouteLoader.tsx"],"sourcesContent":["import React from 'react';\n\nconst NotFound = ({\n statusCode,\n statusText,\n}: {\n statusCode: number;\n statusText: string;\n}) => (\n <>\n <header>\n <h1>{statusCode || '404'} Page Not Found</h1>\n {statusText && (\n <h2\n style={{\n background: '#eee',\n color: '#666',\n fontSize: '100%',\n padding: '10px',\n }}\n >\n {statusText}\n </h2>\n )}\n </header>\n </>\n);\n\nexport default NotFound;\n","import React, { PropsWithChildren } from 'react';\nimport { Route } from 'react-router-dom';\n\nexport const Status = ({\n code,\n children,\n}: PropsWithChildren<{ code: number }>) => {\n return (\n <Route\n render={({ staticContext }) => {\n if (staticContext) staticContext.statusCode = code;\n return children;\n }}\n />\n );\n};\n","import React, { useEffect, useCallback } from 'react';\nimport { connect } from 'react-redux';\nimport { hot } from 'react-hot-loader';\nimport { Redirect, useLocation } from 'react-router-dom';\nimport { renderRoutes, matchRoutes, RouteConfig } from 'react-router-config';\nimport { createSelector } from 'reselect';\n\nimport NotFound from './NotFound';\nimport { Status } from './Status';\n\nimport {\n selectCurrentPath,\n selectCurrentProject,\n selectIsNotFound,\n selectMappedEntry,\n selectRouteEntry,\n selectRouteEntryContentTypeId,\n selectRouteErrorMessage,\n selectRouteIsError,\n selectRouteLoading,\n selectRouteStatusCode,\n} from '../redux/selectors';\nimport { setNavigationPath } from '../redux/actions';\n\nimport {\n selectUserGroups,\n selectUserIsAuthenticated,\n} from '~/user/redux/selectors';\nimport { matchUserGroup } from '~/user/util/matchGroups';\n\nimport { toJS } from '~/util/ToJs';\nimport { Entry } from 'contensis-delivery-api/lib/models';\nimport { AppRootProps, RouteComponentProps, RouteLoaderProps } from '../routes';\n\nconst replaceDoubleSlashRecursive = (path: string) => {\n const nextPath = path.replace(/\\/\\//, '/');\n\n if (nextPath.match(/\\/\\//)) {\n return replaceDoubleSlashRecursive(nextPath);\n }\n\n return nextPath;\n};\n\nconst getTrimmedPath = path => {\n if (path !== '/') {\n const nextPath = replaceDoubleSlashRecursive(path);\n const lastChar = nextPath[nextPath.length - 1];\n if (lastChar === '/') {\n return nextPath.substring(0, nextPath.length - 1);\n }\n }\n return path;\n};\n\ninterface IReduxProps {\n contentTypeId: string | null;\n entry: Entry | null;\n isError: boolean;\n isNotFound: boolean;\n isLoading: boolean;\n isLoggedIn: boolean;\n mappedEntry: any;\n projectId: string;\n setNavigationPath: typeof setNavigationPath;\n statePath: string;\n statusCode: any;\n statusText: string;\n userGroups: any;\n}\n\nconst RouteLoader = ({\n contentTypeId,\n entry,\n isError,\n isLoading,\n isLoggedIn,\n isNotFound,\n loadingComponent,\n mappedEntry,\n notFoundComponent,\n projectId,\n routes,\n setNavigationPath,\n statePath,\n statusCode,\n statusText,\n userGroups,\n withEvents,\n trailingSlashRedirectCode = 302,\n}: AppRootProps & RouteLoaderProps & IReduxProps) => {\n const location = useLocation();\n // Always ensure paths are trimmed of trailing slashes so urls are always unique\n const trimmedPath = getTrimmedPath(location.pathname);\n\n // Match any Static Routes a developer has defined\n const matchedStaticRoute = () =>\n matchRoutes(routes.StaticRoutes as RouteConfig[], location.pathname);\n const isStaticRoute = () => matchedStaticRoute().length > 0;\n\n const staticRoute = isStaticRoute() && matchedStaticRoute()[0];\n const routeRequiresLogin = staticRoute && staticRoute.route.requireLogin;\n\n const setPath = useCallback(() => {\n // Use serverPath to control the path we send to siteview node api to resolve a route\n let serverPath = '';\n if (staticRoute && staticRoute.match && staticRoute.match.isExact) {\n const { match, route } = staticRoute;\n\n if (route.path?.includes('*')) {\n // Send the whole url to api if we have matched route containing wildcard\n serverPath = match.url;\n } else if (typeof route.fetchNodeLevel === 'number') {\n // Send all url parts to a specified level to api\n serverPath = match.url\n .split('/')\n .splice(0, route.fetchNodeLevel + 1)\n .join('/');\n } else if (route.fetchNode?.params) {\n const fetchNodeParams: string[] = route.fetchNode.params;\n const routeParams: { [key: string]: string } = match.params;\n\n const regexExp = new RegExp(\n Object.keys(routeParams)\n .map(p => `:${p}`)\n .join('|'),\n 'g'\n );\n\n serverPath = match.path\n .replace(/\\?/g, '')\n .replace(regexExp, matched => {\n const param = matched.replace(':', '');\n if (fetchNodeParams.includes(param)) return routeParams[param];\n else return '';\n })\n .replace(/\\/$/, '');\n } else {\n // Send all non-parameterised url parts to api\n serverPath = (route.path as string)\n ?.split('/')\n .filter(p => !p.startsWith(':'))\n .join('/');\n }\n }\n\n setNavigationPath(\n serverPath || trimmedPath,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n setNavigationPath,\n // staticRoute,\n withEvents,\n location,\n routes,\n // statePath,\n trimmedPath,\n ]);\n\n if (typeof window == 'undefined') setPath();\n\n useEffect(() => {\n setPath();\n }, [location, setPath]);\n\n // Need to redirect when url endswith a /\n if (location.pathname.length > trimmedPath.length) {\n return (\n <Status code={trailingSlashRedirectCode}>\n <Redirect to={`${trimmedPath}${location.search}${location.hash}`} />\n </Status>\n );\n }\n\n // Render any Static Routes a developer has defined\n if (isStaticRoute() && !(!isLoggedIn && routeRequiresLogin)) {\n if (matchUserGroup(userGroups, routeRequiresLogin))\n return renderRoutes(\n routes.StaticRoutes as RouteConfig[],\n {\n projectId,\n contentTypeId,\n entry,\n mappedEntry,\n isLoggedIn,\n } as RouteComponentProps\n );\n }\n\n // Render a supplied Loading component if the route\n // is not a static route and is in a loading state\n if (isLoading && !isNotFound && loadingComponent) {\n const LoadingComponent = loadingComponent;\n return <LoadingComponent />;\n }\n\n // Match any defined Content Type Mappings\n if (contentTypeId && !(!isLoggedIn && routeRequiresLogin)) {\n const MatchedComponent = routes.ContentTypeMappings.find(\n item => item.contentTypeID === contentTypeId\n );\n\n if (MatchedComponent && !(MatchedComponent.requireLogin && !isLoggedIn)) {\n if (matchUserGroup(userGroups, MatchedComponent.requireLogin))\n return (\n <MatchedComponent.component\n projectId={projectId}\n contentTypeId={contentTypeId}\n entry={entry}\n mappedEntry={mappedEntry}\n isLoggedIn={isLoggedIn}\n />\n );\n }\n }\n\n const NotFoundComponent = notFoundComponent ? notFoundComponent : NotFound;\n if (isNotFound || isError) {\n return (\n <Status code={statusCode}>\n <NotFoundComponent statusCode={statusCode} statusText={statusText} />\n </Status>\n );\n }\n\n return null;\n};\nconst mapStateToPropsMemoized = createSelector(\n selectRouteEntryContentTypeId,\n selectRouteEntry,\n selectRouteIsError,\n selectIsNotFound,\n selectRouteLoading,\n selectUserIsAuthenticated,\n selectMappedEntry,\n selectCurrentProject,\n selectCurrentPath,\n selectRouteStatusCode,\n selectRouteErrorMessage,\n selectUserGroups,\n (\n contentTypeId,\n entry,\n isError,\n isNotFound,\n isLoading,\n isLoggedIn,\n mappedEntry,\n projectId,\n statePath,\n statusCode,\n statusText,\n userGroups\n ) => ({\n contentTypeId,\n entry,\n isError,\n isNotFound,\n isLoading,\n isLoggedIn,\n mappedEntry,\n projectId,\n statePath,\n statusCode,\n statusText,\n userGroups,\n })\n);\n\nconst mapDispatchToProps = {\n setNavigationPath,\n};\n\nexport default hot(module)(\n connect(mapStateToPropsMemoized, mapDispatchToProps)(toJS(RouteLoader))\n) as unknown as (props: AppRootProps & RouteLoaderProps) => JSX.Element;\n"],"names":["NotFound","statusCode","statusText","background","color","fontSize","padding","Status","code","children","staticContext","replaceDoubleSlashRecursive","path","nextPath","replace","match","getTrimmedPath","lastChar","length","substring","RouteLoader","contentTypeId","entry","isError","isLoading","isLoggedIn","isNotFound","loadingComponent","mappedEntry","notFoundComponent","projectId","routes","setNavigationPath","statePath","userGroups","withEvents","trailingSlashRedirectCode","location","useLocation","trimmedPath","pathname","matchedStaticRoute","matchRoutes","StaticRoutes","isStaticRoute","staticRoute","routeRequiresLogin","route","requireLogin","setPath","useCallback","serverPath","isExact","includes","url","fetchNodeLevel","split","splice","join","fetchNode","params","fetchNodeParams","routeParams","regexExp","RegExp","Object","keys","map","p","matched","param","filter","startsWith","window","useEffect","search","hash","matchUserGroup","renderRoutes","LoadingComponent","MatchedComponent","ContentTypeMappings","find","item","contentTypeID","NotFoundComponent","mapStateToPropsMemoized","createSelector","selectRouteEntryContentTypeId","selectRouteEntry","selectRouteIsError","selectIsNotFound","selectRouteLoading","selectUserIsAuthenticated","selectMappedEntry","selectCurrentProject","selectCurrentPath","selectRouteStatusCode","selectRouteErrorMessage","selectUserGroups","mapDispatchToProps","hot","module","connect","toJS"],"mappings":"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"}
package/esm/client.js CHANGED
@@ -8,9 +8,9 @@ import { loadableReady } from '@loadable/component';
8
8
  import { parse } from 'query-string';
9
9
  import { CookiesProvider } from 'react-cookie';
10
10
  import { s as selectVersionStatus } from './version-2485e2fb.js';
11
- import { c as createStore, s as setVersionStatus } from './version-c776a92b.js';
12
- import { d as deliveryApi, b as browserHistory, r as rootSaga, p as pickProject } from './App-795503cb.js';
13
- export { A as ReactApp } from './App-795503cb.js';
11
+ import { c as createStore, s as setVersionStatus } from './version-e3a5ec66.js';
12
+ import { d as deliveryApi, b as browserHistory, r as rootSaga, p as pickProject } from './App-986d0bc6.js';
13
+ export { A as ReactApp } from './App-986d0bc6.js';
14
14
  import { s as setCurrentProject } from './actions-180948dd.js';
15
15
  import './selectors-a5e5835b.js';
16
16
  import 'jsonpath-mapper';
@@ -29,7 +29,7 @@ import './login-508cac0f.js';
29
29
  import './ToJs-4e02a04d.js';
30
30
  import 'await-to-js';
31
31
  import 'js-cookie';
32
- import './RouteLoader-8f19516c.js';
32
+ import './RouteLoader-5171c63f.js';
33
33
  import 'react-router-config';
34
34
  import 'reselect';
35
35
 
@@ -1,5 +1,5 @@
1
- import { c as cachedSearch, h as history, d as deliveryApi, p as pickProject, r as rootSaga } from './App-795503cb.js';
2
- export { A as ReactApp } from './App-795503cb.js';
1
+ import { c as cachedSearch, h as history, d as deliveryApi, p as pickProject, r as rootSaga } from './App-986d0bc6.js';
2
+ export { A as ReactApp } from './App-986d0bc6.js';
3
3
  import { Query as Query$1 } from 'contensis-delivery-api';
4
4
  import React from 'react';
5
5
  import { Provider } from 'react-redux';
@@ -29,7 +29,7 @@ import { ChunkExtractor, ChunkExtractorManager } from '@loadable/server';
29
29
  import { identity, noop } from 'lodash';
30
30
  import { buildCleaner } from 'lodash-clean';
31
31
  import { CookiesProvider } from 'react-cookie';
32
- import { c as createStore, s as setVersionStatus, a as setVersion } from './version-c776a92b.js';
32
+ import { c as createStore, s as setVersionStatus, a as setVersion } from './version-e3a5ec66.js';
33
33
  import { s as setCurrentProject } from './actions-180948dd.js';
34
34
  import { s as selectSurrogateKeys, a as selectRouteEntry, b as selectCurrentProject, g as getImmutableOrJS } from './selectors-a5e5835b.js';
35
35
  import 'history';
@@ -42,7 +42,7 @@ import './ToJs-4e02a04d.js';
42
42
  import 'await-to-js';
43
43
  import 'js-cookie';
44
44
  import 'react-hot-loader';
45
- import './RouteLoader-8f19516c.js';
45
+ import './RouteLoader-5171c63f.js';
46
46
  import 'redux';
47
47
  import 'redux-thunk';
48
48
  import 'redux-saga';
@@ -4257,7 +4257,7 @@ const webApp = (app, ReactApp, config) => {
4257
4257
  const metadata = helmet.meta.toString().concat(helmet.base.toString()).concat(helmet.link.toString()).concat(helmet.script.toString()).concat(helmet.noscript.toString());
4258
4258
 
4259
4259
  if (context.url) {
4260
- return response.redirect(302, context.url);
4260
+ return response.redirect(context.statusCode || 302, context.url);
4261
4261
  }
4262
4262
 
4263
4263
  const reduxState = store.getState();