@zengenti/contensis-react-base 3.0.2-beta.17 → 3.0.2-beta.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/cjs/{App-894e9f47.js → App-fe5ee3d8.js} +8 -8
- package/cjs/{App-894e9f47.js.map → App-fe5ee3d8.js.map} +1 -1
- package/cjs/{ContensisDeliveryApi-cab9b34d.js → ContensisDeliveryApi-c079b03a.js} +3 -3
- package/cjs/{ContensisDeliveryApi-cab9b34d.js.map → ContensisDeliveryApi-c079b03a.js.map} +1 -1
- package/cjs/{RouteLoader-8e8605bc.js → RouteLoader-7f0d107a.js} +3 -3
- package/cjs/{RouteLoader-8e8605bc.js.map → RouteLoader-7f0d107a.js.map} +1 -1
- package/cjs/{ToJs-31139698.js → ToJs-6e9cfa69.js} +2 -2
- package/cjs/{ToJs-31139698.js.map → ToJs-6e9cfa69.js.map} +1 -1
- package/cjs/client.js +8 -8
- package/cjs/contensis-react-base.js +8 -8
- package/cjs/forms.js +37 -31
- package/cjs/forms.js.map +1 -1
- package/cjs/{login-56149a73.js → login-2a6b5be0.js} +3 -3
- package/cjs/{login-56149a73.js.map → login-2a6b5be0.js.map} +1 -1
- package/cjs/redux.js +3 -3
- package/cjs/routing.js +3 -3
- package/cjs/{selectors-1ab616aa.js → selectors-bcca60f4.js} +2 -2
- package/{esm/selectors-0b9508f4.js.map → cjs/selectors-bcca60f4.js.map} +1 -1
- package/cjs/user.js +3 -3
- package/cjs/util.js +3 -3
- package/cjs/{version-0d11a071.js → version-4077e706.js} +2 -2
- package/cjs/{version-0d11a071.js.map → version-4077e706.js.map} +1 -1
- package/cjs/{version-6ce30b57.js → version-fe28099e.js} +3 -3
- package/cjs/{version-6ce30b57.js.map → version-fe28099e.js.map} +1 -1
- package/esm/{App-accee6b9.js → App-19b41dcc.js} +8 -8
- package/esm/{App-accee6b9.js.map → App-19b41dcc.js.map} +1 -1
- package/esm/{ContensisDeliveryApi-fc68ef5e.js → ContensisDeliveryApi-5660ee0e.js} +3 -3
- package/esm/{ContensisDeliveryApi-fc68ef5e.js.map → ContensisDeliveryApi-5660ee0e.js.map} +1 -1
- package/esm/{RouteLoader-46031747.js → RouteLoader-6eac364e.js} +3 -3
- package/esm/{RouteLoader-46031747.js.map → RouteLoader-6eac364e.js.map} +1 -1
- package/esm/{ToJs-4a595f89.js → ToJs-9b30636a.js} +2 -2
- package/esm/{ToJs-4a595f89.js.map → ToJs-9b30636a.js.map} +1 -1
- package/esm/client.js +9 -9
- package/esm/contensis-react-base.js +9 -9
- package/esm/forms.js +37 -31
- package/esm/forms.js.map +1 -1
- package/esm/{login-2427614b.js → login-71ff3fcb.js} +3 -3
- package/esm/{login-2427614b.js.map → login-71ff3fcb.js.map} +1 -1
- package/esm/redux.js +6 -6
- package/esm/routing.js +3 -3
- package/esm/{selectors-0b9508f4.js → selectors-74de49a3.js} +2 -2
- package/{cjs/selectors-1ab616aa.js.map → esm/selectors-74de49a3.js.map} +1 -1
- package/esm/user.js +4 -4
- package/esm/util.js +3 -3
- package/esm/{version-cef1a76d.js → version-b15807c5.js} +3 -3
- package/esm/{version-cef1a76d.js.map → version-b15807c5.js.map} +1 -1
- package/esm/{version-0160e6b9.js → version-ef107106.js} +2 -2
- package/esm/{version-0160e6b9.js.map → version-ef107106.js.map} +1 -1
- package/models/routing/redux/selectors.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteLoader-8e8605bc.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","React","createElement","Fragment","style","background","color","fontSize","padding","Status","code","children","Route","render","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","_route$path","_route$fetchNode","includes","url","fetchNodeLevel","split","splice","join","fetchNode","params","fetchNodeParams","routeParams","regexExp","RegExp","Object","keys","map","p","matched","param","_route$path2","filter","startsWith","window","useEffect","Redirect","to","search","hash","matchUserGroup","renderRoutes","LoadingComponent","MatchedComponent","ContentTypeMappings","find","item","contentTypeID","component","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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"}
|
|
1
|
+
{"version":3,"file":"RouteLoader-7f0d107a.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","React","createElement","Fragment","style","background","color","fontSize","padding","Status","code","children","Route","render","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","_route$path","_route$fetchNode","includes","url","fetchNodeLevel","split","splice","join","fetchNode","params","fetchNodeParams","routeParams","regexExp","RegExp","Object","keys","map","p","matched","param","_route$path2","filter","startsWith","window","useEffect","Redirect","to","search","hash","matchUserGroup","renderRoutes","LoadingComponent","MatchedComponent","ContentTypeMappings","find","item","contentTypeID","component","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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var selectors$1 = require('./selectors-
|
|
3
|
+
var selectors$1 = require('./selectors-bcca60f4.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -125,4 +125,4 @@ exports.selectUserRegistrationIsLoading = selectUserRegistrationIsLoading;
|
|
|
125
125
|
exports.selectUserRegistrationIsSuccess = selectUserRegistrationIsSuccess;
|
|
126
126
|
exports.selectors = selectors;
|
|
127
127
|
exports.toJS = toJS;
|
|
128
|
-
//# sourceMappingURL=ToJs-
|
|
128
|
+
//# sourceMappingURL=ToJs-6e9cfa69.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToJs-31139698.js","sources":["../src/user/redux/selectors.ts","../src/user/util/matchGroups.ts","../src/util/ToJs.tsx"],"sourcesContent":["import { StateType } from '~/config';\nimport { AppState } from '~/redux/appstate';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const selectUserIsLoading = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isLoading']);\n\nexport const selectUserIsAuthenticated = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticated']);\n\nexport const selectUserIsAuthenticationError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticationError']);\n\nexport const selectUserIsError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isError']);\n\n/**\n * DEPRECATED 12/2021 - use selectUserErrorMessage instead\n * @param state AppState\n * @returns string\n */\nexport const selectUserAuthenticationErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectUserErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectClientCredentials = (\n state: AppState,\n returnType?: StateType\n) =>\n getIn(\n state,\n ['user', 'authenticationState', 'clientCredentials'],\n {},\n returnType\n );\n\nexport const selectUser = (state: AppState, returnType?: StateType) =>\n getIn(state, 'user', {}, returnType);\n\nexport const selectUserIsZengentiStaff = (state: AppState) =>\n getIn(state, ['user', 'isZengentiStaff']);\n\nexport const selectUserGuid = (state: AppState) => getIn(state, ['user', 'id']);\n\nexport const selectUsername = (state: AppState) =>\n getIn(state, ['user', 'username']);\n\nexport const selectUserEmail = (state: AppState) =>\n getIn(state, ['user', 'email']);\n\nexport const selectUserGroups = (state: AppState, returnType?: StateType) =>\n getIn(state, ['user', 'groups'], [], returnType);\n\nexport const selectUserSecurityToken = (state: AppState) =>\n getIn(state, [\n 'user',\n 'authenticationState',\n 'clientCredentials',\n 'contensisClassicToken',\n ]);\n\nexport const selectUserRegistration = (\n state: AppState,\n returnType?: StateType\n) => getIn(state, ['user', 'registration'], {}, returnType);\n\nexport const selectUserRegistrationError = (state: AppState) =>\n getIn(state, ['user', 'registration', 'error'], false);\n\nexport const selectUserRegistrationIsLoading = (state: AppState) =>\n getIn(state, ['user', 'registration', 'isLoading'], false);\n\nexport const selectUserRegistrationIsSuccess = (state: AppState) =>\n getIn(state, ['user', 'registration', 'success'], false);\n\nexport const selectPasswordResetRequestSending = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'isSending']);\n\nexport const selectPasswordResetRequestSent = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'sent']);\n\nexport const selectPasswordResetRequestError = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'error']);\n\nexport const selectResetPasswordSending = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'isSending']);\n\nexport const selectResetPasswordSent = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'sent']);\n\nexport const selectResetPasswordError = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'error']);\n\nexport const selectChangePasswordSending = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'isSending']);\n\nexport const selectChangePasswordSent = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'sent']);\n\nexport const selectChangePasswordError = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'error']);\n","import { Group } from 'contensis-management-api/lib/models';\nimport { RequireLogin } from '~/routing/routes';\n\nexport const matchUserGroup = (\n userGroups: Group[] = [],\n requiredGroups: RequireLogin = []\n) => {\n if (\n !Array.isArray(requiredGroups) ||\n (Array.isArray(requiredGroups) && requiredGroups.length === 0)\n )\n return true;\n\n const groupMatch = requiredGroups.some(requiredGroup => {\n return userGroups.some(userGroup => {\n if (requiredGroup.id === userGroup.id) {\n return true;\n }\n if (requiredGroup.name === userGroup.name) {\n return true;\n }\n });\n });\n return groupMatch;\n};\n","/* eslint-disable react/display-name */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: React.ComponentType<Props>\n ): React.ComponentType<Props> =>\n (wrappedComponentProps: Props) => {\n const KEY = 0;\n const VALUE = 1;\n\n const propsJS = Object.entries(wrappedComponentProps).reduce<Props>(\n (newProps: any, wrappedComponentProp) => {\n const propKey = wrappedComponentProp[KEY];\n const propValue = wrappedComponentProp[VALUE];\n newProps[propKey] =\n propValue && typeof propValue === 'object' && 'toJS' in propValue\n ? propValue.toJS()\n : propValue;\n return newProps as Props;\n },\n {} as Props\n );\n\n return <WrappedComponent {...propsJS} />;\n };\n"],"names":["selectUserIsLoading","state","getIn","selectUserIsAuthenticated","selectUserIsAuthenticationError","selectUserIsError","selectUserAuthenticationErrorMessage","selectUserErrorMessage","selectClientCredentials","returnType","selectUser","selectUserIsZengentiStaff","selectUserGuid","selectUsername","selectUserEmail","selectUserGroups","selectUserSecurityToken","selectUserRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","selectUserRegistrationIsSuccess","selectPasswordResetRequestSending","selectPasswordResetRequestSent","selectPasswordResetRequestError","selectResetPasswordSending","selectResetPasswordSent","selectResetPasswordError","selectChangePasswordSending","selectChangePasswordSent","selectChangePasswordError","matchUserGroup","userGroups","requiredGroups","Array","isArray","length","groupMatch","some","requiredGroup","userGroup","id","name","toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue","React","createElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToJs-6e9cfa69.js","sources":["../src/user/redux/selectors.ts","../src/user/util/matchGroups.ts","../src/util/ToJs.tsx"],"sourcesContent":["import { StateType } from '~/config';\nimport { AppState } from '~/redux/appstate';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const selectUserIsLoading = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isLoading']);\n\nexport const selectUserIsAuthenticated = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticated']);\n\nexport const selectUserIsAuthenticationError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isAuthenticationError']);\n\nexport const selectUserIsError = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'isError']);\n\n/**\n * DEPRECATED 12/2021 - use selectUserErrorMessage instead\n * @param state AppState\n * @returns string\n */\nexport const selectUserAuthenticationErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectUserErrorMessage = (state: AppState) =>\n getIn(state, ['user', 'authenticationState', 'errorMessage']);\n\nexport const selectClientCredentials = (\n state: AppState,\n returnType?: StateType\n) =>\n getIn(\n state,\n ['user', 'authenticationState', 'clientCredentials'],\n {},\n returnType\n );\n\nexport const selectUser = (state: AppState, returnType?: StateType) =>\n getIn(state, 'user', {}, returnType);\n\nexport const selectUserIsZengentiStaff = (state: AppState) =>\n getIn(state, ['user', 'isZengentiStaff']);\n\nexport const selectUserGuid = (state: AppState) => getIn(state, ['user', 'id']);\n\nexport const selectUsername = (state: AppState) =>\n getIn(state, ['user', 'username']);\n\nexport const selectUserEmail = (state: AppState) =>\n getIn(state, ['user', 'email']);\n\nexport const selectUserGroups = (state: AppState, returnType?: StateType) =>\n getIn(state, ['user', 'groups'], [], returnType);\n\nexport const selectUserSecurityToken = (state: AppState) =>\n getIn(state, [\n 'user',\n 'authenticationState',\n 'clientCredentials',\n 'contensisClassicToken',\n ]);\n\nexport const selectUserRegistration = (\n state: AppState,\n returnType?: StateType\n) => getIn(state, ['user', 'registration'], {}, returnType);\n\nexport const selectUserRegistrationError = (state: AppState) =>\n getIn(state, ['user', 'registration', 'error'], false);\n\nexport const selectUserRegistrationIsLoading = (state: AppState) =>\n getIn(state, ['user', 'registration', 'isLoading'], false);\n\nexport const selectUserRegistrationIsSuccess = (state: AppState) =>\n getIn(state, ['user', 'registration', 'success'], false);\n\nexport const selectPasswordResetRequestSending = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'isSending']);\n\nexport const selectPasswordResetRequestSent = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'sent']);\n\nexport const selectPasswordResetRequestError = (state: AppState) =>\n getIn(state, ['user', 'passwordResetRequest', 'error']);\n\nexport const selectResetPasswordSending = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'isSending']);\n\nexport const selectResetPasswordSent = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'sent']);\n\nexport const selectResetPasswordError = (state: AppState) =>\n getIn(state, ['user', 'resetPassword', 'error']);\n\nexport const selectChangePasswordSending = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'isSending']);\n\nexport const selectChangePasswordSent = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'sent']);\n\nexport const selectChangePasswordError = (state: AppState) =>\n getIn(state, ['user', 'changePassword', 'error']);\n","import { Group } from 'contensis-management-api/lib/models';\nimport { RequireLogin } from '~/routing/routes';\n\nexport const matchUserGroup = (\n userGroups: Group[] = [],\n requiredGroups: RequireLogin = []\n) => {\n if (\n !Array.isArray(requiredGroups) ||\n (Array.isArray(requiredGroups) && requiredGroups.length === 0)\n )\n return true;\n\n const groupMatch = requiredGroups.some(requiredGroup => {\n return userGroups.some(userGroup => {\n if (requiredGroup.id === userGroup.id) {\n return true;\n }\n if (requiredGroup.name === userGroup.name) {\n return true;\n }\n });\n });\n return groupMatch;\n};\n","/* eslint-disable react/display-name */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: React.ComponentType<Props>\n ): React.ComponentType<Props> =>\n (wrappedComponentProps: Props) => {\n const KEY = 0;\n const VALUE = 1;\n\n const propsJS = Object.entries(wrappedComponentProps).reduce<Props>(\n (newProps: any, wrappedComponentProp) => {\n const propKey = wrappedComponentProp[KEY];\n const propValue = wrappedComponentProp[VALUE];\n newProps[propKey] =\n propValue && typeof propValue === 'object' && 'toJS' in propValue\n ? propValue.toJS()\n : propValue;\n return newProps as Props;\n },\n {} as Props\n );\n\n return <WrappedComponent {...propsJS} />;\n };\n"],"names":["selectUserIsLoading","state","getIn","selectUserIsAuthenticated","selectUserIsAuthenticationError","selectUserIsError","selectUserAuthenticationErrorMessage","selectUserErrorMessage","selectClientCredentials","returnType","selectUser","selectUserIsZengentiStaff","selectUserGuid","selectUsername","selectUserEmail","selectUserGroups","selectUserSecurityToken","selectUserRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","selectUserRegistrationIsSuccess","selectPasswordResetRequestSending","selectPasswordResetRequestSent","selectPasswordResetRequestError","selectResetPasswordSending","selectResetPasswordSent","selectResetPasswordError","selectChangePasswordSending","selectChangePasswordSent","selectChangePasswordError","matchUserGroup","userGroups","requiredGroups","Array","isArray","length","groupMatch","some","requiredGroup","userGroup","id","name","toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue","React","createElement"],"mappings":";;;;;;;;;MAIaA,mBAAmB,GAAIC,KAAe,IACjDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAC;MAE/CE,yBAAyB,GAAIF,KAAe,IACvDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,EAAC;MAErDG,+BAA+B,GAAIH,KAAe,IAC7DC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,uBAAuB,CAAC,EAAC;MAE3DI,iBAAiB,GAAIJ,KAAe,IAC/CC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,SAAS,CAAC,EAAC;;AAE1D;AACA;AACA;AACA;AACA;AACO,MAAMK,oCAAoC,GAAIL,KAAe,IAClEC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAA;MAElDM,sBAAsB,GAAIN,KAAe,IACpDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,cAAc,CAAC,EAAC;AAExD,MAAMO,uBAAuB,GAAGA,CACrCP,KAAe,EACfQ,UAAsB,KAEtBP,4BAAK,CACHD,KAAK,EACL,CAAC,MAAM,EAAE,qBAAqB,EAAE,mBAAmB,CAAC,EACpD,EAAE,EACFQ,UAAU,EACX;MAEUC,UAAU,GAAGA,CAACT,KAAe,EAAEQ,UAAsB,KAChEP,4BAAK,CAACD,KAAK,EAAE,MAAM,EAAE,EAAE,EAAEQ,UAAU,EAAC;AAE/B,MAAME,yBAAyB,GAAIV,KAAe,IACvDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAE9BW,MAAAA,cAAc,GAAIX,KAAe,IAAKC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAC;AAExE,MAAMY,cAAc,GAAIZ,KAAe,IAC5CC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AAE7B,MAAMa,eAAe,GAAIb,KAAe,IAC7CC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE1B,MAAMc,gBAAgB,GAAGA,CAACd,KAAe,EAAEQ,UAAsB,KACtEP,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAEQ,UAAU,EAAC;AAE3C,MAAMO,uBAAuB,GAAIf,KAAe,IACrDC,4BAAK,CAACD,KAAK,EAAE,CACX,MAAM,EACN,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,CACxB,CAAC,CAAA;AAEG,MAAMgB,sBAAsB,GAAGA,CACpChB,KAAe,EACfQ,UAAsB,KACnBP,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,EAAE,EAAEQ,UAAU,EAAC;MAE9CS,2BAA2B,GAAIjB,KAAe,IACzDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,KAAK,EAAC;MAE3CkB,+BAA+B,GAAIlB,KAAe,IAC7DC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,KAAK,EAAC;MAE/CmB,+BAA+B,GAAInB,KAAe,IAC7DC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,KAAK,EAAC;MAE7CoB,iCAAiC,GAAIpB,KAAe,IAC/DC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAAC;MAEhDqB,8BAA8B,GAAIrB,KAAe,IAC5DC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAC;MAE3CsB,+BAA+B,GAAItB,KAAe,IAC7DC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAC;MAE5CuB,0BAA0B,GAAIvB,KAAe,IACxDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,EAAC;MAEzCwB,uBAAuB,GAAIxB,KAAe,IACrDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,EAAC;MAEpCyB,wBAAwB,GAAIzB,KAAe,IACtDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAC;MAErC0B,2BAA2B,GAAI1B,KAAe,IACzDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAC;MAE1C2B,wBAAwB,GAAI3B,KAAe,IACtDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAC;MAErC4B,yBAAyB,GAAI5B,KAAe,IACvDC,4BAAK,CAACD,KAAK,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnG3C,MAAM6B,cAAc,GAAGA,CAC5BC,UAAmB,GAAG,EAAE,EACxBC,cAA4B,GAAG,EAAE,KAC9B;EACH,IACE,CAACC,KAAK,CAACC,OAAO,CAACF,cAAc,CAAC,IAC7BC,KAAK,CAACC,OAAO,CAACF,cAAc,CAAC,IAAIA,cAAc,CAACG,MAAM,KAAK,CAAE,EAE9D,OAAO,IAAI,CAAA;AAEb,EAAA,MAAMC,UAAU,GAAGJ,cAAc,CAACK,IAAI,CAACC,aAAa,IAAI;AACtD,IAAA,OAAOP,UAAU,CAACM,IAAI,CAACE,SAAS,IAAI;AAClC,MAAA,IAAID,aAAa,CAACE,EAAE,KAAKD,SAAS,CAACC,EAAE,EAAE;AACrC,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AACA,MAAA,IAAIF,aAAa,CAACG,IAAI,KAAKF,SAAS,CAACE,IAAI,EAAE;AACzC,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,CAAC,CAAA;AACF,EAAA,OAAOL,UAAU,CAAA;AACnB;;ACxBA;MAIaM,IAAI,GAEbC,gBAA4C,IAE7CC,qBAA4B,IAAK;EAChC,MAAMC,GAAG,GAAG,CAAC,CAAA;EACb,MAAMC,KAAK,GAAG,CAAC,CAAA;AAEf,EAAA,MAAMC,OAAO,GAAGC,MAAM,CAACC,OAAO,CAACL,qBAAqB,CAAC,CAACM,MAAM,CAC1D,CAACC,QAAa,EAAEC,oBAAoB,KAAK;AACvC,IAAA,MAAMC,OAAO,GAAGD,oBAAoB,CAACP,GAAG,CAAC,CAAA;AACzC,IAAA,MAAMS,SAAS,GAAGF,oBAAoB,CAACN,KAAK,CAAC,CAAA;IAC7CK,QAAQ,CAACE,OAAO,CAAC,GACfC,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,IAAI,MAAM,IAAIA,SAAS,GAC7DA,SAAS,CAACZ,IAAI,EAAE,GAChBY,SAAS,CAAA;AACf,IAAA,OAAOH,QAAQ,CAAA;GAChB,EACD,EAAE,CACH,CAAA;AAED,EAAA,oBAAOI,yBAAA,CAAAC,aAAA,CAACb,gBAAgB,EAAKI,OAAO,CAAI,CAAA;AAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/cjs/client.js
CHANGED
|
@@ -11,11 +11,11 @@ var reactRouterDom = require('react-router-dom');
|
|
|
11
11
|
var component = require('@loadable/component');
|
|
12
12
|
var queryString = require('query-string');
|
|
13
13
|
var reactCookie = require('react-cookie');
|
|
14
|
-
var version = require('./version-
|
|
15
|
-
var version$1 = require('./version-
|
|
16
|
-
var App = require('./App-
|
|
17
|
-
var selectors = require('./selectors-
|
|
18
|
-
var ContensisDeliveryApi = require('./ContensisDeliveryApi-
|
|
14
|
+
var version = require('./version-4077e706.js');
|
|
15
|
+
var version$1 = require('./version-fe28099e.js');
|
|
16
|
+
var App = require('./App-fe5ee3d8.js');
|
|
17
|
+
var selectors = require('./selectors-bcca60f4.js');
|
|
18
|
+
var ContensisDeliveryApi = require('./ContensisDeliveryApi-c079b03a.js');
|
|
19
19
|
require('redux');
|
|
20
20
|
require('redux-thunk');
|
|
21
21
|
require('redux-saga');
|
|
@@ -26,13 +26,13 @@ require('./reducers-9afb5f89.js');
|
|
|
26
26
|
require('@redux-saga/core/effects');
|
|
27
27
|
require('history');
|
|
28
28
|
require('loglevel');
|
|
29
|
-
require('./login-
|
|
30
|
-
require('./ToJs-
|
|
29
|
+
require('./login-2a6b5be0.js');
|
|
30
|
+
require('./ToJs-6e9cfa69.js');
|
|
31
31
|
require('jsonpath-mapper');
|
|
32
32
|
require('await-to-js');
|
|
33
33
|
require('js-cookie');
|
|
34
34
|
require('contensis-delivery-api');
|
|
35
|
-
require('./RouteLoader-
|
|
35
|
+
require('./RouteLoader-7f0d107a.js');
|
|
36
36
|
require('react-router-config');
|
|
37
37
|
require('reselect');
|
|
38
38
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var ContensisDeliveryApi = require('./ContensisDeliveryApi-
|
|
5
|
+
var ContensisDeliveryApi = require('./ContensisDeliveryApi-c079b03a.js');
|
|
6
6
|
var contensisDeliveryApi = require('contensis-delivery-api');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var reactRedux = require('react-redux');
|
|
@@ -33,10 +33,10 @@ var server$1 = require('@loadable/server');
|
|
|
33
33
|
var lodash = require('lodash');
|
|
34
34
|
var lodashClean = require('lodash-clean');
|
|
35
35
|
var reactCookie = require('react-cookie');
|
|
36
|
-
var version = require('./version-
|
|
37
|
-
var App = require('./App-
|
|
38
|
-
var version$1 = require('./version-
|
|
39
|
-
var selectors = require('./selectors-
|
|
36
|
+
var version = require('./version-4077e706.js');
|
|
37
|
+
var App = require('./App-fe5ee3d8.js');
|
|
38
|
+
var version$1 = require('./version-fe28099e.js');
|
|
39
|
+
var selectors = require('./selectors-bcca60f4.js');
|
|
40
40
|
var chalk = require('chalk');
|
|
41
41
|
require('loglevel');
|
|
42
42
|
require('@redux-saga/core/effects');
|
|
@@ -46,12 +46,12 @@ require('redux-saga');
|
|
|
46
46
|
require('redux-injectors');
|
|
47
47
|
require('./reducers-9afb5f89.js');
|
|
48
48
|
require('history');
|
|
49
|
-
require('./login-
|
|
50
|
-
require('./ToJs-
|
|
49
|
+
require('./login-2a6b5be0.js');
|
|
50
|
+
require('./ToJs-6e9cfa69.js');
|
|
51
51
|
require('await-to-js');
|
|
52
52
|
require('js-cookie');
|
|
53
53
|
require('react-hot-loader');
|
|
54
|
-
require('./RouteLoader-
|
|
54
|
+
require('./RouteLoader-7f0d107a.js');
|
|
55
55
|
|
|
56
56
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
57
57
|
|
package/cjs/forms.js
CHANGED
|
@@ -36,7 +36,8 @@ const SET_FIELD_ERROR = `${ACTION_PREFIX}SET_FIELD_ERROR`;
|
|
|
36
36
|
const SET_DATE_RANGE_VALUES = `${ACTION_PREFIX}SET_DATE_RANGE_VALUES`;
|
|
37
37
|
const SET_FORM_ENTRIES = `${ACTION_PREFIX}SET_FORM_ENTRIES`;
|
|
38
38
|
const SET_SUCCESS_MESSAGE = `${ACTION_PREFIX}SET_SUCCESS_MESSAGE`;
|
|
39
|
-
const
|
|
39
|
+
const SET_MULTIPLE_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_MULTIPLE_CHECKBOX_VALUE`;
|
|
40
|
+
const SET_SINGLE_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_SINGLE_CHECKBOX_VALUE`;
|
|
40
41
|
|
|
41
42
|
const initialSettings = {
|
|
42
43
|
recaptcha: {
|
|
@@ -140,19 +141,26 @@ var reducer = immer.produce((state, action) => {
|
|
|
140
141
|
};
|
|
141
142
|
return;
|
|
142
143
|
}
|
|
143
|
-
case
|
|
144
|
+
case SET_SINGLE_CHECKBOX_VALUE:
|
|
144
145
|
{
|
|
145
146
|
const {
|
|
146
147
|
formId,
|
|
147
148
|
id,
|
|
148
|
-
value
|
|
149
|
-
isChecked
|
|
149
|
+
value
|
|
150
150
|
} = action || {};
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
state[formId].data[id] = value;
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
case SET_MULTIPLE_CHECKBOX_VALUE:
|
|
155
|
+
{
|
|
156
|
+
const {
|
|
157
|
+
formId,
|
|
158
|
+
id,
|
|
159
|
+
label,
|
|
154
160
|
value
|
|
155
|
-
}
|
|
161
|
+
} = action || {};
|
|
162
|
+
const checked = state[formId].data[id] || [];
|
|
163
|
+
if (value) state[formId].data[id] = [...checked, label];else state[formId].data[id] = checked.filter(v => v !== label);
|
|
156
164
|
return;
|
|
157
165
|
}
|
|
158
166
|
case SET_DATE_RANGE_VALUES:
|
|
@@ -808,11 +816,16 @@ const setValue = (formId, id, value) => action(SET_FIELD_VALUE, {
|
|
|
808
816
|
id,
|
|
809
817
|
value
|
|
810
818
|
});
|
|
811
|
-
const
|
|
819
|
+
const setSingleCheckboxValue = (formId, id, value) => action(SET_SINGLE_CHECKBOX_VALUE, {
|
|
812
820
|
formId,
|
|
813
821
|
id,
|
|
814
|
-
value
|
|
815
|
-
|
|
822
|
+
value
|
|
823
|
+
});
|
|
824
|
+
const setMultipleCheckboxValue = (formId, id, label, value) => action(SET_MULTIPLE_CHECKBOX_VALUE, {
|
|
825
|
+
formId,
|
|
826
|
+
id,
|
|
827
|
+
label,
|
|
828
|
+
value
|
|
816
829
|
});
|
|
817
830
|
const setDateRangeValues = (formId, id, dateType, value) => action(SET_DATE_RANGE_VALUES, {
|
|
818
831
|
formId,
|
|
@@ -837,8 +850,8 @@ const actions = {
|
|
|
837
850
|
onSubmit,
|
|
838
851
|
setFormId,
|
|
839
852
|
setValue,
|
|
840
|
-
|
|
841
|
-
|
|
853
|
+
setSingleCheckboxValue,
|
|
854
|
+
setMultipleCheckboxValue,
|
|
842
855
|
onValidateField,
|
|
843
856
|
doTogglePageForward,
|
|
844
857
|
doTogglePageBack
|
|
@@ -1279,7 +1292,6 @@ const CheckboxStyled = styled__default["default"].div.withConfig({
|
|
|
1279
1292
|
const Checkbox = ({
|
|
1280
1293
|
className,
|
|
1281
1294
|
formId,
|
|
1282
|
-
setCheckboxValue,
|
|
1283
1295
|
id,
|
|
1284
1296
|
type,
|
|
1285
1297
|
label,
|
|
@@ -1292,14 +1304,15 @@ const Checkbox = ({
|
|
|
1292
1304
|
// NF change rules of hooks
|
|
1293
1305
|
let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];
|
|
1294
1306
|
const [isChecked, setIsChecked] = React.useState(isDefaultChecked || '');
|
|
1307
|
+
const dispatch = reactRedux.useDispatch();
|
|
1295
1308
|
switch (type) {
|
|
1296
1309
|
case 'multiple':
|
|
1297
1310
|
{
|
|
1298
1311
|
if (!validations) return null;
|
|
1299
1312
|
const isRequired = validations && validations.required ? true : false;
|
|
1300
1313
|
const cbValues = validations && validations.allowedValues && validations.allowedValues.values;
|
|
1301
|
-
const _handleChange = (
|
|
1302
|
-
|
|
1314
|
+
const _handleChange = (label, value) => {
|
|
1315
|
+
dispatch(setMultipleCheckboxValue(formId, id, label, value));
|
|
1303
1316
|
};
|
|
1304
1317
|
if (!cbValues || cbValues.length < 1) return null;
|
|
1305
1318
|
return /*#__PURE__*/React__default["default"].createElement(CheckboxStyled, {
|
|
@@ -1330,9 +1343,9 @@ const Checkbox = ({
|
|
|
1330
1343
|
}
|
|
1331
1344
|
case 'single':
|
|
1332
1345
|
{
|
|
1333
|
-
const _handleChange =
|
|
1334
|
-
setIsChecked(
|
|
1335
|
-
|
|
1346
|
+
const _handleChange = value => {
|
|
1347
|
+
setIsChecked(value);
|
|
1348
|
+
dispatch(setSingleCheckboxValue(formId, id, value));
|
|
1336
1349
|
};
|
|
1337
1350
|
return /*#__PURE__*/React__default["default"].createElement(CheckboxStyled, {
|
|
1338
1351
|
className: `checkbox-container`,
|
|
@@ -1361,7 +1374,6 @@ Checkbox.propTypes = {
|
|
|
1361
1374
|
id: PropTypes__default["default"].string,
|
|
1362
1375
|
type: PropTypes__default["default"].string,
|
|
1363
1376
|
label: PropTypes__default["default"].string,
|
|
1364
|
-
setCheckboxValue: PropTypes__default["default"].func,
|
|
1365
1377
|
validations: PropTypes__default["default"].object,
|
|
1366
1378
|
defaultLanguage: PropTypes__default["default"].string,
|
|
1367
1379
|
name: PropTypes__default["default"].object,
|
|
@@ -1709,8 +1721,7 @@ const FormComposer = ({
|
|
|
1709
1721
|
defaultLanguage,
|
|
1710
1722
|
errors,
|
|
1711
1723
|
useDefaultTheme,
|
|
1712
|
-
entries
|
|
1713
|
-
setCheckboxValue
|
|
1724
|
+
entries
|
|
1714
1725
|
}) => {
|
|
1715
1726
|
if (!fields || fields.length < 1) return null;
|
|
1716
1727
|
return fields.map((field, idx) => {
|
|
@@ -1782,8 +1793,7 @@ const FormComposer = ({
|
|
|
1782
1793
|
formId: formId,
|
|
1783
1794
|
defaultValue: formData && formData[field.id] || field.default,
|
|
1784
1795
|
type: field.dataType === 'boolean' ? 'single' : 'multiple',
|
|
1785
|
-
useDefaultTheme: useDefaultTheme
|
|
1786
|
-
setCheckboxValue: setCheckboxValue
|
|
1796
|
+
useDefaultTheme: useDefaultTheme
|
|
1787
1797
|
});
|
|
1788
1798
|
}
|
|
1789
1799
|
case 'radio':
|
|
@@ -1866,8 +1876,7 @@ FormComposer.propTypes = {
|
|
|
1866
1876
|
setDateRangeValues: PropTypes__default["default"].func,
|
|
1867
1877
|
defaultLanguage: PropTypes__default["default"].string,
|
|
1868
1878
|
errors: PropTypes__default["default"].array,
|
|
1869
|
-
useDefaultTheme: PropTypes__default["default"].bool
|
|
1870
|
-
setCheckboxValue: PropTypes__default["default"].func
|
|
1879
|
+
useDefaultTheme: PropTypes__default["default"].bool
|
|
1871
1880
|
};
|
|
1872
1881
|
|
|
1873
1882
|
const Loader = ({
|
|
@@ -1978,7 +1987,6 @@ const Form = ({
|
|
|
1978
1987
|
const dispatch = reactRedux.useDispatch();
|
|
1979
1988
|
const _setFormId = formId => dispatch(setFormId(formId));
|
|
1980
1989
|
const _setValue = (formId, id, value) => dispatch(setValue(formId, id, value));
|
|
1981
|
-
const _setCheckboxValue = (formId, id, value, isChecked) => dispatch(setCheckboxValue(formId, id, value, isChecked));
|
|
1982
1990
|
const _setDateRangeValues = (formId, id, dateType, value) => dispatch(setDateRangeValues(formId, id, dateType, value));
|
|
1983
1991
|
const _onValidateField = (formId, id, value) => dispatch(onValidateField(formId, id, value));
|
|
1984
1992
|
const _doTogglePageForward = (formId, pageIndex) => dispatch(doTogglePageForward(formId, pageIndex));
|
|
@@ -2022,8 +2030,7 @@ const Form = ({
|
|
|
2022
2030
|
pagingInfo: pagingInfo,
|
|
2023
2031
|
useDefaultTheme: useDefaultTheme,
|
|
2024
2032
|
entries: entries,
|
|
2025
|
-
setDateRangeValues: _setDateRangeValues
|
|
2026
|
-
setCheckboxValue: _setCheckboxValue
|
|
2033
|
+
setDateRangeValues: _setDateRangeValues
|
|
2027
2034
|
}), pagingInfo.pageIndex > 0 && /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
2028
2035
|
className: "form__btn--prev",
|
|
2029
2036
|
type: "button",
|
|
@@ -2081,8 +2088,7 @@ const Form = ({
|
|
|
2081
2088
|
defaultLanguage: defaultLanguage,
|
|
2082
2089
|
errors: errors,
|
|
2083
2090
|
useDefaultTheme: useDefaultTheme,
|
|
2084
|
-
entries: entries
|
|
2085
|
-
setCheckboxValue: _setCheckboxValue
|
|
2091
|
+
entries: entries
|
|
2086
2092
|
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
2087
2093
|
className: "form__btn--submit",
|
|
2088
2094
|
loading: status === null || status === void 0 ? void 0 : status.isSubmitting,
|