{"version":3,"file":"UdpTransactionUiActionCreateAndEditSidesheet.mjs","names":["React","useCallback","useMemo","useRef","SideSheet","useTranslation","UdpTransactionUiActionForm","UdpTransactionUiActionCreateAndEditSidesheet","props","$","_c","initialTransactionUiAction","isSideSheetOpen","handleSideSheet","handleCreateTransactionUiAction","handleUpdateTransactionUiAction","transactionUiActionTypes","actionApis","pages","tUiActionsList","isEditing","formRef","t","normalizeToArray","_temp","t0","Symbol","for","allTUATypes","transactionUiActions","t1","currentTransactionUiActionTypeId","undefined","allTUATypesArray","transactionUiActionsArray","pageList","usedTUATypeIds","map","_temp2","filter","id","type","includes","transactionUiActionTypeId","filterAvailableTUATypes","bb0","t2","currentTUATypeId","availableTUATypeOptions","values","initialData","onSubmitForm","t3","defaultValue","t4","t5","t6","current","submit","t7","t8","source","Array","isArray","action"],"sources":["../../../../../src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionCreateAndEditSidesheet.jsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from 'react';\nimport { SideSheet } from '../../../../UI';\nimport { useTranslation } from 'react-i18next';\nimport UdpTransactionUiActionForm from '../forms/UdpTransactionUiActionForm';\n\nconst UdpTransactionUiActionCreateAndEditSidesheet = (props) => {\n  const {\n      initialTransactionUiAction,\n      isSideSheetOpen,\n      handleSideSheet,\n      handleCreateTransactionUiAction,\n      handleUpdateTransactionUiAction,\n      transactionUiActionTypes,\n      actionApis,\n      pages,\n      tUiActionsList\n    } = props;\n\n    const isEditing = !!initialTransactionUiAction;\n    const formRef = useRef();\n    const { t } = useTranslation();\n\n    const normalizeToArray = source => {\n        if (Array.isArray(source)) {\n            return source;\n        }\n        return [];\n    };\n\n    const filterAvailableTUATypes = useCallback((allTUATypes, transactionUiActions, currentTransactionUiActionTypeId = null) => {\n        const allTUATypesArray = normalizeToArray(allTUATypes);\n        const transactionUiActionsArray = normalizeToArray(transactionUiActions?.pageList);\n        if (!transactionUiActions) return allTUATypesArray;\n\n        // Capture the IDs of TUATypes currently in use so we can eliminate them from the dropdown\n        const usedTUATypeIds = transactionUiActionsArray\n            .map(action => action.transactionUiActionTypeId)\n            .filter(id => id !== undefined && id !== currentTransactionUiActionTypeId);\n\n        return allTUATypesArray.filter(type =>\n            !usedTUATypeIds.includes(type.transactionUiActionTypeId)\n        );\n    }, []);\n\n    const availableTUATypeOptions = useMemo(() => {\n        if (!transactionUiActionTypes) return [];\n\n        // Get the ID of the TUAction being edited\n        const currentTUATypeId = initialTransactionUiAction\n            ? initialTransactionUiAction.transactionUiActionTypeId\n            : null;\n\n        return filterAvailableTUATypes(transactionUiActionTypes, tUiActionsList, currentTUATypeId);\n\n    }, [transactionUiActionTypes, tUiActionsList, initialTransactionUiAction, filterAvailableTUATypes]);\n\n    const onSubmitForm = useCallback(async (values, initialData) => {\n        if (initialData) {\n          await handleUpdateTransactionUiAction(values, initialData);\n        } else {\n          await handleCreateTransactionUiAction(values);\n        }\n    }, [handleCreateTransactionUiAction, handleUpdateTransactionUiAction]);\n\n    return (\n      <SideSheet\n        open={isSideSheetOpen}\n        width={600}\n        title={isEditing ? t('transactionTypes.sidesheets.uiActions.editTitle', { defaultValue: 'Edit UI Action' }) : t('transactionTypes.sidesheets.uiActions.createTitle', { defaultValue: 'Create UI Action' })}\n        onClose={() => handleSideSheet(false)}\n        buttonLabel={isEditing ? t('common.save', { defaultValue: 'Save' }) : t('common.create', { defaultValue: 'Create' })}\n        onSubmit={() => {\n          // eslint-disable-next-line no-unused-expressions\n          formRef?.current?.submit();\n        }}\n      >\n        <UdpTransactionUiActionForm\n          ref={formRef}\n          onSubmit={onSubmitForm}\n          initialData={initialTransactionUiAction}\n          transactionUiActionTypeOptions={availableTUATypeOptions}\n          actionApiOptions={actionApis}\n          pageOptions={pages}\n        />\n      </SideSheet>\n    );\n}\n\nexport default UdpTransactionUiActionCreateAndEditSidesheet;\n"],"mappings":";;;;;;AAKA,MAAMO,gDAA+CC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CACnD,MAAA,EAAAC,4BAAAC,iBAAAC,iBAAAC,iCAAAC,iCAAAC,0BAAAC,YAAAC,OAAAC,mBAUMX;CAEJ,MAAAY,YAAkB,CAAC,CAACT;CACpB,MAAAU,UAAgBlB,QAAQ;CACxB,MAAA,EAAAmB,MAAcjB,gBAAgB;CAE9B,MAAAkB,mBAAyBC;CAKvB,IAAAC;AAAA,KAAAhB,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAE0CF,QAAAG,aAAAC,sBAAAC,OAAA;GAAoC,MAAAC,mCAAAD,OAAAE,KAAAA,IAAA,OAAAF;GAC5E,MAAAG,mBAAyBV,iBAAiBK,YAAY;GACtD,MAAAM,4BAAkCX,iBAAiBM,sBAAoBM,SAAW;AAClF,OAAI,CAACN,qBAAoB,QAASI;GAGlC,MAAAG,iBAAuBF,0BAAyBG,IACvCC,OAA2C,CAAAC,QACxCC,OAAMA,OAAOR,KAAAA,KAAaQ,OAAOT,iCAAiC;AAAC,UAExEE,iBAAgBM,QAAQE,SAC3B,CAACL,eAAcM,SAAUD,KAAIE,0BACjC,CAAC;;AACJlC,IAAA,KAAAgB;OAAAA,MAAAhB,EAAA;CAbD,MAAAmC,0BAAgCnB;CAazB,IAAAK;AAAAe,MAAA;AAGH,MAAI,CAAC7B,0BAAwB;GAAA,IAAA8B;AAAA,OAAArC,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAASmB,SAAA,EAAE;AAAArC,MAAA,KAAAqC;SAAAA,MAAArC,EAAA;AAATqB,QAAOgB;AAAP,SAAAD;;EAG/B,MAAAE,mBAAyBpC,6BACnBA,2BAA0BgC,4BADP;EAEd,IAAAG;AAAA,MAAArC,EAAA,OAAAsC,oBAAAtC,EAAA,OAAAU,kBAAAV,EAAA,OAAAO,0BAAA;AAEJ8B,QAAAF,wBAAwB5B,0BAA0BG,gBAAgB4B,iBAAiB;AAAAtC,KAAA,KAAAsC;AAAAtC,KAAA,KAAAU;AAAAV,KAAA,KAAAO;AAAAP,KAAA,KAAAqC;QAAAA,MAAArC,EAAA;AAA1FqB,OAAOgB;;CARX,MAAAE,0BAAgClB;CAUoE,IAAAgB;AAAA,KAAArC,EAAA,OAAAK,mCAAAL,EAAA,OAAAM,iCAAA;AAEnE+B,OAAA,OAAAG,QAAAC,gBAAA;AAC7B,OAAIA,YACF,OAAMnC,gCAAgCkC,QAAQC,YAAY;OAE1D,OAAMpC,gCAAgCmC,OAAO;;AAElDxC,IAAA,KAAAK;AAAAL,IAAA,KAAAM;AAAAN,IAAA,KAAAqC;OAAAA,MAAArC,EAAA;CAND,MAAA0C,eAAqBL;CAMkD,IAAAM;AAAA,KAAA3C,EAAA,OAAAW,aAAAX,EAAA,QAAAa,GAAA;AAM5D8B,OAAAhC,YAAYE,EAAE,mDAAmD,EAAA+B,cAAgB,kBAAiH,CAAC,GAA5F/B,EAAE,qDAAqD,EAAA+B,cAAgB,oBAAoB,CAAC;AAAA5C,IAAA,KAAAW;AAAAX,IAAA,MAAAa;AAAAb,IAAA,MAAA2C;OAAAA,MAAA3C,EAAA;CAAA,IAAA6C;AAAA,KAAA7C,EAAA,QAAAI,iBAAA;AACjMyC,aAAMzC,gBAAgB,MAAM;AAAAJ,IAAA,MAAAI;AAAAJ,IAAA,MAAA6C;OAAAA,MAAA7C,EAAA;CAAA,IAAA8C;AAAA,KAAA9C,EAAA,QAAAW,aAAAX,EAAA,QAAAa,GAAA;AACxBiC,OAAAnC,YAAYE,EAAE,eAAe,EAAA+B,cAAgB,QAAyD,CAAC,GAA9C/B,EAAE,iBAAiB,EAAA+B,cAAgB,UAAU,CAAC;AAAA5C,IAAA,MAAAW;AAAAX,IAAA,MAAAa;AAAAb,IAAA,MAAA8C;OAAAA,MAAA9C,EAAA;CAAA,IAAA+C;AAAA,KAAA/C,EAAA,QAAAiB,OAAAC,IAAA,4BAAA,EAAA;AAC1G6B,aAAA;AAERnC,YAAOoC,SAAiBC,QAAE;;AAC3BjD,IAAA,MAAA+C;OAAAA,MAAA/C,EAAA;CAAA,IAAAkD;AAAA,KAAAlD,EAAA,QAAAQ,cAAAR,EAAA,QAAAuC,2BAAAvC,EAAA,QAAAE,8BAAAF,EAAA,QAAA0C,gBAAA1C,EAAA,QAAAS,OAAA;AAEDyC,OAAA,sBAAA,cAAC,oCAAD;GACOtC,KAAAA;GACK8B,UAAAA;GACGxC,aAAAA;GACmBqC,gCAAAA;GACd/B,kBAAAA;GACLC,aAAAA;GACb,CAAA;AAAAT,IAAA,MAAAQ;AAAAR,IAAA,MAAAuC;AAAAvC,IAAA,MAAAE;AAAAF,IAAA,MAAA0C;AAAA1C,IAAA,MAAAS;AAAAT,IAAA,MAAAkD;OAAAA,MAAAlD,EAAA;CAAA,IAAAmD;AAAA,KAAAnD,EAAA,QAAAG,mBAAAH,EAAA,QAAA2C,MAAA3C,EAAA,QAAA6C,MAAA7C,EAAA,QAAA8C,MAAA9C,EAAA,QAAAkD,IAAA;AAlBJC,OAAA,sBAAA,cAAC,WAAD;GACQhD,MAAAA;GACC,OAAA;GACA,OAAAwC;GACE,SAAAE;GACI,aAAAC;GACH,UAAAC;GAaA,EARVG,GAQU;AAAAlD,IAAA,MAAAG;AAAAH,IAAA,MAAA2C;AAAA3C,IAAA,MAAA6C;AAAA7C,IAAA,MAAA8C;AAAA9C,IAAA,MAAAkD;AAAAlD,IAAA,MAAAmD;OAAAA,MAAAnD,EAAA;AAAA,QAnBZmD;;AA5D+C,SAAApC,MAAAqC,QAAA;AAkB7C,KAAIC,MAAKC,QAASF,OAAO,CAAA,QACdA;AACV,QACM,EAAE;;AArBoC,SAAAvB,OAAA0B,QAAA;AAAA,QA+B1BA,OAAMrB"}