{"version":3,"file":"UdpTransactionTypeConfigurationTransactionActionCreateAndEditSidesheet.mjs","names":["React","useCallback","useMemo","useRef","useTranslation","SideSheet","UdpTransactionTypeConfigurationTransactionActionForm","UdpTransactionTypeConfigurationTransactionActionCreateAndEditSidesheet","props","$","_c","initialTransactionTypeConfigurationTransactionAction","isSideSheetOpen","handleSideSheet","handleCreateTransactionTypeConfigurationTransactionAction","handleUpdateTransactionTypeConfigurationTransactionAction","transactionTypeTransactionActions","existingTtctaList","isEditing","formRef","t","normalizeToArray","_temp","t0","Symbol","for","allTTTActions","existingTTCTActions","t1","currentTransactionTypeTransactionActionId","undefined","allTTTActionsArray","existingTTCTActionsArray","pageList","usedTTTActionIds","map","_temp2","filter","id","type","includes","transactionTypeTransactionActionId","filterAvailableTTTActions","bb0","t2","currentTTTActionId","availableTTTActionOptions","values","initialData","onSubmitForm","t3","defaultValue","t4","t5","t6","current","submit","t7","t8","source","Array","isArray","action"],"sources":["../../../../../src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationTransactionActionCreateAndEditSidesheet.jsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { SideSheet } from '../../../../UI';\nimport UdpTransactionTypeConfigurationTransactionActionForm from '../forms/UdpTransactionTypeConfigurationTransactionActionForm';\n\nconst UdpTransactionTypeConfigurationTransactionActionCreateAndEditSidesheet = (props) => {\n  const {\n    initialTransactionTypeConfigurationTransactionAction,\n    isSideSheetOpen,\n    handleSideSheet,\n    handleCreateTransactionTypeConfigurationTransactionAction,\n    handleUpdateTransactionTypeConfigurationTransactionAction,\n    transactionTypeTransactionActions,\n    existingTtctaList\n  } = props;\n\n  const isEditing = !!initialTransactionTypeConfigurationTransactionAction;\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 filterAvailableTTTActions = useCallback((allTTTActions, existingTTCTActions, currentTransactionTypeTransactionActionId = null) => {\n      const allTTTActionsArray = normalizeToArray(allTTTActions);\n      const existingTTCTActionsArray = normalizeToArray(existingTTCTActions?.pageList);\n\n      // Capture the IDs of TTTActions currently in use so we can eliminate them from the dropdown\n      const usedTTTActionIds = existingTTCTActionsArray\n          .map(action => action.transactionTypeTransactionActionId)\n          .filter(id => id !== undefined && id !== currentTransactionTypeTransactionActionId);\n\n      return allTTTActionsArray.filter(type =>\n          !usedTTTActionIds.includes(type.transactionTypeTransactionActionId)\n      );\n  }, []);\n\n  const availableTTTActionOptions = useMemo(() => {\n      if (!transactionTypeTransactionActions || !existingTtctaList) return [];\n\n      // Get the ID of the TUAction being edited\n      const currentTTTActionId = initialTransactionTypeConfigurationTransactionAction\n          ? initialTransactionTypeConfigurationTransactionAction.transactionTypeTransactionActionId\n          : null;\n\n      return filterAvailableTTTActions(transactionTypeTransactionActions, existingTtctaList, currentTTTActionId);\n\n  }, [transactionTypeTransactionActions, existingTtctaList, initialTransactionTypeConfigurationTransactionAction, filterAvailableTTTActions]);\n\n  const onSubmitForm = useCallback(async (values, initialData) => {\n    if (initialData) {\n      await handleUpdateTransactionTypeConfigurationTransactionAction(values, initialData);\n    } else {\n      await handleCreateTransactionTypeConfigurationTransactionAction(values);\n    }\n  }, [\n    handleCreateTransactionTypeConfigurationTransactionAction,\n    handleUpdateTransactionTypeConfigurationTransactionAction\n  ]);\n\n  return(\n    <SideSheet\n      open={isSideSheetOpen}\n      width={500}\n      title={isEditing ? t('transactionTypes.sidesheets.linkedActions.editTitle', { defaultValue: 'Edit Linked Action' }) : t('transactionTypes.sidesheets.linkedActions.createTitle', { defaultValue: 'Create Linked 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      <UdpTransactionTypeConfigurationTransactionActionForm\n        ref={formRef}\n        onSubmit={onSubmitForm}\n        initialData={initialTransactionTypeConfigurationTransactionAction}\n        transactionTypeTransactionActionOptions={availableTTTActionOptions}\n        isEditing={isEditing}\n      />\n    </SideSheet>\n  );\n}\n\nexport default UdpTransactionTypeConfigurationTransactionActionCreateAndEditSidesheet;\n"],"mappings":"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"}