udp-react-enterprise-component-library 26.3.0-beta.2 → 26.3.0-beta.21
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/UI/charts/ag/UdpAgAreaChart.d.ts +8 -0
- package/dist/UI/charts/ag/UdpAgAreaChart.d.ts.map +1 -0
- package/dist/UI/charts/ag/UdpAgAreaChart.js +8 -0
- package/dist/UI/charts/ag/UdpAgAreaChart.js.map +1 -0
- package/dist/UI/charts/ag/UdpAgAreaChart.mjs +18 -0
- package/dist/UI/charts/ag/UdpAgAreaChart.mjs.map +1 -0
- package/dist/UI/charts/ag/UdpAgBarChart.d.ts +6 -0
- package/dist/UI/charts/ag/UdpAgBarChart.d.ts.map +1 -0
- package/dist/UI/charts/ag/UdpAgBarChart.js +6 -0
- package/dist/UI/charts/ag/UdpAgBarChart.js.map +1 -0
- package/dist/UI/charts/ag/UdpAgBarChart.mjs +18 -0
- package/dist/UI/charts/ag/UdpAgBarChart.mjs.map +1 -0
- package/dist/UI/charts/ag/UdpAgBubbleChart.d.ts +6 -0
- package/dist/UI/charts/ag/UdpAgBubbleChart.d.ts.map +1 -0
- package/dist/UI/charts/ag/UdpAgBubbleChart.js +6 -0
- package/dist/UI/charts/ag/UdpAgBubbleChart.js.map +1 -0
- package/dist/UI/charts/ag/UdpAgBubbleChart.mjs +18 -0
- package/dist/UI/charts/ag/UdpAgBubbleChart.mjs.map +1 -0
- package/dist/UI/charts/ag/UdpAgComboChart.d.ts +8 -0
- package/dist/UI/charts/ag/UdpAgComboChart.d.ts.map +1 -0
- package/dist/UI/charts/ag/UdpAgComboChart.js +8 -0
- package/dist/UI/charts/ag/UdpAgComboChart.js.map +1 -0
- package/dist/UI/charts/ag/UdpAgComboChart.mjs +18 -0
- package/dist/UI/charts/ag/UdpAgComboChart.mjs.map +1 -0
- package/dist/UI/charts/ag/UdpAgDonutChart.d.ts +8 -0
- package/dist/UI/charts/ag/UdpAgDonutChart.d.ts.map +1 -0
- package/dist/UI/charts/ag/UdpAgDonutChart.js +8 -0
- package/dist/UI/charts/ag/UdpAgDonutChart.js.map +1 -0
- package/dist/UI/charts/ag/UdpAgDonutChart.mjs +18 -0
- package/dist/UI/charts/ag/UdpAgDonutChart.mjs.map +1 -0
- package/dist/UI/charts/ag/UdpAgLineChart.d.ts +8 -0
- package/dist/UI/charts/ag/UdpAgLineChart.d.ts.map +1 -0
- package/dist/UI/charts/ag/UdpAgLineChart.js +8 -0
- package/dist/UI/charts/ag/UdpAgLineChart.js.map +1 -0
- package/dist/UI/charts/ag/UdpAgLineChart.mjs +18 -0
- package/dist/UI/charts/ag/UdpAgLineChart.mjs.map +1 -0
- package/dist/UI/charts/ag/UdpAgPieChart.d.ts +8 -0
- package/dist/UI/charts/ag/UdpAgPieChart.d.ts.map +1 -0
- package/dist/UI/charts/ag/UdpAgPieChart.js +8 -0
- package/dist/UI/charts/ag/UdpAgPieChart.js.map +1 -0
- package/dist/UI/charts/ag/UdpAgPieChart.mjs +18 -0
- package/dist/UI/charts/ag/UdpAgPieChart.mjs.map +1 -0
- package/dist/UI/charts/ag/UdpAgScatterChart.d.ts +8 -0
- package/dist/UI/charts/ag/UdpAgScatterChart.d.ts.map +1 -0
- package/dist/UI/charts/ag/UdpAgScatterChart.js +8 -0
- package/dist/UI/charts/ag/UdpAgScatterChart.js.map +1 -0
- package/dist/UI/charts/ag/UdpAgScatterChart.mjs +18 -0
- package/dist/UI/charts/ag/UdpAgScatterChart.mjs.map +1 -0
- package/dist/UI/charts/ag/index.d.ts +9 -0
- package/dist/UI/charts/ag/index.d.ts.map +1 -0
- package/dist/UI/charts/ag/index.js +9 -0
- package/dist/UI/charts/ag/index.js.map +1 -0
- package/dist/UI/charts/amcharts/UdpBarChart.d.ts +4 -0
- package/dist/UI/charts/amcharts/UdpBarChart.d.ts.map +1 -1
- package/dist/UI/charts/amcharts/UdpBarChart.js +4 -0
- package/dist/UI/charts/amcharts/UdpBarChart.js.map +1 -1
- package/dist/UI/charts/amcharts/UdpBarChart.mjs +4 -0
- package/dist/UI/charts/amcharts/UdpBarChart.mjs.map +1 -1
- package/dist/UI/charts/amcharts/UdpDistributionChart.d.ts +4 -0
- package/dist/UI/charts/amcharts/UdpDistributionChart.d.ts.map +1 -1
- package/dist/UI/charts/amcharts/UdpDistributionChart.js +4 -0
- package/dist/UI/charts/amcharts/UdpDistributionChart.js.map +1 -1
- package/dist/UI/charts/amcharts/UdpDistributionChart.mjs +4 -0
- package/dist/UI/charts/amcharts/UdpDistributionChart.mjs.map +1 -1
- package/dist/UI/charts/amcharts/UdpDonutChart.d.ts +4 -0
- package/dist/UI/charts/amcharts/UdpDonutChart.d.ts.map +1 -1
- package/dist/UI/charts/amcharts/UdpDonutChart.js +4 -0
- package/dist/UI/charts/amcharts/UdpDonutChart.js.map +1 -1
- package/dist/UI/charts/amcharts/UdpDonutChart.mjs +4 -0
- package/dist/UI/charts/amcharts/UdpDonutChart.mjs.map +1 -1
- package/dist/UI/charts/amcharts/UdpLineChart.d.ts +4 -0
- package/dist/UI/charts/amcharts/UdpLineChart.d.ts.map +1 -1
- package/dist/UI/charts/amcharts/UdpLineChart.js +4 -0
- package/dist/UI/charts/amcharts/UdpLineChart.js.map +1 -1
- package/dist/UI/charts/amcharts/UdpLineChart.mjs +4 -0
- package/dist/UI/charts/amcharts/UdpLineChart.mjs.map +1 -1
- package/dist/UI/charts/amcharts/UdpSankeyChart.d.ts +5 -0
- package/dist/UI/charts/amcharts/UdpSankeyChart.d.ts.map +1 -1
- package/dist/UI/charts/amcharts/UdpSankeyChart.js +5 -0
- package/dist/UI/charts/amcharts/UdpSankeyChart.js.map +1 -1
- package/dist/UI/charts/amcharts/UdpSankeyChart.mjs +5 -0
- package/dist/UI/charts/amcharts/UdpSankeyChart.mjs.map +1 -1
- package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.d.ts +4 -0
- package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.d.ts.map +1 -1
- package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.js +4 -0
- package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.js.map +1 -1
- package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.mjs +4 -0
- package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.mjs.map +1 -1
- package/dist/UI/navigation/menus/AppMenuItem.d.ts +1 -0
- package/dist/UI/navigation/menus/AppMenuItem.d.ts.map +1 -1
- package/dist/UI/navigation/menus/AppMenuItem.js +3 -2
- package/dist/UI/navigation/menus/AppMenuItem.js.map +1 -1
- package/dist/UI/navigation/menus/AppMenuItem.mjs +123 -116
- package/dist/UI/navigation/menus/AppMenuItem.mjs.map +1 -1
- package/dist/UI/navigation/menus/AppMenuItemComponent.d.ts.map +1 -1
- package/dist/UI/navigation/menus/AppMenuItemComponent.js +15 -3
- package/dist/UI/navigation/menus/AppMenuItemComponent.js.map +1 -1
- package/dist/UI/navigation/menus/AppMenuItemComponent.mjs +56 -39
- package/dist/UI/navigation/menus/AppMenuItemComponent.mjs.map +1 -1
- package/dist/actions/ActionSplitScreen.d.ts.map +1 -1
- package/dist/actions/ActionSplitScreen.js +4 -2
- package/dist/actions/ActionSplitScreen.js.map +1 -1
- package/dist/actions/ActionSplitScreen.mjs +2 -2
- package/dist/actions/ActionSplitScreen.mjs.map +1 -1
- package/dist/enums/unitySystemEnums.d.ts +4 -2
- package/dist/enums/unitySystemEnums.d.ts.map +1 -1
- package/dist/enums/unitySystemEnums.js +2 -0
- package/dist/enums/unitySystemEnums.js.map +1 -1
- package/dist/enums/unitySystemEnums.mjs +2 -0
- package/dist/enums/unitySystemEnums.mjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +14 -6
- package/dist/udp/pages/UdpNotesPage/UdpNotesPage.d.ts.map +1 -1
- package/dist/udp/pages/UdpNotesPage/UdpNotesPage.js +29 -9
- package/dist/udp/pages/UdpNotesPage/UdpNotesPage.js.map +1 -1
- package/dist/udp/pages/UdpNotesPage/UdpNotesPage.mjs +31 -14
- package/dist/udp/pages/UdpNotesPage/UdpNotesPage.mjs.map +1 -1
- package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.d.ts.map +1 -1
- package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.js +29 -9
- package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.js.map +1 -1
- package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.mjs +31 -14
- package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.js +30 -4
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.js.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.mjs +28 -3
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.js +16 -5
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.js.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.mjs +46 -20
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.d.ts +4 -0
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.d.ts.map +1 -0
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.js +17 -0
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.js.map +1 -0
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.mjs +218 -0
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.mjs.map +1 -0
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.js +2 -2
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.js.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.mjs +5 -2
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.d.ts +4 -0
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.d.ts.map +1 -0
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.js +256 -0
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.js.map +1 -0
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.mjs +255 -0
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.mjs.map +1 -0
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.js +12 -3
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.js.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.mjs +8 -2
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.js +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.js.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.mjs +2 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.js +50 -13
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.js.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.mjs +201 -144
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts +2 -1
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.js +6 -3
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.js.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.mjs +8 -3
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.mjs.map +1 -1
- package/dist/utilities/menus/menuUtilities.d.ts.map +1 -1
- package/dist/utilities/menus/menuUtilities.js +23 -1
- package/dist/utilities/menus/menuUtilities.js.map +1 -1
- package/dist/utilities/menus/menuUtilities.mjs +15 -1
- package/dist/utilities/menus/menuUtilities.mjs.map +1 -1
- package/package.json +43 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UdpTransactionTypesPage.mjs","names":["React","useCallback","useState","useMemo","useRef","useEffect","useTranslation","makeStyles","LinearProgress","UdpTransactionTypeSidesheet","useCatalogStore","SearchMethodUdpGrid","apiMutate","useAxiosGet","useSnackbar","FluentDialog","getSuccessAction","UdpTransactionTypeStatusSidesheet","UdpTransactionTypeTransactionActionSidesheet","useUser","UdpTransactionUiActionSidesheet","UdpTransactionTypeConfigurationSidesheet","EMPTY_GUID","UdpSearchEnums","UdpTransactionAttachmentTypeSidesheet","ConfigService","REQUIRED_COLUMN_DEF_MAPPING","attachments","displayName","actions","transactionId","createdOn","currentStatusId","currentRevisionNo","lastEventTypeId","REQUIRED_COLUMN_DEF_FIELDS","Object","keys","DISABLE_ORDERING_FOR_FIELDS","PAGE_SIZE","baseSearchPayload","pageNumber","pageSize","filterElements","filterGroups","orderElements","groupingType","groupProperty","groupOperationList","eagerLoad","logicalSearchOperator","useStyles","theme","loadingBar","bottom","spacing","marginLeft","marginRight","formatTransactionTypeConfigurationIntoExpressionLogic","configurationObj","CurrentStatus","CurrentDomainValue","TenantUserRoleIds","andConditions","push","var","transactionTypeStatusId","entries","forEach","field","config","isConfigObject","Array","isArray","operator","comparisonValue","value","effectiveOperator","operands","length","some","in","and","UdpTransactionTypesPage","user","t","classes","enqueueSnackbar","closeSnackbar","successAction","gridApiRef","ttsGridApiRef","tttaGridApiRef","tuaGridApiRef","ttcGridApiRef","ttctaGridApiRef","tatGridApiRef","searchObject","setSearchObject","selectedTransactionType","setSelectedTransactionType","isTransactionTypeSideSheetOpen","setIsTransactionTypeSideSheetOpen","isTransactionTypeSidesheetLoading","setIsTransactionTypeSidesheetLoading","isDeleteTransactionTypeDialogOpen","setIsDeleteTransactionTypeDialogOpen","isPageConfigurationSidesheetOpen","setIsPageConfigurationSidesheetOpen","selectedDomainName","setSelectedDomainName","isTransactionTypeStatusSidesheetOpen","setIsTransactionTypeStatusSidesheetOpen","isDeleteTransactionTypeStatusDialogOpen","setIsDeleteTransactionTypeStatusDialogOpen","selectedTransactionTypeStatus","setSelectedTransactionTypeStatus","isCreateOrEditTransactionTypeStatusSidesheetOpen","setIsCreateOrEditTransactionTypeStatusSidesheetOpen","ttstatuses","setTTStatuses","isTransactionTypeTransactionActionSidesheetOpen","setIsTransactionTypeTransactionActionSidesheetOpen","selectedTransactionTypeTransactionAction","setSelectedTransactionTypeTransactionAction","isCreateOrEditTransactionTypeTransactionActionSidesheetOpen","setIsCreateOrEditTransactionTypeTransactionActionSidesheetOpen","isDeleteTransactionTypeTransactionActionDialogOpen","setIsDeleteTransactionTypeTransactionActionDialogOpen","tttactions","setTTTActions","isTransactionUiActionSidesheetOpen","setIsTransactionUiActionSidesheetOpen","selectedTransactionUiAction","setSelectedTransactionUiAction","isCreateOrEditTransactionUiActionSidesheetOpen","setIsCreateOrEditTransactionUiActionSidesheetOpen","isDeleteTransactionUiActionDialogOpen","setIsDeleteTransactionUiActionDialogOpen","isTransactionTypeConfigurationSidesheetOpen","setIsTransactionTypeConfigurationSidesheetOpen","selectedTransactionTypeConfiguration","setSelectedTransactionTypeConfiguration","isCreateOrEditTransactionTypeConfigurationSidesheetOpen","setIsCreateOrEditTransactionTypeConfigurationSidesheetOpen","isDeleteTransactionTypeConfigurationDialogOpen","setIsDeleteTransactionTypeConfigurationDialogOpen","isTransactionTypeConfigurationTransactionActionSidesheetOpen","setIsTransactionTypeConfigurationTransactionActionSidesheetOpen","selectedTransactionTypeConfigurationTransactionAction","setSelectedTransactionTypeConfigurationTransactionAction","isCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen","setIsCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen","isDeleteTransactionTypeConfigurationTransactionActionDialogOpen","setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen","isTransactionAttachmentTypeSidesheetOpen","setIsTransactionAttachmentTypeSidesheetOpen","selectedTransactionAttachmentType","setSelectedTransactionAttachmentType","isCreateOrEditTransactionAttachmentTypeSidesheetOpen","setIsCreateOrEditTransactionAttachmentTypeSidesheetOpen","isDeleteTransactionAttachmentTypeDialogOpen","setIsDeleteTransactionAttachmentTypeDialogOpen","hasDefaultAndCancelledTransactionTypeStatus","transactionTypeStatuses","checkHasDefault","checkHasCancelledStatus","record","isDefault","isCancelledStatus","postCreateTransactionType","transactionType","productV1ApiUrl","method","data","putUpdateTransactionType","transactionTypeId","deleteTransactionType","transactionsByTransactionTypeId","loading","getTransactionsByTransactionIdLoading","fetchTransactionsByTransactionTypeId","searchField","searchOperator","searchValue","groupId","getAll","postCreateTransactionTypeStatus","transactionTypeStatus","putUpdateTransactionTypeStatus","deleteTransactionTypeStatus","searchTransactionTypeStatusByTransactionTypeId","searchPayload","loadTTStatuses","ttsResponse","status","pageList","transactionActions","actionApis","pages","tenantV1ApiUrl","currentTenantId","postCreateTransactionTypeTransactionAction","transactionTypeTransactionAction","putUpdateTransactionTypeTransactionAction","transactionTypeTransactionActionId","deleteTransactionTypeTransactionAction","searchTransactionTypeTransactionActionByTransactionTypeId","loadTTTActions","tttaResponse","postCreateTransactionUiAction","transactionUiAction","putUpdateTransactionUiAction","transactionUiActionId","deleteTransactionUiAction","tUiActionsList","fetchTUiActionsList","transactionUiActionTypes","postCreateTransactionTypeConfiguration","transactionTypeConfiguration","putUpdateTransactionTypeConfiguration","transactionTypeConfigurationId","deleteTransactionTypeConfiguration","transactionRuleTypes","roles","postCreateTransactionTypeConfigurationTransactionAction","ttcta","putUpdateTransactionTypeConfigurationTransactionAction","transactionTypeConfigurationTransactionAction","deleteTransactionTypeConfigurationTransactionAction","ttctaList","fetchTtctaList","postCreateTransactionAttachmentType","transactionAttachmentType","putUpdateTransactionAttachmentType","transactionAttachmentTypeId","deleteTransactionAttachmentType","currentApiCatalogId","state","catalogObjectNames","integrationV2ApiUrl","domainName","catalogObject","catalogObjectProperties","properties","filter","property","name","map","handleSideSheet","isOpen","handleTransactionTypeStatusSideSheet","handleCreateOrEditTransactionTypeStatusSideSheet","handleTransactionTypeTransactionActionSidesheet","handleCreateOrEditTransactionTypeTransactionActionSidesheet","handleTransactionUiActionSidesheet","handleCreateOrEditTransactionUiActionSidesheet","handleTransactionTypeConfigurationSidesheet","handleCreateOrEditTransactionTypeConfigurationSidesheet","handleTransactionTypeConfigurationTransactionActionSidesheet","handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet","handleTransactionAttachmentTypeSidesheet","handleCreateOrEditTransactionAttachmentTypeSidesheet","handleCreateTransactionType","formValues","domainFields","restValues","pageConfigurationColumnDefsDict","domainFieldsDict","reduce","accumulator","entry","fieldKey","includes","UdpBusinessDomainPrefix","order","hide","pageConfiguration","gridTitle","createTransactionButtonLabel","hideCreateTransaction","paginationAutoPageSize","hideSaveChanges","columnDefProperties","newTransactionType","response","anchorOrigin","vertical","horizontal","action","current","refreshServerSide","err","title","variant","handleUpdateTransactionType","initialValues","updatedTransactionType","handleDeleteTransactionType","handleCreateTransactionTypeStatus","newTransactionTypeStatus","color","hasDefaultOrCancelledStatus","isCreatingDefaultStatus","isCreatingCancelledStatus","searchTransactionTypeStatusResponse","statusConflictMessage","handleUpdateTransactionTypeStatus","updatedTransactionTypeStatus","hasExistingDefaultOrCancelledStatus","isEditingDefaultStatus","isEditingCancelledStatus","handleDeleteTransactionTypeStatus","handleCreateTransactionTypeTransactionAction","transactionAction","toStatus","actionApiId","pageId","mandatoryFields","hiddenFields","domainDataToUpdate","domainDataDictionary","newTransactionTypeTransactionAction","transactionActionId","parameters","ToStatus","DomainDataToUpdate","MandatoryFields","HiddenFields","ActionApiId","PageId","handleUpdateTransactionTypeTransactionAction","updatedTransactionTypeTransactionAction","description","icon","handleDeleteTransactionTypeTransactionAction","handleCreateTransactionUiAction","transactionUiActionType","actionApi","page","newTransactionUiAction","transactionUiActionTypeId","handleUpdateTransactionUiAction","updatedTransactionUiAction","handleDeleteTransactionUiAction","handleCreateTransactionTypeConfiguration","transactionRuleType","currentStatus","tenantUserRoles","currentDomainValue","tenantUserRoleIds","tur","roleId","expressionLogic","newTransactionTypeConfiguration","transactionRuleTypeId","configuration","CurrentStatusId","handleUpdateTransactionTypeConfiguration","updatedTransactionTypeConfiguration","enabled","handleDeleteTransactionTypeConfiguration","handleCreateTransactionTypeConfigurationTransactionAction","transactionTypeTransactionActions","newTTCTActions","handleUpdateTransactionTypeConfigurationTransactionAction","existingTransactionTypeTransactionActionId","updatedTransactionTypeConfigurationTransactionAction","handleDeleteTransactionTypeConfigurationTransactionAction","handleCreateTransactionAttachmentType","newTransactionAttachmentType","handleUpdateTransactionAttachmentType","handleDeleteTransactionAttachmentType","handleOpenDeleteTransactionTypeDialog","handleCloseDeleteTransactionTypeDialog","handleOpenDeleteTransactionTypeStatusDialog","handleCloseDeleteTransactionTypeStatusDialog","handleOpenDeleteTransactionTypeTransactionActionDialog","handleCloseDeleteTransactionTypeTransactionActionDialog","handleOpenDeleteTransactionUiActionDialog","handleCloseDeleteTransactionUiActionDialog","handleOpenDeleteTransactionTypeConfigurationDialog","handleCloseDeleteTransactionTypeConfigurationDialog","handleOpenDeleteTransactionTypeConfigurationTransactionActionDialog","handleCloseDeleteTransactionTypeConfigurationTransactionActionDialog","handleOpenDeleteTransactionAttachmentTypeDialog","handleCloseDeleteTransactionAttachmentTypeDialog","columnDefs","headerName","resizable","sortable","cellDataType","cellRenderer","cellRendererParams","actionList","id","iconName","handleOnClick","e","valueGetter","params","suppressMenu","headerConfig","primaryActionButton","label","onClick","gridFunctions","gridOptions","pagination","handleGridApiCallback","api","searchMethodConfig","requestUrl","customSearchObject"],"sources":["../../../../src/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.jsx"],"sourcesContent":["import React, {\n useCallback,\n useState,\n useMemo,\n useRef,\n useEffect\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { makeStyles } from '@material-ui/core';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport UdpTransactionTypeSidesheet from './sidesheets/UdpTransactionTypeSidesheet';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { apiMutate, useAxiosGet } from '../../../utilities';\nimport { useSnackbar } from 'notistack';\nimport { FluentDialog, getSuccessAction } from '../../../UI';\nimport UdpTransactionTypeStatusSidesheet from './sidesheets/UdpTransactionTypeStatusSidesheet';\nimport UdpTransactionTypeTransactionActionSidesheet from './sidesheets/UdpTransactionTypeTransactionActionSidesheet';\nimport { useUser } from '../../../utilities/auth';\nimport UdpTransactionUiActionSidesheet from './sidesheets/UdpTransactionUiActionSidesheet';\nimport UdpTransactionTypeConfigurationSidesheet from './sidesheets/UdpTransactionTypeConfigurationSidesheet';\nimport { EMPTY_GUID, UdpSearchEnums } from '../../../enums';\nimport UdpTransactionAttachmentTypeSidesheet from './sidesheets/UdpTransactionAttachmentTypeSidesheet';\nimport { ConfigService } from '../../../configService';\n\nexport const REQUIRED_COLUMN_DEF_MAPPING = {\n attachments: { displayName: 'Attachments' },\n actions: { displayName: 'Actions' },\n transactionId: { displayName: 'Transaction Id' },\n createdOn: { displayName: 'Created On' },\n currentStatusId: { displayName: 'Current Status' },\n currentRevisionNo: { displayName: 'Revision No' },\n lastEventTypeId: { displayName: 'Last Event Type' }\n};\n\nexport const REQUIRED_COLUMN_DEF_FIELDS = Object.keys(\n REQUIRED_COLUMN_DEF_MAPPING\n);\n\nexport const DISABLE_ORDERING_FOR_FIELDS = ['attachments', 'actions'];\n\nconst PAGE_SIZE = 100;\n\nconst baseSearchPayload = {\n pageNumber: 1,\n pageSize: PAGE_SIZE,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1\n};\n\nconst useStyles = makeStyles((theme) => ({\n loadingBar: {\n bottom: theme.spacing(-0.5),\n marginLeft: theme.spacing(0.5),\n marginRight: theme.spacing(0.5)\n }\n}));\n\n/**\n * This function formats the 'Configuration' data into a specific format that can be\n * used by the external library jsonLogic. The formatted data is stored in the\n * udp.TransactionTypeConfiguration table in the ExpressionLogic column.\n */\nconst formatTransactionTypeConfigurationIntoExpressionLogic = (\n configurationObj\n) => {\n if (!configurationObj || typeof configurationObj !== 'object') {\n return '';\n }\n\n const { CurrentStatus, CurrentDomainValue, TenantUserRoleIds } =\n configurationObj;\n const andConditions = [];\n\n if (CurrentStatus) {\n andConditions.push({\n '==': [\n { var: 'currentStatusId' },\n // this check ensures that if the 'No Status' option is selected for the currentStatus, then\n // the currentStatusId is stored in expressionLogic with a value of null\n CurrentStatus?.transactionTypeStatusId === EMPTY_GUID\n ? null\n : CurrentStatus?.transactionTypeStatusId\n ]\n });\n }\n\n if (CurrentDomainValue && typeof CurrentDomainValue === 'object') {\n Object.entries(CurrentDomainValue).forEach(([field, config]) => {\n if (!field || !config) {\n return;\n }\n\n const isConfigObject =\n config && typeof config === 'object' && !Array.isArray(config);\n const operator = isConfigObject ? config?.operator : null;\n const comparisonValue = isConfigObject ? config?.value : config;\n const effectiveOperator = operator || '==';\n const operands =\n effectiveOperator === '!' || effectiveOperator === '!!'\n ? [{ var: `currentDomainValue.${field}` }]\n : [{ var: `currentDomainValue.${field}` }, comparisonValue];\n\n andConditions.push({\n [effectiveOperator]: operands\n });\n });\n }\n\n if (Array.isArray(TenantUserRoleIds) && TenantUserRoleIds.length > 0) {\n andConditions.push({\n some: [\n { var: 'tenantUserRoleIds' },\n {\n in: [{ var: '' }, TenantUserRoleIds]\n }\n ]\n });\n }\n\n if (!andConditions.length) {\n return '';\n }\n\n return {\n and: andConditions\n };\n};\n\nconst UdpTransactionTypesPage = () => {\n // Hooks\n const user = useUser();\n const { t } = useTranslation();\n const classes = useStyles();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const successAction = getSuccessAction(closeSnackbar);\n // Grid Refs\n const gridApiRef = useRef(null); // TransactionType grid\n const ttsGridApiRef = useRef(null); // TransactionTypeStatus grid\n const tttaGridApiRef = useRef(null); // TransactionTypeTransactionAction grid\n const tuaGridApiRef = useRef(null); // TransactionUiAction grid\n const ttcGridApiRef = useRef(null); // TransactionTypeConfiguration grid\n const ttctaGridApiRef = useRef(null); // TransactionTypeConfigurationTransactionAction grid\n const tatGridApiRef = useRef(null); // TransactionAttachmentType grid\n\n // States\n const [searchObject, setSearchObject] = useState(baseSearchPayload);\n // TransactionType\n const [selectedTransactionType, setSelectedTransactionType] = useState(null);\n const [isTransactionTypeSideSheetOpen, setIsTransactionTypeSideSheetOpen] =\n useState(false);\n const [\n isTransactionTypeSidesheetLoading,\n setIsTransactionTypeSidesheetLoading\n ] = useState(false);\n const [\n isDeleteTransactionTypeDialogOpen,\n setIsDeleteTransactionTypeDialogOpen\n ] = useState(false);\n const [\n isPageConfigurationSidesheetOpen,\n setIsPageConfigurationSidesheetOpen\n ] = useState(false);\n const [selectedDomainName, setSelectedDomainName] = useState('');\n // TransactionTypeStatus\n const [\n isTransactionTypeStatusSidesheetOpen,\n setIsTransactionTypeStatusSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionTypeStatusDialogOpen,\n setIsDeleteTransactionTypeStatusDialogOpen\n ] = useState(false);\n const [selectedTransactionTypeStatus, setSelectedTransactionTypeStatus] =\n useState(null);\n const [\n isCreateOrEditTransactionTypeStatusSidesheetOpen,\n setIsCreateOrEditTransactionTypeStatusSidesheetOpen\n ] = useState(false);\n const [ttstatuses, setTTStatuses] = useState([]);\n // TransactionTypeTransactionAction\n const [\n isTransactionTypeTransactionActionSidesheetOpen,\n setIsTransactionTypeTransactionActionSidesheetOpen\n ] = useState(false);\n const [\n selectedTransactionTypeTransactionAction,\n setSelectedTransactionTypeTransactionAction\n ] = useState(null);\n const [\n isCreateOrEditTransactionTypeTransactionActionSidesheetOpen,\n setIsCreateOrEditTransactionTypeTransactionActionSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionTypeTransactionActionDialogOpen,\n setIsDeleteTransactionTypeTransactionActionDialogOpen\n ] = useState(false);\n const [tttactions, setTTTActions] = useState([]);\n // TransactionUiAction\n const [\n isTransactionUiActionSidesheetOpen,\n setIsTransactionUiActionSidesheetOpen\n ] = useState(false);\n const [selectedTransactionUiAction, setSelectedTransactionUiAction] =\n useState(null);\n const [\n isCreateOrEditTransactionUiActionSidesheetOpen,\n setIsCreateOrEditTransactionUiActionSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionUiActionDialogOpen,\n setIsDeleteTransactionUiActionDialogOpen\n ] = useState(false);\n // TransactionTypeConfiguration\n const [\n isTransactionTypeConfigurationSidesheetOpen,\n setIsTransactionTypeConfigurationSidesheetOpen\n ] = useState(false);\n const [\n selectedTransactionTypeConfiguration,\n setSelectedTransactionTypeConfiguration\n ] = useState(null);\n const [\n isCreateOrEditTransactionTypeConfigurationSidesheetOpen,\n setIsCreateOrEditTransactionTypeConfigurationSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionTypeConfigurationDialogOpen,\n setIsDeleteTransactionTypeConfigurationDialogOpen\n ] = useState(false);\n // TransactionTypeConfigurationTransactionAction\n const [\n isTransactionTypeConfigurationTransactionActionSidesheetOpen,\n setIsTransactionTypeConfigurationTransactionActionSidesheetOpen\n ] = useState(false);\n const [\n selectedTransactionTypeConfigurationTransactionAction,\n setSelectedTransactionTypeConfigurationTransactionAction\n ] = useState(null);\n const [\n isCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen,\n setIsCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionTypeConfigurationTransactionActionDialogOpen,\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen\n ] = useState(false);\n // TransactionAttachmentType\n const [\n isTransactionAttachmentTypeSidesheetOpen,\n setIsTransactionAttachmentTypeSidesheetOpen\n ] = useState(false);\n const [\n selectedTransactionAttachmentType,\n setSelectedTransactionAttachmentType\n ] = useState(null);\n const [\n isCreateOrEditTransactionAttachmentTypeSidesheetOpen,\n setIsCreateOrEditTransactionAttachmentTypeSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionAttachmentTypeDialogOpen,\n setIsDeleteTransactionAttachmentTypeDialogOpen\n ] = useState(false);\n\n const hasDefaultAndCancelledTransactionTypeStatus = useCallback(\n (\n transactionTypeStatuses,\n checkHasDefault = false,\n checkHasCancelledStatus = false\n ) => {\n if (!transactionTypeStatuses) {\n return false;\n }\n return transactionTypeStatuses?.some((record) => {\n if (\n record.transactionTypeStatusId !==\n selectedTransactionTypeStatus?.transactionTypeStatusId\n ) {\n const isDefault = record?.isDefault;\n const isCancelledStatus = record?.isCancelledStatus;\n if (checkHasDefault && isDefault) return true;\n if (checkHasCancelledStatus && isCancelledStatus) return true;\n }\n return false;\n });\n },\n [selectedTransactionTypeStatus]\n );\n\n // API Calls\n /** TransactionType */\n const postCreateTransactionType = async (transactionType) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionType`,\n {\n method: 'POST'\n },\n {\n data: transactionType\n }\n );\n };\n\n const putUpdateTransactionType = async (\n transactionTypeId,\n transactionType\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionType/${transactionTypeId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionType\n }\n );\n };\n\n const deleteTransactionType = async (transactionTypeId) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionType/${transactionTypeId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const [\n {\n data: transactionsByTransactionTypeId,\n loading: getTransactionsByTransactionIdLoading\n },\n fetchTransactionsByTransactionTypeId\n ] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransaction/search`,\n {\n method: 'post',\n data: {\n filterElements: [\n {\n searchField: 'TransactionTypeId',\n searchOperator: '=',\n searchValue: selectedTransactionType?.transactionTypeId,\n groupId: 1\n }\n ],\n getAll: true\n }\n },\n !!!selectedTransactionType?.transactionTypeId ||\n !!!isDeleteTransactionTypeDialogOpen,\n false\n );\n\n /** TransactionTypeStatus */\n const postCreateTransactionTypeStatus = async (transactionTypeStatus) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeStatus`,\n {\n method: 'POST'\n },\n {\n data: transactionTypeStatus\n }\n );\n };\n\n const putUpdateTransactionTypeStatus = async (\n transactionTypeStatusId,\n transactionTypeStatus\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeStatus/${transactionTypeStatusId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionTypeStatus\n }\n );\n };\n\n const deleteTransactionTypeStatus = async (transactionTypeStatusId) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeStatus/${transactionTypeStatusId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const searchTransactionTypeStatusByTransactionTypeId = useCallback(\n async (transactionTypeId) => {\n const searchPayload = {\n filterElements: [\n {\n searchField: 'TransactionTypeId',\n searchOperator: '=',\n searchValue: transactionTypeId,\n groupId: 1\n }\n ],\n getAll: true\n };\n\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeStatus/search`,\n {\n method: 'POST'\n },\n {\n data: searchPayload\n }\n );\n },\n []\n );\n\n useEffect(() => {\n if (!selectedTransactionType?.transactionTypeId) return;\n const loadTTStatuses = async () => {\n const ttsResponse = await searchTransactionTypeStatusByTransactionTypeId(\n selectedTransactionType?.transactionTypeId\n );\n if (ttsResponse?.status === 200) {\n setTTStatuses(ttsResponse.data?.pageList);\n }\n };\n if (\n isTransactionTypeStatusSidesheetOpen ||\n isTransactionTypeConfigurationSidesheetOpen ||\n isTransactionTypeTransactionActionSidesheetOpen\n ) {\n loadTTStatuses();\n }\n }, [\n searchTransactionTypeStatusByTransactionTypeId,\n //selectedTransactionType?.transactionTypeId, Leaving this out to prevent re-fetching when closing sidesheets\n isTransactionTypeStatusSidesheetOpen,\n isTransactionTypeConfigurationSidesheetOpen,\n isTransactionTypeTransactionActionSidesheetOpen\n ]);\n\n /** TransactionAction */\n const [{ data: transactionActions }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionAction`,\n {\n method: 'GET'\n },\n false,\n false\n );\n\n /** ActionApis */\n const [{ data: actionApis }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionWorkflowActionApi`,\n {\n method: 'GET'\n },\n false,\n false\n );\n\n /** PageIds */\n const [{ data: pages }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `Page?tenantId=${user?.currentTenantId}`,\n {\n method: 'GET'\n },\n !!!user?.currentTenantId,\n false\n );\n\n /** TransactionTypeTransactionAction */\n const postCreateTransactionTypeTransactionAction = async (\n transactionTypeTransactionAction\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeTransactionAction`,\n {\n method: 'POST'\n },\n {\n data: transactionTypeTransactionAction\n }\n );\n };\n\n const putUpdateTransactionTypeTransactionAction = async (\n transactionTypeTransactionActionId,\n transactionTypeTransactionAction\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeTransactionAction/${transactionTypeTransactionActionId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionTypeTransactionAction\n }\n );\n };\n\n const deleteTransactionTypeTransactionAction = async (\n transactionTypeTransactionActionId\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeTransactionAction/${transactionTypeTransactionActionId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const searchTransactionTypeTransactionActionByTransactionTypeId = useCallback(\n async (transactionTypeId) => {\n const searchPayload = {\n filterElements: [\n {\n searchField: 'TransactionTypeId',\n searchOperator: '=',\n searchValue: transactionTypeId,\n groupId: 1\n }\n ],\n getAll: true\n };\n\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeTransactionAction/search`,\n {\n method: 'POST'\n },\n {\n data: searchPayload\n }\n );\n },\n []\n );\n\n useEffect(() => {\n if (!selectedTransactionType?.transactionTypeId) return;\n const loadTTTActions = async () => {\n const tttaResponse =\n await searchTransactionTypeTransactionActionByTransactionTypeId(\n selectedTransactionType?.transactionTypeId\n );\n if (tttaResponse?.status === 200) {\n setTTTActions(tttaResponse.data?.pageList);\n }\n };\n if (isTransactionTypeConfigurationTransactionActionSidesheetOpen) {\n loadTTTActions();\n }\n }, [\n searchTransactionTypeTransactionActionByTransactionTypeId,\n isTransactionTypeConfigurationTransactionActionSidesheetOpen\n //selectedTransactionType?.transactionTypeId, Leaving this out to prevent re-fetching when closing sidesheets\n ]);\n\n /** TransactionUiAction */\n const postCreateTransactionUiAction = async (transactionUiAction) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiAction`,\n {\n method: 'POST'\n },\n {\n data: transactionUiAction\n }\n );\n };\n\n const putUpdateTransactionUiAction = async (\n transactionUiActionId,\n transactionUiAction\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiAction/${transactionUiActionId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionUiAction\n }\n );\n };\n\n const deleteTransactionUiAction = async (transactionUiActionId) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiAction/${transactionUiActionId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const [{ data: tUiActionsList }, fetchTUiActionsList] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiAction/search`,\n {\n method: 'post',\n data: {\n filterElements: [\n {\n searchField: 'TransactionTypeId',\n searchOperator: '=',\n searchValue: selectedTransactionType?.transactionTypeId,\n groupId: 1\n }\n ],\n getAll: true\n }\n },\n !!!isTransactionUiActionSidesheetOpen,\n false\n );\n\n /** TransactionUiActionType */\n const [{ data: transactionUiActionTypes }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiActionType`,\n {\n method: 'GET'\n },\n false,\n false\n );\n\n /** TransactionTypeConfiguration */\n const postCreateTransactionTypeConfiguration = async (\n transactionTypeConfiguration\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfiguration`,\n {\n method: 'POST'\n },\n {\n data: transactionTypeConfiguration\n }\n );\n };\n\n const putUpdateTransactionTypeConfiguration = async (\n transactionTypeConfigurationId,\n transactionTypeConfiguration\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfiguration/${transactionTypeConfigurationId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionTypeConfiguration\n }\n );\n };\n\n const deleteTransactionTypeConfiguration = async (\n transactionTypeConfigurationId\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfiguration/${transactionTypeConfigurationId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n /** TransactionRuleType */\n const [{ data: transactionRuleTypes }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionRuleType`,\n {\n method: 'GET'\n },\n false,\n false\n );\n\n /** Roles */\n const [{ data: roles }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `Roles?tenantId=${user?.currentTenantId}`,\n {\n method: 'GET'\n },\n !!!user?.currentTenantId,\n false\n );\n\n /** TransactionTypeConfigurationTransactionAction */\n const postCreateTransactionTypeConfigurationTransactionAction = async (\n ttcta\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfigurationTransactionAction/createBulk`,\n {\n method: 'POST'\n },\n {\n data: ttcta\n }\n );\n };\n\n const putUpdateTransactionTypeConfigurationTransactionAction = async (\n transactionTypeConfigurationId,\n transactionTypeTransactionActionId,\n transactionTypeConfigurationTransactionAction\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfigurationTransactionAction/${transactionTypeConfigurationId}/${transactionTypeTransactionActionId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionTypeConfigurationTransactionAction\n }\n );\n };\n\n const deleteTransactionTypeConfigurationTransactionAction = async (\n transactionTypeConfigurationId,\n transactionTypeTransactionActionId\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfigurationTransactionAction/${transactionTypeConfigurationId}/${transactionTypeTransactionActionId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const [{ data: ttctaList }, fetchTtctaList] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfigurationTransactionAction/search`,\n {\n method: 'post',\n data: {\n filterElements: [\n {\n searchField: 'TransactionTypeConfigurationId',\n searchOperator: '=',\n searchValue:\n selectedTransactionTypeConfiguration?.transactionTypeConfigurationId,\n groupId: 1\n }\n ],\n getAll: true\n }\n },\n !!!selectedTransactionTypeConfiguration?.transactionTypeConfigurationId,\n false\n );\n\n /** TransactionAttachmenType */\n const postCreateTransactionAttachmentType = async (\n transactionAttachmentType\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionAttachmentType`,\n {\n method: 'POST'\n },\n {\n data: transactionAttachmentType\n }\n );\n };\n\n const putUpdateTransactionAttachmentType = async (\n transactionAttachmentTypeId,\n transactionAttachmentType\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionAttachmentType/${transactionAttachmentTypeId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionAttachmentType\n }\n );\n };\n\n const deleteTransactionAttachmentType = async (\n transactionAttachmentTypeId\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionAttachmentType/${transactionAttachmentTypeId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const currentApiCatalogId = useCatalogStore(\n (state) => state.currentApiCatalogId\n );\n\n const [{ data: catalogObjectNames }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `apiCatalog/${currentApiCatalogId}/catalogObjectNames?modelsOnly=true`,\n {},\n !!!currentApiCatalogId,\n false\n );\n\n const domainName = selectedDomainName || selectedTransactionType?.domainName;\n\n const [{ data: catalogObject }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `apiCatalog/${currentApiCatalogId}/catalogObject/${domainName}`,\n {},\n !!!currentApiCatalogId || !!!domainName,\n false\n );\n\n // Get the list of properties for the selected domain name (i.e. catalogObjectName)\n const catalogObjectProperties = useMemo(() => {\n if (!selectedDomainName || !catalogObject?.properties) return [];\n return catalogObject.properties\n .filter(\n (property) =>\n property.name !== 'businessObjectKey' && property.name !== null\n )\n .map((property) => property.name);\n }, [catalogObject, selectedDomainName]);\n\n /** Sidesheet handlers */\n const handleSideSheet = useCallback((isOpen, transactionType) => {\n setIsTransactionTypeSideSheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n }, []);\n\n const handleTransactionTypeStatusSideSheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionTypeStatusSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionTypeStatusSideSheet = useCallback(\n (isOpen, transactionTypeStatus) => {\n setIsCreateOrEditTransactionTypeStatusSidesheetOpen(isOpen);\n setSelectedTransactionTypeStatus(transactionTypeStatus);\n },\n []\n );\n\n const handleTransactionTypeTransactionActionSidesheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionTypeTransactionActionSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionTypeTransactionActionSidesheet =\n useCallback((isOpen, transactionTypeTransactionAction) => {\n setIsCreateOrEditTransactionTypeTransactionActionSidesheetOpen(isOpen);\n setSelectedTransactionTypeTransactionAction(\n transactionTypeTransactionAction\n );\n }, []);\n\n const handleTransactionUiActionSidesheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionUiActionSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionUiActionSidesheet = useCallback(\n (isOpen, transactionUiAction) => {\n setIsCreateOrEditTransactionUiActionSidesheetOpen(isOpen);\n setSelectedTransactionUiAction(transactionUiAction);\n },\n []\n );\n\n const handleTransactionTypeConfigurationSidesheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionTypeConfigurationSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionTypeConfigurationSidesheet = useCallback(\n (isOpen, transactionTypeConfiguration) => {\n setIsCreateOrEditTransactionTypeConfigurationSidesheetOpen(isOpen);\n setSelectedTransactionTypeConfiguration(transactionTypeConfiguration);\n },\n []\n );\n\n const handleTransactionTypeConfigurationTransactionActionSidesheet =\n useCallback((isOpen, transactionTypeConfiguration) => {\n setIsTransactionTypeConfigurationTransactionActionSidesheetOpen(isOpen);\n setSelectedTransactionTypeConfiguration(transactionTypeConfiguration);\n }, []);\n\n const handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet =\n useCallback((isOpen, transactionTypeConfigurationTransactionAction) => {\n setIsCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen(\n isOpen\n );\n setSelectedTransactionTypeConfigurationTransactionAction(\n transactionTypeConfigurationTransactionAction\n );\n }, []);\n\n const handleTransactionAttachmentTypeSidesheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionAttachmentTypeSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionAttachmentTypeSidesheet = useCallback(\n (isOpen, transactionAttachmentType) => {\n setIsCreateOrEditTransactionAttachmentTypeSidesheetOpen(isOpen);\n setSelectedTransactionAttachmentType(transactionAttachmentType);\n },\n []\n );\n\n // API call handlers\n /** TransactionType */\n const handleCreateTransactionType = useCallback(\n async (formValues) => {\n const { domainFields, ...restValues } = formValues;\n\n const { pageConfigurationColumnDefsDict, domainFieldsDict } = (\n Array.isArray(domainFields) ? domainFields : []\n ).reduce(\n (accumulator, entry) => {\n if (!entry || !entry[0]) {\n return accumulator;\n }\n\n const field = entry[0];\n let fieldKey = field;\n // Add a prefix, _UdpBusinessDomain_, to the non-custom, non-required/Transaction domain fields, e.g. ones that were selected from catalogObjectProperties\n if (catalogObjectProperties.includes(fieldKey)) {\n fieldKey = `${UdpSearchEnums.UdpBusinessDomainPrefix}_${fieldKey}`;\n }\n const config = entry[1] || {};\n\n const displayName = config.displayName || field;\n const order = config.order || 0;\n const hide = config.hide || false;\n\n // Always add to the PageConfiguration\n accumulator.pageConfigurationColumnDefsDict[fieldKey] = {\n displayName,\n order,\n hide\n };\n\n // Conditionally add to DomainFields (excludes the required Transaction/Additional fields)\n if (!REQUIRED_COLUMN_DEF_FIELDS.includes(field)) {\n accumulator.domainFieldsDict[field] = {\n displayName,\n order,\n hide\n };\n }\n\n return accumulator;\n },\n { pageConfigurationColumnDefsDict: {}, domainFieldsDict: {} }\n );\n\n const pageConfiguration = {\n gridTitle: restValues?.gridTitle || '',\n createTransactionButtonLabel:\n restValues?.createTransactionButtonLabel || '',\n hideCreateTransaction: restValues?.hideCreateTransaction,\n paginationAutoPageSize: restValues?.paginationAutoPageSize,\n hideSaveChanges: restValues?.hideSaveChanges,\n columnDefProperties: pageConfigurationColumnDefsDict\n };\n\n const newTransactionType = {\n ...restValues,\n domainFields: domainFieldsDict,\n pageConfiguration: pageConfiguration\n };\n\n try {\n const response = await postCreateTransactionType(newTransactionType);\n if (response?.status === 201) {\n enqueueSnackbar(t('TransactionType created successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleSideSheet(false);\n setSelectedDomainName('');\n gridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n catalogObjectProperties,\n enqueueSnackbar,\n handleSideSheet,\n successAction,\n t\n ]\n );\n\n const handleUpdateTransactionType = useCallback(\n async (formValues, initialValues) => {\n const { domainFields, ...restValues } = formValues;\n const transactionTypeId = initialValues.transactionTypeId;\n\n const { pageConfigurationColumnDefsDict, domainFieldsDict } = (\n Array.isArray(domainFields) ? domainFields : []\n ).reduce(\n (accumulator, entry) => {\n if (!entry || !entry[0]) {\n return accumulator;\n }\n\n const field = entry[0];\n let fieldKey = field;\n // Add a prefix, _UdpBusinessDomain_, to the non-custom, non-required/Transaction domain fields, e.g. ones that were selected from catalogObjectProperties\n if (catalogObjectProperties.includes(fieldKey)) {\n fieldKey = `${UdpSearchEnums.UdpBusinessDomainPrefix}_${fieldKey}`;\n }\n const config = entry[1] || {};\n\n const displayName = config.displayName || field;\n const order = config.order || 0;\n const hide = config.hide || false;\n\n // Always add to the PageConfiguration\n accumulator.pageConfigurationColumnDefsDict[fieldKey] = {\n displayName,\n order,\n hide\n };\n\n // Conditionally add to DomainFields (excludes the required Transaction fields)\n if (!REQUIRED_COLUMN_DEF_FIELDS.includes(field)) {\n accumulator.domainFieldsDict[field] = {\n displayName,\n order,\n hide\n };\n }\n\n return accumulator;\n },\n { pageConfigurationColumnDefsDict: {}, domainFieldsDict: {} }\n );\n\n const pageConfiguration = {\n gridTitle: restValues?.gridTitle || '',\n createTransactionButtonLabel:\n restValues?.createTransactionButtonLabel || '',\n hideCreateTransaction: restValues?.hideCreateTransaction,\n paginationAutoPageSize: restValues?.paginationAutoPageSize,\n hideSaveChanges: restValues?.hideSaveChanges,\n columnDefProperties: pageConfigurationColumnDefsDict\n };\n\n const updatedTransactionType = {\n ...initialValues,\n ...formValues,\n domainFields: domainFieldsDict,\n pageConfiguration: pageConfiguration\n };\n\n try {\n const response = await putUpdateTransactionType(\n transactionTypeId,\n updatedTransactionType\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionType updated successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleSideSheet(false);\n setSelectedDomainName('');\n gridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n catalogObjectProperties,\n enqueueSnackbar,\n handleSideSheet,\n successAction,\n t\n ]\n );\n\n const handleDeleteTransactionType = useCallback(async () => {\n if (!selectedTransactionType) return;\n\n setIsTransactionTypeSidesheetLoading(true);\n const transactionTypeId = selectedTransactionType.transactionTypeId;\n\n try {\n const response = await deleteTransactionType(transactionTypeId);\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionType deleted successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n setIsDeleteTransactionTypeDialogOpen(false);\n gridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n } finally {\n setIsTransactionTypeSidesheetLoading(false);\n }\n }, [\n enqueueSnackbar,\n selectedTransactionType,\n successAction,\n t,\n setIsTransactionTypeSidesheetLoading,\n setIsDeleteTransactionTypeDialogOpen\n ]);\n /** end of TransactionType */\n\n /** TransactionTypeStatus */\n const handleCreateTransactionTypeStatus = useCallback(\n async (formValues) => {\n const newTransactionTypeStatus = {\n ...formValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n color: formValues?.color?.value || null\n };\n let hasDefaultOrCancelledStatus = false;\n\n try {\n const isCreatingDefaultStatus = formValues?.isDefault === true;\n const isCreatingCancelledStatus =\n formValues?.isCancelledStatus === true;\n if (isCreatingDefaultStatus || isCreatingCancelledStatus) {\n const searchTransactionTypeStatusResponse =\n await searchTransactionTypeStatusByTransactionTypeId(\n selectedTransactionType?.transactionTypeId\n );\n if (searchTransactionTypeStatusResponse?.status !== 200) {\n enqueueSnackbar(\n t(\n 'Unable to validate existing TransactionTypeStatus records. Please try again.'\n ),\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n return;\n }\n hasDefaultOrCancelledStatus =\n hasDefaultAndCancelledTransactionTypeStatus(\n searchTransactionTypeStatusResponse?.data?.pageList,\n isCreatingDefaultStatus,\n isCreatingCancelledStatus\n );\n }\n\n if (\n (isCreatingDefaultStatus || isCreatingCancelledStatus) &&\n hasDefaultOrCancelledStatus\n ) {\n let statusConflictMessage = '';\n if (isCreatingDefaultStatus) {\n statusConflictMessage =\n 'There is already a TransactionTypeStatus for this TransactionType that has IsDefault set to true.';\n } else if (isCreatingCancelledStatus) {\n statusConflictMessage =\n 'There is already a TransactionTypeStatus for this TransactionType that has IsCancelledStatus set to true.';\n }\n enqueueSnackbar(t(statusConflictMessage), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n return;\n }\n const response = await postCreateTransactionTypeStatus(\n newTransactionTypeStatus\n );\n if (response?.status === 201) {\n enqueueSnackbar(t('TransactionTypeStatus created successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionTypeStatusSideSheet(false);\n ttsGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response?.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttsGridApiRef,\n handleCreateOrEditTransactionTypeStatusSideSheet,\n successAction,\n t,\n selectedTransactionType,\n searchTransactionTypeStatusByTransactionTypeId,\n hasDefaultAndCancelledTransactionTypeStatus\n ]\n );\n\n const handleUpdateTransactionTypeStatus = useCallback(\n async (formValues, initialValues) => {\n const transactionTypeStatusId = initialValues.transactionTypeStatusId;\n const updatedTransactionTypeStatus = {\n ...initialValues,\n ...formValues,\n color: formValues?.color?.value || null\n };\n let hasExistingDefaultOrCancelledStatus = false;\n\n try {\n const isEditingDefaultStatus = formValues?.isDefault === true;\n const isEditingCancelledStatus = formValues?.isCancelledStatus === true;\n if (isEditingDefaultStatus || isEditingCancelledStatus) {\n const searchTransactionTypeStatusResponse =\n await searchTransactionTypeStatusByTransactionTypeId(\n selectedTransactionType?.transactionTypeId\n );\n if (searchTransactionTypeStatusResponse?.status !== 200) {\n enqueueSnackbar(\n t(\n 'Unable to validate existing TransactionTypeStatus records. Please try again.'\n ),\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n return;\n }\n hasExistingDefaultOrCancelledStatus =\n hasDefaultAndCancelledTransactionTypeStatus(\n searchTransactionTypeStatusResponse?.data?.pageList,\n isEditingDefaultStatus,\n isEditingCancelledStatus\n );\n }\n\n if (\n (isEditingDefaultStatus || isEditingCancelledStatus) &&\n hasExistingDefaultOrCancelledStatus\n ) {\n enqueueSnackbar(\n t(`There is already a TransactionTypeStatus for this TransactionType that has\n ${\n isEditingDefaultStatus\n ? isEditingCancelledStatus\n ? 'IsDefault and/or IsCancelledStatus'\n : 'IsDefault'\n : 'IsCancelledStatus'\n } set to true.`),\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n return;\n }\n const response = await putUpdateTransactionTypeStatus(\n transactionTypeStatusId,\n updatedTransactionTypeStatus\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionTypeStatus updated successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionTypeStatusSideSheet(false);\n ttsGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response?.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttsGridApiRef,\n handleCreateOrEditTransactionTypeStatusSideSheet,\n successAction,\n t,\n searchTransactionTypeStatusByTransactionTypeId,\n hasDefaultAndCancelledTransactionTypeStatus,\n selectedTransactionType\n ]\n );\n\n const handleDeleteTransactionTypeStatus = useCallback(async () => {\n if (!selectedTransactionTypeStatus) return;\n\n const transactionTypeStatusId =\n selectedTransactionTypeStatus.transactionTypeStatusId;\n\n try {\n const response = await deleteTransactionTypeStatus(\n transactionTypeStatusId\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionTypeStatus deleted successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n setIsDeleteTransactionTypeStatusDialogOpen(false);\n ttsGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionTypeStatus,\n successAction,\n t,\n ttsGridApiRef,\n setIsDeleteTransactionTypeStatusDialogOpen\n ]);\n /** end of TransactionTypeStatus */\n\n /** TransactionTypeTransactionAction */\n const handleCreateTransactionTypeTransactionAction = useCallback(\n async (formValues) => {\n const {\n transactionAction,\n toStatus,\n actionApiId,\n pageId,\n mandatoryFields,\n hiddenFields,\n domainDataToUpdate,\n ...restValues\n } = formValues || {};\n\n const domainDataDictionary = (\n Array.isArray(domainDataToUpdate) ? domainDataToUpdate : []\n ).reduce((accumulator, entry) => {\n if (!entry) {\n return accumulator;\n }\n\n const [field, value] = entry;\n if (field) {\n accumulator[field] = value;\n }\n\n return accumulator;\n }, {});\n\n const newTransactionTypeTransactionAction = {\n ...restValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionActionId: transactionAction?.transactionActionId,\n parameters: {\n ToStatus: toStatus?.transactionTypeStatusId,\n DomainDataToUpdate: domainDataDictionary,\n MandatoryFields: Array.isArray(mandatoryFields)\n ? mandatoryFields\n : [],\n HiddenFields: Array.isArray(hiddenFields) ? hiddenFields : [],\n ActionApiId: actionApiId?.actionApiId || '',\n PageId: pageId?.pageId || ''\n }\n };\n\n try {\n const response = await postCreateTransactionTypeTransactionAction(\n newTransactionTypeTransactionAction\n );\n if (response?.status === 201) {\n enqueueSnackbar(\n t('TransactionTypeTransactionAction created successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeTransactionActionSidesheet(false);\n tttaGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tttaGridApiRef,\n handleCreateOrEditTransactionTypeTransactionActionSidesheet,\n successAction,\n t,\n selectedTransactionType\n ]\n );\n\n const handleUpdateTransactionTypeTransactionAction = useCallback(\n async (formValues, initialValues) => {\n const {\n transactionAction,\n toStatus,\n actionApiId,\n pageId,\n mandatoryFields,\n hiddenFields,\n domainDataToUpdate\n } = formValues || {};\n\n const transactionTypeTransactionActionId =\n initialValues.transactionTypeTransactionActionId;\n // Process the domainDataToUpdate array form data into an object\n const domainDataDictionary = (\n Array.isArray(domainDataToUpdate) ? domainDataToUpdate : []\n ).reduce((accumulator, entry) => {\n if (!entry) {\n return accumulator;\n }\n\n const [field, value] = entry;\n if (field) {\n accumulator[field] = value;\n }\n\n return accumulator;\n }, {});\n\n const updatedTransactionTypeTransactionAction = {\n ...initialValues,\n name: formValues?.name || '',\n description: formValues?.description || '',\n icon: formValues?.icon || '',\n transactionTypeTransactionActionId: transactionTypeTransactionActionId,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionActionId: transactionAction?.transactionActionId,\n parameters: {\n ToStatus: toStatus?.transactionTypeStatusId,\n DomainDataToUpdate: domainDataDictionary,\n MandatoryFields: Array.isArray(mandatoryFields)\n ? mandatoryFields\n : [],\n HiddenFields: Array.isArray(hiddenFields) ? hiddenFields : [],\n ActionApiId: actionApiId?.actionApiId || '',\n PageId: pageId?.pageId || ''\n }\n };\n\n try {\n const response = await putUpdateTransactionTypeTransactionAction(\n transactionTypeTransactionActionId,\n updatedTransactionTypeTransactionAction\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t('TransactionTypeTransactionAction updated successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeTransactionActionSidesheet(false);\n tttaGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tttaGridApiRef,\n handleCreateOrEditTransactionTypeTransactionActionSidesheet,\n successAction,\n t,\n selectedTransactionType\n ]\n );\n\n const handleDeleteTransactionTypeTransactionAction = useCallback(async () => {\n if (!selectedTransactionTypeTransactionAction) return;\n\n const transactionTypeTransactionActionId =\n selectedTransactionTypeTransactionAction.transactionTypeTransactionActionId;\n\n try {\n const response = await deleteTransactionTypeTransactionAction(\n transactionTypeTransactionActionId\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t('TransactionTypeTransactionAction deleted successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n setIsDeleteTransactionTypeTransactionActionDialogOpen(false);\n tttaGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionTypeTransactionAction,\n successAction,\n t,\n setIsDeleteTransactionTypeTransactionActionDialogOpen\n ]);\n /** end of TransactionTypeTransactionAction */\n\n /** TransactionUiAction */\n const handleCreateTransactionUiAction = useCallback(\n async (formValues) => {\n const { transactionUiActionType, actionApi, page, ...restValues } =\n formValues;\n\n const newTransactionUiAction = {\n ...restValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionUiActionTypeId:\n transactionUiActionType?.transactionUiActionTypeId,\n parameters: {\n ActionApiId: actionApi?.actionApiId || '',\n PageId: page?.pageId || ''\n }\n };\n\n try {\n const response = await postCreateTransactionUiAction(\n newTransactionUiAction\n );\n if (response?.status === 201) {\n enqueueSnackbar(t('TransactionUiAction created successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionUiActionSidesheet(false);\n tuaGridApiRef.current?.refreshServerSide();\n fetchTUiActionsList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tuaGridApiRef,\n handleCreateOrEditTransactionUiActionSidesheet,\n successAction,\n t,\n selectedTransactionType,\n fetchTUiActionsList\n ]\n );\n\n const handleUpdateTransactionUiAction = useCallback(\n async (formValues, initialValues) => {\n const { transactionUiActionType, actionApi, page, ...restValues } =\n formValues;\n const transactionUiActionId = initialValues.transactionUiActionId;\n\n const updatedTransactionUiAction = {\n ...restValues,\n transactionUiActionId: transactionUiActionId,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionUiActionTypeId:\n transactionUiActionType?.transactionUiActionTypeId,\n parameters: {\n ActionApiId: actionApi?.actionApiId || '',\n PageId: page?.pageId || ''\n }\n };\n\n try {\n const response = await putUpdateTransactionUiAction(\n transactionUiActionId,\n updatedTransactionUiAction\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionUiAction updated successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionUiActionSidesheet(false);\n tuaGridApiRef.current?.refreshServerSide();\n fetchTUiActionsList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tuaGridApiRef,\n handleCreateOrEditTransactionUiActionSidesheet,\n successAction,\n t,\n selectedTransactionType,\n fetchTUiActionsList\n ]\n );\n\n const handleDeleteTransactionUiAction = useCallback(async () => {\n if (!selectedTransactionUiAction) return;\n\n const transactionUiActionId =\n selectedTransactionUiAction.transactionUiActionId;\n\n try {\n const response = await deleteTransactionUiAction(transactionUiActionId);\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionUiAction deleted successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n setIsDeleteTransactionUiActionDialogOpen(false);\n tuaGridApiRef.current?.refreshServerSide();\n fetchTUiActionsList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionUiAction,\n successAction,\n t,\n setIsDeleteTransactionUiActionDialogOpen,\n fetchTUiActionsList\n ]);\n /** end of TransactionUiAction */\n\n /** TransactionTypeConfiguration */\n const handleCreateTransactionTypeConfiguration = useCallback(\n async (formValues) => {\n const {\n transactionRuleType,\n currentStatus,\n tenantUserRoles,\n currentDomainValue,\n ...restValues\n } = formValues;\n\n const domainDataDictionary = (\n Array.isArray(currentDomainValue) ? currentDomainValue : []\n ).reduce((accumulator, entry) => {\n if (!entry) {\n return accumulator;\n }\n\n const field = entry[0];\n const value = entry[1].value;\n const operator = entry[1]?.operator?.value;\n if (field) {\n accumulator[field] = {\n value: value,\n operator: operator\n };\n }\n\n return accumulator;\n }, {});\n\n const tenantUserRoleIds = tenantUserRoles?.map((tur) => tur?.roleId);\n const configurationObj = {\n CurrentStatus: currentStatus,\n CurrentDomainValue: domainDataDictionary,\n TenantUserRoleIds: Array.isArray(tenantUserRoleIds)\n ? tenantUserRoleIds\n : []\n };\n const expressionLogic =\n formatTransactionTypeConfigurationIntoExpressionLogic(configurationObj);\n const newTransactionTypeConfiguration = {\n ...restValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionRuleTypeId: transactionRuleType?.transactionRuleTypeId,\n configuration: {\n ...configurationObj,\n CurrentStatusId: currentStatus?.transactionTypeStatusId\n },\n expressionLogic\n };\n\n try {\n const response = await postCreateTransactionTypeConfiguration(\n newTransactionTypeConfiguration\n );\n if (response?.status === 201) {\n enqueueSnackbar(\n t('TransactionTypeConfiguration created successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeConfigurationSidesheet(false);\n ttcGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttcGridApiRef,\n handleCreateOrEditTransactionTypeConfigurationSidesheet,\n successAction,\n t,\n selectedTransactionType\n ]\n );\n\n const handleUpdateTransactionTypeConfiguration = useCallback(\n async (formValues, initialValues) => {\n const {\n transactionRuleType,\n currentStatus,\n tenantUserRoles,\n currentDomainValue,\n name,\n ...restValues\n } = formValues;\n const transactionTypeConfigurationId =\n initialValues.transactionTypeConfigurationId;\n\n const domainDataDictionary = (\n Array.isArray(currentDomainValue) ? currentDomainValue : []\n ).reduce((accumulator, entry) => {\n if (!entry) {\n return accumulator;\n }\n\n const field = entry[0];\n const value = entry[1].value;\n const operator = entry[1]?.operator?.value;\n if (field) {\n accumulator[field] = {\n value: value,\n operator: operator\n };\n }\n\n return accumulator;\n }, {});\n\n const tenantUserRoleIds = tenantUserRoles?.map((tur) => tur?.roleId);\n const configurationObj = {\n CurrentStatus: currentStatus,\n CurrentDomainValue: domainDataDictionary,\n TenantUserRoleIds: Array.isArray(tenantUserRoleIds)\n ? tenantUserRoleIds\n : []\n };\n const expressionLogic =\n formatTransactionTypeConfigurationIntoExpressionLogic(configurationObj);\n const updatedTransactionTypeConfiguration = {\n ...initialValues,\n name: name || '',\n order: formValues?.order || 0,\n enabled: formValues?.enabled,\n transactionTypeConfigurationId: transactionTypeConfigurationId,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionRuleTypeId: transactionRuleType?.transactionRuleTypeId,\n configuration: {\n ...configurationObj,\n CurrentStatusId: currentStatus?.transactionTypeStatusId\n },\n expressionLogic\n };\n\n try {\n const response = await putUpdateTransactionTypeConfiguration(\n transactionTypeConfigurationId,\n updatedTransactionTypeConfiguration\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t('TransactionTypeConfiguration updated successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeConfigurationSidesheet(false);\n ttcGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttcGridApiRef,\n handleCreateOrEditTransactionTypeConfigurationSidesheet,\n successAction,\n t,\n selectedTransactionType\n ]\n );\n\n const handleDeleteTransactionTypeConfiguration = useCallback(async () => {\n if (!selectedTransactionTypeConfiguration) return;\n\n const transactionTypeConfigurationId =\n selectedTransactionTypeConfiguration.transactionTypeConfigurationId;\n\n try {\n const response = await deleteTransactionTypeConfiguration(\n transactionTypeConfigurationId\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t('TransactionTypeConfiguration deleted successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n setIsDeleteTransactionTypeConfigurationDialogOpen(false);\n ttcGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionTypeConfiguration,\n successAction,\n t,\n setIsDeleteTransactionTypeConfigurationDialogOpen\n ]);\n /** end of TransactionTypeConfiguration */\n\n /** TransactionTypeConfigurationTransactionAction */\n const handleCreateTransactionTypeConfigurationTransactionAction = useCallback(\n async (formValues) => {\n const { transactionTypeTransactionActions } = formValues;\n\n const newTTCTActions = [];\n\n transactionTypeTransactionActions?.forEach((action) => {\n newTTCTActions.push({\n transactionTypeConfigurationId:\n selectedTransactionTypeConfiguration?.transactionTypeConfigurationId,\n transactionTypeTransactionActionId:\n action?.transactionTypeTransactionActionId\n });\n });\n\n try {\n const response =\n await postCreateTransactionTypeConfigurationTransactionAction(\n newTTCTActions\n );\n if (response?.status === 201) {\n enqueueSnackbar(\n t(\n 'TransactionTypeConfigurationTransactionAction(s) created successfully'\n ),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet(\n false\n );\n ttctaGridApiRef.current?.refreshServerSide();\n fetchTtctaList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttctaGridApiRef,\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet,\n successAction,\n t,\n selectedTransactionTypeConfiguration,\n fetchTtctaList\n ]\n );\n\n const handleUpdateTransactionTypeConfigurationTransactionAction = useCallback(\n async (formValues, initialValues) => {\n const { transactionTypeTransactionActions } = formValues;\n const transactionTypeConfigurationId =\n selectedTransactionTypeConfiguration?.transactionTypeConfigurationId;\n const existingTransactionTypeTransactionActionId =\n initialValues?.transactionTypeTransactionActionId;\n\n const updatedTransactionTypeConfigurationTransactionAction = {\n transactionTypeConfigurationId: transactionTypeConfigurationId,\n transactionTypeTransactionActionId:\n transactionTypeTransactionActions?.[0]\n ?.transactionTypeTransactionActionId\n };\n\n try {\n const response =\n await putUpdateTransactionTypeConfigurationTransactionAction(\n transactionTypeConfigurationId,\n existingTransactionTypeTransactionActionId,\n updatedTransactionTypeConfigurationTransactionAction\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t(\n 'TransactionTypeConfigurationTransactionAction updated successfully'\n ),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet(\n false\n );\n ttctaGridApiRef.current?.refreshServerSide();\n fetchTtctaList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttctaGridApiRef,\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet,\n successAction,\n t,\n selectedTransactionTypeConfiguration,\n fetchTtctaList\n ]\n );\n\n const handleDeleteTransactionTypeConfigurationTransactionAction =\n useCallback(async () => {\n if (!selectedTransactionTypeConfigurationTransactionAction) return;\n\n const transactionTypeConfigurationId =\n selectedTransactionTypeConfigurationTransactionAction?.transactionTypeConfigurationId;\n const transactionTypeTransactionActionId =\n selectedTransactionTypeConfigurationTransactionAction?.transactionTypeTransactionActionId;\n\n try {\n const response =\n await deleteTransactionTypeConfigurationTransactionAction(\n transactionTypeConfigurationId,\n transactionTypeTransactionActionId\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t(\n 'TransactionTypeConfigurationTransactionAction deleted successfully'\n ),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen(\n false\n );\n ttctaGridApiRef.current?.refreshServerSide();\n fetchTtctaList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n ttctaGridApiRef,\n enqueueSnackbar,\n selectedTransactionTypeConfigurationTransactionAction,\n successAction,\n t,\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen,\n fetchTtctaList\n ]);\n /** end of TransactionTypeConfigurationTransactionAction */\n\n /** TransactionAttachmentType */\n const handleCreateTransactionAttachmentType = useCallback(\n async (formValues) => {\n const newTransactionAttachmentType = {\n ...formValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId\n };\n\n try {\n const response = await postCreateTransactionAttachmentType(\n newTransactionAttachmentType\n );\n if (response?.status === 201) {\n enqueueSnackbar(t('TransactionAttachmentType created successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionAttachmentTypeSidesheet(false);\n tatGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tatGridApiRef,\n successAction,\n t,\n selectedTransactionType,\n handleCreateOrEditTransactionAttachmentTypeSidesheet\n ]\n );\n\n const handleUpdateTransactionAttachmentType = useCallback(\n async (formValues, initialValues) => {\n const transactionTypeId = selectedTransactionType?.transactionTypeId;\n const transactionAttachmentTypeId =\n selectedTransactionAttachmentType?.transactionAttachmentTypeId;\n const updatedTransactionType = {\n ...initialValues,\n ...formValues,\n transactionTypeId: transactionTypeId,\n transactionAttachmentTypeId: transactionAttachmentTypeId\n };\n\n try {\n const response = await putUpdateTransactionAttachmentType(\n transactionAttachmentTypeId,\n updatedTransactionType\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionAttachmentType updated successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionAttachmentTypeSidesheet(false);\n tatGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [enqueueSnackbar, selectedTransactionType, successAction, t]\n );\n\n const handleDeleteTransactionAttachmentType = useCallback(async () => {\n if (!selectedTransactionAttachmentType) return;\n\n const transactionAttachmentTypeId =\n selectedTransactionAttachmentType?.transactionAttachmentTypeId;\n\n try {\n const response = await deleteTransactionAttachmentType(\n transactionAttachmentTypeId\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionAttachmentType deleted successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n setIsDeleteTransactionAttachmentTypeDialogOpen(false);\n tatGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionAttachmentType,\n tatGridApiRef,\n successAction,\n t,\n setIsDeleteTransactionAttachmentTypeDialogOpen\n ]);\n /** end of TransactionAttachmentType */\n\n const handleOpenDeleteTransactionTypeDialog = useCallback(\n (transactionType) => {\n setSelectedTransactionType(transactionType);\n setIsDeleteTransactionTypeDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionTypeDialog = useCallback(() => {\n setIsDeleteTransactionTypeDialogOpen(false);\n setSelectedTransactionType(null);\n }, []);\n\n const handleOpenDeleteTransactionTypeStatusDialog = useCallback(\n (transactionTypeStatus) => {\n setSelectedTransactionTypeStatus(transactionTypeStatus);\n setIsDeleteTransactionTypeStatusDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionTypeStatusDialog = useCallback(() => {\n setIsDeleteTransactionTypeStatusDialogOpen(false);\n setSelectedTransactionTypeStatus(null);\n }, []);\n\n const handleOpenDeleteTransactionTypeTransactionActionDialog = useCallback(\n (transactionTypeTransactionAction) => {\n setSelectedTransactionTypeTransactionAction(\n transactionTypeTransactionAction\n );\n setIsDeleteTransactionTypeTransactionActionDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionTypeTransactionActionDialog =\n useCallback(() => {\n setIsDeleteTransactionTypeTransactionActionDialogOpen(false);\n setSelectedTransactionTypeTransactionAction(null);\n }, []);\n\n const handleOpenDeleteTransactionUiActionDialog = useCallback(\n (transactionUiAction) => {\n setSelectedTransactionUiAction(transactionUiAction);\n setIsDeleteTransactionUiActionDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionUiActionDialog = useCallback(() => {\n setIsDeleteTransactionUiActionDialogOpen(false);\n setSelectedTransactionUiAction(null);\n }, []);\n\n const handleOpenDeleteTransactionTypeConfigurationDialog = useCallback(\n (transactionTypeConfiguration) => {\n setSelectedTransactionTypeConfiguration(transactionTypeConfiguration);\n setIsDeleteTransactionTypeConfigurationDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionTypeConfigurationDialog =\n useCallback(() => {\n setIsDeleteTransactionTypeConfigurationDialogOpen(false);\n setSelectedTransactionTypeConfiguration(null);\n }, []);\n\n const handleOpenDeleteTransactionTypeConfigurationTransactionActionDialog =\n useCallback((transactionTypeConfigurationTransactionAction) => {\n setSelectedTransactionTypeConfigurationTransactionAction(\n transactionTypeConfigurationTransactionAction\n );\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen(true);\n }, []);\n\n const handleCloseDeleteTransactionTypeConfigurationTransactionActionDialog =\n useCallback(() => {\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen(false);\n setSelectedTransactionTypeConfigurationTransactionAction(null);\n }, []);\n\n const handleOpenDeleteTransactionAttachmentTypeDialog = useCallback(\n (transactionAttachmentType) => {\n setSelectedTransactionAttachmentType(transactionAttachmentType);\n setIsDeleteTransactionAttachmentTypeDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionAttachmentTypeDialog = useCallback(() => {\n setIsDeleteTransactionAttachmentTypeDialogOpen(false);\n setSelectedTransactionAttachmentType(null);\n }, []);\n\n const columnDefs = useMemo(() => {\n return [\n {\n headerName: t('Transaction Type ID'),\n field: 'transactionTypeId',\n resizable: true,\n sortable: false,\n hide: true\n },\n {\n headerName: t('Name'),\n field: 'name',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Domain Name'),\n field: 'domainName',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Domain Fields'),\n field: 'domainFields',\n resizable: true,\n sortable: false,\n hide: true\n },\n {\n headerName: t('Allow Revisions'),\n field: 'hasRevision',\n resizable: true,\n sortable: false,\n cellDataType: 'boolean'\n },\n {\n headerName: t('Revision Field'),\n field: 'revisionField',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Enabled'),\n field: 'enabled',\n resizable: true,\n sortable: false,\n cellDataType: 'boolean'\n },\n {\n headerName: t('Archived on Cancel'),\n field: 'archiveOnCancel',\n resizable: true,\n sortable: false,\n cellDataType: 'boolean'\n },\n {\n headerName: t('Field Label'),\n field: 'domainFieldLabel',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Sub-Type'),\n field: 'domainFieldType',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Sub-Type Value'),\n field: 'domainFieldValue',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Actions'),\n field: 'actions',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: [\n {\n id: 0,\n title: t('Edit'),\n iconName: 'edit',\n handleOnClick: (e, transactionType) => {\n handleSideSheet(true, transactionType?.data);\n }\n },\n {\n id: 1,\n title: t('Delete'),\n iconName: 'trashCan',\n handleOnClick: (e, transactionType) => {\n handleOpenDeleteTransactionTypeDialog(transactionType?.data);\n }\n },\n {\n id: 2,\n title: t('Manage Statuses'),\n iconName: 'settings',\n handleOnClick: (e, transactionType) => {\n handleTransactionTypeStatusSideSheet(\n true,\n transactionType?.data\n );\n }\n },\n {\n id: 3,\n title: t('Manage Actions'),\n iconName: 'text-grammar-settings',\n handleOnClick: (e, transactionType) => {\n handleTransactionTypeTransactionActionSidesheet(\n true,\n transactionType?.data\n );\n }\n },\n {\n id: 4,\n title: t('Manage Forms/Pages'),\n iconName: 'form-new',\n handleOnClick: (e, transactionType) => {\n handleTransactionUiActionSidesheet(true, transactionType?.data);\n }\n },\n {\n id: 5,\n title: t('Manage Rules'),\n iconName: 'apps-list',\n handleOnClick: (e, transactionType) => {\n handleTransactionTypeConfigurationSidesheet(\n true,\n transactionType?.data\n );\n }\n },\n {\n id: 6,\n title: t('Manage Attachment Types'),\n iconName: 'attachment',\n handleOnClick: (e, transactionType) => {\n handleTransactionAttachmentTypeSidesheet(\n true,\n transactionType?.data\n );\n }\n }\n ]\n },\n valueGetter: (params) => params.data,\n suppressMenu: true,\n sortable: false,\n filter: false\n }\n ];\n }, [\n handleSideSheet,\n handleOpenDeleteTransactionTypeDialog,\n handleTransactionTypeStatusSideSheet,\n handleTransactionTypeTransactionActionSidesheet,\n handleTransactionUiActionSidesheet,\n handleTransactionTypeConfigurationSidesheet,\n handleTransactionAttachmentTypeSidesheet,\n t\n ]);\n\n const headerConfig = {\n title: t('Transaction Types'),\n primaryActionButton: {\n label: t('Add'),\n iconName: 'add',\n onClick: () => handleSideSheet(true)\n }\n };\n\n const gridFunctions = [\n { name: 'agGridExport' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' }\n ];\n\n const gridOptions = useMemo(() => {\n return {\n pagination: true\n };\n }, []);\n\n const handleGridApiCallback = (api) => {\n gridApiRef.current = api;\n };\n\n const searchMethodConfig = useMemo(() => {\n return {\n requestUrl: `${ConfigService.productV1ApiUrl}/UdpTransactionType/search`,\n customSearchObject: searchObject\n };\n }, [searchObject]);\n\n return (\n <>\n {isTransactionTypeSidesheetLoading && (\n <LinearProgress className={classes.loadingBar} color='secondary' />\n )}\n <SearchMethodUdpGrid\n searchMethodConfig={searchMethodConfig}\n columnDefs={columnDefs}\n gridHeaderConfig={headerConfig}\n gridOptions={gridOptions}\n gridApiCallback={handleGridApiCallback}\n gridFunctions={gridFunctions}\n />\n <UdpTransactionTypeSidesheet\n key={selectedTransactionType?.transactionTypeId}\n initialTransactionType={selectedTransactionType}\n selectedDomainName={selectedDomainName}\n isSideSheetOpen={isTransactionTypeSideSheetOpen}\n handleSideSheet={handleSideSheet}\n setSelectedDomainName={setSelectedDomainName}\n handleCreateTransactionType={handleCreateTransactionType}\n handleUpdateTransactionType={handleUpdateTransactionType}\n catalogObjectNames={catalogObjectNames}\n catalogObjectProperties={catalogObjectProperties}\n isPageConfigurationSidesheetOpen={isPageConfigurationSidesheetOpen}\n setIsPageConfigurationSidesheetOpen={\n setIsPageConfigurationSidesheetOpen\n }\n />\n {getTransactionsByTransactionIdLoading ? (\n <LinearProgress />\n ) : (\n <FluentDialog\n open={isDeleteTransactionTypeDialogOpen}\n onClose={handleCloseDeleteTransactionTypeDialog}\n title={t('Confirm Delete')}\n message={\n !transactionsByTransactionTypeId?.pageList?.length\n ? t(`Are you sure you want to delete this type?`)\n : t(`Unable to delete this type as there are existing transactions associated with it.\n As an alternative, you can disable the type to prevent further use.`)\n }\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionType}\n buttonOneHidden={!!transactionsByTransactionTypeId?.pageList?.length}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionTypeDialog}\n />\n )}\n <UdpTransactionTypeStatusSidesheet\n ref={ttsGridApiRef}\n transactionType={selectedTransactionType}\n transactionTypeStatus={selectedTransactionTypeStatus}\n isSideSheetOpen={isTransactionTypeStatusSidesheetOpen}\n isTransactionTypeStatusCreateOrEditSidesheetOpen={\n isCreateOrEditTransactionTypeStatusSidesheetOpen\n }\n handleTransactionTypeStatusSideSheet={\n handleTransactionTypeStatusSideSheet\n }\n handleCreateOrEditTransactionTypeStatusSideSheet={\n handleCreateOrEditTransactionTypeStatusSideSheet\n }\n handleCreateTransactionTypeStatus={handleCreateTransactionTypeStatus}\n handleUpdateTransactionTypeStatus={handleUpdateTransactionTypeStatus}\n handleDeleteTransactionTypeStatus={\n handleOpenDeleteTransactionTypeStatusDialog\n }\n />\n <FluentDialog\n open={isDeleteTransactionTypeStatusDialogOpen}\n onClose={handleCloseDeleteTransactionTypeStatusDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this status?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionTypeStatus}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionTypeStatusDialog}\n />\n <UdpTransactionTypeTransactionActionSidesheet\n ref={tttaGridApiRef}\n transactionType={selectedTransactionType}\n transactionTypeTransactionAction={\n selectedTransactionTypeTransactionAction\n }\n isSideSheetOpen={isTransactionTypeTransactionActionSidesheetOpen}\n isTransactionTypeTransactionActionCreateOrEditSidesheetOpen={\n isCreateOrEditTransactionTypeTransactionActionSidesheetOpen\n }\n handleTransactionTypeTransactionActionSidesheet={\n handleTransactionTypeTransactionActionSidesheet\n }\n handleCreateOrEditTransactionTypeTransactionActionSidesheet={\n handleCreateOrEditTransactionTypeTransactionActionSidesheet\n }\n handleCreateTransactionTypeTransactionAction={\n handleCreateTransactionTypeTransactionAction\n }\n handleUpdateTransactionTypeTransactionAction={\n handleUpdateTransactionTypeTransactionAction\n }\n handleDeleteTransactionTypeTransactionAction={\n handleOpenDeleteTransactionTypeTransactionActionDialog\n }\n transactionActions={transactionActions}\n catalogObjectProperties={catalogObjectProperties}\n actionApis={actionApis}\n pages={pages}\n ttstatuses={ttstatuses}\n />\n <FluentDialog\n open={isDeleteTransactionTypeTransactionActionDialogOpen}\n onClose={handleCloseDeleteTransactionTypeTransactionActionDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this action?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionTypeTransactionAction}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionTypeTransactionActionDialog}\n />\n <UdpTransactionUiActionSidesheet\n ref={tuaGridApiRef}\n transactionType={selectedTransactionType}\n transactionUiAction={selectedTransactionUiAction}\n isSideSheetOpen={isTransactionUiActionSidesheetOpen}\n handleTransactionUiActionSidesheet={handleTransactionUiActionSidesheet}\n isCreateOrEditTransactionUiActionSidesheetOpen={\n isCreateOrEditTransactionUiActionSidesheetOpen\n }\n handleCreateOrEditTransactionUiActionSidesheet={\n handleCreateOrEditTransactionUiActionSidesheet\n }\n handleCreateTransactionUiAction={handleCreateTransactionUiAction}\n handleUpdateTransactionUiAction={handleUpdateTransactionUiAction}\n handleDeleteTransactionUiAction={\n handleOpenDeleteTransactionUiActionDialog\n }\n transactionUiActionTypes={transactionUiActionTypes}\n actionApis={actionApis}\n pages={pages}\n tUiActionsList={tUiActionsList}\n />\n <FluentDialog\n open={isDeleteTransactionUiActionDialogOpen}\n onClose={handleCloseDeleteTransactionUiActionDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this UI action?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionUiAction}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionUiActionDialog}\n />\n <UdpTransactionTypeConfigurationSidesheet\n ref={ttcGridApiRef}\n transactionType={selectedTransactionType}\n transactionTypeConfiguration={selectedTransactionTypeConfiguration}\n isSideSheetOpen={isTransactionTypeConfigurationSidesheetOpen}\n handleTransactionTypeConfigurationSidesheet={\n handleTransactionTypeConfigurationSidesheet\n }\n isCreateOrEditTransactionTypeConfigurationSidesheetOpen={\n isCreateOrEditTransactionTypeConfigurationSidesheetOpen\n }\n handleCreateOrEditTransactionTypeConfigurationSidesheet={\n handleCreateOrEditTransactionTypeConfigurationSidesheet\n }\n handleCreateTransactionTypeConfiguration={\n handleCreateTransactionTypeConfiguration\n }\n handleUpdateTransactionTypeConfiguration={\n handleUpdateTransactionTypeConfiguration\n }\n handleDeleteTransactionTypeConfiguration={\n handleOpenDeleteTransactionTypeConfigurationDialog\n }\n transactionRuleTypes={transactionRuleTypes}\n catalogObjectProperties={catalogObjectProperties}\n ttstatuses={ttstatuses}\n roles={roles}\n transactionTypeConfigurationTransactionAction={\n selectedTransactionTypeConfigurationTransactionAction\n }\n isTransactionTypeConfigurationTransactionActionSidesheetOpen={\n isTransactionTypeConfigurationTransactionActionSidesheetOpen\n }\n handleTransactionTypeConfigurationTransactionActionSidesheet={\n handleTransactionTypeConfigurationTransactionActionSidesheet\n }\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet={\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet\n }\n isCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen={\n isCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen\n }\n tttactions={tttactions}\n handleCreateTransactionTypeConfigurationTransactionAction={\n handleCreateTransactionTypeConfigurationTransactionAction\n }\n handleUpdateTransactionTypeConfigurationTransactionAction={\n handleUpdateTransactionTypeConfigurationTransactionAction\n }\n handleDeleteTransactionTypeConfigurationTransactionAction={\n handleOpenDeleteTransactionTypeConfigurationTransactionActionDialog\n }\n ttctaList={ttctaList}\n ttctaGridApiRef={ttctaGridApiRef}\n />\n <FluentDialog\n open={isDeleteTransactionTypeConfigurationDialogOpen}\n onClose={handleCloseDeleteTransactionTypeConfigurationDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this rule?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionTypeConfiguration}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionTypeConfigurationDialog}\n />\n <FluentDialog\n open={isDeleteTransactionTypeConfigurationTransactionActionDialogOpen}\n onClose={\n handleCloseDeleteTransactionTypeConfigurationTransactionActionDialog\n }\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this linked action?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionTypeConfigurationTransactionAction}\n labelTwo={t('Cancel')}\n actionTwo={\n handleCloseDeleteTransactionTypeConfigurationTransactionActionDialog\n }\n />\n <UdpTransactionAttachmentTypeSidesheet\n ref={tatGridApiRef}\n transactionType={selectedTransactionType}\n transactionAttachmentType={selectedTransactionAttachmentType}\n isSideSheetOpen={isTransactionAttachmentTypeSidesheetOpen}\n isTransactionAttachmentTypeCreateOrEditSidesheetOpen={\n isCreateOrEditTransactionAttachmentTypeSidesheetOpen\n }\n handleTransactionAttachmentTypeSidesheet={\n handleTransactionAttachmentTypeSidesheet\n }\n handleCreateOrEditTransactionAttachmentTypeSidesheet={\n handleCreateOrEditTransactionAttachmentTypeSidesheet\n }\n handleCreateTransactionAttachmentType={\n handleCreateTransactionAttachmentType\n }\n handleUpdateTransactionAttachmentType={\n handleUpdateTransactionAttachmentType\n }\n handleDeleteTransactionAttachmentType={\n handleOpenDeleteTransactionAttachmentTypeDialog\n }\n />\n <FluentDialog\n open={isDeleteTransactionAttachmentTypeDialogOpen}\n onClose={handleCloseDeleteTransactionAttachmentTypeDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this attachment type?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionAttachmentType}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionAttachmentTypeDialog}\n />\n </>\n );\n};\n\nexport default UdpTransactionTypesPage;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UdpTransactionTypesPage.mjs","names":["React","useCallback","useState","useMemo","useRef","useEffect","useTranslation","makeStyles","LinearProgress","UdpTransactionTypeSidesheet","useCatalogStore","SearchMethodUdpGrid","apiMutate","useAxiosGet","useSnackbar","FluentDialog","getSuccessAction","UdpTransactionTypeStatusSidesheet","UdpTransactionTypeTransactionActionSidesheet","useUser","UdpTransactionUiActionSidesheet","UdpTransactionTypeConfigurationSidesheet","EMPTY_GUID","PropertyTypeEnum","UdpSearchEnums","UdpTransactionAttachmentTypeSidesheet","ConfigService","REQUIRED_COLUMN_DEF_MAPPING","attachments","displayName","actions","transactionId","createdOn","currentStatusId","currentRevisionNo","lastEventTypeId","REQUIRED_COLUMN_DEF_FIELDS","Object","keys","DISABLE_ORDERING_FOR_FIELDS","PAGE_SIZE","baseSearchPayload","pageNumber","pageSize","filterElements","filterGroups","orderElements","groupingType","groupProperty","groupOperationList","eagerLoad","logicalSearchOperator","useStyles","theme","loadingBar","bottom","spacing","marginLeft","marginRight","formatTransactionTypeConfigurationIntoExpressionLogic","configurationObj","CurrentStatus","CurrentDomainValue","TenantUserRoleIds","andConditions","push","var","transactionTypeStatusId","entries","forEach","field","config","isConfigObject","Array","isArray","operator","comparisonValue","value","effectiveOperator","operands","length","some","in","and","UdpTransactionTypesPage","user","t","classes","enqueueSnackbar","closeSnackbar","successAction","gridApiRef","ttsGridApiRef","tttaGridApiRef","tuaGridApiRef","ttcGridApiRef","ttctaGridApiRef","tatGridApiRef","searchObject","setSearchObject","selectedTransactionType","setSelectedTransactionType","isTransactionTypeSideSheetOpen","setIsTransactionTypeSideSheetOpen","isTransactionTypeSidesheetLoading","setIsTransactionTypeSidesheetLoading","isDeleteTransactionTypeDialogOpen","setIsDeleteTransactionTypeDialogOpen","isPageConfigurationSidesheetOpen","setIsPageConfigurationSidesheetOpen","isCalendarViewConfigurationSidesheetOpen","setIsCalendarViewConfigurationSidesheetOpen","selectedDomainName","setSelectedDomainName","isTransactionTypeStatusSidesheetOpen","setIsTransactionTypeStatusSidesheetOpen","isDeleteTransactionTypeStatusDialogOpen","setIsDeleteTransactionTypeStatusDialogOpen","selectedTransactionTypeStatus","setSelectedTransactionTypeStatus","isCreateOrEditTransactionTypeStatusSidesheetOpen","setIsCreateOrEditTransactionTypeStatusSidesheetOpen","ttstatuses","setTTStatuses","isTransactionTypeTransactionActionSidesheetOpen","setIsTransactionTypeTransactionActionSidesheetOpen","selectedTransactionTypeTransactionAction","setSelectedTransactionTypeTransactionAction","isCreateOrEditTransactionTypeTransactionActionSidesheetOpen","setIsCreateOrEditTransactionTypeTransactionActionSidesheetOpen","isDeleteTransactionTypeTransactionActionDialogOpen","setIsDeleteTransactionTypeTransactionActionDialogOpen","tttactions","setTTTActions","isTransactionUiActionSidesheetOpen","setIsTransactionUiActionSidesheetOpen","selectedTransactionUiAction","setSelectedTransactionUiAction","isCreateOrEditTransactionUiActionSidesheetOpen","setIsCreateOrEditTransactionUiActionSidesheetOpen","isDeleteTransactionUiActionDialogOpen","setIsDeleteTransactionUiActionDialogOpen","isTransactionTypeConfigurationSidesheetOpen","setIsTransactionTypeConfigurationSidesheetOpen","selectedTransactionTypeConfiguration","setSelectedTransactionTypeConfiguration","isCreateOrEditTransactionTypeConfigurationSidesheetOpen","setIsCreateOrEditTransactionTypeConfigurationSidesheetOpen","isDeleteTransactionTypeConfigurationDialogOpen","setIsDeleteTransactionTypeConfigurationDialogOpen","isTransactionTypeConfigurationTransactionActionSidesheetOpen","setIsTransactionTypeConfigurationTransactionActionSidesheetOpen","selectedTransactionTypeConfigurationTransactionAction","setSelectedTransactionTypeConfigurationTransactionAction","isCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen","setIsCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen","isDeleteTransactionTypeConfigurationTransactionActionDialogOpen","setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen","isTransactionAttachmentTypeSidesheetOpen","setIsTransactionAttachmentTypeSidesheetOpen","selectedTransactionAttachmentType","setSelectedTransactionAttachmentType","isCreateOrEditTransactionAttachmentTypeSidesheetOpen","setIsCreateOrEditTransactionAttachmentTypeSidesheetOpen","isDeleteTransactionAttachmentTypeDialogOpen","setIsDeleteTransactionAttachmentTypeDialogOpen","hasDefaultAndCancelledTransactionTypeStatus","transactionTypeStatuses","checkHasDefault","checkHasCancelledStatus","record","isDefault","isCancelledStatus","postCreateTransactionType","transactionType","productV1ApiUrl","method","data","putUpdateTransactionType","transactionTypeId","deleteTransactionType","transactionsByTransactionTypeId","loading","getTransactionsByTransactionIdLoading","fetchTransactionsByTransactionTypeId","searchField","searchOperator","searchValue","groupId","getAll","postCreateTransactionTypeStatus","transactionTypeStatus","putUpdateTransactionTypeStatus","deleteTransactionTypeStatus","searchTransactionTypeStatusByTransactionTypeId","searchPayload","loadTTStatuses","ttsResponse","status","pageList","transactionActions","actionApis","pages","tenantV1ApiUrl","currentTenantId","postCreateTransactionTypeTransactionAction","transactionTypeTransactionAction","putUpdateTransactionTypeTransactionAction","transactionTypeTransactionActionId","deleteTransactionTypeTransactionAction","searchTransactionTypeTransactionActionByTransactionTypeId","loadTTTActions","tttaResponse","postCreateTransactionUiAction","transactionUiAction","putUpdateTransactionUiAction","transactionUiActionId","deleteTransactionUiAction","tUiActionsList","fetchTUiActionsList","transactionUiActionTypes","postCreateTransactionTypeConfiguration","transactionTypeConfiguration","putUpdateTransactionTypeConfiguration","transactionTypeConfigurationId","deleteTransactionTypeConfiguration","transactionRuleTypes","roles","postCreateTransactionTypeConfigurationTransactionAction","ttcta","putUpdateTransactionTypeConfigurationTransactionAction","transactionTypeConfigurationTransactionAction","deleteTransactionTypeConfigurationTransactionAction","ttctaList","fetchTtctaList","postCreateTransactionAttachmentType","transactionAttachmentType","putUpdateTransactionAttachmentType","transactionAttachmentTypeId","deleteTransactionAttachmentType","currentApiCatalogId","state","catalogObjectNames","integrationV2ApiUrl","domainName","catalogObject","catalogObjectProperties","properties","filter","property","name","map","catalogObjectDateProperties","type","DateTime","handleSideSheet","isOpen","handleTransactionTypeStatusSideSheet","handleCreateOrEditTransactionTypeStatusSideSheet","handleTransactionTypeTransactionActionSidesheet","handleCreateOrEditTransactionTypeTransactionActionSidesheet","handleTransactionUiActionSidesheet","handleCreateOrEditTransactionUiActionSidesheet","handleTransactionTypeConfigurationSidesheet","handleCreateOrEditTransactionTypeConfigurationSidesheet","handleTransactionTypeConfigurationTransactionActionSidesheet","handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet","handleTransactionAttachmentTypeSidesheet","handleCreateOrEditTransactionAttachmentTypeSidesheet","handleCreateTransactionType","formValues","domainFields","restValues","pageConfigurationColumnDefsDict","domainFieldsDict","reduce","accumulator","entry","fieldKey","includes","UdpBusinessDomainPrefix","order","hide","pageConfiguration","gridTitle","createTransactionButtonLabel","hideCreateTransaction","paginationAutoPageSize","hideSaveChanges","columnDefProperties","calendarViewConfiguration","enabled","calendarViewEnabled","isDefaultView","defaultCalendarViewType","domainStartDateProperty","domainEndDateProperty","domainPropertyToDisplay","newTransactionType","response","anchorOrigin","vertical","horizontal","action","current","refreshServerSide","err","title","variant","handleUpdateTransactionType","initialValues","updatedTransactionType","handleDeleteTransactionType","handleCreateTransactionTypeStatus","newTransactionTypeStatus","color","hasDefaultOrCancelledStatus","isCreatingDefaultStatus","isCreatingCancelledStatus","searchTransactionTypeStatusResponse","statusConflictMessage","handleUpdateTransactionTypeStatus","updatedTransactionTypeStatus","hasExistingDefaultOrCancelledStatus","isEditingDefaultStatus","isEditingCancelledStatus","handleDeleteTransactionTypeStatus","handleCreateTransactionTypeTransactionAction","transactionAction","toStatus","actionApiId","pageId","mandatoryFields","hiddenFields","domainDataToUpdate","domainDataDictionary","newTransactionTypeTransactionAction","transactionActionId","parameters","ToStatus","DomainDataToUpdate","MandatoryFields","HiddenFields","ActionApiId","PageId","handleUpdateTransactionTypeTransactionAction","updatedTransactionTypeTransactionAction","description","icon","handleDeleteTransactionTypeTransactionAction","handleCreateTransactionUiAction","transactionUiActionType","actionApi","page","newTransactionUiAction","transactionUiActionTypeId","handleUpdateTransactionUiAction","updatedTransactionUiAction","handleDeleteTransactionUiAction","handleCreateTransactionTypeConfiguration","transactionRuleType","currentStatus","tenantUserRoles","currentDomainValue","tenantUserRoleIds","tur","roleId","expressionLogic","newTransactionTypeConfiguration","transactionRuleTypeId","configuration","CurrentStatusId","handleUpdateTransactionTypeConfiguration","updatedTransactionTypeConfiguration","handleDeleteTransactionTypeConfiguration","handleCreateTransactionTypeConfigurationTransactionAction","transactionTypeTransactionActions","newTTCTActions","handleUpdateTransactionTypeConfigurationTransactionAction","existingTransactionTypeTransactionActionId","updatedTransactionTypeConfigurationTransactionAction","handleDeleteTransactionTypeConfigurationTransactionAction","handleCreateTransactionAttachmentType","newTransactionAttachmentType","handleUpdateTransactionAttachmentType","handleDeleteTransactionAttachmentType","handleOpenDeleteTransactionTypeDialog","handleCloseDeleteTransactionTypeDialog","handleOpenDeleteTransactionTypeStatusDialog","handleCloseDeleteTransactionTypeStatusDialog","handleOpenDeleteTransactionTypeTransactionActionDialog","handleCloseDeleteTransactionTypeTransactionActionDialog","handleOpenDeleteTransactionUiActionDialog","handleCloseDeleteTransactionUiActionDialog","handleOpenDeleteTransactionTypeConfigurationDialog","handleCloseDeleteTransactionTypeConfigurationDialog","handleOpenDeleteTransactionTypeConfigurationTransactionActionDialog","handleCloseDeleteTransactionTypeConfigurationTransactionActionDialog","handleOpenDeleteTransactionAttachmentTypeDialog","handleCloseDeleteTransactionAttachmentTypeDialog","columnDefs","headerName","resizable","sortable","cellDataType","cellRenderer","cellRendererParams","actionList","id","iconName","handleOnClick","e","valueGetter","params","suppressMenu","headerConfig","primaryActionButton","label","onClick","gridFunctions","gridOptions","pagination","handleGridApiCallback","api","searchMethodConfig","requestUrl","customSearchObject"],"sources":["../../../../src/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.jsx"],"sourcesContent":["import React, {\n useCallback,\n useState,\n useMemo,\n useRef,\n useEffect\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { makeStyles } from '@material-ui/core';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport UdpTransactionTypeSidesheet from './sidesheets/UdpTransactionTypeSidesheet';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { apiMutate, useAxiosGet } from '../../../utilities';\nimport { useSnackbar } from 'notistack';\nimport { FluentDialog, getSuccessAction } from '../../../UI';\nimport UdpTransactionTypeStatusSidesheet from './sidesheets/UdpTransactionTypeStatusSidesheet';\nimport UdpTransactionTypeTransactionActionSidesheet from './sidesheets/UdpTransactionTypeTransactionActionSidesheet';\nimport { useUser } from '../../../utilities/auth';\nimport UdpTransactionUiActionSidesheet from './sidesheets/UdpTransactionUiActionSidesheet';\nimport UdpTransactionTypeConfigurationSidesheet from './sidesheets/UdpTransactionTypeConfigurationSidesheet';\nimport { EMPTY_GUID, PropertyTypeEnum, UdpSearchEnums } from '../../../enums';\nimport UdpTransactionAttachmentTypeSidesheet from './sidesheets/UdpTransactionAttachmentTypeSidesheet';\nimport { ConfigService } from '../../../configService';\n\nexport const REQUIRED_COLUMN_DEF_MAPPING = {\n attachments: { displayName: 'Attachments' },\n actions: { displayName: 'Actions' },\n transactionId: { displayName: 'Transaction Id' },\n createdOn: { displayName: 'Created On' },\n currentStatusId: { displayName: 'Current Status' },\n currentRevisionNo: { displayName: 'Revision No' },\n lastEventTypeId: { displayName: 'Last Event Type' }\n};\n\nexport const REQUIRED_COLUMN_DEF_FIELDS = Object.keys(\n REQUIRED_COLUMN_DEF_MAPPING\n);\n\nexport const DISABLE_ORDERING_FOR_FIELDS = ['attachments', 'actions'];\n\nconst PAGE_SIZE = 100;\n\nconst baseSearchPayload = {\n pageNumber: 1,\n pageSize: PAGE_SIZE,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1\n};\n\nconst useStyles = makeStyles((theme) => ({\n loadingBar: {\n bottom: theme.spacing(-0.5),\n marginLeft: theme.spacing(0.5),\n marginRight: theme.spacing(0.5)\n }\n}));\n\n/**\n * This function formats the 'Configuration' data into a specific format that can be\n * used by the external library jsonLogic. The formatted data is stored in the\n * udp.TransactionTypeConfiguration table in the ExpressionLogic column.\n */\nconst formatTransactionTypeConfigurationIntoExpressionLogic = (\n configurationObj\n) => {\n if (!configurationObj || typeof configurationObj !== 'object') {\n return '';\n }\n\n const { CurrentStatus, CurrentDomainValue, TenantUserRoleIds } =\n configurationObj;\n const andConditions = [];\n\n if (CurrentStatus) {\n andConditions.push({\n '==': [\n { var: 'currentStatusId' },\n // this check ensures that if the 'No Status' option is selected for the currentStatus, then\n // the currentStatusId is stored in expressionLogic with a value of null\n CurrentStatus?.transactionTypeStatusId === EMPTY_GUID\n ? null\n : CurrentStatus?.transactionTypeStatusId\n ]\n });\n }\n\n if (CurrentDomainValue && typeof CurrentDomainValue === 'object') {\n Object.entries(CurrentDomainValue).forEach(([field, config]) => {\n if (!field || !config) {\n return;\n }\n\n const isConfigObject =\n config && typeof config === 'object' && !Array.isArray(config);\n const operator = isConfigObject ? config?.operator : null;\n const comparisonValue = isConfigObject ? config?.value : config;\n const effectiveOperator = operator || '==';\n const operands =\n effectiveOperator === '!' || effectiveOperator === '!!'\n ? [{ var: `currentDomainValue.${field}` }]\n : [{ var: `currentDomainValue.${field}` }, comparisonValue];\n\n andConditions.push({\n [effectiveOperator]: operands\n });\n });\n }\n\n if (Array.isArray(TenantUserRoleIds) && TenantUserRoleIds.length > 0) {\n andConditions.push({\n some: [\n { var: 'tenantUserRoleIds' },\n {\n in: [{ var: '' }, TenantUserRoleIds]\n }\n ]\n });\n }\n\n if (!andConditions.length) {\n return '';\n }\n\n return {\n and: andConditions\n };\n};\n\nconst UdpTransactionTypesPage = () => {\n // Hooks\n const user = useUser();\n const { t } = useTranslation();\n const classes = useStyles();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const successAction = getSuccessAction(closeSnackbar);\n // Grid Refs\n const gridApiRef = useRef(null); // TransactionType grid\n const ttsGridApiRef = useRef(null); // TransactionTypeStatus grid\n const tttaGridApiRef = useRef(null); // TransactionTypeTransactionAction grid\n const tuaGridApiRef = useRef(null); // TransactionUiAction grid\n const ttcGridApiRef = useRef(null); // TransactionTypeConfiguration grid\n const ttctaGridApiRef = useRef(null); // TransactionTypeConfigurationTransactionAction grid\n const tatGridApiRef = useRef(null); // TransactionAttachmentType grid\n\n // States\n const [searchObject, setSearchObject] = useState(baseSearchPayload);\n // TransactionType\n const [selectedTransactionType, setSelectedTransactionType] = useState(null);\n const [isTransactionTypeSideSheetOpen, setIsTransactionTypeSideSheetOpen] =\n useState(false);\n const [\n isTransactionTypeSidesheetLoading,\n setIsTransactionTypeSidesheetLoading\n ] = useState(false);\n const [\n isDeleteTransactionTypeDialogOpen,\n setIsDeleteTransactionTypeDialogOpen\n ] = useState(false);\n const [\n isPageConfigurationSidesheetOpen,\n setIsPageConfigurationSidesheetOpen\n ] = useState(false);\n const [\n isCalendarViewConfigurationSidesheetOpen,\n setIsCalendarViewConfigurationSidesheetOpen\n ] = useState(false);\n const [selectedDomainName, setSelectedDomainName] = useState('');\n // TransactionTypeStatus\n const [\n isTransactionTypeStatusSidesheetOpen,\n setIsTransactionTypeStatusSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionTypeStatusDialogOpen,\n setIsDeleteTransactionTypeStatusDialogOpen\n ] = useState(false);\n const [selectedTransactionTypeStatus, setSelectedTransactionTypeStatus] =\n useState(null);\n const [\n isCreateOrEditTransactionTypeStatusSidesheetOpen,\n setIsCreateOrEditTransactionTypeStatusSidesheetOpen\n ] = useState(false);\n const [ttstatuses, setTTStatuses] = useState([]);\n // TransactionTypeTransactionAction\n const [\n isTransactionTypeTransactionActionSidesheetOpen,\n setIsTransactionTypeTransactionActionSidesheetOpen\n ] = useState(false);\n const [\n selectedTransactionTypeTransactionAction,\n setSelectedTransactionTypeTransactionAction\n ] = useState(null);\n const [\n isCreateOrEditTransactionTypeTransactionActionSidesheetOpen,\n setIsCreateOrEditTransactionTypeTransactionActionSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionTypeTransactionActionDialogOpen,\n setIsDeleteTransactionTypeTransactionActionDialogOpen\n ] = useState(false);\n const [tttactions, setTTTActions] = useState([]);\n // TransactionUiAction\n const [\n isTransactionUiActionSidesheetOpen,\n setIsTransactionUiActionSidesheetOpen\n ] = useState(false);\n const [selectedTransactionUiAction, setSelectedTransactionUiAction] =\n useState(null);\n const [\n isCreateOrEditTransactionUiActionSidesheetOpen,\n setIsCreateOrEditTransactionUiActionSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionUiActionDialogOpen,\n setIsDeleteTransactionUiActionDialogOpen\n ] = useState(false);\n // TransactionTypeConfiguration\n const [\n isTransactionTypeConfigurationSidesheetOpen,\n setIsTransactionTypeConfigurationSidesheetOpen\n ] = useState(false);\n const [\n selectedTransactionTypeConfiguration,\n setSelectedTransactionTypeConfiguration\n ] = useState(null);\n const [\n isCreateOrEditTransactionTypeConfigurationSidesheetOpen,\n setIsCreateOrEditTransactionTypeConfigurationSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionTypeConfigurationDialogOpen,\n setIsDeleteTransactionTypeConfigurationDialogOpen\n ] = useState(false);\n // TransactionTypeConfigurationTransactionAction\n const [\n isTransactionTypeConfigurationTransactionActionSidesheetOpen,\n setIsTransactionTypeConfigurationTransactionActionSidesheetOpen\n ] = useState(false);\n const [\n selectedTransactionTypeConfigurationTransactionAction,\n setSelectedTransactionTypeConfigurationTransactionAction\n ] = useState(null);\n const [\n isCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen,\n setIsCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionTypeConfigurationTransactionActionDialogOpen,\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen\n ] = useState(false);\n // TransactionAttachmentType\n const [\n isTransactionAttachmentTypeSidesheetOpen,\n setIsTransactionAttachmentTypeSidesheetOpen\n ] = useState(false);\n const [\n selectedTransactionAttachmentType,\n setSelectedTransactionAttachmentType\n ] = useState(null);\n const [\n isCreateOrEditTransactionAttachmentTypeSidesheetOpen,\n setIsCreateOrEditTransactionAttachmentTypeSidesheetOpen\n ] = useState(false);\n const [\n isDeleteTransactionAttachmentTypeDialogOpen,\n setIsDeleteTransactionAttachmentTypeDialogOpen\n ] = useState(false);\n\n const hasDefaultAndCancelledTransactionTypeStatus = useCallback(\n (\n transactionTypeStatuses,\n checkHasDefault = false,\n checkHasCancelledStatus = false\n ) => {\n if (!transactionTypeStatuses) {\n return false;\n }\n return transactionTypeStatuses?.some((record) => {\n if (\n record.transactionTypeStatusId !==\n selectedTransactionTypeStatus?.transactionTypeStatusId\n ) {\n const isDefault = record?.isDefault;\n const isCancelledStatus = record?.isCancelledStatus;\n if (checkHasDefault && isDefault) return true;\n if (checkHasCancelledStatus && isCancelledStatus) return true;\n }\n return false;\n });\n },\n [selectedTransactionTypeStatus]\n );\n\n // API Calls\n /** TransactionType */\n const postCreateTransactionType = async (transactionType) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionType`,\n {\n method: 'POST'\n },\n {\n data: transactionType\n }\n );\n };\n\n const putUpdateTransactionType = async (\n transactionTypeId,\n transactionType\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionType/${transactionTypeId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionType\n }\n );\n };\n\n const deleteTransactionType = async (transactionTypeId) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionType/${transactionTypeId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const [\n {\n data: transactionsByTransactionTypeId,\n loading: getTransactionsByTransactionIdLoading\n },\n fetchTransactionsByTransactionTypeId\n ] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransaction/search`,\n {\n method: 'post',\n data: {\n filterElements: [\n {\n searchField: 'TransactionTypeId',\n searchOperator: '=',\n searchValue: selectedTransactionType?.transactionTypeId,\n groupId: 1\n }\n ],\n getAll: true\n }\n },\n !!!selectedTransactionType?.transactionTypeId ||\n !!!isDeleteTransactionTypeDialogOpen,\n false\n );\n\n /** TransactionTypeStatus */\n const postCreateTransactionTypeStatus = async (transactionTypeStatus) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeStatus`,\n {\n method: 'POST'\n },\n {\n data: transactionTypeStatus\n }\n );\n };\n\n const putUpdateTransactionTypeStatus = async (\n transactionTypeStatusId,\n transactionTypeStatus\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeStatus/${transactionTypeStatusId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionTypeStatus\n }\n );\n };\n\n const deleteTransactionTypeStatus = async (transactionTypeStatusId) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeStatus/${transactionTypeStatusId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const searchTransactionTypeStatusByTransactionTypeId = useCallback(\n async (transactionTypeId) => {\n const searchPayload = {\n filterElements: [\n {\n searchField: 'TransactionTypeId',\n searchOperator: '=',\n searchValue: transactionTypeId,\n groupId: 1\n }\n ],\n getAll: true\n };\n\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeStatus/search`,\n {\n method: 'POST'\n },\n {\n data: searchPayload\n }\n );\n },\n []\n );\n\n useEffect(() => {\n if (!selectedTransactionType?.transactionTypeId) return;\n const loadTTStatuses = async () => {\n const ttsResponse = await searchTransactionTypeStatusByTransactionTypeId(\n selectedTransactionType?.transactionTypeId\n );\n if (ttsResponse?.status === 200) {\n setTTStatuses(ttsResponse.data?.pageList);\n }\n };\n if (\n isTransactionTypeStatusSidesheetOpen ||\n isTransactionTypeConfigurationSidesheetOpen ||\n isTransactionTypeTransactionActionSidesheetOpen\n ) {\n loadTTStatuses();\n }\n }, [\n searchTransactionTypeStatusByTransactionTypeId,\n //selectedTransactionType?.transactionTypeId, Leaving this out to prevent re-fetching when closing sidesheets\n isTransactionTypeStatusSidesheetOpen,\n isTransactionTypeConfigurationSidesheetOpen,\n isTransactionTypeTransactionActionSidesheetOpen\n ]);\n\n /** TransactionAction */\n const [{ data: transactionActions }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionAction`,\n {\n method: 'GET'\n },\n false,\n false\n );\n\n /** ActionApis */\n const [{ data: actionApis }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionWorkflowActionApi`,\n {\n method: 'GET'\n },\n false,\n false\n );\n\n /** PageIds */\n const [{ data: pages }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `Page?tenantId=${user?.currentTenantId}`,\n {\n method: 'GET'\n },\n !!!user?.currentTenantId,\n false\n );\n\n /** TransactionTypeTransactionAction */\n const postCreateTransactionTypeTransactionAction = async (\n transactionTypeTransactionAction\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeTransactionAction`,\n {\n method: 'POST'\n },\n {\n data: transactionTypeTransactionAction\n }\n );\n };\n\n const putUpdateTransactionTypeTransactionAction = async (\n transactionTypeTransactionActionId,\n transactionTypeTransactionAction\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeTransactionAction/${transactionTypeTransactionActionId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionTypeTransactionAction\n }\n );\n };\n\n const deleteTransactionTypeTransactionAction = async (\n transactionTypeTransactionActionId\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeTransactionAction/${transactionTypeTransactionActionId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const searchTransactionTypeTransactionActionByTransactionTypeId = useCallback(\n async (transactionTypeId) => {\n const searchPayload = {\n filterElements: [\n {\n searchField: 'TransactionTypeId',\n searchOperator: '=',\n searchValue: transactionTypeId,\n groupId: 1\n }\n ],\n getAll: true\n };\n\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeTransactionAction/search`,\n {\n method: 'POST'\n },\n {\n data: searchPayload\n }\n );\n },\n []\n );\n\n useEffect(() => {\n if (!selectedTransactionType?.transactionTypeId) return;\n const loadTTTActions = async () => {\n const tttaResponse =\n await searchTransactionTypeTransactionActionByTransactionTypeId(\n selectedTransactionType?.transactionTypeId\n );\n if (tttaResponse?.status === 200) {\n setTTTActions(tttaResponse.data?.pageList);\n }\n };\n if (isTransactionTypeConfigurationTransactionActionSidesheetOpen) {\n loadTTTActions();\n }\n }, [\n searchTransactionTypeTransactionActionByTransactionTypeId,\n isTransactionTypeConfigurationTransactionActionSidesheetOpen\n //selectedTransactionType?.transactionTypeId, Leaving this out to prevent re-fetching when closing sidesheets\n ]);\n\n /** TransactionUiAction */\n const postCreateTransactionUiAction = async (transactionUiAction) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiAction`,\n {\n method: 'POST'\n },\n {\n data: transactionUiAction\n }\n );\n };\n\n const putUpdateTransactionUiAction = async (\n transactionUiActionId,\n transactionUiAction\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiAction/${transactionUiActionId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionUiAction\n }\n );\n };\n\n const deleteTransactionUiAction = async (transactionUiActionId) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiAction/${transactionUiActionId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const [{ data: tUiActionsList }, fetchTUiActionsList] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiAction/search`,\n {\n method: 'post',\n data: {\n filterElements: [\n {\n searchField: 'TransactionTypeId',\n searchOperator: '=',\n searchValue: selectedTransactionType?.transactionTypeId,\n groupId: 1\n }\n ],\n getAll: true\n }\n },\n !!!isTransactionUiActionSidesheetOpen,\n false\n );\n\n /** TransactionUiActionType */\n const [{ data: transactionUiActionTypes }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionUiActionType`,\n {\n method: 'GET'\n },\n false,\n false\n );\n\n /** TransactionTypeConfiguration */\n const postCreateTransactionTypeConfiguration = async (\n transactionTypeConfiguration\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfiguration`,\n {\n method: 'POST'\n },\n {\n data: transactionTypeConfiguration\n }\n );\n };\n\n const putUpdateTransactionTypeConfiguration = async (\n transactionTypeConfigurationId,\n transactionTypeConfiguration\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfiguration/${transactionTypeConfigurationId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionTypeConfiguration\n }\n );\n };\n\n const deleteTransactionTypeConfiguration = async (\n transactionTypeConfigurationId\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfiguration/${transactionTypeConfigurationId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n /** TransactionRuleType */\n const [{ data: transactionRuleTypes }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionRuleType`,\n {\n method: 'GET'\n },\n false,\n false\n );\n\n /** Roles */\n const [{ data: roles }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `Roles?tenantId=${user?.currentTenantId}`,\n {\n method: 'GET'\n },\n !!!user?.currentTenantId,\n false\n );\n\n /** TransactionTypeConfigurationTransactionAction */\n const postCreateTransactionTypeConfigurationTransactionAction = async (\n ttcta\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfigurationTransactionAction/createBulk`,\n {\n method: 'POST'\n },\n {\n data: ttcta\n }\n );\n };\n\n const putUpdateTransactionTypeConfigurationTransactionAction = async (\n transactionTypeConfigurationId,\n transactionTypeTransactionActionId,\n transactionTypeConfigurationTransactionAction\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfigurationTransactionAction/${transactionTypeConfigurationId}/${transactionTypeTransactionActionId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionTypeConfigurationTransactionAction\n }\n );\n };\n\n const deleteTransactionTypeConfigurationTransactionAction = async (\n transactionTypeConfigurationId,\n transactionTypeTransactionActionId\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfigurationTransactionAction/${transactionTypeConfigurationId}/${transactionTypeTransactionActionId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const [{ data: ttctaList }, fetchTtctaList] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpTransactionTypeConfigurationTransactionAction/search`,\n {\n method: 'post',\n data: {\n filterElements: [\n {\n searchField: 'TransactionTypeConfigurationId',\n searchOperator: '=',\n searchValue:\n selectedTransactionTypeConfiguration?.transactionTypeConfigurationId,\n groupId: 1\n }\n ],\n getAll: true\n }\n },\n !!!selectedTransactionTypeConfiguration?.transactionTypeConfigurationId,\n false\n );\n\n /** TransactionAttachmenType */\n const postCreateTransactionAttachmentType = async (\n transactionAttachmentType\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionAttachmentType`,\n {\n method: 'POST'\n },\n {\n data: transactionAttachmentType\n }\n );\n };\n\n const putUpdateTransactionAttachmentType = async (\n transactionAttachmentTypeId,\n transactionAttachmentType\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionAttachmentType/${transactionAttachmentTypeId}`,\n {\n method: 'PUT'\n },\n {\n data: transactionAttachmentType\n }\n );\n };\n\n const deleteTransactionAttachmentType = async (\n transactionAttachmentTypeId\n ) => {\n return await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpTransactionAttachmentType/${transactionAttachmentTypeId}`,\n {\n method: 'DELETE'\n }\n );\n };\n\n const currentApiCatalogId = useCatalogStore(\n (state) => state.currentApiCatalogId\n );\n\n const [{ data: catalogObjectNames }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `apiCatalog/${currentApiCatalogId}/catalogObjectNames?modelsOnly=true`,\n {},\n !!!currentApiCatalogId,\n false\n );\n\n const domainName = selectedDomainName || selectedTransactionType?.domainName;\n\n const [{ data: catalogObject }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `apiCatalog/${currentApiCatalogId}/catalogObject/${domainName}`,\n {},\n !!!currentApiCatalogId || !!!domainName,\n false\n );\n\n // Get the list of properties for the selected domain name (i.e. catalogObjectName)\n const catalogObjectProperties = useMemo(() => {\n if (!selectedDomainName || !catalogObject?.properties) return [];\n return catalogObject.properties\n .filter(\n (property) =>\n property.name !== 'businessObjectKey' && property.name !== null\n )\n .map((property) => property.name);\n }, [catalogObject, selectedDomainName]);\n\n const catalogObjectDateProperties = useMemo(() => {\n if (!selectedDomainName || !catalogObject?.properties) return [];\n return catalogObject.properties\n .filter(\n (property) =>\n property.name !== 'businessObjectKey' &&\n property.name !== null &&\n property.type === PropertyTypeEnum.DateTime\n )\n .map((property) => property.name);\n }, [catalogObject, selectedDomainName]);\n\n /** Sidesheet handlers */\n const handleSideSheet = useCallback((isOpen, transactionType) => {\n setIsTransactionTypeSideSheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n }, []);\n\n const handleTransactionTypeStatusSideSheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionTypeStatusSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionTypeStatusSideSheet = useCallback(\n (isOpen, transactionTypeStatus) => {\n setIsCreateOrEditTransactionTypeStatusSidesheetOpen(isOpen);\n setSelectedTransactionTypeStatus(transactionTypeStatus);\n },\n []\n );\n\n const handleTransactionTypeTransactionActionSidesheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionTypeTransactionActionSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionTypeTransactionActionSidesheet =\n useCallback((isOpen, transactionTypeTransactionAction) => {\n setIsCreateOrEditTransactionTypeTransactionActionSidesheetOpen(isOpen);\n setSelectedTransactionTypeTransactionAction(\n transactionTypeTransactionAction\n );\n }, []);\n\n const handleTransactionUiActionSidesheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionUiActionSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionUiActionSidesheet = useCallback(\n (isOpen, transactionUiAction) => {\n setIsCreateOrEditTransactionUiActionSidesheetOpen(isOpen);\n setSelectedTransactionUiAction(transactionUiAction);\n },\n []\n );\n\n const handleTransactionTypeConfigurationSidesheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionTypeConfigurationSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionTypeConfigurationSidesheet = useCallback(\n (isOpen, transactionTypeConfiguration) => {\n setIsCreateOrEditTransactionTypeConfigurationSidesheetOpen(isOpen);\n setSelectedTransactionTypeConfiguration(transactionTypeConfiguration);\n },\n []\n );\n\n const handleTransactionTypeConfigurationTransactionActionSidesheet =\n useCallback((isOpen, transactionTypeConfiguration) => {\n setIsTransactionTypeConfigurationTransactionActionSidesheetOpen(isOpen);\n setSelectedTransactionTypeConfiguration(transactionTypeConfiguration);\n }, []);\n\n const handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet =\n useCallback((isOpen, transactionTypeConfigurationTransactionAction) => {\n setIsCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen(\n isOpen\n );\n setSelectedTransactionTypeConfigurationTransactionAction(\n transactionTypeConfigurationTransactionAction\n );\n }, []);\n\n const handleTransactionAttachmentTypeSidesheet = useCallback(\n (isOpen, transactionType) => {\n setIsTransactionAttachmentTypeSidesheetOpen(isOpen);\n setSelectedTransactionType(transactionType);\n },\n []\n );\n\n const handleCreateOrEditTransactionAttachmentTypeSidesheet = useCallback(\n (isOpen, transactionAttachmentType) => {\n setIsCreateOrEditTransactionAttachmentTypeSidesheetOpen(isOpen);\n setSelectedTransactionAttachmentType(transactionAttachmentType);\n },\n []\n );\n\n // API call handlers\n /** TransactionType */\n const handleCreateTransactionType = useCallback(\n async (formValues) => {\n const { domainFields, ...restValues } = formValues;\n\n const { pageConfigurationColumnDefsDict, domainFieldsDict } = (\n Array.isArray(domainFields) ? domainFields : []\n ).reduce(\n (accumulator, entry) => {\n if (!entry || !entry[0]) {\n return accumulator;\n }\n\n const field = entry[0];\n let fieldKey = field;\n // Add a prefix, _UdpBusinessDomain_, to the non-custom, non-required/Transaction domain fields, e.g. ones that were selected from catalogObjectProperties\n if (catalogObjectProperties.includes(fieldKey)) {\n fieldKey = `${UdpSearchEnums.UdpBusinessDomainPrefix}_${fieldKey}`;\n }\n const config = entry[1] || {};\n\n const displayName = config.displayName || field;\n const order = config.order || 0;\n const hide = config.hide || false;\n\n // Always add to the PageConfiguration\n accumulator.pageConfigurationColumnDefsDict[fieldKey] = {\n displayName,\n order,\n hide\n };\n\n // Conditionally add to DomainFields (excludes the required Transaction/Additional fields)\n if (!REQUIRED_COLUMN_DEF_FIELDS.includes(field)) {\n accumulator.domainFieldsDict[field] = {\n displayName,\n order,\n hide\n };\n }\n\n return accumulator;\n },\n { pageConfigurationColumnDefsDict: {}, domainFieldsDict: {} }\n );\n\n const pageConfiguration = {\n gridTitle: restValues?.gridTitle || '',\n createTransactionButtonLabel:\n restValues?.createTransactionButtonLabel || '',\n hideCreateTransaction: restValues?.hideCreateTransaction,\n paginationAutoPageSize: restValues?.paginationAutoPageSize,\n hideSaveChanges: restValues?.hideSaveChanges,\n columnDefProperties: pageConfigurationColumnDefsDict,\n calendarViewConfiguration: {\n enabled: !!restValues?.calendarViewEnabled,\n isDefaultView:\n !!restValues?.calendarViewEnabled && !!restValues?.isDefaultView,\n defaultCalendarViewType:\n restValues?.defaultCalendarViewType || '',\n domainStartDateProperty:\n restValues?.domainStartDateProperty || '',\n domainEndDateProperty: restValues?.domainEndDateProperty || '',\n domainPropertyToDisplay:\n restValues?.domainPropertyToDisplay || ''\n }\n };\n\n const newTransactionType = {\n ...restValues,\n domainFields: domainFieldsDict,\n pageConfiguration: pageConfiguration\n };\n\n try {\n const response = await postCreateTransactionType(newTransactionType);\n if (response?.status === 201) {\n enqueueSnackbar(t('TransactionType created successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleSideSheet(false);\n setSelectedDomainName('');\n gridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n catalogObjectProperties,\n enqueueSnackbar,\n handleSideSheet,\n successAction,\n t\n ]\n );\n\n const handleUpdateTransactionType = useCallback(\n async (formValues, initialValues) => {\n const { domainFields, ...restValues } = formValues;\n const transactionTypeId = initialValues.transactionTypeId;\n\n const { pageConfigurationColumnDefsDict, domainFieldsDict } = (\n Array.isArray(domainFields) ? domainFields : []\n ).reduce(\n (accumulator, entry) => {\n if (!entry || !entry[0]) {\n return accumulator;\n }\n\n const field = entry[0];\n let fieldKey = field;\n // Add a prefix, _UdpBusinessDomain_, to the non-custom, non-required/Transaction domain fields, e.g. ones that were selected from catalogObjectProperties\n if (catalogObjectProperties.includes(fieldKey)) {\n fieldKey = `${UdpSearchEnums.UdpBusinessDomainPrefix}_${fieldKey}`;\n }\n const config = entry[1] || {};\n\n const displayName = config.displayName || field;\n const order = config.order || 0;\n const hide = config.hide || false;\n\n // Always add to the PageConfiguration\n accumulator.pageConfigurationColumnDefsDict[fieldKey] = {\n displayName,\n order,\n hide\n };\n\n // Conditionally add to DomainFields (excludes the required Transaction fields)\n if (!REQUIRED_COLUMN_DEF_FIELDS.includes(field)) {\n accumulator.domainFieldsDict[field] = {\n displayName,\n order,\n hide\n };\n }\n\n return accumulator;\n },\n { pageConfigurationColumnDefsDict: {}, domainFieldsDict: {} }\n );\n\n const pageConfiguration = {\n gridTitle: restValues?.gridTitle || '',\n createTransactionButtonLabel:\n restValues?.createTransactionButtonLabel || '',\n hideCreateTransaction: restValues?.hideCreateTransaction,\n paginationAutoPageSize: restValues?.paginationAutoPageSize,\n hideSaveChanges: restValues?.hideSaveChanges,\n columnDefProperties: pageConfigurationColumnDefsDict,\n calendarViewConfiguration: {\n enabled: !!restValues?.calendarViewEnabled,\n isDefaultView:\n !!restValues?.calendarViewEnabled && !!restValues?.isDefaultView,\n defaultCalendarViewType:\n restValues?.defaultCalendarViewType || '',\n domainStartDateProperty:\n restValues?.domainStartDateProperty || '',\n domainEndDateProperty: restValues?.domainEndDateProperty || '',\n domainPropertyToDisplay:\n restValues?.domainPropertyToDisplay || ''\n }\n };\n\n const updatedTransactionType = {\n ...initialValues,\n ...formValues,\n domainFields: domainFieldsDict,\n pageConfiguration: pageConfiguration\n };\n\n try {\n const response = await putUpdateTransactionType(\n transactionTypeId,\n updatedTransactionType\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionType updated successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleSideSheet(false);\n setSelectedDomainName('');\n gridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n catalogObjectProperties,\n enqueueSnackbar,\n handleSideSheet,\n successAction,\n t\n ]\n );\n\n const handleDeleteTransactionType = useCallback(async () => {\n if (!selectedTransactionType) return;\n\n setIsTransactionTypeSidesheetLoading(true);\n const transactionTypeId = selectedTransactionType.transactionTypeId;\n\n try {\n const response = await deleteTransactionType(transactionTypeId);\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionType deleted successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n setIsDeleteTransactionTypeDialogOpen(false);\n gridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n } finally {\n setIsTransactionTypeSidesheetLoading(false);\n }\n }, [\n enqueueSnackbar,\n selectedTransactionType,\n successAction,\n t,\n setIsTransactionTypeSidesheetLoading,\n setIsDeleteTransactionTypeDialogOpen\n ]);\n /** end of TransactionType */\n\n /** TransactionTypeStatus */\n const handleCreateTransactionTypeStatus = useCallback(\n async (formValues) => {\n const newTransactionTypeStatus = {\n ...formValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n color: formValues?.color?.value || null\n };\n let hasDefaultOrCancelledStatus = false;\n\n try {\n const isCreatingDefaultStatus = formValues?.isDefault === true;\n const isCreatingCancelledStatus =\n formValues?.isCancelledStatus === true;\n if (isCreatingDefaultStatus || isCreatingCancelledStatus) {\n const searchTransactionTypeStatusResponse =\n await searchTransactionTypeStatusByTransactionTypeId(\n selectedTransactionType?.transactionTypeId\n );\n if (searchTransactionTypeStatusResponse?.status !== 200) {\n enqueueSnackbar(\n t(\n 'Unable to validate existing TransactionTypeStatus records. Please try again.'\n ),\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n return;\n }\n hasDefaultOrCancelledStatus =\n hasDefaultAndCancelledTransactionTypeStatus(\n searchTransactionTypeStatusResponse?.data?.pageList,\n isCreatingDefaultStatus,\n isCreatingCancelledStatus\n );\n }\n\n if (\n (isCreatingDefaultStatus || isCreatingCancelledStatus) &&\n hasDefaultOrCancelledStatus\n ) {\n let statusConflictMessage = '';\n if (isCreatingDefaultStatus) {\n statusConflictMessage =\n 'There is already a TransactionTypeStatus for this TransactionType that has IsDefault set to true.';\n } else if (isCreatingCancelledStatus) {\n statusConflictMessage =\n 'There is already a TransactionTypeStatus for this TransactionType that has IsCancelledStatus set to true.';\n }\n enqueueSnackbar(t(statusConflictMessage), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n });\n return;\n }\n const response = await postCreateTransactionTypeStatus(\n newTransactionTypeStatus\n );\n if (response?.status === 201) {\n enqueueSnackbar(t('TransactionTypeStatus created successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionTypeStatusSideSheet(false);\n ttsGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response?.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttsGridApiRef,\n handleCreateOrEditTransactionTypeStatusSideSheet,\n successAction,\n t,\n selectedTransactionType,\n searchTransactionTypeStatusByTransactionTypeId,\n hasDefaultAndCancelledTransactionTypeStatus\n ]\n );\n\n const handleUpdateTransactionTypeStatus = useCallback(\n async (formValues, initialValues) => {\n const transactionTypeStatusId = initialValues.transactionTypeStatusId;\n const updatedTransactionTypeStatus = {\n ...initialValues,\n ...formValues,\n color: formValues?.color?.value || null\n };\n let hasExistingDefaultOrCancelledStatus = false;\n\n try {\n const isEditingDefaultStatus = formValues?.isDefault === true;\n const isEditingCancelledStatus = formValues?.isCancelledStatus === true;\n if (isEditingDefaultStatus || isEditingCancelledStatus) {\n const searchTransactionTypeStatusResponse =\n await searchTransactionTypeStatusByTransactionTypeId(\n selectedTransactionType?.transactionTypeId\n );\n if (searchTransactionTypeStatusResponse?.status !== 200) {\n enqueueSnackbar(\n t(\n 'Unable to validate existing TransactionTypeStatus records. Please try again.'\n ),\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n return;\n }\n hasExistingDefaultOrCancelledStatus =\n hasDefaultAndCancelledTransactionTypeStatus(\n searchTransactionTypeStatusResponse?.data?.pageList,\n isEditingDefaultStatus,\n isEditingCancelledStatus\n );\n }\n\n if (\n (isEditingDefaultStatus || isEditingCancelledStatus) &&\n hasExistingDefaultOrCancelledStatus\n ) {\n enqueueSnackbar(\n t(`There is already a TransactionTypeStatus for this TransactionType that has\n ${\n isEditingDefaultStatus\n ? isEditingCancelledStatus\n ? 'IsDefault and/or IsCancelledStatus'\n : 'IsDefault'\n : 'IsCancelledStatus'\n } set to true.`),\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n return;\n }\n const response = await putUpdateTransactionTypeStatus(\n transactionTypeStatusId,\n updatedTransactionTypeStatus\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionTypeStatus updated successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionTypeStatusSideSheet(false);\n ttsGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response?.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttsGridApiRef,\n handleCreateOrEditTransactionTypeStatusSideSheet,\n successAction,\n t,\n searchTransactionTypeStatusByTransactionTypeId,\n hasDefaultAndCancelledTransactionTypeStatus,\n selectedTransactionType\n ]\n );\n\n const handleDeleteTransactionTypeStatus = useCallback(async () => {\n if (!selectedTransactionTypeStatus) return;\n\n const transactionTypeStatusId =\n selectedTransactionTypeStatus.transactionTypeStatusId;\n\n try {\n const response = await deleteTransactionTypeStatus(\n transactionTypeStatusId\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionTypeStatus deleted successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n setIsDeleteTransactionTypeStatusDialogOpen(false);\n ttsGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionTypeStatus,\n successAction,\n t,\n ttsGridApiRef,\n setIsDeleteTransactionTypeStatusDialogOpen\n ]);\n /** end of TransactionTypeStatus */\n\n /** TransactionTypeTransactionAction */\n const handleCreateTransactionTypeTransactionAction = useCallback(\n async (formValues) => {\n const {\n transactionAction,\n toStatus,\n actionApiId,\n pageId,\n mandatoryFields,\n hiddenFields,\n domainDataToUpdate,\n ...restValues\n } = formValues || {};\n\n const domainDataDictionary = (\n Array.isArray(domainDataToUpdate) ? domainDataToUpdate : []\n ).reduce((accumulator, entry) => {\n if (!entry) {\n return accumulator;\n }\n\n const [field, value] = entry;\n if (field) {\n accumulator[field] = value;\n }\n\n return accumulator;\n }, {});\n\n const newTransactionTypeTransactionAction = {\n ...restValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionActionId: transactionAction?.transactionActionId,\n parameters: {\n ToStatus: toStatus?.transactionTypeStatusId,\n DomainDataToUpdate: domainDataDictionary,\n MandatoryFields: Array.isArray(mandatoryFields)\n ? mandatoryFields\n : [],\n HiddenFields: Array.isArray(hiddenFields) ? hiddenFields : [],\n ActionApiId: actionApiId?.actionApiId || '',\n PageId: pageId?.pageId || ''\n }\n };\n\n try {\n const response = await postCreateTransactionTypeTransactionAction(\n newTransactionTypeTransactionAction\n );\n if (response?.status === 201) {\n enqueueSnackbar(\n t('TransactionTypeTransactionAction created successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeTransactionActionSidesheet(false);\n tttaGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tttaGridApiRef,\n handleCreateOrEditTransactionTypeTransactionActionSidesheet,\n successAction,\n t,\n selectedTransactionType\n ]\n );\n\n const handleUpdateTransactionTypeTransactionAction = useCallback(\n async (formValues, initialValues) => {\n const {\n transactionAction,\n toStatus,\n actionApiId,\n pageId,\n mandatoryFields,\n hiddenFields,\n domainDataToUpdate\n } = formValues || {};\n\n const transactionTypeTransactionActionId =\n initialValues.transactionTypeTransactionActionId;\n // Process the domainDataToUpdate array form data into an object\n const domainDataDictionary = (\n Array.isArray(domainDataToUpdate) ? domainDataToUpdate : []\n ).reduce((accumulator, entry) => {\n if (!entry) {\n return accumulator;\n }\n\n const [field, value] = entry;\n if (field) {\n accumulator[field] = value;\n }\n\n return accumulator;\n }, {});\n\n const updatedTransactionTypeTransactionAction = {\n ...initialValues,\n name: formValues?.name || '',\n description: formValues?.description || '',\n icon: formValues?.icon || '',\n transactionTypeTransactionActionId: transactionTypeTransactionActionId,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionActionId: transactionAction?.transactionActionId,\n parameters: {\n ToStatus: toStatus?.transactionTypeStatusId,\n DomainDataToUpdate: domainDataDictionary,\n MandatoryFields: Array.isArray(mandatoryFields)\n ? mandatoryFields\n : [],\n HiddenFields: Array.isArray(hiddenFields) ? hiddenFields : [],\n ActionApiId: actionApiId?.actionApiId || '',\n PageId: pageId?.pageId || ''\n }\n };\n\n try {\n const response = await putUpdateTransactionTypeTransactionAction(\n transactionTypeTransactionActionId,\n updatedTransactionTypeTransactionAction\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t('TransactionTypeTransactionAction updated successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeTransactionActionSidesheet(false);\n tttaGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tttaGridApiRef,\n handleCreateOrEditTransactionTypeTransactionActionSidesheet,\n successAction,\n t,\n selectedTransactionType\n ]\n );\n\n const handleDeleteTransactionTypeTransactionAction = useCallback(async () => {\n if (!selectedTransactionTypeTransactionAction) return;\n\n const transactionTypeTransactionActionId =\n selectedTransactionTypeTransactionAction.transactionTypeTransactionActionId;\n\n try {\n const response = await deleteTransactionTypeTransactionAction(\n transactionTypeTransactionActionId\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t('TransactionTypeTransactionAction deleted successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n setIsDeleteTransactionTypeTransactionActionDialogOpen(false);\n tttaGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionTypeTransactionAction,\n successAction,\n t,\n setIsDeleteTransactionTypeTransactionActionDialogOpen\n ]);\n /** end of TransactionTypeTransactionAction */\n\n /** TransactionUiAction */\n const handleCreateTransactionUiAction = useCallback(\n async (formValues) => {\n const { transactionUiActionType, actionApi, page, ...restValues } =\n formValues;\n\n const newTransactionUiAction = {\n ...restValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionUiActionTypeId:\n transactionUiActionType?.transactionUiActionTypeId,\n parameters: {\n ActionApiId: actionApi?.actionApiId || '',\n PageId: page?.pageId || ''\n }\n };\n\n try {\n const response = await postCreateTransactionUiAction(\n newTransactionUiAction\n );\n if (response?.status === 201) {\n enqueueSnackbar(t('TransactionUiAction created successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionUiActionSidesheet(false);\n tuaGridApiRef.current?.refreshServerSide();\n fetchTUiActionsList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tuaGridApiRef,\n handleCreateOrEditTransactionUiActionSidesheet,\n successAction,\n t,\n selectedTransactionType,\n fetchTUiActionsList\n ]\n );\n\n const handleUpdateTransactionUiAction = useCallback(\n async (formValues, initialValues) => {\n const { transactionUiActionType, actionApi, page, ...restValues } =\n formValues;\n const transactionUiActionId = initialValues.transactionUiActionId;\n\n const updatedTransactionUiAction = {\n ...restValues,\n transactionUiActionId: transactionUiActionId,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionUiActionTypeId:\n transactionUiActionType?.transactionUiActionTypeId,\n parameters: {\n ActionApiId: actionApi?.actionApiId || '',\n PageId: page?.pageId || ''\n }\n };\n\n try {\n const response = await putUpdateTransactionUiAction(\n transactionUiActionId,\n updatedTransactionUiAction\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionUiAction updated successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionUiActionSidesheet(false);\n tuaGridApiRef.current?.refreshServerSide();\n fetchTUiActionsList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tuaGridApiRef,\n handleCreateOrEditTransactionUiActionSidesheet,\n successAction,\n t,\n selectedTransactionType,\n fetchTUiActionsList\n ]\n );\n\n const handleDeleteTransactionUiAction = useCallback(async () => {\n if (!selectedTransactionUiAction) return;\n\n const transactionUiActionId =\n selectedTransactionUiAction.transactionUiActionId;\n\n try {\n const response = await deleteTransactionUiAction(transactionUiActionId);\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionUiAction deleted successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n setIsDeleteTransactionUiActionDialogOpen(false);\n tuaGridApiRef.current?.refreshServerSide();\n fetchTUiActionsList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionUiAction,\n successAction,\n t,\n setIsDeleteTransactionUiActionDialogOpen,\n fetchTUiActionsList\n ]);\n /** end of TransactionUiAction */\n\n /** TransactionTypeConfiguration */\n const handleCreateTransactionTypeConfiguration = useCallback(\n async (formValues) => {\n const {\n transactionRuleType,\n currentStatus,\n tenantUserRoles,\n currentDomainValue,\n ...restValues\n } = formValues;\n\n const domainDataDictionary = (\n Array.isArray(currentDomainValue) ? currentDomainValue : []\n ).reduce((accumulator, entry) => {\n if (!entry) {\n return accumulator;\n }\n\n const field = entry[0];\n const value = entry[1].value;\n const operator = entry[1]?.operator?.value;\n if (field) {\n accumulator[field] = {\n value: value,\n operator: operator\n };\n }\n\n return accumulator;\n }, {});\n\n const tenantUserRoleIds = tenantUserRoles?.map((tur) => tur?.roleId);\n const configurationObj = {\n CurrentStatus: currentStatus,\n CurrentDomainValue: domainDataDictionary,\n TenantUserRoleIds: Array.isArray(tenantUserRoleIds)\n ? tenantUserRoleIds\n : []\n };\n const expressionLogic =\n formatTransactionTypeConfigurationIntoExpressionLogic(configurationObj);\n const newTransactionTypeConfiguration = {\n ...restValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionRuleTypeId: transactionRuleType?.transactionRuleTypeId,\n configuration: {\n ...configurationObj,\n CurrentStatusId: currentStatus?.transactionTypeStatusId\n },\n expressionLogic\n };\n\n try {\n const response = await postCreateTransactionTypeConfiguration(\n newTransactionTypeConfiguration\n );\n if (response?.status === 201) {\n enqueueSnackbar(\n t('TransactionTypeConfiguration created successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeConfigurationSidesheet(false);\n ttcGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttcGridApiRef,\n handleCreateOrEditTransactionTypeConfigurationSidesheet,\n successAction,\n t,\n selectedTransactionType\n ]\n );\n\n const handleUpdateTransactionTypeConfiguration = useCallback(\n async (formValues, initialValues) => {\n const {\n transactionRuleType,\n currentStatus,\n tenantUserRoles,\n currentDomainValue,\n name,\n ...restValues\n } = formValues;\n const transactionTypeConfigurationId =\n initialValues.transactionTypeConfigurationId;\n\n const domainDataDictionary = (\n Array.isArray(currentDomainValue) ? currentDomainValue : []\n ).reduce((accumulator, entry) => {\n if (!entry) {\n return accumulator;\n }\n\n const field = entry[0];\n const value = entry[1].value;\n const operator = entry[1]?.operator?.value;\n if (field) {\n accumulator[field] = {\n value: value,\n operator: operator\n };\n }\n\n return accumulator;\n }, {});\n\n const tenantUserRoleIds = tenantUserRoles?.map((tur) => tur?.roleId);\n const configurationObj = {\n CurrentStatus: currentStatus,\n CurrentDomainValue: domainDataDictionary,\n TenantUserRoleIds: Array.isArray(tenantUserRoleIds)\n ? tenantUserRoleIds\n : []\n };\n const expressionLogic =\n formatTransactionTypeConfigurationIntoExpressionLogic(configurationObj);\n const updatedTransactionTypeConfiguration = {\n ...initialValues,\n name: name || '',\n order: formValues?.order || 0,\n enabled: formValues?.enabled,\n transactionTypeConfigurationId: transactionTypeConfigurationId,\n transactionTypeId: selectedTransactionType?.transactionTypeId,\n transactionRuleTypeId: transactionRuleType?.transactionRuleTypeId,\n configuration: {\n ...configurationObj,\n CurrentStatusId: currentStatus?.transactionTypeStatusId\n },\n expressionLogic\n };\n\n try {\n const response = await putUpdateTransactionTypeConfiguration(\n transactionTypeConfigurationId,\n updatedTransactionTypeConfiguration\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t('TransactionTypeConfiguration updated successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeConfigurationSidesheet(false);\n ttcGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttcGridApiRef,\n handleCreateOrEditTransactionTypeConfigurationSidesheet,\n successAction,\n t,\n selectedTransactionType\n ]\n );\n\n const handleDeleteTransactionTypeConfiguration = useCallback(async () => {\n if (!selectedTransactionTypeConfiguration) return;\n\n const transactionTypeConfigurationId =\n selectedTransactionTypeConfiguration.transactionTypeConfigurationId;\n\n try {\n const response = await deleteTransactionTypeConfiguration(\n transactionTypeConfigurationId\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t('TransactionTypeConfiguration deleted successfully'),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n setIsDeleteTransactionTypeConfigurationDialogOpen(false);\n ttcGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionTypeConfiguration,\n successAction,\n t,\n setIsDeleteTransactionTypeConfigurationDialogOpen\n ]);\n /** end of TransactionTypeConfiguration */\n\n /** TransactionTypeConfigurationTransactionAction */\n const handleCreateTransactionTypeConfigurationTransactionAction = useCallback(\n async (formValues) => {\n const { transactionTypeTransactionActions } = formValues;\n\n const newTTCTActions = [];\n\n transactionTypeTransactionActions?.forEach((action) => {\n newTTCTActions.push({\n transactionTypeConfigurationId:\n selectedTransactionTypeConfiguration?.transactionTypeConfigurationId,\n transactionTypeTransactionActionId:\n action?.transactionTypeTransactionActionId\n });\n });\n\n try {\n const response =\n await postCreateTransactionTypeConfigurationTransactionAction(\n newTTCTActions\n );\n if (response?.status === 201) {\n enqueueSnackbar(\n t(\n 'TransactionTypeConfigurationTransactionAction(s) created successfully'\n ),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet(\n false\n );\n ttctaGridApiRef.current?.refreshServerSide();\n fetchTtctaList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttctaGridApiRef,\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet,\n successAction,\n t,\n selectedTransactionTypeConfiguration,\n fetchTtctaList\n ]\n );\n\n const handleUpdateTransactionTypeConfigurationTransactionAction = useCallback(\n async (formValues, initialValues) => {\n const { transactionTypeTransactionActions } = formValues;\n const transactionTypeConfigurationId =\n selectedTransactionTypeConfiguration?.transactionTypeConfigurationId;\n const existingTransactionTypeTransactionActionId =\n initialValues?.transactionTypeTransactionActionId;\n\n const updatedTransactionTypeConfigurationTransactionAction = {\n transactionTypeConfigurationId: transactionTypeConfigurationId,\n transactionTypeTransactionActionId:\n transactionTypeTransactionActions?.[0]\n ?.transactionTypeTransactionActionId\n };\n\n try {\n const response =\n await putUpdateTransactionTypeConfigurationTransactionAction(\n transactionTypeConfigurationId,\n existingTransactionTypeTransactionActionId,\n updatedTransactionTypeConfigurationTransactionAction\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t(\n 'TransactionTypeConfigurationTransactionAction updated successfully'\n ),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet(\n false\n );\n ttctaGridApiRef.current?.refreshServerSide();\n fetchTtctaList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n ttctaGridApiRef,\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet,\n successAction,\n t,\n selectedTransactionTypeConfiguration,\n fetchTtctaList\n ]\n );\n\n const handleDeleteTransactionTypeConfigurationTransactionAction =\n useCallback(async () => {\n if (!selectedTransactionTypeConfigurationTransactionAction) return;\n\n const transactionTypeConfigurationId =\n selectedTransactionTypeConfigurationTransactionAction?.transactionTypeConfigurationId;\n const transactionTypeTransactionActionId =\n selectedTransactionTypeConfigurationTransactionAction?.transactionTypeTransactionActionId;\n\n try {\n const response =\n await deleteTransactionTypeConfigurationTransactionAction(\n transactionTypeConfigurationId,\n transactionTypeTransactionActionId\n );\n if (response.status === 204) {\n enqueueSnackbar(\n t(\n 'TransactionTypeConfigurationTransactionAction deleted successfully'\n ),\n {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n }\n );\n }\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen(\n false\n );\n ttctaGridApiRef.current?.refreshServerSide();\n fetchTtctaList();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n ttctaGridApiRef,\n enqueueSnackbar,\n selectedTransactionTypeConfigurationTransactionAction,\n successAction,\n t,\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen,\n fetchTtctaList\n ]);\n /** end of TransactionTypeConfigurationTransactionAction */\n\n /** TransactionAttachmentType */\n const handleCreateTransactionAttachmentType = useCallback(\n async (formValues) => {\n const newTransactionAttachmentType = {\n ...formValues,\n transactionTypeId: selectedTransactionType?.transactionTypeId\n };\n\n try {\n const response = await postCreateTransactionAttachmentType(\n newTransactionAttachmentType\n );\n if (response?.status === 201) {\n enqueueSnackbar(t('TransactionAttachmentType created successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionAttachmentTypeSidesheet(false);\n tatGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [\n enqueueSnackbar,\n tatGridApiRef,\n successAction,\n t,\n selectedTransactionType,\n handleCreateOrEditTransactionAttachmentTypeSidesheet\n ]\n );\n\n const handleUpdateTransactionAttachmentType = useCallback(\n async (formValues, initialValues) => {\n const transactionTypeId = selectedTransactionType?.transactionTypeId;\n const transactionAttachmentTypeId =\n selectedTransactionAttachmentType?.transactionAttachmentTypeId;\n const updatedTransactionType = {\n ...initialValues,\n ...formValues,\n transactionTypeId: transactionTypeId,\n transactionAttachmentTypeId: transactionAttachmentTypeId\n };\n\n try {\n const response = await putUpdateTransactionAttachmentType(\n transactionAttachmentTypeId,\n updatedTransactionType\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionAttachmentType updated successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n handleCreateOrEditTransactionAttachmentTypeSidesheet(false);\n tatGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n },\n [enqueueSnackbar, selectedTransactionType, successAction, t]\n );\n\n const handleDeleteTransactionAttachmentType = useCallback(async () => {\n if (!selectedTransactionAttachmentType) return;\n\n const transactionAttachmentTypeId =\n selectedTransactionAttachmentType?.transactionAttachmentTypeId;\n\n try {\n const response = await deleteTransactionAttachmentType(\n transactionAttachmentTypeId\n );\n if (response.status === 204) {\n enqueueSnackbar(t('TransactionAttachmentType deleted successfully'), {\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: successAction\n });\n }\n setIsDeleteTransactionAttachmentTypeDialogOpen(false);\n tatGridApiRef.current?.refreshServerSide();\n } catch (err) {\n enqueueSnackbar(\n typeof err.response.data === 'object'\n ? err.response.data.title\n : err.response.data,\n {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }\n );\n }\n }, [\n enqueueSnackbar,\n selectedTransactionAttachmentType,\n tatGridApiRef,\n successAction,\n t,\n setIsDeleteTransactionAttachmentTypeDialogOpen\n ]);\n /** end of TransactionAttachmentType */\n\n const handleOpenDeleteTransactionTypeDialog = useCallback(\n (transactionType) => {\n setSelectedTransactionType(transactionType);\n setIsDeleteTransactionTypeDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionTypeDialog = useCallback(() => {\n setIsDeleteTransactionTypeDialogOpen(false);\n setSelectedTransactionType(null);\n }, []);\n\n const handleOpenDeleteTransactionTypeStatusDialog = useCallback(\n (transactionTypeStatus) => {\n setSelectedTransactionTypeStatus(transactionTypeStatus);\n setIsDeleteTransactionTypeStatusDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionTypeStatusDialog = useCallback(() => {\n setIsDeleteTransactionTypeStatusDialogOpen(false);\n setSelectedTransactionTypeStatus(null);\n }, []);\n\n const handleOpenDeleteTransactionTypeTransactionActionDialog = useCallback(\n (transactionTypeTransactionAction) => {\n setSelectedTransactionTypeTransactionAction(\n transactionTypeTransactionAction\n );\n setIsDeleteTransactionTypeTransactionActionDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionTypeTransactionActionDialog =\n useCallback(() => {\n setIsDeleteTransactionTypeTransactionActionDialogOpen(false);\n setSelectedTransactionTypeTransactionAction(null);\n }, []);\n\n const handleOpenDeleteTransactionUiActionDialog = useCallback(\n (transactionUiAction) => {\n setSelectedTransactionUiAction(transactionUiAction);\n setIsDeleteTransactionUiActionDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionUiActionDialog = useCallback(() => {\n setIsDeleteTransactionUiActionDialogOpen(false);\n setSelectedTransactionUiAction(null);\n }, []);\n\n const handleOpenDeleteTransactionTypeConfigurationDialog = useCallback(\n (transactionTypeConfiguration) => {\n setSelectedTransactionTypeConfiguration(transactionTypeConfiguration);\n setIsDeleteTransactionTypeConfigurationDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionTypeConfigurationDialog =\n useCallback(() => {\n setIsDeleteTransactionTypeConfigurationDialogOpen(false);\n setSelectedTransactionTypeConfiguration(null);\n }, []);\n\n const handleOpenDeleteTransactionTypeConfigurationTransactionActionDialog =\n useCallback((transactionTypeConfigurationTransactionAction) => {\n setSelectedTransactionTypeConfigurationTransactionAction(\n transactionTypeConfigurationTransactionAction\n );\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen(true);\n }, []);\n\n const handleCloseDeleteTransactionTypeConfigurationTransactionActionDialog =\n useCallback(() => {\n setIsDeleteTransactionTypeConfigurationTransactionActionDialogOpen(false);\n setSelectedTransactionTypeConfigurationTransactionAction(null);\n }, []);\n\n const handleOpenDeleteTransactionAttachmentTypeDialog = useCallback(\n (transactionAttachmentType) => {\n setSelectedTransactionAttachmentType(transactionAttachmentType);\n setIsDeleteTransactionAttachmentTypeDialogOpen(true);\n },\n []\n );\n\n const handleCloseDeleteTransactionAttachmentTypeDialog = useCallback(() => {\n setIsDeleteTransactionAttachmentTypeDialogOpen(false);\n setSelectedTransactionAttachmentType(null);\n }, []);\n\n const columnDefs = useMemo(() => {\n return [\n {\n headerName: t('Transaction Type ID'),\n field: 'transactionTypeId',\n resizable: true,\n sortable: false,\n hide: true\n },\n {\n headerName: t('Name'),\n field: 'name',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Domain Name'),\n field: 'domainName',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Domain Fields'),\n field: 'domainFields',\n resizable: true,\n sortable: false,\n hide: true\n },\n {\n headerName: t('Allow Revisions'),\n field: 'hasRevision',\n resizable: true,\n sortable: false,\n cellDataType: 'boolean'\n },\n {\n headerName: t('Revision Field'),\n field: 'revisionField',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Enabled'),\n field: 'enabled',\n resizable: true,\n sortable: false,\n cellDataType: 'boolean'\n },\n {\n headerName: t('Archived on Cancel'),\n field: 'archiveOnCancel',\n resizable: true,\n sortable: false,\n cellDataType: 'boolean'\n },\n {\n headerName: t('Field Label'),\n field: 'domainFieldLabel',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Sub-Type'),\n field: 'domainFieldType',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Sub-Type Value'),\n field: 'domainFieldValue',\n resizable: true,\n sortable: false\n },\n {\n headerName: t('Actions'),\n field: 'actions',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: [\n {\n id: 0,\n title: t('Edit'),\n iconName: 'edit',\n handleOnClick: (e, transactionType) => {\n handleSideSheet(true, transactionType?.data);\n }\n },\n {\n id: 1,\n title: t('Delete'),\n iconName: 'trashCan',\n handleOnClick: (e, transactionType) => {\n handleOpenDeleteTransactionTypeDialog(transactionType?.data);\n }\n },\n {\n id: 2,\n title: t('Manage Statuses'),\n iconName: 'settings',\n handleOnClick: (e, transactionType) => {\n handleTransactionTypeStatusSideSheet(\n true,\n transactionType?.data\n );\n }\n },\n {\n id: 3,\n title: t('Manage Actions'),\n iconName: 'text-grammar-settings',\n handleOnClick: (e, transactionType) => {\n handleTransactionTypeTransactionActionSidesheet(\n true,\n transactionType?.data\n );\n }\n },\n {\n id: 4,\n title: t('Manage Forms/Pages'),\n iconName: 'form-new',\n handleOnClick: (e, transactionType) => {\n handleTransactionUiActionSidesheet(true, transactionType?.data);\n }\n },\n {\n id: 5,\n title: t('Manage Rules'),\n iconName: 'apps-list',\n handleOnClick: (e, transactionType) => {\n handleTransactionTypeConfigurationSidesheet(\n true,\n transactionType?.data\n );\n }\n },\n {\n id: 6,\n title: t('Manage Attachment Types'),\n iconName: 'attachment',\n handleOnClick: (e, transactionType) => {\n handleTransactionAttachmentTypeSidesheet(\n true,\n transactionType?.data\n );\n }\n }\n ]\n },\n valueGetter: (params) => params.data,\n suppressMenu: true,\n sortable: false,\n filter: false\n }\n ];\n }, [\n handleSideSheet,\n handleOpenDeleteTransactionTypeDialog,\n handleTransactionTypeStatusSideSheet,\n handleTransactionTypeTransactionActionSidesheet,\n handleTransactionUiActionSidesheet,\n handleTransactionTypeConfigurationSidesheet,\n handleTransactionAttachmentTypeSidesheet,\n t\n ]);\n\n const headerConfig = {\n title: t('Transaction Types'),\n primaryActionButton: {\n label: t('Add'),\n iconName: 'add',\n onClick: () => handleSideSheet(true)\n }\n };\n\n const gridFunctions = [\n { name: 'agGridExport' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' }\n ];\n\n const gridOptions = useMemo(() => {\n return {\n pagination: true\n };\n }, []);\n\n const handleGridApiCallback = (api) => {\n gridApiRef.current = api;\n };\n\n const searchMethodConfig = useMemo(() => {\n return {\n requestUrl: `${ConfigService.productV1ApiUrl}/UdpTransactionType/search`,\n customSearchObject: searchObject\n };\n }, [searchObject]);\n\n return (\n <>\n {isTransactionTypeSidesheetLoading && (\n <LinearProgress className={classes.loadingBar} color='secondary' />\n )}\n <SearchMethodUdpGrid\n searchMethodConfig={searchMethodConfig}\n columnDefs={columnDefs}\n gridHeaderConfig={headerConfig}\n gridOptions={gridOptions}\n gridApiCallback={handleGridApiCallback}\n gridFunctions={gridFunctions}\n />\n <UdpTransactionTypeSidesheet\n key={selectedTransactionType?.transactionTypeId}\n initialTransactionType={selectedTransactionType}\n selectedDomainName={selectedDomainName}\n isSideSheetOpen={isTransactionTypeSideSheetOpen}\n handleSideSheet={handleSideSheet}\n setSelectedDomainName={setSelectedDomainName}\n handleCreateTransactionType={handleCreateTransactionType}\n handleUpdateTransactionType={handleUpdateTransactionType}\n catalogObjectNames={catalogObjectNames}\n catalogObjectProperties={catalogObjectProperties}\n catalogObjectDateProperties={catalogObjectDateProperties}\n isPageConfigurationSidesheetOpen={isPageConfigurationSidesheetOpen}\n setIsPageConfigurationSidesheetOpen={\n setIsPageConfigurationSidesheetOpen\n }\n isCalendarViewConfigurationSidesheetOpen={\n isCalendarViewConfigurationSidesheetOpen\n }\n setIsCalendarViewConfigurationSidesheetOpen={\n setIsCalendarViewConfigurationSidesheetOpen\n }\n />\n {getTransactionsByTransactionIdLoading ? (\n <LinearProgress />\n ) : (\n <FluentDialog\n open={isDeleteTransactionTypeDialogOpen}\n onClose={handleCloseDeleteTransactionTypeDialog}\n title={t('Confirm Delete')}\n message={\n !transactionsByTransactionTypeId?.pageList?.length\n ? t(`Are you sure you want to delete this type?`)\n : t(`Unable to delete this type as there are existing transactions associated with it.\n As an alternative, you can disable the type to prevent further use.`)\n }\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionType}\n buttonOneHidden={!!transactionsByTransactionTypeId?.pageList?.length}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionTypeDialog}\n />\n )}\n <UdpTransactionTypeStatusSidesheet\n ref={ttsGridApiRef}\n transactionType={selectedTransactionType}\n transactionTypeStatus={selectedTransactionTypeStatus}\n isSideSheetOpen={isTransactionTypeStatusSidesheetOpen}\n isTransactionTypeStatusCreateOrEditSidesheetOpen={\n isCreateOrEditTransactionTypeStatusSidesheetOpen\n }\n handleTransactionTypeStatusSideSheet={\n handleTransactionTypeStatusSideSheet\n }\n handleCreateOrEditTransactionTypeStatusSideSheet={\n handleCreateOrEditTransactionTypeStatusSideSheet\n }\n handleCreateTransactionTypeStatus={handleCreateTransactionTypeStatus}\n handleUpdateTransactionTypeStatus={handleUpdateTransactionTypeStatus}\n handleDeleteTransactionTypeStatus={\n handleOpenDeleteTransactionTypeStatusDialog\n }\n />\n <FluentDialog\n open={isDeleteTransactionTypeStatusDialogOpen}\n onClose={handleCloseDeleteTransactionTypeStatusDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this status?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionTypeStatus}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionTypeStatusDialog}\n />\n <UdpTransactionTypeTransactionActionSidesheet\n ref={tttaGridApiRef}\n transactionType={selectedTransactionType}\n transactionTypeTransactionAction={\n selectedTransactionTypeTransactionAction\n }\n isSideSheetOpen={isTransactionTypeTransactionActionSidesheetOpen}\n isTransactionTypeTransactionActionCreateOrEditSidesheetOpen={\n isCreateOrEditTransactionTypeTransactionActionSidesheetOpen\n }\n handleTransactionTypeTransactionActionSidesheet={\n handleTransactionTypeTransactionActionSidesheet\n }\n handleCreateOrEditTransactionTypeTransactionActionSidesheet={\n handleCreateOrEditTransactionTypeTransactionActionSidesheet\n }\n handleCreateTransactionTypeTransactionAction={\n handleCreateTransactionTypeTransactionAction\n }\n handleUpdateTransactionTypeTransactionAction={\n handleUpdateTransactionTypeTransactionAction\n }\n handleDeleteTransactionTypeTransactionAction={\n handleOpenDeleteTransactionTypeTransactionActionDialog\n }\n transactionActions={transactionActions}\n catalogObjectProperties={catalogObjectProperties}\n actionApis={actionApis}\n pages={pages}\n ttstatuses={ttstatuses}\n />\n <FluentDialog\n open={isDeleteTransactionTypeTransactionActionDialogOpen}\n onClose={handleCloseDeleteTransactionTypeTransactionActionDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this action?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionTypeTransactionAction}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionTypeTransactionActionDialog}\n />\n <UdpTransactionUiActionSidesheet\n ref={tuaGridApiRef}\n transactionType={selectedTransactionType}\n transactionUiAction={selectedTransactionUiAction}\n isSideSheetOpen={isTransactionUiActionSidesheetOpen}\n handleTransactionUiActionSidesheet={handleTransactionUiActionSidesheet}\n isCreateOrEditTransactionUiActionSidesheetOpen={\n isCreateOrEditTransactionUiActionSidesheetOpen\n }\n handleCreateOrEditTransactionUiActionSidesheet={\n handleCreateOrEditTransactionUiActionSidesheet\n }\n handleCreateTransactionUiAction={handleCreateTransactionUiAction}\n handleUpdateTransactionUiAction={handleUpdateTransactionUiAction}\n handleDeleteTransactionUiAction={\n handleOpenDeleteTransactionUiActionDialog\n }\n transactionUiActionTypes={transactionUiActionTypes}\n actionApis={actionApis}\n pages={pages}\n tUiActionsList={tUiActionsList}\n />\n <FluentDialog\n open={isDeleteTransactionUiActionDialogOpen}\n onClose={handleCloseDeleteTransactionUiActionDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this UI action?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionUiAction}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionUiActionDialog}\n />\n <UdpTransactionTypeConfigurationSidesheet\n ref={ttcGridApiRef}\n transactionType={selectedTransactionType}\n transactionTypeConfiguration={selectedTransactionTypeConfiguration}\n isSideSheetOpen={isTransactionTypeConfigurationSidesheetOpen}\n handleTransactionTypeConfigurationSidesheet={\n handleTransactionTypeConfigurationSidesheet\n }\n isCreateOrEditTransactionTypeConfigurationSidesheetOpen={\n isCreateOrEditTransactionTypeConfigurationSidesheetOpen\n }\n handleCreateOrEditTransactionTypeConfigurationSidesheet={\n handleCreateOrEditTransactionTypeConfigurationSidesheet\n }\n handleCreateTransactionTypeConfiguration={\n handleCreateTransactionTypeConfiguration\n }\n handleUpdateTransactionTypeConfiguration={\n handleUpdateTransactionTypeConfiguration\n }\n handleDeleteTransactionTypeConfiguration={\n handleOpenDeleteTransactionTypeConfigurationDialog\n }\n transactionRuleTypes={transactionRuleTypes}\n catalogObjectProperties={catalogObjectProperties}\n ttstatuses={ttstatuses}\n roles={roles}\n transactionTypeConfigurationTransactionAction={\n selectedTransactionTypeConfigurationTransactionAction\n }\n isTransactionTypeConfigurationTransactionActionSidesheetOpen={\n isTransactionTypeConfigurationTransactionActionSidesheetOpen\n }\n handleTransactionTypeConfigurationTransactionActionSidesheet={\n handleTransactionTypeConfigurationTransactionActionSidesheet\n }\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet={\n handleCreateOrEditTransactionTypeConfigurationTransactionActionSidesheet\n }\n isCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen={\n isCreateOrEditTransactionTypeConfigurationTransactionActionSidesheetOpen\n }\n tttactions={tttactions}\n handleCreateTransactionTypeConfigurationTransactionAction={\n handleCreateTransactionTypeConfigurationTransactionAction\n }\n handleUpdateTransactionTypeConfigurationTransactionAction={\n handleUpdateTransactionTypeConfigurationTransactionAction\n }\n handleDeleteTransactionTypeConfigurationTransactionAction={\n handleOpenDeleteTransactionTypeConfigurationTransactionActionDialog\n }\n ttctaList={ttctaList}\n ttctaGridApiRef={ttctaGridApiRef}\n />\n <FluentDialog\n open={isDeleteTransactionTypeConfigurationDialogOpen}\n onClose={handleCloseDeleteTransactionTypeConfigurationDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this rule?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionTypeConfiguration}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionTypeConfigurationDialog}\n />\n <FluentDialog\n open={isDeleteTransactionTypeConfigurationTransactionActionDialogOpen}\n onClose={\n handleCloseDeleteTransactionTypeConfigurationTransactionActionDialog\n }\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this linked action?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionTypeConfigurationTransactionAction}\n labelTwo={t('Cancel')}\n actionTwo={\n handleCloseDeleteTransactionTypeConfigurationTransactionActionDialog\n }\n />\n <UdpTransactionAttachmentTypeSidesheet\n ref={tatGridApiRef}\n transactionType={selectedTransactionType}\n transactionAttachmentType={selectedTransactionAttachmentType}\n isSideSheetOpen={isTransactionAttachmentTypeSidesheetOpen}\n isTransactionAttachmentTypeCreateOrEditSidesheetOpen={\n isCreateOrEditTransactionAttachmentTypeSidesheetOpen\n }\n handleTransactionAttachmentTypeSidesheet={\n handleTransactionAttachmentTypeSidesheet\n }\n handleCreateOrEditTransactionAttachmentTypeSidesheet={\n handleCreateOrEditTransactionAttachmentTypeSidesheet\n }\n handleCreateTransactionAttachmentType={\n handleCreateTransactionAttachmentType\n }\n handleUpdateTransactionAttachmentType={\n handleUpdateTransactionAttachmentType\n }\n handleDeleteTransactionAttachmentType={\n handleOpenDeleteTransactionAttachmentTypeDialog\n }\n />\n <FluentDialog\n open={isDeleteTransactionAttachmentTypeDialogOpen}\n onClose={handleCloseDeleteTransactionAttachmentTypeDialog}\n title={t('Confirm Delete')}\n message={t(`Are you sure you want to delete this attachment type?`)}\n labelOne={t('Delete')}\n actionOne={handleDeleteTransactionAttachmentType}\n labelTwo={t('Cancel')}\n actionTwo={handleCloseDeleteTransactionAttachmentTypeDialog}\n />\n </>\n );\n};\n\nexport default UdpTransactionTypesPage;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAa2B,8BAA8B;CACzCC,aAAa,EAAEC,aAAa,eAAe;CAC3CC,SAAS,EAAED,aAAa,WAAW;CACnCE,eAAe,EAAEF,aAAa,kBAAkB;CAChDG,WAAW,EAAEH,aAAa,cAAc;CACxCI,iBAAiB,EAAEJ,aAAa,kBAAkB;CAClDK,mBAAmB,EAAEL,aAAa,eAAe;CACjDM,iBAAiB,EAAEN,aAAa,mBAAkB;CACnD;AAED,MAAaO,6BAA6BC,OAAOC,KAC/CX,4BACD;AAED,MAAaY,8BAA8B,CAAC,eAAe,UAAU;AAIrE,MAAME,oBAAoB;CACxBC,YAAY;CACZC,UAJgB;CAKhBC,gBAAgB,EAAE;CAClBC,cAAc,EAAE;CAChBC,eAAe,EAAE;CACjBC,cAAc;CACdC,eAAe,EAAE;CACjBC,oBAAoB,EAAE;CACtBC,WAAW;CACXC,uBAAuB;CACxB;AAED,MAAMC,YAAY7C,YAAY8C,WAAW,EACvCC,YAAY;CACVC,QAAQF,MAAMG,QAAQ,IAAK;CAC3BC,YAAYJ,MAAMG,QAAQ,GAAI;CAC9BE,aAAaL,MAAMG,QAAQ,GAAG;CAChC,EACD,EAAE;;;;;;AAOH,MAAMG,yDACJC,qBACG;AACH,KAAI,CAACA,oBAAoB,OAAOA,qBAAqB,SACnD,QAAO;CAGT,MAAM,EAAEC,eAAeC,oBAAoBC,sBACzCH;CACF,MAAMI,gBAAgB,EAAE;AAExB,KAAIH,cACFG,eAAcC,KAAK,EACjB,MAAM,CACJ,EAAEC,KAAK,mBAAmB,EAG1BL,eAAeM,4BAAAA,yCACX,OACAN,eAAeM,wBAAuB,EAE7C,CAAC;AAGJ,KAAIL,sBAAsB,OAAOA,uBAAuB,SACtDzB,QAAO+B,QAAQN,mBAAmB,CAACO,SAAS,CAACC,OAAOC,YAAY;AAC9D,MAAI,CAACD,SAAS,CAACC,OACb;EAGF,MAAMC,iBACJD,UAAU,OAAOA,WAAW,YAAY,CAACE,MAAMC,QAAQH,OAAO;EAChE,MAAMI,WAAWH,iBAAiBD,QAAQI,WAAW;EACrD,MAAMC,kBAAkBJ,iBAAiBD,QAAQM,QAAQN;EACzD,MAAMO,oBAAoBH,YAAY;EACtC,MAAMI,WACJD,sBAAsB,OAAOA,sBAAsB,OAC/C,CAAC,EAAEZ,KAAK,sBAAsBI,SAAS,CAAC,GACxC,CAAC,EAAEJ,KAAK,sBAAsBI,SAAS,EAAEM,gBAAgB;AAE/DZ,gBAAcC,KAAK,GAChBa,oBAAoBC,UACtB,CAAC;GACF;AAGJ,KAAIN,MAAMC,QAAQX,kBAAkB,IAAIA,kBAAkBiB,SAAS,EACjEhB,eAAcC,KAAK,EACjBgB,MAAM,CACJ,EAAEf,KAAK,qBAAqB,EAC5B,EACEgB,IAAI,CAAC,EAAEhB,KAAK,IAAI,EAAEH,kBAAiB,EACpC,CAAA,EAEJ,CAAC;AAGJ,KAAI,CAACC,cAAcgB,OACjB,QAAO;AAGT,QAAO,EACLG,KAAKnB,eACN;;AAGH,MAAMoB,gCAAgC;CAEpC,MAAMC,OAAOlE,SAAS;CACtB,MAAM,EAAEmE,MAAMhF,gBAAgB;CAC9B,MAAMiF,UAAUnC,WAAW;CAC3B,MAAM,EAAEoC,iBAAiBC,kBAAkB3E,aAAa;CACxD,MAAM4E,gBAAgB1E,iBAAiByE,cAAc;CAErD,MAAME,aAAavF,OAAO,KAAK;CAC/B,MAAMwF,gBAAgBxF,OAAO,KAAK;CAClC,MAAMyF,iBAAiBzF,OAAO,KAAK;CACnC,MAAM0F,gBAAgB1F,OAAO,KAAK;CAClC,MAAM2F,gBAAgB3F,OAAO,KAAK;CAClC,MAAM4F,kBAAkB5F,OAAO,KAAK;CACpC,MAAM6F,gBAAgB7F,OAAO,KAAK;CAGlC,MAAM,CAAC8F,cAAcC,mBAAmBjG,SAASuC,kBAAkB;CAEnE,MAAM,CAAC2D,yBAAyBC,8BAA8BnG,SAAS,KAAK;CAC5E,MAAM,CAACoG,gCAAgCC,qCACrCrG,SAAS,MAAM;CACjB,MAAM,CACJsG,mCACAC,wCACEvG,SAAS,MAAM;CACnB,MAAM,CACJwG,mCACAC,wCACEzG,SAAS,MAAM;CACnB,MAAM,CACJ0G,kCACAC,uCACE3G,SAAS,MAAM;CACnB,MAAM,CACJ4G,0CACAC,+CACE7G,SAAS,MAAM;CACnB,MAAM,CAAC8G,oBAAoBC,yBAAyB/G,SAAS,GAAG;CAEhE,MAAM,CACJgH,sCACAC,2CACEjH,SAAS,MAAM;CACnB,MAAM,CACJkH,yCACAC,8CACEnH,SAAS,MAAM;CACnB,MAAM,CAACoH,+BAA+BC,oCACpCrH,SAAS,KAAK;CAChB,MAAM,CACJsH,kDACAC,uDACEvH,SAAS,MAAM;CACnB,MAAM,CAACwH,YAAYC,iBAAiBzH,SAAS,EAAE,CAAC;CAEhD,MAAM,CACJ0H,iDACAC,sDACE3H,SAAS,MAAM;CACnB,MAAM,CACJ4H,0CACAC,+CACE7H,SAAS,KAAK;CAClB,MAAM,CACJ8H,6DACAC,kEACE/H,SAAS,MAAM;CACnB,MAAM,CACJgI,oDACAC,yDACEjI,SAAS,MAAM;CACnB,MAAM,CAACkI,YAAYC,iBAAiBnI,SAAS,EAAE,CAAC;CAEhD,MAAM,CACJoI,oCACAC,yCACErI,SAAS,MAAM;CACnB,MAAM,CAACsI,6BAA6BC,kCAClCvI,SAAS,KAAK;CAChB,MAAM,CACJwI,gDACAC,qDACEzI,SAAS,MAAM;CACnB,MAAM,CACJ0I,uCACAC,4CACE3I,SAAS,MAAM;CAEnB,MAAM,CACJ4I,6CACAC,kDACE7I,SAAS,MAAM;CACnB,MAAM,CACJ8I,sCACAC,2CACE/I,SAAS,KAAK;CAClB,MAAM,CACJgJ,yDACAC,8DACEjJ,SAAS,MAAM;CACnB,MAAM,CACJkJ,gDACAC,qDACEnJ,SAAS,MAAM;CAEnB,MAAM,CACJoJ,8DACAC,mEACErJ,SAAS,MAAM;CACnB,MAAM,CACJsJ,uDACAC,4DACEvJ,SAAS,KAAK;CAClB,MAAM,CACJwJ,0EACAC,+EACEzJ,SAAS,MAAM;CACnB,MAAM,CACJ0J,iEACAC,sEACE3J,SAAS,MAAM;CAEnB,MAAM,CACJ4J,0CACAC,+CACE7J,SAAS,MAAM;CACnB,MAAM,CACJ8J,mCACAC,wCACE/J,SAAS,KAAK;CAClB,MAAM,CACJgK,sDACAC,2DACEjK,SAAS,MAAM;CACnB,MAAM,CACJkK,6CACAC,kDACEnK,SAAS,MAAM;CAEnB,MAAMoK,8CAA8CrK,aAEhDsK,yBACAC,kBAAkB,OAClBC,0BAA0B,UACvB;AACH,MAAI,CAACF,wBACH,QAAO;AAET,SAAOA,yBAAyBtF,MAAMyF,WAAW;AAC/C,OACEA,OAAOvG,4BACPmD,+BAA+BnD,yBAC/B;IACA,MAAMwG,YAAYD,QAAQC;IAC1B,MAAMC,oBAAoBF,QAAQE;AAClC,QAAIJ,mBAAmBG,UAAW,QAAO;AACzC,QAAIF,2BAA2BG,kBAAmB,QAAO;;AAE3D,UAAO;IACP;IAEJ,CAACtD,8BACH,CAAC;;CAID,MAAMuD,4BAA4B,OAAOC,oBAAoB;AAC3D,SAAO,MAAMlK,UACXc,cAAcqJ,iBACd,sBACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAMH,iBAEV,CAAC;;CAGH,MAAMI,2BAA2B,OAC/BC,mBACAL,sBACG;AACH,SAAO,MAAMlK,UACXc,cAAcqJ,iBACd,sBAAsBI,qBACtB,EACEH,QAAQ,OACT,EACD,EACEC,MAAMH,mBAEV,CAAC;;CAGH,MAAMM,wBAAwB,OAAOD,wBAAsB;AACzD,SAAO,MAAMvK,UACXc,cAAcqJ,iBACd,sBAAsBI,uBACtB,EACEH,QAAQ,UAEZ,CAAC;;CAGH,MAAM,CACJ,EACEC,MAAMI,iCACNC,SAASC,yCAEXC,wCACE3K,YACFa,cAAcqJ,iBACd,yBACA;EACEC,QAAQ;EACRC,MAAM;GACJrI,gBAAgB,CACd;IACE6I,aAAa;IACbC,gBAAgB;IAChBC,aAAavF,yBAAyB+E;IACtCS,SAAS;IACV,CACF;GACDC,QAAQ;GACV;EACD,EACD,CAAC,CAAC,CAACzF,yBAAyB+E,qBAC1B,CAAC,CAAC,CAACzE,mCACL,MACD;;CAGD,MAAMoF,kCAAkC,OAAOC,0BAA0B;AACvE,SAAO,MAAMnL,UACXc,cAAcqJ,iBACd,4BACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAMc,uBAEV,CAAC;;CAGH,MAAMC,iCAAiC,OACrC7H,yBACA4H,4BACG;AACH,SAAO,MAAMnL,UACXc,cAAcqJ,iBACd,4BAA4B5G,2BAC5B,EACE6G,QAAQ,OACT,EACD,EACEC,MAAMc,yBAEV,CAAC;;CAGH,MAAME,8BAA8B,OAAO9H,8BAA4B;AACrE,SAAO,MAAMvD,UACXc,cAAcqJ,iBACd,4BAA4B5G,6BAC5B,EACE6G,QAAQ,UAEZ,CAAC;;CAGH,MAAMkB,iDAAiDjM,YACrD,OAAOkL,wBAAsB;EAC3B,MAAMgB,gBAAgB;GACpBvJ,gBAAgB,CACd;IACE6I,aAAa;IACbC,gBAAgB;IAChBC,aAAaR;IACbS,SAAS;IACV,CACF;GACDC,QAAQ;GACT;AAED,SAAO,MAAMjL,UACXc,cAAcqJ,iBACd,mCACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAMkB,eAEV,CAAC;IAEH,EACF,CAAC;AAED9L,iBAAgB;AACd,MAAI,CAAC+F,yBAAyB+E,kBAAmB;EACjD,MAAMiB,iBAAiB,YAAY;GACjC,MAAMC,cAAc,MAAMH,+CACxB9F,yBAAyB+E,kBAC1B;AACD,OAAIkB,aAAaC,WAAW,IAC1B3E,eAAc0E,YAAYpB,MAAMsB,SAAS;;AAG7C,MACErF,wCACA4B,+CACAlB,gDAEAwE,iBAAgB;IAEjB;EACDF;EAEAhF;EACA4B;EACAlB;EACD,CAAC;;CAGF,MAAM,CAAC,EAAEqD,MAAMuB,wBAAwB3L,YACrCa,cAAcqJ,iBACd,wBACA,EACEC,QAAQ,OACT,EACD,OACA,MACD;;CAGD,MAAM,CAAC,EAAEC,MAAMwB,gBAAgB5L,YAC7Ba,cAAcqJ,iBACd,mCACA,EACEC,QAAQ,OACT,EACD,OACA,MACD;;CAGD,MAAM,CAAC,EAAEC,MAAMyB,WAAW7L,YACxBa,cAAciL,gBACd,iBAAiBtH,MAAMuH,mBACvB,EACE5B,QAAQ,OACT,EACD,CAAC,CAAC,CAAC3F,MAAMuH,iBACT,MACD;;CAGD,MAAMC,6CAA6C,OACjDC,qCACG;AACH,SAAO,MAAMlM,UACXc,cAAcqJ,iBACd,uCACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAM6B,kCAEV,CAAC;;CAGH,MAAMC,4CAA4C,OAChDC,oCACAF,uCACG;AACH,SAAO,MAAMlM,UACXc,cAAcqJ,iBACd,uCAAuCiC,sCACvC,EACEhC,QAAQ,OACT,EACD,EACEC,MAAM6B,oCAEV,CAAC;;CAGH,MAAMG,yCAAyC,OAC7CD,yCACG;AACH,SAAO,MAAMpM,UACXc,cAAcqJ,iBACd,uCAAuCiC,wCACvC,EACEhC,QAAQ,UAEZ,CAAC;;CAGH,MAAMkC,4DAA4DjN,YAChE,OAAOkL,wBAAsB;EAC3B,MAAMgB,kBAAgB;GACpBvJ,gBAAgB,CACd;IACE6I,aAAa;IACbC,gBAAgB;IAChBC,aAAaR;IACbS,SAAS;IACV,CACF;GACDC,QAAQ;GACT;AAED,SAAO,MAAMjL,UACXc,cAAcqJ,iBACd,8CACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAMkB,iBAEV,CAAC;IAEH,EACF,CAAC;AAED9L,iBAAgB;AACd,MAAI,CAAC+F,yBAAyB+E,kBAAmB;EACjD,MAAMgC,iBAAiB,YAAY;GACjC,MAAMC,eACJ,MAAMF,0DACJ9G,yBAAyB+E,kBAC1B;AACH,OAAIiC,cAAcd,WAAW,IAC3BjE,eAAc+E,aAAanC,MAAMsB,SAAS;;AAG9C,MAAIjD,6DACF6D,iBAAgB;IAEjB,CACDD,2DACA5D,6DAED,CAAC;;CAGF,MAAM+D,gCAAgC,OAAOC,wBAAwB;AACnE,SAAO,MAAM1M,UACXc,cAAcqJ,iBACd,0BACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAMqC,qBAEV,CAAC;;CAGH,MAAMC,+BAA+B,OACnCC,uBACAF,0BACG;AACH,SAAO,MAAM1M,UACXc,cAAcqJ,iBACd,0BAA0ByC,yBAC1B,EACExC,QAAQ,OACT,EACD,EACEC,MAAMqC,uBAEV,CAAC;;CAGH,MAAMG,4BAA4B,OAAOD,4BAA0B;AACjE,SAAO,MAAM5M,UACXc,cAAcqJ,iBACd,0BAA0ByC,2BAC1B,EACExC,QAAQ,UAEZ,CAAC;;CAGH,MAAM,CAAC,EAAEC,MAAMyC,kBAAkBC,uBAAuB9M,YACtDa,cAAcqJ,iBACd,iCACA;EACEC,QAAQ;EACRC,MAAM;GACJrI,gBAAgB,CACd;IACE6I,aAAa;IACbC,gBAAgB;IAChBC,aAAavF,yBAAyB+E;IACtCS,SAAS;IACV,CACF;GACDC,QAAQ;GACV;EACD,EACD,CAAC,CAAC,CAACvD,oCACH,MACD;;CAGD,MAAM,CAAC,EAAE2C,MAAM2C,8BAA8B/M,YAC3Ca,cAAcqJ,iBACd,8BACA,EACEC,QAAQ,OACT,EACD,OACA,MACD;;CAGD,MAAM6C,yCAAyC,OAC7CC,iCACG;AACH,SAAO,MAAMlN,UACXc,cAAcqJ,iBACd,mCACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAM6C,8BAEV,CAAC;;CAGH,MAAMC,wCAAwC,OAC5CC,gCACAF,mCACG;AACH,SAAO,MAAMlN,UACXc,cAAcqJ,iBACd,mCAAmCiD,kCACnC,EACEhD,QAAQ,OACT,EACD,EACEC,MAAM6C,gCAEV,CAAC;;CAGH,MAAMG,qCAAqC,OACzCD,qCACG;AACH,SAAO,MAAMpN,UACXc,cAAcqJ,iBACd,mCAAmCiD,oCACnC,EACEhD,QAAQ,UAEZ,CAAC;;;CAIH,MAAM,CAAC,EAAEC,MAAMiD,0BAA0BrN,YACvCa,cAAcqJ,iBACd,0BACA,EACEC,QAAQ,OACT,EACD,OACA,MACD;;CAGD,MAAM,CAAC,EAAEC,MAAMkD,WAAWtN,YACxBa,cAAciL,gBACd,kBAAkBtH,MAAMuH,mBACxB,EACE5B,QAAQ,OACT,EACD,CAAC,CAAC,CAAC3F,MAAMuH,iBACT,MACD;;CAGD,MAAMwB,0DAA0D,OAC9DC,UACG;AACH,SAAO,MAAMzN,UACXc,cAAcqJ,iBACd,+DACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAMoD,OAEV,CAAC;;CAGH,MAAMC,yDAAyD,OAC7DN,kCACAhB,sCACAuB,kDACG;AACH,SAAO,MAAM3N,UACXc,cAAcqJ,iBACd,oDAAoDiD,iCAA8B,GAAIhB,wCACtF,EACEhC,QAAQ,OACT,EACD,EACEC,MAAMsD,+CAEV,CAAC;;CAGH,MAAMC,sDAAsD,OAC1DR,kCACAhB,yCACG;AACH,SAAO,MAAMpM,UACXc,cAAcqJ,iBACd,oDAAoDiD,iCAA8B,GAAIhB,wCACtF,EACEhC,QAAQ,UAEZ,CAAC;;CAGH,MAAM,CAAC,EAAEC,MAAMwD,aAAaC,kBAAkB7N,YAC5Ca,cAAcqJ,iBACd,2DACA;EACEC,QAAQ;EACRC,MAAM;GACJrI,gBAAgB,CACd;IACE6I,aAAa;IACbC,gBAAgB;IAChBC,aACE3C,sCAAsCgF;IACxCpC,SAAS;IACV,CACF;GACDC,QAAQ;GACV;EACD,EACD,CAAC,CAAC,CAAC7C,sCAAsCgF,gCACzC,MACD;;CAGD,MAAMW,sCAAsC,OAC1CC,8BACG;AACH,SAAO,MAAMhO,UACXc,cAAcqJ,iBACd,gCACA,EACEC,QAAQ,QACT,EACD,EACEC,MAAM2D,2BAEV,CAAC;;CAGH,MAAMC,qCAAqC,OACzCC,6BACAF,gCACG;AACH,SAAO,MAAMhO,UACXc,cAAcqJ,iBACd,gCAAgC+D,+BAChC,EACE9D,QAAQ,OACT,EACD,EACEC,MAAM2D,6BAEV,CAAC;;CAGH,MAAMG,kCAAkC,OACtCD,kCACG;AACH,SAAO,MAAMlO,UACXc,cAAcqJ,iBACd,gCAAgC+D,iCAChC,EACE9D,QAAQ,UAEZ,CAAC;;CAGH,MAAMgE,sBAAsBtO,iBACzBuO,UAAUA,MAAMD,oBAClB;CAED,MAAM,CAAC,EAAE/D,MAAMiE,wBAAwBrO,YACrCa,cAAcyN,qBACd,cAAcH,oBAAmB,sCACjC,EAAE,EACF,CAAC,CAAC,CAACA,qBACH,MACD;CAED,MAAMI,aAAapI,sBAAsBZ,yBAAyBgJ;CAElE,MAAM,CAAC,EAAEnE,MAAMoE,mBAAmBxO,YAChCa,cAAcyN,qBACd,cAAcH,oBAAmB,iBAAkBI,cACnD,EAAE,EACF,CAAC,CAAC,CAACJ,uBAAuB,CAAC,CAAC,CAACI,YAC7B,MACD;CAGD,MAAME,0BAA0BnP,cAAc;AAC5C,MAAI,CAAC6G,sBAAsB,CAACqI,eAAeE,WAAY,QAAO,EAAE;AAChE,SAAOF,cAAcE,WAClBC,QACEC,aACCA,SAASC,SAAS,uBAAuBD,SAASC,SAAS,KAC9D,CACAC,KAAKF,eAAaA,WAASC,KAAK;IAClC,CAACL,eAAerI,mBAAmB,CAAC;CAEvC,MAAM4I,8BAA8BzP,cAAc;AAChD,MAAI,CAAC6G,sBAAsB,CAACqI,eAAeE,WAAY,QAAO,EAAE;AAChE,SAAOF,cAAcE,WAClBC,QACEC,eACCA,WAASC,SAAS,uBAClBD,WAASC,SAAS,QAClBD,WAASI,SAAStO,iBAAiBuO,SACtC,CACAH,KAAKF,eAAaA,WAASC,KAAK;IAClC,CAACL,eAAerI,mBAAmB,CAAC;;CAGvC,MAAM+I,kBAAkB9P,aAAa+P,QAAQlF,sBAAoB;AAC/DvE,oCAAkCyJ,OAAO;AACzC3J,6BAA2ByE,kBAAgB;IAC1C,EAAE,CAAC;CAEN,MAAMmF,uCAAuChQ,aAC1C+P,UAAQlF,sBAAoB;AAC3B3D,0CAAwC6I,SAAO;AAC/C3J,6BAA2ByE,kBAAgB;IAE7C,EACF,CAAC;CAED,MAAMoF,mDAAmDjQ,aACtD+P,UAAQjE,4BAA0B;AACjCtE,sDAAoDuI,SAAO;AAC3DzI,mCAAiCwE,wBAAsB;IAEzD,EACF,CAAC;CAED,MAAMoE,kDAAkDlQ,aACrD+P,UAAQlF,sBAAoB;AAC3BjD,qDAAmDmI,SAAO;AAC1D3J,6BAA2ByE,kBAAgB;IAE7C,EACF,CAAC;CAED,MAAMsF,8DACJnQ,aAAa+P,UAAQlD,uCAAqC;AACxD7E,iEAA+D+H,SAAO;AACtEjI,8CACE+E,mCACD;IACA,EAAE,CAAC;CAER,MAAMuD,qCAAqCpQ,aACxC+P,UAAQlF,sBAAoB;AAC3BvC,wCAAsCyH,SAAO;AAC7C3J,6BAA2ByE,kBAAgB;IAE7C,EACF,CAAC;CAED,MAAMwF,iDAAiDrQ,aACpD+P,UAAQ1C,0BAAwB;AAC/B3E,oDAAkDqH,SAAO;AACzDvH,iCAA+B6E,sBAAoB;IAErD,EACF,CAAC;CAED,MAAMiD,8CAA8CtQ,aACjD+P,UAAQlF,sBAAoB;AAC3B/B,iDAA+CiH,SAAO;AACtD3J,6BAA2ByE,kBAAgB;IAE7C,EACF,CAAC;CAED,MAAM0F,0DAA0DvQ,aAC7D+P,UAAQlC,mCAAiC;AACxC3E,6DAA2D6G,SAAO;AAClE/G,0CAAwC6E,+BAA6B;IAEvE,EACF,CAAC;CAED,MAAM2C,+DACJxQ,aAAa+P,UAAQlC,mCAAiC;AACpDvE,kEAAgEyG,SAAO;AACvE/G,0CAAwC6E,+BAA6B;IACpE,EAAE,CAAC;CAER,MAAM4C,2EACJzQ,aAAa+P,UAAQzB,oDAAkD;AACrE5E,8EACEqG,SACD;AACDvG,2DACE8E,gDACD;IACA,EAAE,CAAC;CAER,MAAMoC,2CAA2C1Q,aAC9C+P,WAAQlF,sBAAoB;AAC3Bf,8CAA4CiG,UAAO;AACnD3J,6BAA2ByE,kBAAgB;IAE7C,EACF,CAAC;CAED,MAAM8F,uDAAuD3Q,aAC1D+P,WAAQpB,gCAA8B;AACrCzE,0DAAwD6F,UAAO;AAC/D/F,uCAAqC2E,4BAA0B;IAEjE,EACF,CAAC;;CAID,MAAMiC,8BAA8B5Q,YAClC,OAAO6Q,eAAe;EACpB,MAAM,EAAEC,cAAc,GAAGC,eAAeF;EAExC,MAAM,EAAEG,iCAAiCC,sBACvCzM,MAAMC,QAAQqM,aAAa,GAAGA,eAAe,EAAE,EAC/CI,QACCC,aAAaC,UAAU;AACtB,OAAI,CAACA,SAAS,CAACA,MAAM,GACnB,QAAOD;GAGT,MAAM9M,QAAQ+M,MAAM;GACpB,IAAIC,WAAWhN;AAEf,OAAIgL,wBAAwBiC,SAASD,SAAS,CAC5CA,YAAW,GAAG9P,eAAegQ,wBAAuB,GAAIF;GAE1D,MAAM/M,SAAS8M,MAAM,MAAM,EAAE;GAE7B,MAAMxP,cAAc0C,OAAO1C,eAAeyC;GAC1C,MAAMmN,QAAQlN,OAAOkN,SAAS;GAC9B,MAAMC,OAAOnN,OAAOmN,QAAQ;AAG5BN,eAAYH,gCAAgCK,YAAY;IACtDzP;IACA4P;IACAC;IACD;AAGD,OAAI,CAACtP,2BAA2BmP,SAASjN,MAAM,CAC7C8M,aAAYF,iBAAiB5M,SAAS;IACpCzC;IACA4P;IACAC;IACD;AAGH,UAAON;KAET;GAAEH,iCAAiC,EAAE;GAAEC,kBAAkB,EAAC;GAC5D,CAAC;EAED,MAAMS,oBAAoB;GACxBC,WAAWZ,YAAYY,aAAa;GACpCC,8BACEb,YAAYa,gCAAgC;GAC9CC,uBAAuBd,YAAYc;GACnCC,wBAAwBf,YAAYe;GACpCC,iBAAiBhB,YAAYgB;GAC7BC,qBAAqBhB;GACrBiB,2BAA2B;IACzBC,SAAS,CAAC,CAACnB,YAAYoB;IACvBC,eACE,CAAC,CAACrB,YAAYoB,uBAAuB,CAAC,CAACpB,YAAYqB;IACrDC,yBACEtB,YAAYsB,2BAA2B;IACzCC,yBACEvB,YAAYuB,2BAA2B;IACzCC,uBAAuBxB,YAAYwB,yBAAyB;IAC5DC,yBACEzB,YAAYyB,2BAA2B;IAC3C;GACD;EAED,MAAMC,qBAAqB;GACzB,GAAG1B;GACHD,cAAcG;GACKS;GACpB;AAED,MAAI;AAEF,QADiB,MAAM9G,0BAA0B6H,mBAAmB,GACtDpG,WAAW,IACvB9G,iBAAgBF,EAAE,uCAAuC,EAAE;IACzDsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJqK,mBAAgB,MAAM;AACtB9I,yBAAsB,GAAG;AACzBtB,cAAWqN,SAASC,mBAAmB;WAChCC,KAAK;AACZ1N,mBACE,OAAO0N,IAAIP,SAAS1H,SAAS,WACzBiI,IAAIP,SAAS1H,KAAKkI,QAClBD,IAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACExD;EACA9J;EACAuK;EACArK;EACAJ;EAEJ,CAAC;CAED,MAAM+N,8BAA8BpT,YAClC,OAAO6Q,cAAYwC,kBAAkB;EACnC,MAAM,EAAEvC,cAAAA,gBAAc,GAAGC,iBAAeF;EACxC,MAAM3F,sBAAoBmI,cAAcnI;EAExC,MAAM,EAAE8F,iCAAAA,mCAAiCC,kBAAAA,wBACvCzM,MAAMC,QAAQqM,eAAa,GAAGA,iBAAe,EAAE,EAC/CI,QACCC,eAAaC,YAAU;AACtB,OAAI,CAACA,WAAS,CAACA,QAAM,GACnB,QAAOD;GAGT,MAAM9M,UAAQ+M,QAAM;GACpB,IAAIC,aAAWhN;AAEf,OAAIgL,wBAAwBiC,SAASD,WAAS,CAC5CA,cAAW,GAAG9P,eAAegQ,wBAAuB,GAAIF;GAE1D,MAAM/M,WAAS8M,QAAM,MAAM,EAAE;GAE7B,MAAMxP,gBAAc0C,SAAO1C,eAAeyC;GAC1C,MAAMmN,UAAQlN,SAAOkN,SAAS;GAC9B,MAAMC,SAAOnN,SAAOmN,QAAQ;AAG5BN,iBAAYH,gCAAgCK,cAAY;IACtDzP,aAAAA;IACA4P,OAAAA;IACAC,MAAAA;IACD;AAGD,OAAI,CAACtP,2BAA2BmP,SAASjN,QAAM,CAC7C8M,eAAYF,iBAAiB5M,WAAS;IACpCzC,aAAAA;IACA4P,OAAAA;IACAC,MAAAA;IACD;AAGH,UAAON;KAET;GAAEH,iCAAiC,EAAE;GAAEC,kBAAkB,EAAC;GAC5D,CAAC;EAED,MAAMS,sBAAoB;GACxBC,WAAWZ,cAAYY,aAAa;GACpCC,8BACEb,cAAYa,gCAAgC;GAC9CC,uBAAuBd,cAAYc;GACnCC,wBAAwBf,cAAYe;GACpCC,iBAAiBhB,cAAYgB;GAC7BC,qBAAqBhB;GACrBiB,2BAA2B;IACzBC,SAAS,CAAC,CAACnB,cAAYoB;IACvBC,eACE,CAAC,CAACrB,cAAYoB,uBAAuB,CAAC,CAACpB,cAAYqB;IACrDC,yBACEtB,cAAYsB,2BAA2B;IACzCC,yBACEvB,cAAYuB,2BAA2B;IACzCC,uBAAuBxB,cAAYwB,yBAAyB;IAC5DC,yBACEzB,cAAYyB,2BAA2B;IAC3C;GACD;EAED,MAAMc,yBAAyB;GAC7B,GAAGD;GACH,GAAGxC;GACHC,cAAcG;GACdS,mBAAmBA;GACpB;AAED,MAAI;AAKF,QAJiB,MAAMzG,yBACrBC,qBACAoI,uBACD,EACYjH,WAAW,IACtB9G,iBAAgBF,EAAE,uCAAuC,EAAE;IACzDsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJqK,mBAAgB,MAAM;AACtB9I,yBAAsB,GAAG;AACzBtB,cAAWqN,SAASC,mBAAmB;WAChCC,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,SAAS1H,SAAS,WACzBiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACExD;EACA9J;EACAuK;EACArK;EACAJ;EAEJ,CAAC;CAED,MAAMkO,8BAA8BvT,YAAY,YAAY;AAC1D,MAAI,CAACmG,wBAAyB;AAE9BK,uCAAqC,KAAK;EAC1C,MAAM0E,sBAAoB/E,wBAAwB+E;AAElD,MAAI;AAEF,QADiB,MAAMC,sBAAsBD,oBAAkB,EAClDmB,WAAW,IACtB9G,iBAAgBF,EAAE,uCAAuC,EAAE;IACzDsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJiB,wCAAqC,MAAM;AAC3ChB,cAAWqN,SAASC,mBAAmB;WAChCC,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,SAAS1H,SAAS,WACzBiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;YACO;AACRrM,wCAAqC,MAAM;;IAE5C;EACDjB;EACAY;EACAV;EACAJ;EACAmB;EACAE;EACD,CAAC;;;CAIF,MAAM8M,oCAAoCxT,YACxC,OAAO6Q,iBAAe;EACpB,MAAM4C,2BAA2B;GAC/B,GAAG5C;GACH3F,mBAAmB/E,yBAAyB+E;GAC5CwI,OAAO7C,cAAY6C,OAAO9O,SAAS;GACpC;EACD,IAAI+O,8BAA8B;AAElC,MAAI;GACF,MAAMC,0BAA0B/C,cAAYnG,cAAc;GAC1D,MAAMmJ,4BACJhD,cAAYlG,sBAAsB;AACpC,OAAIiJ,2BAA2BC,2BAA2B;IACxD,MAAMC,sCACJ,MAAM7H,+CACJ9F,yBAAyB+E,kBAC1B;AACH,QAAI4I,qCAAqCzH,WAAW,KAAK;AACvD9G,qBACEF,EACE,+EACD,EACD;MACE8N,SAAS;MACTR,cAAc;OACZC,UAAU;OACVC,YAAY;OACd;MAEJ,CAAC;AACD;;AAEFc,kCACEtJ,4CACEyJ,qCAAqC9I,MAAMsB,UAC3CsH,yBACAC,0BACD;;AAGL,QACGD,2BAA2BC,8BAC5BF,6BACA;IACA,IAAII,wBAAwB;AAC5B,QAAIH,wBACFG,yBACE;aACOF,0BACTE,yBACE;AAEJxO,oBAAgBF,EAAE0O,sBAAsB,EAAE;KACxCZ,SAAS;KACTR,cAAc;MACZC,UAAU;MACVC,YAAY;MACd;KACD,CAAC;AACF;;AAKF,QAHiB,MAAMhH,gCACrB4H,yBACD,GACapH,WAAW,IACvB9G,iBAAgBF,EAAE,6CAA6C,EAAE;IAC/DsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJwK,oDAAiD,MAAM;AACvDtK,iBAAcoN,SAASC,mBAAmB;WACnCC,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,UAAU1H,SAAS,WAC1BiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAI;EACAsK;EACAxK;EACAJ;EACAc;EACA8F;EACA5B;EAEJ,CAAC;CAED,MAAM2J,oCAAoChU,YACxC,OAAO6Q,cAAYwC,oBAAkB;EACnC,MAAMnP,4BAA0BmP,gBAAcnP;EAC9C,MAAM+P,+BAA+B;GACnC,GAAGZ;GACH,GAAGxC;GACH6C,OAAO7C,cAAY6C,OAAO9O,SAAS;GACpC;EACD,IAAIsP,sCAAsC;AAE1C,MAAI;GACF,MAAMC,yBAAyBtD,cAAYnG,cAAc;GACzD,MAAM0J,2BAA2BvD,cAAYlG,sBAAsB;AACnE,OAAIwJ,0BAA0BC,0BAA0B;IACtD,MAAMN,wCACJ,MAAM7H,+CACJ9F,yBAAyB+E,kBAC1B;AACH,QAAI4I,uCAAqCzH,WAAW,KAAK;AACvD9G,qBACEF,EACE,+EACD,EACD;MACE8N,SAAS;MACTR,cAAc;OACZC,UAAU;OACVC,YAAY;OACd;MAEJ,CAAC;AACD;;AAEFqB,0CACE7J,4CACEyJ,uCAAqC9I,MAAMsB,UAC3C6H,wBACAC,yBACD;;AAGL,QACGD,0BAA0BC,6BAC3BF,qCACA;AACA3O,oBACEF,EAAE;gBAEE8O,yBACIC,2BACE,uCACA,cACF,oBAAmB,eACT,EAClB;KACEjB,SAAS;KACTR,cAAc;MACZC,UAAU;MACVC,YAAY;MACd;KAEJ,CAAC;AACD;;AAMF,QAJiB,MAAM9G,+BACrB7H,2BACA+P,6BACD,EACY5H,WAAW,IACtB9G,iBAAgBF,EAAE,6CAA6C,EAAE;IAC/DsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJwK,oDAAiD,MAAM;AACvDtK,iBAAcoN,SAASC,mBAAmB;WACnCC,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,UAAU1H,SAAS,WAC1BiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAI;EACAsK;EACAxK;EACAJ;EACA4G;EACA5B;EACAlE;EAEJ,CAAC;CAED,MAAMkO,oCAAoCrU,YAAY,YAAY;AAChE,MAAI,CAACqH,8BAA+B;EAEpC,MAAMnD,4BACJmD,8BAA8BnD;AAEhC,MAAI;AAIF,QAHiB,MAAM8H,4BACrB9H,0BACD,EACYmI,WAAW,IACtB9G,iBAAgBF,EAAE,6CAA6C,EAAE;IAC/DsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJ2B,8CAA2C,MAAM;AACjDzB,iBAAcoN,SAASC,mBAAmB;WACnCC,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,SAAS1H,SAAS,WACzBiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAEF;EACDtN;EACA8B;EACA5B;EACAJ;EACAM;EACAyB;EACD,CAAC;;;CAIF,MAAMkN,+CAA+CtU,YACnD,OAAO6Q,iBAAe;EACpB,MAAM,EACJ0D,mBACAC,UACAC,aACAC,QACAC,iBACAC,cACAC,oBACA,GAAG9D,iBACDF,gBAAc,EAAE;EAEpB,MAAMiE,wBACJtQ,MAAMC,QAAQoQ,mBAAmB,GAAGA,qBAAqB,EAAE,EAC3D3D,QAAQC,eAAaC,YAAU;AAC/B,OAAI,CAACA,QACH,QAAOD;GAGT,MAAM,CAAC9M,SAAOO,SAASwM;AACvB,OAAI/M,QACF8M,eAAY9M,WAASO;AAGvB,UAAOuM;KACN,EAAE,CAAC;EAEN,MAAM4D,sCAAsC;GAC1C,GAAGhE;GACH7F,mBAAmB/E,yBAAyB+E;GAC5C8J,qBAAqBT,mBAAmBS;GACxCC,YAAY;IACVC,UAAUV,UAAUtQ;IACpBiR,oBAAoBL;IACpBM,iBAAiB5Q,MAAMC,QAAQkQ,gBAAgB,GAC3CA,kBACA,EAAE;IACNU,cAAc7Q,MAAMC,QAAQmQ,aAAa,GAAGA,eAAe,EAAE;IAC7DU,aAAab,aAAaA,eAAe;IACzCc,QAAQb,QAAQA,UAAU;IAC5B;GACD;AAED,MAAI;AAIF,QAHiB,MAAM9H,2CACrBmI,oCACD,GACa1I,WAAW,IACvB9G,iBACEF,EAAE,wDAAwD,EAC1D;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEH0K,+DAA4D,MAAM;AAClEvK,kBAAemN,SAASC,mBAAmB;WACpCC,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,SAAS1H,SAAS,WACzBiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAK;EACAuK;EACA1K;EACAJ;EACAc;EAEJ,CAAC;CAED,MAAMqP,+CAA+CxV,YACnD,OAAO6Q,cAAYwC,oBAAkB;EACnC,MAAM,EACJkB,mBAAAA,qBACAC,UAAAA,YACAC,aAAAA,eACAC,QAAAA,UACAC,iBAAAA,mBACAC,cAAAA,gBACAC,oBAAAA,yBACEhE,gBAAc,EAAE;EAEpB,MAAM9D,uCACJsG,gBAActG;EAEhB,MAAM+H,0BACJtQ,MAAMC,QAAQoQ,qBAAmB,GAAGA,uBAAqB,EAAE,EAC3D3D,QAAQC,eAAaC,YAAU;AAC/B,OAAI,CAACA,QACH,QAAOD;GAGT,MAAM,CAAC9M,SAAOO,WAASwM;AACvB,OAAI/M,QACF8M,eAAY9M,WAASO;AAGvB,UAAOuM;KACN,EAAE,CAAC;EAEN,MAAMsE,0CAA0C;GAC9C,GAAGpC;GACH5D,MAAMoB,cAAYpB,QAAQ;GAC1BiG,aAAa7E,cAAY6E,eAAe;GACxCC,MAAM9E,cAAY8E,QAAQ;GAC1B5I,oCAAoCA;GACpC7B,mBAAmB/E,yBAAyB+E;GAC5C8J,qBAAqBT,qBAAmBS;GACxCC,YAAY;IACVC,UAAUV,YAAUtQ;IACpBiR,oBAAoBL;IACpBM,iBAAiB5Q,MAAMC,QAAQkQ,kBAAgB,GAC3CA,oBACA,EAAE;IACNU,cAAc7Q,MAAMC,QAAQmQ,eAAa,GAAGA,iBAAe,EAAE;IAC7DU,aAAab,eAAaA,eAAe;IACzCc,QAAQb,UAAQA,UAAU;IAC5B;GACD;AAED,MAAI;AAKF,QAJiB,MAAM5H,0CACrBC,sCACA0I,wCACD,EACYpJ,WAAW,IACtB9G,iBACEF,EAAE,wDAAwD,EAC1D;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEH0K,+DAA4D,MAAM;AAClEvK,kBAAemN,SAASC,mBAAmB;WACpCC,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,SAAS1H,SAAS,WACzBiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAK;EACAuK;EACA1K;EACAJ;EACAc;EAEJ,CAAC;CAED,MAAMyP,+CAA+C5V,YAAY,YAAY;AAC3E,MAAI,CAAC6H,yCAA0C;EAE/C,MAAMkF,uCACJlF,yCAAyCkF;AAE3C,MAAI;AAIF,QAHiB,MAAMC,uCACrBD,qCACD,EACYV,WAAW,IACtB9G,iBACEF,EAAE,wDAAwD,EAC1D;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEHyC,yDAAsD,MAAM;AAC5DtC,kBAAemN,SAASC,mBAAmB;WACpCC,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,SAAS1H,SAAS,WACzBiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAEF;EACDtN;EACAsC;EACApC;EACAJ;EACA6C;EACD,CAAC;;;CAIF,MAAM2N,kCAAkC7V,YACtC,OAAO6Q,iBAAe;EACpB,MAAM,EAAEiF,yBAAyBC,WAAWC,MAAM,GAAGjF,iBACnDF;EAEF,MAAMoF,yBAAyB;GAC7B,GAAGlF;GACH7F,mBAAmB/E,yBAAyB+E;GAC5CgL,2BACEJ,yBAAyBI;GAC3BjB,YAAY;IACVK,aAAaS,WAAWtB,eAAe;IACvCc,QAAQS,MAAMtB,UAAU;IAC1B;GACD;AAED,MAAI;AAIF,QAHiB,MAAMtH,8BACrB6I,uBACD,GACa5J,WAAW,IACvB9G,iBAAgBF,EAAE,2CAA2C,EAAE;IAC7DsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJ4K,kDAA+C,MAAM;AACrDxK,iBAAckN,SAASC,mBAAmB;AAC1CtF,wBAAqB;WACduF,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,SAAS1H,SAAS,WACzBiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAM;EACAwK;EACA5K;EACAJ;EACAc;EACAuH;EAEJ,CAAC;CAED,MAAMyI,kCAAkCnW,YACtC,OAAO6Q,cAAYwC,oBAAkB;EACnC,MAAM,EAAEyC,yBAAAA,2BAAyBC,WAAAA,aAAWC,MAAAA,QAAM,GAAGjF,iBACnDF;EACF,MAAMtD,0BAAwB8F,gBAAc9F;EAE5C,MAAM6I,6BAA6B;GACjC,GAAGrF;GACHxD,uBAAuBA;GACvBrC,mBAAmB/E,yBAAyB+E;GAC5CgL,2BACEJ,2BAAyBI;GAC3BjB,YAAY;IACVK,aAAaS,aAAWtB,eAAe;IACvCc,QAAQS,QAAMtB,UAAU;IAC1B;GACD;AAED,MAAI;AAKF,QAJiB,MAAMpH,6BACrBC,yBACA6I,2BACD,EACY/J,WAAW,IACtB9G,iBAAgBF,EAAE,2CAA2C,EAAE;IAC7DsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJ4K,kDAA+C,MAAM;AACrDxK,iBAAckN,SAASC,mBAAmB;AAC1CtF,wBAAqB;WACduF,OAAK;AACZ1N,mBACE,OAAO0N,MAAIP,SAAS1H,SAAS,WACzBiI,MAAIP,SAAS1H,KAAKkI,QAClBD,MAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAM;EACAwK;EACA5K;EACAJ;EACAc;EACAuH;EAEJ,CAAC;CAED,MAAM2I,kCAAkCrW,YAAY,YAAY;AAC9D,MAAI,CAACuI,4BAA6B;EAElC,MAAMgF,0BACJhF,4BAA4BgF;AAE9B,MAAI;AAEF,QADiB,MAAMC,0BAA0BD,wBAAsB,EAC1DlB,WAAW,IACtB9G,iBAAgBF,EAAE,2CAA2C,EAAE;IAC7DsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJmD,4CAAyC,MAAM;AAC/C/C,iBAAckN,SAASC,mBAAmB;AAC1CtF,wBAAqB;WACduF,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAEF;EACDtN;EACAgD;EACA9C;EACAJ;EACAuD;EACA8E;EACD,CAAC;;;CAIF,MAAM4I,2CAA2CtW,YAC/C,OAAO6Q,iBAAe;EACpB,MAAM,EACJ0F,qBACAC,eACAC,iBACAC,oBACA,GAAG3F,iBACDF;EAEJ,MAAMiE,0BACJtQ,MAAMC,QAAQiS,mBAAmB,GAAGA,qBAAqB,EAAE,EAC3DxF,QAAQC,eAAaC,YAAU;AAC/B,OAAI,CAACA,QACH,QAAOD;GAGT,MAAM9M,UAAQ+M,QAAM;GACpB,MAAMxM,UAAQwM,QAAM,GAAGxM;GACvB,MAAMF,WAAW0M,QAAM,IAAI1M,UAAUE;AACrC,OAAIP,QACF8M,eAAY9M,WAAS;IACnBO,OAAOA;IACGF;IACX;AAGH,UAAOyM;KACN,EAAE,CAAC;EAEN,MAAMwF,oBAAoBF,iBAAiB/G,KAAKkH,QAAQA,KAAKC,OAAO;EACpE,MAAMlT,mBAAmB;GACvBC,eAAe4S;GACf3S,oBAAoBiR;GACpBhR,mBAAmBU,MAAMC,QAAQkS,kBAAkB,GAC/CA,oBACA,EAAA;GACL;EACD,MAAMG,kBACJpT,sDAAsDC,iBAAiB;EACzE,MAAMoT,kCAAkC;GACtC,GAAGhG;GACH7F,mBAAmB/E,yBAAyB+E;GAC5C8L,uBAAuBT,qBAAqBS;GAC5CC,eAAe;IACb,GAAGtT;IACHuT,iBAAiBV,eAAetS;IACjC;GACD4S;GACD;AAED,MAAI;AAIF,QAHiB,MAAMlJ,uCACrBmJ,gCACD,GACa1K,WAAW,IACvB9G,iBACEF,EAAE,oDAAoD,EACtD;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEH8K,2DAAwD,MAAM;AAC9DzK,iBAAciN,SAASC,mBAAmB;WACnCC,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAO;EACAyK;EACA9K;EACAJ;EACAc;EAEJ,CAAC;CAED,MAAMgR,2CAA2CnX,YAC/C,OAAO6Q,cAAYwC,oBAAkB;EACnC,MAAM,EACJkD,qBAAAA,uBACAC,eAAAA,iBACAC,iBAAAA,mBACAC,oBAAAA,sBACAjH,MACA,GAAGsB,iBACDF;EACJ,MAAM9C,mCACJsF,gBAActF;EAEhB,MAAM+G,0BACJtQ,MAAMC,QAAQiS,qBAAmB,GAAGA,uBAAqB,EAAE,EAC3DxF,QAAQC,eAAaC,YAAU;AAC/B,OAAI,CAACA,QACH,QAAOD;GAGT,MAAM9M,UAAQ+M,QAAM;GACpB,MAAMxM,UAAQwM,QAAM,GAAGxM;GACvB,MAAMF,aAAW0M,QAAM,IAAI1M,UAAUE;AACrC,OAAIP,QACF8M,eAAY9M,WAAS;IACnBO,OAAOA;IACPF,UAAUA;IACX;AAGH,UAAOyM;KACN,EAAE,CAAC;EAEN,MAAMwF,sBAAoBF,mBAAiB/G,KAAKkH,UAAQA,OAAKC,OAAO;EACpE,MAAMlT,qBAAmB;GACvBC,eAAe4S;GACf3S,oBAAoBiR;GACpBhR,mBAAmBU,MAAMC,QAAQkS,oBAAkB,GAC/CA,sBACA,EAAA;GACL;EACD,MAAMG,oBACJpT,sDAAsDC,mBAAiB;EACzE,MAAMyT,sCAAsC;GAC1C,GAAG/D;GACH5D,MAAMA,QAAQ;GACd+B,OAAOX,cAAYW,SAAS;GAC5BU,SAASrB,cAAYqB;GACrBnE,gCAAgCA;GAChC7C,mBAAmB/E,yBAAyB+E;GAC5C8L,uBAAuBT,uBAAqBS;GAC5CC,eAAe;IACb,GAAGtT;IACHuT,iBAAiBV,iBAAetS;IACjC;GACD4S,iBAAAA;GACD;AAED,MAAI;AAKF,QAJiB,MAAMhJ,sCACrBC,kCACAqJ,oCACD,EACY/K,WAAW,IACtB9G,iBACEF,EAAE,oDAAoD,EACtD;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEH8K,2DAAwD,MAAM;AAC9DzK,iBAAciN,SAASC,mBAAmB;WACnCC,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAO;EACAyK;EACA9K;EACAJ;EACAc;EAEJ,CAAC;CAED,MAAMkR,2CAA2CrX,YAAY,YAAY;AACvE,MAAI,CAAC+I,qCAAsC;EAE3C,MAAMgF,mCACJhF,qCAAqCgF;AAEvC,MAAI;AAIF,QAHiB,MAAMC,mCACrBD,iCACD,EACY1B,WAAW,IACtB9G,iBACEF,EAAE,oDAAoD,EACtD;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEH2D,qDAAkD,MAAM;AACxDtD,iBAAciN,SAASC,mBAAmB;WACnCC,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAEF;EACDtN;EACAwD;EACAtD;EACAJ;EACA+D;EACD,CAAC;;;CAIF,MAAMkO,4DAA4DtX,YAChE,OAAO6Q,iBAAe;EACpB,MAAM,EAAE0G,sCAAsC1G;EAE9C,MAAM2G,iBAAiB,EAAE;AAEzBD,qCAAmCnT,SAAS0O,WAAW;AACrD0E,kBAAexT,KAAK;IAClB+J,gCACEhF,sCAAsCgF;IACxChB,oCACE+F,QAAQ/F;IACX,CAAC;IACF;AAEF,MAAI;AAKF,QAHE,MAAMoB,wDACJqJ,eACD,GACWnL,WAAW,IACvB9G,iBACEF,EACE,wEACD,EACD;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEHgL,4EACE,MACD;AACD1K,mBAAgBgN,SAASC,mBAAmB;AAC5CvE,mBAAgB;WACTwE,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAQ;EACA0K;EACAhL;EACAJ;EACA0D;EACA0F;EAEJ,CAAC;CAED,MAAMgJ,4DAA4DzX,YAChE,OAAO6Q,eAAYwC,oBAAkB;EACnC,MAAM,EAAEkE,mCAAAA,wCAAsC1G;EAC9C,MAAM9C,mCACJhF,sCAAsCgF;EACxC,MAAM2J,6CACJrE,iBAAetG;EAEjB,MAAM4K,uDAAuD;GAC3D5J,gCAAgCA;GAChChB,oCACEwK,sCAAoC,IAChCxK;GACP;AAED,MAAI;AAOF,QALE,MAAMsB,uDACJN,kCACA2J,4CACAC,qDACD,EACUtL,WAAW,IACtB9G,iBACEF,EACE,qEACD,EACD;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEHgL,4EACE,MACD;AACD1K,mBAAgBgN,SAASC,mBAAmB;AAC5CvE,mBAAgB;WACTwE,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAQ;EACA0K;EACAhL;EACAJ;EACA0D;EACA0F;EAEJ,CAAC;CAED,MAAMmJ,4DACJ5X,YAAY,YAAY;AACtB,MAAI,CAACuJ,sDAAuD;EAE5D,MAAMwE,mCACJxE,uDAAuDwE;EACzD,MAAMhB,uCACJxD,uDAAuDwD;AAEzD,MAAI;AAMF,QAJE,MAAMwB,oDACJR,kCACAhB,qCACD,EACUV,WAAW,IACtB9G,iBACEF,EACE,qEACD,EACD;IACEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IAEZ,CAAC;AAEHmE,sEACE,MACD;AACD7D,mBAAgBgN,SAASC,mBAAmB;AAC5CvE,mBAAgB;WACTwE,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAEF;EACD9M;EACAR;EACAgE;EACA9D;EACAJ;EACAuE;EACA6E;EACD,CAAC;;;CAIJ,MAAMoJ,wCAAwC7X,YAC5C,OAAO6Q,kBAAe;EACpB,MAAMiH,+BAA+B;GACnC,GAAGjH;GACH3F,mBAAmB/E,yBAAyB+E;GAC7C;AAED,MAAI;AAIF,QAHiB,MAAMwD,oCACrBoJ,6BACD,GACazL,WAAW,IACvB9G,iBAAgBF,EAAE,iDAAiD,EAAE;IACnEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJkL,wDAAqD,MAAM;AAC3D3K,iBAAc+M,SAASC,mBAAmB;WACnCC,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EACEtN;EACAS;EACAP;EACAJ;EACAc;EACAwK;EAEJ,CAAC;CAED,MAAMoH,wCAAwC/X,YAC5C,OAAO6Q,eAAYwC,oBAAkB;EACnC,MAAMnI,sBAAoB/E,yBAAyB+E;EACnD,MAAM2D,gCACJ9E,mCAAmC8E;EACrC,MAAMyE,2BAAyB;GAC7B,GAAGD;GACH,GAAGxC;GACH3F,mBAAmBA;GACnB2D,6BAA6BA;GAC9B;AAED,MAAI;AAKF,QAJiB,MAAMD,mCACrBC,+BACAyE,yBACD,EACYjH,WAAW,IACtB9G,iBAAgBF,EAAE,iDAAiD,EAAE;IACnEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJkL,wDAAqD,MAAM;AAC3D3K,iBAAc+M,SAASC,mBAAmB;WACnCC,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAGL;EAACtN;EAAiBY;EAAyBV;EAAeJ;EAC5D,CAAC;CAED,MAAM2S,wCAAwChY,YAAY,YAAY;AACpE,MAAI,CAAC+J,kCAAmC;EAExC,MAAM8E,gCACJ9E,mCAAmC8E;AAErC,MAAI;AAIF,QAHiB,MAAMC,gCACrBD,8BACD,EACYxC,WAAW,IACtB9G,iBAAgBF,EAAE,iDAAiD,EAAE;IACnEsN,cAAc;KACZC,UAAU;KACVC,YAAY;KACb;IACDC,QAAQrN;IACT,CAAC;AAEJ2E,kDAA+C,MAAM;AACrDpE,iBAAc+M,SAASC,mBAAmB;WACnCC,QAAK;AACZ1N,mBACE,OAAO0N,OAAIP,SAAS1H,SAAS,WACzBiI,OAAIP,SAAS1H,KAAKkI,QAClBD,OAAIP,SAAS1H,MACjB;IACEmI,SAAS;IACTR,cAAc;KACZC,UAAU;KACVC,YAAY;KACd;IAEJ,CAAC;;IAEF;EACDtN;EACAwE;EACA/D;EACAP;EACAJ;EACA+E;EACD,CAAC;;CAGF,MAAM6N,wCAAwCjY,aAC3C6K,sBAAoB;AACnBzE,6BAA2ByE,kBAAgB;AAC3CnE,uCAAqC,KAAK;IAE5C,EACF,CAAC;CAED,MAAMwR,yCAAyClY,kBAAkB;AAC/D0G,uCAAqC,MAAM;AAC3CN,6BAA2B,KAAK;IAC/B,EAAE,CAAC;CAEN,MAAM+R,8CAA8CnY,aACjD8L,4BAA0B;AACzBxE,mCAAiCwE,wBAAsB;AACvD1E,6CAA2C,KAAK;IAElD,EACF,CAAC;CAED,MAAMgR,+CAA+CpY,kBAAkB;AACrEoH,6CAA2C,MAAM;AACjDE,mCAAiC,KAAK;IACrC,EAAE,CAAC;CAEN,MAAM+Q,yDAAyDrY,aAC5D6M,uCAAqC;AACpC/E,8CACE+E,mCACD;AACD3E,wDAAsD,KAAK;IAE7D,EACF,CAAC;CAED,MAAMoQ,0DACJtY,kBAAkB;AAChBkI,wDAAsD,MAAM;AAC5DJ,8CAA4C,KAAK;IAChD,EAAE,CAAC;CAER,MAAMyQ,4CAA4CvY,aAC/CqN,0BAAwB;AACvB7E,iCAA+B6E,sBAAoB;AACnDzE,2CAAyC,KAAK;IAEhD,EACF,CAAC;CAED,MAAM4P,6CAA6CxY,kBAAkB;AACnE4I,2CAAyC,MAAM;AAC/CJ,iCAA+B,KAAK;IACnC,EAAE,CAAC;CAEN,MAAMiQ,qDAAqDzY,aACxD6N,mCAAiC;AAChC7E,0CAAwC6E,+BAA6B;AACrEzE,oDAAkD,KAAK;IAEzD,EACF,CAAC;CAED,MAAMsP,sDACJ1Y,kBAAkB;AAChBoJ,oDAAkD,MAAM;AACxDJ,0CAAwC,KAAK;IAC5C,EAAE,CAAC;CAER,MAAM2P,sEACJ3Y,aAAasO,oDAAkD;AAC7D9E,2DACE8E,gDACD;AACD1E,qEAAmE,KAAK;IACvE,EAAE,CAAC;CAER,MAAMgP,uEACJ5Y,kBAAkB;AAChB4J,qEAAmE,MAAM;AACzEJ,2DAAyD,KAAK;IAC7D,EAAE,CAAC;CAER,MAAMqP,kDAAkD7Y,aACrD2O,gCAA8B;AAC7B3E,uCAAqC2E,4BAA0B;AAC/DvE,iDAA+C,KAAK;IAEtD,EACF,CAAC;CAED,MAAM0O,mDAAmD9Y,kBAAkB;AACzEoK,iDAA+C,MAAM;AACrDJ,uCAAqC,KAAK;IACzC,EAAE,CAAC;CAEN,MAAM+O,aAAa7Y,cAAc;AAC/B,SAAO;GACL;IACE8Y,YAAY3T,EAAE,sBAAsB;IACpChB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACVzH,MAAM;IACP;GACD;IACEuH,YAAY3T,EAAE,OAAO;IACrBhB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACX;GACD;IACEF,YAAY3T,EAAE,cAAc;IAC5BhB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACX;GACD;IACEF,YAAY3T,EAAE,gBAAgB;IAC9BhB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACVzH,MAAM;IACP;GACD;IACEuH,YAAY3T,EAAE,kBAAkB;IAChChB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACVC,cAAc;IACf;GACD;IACEH,YAAY3T,EAAE,iBAAiB;IAC/BhB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACX;GACD;IACEF,YAAY3T,EAAE,UAAU;IACxBhB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACVC,cAAc;IACf;GACD;IACEH,YAAY3T,EAAE,qBAAqB;IACnChB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACVC,cAAc;IACf;GACD;IACEH,YAAY3T,EAAE,cAAc;IAC5BhB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACX;GACD;IACEF,YAAY3T,EAAE,WAAW;IACzBhB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACX;GACD;IACEF,YAAY3T,EAAE,iBAAiB;IAC/BhB,OAAO;IACP4U,WAAW;IACXC,UAAU;IACX;GACD;IACEF,YAAY3T,EAAE,UAAU;IACxBhB,OAAO;IACP+U,cAAc;IACdC,oBAAoB,EAClBC,YAAY;KACV;MACEC,IAAI;MACJrG,OAAO7N,EAAE,OAAO;MAChBmU,UAAU;MACVC,gBAAgBC,GAAG7O,sBAAoB;AACrCiF,uBAAgB,MAAMjF,mBAAiBG,KAAK;;MAE/C;KACD;MACEuO,IAAI;MACJrG,OAAO7N,EAAE,SAAS;MAClBmU,UAAU;MACVC,gBAAgBC,KAAG7O,sBAAoB;AACrCoN,6CAAsCpN,mBAAiBG,KAAK;;MAE/D;KACD;MACEuO,IAAI;MACJrG,OAAO7N,EAAE,kBAAkB;MAC3BmU,UAAU;MACVC,gBAAgBC,KAAG7O,uBAAoB;AACrCmF,4CACE,MACAnF,oBAAiBG,KAClB;;MAEJ;KACD;MACEuO,IAAI;MACJrG,OAAO7N,EAAE,iBAAiB;MAC1BmU,UAAU;MACVC,gBAAgBC,KAAG7O,uBAAoB;AACrCqF,uDACE,MACArF,oBAAiBG,KAClB;;MAEJ;KACD;MACEuO,IAAI;MACJrG,OAAO7N,EAAE,qBAAqB;MAC9BmU,UAAU;MACVC,gBAAgBC,KAAG7O,uBAAoB;AACrCuF,0CAAmC,MAAMvF,oBAAiBG,KAAK;;MAElE;KACD;MACEuO,IAAI;MACJrG,OAAO7N,EAAE,eAAe;MACxBmU,UAAU;MACVC,gBAAgBC,KAAG7O,uBAAoB;AACrCyF,mDACE,MACAzF,oBAAiBG,KAClB;;MAEJ;KACD;MACEuO,IAAI;MACJrG,OAAO7N,EAAE,0BAA0B;MACnCmU,UAAU;MACVC,gBAAgBC,KAAG7O,uBAAoB;AACrC6F,gDACE,MACA7F,oBAAiBG,KAClB;;MAEJ;KAAA,EAEJ;IACD2O,cAAcC,WAAWA,OAAO5O;IAChC6O,cAAc;IACdX,UAAU;IACV3J,QAAQ;IACT;GACF;IACA;EACDO;EACAmI;EACAjI;EACAE;EACAE;EACAE;EACAI;EACArL;EACD,CAAC;CAEF,MAAMyU,eAAe;EACnB5G,OAAO7N,EAAE,oBAAoB;EAC7B0U,qBAAqB;GACnBC,OAAO3U,EAAE,MAAM;GACfmU,UAAU;GACVS,eAAenK,gBAAgB,KAAI;GACrC;EACD;CAED,MAAMoK,gBAAgB;EACpB,EAAEzK,MAAM,gBAAgB;EACxB,EAAEA,MAAM,0BAA0B;EAClC,EAAEA,MAAM,yBAAyB;EACjC,EAAEA,MAAM,sBAAsB;EAC9B,EAAEA,MAAM,yBAAyB;EAClC;CAED,MAAM0K,cAAcja,cAAc;AAChC,SAAO,EACLka,YAAY,MACb;IACA,EAAE,CAAC;CAEN,MAAMC,yBAAyBC,QAAQ;AACrC5U,aAAWqN,UAAUuH;;CAGvB,MAAMC,qBAAqBra,cAAc;AACvC,SAAO;GACLsa,YAAY,GAAG/Y,cAAcqJ,gBAAe;GAC5C2P,oBAAoBxU;GACrB;IACA,CAACA,aAAa,CAAC;AAElB,QACE,sBAAA,cAAA,MAAA,UAAA,MACGM,qCACC,sBAAA,cAAC,kBAAD;EAAgB,WAAWjB,QAAQjC;EAAY,OAAM;EACtD,CAAA,EACD,sBAAA,cAAC,qBAAD;EACsBkX;EACRxB;EACZ,kBAAkBe;EACLK;EACb,iBAAiBE;EACFH;EAAc,CAAA,EAE/B,sBAAA,cAAC,6BAAD;EACE,KAAK/T,yBAAyB+E;EAC9B,wBAAwB/E;EACJY;EACpB,iBAAiBV;EACAyJ;EACM9I;EACM4J;EACAwC;EACTnE;EACKI;EACIM;EACKhJ;EAEhCC;EAGAC;EAGAC;EACD,CAAA,EAEFwE,wCACC,sBAAA,cAAC,kBAAA,KAAiB,GAElB,sBAAA,cAAC,cAAD;EACE,MAAM7E;EACN,SAASyR;EACT,OAAO7S,EAAE,iBAAiB;EAC1B,SACE,CAAC+F,iCAAiCkB,UAAUvH,SACxCM,EAAE,6CAA6C,GAC/CA,EAAE;mFAER;EACA,UAAUA,EAAE,SAAS;EACrB,WAAWkO;EACX,iBAAiB,CAAC,CAACnI,iCAAiCkB,UAAUvH;EAC9D,UAAUM,EAAE,SAAS;EACrB,WAAW6S;EAEd,CAAA,EACD,sBAAA,cAAC,2CAAD;EACE,KAAKvS;EACL,iBAAiBQ;EACjB,uBAAuBkB;EACvB,iBAAiBJ;EACjB,kDACEM;EAGAyI;EAGAC;EAEiCuD;EACAQ;EACnC,mCACEmE;EACD,CAAA,EAEH,sBAAA,cAAC,cAAD;EACE,MAAMhR;EACN,SAASiR;EACT,OAAO/S,EAAE,iBAAiB;EAC1B,SAASA,EAAE,+CAA+C;EAC1D,UAAUA,EAAE,SAAS;EACrB,WAAWgP;EACX,UAAUhP,EAAE,SAAS;EACrB,WAAW+S;EAA6C,CAAA,EAE1D,sBAAA,cAAC,sDAAD;EACE,KAAKxS;EACL,iBAAiBO;EACjB,kCACE0B;EAEF,iBAAiBF;EACjB,6DACEI;EAGAmI;EAGAC;EAGAmE;EAGAkB;EAEF,8CACE6C;EAEkB9L;EACK8C;EACb7C;EACLC;EACKhF;EAAW,CAAA,EAEzB,sBAAA,cAAC,cAAD;EACE,MAAMQ;EACN,SAASqQ;EACT,OAAOjT,EAAE,iBAAiB;EAC1B,SAASA,EAAE,+CAA+C;EAC1D,UAAUA,EAAE,SAAS;EACrB,WAAWuQ;EACX,UAAUvQ,EAAE,SAAS;EACrB,WAAWiT;EAAwD,CAAA,EAErE,sBAAA,cAAC,yCAAD;EACE,KAAKzS;EACL,iBAAiBM;EACjB,qBAAqBoC;EACrB,iBAAiBF;EACmB+H;EAElC3H;EAGA4H;EAE+BwF;EACAM;EACjC,iCACEoC;EAEwB5K;EACdnB;EACLC;EACSgB;EAAe,CAAA,EAEjC,sBAAA,cAAC,cAAD;EACE,MAAM9E;EACN,SAAS6P;EACT,OAAOnT,EAAE,iBAAiB;EAC1B,SAASA,EAAE,kDAAkD;EAC7D,UAAUA,EAAE,SAAS;EACrB,WAAWgR;EACX,UAAUhR,EAAE,SAAS;EACrB,WAAWmT;EAA2C,CAAA,EAExD,sBAAA,cAAC,kDAAD;EACE,KAAK1S;EACL,iBAAiBK;EACjB,8BAA8B4C;EAC9B,iBAAiBF;EAEfyH;EAGArH;EAGAsH;EAGA+F;EAGAa;EAEF,0CACEsB;EAEoBxK;EACGoB;EACb5H;EACLyG;EACP,+CACE3E;EAGAF;EAGAmH;EAGAC;EAGAhH;EAEUtB;EAEVmP;EAGAG;EAEF,2DACEkB;EAESnK;EACMzI;EAAgB,CAAA,EAEnC,sBAAA,cAAC,cAAD;EACE,MAAMoD;EACN,SAASuP;EACT,OAAOrT,EAAE,iBAAiB;EAC1B,SAASA,EAAE,6CAA6C;EACxD,UAAUA,EAAE,SAAS;EACrB,WAAWgS;EACX,UAAUhS,EAAE,SAAS;EACrB,WAAWqT;EAAoD,CAAA,EAEjE,sBAAA,cAAC,cAAD;EACE,MAAM/O;EACN,SACEiP;EAEF,OAAOvT,EAAE,iBAAiB;EAC1B,SAASA,EAAE,sDAAsD;EACjE,UAAUA,EAAE,SAAS;EACrB,WAAWuS;EACX,UAAUvS,EAAE,SAAS;EACrB,WACEuT;EACD,CAAA,EAEH,sBAAA,cAAC,+CAAD;EACE,KAAK5S;EACL,iBAAiBG;EACjB,2BAA2B4D;EAC3B,iBAAiBF;EACjB,sDACEI;EAGAyG;EAGAC;EAGAkH;EAGAE;EAEF,uCACEc;EACD,CAAA,EAEH,sBAAA,cAAC,cAAD;EACE,MAAM1O;EACN,SAAS2O;EACT,OAAOzT,EAAE,iBAAiB;EAC1B,SAASA,EAAE,wDAAwD;EACnE,UAAUA,EAAE,SAAS;EACrB,WAAW2S;EACX,UAAU3S,EAAE,SAAS;EACrB,WAAWyT;EAAiD,CAAA,CAE7D"}
|