udp-react-enterprise-component-library 26.8.0 → 26.9.0-beta.0

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.
Files changed (36) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.d.ts.map +1 -1
  3. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.js +14 -10
  4. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.js.map +1 -1
  5. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.mjs +7 -2
  6. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.mjs.map +1 -1
  7. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.d.ts.map +1 -1
  8. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.js +2 -1
  9. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.js.map +1 -1
  10. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.mjs +20 -10
  11. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.mjs.map +1 -1
  12. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.d.ts.map +1 -1
  13. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.js +12 -0
  14. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.js.map +1 -1
  15. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.mjs +211 -187
  16. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.mjs.map +1 -1
  17. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.d.ts.map +1 -1
  18. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.js +1 -1
  19. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.js.map +1 -1
  20. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.mjs +1 -1
  21. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.mjs.map +1 -1
  22. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts.map +1 -1
  23. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.js +100 -30
  24. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.js.map +1 -1
  25. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.mjs +228 -165
  26. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.mjs.map +1 -1
  27. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts.map +1 -1
  28. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.js +14 -5
  29. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.js.map +1 -1
  30. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.mjs +2 -4
  31. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.mjs.map +1 -1
  32. package/dist/utilities/i18n/locales/es-US.json +2 -0
  33. package/dist/utilities/i18n/locales/es-US.mjs +2 -0
  34. package/dist/utilities/i18n/locales/fr-CA.json +2 -0
  35. package/dist/utilities/i18n/locales/fr-CA.mjs +2 -0
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"UdpTransactionsPage.mjs","names":["UdpTransactionGrid","UdpTransactionCalendar","React","useState","useCallback","useEffect","useMemo","useRef","UdpTransactionSidesheet","useTransactionType","useTransactionEngine","CircularProgress","useUdpGridFilterModel","useCatalogStore","useHistory","useLocation","Typography","apiMutate","useAxiosGet","useHandleAxiosSnackbar","ConfigService","UdpTransactionsPage","props","$","_c","transactionTypeId","t0","domainName","t1","domainFieldType","domainFieldValue","searchMethodObject","domainColumnFormatters","gridOptions","onBeforeRefresh","onAfterRefresh","gridTitle","hideCreateTransaction","t2","sideSheetProps","columnDefProperties","columnDefinitions","paginationAutoPageSize","customActions","gridSecondaryActionButtons","calendarSecondaryActionButtons","gridApiCallback","loading","t3","addTransactionSidesheetWidth","viewTransactionSidesheetWidth","editTransactionSidesheetWidth","attachmentTransactionSidesheetWidth","workflowActionTransactionSidesheetWidth","createRevisionSidesheetWidth","statusChangeCallbacks","attachmentTypeDefaults","undefined","initialDomainName","t4","Symbol","for","workflowAction","addTransaction","editTransaction","viewTransaction","attachmentTransaction","createRevision","sidesheetState","setSidesheetState","selectedTransaction","setSelectedTransaction","gridApi","setGridApi","calendarRefresh","setCalendarRefresh","showCalendarView","setShowCalendarView","location","history","state","handleErrorSnackbar","searchParamStr","search","deepLinkTransactionId","initialTransactionTypeId","t5","searchParams","URLSearchParams","params","udpTransactionTypeId","has","get","deepLinkAction","deepLinkOpenedRef","t6","t7","data","transactionType","transactionTypeLoading","currentApiCatalogId","_temp","filterModel","t8","actionType","openStatus","transaction","t9","width","prev","prev_0","prev_1","prev_2","prev_3","prev_4","handleSidesheet","handleAttachmentTransaction","_temp2","api","handleGridApiCallback","t10","refreshFn","handleCalendarApiCallback","t11","bb0","t12","splitDomainNameArr","split","pop","bb1","config","pageConfiguration","calendarViewConfiguration","t13","isDefaultView","t14","defaultCalendarViewType","domainEndDateProperty","domainPropertyToDisplay","domainStartDateProperty","enabled","calendarViewEnabled","t15","catalogObjectRequestSkipped","t16","t17","integrationV2ApiUrl","catalogObject","catalogObjectLoading","error","catalogObjectError","catalogObjectPending","t18","refreshServerSide","refreshGridData","t19","enableStatusChangeCallbacks","udpTransactionTypeUdpTransactionTypeStatus","newStatusId","transaction_0","currentStatusId","newStatus","find","status","transactionTypeStatusId","statusChangeCallback","code","t20","console","handleTransactionStatusChange","openAddTransaction","t21","transaction_1","openViewTransaction","t22","transaction_2","openEditTransaction","t23","transaction_3","openAttachmentTransaction","t24","transaction_4","openWorkflowActionTransaction","t25","delete","replace","toString","clearDeepLinkParams","t26","t27","cancelled","productV1ApiUrl","method","then","response","current","catch","error_0","t28","t29","t30","transaction_5","openCreateRevision","t31","t32","t33","t34","state_0"],"sources":["../../../../src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.jsx"],"sourcesContent":["import UdpTransactionGrid from './UdpTransactionGrid';\nimport UdpTransactionCalendar from './UdpTransactionCalendar';\nimport React, {\n useState,\n useCallback,\n useEffect,\n useMemo,\n useRef\n} from 'react';\nimport UdpTransactionSidesheet from './UdpTransactionSidesheet';\nimport { useTransactionType } from '../../../hooks/useTransactionType';\nimport { useTransactionEngine } from '../../../utilities/transactions/useTransactionEngine';\nimport { CircularProgress } from '@material-ui/core';\nimport './UdpTransactionsPage.css';\nimport { useUdpGridFilterModel } from '../../../hooks/useUdpGridFilterModel';\nimport { useCatalogStore } from '../../../stores';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { Typography } from '../../../UI/dataDisplay/typography';\nimport { apiMutate, useAxiosGet } from '../../../utilities';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { ConfigService } from '../../../configService';\n\n// const domainColumnFormattersExample = {\n// submittedBy: {\n// formatter: (params) => {\n// return params?.data\n// ? params?.data?.entityBusinessObject['submittedBy']\n// : '';\n// }\n// },\n// submittedTo: {\n// formatter: (params) => {\n// return params?.data\n// ? params?.data?.entityBusinessObject['submittedTo']\n// : '';\n// }\n// },\n// test: {\n// formatter: (params) => {\n// return 'test';\n// }\n// }\n// };\n\n// Example of attachment type defaults mapping for different transaction statuses.\n// Status codes (keys) are mapped to the default attachment type codes (values).\n// attachmentTypeDefaultsExample =\n// {\n// 'RFI-D': 'RFI-TD',\n// 'RFI-STC': 'RFI-CONTD',\n// 'RFI-RTT': 'RFI-CONSD',\n// 'RFI-RR': 'RFI-TD',\n// 'RFI-C': 'RFI-SD'\n// }\n\nconst UdpTransactionsPage = (props) => {\n const {\n transactionTypeId = '',\n domainName: initialDomainName = '',\n domainFieldType,\n domainFieldValue,\n searchMethodObject,\n domainColumnFormatters,\n gridOptions,\n onBeforeRefresh,\n onAfterRefresh,\n gridTitle,\n hideCreateTransaction = false,\n sideSheetProps,\n columnDefProperties,\n columnDefinitions,\n paginationAutoPageSize,\n customActions,\n gridSecondaryActionButtons,\n calendarSecondaryActionButtons,\n gridApiCallback,\n loading = false,\n addTransactionSidesheetWidth,\n viewTransactionSidesheetWidth,\n editTransactionSidesheetWidth,\n attachmentTransactionSidesheetWidth,\n workflowActionTransactionSidesheetWidth,\n createRevisionSidesheetWidth,\n statusChangeCallbacks,\n attachmentTypeDefaults\n } = props;\n\n const [sidesheetState, setSidesheetState] = useState({\n workflowAction: false,\n addTransaction: false,\n editTransaction: false,\n viewTransaction: false,\n attachmentTransaction: false,\n createRevision: false\n });\n const [selectedTransaction, setSelectedTransaction] = useState(null);\n const [gridApi, setGridApi] = useState(null);\n const [calendarRefresh, setCalendarRefresh] = useState(null);\n const [showCalendarView, setShowCalendarView] = useState(false);\n const location = useLocation();\n const history = useHistory();\n const state = location.state;\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const initialTransactionTypeId = state?.params?.udpTransactionTypeId\n ? state.params.udpTransactionTypeId\n : searchParams.has('udpTransactionTypeId') === true\n ? searchParams.get('udpTransactionTypeId')\n : '';\n\n // Deep link: ?udpTransactionId=<id>&udpTransactionAction=nextSteps opens\n // Next Steps for that transaction. The params stay in the URL while the\n // sheet is open and are removed when it closes.\n const deepLinkTransactionId = searchParams.get('udpTransactionId');\n const deepLinkAction = searchParams.get('udpTransactionAction');\n const deepLinkOpenedRef = useRef(false);\n\n const {\n data: transactionType,\n loading: transactionTypeLoading,\n error: transactionTypeError\n } = useTransactionType({\n transactionTypeId: transactionTypeId || initialTransactionTypeId,\n domainName: initialDomainName,\n domainFieldType: domainFieldType,\n domainFieldValue: domainFieldValue\n });\n\n useTransactionEngine(transactionType?.transactionTypeId);\n const currentApiCatalogId = useCatalogStore(\n (state) => state.currentApiCatalogId\n );\n const filterModel = useUdpGridFilterModel();\n\n const handleSidesheet = useCallback(\n (actionType, openStatus, transaction, width = 800) => {\n if (actionType == 'add') {\n setSidesheetState((prev) => ({\n ...prev,\n addTransaction: openStatus,\n width\n }));\n } else if (actionType == 'edit') {\n setSidesheetState((prev) => ({\n ...prev,\n editTransaction: openStatus,\n width\n }));\n } else if (actionType == 'view') {\n setSidesheetState((prev) => ({\n ...prev,\n viewTransaction: openStatus,\n width\n }));\n } else if (actionType == 'attachment') {\n setSidesheetState((prev) => ({\n ...prev,\n attachmentTransaction: openStatus,\n width\n }));\n } else if (actionType == 'action') {\n setSidesheetState((prev) => ({\n ...prev,\n workflowAction: openStatus,\n width\n }));\n } else if (actionType == 'createRevision') {\n setSidesheetState((prev) => ({\n ...prev,\n createRevision: openStatus,\n width\n }));\n }\n if (transaction) {\n setSelectedTransaction(transaction);\n } else if (actionType == 'add' && openStatus) {\n // Creating a new transaction — drop any lingering selection (e.g. the\n // transaction just created when Next Steps was auto-launched) so the\n // create form opens blank\n setSelectedTransaction(null);\n }\n },\n []\n );\n\n const handleAttachmentTransaction = () => {};\n\n const handleGridApiCallback = useCallback(\n (api) => {\n setGridApi(api);\n gridApiCallback?.(api);\n },\n [gridApiCallback]\n );\n\n const handleCalendarApiCallback = useCallback((refreshFn) => {\n setCalendarRefresh(() => refreshFn);\n }, []);\n\n const domainName = useMemo(() => {\n if (transactionType) {\n const splitDomainNameArr = transactionType.domainName.split('.');\n return splitDomainNameArr.pop();\n }\n return initialDomainName;\n }, [transactionType, initialDomainName]);\n\n const calendarViewConfiguration = useMemo(() => {\n const config =\n transactionType?.pageConfiguration?.calendarViewConfiguration;\n if (!config) return null;\n return {\n enabled: config.enabled,\n isDefaultView: !!config.isDefaultView,\n domainStartDateProperty: config.domainStartDateProperty,\n domainEndDateProperty: config.domainEndDateProperty,\n domainPropertyToDisplay: config.domainPropertyToDisplay,\n defaultCalendarViewType: config.defaultCalendarViewType\n };\n }, [transactionType]);\n\n const calendarViewEnabled = !!calendarViewConfiguration?.enabled;\n\n useEffect(() => {\n if (calendarViewConfiguration?.isDefaultView) {\n setShowCalendarView(true);\n }\n }, [calendarViewConfiguration?.isDefaultView]);\n\n const catalogObjectRequestSkipped =\n !!!currentApiCatalogId || !!!transactionType?.domainName;\n const [\n {\n data: catalogObject,\n loading: catalogObjectLoading,\n error: catalogObjectError\n }\n ] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `apiCatalog/${currentApiCatalogId}/catalogObject/${transactionType?.domainName}`,\n {},\n catalogObjectRequestSkipped,\n false\n );\n // axios-hooks only reports loading on the render after the request is\n // unskipped, so treat \"requested but not yet settled\" as loading too.\n // Otherwise the grid and sidesheets mount for one render, unmount behind\n // the spinner and mount again.\n const catalogObjectPending =\n catalogObjectLoading ||\n (!catalogObjectRequestSkipped &&\n catalogObject === undefined &&\n !catalogObjectError);\n\n const refreshGridData = useCallback(async () => {\n if (onBeforeRefresh) {\n await onBeforeRefresh(gridApi);\n }\n if (showCalendarView) {\n await calendarRefresh?.();\n } else {\n gridApi?.refreshServerSide();\n }\n if (onAfterRefresh) {\n await onAfterRefresh(gridApi);\n }\n }, [\n gridApi,\n calendarRefresh,\n showCalendarView,\n onBeforeRefresh,\n onAfterRefresh\n ]);\n\n // statusChangeCallbacks maps a transaction type status code to a callback,\n // executed when a transaction is updated to a status with that code.\n // Gated by pageConfiguration.enableStatusChangeCallbacks (enabled unless\n // explicitly disabled on the transaction type).\n const handleTransactionStatusChange = useCallback(\n async (newStatusId, transaction) => {\n if (\n !statusChangeCallbacks ||\n transactionType?.pageConfiguration?.enableStatusChangeCallbacks ===\n false ||\n !newStatusId ||\n newStatusId === transaction?.currentStatusId\n ) {\n return;\n }\n const newStatus =\n transactionType?.udpTransactionTypeUdpTransactionTypeStatus?.find(\n (status) => status.transactionTypeStatusId === newStatusId\n );\n const statusChangeCallback = newStatus?.code\n ? statusChangeCallbacks[newStatus.code]\n : null;\n if (statusChangeCallback) {\n try {\n await statusChangeCallback(transaction, newStatus);\n } catch (error) {\n // Avoid unhandled promise rejections from consumer-provided callbacks\n console.error('statusChangeCallbacks callback threw', error);\n }\n }\n },\n [statusChangeCallbacks, transactionType]\n );\n\n const openAddTransaction = useCallback(() => {\n handleSidesheet('add', true, null, addTransactionSidesheetWidth);\n }, [handleSidesheet, addTransactionSidesheetWidth]);\n\n const openViewTransaction = useCallback(\n (transaction) => {\n handleSidesheet('view', true, transaction, viewTransactionSidesheetWidth);\n },\n [handleSidesheet, viewTransactionSidesheetWidth]\n );\n\n const openEditTransaction = useCallback(\n (transaction) => {\n handleSidesheet('edit', true, transaction, editTransactionSidesheetWidth);\n },\n [handleSidesheet, editTransactionSidesheetWidth]\n );\n\n const openAttachmentTransaction = useCallback(\n (transaction) => {\n handleSidesheet(\n 'attachment',\n true,\n transaction,\n attachmentTransactionSidesheetWidth || 1000\n );\n },\n [handleSidesheet, attachmentTransactionSidesheetWidth]\n );\n\n const openWorkflowActionTransaction = useCallback(\n (transaction) => {\n handleSidesheet(\n 'action',\n true,\n transaction,\n workflowActionTransactionSidesheetWidth\n );\n },\n [handleSidesheet, workflowActionTransactionSidesheetWidth]\n );\n\n // Reads history.location rather than the render's location so the open\n // effect below does not re-run on unrelated URL changes.\n const clearDeepLinkParams = useCallback(() => {\n const params = new URLSearchParams(history.location.search);\n params.delete('udpTransactionId');\n params.delete('udpTransactionAction');\n history.replace({ ...history.location, search: params.toString() });\n }, [history]);\n\n useEffect(() => {\n if (!deepLinkTransactionId || deepLinkAction !== 'nextSteps') return;\n let cancelled = false;\n apiMutate(\n ConfigService.productV1ApiUrl,\n `udpTransaction/${deepLinkTransactionId}/full`,\n { method: 'get' }\n )\n .then((response) => {\n if (cancelled) return;\n deepLinkOpenedRef.current = true;\n openWorkflowActionTransaction(response.data);\n })\n .catch((error) => {\n if (cancelled) return;\n handleErrorSnackbar(error);\n clearDeepLinkParams();\n });\n return () => {\n cancelled = true;\n };\n }, [\n deepLinkTransactionId,\n deepLinkAction,\n openWorkflowActionTransaction,\n handleErrorSnackbar,\n clearDeepLinkParams\n ]);\n\n useEffect(() => {\n if (!sidesheetState.workflowAction && deepLinkOpenedRef.current) {\n deepLinkOpenedRef.current = false;\n clearDeepLinkParams();\n }\n }, [sidesheetState.workflowAction, clearDeepLinkParams]);\n\n const openCreateRevision = useCallback(\n (transaction) => {\n handleSidesheet(\n 'createRevision',\n true,\n transaction,\n createRevisionSidesheetWidth\n );\n },\n [handleSidesheet, createRevisionSidesheetWidth]\n );\n\n if (!transactionTypeId && !initialTransactionTypeId && !initialDomainName) {\n return (\n <div>\n <Typography variant='h6'>\n Error loading Transaction Type: No Transaction type provided.\n </Typography>\n </div>\n );\n }\n\n // IMPORTANT: If no Catalog is promoted for product application, the page will not load\n if (!transactionType || catalogObjectPending || loading) {\n return (\n <div className='udp-transaction-page-loading'>\n <CircularProgress size={64} />\n </div>\n );\n }\n\n return (\n <>\n {calendarViewEnabled && showCalendarView ? (\n <UdpTransactionCalendar\n transactionTypeId={transactionType?.transactionTypeId}\n domainName={domainName}\n searchMethodObject={searchMethodObject}\n calendarViewConfiguration={calendarViewConfiguration}\n openWorkflowActionTransaction={openWorkflowActionTransaction}\n handleCalendarApiCallback={handleCalendarApiCallback}\n openAddTransaction={openAddTransaction}\n gridTitle={gridTitle}\n hideCreateTransaction={hideCreateTransaction}\n onShowGridView={() => setShowCalendarView(false)}\n secondaryActionButtons={calendarSecondaryActionButtons}\n />\n ) : (\n <UdpTransactionGrid\n transactionTypeId={transactionType?.transactionTypeId}\n transactionType={transactionType}\n domainName={domainName}\n transactionTypeLoading={transactionTypeLoading}\n searchMethodObject={searchMethodObject}\n domainColumnFormatters={domainColumnFormatters}\n catalogObject={catalogObject}\n openAddTransaction={openAddTransaction}\n openViewTransaction={openViewTransaction}\n openEditTransaction={openEditTransaction}\n openAttachmentTransaction={openAttachmentTransaction}\n openWorkflowActionTransaction={openWorkflowActionTransaction}\n openCreateRevision={openCreateRevision}\n handleGridApiCallback={handleGridApiCallback}\n refreshGridData={refreshGridData}\n gridApi={gridApi}\n initialFilterModel={filterModel}\n initialGridOptions={gridOptions}\n gridTitle={gridTitle}\n hideCreateTransaction={hideCreateTransaction}\n columnDefProperties={columnDefProperties}\n columnDefinitions={columnDefinitions}\n customActions={customActions}\n secondaryActionButtons={gridSecondaryActionButtons}\n paginationAutoPageSize={paginationAutoPageSize}\n calendarViewEnabled={calendarViewEnabled}\n onShowCalendarView={() => setShowCalendarView(true)}\n />\n )}\n\n <UdpTransactionSidesheet\n openStates={sidesheetState}\n handleSidesheet={handleSidesheet}\n handleAttachmentTransaction={handleAttachmentTransaction}\n transaction={selectedTransaction}\n transactionTypeId={transactionType?.transactionTypeId}\n domainName={domainName}\n refreshGridData={refreshGridData}\n catalogObject={catalogObject}\n onTransactionStatusChange={handleTransactionStatusChange}\n attachmentTypeDefaults={attachmentTypeDefaults}\n {...sideSheetProps}\n />\n </>\n );\n};\n\nexport default UdpTransactionsPage;\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpTransactionsPage.mjs","names":["UdpTransactionGrid","UdpTransactionCalendar","React","useState","useCallback","useEffect","useMemo","useRef","UdpTransactionSidesheet","useTransactionType","useTransactionEngine","CircularProgress","useUdpGridFilterModel","useCatalogStore","useHistory","useLocation","Typography","apiMutate","useAxiosGet","useHandleAxiosSnackbar","ConfigService","UdpTransactionsPage","props","$","_c","transactionTypeId","t0","domainName","t1","domainFieldType","domainFieldValue","searchMethodObject","domainColumnFormatters","gridOptions","onBeforeRefresh","onAfterRefresh","gridTitle","hideCreateTransaction","t2","sideSheetProps","columnDefProperties","columnDefinitions","paginationAutoPageSize","customActions","gridSecondaryActionButtons","calendarSecondaryActionButtons","gridApiCallback","loading","t3","addTransactionSidesheetWidth","viewTransactionSidesheetWidth","editTransactionSidesheetWidth","attachmentTransactionSidesheetWidth","workflowActionTransactionSidesheetWidth","createRevisionSidesheetWidth","statusChangeCallbacks","attachmentTypeDefaults","undefined","initialDomainName","t4","Symbol","for","workflowAction","addTransaction","editTransaction","viewTransaction","attachmentTransaction","createRevision","sidesheetState","setSidesheetState","selectedTransaction","setSelectedTransaction","gridApi","setGridApi","calendarRefresh","setCalendarRefresh","showCalendarView","setShowCalendarView","location","history","state","handleErrorSnackbar","searchParamStr","search","deepLinkTransactionId","initialTransactionTypeId","t5","searchParams","URLSearchParams","params","udpTransactionTypeId","has","get","deepLinkAction","deepLinkOpenedRef","t6","t7","data","transactionType","transactionTypeLoading","currentApiCatalogId","_temp","filterModel","t8","actionType","openStatus","transaction","t9","width","prev","prev_0","prev_1","prev_2","prev_3","prev_4","handleSidesheet","handleAttachmentTransaction","_temp2","api","handleGridApiCallback","t10","refreshFn","handleCalendarApiCallback","t11","bb0","t12","splitDomainNameArr","split","pop","bb1","config","pageConfiguration","calendarViewConfiguration","t13","isDefaultView","t14","defaultCalendarViewType","domainEndDateProperty","domainPropertyToDisplay","domainStartDateProperty","enabled","calendarViewEnabled","t15","catalogObjectRequestSkipped","t16","t17","integrationV2ApiUrl","catalogObject","catalogObjectLoading","error","catalogObjectError","catalogObjectPending","t18","refreshServerSide","refreshGridData","t19","openAddTransaction","t20","transaction_0","openViewTransaction","t21","transaction_1","openEditTransaction","t22","transaction_2","openAttachmentTransaction","t23","transaction_3","openWorkflowActionTransaction","fetchFullTransaction","_temp4","isMountedRef","t24","t25","current","autoLaunchRefreshTokenRef","t26","t27","t28","enableStatusChangeCallbacks","udpTransactionTypeUdpTransactionTypeStatus","newStatusId","transaction_4","updatedTransaction","currentStatusId","autoLaunchNextSteps","newStatus","find","status","transactionTypeStatusId","transactionId","transactionId_0","entityBusinessObject","refreshToken","isCurrent","then","freshTransaction","catch","statusChangeCallback","code","Promise","resolve","_temp5","t29","console","handleTransactionStatusChange","delete","replace","toString","clearDeepLinkParams","t30","t31","cancelled","transaction_5","error_2","t32","t33","t34","transaction_6","openCreateRevision","t35","t36","t37","t38","state_0","_temp3","response","productV1ApiUrl","method","error_1"],"sources":["../../../../src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.jsx"],"sourcesContent":["import UdpTransactionGrid from './UdpTransactionGrid';\nimport UdpTransactionCalendar from './UdpTransactionCalendar';\nimport React, {\n useState,\n useCallback,\n useEffect,\n useMemo,\n useRef\n} from 'react';\nimport UdpTransactionSidesheet from './UdpTransactionSidesheet';\nimport { useTransactionType } from '../../../hooks/useTransactionType';\nimport { useTransactionEngine } from '../../../utilities/transactions/useTransactionEngine';\nimport { CircularProgress } from '@material-ui/core';\nimport './UdpTransactionsPage.css';\nimport { useUdpGridFilterModel } from '../../../hooks/useUdpGridFilterModel';\nimport { useCatalogStore } from '../../../stores';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { Typography } from '../../../UI/dataDisplay/typography';\nimport { apiMutate, useAxiosGet } from '../../../utilities';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { ConfigService } from '../../../configService';\n\n// const domainColumnFormattersExample = {\n// submittedBy: {\n// formatter: (params) => {\n// return params?.data\n// ? params?.data?.entityBusinessObject['submittedBy']\n// : '';\n// }\n// },\n// submittedTo: {\n// formatter: (params) => {\n// return params?.data\n// ? params?.data?.entityBusinessObject['submittedTo']\n// : '';\n// }\n// },\n// test: {\n// formatter: (params) => {\n// return 'test';\n// }\n// }\n// };\n\n// Example of attachment type defaults mapping for different transaction statuses.\n// Status codes (keys) are mapped to the default attachment type codes (values).\n// attachmentTypeDefaultsExample =\n// {\n// 'RFI-D': 'RFI-TD',\n// 'RFI-STC': 'RFI-CONTD',\n// 'RFI-RTT': 'RFI-CONSD',\n// 'RFI-RR': 'RFI-TD',\n// 'RFI-C': 'RFI-SD'\n// }\n\nconst UdpTransactionsPage = (props) => {\n const {\n transactionTypeId = '',\n domainName: initialDomainName = '',\n domainFieldType,\n domainFieldValue,\n searchMethodObject,\n domainColumnFormatters,\n gridOptions,\n onBeforeRefresh,\n onAfterRefresh,\n gridTitle,\n hideCreateTransaction = false,\n sideSheetProps,\n columnDefProperties,\n columnDefinitions,\n paginationAutoPageSize,\n customActions,\n gridSecondaryActionButtons,\n calendarSecondaryActionButtons,\n gridApiCallback,\n loading = false,\n addTransactionSidesheetWidth,\n viewTransactionSidesheetWidth,\n editTransactionSidesheetWidth,\n attachmentTransactionSidesheetWidth,\n workflowActionTransactionSidesheetWidth,\n createRevisionSidesheetWidth,\n statusChangeCallbacks,\n attachmentTypeDefaults\n } = props;\n\n const [sidesheetState, setSidesheetState] = useState({\n workflowAction: false,\n addTransaction: false,\n editTransaction: false,\n viewTransaction: false,\n attachmentTransaction: false,\n createRevision: false\n });\n const [selectedTransaction, setSelectedTransaction] = useState(null);\n const [gridApi, setGridApi] = useState(null);\n const [calendarRefresh, setCalendarRefresh] = useState(null);\n const [showCalendarView, setShowCalendarView] = useState(false);\n const location = useLocation();\n const history = useHistory();\n const state = location.state;\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const initialTransactionTypeId = state?.params?.udpTransactionTypeId\n ? state.params.udpTransactionTypeId\n : searchParams.has('udpTransactionTypeId') === true\n ? searchParams.get('udpTransactionTypeId')\n : '';\n\n // Deep link: ?udpTransactionId=<id>&udpTransactionAction=nextSteps opens\n // Next Steps for that transaction. The params stay in the URL while the\n // sheet is open and are removed when it closes.\n const deepLinkTransactionId = searchParams.get('udpTransactionId');\n const deepLinkAction = searchParams.get('udpTransactionAction');\n const deepLinkOpenedRef = useRef(false);\n\n const {\n data: transactionType,\n loading: transactionTypeLoading,\n error: transactionTypeError\n } = useTransactionType({\n transactionTypeId: transactionTypeId || initialTransactionTypeId,\n domainName: initialDomainName,\n domainFieldType: domainFieldType,\n domainFieldValue: domainFieldValue\n });\n\n useTransactionEngine(transactionType?.transactionTypeId);\n const currentApiCatalogId = useCatalogStore(\n (state) => state.currentApiCatalogId\n );\n const filterModel = useUdpGridFilterModel();\n\n const handleSidesheet = useCallback(\n (actionType, openStatus, transaction, width = 800) => {\n if (actionType == 'add') {\n setSidesheetState((prev) => ({\n ...prev,\n addTransaction: openStatus,\n width\n }));\n } else if (actionType == 'edit') {\n setSidesheetState((prev) => ({\n ...prev,\n editTransaction: openStatus,\n width\n }));\n } else if (actionType == 'view') {\n setSidesheetState((prev) => ({\n ...prev,\n viewTransaction: openStatus,\n width\n }));\n } else if (actionType == 'attachment') {\n setSidesheetState((prev) => ({\n ...prev,\n attachmentTransaction: openStatus,\n width\n }));\n } else if (actionType == 'action') {\n setSidesheetState((prev) => ({\n ...prev,\n workflowAction: openStatus,\n width\n }));\n } else if (actionType == 'createRevision') {\n setSidesheetState((prev) => ({\n ...prev,\n createRevision: openStatus,\n width\n }));\n }\n if (transaction) {\n setSelectedTransaction(transaction);\n } else if (actionType == 'add' && openStatus) {\n // Creating a new transaction — drop any lingering selection (e.g. the\n // transaction just created when Next Steps was auto-launched) so the\n // create form opens blank\n setSelectedTransaction(null);\n }\n },\n []\n );\n\n const handleAttachmentTransaction = () => {};\n\n const handleGridApiCallback = useCallback(\n (api) => {\n setGridApi(api);\n gridApiCallback?.(api);\n },\n [gridApiCallback]\n );\n\n const handleCalendarApiCallback = useCallback((refreshFn) => {\n setCalendarRefresh(() => refreshFn);\n }, []);\n\n const domainName = useMemo(() => {\n if (transactionType) {\n const splitDomainNameArr = transactionType.domainName.split('.');\n return splitDomainNameArr.pop();\n }\n return initialDomainName;\n }, [transactionType, initialDomainName]);\n\n const calendarViewConfiguration = useMemo(() => {\n const config =\n transactionType?.pageConfiguration?.calendarViewConfiguration;\n if (!config) return null;\n return {\n enabled: config.enabled,\n isDefaultView: !!config.isDefaultView,\n domainStartDateProperty: config.domainStartDateProperty,\n domainEndDateProperty: config.domainEndDateProperty,\n domainPropertyToDisplay: config.domainPropertyToDisplay,\n defaultCalendarViewType: config.defaultCalendarViewType\n };\n }, [transactionType]);\n\n const calendarViewEnabled = !!calendarViewConfiguration?.enabled;\n\n useEffect(() => {\n if (calendarViewConfiguration?.isDefaultView) {\n setShowCalendarView(true);\n }\n }, [calendarViewConfiguration?.isDefaultView]);\n\n const catalogObjectRequestSkipped =\n !!!currentApiCatalogId || !!!transactionType?.domainName;\n const [\n {\n data: catalogObject,\n loading: catalogObjectLoading,\n error: catalogObjectError\n }\n ] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `apiCatalog/${currentApiCatalogId}/catalogObject/${transactionType?.domainName}`,\n {},\n catalogObjectRequestSkipped,\n false\n );\n // axios-hooks only reports loading on the render after the request is\n // unskipped, so treat \"requested but not yet settled\" as loading too.\n // Otherwise the grid and sidesheets mount for one render, unmount behind\n // the spinner and mount again.\n const catalogObjectPending =\n catalogObjectLoading ||\n (!catalogObjectRequestSkipped &&\n catalogObject === undefined &&\n !catalogObjectError);\n\n const refreshGridData = useCallback(async () => {\n if (onBeforeRefresh) {\n await onBeforeRefresh(gridApi);\n }\n if (showCalendarView) {\n await calendarRefresh?.();\n } else {\n gridApi?.refreshServerSide();\n }\n if (onAfterRefresh) {\n await onAfterRefresh(gridApi);\n }\n }, [\n gridApi,\n calendarRefresh,\n showCalendarView,\n onBeforeRefresh,\n onAfterRefresh\n ]);\n\n const openAddTransaction = useCallback(() => {\n handleSidesheet('add', true, null, addTransactionSidesheetWidth);\n }, [handleSidesheet, addTransactionSidesheetWidth]);\n\n const openViewTransaction = useCallback(\n (transaction) => {\n handleSidesheet('view', true, transaction, viewTransactionSidesheetWidth);\n },\n [handleSidesheet, viewTransactionSidesheetWidth]\n );\n\n const openEditTransaction = useCallback(\n (transaction) => {\n handleSidesheet('edit', true, transaction, editTransactionSidesheetWidth);\n },\n [handleSidesheet, editTransactionSidesheetWidth]\n );\n\n const openAttachmentTransaction = useCallback(\n (transaction) => {\n handleSidesheet(\n 'attachment',\n true,\n transaction,\n attachmentTransactionSidesheetWidth || 1000\n );\n },\n [handleSidesheet, attachmentTransactionSidesheetWidth]\n );\n\n const openWorkflowActionTransaction = useCallback(\n (transaction) => {\n handleSidesheet(\n 'action',\n true,\n transaction,\n workflowActionTransactionSidesheetWidth\n );\n },\n [handleSidesheet, workflowActionTransactionSidesheetWidth]\n );\n\n // The transaction with its full graph, the shape the row's Next Steps\n // action receives, so the Workflow Actions sheet reflects the current\n // status. Shared by the deep link and the per-status auto launch.\n const fetchFullTransaction = useCallback(\n (transactionId) =>\n apiMutate(\n ConfigService.productV1ApiUrl,\n `udpTransaction/${transactionId}/full`,\n { method: 'get' }\n ).then((response) => response.data),\n []\n );\n\n // Cleared on unmount so an in-flight auto launch refresh cannot touch a\n // page the user has already left (e.g. a statusChangeCallbacks redirect).\n const isMountedRef = useRef(true);\n useEffect(\n () => () => {\n isMountedRef.current = false;\n },\n []\n );\n\n // Token of the latest auto-launch refresh. Each launch mints a new one, so\n // the fetch below acts on its result (or its error) only if no newer launch\n // has happened since and the sheet is still open: a slower earlier response\n // cannot overwrite a newer status, and a sheet the user has closed or\n // repointed is left alone.\n const autoLaunchRefreshTokenRef = useRef(null);\n useEffect(() => {\n if (!sidesheetState.workflowAction) {\n autoLaunchRefreshTokenRef.current = null;\n }\n }, [sidesheetState.workflowAction]);\n\n // Called by the sheets when a transaction is updated to a different status,\n // with the transaction as it was and, when the caller has it, the row the\n // server returned. Synchronous so the caller can act on the result before\n // it closes anything; the slow parts run in the background.\n //\n // A status whose pageConfiguration.autoLaunchNextSteps is set keeps Next\n // Steps on screen for the transaction: the selection is patched at once\n // with the new status (rule evaluation reads currentStatusId and\n // entityBusinessObject, so status-driven rules are right immediately), and\n // the full transaction is fetched behind it for rules that read domain\n // fields a server action may have changed. Admin configuration on the\n // status, not gated by enableStatusChangeCallbacks. Returns\n // { autoLaunchNextSteps } so the caller leaves the sheet open.\n //\n // statusChangeCallbacks maps a transaction type status code to a consumer\n // callback. Gated by pageConfiguration.enableStatusChangeCallbacks (enabled\n // unless explicitly disabled on the transaction type).\n const handleTransactionStatusChange = useCallback(\n (newStatusId, transaction, updatedTransaction) => {\n if (!newStatusId || newStatusId === transaction?.currentStatusId) {\n return { autoLaunchNextSteps: false };\n }\n const newStatus =\n transactionType?.udpTransactionTypeUdpTransactionTypeStatus?.find(\n (status) => status.transactionTypeStatusId === newStatusId\n );\n\n const autoLaunchNextSteps =\n !!newStatus?.pageConfiguration?.autoLaunchNextSteps &&\n !!transaction?.transactionId;\n\n if (autoLaunchNextSteps) {\n const { transactionId } = transaction;\n // The server row carries no entityBusinessObject; keep the one we have\n // until the full fetch replaces it.\n openWorkflowActionTransaction({\n ...transaction,\n ...updatedTransaction,\n currentStatusId: newStatusId,\n entityBusinessObject:\n updatedTransaction?.entityBusinessObject ??\n transaction.entityBusinessObject\n });\n const refreshToken = {};\n autoLaunchRefreshTokenRef.current = refreshToken;\n const isCurrent = () =>\n isMountedRef.current &&\n autoLaunchRefreshTokenRef.current === refreshToken;\n fetchFullTransaction(transactionId)\n .then((freshTransaction) => {\n if (isCurrent()) {\n setSelectedTransaction(freshTransaction);\n }\n })\n .catch((error) => {\n if (isCurrent()) {\n handleErrorSnackbar(error);\n }\n });\n }\n\n const statusChangeCallback =\n statusChangeCallbacks &&\n transactionType?.pageConfiguration?.enableStatusChangeCallbacks !==\n false &&\n newStatus?.code\n ? statusChangeCallbacks[newStatus.code]\n : null;\n if (statusChangeCallback) {\n // Invoked synchronously, as the previous async handler did before its\n // first await, so a callback's synchronous work keeps its ordering\n // relative to the caller closing or repointing the sheet. Avoid\n // unhandled rejections from consumer-provided callbacks either way.\n try {\n Promise.resolve(statusChangeCallback(transaction, newStatus)).catch(\n (error) => {\n console.error('statusChangeCallbacks callback threw', error);\n }\n );\n } catch (error) {\n console.error('statusChangeCallbacks callback threw', error);\n }\n }\n\n return { autoLaunchNextSteps };\n },\n [\n statusChangeCallbacks,\n transactionType,\n fetchFullTransaction,\n openWorkflowActionTransaction,\n handleErrorSnackbar\n ]\n );\n\n // Reads history.location rather than the render's location so the open\n // effect below does not re-run on unrelated URL changes.\n const clearDeepLinkParams = useCallback(() => {\n const params = new URLSearchParams(history.location.search);\n params.delete('udpTransactionId');\n params.delete('udpTransactionAction');\n history.replace({ ...history.location, search: params.toString() });\n }, [history]);\n\n useEffect(() => {\n if (!deepLinkTransactionId || deepLinkAction !== 'nextSteps') return;\n let cancelled = false;\n fetchFullTransaction(deepLinkTransactionId)\n .then((transaction) => {\n if (cancelled) return;\n deepLinkOpenedRef.current = true;\n openWorkflowActionTransaction(transaction);\n })\n .catch((error) => {\n if (cancelled) return;\n handleErrorSnackbar(error);\n clearDeepLinkParams();\n });\n return () => {\n cancelled = true;\n };\n }, [\n deepLinkTransactionId,\n deepLinkAction,\n fetchFullTransaction,\n openWorkflowActionTransaction,\n handleErrorSnackbar,\n clearDeepLinkParams\n ]);\n\n useEffect(() => {\n if (!sidesheetState.workflowAction && deepLinkOpenedRef.current) {\n deepLinkOpenedRef.current = false;\n clearDeepLinkParams();\n }\n }, [sidesheetState.workflowAction, clearDeepLinkParams]);\n\n const openCreateRevision = useCallback(\n (transaction) => {\n handleSidesheet(\n 'createRevision',\n true,\n transaction,\n createRevisionSidesheetWidth\n );\n },\n [handleSidesheet, createRevisionSidesheetWidth]\n );\n\n if (!transactionTypeId && !initialTransactionTypeId && !initialDomainName) {\n return (\n <div>\n <Typography variant='h6'>\n Error loading Transaction Type: No Transaction type provided.\n </Typography>\n </div>\n );\n }\n\n // IMPORTANT: If no Catalog is promoted for product application, the page will not load\n if (!transactionType || catalogObjectPending || loading) {\n return (\n <div className='udp-transaction-page-loading'>\n <CircularProgress size={64} />\n </div>\n );\n }\n\n return (\n <>\n {calendarViewEnabled && showCalendarView ? (\n <UdpTransactionCalendar\n transactionTypeId={transactionType?.transactionTypeId}\n domainName={domainName}\n searchMethodObject={searchMethodObject}\n calendarViewConfiguration={calendarViewConfiguration}\n openWorkflowActionTransaction={openWorkflowActionTransaction}\n handleCalendarApiCallback={handleCalendarApiCallback}\n openAddTransaction={openAddTransaction}\n gridTitle={gridTitle}\n hideCreateTransaction={hideCreateTransaction}\n onShowGridView={() => setShowCalendarView(false)}\n secondaryActionButtons={calendarSecondaryActionButtons}\n />\n ) : (\n <UdpTransactionGrid\n transactionTypeId={transactionType?.transactionTypeId}\n transactionType={transactionType}\n domainName={domainName}\n transactionTypeLoading={transactionTypeLoading}\n searchMethodObject={searchMethodObject}\n domainColumnFormatters={domainColumnFormatters}\n catalogObject={catalogObject}\n openAddTransaction={openAddTransaction}\n openViewTransaction={openViewTransaction}\n openEditTransaction={openEditTransaction}\n openAttachmentTransaction={openAttachmentTransaction}\n openWorkflowActionTransaction={openWorkflowActionTransaction}\n openCreateRevision={openCreateRevision}\n handleGridApiCallback={handleGridApiCallback}\n refreshGridData={refreshGridData}\n gridApi={gridApi}\n initialFilterModel={filterModel}\n initialGridOptions={gridOptions}\n gridTitle={gridTitle}\n hideCreateTransaction={hideCreateTransaction}\n columnDefProperties={columnDefProperties}\n columnDefinitions={columnDefinitions}\n customActions={customActions}\n secondaryActionButtons={gridSecondaryActionButtons}\n paginationAutoPageSize={paginationAutoPageSize}\n calendarViewEnabled={calendarViewEnabled}\n onShowCalendarView={() => setShowCalendarView(true)}\n />\n )}\n\n <UdpTransactionSidesheet\n openStates={sidesheetState}\n handleSidesheet={handleSidesheet}\n handleAttachmentTransaction={handleAttachmentTransaction}\n transaction={selectedTransaction}\n transactionTypeId={transactionType?.transactionTypeId}\n domainName={domainName}\n refreshGridData={refreshGridData}\n catalogObject={catalogObject}\n onTransactionStatusChange={handleTransactionStatusChange}\n attachmentTypeDefaults={attachmentTypeDefaults}\n {...sideSheetProps}\n />\n </>\n );\n};\n\nexport default UdpTransactionsPage;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuDA,MAAMqB,uBAAsBC,UAAA;CAAA,MAAAC,IAAAC,EAAA,IAAA;CAC1B,MAAA,EAAAC,mBAAAC,IAAAC,YAAAC,IAAAC,iBAAAC,kBAAAC,oBAAAC,wBAAAC,aAAAC,iBAAAC,gBAAAC,WAAAC,uBAAAC,IAAAC,gBAAAC,qBAAAC,mBAAAC,wBAAAC,eAAAC,4BAAAC,gCAAAC,iBAAAC,SAAAC,IAAAC,8BAAAC,+BAAAC,+BAAAC,qCAAAC,yCAAAC,8BAAAC,uBAAAC,2BA6BIlC;CA5BF,MAAAG,oBAAAC,OAAA+B,KAAAA,IAAA,KAAA/B;CACY,MAAAgC,oBAAA9B,OAAA6B,KAAAA,IAAA,KAAA7B;CASZ,MAAAS,wBAAAC,OAAAmB,KAAAA,IAAA,QAAAnB;CASA,MAAAS,UAAAC,OAAAS,KAAAA,IAAA,QAAAT;CAAe,IAAAW;AAAA,KAAApC,EAAA,OAAAqC,OAAAC,IAAA,4BAAA,EAAA;AAWoCF,OAAA;GAAAG,gBACnC;GAAKC,gBACL;GAAKC,iBACJ;GAAKC,iBACL;GAAKC,uBACC;GAAKC,gBACZ;GACjB;AAAA5C,IAAA,KAAAoC;OAAAA,MAAApC,EAAA;CAPD,MAAA,CAAA6C,gBAAAC,qBAA4ClE,SAASwD,GAOnD;CACF,MAAA,CAAAW,qBAAAC,0BAAsDpE,SAAS,KAAK;CACpE,MAAA,CAAAqE,SAAAC,cAA8BtE,SAAS,KAAK;CAC5C,MAAA,CAAAuE,iBAAAC,sBAA8CxE,SAAS,KAAK;CAC5D,MAAA,CAAAyE,kBAAAC,uBAAgD1E,SAAS,MAAM;CAC/D,MAAA2E,WAAiB/D,aAAa;CAC9B,MAAAgE,UAAgBjE,YAAY;CAC5B,MAAAkE,QAAcF,SAAQE;CACtB,MAAA,EAAAC,wBAAgC9D,wBAAwB;CAExD,MAAA+D,iBAAqBJ,SAAQK;CAAQ,IAAAC;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAA/D,EAAA,OAAA2D,kBAAA3D,EAAA,OAAAyD,OAAA;EACrC,MAAAO,eAAmB,IAAIC,gBAAgBN,eAAe;AACtDG,6BAAiCL,OAAKS,QAA8BC,uBAChEV,MAAKS,OAAOC,uBACZH,aAAYI,IAAK,uBAAuB,KAAK,OAC3CJ,aAAYK,IAAK,uBACf,GAFJ;AAOJR,0BAA8BG,aAAYK,IAAK,mBAAmB;AAC3CN,OAAAC,aAAYK,IAAK,uBAAuB;AAAArE,IAAA,KAAA2D;AAAA3D,IAAA,KAAAyD;AAAAzD,IAAA,KAAA6D;AAAA7D,IAAA,KAAA8D;AAAA9D,IAAA,KAAA+D;QAAA;AAAAF,0BAAA7D,EAAA;AAAA8D,6BAAA9D,EAAA;AAAA+D,OAAA/D,EAAA;;CAA/D,MAAAsE,iBAAuBP;CACvB,MAAAQ,oBAA0BvF,OAAO,MAAM;CAOlB,MAAAwF,KAAAtE,qBAAA4D;CAA6C,IAAAW;AAAA,KAAAzE,EAAA,OAAAM,mBAAAN,EAAA,OAAAO,oBAAAP,EAAA,OAAAmC,qBAAAnC,EAAA,OAAAwE,IAAA;AAD3CC,OAAA;GAAAvE,mBACFsE;GAA6CpE,YACpD+B;GAAiB7B;GAAAC;GAG9B;AAAAP,IAAA,KAAAM;AAAAN,IAAA,KAAAO;AAAAP,IAAA,KAAAmC;AAAAnC,IAAA,KAAAwE;AAAAxE,IAAA,MAAAyE;OAAAA,MAAAzE,EAAA;CATD,MAAA,EAAA0E,MAAAC,iBAAAnD,SAAAoD,2BAII1F,mBAAmBuF,GAKrB;AAEFtF,sBAAqBwF,iBAAezE,kBAAoB;CACxD,MAAA2E,sBAA4BvF,gBAC1BwF,MACD;CACD,MAAAC,cAAoB1F,uBAAuB;CAAC,IAAA2F;AAAA,KAAAhF,EAAA,QAAAqC,OAAAC,IAAA,4BAAA,EAAA;AAG1C0C,QAAAC,YAAAC,YAAAC,aAAAC,OAAA;GAAsC,MAAAC,QAAAD,OAAAlD,KAAAA,IAAA,MAAAkD;AACpC,OAAIH,cAAc,MAChBnC,oBAAkBwC,UAAW;IAAA,GACxBA;IAAI9C,gBACS0C;IAAUG;IAE3B,EAAE;YACMJ,cAAc,OACvBnC,oBAAkByC,YAAW;IAAA,GACxBD;IAAI7C,iBACUyC;IAAUG;IAE5B,EAAE;YACMJ,cAAc,OACvBnC,oBAAkB0C,YAAW;IAAA,GACxBF;IAAI5C,iBACUwC;IAAUG;IAE5B,EAAE;YACMJ,cAAc,aACvBnC,oBAAkB2C,YAAW;IAAA,GACxBH;IAAI3C,uBACgBuC;IAAUG;IAElC,EAAE;YACMJ,cAAc,SACvBnC,oBAAkB4C,YAAW;IAAA,GACxBJ;IAAI/C,gBACS2C;IAAUG;IAE3B,EAAE;YACMJ,cAAc,iBACvBnC,oBAAkB6C,YAAW;IAAA,GACxBL;IAAI1C,gBACSsC;IAAUG;IAE3B,EAAE;AAEL,OAAIF,YACFnC,wBAAuBmC,YAAY;YAC1BF,cAAc,SAAdC,WAITlC,wBAAuB,KAAK;;AAE/BhD,IAAA,MAAAgF;OAAAA,MAAAhF,EAAA;CA/CH,MAAA4F,kBAAwBZ;CAmDxB,MAAAa,8BAAoCC;CAAS,IAAAV;AAAA,KAAApF,EAAA,QAAAuB,iBAAA;AAG3C6D,QAAAW,QAAA;AACE7C,cAAW6C,IAAI;AACfxE,qBAAkBwE,IAAI;;AACvB/F,IAAA,MAAAuB;AAAAvB,IAAA,MAAAoF;OAAAA,MAAApF,EAAA;CAJH,MAAAgG,wBAA8BZ;CAM5B,IAAAa;AAAA,KAAAjG,EAAA,QAAAqC,OAAAC,IAAA,4BAAA,EAAA;AAE4C2D,SAAAC,cAAA;AAC5C9C,4BAAyB8C,UAAU;;AACpClG,IAAA,MAAAiG;OAAAA,OAAAjG,EAAA;CAFD,MAAAmG,4BAAkCF;CAE3B,IAAAG;AAAAC,MAAA;AAGL,MAAI1B,iBAAe;GAAA,IAAA2B;AAAA,OAAAtG,EAAA,QAAA2E,gBAAAvE,YAAA;AAEVkG,UADoB3B,gBAAevE,WAAWoG,MAAO,IAAI,CACvCC,KAAM;AAAAzG,MAAA,MAAA2E,gBAAAvE;AAAAJ,MAAA,MAAAsG;SAAAA,OAAAtG,EAAA;AAA/BoG,SAAOE;AAAP,SAAAD;;AAEFD,QAAOjE;;CALT,MAAA/B,aAAmBgG;CAMsB,IAAAE;AAAAI,MAAA;EAGvC,MAAAC,SACEhC,iBAAeiC,mBAA8CC;AAC/D,MAAI,CAACF,QAAM;AAAEL,SAAO;AAAP,SAAAI;;EAGI,MAAAI,MAAA,CAAC,CAACH,OAAMI;EAAc,IAAAC;AAAA,MAAAhH,EAAA,QAAA2G,OAAAM,2BAAAjH,EAAA,QAAA2G,OAAAO,yBAAAlH,EAAA,QAAA2G,OAAAQ,2BAAAnH,EAAA,QAAA2G,OAAAS,2BAAApH,EAAA,QAAA2G,OAAAU,WAAArH,EAAA,QAAA8G,KAAA;AAFhCE,SAAA;IAAAK,SACIV,OAAMU;IAAQN,eACRD;IAAsBM,yBACZT,OAAMS;IAAwBF,uBAChCP,OAAMO;IAAsBC,yBAC1BR,OAAMQ;IAAwBF,yBAC9BN,OAAMM;IAChC;AAAAjH,KAAA,MAAA2G,OAAAM;AAAAjH,KAAA,MAAA2G,OAAAO;AAAAlH,KAAA,MAAA2G,OAAAQ;AAAAnH,KAAA,MAAA2G,OAAAS;AAAApH,KAAA,MAAA2G,OAAAU;AAAArH,KAAA,MAAA8G;AAAA9G,KAAA,MAAAgH;QAAAA,OAAAhH,EAAA;AAPDsG,QAAOU;;CAJT,MAAAH,4BAAkCP;CAclC,MAAAgB,sBAA4B,CAAC,CAACT,2BAAyBQ;CAAU,IAAAP;AAAA,KAAA9G,EAAA,QAAA6G,2BAAAE,eAAA;AAEvDD,cAAA;AACR,OAAID,2BAAyBE,cAC3BzD,qBAAoB,KAAK;;AAE5BtD,IAAA,MAAA6G,2BAAAE;AAAA/G,IAAA,MAAA8G;OAAAA,OAAA9G,EAAA;CAAG,MAAAgH,MAAAH,2BAAyBE;CAAe,IAAAQ;AAAA,KAAAvH,EAAA,QAAAgH,KAAA;AAAzCO,QAAA,CAACP,IAAyC;AAAAhH,IAAA,MAAAgH;AAAAhH,IAAA,MAAAuH;OAAAA,OAAAvH,EAAA;AAJ7ClB,WAAUgI,KAIPS,IAA2C;CAE9C,MAAAC,8BACE,CAAC,CAAC,CAAC3C,uBAAH,CAA2B,CAAC,CAACF,iBAAevE;CAAa,IAAAqH;AAAA,KAAAzH,EAAA,QAAAqC,OAAAC,IAAA,4BAAA,EAAA;AAUzDmF,QAAA,EAAE;AAAAzH,IAAA,MAAAyH;OAAAA,OAAAzH,EAAA;CATJ,MAAA,CAAA0H,OAMI/H,YACFE,cAAa8H,qBACb,cAAc9C,oBAAmB,iBAAkBF,iBAAevE,cAClEqH,KACAD,6BACA,MACD;CAXC,MAAA,EAAA9C,MAAAkD,eAAApG,SAAAqG,sBAAAC,OAAAC,uBAAAL;CAgBF,MAAAM,uBACEH,wBACC,CAACL,+BACAI,kBAAkB1F,KAAAA,KADnB,CAEE6F;CAAoB,IAAAE;AAAA,KAAAjI,EAAA,QAAAmD,mBAAAnD,EAAA,QAAAiD,WAAAjD,EAAA,QAAAY,kBAAAZ,EAAA,QAAAW,mBAAAX,EAAA,QAAAqD,kBAAA;AAEW4E,QAAA,YAAA;AAClC,OAAItH,gBACF,OAAMA,gBAAgBsC,QAAQ;AAEhC,OAAII,iBACF,OAAMF,mBAAmB;OAEzBF,UAAOiF,mBAAqB;AAE9B,OAAItH,eACF,OAAMA,eAAeqC,QAAQ;;AAEhCjD,IAAA,MAAAmD;AAAAnD,IAAA,MAAAiD;AAAAjD,IAAA,MAAAY;AAAAZ,IAAA,MAAAW;AAAAX,IAAA,MAAAqD;AAAArD,IAAA,MAAAiI;OAAAA,OAAAjI,EAAA;CAZD,MAAAmI,kBAAwBF;CAkBrB,IAAAG;AAAA,KAAApI,EAAA,QAAA0B,8BAAA;AAEoC0G,cAAA;AACrCxC,mBAAgB,OAAO,MAAM,MAAMlE,6BAA6B;;AACjE1B,IAAA,MAAA0B;AAAA1B,IAAA,MAAAoI;OAAAA,OAAApI,EAAA;CAFD,MAAAqI,qBAA2BD;CAEyB,IAAAE;AAAA,KAAAtI,EAAA,QAAA2B,+BAAA;AAGlD2G,SAAAC,kBAAA;AACE3C,mBAAgB,QAAQ,MAAMT,eAAaxD,8BAA8B;;AAC1E3B,IAAA,MAAA2B;AAAA3B,IAAA,MAAAsI;OAAAA,OAAAtI,EAAA;CAHH,MAAAwI,sBAA4BF;CAK1B,IAAAG;AAAA,KAAAzI,EAAA,QAAA4B,+BAAA;AAGA6G,SAAAC,kBAAA;AACE9C,mBAAgB,QAAQ,MAAMT,eAAavD,8BAA8B;;AAC1E5B,IAAA,MAAA4B;AAAA5B,IAAA,MAAAyI;OAAAA,OAAAzI,EAAA;CAHH,MAAA2I,sBAA4BF;CAK1B,IAAAG;AAAA,KAAA5I,EAAA,QAAA6B,qCAAA;AAGA+G,SAAAC,kBAAA;AACEjD,mBACE,cACA,MACAT,eACAtD,uCAAA,IACD;;AACF7B,IAAA,MAAA6B;AAAA7B,IAAA,MAAA4I;OAAAA,OAAA5I,EAAA;CARH,MAAA8I,4BAAkCF;CAUhC,IAAAG;AAAA,KAAA/I,EAAA,QAAA8B,yCAAA;AAGAiH,SAAAC,kBAAA;AACEpD,mBACE,UACA,MACAT,eACArD,wCACD;;AACF9B,IAAA,MAAA8B;AAAA9B,IAAA,MAAA+I;OAAAA,OAAA/I,EAAA;CARH,MAAAiJ,gCAAsCF;CAetC,MAAAG,uBAA6BC;CAY7B,MAAAC,eAAqBpK,OAAO,KAAK;CAAC,IAAAqK;CAAA,IAAAC;AAAA,KAAAtJ,EAAA,QAAAqC,OAAAC,IAAA,4BAAA,EAAA;AAEhC+G,oBAAM;AACJD,gBAAYG,UAAW;;AAEzBD,QAAA,EAAE;AAAAtJ,IAAA,MAAAqJ;AAAArJ,IAAA,MAAAsJ;QAAA;AAAAD,QAAArJ,EAAA;AAAAsJ,QAAAtJ,EAAA;;AAJJlB,WACEuK,KAGAC,IACD;CAOD,MAAAE,4BAAkCxK,OAAO,KAAK;CAAC,IAAAyK;CAAA,IAAAC;AAAA,KAAA1J,EAAA,QAAA6C,eAAAN,gBAAA;AACrCkH,cAAA;AACR,OAAI,CAAC5G,eAAcN,eACjBiH,2BAAyBD,UAAW;;AAErCG,QAAA,CAAC7G,eAAcN,eAAgB;AAAAvC,IAAA,MAAA6C,eAAAN;AAAAvC,IAAA,MAAAyJ;AAAAzJ,IAAA,MAAA0J;QAAA;AAAAD,QAAAzJ,EAAA;AAAA0J,QAAA1J,EAAA;;AAJlClB,WAAU2K,KAIPC,IAAgC;CAAA,IAAAC;AAAA,KAAA3J,EAAA,QAAA0D,uBAAA1D,EAAA,QAAAiJ,iCAAAjJ,EAAA,QAAAgC,yBAAAhC,EAAA,QAAA2E,iBAAAiC,mBAAAgD,+BAAA5J,EAAA,QAAA2E,iBAAAkF,4CAAA;AAoBjCF,SAAAG,aAAAC,eAAAC,uBAAA;AACE,OAAI,CAACF,eAAeA,gBAAgB3E,eAAW8E,gBAAiB,QACvD,EAAAC,qBAAuB,OAAO;GAEvC,MAAAC,YACExF,iBAAekF,4CAAkDO,MAC/DC,WAAYA,OAAMC,4BAA6BR,YAChD;GAEH,MAAAI,sBACE,CAAC,CAACC,WAASvD,mBAAwCsD,uBAAnD,CACC,CAAC/E,eAAWoF;AAEf,OAAIL,qBAAmB;IACrB,MAAA,EAAAK,eAAAC,oBAA0BrF;AAG1B8D,kCAA8B;KAAA,GACzB9D;KAAW,GACX6E;KAAkBC,iBACJH;KAAWW,sBAE1BT,oBAAkBS,wBAClBtF,cAAWsF;KACd,CAAC;IACF,MAAAC,eAAqB,EAAE;AACvBlB,8BAAyBD,UAAWmB;IACpC,MAAAC,kBACEvB,aAAYG,WACZC,0BAAyBD,YAAamB;AACxCxB,yBAAqBqB,gBAAc,CAAAK,MAC3BC,qBAAA;AACJ,SAAIF,WAAW,CACb3H,wBAAuB6H,iBAAiB;MAE1C,CAAAC,OACKhD,UAAA;AACL,SAAI6C,WAAW,CACbjH,qBAAoBoE,MAAM;MAE5B;;GAGN,MAAAiD,uBACE/I,yBACA2C,iBAAeiC,mBAAgDgD,gCAC7D,SACFO,WAASa,OACLhJ,sBAAsBmI,UAASa,QAJnC;AAMF,OAAID,qBAKF,KAAA;AACEE,YAAOC,QAASH,qBAAqB5F,eAAagF,UAAU,CAAC,CAAAW,MAC3DK,OAGD;YAAAC,KAAA;IACMtD,MAAAA,UAAAA;AACPuD,YAAOvD,MAAO,wCAAwCA,QAAM;;AAE/D,UAEM,EAAAoC,qBAAuB;;AAC/BlK,IAAA,MAAA0D;AAAA1D,IAAA,MAAAiJ;AAAAjJ,IAAA,MAAAgC;AAAAhC,IAAA,MAAA2E,iBAAAiC,mBAAAgD;AAAA5J,IAAA,MAAA2E,iBAAAkF;AAAA7J,IAAA,MAAA2J;OAAAA,OAAA3J,EAAA;CApEH,MAAAsL,gCAAsC3B;CA4EpC,IAAAyB;AAAA,KAAApL,EAAA,QAAAwD,SAAA;AAIsC4H,cAAA;GACtC,MAAAlH,SAAe,IAAID,gBAAgBT,QAAOD,SAASK,OAAQ;AAC3DM,UAAMqH,OAAQ,mBAAmB;AACjCrH,UAAMqH,OAAQ,uBAAuB;AACrC/H,WAAOgI,QAAS;IAAA,GAAKhI,QAAOD;IAASK,QAAUM,OAAMuH,UAAU;IAAG,CAAC;;AACpEzL,IAAA,MAAAwD;AAAAxD,IAAA,MAAAoL;OAAAA,OAAApL,EAAA;CALD,MAAA0L,sBAA4BN;CAKd,IAAAO;CAAA,IAAAC;AAAA,KAAA5L,EAAA,QAAA0L,uBAAA1L,EAAA,QAAAsE,kBAAAtE,EAAA,QAAA6D,yBAAA7D,EAAA,QAAA0D,uBAAA1D,EAAA,QAAAiJ,+BAAA;AAEJ0C,cAAA;AACR,OAAI,CAAC9H,yBAAyBS,mBAAmB,YAAW;GAC5D,IAAAuH,YAAgB;AAChB3C,wBAAqBrF,sBAAsB,CAAA+G,MACnCkB,kBAAA;AACJ,QAAID,UAAS;AACbtH,sBAAiBgF,UAAW;AAC5BN,kCAA8B9D,cAAY;KAC1C,CAAA2F,OACKiB,YAAA;AACL,QAAIF,UAAS;AACbnI,wBAAoBoE,QAAM;AAC1B4D,yBAAqB;KACrB;AAAA,gBACG;AACLG,gBAAYA;;;AAEbD,QAAA;GACD/H;GACAS;GACA4E;GACAD;GACAvF;GACAgI;GACD;AAAA1L,IAAA,MAAA0L;AAAA1L,IAAA,MAAAsE;AAAAtE,IAAA,MAAA6D;AAAA7D,IAAA,MAAA0D;AAAA1D,IAAA,MAAAiJ;AAAAjJ,IAAA,MAAA2L;AAAA3L,IAAA,MAAA4L;QAAA;AAAAD,QAAA3L,EAAA;AAAA4L,QAAA5L,EAAA;;AAxBDlB,WAAU6M,KAiBPC,IAOD;CAAA,IAAAI;CAAA,IAAAC;AAAA,KAAAjM,EAAA,QAAA0L,uBAAA1L,EAAA,QAAA6C,eAAAN,gBAAA;AAEQyJ,cAAA;AACR,OAAI,CAACnJ,eAAcN,kBAAmBgC,kBAAiBgF,SAAQ;AAC7DhF,sBAAiBgF,UAAW;AAC5BmC,yBAAqB;;;AAEtBO,QAAA,CAACpJ,eAAcN,gBAAiBmJ,oBAAoB;AAAA1L,IAAA,MAAA0L;AAAA1L,IAAA,MAAA6C,eAAAN;AAAAvC,IAAA,MAAAgM;AAAAhM,IAAA,MAAAiM;QAAA;AAAAD,QAAAhM,EAAA;AAAAiM,QAAAjM,EAAA;;AALvDlB,WAAUkN,KAKPC,IAAqD;CAAA,IAAAC;AAAA,KAAAlM,EAAA,QAAA+B,8BAAA;AAGtDmK,SAAAC,kBAAA;AACEvG,mBACE,kBACA,MACAT,eACApD,6BACD;;AACF/B,IAAA,MAAA+B;AAAA/B,IAAA,MAAAkM;OAAAA,OAAAlM,EAAA;CARH,MAAAoM,qBAA2BF;AAY3B,KAAI,CAAChM,qBAAD,CAAuB4D,4BAAvB,CAAoD3B,mBAAiB;EAAA,IAAAkK;AAAA,MAAArM,EAAA,QAAAqC,OAAAC,IAAA,4BAAA,EAAA;AAErE+J,SAAA,sBAAA,cAAA,OAAA,MACE,sBAAA,cAAC,cAAD,EAAoB,SAAA,MAGtB,EAH2B,gEAG3B,CAAM;AAAArM,KAAA,MAAAqM;QAAAA,OAAArM,EAAA;AAAA,SAJNqM;;AASJ,KAAI,CAAC1H,mBAADqD,wBAAAxG,SAAmD;EAAA,IAAA6K;AAAA,MAAArM,EAAA,QAAAqC,OAAAC,IAAA,4BAAA,EAAA;AAEnD+J,SAAA,sBAAA,cAAA,OAAA,EAAe,WAAA,gCAET,EADJ,sBAAA,cAAC,kBAAD,EAAwB,MAAA,IAC1B,CAAA,CAAM;AAAArM,KAAA,MAAAqM;QAAAA,OAAArM,EAAA;AAAA,SAFNqM;;CAIH,IAAAA;AAAA,KAAArM,EAAA,QAAAsB,kCAAAtB,EAAA,QAAA6G,6BAAA7G,EAAA,QAAAsH,uBAAAtH,EAAA,QAAA4H,iBAAA5H,EAAA,QAAAiB,uBAAAjB,EAAA,QAAAkB,qBAAAlB,EAAA,QAAAoB,iBAAApB,EAAA,QAAAS,0BAAAT,EAAA,QAAAI,cAAAJ,EAAA,QAAA+E,eAAA/E,EAAA,QAAAiD,WAAAjD,EAAA,QAAAU,eAAAV,EAAA,QAAAqB,8BAAArB,EAAA,QAAAa,aAAAb,EAAA,QAAAgG,yBAAAhG,EAAA,QAAAc,yBAAAd,EAAA,QAAAqI,sBAAArI,EAAA,QAAA8I,6BAAA9I,EAAA,QAAAoM,sBAAApM,EAAA,QAAA2I,uBAAA3I,EAAA,QAAAwI,uBAAAxI,EAAA,QAAAiJ,iCAAAjJ,EAAA,QAAAmB,0BAAAnB,EAAA,QAAAmI,mBAAAnI,EAAA,QAAAQ,sBAAAR,EAAA,QAAAqD,oBAAArD,EAAA,QAAA2E,mBAAA3E,EAAA,SAAA4E,wBAAA;AAIIyH,QAAA/E,uBAAAjE,mBACC,sBAAA,cAAC,wBAAD;GACqB,mBAAAsB,iBAAezE;GACtBE;GACQI;GACOqG;GACIoC;GACJ9C;GACPkC;GACTxH;GACYC;GACP,sBAAMwC,oBAAoB,MAAK;GACvBhC,wBAAAA;GAgC3B,CAAA,GA7BC,sBAAA,cAAC,oBAAD;GACqB,mBAAAqD,iBAAezE;GACjByE;GACLvE;GACYwE;GACJpE;GACIC;GACTmH;GACKS;GACCG;GACAG;GACMG;GACIG;GACXmD;GACGpG;GACNmC;GACRlF;GACW8B,oBAAAA;GACArE,oBAAAA;GACTG;GACYC;GACFG;GACFC;GACJE;GACSC,wBAAAA;GACAF;GACHmG;GACD,0BAAMhE,oBAAoB,KAAI;GAErD,CAAA;AAAAtD,IAAA,MAAAsB;AAAAtB,IAAA,MAAA6G;AAAA7G,IAAA,MAAAsH;AAAAtH,IAAA,MAAA4H;AAAA5H,IAAA,MAAAiB;AAAAjB,IAAA,MAAAkB;AAAAlB,IAAA,MAAAoB;AAAApB,IAAA,MAAAS;AAAAT,IAAA,MAAAI;AAAAJ,IAAA,MAAA+E;AAAA/E,IAAA,MAAAiD;AAAAjD,IAAA,MAAAU;AAAAV,IAAA,MAAAqB;AAAArB,IAAA,MAAAa;AAAAb,IAAA,MAAAgG;AAAAhG,IAAA,MAAAc;AAAAd,IAAA,MAAAqI;AAAArI,IAAA,MAAA8I;AAAA9I,IAAA,MAAAoM;AAAApM,IAAA,MAAA2I;AAAA3I,IAAA,MAAAwI;AAAAxI,IAAA,MAAAiJ;AAAAjJ,IAAA,MAAAmB;AAAAnB,IAAA,MAAAmI;AAAAnI,IAAA,MAAAQ;AAAAR,IAAA,MAAAqD;AAAArD,IAAA,MAAA2E;AAAA3E,IAAA,OAAA4E;AAAA5E,IAAA,OAAAqM;OAAAA,OAAArM,EAAA;CAOoB,MAAAsM,MAAA3H,iBAAezE;CAAmB,IAAAqM;AAAA,KAAAvM,EAAA,SAAAiC,0BAAAjC,EAAA,SAAA4H,iBAAA5H,EAAA,SAAAI,cAAAJ,EAAA,SAAAsL,iCAAAtL,EAAA,SAAAmI,mBAAAnI,EAAA,SAAA+C,uBAAA/C,EAAA,SAAAgB,kBAAAhB,EAAA,SAAA6C,kBAAA7C,EAAA,SAAAsM,KAAA;AALvDC,QAAA,sBAAA,cAAC,yBAAD;GACc1J,YAAAA;GACK+C;GACYC;GAChB9C,aAAAA;GACM,mBAAAuJ;GACPlM;GACK+H;GACFP;GACY0D,2BAAAA;GACHrJ;GAAsB,GAC1CjB;GACJ,CAAA;AAAAhB,IAAA,OAAAiC;AAAAjC,IAAA,OAAA4H;AAAA5H,IAAA,OAAAI;AAAAJ,IAAA,OAAAsL;AAAAtL,IAAA,OAAAmI;AAAAnI,IAAA,OAAA+C;AAAA/C,IAAA,OAAAgB;AAAAhB,IAAA,OAAA6C;AAAA7C,IAAA,OAAAsM;AAAAtM,IAAA,OAAAuM;OAAAA,OAAAvM,EAAA;CAAA,IAAAwM;AAAA,KAAAxM,EAAA,SAAAqM,OAAArM,EAAA,SAAAuM,KAAA;AA3DJC,QAAA,sBAAA,cAAA,MAAA,UAAA,MACGH,KA8CDE,IAaC;AAAAvM,IAAA,OAAAqM;AAAArM,IAAA,OAAAuM;AAAAvM,IAAA,OAAAwM;OAAAA,OAAAxM,EAAA;AAAA,QA5DHwM;;AAndwB,SAAA1H,MAAA2H,SAAA;AAAA,QA6EbhJ,QAAKoB;;AA7EQ,SAAAiB,SAAA;AAAA,SAAA4G,OAAAC,UAAA;AAAA,QAgRDA,SAAQjI;;AAhRP,SAAAyE,OAAAoB,eAAA;AAAA,QA4QtB7K,UACEG,cAAa+M,iBACb,kBAAkBrC,cAAa,QAC/B,EAAAsC,QAAU,OACZ,CAAC,CAAAjC,KAAM8B,OAA4B;;AAhRb,SAAAvB,OAAA2B,SAAA;AAsXdzB,SAAOvD,MAAO,wCAAwCA,QAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowActions.d.ts","sourceRoot":"","sources":["../../../../../src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAQtE,OAAO,uBAAuB,CAAC;AAkC/B,QAAA,MAAM,eAAe;;;;;;uBAkRpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"WorkflowActions.d.ts","sourceRoot":"","sources":["../../../../../src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAQtE,OAAO,uBAAuB,CAAC;AAkC/B,QAAA,MAAM,eAAe;;;;;;uBA6RpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -54,11 +54,16 @@ const WorkflowActions = ({ transaction, closeSideSheet, refreshGridData, handleS
54
54
  setLoading(false);
55
55
  }, [formRef]);
56
56
  const handleSubmitSuccessfulWorkflowAction = useCallback((response) => {
57
- var _a, _b;
57
+ var _a, _b, _c;
58
58
  handleOnCloseSideSheet();
59
- closeSideSheet();
60
59
  refreshGridData();
61
- onTransactionStatusChange === null || onTransactionStatusChange === void 0 ? void 0 : onTransactionStatusChange((_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.transaction) === null || _b === void 0 ? void 0 : _b.currentStatusId, transaction);
60
+ // The page keeps this sheet open when the new status auto-launches
61
+ // Next Steps, swapping the transaction in place instead of a close
62
+ // and reopen.
63
+ const handled = onTransactionStatusChange === null || onTransactionStatusChange === void 0 ? void 0 : onTransactionStatusChange((_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.transaction) === null || _b === void 0 ? void 0 : _b.currentStatusId, transaction, (_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.transaction);
64
+ if (!(handled === null || handled === void 0 ? void 0 : handled.autoLaunchNextSteps)) {
65
+ closeSideSheet();
66
+ }
62
67
  }, [
63
68
  handleOnCloseSideSheet,
64
69
  refreshGridData,
@@ -99,9 +104,13 @@ const WorkflowActions = ({ transaction, closeSideSheet, refreshGridData, handleS
99
104
  handleSuccessSnackbar(i18n('transactions.sidesheet.workflowSubmitSuccess', {
100
105
  defaultValue: 'Successfully submitted!'
101
106
  }));
102
- closeSideSheet();
103
107
  refreshGridData();
104
- onTransactionStatusChange === null || onTransactionStatusChange === void 0 ? void 0 : onTransactionStatusChange((_a = data === null || data === void 0 ? void 0 : data.transaction) === null || _a === void 0 ? void 0 : _a.currentStatusId, transaction);
108
+ // See handleSubmitSuccessfulWorkflowAction: the page may keep this
109
+ // sheet open and swap the transaction in place.
110
+ const handled = onTransactionStatusChange === null || onTransactionStatusChange === void 0 ? void 0 : onTransactionStatusChange((_a = data === null || data === void 0 ? void 0 : data.transaction) === null || _a === void 0 ? void 0 : _a.currentStatusId, transaction, data === null || data === void 0 ? void 0 : data.transaction);
111
+ if (!(handled === null || handled === void 0 ? void 0 : handled.autoLaunchNextSteps)) {
112
+ closeSideSheet();
113
+ }
105
114
  }
106
115
  else if (apiResult === null || apiResult === void 0 ? void 0 : apiResult.errorMessage) {
107
116
  handleErrorSnackbar(new Error(apiResult.errorMessage));
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowActions.js","sourceRoot":"","sources":["../../../../../src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowActions.js","sourceRoot":"","sources":["../../../../../src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.jsx"],"names":[],"mappings":"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"}
@@ -80,9 +80,8 @@ const WorkflowActions = ({ transaction, closeSideSheet, refreshGridData, handleS
80
80
  }, [formRef]);
81
81
  const handleSubmitSuccessfulWorkflowAction = useCallback((response) => {
82
82
  handleOnCloseSideSheet();
83
- closeSideSheet();
84
83
  refreshGridData();
85
- onTransactionStatusChange?.(response?.data?.transaction?.currentStatusId, transaction);
84
+ if (!(onTransactionStatusChange?.(response?.data?.transaction?.currentStatusId, transaction, response?.data?.transaction))?.autoLaunchNextSteps) closeSideSheet();
86
85
  }, [
87
86
  handleOnCloseSideSheet,
88
87
  refreshGridData,
@@ -116,9 +115,8 @@ const WorkflowActions = ({ transaction, closeSideSheet, refreshGridData, handleS
116
115
  if (status === 200) {
117
116
  if (!apiResult || apiResult.success) {
118
117
  handleSuccessSnackbar(i18n("transactions.sidesheet.workflowSubmitSuccess", { defaultValue: "Successfully submitted!" }));
119
- closeSideSheet();
120
118
  refreshGridData();
121
- onTransactionStatusChange?.(data?.transaction?.currentStatusId, transaction);
119
+ if (!(onTransactionStatusChange?.(data?.transaction?.currentStatusId, transaction, data?.transaction))?.autoLaunchNextSteps) closeSideSheet();
122
120
  } else if (apiResult?.errorMessage) handleErrorSnackbar(new Error(apiResult.errorMessage));
123
121
  }
124
122
  } catch (event) {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowActions.mjs","names":["React","useState","useCallback","useMemo","useRef","useTranslation","DocumentIcon","FluentDialog","SideSheet","useAxiosMutate","ConfigService","UdpActionCard","getIconFromName","TransactionActionTypeEnums","TransactionRuleTypeEnums","useTransactionEngine","UdpTransactionCustomPage","useHandleAxiosSnackbar","TransactionActionButton","t0","$","_c","icon","primaryText","secondaryText","onClick","action","disabled","loading","t1","actionCardIcon","t2","t3","t4","WorkflowActions","transaction","closeSideSheet","refreshGridData","handleSidesheet","onTransactionStatusChange","dialogOpen","setDialogOpen","dialogUserStrings","setDialogUserStrings","selectedAction","setSelectedAction","sideSheetOpen","setSideSheetOpen","setLoading","sidesheetPrimaryButtonDisabled","setSidesheetPrimaryButtonDisabled","sidesheetSecondaryAction","setSidesheetSecondaryAction","formRef","getTransactionTypeTransactionActions","transactionTypeId","handleErrorSnackbar","handleSuccessSnackbar","handleOnCloseSideSheet","pageSidesheetParams","sidesheetParams","handleSubmitWorkflowAction","current","form","submit","handleSubmitSuccessfulWorkflowAction","response","data","currentStatusId","transactionTypeTransactionActions","Sidesheet","transactionData","postTransactionData","productV1ApiUrl","method","i18n","t","handleDialogOpen","title","message","handleDialogClose","submitTransactionAction","url","transactionTypeTransactionActionId","transactionId","status","apiResult","actionApiResult","isSuccessful","success","defaultValue","errorMessage","Error","event","handleConfirmActionDialog","handleOnActionClick","pageId","parameters","transactionActionId","Open_Edit_Transaction_Sidesheet","Update_Status","Product_Action","enableConfirmationDialog","name","description","TransactionActionButtons","length","map","undefined","label"],"sources":["../../../../../src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.jsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DocumentIcon } from '@fluentui/react-icons';\nimport { FluentDialog, SideSheet } from '../../../../UI';\nimport { useAxiosMutate } from '../../../../utilities';\nimport { ConfigService } from '../../../../configService';\nimport { UdpActionCard } from '../../../../UI/inputs/buttons/UdpActionCard/UdpActionCard';\nimport { getIconFromName } from '../../../../utilities/tree';\nimport './WorkflowActions.css';\nimport {\n TransactionActionTypeEnums,\n TransactionRuleTypeEnums\n} from '../../../../enums/unitySystemEnums';\nimport { useTransactionEngine } from '../../../../utilities/transactions/useTransactionEngine';\nimport UdpTransactionCustomPage from '../components/UdpTransactionCustomPage';\nimport { useHandleAxiosSnackbar } from '../../../../utilities/apiHelpers';\n\nconst TransactionActionButton = ({\n icon,\n primaryText,\n secondaryText,\n onClick,\n action,\n disabled,\n loading\n}) => {\n const actionCardIcon = useMemo(() => getIconFromName(icon), [icon]);\n\n return (\n <UdpActionCard\n icon={actionCardIcon ? actionCardIcon : DocumentIcon}\n primaryText={primaryText}\n secondaryText={secondaryText}\n disabled={disabled}\n loading={loading}\n onClick={() => {\n onClick(action);\n }}\n />\n );\n};\n\nconst WorkflowActions = ({\n transaction,\n closeSideSheet,\n refreshGridData,\n handleSidesheet,\n onTransactionStatusChange\n}) => {\n const [dialogOpen, setDialogOpen] = useState(false);\n const [dialogUserStrings, setDialogUserStrings] = useState(null);\n const [selectedAction, setSelectedAction] = useState(null);\n const [sideSheetOpen, setSideSheetOpen] = useState(false);\n const [loading, setLoading] = useState(false);\n const [sidesheetPrimaryButtonDisabled, setSidesheetPrimaryButtonDisabled] =\n useState(false);\n // A secondary header button contributed by the rendered page, in the shape\n // `{ label, onClick, disabled?, icon? }`. The page registers it while it is\n // mounted and passes null to withdraw it, so the button cannot outlive the\n // page that owns its handler.\n const [sidesheetSecondaryAction, setSidesheetSecondaryAction] =\n useState(null);\n\n const formRef = useRef(null);\n\n const { getTransactionTypeTransactionActions } = useTransactionEngine(\n transaction?.transactionTypeId\n );\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const handleOnCloseSideSheet = useCallback(() => {\n setSideSheetOpen(false);\n // Dropped here as well as on the page's unmount, so a page that forgets to\n // withdraw its action cannot leave a stale button on the next one.\n setSidesheetSecondaryAction(null);\n }, []);\n\n // Memoized: the page receives this object and registers its action from an\n // effect keyed on it, so a fresh object each render would loop.\n const pageSidesheetParams = useMemo(\n () => ({\n sidesheetParams: {\n setSidesheetPrimaryButtonDisabled,\n setSidesheetSecondaryAction\n }\n }),\n []\n );\n\n const handleSubmitWorkflowAction = useCallback(async () => {\n setLoading(true);\n await formRef.current?.form?.submit();\n setLoading(false);\n }, [formRef]);\n\n const handleSubmitSuccessfulWorkflowAction = useCallback(\n (response) => {\n handleOnCloseSideSheet();\n closeSideSheet();\n refreshGridData();\n onTransactionStatusChange?.(\n response?.data?.transaction?.currentStatusId,\n transaction\n );\n },\n [\n handleOnCloseSideSheet,\n refreshGridData,\n closeSideSheet,\n onTransactionStatusChange,\n transaction\n ]\n );\n\n const transactionTypeTransactionActions = useMemo(() => {\n return (\n getTransactionTypeTransactionActions(\n transaction,\n TransactionRuleTypeEnums.Sidesheet\n ) || []\n );\n }, [getTransactionTypeTransactionActions, transaction]);\n\n // Base URL and url get overwritten in postTransactionData function call in handleConfirmActionDialog()\n const [{ data: transactionData }, postTransactionData] = useAxiosMutate(\n `${ConfigService.productV1ApiUrl}`,\n 'udptransactiontypeTransactionAction',\n {\n method: 'post'\n },\n {}\n );\n\n const i18n = useTranslation().t;\n\n const handleDialogOpen = useCallback((title, message) => {\n setDialogUserStrings({ title, message });\n setDialogOpen(true);\n }, []);\n\n const handleDialogClose = useCallback(() => {\n setDialogOpen(false);\n }, []);\n\n const submitTransactionAction = useCallback(\n async (action) => {\n setLoading(true);\n try {\n const response = await postTransactionData({\n // Change URL to config\n url:\n `${ConfigService.productV1ApiUrl}` +\n `/udptransactiontypeTransactionAction/${action.transactionTypeTransactionActionId}/transaction/${transaction.transactionId}/submit`,\n data: {}\n });\n const { status, data } = response || {};\n const apiResult = data?.actionApiResult;\n\n if (status === 200) {\n const isSuccessful = !apiResult || apiResult.success;\n\n if (isSuccessful) {\n handleSuccessSnackbar(\n i18n('transactions.sidesheet.workflowSubmitSuccess', {\n defaultValue: 'Successfully submitted!'\n })\n );\n closeSideSheet();\n refreshGridData();\n onTransactionStatusChange?.(\n data?.transaction?.currentStatusId,\n transaction\n );\n } else if (apiResult?.errorMessage) {\n handleErrorSnackbar(new Error(apiResult.errorMessage));\n }\n }\n } catch (event) {\n handleSuccessSnackbar(i18n(event.message));\n }\n setLoading(false);\n },\n [\n postTransactionData,\n transaction,\n i18n,\n closeSideSheet,\n refreshGridData,\n handleSuccessSnackbar,\n handleErrorSnackbar,\n onTransactionStatusChange\n ]\n );\n\n const handleConfirmActionDialog = useCallback(async () => {\n // Keep the dialog open with its progress bar until the submit completes\n await submitTransactionAction(selectedAction);\n handleDialogClose();\n }, [handleDialogClose, submitTransactionAction, selectedAction]);\n\n const handleOnActionClick = useCallback(\n (action) => {\n const pageId = action.parameters.pageId;\n setSelectedAction(action);\n if (pageId) {\n setSideSheetOpen(true);\n } else if (\n action.transactionActionId ==\n TransactionActionTypeEnums.Open_Edit_Transaction_Sidesheet\n ) {\n handleSidesheet('edit', true, transaction);\n } else if (\n (action.transactionActionId ==\n TransactionActionTypeEnums.Update_Status ||\n action.transactionActionId ==\n TransactionActionTypeEnums.Product_Action) &&\n action.parameters?.enableConfirmationDialog === false\n ) {\n // Confirmation dialog disabled on this action — submit it directly\n submitTransactionAction(action);\n } else {\n handleDialogOpen(action.name, action.description);\n }\n },\n [handleDialogOpen, transaction, handleSidesheet, submitTransactionAction]\n );\n\n const TransactionActionButtons = useMemo(() => {\n if (!transactionTypeTransactionActions.length) {\n return null;\n }\n return transactionTypeTransactionActions?.map((action) => (\n <TransactionActionButton\n key={action.transactionTypeTransactionActionId}\n primaryText={action.name}\n secondaryText={action.description}\n icon={action.icon}\n onClick={handleOnActionClick}\n action={action}\n disabled={loading}\n loading={\n loading &&\n !dialogOpen &&\n !sideSheetOpen &&\n selectedAction?.transactionTypeTransactionActionId === action.transactionTypeTransactionActionId\n }\n />\n ));\n }, [\n transactionTypeTransactionActions,\n handleOnActionClick,\n loading,\n dialogOpen,\n sideSheetOpen,\n selectedAction\n ]);\n\n return (\n <>\n <div className='transaction-action-buttons-container'>\n {TransactionActionButtons}\n </div>\n\n {dialogUserStrings && (\n <FluentDialog\n title={i18n('transactions.sidesheet.proceedConfirmTitle', {\n defaultValue: 'Are you sure you want to proceed with \"{{title}}\"?',\n title: dialogUserStrings.title\n })}\n message={dialogUserStrings.message}\n labelOne={i18n('common.confirm', { defaultValue: 'Confirm' })}\n actionOne={handleConfirmActionDialog}\n labelTwo={i18n('common.cancel', { defaultValue: 'Cancel' })}\n actionTwo={handleDialogClose}\n disableOne={loading}\n disableTwo={loading}\n progress={loading}\n open={dialogOpen}\n handleClose={loading ? undefined : handleDialogClose}\n />\n )}\n\n <SideSheet\n open={sideSheetOpen}\n title={selectedAction?.name} // To Change\n onClose={handleOnCloseSideSheet}\n width={600}\n buttonLabel={i18n('common.submit', { defaultValue: 'Submit' })}\n onSubmit={handleSubmitWorkflowAction}\n progress={loading}\n variant='indeterminate'\n color='primary'\n buttonOneDisabled={loading || sidesheetPrimaryButtonDisabled}\n buttonTwoLabel={sidesheetSecondaryAction?.label}\n buttonTwoIcon={sidesheetSecondaryAction?.icon}\n buttonTwoAction={sidesheetSecondaryAction?.onClick}\n buttonTwoDisabled={loading || sidesheetSecondaryAction?.disabled}\n >\n {selectedAction && selectedAction.parameters?.pageId && (\n <UdpTransactionCustomPage\n pageId={selectedAction.parameters.pageId}\n transaction={transaction}\n formRef={formRef}\n transactionTypeTransactionActionId={\n selectedAction.transactionTypeTransactionActionId\n }\n onSubmitSuccess={handleSubmitSuccessfulWorkflowAction}\n refreshGridData={refreshGridData}\n additionalPageParms={pageSidesheetParams}\n />\n )}\n </SideSheet>\n </>\n );\n};\n\nexport default WorkflowActions;\n"],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowActions.mjs","names":["React","useState","useCallback","useMemo","useRef","useTranslation","DocumentIcon","FluentDialog","SideSheet","useAxiosMutate","ConfigService","UdpActionCard","getIconFromName","TransactionActionTypeEnums","TransactionRuleTypeEnums","useTransactionEngine","UdpTransactionCustomPage","useHandleAxiosSnackbar","TransactionActionButton","t0","$","_c","icon","primaryText","secondaryText","onClick","action","disabled","loading","t1","actionCardIcon","t2","t3","t4","WorkflowActions","transaction","closeSideSheet","refreshGridData","handleSidesheet","onTransactionStatusChange","dialogOpen","setDialogOpen","dialogUserStrings","setDialogUserStrings","selectedAction","setSelectedAction","sideSheetOpen","setSideSheetOpen","setLoading","sidesheetPrimaryButtonDisabled","setSidesheetPrimaryButtonDisabled","sidesheetSecondaryAction","setSidesheetSecondaryAction","formRef","getTransactionTypeTransactionActions","transactionTypeId","handleErrorSnackbar","handleSuccessSnackbar","handleOnCloseSideSheet","pageSidesheetParams","sidesheetParams","handleSubmitWorkflowAction","current","form","submit","handleSubmitSuccessfulWorkflowAction","response","handled","data","currentStatusId","autoLaunchNextSteps","transactionTypeTransactionActions","Sidesheet","transactionData","postTransactionData","productV1ApiUrl","method","i18n","t","handleDialogOpen","title","message","handleDialogClose","submitTransactionAction","url","transactionTypeTransactionActionId","transactionId","status","apiResult","actionApiResult","isSuccessful","success","defaultValue","errorMessage","Error","event","handleConfirmActionDialog","handleOnActionClick","pageId","parameters","transactionActionId","Open_Edit_Transaction_Sidesheet","Update_Status","Product_Action","enableConfirmationDialog","name","description","TransactionActionButtons","length","map","undefined","label"],"sources":["../../../../../src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.jsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { DocumentIcon } from '@fluentui/react-icons';\nimport { FluentDialog, SideSheet } from '../../../../UI';\nimport { useAxiosMutate } from '../../../../utilities';\nimport { ConfigService } from '../../../../configService';\nimport { UdpActionCard } from '../../../../UI/inputs/buttons/UdpActionCard/UdpActionCard';\nimport { getIconFromName } from '../../../../utilities/tree';\nimport './WorkflowActions.css';\nimport {\n TransactionActionTypeEnums,\n TransactionRuleTypeEnums\n} from '../../../../enums/unitySystemEnums';\nimport { useTransactionEngine } from '../../../../utilities/transactions/useTransactionEngine';\nimport UdpTransactionCustomPage from '../components/UdpTransactionCustomPage';\nimport { useHandleAxiosSnackbar } from '../../../../utilities/apiHelpers';\n\nconst TransactionActionButton = ({\n icon,\n primaryText,\n secondaryText,\n onClick,\n action,\n disabled,\n loading\n}) => {\n const actionCardIcon = useMemo(() => getIconFromName(icon), [icon]);\n\n return (\n <UdpActionCard\n icon={actionCardIcon ? actionCardIcon : DocumentIcon}\n primaryText={primaryText}\n secondaryText={secondaryText}\n disabled={disabled}\n loading={loading}\n onClick={() => {\n onClick(action);\n }}\n />\n );\n};\n\nconst WorkflowActions = ({\n transaction,\n closeSideSheet,\n refreshGridData,\n handleSidesheet,\n onTransactionStatusChange\n}) => {\n const [dialogOpen, setDialogOpen] = useState(false);\n const [dialogUserStrings, setDialogUserStrings] = useState(null);\n const [selectedAction, setSelectedAction] = useState(null);\n const [sideSheetOpen, setSideSheetOpen] = useState(false);\n const [loading, setLoading] = useState(false);\n const [sidesheetPrimaryButtonDisabled, setSidesheetPrimaryButtonDisabled] =\n useState(false);\n // A secondary header button contributed by the rendered page, in the shape\n // `{ label, onClick, disabled?, icon? }`. The page registers it while it is\n // mounted and passes null to withdraw it, so the button cannot outlive the\n // page that owns its handler.\n const [sidesheetSecondaryAction, setSidesheetSecondaryAction] =\n useState(null);\n\n const formRef = useRef(null);\n\n const { getTransactionTypeTransactionActions } = useTransactionEngine(\n transaction?.transactionTypeId\n );\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const handleOnCloseSideSheet = useCallback(() => {\n setSideSheetOpen(false);\n // Dropped here as well as on the page's unmount, so a page that forgets to\n // withdraw its action cannot leave a stale button on the next one.\n setSidesheetSecondaryAction(null);\n }, []);\n\n // Memoized: the page receives this object and registers its action from an\n // effect keyed on it, so a fresh object each render would loop.\n const pageSidesheetParams = useMemo(\n () => ({\n sidesheetParams: {\n setSidesheetPrimaryButtonDisabled,\n setSidesheetSecondaryAction\n }\n }),\n []\n );\n\n const handleSubmitWorkflowAction = useCallback(async () => {\n setLoading(true);\n await formRef.current?.form?.submit();\n setLoading(false);\n }, [formRef]);\n\n const handleSubmitSuccessfulWorkflowAction = useCallback(\n (response) => {\n handleOnCloseSideSheet();\n refreshGridData();\n // The page keeps this sheet open when the new status auto-launches\n // Next Steps, swapping the transaction in place instead of a close\n // and reopen.\n const handled = onTransactionStatusChange?.(\n response?.data?.transaction?.currentStatusId,\n transaction,\n response?.data?.transaction\n );\n if (!handled?.autoLaunchNextSteps) {\n closeSideSheet();\n }\n },\n [\n handleOnCloseSideSheet,\n refreshGridData,\n closeSideSheet,\n onTransactionStatusChange,\n transaction\n ]\n );\n\n const transactionTypeTransactionActions = useMemo(() => {\n return (\n getTransactionTypeTransactionActions(\n transaction,\n TransactionRuleTypeEnums.Sidesheet\n ) || []\n );\n }, [getTransactionTypeTransactionActions, transaction]);\n\n // Base URL and url get overwritten in postTransactionData function call in handleConfirmActionDialog()\n const [{ data: transactionData }, postTransactionData] = useAxiosMutate(\n `${ConfigService.productV1ApiUrl}`,\n 'udptransactiontypeTransactionAction',\n {\n method: 'post'\n },\n {}\n );\n\n const i18n = useTranslation().t;\n\n const handleDialogOpen = useCallback((title, message) => {\n setDialogUserStrings({ title, message });\n setDialogOpen(true);\n }, []);\n\n const handleDialogClose = useCallback(() => {\n setDialogOpen(false);\n }, []);\n\n const submitTransactionAction = useCallback(\n async (action) => {\n setLoading(true);\n try {\n const response = await postTransactionData({\n // Change URL to config\n url:\n `${ConfigService.productV1ApiUrl}` +\n `/udptransactiontypeTransactionAction/${action.transactionTypeTransactionActionId}/transaction/${transaction.transactionId}/submit`,\n data: {}\n });\n const { status, data } = response || {};\n const apiResult = data?.actionApiResult;\n\n if (status === 200) {\n const isSuccessful = !apiResult || apiResult.success;\n\n if (isSuccessful) {\n handleSuccessSnackbar(\n i18n('transactions.sidesheet.workflowSubmitSuccess', {\n defaultValue: 'Successfully submitted!'\n })\n );\n refreshGridData();\n // See handleSubmitSuccessfulWorkflowAction: the page may keep this\n // sheet open and swap the transaction in place.\n const handled = onTransactionStatusChange?.(\n data?.transaction?.currentStatusId,\n transaction,\n data?.transaction\n );\n if (!handled?.autoLaunchNextSteps) {\n closeSideSheet();\n }\n } else if (apiResult?.errorMessage) {\n handleErrorSnackbar(new Error(apiResult.errorMessage));\n }\n }\n } catch (event) {\n handleSuccessSnackbar(i18n(event.message));\n }\n setLoading(false);\n },\n [\n postTransactionData,\n transaction,\n i18n,\n closeSideSheet,\n refreshGridData,\n handleSuccessSnackbar,\n handleErrorSnackbar,\n onTransactionStatusChange\n ]\n );\n\n const handleConfirmActionDialog = useCallback(async () => {\n // Keep the dialog open with its progress bar until the submit completes\n await submitTransactionAction(selectedAction);\n handleDialogClose();\n }, [handleDialogClose, submitTransactionAction, selectedAction]);\n\n const handleOnActionClick = useCallback(\n (action) => {\n const pageId = action.parameters.pageId;\n setSelectedAction(action);\n if (pageId) {\n setSideSheetOpen(true);\n } else if (\n action.transactionActionId ==\n TransactionActionTypeEnums.Open_Edit_Transaction_Sidesheet\n ) {\n handleSidesheet('edit', true, transaction);\n } else if (\n (action.transactionActionId ==\n TransactionActionTypeEnums.Update_Status ||\n action.transactionActionId ==\n TransactionActionTypeEnums.Product_Action) &&\n action.parameters?.enableConfirmationDialog === false\n ) {\n // Confirmation dialog disabled on this action — submit it directly\n submitTransactionAction(action);\n } else {\n handleDialogOpen(action.name, action.description);\n }\n },\n [handleDialogOpen, transaction, handleSidesheet, submitTransactionAction]\n );\n\n const TransactionActionButtons = useMemo(() => {\n if (!transactionTypeTransactionActions.length) {\n return null;\n }\n return transactionTypeTransactionActions?.map((action) => (\n <TransactionActionButton\n key={action.transactionTypeTransactionActionId}\n primaryText={action.name}\n secondaryText={action.description}\n icon={action.icon}\n onClick={handleOnActionClick}\n action={action}\n disabled={loading}\n loading={\n loading &&\n !dialogOpen &&\n !sideSheetOpen &&\n selectedAction?.transactionTypeTransactionActionId === action.transactionTypeTransactionActionId\n }\n />\n ));\n }, [\n transactionTypeTransactionActions,\n handleOnActionClick,\n loading,\n dialogOpen,\n sideSheetOpen,\n selectedAction\n ]);\n\n return (\n <>\n <div className='transaction-action-buttons-container'>\n {TransactionActionButtons}\n </div>\n\n {dialogUserStrings && (\n <FluentDialog\n title={i18n('transactions.sidesheet.proceedConfirmTitle', {\n defaultValue: 'Are you sure you want to proceed with \"{{title}}\"?',\n title: dialogUserStrings.title\n })}\n message={dialogUserStrings.message}\n labelOne={i18n('common.confirm', { defaultValue: 'Confirm' })}\n actionOne={handleConfirmActionDialog}\n labelTwo={i18n('common.cancel', { defaultValue: 'Cancel' })}\n actionTwo={handleDialogClose}\n disableOne={loading}\n disableTwo={loading}\n progress={loading}\n open={dialogOpen}\n handleClose={loading ? undefined : handleDialogClose}\n />\n )}\n\n <SideSheet\n open={sideSheetOpen}\n title={selectedAction?.name} // To Change\n onClose={handleOnCloseSideSheet}\n width={600}\n buttonLabel={i18n('common.submit', { defaultValue: 'Submit' })}\n onSubmit={handleSubmitWorkflowAction}\n progress={loading}\n variant='indeterminate'\n color='primary'\n buttonOneDisabled={loading || sidesheetPrimaryButtonDisabled}\n buttonTwoLabel={sidesheetSecondaryAction?.label}\n buttonTwoIcon={sidesheetSecondaryAction?.icon}\n buttonTwoAction={sidesheetSecondaryAction?.onClick}\n buttonTwoDisabled={loading || sidesheetSecondaryAction?.disabled}\n >\n {selectedAction && selectedAction.parameters?.pageId && (\n <UdpTransactionCustomPage\n pageId={selectedAction.parameters.pageId}\n transaction={transaction}\n formRef={formRef}\n transactionTypeTransactionActionId={\n selectedAction.transactionTypeTransactionActionId\n }\n onSubmitSuccess={handleSubmitSuccessfulWorkflowAction}\n refreshGridData={refreshGridData}\n additionalPageParms={pageSidesheetParams}\n />\n )}\n </SideSheet>\n </>\n );\n};\n\nexport default WorkflowActions;\n"],"mappings":"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"}
@@ -1300,6 +1300,8 @@
1300
1300
  "order": "Orden",
1301
1301
  "page": "Página",
1302
1302
  "status": {
1303
+ "autoLaunchNextSteps": "Iniciar automáticamente los próximos pasos",
1304
+ "autoLaunchNextStepsHelper": "Abre automáticamente los próximos pasos cuando una transacción pasa a este estado.",
1303
1305
  "cancelledStatus": "Estado cancelado",
1304
1306
  "closedStatus": "Estado cerrado",
1305
1307
  "code": "Código",
@@ -1210,6 +1210,8 @@ var transactionTypes = {
1210
1210
  "order": "Orden",
1211
1211
  "page": "Página",
1212
1212
  "status": {
1213
+ "autoLaunchNextSteps": "Iniciar automáticamente los próximos pasos",
1214
+ "autoLaunchNextStepsHelper": "Abre automáticamente los próximos pasos cuando una transacción pasa a este estado.",
1213
1215
  "cancelledStatus": "Estado cancelado",
1214
1216
  "closedStatus": "Estado cerrado",
1215
1217
  "code": "Código",
@@ -1300,6 +1300,8 @@
1300
1300
  "order": "Ordre",
1301
1301
  "page": "Page",
1302
1302
  "status": {
1303
+ "autoLaunchNextSteps": "Lancer automatiquement les prochaines étapes",
1304
+ "autoLaunchNextStepsHelper": "Ouvre automatiquement les prochaines étapes lorsqu'une transaction passe à ce statut.",
1303
1305
  "cancelledStatus": "Statut annulé",
1304
1306
  "closedStatus": "Statut fermé",
1305
1307
  "code": "Code",
@@ -1210,6 +1210,8 @@ var transactionTypes = {
1210
1210
  "order": "Ordre",
1211
1211
  "page": "Page",
1212
1212
  "status": {
1213
+ "autoLaunchNextSteps": "Lancer automatiquement les prochaines étapes",
1214
+ "autoLaunchNextStepsHelper": "Ouvre automatiquement les prochaines étapes lorsqu'une transaction passe à ce statut.",
1213
1215
  "cancelledStatus": "Statut annulé",
1214
1216
  "closedStatus": "Statut fermé",
1215
1217
  "code": "Code",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "udp-react-enterprise-component-library",
3
- "version": "26.8.0",
3
+ "version": "26.9.0-beta.0",
4
4
  "description": "React-based UI component library implementing Fluent UI design for Univerus internal projects",
5
5
  "author": "Univerus",
6
6
  "license": "MIT",