{"version":3,"file":"CrudTableSidePanel.mjs","names":["Divider","makeStyles","PropTypes","React","useMemo","CrudForm","useUser","DndProvider","HTML5Backend","PageContainer","useAxiosGet","Skeleton","LayoutUnit","UdpEnums","UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE","SYSTEM_ENTITY_PROPERTIES","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","bb0","toLowerCase","includes","Udp_Lookup","t3","filter","_temp","_temp2","filteredEntityAttributes","t4","t5","nodeObj","t6","t7","sideSheetContent","map","_temp3","skeletonButton","propTypes","array","func","object","bool","attr","name","attr_0","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 { UdpEnums } from '../../enums/unitySystemEnums';\nimport { UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE } from '../entityAttributeActions';\nimport { SYSTEM_ENTITY_PROPERTIES } from '../../utilities/entities/entityUtilities';\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    if (entityName?.toLowerCase().includes(UdpEnums.Udp_Lookup.toLowerCase())) {\n      return entityAttributes?.filter(\n        (attr) => !UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE.includes(attr.name)\n      );\n    }\n    return entityAttributes?.filter(\n      (attr) => !SYSTEM_ENTITY_PROPERTIES.includes(attr.name)\n    );\n  }, [entityAttributes, entityName]);\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":";;;;;;;;;;;;;;;;;AAgBA,MAAMiB,YAAYhB,YAAYiB,WAAW;CACvCC,MAAM,EAAE;CACRC,SAAS,EACPC,WAAWH,MAAMI,QAAQ,EAAC,EAC5B;CACD,EAAE;AAEH,MAAMC,eAAe;AAErB,MAAaC,sBAAqBC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAChC,MAAA,EAAAC,kBAAAC,eAAAC,gBAAAC,sBAAAC,gBAAAC,UAAAC,UAAAC,QAAAC,mBAAAC,yBAAAC,sBAAAC,mBAAAC,YAAAC,YAAAC,YAAAC,YAAAC,qBAkBInB;CACJ,MAAAoB,OAAavC,SAAS;CACtB,MAAAwC,UAAgB7B,WAAW;CAAC,IAAA8B;AAAA,KAAArB,EAAA,OAAAsB,OAAAC,IAAA,4BAAA,EAAA;AAK1BF,OAAA,EAAE;AAAArB,IAAA,KAAAqB;OAAAA,MAAArB,EAAA;CAHJ,MAAA,CAAAwB,MAA+CxC,YAC7CM,cAAamC,gBACb,QAAQhB,UACRY,IACA,CAAC,CAAC,CAACZ,QACH,MACD;CANM,MAAA,EAAAiB,MAAAC,MAAAC,SAAAC,gBAAAL;CAAoC,IAAAM;AAAA,KAAA9B,EAAA,OAAAoB,SAAA;AASzCU,gBAAoB,EAAE;AACtB,OAAA,IAAAC,IAAa,GAAGA,IAAIlC,cAAckC,IAChCD,aAAWE,KACT,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,UAAD;GAAeD,KAAAA;GAAW,SAAA;GAAkB,WAAAX,QAAOa;GACnD,CAAA,EAAA,sBAAA,cAAC,YAAD,EAAiB,MAAA,OAAQ,CAAA,CAE7B,CAAC;AACFjC,IAAA,KAAAoB;AAAApB,IAAA,KAAA8B;OAAAA,eAAA9B,EAAA;CATH,MAAAiC,WAUEH;CACY,IAAAI;AAAAC,MAAA;AAIZ,MAAInB,YAAUoB,aAAwB,CAAAC,SAAClD,SAAQmD,WAAWF,aAAc,CAAC,EAAA;GAAA,IAAAG;AAAA,OAAAvC,EAAA,OAAAE,kBAAA;AAChEqC,SAAArC,kBAAgBsC,OACrBC,MACD;AAAAzC,MAAA,KAAAE;AAAAF,MAAA,KAAAuC;SAAAA,MAAAvC,EAAA;AAFDkC,QAAOK;AAAP,SAAAJ;;EAGD,IAAAI;AAAA,MAAAvC,EAAA,OAAAE,kBAAA;AACMqC,QAAArC,kBAAgBsC,OACrBE,OACD;AAAA1C,KAAA,KAAAE;AAAAF,KAAA,KAAAuC;QAAAA,MAAAvC,EAAA;AAFDkC,OAAOK;;CANT,MAAAI,2BAAiCT;CASE,IAAAK;AAGjC,KAAIZ,MAAI;EAQU,MAAAiB,KAAAjB,MAAIlB;EAAQ,IAAAoC;AAAA,MAAA7C,EAAA,OAAAM,kBAAAN,EAAA,OAAAK,wBAAAL,EAAA,OAAAe,cAAAf,EAAA,QAAAgB,cAAAhB,EAAA,QAAA2C,4BAAA3C,EAAA,QAAAI,kBAAAJ,EAAA,QAAAc,cAAAd,EAAA,QAAAO,YAAAP,EAAA,QAAAQ,YAAAR,EAAA,QAAAW,2BAAAX,EAAA,QAAAY,wBAAAZ,EAAA,QAAAa,qBAAAb,EAAA,QAAAU,qBAAAV,EAAA,QAAA4C,MAAA5C,EAAA,QAAAG,eAAA;AADR0C,QAAA;IAAApC,QACJmC;IAAY1C,kBACFyC;IAAwB5B;IAAAC;IAAAZ;IAAAU;IAAAX;IAAA2C,SAMjCzC;IAAoBK;IAAAC;IAAAC;IAAAN;IAAAO;IAAAN;IAAAC;IAQ9B;AAAAR,KAAA,KAAAM;AAAAN,KAAA,KAAAK;AAAAL,KAAA,KAAAe;AAAAf,KAAA,MAAAgB;AAAAhB,KAAA,MAAA2C;AAAA3C,KAAA,MAAAI;AAAAJ,KAAA,MAAAc;AAAAd,KAAA,MAAAO;AAAAP,KAAA,MAAAQ;AAAAR,KAAA,MAAAW;AAAAX,KAAA,MAAAY;AAAAZ,KAAA,MAAAa;AAAAb,KAAA,MAAAU;AAAAV,KAAA,MAAA4C;AAAA5C,KAAA,MAAAG;AAAAH,KAAA,MAAA6C;QAAAA,MAAA7C,EAAA;EAAA,IAAA+C;AAAA,MAAA/C,EAAA,QAAA2B,QAAA3B,EAAA,QAAAS,UAAAT,EAAA,QAAA6C,MAAA7C,EAAA,QAAAmB,MAAA;AArBL4B,QAAA,sBAAA,cAAC,aAAD,EAAsBjE,SAAAA,cAwBR,EAvBZ,sBAAA,cAAC,eAAD;IACQqC;IACDV,KAAAA;IACKkB,UAAAA;IACI,cAAAkB;IAiBE,gBAAA;IAEpB,CAAA,CAAc;AAAA7C,KAAA,MAAA2B;AAAA3B,KAAA,MAAAS;AAAAT,KAAA,MAAA6C;AAAA7C,KAAA,MAAAmB;AAAAnB,KAAA,MAAA+C;QAAAA,MAAA/C,EAAA;AAzBhBuC,OACEQ;QAyBA;EAAA,IAAAH;AAAA,MAAA5C,EAAA,QAAAM,kBAAAN,EAAA,QAAAK,wBAAAL,EAAA,QAAAe,cAAAf,EAAA,QAAAgB,cAAAhB,EAAA,QAAA2C,4BAAA3C,EAAA,QAAAI,kBAAAJ,EAAA,QAAAiB,cAAAjB,EAAA,QAAAkB,oBAAAlB,EAAA,QAAAc,cAAAd,EAAA,QAAAO,YAAAP,EAAA,QAAAQ,YAAAR,EAAA,QAAAG,eAAA;AAIEyC,QAAA,sBAAA,cAAC,UAAD;IACoBD,kBAAAA;IACHxC;IACCC;IACMC;IACNC;IACNC;IACAC;IACEM;IACAC;IACAC;IACAC;IACMC;IAClB,CAAA;AAAAlB,KAAA,MAAAM;AAAAN,KAAA,MAAAK;AAAAL,KAAA,MAAAe;AAAAf,KAAA,MAAAgB;AAAAhB,KAAA,MAAA2C;AAAA3C,KAAA,MAAAI;AAAAJ,KAAA,MAAAiB;AAAAjB,KAAA,MAAAkB;AAAAlB,KAAA,MAAAc;AAAAd,KAAA,MAAAO;AAAAP,KAAA,MAAAQ;AAAAR,KAAA,MAAAG;AAAAH,KAAA,MAAA4C;QAAAA,MAAA5C,EAAA;EAAA,IAAA6C;AAAA,MAAA7C,EAAA,QAAAsB,OAAAC,IAAA,4BAAA,EAAA;AAEAsB,QAAA,sBAAA,cAAC,SAAA,KAAU;AAAA7C,KAAA,MAAA6C;QAAAA,MAAA7C,EAAA;EAAA,IAAA+C;AAAA,MAAA/C,EAAA,QAAAoB,QAAA1B,SAAA;AADbqD,QAAA,sBAAA,cAAA,OAAA,EAAgB,WAAA3B,QAAO1B,SAEjB,EADJmD,GACI;AAAA7C,KAAA,MAAAoB,QAAA1B;AAAAM,KAAA,MAAA+C;QAAAA,MAAA/C,EAAA;EAAA,IAAAgD;AAAA,MAAAhD,EAAA,QAAA4C,MAAA5C,EAAA,QAAA+C,IAAA;AAjBRC,QAAA,sBAAA,cAAA,MAAA,UAAA,MACEJ,IAcAG,GAGC;AAAA/C,KAAA,MAAA4C;AAAA5C,KAAA,MAAA+C;AAAA/C,KAAA,MAAAgD;QAAAA,MAAAhD,EAAA;AAnBLuC,OACES;;CA/BN,MAAAC,mBAAyBV;CAyEtB,IAAAK;AAAA,KAAA5C,EAAA,QAAAoB,WAAApB,EAAA,QAAA6B,eAAA7B,EAAA,QAAAiD,oBAAAjD,EAAA,QAAAiC,UAAA;AAGDW,OAAA,sBAAA,cAAA,OAAA,MACGf,cAAA,sBAAA,cAAA,MAAA,UAAA,MAEII,SAAQiB,IAAKC,OAAU,EACxB,sBAAA,cAAC,YAAD,EAAiB,MAAA,MACjB,CAAA,EAAA,sBAAA,cAAC,UAAD;GAAkB,SAAA;GAAkB,WAAA/B,QAAOgC;GAAmB,CAAA,CAIjE,GARAH,iBASG;AAAAjD,IAAA,MAAAoB;AAAApB,IAAA,MAAA6B;AAAA7B,IAAA,MAAAiD;AAAAjD,IAAA,MAAAiC;AAAAjC,IAAA,MAAA4C;OAAAA,MAAA5C,EAAA;AAAA,QAVN4C;;AAcJ9C,mBAAmBuD,YAAY;CAI7BnD,kBAAkB1B,UAAU8E;CAI5BlD,gBAAgB5B,UAAU8E;CAI1BjD,sBAAsB7B,UAAU8E;CAIhChD,gBAAgB9B,UAAU+E;CAI1BhD,UAAU/B,UAAU+E;CAIpB/C,UAAUhC,UAAU+E;CAMpBtC,YAAYzC,UAAUgF;CAKtBtC,kBAAkB1C,UAAUiF;CAC7B;AAtLiC,SAAAhB,MAAAiB,MAAA;AAAA,QAgDhB,CAACtE,qCAAoCiD,SAAUqB,KAAIC,KAAM;;AAhDzC,SAAAjB,OAAAkB,QAAA;AAAA,QAoDlB,CAACvE,yBAAwBgD,SAAUqB,OAAIC,KAAM;;AApD3B,SAAAR,OAAAU,IAAA;AAAA,QAuIFA"}