{"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","filedForNode","t16","t17","actionId","searchValue","requiredFieldMapping","nodeObj","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              filedForNode={params?.filedForNode}\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              filedForNode={params?.filedForNode}\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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"}