udp-react-enterprise-component-library 25.16.2-beta.3 → 25.16.2-beta.5
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/dist/{Shell-DeIgr14Z.js → Shell-Clp49hyi.js} +2 -2
- package/dist/{Shell-DeIgr14Z.js.map → Shell-Clp49hyi.js.map} +1 -1
- package/dist/{UdpPublicForm-BMv5crcq.js → UdpPublicForm-CdIzjRfu.js} +4 -2
- package/dist/UdpPublicForm-CdIzjRfu.js.map +1 -0
- package/dist/{UdpPublicForm-BywxbXAQ.js → UdpPublicForm-DrsC55ZB.js} +1 -1
- package/dist/{UdpRoutes-DVmSmw-w.js → UdpRoutes-C-POB_ln.js} +36 -4
- package/dist/UdpRoutes-C-POB_ln.js.map +1 -0
- package/dist/index.js +6 -6
- package/dist/{menuUtilities-CiOyxtX1.js → menuUtilities-Cb70He2X.js} +19 -3
- package/dist/menuUtilities-Cb70He2X.js.map +1 -0
- package/dist/routes/index.js +1 -1
- package/dist/shell/index.js +2 -2
- package/dist/types/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/udp/utilities/useDateStringColumnDef.d.ts +1 -1
- package/dist/types/utilities/menus/menuUtilities.d.ts +4 -0
- package/dist/udp/pages/index.js +2 -2
- package/dist/{udpPages-Bvmlnzes.js → udpPages-DbrOXPn2.js} +6 -3
- package/dist/{udpPages-Bvmlnzes.js.map → udpPages-DbrOXPn2.js.map} +1 -1
- package/dist/utilities/index.js +2 -2
- package/dist/utilities/menus/index.js +2 -2
- package/export-map.json +3 -2
- package/package.json +2 -2
- package/dist/UdpPublicForm-BMv5crcq.js.map +0 -1
- package/dist/UdpRoutes-DVmSmw-w.js.map +0 -1
- package/dist/menuUtilities-CiOyxtX1.js.map +0 -1
|
@@ -7,7 +7,7 @@ import { t as PageActionWrapper } from "./PageActionWrapper-CLLGHLUx.js";
|
|
|
7
7
|
import { c as NavigationSidebar_default, r as SiteHeader_default } from "./FluentProfileMenuCard-3lEpSHmy.js";
|
|
8
8
|
import { t as UtilityBar } from "./UtilityBar-CyUTKcIa.js";
|
|
9
9
|
import { t as FUIAppSwitcher_default } from "./FUIAppSwitcher-u6lx2hy2.js";
|
|
10
|
-
import { t as getMenuItemsRecursively } from "./menuUtilities-
|
|
10
|
+
import { t as getMenuItemsRecursively } from "./menuUtilities-Cb70He2X.js";
|
|
11
11
|
import { t as ActionProvider } from "./ActionProvider-BX693NQ_.js";
|
|
12
12
|
import { t as ChatBotProvider } from "./ChatBotProvider-ZTkBY_Lp.js";
|
|
13
13
|
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
@@ -265,4 +265,4 @@ Shell.propTypes = {
|
|
|
265
265
|
|
|
266
266
|
//#endregion
|
|
267
267
|
export { Shell as t };
|
|
268
|
-
//# sourceMappingURL=Shell-
|
|
268
|
+
//# sourceMappingURL=Shell-Clp49hyi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shell-DeIgr14Z.js","names":["menus","SiteHeader","NavigationSidebar","FUIAppSwitcher"],"sources":["../src/shell/Shell.jsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport { makeStyles, Drawer, useMediaQuery, useTheme } from '@material-ui/core';\nimport NavigationSidebar from './ui/NavigationSidebar';\nimport SiteHeader from './ui/SiteHeader';\nimport { UtilityBar } from '../UI/utilityDisplay/UtilityBar';\nimport { useTranslation } from 'react-i18next';\nimport FUIAppSwitcher from './ui/appSwitcher/FUIAppSwitcher';\nimport { getMenuItemsRecursively } from '../utilities/menus/menuUtilities';\nimport clsx from 'clsx';\nimport { UtilitySideBar } from '../UI/utilityDisplay/UtilitySideBar';\nimport PropTypes from 'prop-types';\nimport { useUser } from '../utilities/auth/useUser';\nimport { ActionProvider } from '../utilities/provider/ActionProvider';\nimport { PageActionWrapper } from '../actions/PageActionWrapper';\nimport { useInquiryStore } from '../stores/inquiryStore';\nimport {\n useSetInitialShellVisibility,\n useShellStore\n} from '../stores/shellStore';\n\nimport { useBuildEnvironment, APP_RIBBON_SPACE } from './ui/EnvironmentRibbon';\nimport { ChatBotProvider } from '../utilities/chatBot/ChatBotProvider';\n\nconst MenuTypeEnums = {\n Left_Menu: 1,\n Application_Menu: 2,\n Builders_Menu: 3,\n Favorites_Menu: 4\n};\n\nconst useStyles = makeStyles(\n (theme) => ({\n '@global': {\n html: {\n minHeight: '100%'\n },\n 'html, body, #root': {\n display: 'flex',\n flexDirection: 'column'\n },\n 'body, #root': {\n flex: 1\n }\n },\n root: {\n flex: 1,\n minHeight: '100vh',\n display: 'grid',\n gridTemplateAreas: ['sidebar header', 'sidebar content']\n .map((line) => `\"${line}\"`)\n .join(' '),\n gridTemplateColumns: 'auto 1fr',\n gridTemplateRows: 'auto 1fr'\n },\n header: {\n gridArea: 'header'\n },\n sidebar: {\n gridArea: 'sidebar'\n },\n content: {\n gridArea: 'content',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n height: ({ appRibbonSpace }) => `calc(100vh - ${56 + appRibbonSpace}px)`,\n overflowY: 'auto'\n },\n paper: {\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: (props) => props.drawerWidth || 520\n }\n }\n }),\n { name: 'Layout' }\n);\n\n/**\n * Core site layout common to all pages\n */\nexport const Shell = (props) => {\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n ribbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const {\n children,\n userAvatar,\n appContent,\n leftMenu,\n appSelectorMenus,\n siteName,\n className,\n navRoot,\n hideToggle,\n useMockData,\n mockMenus,\n user: passedInUser,\n unityUrl,\n expander,\n sidebarTitle,\n navMenuHoverOn = true,\n secondExtended,\n toggleOne,\n toggleTwo,\n closePrimary,\n closeSecondary,\n panelExpanded,\n panelExpandedSecondary,\n setPanelExpanded = false,\n setPanelExpandedSecondary = false,\n breadCrumbAltLabelList = [],\n currentLocation,\n utilitySidebarResizable,\n utilitySidebarToggleOverride,\n onUtilitySidebarToggleExpandClick,\n hideLayout = false,\n getAccessToken,\n switcherData,\n selectedItem,\n switcherWidth,\n languages,\n utilityBarHasTabsOpen,\n projectSwitcherColor,\n getWidget,\n isValidWidget,\n appSwitcherHeader,\n hamburgerMenuAccessRole\n } = props;\n const contextUser = useUser();\n const user = passedInUser ?? contextUser;\n const { setGetWidget, setIsValidWidget, shellHidden } = useShellStore();\n const [appSwitcherMobile, setAppSwitcherMobile] = useState(false);\n const [appSwitcherDesktop, setAppSwitcherDesktop] = useState(false);\n const { i18n } = useTranslation();\n const inquiryTitle = useInquiryStore((state) => state.title);\n useSetInitialShellVisibility();\n\n useEffect(() => {\n setGetWidget(getWidget);\n return () => setGetWidget(null);\n }, [getWidget, setGetWidget]);\n\n useEffect(() => {\n setIsValidWidget(isValidWidget);\n return () => setIsValidWidget(null);\n }, [isValidWidget, setIsValidWidget]);\n\n const getMenuItems = useCallback(\n (menuTypeId, menus) => {\n if (!menus && !useMockData) {\n return [];\n }\n const menusToFilter = useMockData ? mockMenus : menus;\n\n const foundMenus = menusToFilter.filter(\n (menu) => menu.menuTypeId === menuTypeId && menu.active\n );\n\n if (foundMenus) {\n return foundMenus.reduce((menuItemInstanceStructureViews, menu) => {\n return [\n ...menuItemInstanceStructureViews,\n ...menu.menuItemInstanceStructureViews\n ];\n }, []);\n } else {\n return [];\n }\n },\n [useMockData, mockMenus]\n );\n\n const menus = useMemo(() => {\n const menuItems = getMenuItems(1, leftMenu);\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, leftMenu, getAccessToken]);\n\n const theme = useTheme();\n const mobile = useMediaQuery(theme.breakpoints.up('sm'));\n\n const handleAppSwitcher = (type, bool) => {\n if (type === 'mobile') {\n setAppSwitcherMobile(bool);\n } else {\n setAppSwitcherDesktop(bool);\n }\n };\n\n const builderMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Builders_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const favoriteMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Favorites_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const appMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Application_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const hideAppMenu = useMemo(\n () =>\n !appSelectorMenus ||\n (hamburgerMenuAccessRole &&\n !user?.roleNames.includes(hamburgerMenuAccessRole)),\n [user, appSelectorMenus, hamburgerMenuAccessRole]\n );\n\n useEffect(() => {\n i18n.changeLanguage('en-US');\n }, [i18n]);\n\n if (hideLayout) {\n return <div>{children}</div>;\n }\n\n return (\n <ChatBotProvider>\n <ActionProvider>\n <div className={classes.root}>\n {!shellHidden && (\n <SiteHeader\n className={classes.header}\n siteName={siteName}\n appContent={appContent}\n userAvatar={userAvatar}\n breadCrumbRoot={navRoot}\n setAppSwitcherOpen={(type, bool) => handleAppSwitcher(type, bool)}\n breadCrumbAltLabelList={breadCrumbAltLabelList}\n currentLocation={currentLocation}\n switcherData={switcherData}\n selectedItem={selectedItem}\n switcherWidth={switcherWidth}\n hideAppLaunch={hideAppMenu}\n languages={languages}\n backgroundColor={projectSwitcherColor}\n />\n )}\n\n <div style={{ display: 'flex' }} className={classes.sidebar}>\n {!shellHidden && mobile && (\n <NavigationSidebar\n className={classes.sidebar}\n data={menus}\n navMenuHoverOn={navMenuHoverOn}\n user={user}\n useGlobalState={true}\n />\n )}\n {expander && (\n <div>\n <UtilitySideBar\n title={inquiryTitle || sidebarTitle}\n resizable={utilitySidebarResizable}\n utilitySidebarToggleOverride={utilitySidebarToggleOverride}\n onUtilitySidebarToggleExpandClick={\n onUtilitySidebarToggleExpandClick\n }\n sidebarHidden={shellHidden}\n {...props}\n />\n </div>\n )}\n </div>\n\n <div className={classes.content}>\n <UtilityBar\n className={clsx(className)}\n gutters={false}\n hideToggle={hideToggle}\n expander={expander}\n secondExtended={secondExtended}\n toggleOne={toggleOne}\n toggleTwo={toggleTwo}\n closePrimary={closePrimary}\n closeSecondary={closeSecondary}\n expanded={panelExpanded}\n expandedSecondary={panelExpandedSecondary}\n setExpanded={setPanelExpanded}\n setExpandedSecondary={setPanelExpandedSecondary}\n />\n <PageActionWrapper>{children}</PageActionWrapper>\n </div>\n <Drawer\n variant='temporary'\n anchor='left'\n open={appSwitcherDesktop}\n classes={\n !mobile ? {} : !appSelectorMenus ? {} : { paper: classes.paper }\n }\n onClose={() => handleAppSwitcher('desktop', false)}\n >\n {mobile && appSelectorMenus && (\n <FUIAppSwitcher\n onClose={() => handleAppSwitcher('desktop', false)}\n favoriteMenu={favoriteMenu}\n builderMenu={builderMenu}\n appMenu={appMenu}\n unityUrl={unityUrl}\n user={user}\n header={appSwitcherHeader}\n />\n )}\n {(!mobile || (mobile && !appSelectorMenus)) && (\n <NavigationSidebar\n toggle={false}\n className={classes.sidebar}\n data={menus}\n navMenuHoverOn={navMenuHoverOn}\n user={user}\n useGlobalState={true}\n />\n )}\n </Drawer>\n\n <Drawer\n variant='temporary'\n anchor='right'\n open={appSwitcherMobile}\n classes={{ paper: classes.paper }}\n onClose={() => handleAppSwitcher('mobile', false)}\n >\n <FUIAppSwitcher\n onClose={() => handleAppSwitcher('mobile', false)}\n favoriteMenu={favoriteMenu}\n builderMenu={builderMenu}\n appMenu={appMenu}\n unityUrl={unityUrl}\n user={user}\n header={appSwitcherHeader}\n />\n </Drawer>\n </div>\n </ActionProvider>\n </ChatBotProvider>\n );\n};\n\nShell.propTypes = {\n /**\n * The newest propTypes have been added but older ones are missing @todo: add missing propTypes for Shell.\n */\n\n /**\n * The array used to map for label and functions to list items.\n */\n switcherData: PropTypes.array,\n /**\n * The active label displayed.\n */\n selectedItem: PropTypes.string,\n /**\n * Provides a method set the selector width. Default is 100.\n */\n switcherWidth: PropTypes.number,\n /**\n * Children nodes\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]).isRequired,\n\n /**\n * Name of site\n */\n siteName: PropTypes.string,\n\n /**\n * Component to render for the user Avatar\n */\n userAvatar: PropTypes.element,\n\n appContent: PropTypes.element,\n\n leftMenu: PropTypes.array,\n\n appSelectorMenus: PropTypes.array,\n\n className: PropTypes.object,\n\n navRoot: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.node]),\n\n /**\n * Should the shell use mock data\n */\n useMockData: PropTypes.bool,\n\n mockMenus: PropTypes.array,\n\n unityUrl: PropTypes.string,\n\n expander: PropTypes.bool,\n\n sidebarTitle: PropTypes.string,\n\n navMenuHoverOn: PropTypes.bool,\n\n toggleOne: PropTypes.bool,\n\n toggleTwo: PropTypes.bool,\n\n closePrimary: PropTypes.bool,\n\n closeSecondary: PropTypes.bool,\n\n panelExpanded: PropTypes.bool,\n\n panelExpandedSecondary: PropTypes.bool,\n\n setPanelExpanded: PropTypes.func,\n\n setPanelExpandedSecondary: PropTypes.func,\n\n breadCrumbAltLabelList: PropTypes.array,\n\n currentLocation: PropTypes.object,\n\n utilitySidebarResizable: PropTypes.bool,\n\n utilitySidebarToggleOverride: PropTypes.bool,\n\n onUtilitySidebarToggleExpandClick: PropTypes.func,\n\n hideLayout: PropTypes.bool,\n\n languages: PropTypes.arrayOf(PropTypes.object),\n\n utilityBarHasTabsOpen: PropTypes.bool,\n /**\n * Passes the background color on the project switcher (default: theme secondary)\n */\n projectSwitcherColor: PropTypes.string,\n getWidget: PropTypes.func,\n isValidWidget: PropTypes.func,\n currentTenant: PropTypes.object,\n hamburgerMenuAccessRole: PropTypes.string\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Shell-Clp49hyi.js","names":["menus","SiteHeader","NavigationSidebar","FUIAppSwitcher"],"sources":["../src/shell/Shell.jsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport { makeStyles, Drawer, useMediaQuery, useTheme } from '@material-ui/core';\nimport NavigationSidebar from './ui/NavigationSidebar';\nimport SiteHeader from './ui/SiteHeader';\nimport { UtilityBar } from '../UI/utilityDisplay/UtilityBar';\nimport { useTranslation } from 'react-i18next';\nimport FUIAppSwitcher from './ui/appSwitcher/FUIAppSwitcher';\nimport { getMenuItemsRecursively } from '../utilities/menus/menuUtilities';\nimport clsx from 'clsx';\nimport { UtilitySideBar } from '../UI/utilityDisplay/UtilitySideBar';\nimport PropTypes from 'prop-types';\nimport { useUser } from '../utilities/auth/useUser';\nimport { ActionProvider } from '../utilities/provider/ActionProvider';\nimport { PageActionWrapper } from '../actions/PageActionWrapper';\nimport { useInquiryStore } from '../stores/inquiryStore';\nimport {\n useSetInitialShellVisibility,\n useShellStore\n} from '../stores/shellStore';\n\nimport { useBuildEnvironment, APP_RIBBON_SPACE } from './ui/EnvironmentRibbon';\nimport { ChatBotProvider } from '../utilities/chatBot/ChatBotProvider';\n\nconst MenuTypeEnums = {\n Left_Menu: 1,\n Application_Menu: 2,\n Builders_Menu: 3,\n Favorites_Menu: 4\n};\n\nconst useStyles = makeStyles(\n (theme) => ({\n '@global': {\n html: {\n minHeight: '100%'\n },\n 'html, body, #root': {\n display: 'flex',\n flexDirection: 'column'\n },\n 'body, #root': {\n flex: 1\n }\n },\n root: {\n flex: 1,\n minHeight: '100vh',\n display: 'grid',\n gridTemplateAreas: ['sidebar header', 'sidebar content']\n .map((line) => `\"${line}\"`)\n .join(' '),\n gridTemplateColumns: 'auto 1fr',\n gridTemplateRows: 'auto 1fr'\n },\n header: {\n gridArea: 'header'\n },\n sidebar: {\n gridArea: 'sidebar'\n },\n content: {\n gridArea: 'content',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n height: ({ appRibbonSpace }) => `calc(100vh - ${56 + appRibbonSpace}px)`,\n overflowY: 'auto'\n },\n paper: {\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: (props) => props.drawerWidth || 520\n }\n }\n }),\n { name: 'Layout' }\n);\n\n/**\n * Core site layout common to all pages\n */\nexport const Shell = (props) => {\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n ribbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const {\n children,\n userAvatar,\n appContent,\n leftMenu,\n appSelectorMenus,\n siteName,\n className,\n navRoot,\n hideToggle,\n useMockData,\n mockMenus,\n user: passedInUser,\n unityUrl,\n expander,\n sidebarTitle,\n navMenuHoverOn = true,\n secondExtended,\n toggleOne,\n toggleTwo,\n closePrimary,\n closeSecondary,\n panelExpanded,\n panelExpandedSecondary,\n setPanelExpanded = false,\n setPanelExpandedSecondary = false,\n breadCrumbAltLabelList = [],\n currentLocation,\n utilitySidebarResizable,\n utilitySidebarToggleOverride,\n onUtilitySidebarToggleExpandClick,\n hideLayout = false,\n getAccessToken,\n switcherData,\n selectedItem,\n switcherWidth,\n languages,\n utilityBarHasTabsOpen,\n projectSwitcherColor,\n getWidget,\n isValidWidget,\n appSwitcherHeader,\n hamburgerMenuAccessRole\n } = props;\n const contextUser = useUser();\n const user = passedInUser ?? contextUser;\n const { setGetWidget, setIsValidWidget, shellHidden } = useShellStore();\n const [appSwitcherMobile, setAppSwitcherMobile] = useState(false);\n const [appSwitcherDesktop, setAppSwitcherDesktop] = useState(false);\n const { i18n } = useTranslation();\n const inquiryTitle = useInquiryStore((state) => state.title);\n useSetInitialShellVisibility();\n\n useEffect(() => {\n setGetWidget(getWidget);\n return () => setGetWidget(null);\n }, [getWidget, setGetWidget]);\n\n useEffect(() => {\n setIsValidWidget(isValidWidget);\n return () => setIsValidWidget(null);\n }, [isValidWidget, setIsValidWidget]);\n\n const getMenuItems = useCallback(\n (menuTypeId, menus) => {\n if (!menus && !useMockData) {\n return [];\n }\n const menusToFilter = useMockData ? mockMenus : menus;\n\n const foundMenus = menusToFilter.filter(\n (menu) => menu.menuTypeId === menuTypeId && menu.active\n );\n\n if (foundMenus) {\n return foundMenus.reduce((menuItemInstanceStructureViews, menu) => {\n return [\n ...menuItemInstanceStructureViews,\n ...menu.menuItemInstanceStructureViews\n ];\n }, []);\n } else {\n return [];\n }\n },\n [useMockData, mockMenus]\n );\n\n const menus = useMemo(() => {\n const menuItems = getMenuItems(1, leftMenu);\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, leftMenu, getAccessToken]);\n\n const theme = useTheme();\n const mobile = useMediaQuery(theme.breakpoints.up('sm'));\n\n const handleAppSwitcher = (type, bool) => {\n if (type === 'mobile') {\n setAppSwitcherMobile(bool);\n } else {\n setAppSwitcherDesktop(bool);\n }\n };\n\n const builderMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Builders_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const favoriteMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Favorites_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const appMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Application_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const hideAppMenu = useMemo(\n () =>\n !appSelectorMenus ||\n (hamburgerMenuAccessRole &&\n !user?.roleNames.includes(hamburgerMenuAccessRole)),\n [user, appSelectorMenus, hamburgerMenuAccessRole]\n );\n\n useEffect(() => {\n i18n.changeLanguage('en-US');\n }, [i18n]);\n\n if (hideLayout) {\n return <div>{children}</div>;\n }\n\n return (\n <ChatBotProvider>\n <ActionProvider>\n <div className={classes.root}>\n {!shellHidden && (\n <SiteHeader\n className={classes.header}\n siteName={siteName}\n appContent={appContent}\n userAvatar={userAvatar}\n breadCrumbRoot={navRoot}\n setAppSwitcherOpen={(type, bool) => handleAppSwitcher(type, bool)}\n breadCrumbAltLabelList={breadCrumbAltLabelList}\n currentLocation={currentLocation}\n switcherData={switcherData}\n selectedItem={selectedItem}\n switcherWidth={switcherWidth}\n hideAppLaunch={hideAppMenu}\n languages={languages}\n backgroundColor={projectSwitcherColor}\n />\n )}\n\n <div style={{ display: 'flex' }} className={classes.sidebar}>\n {!shellHidden && mobile && (\n <NavigationSidebar\n className={classes.sidebar}\n data={menus}\n navMenuHoverOn={navMenuHoverOn}\n user={user}\n useGlobalState={true}\n />\n )}\n {expander && (\n <div>\n <UtilitySideBar\n title={inquiryTitle || sidebarTitle}\n resizable={utilitySidebarResizable}\n utilitySidebarToggleOverride={utilitySidebarToggleOverride}\n onUtilitySidebarToggleExpandClick={\n onUtilitySidebarToggleExpandClick\n }\n sidebarHidden={shellHidden}\n {...props}\n />\n </div>\n )}\n </div>\n\n <div className={classes.content}>\n <UtilityBar\n className={clsx(className)}\n gutters={false}\n hideToggle={hideToggle}\n expander={expander}\n secondExtended={secondExtended}\n toggleOne={toggleOne}\n toggleTwo={toggleTwo}\n closePrimary={closePrimary}\n closeSecondary={closeSecondary}\n expanded={panelExpanded}\n expandedSecondary={panelExpandedSecondary}\n setExpanded={setPanelExpanded}\n setExpandedSecondary={setPanelExpandedSecondary}\n />\n <PageActionWrapper>{children}</PageActionWrapper>\n </div>\n <Drawer\n variant='temporary'\n anchor='left'\n open={appSwitcherDesktop}\n classes={\n !mobile ? {} : !appSelectorMenus ? {} : { paper: classes.paper }\n }\n onClose={() => handleAppSwitcher('desktop', false)}\n >\n {mobile && appSelectorMenus && (\n <FUIAppSwitcher\n onClose={() => handleAppSwitcher('desktop', false)}\n favoriteMenu={favoriteMenu}\n builderMenu={builderMenu}\n appMenu={appMenu}\n unityUrl={unityUrl}\n user={user}\n header={appSwitcherHeader}\n />\n )}\n {(!mobile || (mobile && !appSelectorMenus)) && (\n <NavigationSidebar\n toggle={false}\n className={classes.sidebar}\n data={menus}\n navMenuHoverOn={navMenuHoverOn}\n user={user}\n useGlobalState={true}\n />\n )}\n </Drawer>\n\n <Drawer\n variant='temporary'\n anchor='right'\n open={appSwitcherMobile}\n classes={{ paper: classes.paper }}\n onClose={() => handleAppSwitcher('mobile', false)}\n >\n <FUIAppSwitcher\n onClose={() => handleAppSwitcher('mobile', false)}\n favoriteMenu={favoriteMenu}\n builderMenu={builderMenu}\n appMenu={appMenu}\n unityUrl={unityUrl}\n user={user}\n header={appSwitcherHeader}\n />\n </Drawer>\n </div>\n </ActionProvider>\n </ChatBotProvider>\n );\n};\n\nShell.propTypes = {\n /**\n * The newest propTypes have been added but older ones are missing @todo: add missing propTypes for Shell.\n */\n\n /**\n * The array used to map for label and functions to list items.\n */\n switcherData: PropTypes.array,\n /**\n * The active label displayed.\n */\n selectedItem: PropTypes.string,\n /**\n * Provides a method set the selector width. Default is 100.\n */\n switcherWidth: PropTypes.number,\n /**\n * Children nodes\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]).isRequired,\n\n /**\n * Name of site\n */\n siteName: PropTypes.string,\n\n /**\n * Component to render for the user Avatar\n */\n userAvatar: PropTypes.element,\n\n appContent: PropTypes.element,\n\n leftMenu: PropTypes.array,\n\n appSelectorMenus: PropTypes.array,\n\n className: PropTypes.object,\n\n navRoot: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.node]),\n\n /**\n * Should the shell use mock data\n */\n useMockData: PropTypes.bool,\n\n mockMenus: PropTypes.array,\n\n unityUrl: PropTypes.string,\n\n expander: PropTypes.bool,\n\n sidebarTitle: PropTypes.string,\n\n navMenuHoverOn: PropTypes.bool,\n\n toggleOne: PropTypes.bool,\n\n toggleTwo: PropTypes.bool,\n\n closePrimary: PropTypes.bool,\n\n closeSecondary: PropTypes.bool,\n\n panelExpanded: PropTypes.bool,\n\n panelExpandedSecondary: PropTypes.bool,\n\n setPanelExpanded: PropTypes.func,\n\n setPanelExpandedSecondary: PropTypes.func,\n\n breadCrumbAltLabelList: PropTypes.array,\n\n currentLocation: PropTypes.object,\n\n utilitySidebarResizable: PropTypes.bool,\n\n utilitySidebarToggleOverride: PropTypes.bool,\n\n onUtilitySidebarToggleExpandClick: PropTypes.func,\n\n hideLayout: PropTypes.bool,\n\n languages: PropTypes.arrayOf(PropTypes.object),\n\n utilityBarHasTabsOpen: PropTypes.bool,\n /**\n * Passes the background color on the project switcher (default: theme secondary)\n */\n projectSwitcherColor: PropTypes.string,\n getWidget: PropTypes.func,\n isValidWidget: PropTypes.func,\n currentTenant: PropTypes.object,\n hamburgerMenuAccessRole: PropTypes.string\n};\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { i as useHandleAxiosSnackbar } from "./apiHelpers-CaBH4Wqe.js";
|
|
|
3
3
|
import React, { useEffect } from "react";
|
|
4
4
|
import { UdpFormsRenderer } from "udp-react-stencil-component-library";
|
|
5
5
|
import { useSnackbar } from "notistack";
|
|
6
|
-
import { useLocation } from "react-router-dom";
|
|
6
|
+
import { useHistory, useLocation } from "react-router-dom";
|
|
7
7
|
|
|
8
8
|
//#region src/udp/pages/UdpPublicForm.jsx
|
|
9
9
|
var UdpPublicForm_exports = /* @__PURE__ */ __export({
|
|
@@ -17,6 +17,7 @@ const useSearchParams = () => {
|
|
|
17
17
|
const UdpPublicForm = (props) => {
|
|
18
18
|
const { handleErrorSnackbar } = useHandleAxiosSnackbar();
|
|
19
19
|
const { enqueueSnackbar, closeSnackbar } = useSnackbar();
|
|
20
|
+
const history = useHistory();
|
|
20
21
|
const queryParams = useSearchParams();
|
|
21
22
|
const formId = queryParams.get("udpf_formId");
|
|
22
23
|
const tenantId = queryParams.get("udpf_tenantId");
|
|
@@ -31,6 +32,7 @@ const UdpPublicForm = (props) => {
|
|
|
31
32
|
callbackUrl,
|
|
32
33
|
enqueueSnackbar,
|
|
33
34
|
closeSnackbar,
|
|
35
|
+
history,
|
|
34
36
|
isPublic: true
|
|
35
37
|
});
|
|
36
38
|
};
|
|
@@ -38,4 +40,4 @@ var UdpPublicForm_default = UdpPublicForm;
|
|
|
38
40
|
|
|
39
41
|
//#endregion
|
|
40
42
|
export { UdpPublicForm_default as n, UdpPublicForm_exports as r, UdpPublicForm as t };
|
|
41
|
-
//# sourceMappingURL=UdpPublicForm-
|
|
43
|
+
//# sourceMappingURL=UdpPublicForm-CdIzjRfu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UdpPublicForm-CdIzjRfu.js","names":[],"sources":["../src/udp/pages/UdpPublicForm.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { UdpFormsRenderer } from 'udp-react-stencil-component-library';\nimport { useLocation, useHistory} from 'react-router-dom';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { useSnackbar } from 'notistack';\n\n\nconst useSearchParams = () => {\n const search = useLocation().search;\n\n // when params are populated with an internal redirect, like on a Page menu, the useLocation hook does not get the query params\n // so it will fallback with window.location.search in that case\n return new URLSearchParams(search || window.location.search);\n}\nexport const UdpPublicForm = (props) => {\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const history = useHistory();\n \n \n const queryParams = useSearchParams()\n\n const formId = queryParams.get('udpf_formId');\n const tenantId = queryParams.get('udpf_tenantId');\n const submissionId = queryParams.get('udpf_submissionId');\n const callbackUrl = queryParams.get('udpf_callback_url');\n\n return (\n <UdpFormsRenderer\n formId={formId}\n tenantId={tenantId}\n submissionId={submissionId}\n productId={ConfigService.config.UNITY_PRODUCT_ID}\n apiUrlBase={ConfigService.productV1ApiUrl}\n callbackUrl={callbackUrl}\n enqueueSnackbar={enqueueSnackbar}\n closeSnackbar={closeSnackbar}\n history={history}\n isPublic={true}\n />\n );\n};\n\nexport default UdpPublicForm;\n"],"mappings":";;;;;;;;;;;;AAOA,MAAM,wBAAwB;CAC5B,MAAM,SAAS,aAAa,CAAC;AAI7B,QAAO,IAAI,gBAAgB,UAAU,OAAO,SAAS,OAAO;;AAE9D,MAAa,iBAAiB,UAAU;CACtC,MAAM,EAAE,wBAAwB,wBAAwB;CACxD,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CACxD,MAAM,UAAU,YAAY;CAG5B,MAAM,cAAc,iBAAiB;CAErC,MAAM,SAAS,YAAY,IAAI,cAAc;CAC7C,MAAM,WAAW,YAAY,IAAI,gBAAgB;CACjD,MAAM,eAAe,YAAY,IAAI,oBAAoB;CACzD,MAAM,cAAc,YAAY,IAAI,oBAAoB;AAExD,QACE,oCAAC;EACS;EACE;EACI;EACd,WAAW,cAAc,OAAO;EAChC,YAAY,cAAc;EACb;EACI;EACF;EACN;EACT,UAAU;GACV;;AAIN,4BAAe"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./apiHelpers-CaBH4Wqe.js";
|
|
2
2
|
import "./pageEnums-DtccKpw_.js";
|
|
3
3
|
import "./UnitySessionStorage-DFfZhXMh.js";
|
|
4
|
-
import { n as UdpPublicForm_default, t as UdpPublicForm } from "./UdpPublicForm-
|
|
4
|
+
import { n as UdpPublicForm_default, t as UdpPublicForm } from "./UdpPublicForm-CdIzjRfu.js";
|
|
5
5
|
|
|
6
6
|
export { UdpPublicForm, UdpPublicForm_default as default };
|
|
@@ -32,16 +32,48 @@ const PrivateRoute = ({ ...otherProps }) => {
|
|
|
32
32
|
const isAuthenticated = useIsUnityAuthenticated();
|
|
33
33
|
const user = useUser();
|
|
34
34
|
const { t } = useTranslation();
|
|
35
|
-
|
|
35
|
+
const { rolesMap, menuActiveMap } = otherProps;
|
|
36
|
+
const userRoles = user.roleIds;
|
|
37
|
+
let pathAsKey = otherProps.path.toLowerCase().replaceAll(" ", "").replace("/", "");
|
|
38
|
+
pathAsKey = pathAsKey.split("/:")[0];
|
|
39
|
+
const userHasAccessToTenant = useMemo(() => {
|
|
36
40
|
if (user?.tenantIds?.includes(user.currentTenantId)) return true;
|
|
37
41
|
return false;
|
|
38
|
-
}, [user])
|
|
42
|
+
}, [user]);
|
|
43
|
+
const userHasRoles = useMemo(() => {
|
|
44
|
+
if (rolesMap?.size > 0) {
|
|
45
|
+
if (!rolesMap.has(pathAsKey)) return false;
|
|
46
|
+
return rolesMap.get(pathAsKey).every((element) => userRoles.includes(element));
|
|
47
|
+
}
|
|
48
|
+
}, [
|
|
49
|
+
userRoles,
|
|
50
|
+
rolesMap,
|
|
51
|
+
pathAsKey
|
|
52
|
+
]);
|
|
53
|
+
const menuIsActive = useMemo(() => {
|
|
54
|
+
if (menuActiveMap?.size > 0 && menuActiveMap.has(pathAsKey)) return menuActiveMap.get(pathAsKey);
|
|
55
|
+
}, [menuActiveMap, pathAsKey]);
|
|
56
|
+
if (!userHasAccessToTenant && isAuthenticated && user?.statusCode === 200) return /* @__PURE__ */ React.createElement(Route, {
|
|
39
57
|
path: "*",
|
|
40
58
|
render: (props) => /* @__PURE__ */ React.createElement(PageForbiddenRoute, {
|
|
41
59
|
message: t("You do not have access to this tenant. Please select a different Tenant."),
|
|
42
60
|
showButton: false
|
|
43
61
|
})
|
|
44
62
|
});
|
|
63
|
+
if (rolesMap?.has(pathAsKey) && !menuIsActive) return /* @__PURE__ */ React.createElement(Route, {
|
|
64
|
+
path: "*",
|
|
65
|
+
render: (props) => /* @__PURE__ */ React.createElement(PageForbiddenRoute, {
|
|
66
|
+
message: t("Trying to access inactive menu. Please check your menu configurations"),
|
|
67
|
+
showButton: false
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
if (!user.isUnitySystemAdmin && rolesMap?.size > 0 && !userHasRoles) return /* @__PURE__ */ React.createElement(Route, {
|
|
71
|
+
path: "*",
|
|
72
|
+
render: (props) => /* @__PURE__ */ React.createElement(PageForbiddenRoute, {
|
|
73
|
+
message: t("You do not have the required roles to access this page.Please contact an administrator to get access"),
|
|
74
|
+
showButton: false
|
|
75
|
+
})
|
|
76
|
+
});
|
|
45
77
|
if (isAuthenticated && user?.statusCode === 200) return /* @__PURE__ */ React.createElement(Route, otherProps);
|
|
46
78
|
return null;
|
|
47
79
|
};
|
|
@@ -50,7 +82,7 @@ const PrivateRoute = ({ ...otherProps }) => {
|
|
|
50
82
|
//#region src/routes/UdpRoutes.jsx
|
|
51
83
|
const VirtualBrowser = lazy(() => import("./VirtualBrowser-B9Hi3Ns8.js"));
|
|
52
84
|
const MenuPage = lazy(() => import("./MenuPage-0dfmiHLT.js"));
|
|
53
|
-
const UdpPublicForm = lazy(() => import("./UdpPublicForm-
|
|
85
|
+
const UdpPublicForm = lazy(() => import("./UdpPublicForm-DrsC55ZB.js"));
|
|
54
86
|
const WorkflowContainer = lazy(() => import("./WorkflowContainer-VHsUGDIl.js"));
|
|
55
87
|
const PasswordResetRedirect = lazy(() => import("./PasswordResetRedirect-CgIwYhcb.js"));
|
|
56
88
|
const MyExportsPage = lazy(() => import("./MyExportsPage-DoCWrkNv.js"));
|
|
@@ -107,4 +139,4 @@ const UdpRoutes = (props) => {
|
|
|
107
139
|
|
|
108
140
|
//#endregion
|
|
109
141
|
export { PrivateRoute as n, UdpRoutes as t };
|
|
110
|
-
//# sourceMappingURL=UdpRoutes-
|
|
142
|
+
//# sourceMappingURL=UdpRoutes-C-POB_ln.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UdpRoutes-C-POB_ln.js","names":["Switch","props"],"sources":["../src/routes/components/PageForbiddenRoute.jsx","../src/routes/PrivateRoute.jsx","../src/routes/UdpRoutes.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { PageStatus } from './PageStatus';\nimport { useTranslation } from 'react-i18next';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n marginTop: theme.spacing(4)\n }\n}));\n\nexport const PageForbiddenRoute = (props) => {\n const { title, statusCode, subheader, message, showButton } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n\n return (\n <div className={classes.root}>\n <PageStatus\n title={title ?? t('Page Forbidden')}\n statusCode={statusCode ?? '403'}\n subheader={\n subheader ?? t('Sorry, you do not have permission to view this page.')\n }\n message={message ?? t('Please contact an administrator to get access.')}\n to='/'\n buttonLabel={t('Back to Home Page')}\n showButton={showButton}\n />\n </div>\n );\n};\n","import React, { useMemo } from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useIsUnityAuthenticated } from '../utilities/auth/useIsUnityAuthenticated';\r\nimport { useUser } from '../utilities/auth/useUser';\r\nimport { PageForbiddenRoute } from './components/PageForbiddenRoute';\r\n\r\nexport const PrivateRoute = ({ ...otherProps }) => {\r\n const isAuthenticated = useIsUnityAuthenticated();\r\n const user = useUser();\r\n const { t } = useTranslation();\r\n const { rolesMap, menuActiveMap } = otherProps;\r\n const userRoles = user.roleIds;\r\n //path is passed from frontend so making sure it meets expected fromat of all lowercase, no spaces, and has format /pathname or /pathname/:param\r\n let pathAsKey = otherProps.path\r\n .toLowerCase()\r\n .replaceAll(' ', '')\r\n .replace('/', '');\r\n pathAsKey = pathAsKey.split('/:')[0];\r\n\r\n const userHasAccessToTenant = useMemo(() => {\r\n if (user?.tenantIds?.includes(user.currentTenantId)) {\r\n return true;\r\n }\r\n return false;\r\n }, [user]);\r\n\r\n const userHasRoles = useMemo(() => {\r\n if (rolesMap?.size > 0) {\r\n if (!rolesMap.has(pathAsKey)) {\r\n return false;\r\n }\r\n const routeRoles = rolesMap.get(pathAsKey);\r\n return routeRoles.every((element) => userRoles.includes(element));\r\n }\r\n }, [userRoles, rolesMap, pathAsKey]);\r\n\r\n const menuIsActive = useMemo(() => {\r\n if (menuActiveMap?.size > 0 && menuActiveMap.has(pathAsKey)) {\r\n return menuActiveMap.get(pathAsKey);\r\n }\r\n }, [menuActiveMap, pathAsKey]);\r\n\r\n if (!userHasAccessToTenant && isAuthenticated && user?.statusCode === 200) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'You do not have access to this tenant. Please select a different Tenant.'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (rolesMap?.has(pathAsKey) && !menuIsActive) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'Trying to access inactive menu. Please check your menu configurations'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (!user.isUnitySystemAdmin && rolesMap?.size > 0 && !userHasRoles) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'You do not have the required roles to access this page.Please contact an administrator to get access'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (isAuthenticated && user?.statusCode === 200) {\r\n return <Route {...otherProps} />;\r\n }\r\n\r\n return null;\r\n};\r\n","import React, { Suspense, lazy } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { PrivateRoute } from './PrivateRoute';\nimport { UdpPageEnums } from '../enums/pageEnums';\nimport { ConfigService } from 'udp-react-stencil-component-library';\nimport { PageLoading } from '../UI/feedback/PageLoading';\n\n// Lazy load route components\nconst VirtualBrowser = lazy(() =>\n import('../maintenanceEngine/virtualBrowser/VirtualBrowser')\n);\nconst MenuPage = lazy(() => import('../menuPage/MenuPage'));\nconst UdpPublicForm = lazy(() => import('../udp/pages/UdpPublicForm'));\nconst WorkflowContainer = lazy(() => import('../workflow/WorkflowContainer'));\nconst PasswordResetRedirect = lazy(() =>\n import('./components/PasswordResetRedirect')\n);\nconst MyExportsPage = lazy(() => import('../udp/export/MyExportsPage'));\nconst PageNotFoundRoute = lazy(() => import('./components/PageNotFoundRoute'));\nconst UdpMaintenanceConfigPage = lazy(() =>\n import('../udp/pages/UdpMaintenanceConfigPage')\n);\nconst UdpMaintenanceEnginePage = lazy(() =>\n import('../udp/pages/UdpMaintenanceEnginePage')\n);\n\nexport const UdpRoutes = (props) => {\n const { ...other } = props;\n return (\n <Suspense fallback={<PageLoading />}>\n <Switch>\n <PrivateRoute\n path='/virtual/:id'\n render={(props) => <VirtualBrowser {...props} {...other} />}\n />\n <PrivateRoute\n path='/menupage/:id'\n render={(props) => <MenuPage {...props} {...other} />}\n />\n\n <Route\n path={`/page/${UdpPageEnums.Udp_Public_Forms_Page}`}\n render={(props) => <UdpPublicForm {...props} {...other} />}\n />\n <Route\n path={`/passwordresetsuccess`}\n render={(props) => <PasswordResetRedirect props={props} />}\n />\n <PrivateRoute\n path='/workflowtask/:id'\n render={(props) => <WorkflowContainer {...props} {...other} />}\n />\n <PrivateRoute\n path='/myexports'\n render={(props) => (\n <MyExportsPage\n productId={ConfigService.config.UNITY_PRODUCT_ID}\n {...props}\n {...other}\n />\n )}\n />\n <PrivateRoute\n path='/crudbrowser'\n render={(props) => <UdpMaintenanceEnginePage {...props} />}\n />\n <PrivateRoute\n path='/tablebrowser'\n render={(props) => <UdpMaintenanceConfigPage {...props} />}\n />\n <PrivateRoute path='*' component={PageNotFoundRoute} />\n </Switch>\n </Suspense>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAKA,MAAM,YAAY,YAAY,WAAW,EACvC,MAAM,EACJ,WAAW,MAAM,QAAQ,EAAE,EAC5B,EACF,EAAE;AAEH,MAAa,sBAAsB,UAAU;CAC3C,MAAM,EAAE,OAAO,YAAY,WAAW,SAAS,eAAe;CAC9D,MAAM,UAAU,WAAW;CAC3B,MAAM,EAAE,MAAM,gBAAgB;AAE9B,QACE,oCAAC,SAAI,WAAW,QAAQ,QACtB,oCAAC;EACC,OAAO,SAAS,EAAE,iBAAiB;EACnC,YAAY,cAAc;EAC1B,WACE,aAAa,EAAE,uDAAuD;EAExE,SAAS,WAAW,EAAE,iDAAiD;EACvE,IAAG;EACH,aAAa,EAAE,oBAAoB;EACvB;GACZ,CACE;;;;;ACtBV,MAAa,gBAAgB,EAAE,GAAG,iBAAiB;CACjD,MAAM,kBAAkB,yBAAyB;CACjD,MAAM,OAAO,SAAS;CACtB,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,EAAE,UAAU,kBAAkB;CACpC,MAAM,YAAY,KAAK;CAEvB,IAAI,YAAY,WAAW,KACxB,aAAa,CACb,WAAW,KAAK,GAAG,CACnB,QAAQ,KAAK,GAAG;AACnB,aAAY,UAAU,MAAM,KAAK,CAAC;CAElC,MAAM,wBAAwB,cAAc;AAC1C,MAAI,MAAM,WAAW,SAAS,KAAK,gBAAgB,CACjD,QAAO;AAET,SAAO;IACN,CAAC,KAAK,CAAC;CAEV,MAAM,eAAe,cAAc;AACjC,MAAI,UAAU,OAAO,GAAG;AACtB,OAAI,CAAC,SAAS,IAAI,UAAU,CAC1B,QAAO;AAGT,UADmB,SAAS,IAAI,UAAU,CACxB,OAAO,YAAY,UAAU,SAAS,QAAQ,CAAC;;IAElE;EAAC;EAAW;EAAU;EAAU,CAAC;CAEpC,MAAM,eAAe,cAAc;AACjC,MAAI,eAAe,OAAO,KAAK,cAAc,IAAI,UAAU,CACzD,QAAO,cAAc,IAAI,UAAU;IAEpC,CAAC,eAAe,UAAU,CAAC;AAE9B,KAAI,CAAC,yBAAyB,mBAAmB,MAAM,eAAe,IACpE,QACE,oCAAC;EACC,MAAK;EACL,SAAS,UACP,oCAAC;GACC,SAAS,EACP,2EACD;GACD,YAAY;IACZ;GAEJ;AAIN,KAAI,UAAU,IAAI,UAAU,IAAI,CAAC,aAC/B,QACE,oCAAC;EACC,MAAK;EACL,SAAS,UACP,oCAAC;GACC,SAAS,EACP,wEACD;GACD,YAAY;IACZ;GAEJ;AAIN,KAAI,CAAC,KAAK,sBAAsB,UAAU,OAAO,KAAK,CAAC,aACrD,QACE,oCAAC;EACC,MAAK;EACL,SAAS,UACP,oCAAC;GACC,SAAS,EACP,uGACD;GACD,YAAY;IACZ;GAEJ;AAIN,KAAI,mBAAmB,MAAM,eAAe,IAC1C,QAAO,oCAAC,OAAU,WAAc;AAGlC,QAAO;;;;;ACvFT,MAAM,iBAAiB,WACrB,OAAO,gCACR;AACD,MAAM,WAAW,WAAW,OAAO,0BAAwB;AAC3D,MAAM,gBAAgB,WAAW,OAAO,+BAA8B;AACtE,MAAM,oBAAoB,WAAW,OAAO,mCAAiC;AAC7E,MAAM,wBAAwB,WAC5B,OAAO,uCACR;AACD,MAAM,gBAAgB,WAAW,OAAO,+BAA+B;AACvE,MAAM,oBAAoB,WAAW,OAAO,mCAAkC;AAC9E,MAAM,2BAA2B,WAC/B,OAAO,0CACR;AACD,MAAM,2BAA2B,WAC/B,OAAO,0CACR;AAED,MAAa,aAAa,UAAU;CAClC,MAAM,EAAE,GAAG,UAAU;AACrB,QACE,oCAAC,YAAS,UAAU,oCAAC,kBAAc,IACjC,oCAACA,gBACC,oCAAC;EACC,MAAK;EACL,SAAS,YAAU,oCAAC;GAAe,GAAIC;GAAO,GAAI;IAAS;GAC3D,EACF,oCAAC;EACC,MAAK;EACL,SAAS,YAAU,oCAAC;GAAS,GAAIA;GAAO,GAAI;IAAS;GACrD,EAEF,oCAAC;EACC,MAAM,SAAS,aAAa;EAC5B,SAAS,YAAU,oCAAC;GAAc,GAAIA;GAAO,GAAI;IAAS;GAC1D,EACF,oCAAC;EACC,MAAM;EACN,SAAS,YAAU,oCAAC,yBAAsB,OAAOA,UAAS;GAC1D,EACF,oCAAC;EACC,MAAK;EACL,SAAS,YAAU,oCAAC;GAAkB,GAAIA;GAAO,GAAI;IAAS;GAC9D,EACF,oCAAC;EACC,MAAK;EACL,SAAS,YACP,oCAAC;GACC,WAAW,cAAc,OAAO;GAChC,GAAIA;GACJ,GAAI;IACJ;GAEJ,EACF,oCAAC;EACC,MAAK;EACL,SAAS,YAAU,oCAAC,0BAA6BA,QAAS;GAC1D,EACF,oCAAC;EACC,MAAK;EACL,SAAS,YAAU,oCAAC,0BAA6BA,QAAS;GAC1D,EACF,oCAAC;EAAa,MAAK;EAAI,WAAW;GAAqB,CAChD,CACA"}
|
package/dist/index.js
CHANGED
|
@@ -195,7 +195,7 @@ import { i as PageContent, n as PageSectionHeader, r as PageHeader, t as PageSec
|
|
|
195
195
|
import { t as useIsUnityAuthenticated } from "./useIsUnityAuthenticated-BQZPEwr1.js";
|
|
196
196
|
import { t as PowerBIReport } from "./PowerBIReport-DWt7IHNZ.js";
|
|
197
197
|
import { t as PageStatus } from "./PageStatus-moFTkRZx.js";
|
|
198
|
-
import { n as PrivateRoute, t as UdpRoutes } from "./UdpRoutes-
|
|
198
|
+
import { n as PrivateRoute, t as UdpRoutes } from "./UdpRoutes-C-POB_ln.js";
|
|
199
199
|
import { t as PageLoading } from "./PageLoading-CE6S65Ww.js";
|
|
200
200
|
import { o as ShellDropdown, s as AmbientProjectSwitcher, t as FluentProfileMenuCard } from "./FluentProfileMenuCard-3lEpSHmy.js";
|
|
201
201
|
import "./redirectToLink-DUidqyQh.js";
|
|
@@ -210,13 +210,13 @@ import { i as InquiryHeaderTitleTarget, n as InquiryHeaderControlTarget, r as In
|
|
|
210
210
|
import { t as UtilityBar } from "./UtilityBar-CyUTKcIa.js";
|
|
211
211
|
import "./FUIAppSwitcher-u6lx2hy2.js";
|
|
212
212
|
import "./redirectToProduct-8RiwlOkw.js";
|
|
213
|
-
import { t as getMenuItemsRecursively } from "./menuUtilities-
|
|
213
|
+
import { n as getRouteRolesMapAndMenuActiveMap, t as getMenuItemsRecursively } from "./menuUtilities-Cb70He2X.js";
|
|
214
214
|
import { n as useCurrentPageReturnTo, r as useIsAuthed, t as useAuthedUser } from "./useAuthedUser-CXowatE7.js";
|
|
215
215
|
import { t as useDefaultFormValues } from "./useDefaultFormValues-DFnzUcHv.js";
|
|
216
216
|
import "./ActionLoadingContext-DVpCwfbg.js";
|
|
217
217
|
import { t as ActionProvider } from "./ActionProvider-BX693NQ_.js";
|
|
218
218
|
import "./ChatBotProvider-ZTkBY_Lp.js";
|
|
219
|
-
import { t as Shell } from "./Shell-
|
|
219
|
+
import { t as Shell } from "./Shell-Clp49hyi.js";
|
|
220
220
|
import "./useGravatar-CD9SN7Qi.js";
|
|
221
221
|
import { a as storePath, i as storeInitialPath, n as getStoredPath, r as storeCurrentPath, t as clearStoredPath } from "./LocalRedirectUrlStorage-CRvlUZw0.js";
|
|
222
222
|
import { n as getStoredExternalPath, r as storeExternalPath, t as clearStoredExternalPath } from "./ExternalRedirectUrlStorage-Bbj9JzIW.js";
|
|
@@ -228,7 +228,7 @@ import { n as UdpCrudFormFields, t as CrudForm } from "./CrudForm-CN5vjshw.js";
|
|
|
228
228
|
import "./CrudTableSidePanel-DBg4P_v7.js";
|
|
229
229
|
import "./CatalogUtilities-CgNFjItY.js";
|
|
230
230
|
import { t as UdpMaintenanceEnginePage } from "./UdpMaintenanceEnginePage-COO3GwG9.js";
|
|
231
|
-
import { a as ProgressBarWidget_exports, c as FluentStatNumber_default, d as convertISODate, f as FluentStatsSnippet_default, i as RecentlyLoadedNodesWidget_exports, l as SparklineWidget_exports, n as RemindersWidget_exports, o as FluentSecondaryStatNumber_default, s as FluentPrimaryStatNumber_default, t as UdpPages, u as DonutChartWidget_exports } from "./udpPages-
|
|
231
|
+
import { a as ProgressBarWidget_exports, c as FluentStatNumber_default, d as convertISODate, f as FluentStatsSnippet_default, i as RecentlyLoadedNodesWidget_exports, l as SparklineWidget_exports, n as RemindersWidget_exports, o as FluentSecondaryStatNumber_default, s as FluentPrimaryStatNumber_default, t as UdpPages, u as DonutChartWidget_exports } from "./udpPages-DbrOXPn2.js";
|
|
232
232
|
import { t as FluentCheckbox } from "./FluentCheckbox-BOUbx-K4.js";
|
|
233
233
|
import "./FluentIconKey-BsYZuTFE.js";
|
|
234
234
|
import "./IconLibrary-D0E9rNjT.js";
|
|
@@ -236,7 +236,7 @@ import { n as WidgetCard_default, t as ItemsWidgetCard } from "./widgets-sDcSDxc
|
|
|
236
236
|
import { t as AmbientVisualizer } from "./AmbientVisualizer-BGs-Cd_U.js";
|
|
237
237
|
import "./DataBrowserContainer-CMCGX613.js";
|
|
238
238
|
import "./RemindersCard-BnjDpLs3.js";
|
|
239
|
-
import { t as UdpPublicForm } from "./UdpPublicForm-
|
|
239
|
+
import { t as UdpPublicForm } from "./UdpPublicForm-CdIzjRfu.js";
|
|
240
240
|
import { t as AmbientAutoComplete } from "./AmbientAutoComplete-J8PArVAs.js";
|
|
241
241
|
import { o as AmbientStepper, t as ImportDataFromFileMapping } from "./ImportDataFromFileMapping-DRdpqXNn.js";
|
|
242
242
|
import { t as Divider } from "./Divider-DQ-_VuJ-.js";
|
|
@@ -4187,5 +4187,5 @@ CustomMenuPage.propTypes = {
|
|
|
4187
4187
|
var CustomMenuPage_default = CustomMenuPage;
|
|
4188
4188
|
|
|
4189
4189
|
//#endregion
|
|
4190
|
-
export { ADUserTypeEnums, Accordion, AccountFlags, ActionContext, ActionDispatchContext, ActionForm, ActionModal, ActionPanelPlacement, ActionProvider, ActionSideSheet, ActionSpeedDial, ActionSplitScreen, ActionSummaryCard, ActionSummaryHeader, ActionSummaryListContainer, ActionSummaryListItem, ActionSummaryPopover, ActionWrapper, ActionsRenderer, AddressListItem, Adornment, AgTable, AgTableButtons, AlertContainer, AlertFlag, AmChart, AmbientAlert, AmbientAutoComplete, AmbientCard, AmbientCardButton, AmbientCardTitle, AmbientDateRangeSelector, AmbientGridTemplate, AmbientList, AmbientListItem, AmbientPopoverMenuItem, AmbientProjectSwitcher, AmbientSingleDateSelector, AmbientSplitStatCard, AmbientStepper, AmbientSummaryListHeader, AmbientTextField, AmbientToast, AmbientToggleButton, AmbientToggleButtonGroup, AmbientTokenButton, AmbientVisualizationCard, AmbientVisualizer, ApiMethodInstanceUdpGrid, AppMenu, AppMenuItem, AppMenuItemComponent, AppMenuItemPropTypes, ApprovalIcon, AuthProvider, AuthProviderWrapper, AutoCompletePropertyWidget_exports as AutoCompletePropertyWidget, AvatarAlphabet, BackwardsCompatibleGrid, BarChartWidget_exports as BarChartWidget, BaseSideSheet, BioCard, Block, BooleanPropertyWidget_exports as BooleanPropertyWidget, Box, BreadCrumbMenu, BubbleWidget_exports as BubbleWidget, CardList, CardinalityTypeEnums, ChatContainer, ChatMessage, CheckboxGroup, CheckboxList, ChipAlphabet, CircleGaugeWidget, CircularProgress, CkRichEditor, ClickOpenEnums, ClientSideUdpGrid, ColorKey, CompactCard, CompactDataList, CompactDataListItem, ConfigService, ContainerTypeEnums, ContentContainer, Controls, CoreLayoutFloorplan, CrudForm, CustomMenuPage_default as CustomMenuPage, DateField, DatePropertyWidget_exports as DatePropertyWidget, DateTimeField, DateTimePropertyWidget_exports as DateTimePropertyWidget, DateTrendWidget_exports as DateTrendWidget, DensePlotWidget_exports as DensePlotWidget, DeviceTypeEnums, DiffChecker, Directory, DirectoryListItem, Divider, DonutChartWidget_exports as DonutChartWidget, DragDropFileUpload, DraggableSidebarTemplate, DynamicContainerWithMenu, Ellipse, EmptyStateDisplay, EntityAttributeEnums, EntityHeader, EntityMaintenanceUdpGrid, ExecuteApiDialog, ExpandRenderer, ExportSidesheet, ExtenderToggle, Field, FieldArrayCard, FieldType, FileUpload, FileViewer, FilterOperators, FilterSearch, FlagBlock, FloatPropertyWidget_exports as FloatPropertyWidget, FluentActivity, FluentActivityRow, FluentButton, FluentCard, FluentCardActions, FluentCardContent, FluentCardHeader, FluentCardText, FluentCheckbox, FluentColorPicker, FluentCompoundButton, FluentDataTable, FluentDatePicker, FluentDateTimePicker, FluentDialog, FluentIcon, FluentIconButton, FluentImageMap, FluentLink, FluentListElement, FluentListItem, FluentMap, FluentMenuListButton, FluentMenuListItem, FluentProfileMenuCard, FluentRadio, FluentRadioGroup, FluentScrollLoadAutocompleteMenu, FluentSearchField, FluentSelectGroupMenu, FluentSelectMenu, FluentSideNav, FluentSimpleSelect, FluentSimpleTab, FluentSimpleTabs, FluentTabPanel, FluentTabUtility, FluentTagField, FluentTagFieldComponent, FluentTextField, FluentTextFieldAutoComplete, FluentTextFieldComponent, FluentTimePicker, FluentTimeline, FluentToggle, FluentUploadButton, FluentUploadIconButton, Form, FormButtons, FormControl, FormControlLabel, FormError, FormHeader, FormSpy, FormSubHeader, FullScreenControl, GaugeWidget, GeoMap, GraphCard, Grid, GridActionBar, GridEnums, GridExcelStyleEnums, GridGroup, GridGroupingHeader, GridGroupingSidebar, GridRow, GridSidebarContainer, GridStateTypeEnums, GridUnit, HeaderExpander, HeaderLayout, IconButtonWithTooltip, IconKey, IconRenderer, IframeContainer, ImageLayer, ImportDataFromFileMapping, IndicatorChip, InfoCard, InputAdornment, InputFieldType, InputsExample, Inquiry, InquiryAdvancedSearch, InquiryAdvancedSearchForm, InquiryContainer, InquiryDashboard, InquiryHeaderControl, InquiryHeaderControlTarget, InquiryHeaderSecondary, InquiryHeaderSecondaryAlert, InquiryHeaderSecondaryAlertTarget, InquiryHeaderSecondaryTarget, InquiryHeaderTitle, InquiryHeaderTitleTarget, InquiryNodeControls, InquirySearchContainer, InquirySearchDatasource, InquirySearchTable, InquiryTreeMenu, InquiryTreeMenuItem, InquiryWrapper, InsightRenderer, IntegerPropertyWidget_exports as IntegerPropertyWidget, ItemDescription, ItemsWidgetCard, JobStatusIdMapping, JobTypeIdMapping, KeyValueTextField, Layers, LayoutUnit, LicenseKey, LineAndSparklinesWidget_exports as LineAndSparklinesWidget, LineGraphWidget_exports as LineGraphWidget, LinearProgress, ListCard, ListElement, LoadingIndicator, LogicalSearchOperatorEnums, LoginForm, LookupTypeEnums, LookupTypeIdEnums, Map, MapFilterBar, MapLayout, MapSheet, MenuItemEnums, MenuTypeEnums, MttMainTimeline, MttSummary, MttTimeline, MultilineTextPropertyWidget_exports as MultilineTextPropertyWidget, MyExportsPage, NestParent, NestWrapper, NestedGrid, NewsCard, NodeActionEnums, NodeActionTriggerEnums, NodeColumnHeader, NodeDetails, NodeGroupOutlierEnums, NodeGroupTypeEnums, NodeList, NodeLoader, Note, Notes, NotesScreen, NotificationElement, NumericPropertyWidget_exports as NumericPropertyWidget, OpenPage, OutlookCallback, PAHAdditionalRightComponent, PAHAdditionalTitleComponent, PAHExport, PDFViewer, PageContainer, PageContent, PageHeader, PageLoading, PageNotFoundRoute, PageRenderer, PageSectionHeader, PageSectionSpacer, PageStatus, PageSubHeaderAction, PageSubHeaderActionsTarget, PanelPositionEnums, ParamsMappingForm, PasswordResetRedirect, PaymentForm, PaymentMethodTypeEnum, PaymentReversalForm, PaymentTenderTypeEnum, PaymentVendorFactoryEnum, PopoverCard, PowerBIReport, PrimaryActionButton, PrimaryActionHeader, PrivateRoute, ProductEnums, ProductNameEnums, ProgressBarWidget_exports as ProgressBarWidget, PropertyField, PropertyFields, PropertyTypeEnum, QuickViewCard, RecentlyLoadedNodesTable, RecentlyLoadedNodesWidget_exports as RecentlyLoadedNodesWidget, RejectIcon, RemindersScreen, RemindersWidget_exports as RemindersWidget, RequiredFieldsMappingForm, RoleIdEnums, RoleNameEnums, RoleTypeEnums, SapFlexibleTemplate, SearchGroupingType, SearchMethodUdpGrid, SearchOperators, SearchServiceDatasource, SearchSortDirection, SearchValueType, SelectGroupMenu, SelectPropertyWidget_exports as SelectPropertyWidget, ServerSideUdpGrid, SeverityTypeEnums, Shell, ShellDropdown, SideBarTemplate, SideSheet, SideSheetHeader, SiteHeaderRightComponent, SiteHeaderRightComponentTarget, SparklineWidget_exports as SparklineWidget, SparsePlotWidget_exports as SparsePlotWidget, SplitScreenTypeEnums, StandardTitle, Statistic, StatusCellRenderer, StatusChip, StatusLineItem, Sticky, StylizedTitle, SubHeaderAction, SubHeaderActionsTarget, SubmitButton, SummaryBlock, SupportCaseSideSheet, SvgIcon, TableColumnDefs, TableContainer, TeleportSource, TenantTypeEnums, TextPropertyWidget_exports as TextPropertyWidget, ThemeProvider, TicketCard, TileDisplay, TileLayer, TimeField, TimeLine, TimePropertyWidget_exports as TimePropertyWidget, TimelineCalendar, TimelinePreloaderNode, ToggleSection, Token, TokenGroupItem, ToolBarButton, TreeViewModeEnums, TrimForAvatar, Typography, UdpAdvancedSearchBuilder, UdpBarChart, UdpCalendar, UdpCalendarDayView, UdpCalendarMonthView, UdpCalendarWeekView, UdpCalendarYearView, UdpCrudFormFields, UdpDateRangeSelector, UdpDateSelector, UdpDonutChart, UdpEnums, UdpGridTemplate, UdpKeywordEnums, UdpLineChart, UdpMaintenanceEnginePage, UdpMap, UdpMapComponent, UdpMapToolbar, UdpPageEnums, UdpPages, UdpPublicForm, UdpReminderFiledForType, UdpRoutes, UdpStepper, UdpTabPanel, UdpTabUtility, UdpTabs, UdpTimeSelector, UdpTimeline, UdpTimelineConnector, UdpTimelineContent, UdpTimelineDot, UdpTimelineItem, UdpTimelineSeparator, UnityFluentIcon, UnityIcon, UserContext, UserDispatchContext, UtilityBar, UtilityBarInport, UtilityBarInportTarget, UtilityTabHeader, VectorLayer, VerticalEnums, VisibilityTypeEnums, WidgetCard, WorkOrderCard, WorkflowContainer, ZoomControl, acquireAccessToken, apiMutate, apiResponseArrayToOptions, arrayMutators, camelToPascalCaseWithSpace, checkNodeIsHidden, clearGridState, clearStoredExternalPath, clearStoredPath, clearStoredTenant, collapseAllNodes, colors, constructBusinessObjectArrFromTree, constructDynamicNodeGroups, constructDynamicNodeGroups2, constructPreloadedTree, constructStaticNodeGroups, createTimeline, createUser, csvStrToArray, csvStrToArrayOfObjects, defaultColumnActionsDef, deleteGridState, deleteNode, deleteNodeAndChildren, evaluateRule, executeQueryAdHoc, executeQueryInstance, executeQueryInstanceWithApiMethodInstance, executeQueryWithParameters, expandAllNodes, findAllParentIds, findLastNode, findNodeById, findNodeByIdAndLabel, findNodesByIdAndLabel, findTermByType, fluentLibraryIcons, formatBytes, mttFunctions_exports as formatDataWithTimelineCategoryNameOrderedByDate, formatDateToLocaleString, formatTreeLabel, formatTreeMenuItem, getAccessToken, getAllChildrenNodesToDelete, getApiAccessScope, getApiMethodIdByPath, getBaseMethod, getCommonEntityName, getDisplayDetails, getDisplayName, getEntityAttributes, getFieldValuesForProperties, getFullyQualifiedName, getGridState, getHeaderTitle, getIconFromName, getLazyLoadChildrenArr, getLoginRequest, getMenuItemsRecursively, getMergedConfig, getNodeIdForRightBorder, getOrderedDynamicGroups, getPathObject, getPathParametersObj, getPrimaryKeyValues, getPropertiesForFieldValues, getPropertyMappingList, getPropertyMappingObj, getRatio, getSanitizedName, getSearchIdentifiers, getSearchObject, getSearchValueString, getSignInAuthProvider, getStoredExternalPath, getStoredPath, getStoredTenant, getSuccessAction, getTokenRequest, getUnityIconFromName, greyScale, handleResponseErrors, initSignInAuthProvider, loginRedirect, makeDynamicGroupStructures, makeDynamicTreeStructure, makeTreeStaticGroupStructure, makeTreeStructure, mapNodeGroupChildren, mapNodeObjValuesToSearchParameters, mapRule, mapRuleData, onFirstDataRendered, pluralize, processCatalogObjectKeysInOrder, processItemForDynamicNodeGroups, processItemForStaticNodeGroup, processObjIndex, processObjectToTree, processOrderedTreeData, processReferences, removeWhiteSpace, saveGridState, searchForMatchingNode, searchTree, storeCurrentPath, storeExternalPath, storeInitialPath, storeInitialTenant, storePath, storeTenant, toLowerFirstChar, toTitleCase, toUpperFirstChar, toUtcDate, toggleHeader, transformMenuPageTree, trimStringAfter, unityIcons, updateTreeIds, useAccessToken, useActionState, useActions, useAgGridApi, useAllTeleporters, useApiCatalog, useAuthedUser, useAxiosGet, useAxiosGetQuery, useAxiosMutate, useCatalogStore, useControlZoom, useConvertFilterModelToSearchFilters, useCrudActions, useCurrentPageReturnTo, useDateLocale, useDefaultFormValues, useDynamicListCalculation, useExport, useField, useFieldChangeListener, useFluentIcon, useForm, useFormState, useGridClear, useGridFormat, useHandleAction, useHandleAxiosSnackbar, useIsAuthed, useIsUnityAuthenticated, useItemSubCard, useLocalUserActions, useLoginAction, useLogoutAction, useLookupsStore, useNoticeUpdate, useOutlook, usePageContext, usePosition, useProductVersion, usePromotedLookupMethods, usePromotedMethodEntity, useQueryExecutors, useQuickFilter, useScreenControl, useSearchFilterParamsMap, useServerSideDatasource, useSetInitialShellVisibility, useSetLocationState, useShellStore, useSingleLogout, useStyles, useSystemColor, useTenant, useTenantStore, useTypeScale, useUdpExport, useUser, useUserActions, useWorkflowStore, verticalPrimary, verticalSecondary, whitelistedPaths };
|
|
4190
|
+
export { ADUserTypeEnums, Accordion, AccountFlags, ActionContext, ActionDispatchContext, ActionForm, ActionModal, ActionPanelPlacement, ActionProvider, ActionSideSheet, ActionSpeedDial, ActionSplitScreen, ActionSummaryCard, ActionSummaryHeader, ActionSummaryListContainer, ActionSummaryListItem, ActionSummaryPopover, ActionWrapper, ActionsRenderer, AddressListItem, Adornment, AgTable, AgTableButtons, AlertContainer, AlertFlag, AmChart, AmbientAlert, AmbientAutoComplete, AmbientCard, AmbientCardButton, AmbientCardTitle, AmbientDateRangeSelector, AmbientGridTemplate, AmbientList, AmbientListItem, AmbientPopoverMenuItem, AmbientProjectSwitcher, AmbientSingleDateSelector, AmbientSplitStatCard, AmbientStepper, AmbientSummaryListHeader, AmbientTextField, AmbientToast, AmbientToggleButton, AmbientToggleButtonGroup, AmbientTokenButton, AmbientVisualizationCard, AmbientVisualizer, ApiMethodInstanceUdpGrid, AppMenu, AppMenuItem, AppMenuItemComponent, AppMenuItemPropTypes, ApprovalIcon, AuthProvider, AuthProviderWrapper, AutoCompletePropertyWidget_exports as AutoCompletePropertyWidget, AvatarAlphabet, BackwardsCompatibleGrid, BarChartWidget_exports as BarChartWidget, BaseSideSheet, BioCard, Block, BooleanPropertyWidget_exports as BooleanPropertyWidget, Box, BreadCrumbMenu, BubbleWidget_exports as BubbleWidget, CardList, CardinalityTypeEnums, ChatContainer, ChatMessage, CheckboxGroup, CheckboxList, ChipAlphabet, CircleGaugeWidget, CircularProgress, CkRichEditor, ClickOpenEnums, ClientSideUdpGrid, ColorKey, CompactCard, CompactDataList, CompactDataListItem, ConfigService, ContainerTypeEnums, ContentContainer, Controls, CoreLayoutFloorplan, CrudForm, CustomMenuPage_default as CustomMenuPage, DateField, DatePropertyWidget_exports as DatePropertyWidget, DateTimeField, DateTimePropertyWidget_exports as DateTimePropertyWidget, DateTrendWidget_exports as DateTrendWidget, DensePlotWidget_exports as DensePlotWidget, DeviceTypeEnums, DiffChecker, Directory, DirectoryListItem, Divider, DonutChartWidget_exports as DonutChartWidget, DragDropFileUpload, DraggableSidebarTemplate, DynamicContainerWithMenu, Ellipse, EmptyStateDisplay, EntityAttributeEnums, EntityHeader, EntityMaintenanceUdpGrid, ExecuteApiDialog, ExpandRenderer, ExportSidesheet, ExtenderToggle, Field, FieldArrayCard, FieldType, FileUpload, FileViewer, FilterOperators, FilterSearch, FlagBlock, FloatPropertyWidget_exports as FloatPropertyWidget, FluentActivity, FluentActivityRow, FluentButton, FluentCard, FluentCardActions, FluentCardContent, FluentCardHeader, FluentCardText, FluentCheckbox, FluentColorPicker, FluentCompoundButton, FluentDataTable, FluentDatePicker, FluentDateTimePicker, FluentDialog, FluentIcon, FluentIconButton, FluentImageMap, FluentLink, FluentListElement, FluentListItem, FluentMap, FluentMenuListButton, FluentMenuListItem, FluentProfileMenuCard, FluentRadio, FluentRadioGroup, FluentScrollLoadAutocompleteMenu, FluentSearchField, FluentSelectGroupMenu, FluentSelectMenu, FluentSideNav, FluentSimpleSelect, FluentSimpleTab, FluentSimpleTabs, FluentTabPanel, FluentTabUtility, FluentTagField, FluentTagFieldComponent, FluentTextField, FluentTextFieldAutoComplete, FluentTextFieldComponent, FluentTimePicker, FluentTimeline, FluentToggle, FluentUploadButton, FluentUploadIconButton, Form, FormButtons, FormControl, FormControlLabel, FormError, FormHeader, FormSpy, FormSubHeader, FullScreenControl, GaugeWidget, GeoMap, GraphCard, Grid, GridActionBar, GridEnums, GridExcelStyleEnums, GridGroup, GridGroupingHeader, GridGroupingSidebar, GridRow, GridSidebarContainer, GridStateTypeEnums, GridUnit, HeaderExpander, HeaderLayout, IconButtonWithTooltip, IconKey, IconRenderer, IframeContainer, ImageLayer, ImportDataFromFileMapping, IndicatorChip, InfoCard, InputAdornment, InputFieldType, InputsExample, Inquiry, InquiryAdvancedSearch, InquiryAdvancedSearchForm, InquiryContainer, InquiryDashboard, InquiryHeaderControl, InquiryHeaderControlTarget, InquiryHeaderSecondary, InquiryHeaderSecondaryAlert, InquiryHeaderSecondaryAlertTarget, InquiryHeaderSecondaryTarget, InquiryHeaderTitle, InquiryHeaderTitleTarget, InquiryNodeControls, InquirySearchContainer, InquirySearchDatasource, InquirySearchTable, InquiryTreeMenu, InquiryTreeMenuItem, InquiryWrapper, InsightRenderer, IntegerPropertyWidget_exports as IntegerPropertyWidget, ItemDescription, ItemsWidgetCard, JobStatusIdMapping, JobTypeIdMapping, KeyValueTextField, Layers, LayoutUnit, LicenseKey, LineAndSparklinesWidget_exports as LineAndSparklinesWidget, LineGraphWidget_exports as LineGraphWidget, LinearProgress, ListCard, ListElement, LoadingIndicator, LogicalSearchOperatorEnums, LoginForm, LookupTypeEnums, LookupTypeIdEnums, Map, MapFilterBar, MapLayout, MapSheet, MenuItemEnums, MenuTypeEnums, MttMainTimeline, MttSummary, MttTimeline, MultilineTextPropertyWidget_exports as MultilineTextPropertyWidget, MyExportsPage, NestParent, NestWrapper, NestedGrid, NewsCard, NodeActionEnums, NodeActionTriggerEnums, NodeColumnHeader, NodeDetails, NodeGroupOutlierEnums, NodeGroupTypeEnums, NodeList, NodeLoader, Note, Notes, NotesScreen, NotificationElement, NumericPropertyWidget_exports as NumericPropertyWidget, OpenPage, OutlookCallback, PAHAdditionalRightComponent, PAHAdditionalTitleComponent, PAHExport, PDFViewer, PageContainer, PageContent, PageHeader, PageLoading, PageNotFoundRoute, PageRenderer, PageSectionHeader, PageSectionSpacer, PageStatus, PageSubHeaderAction, PageSubHeaderActionsTarget, PanelPositionEnums, ParamsMappingForm, PasswordResetRedirect, PaymentForm, PaymentMethodTypeEnum, PaymentReversalForm, PaymentTenderTypeEnum, PaymentVendorFactoryEnum, PopoverCard, PowerBIReport, PrimaryActionButton, PrimaryActionHeader, PrivateRoute, ProductEnums, ProductNameEnums, ProgressBarWidget_exports as ProgressBarWidget, PropertyField, PropertyFields, PropertyTypeEnum, QuickViewCard, RecentlyLoadedNodesTable, RecentlyLoadedNodesWidget_exports as RecentlyLoadedNodesWidget, RejectIcon, RemindersScreen, RemindersWidget_exports as RemindersWidget, RequiredFieldsMappingForm, RoleIdEnums, RoleNameEnums, RoleTypeEnums, SapFlexibleTemplate, SearchGroupingType, SearchMethodUdpGrid, SearchOperators, SearchServiceDatasource, SearchSortDirection, SearchValueType, SelectGroupMenu, SelectPropertyWidget_exports as SelectPropertyWidget, ServerSideUdpGrid, SeverityTypeEnums, Shell, ShellDropdown, SideBarTemplate, SideSheet, SideSheetHeader, SiteHeaderRightComponent, SiteHeaderRightComponentTarget, SparklineWidget_exports as SparklineWidget, SparsePlotWidget_exports as SparsePlotWidget, SplitScreenTypeEnums, StandardTitle, Statistic, StatusCellRenderer, StatusChip, StatusLineItem, Sticky, StylizedTitle, SubHeaderAction, SubHeaderActionsTarget, SubmitButton, SummaryBlock, SupportCaseSideSheet, SvgIcon, TableColumnDefs, TableContainer, TeleportSource, TenantTypeEnums, TextPropertyWidget_exports as TextPropertyWidget, ThemeProvider, TicketCard, TileDisplay, TileLayer, TimeField, TimeLine, TimePropertyWidget_exports as TimePropertyWidget, TimelineCalendar, TimelinePreloaderNode, ToggleSection, Token, TokenGroupItem, ToolBarButton, TreeViewModeEnums, TrimForAvatar, Typography, UdpAdvancedSearchBuilder, UdpBarChart, UdpCalendar, UdpCalendarDayView, UdpCalendarMonthView, UdpCalendarWeekView, UdpCalendarYearView, UdpCrudFormFields, UdpDateRangeSelector, UdpDateSelector, UdpDonutChart, UdpEnums, UdpGridTemplate, UdpKeywordEnums, UdpLineChart, UdpMaintenanceEnginePage, UdpMap, UdpMapComponent, UdpMapToolbar, UdpPageEnums, UdpPages, UdpPublicForm, UdpReminderFiledForType, UdpRoutes, UdpStepper, UdpTabPanel, UdpTabUtility, UdpTabs, UdpTimeSelector, UdpTimeline, UdpTimelineConnector, UdpTimelineContent, UdpTimelineDot, UdpTimelineItem, UdpTimelineSeparator, UnityFluentIcon, UnityIcon, UserContext, UserDispatchContext, UtilityBar, UtilityBarInport, UtilityBarInportTarget, UtilityTabHeader, VectorLayer, VerticalEnums, VisibilityTypeEnums, WidgetCard, WorkOrderCard, WorkflowContainer, ZoomControl, acquireAccessToken, apiMutate, apiResponseArrayToOptions, arrayMutators, camelToPascalCaseWithSpace, checkNodeIsHidden, clearGridState, clearStoredExternalPath, clearStoredPath, clearStoredTenant, collapseAllNodes, colors, constructBusinessObjectArrFromTree, constructDynamicNodeGroups, constructDynamicNodeGroups2, constructPreloadedTree, constructStaticNodeGroups, createTimeline, createUser, csvStrToArray, csvStrToArrayOfObjects, defaultColumnActionsDef, deleteGridState, deleteNode, deleteNodeAndChildren, evaluateRule, executeQueryAdHoc, executeQueryInstance, executeQueryInstanceWithApiMethodInstance, executeQueryWithParameters, expandAllNodes, findAllParentIds, findLastNode, findNodeById, findNodeByIdAndLabel, findNodesByIdAndLabel, findTermByType, fluentLibraryIcons, formatBytes, mttFunctions_exports as formatDataWithTimelineCategoryNameOrderedByDate, formatDateToLocaleString, formatTreeLabel, formatTreeMenuItem, getAccessToken, getAllChildrenNodesToDelete, getApiAccessScope, getApiMethodIdByPath, getBaseMethod, getCommonEntityName, getDisplayDetails, getDisplayName, getEntityAttributes, getFieldValuesForProperties, getFullyQualifiedName, getGridState, getHeaderTitle, getIconFromName, getLazyLoadChildrenArr, getLoginRequest, getMenuItemsRecursively, getMergedConfig, getNodeIdForRightBorder, getOrderedDynamicGroups, getPathObject, getPathParametersObj, getPrimaryKeyValues, getPropertiesForFieldValues, getPropertyMappingList, getPropertyMappingObj, getRatio, getRouteRolesMapAndMenuActiveMap, getSanitizedName, getSearchIdentifiers, getSearchObject, getSearchValueString, getSignInAuthProvider, getStoredExternalPath, getStoredPath, getStoredTenant, getSuccessAction, getTokenRequest, getUnityIconFromName, greyScale, handleResponseErrors, initSignInAuthProvider, loginRedirect, makeDynamicGroupStructures, makeDynamicTreeStructure, makeTreeStaticGroupStructure, makeTreeStructure, mapNodeGroupChildren, mapNodeObjValuesToSearchParameters, mapRule, mapRuleData, onFirstDataRendered, pluralize, processCatalogObjectKeysInOrder, processItemForDynamicNodeGroups, processItemForStaticNodeGroup, processObjIndex, processObjectToTree, processOrderedTreeData, processReferences, removeWhiteSpace, saveGridState, searchForMatchingNode, searchTree, storeCurrentPath, storeExternalPath, storeInitialPath, storeInitialTenant, storePath, storeTenant, toLowerFirstChar, toTitleCase, toUpperFirstChar, toUtcDate, toggleHeader, transformMenuPageTree, trimStringAfter, unityIcons, updateTreeIds, useAccessToken, useActionState, useActions, useAgGridApi, useAllTeleporters, useApiCatalog, useAuthedUser, useAxiosGet, useAxiosGetQuery, useAxiosMutate, useCatalogStore, useControlZoom, useConvertFilterModelToSearchFilters, useCrudActions, useCurrentPageReturnTo, useDateLocale, useDefaultFormValues, useDynamicListCalculation, useExport, useField, useFieldChangeListener, useFluentIcon, useForm, useFormState, useGridClear, useGridFormat, useHandleAction, useHandleAxiosSnackbar, useIsAuthed, useIsUnityAuthenticated, useItemSubCard, useLocalUserActions, useLoginAction, useLogoutAction, useLookupsStore, useNoticeUpdate, useOutlook, usePageContext, usePosition, useProductVersion, usePromotedLookupMethods, usePromotedMethodEntity, useQueryExecutors, useQuickFilter, useScreenControl, useSearchFilterParamsMap, useServerSideDatasource, useSetInitialShellVisibility, useSetLocationState, useShellStore, useSingleLogout, useStyles, useSystemColor, useTenant, useTenantStore, useTypeScale, useUdpExport, useUser, useUserActions, useWorkflowStore, verticalPrimary, verticalSecondary, whitelistedPaths };
|
|
4191
4191
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as UdpPageEnums } from "./pageEnums-DtccKpw_.js";
|
|
2
|
-
import { i as DeviceTypeEnums } from "./unitySystemEnums-C3qeqk7V.js";
|
|
2
|
+
import { i as DeviceTypeEnums, m as MenuItemEnums } from "./unitySystemEnums-C3qeqk7V.js";
|
|
3
3
|
import * as Icons from "@fluentui/react-icons";
|
|
4
4
|
import { isDesktop, isMobileOnly, isTablet } from "react-device-detect";
|
|
5
5
|
|
|
@@ -49,7 +49,23 @@ const getFormattedSlug = (slug, params) => {
|
|
|
49
49
|
else if (params?.PageId === UdpPageEnums.Udp_Data_Browser_Page) formattedSlug = `${slug}?queryId=${params?.queryId}`;
|
|
50
50
|
return formattedSlug;
|
|
51
51
|
};
|
|
52
|
+
const getRouteRolesMapAndMenuActiveMap = (menu) => {
|
|
53
|
+
const updatedRolesMap = /* @__PURE__ */ new Map();
|
|
54
|
+
const updatedisMenuActiveMap = /* @__PURE__ */ new Map();
|
|
55
|
+
menu[0].menuItemInstanceStructureViews.map((menuItemInstanceStructureView) => {
|
|
56
|
+
let menuItemInstance = menuItemInstanceStructureView.menuItemInstance;
|
|
57
|
+
if (menuItemInstance.menuItemId == MenuItemEnums.Route) {
|
|
58
|
+
let formattedMenuItemName = menuItemInstance.name.toLowerCase().replaceAll(" ", "");
|
|
59
|
+
updatedRolesMap.set(formattedMenuItemName, menuItemInstance.roleIds);
|
|
60
|
+
updatedisMenuActiveMap.set(formattedMenuItemName, menuItemInstance.isActive);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
rolesMap: updatedRolesMap,
|
|
65
|
+
menuActiveMap: updatedisMenuActiveMap
|
|
66
|
+
};
|
|
67
|
+
};
|
|
52
68
|
|
|
53
69
|
//#endregion
|
|
54
|
-
export { getMenuItemsRecursively as t };
|
|
55
|
-
//# sourceMappingURL=menuUtilities-
|
|
70
|
+
export { getRouteRolesMapAndMenuActiveMap as n, getMenuItemsRecursively as t };
|
|
71
|
+
//# sourceMappingURL=menuUtilities-Cb70He2X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menuUtilities-Cb70He2X.js","names":[],"sources":["../src/utilities/menus/menuUtilities.js"],"sourcesContent":["import * as Icons from '@fluentui/react-icons';\nimport { UdpPageEnums } from '../../enums/pageEnums';\nimport { isMobileOnly, isTablet, isDesktop } from 'react-device-detect';\nimport { DeviceTypeEnums,MenuItemEnums } from '../../enums/unitySystemEnums';\n\nexport const getMenuItemsRecursively = (\n menuItems,\n activeOnly,\n user,\n getAccessToken,\n checkDeviceSize = true\n) => {\n return menuItems.reduce((formattedItems, item) => {\n try {\n if (activeOnly && !item.menuItemInstance.isActive) {\n return formattedItems;\n }\n const parameters = JSON.parse(item.menuItemInstance.parameters);\n const {\n FluentIcon,\n WorkFlowIcon,\n AppIcon,\n Label,\n Slug,\n RedirectURL,\n AppendTokenToURL,\n DevicesHiddenOn,\n appendCurrentTenant,\n ...otherParams\n } = parameters;\n let redirectInfo = '';\n if (RedirectURL) {\n redirectInfo = RedirectURL;\n if (appendCurrentTenant) {\n redirectInfo = `${RedirectURL}?tenantId=${\n user?.currentTenantId || ''\n }`;\n }\n }\n const formattedParameters = {\n id: item.menuItemInstance.menuItemInstanceId,\n label: Label ?? '',\n link: getFormattedSlug(Slug, { ...otherParams }) ?? '',\n redirectInfo: redirectInfo,\n getAccessToken:\n getAccessToken && AppendTokenToURL ? getAccessToken : null,\n menuItemId: item.menuItemInstance.menuItemId,\n menuStructureId: item.menuStructureId,\n parentId: item.parentId,\n productId: item.menuItemInstance.productId,\n isActive: item.menuItemInstance.isActive,\n roleIds: item.menuItemInstance.roleIds,\n tenantSsoId: item?.menuItemInstance?.tenantSsoId,\n devicesHiddenOn: DevicesHiddenOn || [],\n params: { ...otherParams }\n };\n\n let iconName = '';\n if (FluentIcon) {\n iconName = FluentIcon;\n } else if (WorkFlowIcon) {\n iconName = WorkFlowIcon;\n }\n formattedParameters.icon = iconName ? Icons[iconName] : null;\n formattedParameters.iconName = iconName ? iconName : null;\n\n formattedParameters['items'] = item.menuItemInstanceStructures.length\n ? getMenuItemsRecursively(\n item.menuItemInstanceStructures,\n activeOnly,\n user,\n getAccessToken,\n checkDeviceSize\n )\n : [];\n if (checkDeviceSize) {\n if (\n !(\n isDesktop &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Desktop\n )\n ) &&\n !(\n isTablet &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Tablet\n )\n ) &&\n !(\n isMobileOnly &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Mobile\n )\n )\n ) {\n formattedItems.push(formattedParameters);\n }\n } else {\n formattedItems.push(formattedParameters);\n }\n } catch {\n // catching parse error\n }\n return formattedItems;\n }, []);\n};\n\nconst getFormattedSlug = (slug, params) => {\n let formattedSlug = slug;\n if (params?.PageId === UdpPageEnums.Udp_Maintenance_Engine_Page) {\n formattedSlug = `${slug}${\n params?.entityName ? `?entityName=${params?.entityName}` : ''\n }`;\n } else if (params?.PageId === UdpPageEnums.Udp_Data_Browser_Page) {\n formattedSlug = `${slug}?queryId=${params?.queryId}`;\n }\n\n return formattedSlug;\n};\n\nexport const getRouteRolesMapAndMenuActiveMap = (menu) => {\n const updatedRolesMap = new Map()\n const updatedisMenuActiveMap = new Map()\n menu[0].menuItemInstanceStructureViews.map((menuItemInstanceStructureView) => {\n let menuItemInstance = menuItemInstanceStructureView.menuItemInstance\n if (menuItemInstance.menuItemId == MenuItemEnums.Route) {\n let formattedMenuItemName = menuItemInstance.name.toLowerCase().replaceAll(\" \", \"\")\n updatedRolesMap.set(formattedMenuItemName, menuItemInstance.roleIds)\n updatedisMenuActiveMap.set(formattedMenuItemName, menuItemInstance.isActive)\n }\n })\n return {rolesMap: updatedRolesMap, menuActiveMap: updatedisMenuActiveMap}\n}\n"],"mappings":";;;;;;AAKA,MAAa,2BACX,WACA,YACA,MACA,gBACA,kBAAkB,SACf;AACH,QAAO,UAAU,QAAQ,gBAAgB,SAAS;AAChD,MAAI;AACF,OAAI,cAAc,CAAC,KAAK,iBAAiB,SACvC,QAAO;GAGT,MAAM,EACJ,YACA,cACA,SACA,OACA,MACA,aACA,kBACA,iBACA,oBACA,GAAG,gBAXc,KAAK,MAAM,KAAK,iBAAiB,WAAW;GAa/D,IAAI,eAAe;AACnB,OAAI,aAAa;AACf,mBAAe;AACf,QAAI,oBACF,gBAAe,GAAG,YAAY,YAC5B,MAAM,mBAAmB;;GAI/B,MAAM,sBAAsB;IAC1B,IAAI,KAAK,iBAAiB;IAC1B,OAAO,SAAS;IAChB,MAAM,iBAAiB,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI;IACtC;IACd,gBACE,kBAAkB,mBAAmB,iBAAiB;IACxD,YAAY,KAAK,iBAAiB;IAClC,iBAAiB,KAAK;IACtB,UAAU,KAAK;IACf,WAAW,KAAK,iBAAiB;IACjC,UAAU,KAAK,iBAAiB;IAChC,SAAS,KAAK,iBAAiB;IAC/B,aAAa,MAAM,kBAAkB;IACrC,iBAAiB,mBAAmB,EAAE;IACtC,QAAQ,EAAE,GAAG,aAAa;IAC3B;GAED,IAAI,WAAW;AACf,OAAI,WACF,YAAW;YACF,aACT,YAAW;AAEb,uBAAoB,OAAO,WAAW,MAAM,YAAY;AACxD,uBAAoB,WAAW,WAAW,WAAW;AAErD,uBAAoB,WAAW,KAAK,2BAA2B,SAC3D,wBACE,KAAK,4BACL,YACA,MACA,gBACA,gBACD,GACD,EAAE;AACN,OAAI,iBACF;QACE,EACE,aACA,qBAAqB,iBAAiB,SACpC,gBAAgB,QACjB,KAEH,EACE,YACA,qBAAqB,iBAAiB,SACpC,gBAAgB,OACjB,KAEH,EACE,gBACA,qBAAqB,iBAAiB,SACpC,gBAAgB,OACjB,EAGH,gBAAe,KAAK,oBAAoB;SAG1C,gBAAe,KAAK,oBAAoB;UAEpC;AAGR,SAAO;IACN,EAAE,CAAC;;AAGR,MAAM,oBAAoB,MAAM,WAAW;CACzC,IAAI,gBAAgB;AACpB,KAAI,QAAQ,WAAW,aAAa,4BAClC,iBAAgB,GAAG,OACjB,QAAQ,aAAa,eAAe,QAAQ,eAAe;UAEpD,QAAQ,WAAW,aAAa,sBACzC,iBAAgB,GAAG,KAAK,WAAW,QAAQ;AAG7C,QAAO;;AAGT,MAAa,oCAAoC,SAAS;CACxD,MAAM,kCAAkB,IAAI,KAAK;CACjC,MAAM,yCAAyB,IAAI,KAAK;AACxC,MAAK,GAAG,+BAA+B,KAAK,kCAAkC;EAC5E,IAAI,mBAAmB,8BAA8B;AACrD,MAAI,iBAAiB,cAAc,cAAc,OAAO;GACtD,IAAI,wBAAwB,iBAAiB,KAAK,aAAa,CAAC,WAAW,KAAK,GAAG;AACnF,mBAAgB,IAAI,uBAAuB,iBAAiB,QAAQ;AACpE,0BAAuB,IAAI,uBAAuB,iBAAiB,SAAS;;GAE9E;AACF,QAAO;EAAC,UAAU;EAAiB,eAAe;EAAuB"}
|
package/dist/routes/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import "../pageEnums-DtccKpw_.js";
|
|
|
2
2
|
import "../useUser--tP6DN4i.js";
|
|
3
3
|
import "../useIsUnityAuthenticated-BQZPEwr1.js";
|
|
4
4
|
import "../PageStatus-moFTkRZx.js";
|
|
5
|
-
import { n as PrivateRoute, t as UdpRoutes } from "../UdpRoutes-
|
|
5
|
+
import { n as PrivateRoute, t as UdpRoutes } from "../UdpRoutes-C-POB_ln.js";
|
|
6
6
|
import "../PageLoading-CE6S65Ww.js";
|
|
7
7
|
|
|
8
8
|
export { PrivateRoute, UdpRoutes };
|
package/dist/shell/index.js
CHANGED
|
@@ -106,13 +106,13 @@ import "../InquiryHeaderControl-DClEzP6_.js";
|
|
|
106
106
|
import "../UtilityBar-CyUTKcIa.js";
|
|
107
107
|
import "../FUIAppSwitcher-u6lx2hy2.js";
|
|
108
108
|
import "../redirectToProduct-8RiwlOkw.js";
|
|
109
|
-
import "../menuUtilities-
|
|
109
|
+
import "../menuUtilities-Cb70He2X.js";
|
|
110
110
|
import "../useAuthedUser-CXowatE7.js";
|
|
111
111
|
import "../useDefaultFormValues-DFnzUcHv.js";
|
|
112
112
|
import "../ActionLoadingContext-DVpCwfbg.js";
|
|
113
113
|
import "../ActionProvider-BX693NQ_.js";
|
|
114
114
|
import "../ChatBotProvider-ZTkBY_Lp.js";
|
|
115
|
-
import { t as Shell } from "../Shell-
|
|
115
|
+
import { t as Shell } from "../Shell-Clp49hyi.js";
|
|
116
116
|
import "../useGravatar-CD9SN7Qi.js";
|
|
117
117
|
import "../LocalRedirectUrlStorage-CRvlUZw0.js";
|
|
118
118
|
import "../ExternalRedirectUrlStorage-Bbj9JzIW.js";
|
|
@@ -5,6 +5,7 @@ export declare const TableColumnDefs: (actionList: any) => ({
|
|
|
5
5
|
wrapText: boolean;
|
|
6
6
|
autoHeight: boolean;
|
|
7
7
|
sortable: boolean;
|
|
8
|
+
filter?: undefined;
|
|
8
9
|
pinned?: undefined;
|
|
9
10
|
cellRenderer?: undefined;
|
|
10
11
|
// minWidth: 50,
|
|
@@ -13,7 +14,6 @@ export declare const TableColumnDefs: (actionList: any) => ({
|
|
|
13
14
|
maxWidth?: undefined;
|
|
14
15
|
suppressMenu?: undefined;
|
|
15
16
|
cellStyle?: undefined;
|
|
16
|
-
filter?: undefined;
|
|
17
17
|
} | {
|
|
18
18
|
field?: undefined;
|
|
19
19
|
wrapText?: undefined;
|