udp-react-enterprise-component-library 26.2.0-beta.3 → 26.2.0-beta.5
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/.tsbuildinfo +1 -1
- package/dist/index.mjs +47 -47
- package/dist/udp/fileImportMapping/FileImportConfigCard.d.ts.map +1 -1
- package/dist/udp/fileImportMapping/FileImportConfigCard.js +9 -9
- package/dist/udp/fileImportMapping/FileImportConfigCard.js.map +1 -1
- package/dist/udp/fileImportMapping/FileImportConfigCard.mjs +20 -16
- package/dist/udp/fileImportMapping/FileImportConfigCard.mjs.map +1 -1
- package/dist/udp/fileImportMapping/FileImportMappingWizard.d.ts.map +1 -1
- package/dist/udp/fileImportMapping/FileImportMappingWizard.js +34 -45
- package/dist/udp/fileImportMapping/FileImportMappingWizard.js.map +1 -1
- package/dist/udp/fileImportMapping/FileImportMappingWizard.mjs +430 -260
- package/dist/udp/fileImportMapping/FileImportMappingWizard.mjs.map +1 -1
- package/dist/udp/fileImportMapping/ImportDataFromFileMapping.d.ts.map +1 -1
- package/dist/udp/fileImportMapping/ImportDataFromFileMapping.js +14 -15
- package/dist/udp/fileImportMapping/ImportDataFromFileMapping.js.map +1 -1
- package/dist/udp/fileImportMapping/ImportDataFromFileMapping.mjs +164 -158
- package/dist/udp/fileImportMapping/ImportDataFromFileMapping.mjs.map +1 -1
- package/dist/udp/lookups/LookupCreationSheet.mjs +4 -4
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileImportMappingWizard.mjs","names":["React","useMemo","useState","useCallback","useEffect","useUser","useAxiosGet","AmbientCard","AmbientAutoComplete","usePromotedMethodEntity","executeQueryAdHoc","Form","Field","FormButtons","SubmitButton","FluentIcon","AmbientStepper","apiMutate","useHandleAxiosSnackbar","DragDropFileUpload","Typography","ChromeBackMirroredIcon","FluentButton","AmbientTextField","Divider","handleExcelFileUpload","handleJsonFileUpload","handleTextFileUpload","FileImportConfigCard","getSanitizedName","ConfigService","FileImportMappingWizard","props","refetchMappings","setNewFileMappingSidesheetOpen","verifyRequiredFields","user","importHeaderData","setImportHeaderData","udpObjectList","setUdpObjectList","selectedDomain","setSelectedDomain","selectedFileType","setSelectedFileType","fileObject","setFileObject","fileImportMappingObject","setFileImportMappingObject","activeStep","setActiveStep","showIndexNumbers","setShowIndexNumbers","errorText","setErrorText","handleErrorSnackbar","handleSuccessSnackbar","executeCreateFileMapping","data","productV1ApiUrl","method","udpObjectEntity","allowedFileTypesData","refetchAllowedFileTypes","searchUdpObjectData","unityBaseSearchMethod","apiMethodId","id","sapUserRes","eagerLoad","pageSize","filterElements","pageList","length","filterCatalogObjectList","getNameFormattedOptionLabel","option","name","replace","trim","getNameOptionLabel","handleFileUpload","properties","result","extension","headers","handleCreateNewFieldMapping","values","response","objectInfoSanitizedName","fileImportType","mapping","JSON","stringify","catch","res","status","handleUpdateFieldMapping","valid","objectFieldInfo","forEach","dataType","endsWith","isPrimaryKey","udpType","Object","entries","some","obj","businessObjectKey","filteredMappings","filter","key","value","reduce","acc","mappedFieldIndexes","keys","map","parseInt","split","fieldMappings","selectedUdpField","index","udpField","importFileField","headerIndex","prev","handleUpdateFileProperties","propKey","includesHeader","getUdpFieldOptionLabel","handleAddFileToUpload","fileObj","formattedFileTypeProperties","parse","marginBottom","val","marginTop","property","options","propertyName","label","required","display","float","marginRight","gap","flexDirection","justifyContent","paddingTop","margin","field","height","width","textAlign","color"],"sources":["../../../src/udp/fileImportMapping/FileImportMappingWizard.jsx"],"sourcesContent":["import React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { AmbientCard } from '../../UI/surfaces/cards/AmbientCard';\nimport { AmbientAutoComplete } from '../../UI/inputs/textField/AmbientAutoComplete';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { executeQueryAdHoc } from '../utilities/methodUtils';\nimport { Form } from '../../utilities/form';\nimport { Field } from '../../utilities/form';\nimport { FormButtons } from '../../utilities/form';\nimport { SubmitButton } from '../../utilities/form';\nimport { FluentIcon } from '../../utilities/iconLibrary/FluentIcon';\nimport { AmbientStepper } from '../../UI/inputs/menus/AmbientStepper/AmbientStepper';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { DragDropFileUpload } from '../../uploader/DragDropFileUpload';\nimport { Typography } from '@material-ui/core';\nimport { ChromeBackMirroredIcon } from '@fluentui/react-icons';\nimport { FluentButton } from '../../UI/inputs/buttons/FluentButton';\nimport { AmbientTextField } from '../../UI/inputs/textField/AmbientTextField';\nimport { Divider } from '../../UI/utilityDisplay/Divider';\nimport {\n handleExcelFileUpload,\n handleJsonFileUpload,\n handleTextFileUpload\n} from './fileUtils';\nimport { FileImportConfigCard } from './FileImportConfigCard';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { ConfigService } from '../../configService';\n\nconst FileImportMappingWizard = (props) => {\n const { refetchMappings, setNewFileMappingSidesheetOpen, verifyRequiredFields } = props;\n const user = useUser();\n const [importHeaderData, setImportHeaderData] = useState();\n const [udpObjectList, setUdpObjectList] = useState();\n const [selectedDomain, setSelectedDomain] = useState();\n const [selectedFileType, setSelectedFileType] = useState();\n const [fileObject, setFileObject] = useState();\n const [fileImportMappingObject, setFileImportMappingObject] = useState({});\n const [activeStep, setActiveStep] = useState(0);\n const [showIndexNumbers, setShowIndexNumbers] = useState(false);\n const [errorText, setErrorText] = useState('');\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const executeCreateFileMapping = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpFileImportMapping`,\n {\n method: 'post'\n },\n { data }\n ),\n []\n );\n const { data: udpObjectEntity } = usePromotedMethodEntity(\n 'UdpObjectInfo',\n true\n );\n\n const [{ data: allowedFileTypesData }, refetchAllowedFileTypes] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpFileImportType`,\n {},\n false\n );\n\n const searchUdpObjectData = useCallback(async () => {\n if (udpObjectEntity?.unityBaseSearchMethod?.apiMethodId && user?.id) {\n const sapUserRes = await executeQueryAdHoc(\n {\n data: {\n eagerLoad: true,\n pageSize: 200,\n filterElements: []\n }\n },\n udpObjectEntity?.unityBaseSearchMethod?.apiMethodId\n );\n if (sapUserRes?.data?.pageList.length > 0) {\n setUdpObjectList(sapUserRes?.data?.pageList);\n }\n }\n }, [udpObjectEntity, user]);\n\n const filterCatalogObjectList = useMemo(() => {\n return udpObjectList;\n }, [udpObjectList]);\n\n const getNameFormattedOptionLabel = (option) => {\n return option?.name.replace(/([A-Z])/g, ' $1').trim();\n };\n\n const getNameOptionLabel = (option) => {\n return option?.name;\n };\n\n const handleFileUpload = async (properties) => {\n let result;\n if (\n selectedFileType.extension === '.csv' ||\n selectedFileType.extension === '.txt'\n ) {\n result = await handleTextFileUpload(fileObject, properties);\n } else if (selectedFileType.extension === '.xlsx') {\n result = await handleExcelFileUpload(fileObject, properties);\n } else if (selectedFileType.extension === '.json') {\n result = await handleJsonFileUpload(fileObject, properties);\n }\n setImportHeaderData(result?.headers);\n };\n\n useEffect(() => {\n searchUdpObjectData();\n }, [searchUdpObjectData]);\n\n const handleCreateNewFieldMapping = useCallback(\n async (values) => {\n const response = await executeCreateFileMapping({\n name: values.name,\n objectInfoSanitizedName: getSanitizedName(selectedDomain.name),\n fileImportType: selectedFileType.id,\n mapping: JSON.stringify(fileImportMappingObject?.mapping),\n properties: JSON.stringify(fileImportMappingObject?.properties)\n }).catch((res) => {\n handleErrorSnackbar(res);\n });\n if (response?.status === 201) {\n handleSuccessSnackbar('Created Mapping');\n refetchMappings();\n setNewFileMappingSidesheetOpen(false);\n }\n },\n [\n executeCreateFileMapping,\n selectedDomain?.name,\n selectedFileType?.id,\n fileImportMappingObject?.mapping,\n fileImportMappingObject?.properties,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n refetchMappings,\n setNewFileMappingSidesheetOpen\n ]\n );\n\n const handleUpdateFieldMapping = (values) => {\n let valid = true;\n selectedDomain?.objectFieldInfo?.forEach((option) => {\n if (\n !option.dataType.endsWith('?') &&\n !option.isPrimaryKey &&\n !option.udpType\n ) {\n if (\n !Object.entries(values).some(\n (obj) => obj[1].businessObjectKey === option.businessObjectKey\n )\n ) {\n if(verifyRequiredFields){\n valid = false;\n }\n }\n }\n });\n if (!valid) {\n setErrorText('All required Udp fields must have a mapping');\n return;\n }\n const filteredMappings = Object.entries(values)\n .filter(([key, value]) => value !== null)\n .reduce((acc, [key, value]) => {\n acc[key] = value;\n return acc;\n }, {});\n const mappedFieldIndexes = Object.keys(filteredMappings).map((key) =>\n parseInt(key.split('udpFieldMapping')[1], 10)\n );\n const fieldMappings = Object.values(filteredMappings).map(\n (selectedUdpField, index) => {\n return {\n udpField: selectedUdpField.name,\n importFileField: !showIndexNumbers\n ? importHeaderData[mappedFieldIndexes[index]]\n : null,\n headerIndex: !showIndexNumbers ? -1 : mappedFieldIndexes[index]\n };\n }\n );\n setFileImportMappingObject((prev) => {\n return { ...prev, mapping: fieldMappings };\n });\n setActiveStep((prev) => prev + 1);\n };\n\n const handleUpdateFileProperties = (values) => {\n setFileImportMappingObject((prev) => {\n let properties = {};\n Object.keys(values).forEach(\n (propKey) =>\n (properties[propKey] =\n 'value' in values[propKey]\n ? values[propKey]?.value\n : values[propKey])\n );\n return { ...prev, properties: properties };\n });\n if ('includesHeader' in values && values?.includesHeader.value === false) {\n setShowIndexNumbers(true);\n }\n handleFileUpload(values);\n setActiveStep((prev) => prev + 1);\n };\n\n const getUdpFieldOptionLabel = (option) => {\n if (\n !option.dataType.endsWith('?') &&\n !option.isPrimaryKey &&\n !option.udpType\n ) {\n return `${option.name.replace(/([A-Z])/g, ' $1').trim()}*`; //required field\n }\n return `${option.name} - ${option.dataType}`;\n };\n\n const handleAddFileToUpload = (fileObj) => {\n setFileObject(fileObj[0]);\n };\n\n const formattedFileTypeProperties = useMemo(() => {\n if (selectedFileType) {\n return JSON.parse(selectedFileType?.properties);\n }\n }, [selectedFileType]);\n\n return (\n <>\n <AmbientCard fullWidth>\n <div style={{ marginBottom: 20 }}>\n <AmbientStepper\n activeStep={activeStep}\n steps={['File', 'Domain', 'Field Mappings', 'Review']}\n orientation='vertical'\n />\n </div>\n {activeStep === 0 && (\n <>\n <AmbientAutoComplete\n isMultiple={false}\n id={'fileImportType'}\n name={'fileImportType'}\n label='File Type'\n onChange={(val) => setSelectedFileType(val)}\n options={allowedFileTypesData}\n size='small'\n getOptionLabelFunction={getNameOptionLabel}\n value={selectedFileType}\n required\n />\n {selectedFileType && (\n <div style={{ marginTop: 5 }}>\n <DragDropFileUpload\n handleUploadFile={handleAddFileToUpload}\n accept={{\n 'text/csv': ['.csv'],\n 'text/plain': ['.txt'],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\n ['.xlsx'],\n 'application/json': ['.json']\n }}\n />\n </div>\n )}\n <Form onSubmit={handleUpdateFileProperties}>\n {formattedFileTypeProperties?.map((property) =>\n property?.options ? (\n <Field\n component={AmbientAutoComplete}\n isMultiple={false}\n id={property.propertyName}\n name={property.propertyName}\n label={property.label}\n options={property.options}\n size='small'\n getOptionLabelFunction={getNameOptionLabel}\n required={property?.required}\n />\n ) : (\n <Field\n component={AmbientTextField}\n isMultiple={false}\n id={property.propertyName}\n name={property.propertyName}\n label={property.label}\n size='small'\n getOptionLabelFunction={getNameOptionLabel}\n required={property?.required}\n />\n )\n )}\n <FormButtons\n style={{\n display: 'flex',\n float: 'right',\n marginRight: -16\n }}\n >\n <SubmitButton\n variant='contained'\n color='secondary'\n disablePristine={false}\n disabled={!fileObject}\n >\n Next\n </SubmitButton>\n </FormButtons>\n </Form>\n </>\n )}\n {activeStep === 1 && (\n <>\n <AmbientAutoComplete\n isMultiple={false}\n id={'domain'}\n name={'domain'}\n label='Domain'\n onChange={(val) => setSelectedDomain(val)}\n options={filterCatalogObjectList}\n size='small'\n getOptionLabelFunction={getNameFormattedOptionLabel}\n value={selectedDomain}\n required\n />\n <div\n style={{ float: 'right', display: 'flex', gap: 8, marginTop: 8 }}\n >\n <FluentButton\n variant='contained'\n onClick={() => setActiveStep((prev) => prev - 1)}\n disabled={activeStep === 0}\n >\n Prev\n </FluentButton>\n <FluentButton\n variant='contained'\n onClick={() => setActiveStep((prev) => prev + 1)}\n color='secondary'\n disabled={!selectedDomain}\n >\n Next\n </FluentButton>\n </div>\n </>\n )}\n {activeStep === 2 && (\n <>\n <div\n style={{\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingTop: 20\n }}\n >\n <Typography variant='caption'>\n {showIndexNumbers ? \"Column index's\" : 'File Headers'}\n </Typography>\n <Typography variant='caption'>UDP Fields</Typography>\n </div>\n <Divider style={{ margin: '5px 0px' }} />\n <Form\n onSubmit={handleUpdateFieldMapping}\n style={{ marginTop: -20 }}\n >\n {importHeaderData?.map((field, index) => (\n <div style={{ height: 42 }}>\n <div\n style={{ display: 'flex', flexDirection: 'row', gap: 10 }}\n >\n <Typography style={{ marginTop: 25, width: '50%' }}>\n {showIndexNumbers ? 'index ' + index : field}\n </Typography>\n <FluentIcon\n style={{ marginTop: 28, width: '10%' }}\n component={ChromeBackMirroredIcon}\n />\n <Field\n style={{ height: 30 }}\n component={AmbientAutoComplete}\n isMultiple={false}\n id={`udpFieldMapping${index}`}\n name={`udpFieldMapping${index}`}\n options={selectedDomain?.objectFieldInfo}\n size='small'\n getOptionLabelFunction={getUdpFieldOptionLabel}\n />\n </div>\n <Divider style={{ margin: '5px 0px' }} />\n </div>\n ))}\n <div style={{ paddingTop: 20, textAlign: 'right', color: 'red' }}>\n {errorText}\n </div>\n <FormButtons\n style={{\n display: 'flex',\n float: 'right',\n paddingTop: 16,\n marginRight: -16\n }}\n >\n <FluentButton\n variant='contained'\n onClick={() => setActiveStep((prev) => prev - 1)}\n disabled={activeStep === 0}\n >\n Prev\n </FluentButton>\n <SubmitButton\n variant='contained'\n color='secondary'\n disablePristine={false}\n >\n Next\n </SubmitButton>\n </FormButtons>\n </Form>\n </>\n )}\n {activeStep === 3 && (\n <Form onSubmit={handleCreateNewFieldMapping}>\n <Field\n component={AmbientTextField}\n id={`name`}\n name={`name`}\n label='Mapping Name'\n size='small'\n />\n <FormButtons\n style={{\n display: 'flex',\n float: 'right',\n marginRight: -16\n }}\n >\n <FluentButton\n variant='contained'\n onClick={() => setActiveStep((prev) => prev - 1)}\n disabled={activeStep === 0}\n >\n Prev\n </FluentButton>\n <SubmitButton\n variant='contained'\n color='secondary'\n disablePristine={false}\n >\n {'Create Mapping'}\n </SubmitButton>\n </FormButtons>\n </Form>\n )}\n </AmbientCard>\n {fileImportMappingObject?.mapping &&<div style={{ marginTop: 10 }}>\n <FileImportConfigCard\n fileMappingRecord={{\n mapping: fileImportMappingObject?.mapping,\n properties: fileImportMappingObject?.properties\n }}\n domain={selectedDomain?.name.replace(/([A-Z])/g, ' $1').trim()}\n />\n </div>}\n </>\n );\n};\n\nexport default FileImportMappingWizard;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAM+B,2BAA2BC,UAAU;CACzC,MAAM,EAAEC,iBAAiBC,gCAAgCC,yBAAyBH;CAClF,MAAMI,OAAO/B,SAAS;CACtB,MAAM,CAACgC,kBAAkBC,uBAAuBpC,UAAU;CAC1D,MAAM,CAACqC,eAAeC,oBAAoBtC,UAAU;CACpD,MAAM,CAACuC,gBAAgBC,qBAAqBxC,UAAU;CACtD,MAAM,CAACyC,kBAAkBC,uBAAuB1C,UAAU;CAC1D,MAAM,CAAC2C,YAAYC,iBAAiB5C,UAAU;CAC9C,MAAM,CAAC6C,yBAAyBC,8BAA8B9C,SAAS,EAAE,CAAC;CAC1E,MAAM,CAAC+C,YAAYC,iBAAiBhD,SAAS,EAAE;CAC/C,MAAM,CAACiD,kBAAkBC,uBAAuBlD,SAAS,MAAM;CAC/D,MAAM,CAACmD,WAAWC,gBAAgBpD,SAAS,GAAG;CAC9C,MAAM,EAAEqD,qBAAqBC,0BAC3BtC,wBAAwB;CAE1B,MAAMuC,2BAA2BtD,YAC/B,OAAOuD,SACLzC,UACEa,cAAc6B,iBACd,wBACA,EACEC,QAAQ,QACT,EACD,EAAEF,MACJ,CAAC,EACH,EACF,CAAC;CACD,MAAM,EAAEA,MAAMG,oBAAoBpD,wBAChC,iBACA,KACD;CAED,MAAM,CAAC,EAAEiD,MAAMI,wBAAwBC,2BAA2BzD,YAChEwB,cAAc6B,iBACd,qBACA,EAAE,EACF,MACD;CAED,MAAMK,sBAAsB7D,YAAY,YAAY;AAClD,MAAI0D,iBAAiBI,uBAAuBC,eAAe9B,MAAM+B,IAAI;GACnE,MAAMC,aAAa,MAAM1D,kBACvB,EACEgD,MAAM;IACJW,WAAW;IACXC,UAAU;IACVC,gBAAgB,EAAA;IAClB,EACD,EACDV,iBAAiBI,uBAAuBC,YACzC;AACD,OAAIE,YAAYV,MAAMc,SAASC,SAAS,EACtCjC,kBAAiB4B,YAAYV,MAAMc,SAAS;;IAG/C,CAACX,iBAAiBzB,KAAK,CAAC;CAE3B,MAAMsC,0BAA0BzE,cAAc;AAC5C,SAAOsC;IACN,CAACA,cAAc,CAAC;CAEnB,MAAMoC,+BAA+BC,WAAW;AAC9C,SAAOA,QAAQC,KAAKC,QAAQ,YAAY,MAAM,CAACC,MAAM;;CAGvD,MAAMC,sBAAsBJ,aAAW;AACrC,SAAOA,UAAQC;;CAGjB,MAAMI,mBAAmB,OAAOC,eAAe;EAC7C,IAAIC;AACJ,MACExC,iBAAiByC,cAAc,UAC/BzC,iBAAiByC,cAAc,OAE/BD,UAAS,MAAMxD,qBAAqBkB,YAAYqC,WAAW;WAClDvC,iBAAiByC,cAAc,QACxCD,UAAS,MAAM1D,sBAAsBoB,YAAYqC,WAAW;WACnDvC,iBAAiByC,cAAc,QACxCD,UAAS,MAAMzD,qBAAqBmB,YAAYqC,WAAW;AAE7D5C,sBAAoB6C,QAAQE,QAAQ;;AAGtCjF,iBAAgB;AACd4D,uBAAqB;IACpB,CAACA,oBAAoB,CAAC;CAEzB,MAAMsB,8BAA8BnF,YAClC,OAAOoF,WAAW;AAUhB,OATiB,MAAM9B,yBAAyB;GAC9CoB,MAAMU,OAAOV;GACbY,yBAAyB5D,iBAAiBY,eAAeoC,KAAK;GAC9Da,gBAAgB/C,iBAAiBwB;GACjCwB,SAASC,KAAKC,UAAU9C,yBAAyB4C,QAAQ;GACzDT,YAAYU,KAAKC,UAAU9C,yBAAyBmC,WAAU;GAC/D,CAAC,CAACY,OAAOC,QAAQ;AAChBxC,uBAAoBwC,IAAI;IACxB,GACYC,WAAW,KAAK;AAC5BxC,yBAAsB,kBAAkB;AACxCvB,oBAAiB;AACjBC,kCAA+B,MAAM;;IAGzC;EACEuB;EACAhB,gBAAgBoC;EAChBlC,kBAAkBwB;EAClBpB,yBAAyB4C;EACzB5C,yBAAyBmC;EACzB3B;EACAC;EACAvB;EACAC;EAEJ,CAAC;CAED,MAAM+D,4BAA4BV,aAAW;EAC3C,IAAIW,QAAQ;AACZzD,kBAAgB0D,iBAAiBC,SAASxB,aAAW;AACnD,OACE,CAACA,SAAOyB,SAASC,SAAS,IAAI,IAC9B,CAAC1B,SAAO2B,gBACR,CAAC3B,SAAO4B;QAGN,CAACC,OAAOC,QAAQnB,SAAO,CAACoB,MACrBC,QAAQA,IAAI,GAAGC,sBAAsBjC,SAAOiC,kBAC9C;SAEE1E,qBACD+D,SAAQ;;;IAId;AACF,MAAI,CAACA,OAAO;AACV5C,gBAAa,8CAA8C;AAC3D;;EAEF,MAAMwD,mBAAmBL,OAAOC,QAAQnB,SAAO,CAC5CwB,QAAQ,CAACC,KAAKC,WAAWA,UAAU,KAAK,CACxCC,QAAQC,KAAK,CAACH,OAAKC,aAAW;AAC7BE,OAAIH,SAAOC;AACX,UAAOE;KACN,EAAE,CAAC;EACR,MAAMC,qBAAqBX,OAAOY,KAAKP,iBAAiB,CAACQ,KAAKN,UAC5DO,SAASP,MAAIQ,MAAM,kBAAkB,CAAC,IAAI,GAC5C,CAAC;EACD,MAAMC,gBAAgBhB,OAAOlB,OAAOuB,iBAAiB,CAACQ,KACnDI,kBAAkBC,UAAU;AAC3B,UAAO;IACLC,UAAUF,iBAAiB7C;IAC3BgD,iBAAiB,CAAC1E,mBACdd,iBAAiB+E,mBAAmBO,UACpC;IACJG,aAAa,CAAC3E,mBAAmB,KAAKiE,mBAAmBO;IAC1D;IAEJ;AACD3E,8BAA4B+E,SAAS;AACnC,UAAO;IAAE,GAAGA;IAAMpC,SAAS8B;IAAe;IAC1C;AACFvE,iBAAe6E,WAASA,SAAO,EAAE;;CAGnC,MAAMC,8BAA8BzC,aAAW;AAC7CvC,8BAA4B+E,WAAS;GACnC,IAAI7C,eAAa,EAAE;AACnBuB,UAAOY,KAAK9B,SAAO,CAACa,SACjB6B,YACE/C,aAAW+C,WACV,WAAW1C,SAAO0C,WACd1C,SAAO0C,UAAUhB,QACjB1B,SAAO0C,SAChB;AACD,UAAO;IAAE,GAAGF;IAAM7C,YAAYA;IAAY;IAC1C;AACF,MAAI,oBAAoBK,YAAUA,UAAQ2C,eAAejB,UAAU,MACjE7D,qBAAoB,KAAK;AAE3B6B,mBAAiBM,SAAO;AACxBrC,iBAAe6E,WAASA,SAAO,EAAE;;CAGnC,MAAMI,0BAA0BvD,aAAW;AACzC,MACE,CAACA,SAAOyB,SAASC,SAAS,IAAI,IAC9B,CAAC1B,SAAO2B,gBACR,CAAC3B,SAAO4B,QAER,QAAO,GAAG5B,SAAOC,KAAKC,QAAQ,YAAY,MAAM,CAACC,MAAM,CAAA;AAEzD,SAAO,GAAGH,SAAOC,KAAI,KAAMD,SAAOyB;;CAGpC,MAAM+B,yBAAyBC,YAAY;AACzCvF,gBAAcuF,QAAQ,GAAG;;CAG3B,MAAMC,8BAA8BrI,cAAc;AAChD,MAAI0C,iBACF,QAAOiD,KAAK2C,MAAM5F,kBAAkBuC,WAAW;IAEhD,CAACvC,iBAAiB,CAAC;AAEtB,QACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,aAAD,EAAa,WAAA,MAiOA,EAhOX,sBAAA,cAAC,OAAD,EAAK,OAAO,EAAE6F,cAAc,IAAI,EAM3B,EALH,sBAAA,cAAC,gBAAD;EACcvF;EACZ,OAAO;GAAC;GAAQ;GAAU;GAAkB;GAAS;EACrD,aAAY;EAAU,CAAA,CAErB,EACJA,eAAe,KACd,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,qBAAD;EACE,YAAY;EACZ,IAAI;EACJ,MAAM;EACN,OAAM;EACN,WAAWwF,QAAQ7F,oBAAoB6F,IAAI;EAC3C,SAAS3E;EACT,MAAK;EACL,wBAAwBkB;EACxB,OAAOrC;EACP,UAAA;EAAQ,CAAA,EAETA,oBACC,sBAAA,cAAC,OAAD,EAAK,OAAO,EAAE+F,WAAW,GAAG,EAY7B,EAXG,sBAAA,cAAC,oBAAD;EACE,kBAAkBN;EAClB,QAAQ;GACN,YAAY,CAAC,OAAO;GACpB,cAAc,CAAC,OAAO;GACtB,qEACE,CAAC,QAAQ;GACX,oBAAoB,CAAC,QAAO;GAC7B;EAAC,CAAA,CAGP,EACD,sBAAA,cAAC,MAAD,EAAM,UAAUJ,4BA2CV,EA1CHM,6BAA6BhB,KAAKqB,aACjCA,UAAUC,UACR,sBAAA,cAAC,OAAD;EACE,WAAWpI;EACX,YAAY;EACZ,IAAImI,SAASE;EACb,MAAMF,SAASE;EACf,OAAOF,SAASG;EAChB,SAASH,SAASC;EAClB,MAAK;EACL,wBAAwB5D;EACxB,UAAU2D,UAAUI;EACpB,CAAA,GAEF,sBAAA,cAAC,OAAD;EACE,WAAWxH;EACX,YAAY;EACZ,IAAIoH,SAASE;EACb,MAAMF,SAASE;EACf,OAAOF,SAASG;EAChB,MAAK;EACL,wBAAwB9D;EACxB,UAAU2D,UAAUI;EAG1B,CAAA,CAAC,EACD,sBAAA,cAAC,aAAD,EACE,OAAO;EACLC,SAAS;EACTC,OAAO;EACPC,aAAa;EACd,EAUU,EARX,sBAAA,cAAC,cAAD;EACE,SAAQ;EACR,OAAM;EACN,iBAAiB;EACjB,UAAU,CAACrG;EAGC,EAHU,OAGV,CACH,CACT,CAET,EACAI,eAAe,KACd,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,qBAAD;EACE,YAAY;EACZ,IAAI;EACJ,MAAM;EACN,OAAM;EACN,WAAWwF,UAAQ/F,kBAAkB+F,MAAI;EACzC,SAAS/D;EACT,MAAK;EACL,wBAAwBC;EACxB,OAAOlC;EACP,UAAA;EAAQ,CAAA,EAEV,sBAAA,cAAC,OAAD,EACE,OAAO;EAAEwG,OAAO;EAASD,SAAS;EAAQG,KAAK;EAAGT,WAAW;EAAG,EAiB7D,EAfH,sBAAA,cAAC,cAAD;EACE,SAAQ;EACR,eAAexF,eAAe6E,WAASA,SAAO,EAAE;EAChD,UAAU9E,eAAe;EAGb,EAHe,OAGf,EACd,sBAAA,cAAC,cAAD;EACE,SAAQ;EACR,eAAeC,eAAe6E,WAASA,SAAO,EAAE;EAChD,OAAM;EACN,UAAU,CAACtF;EAGC,EAHc,OAGd,CACX,CAER,EACAQ,eAAe,KACd,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,OAAD,EACE,OAAO;EACL+F,SAAS;EACTI,eAAe;EACfC,gBAAgB;EAChBC,YAAY;EACb,EAME,EAJH,sBAAA,cAAC,YAAD,EAAY,SAAQ,WAER,EADTnG,mBAAmB,mBAAmB,eAC7B,EACZ,sBAAA,cAAC,YAAD,EAAY,SAAQ,WAAgC,EAAtB,aAAsB,CACjD,EACL,sBAAA,cAAC,WAAD,EAAS,OAAO,EAAEoG,QAAQ,WAAW,EAAC,CAAA,EACtC,sBAAA,cAAC,MAAD;EACE,UAAUtD;EACV,OAAO,EAAEyC,WAAW,KAAK;EAsDrB,EApDHrG,kBAAkBiF,KAAKkC,OAAO7B,YAC7B,sBAAA,cAAC,OAAD,EAAK,OAAO,EAAE8B,QAAQ,IAAI,EAwB3B,EAvBG,sBAAA,cAAC,OAAD,EACE,OAAO;EAAET,SAAS;EAAQI,eAAe;EAAOD,KAAK;EAAI,EAmBtD,EAjBH,sBAAA,cAAC,YAAD,EAAY,OAAO;EAAET,WAAW;EAAIgB,OAAO;EAAO,EAEtC,EADTvG,mBAAmB,WAAWwE,UAAQ6B,MAC7B,EACZ,sBAAA,cAAC,YAAD;EACE,OAAO;GAAEd,WAAW;GAAIgB,OAAO;GAAO;EACtC,WAAWrI;EAAuB,CAAA,EAEpC,sBAAA,cAAC,OAAD;EACE,OAAO,EAAEoI,QAAQ,IAAI;EACrB,WAAWjJ;EACX,YAAY;EACZ,IAAI,kBAAkBmH;EACtB,MAAM,kBAAkBA;EACxB,SAASlF,gBAAgB0D;EACzB,MAAK;EACL,wBAAwBgC;EAAuB,CAAA,CAE9C,EACL,sBAAA,cAAC,WAAD,EAAS,OAAO,EAAEoB,QAAQ,WAAW,EAAC,CAAA,CAEzC,CAAC,EACF,sBAAA,cAAC,OAAD,EAAK,OAAO;EAAED,YAAY;EAAIK,WAAW;EAASC,OAAO;EAAO,EAE3D,EADFvG,UACE,EACL,sBAAA,cAAC,aAAD,EACE,OAAO;EACL2F,SAAS;EACTC,OAAO;EACPK,YAAY;EACZJ,aAAa;EACd,EAgBU,EAdX,sBAAA,cAAC,cAAD;EACE,SAAQ;EACR,eAAehG,eAAe6E,WAASA,SAAO,EAAE;EAChD,UAAU9E,eAAe;EAGb,EAHe,OAGf,EACd,sBAAA,cAAC,cAAD;EACE,SAAQ;EACR,OAAM;EACN,iBAAiB;EAGL,EAHW,OAGX,CACH,CACT,CAET,EACAA,eAAe,KACd,sBAAA,cAAC,MAAD,EAAM,UAAUqC,6BA+BjB,EA9BG,sBAAA,cAAC,OAAD;EACE,WAAW/D;EACX,IAAI;EACJ,MAAM;EACN,OAAM;EACN,MAAK;EAAO,CAAA,EAEd,sBAAA,cAAC,aAAD,EACE,OAAO;EACLyH,SAAS;EACTC,OAAO;EACPC,aAAa;EACd,EAgBU,EAdX,sBAAA,cAAC,cAAD;EACE,SAAQ;EACR,eAAehG,eAAe6E,WAASA,SAAO,EAAE;EAChD,UAAU9E,eAAe;EAGb,EAHe,OAGf,EACd,sBAAA,cAAC,cAAD;EACE,SAAQ;EACR,OAAM;EACN,iBAAiB;EAGL,EADX,iBACW,CACH,CAEhB,CACU,EACZF,yBAAyB4C,WAAU,sBAAA,cAAC,OAAD,EAAK,OAAO,EAAE+C,WAAW,IAAI,EAQ3D,EAPJ,sBAAA,cAAC,sBAAD;EACE,mBAAmB;GACjB/C,SAAS5C,yBAAyB4C;GAClCT,YAAYnC,yBAAyBmC;GACtC;EACD,QAAQzC,gBAAgBoC,KAAKC,QAAQ,YAAY,MAAM,CAACC,MAAM;EAAC,CAAA,CAE7D,CACL"}
|
|
1
|
+
{"version":3,"file":"FileImportMappingWizard.mjs","names":["React","useMemo","useState","useCallback","useEffect","useUser","useAxiosGet","UdpCard","UdpAutocomplete","usePromotedMethodEntity","executeQueryAdHoc","Form","Field","AmbientStepper","apiMutate","useHandleAxiosSnackbar","UdpFileInput","UdpDropdown","UdpText","UdpButton","UdpTextInput","UdpDivider","UdpIcon","handleExcelFileUpload","handleJsonFileUpload","handleTextFileUpload","FileImportConfigCard","getSanitizedName","ConfigService","FileImportMappingWizard","props","$","_c","refetchMappings","setNewFileMappingSidesheetOpen","verifyRequiredFields","user","importHeaderData","setImportHeaderData","udpObjectList","setUdpObjectList","selectedDomain","setSelectedDomain","selectedFileType","setSelectedFileType","fileObject","setFileObject","t0","Symbol","for","fileItems","setFileItems","t1","fileImportMappingObject","setFileImportMappingObject","activeStep","setActiveStep","showIndexNumbers","setShowIndexNumbers","errorText","setErrorText","handleErrorSnackbar","handleSuccessSnackbar","executeCreateFileMapping","_temp","data","udpObjectEntity","t2","t3","productV1ApiUrl","allowedFileTypesData","t4","unityBaseSearchMethod","apiMethodId","id","sapUserRes","eagerLoad","pageSize","filterElements","pageList","length","searchUdpObjectData","filterCatalogObjectList","getNameFormattedOptionLabel","_temp2","t5","extension","properties","result","headers","handleFileUpload","t6","t7","t8","mapping","name","values","response","objectInfoSanitizedName","fileImportType","JSON","stringify","catch","res","status","handleCreateNewFieldMapping","t9","objectFieldInfo","values_0","valid","forEach","option_1","option","dataType","endsWith","isPrimaryKey","udpType","Object","entries","some","obj","businessObjectKey","filteredMappings","filter","_temp3","reduce","_temp4","mappedFieldIndexes","keys","map","_temp5","fieldMappings","selectedUdpField","index","udpField","importFileField","headerIndex","prev","_temp6","handleUpdateFieldMapping","t10","values_1","prev_1","properties_0","propKey","value","includesHeader","_temp7","handleUpdateFileProperties","getUdpFieldOptionLabel","_temp8","t11","e","items","target","find","_temp9","file","handleAddFileToUpload","t12","bb0","t13","parse","undefined","formattedFileTypeProperties","marginBottom","t14","t15","t16","e_0","marginTop","_temp0","t17","e_1","float","display","gap","_temp1","_temp10","t18","flexDirection","justifyContent","paddingTop","margin","field","index_0","alignItems","width","flex","textAlign","color","_temp11","t19","_temp12","t20","t21","replace","trim","t22","method","acc","key_0","value_0","key","key_1","parseInt","split","prev_0","prev_2","option_2","item","kind","property","options","propertyName","label","required","prev_3","prev_4","prev_5","prev_6"],"sources":["../../../src/udp/fileImportMapping/FileImportMappingWizard.jsx"],"sourcesContent":["import React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { UdpCard } from '../../UI/fluent-web-components/UdpCard';\nimport { UdpAutocomplete } from '../../UI/fluent-web-components/UdpAutocomplete';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { executeQueryAdHoc } from '../utilities/methodUtils';\nimport { Form } from '../../utilities/form';\nimport { Field } from '../../utilities/form';\nimport { AmbientStepper } from '../../UI/inputs/menus/AmbientStepper/AmbientStepper';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { UdpFileInput } from '../../UI/fluent-web-components/UdpFileInput';\nimport { UdpDropdown } from '../../UI/fluent-web-components';\nimport { UdpText } from '../../UI/fluent-web-components/UdpText';\nimport { UdpButton } from '../../UI/fluent-web-components/UdpButton';\nimport { UdpTextInput } from '../../UI/fluent-web-components/UdpTextInput';\nimport { UdpDivider } from '../../UI/fluent-web-components/UdpDivider';\nimport { UdpIcon } from '../../UI/fluent-web-components/UdpIcon';\nimport {\n handleExcelFileUpload,\n handleJsonFileUpload,\n handleTextFileUpload\n} from './fileUtils';\nimport { FileImportConfigCard } from './FileImportConfigCard';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { ConfigService } from '../../configService';\n\nconst FileImportMappingWizard = (props) => {\n const { refetchMappings, setNewFileMappingSidesheetOpen, verifyRequiredFields } = props;\n const user = useUser();\n const [importHeaderData, setImportHeaderData] = useState();\n const [udpObjectList, setUdpObjectList] = useState();\n const [selectedDomain, setSelectedDomain] = useState();\n const [selectedFileType, setSelectedFileType] = useState();\n const [fileObject, setFileObject] = useState();\n const [fileItems, setFileItems] = useState([]);\n const [fileImportMappingObject, setFileImportMappingObject] = useState({});\n const [activeStep, setActiveStep] = useState(0);\n const [showIndexNumbers, setShowIndexNumbers] = useState(false);\n const [errorText, setErrorText] = useState('');\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const executeCreateFileMapping = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpFileImportMapping`,\n {\n method: 'post'\n },\n { data }\n ),\n []\n );\n const { data: udpObjectEntity } = usePromotedMethodEntity(\n 'UdpObjectInfo',\n true\n );\n\n const [{ data: allowedFileTypesData }, refetchAllowedFileTypes] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpFileImportType`,\n {},\n false\n );\n\n const searchUdpObjectData = useCallback(async () => {\n if (udpObjectEntity?.unityBaseSearchMethod?.apiMethodId && user?.id) {\n const sapUserRes = await executeQueryAdHoc(\n {\n data: {\n eagerLoad: true,\n pageSize: 200,\n filterElements: []\n }\n },\n udpObjectEntity?.unityBaseSearchMethod?.apiMethodId\n );\n if (sapUserRes?.data?.pageList.length > 0) {\n setUdpObjectList(sapUserRes?.data?.pageList);\n }\n }\n }, [udpObjectEntity, user]);\n\n const filterCatalogObjectList = useMemo(() => {\n return udpObjectList;\n }, [udpObjectList]);\n\n const getNameFormattedOptionLabel = (option) => {\n return option?.name.replace(/([A-Z])/g, ' $1').trim();\n };\n\n const getNameOptionLabel = (option) => {\n return option?.name;\n };\n\n const handleFileUpload = async (properties) => {\n let result;\n if (\n selectedFileType.extension === '.csv' ||\n selectedFileType.extension === '.txt'\n ) {\n result = await handleTextFileUpload(fileObject, properties);\n } else if (selectedFileType.extension === '.xlsx') {\n result = await handleExcelFileUpload(fileObject, properties);\n } else if (selectedFileType.extension === '.json') {\n result = await handleJsonFileUpload(fileObject, properties);\n }\n setImportHeaderData(result?.headers);\n };\n\n useEffect(() => {\n searchUdpObjectData();\n }, [searchUdpObjectData]);\n\n const handleCreateNewFieldMapping = async (values) => {\n const response = await executeCreateFileMapping({\n name: values.name,\n objectInfoSanitizedName: getSanitizedName(selectedDomain?.name),\n fileImportType: selectedFileType?.id,\n mapping: JSON.stringify(fileImportMappingObject?.mapping),\n properties: JSON.stringify(fileImportMappingObject?.properties)\n }).catch((res) => {\n handleErrorSnackbar(res);\n });\n if (response?.status === 201) {\n handleSuccessSnackbar('Created Mapping');\n refetchMappings();\n setNewFileMappingSidesheetOpen(false);\n }\n };\n\n const handleUpdateFieldMapping = (values) => {\n let valid = true;\n selectedDomain?.objectFieldInfo?.forEach((option) => {\n if (\n !option.dataType.endsWith('?') &&\n !option.isPrimaryKey &&\n !option.udpType\n ) {\n if (\n !Object.entries(values).some(\n (obj) => obj[1].businessObjectKey === option.businessObjectKey\n )\n ) {\n if(verifyRequiredFields){\n valid = false;\n }\n }\n }\n });\n if (!valid) {\n setErrorText('All required Udp fields must have a mapping');\n return;\n }\n const filteredMappings = Object.entries(values)\n .filter(([key, value]) => value !== null)\n .reduce((acc, [key, value]) => {\n acc[key] = value;\n return acc;\n }, {});\n const mappedFieldIndexes = Object.keys(filteredMappings).map((key) =>\n parseInt(key.split('udpFieldMapping')[1], 10)\n );\n const fieldMappings = Object.values(filteredMappings).map(\n (selectedUdpField, index) => {\n return {\n udpField: selectedUdpField.name,\n importFileField: !showIndexNumbers\n ? importHeaderData[mappedFieldIndexes[index]]\n : null,\n headerIndex: !showIndexNumbers ? -1 : mappedFieldIndexes[index]\n };\n }\n );\n setFileImportMappingObject((prev) => {\n return { ...prev, mapping: fieldMappings };\n });\n setActiveStep((prev) => prev + 1);\n };\n\n const handleUpdateFileProperties = (values) => {\n setFileImportMappingObject((prev) => {\n let properties = {};\n Object.keys(values).forEach(\n (propKey) =>\n (properties[propKey] =\n 'value' in values[propKey]\n ? values[propKey]?.value\n : values[propKey])\n );\n return { ...prev, properties: properties };\n });\n if ('includesHeader' in values && values?.includesHeader.value === false) {\n setShowIndexNumbers(true);\n }\n handleFileUpload(values);\n setActiveStep((prev) => prev + 1);\n };\n\n const getUdpFieldOptionLabel = (option) => {\n if (\n !option.dataType.endsWith('?') &&\n !option.isPrimaryKey &&\n !option.udpType\n ) {\n return `${option.name.replace(/([A-Z])/g, ' $1').trim()}*`; //required field\n }\n return `${option.name} - ${option.dataType}`;\n };\n\n const handleAddFileToUpload = (e) => {\n const items = e.target.value;\n setFileItems(items);\n setFileObject(items.find(item => item.kind === 'pending')?.file);\n };\n\n const formattedFileTypeProperties = useMemo(() => {\n if (selectedFileType) {\n return JSON.parse(selectedFileType?.properties);\n }\n }, [selectedFileType]);\n\n return (\n <>\n <UdpCard width=\"100%\">\n <div style={{ marginBottom: 20 }}>\n <AmbientStepper\n activeStep={activeStep}\n steps={['File', 'Domain', 'Field Mappings', 'Review']}\n orientation='vertical'\n />\n </div>\n {activeStep === 0 && (\n <>\n <UdpDropdown\n name={'fileImportType'}\n label='File Type'\n onChange={(e) => setSelectedFileType(e.target.value)}\n options={allowedFileTypesData || []}\n optionLabel='name'\n optionValue=\"id\"\n value={selectedFileType}\n required\n />\n {selectedFileType && (\n <div style={{ marginTop: 5 }}>\n <UdpFileInput\n value={fileItems}\n onChange={handleAddFileToUpload}\n accept=\".csv,.txt,.xlsx,.json\"\n maxFiles={1}\n />\n </div>\n )}\n <Form id='fileProperties' onSubmit={handleUpdateFileProperties}>\n {formattedFileTypeProperties?.map((property) =>\n property?.options ? (\n <Field\n key={property.propertyName}\n component={UdpDropdown}\n multiple={false}\n name={property.propertyName}\n label={property.label}\n options={property.options}\n optionLabel='name'\n optionValue=\"value\"\n required={property?.required}\n />\n ) : (\n <Field\n key={property.propertyName}\n component={UdpTextInput}\n name={property.propertyName}\n label={property.label}\n required={property?.required}\n />\n )\n )}\n\n <UdpButton\n appearance='secondary'\n type='submit'\n form='fileProperties'\n disabled={!fileObject}\n >\n Next\n </UdpButton>\n </Form>\n </>\n )}\n {activeStep === 1 && (\n <>\n <UdpAutocomplete\n name={'domain'}\n label='Domain'\n onChange={(e) => setSelectedDomain(e.target.value)}\n options={filterCatalogObjectList}\n optionLabel={getNameFormattedOptionLabel}\n optionValue=\"id\"\n value={selectedDomain}\n required\n />\n <div\n style={{ float: 'right', display: 'flex', gap: 8, marginTop: 8 }}\n >\n <UdpButton\n onClick={() => setActiveStep((prev) => prev - 1)}\n disabled={activeStep === 0}\n >\n Prev\n </UdpButton>\n <UdpButton\n appearance='secondary'\n onClick={() => setActiveStep((prev) => prev + 1)}\n disabled={!selectedDomain}\n >\n Next\n </UdpButton>\n </div>\n </>\n )}\n {activeStep === 2 && (\n <>\n <div\n style={{\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingTop: 20\n }}\n >\n <UdpText variant='caption1Strong'>\n {showIndexNumbers ? \"Column index's\" : 'File Headers'}\n </UdpText>\n <UdpText variant='caption1Strong'>UDP Fields</UdpText>\n </div>\n <UdpDivider style={{ margin: '5px 0px' }} />\n <Form id='fieldMappings' onSubmit={handleUpdateFieldMapping}>\n {importHeaderData?.map((field, index) => (\n <div key={index}>\n <div\n style={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 10\n }}\n >\n <UdpText style={{ width: '40%' }}>\n {showIndexNumbers ? 'index ' + index : field}\n </UdpText>\n <UdpIcon style={{ width: '10%' }} name='arrow-right' />\n <div style={{ flex: 2 }}>\n <Field\n component={UdpDropdown}\n multiple={false}\n name={`udpFieldMapping${index}`}\n options={selectedDomain?.objectFieldInfo}\n optionLabel={getUdpFieldOptionLabel}\n optionValue=\"businessObjectKey\"\n includeErrorPadding={false}\n clearable={true}\n />\n </div>\n </div>\n <UdpDivider style={{ margin: '5px 0px' }} />\n </div>\n ))}\n <div style={{ paddingTop: 20, textAlign: 'right', color: 'red' }}>\n {errorText}\n </div>\n <div\n style={{\n display: 'flex',\n justifyContent: 'flex-start',\n gap: 8,\n paddingTop: 16\n }}\n >\n <UdpButton\n onClick={() => setActiveStep((prev) => prev - 1)}\n disabled={activeStep === 0}\n >\n Prev\n </UdpButton>\n <UdpButton\n appearance='secondary'\n type='submit'\n form='fieldMappings'\n >\n Next\n </UdpButton>\n </div>\n </Form>\n </>\n )}\n {activeStep === 3 && (\n <Form id='createMapping' onSubmit={handleCreateNewFieldMapping}>\n <Field\n component={UdpTextInput}\n name={`name`}\n label='Mapping Name'\n />\n <div\n style={{\n display: 'flex',\n justifyContent: 'flex-start',\n gap: 8,\n paddingTop: 16\n }}\n >\n <UdpButton\n onClick={() => setActiveStep((prev) => prev - 1)}\n disabled={activeStep === 0}\n >\n Prev\n </UdpButton>\n <UdpButton\n appearance='primary'\n type='submit'\n form='createMapping'\n >\n Create Mapping\n </UdpButton>\n </div>\n </Form>\n )}\n </UdpCard>\n {fileImportMappingObject?.mapping &&<div style={{ marginTop: 10 }}>\n <FileImportConfigCard\n fileMappingRecord={{\n mapping: fileImportMappingObject?.mapping,\n properties: fileImportMappingObject?.properties\n }}\n domain={selectedDomain?.name.replace(/([A-Z])/g, ' $1').trim()}\n />\n </div>}\n </>\n );\n};\n\nexport default FileImportMappingWizard;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM6B,2BAA0BC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAC9B,MAAA,EAAAC,iBAAAC,gCAAAC,yBAAkFL;CAClF,MAAAM,OAAa/B,SAAS;CACtB,MAAA,CAAAgC,kBAAAC,uBAAgDpC,UAAU;CAC1D,MAAA,CAAAqC,eAAAC,oBAA0CtC,UAAU;CACpD,MAAA,CAAAuC,gBAAAC,qBAA4CxC,UAAU;CACtD,MAAA,CAAAyC,kBAAAC,uBAAgD1C,UAAU;CAC1D,MAAA,CAAA2C,YAAAC,iBAAoC5C,UAAU;CAAC,IAAA6C;AAAA,KAAAhB,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AACJF,OAAA,EAAE;AAAAhB,IAAA,KAAAgB;OAAAA,MAAAhB,EAAA;CAA7C,MAAA,CAAAmB,WAAAC,gBAAkCjD,SAAS6C,GAAG;CAAC,IAAAK;AAAA,KAAArB,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AACwBG,OAAA,EAAE;AAAArB,IAAA,KAAAqB;OAAAA,MAAArB,EAAA;CAAzE,MAAA,CAAAsB,yBAAAC,8BAA8DpD,SAASkD,GAAG;CAC1E,MAAA,CAAAG,YAAAC,iBAAoCtD,SAAS,EAAE;CAC/C,MAAA,CAAAuD,kBAAAC,uBAAgDxD,SAAS,MAAM;CAC/D,MAAA,CAAAyD,WAAAC,gBAAkC1D,SAAS,GAAG;CAC9C,MAAA,EAAA2D,qBAAAC,0BACE/C,wBAAwB;CAE1B,MAAAgD,2BAAiCC;CAYjC,MAAA,EAAAC,MAAAC,oBAAkCzD,wBAChC,iBACA,KACD;CAAC,IAAA0D;AAAA,KAAApC,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAKAkB,OAAA,EAAE;AAAApC,IAAA,KAAAoC;OAAAA,MAAApC,EAAA;CAHJ,MAAA,CAAAqC,MAAkE9D,YAChEsB,cAAayC,iBACb,qBACAF,IACA,MACD;CALM,MAAA,EAAAF,MAAAK,yBAAAF;CAA8B,IAAAG;AAAA,KAAAxC,EAAA,OAAAmC,iBAAAM,uBAAAC,eAAA1C,EAAA,OAAAK,MAAAsC,IAAA;AAOGH,OAAA,YAAA;AACtC,OAAIL,iBAAeM,uBAAoCC,eAAIrC,MAAIsC,IAAI;IACjE,MAAAC,aAAmB,MAAMjE,kBACvB,EAAAuD,MACQ;KAAAW,WACO;KAAIC,UACL;KAAGC,gBACG,EAAA;KAClB,EACD,EACDZ,iBAAeM,uBAAoCC,YACpD;AACD,QAAIE,YAAUV,MAAgBc,SAAOC,SAAG,EACtCxC,kBAAiBmC,YAAUV,MAAgBc,SAAC;;;AAGjDhD,IAAA,KAAAmC,iBAAAM,uBAAAC;AAAA1C,IAAA,KAAAK,MAAAsC;AAAA3C,IAAA,KAAAwC;OAAAA,MAAAxC,EAAA;CAhBD,MAAAkD,sBAA4BV;CAkB5B,MAAAW,0BACE3C;CAGF,MAAA4C,8BAAoCC;CAElC,IAAAC;AAAA,KAAAtD,EAAA,OAAAc,cAAAd,EAAA,OAAAY,iBAAA2C,WAAA;AAMuBD,OAAA,OAAAE,eAAA;GACnBC,IAAAA;AACJ,OACE7C,iBAAgB2C,cAAe,UAC/B3C,iBAAgB2C,cAAe,OAE/BE,UAASA,MAAM/D,qBAAqBoB,YAAY0C,WAAW;YAClD5C,iBAAgB2C,cAAe,QACxCE,UAASA,MAAMjE,sBAAsBsB,YAAY0C,WAAW;YACnD5C,iBAAgB2C,cAAe,QACxCE,UAASA,MAAMhE,qBAAqBqB,YAAY0C,WAAW;AAE7DjD,uBAAoBkD,QAAMC,QAAU;;AACrC1D,IAAA,KAAAc;AAAAd,IAAA,KAAAY,iBAAA2C;AAAAvD,IAAA,KAAAsD;OAAAA,MAAAtD,EAAA;CAbD,MAAA2D,mBAAyBL;CAavB,IAAAM;CAAA,IAAAC;AAAA,KAAA7D,EAAA,OAAAkD,qBAAA;AAEQU,aAAA;AACRV,wBAAqB;;AACpBW,OAAA,CAACX,oBAAoB;AAAAlD,IAAA,KAAAkD;AAAAlD,IAAA,MAAA4D;AAAA5D,IAAA,MAAA6D;QAAA;AAAAD,OAAA5D,EAAA;AAAA6D,OAAA7D,EAAA;;AAFxB3B,WAAUuF,IAEPC,GAAsB;CAAA,IAAAC;AAAA,KAAA9D,EAAA,QAAAsB,yBAAAyC,WAAA/D,EAAA,QAAAsB,yBAAAkC,cAAAxD,EAAA,QAAA8B,uBAAA9B,EAAA,QAAA+B,yBAAA/B,EAAA,QAAAE,mBAAAF,EAAA,QAAAU,gBAAAsD,QAAAhE,EAAA,QAAAY,iBAAA+B,MAAA3C,EAAA,QAAAG,gCAAA;AAEW2D,OAAA,OAAAG,WAAA;AAUlC,QATiB,MAAMjC,yBAAyB;IAAAgC,MACxCC,OAAMD;IAAKG,yBACQvE,iBAAiBc,gBAAcsD,KAAO;IAAAI,gBAC/CxD,kBAAgB+B;IAAIoB,SAC3BM,KAAIC,UAAWhD,yBAAuByC,QAAU;IAAAP,YAC7Ca,KAAIC,UAAWhD,yBAAuBkC,WAAY;IAC/D,CAAC,CAAAe,OAAOC,QAAA;AACP1C,wBAAoB0C,IAAI;KACxB,GACUC,WAAa,KAAG;AAC1B1C,0BAAsB,kBAAkB;AACxC7B,qBAAiB;AACjBC,mCAA+B,MAAM;;;AAExCH,IAAA,MAAAsB,yBAAAyC;AAAA/D,IAAA,MAAAsB,yBAAAkC;AAAAxD,IAAA,MAAA8B;AAAA9B,IAAA,MAAA+B;AAAA/B,IAAA,MAAAE;AAAAF,IAAA,MAAAU,gBAAAsD;AAAAhE,IAAA,MAAAY,iBAAA+B;AAAA3C,IAAA,MAAAG;AAAAH,IAAA,MAAA8D;OAAAA,MAAA9D,EAAA;CAfD,MAAA0E,8BAAoCZ;CAelC,IAAAa;AAAA,KAAA3E,EAAA,QAAAM,oBAAAN,EAAA,QAAAU,gBAAAkE,mBAAA5E,EAAA,QAAA0B,oBAAA1B,EAAA,QAAAI,sBAAA;AAE+BuE,QAAAE,aAAA;GAC/B,IAAAC,QAAY;AACZpE,mBAAckE,iBAA0BG,SAACC,aAAA;AACvC,QACE,CAACC,SAAMC,SAASC,SAAU,IACN,IADpB,CACCF,SAAMG,gBADP,CAECH,SAAMI;SAGL,CAACC,OAAMC,QAAStB,SAAO,CAAAuB,MACrBC,QAASA,IAAG,GAAGC,sBAAuBT,SAAMS,kBAC7C;UAEEtF,qBACD0E,SAAQA;;;KAId;AACF,OAAI,CAACA,OAAK;AACRjD,iBAAa,8CAA8C;AAAA;;GAG7D,MAAA8D,mBAAyBL,OAAMC,QAAStB,SAAO,CAAA2B,OACrCC,OAAiC,CAAAC,OACjCC,QAGL,EAAE,CAAC;GACR,MAAAC,qBAA2BV,OAAMW,KAAMN,iBAAiB,CAAAO,IAAKC,OAE5D;GACD,MAAAC,gBAAsBd,OAAMrB,OAAQ0B,iBAAiB,CAAAO,KACnDG,kBAAAC,WACS;IAAAC,UACKF,iBAAgBrC;IAAKwC,iBACd,CAAC9E,mBACdpB,iBAAiB0F,mBAAmBM,UADvB;IAETG,aACK,CAAC/E,mBAAD,KAAyBsE,mBAAmBM;IAC1D,EAEJ;AACD/E,+BAA2BmF,UAClB;IAAA,GAAKA;IAAI3C,SAAWqC;IAAe,EAC1C;AACF3E,iBAAckF,OAAmB;;AAClC3G,IAAA,MAAAM;AAAAN,IAAA,MAAAU,gBAAAkE;AAAA5E,IAAA,MAAA0B;AAAA1B,IAAA,MAAAI;AAAAJ,IAAA,MAAA2E;OAAAA,MAAA3E,EAAA;CA/CD,MAAA4G,2BAAiCjC;CA+C/B,IAAAkC;AAAA,KAAA7G,EAAA,QAAA2D,kBAAA;AAEiCkD,SAAAC,aAAA;AACjCvF,+BAA2BwF,WAAA;IACzB,MAAAC,eAAiB,EAAE;AACnB1B,WAAMW,KAAMhC,SAAO,CAAAc,SACjBkC,YACGzD,aAAWyD,WACV,WAAWhD,SAAOgD,WACdhD,SAAOgD,UAAeC,QACtBjD,SAAOgD,SAChB;AAAA,WACM;KAAA,GAAKP;KAAIlD,YAAcA;KAAY;KAC1C;AACF,OAAI,oBAAoBS,YAAUA,UAAMkD,eAAsBD,UAAK,MACjEvF,qBAAoB,KAAK;AAE3BgC,oBAAiBM,SAAO;AACxBxC,iBAAc2F,OAAmB;;AAClCpH,IAAA,MAAA2D;AAAA3D,IAAA,MAAA6G;OAAAA,OAAA7G,EAAA;CAjBD,MAAAqH,6BAAmCR;CAmBnC,MAAAS,yBAA+BC;CAS7B,IAAAC;AAAA,KAAAxH,EAAA,QAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAE4BsG,SAAAC,MAAA;GAC5B,MAAAC,QAAcD,EAACE,OAAOT;AACtB9F,gBAAasG,MAAM;AACnB3G,iBAAc2G,MAAKE,KAAMC,OAAsC,EAAAC,KAAC;;AACjE9H,IAAA,MAAAwH;OAAAA,OAAAxH,EAAA;CAJD,MAAA+H,wBAA8BP;CAI5B,IAAAQ;AAAAC,MAAA;AAGA,MAAIrH,kBAAgB;GAAA,IAAAsH;AAAA,OAAAlI,EAAA,QAAAY,iBAAA4C,YAAA;AACX0E,UAAA7D,KAAI8D,MAAOvH,kBAAgB4C,WAAa;AAAAxD,MAAA,MAAAY,iBAAA4C;AAAAxD,MAAA,MAAAkI;SAAAA,OAAAlI,EAAA;AAA/CgI,SAAOE;AAAP,SAAAD;;AACDD,QAAAI,KAAAA;;CAHH,MAAAC,8BAAoCL;CAIb,IAAAE;AAAA,KAAAlI,EAAA,QAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAKLgH,QAAA,EAAAI,cAAgB,IAAI;AAAAtI,IAAA,MAAAkI;OAAAA,OAAAlI,EAAA;CAAA,IAAAuI;AAAA,KAAAvI,EAAA,QAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAGrBqH,QAAA;GAAC;GAAQ;GAAU;GAAkB;GAAS;AAAAvI,IAAA,MAAAuI;OAAAA,OAAAvI,EAAA;CAAA,IAAAwI;AAAA,KAAAxI,EAAA,QAAAwB,YAAA;AAHzDgH,QAAA,sBAAA,cAAA,OAAA,EAAY,OAAAN,KAMN,EALJ,sBAAA,cAAC,gBAAD;GACc1G;GACL,OAAA+G;GACK,aAAA;GAEhB,CAAA,CAAM;AAAAvI,IAAA,MAAAwB;AAAAxB,IAAA,MAAAwI;OAAAA,OAAAxI,EAAA;CAAA,IAAAyI;AAAA,KAAAzI,EAAA,QAAAwB,cAAAxB,EAAA,QAAAuC,wBAAAvC,EAAA,QAAAmB,aAAAnB,EAAA,QAAAc,cAAAd,EAAA,QAAAqI,+BAAArI,EAAA,QAAAqH,8BAAArH,EAAA,QAAAY,kBAAA;AACL6H,QAAAjH,eAAe,KAAf,sBAAA,cAAA,MAAA,UAAA,MAEG,sBAAA,cAAC,aAAD;GACQ,MAAA;GACA,OAAA;GACI,WAAAkH,QAAO7H,oBAAoB4G,IAACE,OAAOT,MAAM;GAC1C,SAAA3E,wBAAA,EAAyB;GACtB,aAAA;GACA,aAAA;GACL3B,OAAAA;GACP,UAAA;GAED,CAAA,EAAAA,oBACC,sBAAA,cAAA,OAAA,EAAY,OAAA,EAAA+H,WAAa,GAAE,EAQ7B,EAPI,sBAAA,cAAC,cAAD;GACSxH,OAAAA;GACG4G,UAAAA;GACH,QAAA;GACG,UAAA;GAEd,CAAA,CACF,EACA,sBAAA,cAAC,MAAD;GAAS,IAAA;GAA2BV,UAAAA;GAiC7B,EAhCJgB,6BAA2BnC,IAAM0C,OAsBlC,EAEE,sBAAA,cAAC,WAAD;GACa,YAAA;GACN,MAAA;GACA,MAAA;GACK,UAAA,CAAC9H;GAIjB,EAHK,OAGL,CAAO,CAEV;AAAAd,IAAA,MAAAwB;AAAAxB,IAAA,MAAAuC;AAAAvC,IAAA,MAAAmB;AAAAnB,IAAA,MAAAc;AAAAd,IAAA,MAAAqI;AAAArI,IAAA,MAAAqH;AAAArH,IAAA,MAAAY;AAAAZ,IAAA,MAAAyI;OAAAA,OAAAzI,EAAA;CAAA,IAAA6I;AAAA,KAAA7I,EAAA,QAAAwB,cAAAxB,EAAA,QAAAmD,2BAAAnD,EAAA,QAAAU,gBAAA;AACAmI,QAAArH,eAAe,KAAf,sBAAA,cAAA,MAAA,UAAA,MAEG,sBAAA,cAAC,iBAAD;GACQ,MAAA;GACA,OAAA;GACI,WAAAsH,QAAOnI,kBAAkB8G,IAACE,OAAOT,MAAM;GACxC/D,SAAAA;GACIC,aAAAA;GACD,aAAA;GACL1C,OAAAA;GACP,UAAA;GAEF,CAAA,EAAA,sBAAA,cAAA,OAAA,EACS,OAAA;GAAAqI,OAAS;GAAOC,SAAW;GAAMC,KAAO;GAACN,WAAa;GAAE,EAe3D,EAbJ,sBAAA,cAAC,WAAD;GACW,eAAMlH,cAAcyH,OAAkB;GACrC,UAAA1H,eAAe;GAI3B,EAHC,OAGD,EAAA,sBAAA,cAAC,WAAD;GACa,YAAA;GACF,eAAMC,cAAc0H,QAAkB;GACrC,UAAA,CAACzI;GAIf,EAHG,OAGH,CAAM,CAET;AAAAV,IAAA,MAAAwB;AAAAxB,IAAA,MAAAmD;AAAAnD,IAAA,MAAAU;AAAAV,IAAA,MAAA6I;OAAAA,OAAA7I,EAAA;CAAA,IAAAoJ;AAAA,KAAApJ,EAAA,QAAAwB,cAAAxB,EAAA,QAAA4B,aAAA5B,EAAA,QAAA4G,4BAAA5G,EAAA,QAAAM,oBAAAN,EAAA,QAAAU,gBAAAkE,mBAAA5E,EAAA,QAAA0B,kBAAA;AACA0H,QAAA5H,eAAe,KAAf,sBAAA,cAAA,MAAA,UAAA,MAEG,sBAAA,cAAA,OAAA,EACS,OAAA;GAAAwH,SACI;GAAMK,eACA;GAAKC,gBACJ;GAAeC,YACnB;GACd,EAOF,EALE,sBAAA,cAAC,SAAD,EAAiB,SAAA,kBAGjB,EAFG7H,mBAAA,mBAAA,eAEH,EAAA,sBAAA,cAAC,SAAD,EAAiB,SAAA,kBACnB,EADoC,aACpC,CACA,EAAA,sBAAA,cAAC,YAAD,EAAmB,OAAA,EAAA8H,QAAU,WAAU,EACvC,CAAA,EAAA,sBAAA,cAAC,MAAD;GAAS,IAAA;GAA0B5C,UAAAA;GAwD5B,EAvDJtG,kBAAgB4F,KAAMuD,OAAAC,YACrB,sBAAA,cAAA,OAAA,EAAUpD,KAAAA,SA4BX,EA3BG,sBAAA,cAAA,OAAA,EACS,OAAA;GAAA0C,SACI;GAAMK,eACA;GAAKM,YACR;GAAQV,KACf;GACP,EAmBF,EAjBE,sBAAA,cAAC,SAAD,EAAgB,OAAA,EAAAW,OAAS,OAAM,EAG/B,EAFGlI,mBAAmB,WAAW4E,UAA9BmD,MAEH,EAAA,sBAAA,cAAC,SAAD;GAAgB,OAAA,EAAAG,OAAS,OAAM;GAAQ,MAAA;GACvC,CAAA,EAAA,sBAAA,cAAA,OAAA,EAAY,OAAA,EAAAC,MAAQ,GAAE,EAYxB,EAXI,sBAAA,cAAC,OAAD;GACa3K,WAAAA;GACD,UAAA;GACJ,MAAA,kBAAkBoH;GACf,SAAA5F,gBAAckE;GACV0C,aAAAA;GACD,aAAA;GACS,qBAAA;GACV,WAAA;GAEf,CAAA,CACF,CACA,EAAA,sBAAA,cAAC,YAAD,EAAmB,OAAA,EAAAkC,QAAU,WAAU,EACzC,CAAA,CACD,CAAA,EACD,sBAAA,cAAA,OAAA,EAAY,OAAA;GAAAD,YAAc;GAAEO,WAAa;GAAOC,OAAS;GAAM,EAG/D,EAFGnI,UAEH,EAAA,sBAAA,cAAA,OAAA,EACS,OAAA;GAAAoH,SACI;GAAMM,gBACC;GAAYL,KACvB;GAACM,YACM;GACd,EAgBJ,EAdI,sBAAA,cAAC,WAAD;GACW,eAAM9H,cAAcuI,QAAkB;GACrC,UAAAxI,eAAe;GAI3B,EAHC,OAGD,EAAA,sBAAA,cAAC,WAAD;GACa,YAAA;GACN,MAAA;GACA,MAAA;GAIT,EAHG,OAGH,CACF,CAAO,CAEV;AAAAxB,IAAA,MAAAwB;AAAAxB,IAAA,MAAA4B;AAAA5B,IAAA,MAAA4G;AAAA5G,IAAA,MAAAM;AAAAN,IAAA,MAAAU,gBAAAkE;AAAA5E,IAAA,MAAA0B;AAAA1B,IAAA,MAAAoJ;OAAAA,OAAApJ,EAAA;CAAA,IAAAiK;AAAA,KAAAjK,EAAA,QAAAwB,cAAAxB,EAAA,QAAA0E,6BAAA;AACAuF,QAAAzI,eAAe,KACd,sBAAA,cAAC,MAAD;GAAS,IAAA;GAA0BkD,UAAAA;GA6BpC,EA5BG,sBAAA,cAAC,OAAD;GACarF,WAAAA;GACL,MAAA;GACA,OAAA;GAER,CAAA,EAAA,sBAAA,cAAA,OAAA,EACS,OAAA;GAAA2J,SACI;GAAMM,gBACC;GAAYL,KACvB;GAACM,YACM;GACd,EAgBJ,EAdI,sBAAA,cAAC,WAAD;GACW,eAAM9H,cAAcyI,QAAkB;GACrC,UAAA1I,eAAe;GAI3B,EAHC,OAGD,EAAA,sBAAA,cAAC,WAAD;GACa,YAAA;GACN,MAAA;GACA,MAAA;GAIT,EAHG,iBAGH,CACF,CACD;AAAAxB,IAAA,MAAAwB;AAAAxB,IAAA,MAAA0E;AAAA1E,IAAA,MAAAiK;OAAAA,OAAAjK,EAAA;CAAA,IAAAmK;AAAA,KAAAnK,EAAA,QAAAwI,OAAAxI,EAAA,QAAAyI,OAAAzI,EAAA,QAAA6I,OAAA7I,EAAA,QAAAoJ,OAAApJ,EAAA,QAAAiK,KAAA;AA1MHE,QAAA,sBAAA,cAAC,SAAD,EAAe,OAAA,QA2ML,EA1MR3B,KAOCC,KA0DAI,KA+BAO,KA2EAa,IA+BO;AAAAjK,IAAA,MAAAwI;AAAAxI,IAAA,MAAAyI;AAAAzI,IAAA,MAAA6I;AAAA7I,IAAA,MAAAoJ;AAAApJ,IAAA,MAAAiK;AAAAjK,IAAA,MAAAmK;OAAAA,OAAAnK,EAAA;CAAA,IAAAoK;AAAA,KAAApK,EAAA,QAAAsB,yBAAAyC,WAAA/D,EAAA,QAAAsB,yBAAAkC,cAAAxD,EAAA,QAAAU,gBAAAsD,MAAA;AACToG,QAAA9I,yBAAuByC,WAAY,sBAAA,cAAA,OAAA,EAAY,OAAA,EAAA4E,WAAa,IAAG,EAQ1D,EAPJ,sBAAA,cAAC,sBAAD;GACqB,mBAAA;IAAA5E,SACRzC,yBAAuByC;IAASP,YAC7BlC,yBAAuBkC;IACrC;GACQ,QAAA9C,gBAAcsD,KAAcqG,QAAC,YAAY,MAAW,CAAAC,MAAC;GAEjE,CAAA,CAAM;AAAAtK,IAAA,MAAAsB,yBAAAyC;AAAA/D,IAAA,MAAAsB,yBAAAkC;AAAAxD,IAAA,MAAAU,gBAAAsD;AAAAhE,IAAA,MAAAoK;OAAAA,OAAApK,EAAA;CAAA,IAAAuK;AAAA,KAAAvK,EAAA,QAAAmK,OAAAnK,EAAA,QAAAoK,KAAA;AArNRG,QAAA,sBAAA,cAAA,MAAA,UAAA,MACEJ,KA4MCC,IASA;AAAApK,IAAA,MAAAmK;AAAAnK,IAAA,MAAAoK;AAAApK,IAAA,MAAAuK;OAAAA,OAAAvK,EAAA;AAAA,QAtNHuK;;AAtM4B,eAAAtI,MAAAC,MAAA;AAAA,QAkB1BnD,UACEc,cAAayC,iBACb,wBACA,EAAAkI,QACU,QACT,EACD,EAAAtI,MACF,CAAC;;AAzByB,SAAAmB,OAAA4B,QAAA;AAAA,QA+DrBA,QAAMjB,KAAcqG,QAAC,YAAY,MAAW,CAAAC,MAAE;;AA/DzB,SAAAzE,OAAA7E,IAAA;CAkIjB,MAAA,GAAAkG,SAAAlG;AAAY,QAAKkG,UAAU;;AAlIV,SAAAnB,OAAA0E,KAAAzJ,IAAA;CAmIZ,MAAA,CAAA0J,OAAAC,WAAA3J;AACZyJ,KAAIG,SAAO1D;AAAH,QACDuD;;AArIiB,SAAAtE,OAAA0E,OAAA;AAAA,QAwI1BC,SAASF,MAAGG,MAAO,kBAAkB,CAAA,IAAK,GAAG;;AAxInB,SAAApE,OAAAqE,QAAA;AAAA,QAwJJtE,SAAO;;AAxJH,SAAAU,OAAA6D,QAAA;AAAA,QA2KJvE,SAAO;;AA3KH,SAAAa,OAAA2D,UAAA;AA+K5B,KACE,CAACjG,SAAMC,SAASC,SAAU,IACN,IADpB,CACCF,SAAMG,gBADP,CAECH,SAAMI,QAAQ,QAER,GAAGJ,SAAMjB,KAAKqG,QAAS,YAAY,MAAM,CAAAC,MAAO,CAAA;AACxD,QACM,GAAGrF,SAAMjB,KAAK,KAAMiB,SAAMC;;AAtLL,SAAA2C,OAAAsD,MAAA;AAAA,QA4LKA,KAAIC,SAAU;;AA5LnB,SAAAxC,OAAAyC,UAAA;AAAA,QAuOhBA,UAAQC,UACN,sBAAA,cAAC,OAAD;EACO,KAAAD,SAAQE;EACFrM,WAAAA;EACD,UAAA;EACJ,MAAAmM,SAAQE;EACP,OAAAF,SAAQG;EACN,SAAAH,SAAQC;EACL,aAAA;EACA,aAAA;EACF,UAAAD,UAAQI;EAUrB,CAAA,GAPC,sBAAA,cAAC,OAAD;EACO,KAAAJ,SAAQE;EACFlM,WAAAA;EACL,MAAAgM,SAAQE;EACP,OAAAF,SAAQG;EACL,UAAAH,UAAQI;EAErB,CAAA;;AA3Pe,SAAAvC,OAAAwC,QAAA;AAAA,QAyRuBhF,SAAO;;AAzR9B,SAAAyC,QAAAwC,QAAA;AAAA,QAgSuBjF,SAAO;;AAhS9B,SAAAsD,QAAA4B,QAAA;AAAA,QAmWyBlF,SAAO;;AAnWhC,SAAAwD,QAAA2B,QAAA;AAAA,QAmYuBnF,SAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportDataFromFileMapping.d.ts","sourceRoot":"","sources":["../../../src/udp/fileImportMapping/ImportDataFromFileMapping.jsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAehE,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ImportDataFromFileMapping.d.ts","sourceRoot":"","sources":["../../../src/udp/fileImportMapping/ImportDataFromFileMapping.jsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAehE,eAAO,MAAM,yBAAyB,mCAsKrC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { useState, useCallback, useEffect } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { UdpCard } from '../../UI/fluent-web-components/UdpCard';
|
|
3
|
+
import { UdpAutocomplete } from '../../UI/fluent-web-components/UdpAutocomplete';
|
|
4
|
+
import { UdpButton } from '../../UI/fluent-web-components/UdpButton';
|
|
5
5
|
import { apiMutate } from '../../utilities/useAxiosMutate';
|
|
6
6
|
import { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { UdpDrawer } from '../../UI/fluent-web-components/UdpDrawer';
|
|
8
|
+
import { UdpFileInput } from '../../UI/fluent-web-components/UdpFileInput';
|
|
9
9
|
import FileImportMappingWizard from './FileImportMappingWizard';
|
|
10
10
|
import { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';
|
|
11
11
|
import { executeQueryAdHoc } from '../utilities/methodUtils';
|
|
@@ -20,6 +20,7 @@ export const ImportDataFromFileMapping = (props) => {
|
|
|
20
20
|
const [udpImportMappingData, setUdpImportMappingData] = useState();
|
|
21
21
|
const [newFileMappingSidesheetOpen, setNewFileMappingSidesheetOpen] = useState(false);
|
|
22
22
|
const [fileObject, setFileObject] = useState();
|
|
23
|
+
const [fileItems, setFileItems] = useState([]);
|
|
23
24
|
const [isLoading, setIsLoading] = useState(false);
|
|
24
25
|
const { handleErrorSnackbar, handleSuccessSnackbar } = useHandleAxiosSnackbar();
|
|
25
26
|
const { data: udpFileImportMappingEntity } = usePromotedMethodEntity('UdpFileImportMapping', true);
|
|
@@ -81,23 +82,21 @@ export const ImportDataFromFileMapping = (props) => {
|
|
|
81
82
|
var _a;
|
|
82
83
|
return `${option.name} (${(_a = option === null || option === void 0 ? void 0 : option.udpFileImportMappingUdpFileImportType) === null || _a === void 0 ? void 0 : _a.extension})`;
|
|
83
84
|
};
|
|
84
|
-
const handleAddFileToUpload = (
|
|
85
|
-
|
|
85
|
+
const handleAddFileToUpload = (e) => {
|
|
86
|
+
var _a;
|
|
87
|
+
const items = e.target.value;
|
|
88
|
+
setFileItems(items);
|
|
89
|
+
setFileObject((_a = items.find(item => item.kind === 'pending')) === null || _a === void 0 ? void 0 : _a.file);
|
|
86
90
|
};
|
|
87
|
-
return (React.createElement(React.Fragment, null, React.createElement(
|
|
91
|
+
return (React.createElement(React.Fragment, null, React.createElement(UdpCard, { width: "100%" }, React.createElement("div", { style: { display: 'flex' } }, React.createElement(UdpAutocomplete, { name: 'fileMapping', label: "File Mapping", onChange: (e) => setSelectedFileMapping(e.target.value), options: udpImportMappingData, optionLabel: getFileMappingOptionlabel, optionValue: "id", value: selectedFileMapping, required: true, optionGroup: (option) => {
|
|
88
92
|
var _a;
|
|
89
93
|
return (_a = option === null || option === void 0 ? void 0 : option.udpFileImportMappingUdpObjectInfo) === null || _a === void 0 ? void 0 : _a.sanitizedName;
|
|
90
|
-
} })), selectedFileMapping && (React.createElement(
|
|
91
|
-
'text/csv': ['.csv'],
|
|
92
|
-
'text/plain': ['.txt'],
|
|
93
|
-
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['.xlsx'],
|
|
94
|
-
'application/json': ['.json']
|
|
95
|
-
} })), React.createElement("div", { style: {
|
|
94
|
+
} })), selectedFileMapping && (React.createElement(UdpFileInput, { value: fileItems, onChange: handleAddFileToUpload, accept: ".csv,.txt,.xlsx,.json", maxFiles: 1 })), React.createElement("div", { style: {
|
|
96
95
|
display: 'flex',
|
|
97
96
|
flexDirection: 'row',
|
|
98
97
|
gap: 5,
|
|
99
98
|
float: 'right',
|
|
100
99
|
marginTop: 10
|
|
101
|
-
} }, React.createElement(
|
|
100
|
+
} }, React.createElement(UdpButton, { onClick: () => setNewFileMappingSidesheetOpen(true), appearance: "outline" }, "Create New Mappin"), React.createElement(UdpButton, { appearance: "primary", onClick: handleImportDataFromFile, loading: isLoading, disabled: !fileObject }, "Import Dat")), React.createElement(UdpDrawer, { drawerTitle: "Create New File Mapping", open: newFileMappingSidesheetOpen, onDrawerClose: () => setNewFileMappingSidesheetOpen(false), drawerWidth: '60%' }, React.createElement(FileImportMappingWizard, { refetchMappings: searchFileImportMappingData, setNewFileMappingSidesheetOpen: setNewFileMappingSidesheetOpen, verifyRequiredFields: verifyRequiredFields }))), React.createElement("div", { style: { marginTop: 10 } }, React.createElement(FileImportConfigCard, { fileMappingRecord: selectedFileMapping, domain: (_b = selectedFileMapping === null || selectedFileMapping === void 0 ? void 0 : selectedFileMapping.udpFileImportMappingUdpObjectInfo) === null || _b === void 0 ? void 0 : _b.sanitizedName.replace(/([A-Z])/g, ' $1').trim() }))));
|
|
102
101
|
};
|
|
103
102
|
//# sourceMappingURL=ImportDataFromFileMapping.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportDataFromFileMapping.js","sourceRoot":"","sources":["../../../src/udp/fileImportMapping/ImportDataFromFileMapping.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ImportDataFromFileMapping.js","sourceRoot":"","sources":["../../../src/udp/fileImportMapping/ImportDataFromFileMapping.jsx"],"names":[],"mappings":"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"}
|