{"version":3,"file":"ActionSplitScreen.mjs","names":["Card","CardContent","makeStyles","Slide","React","lazy","Suspense","useCallback","useEffect","useMemo","useRef","useState","DraggableSidebarTemplate","useActions","useActionState","PropTypes","SidebarHeader","SplitScreenTypeEnums","EntitySideBarContent","useTranslation","useUser","PageContainer","DndProvider","HTML5Backend","useAxiosGet","Skeleton","useShellStore","APP_RIBBON_SPACE","useBuildEnvironment","ConfigService","useCatalogStore","NotesScreen","then","m","default","RemindersScreen","SPEED_DIAL_ACTIONS","Notes","Reminders","useStyles","theme","splitScreen","width","height","shellHidden","appRibbonSpace","marginTop","props","forPage","card","overflowY","background","includes","type","getThemeData","mode","palette","grey","cardContent","padding","paddingBottom","title","display","flex","alignItems","marginLeft","spacing","dataRoot","skeletonButton","sidebarRoot","actionButton","marginRight","ActionSplitScreen","$","_c","action","actionPanel","body","executeAction","menuNodeList","open","otherProps","params","refreshTree","selectedNode","selectedNodeObj","selectedNodeParent","sidebarEntity","t0","t1","t2","forPageContainer","undefined","Entity","_temp","currentContainerId","_temp2","buildEnv","t3","t4","classes","setWidth","t","openSplitScreen","openPageSplitScreen","openPageContainerSplitScreen","actionState","user","formRef","currentApiCatalogId","_temp3","t5","Symbol","for","t6","tenantV1ApiUrl","parameters","pageId","data","page","loading","loadingPage","entityName","inquiryParams","properties","catalogReturnObject","t7","t8","integrationV2ApiUrl","catalogObject","t9","entityAttributes","openScreen","t10","closeSplitScreenAction","closeSplitScreen","t11","bb95","current","form","submit","Page","onSubmit","onSubmitAction","content","bb0","t12","t13","id","t14","reloadNotes","t15","t16","actionId","searchValue","requiredFieldMapping","nodeObj","t17","t18","t19","contentId","requiredFieldsMap","parentNodeObj","t20","reloadReminders","bb1","defaultValue","headerTitle","label","bb2","buttonLabel","buttonLabelVal","initialWidth","maxWidth","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","additionalInputs","buttonIcon","buttonProgress","buttonVariant","hideHeader","secondaryButtonIcon","secondaryButtonLabel","secondaryButtonProgress","secondaryButtonVariant","secondaryOnSubmit","root","t21","t22","zIndex","t23","_temp4","propTypes","object","bool","func","string","array","showError","state","state_0","state_1"],"sources":["../../src/actions/ActionSplitScreen.jsx"],"sourcesContent":["import { Card, CardContent, makeStyles, Slide } from '@material-ui/core';\nimport React, {\n  lazy,\n  Suspense,\n  useCallback,\n  useEffect,\n  useMemo,\n  useRef,\n  useState\n} from 'react';\nimport { DraggableSidebarTemplate } from '../UI/templates/DraggableSidebarTemplate';\nimport { useActions, useActionState } from '../hooks/useActions';\nimport PropTypes from 'prop-types';\nimport { SidebarHeader } from '../UI/dataDisplay/typography/SidebarHeader';\nimport { SplitScreenTypeEnums } from '../enums/unitySystemEnums';\nimport { EntitySideBarContent } from './sidebar/EntitySideBarContent';\nimport { useTranslation } from 'react-i18next';\nimport { useUser } from '../utilities/auth/useUser';\nimport { PageContainer } from '../page/PageContainer';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { useAxiosGet } from '../utilities/useAxiosGet';\nimport { Skeleton } from '@material-ui/lab';\nimport { useShellStore } from '../stores/shellStore';\nimport {\n  APP_RIBBON_SPACE,\n  useBuildEnvironment\n} from '../shell/ui/useBuildEnvironment';\nimport { ConfigService } from '../configService';\nimport { useCatalogStore } from '../stores';\n\nconst NotesScreen = lazy(() =>\n  import('../notes/NotesScreen').then((m) => ({ default: m.NotesScreen }))\n);\nconst RemindersScreen = lazy(() =>\n  import('../reminders/RemindersScreen').then((m) => ({\n    default: m.RemindersScreen\n  }))\n);\nconst SPEED_DIAL_ACTIONS = [\n  SplitScreenTypeEnums.Notes,\n  SplitScreenTypeEnums.Reminders\n];\n\nconst useStyles = makeStyles((theme) => ({\n  splitScreen: {\n    width: '100%',\n    height: ({ shellHidden, appRibbonSpace }) =>\n      `calc(100vh - ${shellHidden ? 0 : 56}px - ${appRibbonSpace}px)`,\n    marginTop: (props) => (props.forPage ? '' : props.shellHidden ? 0 : 56)\n  },\n  card: {\n    height: '100%',\n    overflowY: 'auto',\n    background: (props) =>\n      SPEED_DIAL_ACTIONS.includes(props.type)\n        ? theme?.getThemeData()?.mode === 'dark'\n          ? theme.palette.grey[700]\n          : '#f4f4f4'\n        : ''\n  },\n  cardContent: {\n    padding: (props) => (SPEED_DIAL_ACTIONS.includes(props.type) ? 0 : ''),\n    '&:last-child': {\n      paddingBottom: (props) =>\n        SPEED_DIAL_ACTIONS.includes(props.type) ? 0 : ''\n    },\n    height: `calc(100% - 40px)` // 40px is the height of the sidebar header\n  },\n  title: {\n    display: 'flex',\n    flex: 1,\n    alignItems: 'center',\n    marginLeft: theme.spacing(1.5)\n  },\n  dataRoot: {\n    marginTop: theme.spacing(2)\n  },\n  skeletonButton: {\n    height: (props) => (props.forPage ? 'calc(84vh - 70px)' : '84vh')\n  },\n  sidebarRoot: {\n    padding: (props) => (SPEED_DIAL_ACTIONS.includes(props.type) ? 0 : '')\n  },\n  actionButton: {\n    marginRight: (props) => (SPEED_DIAL_ACTIONS.includes(props.type) ? 0 : '')\n  }\n}));\n\nexport const ActionSplitScreen = (props) => {\n  const {\n    body,\n    open,\n    action,\n    type = SplitScreenTypeEnums.Entity,\n    params,\n    executeAction,\n    actionPanel,\n    selectedNodeObj,\n    menuNodeList,\n    sidebarEntity,\n    forPage = false,\n    forPageContainer = false,\n    selectedNode,\n    selectedNodeParent,\n    refreshTree,\n    ...otherProps\n  } = props;\n  const shellHidden = useShellStore((state) => state.shellHidden);\n  const currentContainerId = useShellStore((state) => state.currentContainerId);\n  const buildEnv = useBuildEnvironment();\n  const classes = useStyles({\n    shellHidden,\n    ...props,\n    appRibbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n  });\n  const [width, setWidth] = useState(0);\n  const { t } = useTranslation();\n  const { openSplitScreen, openPageSplitScreen, openPageContainerSplitScreen } =\n    useActions();\n  const actionState = useActionState();\n  const user = useUser();\n  const formRef = useRef(null);\n  const currentApiCatalogId = useCatalogStore(state => state.currentApiCatalogId);\n\n  const [{ data: page, loading: loadingPage }] = useAxiosGet(\n    ConfigService.tenantV1ApiUrl,\n    `page/${action?.parameters?.pageId}`,\n    {},\n    !!!action?.parameters?.pageId,\n    false\n  );\n\n  const entityName = useMemo(() => {\n    return actionPanel\n      ? actionPanel.entityName\n      : actionState?.inquiryParams[currentContainerId || 0]?.selectedNode\n          ?.properties?.catalogReturnObject;\n  }, [actionPanel, actionState, currentContainerId]);\n\n  const [{ data: catalogObject }] = useAxiosGet(\n    ConfigService.integrationV2ApiUrl,\n    `apiCatalog/${currentApiCatalogId}/catalogObject/${entityName}`,\n    {},\n    !!!currentApiCatalogId || !!!entityName,\n    false\n  );\n\n  const entityAttributes = useMemo(() => {\n    return catalogObject?.properties ?? [];\n  }, [catalogObject]);\n\n  const openScreen = useMemo(\n    () =>\n      forPage\n        ? forPageContainer\n          ? openPageContainerSplitScreen\n          : openPageSplitScreen\n        : openSplitScreen,\n    [\n      forPage,\n      openPageSplitScreen,\n      openSplitScreen,\n      forPageContainer,\n      openPageContainerSplitScreen\n    ]\n  );\n\n  const closeSplitScreen = useCallback(() => {\n    if (params?.closeSplitScreenAction) {\n      params.closeSplitScreenAction();\n    }\n    openScreen({ open: false, action: null, type: null });\n    setWidth(0);\n  }, [openScreen, params]);\n\n  const onSubmitAction = useCallback(() => {\n    switch (type) {\n      case SplitScreenTypeEnums.Notes:\n        formRef?.current.form.submit();\n        break;\n      case SplitScreenTypeEnums.Page:\n        params?.onSubmit();\n        break;\n      case SplitScreenTypeEnums.Reminders:\n        formRef?.current.form.submit();\n        break;\n      default:\n        break;\n    }\n  }, [type, params]);\n\n  const cardContent = useMemo(() => {\n    let content = null;\n    switch (type) {\n      case SplitScreenTypeEnums.Entity:\n        content = (\n          <EntitySideBarContent\n            action={action}\n            executeAction={executeAction}\n            entityAttributes={entityAttributes}\n            selectedNodeObj={selectedNodeObj}\n            apiCatalogId={currentApiCatalogId}\n            entityName={entityName}\n            sidebarEntity={sidebarEntity}\n            menuNodeList={menuNodeList}\n            closeSplitScreen={closeSplitScreen}\n          />\n        );\n        break;\n      case SplitScreenTypeEnums.Notes:\n        content = (\n          <Suspense\n            fallback={\n              <Skeleton variant='rect' className={classes.skeletonButton} />\n            }\n          >\n            <NotesScreen\n              formRef={formRef}\n              shortcutContentFinderEnabled={true}\n              id={params?.id}\n              reloadNotes={params?.reloadNotes}\n            />\n          </Suspense>\n        );\n        break;\n      case SplitScreenTypeEnums.Page:\n        if (page) {\n          content = (\n            <DndProvider backend={HTML5Backend}>\n              <PageContainer\n                user={user}\n                key={action?.actionId}\n                pageData={page}\n                widgetParams={{\n                  pageId: page?.pageId,\n                  contentId: selectedNode?.properties?.searchValue,\n                  requiredFieldsMap:\n                    action?.parameters?.requiredFieldMapping || {},\n                  nodeObj: selectedNode?.nodeObj,\n                  parentNodeObj: selectedNodeParent?.nodeObj,\n                  inquiryParams: selectedNode?.inquiryParams,\n                  refreshTree: refreshTree\n                }}\n                disableMargins={true}\n              />\n            </DndProvider>\n          );\n        } else if (loadingPage) {\n          content = (\n            <Skeleton variant='rect' className={classes.skeletonButton} />\n          );\n        } else {\n          content = params?.content || null;\n        }\n        break;\n      case SplitScreenTypeEnums.Reminders:\n        content = (\n          <Suspense\n            fallback={\n              <Skeleton variant='rect' className={classes.skeletonButton} />\n            }\n          >\n            <RemindersScreen\n              formRef={formRef}\n              shortcutContentFinderEnabled={true}\n              id={params?.id}\n              reloadReminders={params?.reloadReminders}\n            />\n          </Suspense>\n        );\n        break;\n      default:\n        break;\n    }\n    return content;\n  }, [\n    type,\n    action,\n    executeAction,\n    entityAttributes,\n    selectedNodeObj,\n    closeSplitScreen,\n    menuNodeList,\n    entityName,\n    sidebarEntity,\n    refreshTree,\n    page,\n    selectedNode,\n    selectedNodeParent,\n    user,\n    loadingPage,\n    classes,\n    params,\n    currentApiCatalogId\n  ]);\n\n  const headerTitle = useMemo(() => {\n    let title = '';\n    switch (type) {\n      case SplitScreenTypeEnums.Entity:\n        title = t('actions.splitScreen.entityDetails', {\n          defaultValue: '{{entityName}} Details',\n          entityName\n        });\n        break;\n      case SplitScreenTypeEnums.Notes:\n        title = t('actions.splitScreen.addNote', { defaultValue: 'Add Note' });\n        break;\n      case SplitScreenTypeEnums.Reminders:\n        title = t('actions.splitScreen.addReminder', {\n          defaultValue: 'Add Reminder'\n        });\n        break;\n      default:\n        title = params?.headerTitle || '';\n        break;\n    }\n    return title;\n  }, [entityName, type, t, params]);\n\n  const buttonLabelVal = useMemo(() => {\n    let label = '';\n    switch (type) {\n      case SplitScreenTypeEnums.Notes:\n        label = t('actions.splitScreen.saveNote', {\n          defaultValue: 'Save Note'\n        });\n        break;\n      case SplitScreenTypeEnums.Page:\n        label = t(params?.buttonLabel);\n        break;\n      case SplitScreenTypeEnums.Reminders:\n        label = t('actions.splitScreen.saveReminder', {\n          defaultValue: 'Save Reminder'\n        });\n        break;\n      default:\n        break;\n    }\n    return label;\n  }, [type, t, params]);\n\n  useEffect(() => {\n    if (open) {\n      setWidth(params?.initialWidth ?? 420);\n    }\n  }, [open, params]);\n\n  return (\n    <DraggableSidebarTemplate\n      removePadding={false}\n      width={width}\n      setWidth={setWidth}\n      handleToggleClick={() => {}}\n      hide={!open}\n      expanded={false}\n      maxWidth={params?.maxWidth}\n      enable={{\n        top: false,\n        right: false,\n        bottom: false,\n        left: true,\n        topRight: false,\n        bottomRight: false,\n        bottomLeft: false,\n        topLeft: false\n      }}\n      body={body}\n      sidebar={\n        <Slide in={open} direction='left'>\n          <div className={classes.splitScreen}>\n            <Card square elevation={4} className={classes.card}>\n              {!params?.hideHeader && (\n                <SidebarHeader\n                  onClose={closeSplitScreen}\n                  title={headerTitle}\n                  buttonLabel={buttonLabelVal}\n                  buttonProgress={params?.buttonProgress}\n                  buttonVariant={params?.buttonVariant}\n                  buttonIcon={params?.buttonIcon}\n                  onSubmit={onSubmitAction}\n                  secondaryButtonLabel={params?.secondaryButtonLabel}\n                  secondaryButtonProgress={params?.secondaryButtonProgress}\n                  secondaryButtonVariant={params?.secondaryButtonVariant}\n                  secondaryButtonIcon={params?.secondaryButtonIcon}\n                  secondaryOnSubmit={params?.secondaryOnSubmit}\n                  additionalInputs={params?.additionalInputs || null}\n                  classes={{\n                    root: classes.sidebarRoot,\n                    actionButton: classes.actionButton\n                  }}\n                  {...otherProps}\n                />\n              )}\n              <CardContent className={classes.cardContent}>\n                {cardContent}\n              </CardContent>\n            </Card>\n          </div>\n        </Slide>\n      }\n      splitScreenStyle={{\n        zIndex: 1000\n      }}\n    />\n  );\n};\n\nActionSplitScreen.propTypes = {\n  body: PropTypes.object,\n  open: PropTypes.bool,\n  action: PropTypes.object,\n  executeAction: PropTypes.func,\n  entityName: PropTypes.string,\n  entityAttributes: PropTypes.array,\n  selectedNodeObj: PropTypes.object,\n  menuNodeList: PropTypes.array,\n  showError: PropTypes.func\n};\n"],"mappings":"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"}