{"version":3,"file":"EntitySideBarContent.mjs","names":["makeStyles","Typography","React","useCallback","useEffect","useMemo","useState","getPathObject","getPrimaryKeyValues","toLowerFirstChar","toTitleCase","useSnackbar","useTranslation","useAxiosGet","ConfigService","useStyles","theme","dataRoot","marginTop","spacing","EntitySideBarContent","props","$","_c","action","executeAction","entityAttributes","selectedNodeObj","apiCatalogId","entityName","sidebarEntity","classes","data","setData","enqueueSnackbar","t","t0","Symbol","for","t1","integrationV1ApiUrl","config","UNITY_PRODUCT_ID","selectedEntity","entity","t2","defaultValue","variant","anchorOrigin","vertical","horizontal","showError","t3","data_0","unityBaseGetMethod","value","apiMethodId","onGet","t4","primaryKeyValues","pathObject","pathParameters","data_1","response","catch","res","message","status","handleOnGet","t5","schemaAttribute","extendedProperties","childEntity","name","renderData","t6","map","schemaAttribute_0","index","identifier","t7","cardContent","t8","t9","t10"],"sources":["../../../src/actions/sidebar/EntitySideBarContent.jsx"],"sourcesContent":["import { makeStyles, Typography } from '@material-ui/core';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport {\n  getPathObject,\n  getPrimaryKeyValues\n} from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport {\n  toLowerFirstChar,\n  toTitleCase\n} from '../../utilities/input/StringUtilities';\nimport { useSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { ConfigService } from '../../configService';\n\nconst useStyles = makeStyles((theme) => ({\n  dataRoot: {\n    marginTop: theme.spacing(2)\n  }\n}));\n\nexport const EntitySideBarContent = (props) => {\n  const {\n    action,\n    executeAction,\n    entityAttributes,\n    selectedNodeObj,\n    apiCatalogId,\n    entityName,\n    sidebarEntity,\n    menuNodeList,\n    closeSplitScreen\n  } = props;\n  const classes = useStyles(props);\n  const [data, setData] = useState(null);\n  const { enqueueSnackbar } = useSnackbar();\n  const { t } = useTranslation();\n\n  const [{ data: selectedEntity }] = useAxiosGet(\n    ConfigService.integrationV1ApiUrl,\n    `apicatalog/${apiCatalogId}/promotedMethodEntities/${entityName}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n    {},\n    !!!apiCatalogId || !!!entityName || !!sidebarEntity,\n    false\n  );\n\n  const entity = useMemo(() => {\n    return selectedEntity || sidebarEntity;\n  }, [selectedEntity, sidebarEntity]);\n\n  const showError = useCallback(() => {\n    enqueueSnackbar(\n      t('actions.errors.invalidActionValue', {\n        defaultValue: 'Invalid action value.'\n      }),\n      {\n        variant: 'error',\n        anchorOrigin: {\n          vertical: 'top',\n          horizontal: 'center'\n        }\n      }\n    );\n  }, [enqueueSnackbar, t]);\n\n  const onGet = useCallback(\n    async (data) => {\n      if (entity?.unityBaseGetMethod && action?.value) {\n        if (entity.unityBaseGetMethod.apiMethodId === action.value) {\n          return await executeAction(data, action.value);\n        } else {\n          showError();\n        }\n      }\n    },\n    [action, executeAction, entity, showError]\n  );\n\n  const handleOnGet = useCallback(\n    async (value) => {\n      if (entity?.unityBaseGetMethod) {\n        // Get primary key value object using path parameters and merge with data\n        const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n        const pathObject = getPathObject(\n          entity?.unityBaseGetMethod?.pathParameters,\n          primaryKeyValues\n        );\n\n        const data = { ...pathObject };\n        const response = await onGet({ data }).catch((res) => {\n          enqueueSnackbar(res.message, {\n            variant: 'error',\n            anchorOrigin: {\n              vertical: 'top',\n              horizontal: 'center'\n            }\n          });\n        });\n\n        if (response?.status === 200) {\n          setData(response.data);\n        }\n      }\n    },\n    [enqueueSnackbar, entityAttributes, onGet, entity]\n  );\n\n  const renderData = useCallback(\n    (schemaAttribute) => {\n      if (!data || schemaAttribute?.extendedProperties?.childEntity) {\n        return null;\n      }\n\n      return (\n        <div className={classes.dataRoot}>\n          <Typography variant='subtitle2' style={{ marginTop: 8 }}>\n            {toTitleCase(schemaAttribute?.name)}\n          </Typography>\n          <Typography>\n            {data[toLowerFirstChar(schemaAttribute.name)]}\n          </Typography>\n        </div>\n      );\n    },\n    [classes, data]\n  );\n\n  const cardContent = useMemo(() => {\n    return (\n      <div>\n        {entityAttributes?.map((schemaAttribute, index) => {\n          return (\n            !schemaAttribute?.extendedProperties?.identifier && (\n              <React.Fragment key={`${schemaAttribute.name}-${index}`}>\n                {renderData(schemaAttribute)}\n              </React.Fragment>\n            )\n          );\n        })}\n      </div>\n    );\n  }, [entityAttributes, renderData]);\n\n  useEffect(() => {\n    if (!data) {\n      handleOnGet(selectedNodeObj);\n    }\n  }, [handleOnGet, selectedNodeObj, data]);\n\n  return <div>{cardContent}</div>;\n};\n"],"mappings":";;;;;;;;;;AAeA,MAAMe,YAAYf,YAAYgB,WAAW,EACvCC,UAAU,EACRC,WAAWF,MAAMG,QAAQ,EAAC,EAC5B,EACD,EAAE;AAEH,MAAaC,wBAAuBC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAClC,MAAA,EAAAC,QAAAC,eAAAC,kBAAAC,iBAAAC,cAAAC,YAAAC,kBAUIT;CACJ,MAAAU,UAAgBhB,UAAUM,MAAM;CAChC,MAAA,CAAAW,MAAAC,WAAwB3B,SAAS,KAAK;CACtC,MAAA,EAAA4B,oBAA4BvB,aAAa;CACzC,MAAA,EAAAwB,MAAcvB,gBAAgB;CAAC,IAAAwB;AAAA,KAAAd,EAAA,OAAAe,OAAAC,IAAA,4BAAA,EAAA;AAK7BF,OAAA,EAAE;AAAAd,IAAA,KAAAc;OAAAA,MAAAd,EAAA;CAHJ,MAAA,CAAAiB,MAAmC1B,YACjCC,cAAa0B,qBACb,cAAcZ,aAAY,0BAA2BC,WAAU,WAAYf,cAAa2B,OAAOC,oBAC/FN,IACA,CAAC,CAAC,CAACR,gBAAH,CAAoB,CAAC,CAACC,cAAtB,CAAqC,CAACC,eACtC,MACD;CANM,MAAA,EAAAE,MAAAW,mBAAAJ;CAQP,MAAAK,SACSD,kBAAAb;CAC2B,IAAAe;AAAA,KAAAvB,EAAA,OAAAY,mBAAAZ,EAAA,OAAAa,GAAA;AAENU,aAAA;AAC5BX,mBACEC,EAAE,qCAAqC,EAAAW,cACvB,yBACf,CAAC,EACF;IAAAC,SACW;IAAOC,cACF;KAAAC,UACF;KAAKC,YACH;KACd;IAEJ,CAAC;;AACF5B,IAAA,KAAAY;AAAAZ,IAAA,KAAAa;AAAAb,IAAA,KAAAuB;OAAAA,MAAAvB,EAAA;CAbD,MAAA6B,YAAkBN;CAaO,IAAAO;AAAA,KAAA9B,EAAA,OAAAE,UAAAF,EAAA,OAAAsB,UAAAtB,EAAA,OAAAG,iBAAAH,EAAA,OAAA6B,WAAA;AAGvBC,OAAA,OAAAC,WAAA;AACE,OAAIT,QAAMU,sBAAwB9B,QAAM+B,MACtC,KAAIX,OAAMU,mBAAmBE,gBAAiBhC,OAAM+B,MAAM,QACjD,MAAM9B,cAAcO,QAAMR,OAAM+B,MAAO;OAE9CJ,YAAW;;AAGhB7B,IAAA,KAAAE;AAAAF,IAAA,KAAAsB;AAAAtB,IAAA,KAAAG;AAAAH,IAAA,KAAA6B;AAAA7B,IAAA,KAAA8B;OAAAA,MAAA9B,EAAA;CATH,MAAAmC,QAAcL;CAWZ,IAAAM;AAAA,KAAApC,EAAA,OAAAY,mBAAAZ,EAAA,QAAAsB,QAAAU,sBAAAhC,EAAA,QAAAI,oBAAAJ,EAAA,QAAAmC,OAAA;AAGAC,OAAA,OAAAH,UAAA;AACE,OAAIX,QAAMU,oBAAoB;IAE5B,MAAAK,mBAAyBnD,oBAAoBkB,kBAAkB6B,MAAM;IAOrE,MAAAQ,WAAiB,MAAMN,MAAM,EAAAzB,MADhB,EAAA,GALMzB,cACjBqC,QAAMU,oBAAoCO,gBAC1CF,iBACD,EAE6B,EACO,CAAC,CAAAK,OAAOC,QAAA;AAC3C/B,qBAAgB+B,IAAGC,SAAU;MAAAnB,SAClB;MAAOC,cACF;OAAAC,UACF;OAAKC,YACH;OACd;MACD,CAAC;MACF;AAEF,QAAIa,UAAQI,WAAa,IACvBlC,SAAQ8B,SAAQ/B,KAAM;;;AAG3BV,IAAA,KAAAY;AAAAZ,IAAA,MAAAsB,QAAAU;AAAAhC,IAAA,MAAAI;AAAAJ,IAAA,MAAAmC;AAAAnC,IAAA,MAAAoC;OAAAA,MAAApC,EAAA;CAzBH,MAAA8C,cAAoBV;CA2BlB,IAAAW;AAAA,KAAA/C,EAAA,QAAAS,WAAAT,EAAA,QAAAU,MAAA;AAGAqC,QAAAC,oBAAA;AACE,OAAI,CAACtC,QAAQsC,iBAAeC,oBAAiCC,YAAA,QACpD;AACR,UAGC,sBAAA,cAAA,OAAA,EAAgB,WAAAzC,QAAOd,UAOjB,EANJ,sBAAA,cAAC,YAAD;IAAoB,SAAA;IAAmB,OAAA,EAAAC,WAAa,GAAE;IAGtD,EAFGR,YAAY4D,iBAAeG,KAAM,CAEpC,EAAA,sBAAA,cAAC,YAAA,MACEzC,KAAKvB,iBAAiB6D,gBAAeG,KAAM,EAEhD,CAAM;;AAETnD,IAAA,MAAAS;AAAAT,IAAA,MAAAU;AAAAV,IAAA,MAAA+C;OAAAA,MAAA/C,EAAA;CAhBH,MAAAoD,aAAmBL;CAkBjB,IAAAM;AAAA,KAAArD,EAAA,QAAAI,oBAAAJ,EAAA,QAAAoD,YAAA;AAKKC,OAAAjD,kBAAgBkD,KAAMC,mBAAAC,UAEnB,CAACR,mBAAeC,oBAAgCQ,cAC9C,sBAAA,cAAA,MAAA,UAAA,EAAqB,KAAA,GAAGT,kBAAeG,KAAK,GAAIK,SAKrD,EAJQJ,WAAWJ,kBAAe,CAIlC,CAAC;AAAAhD,IAAA,MAAAI;AAAAJ,IAAA,MAAAoD;AAAApD,IAAA,MAAAqD;OAAAA,MAAArD,EAAA;CAAA,IAAA0D;AAAA,KAAA1D,EAAA,QAAAqD,IAAA;AATJK,OAAA,sBAAA,cAAA,OAAA,MACGL,GASG;AAAArD,IAAA,MAAAqD;AAAArD,IAAA,MAAA0D;OAAAA,MAAA1D,EAAA;CAZV,MAAA2D,cACED;CAaiC,IAAAE;CAAA,IAAAC;AAAA,KAAA7D,EAAA,QAAAU,QAAAV,EAAA,QAAA8C,eAAA9C,EAAA,QAAAK,iBAAA;AAEzBuD,aAAA;AACR,OAAI,CAAClD,KACHoC,aAAYzC,gBAAgB;;AAE7BwD,OAAA;GAACf;GAAazC;GAAiBK;GAAK;AAAAV,IAAA,MAAAU;AAAAV,IAAA,MAAA8C;AAAA9C,IAAA,MAAAK;AAAAL,IAAA,MAAA4D;AAAA5D,IAAA,MAAA6D;QAAA;AAAAD,OAAA5D,EAAA;AAAA6D,OAAA7D,EAAA;;AAJvClB,WAAU8E,IAIPC,GAAqC;CAAA,IAAAC;AAAA,KAAA9D,EAAA,QAAA2D,aAAA;AAEjCG,QAAA,sBAAA,cAAA,OAAA,MAAMH,YAAkB;AAAA3D,IAAA,MAAA2D;AAAA3D,IAAA,MAAA8D;OAAAA,OAAA9D,EAAA;AAAA,QAAxB8D"}