{"version":3,"file":"CrudTableSidePanel.mjs","names":["Divider","makeStyles","PropTypes","React","useMemo","CrudForm","useUser","DndProvider","HTML5Backend","PageContainer","useAxiosGet","Skeleton","LayoutUnit","crudFormAttributes","ConfigService","useStyles","theme","root","divider","marginTop","spacing","FIELD_NUMBER","CrudTableSidePanel","props","$","_c","entityAttributes","udpFieldInfos","foreignKeyData","crudTableEditionData","closeSideSheet","onCreate","onUpdate","pageId","setSideSheetWidth","setSideSheetButtonLabel","setSideSheetOnSubmit","setSideSheetProps","isNewEntry","entityData","entityName","formApiRef","hideSubmitButton","user","classes","t0","Symbol","for","t1","tenantV1ApiUrl","data","page","loading","loadingPage","skeletonArr","i","push","skeleton","t2","filteredEntityAttributes","t3","t4","t5","nodeObj","t6","t7","sideSheetContent","map","_temp","skeletonButton","propTypes","array","func","object","bool","sk"],"sources":["../../../src/maintenanceEngine/crudBrowser/CrudTableSidePanel.jsx"],"sourcesContent":["import { Divider, makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { CrudForm } from '../../UI/forms/CrudForm';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { PageContainer } from '../../page/PageContainer';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { Skeleton } from '@material-ui/lab';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { crudFormAttributes } from '../entityFormInputs';\nimport { ConfigService } from '../../configService';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {},\n  divider: {\n    marginTop: theme.spacing(2)\n  }\n}));\n\nconst FIELD_NUMBER = 10;\n\nexport const CrudTableSidePanel = (props) => {\n  const {\n    entityAttributes,\n    udpFieldInfos,\n    foreignKeyData,\n    crudTableEditionData,\n    closeSideSheet,\n    onCreate,\n    onUpdate,\n    pageId,\n    setSideSheetWidth,\n    setSideSheetButtonLabel,\n    setSideSheetOnSubmit,\n    setSideSheetProps,\n    isNewEntry,\n    entityData,\n    entityName,\n    formApiRef,\n    hideSubmitButton\n  } = props;\n  const user = useUser();\n  const classes = useStyles();\n\n  const [{ data: page, loading: loadingPage }] = useAxiosGet(\n    ConfigService.tenantV1ApiUrl,\n    `page/${pageId}`,\n    {},\n    !!!pageId,\n    false\n  );\n\n  const skeleton = useMemo(() => {\n    const skeletonArr = [];\n    for (let i = 0; i < FIELD_NUMBER; i++) {\n      skeletonArr.push(\n        <>\n          <Skeleton key={i} variant='rect' className={classes.skeleton} />\n          <LayoutUnit unit='xxs' />\n        </>\n      );\n    }\n    return skeletonArr;\n  }, [classes]);\n\n  // LAA UNT-3026: Remove businessObjectKey and ignoreLoggingTransactions field from the side panel crud form\n  const filteredEntityAttributes = useMemo(\n    () => crudFormAttributes(entityAttributes, entityName),\n    [entityAttributes, entityName]\n  );\n\n  const sideSheetContent = useMemo(() => {\n    if (page) {\n      return (\n        <DndProvider backend={HTML5Backend}>\n          <PageContainer\n            user={user}\n            key={pageId}\n            pageData={page}\n            widgetParams={{\n              pageId: page?.pageId,\n              entityAttributes: filteredEntityAttributes,\n              entityData: entityData,\n              entityName: entityName,\n              foreignKeyData: foreignKeyData,\n              isNewEntry: isNewEntry,\n              udpFieldInfos: udpFieldInfos,\n              nodeObj: crudTableEditionData,\n              setSideSheetWidth: setSideSheetWidth,\n              setSideSheetButtonLabel: setSideSheetButtonLabel,\n              setSideSheetOnSubmit: setSideSheetOnSubmit,\n              closeSideSheet: closeSideSheet,\n              setSideSheetProps: setSideSheetProps,\n              onCreate: onCreate,\n              onUpdate: onUpdate\n            }}\n            disableMargins={true}\n          />\n        </DndProvider>\n      );\n    } else {\n      return (\n        <>\n          <CrudForm\n            entityAttributes={filteredEntityAttributes}\n            udpFieldInfos={udpFieldInfos}\n            foreignKeyData={foreignKeyData}\n            crudTableEditionData={crudTableEditionData}\n            closeSideSheet={closeSideSheet}\n            onCreate={onCreate}\n            onUpdate={onUpdate}\n            isNewEntry={isNewEntry}\n            entityData={entityData}\n            entityName={entityName}\n            formApiRef={formApiRef}\n            hideSubmitButton={hideSubmitButton}\n          />\n          <div className={classes.divider}>\n            <Divider />\n          </div>\n        </>\n      );\n    }\n  }, [\n    page,\n    user,\n    pageId,\n    setSideSheetWidth,\n    setSideSheetButtonLabel,\n    setSideSheetOnSubmit,\n    setSideSheetProps,\n    closeSideSheet,\n    onCreate,\n    onUpdate,\n    filteredEntityAttributes,\n    foreignKeyData,\n    isNewEntry,\n    entityData,\n    classes,\n    entityName,\n    udpFieldInfos,\n    crudTableEditionData,\n    formApiRef,\n    hideSubmitButton\n  ]);\n\n  return (\n    <div>\n      {loadingPage ? (\n        <>\n          {skeleton.map((sk) => sk)}\n          <LayoutUnit unit='md' />\n          <Skeleton variant='rect' className={classes.skeletonButton} />\n        </>\n      ) : (\n        sideSheetContent\n      )}\n    </div>\n  );\n};\n\nCrudTableSidePanel.propTypes = {\n  /**\n   * Entity attributes for selected entity within catalog\n   */\n  entityAttributes: PropTypes.array,\n  /**\n   * Foreign key data for selected entity within catalog\n   */\n  foreignKeyData: PropTypes.array,\n  /**\n   * Entity data\n   */\n  crudTableEditionData: PropTypes.array,\n  /**\n   * onClick event for closing sidesheet\n   */\n  closeSideSheet: PropTypes.func,\n  /**\n   * onClick event for creating\n   */\n  onCreate: PropTypes.func,\n  /**\n   * onClick event for updating\n   */\n  onUpdate: PropTypes.func,\n  /**\n   * Ref forwarded to the underlying form, exposing the final-form API\n   * (handleSubmit, submitting, pristine) so a submit button rendered outside\n   * the form — e.g. in a drawer footer slot — can submit it\n   */\n  formApiRef: PropTypes.object,\n  /**\n   * Hides the built-in Save button. Set this when the consumer renders its own\n   * submit control outside the form and drives it via formApiRef\n   */\n  hideSubmitButton: PropTypes.bool\n};\n"],"mappings":"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"}