udp-react-enterprise-component-library 25.18.3-beta.21 → 25.18.3-beta.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CrudBrowserContainer-CNsUtN_z.js → CrudBrowserContainer-Dio9uLBV.js} +2 -2
- package/dist/CrudBrowserContainer-Dio9uLBV.js.map +1 -0
- package/dist/{CrudTableSidePanel-DpfvHTiZ.js → CrudTableSidePanel-BP6UKxjz.js} +2 -2
- package/dist/CrudTableSidePanel-BP6UKxjz.js.map +1 -0
- package/dist/{DataBrowserContainer-DkBpfUhO.js → DataBrowserContainer-CLiddUcY.js} +2 -2
- package/dist/{DataBrowserContainer-DkBpfUhO.js.map → DataBrowserContainer-CLiddUcY.js.map} +1 -1
- package/dist/{UdpDataBrowserPage-BkBap4Bt.js → UdpDataBrowserPage-SIvcfPtj.js} +3 -3
- package/dist/{UdpDataBrowserPage-BkBap4Bt.js.map → UdpDataBrowserPage-SIvcfPtj.js.map} +1 -1
- package/dist/{UdpInquiryMaintenanceEnginePage-Dm0G0rSA.js → UdpInquiryMaintenanceEnginePage-i-RWdzT0.js} +2 -2
- package/dist/{UdpInquiryMaintenanceEnginePage-Dm0G0rSA.js.map → UdpInquiryMaintenanceEnginePage-i-RWdzT0.js.map} +1 -1
- package/dist/{UdpMaintenanceEnginePage-BBN0M4_L.js → UdpMaintenanceEnginePage-D-6ALB1c.js} +3 -3
- package/dist/{UdpMaintenanceEnginePage-BBN0M4_L.js.map → UdpMaintenanceEnginePage-D-6ALB1c.js.map} +1 -1
- package/dist/{UdpTransactionsPage-DOCWx5bf.js → UdpTransactionsPage-CtOiMwig.js} +8 -2
- package/dist/UdpTransactionsPage-CtOiMwig.js.map +1 -0
- package/dist/dataBrowser/index.js +1 -1
- package/dist/index.js +2 -2
- package/dist/maintenanceEngine/crudBrowser/index.js +2 -2
- package/dist/maintenanceEngine/index.js +2 -2
- package/dist/types/src/maintenanceEngine/crudBrowser/CrudTableColumnDefs.d.ts.map +1 -1
- package/dist/types/src/maintenanceEngine/crudBrowser/CrudTableSidePanel.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
- package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
- package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
- package/dist/udp/pages/UdpPages/index.js +4 -4
- package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
- package/export-map.json +1 -1
- package/package.json +1 -1
- package/dist/CrudBrowserContainer-CNsUtN_z.js.map +0 -1
- package/dist/CrudTableSidePanel-DpfvHTiZ.js.map +0 -1
- package/dist/UdpTransactionsPage-DOCWx5bf.js.map +0 -1
|
@@ -25,7 +25,7 @@ function mapDotNetTypeToAgGridType(type) {
|
|
|
25
25
|
const CrudTableColumnDefs = (entityAttributes, actionList) => {
|
|
26
26
|
let columnDefs = entityAttributes?.reduce((defs, element) => {
|
|
27
27
|
if (element?.extendedProperties?.udpFieldProperties?.maintenanceConfig?.hidden === true) return defs;
|
|
28
|
-
if (element?.name === "businessObjectKey") return defs;
|
|
28
|
+
if (element?.name === "businessObjectKey" || element?.name === "ignoreLoggingTransactions") return defs;
|
|
29
29
|
if (!element?.extendedProperties?.childEntity) {
|
|
30
30
|
const columnHeaderName = toTitleCase(element?.extendedProperties?.udpFieldProperties?.displayName || element?.name);
|
|
31
31
|
const lookupId = element?.extendedProperties?.lookup || element?.extendedProperties?.udpFieldProperties?.maintainenceConfig?.lookup;
|
|
@@ -173,4 +173,4 @@ const CrudBrowserContainer = (props) => {
|
|
|
173
173
|
|
|
174
174
|
//#endregion
|
|
175
175
|
export { CrudTableColumnDefs as n, mapDotNetTypeToAgGridType as r, CrudBrowserContainer as t };
|
|
176
|
-
//# sourceMappingURL=CrudBrowserContainer-
|
|
176
|
+
//# sourceMappingURL=CrudBrowserContainer-Dio9uLBV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CrudBrowserContainer-Dio9uLBV.js","names":["uuid"],"sources":["../src/maintenanceEngine/crudBrowser/crudHelper.ts","../src/maintenanceEngine/crudBrowser/CrudTableColumnDefs.js","../src/maintenanceEngine/crudBrowser/CrudBrowserContainer.jsx"],"sourcesContent":["export function mapDotNetTypeToAgGridType(\n type: string\n): 'text' | 'number' | 'boolean' | 'dateString' | 'dateTimeString' | 'object' {\n const normalized = type.replace(/\\?$/, '').trim().toLowerCase();\n\n if (\n normalized === 'byte' ||\n normalized === 'short' ||\n normalized === 'int' ||\n normalized === 'long' ||\n normalized === 'float' ||\n normalized === 'double' ||\n normalized === 'decimal'\n ) {\n return 'number';\n }\n\n if (normalized === 'string' || normalized === 'guid') {\n return 'text';\n }\n\n if (normalized === 'bool' || normalized === 'boolean') {\n return 'boolean';\n }\n\n if (normalized === 'date') {\n return 'dateString';\n }\n\n if (normalized === 'datetime') {\n return 'dateTimeString';\n }\n\n if (normalized.startsWith('dictionary') || normalized === 'object') {\n return 'object';\n }\n\n // fallback default\n return 'text';\n}\n","import { toTitleCase } from '../../utilities/input/StringUtilities';\nimport { mapDotNetTypeToAgGridType } from './crudHelper';\n\nexport const CrudTableColumnDefs = (entityAttributes, actionList) => {\n let columnDefs =\n entityAttributes?.reduce((defs, element) => {\n //skip is hidden through maintenance config\n if (\n element?.extendedProperties?.udpFieldProperties?.maintenanceConfig\n ?.hidden === true\n ) {\n return defs;\n }\n //skip if business object key\n if (\n element?.name === 'businessObjectKey' ||\n element?.name === 'ignoreLoggingTransactions'\n ) {\n return defs;\n }\n\n if (!element?.extendedProperties?.childEntity) {\n const columnHeader =\n element?.extendedProperties?.udpFieldProperties?.displayName ||\n element?.name;\n\n const columnHeaderName = toTitleCase(columnHeader);\n const lookupId =\n element?.extendedProperties?.lookup ||\n element?.extendedProperties?.udpFieldProperties?.maintainenceConfig\n ?.lookup;\n\n let def = {\n headerName: columnHeaderName,\n field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n cellDataType: mapDotNetTypeToAgGridType(element?.type),\n filter: element?.extendedProperties?.searchable,\n sortable: element?.extendedProperties?.orderable,\n hide: element?.extendedProperties?.udpFieldProperties\n ?.maintainenceConfig?.hidden,\n tooltipField:\n element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n context: {\n lookupId: lookupId,\n ...element\n }\n };\n\n defs.push(def);\n }\n return defs;\n }, []) || [];\n\n columnDefs.push({\n headerName: 'Actions',\n field: 'actions',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: actionList\n }\n });\n\n return columnDefs;\n};\n","import React, { useMemo, useEffect, useCallback } from 'react';\nimport { CrudTableColumnDefs } from './CrudTableColumnDefs';\nimport { LookupEntitiesIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { LookupTypeIdEnums, UdpEnums } from '../../enums/unitySystemEnums';\nimport { toTitleCase } from '../../utilities/input/StringUtilities';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { v4 as uuid } from 'uuid';\nimport { SearchMethodUdpGrid } from '../../UI/templates/newGrid/SearchMethodUdpGrid';\n\nconst GRID_ID = '4be3be45-1930-4ab9-b7b7-0c0fa3e30490';\n\nexport const CrudBrowserContainer = (props) => {\n const {\n actionList,\n onCreate,\n entityAttributes,\n foreignKeyData,\n promotedEntity,\n apiMethod,\n filterElements,\n setAlertWarnings,\n gridApiCallback,\n showBackToTableBrowser,\n ...other\n } = props;\n\n const { t } = useTranslation();\n const history = useHistory();\n\n const entityName = useMemo(() => {\n return promotedEntity?.entityName;\n }, [promotedEntity]);\n\n const commonEntityName = useMemo(() => {\n if (!entityName) return '';\n return toTitleCase(getSanitizedName(entityName));\n }, [entityName]);\n\n const handleGoToTableBrowser = useCallback(() => {\n history.push({\n pathname: `/tableBrowser`\n });\n }, [history]);\n\n const secondaryActionButtons = useMemo(() => {\n if (showBackToTableBrowser) {\n return [\n {\n label: t('Table Browser'),\n iconName: 'arrowLeft16',\n onClick: handleGoToTableBrowser\n }\n ];\n } else {\n return [];\n }\n }, [handleGoToTableBrowser, showBackToTableBrowser, t]);\n\n const virtualActions = useMemo(() => {\n return [\n // Action for opening Virtual Configuration\n {\n id: 3,\n title: t('Open Virtual Table'),\n icon: LookupEntitiesIcon,\n loading: !!!foreignKeyData,\n onClick: (value) => {\n history.push({\n pathname: `/virtual/${value.id}`,\n search: `?entityName=${entityName}`,\n state: {\n value,\n promotedEntity,\n label: value.name\n }\n });\n },\n checkDisabled: (value) => value.typeId !== LookupTypeIdEnums.Lookup\n }\n ];\n }, [entityName, foreignKeyData, history, promotedEntity, t]);\n\n const jointActionList = useMemo(() => {\n if (!actionList || actionList?.length === 0) {\n return null;\n }\n // Check if it's a udp lookup entity\n if (\n getSanitizedName(entityName?.toLowerCase()) ===\n UdpEnums.Udp_Lookup.toLowerCase()\n ) {\n return [...actionList, ...virtualActions];\n }\n return [...actionList];\n }, [actionList, entityName, virtualActions]);\n\n const columnDefs = useMemo(() => {\n if (entityAttributes && jointActionList) {\n return CrudTableColumnDefs(entityAttributes, jointActionList);\n }\n }, [entityAttributes, jointActionList]);\n\n useEffect(() => {\n if (promotedEntity) {\n if (!promotedEntity?.unityBaseSearchMethod?.apiMethodId) {\n const searchMethodWarning = {\n id: uuid(),\n message: `${promotedEntity.entityName}'s Search method needs to be promoted`\n };\n setAlertWarnings &&\n setAlertWarnings((prevState) => [...prevState, searchMethodWarning]);\n }\n }\n }, [promotedEntity, setAlertWarnings]);\n\n const searchMethodConfig = useMemo(() => {\n return {\n apiMethodId: promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n customSearchObject: {filterElements: filterElements}\n };\n }, [promotedEntity?.unityBaseSearchMethod?.apiMethodId, filterElements]);\n\n const gridFunctions = useMemo(() => {\n return [\n { name: 'openSavedViews' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' }\n ];\n }, []);\n\n return (\n <SearchMethodUdpGrid\n columnDefs={columnDefs}\n searchMethodConfig={searchMethodConfig}\n gridHeaderConfig={{\n title: commonEntityName,\n primaryActionButton: {\n label: 'Add',\n iconName: 'add',\n onClick: onCreate\n },\n secondaryActionButtons: secondaryActionButtons\n }}\n gridId={GRID_ID}\n entityName={commonEntityName}\n gridOptions={{\n pagination: true,\n ...other\n }}\n gridApiCallback={gridApiCallback}\n gridFunctions={gridFunctions}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ const CrudTableSidePanel = (props) => {
|
|
|
43
43
|
}, [classes]);
|
|
44
44
|
const filteredEntityAttributes = useMemo(() => {
|
|
45
45
|
if (entityName?.toLowerCase().includes(UdpEnums.Udp_Lookup.toLowerCase())) return entityAttributes.filter((attr) => !UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE.includes(attr.name));
|
|
46
|
-
return entityAttributes.filter((attr) => attr.name !== "businessObjectKey");
|
|
46
|
+
return entityAttributes.filter((attr) => attr.name !== "businessObjectKey" && attr.name !== "ignoreLoggingTransactions");
|
|
47
47
|
}, [entityAttributes, entityName]);
|
|
48
48
|
const sideSheetContent = useMemo(() => {
|
|
49
49
|
if (page) return /* @__PURE__ */ React.createElement(DndProvider, { backend: HTML5Backend }, /* @__PURE__ */ React.createElement(PageContainer, {
|
|
@@ -117,4 +117,4 @@ CrudTableSidePanel.propTypes = {
|
|
|
117
117
|
|
|
118
118
|
//#endregion
|
|
119
119
|
export { UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE as n, CrudTableSidePanel as t };
|
|
120
|
-
//# sourceMappingURL=CrudTableSidePanel-
|
|
120
|
+
//# sourceMappingURL=CrudTableSidePanel-BP6UKxjz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CrudTableSidePanel-BP6UKxjz.js","names":[],"sources":["../src/maintenanceEngine/entityAttributeActions.js","../src/maintenanceEngine/crudBrowser/CrudTableSidePanel.jsx"],"sourcesContent":["export const UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE = [\n 'businessObjectKey',\n 'clusterId',\n 'data',\n 'domainName'\n];\n","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 { 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 } = 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) =>\n attr.name !== 'businessObjectKey' &&\n attr.name !== 'ignoreLoggingTransactions'\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 />\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 ]);\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"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAa,uCAAuC;CAClD;CACA;CACA;CACA;CACD;;;;ACUD,MAAM,YAAY,YAAY,WAAW;CACvC,MAAM,EAAE;CACR,SAAS,EACP,WAAW,MAAM,QAAQ,EAAE,EAC5B;CACF,EAAE;AAEH,MAAM,eAAe;AAErB,MAAa,sBAAsB,UAAU;CAC3C,MAAM,EACJ,kBACA,eACA,gBACA,sBACA,gBACA,UACA,UACA,QACA,mBACA,yBACA,sBACA,mBACA,YACA,YACA,eACE;CACJ,MAAM,OAAO,SAAS;CACtB,MAAM,UAAU,WAAW;CAE3B,MAAM,CAAC,EAAE,MAAM,MAAM,SAAS,iBAAiB,YAC7C,cAAc,gBACd,QAAQ,UACR,EAAE,EACF,CAAC,CAAC,CAAC,QACH,MACD;CAED,MAAM,WAAW,cAAc;EAC7B,MAAM,cAAc,EAAE;AACtB,OAAK,IAAI,IAAI,GAAG,IAAI,cAAc,IAChC,aAAY,KACV,0DACE,oCAAC;GAAS,KAAK;GAAG,SAAQ;GAAO,WAAW,QAAQ;IAAY,EAChE,oCAAC,cAAW,MAAK,QAAQ,CACxB,CACJ;AAEH,SAAO;IACN,CAAC,QAAQ,CAAC;CAGb,MAAM,2BAA2B,cAAc;AAC7C,MAAI,YAAY,aAAa,CAAC,SAAS,SAAS,WAAW,aAAa,CAAC,CACvE,QAAO,iBAAiB,QACrB,SAAS,CAAC,qCAAqC,SAAS,KAAK,KAAK,CACpE;AAEH,SAAO,iBAAiB,QACrB,SACC,KAAK,SAAS,uBACd,KAAK,SAAS,4BACjB;IACA,CAAC,kBAAkB,WAAW,CAAC;CAElC,MAAM,mBAAmB,cAAc;AACrC,MAAI,KACF,QACE,oCAAC,eAAY,SAAS,gBACpB,oCAAC;GACO;GACN,KAAK;GACL,UAAU;GACV,cAAc;IACZ,QAAQ,MAAM;IACd,kBAAkB;IACN;IACA;IACI;IACJ;IACG;IACf,SAAS;IACU;IACM;IACH;IACN;IACG;IACT;IACA;IACX;GACD,gBAAgB;IAChB,CACU;MAGhB,QACE,0DACE,oCAAC;GACC,kBAAkB;GACH;GACC;GACM;GACN;GACN;GACA;GACE;GACA;GACA;IACZ,EACF,oCAAC,SAAI,WAAW,QAAQ,WACtB,oCAAC,cAAU,CACP,CACL;IAGN;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,oCAAC,aACE,cACC,0DACG,SAAS,KAAK,OAAO,GAAG,EACzB,oCAAC,cAAW,MAAK,OAAO,EACxB,oCAAC;EAAS,SAAQ;EAAO,WAAW,QAAQ;GAAkB,CAC7D,GAEH,iBAEE;;AAIV,mBAAmB,YAAY;CAI7B,kBAAkB,UAAU;CAI5B,gBAAgB,UAAU;CAI1B,sBAAsB,UAAU;CAIhC,gBAAgB,UAAU;CAI1B,UAAU,UAAU;CAIpB,UAAU,UAAU;CACrB"}
|
|
@@ -14,7 +14,7 @@ import { t as ActionsRenderer } from "./ActionsRenderer-CVsAe0kp.js";
|
|
|
14
14
|
import { t as useLookupsStore } from "./lookupsStore-D4tmhbfu.js";
|
|
15
15
|
import { t as useQueryExecutors } from "./useQueryExecutors-CiYDcipF.js";
|
|
16
16
|
import { t as SearchServiceDatasource } from "./SearchServiceDatasource-L4af1J87.js";
|
|
17
|
-
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-
|
|
17
|
+
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-BP6UKxjz.js";
|
|
18
18
|
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
19
19
|
import { useHistory } from "react-router-dom";
|
|
20
20
|
import { AddIcon, ConfigurationSolidIcon, LookupEntitiesIcon } from "@fluentui/react-icons";
|
|
@@ -394,4 +394,4 @@ const DataBrowserContainer = (props) => {
|
|
|
394
394
|
|
|
395
395
|
//#endregion
|
|
396
396
|
export { DataBrowserColumnDefs as n, defaultColActionsDef as r, DataBrowserContainer as t };
|
|
397
|
-
//# sourceMappingURL=DataBrowserContainer-
|
|
397
|
+
//# sourceMappingURL=DataBrowserContainer-CLiddUcY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataBrowserContainer-DkBpfUhO.js","names":[],"sources":["../src/dataBrowser/DataBrowserColumnDefs.js","../src/dataBrowser/DataBrowserContainer.jsx"],"sourcesContent":["import {\n toTitleCase,\n toLowerFirstChar\n} from '../utilities/input/StringUtilities';\n\nconst defaultGridColumn = {\n headerName: '',\n field: '',\n minWidth: 80,\n autoHeight: false,\n sortable: false\n};\n\nexport const DataBrowserColumnDefs = (\n entityAttributes,\n actionList,\n isServerSide,\n queryColumnsData,\n columnName = 'Actions',\n crudTableActionRenderName = 'actionsRenderer',\n panelDirection = 'right'\n) => {\n const childEntityAttributes = entityAttributes?.reduce((defs, element) => {\n if (element?.extendedProperties?.childEntity) {\n defs.push(element);\n }\n return defs;\n }, []);\n\n let shownColumns = [];\n let hiddenColumns = [];\n\n entityAttributes?.forEach((element) => {\n if (!element?.extendedProperties?.childEntity) {\n let matchingColumn = null;\n const matchingColumnIndex = queryColumnsData.findIndex(\n (column) => column.name === element?.name\n );\n\n if (matchingColumnIndex >= 0) {\n matchingColumn = queryColumnsData[matchingColumnIndex];\n }\n\n // update column header if attribute has a child entity\n const childEntity = childEntityAttributes.find(\n (ea) =>\n Object.keys(ea?.extendedProperties?.childEntityAssoc || {}).length &&\n !ea?.extendedProperties?.childEntityAssoc?.UdpType &&\n ea?.name === element?.name &&\n ea?.extendedProperties?.childEntityAssoc.Keys.find((k) =>\n toLowerFirstChar(k).includes(element?.name)\n )\n );\n\n let columnHeaderName = toTitleCase(\n childEntity ? childEntity?.reference : element?.name\n );\n\n if (matchingColumn) {\n columnHeaderName = toTitleCase(\n childEntity\n ? childEntity?.reference\n : matchingColumn?.alias || matchingColumn?.name\n );\n }\n\n let def = {\n ...defaultGridColumn,\n headerName: columnHeaderName,\n field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n hide: !matchingColumn\n };\n\n if (element?.extendedProperties?.searchable && isServerSide) {\n def = {\n ...def,\n filter: 'agTextColumnFilter',\n filterParams: {\n suppressAndOrCondition: true,\n filterOptions: [\n 'equals',\n 'contains',\n 'notEqual',\n 'greaterThan',\n 'lessThan',\n 'greaterThanOrEqual',\n 'lessThanOrEqual'\n ]\n },\n enableRowGroup: true\n };\n }\n if (element?.extendedProperties?.orderable || !isServerSide) {\n def = {\n ...def,\n sortable: true\n };\n }\n\n if (matchingColumn) {\n shownColumns[matchingColumnIndex] = def;\n } else {\n hiddenColumns.push(def);\n }\n }\n });\n\n let columnDefs = shownColumns.concat(hiddenColumns);\n\n columnDefs.push({\n headerName:\n crudTableActionRenderName === 'actionsRenderer' ? 'Actions' : columnName,\n filter: false,\n pinned: panelDirection,\n width: 150,\n maxWidth: 180,\n cellRenderer: crudTableActionRenderName,\n cellRendererParams: {\n actionList\n },\n valueGetter: (params) => params.data,\n suppressMenu: true,\n sortable: false,\n cellStyle: { display: 'flex', alignItems: 'center' }\n });\n\n return columnDefs;\n};\n\nexport const defaultColActionsDef = {\n resizable: true,\n editable: false,\n sortable: false,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true\n};\n","import React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { AmbientGridTemplate } from '../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { SideSheet } from '../UI/surfaces/SideSheet';\nimport { ActionsRenderer } from '../UI/templates/ui/renderers/ActionsRenderer';\nimport { DataBrowserColumnDefs } from './DataBrowserColumnDefs';\nimport {\n AddIcon,\n LookupEntitiesIcon,\n ConfigurationSolidIcon\n} from '@fluentui/react-icons';\nimport { CrudTableSidePanel } from '../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport { format } from 'date-fns';\nimport { findTermByType } from '../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { LookupTypeIdEnums, UdpEnums } from '../enums/unitySystemEnums';\nimport {\n executeQueryAdHoc,\n executeQueryWithParameters\n} from '../udp/utilities/methodUtils';\nimport { useAgGridApi } from '../utilities/aggrid/AgTable';\nimport { SearchServiceDatasource } from '../utilities/aggrid/datasources/SearchServiceDatasource';\nimport { useUser } from '../utilities/auth/useUser';\nimport {\n toTitleCase,\n toUpperFirstChar\n} from '../utilities/input/StringUtilities';\nimport { getSanitizedName } from '../utilities/entities/entityUtilities';\nimport { useQueryExecutors } from '../hooks/useQueryExecutors';\nimport { useLookupsStore } from '../stores/lookupsStore';\nimport { SqlFilterOperators } from '../enums/aggridEnums';\nimport { useBuildEnvironment } from '../shell/ui/useBuildEnvironment';\nimport { usePromotedMethodEntity } from '../hooks/usePromotedMethodEntity';\nimport { getSearchObject } from '../utilities/search/SearchUtilities';\n\nconst GRID_ID = '4be3be45-1930-4ab9-b7b7-0c0fa3e30490';\n\nexport const DataBrowserContainer = (props) => {\n const {\n entityData,\n actionList,\n onCreate,\n entityAttributes,\n foreignKeyData,\n isLoading,\n promotedEntity,\n setEntityData,\n apiMethod,\n isServerSide = false,\n setGridApi,\n filterElements,\n backToConfigPage,\n queryColumnsData,\n lookupsMap = {},\n ...other\n } = props;\n const [isSheetOpen, setSheetOpen] = useState(false);\n const [sideSheetWidth, setSideSheetWidth] = useState(600);\n const [sideSheetButtonLabel, setSideSheetButtonLabel] = useState('');\n const [otherSideSheetProps, setOtherSideSheetProps] = useState({});\n const [sideSheetOnSubmit, setSideSheetOnSubmit] = useState(\n () => () => console.warn('onSubmit not set')\n );\n const [filterChipsArray, setFilterChipsArray] = useState([]);\n const [searchFilterElements, setSearchFilterElements] =\n useState(filterElements);\n const [entityUdpObjectInfo, setEntityUdpObjectInfo] = useState(null);\n const { t } = useTranslation();\n const history = useHistory();\n const user = useUser();\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const { executeQueryAdHocAndMapLookups, getCleanData } = useQueryExecutors();\n const lookupApiMethodId = useLookupsStore((state) => state.lookupApiMethodId);\n const buildEnv = useBuildEnvironment();\n const closeSheet = useCallback(() => {\n setSheetOpen(false);\n }, []);\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n\n const entityName = useMemo(() => {\n if (!promotedEntity) return '';\n return promotedEntity.entityName || '';\n }, [promotedEntity]);\n\n const commonEntityName = useMemo(() => {\n if (!entityName || !entityUdpObjectInfo) return '';\n return toTitleCase(\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n );\n }, [entityName, entityUdpObjectInfo]);\n\n const createApiMethodPageId = useMemo(() => {\n return promotedEntity?.unityBaseCreateMethod?.pageId;\n }, [promotedEntity]);\n\n const secondaryActionButtons = useMemo(() => {\n const actions = [];\n if (backToConfigPage) {\n actions.push({\n onClick: backToConfigPage,\n label: t('Back To Config'),\n icon: ConfigurationSolidIcon,\n tooltip: t('Back To Config'),\n background: 'transparent'\n });\n }\n // actions.push({\n // onClick: () => {},\n // label: t('Load to Tree'),\n // icon: UploadIcon,\n // tooltip: t('Load to Tree'),\n // background: 'transparent'\n // });\n return actions;\n }, [backToConfigPage, t]);\n\n const virtualActions = useMemo(() => {\n return [\n // Action for opening Virtual Configuration\n {\n id: 3,\n title: t('Open Virtual Table'),\n icon: LookupEntitiesIcon,\n loading: !!!foreignKeyData,\n onClick: (value) => {\n history.push({\n pathname: `/virtual/${value.id}`,\n search: `?entityName=${entityName}`,\n state: {\n value,\n promotedEntity,\n label: value.name\n }\n });\n },\n checkDisabled: (value) => value.typeId !== LookupTypeIdEnums.Lookup\n }\n ];\n }, [entityName, t, history, promotedEntity, foreignKeyData]);\n\n const jointActionList = useMemo(() => {\n if (!actionList) {\n return [];\n }\n // Check if it's a udp lookup entity\n if (entityName.toLowerCase() === UdpEnums.Udp_Lookup.toLowerCase()) {\n return [...actionList, ...virtualActions];\n }\n return actionList;\n }, [actionList, virtualActions, entityName]);\n\n const columnDefs = useMemo(() => {\n return DataBrowserColumnDefs(\n entityAttributes,\n jointActionList,\n true,\n queryColumnsData\n );\n }, [entityAttributes, jointActionList, queryColumnsData]);\n\n const groupData = useMemo(() => {\n return columnDefs?.map((item) => {\n return {\n groupItem: item.field,\n label: item.headerName,\n value: item.field\n };\n });\n }, [columnDefs]);\n\n const SideOptionList = useMemo(\n () => (\n <SideSheet\n open={isSheetOpen}\n onClose={closeSheet}\n title={`Add New ${commonEntityName}`}\n width={sideSheetWidth}\n buttonLabel={sideSheetButtonLabel}\n onSubmit={sideSheetOnSubmit}\n {...otherSideSheetProps}\n >\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n onCreate={onCreate}\n closeSideSheet={closeSheet}\n pageId={createApiMethodPageId}\n setSideSheetWidth={setSideSheetWidth}\n setSideSheetButtonLabel={setSideSheetButtonLabel}\n setSideSheetOnSubmit={setSideSheetOnSubmit}\n setSideSheetProps={setOtherSideSheetProps}\n isNewEntry={true}\n entityData={entityData}\n entityName={entityName}\n />\n </SideSheet>\n ),\n [\n isSheetOpen,\n closeSheet,\n entityName,\n sideSheetWidth,\n sideSheetButtonLabel,\n sideSheetOnSubmit,\n entityAttributes,\n foreignKeyData,\n onCreate,\n createApiMethodPageId,\n entityData,\n otherSideSheetProps,\n commonEntityName\n ]\n );\n\n const getLookupResults = useCallback(async () => {\n if (!lookupsMap || !lookupApiMethodId) return null;\n const lookupToFilterOn = Object.values(lookupsMap).find(\n (item) => item.filterOn\n );\n const lookupId = lookupToFilterOn?.value || '';\n if (lookupId) {\n const lookupResult = await executeQueryWithParameters(\n { data: { id: lookupId } },\n lookupApiMethodId\n );\n return lookupResult;\n }\n return null;\n }, [lookupsMap, lookupApiMethodId]);\n\n const formattedData = useMemo(() => {\n if (entityData) {\n let formattedEntityData = cloneDeep(entityData);\n\n // get list of attributes that are datetime\n const datetimeFields = entityAttributes?.reduce((defs, element) => {\n if (\n !element?.extendedProperties?.childEntity &&\n findTermByType(element?.type, 'datetime')\n ) {\n defs.push(\n element?.name.charAt(0).toLowerCase() + element?.name.slice(1)\n );\n }\n return defs;\n }, []);\n\n if (datetimeFields?.length) {\n formattedEntityData.forEach((e) => {\n Object.keys(e).forEach((key) => {\n // format all datetime fields\n if (datetimeFields.find((field) => field === key)) {\n // LAA UNT-2977: add null check to prevent default date from being added when null\n if (e[key] === null) return;\n e[key] = format(new Date(e[key]), 'yyyy/MM/dd kk:mm:ss');\n }\n });\n });\n }\n\n return formattedEntityData;\n }\n return [];\n }, [entityAttributes, entityData]);\n\n const handleChipToggle = useCallback(\n (chip) => {\n if (isServerSide && chip && chip.filterValue && chip.keyName) {\n const updatedSearchFilterElements = [...searchFilterElements];\n const chipFilterElement = {\n searchValue: chip.filterValue,\n searchField: toUpperFirstChar(chip.keyName),\n searchOperator: SqlFilterOperators.EQUALS\n };\n updatedSearchFilterElements.push(chipFilterElement);\n setSearchFilterElements(updatedSearchFilterElements);\n } else {\n // TODO: handle client side filter chips\n }\n },\n [isServerSide, searchFilterElements]\n );\n\n const handleChipUntoggle = useCallback(() => {\n setSearchFilterElements(filterElements);\n }, [filterElements]);\n\n const setFilterChips = useCallback(async () => {\n let filterChipsArray = [];\n\n // A list of all the products (for product lookup)\n const lookup = await getLookupResults();\n const lookupResults = lookup?.data;\n\n if (!lookupResults) {\n setFilterChipsArray([]);\n return; // no lookup results\n }\n\n let keyName = lookupResults.keyName;\n const valueName = lookupResults.valueName;\n\n const lookupToFilterOn = Object.values(lookupsMap).find(\n (item) => item.filterOn\n );\n\n let chipKey = keyName;\n const lookupMapKeys = Object.keys(lookupsMap);\n for (let i = 0; i < lookupMapKeys.length; i++) {\n const key = lookupMapKeys[i];\n if (lookupsMap[key].value === lookupToFilterOn?.value) {\n chipKey = key;\n break;\n }\n }\n\n // Add the chips\n for (let i = 0; i < lookupResults?.data.length; i++) {\n const lookupResult = lookupResults.data[i];\n\n const label = lookupResult[valueName];\n const numRows = formattedData?.filter(\n (obj) => obj[keyName] === label\n )?.length;\n\n let chipData = {\n label: `${label}`,\n value: !isServerSide ? numRows || '' : '',\n filterValue: lookupResult[keyName],\n id: i,\n keyName: chipKey\n };\n chipData.onToggle = () => handleChipToggle(chipData);\n chipData.onUntoggle = () => handleChipUntoggle();\n\n // Only add the chip if it has results and is not using server side\n if (!isServerSide && numRows > 0) {\n filterChipsArray.push(chipData);\n }\n if (isServerSide) {\n filterChipsArray.push(chipData);\n }\n }\n\n setFilterChipsArray(filterChipsArray);\n }, [\n getLookupResults,\n handleChipToggle,\n handleChipUntoggle,\n isServerSide,\n formattedData,\n lookupsMap\n ]);\n\n useEffect(() => {\n setFilterChips();\n }, [setFilterChips]);\n\n useEffect(() => {\n setSearchFilterElements(filterElements || []);\n }, [filterElements]);\n\n useEffect(() => {\n if (!gridApi) return;\n if (setGridApi) {\n setGridApi(gridApi);\n }\n if (promotedEntity && isServerSide && lookupsMap) {\n let datasource = SearchServiceDatasource(\n null,\n promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n searchFilterElements,\n 1,\n executeQueryAdHocAndMapLookups,\n setEntityData,\n lookupsMap,\n false,\n getCleanData\n );\n // eslint-disable-next-line no-unused-expressions\n gridApi?.setServerSideDatasource(datasource);\n }\n }, [\n gridApi,\n promotedEntity,\n setEntityData,\n setGridApi,\n isServerSide,\n searchFilterElements,\n executeQueryAdHocAndMapLookups,\n lookupsMap,\n getCleanData\n ]);\n\n useEffect(() => {\n const executeSearchForEntityUdpObjectInfo = async (\n apiMethodId,\n sanitizedEntityName\n ) => {\n const filterElements = [\n {\n searchField: 'SanitizedName',\n searchOperator: '=',\n searchValue: sanitizedEntityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, false);\n const response = await executeQueryAdHoc(\n { data: requestObj },\n apiMethodId\n );\n if (response.status === 200) {\n const data = response?.data?.pageList[0];\n setEntityUdpObjectInfo(data);\n }\n };\n if (udpObjectInfoEntity?.unityBaseSearchMethod && entityName) {\n executeSearchForEntityUdpObjectInfo(\n udpObjectInfoEntity?.unityBaseSearchMethod?.apiMethodId,\n getSanitizedName(entityName)\n );\n }\n }, [udpObjectInfoEntity, entityName]);\n\n return (\n <>\n <AmbientGridTemplate\n gridId={GRID_ID}\n user={user}\n useNewHeader\n api={gridApi}\n onGridReady={onGridReady}\n columnApi={gridColumnApi}\n apiMethod={apiMethod}\n title={commonEntityName}\n data={!isServerSide && formattedData}\n columnDefs={columnDefs}\n groupingData={groupData}\n onPrimaryActionClick={() => setSheetOpen && setSheetOpen(true)}\n primaryActionLabel={t('Add')}\n primaryActionIcon={AddIcon}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n height={`calc(100vh - ${buildEnv ? '139px' : '114px'})`}\n hideSearchBar={isServerSide}\n loading={isLoading}\n suppressScrollOnNewData\n dynamicSizing={false}\n // rowSelection='multiple'\n // rowMultiSelectWithClick={true}\n disableRowSelection={true}\n rowModelType={isServerSide ? 'serverSide' : null}\n serverSideStoreType={isServerSide ? 'partial' : null}\n cacheOverflowSize={isServerSide ? 2 : null}\n cacheBlockSize={isServerSide ? 20 : null}\n maxConcurrentDatasourceRequests={isServerSide ? 1 : null}\n secondaryActionButtons={secondaryActionButtons}\n filterChips={[...filterChipsArray]}\n {...other}\n />\n {SideOptionList}\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataBrowserContainer-CLiddUcY.js","names":[],"sources":["../src/dataBrowser/DataBrowserColumnDefs.js","../src/dataBrowser/DataBrowserContainer.jsx"],"sourcesContent":["import {\n toTitleCase,\n toLowerFirstChar\n} from '../utilities/input/StringUtilities';\n\nconst defaultGridColumn = {\n headerName: '',\n field: '',\n minWidth: 80,\n autoHeight: false,\n sortable: false\n};\n\nexport const DataBrowserColumnDefs = (\n entityAttributes,\n actionList,\n isServerSide,\n queryColumnsData,\n columnName = 'Actions',\n crudTableActionRenderName = 'actionsRenderer',\n panelDirection = 'right'\n) => {\n const childEntityAttributes = entityAttributes?.reduce((defs, element) => {\n if (element?.extendedProperties?.childEntity) {\n defs.push(element);\n }\n return defs;\n }, []);\n\n let shownColumns = [];\n let hiddenColumns = [];\n\n entityAttributes?.forEach((element) => {\n if (!element?.extendedProperties?.childEntity) {\n let matchingColumn = null;\n const matchingColumnIndex = queryColumnsData.findIndex(\n (column) => column.name === element?.name\n );\n\n if (matchingColumnIndex >= 0) {\n matchingColumn = queryColumnsData[matchingColumnIndex];\n }\n\n // update column header if attribute has a child entity\n const childEntity = childEntityAttributes.find(\n (ea) =>\n Object.keys(ea?.extendedProperties?.childEntityAssoc || {}).length &&\n !ea?.extendedProperties?.childEntityAssoc?.UdpType &&\n ea?.name === element?.name &&\n ea?.extendedProperties?.childEntityAssoc.Keys.find((k) =>\n toLowerFirstChar(k).includes(element?.name)\n )\n );\n\n let columnHeaderName = toTitleCase(\n childEntity ? childEntity?.reference : element?.name\n );\n\n if (matchingColumn) {\n columnHeaderName = toTitleCase(\n childEntity\n ? childEntity?.reference\n : matchingColumn?.alias || matchingColumn?.name\n );\n }\n\n let def = {\n ...defaultGridColumn,\n headerName: columnHeaderName,\n field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n hide: !matchingColumn\n };\n\n if (element?.extendedProperties?.searchable && isServerSide) {\n def = {\n ...def,\n filter: 'agTextColumnFilter',\n filterParams: {\n suppressAndOrCondition: true,\n filterOptions: [\n 'equals',\n 'contains',\n 'notEqual',\n 'greaterThan',\n 'lessThan',\n 'greaterThanOrEqual',\n 'lessThanOrEqual'\n ]\n },\n enableRowGroup: true\n };\n }\n if (element?.extendedProperties?.orderable || !isServerSide) {\n def = {\n ...def,\n sortable: true\n };\n }\n\n if (matchingColumn) {\n shownColumns[matchingColumnIndex] = def;\n } else {\n hiddenColumns.push(def);\n }\n }\n });\n\n let columnDefs = shownColumns.concat(hiddenColumns);\n\n columnDefs.push({\n headerName:\n crudTableActionRenderName === 'actionsRenderer' ? 'Actions' : columnName,\n filter: false,\n pinned: panelDirection,\n width: 150,\n maxWidth: 180,\n cellRenderer: crudTableActionRenderName,\n cellRendererParams: {\n actionList\n },\n valueGetter: (params) => params.data,\n suppressMenu: true,\n sortable: false,\n cellStyle: { display: 'flex', alignItems: 'center' }\n });\n\n return columnDefs;\n};\n\nexport const defaultColActionsDef = {\n resizable: true,\n editable: false,\n sortable: false,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true\n};\n","import React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { AmbientGridTemplate } from '../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { SideSheet } from '../UI/surfaces/SideSheet';\nimport { ActionsRenderer } from '../UI/templates/ui/renderers/ActionsRenderer';\nimport { DataBrowserColumnDefs } from './DataBrowserColumnDefs';\nimport {\n AddIcon,\n LookupEntitiesIcon,\n ConfigurationSolidIcon\n} from '@fluentui/react-icons';\nimport { CrudTableSidePanel } from '../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport { format } from 'date-fns';\nimport { findTermByType } from '../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { LookupTypeIdEnums, UdpEnums } from '../enums/unitySystemEnums';\nimport {\n executeQueryAdHoc,\n executeQueryWithParameters\n} from '../udp/utilities/methodUtils';\nimport { useAgGridApi } from '../utilities/aggrid/AgTable';\nimport { SearchServiceDatasource } from '../utilities/aggrid/datasources/SearchServiceDatasource';\nimport { useUser } from '../utilities/auth/useUser';\nimport {\n toTitleCase,\n toUpperFirstChar\n} from '../utilities/input/StringUtilities';\nimport { getSanitizedName } from '../utilities/entities/entityUtilities';\nimport { useQueryExecutors } from '../hooks/useQueryExecutors';\nimport { useLookupsStore } from '../stores/lookupsStore';\nimport { SqlFilterOperators } from '../enums/aggridEnums';\nimport { useBuildEnvironment } from '../shell/ui/useBuildEnvironment';\nimport { usePromotedMethodEntity } from '../hooks/usePromotedMethodEntity';\nimport { getSearchObject } from '../utilities/search/SearchUtilities';\n\nconst GRID_ID = '4be3be45-1930-4ab9-b7b7-0c0fa3e30490';\n\nexport const DataBrowserContainer = (props) => {\n const {\n entityData,\n actionList,\n onCreate,\n entityAttributes,\n foreignKeyData,\n isLoading,\n promotedEntity,\n setEntityData,\n apiMethod,\n isServerSide = false,\n setGridApi,\n filterElements,\n backToConfigPage,\n queryColumnsData,\n lookupsMap = {},\n ...other\n } = props;\n const [isSheetOpen, setSheetOpen] = useState(false);\n const [sideSheetWidth, setSideSheetWidth] = useState(600);\n const [sideSheetButtonLabel, setSideSheetButtonLabel] = useState('');\n const [otherSideSheetProps, setOtherSideSheetProps] = useState({});\n const [sideSheetOnSubmit, setSideSheetOnSubmit] = useState(\n () => () => console.warn('onSubmit not set')\n );\n const [filterChipsArray, setFilterChipsArray] = useState([]);\n const [searchFilterElements, setSearchFilterElements] =\n useState(filterElements);\n const [entityUdpObjectInfo, setEntityUdpObjectInfo] = useState(null);\n const { t } = useTranslation();\n const history = useHistory();\n const user = useUser();\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const { executeQueryAdHocAndMapLookups, getCleanData } = useQueryExecutors();\n const lookupApiMethodId = useLookupsStore((state) => state.lookupApiMethodId);\n const buildEnv = useBuildEnvironment();\n const closeSheet = useCallback(() => {\n setSheetOpen(false);\n }, []);\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n\n const entityName = useMemo(() => {\n if (!promotedEntity) return '';\n return promotedEntity.entityName || '';\n }, [promotedEntity]);\n\n const commonEntityName = useMemo(() => {\n if (!entityName || !entityUdpObjectInfo) return '';\n return toTitleCase(\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n );\n }, [entityName, entityUdpObjectInfo]);\n\n const createApiMethodPageId = useMemo(() => {\n return promotedEntity?.unityBaseCreateMethod?.pageId;\n }, [promotedEntity]);\n\n const secondaryActionButtons = useMemo(() => {\n const actions = [];\n if (backToConfigPage) {\n actions.push({\n onClick: backToConfigPage,\n label: t('Back To Config'),\n icon: ConfigurationSolidIcon,\n tooltip: t('Back To Config'),\n background: 'transparent'\n });\n }\n // actions.push({\n // onClick: () => {},\n // label: t('Load to Tree'),\n // icon: UploadIcon,\n // tooltip: t('Load to Tree'),\n // background: 'transparent'\n // });\n return actions;\n }, [backToConfigPage, t]);\n\n const virtualActions = useMemo(() => {\n return [\n // Action for opening Virtual Configuration\n {\n id: 3,\n title: t('Open Virtual Table'),\n icon: LookupEntitiesIcon,\n loading: !!!foreignKeyData,\n onClick: (value) => {\n history.push({\n pathname: `/virtual/${value.id}`,\n search: `?entityName=${entityName}`,\n state: {\n value,\n promotedEntity,\n label: value.name\n }\n });\n },\n checkDisabled: (value) => value.typeId !== LookupTypeIdEnums.Lookup\n }\n ];\n }, [entityName, t, history, promotedEntity, foreignKeyData]);\n\n const jointActionList = useMemo(() => {\n if (!actionList) {\n return [];\n }\n // Check if it's a udp lookup entity\n if (entityName.toLowerCase() === UdpEnums.Udp_Lookup.toLowerCase()) {\n return [...actionList, ...virtualActions];\n }\n return actionList;\n }, [actionList, virtualActions, entityName]);\n\n const columnDefs = useMemo(() => {\n return DataBrowserColumnDefs(\n entityAttributes,\n jointActionList,\n true,\n queryColumnsData\n );\n }, [entityAttributes, jointActionList, queryColumnsData]);\n\n const groupData = useMemo(() => {\n return columnDefs?.map((item) => {\n return {\n groupItem: item.field,\n label: item.headerName,\n value: item.field\n };\n });\n }, [columnDefs]);\n\n const SideOptionList = useMemo(\n () => (\n <SideSheet\n open={isSheetOpen}\n onClose={closeSheet}\n title={`Add New ${commonEntityName}`}\n width={sideSheetWidth}\n buttonLabel={sideSheetButtonLabel}\n onSubmit={sideSheetOnSubmit}\n {...otherSideSheetProps}\n >\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n onCreate={onCreate}\n closeSideSheet={closeSheet}\n pageId={createApiMethodPageId}\n setSideSheetWidth={setSideSheetWidth}\n setSideSheetButtonLabel={setSideSheetButtonLabel}\n setSideSheetOnSubmit={setSideSheetOnSubmit}\n setSideSheetProps={setOtherSideSheetProps}\n isNewEntry={true}\n entityData={entityData}\n entityName={entityName}\n />\n </SideSheet>\n ),\n [\n isSheetOpen,\n closeSheet,\n entityName,\n sideSheetWidth,\n sideSheetButtonLabel,\n sideSheetOnSubmit,\n entityAttributes,\n foreignKeyData,\n onCreate,\n createApiMethodPageId,\n entityData,\n otherSideSheetProps,\n commonEntityName\n ]\n );\n\n const getLookupResults = useCallback(async () => {\n if (!lookupsMap || !lookupApiMethodId) return null;\n const lookupToFilterOn = Object.values(lookupsMap).find(\n (item) => item.filterOn\n );\n const lookupId = lookupToFilterOn?.value || '';\n if (lookupId) {\n const lookupResult = await executeQueryWithParameters(\n { data: { id: lookupId } },\n lookupApiMethodId\n );\n return lookupResult;\n }\n return null;\n }, [lookupsMap, lookupApiMethodId]);\n\n const formattedData = useMemo(() => {\n if (entityData) {\n let formattedEntityData = cloneDeep(entityData);\n\n // get list of attributes that are datetime\n const datetimeFields = entityAttributes?.reduce((defs, element) => {\n if (\n !element?.extendedProperties?.childEntity &&\n findTermByType(element?.type, 'datetime')\n ) {\n defs.push(\n element?.name.charAt(0).toLowerCase() + element?.name.slice(1)\n );\n }\n return defs;\n }, []);\n\n if (datetimeFields?.length) {\n formattedEntityData.forEach((e) => {\n Object.keys(e).forEach((key) => {\n // format all datetime fields\n if (datetimeFields.find((field) => field === key)) {\n // LAA UNT-2977: add null check to prevent default date from being added when null\n if (e[key] === null) return;\n e[key] = format(new Date(e[key]), 'yyyy/MM/dd kk:mm:ss');\n }\n });\n });\n }\n\n return formattedEntityData;\n }\n return [];\n }, [entityAttributes, entityData]);\n\n const handleChipToggle = useCallback(\n (chip) => {\n if (isServerSide && chip && chip.filterValue && chip.keyName) {\n const updatedSearchFilterElements = [...searchFilterElements];\n const chipFilterElement = {\n searchValue: chip.filterValue,\n searchField: toUpperFirstChar(chip.keyName),\n searchOperator: SqlFilterOperators.EQUALS\n };\n updatedSearchFilterElements.push(chipFilterElement);\n setSearchFilterElements(updatedSearchFilterElements);\n } else {\n // TODO: handle client side filter chips\n }\n },\n [isServerSide, searchFilterElements]\n );\n\n const handleChipUntoggle = useCallback(() => {\n setSearchFilterElements(filterElements);\n }, [filterElements]);\n\n const setFilterChips = useCallback(async () => {\n let filterChipsArray = [];\n\n // A list of all the products (for product lookup)\n const lookup = await getLookupResults();\n const lookupResults = lookup?.data;\n\n if (!lookupResults) {\n setFilterChipsArray([]);\n return; // no lookup results\n }\n\n let keyName = lookupResults.keyName;\n const valueName = lookupResults.valueName;\n\n const lookupToFilterOn = Object.values(lookupsMap).find(\n (item) => item.filterOn\n );\n\n let chipKey = keyName;\n const lookupMapKeys = Object.keys(lookupsMap);\n for (let i = 0; i < lookupMapKeys.length; i++) {\n const key = lookupMapKeys[i];\n if (lookupsMap[key].value === lookupToFilterOn?.value) {\n chipKey = key;\n break;\n }\n }\n\n // Add the chips\n for (let i = 0; i < lookupResults?.data.length; i++) {\n const lookupResult = lookupResults.data[i];\n\n const label = lookupResult[valueName];\n const numRows = formattedData?.filter(\n (obj) => obj[keyName] === label\n )?.length;\n\n let chipData = {\n label: `${label}`,\n value: !isServerSide ? numRows || '' : '',\n filterValue: lookupResult[keyName],\n id: i,\n keyName: chipKey\n };\n chipData.onToggle = () => handleChipToggle(chipData);\n chipData.onUntoggle = () => handleChipUntoggle();\n\n // Only add the chip if it has results and is not using server side\n if (!isServerSide && numRows > 0) {\n filterChipsArray.push(chipData);\n }\n if (isServerSide) {\n filterChipsArray.push(chipData);\n }\n }\n\n setFilterChipsArray(filterChipsArray);\n }, [\n getLookupResults,\n handleChipToggle,\n handleChipUntoggle,\n isServerSide,\n formattedData,\n lookupsMap\n ]);\n\n useEffect(() => {\n setFilterChips();\n }, [setFilterChips]);\n\n useEffect(() => {\n setSearchFilterElements(filterElements || []);\n }, [filterElements]);\n\n useEffect(() => {\n if (!gridApi) return;\n if (setGridApi) {\n setGridApi(gridApi);\n }\n if (promotedEntity && isServerSide && lookupsMap) {\n let datasource = SearchServiceDatasource(\n null,\n promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n searchFilterElements,\n 1,\n executeQueryAdHocAndMapLookups,\n setEntityData,\n lookupsMap,\n false,\n getCleanData\n );\n // eslint-disable-next-line no-unused-expressions\n gridApi?.setServerSideDatasource(datasource);\n }\n }, [\n gridApi,\n promotedEntity,\n setEntityData,\n setGridApi,\n isServerSide,\n searchFilterElements,\n executeQueryAdHocAndMapLookups,\n lookupsMap,\n getCleanData\n ]);\n\n useEffect(() => {\n const executeSearchForEntityUdpObjectInfo = async (\n apiMethodId,\n sanitizedEntityName\n ) => {\n const filterElements = [\n {\n searchField: 'SanitizedName',\n searchOperator: '=',\n searchValue: sanitizedEntityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, false);\n const response = await executeQueryAdHoc(\n { data: requestObj },\n apiMethodId\n );\n if (response.status === 200) {\n const data = response?.data?.pageList[0];\n setEntityUdpObjectInfo(data);\n }\n };\n if (udpObjectInfoEntity?.unityBaseSearchMethod && entityName) {\n executeSearchForEntityUdpObjectInfo(\n udpObjectInfoEntity?.unityBaseSearchMethod?.apiMethodId,\n getSanitizedName(entityName)\n );\n }\n }, [udpObjectInfoEntity, entityName]);\n\n return (\n <>\n <AmbientGridTemplate\n gridId={GRID_ID}\n user={user}\n useNewHeader\n api={gridApi}\n onGridReady={onGridReady}\n columnApi={gridColumnApi}\n apiMethod={apiMethod}\n title={commonEntityName}\n data={!isServerSide && formattedData}\n columnDefs={columnDefs}\n groupingData={groupData}\n onPrimaryActionClick={() => setSheetOpen && setSheetOpen(true)}\n primaryActionLabel={t('Add')}\n primaryActionIcon={AddIcon}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n height={`calc(100vh - ${buildEnv ? '139px' : '114px'})`}\n hideSearchBar={isServerSide}\n loading={isLoading}\n suppressScrollOnNewData\n dynamicSizing={false}\n // rowSelection='multiple'\n // rowMultiSelectWithClick={true}\n disableRowSelection={true}\n rowModelType={isServerSide ? 'serverSide' : null}\n serverSideStoreType={isServerSide ? 'partial' : null}\n cacheOverflowSize={isServerSide ? 2 : null}\n cacheBlockSize={isServerSide ? 20 : null}\n maxConcurrentDatasourceRequests={isServerSide ? 1 : null}\n secondaryActionButtons={secondaryActionButtons}\n filterChips={[...filterChipsArray]}\n {...other}\n />\n {SideOptionList}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ import { t as useApiCatalog } from "./useApiCatalog-BBzt21Tw.js";
|
|
|
14
14
|
import { t as useQueryExecutors } from "./useQueryExecutors-CiYDcipF.js";
|
|
15
15
|
import { t as useSearchFilterParamsMap } from "./useSearchFilterParamsMap-7kd9dC6V.js";
|
|
16
16
|
import { t as useAuthedUser } from "./useAuthedUser-D1e-eiJo.js";
|
|
17
|
-
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-
|
|
18
|
-
import { t as DataBrowserContainer } from "./DataBrowserContainer-
|
|
17
|
+
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-BP6UKxjz.js";
|
|
18
|
+
import { t as DataBrowserContainer } from "./DataBrowserContainer-CLiddUcY.js";
|
|
19
19
|
import React, { memo, useCallback, useEffect, useMemo, useState } from "react";
|
|
20
20
|
import { useLocation } from "react-router-dom";
|
|
21
21
|
import { DeleteIcon, EditIcon, UploadIcon } from "@fluentui/react-icons";
|
|
@@ -455,4 +455,4 @@ var UdpDataBrowserPage_exports = /* @__PURE__ */ __exportAll({
|
|
|
455
455
|
|
|
456
456
|
//#endregion
|
|
457
457
|
export { UdpDataBrowserPage as n, UdpDataBrowserPage_default as r, UdpDataBrowserPage_exports as t };
|
|
458
|
-
//# sourceMappingURL=UdpDataBrowserPage-
|
|
458
|
+
//# sourceMappingURL=UdpDataBrowserPage-SIvcfPtj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UdpDataBrowserPage-BkBap4Bt.js","names":["uuid"],"sources":["../src/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.jsx","../src/udp/pages/UdpDataBrowserPage/index.ts"],"sourcesContent":["import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';\nimport { EditIcon, DeleteIcon, UploadIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { DataBrowserContainer } from '../../../dataBrowser/DataBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getPrimaryKeyValues,\n getPathObject\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { useAuthedUser } from '../../../utilities/auth/useAuthedUser';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport { getEntityAttributes } from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { CardinalityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryAdHoc } from '../../utilities/methodUtils';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { useApiCatalog } from '../../../hooks/useApiCatalog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../../hooks/usePromotedMethodEntity';\nimport { useSearchFilterParamsMap } from '../../../hooks/useSearchFilterParamsMap';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { useQueryExecutors } from '../../../hooks/useQueryExecutors';\nimport { mapNodeObjValuesToSearchParameters } from '../../../utilities/tree/TreeUtilities';\nimport { ConfigService } from '../../../configService';\n\n// const FILTER_PARAMS = [\n// {\n// name: 'tenantName',\n// value: 'ABC Company',\n// type: 'string'\n// },\n// {\n// name: 'productId',\n// value: 'UDP_PRODUCT_ID',\n// type: 'keyword'\n// },\n// {\n// name: 'productId',\n// value: 0,\n// type: 'function'\n// }\n// ];\n\n// const FUNCTION_LIST = [() => 1, () => 2];\n\nexport const UdpDataBrowserPage = (props) => {\n const { queryId, params } = props;\n const user = useAuthedUser();\n const { t } = useTranslation();\n const [entityData, setEntityData] = useState([]);\n const [gridApi, setGridApi] = useState(null);\n const [alertWarnings, setAlertWarnings] = useState([]);\n\n const location = useLocation();\n const state = location.state;\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsQueryId = state?.queryId\n ? state.queryId\n : searchParams.has('queryId') === true\n ? toUpperFirstChar(searchParams.get('queryId'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const { getCleanData } = useQueryExecutors();\n\n const udpQueryId = useMemo(\n () => params?.queryId || queryId || searchParamsQueryId || '',\n [params, queryId, searchParamsQueryId]\n );\n\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n\n const [loading, setLoading] = useState(false);\n const [apiCatalogId, setApiCatalogId] = useState(null);\n const [entityName, setEntityName] = useState(null);\n const [enteredFromConfig, setEnteredFromConfig] = useState(false);\n\n const { data: catalog } = useApiCatalog(apiCatalogId);\n\n const { data: udpOjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n // TODO: Params will be either passed in or hard coded for now until we have a way of configuring/storing them.\n const { getQueryFilterElements } = useSearchFilterParamsMap();\n\n const [{ data: tpacb, loading: tpacbLoading, error: tpacbError }] =\n useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {},\n !!!user,\n false\n );\n\n const [\n {\n data: apiMethodInstance,\n loading: apiMethodInstancebLoading,\n error: apiMethodInstanceError\n }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethodInstance/${udpQueryId}`,\n {},\n !!!udpQueryId,\n false\n );\n\n const [\n { data: apiMethod, loading: apiMethodLoading, error: apiMethodError }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethod/${apiMethodInstance?.apiMethodId}`,\n {},\n !!!apiMethodInstance?.apiMethodId,\n false\n );\n\n const udpCatalogKey = useMemo(() => apiMethod?.entityName || '', [apiMethod]);\n\n /*\n returns {\n entityName: Tenant,\n productId: 1,\n unityBaseGetAllMethod: {apiMethodId: 'f06f7853-5816-4950-a275-5085c3387d57', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseGetMethod: {apiMethodId: '06f49cfd-0f1e-475a-812b-73cd3efd9f0d', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseCreateMethod: {apiMethodId: '33310aad-8998-4661-800b-00649d280d31', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseUpdateMethod: {apiMethodId: 'fe611db9-47ec-4a27-8840-871fe1323812', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseDeleteMethod: {apiMethodId: 'dafb84b6-e424-43ff-9ef0-774a5795e420', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n }\n */\n const { data: promotedMethodEntities, loading: promotedMethodsLoading } =\n usePromotedMethodEntity(entityName);\n\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n // Configured columns data from data builder\n const queryColumnsData = useMemo(() => {\n if (!apiMethodInstance) return [];\n let catalogMods = [];\n try {\n const catalogModificationStr = apiMethodInstance.catalogModification;\n const catalogModification = JSON.parse(catalogModificationStr);\n catalogMods = catalogModification;\n } catch {\n console.warn('Error parsing apiMethodInstance catalogModification');\n }\n return catalogMods;\n }, [apiMethodInstance]);\n\n // Lookups map used for to map lookups to column entries\n const lookupsMap = useMemo(() => {\n // need to return null for Datasource to not render twice\n if (!queryColumnsData.length) return null;\n const map = {};\n const lookupColumns = queryColumnsData.filter(\n (column) => !!column.extendedProperties?.lookup\n );\n lookupColumns.forEach((lc) => {\n map[lc.name] = {\n lookupKeyName: lc.extendedProperties?.lookupKeyName || '',\n lookupValueName: lc.extendedProperties?.lookupKeyName || '',\n value: lc.extendedProperties?.lookup || '',\n filterOn: !!lc.filterOn || false\n };\n });\n\n return map;\n }, [queryColumnsData]);\n\n const nodeFilterParams = useMemo(() => {\n let filterParams = [];\n if (params?.nodeObj && params?.queryParamMapping) {\n const mappedParameters = mapNodeObjValuesToSearchParameters(\n params.nodeObj,\n params.queryParamMapping\n );\n if (Object.keys(mappedParameters).length) {\n Object.keys(mappedParameters).forEach((key) => {\n filterParams.push({\n name: key,\n value: mappedParameters[key],\n type: 'string'\n });\n });\n }\n }\n return filterParams;\n }, [params]);\n\n // Additional filter elements\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (!enteredFromConfig && udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n\n const queryFilterElements = getQueryFilterElements(\n apiMethodInstance,\n nodeFilterParams\n );\n return filterElements.concat(queryFilterElements);\n }, [\n udpTagId,\n enteredFromConfig,\n getQueryFilterElements,\n apiMethodInstance,\n nodeFilterParams\n ]);\n\n const entityAttributes = useMemo(() => {\n return getEntityAttributes(catalog, entityName);\n }, [catalog, entityName]);\n\n const getMetaDataForUdpField = useCallback(\n async (entityName) => {\n let fieldInfos = [];\n if (udpFieldSearchApiId) {\n const filterElements = [\n {\n searchField: 'ObjectInfo.SanitizedName',\n searchOperator: '=',\n searchValue: entityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n executeQueryAdHoc({ data: requestObj }, udpFieldSearchApiId).then(\n (resp) => {\n fieldInfos = resp.data?.pageList;\n }\n );\n }\n return fieldInfos;\n },\n [udpFieldSearchApiId]\n );\n\n const getFKMethodEntities = useCallback(\n async (attributes) => {\n if (!attributes) {\n return [];\n }\n let fkMethods = [];\n\n for (const attr of attributes) {\n // check if there is a property with this childEntity\n if (attr?.extendedProperties?.childEntity) {\n // get the list of child entity field names from the Keys array\n const ceFieldsArr = [];\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n (attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many ||\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.One_To_Many) &&\n !attr.extendedProperties.childEntityAssoc.UdpType &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach(\n (value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n ceFieldsArr.push({\n idx: i,\n name: /^[A-Z]*$/.test(name)\n ? name.toLowerCase()\n : toLowerFirstChar(name)\n });\n }\n }\n );\n\n // find the child entity attribute\n const ceAttr = attributes.find((p) =>\n ceFieldsArr.find((cef) => cef.name === p.name)\n );\n\n if (ceAttr) {\n // get list of entity if ceProp exists\n await apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${apiCatalogId}/promotedMethodEntities/${attr.reference}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {\n method: 'get'\n },\n {}\n ).then((resp) => {\n if (resp && resp.data) {\n fkMethods.push({\n entityAttribute: ceAttr,\n entity: resp.data\n });\n }\n });\n }\n }\n }\n return fkMethods;\n },\n [apiCatalogId]\n );\n\n const getFKAssociationLabel = useCallback(\n async (entityName) => {\n let fieldsInfo = [];\n fieldsInfo = await getMetaDataForUdpField(entityName);\n if (fieldsInfo?.length <= 0) {\n return '';\n }\n const associationLabelInfo = fieldsInfo?.find(\n (fi) => fi.properties?.maintainenceConfig?.associationLabel === 'true'\n );\n return associationLabelInfo?.name;\n },\n [getMetaDataForUdpField]\n );\n\n const getDataByKey = (obj, k) => {\n if (!obj) return null;\n let val = obj[k] ?? null;\n if (!val) {\n const key = Object.keys(obj).find((objKey) =>\n objKey.toLowerCase().includes(k)\n );\n if (key) {\n val = obj[key];\n }\n }\n return val;\n };\n\n const getFKData = useCallback(async () => {\n if (!entityAttributes?.length) {\n return null;\n }\n const fkMethods = await getFKMethodEntities(entityAttributes);\n if (!fkMethods?.length) {\n setForeignKeyData([]);\n return [];\n }\n let fkData = [];\n let promises = [];\n let promiseDetails = [];\n const warnings = [];\n for (const method of fkMethods) {\n if (method && method?.entity?.unityBaseGetAllMethod) {\n const associationLabel = await getFKAssociationLabel(\n method.entity.entityName\n );\n promiseDetails.push({\n url:\n ConfigService.integrationV1ApiUrl +\n `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n fieldName: method.entityAttribute.name,\n name: method.entity.entityName,\n associationLabel: associationLabel\n });\n\n promises.push(\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n { data: {} }\n )\n );\n } else {\n warnings.push({\n id: uuid(),\n message: `${method.entity.entityName}'s Get-All method needs to be promoted`\n });\n }\n }\n\n setAlertWarnings(warnings);\n\n Promise.all(promises).then((resp) => {\n resp.forEach((response, index) => {\n if (response.status === 200) {\n if (response?.data) {\n let respData = [];\n const promiseDetail = promiseDetails.find(\n (p) =>\n p.url === response?.config?.url &&\n !fkData.find(\n (fd) =>\n fd.entityName === p.Name && fd.fieldName === p.fieldName\n )\n );\n response.data.forEach((d) => {\n const idName =\n promiseDetail?.fieldName && d[promiseDetail.fieldName]\n ? promiseDetail.fieldName\n : 'id';\n const id = getDataByKey(d, idName);\n const name = getDataByKey(\n d,\n toLowerFirstChar(promiseDetail.associationLabel) || 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\n }\n }\n });\n setForeignKeyData(fkData);\n });\n }, [entityAttributes, getFKMethodEntities, getFKAssociationLabel]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been created`)\n : t(`Entity has been created`)\n );\n gridApi?.refreshServerSideStore();\n return response;\n }\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n t,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n gridApi\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been updated`)\n : t(`Entity has been updated`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n value = getCleanData(value, lookupsMap);\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been deleted`)\n : t(`Entity has been deleted`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n getCleanData,\n lookupsMap\n ]\n );\n\n const handleEntitySelect = useCallback((entityName) => {\n setAlertWarnings([]);\n setEntityName(entityName);\n setEnteredFromConfig(true);\n }, []);\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return;\n }\n\n const data = getCleanData(entityData, lookupsMap);\n\n const actions = [\n {\n id: 1, // Must be unique\n title: selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n icon: EditIcon,\n onClick: null,\n opens: 'sideSheet',\n loading: !!!foreignKeyData,\n view: {\n component: CrudTableSidePanel,\n properties: {\n entityAttributes,\n foreignKeyData: foreignKeyData,\n crudTableEditionData: null,\n onUpdate: handleOnUpdate,\n valuePropName: 'crudTableEditionData',\n closeSideSheet: null,\n closeSideSheetPropName: 'closeSideSheet',\n pageId: selectedEntity?.unityBaseUpdateMethod?.pageId,\n isNewEntry: false,\n entityName,\n entityData: data\n }\n },\n disabled: !!!selectedEntity?.unityBaseUpdateMethod\n },\n {\n id: 2, // Must be unique\n title: selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n icon: DeleteIcon,\n onClick: null,\n opens: 'dialog',\n loading: !!!foreignKeyData,\n view: {\n component: null,\n properties: {\n title: t('Delete'),\n message: t('Are you sure you want to delete this row?'),\n labelOne: t('Cancel'),\n actionTwo: handleOnDelete,\n labelTwo: t('Confirm')\n }\n },\n disabled: !!!selectedEntity?.unityBaseDeleteMethod\n }\n ];\n\n if (params?.loadInquiryNode && params?.displayLoadNodeButton) {\n actions.push({\n id: 5, // Must be unique\n title: t('Load to Tree'),\n icon: UploadIcon,\n onClick: (value) => {\n const obj = getCleanData(value, lookupsMap);\n params.loadInquiryNode(obj);\n },\n loading: !!!foreignKeyData,\n view: {}\n });\n }\n return actions;\n }, [\n selectedEntity,\n t,\n entityAttributes,\n foreignKeyData,\n handleOnUpdate,\n handleOnDelete,\n entityName,\n entityData,\n getCleanData,\n lookupsMap,\n params\n ]);\n\n useEffect(() => {\n const setFrKeyData = async () => {\n await getFKData();\n };\n if (entityAttributes && udpFieldSearchApiId !== null) {\n setFrKeyData();\n }\n }, [entityAttributes, getFKData, udpFieldSearchApiId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpOjectFieldInfo) {\n setUdpFieldSearchApiId(\n udpOjectFieldInfo?.unityBaseSearchMethod?.apiMethodId || '' // If falsy lets set to empty string\n );\n }\n }, [udpOjectFieldInfo]);\n\n useEffect(() => {\n setAlertWarnings([]);\n if (udpCatalogKey) {\n setEntityName(udpCatalogKey);\n }\n }, [udpCatalogKey]);\n\n useEffect(() => {\n if (tpacb) {\n setApiCatalogId(tpacb.apiCatalogId);\n }\n }, [tpacb]);\n\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(tpacbLoading || promotedMethodsLoading);\n }, [tpacbLoading, promotedMethodsLoading]);\n\n if (tpacbError) {\n return (\n <Alert severity='error'>\n {t('There is no Api Catalog associated with your tenant and product')}\n </Alert>\n );\n }\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert onClose={() => removeWarning(warning.id)} severity='warning'>\n {warning.message || ''}\n </Alert>\n ))}\n <DataBrowserContainer\n entityData={entityData}\n actionList={actionList}\n onCreate={handleOnCreate}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n isLoading={loading}\n promotedEntity={selectedEntity}\n setEntityData={setEntityData}\n isServerSide={true}\n apiMethod={{ apiCatalogId, entityName }}\n setGridApi={setGridApi}\n filterElements={searchFilterElements}\n backToConfigPage={\n enteredFromConfig ? () => handleEntitySelect(null) : null\n }\n queryColumnsData={queryColumnsData}\n lookupsMap={lookupsMap}\n disableRowSelction={!params?.loadInquiryNode}\n />\n </>\n );\n};\n\nexport default memo(UdpDataBrowserPage);\n","export {default} from './UdpDataBrowserPage';\nexport * from './UdpDataBrowserPage';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UdpDataBrowserPage-SIvcfPtj.js","names":["uuid"],"sources":["../src/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.jsx","../src/udp/pages/UdpDataBrowserPage/index.ts"],"sourcesContent":["import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';\nimport { EditIcon, DeleteIcon, UploadIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { DataBrowserContainer } from '../../../dataBrowser/DataBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getPrimaryKeyValues,\n getPathObject\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { useAuthedUser } from '../../../utilities/auth/useAuthedUser';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport { getEntityAttributes } from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { CardinalityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryAdHoc } from '../../utilities/methodUtils';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { useApiCatalog } from '../../../hooks/useApiCatalog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../../hooks/usePromotedMethodEntity';\nimport { useSearchFilterParamsMap } from '../../../hooks/useSearchFilterParamsMap';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { useQueryExecutors } from '../../../hooks/useQueryExecutors';\nimport { mapNodeObjValuesToSearchParameters } from '../../../utilities/tree/TreeUtilities';\nimport { ConfigService } from '../../../configService';\n\n// const FILTER_PARAMS = [\n// {\n// name: 'tenantName',\n// value: 'ABC Company',\n// type: 'string'\n// },\n// {\n// name: 'productId',\n// value: 'UDP_PRODUCT_ID',\n// type: 'keyword'\n// },\n// {\n// name: 'productId',\n// value: 0,\n// type: 'function'\n// }\n// ];\n\n// const FUNCTION_LIST = [() => 1, () => 2];\n\nexport const UdpDataBrowserPage = (props) => {\n const { queryId, params } = props;\n const user = useAuthedUser();\n const { t } = useTranslation();\n const [entityData, setEntityData] = useState([]);\n const [gridApi, setGridApi] = useState(null);\n const [alertWarnings, setAlertWarnings] = useState([]);\n\n const location = useLocation();\n const state = location.state;\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsQueryId = state?.queryId\n ? state.queryId\n : searchParams.has('queryId') === true\n ? toUpperFirstChar(searchParams.get('queryId'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const { getCleanData } = useQueryExecutors();\n\n const udpQueryId = useMemo(\n () => params?.queryId || queryId || searchParamsQueryId || '',\n [params, queryId, searchParamsQueryId]\n );\n\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n\n const [loading, setLoading] = useState(false);\n const [apiCatalogId, setApiCatalogId] = useState(null);\n const [entityName, setEntityName] = useState(null);\n const [enteredFromConfig, setEnteredFromConfig] = useState(false);\n\n const { data: catalog } = useApiCatalog(apiCatalogId);\n\n const { data: udpOjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n // TODO: Params will be either passed in or hard coded for now until we have a way of configuring/storing them.\n const { getQueryFilterElements } = useSearchFilterParamsMap();\n\n const [{ data: tpacb, loading: tpacbLoading, error: tpacbError }] =\n useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {},\n !!!user,\n false\n );\n\n const [\n {\n data: apiMethodInstance,\n loading: apiMethodInstancebLoading,\n error: apiMethodInstanceError\n }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethodInstance/${udpQueryId}`,\n {},\n !!!udpQueryId,\n false\n );\n\n const [\n { data: apiMethod, loading: apiMethodLoading, error: apiMethodError }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethod/${apiMethodInstance?.apiMethodId}`,\n {},\n !!!apiMethodInstance?.apiMethodId,\n false\n );\n\n const udpCatalogKey = useMemo(() => apiMethod?.entityName || '', [apiMethod]);\n\n /*\n returns {\n entityName: Tenant,\n productId: 1,\n unityBaseGetAllMethod: {apiMethodId: 'f06f7853-5816-4950-a275-5085c3387d57', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseGetMethod: {apiMethodId: '06f49cfd-0f1e-475a-812b-73cd3efd9f0d', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseCreateMethod: {apiMethodId: '33310aad-8998-4661-800b-00649d280d31', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseUpdateMethod: {apiMethodId: 'fe611db9-47ec-4a27-8840-871fe1323812', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseDeleteMethod: {apiMethodId: 'dafb84b6-e424-43ff-9ef0-774a5795e420', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n }\n */\n const { data: promotedMethodEntities, loading: promotedMethodsLoading } =\n usePromotedMethodEntity(entityName);\n\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n // Configured columns data from data builder\n const queryColumnsData = useMemo(() => {\n if (!apiMethodInstance) return [];\n let catalogMods = [];\n try {\n const catalogModificationStr = apiMethodInstance.catalogModification;\n const catalogModification = JSON.parse(catalogModificationStr);\n catalogMods = catalogModification;\n } catch {\n console.warn('Error parsing apiMethodInstance catalogModification');\n }\n return catalogMods;\n }, [apiMethodInstance]);\n\n // Lookups map used for to map lookups to column entries\n const lookupsMap = useMemo(() => {\n // need to return null for Datasource to not render twice\n if (!queryColumnsData.length) return null;\n const map = {};\n const lookupColumns = queryColumnsData.filter(\n (column) => !!column.extendedProperties?.lookup\n );\n lookupColumns.forEach((lc) => {\n map[lc.name] = {\n lookupKeyName: lc.extendedProperties?.lookupKeyName || '',\n lookupValueName: lc.extendedProperties?.lookupKeyName || '',\n value: lc.extendedProperties?.lookup || '',\n filterOn: !!lc.filterOn || false\n };\n });\n\n return map;\n }, [queryColumnsData]);\n\n const nodeFilterParams = useMemo(() => {\n let filterParams = [];\n if (params?.nodeObj && params?.queryParamMapping) {\n const mappedParameters = mapNodeObjValuesToSearchParameters(\n params.nodeObj,\n params.queryParamMapping\n );\n if (Object.keys(mappedParameters).length) {\n Object.keys(mappedParameters).forEach((key) => {\n filterParams.push({\n name: key,\n value: mappedParameters[key],\n type: 'string'\n });\n });\n }\n }\n return filterParams;\n }, [params]);\n\n // Additional filter elements\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (!enteredFromConfig && udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n\n const queryFilterElements = getQueryFilterElements(\n apiMethodInstance,\n nodeFilterParams\n );\n return filterElements.concat(queryFilterElements);\n }, [\n udpTagId,\n enteredFromConfig,\n getQueryFilterElements,\n apiMethodInstance,\n nodeFilterParams\n ]);\n\n const entityAttributes = useMemo(() => {\n return getEntityAttributes(catalog, entityName);\n }, [catalog, entityName]);\n\n const getMetaDataForUdpField = useCallback(\n async (entityName) => {\n let fieldInfos = [];\n if (udpFieldSearchApiId) {\n const filterElements = [\n {\n searchField: 'ObjectInfo.SanitizedName',\n searchOperator: '=',\n searchValue: entityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n executeQueryAdHoc({ data: requestObj }, udpFieldSearchApiId).then(\n (resp) => {\n fieldInfos = resp.data?.pageList;\n }\n );\n }\n return fieldInfos;\n },\n [udpFieldSearchApiId]\n );\n\n const getFKMethodEntities = useCallback(\n async (attributes) => {\n if (!attributes) {\n return [];\n }\n let fkMethods = [];\n\n for (const attr of attributes) {\n // check if there is a property with this childEntity\n if (attr?.extendedProperties?.childEntity) {\n // get the list of child entity field names from the Keys array\n const ceFieldsArr = [];\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n (attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many ||\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.One_To_Many) &&\n !attr.extendedProperties.childEntityAssoc.UdpType &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach(\n (value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n ceFieldsArr.push({\n idx: i,\n name: /^[A-Z]*$/.test(name)\n ? name.toLowerCase()\n : toLowerFirstChar(name)\n });\n }\n }\n );\n\n // find the child entity attribute\n const ceAttr = attributes.find((p) =>\n ceFieldsArr.find((cef) => cef.name === p.name)\n );\n\n if (ceAttr) {\n // get list of entity if ceProp exists\n await apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${apiCatalogId}/promotedMethodEntities/${attr.reference}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {\n method: 'get'\n },\n {}\n ).then((resp) => {\n if (resp && resp.data) {\n fkMethods.push({\n entityAttribute: ceAttr,\n entity: resp.data\n });\n }\n });\n }\n }\n }\n return fkMethods;\n },\n [apiCatalogId]\n );\n\n const getFKAssociationLabel = useCallback(\n async (entityName) => {\n let fieldsInfo = [];\n fieldsInfo = await getMetaDataForUdpField(entityName);\n if (fieldsInfo?.length <= 0) {\n return '';\n }\n const associationLabelInfo = fieldsInfo?.find(\n (fi) => fi.properties?.maintainenceConfig?.associationLabel === 'true'\n );\n return associationLabelInfo?.name;\n },\n [getMetaDataForUdpField]\n );\n\n const getDataByKey = (obj, k) => {\n if (!obj) return null;\n let val = obj[k] ?? null;\n if (!val) {\n const key = Object.keys(obj).find((objKey) =>\n objKey.toLowerCase().includes(k)\n );\n if (key) {\n val = obj[key];\n }\n }\n return val;\n };\n\n const getFKData = useCallback(async () => {\n if (!entityAttributes?.length) {\n return null;\n }\n const fkMethods = await getFKMethodEntities(entityAttributes);\n if (!fkMethods?.length) {\n setForeignKeyData([]);\n return [];\n }\n let fkData = [];\n let promises = [];\n let promiseDetails = [];\n const warnings = [];\n for (const method of fkMethods) {\n if (method && method?.entity?.unityBaseGetAllMethod) {\n const associationLabel = await getFKAssociationLabel(\n method.entity.entityName\n );\n promiseDetails.push({\n url:\n ConfigService.integrationV1ApiUrl +\n `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n fieldName: method.entityAttribute.name,\n name: method.entity.entityName,\n associationLabel: associationLabel\n });\n\n promises.push(\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n { data: {} }\n )\n );\n } else {\n warnings.push({\n id: uuid(),\n message: `${method.entity.entityName}'s Get-All method needs to be promoted`\n });\n }\n }\n\n setAlertWarnings(warnings);\n\n Promise.all(promises).then((resp) => {\n resp.forEach((response, index) => {\n if (response.status === 200) {\n if (response?.data) {\n let respData = [];\n const promiseDetail = promiseDetails.find(\n (p) =>\n p.url === response?.config?.url &&\n !fkData.find(\n (fd) =>\n fd.entityName === p.Name && fd.fieldName === p.fieldName\n )\n );\n response.data.forEach((d) => {\n const idName =\n promiseDetail?.fieldName && d[promiseDetail.fieldName]\n ? promiseDetail.fieldName\n : 'id';\n const id = getDataByKey(d, idName);\n const name = getDataByKey(\n d,\n toLowerFirstChar(promiseDetail.associationLabel) || 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\n }\n }\n });\n setForeignKeyData(fkData);\n });\n }, [entityAttributes, getFKMethodEntities, getFKAssociationLabel]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been created`)\n : t(`Entity has been created`)\n );\n gridApi?.refreshServerSideStore();\n return response;\n }\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n t,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n gridApi\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been updated`)\n : t(`Entity has been updated`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n value = getCleanData(value, lookupsMap);\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been deleted`)\n : t(`Entity has been deleted`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n getCleanData,\n lookupsMap\n ]\n );\n\n const handleEntitySelect = useCallback((entityName) => {\n setAlertWarnings([]);\n setEntityName(entityName);\n setEnteredFromConfig(true);\n }, []);\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return;\n }\n\n const data = getCleanData(entityData, lookupsMap);\n\n const actions = [\n {\n id: 1, // Must be unique\n title: selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n icon: EditIcon,\n onClick: null,\n opens: 'sideSheet',\n loading: !!!foreignKeyData,\n view: {\n component: CrudTableSidePanel,\n properties: {\n entityAttributes,\n foreignKeyData: foreignKeyData,\n crudTableEditionData: null,\n onUpdate: handleOnUpdate,\n valuePropName: 'crudTableEditionData',\n closeSideSheet: null,\n closeSideSheetPropName: 'closeSideSheet',\n pageId: selectedEntity?.unityBaseUpdateMethod?.pageId,\n isNewEntry: false,\n entityName,\n entityData: data\n }\n },\n disabled: !!!selectedEntity?.unityBaseUpdateMethod\n },\n {\n id: 2, // Must be unique\n title: selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n icon: DeleteIcon,\n onClick: null,\n opens: 'dialog',\n loading: !!!foreignKeyData,\n view: {\n component: null,\n properties: {\n title: t('Delete'),\n message: t('Are you sure you want to delete this row?'),\n labelOne: t('Cancel'),\n actionTwo: handleOnDelete,\n labelTwo: t('Confirm')\n }\n },\n disabled: !!!selectedEntity?.unityBaseDeleteMethod\n }\n ];\n\n if (params?.loadInquiryNode && params?.displayLoadNodeButton) {\n actions.push({\n id: 5, // Must be unique\n title: t('Load to Tree'),\n icon: UploadIcon,\n onClick: (value) => {\n const obj = getCleanData(value, lookupsMap);\n params.loadInquiryNode(obj);\n },\n loading: !!!foreignKeyData,\n view: {}\n });\n }\n return actions;\n }, [\n selectedEntity,\n t,\n entityAttributes,\n foreignKeyData,\n handleOnUpdate,\n handleOnDelete,\n entityName,\n entityData,\n getCleanData,\n lookupsMap,\n params\n ]);\n\n useEffect(() => {\n const setFrKeyData = async () => {\n await getFKData();\n };\n if (entityAttributes && udpFieldSearchApiId !== null) {\n setFrKeyData();\n }\n }, [entityAttributes, getFKData, udpFieldSearchApiId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpOjectFieldInfo) {\n setUdpFieldSearchApiId(\n udpOjectFieldInfo?.unityBaseSearchMethod?.apiMethodId || '' // If falsy lets set to empty string\n );\n }\n }, [udpOjectFieldInfo]);\n\n useEffect(() => {\n setAlertWarnings([]);\n if (udpCatalogKey) {\n setEntityName(udpCatalogKey);\n }\n }, [udpCatalogKey]);\n\n useEffect(() => {\n if (tpacb) {\n setApiCatalogId(tpacb.apiCatalogId);\n }\n }, [tpacb]);\n\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(tpacbLoading || promotedMethodsLoading);\n }, [tpacbLoading, promotedMethodsLoading]);\n\n if (tpacbError) {\n return (\n <Alert severity='error'>\n {t('There is no Api Catalog associated with your tenant and product')}\n </Alert>\n );\n }\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert onClose={() => removeWarning(warning.id)} severity='warning'>\n {warning.message || ''}\n </Alert>\n ))}\n <DataBrowserContainer\n entityData={entityData}\n actionList={actionList}\n onCreate={handleOnCreate}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n isLoading={loading}\n promotedEntity={selectedEntity}\n setEntityData={setEntityData}\n isServerSide={true}\n apiMethod={{ apiCatalogId, entityName }}\n setGridApi={setGridApi}\n filterElements={searchFilterElements}\n backToConfigPage={\n enteredFromConfig ? () => handleEntitySelect(null) : null\n }\n queryColumnsData={queryColumnsData}\n lookupsMap={lookupsMap}\n disableRowSelction={!params?.loadInquiryNode}\n />\n </>\n );\n};\n\nexport default memo(UdpDataBrowserPage);\n","export {default} from './UdpDataBrowserPage';\nexport * from './UdpDataBrowserPage';\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./chunk-BN_g-Awi.js";
|
|
2
2
|
import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
3
3
|
import { t as useAxiosGet } from "./useAxiosGet-B3uusywz.js";
|
|
4
|
-
import { n as UdpMaintenanceEnginePage } from "./UdpMaintenanceEnginePage-
|
|
4
|
+
import { n as UdpMaintenanceEnginePage } from "./UdpMaintenanceEnginePage-D-6ALB1c.js";
|
|
5
5
|
import React, { useEffect, useState } from "react";
|
|
6
6
|
|
|
7
7
|
//#region src/udp/pages/UdpInquiryMaintenanceEnginePage/UdpInquiryMaintenanceEnginePage.jsx
|
|
@@ -23,4 +23,4 @@ var UdpInquiryMaintenanceEnginePage_exports = /* @__PURE__ */ __exportAll({ defa
|
|
|
23
23
|
|
|
24
24
|
//#endregion
|
|
25
25
|
export { UdpInquiryMaintenanceEnginePage_default as n, UdpInquiryMaintenanceEnginePage_exports as t };
|
|
26
|
-
//# sourceMappingURL=UdpInquiryMaintenanceEnginePage-
|
|
26
|
+
//# sourceMappingURL=UdpInquiryMaintenanceEnginePage-i-RWdzT0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UdpInquiryMaintenanceEnginePage-
|
|
1
|
+
{"version":3,"file":"UdpInquiryMaintenanceEnginePage-i-RWdzT0.js","names":[],"sources":["../src/udp/pages/UdpInquiryMaintenanceEnginePage/UdpInquiryMaintenanceEnginePage.jsx","../src/udp/pages/UdpInquiryMaintenanceEnginePage/index.ts"],"sourcesContent":["import React, {\n useState,\n useEffect\n} from 'react';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport {UdpMaintenanceEnginePage} from '../UdpMaintenanceEnginePage';\nimport { ConfigService } from '../../../configService';\n\nconst UdpInquiryMaintenanceEnginePage = (props) => {\n const { params } = props;\n const { nodeObj } = params;\n const [loading, setLoading] = useState(false);\n\n const [{ data: catalogKey, loading: catalogKeyLoading }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpObjectInfo/getCatalogId/${nodeObj.businessObjectKey}?fromUdpObjectInfo=true`,\n {},\n !!!nodeObj,\n false\n );\n\n /*\n returns {\n entityName: Tenant,\n productId: 1,\n unityBaseGetAllMethod: {apiMethodId: 'f06f7853-5816-4950-a275-5085c3387d57', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseGetMethod: {apiMethodId: '06f49cfd-0f1e-475a-812b-73cd3efd9f0d', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseCreateMethod: {apiMethodId: '33310aad-8998-4661-800b-00649d280d31', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseUpdateMethod: {apiMethodId: 'fe611db9-47ec-4a27-8840-871fe1323812', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseDeleteMethod: {apiMethodId: 'dafb84b6-e424-43ff-9ef0-774a5795e420', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n }\n */\n\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(catalogKeyLoading);\n }, [catalogKeyLoading])\n\n return (\n\n <UdpMaintenanceEnginePage\n catalogKey={catalogKey || ''}\n />\n );\n};\n\nexport default UdpInquiryMaintenanceEnginePage;\n","export {default} from './UdpInquiryMaintenanceEnginePage';\nexport * from './UdpInquiryMaintenanceEnginePage';\n"],"mappings":";;;;;;;AAQA,MAAM,mCAAmC,UAAU;CACjD,MAAM,EAAE,WAAW;CACnB,MAAM,EAAE,YAAY;CACpB,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAE7C,MAAM,CAAC,EAAE,MAAM,YAAY,SAAS,uBAAuB,YACzD,cAAc,iBACd,8BAA8B,QAAQ,kBAAkB,0BACxD,EAAE,EACF,CAAC,CAAC,CAAC,SACH,MACD;AAeD,iBAAgB;AACd,aAAW,kBAAkB;IAC5B,CAAC,kBAAkB,CAAC;AAEvB,QAEE,oCAAC,4BACC,YAAY,cAAc,KAC1B;;AAIN,8CAAe"}
|
|
@@ -15,8 +15,8 @@ import { t as FluentDialog } from "./FluentDialog-jQs3r2dc.js";
|
|
|
15
15
|
import { t as useApiCatalog } from "./useApiCatalog-BBzt21Tw.js";
|
|
16
16
|
import { t as Inquiry } from "./Inquiry-B20HGR33.js";
|
|
17
17
|
import { t as TagEnums } from "./tagEnums-CLCfCOMj.js";
|
|
18
|
-
import { t as CrudBrowserContainer } from "./CrudBrowserContainer-
|
|
19
|
-
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-
|
|
18
|
+
import { t as CrudBrowserContainer } from "./CrudBrowserContainer-Dio9uLBV.js";
|
|
19
|
+
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-BP6UKxjz.js";
|
|
20
20
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
21
21
|
import { useHistory, useLocation } from "react-router-dom";
|
|
22
22
|
import { useTranslation } from "react-i18next";
|
|
@@ -465,4 +465,4 @@ var UdpMaintenanceEnginePage_exports = /* @__PURE__ */ __exportAll({
|
|
|
465
465
|
|
|
466
466
|
//#endregion
|
|
467
467
|
export { UdpMaintenanceEnginePage as n, UdpMaintenanceEnginePage_default as r, UdpMaintenanceEnginePage_exports as t };
|
|
468
|
-
//# sourceMappingURL=UdpMaintenanceEnginePage-
|
|
468
|
+
//# sourceMappingURL=UdpMaintenanceEnginePage-D-6ALB1c.js.map
|