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.
Files changed (180) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/UI/charts/ag/UdpAgAreaChart.d.ts +8 -0
  3. package/dist/UI/charts/ag/UdpAgAreaChart.d.ts.map +1 -0
  4. package/dist/UI/charts/ag/UdpAgAreaChart.js +8 -0
  5. package/dist/UI/charts/ag/UdpAgAreaChart.js.map +1 -0
  6. package/dist/UI/charts/ag/UdpAgAreaChart.mjs +18 -0
  7. package/dist/UI/charts/ag/UdpAgAreaChart.mjs.map +1 -0
  8. package/dist/UI/charts/ag/UdpAgBarChart.d.ts +6 -0
  9. package/dist/UI/charts/ag/UdpAgBarChart.d.ts.map +1 -0
  10. package/dist/UI/charts/ag/UdpAgBarChart.js +6 -0
  11. package/dist/UI/charts/ag/UdpAgBarChart.js.map +1 -0
  12. package/dist/UI/charts/ag/UdpAgBarChart.mjs +18 -0
  13. package/dist/UI/charts/ag/UdpAgBarChart.mjs.map +1 -0
  14. package/dist/UI/charts/ag/UdpAgBubbleChart.d.ts +6 -0
  15. package/dist/UI/charts/ag/UdpAgBubbleChart.d.ts.map +1 -0
  16. package/dist/UI/charts/ag/UdpAgBubbleChart.js +6 -0
  17. package/dist/UI/charts/ag/UdpAgBubbleChart.js.map +1 -0
  18. package/dist/UI/charts/ag/UdpAgBubbleChart.mjs +18 -0
  19. package/dist/UI/charts/ag/UdpAgBubbleChart.mjs.map +1 -0
  20. package/dist/UI/charts/ag/UdpAgComboChart.d.ts +8 -0
  21. package/dist/UI/charts/ag/UdpAgComboChart.d.ts.map +1 -0
  22. package/dist/UI/charts/ag/UdpAgComboChart.js +8 -0
  23. package/dist/UI/charts/ag/UdpAgComboChart.js.map +1 -0
  24. package/dist/UI/charts/ag/UdpAgComboChart.mjs +18 -0
  25. package/dist/UI/charts/ag/UdpAgComboChart.mjs.map +1 -0
  26. package/dist/UI/charts/ag/UdpAgDonutChart.d.ts +8 -0
  27. package/dist/UI/charts/ag/UdpAgDonutChart.d.ts.map +1 -0
  28. package/dist/UI/charts/ag/UdpAgDonutChart.js +8 -0
  29. package/dist/UI/charts/ag/UdpAgDonutChart.js.map +1 -0
  30. package/dist/UI/charts/ag/UdpAgDonutChart.mjs +18 -0
  31. package/dist/UI/charts/ag/UdpAgDonutChart.mjs.map +1 -0
  32. package/dist/UI/charts/ag/UdpAgLineChart.d.ts +8 -0
  33. package/dist/UI/charts/ag/UdpAgLineChart.d.ts.map +1 -0
  34. package/dist/UI/charts/ag/UdpAgLineChart.js +8 -0
  35. package/dist/UI/charts/ag/UdpAgLineChart.js.map +1 -0
  36. package/dist/UI/charts/ag/UdpAgLineChart.mjs +18 -0
  37. package/dist/UI/charts/ag/UdpAgLineChart.mjs.map +1 -0
  38. package/dist/UI/charts/ag/UdpAgPieChart.d.ts +8 -0
  39. package/dist/UI/charts/ag/UdpAgPieChart.d.ts.map +1 -0
  40. package/dist/UI/charts/ag/UdpAgPieChart.js +8 -0
  41. package/dist/UI/charts/ag/UdpAgPieChart.js.map +1 -0
  42. package/dist/UI/charts/ag/UdpAgPieChart.mjs +18 -0
  43. package/dist/UI/charts/ag/UdpAgPieChart.mjs.map +1 -0
  44. package/dist/UI/charts/ag/UdpAgScatterChart.d.ts +8 -0
  45. package/dist/UI/charts/ag/UdpAgScatterChart.d.ts.map +1 -0
  46. package/dist/UI/charts/ag/UdpAgScatterChart.js +8 -0
  47. package/dist/UI/charts/ag/UdpAgScatterChart.js.map +1 -0
  48. package/dist/UI/charts/ag/UdpAgScatterChart.mjs +18 -0
  49. package/dist/UI/charts/ag/UdpAgScatterChart.mjs.map +1 -0
  50. package/dist/UI/charts/ag/index.d.ts +9 -0
  51. package/dist/UI/charts/ag/index.d.ts.map +1 -0
  52. package/dist/UI/charts/ag/index.js +9 -0
  53. package/dist/UI/charts/ag/index.js.map +1 -0
  54. package/dist/UI/charts/amcharts/UdpBarChart.d.ts +4 -0
  55. package/dist/UI/charts/amcharts/UdpBarChart.d.ts.map +1 -1
  56. package/dist/UI/charts/amcharts/UdpBarChart.js +4 -0
  57. package/dist/UI/charts/amcharts/UdpBarChart.js.map +1 -1
  58. package/dist/UI/charts/amcharts/UdpBarChart.mjs +4 -0
  59. package/dist/UI/charts/amcharts/UdpBarChart.mjs.map +1 -1
  60. package/dist/UI/charts/amcharts/UdpDistributionChart.d.ts +4 -0
  61. package/dist/UI/charts/amcharts/UdpDistributionChart.d.ts.map +1 -1
  62. package/dist/UI/charts/amcharts/UdpDistributionChart.js +4 -0
  63. package/dist/UI/charts/amcharts/UdpDistributionChart.js.map +1 -1
  64. package/dist/UI/charts/amcharts/UdpDistributionChart.mjs +4 -0
  65. package/dist/UI/charts/amcharts/UdpDistributionChart.mjs.map +1 -1
  66. package/dist/UI/charts/amcharts/UdpDonutChart.d.ts +4 -0
  67. package/dist/UI/charts/amcharts/UdpDonutChart.d.ts.map +1 -1
  68. package/dist/UI/charts/amcharts/UdpDonutChart.js +4 -0
  69. package/dist/UI/charts/amcharts/UdpDonutChart.js.map +1 -1
  70. package/dist/UI/charts/amcharts/UdpDonutChart.mjs +4 -0
  71. package/dist/UI/charts/amcharts/UdpDonutChart.mjs.map +1 -1
  72. package/dist/UI/charts/amcharts/UdpLineChart.d.ts +4 -0
  73. package/dist/UI/charts/amcharts/UdpLineChart.d.ts.map +1 -1
  74. package/dist/UI/charts/amcharts/UdpLineChart.js +4 -0
  75. package/dist/UI/charts/amcharts/UdpLineChart.js.map +1 -1
  76. package/dist/UI/charts/amcharts/UdpLineChart.mjs +4 -0
  77. package/dist/UI/charts/amcharts/UdpLineChart.mjs.map +1 -1
  78. package/dist/UI/charts/amcharts/UdpSankeyChart.d.ts +5 -0
  79. package/dist/UI/charts/amcharts/UdpSankeyChart.d.ts.map +1 -1
  80. package/dist/UI/charts/amcharts/UdpSankeyChart.js +5 -0
  81. package/dist/UI/charts/amcharts/UdpSankeyChart.js.map +1 -1
  82. package/dist/UI/charts/amcharts/UdpSankeyChart.mjs +5 -0
  83. package/dist/UI/charts/amcharts/UdpSankeyChart.mjs.map +1 -1
  84. package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.d.ts +4 -0
  85. package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.d.ts.map +1 -1
  86. package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.js +4 -0
  87. package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.js.map +1 -1
  88. package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.mjs +4 -0
  89. package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.mjs.map +1 -1
  90. package/dist/UI/navigation/menus/AppMenuItem.d.ts +1 -0
  91. package/dist/UI/navigation/menus/AppMenuItem.d.ts.map +1 -1
  92. package/dist/UI/navigation/menus/AppMenuItem.js +3 -2
  93. package/dist/UI/navigation/menus/AppMenuItem.js.map +1 -1
  94. package/dist/UI/navigation/menus/AppMenuItem.mjs +123 -116
  95. package/dist/UI/navigation/menus/AppMenuItem.mjs.map +1 -1
  96. package/dist/UI/navigation/menus/AppMenuItemComponent.d.ts.map +1 -1
  97. package/dist/UI/navigation/menus/AppMenuItemComponent.js +15 -3
  98. package/dist/UI/navigation/menus/AppMenuItemComponent.js.map +1 -1
  99. package/dist/UI/navigation/menus/AppMenuItemComponent.mjs +56 -39
  100. package/dist/UI/navigation/menus/AppMenuItemComponent.mjs.map +1 -1
  101. package/dist/actions/ActionSplitScreen.d.ts.map +1 -1
  102. package/dist/actions/ActionSplitScreen.js +4 -2
  103. package/dist/actions/ActionSplitScreen.js.map +1 -1
  104. package/dist/actions/ActionSplitScreen.mjs +2 -2
  105. package/dist/actions/ActionSplitScreen.mjs.map +1 -1
  106. package/dist/enums/unitySystemEnums.d.ts +4 -2
  107. package/dist/enums/unitySystemEnums.d.ts.map +1 -1
  108. package/dist/enums/unitySystemEnums.js +2 -0
  109. package/dist/enums/unitySystemEnums.js.map +1 -1
  110. package/dist/enums/unitySystemEnums.mjs +2 -0
  111. package/dist/enums/unitySystemEnums.mjs.map +1 -1
  112. package/dist/index.d.ts +1 -0
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +1 -0
  115. package/dist/index.js.map +1 -1
  116. package/dist/index.mjs +14 -6
  117. package/dist/udp/pages/UdpNotesPage/UdpNotesPage.d.ts.map +1 -1
  118. package/dist/udp/pages/UdpNotesPage/UdpNotesPage.js +29 -9
  119. package/dist/udp/pages/UdpNotesPage/UdpNotesPage.js.map +1 -1
  120. package/dist/udp/pages/UdpNotesPage/UdpNotesPage.mjs +31 -14
  121. package/dist/udp/pages/UdpNotesPage/UdpNotesPage.mjs.map +1 -1
  122. package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.d.ts.map +1 -1
  123. package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.js +29 -9
  124. package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.js.map +1 -1
  125. package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.mjs +31 -14
  126. package/dist/udp/pages/UdpRemindersPage/UdpRemindersPage.mjs.map +1 -1
  127. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.d.ts.map +1 -1
  128. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.js +30 -4
  129. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.js.map +1 -1
  130. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.mjs +28 -3
  131. package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.mjs.map +1 -1
  132. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.d.ts.map +1 -1
  133. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.js +16 -5
  134. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.js.map +1 -1
  135. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.mjs +46 -20
  136. package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.mjs.map +1 -1
  137. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.d.ts +4 -0
  138. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.d.ts.map +1 -0
  139. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.js +17 -0
  140. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.js.map +1 -0
  141. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.mjs +218 -0
  142. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.mjs.map +1 -0
  143. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.d.ts.map +1 -1
  144. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.js +2 -2
  145. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.js.map +1 -1
  146. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.mjs +5 -2
  147. package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeSidesheet.mjs.map +1 -1
  148. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.d.ts +4 -0
  149. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.d.ts.map +1 -0
  150. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.js +256 -0
  151. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.js.map +1 -0
  152. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.mjs +255 -0
  153. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.mjs.map +1 -0
  154. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.d.ts.map +1 -1
  155. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.js +12 -3
  156. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.js.map +1 -1
  157. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.mjs +8 -2
  158. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.mjs.map +1 -1
  159. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.d.ts.map +1 -1
  160. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.js +1 -1
  161. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.js.map +1 -1
  162. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.mjs +2 -1
  163. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.mjs.map +1 -1
  164. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts.map +1 -1
  165. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.js +50 -13
  166. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.js.map +1 -1
  167. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.mjs +201 -144
  168. package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.mjs.map +1 -1
  169. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts +2 -1
  170. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts.map +1 -1
  171. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.js +6 -3
  172. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.js.map +1 -1
  173. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.mjs +8 -3
  174. package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.mjs.map +1 -1
  175. package/dist/utilities/menus/menuUtilities.d.ts.map +1 -1
  176. package/dist/utilities/menus/menuUtilities.js +23 -1
  177. package/dist/utilities/menus/menuUtilities.js.map +1 -1
  178. package/dist/utilities/menus/menuUtilities.mjs +15 -1
  179. package/dist/utilities/menus/menuUtilities.mjs.map +1 -1
  180. package/package.json +43 -3
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowActions.mjs","names":["React","useState","useCallback","useMemo","useRef","useTranslation","DocumentIcon","FluentDialog","SideSheet","useAxiosMutate","ConfigService","UdpActionCard","getIconFromName","TransactionEventTypeEnums","useTransactionEngine","UdpTransactionCustomPage","useHandleAxiosSnackbar","TransactionActionButton","t0","$","_c","icon","primaryText","secondaryText","onClick","action","t1","actionCardIcon","t2","t3","t4","WorkflowActions","transaction","closeSideSheet","refreshGridData","dialogOpen","setDialogOpen","dialogUserStrings","setDialogUserStrings","selectedAction","setSelectedAction","sideSheetOpen","setSideSheetOpen","loading","setLoading","sidesheetPrimaryButtonDisabled","setSidesheetPrimaryButtonDisabled","formRef","getTransactionTypeTransactionActions","transactionTypeId","handleErrorSnackbar","handleSuccessSnackbar","handleOnCloseSideSheet","handleSubmitWorkflowAction","current","form","submit","handleSubmitSuccessfulWorkflowAction","response","transactionTypeTransactionActions","Sidesheet","data","transactionData","postTransactionData","productV1ApiUrl","method","i18n","t","handleDialogOpen","title","message","handleDialogClose","handleConfirmActionDialog","url","transactionTypeTransactionActionId","transactionId","status","apiResult","actionApiResult","isSuccessful","success","errorMessage","Error","event","handleOnActionClick","pageId","parameters","name","description","TransactionActionButtons","length","map","sidesheetParams"],"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 { TransactionEventTypeEnums } 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}) => {\n const actionCardIcon = useMemo(() => getIconFromName(icon), [icon]);\n\n return (\n <UdpActionCard\n icon={actionCardIcon ? actionCardIcon : DocumentIcon}\n primaryText={primaryText}\n secondaryText={secondaryText}\n onClick={() => {\n onClick(action);\n }}\n />\n );\n};\n\nconst WorkflowActions = ({ transaction, closeSideSheet, refreshGridData }) => {\n const [dialogOpen, setDialogOpen] = useState(true);\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\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 }, []);\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 },\n [handleOnCloseSideSheet, refreshGridData, closeSideSheet]\n );\n\n const transactionTypeTransactionActions = useMemo(() => {\n return (\n getTransactionTypeTransactionActions(\n transaction,\n TransactionEventTypeEnums.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 handleConfirmActionDialog = useCallback(async () => {\n setDialogOpen(true);\n handleDialogClose();\n setLoading(true);\n try {\n const response = await postTransactionData({\n // Change URL to config\n url:\n `${ConfigService.productV1ApiUrl}` +\n `/udptransactiontypeTransactionAction/${selectedAction.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(i18n('Successfully submitted!'));\n closeSideSheet();\n refreshGridData();\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 postTransactionData,\n handleDialogClose,\n transaction,\n selectedAction,\n i18n,\n closeSideSheet,\n refreshGridData,\n handleSuccessSnackbar,\n handleErrorSnackbar\n ]);\n const handleOnActionClick = useCallback(\n (action) => {\n const pageId = action.parameters.pageId;\n setSelectedAction(action);\n if (pageId) {\n setSideSheetOpen(true);\n } else {\n handleDialogOpen(action.name, action.description);\n }\n },\n [handleDialogOpen]\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 />\n ));\n }, [transactionTypeTransactionActions, handleOnActionClick]);\n\n return (\n <>\n <div className='transaction-action-buttons-container'>\n {TransactionActionButtons}\n </div>\n\n {dialogUserStrings && (\n <FluentDialog\n title={i18n(\n `Are you sure you want to proceed with \\\"${dialogUserStrings.title}\\\"?`\n )}\n message={dialogUserStrings.message}\n labelOne={i18n('Confirm')}\n actionOne={handleConfirmActionDialog}\n labelTwo={i18n('Cancel')}\n actionTwo={handleDialogClose}\n open={dialogOpen}\n handleClose={handleDialogClose}\n />\n )}\n\n <SideSheet\n open={sideSheetOpen}\n title={selectedAction?.name} // To Change\n onClose={handleOnCloseSideSheet}\n width={600}\n buttonLabel={i18n('Submit')}\n onSubmit={handleSubmitWorkflowAction}\n progress={loading}\n variant='indeterminate'\n color='primary'\n buttonOneDisabled={loading || sidesheetPrimaryButtonDisabled}\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={{\n sidesheetParams: {\n setSidesheetPrimaryButtonDisabled\n }\n }}\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","TransactionEventTypeEnums","useTransactionEngine","UdpTransactionCustomPage","useHandleAxiosSnackbar","TransactionActionButton","t0","$","_c","icon","primaryText","secondaryText","onClick","action","t1","actionCardIcon","t2","t3","t4","WorkflowActions","transaction","closeSideSheet","refreshGridData","handleSidesheet","dialogOpen","setDialogOpen","dialogUserStrings","setDialogUserStrings","selectedAction","setSelectedAction","sideSheetOpen","setSideSheetOpen","loading","setLoading","sidesheetPrimaryButtonDisabled","setSidesheetPrimaryButtonDisabled","formRef","getTransactionTypeTransactionActions","transactionTypeId","handleErrorSnackbar","handleSuccessSnackbar","handleOnCloseSideSheet","handleSubmitWorkflowAction","current","form","submit","handleSubmitSuccessfulWorkflowAction","response","transactionTypeTransactionActions","Sidesheet","data","transactionData","postTransactionData","productV1ApiUrl","method","i18n","t","handleDialogOpen","title","message","handleDialogClose","handleConfirmActionDialog","url","transactionTypeTransactionActionId","transactionId","status","apiResult","actionApiResult","isSuccessful","success","errorMessage","Error","event","handleOnActionClick","pageId","parameters","transactionActionId","Open_Edit_Transaction_Sidesheet","name","description","TransactionActionButtons","length","map","sidesheetParams"],"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 { TransactionActionTypeEnums, TransactionEventTypeEnums } 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}) => {\n const actionCardIcon = useMemo(() => getIconFromName(icon), [icon]);\n\n return (\n <UdpActionCard\n icon={actionCardIcon ? actionCardIcon : DocumentIcon}\n primaryText={primaryText}\n secondaryText={secondaryText}\n onClick={() => {\n onClick(action);\n }}\n />\n );\n};\n\nconst WorkflowActions = ({ transaction, closeSideSheet, refreshGridData, handleSidesheet }) => {\n const [dialogOpen, setDialogOpen] = useState(true);\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\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 }, []);\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 },\n [handleOnCloseSideSheet, refreshGridData, closeSideSheet]\n );\n\n const transactionTypeTransactionActions = useMemo(() => {\n return (\n getTransactionTypeTransactionActions(\n transaction,\n TransactionEventTypeEnums.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 handleConfirmActionDialog = useCallback(async () => {\n setDialogOpen(true);\n handleDialogClose();\n setLoading(true);\n try {\n const response = await postTransactionData({\n // Change URL to config\n url:\n `${ConfigService.productV1ApiUrl}` +\n `/udptransactiontypeTransactionAction/${selectedAction.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(i18n('Successfully submitted!'));\n closeSideSheet();\n refreshGridData();\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 postTransactionData,\n handleDialogClose,\n transaction,\n selectedAction,\n i18n,\n closeSideSheet,\n refreshGridData,\n handleSuccessSnackbar,\n handleErrorSnackbar\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 (action.transactionActionId == TransactionActionTypeEnums.Open_Edit_Transaction_Sidesheet) {\n handleSidesheet('edit', true, transaction);\n } else {\n handleDialogOpen(action.name, action.description);\n }\n },\n [handleDialogOpen, transaction, handleSidesheet]\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 />\n ));\n }, [transactionTypeTransactionActions, handleOnActionClick]);\n\n return (\n <>\n <div className='transaction-action-buttons-container'>\n {TransactionActionButtons}\n </div>\n\n {dialogUserStrings && (\n <FluentDialog\n title={i18n(\n `Are you sure you want to proceed with \\\"${dialogUserStrings.title}\\\"?`\n )}\n message={dialogUserStrings.message}\n labelOne={i18n('Confirm')}\n actionOne={handleConfirmActionDialog}\n labelTwo={i18n('Cancel')}\n actionTwo={handleDialogClose}\n open={dialogOpen}\n handleClose={handleDialogClose}\n />\n )}\n\n <SideSheet\n open={sideSheetOpen}\n title={selectedAction?.name} // To Change\n onClose={handleOnCloseSideSheet}\n width={600}\n buttonLabel={i18n('Submit')}\n onSubmit={handleSubmitWorkflowAction}\n progress={loading}\n variant='indeterminate'\n color='primary'\n buttonOneDisabled={loading || sidesheetPrimaryButtonDisabled}\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={{\n sidesheetParams: {\n setSidesheetPrimaryButtonDisabled\n }\n }}\n />\n )}\n </SideSheet>\n </>\n );\n};\n\nexport default WorkflowActions;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"menuUtilities.d.ts","sourceRoot":"","sources":["../../../src/utilities/menus/menuUtilities.js"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB,gFAoGnC,CAAC;AAiCF,eAAO,MAAM,iBAAiB,oBAS7B,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;CA0B5C,CAAC"}
1
+ {"version":3,"file":"menuUtilities.d.ts","sourceRoot":"","sources":["../../../src/utilities/menus/menuUtilities.js"],"names":[],"mappings":"AAyBA,eAAO,MAAM,uBAAuB,gFA0GnC,CAAC;AAiCF,eAAO,MAAM,iBAAiB,oBAS7B,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;CA0B5C,CAAC"}
@@ -14,6 +14,26 @@ import { UdpPageEnums } from '../../enums/pageEnums';
14
14
  import { isMobileOnly, isTablet, isDesktop } from 'react-device-detect';
15
15
  import { DeviceTypeEnums, MenuItemEnums } from '../../enums/unitySystemEnums';
16
16
  import { getAccessToken } from '../apiHelpers';
17
+ // Internal-route menu types that render as real <a href> links. For these we
18
+ // build a tenant-carrying href variant; the menu swaps it in only on new-tab
19
+ // interactions (right/middle/modified click) so normal SPA navigation keeps a
20
+ // clean URL while opening in a new tab preserves the active tenant.
21
+ const TENANT_AWARE_MENU_TYPES = [
22
+ MenuItemEnums.Page,
23
+ MenuItemEnums.Route,
24
+ MenuItemEnums.Inquiry,
25
+ MenuItemEnums.Report
26
+ ];
27
+ const getTenantAwareHref = (link, user, menuItemId) => {
28
+ if (!link || !(user === null || user === void 0 ? void 0 : user.currentTenantId))
29
+ return undefined;
30
+ if (user.currentTenantId === user.defaultTenantId)
31
+ return undefined;
32
+ if (!TENANT_AWARE_MENU_TYPES.includes(menuItemId))
33
+ return undefined;
34
+ const separator = link.includes('?') ? '&' : '?';
35
+ return `${link}${separator}tenantId=${user.currentTenantId}`;
36
+ };
17
37
  export const getMenuItemsRecursively = (menuItems, activeOnly, user, checkDeviceSize = true) => {
18
38
  return menuItems.reduce((formattedItems, item) => {
19
39
  var _a, _b, _c, _d;
@@ -31,10 +51,12 @@ export const getMenuItemsRecursively = (menuItems, activeOnly, user, checkDevice
31
51
  redirectInfo = `${RedirectURL}?tenantId=${(user === null || user === void 0 ? void 0 : user.currentTenantId) || ''}`;
32
52
  }
33
53
  }
54
+ const link = (_e = getFormattedSlug(Slug, Object.assign({}, otherParams))) !== null && _e !== void 0 ? _e : '';
34
55
  const formattedParameters = {
35
56
  id: item.menuItemInstance.menuItemInstanceId,
36
57
  label: Label !== null && Label !== void 0 ? Label : '',
37
- link: (_e = getFormattedSlug(Slug, Object.assign({}, otherParams))) !== null && _e !== void 0 ? _e : '',
58
+ link,
59
+ tenantHref: getTenantAwareHref(link, user, item.menuItemInstance.menuItemId),
38
60
  redirectInfo: redirectInfo,
39
61
  getAccessToken: getAccessToken && AppendTokenToURL ? getAccessToken : null,
40
62
  menuItemId: item.menuItemInstance.menuItemId,
@@ -1 +1 @@
1
- {"version":3,"file":"menuUtilities.js","sourceRoot":"","sources":["../../../src/utilities/menus/menuUtilities.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menuUtilities.js","sourceRoot":"","sources":["../../../src/utilities/menus/menuUtilities.js"],"names":[],"mappings":"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"}
@@ -4,6 +4,18 @@ import { getAccessToken } from "../apiHelpers.mjs";
4
4
  import * as Icons from "@fluentui/react-icons";
5
5
  import { isDesktop, isMobileOnly, isTablet } from "react-device-detect";
6
6
  //#region src/utilities/menus/menuUtilities.js
7
+ const TENANT_AWARE_MENU_TYPES = [
8
+ MenuItemEnums.Page,
9
+ MenuItemEnums.Route,
10
+ MenuItemEnums.Inquiry,
11
+ MenuItemEnums.Report
12
+ ];
13
+ const getTenantAwareHref = (link, user, menuItemId) => {
14
+ if (!link || !user?.currentTenantId) return void 0;
15
+ if (user.currentTenantId === user.defaultTenantId) return void 0;
16
+ if (!TENANT_AWARE_MENU_TYPES.includes(menuItemId)) return void 0;
17
+ return `${link}${link.includes("?") ? "&" : "?"}tenantId=${user.currentTenantId}`;
18
+ };
7
19
  const getMenuItemsRecursively = (menuItems, activeOnly, user, checkDeviceSize = true) => {
8
20
  return menuItems.reduce((formattedItems, item) => {
9
21
  try {
@@ -14,10 +26,12 @@ const getMenuItemsRecursively = (menuItems, activeOnly, user, checkDeviceSize =
14
26
  redirectInfo = RedirectURL;
15
27
  if (appendCurrentTenant) redirectInfo = `${RedirectURL}?tenantId=${user?.currentTenantId || ""}`;
16
28
  }
29
+ const link = getFormattedSlug(Slug, { ...otherParams }) ?? "";
17
30
  const formattedParameters = {
18
31
  id: item.menuItemInstance.menuItemInstanceId,
19
32
  label: Label ?? "",
20
- link: getFormattedSlug(Slug, { ...otherParams }) ?? "",
33
+ link,
34
+ tenantHref: getTenantAwareHref(link, user, item.menuItemInstance.menuItemId),
21
35
  redirectInfo,
22
36
  getAccessToken: getAccessToken && AppendTokenToURL ? getAccessToken : null,
23
37
  menuItemId: item.menuItemInstance.menuItemId,
@@ -1 +1 @@
1
- {"version":3,"file":"menuUtilities.mjs","names":["Icons","UdpPageEnums","isMobileOnly","isTablet","isDesktop","DeviceTypeEnums","MenuItemEnums","getAccessToken","getMenuItemsRecursively","menuItems","activeOnly","user","checkDeviceSize","reduce","formattedItems","item","menuItemInstance","isActive","parameters","JSON","parse","FluentIcon","WorkFlowIcon","AppIcon","Label","Slug","RedirectURL","AppendTokenToURL","DevicesHiddenOn","appendCurrentTenant","otherParams","redirectInfo","currentTenantId","formattedParameters","id","menuItemInstanceId","label","link","getFormattedSlug","menuItemId","menuStructureId","parentId","productId","roleIds","tenantSsoId","devicesHiddenOn","params","iconName","icon","menuItemInstanceStructures","length","includes","Desktop","Tablet","Mobile","push","slug","formattedSlug","PageId","Udp_Maintenance_Engine_Page","entityName","Udp_Data_Browser_Page","queryId","findHomeRouteInStructures","structures","isHomeRoute","found","findHomeRouteSlug","menu","m","active","menuItemInstanceStructureViews","getRouteRolesMapAndMenuActiveMap","updatedRolesMap","Map","updatedisMenuActiveMap","activeMenus","filter","forEach","map","menuItemInstanceStructureView","Route","Page","Report","Inquiry","Inner_Menu","menuparams","set","e","console","error","rolesMap","menuActiveMap"],"sources":["../../../src/utilities/menus/menuUtilities.js"],"sourcesContent":["import * as Icons from '@fluentui/react-icons';\nimport { UdpPageEnums } from '../../enums/pageEnums';\nimport { isMobileOnly, isTablet, isDesktop } from 'react-device-detect';\nimport { DeviceTypeEnums, MenuItemEnums } from '../../enums/unitySystemEnums';\nimport { getAccessToken } from '../apiHelpers';\nexport const getMenuItemsRecursively = (\n menuItems,\n activeOnly,\n user,\n checkDeviceSize = true\n) => {\n return menuItems.reduce((formattedItems, item) => {\n try {\n if (activeOnly && !item.menuItemInstance.isActive) {\n return formattedItems;\n }\n const parameters = JSON.parse(item.menuItemInstance.parameters);\n const {\n FluentIcon,\n WorkFlowIcon,\n AppIcon,\n Label,\n Slug,\n RedirectURL,\n AppendTokenToURL,\n DevicesHiddenOn,\n appendCurrentTenant,\n ...otherParams\n } = parameters;\n let redirectInfo = '';\n if (RedirectURL) {\n redirectInfo = RedirectURL;\n if (appendCurrentTenant) {\n redirectInfo = `${RedirectURL}?tenantId=${\n user?.currentTenantId || ''\n }`;\n }\n }\n const formattedParameters = {\n id: item.menuItemInstance.menuItemInstanceId,\n label: Label ?? '',\n link: getFormattedSlug(Slug, { ...otherParams }) ?? '',\n redirectInfo: redirectInfo,\n getAccessToken:\n getAccessToken && AppendTokenToURL ? getAccessToken : null,\n menuItemId: item.menuItemInstance.menuItemId,\n menuStructureId: item.menuStructureId,\n parentId: item.parentId,\n productId: item.menuItemInstance.productId,\n isActive: item.menuItemInstance.isActive,\n roleIds: item.menuItemInstance.roleIds,\n tenantSsoId: item?.menuItemInstance?.tenantSsoId,\n devicesHiddenOn: DevicesHiddenOn || [],\n params: { ...otherParams }\n };\n\n let iconName = '';\n if (FluentIcon) {\n iconName = FluentIcon;\n } else if (WorkFlowIcon) {\n iconName = WorkFlowIcon;\n }\n formattedParameters.icon = iconName ? Icons[iconName] : null;\n formattedParameters.iconName = iconName ? iconName : null;\n\n formattedParameters['items'] = item.menuItemInstanceStructures.length\n ? getMenuItemsRecursively(\n item.menuItemInstanceStructures,\n activeOnly,\n user,\n getAccessToken,\n checkDeviceSize\n )\n : [];\n if (checkDeviceSize) {\n if (\n !(\n isDesktop &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Desktop\n )\n ) &&\n !(\n isTablet &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Tablet\n )\n ) &&\n !(\n isMobileOnly &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Mobile\n )\n )\n ) {\n formattedItems.push(formattedParameters);\n }\n } else {\n formattedItems.push(formattedParameters);\n }\n } catch {\n // catching parse error\n }\n return formattedItems;\n }, []);\n};\n\nconst getFormattedSlug = (slug, params) => {\n let formattedSlug = slug;\n if (params?.PageId === UdpPageEnums.Udp_Maintenance_Engine_Page) {\n formattedSlug = `${slug}${\n params?.entityName ? `?entityName=${params?.entityName}` : ''\n }`;\n } else if (params?.PageId === UdpPageEnums.Udp_Data_Browser_Page) {\n formattedSlug = `${slug}?queryId=${params?.queryId}`;\n }\n\n return formattedSlug;\n};\n\nconst findHomeRouteInStructures = (structures) => {\n for (const item of structures) {\n try {\n const params = JSON.parse(item.menuItemInstance.parameters);\n if (params?.isHomeRoute) {\n return params.Slug ?? null;\n }\n } catch {\n // ignore parse errors\n }\n if (item.menuItemInstanceStructures?.length) {\n const found = findHomeRouteInStructures(item.menuItemInstanceStructures);\n if (found) return found;\n }\n }\n return null;\n};\n\nexport const findHomeRouteSlug = (menu) => {\n for (const m of menu) {\n if (!m.active) continue;\n const found = findHomeRouteInStructures(\n m.menuItemInstanceStructureViews ?? []\n );\n if (found) return found;\n }\n return null;\n};\n\nexport const getRouteRolesMapAndMenuActiveMap = (menu) => {\n const updatedRolesMap = new Map();\n const updatedisMenuActiveMap = new Map();\n const activeMenus = menu.filter((m) => m.isActive);\n activeMenus.forEach((m) => {\n m.menuItemInstanceStructureViews.map((menuItemInstanceStructureView) => {\n let menuItemInstance = menuItemInstanceStructureView.menuItemInstance;\n if (\n menuItemInstance.menuItemId == MenuItemEnums.Route ||\n menuItemInstance.menuItemId == MenuItemEnums.Page ||\n menuItemInstance.menuItemId == MenuItemEnums.Report ||\n menuItemInstance.menuItemId == MenuItemEnums.Inquiry ||\n menuItemInstance.menuItemId == MenuItemEnums.Inner_Menu\n ) {\n try {\n const menuparams = JSON.parse(menuItemInstance.parameters);\n const slug = menuparams?.Slug;\n updatedRolesMap.set(slug, menuItemInstance.roleIds);\n updatedisMenuActiveMap.set(slug, menuItemInstance.isActive);\n } catch (e) {\n console.error('Failed to parse menu item parameters', e);\n }\n }\n });\n });\n return { rolesMap: updatedRolesMap, menuActiveMap: updatedisMenuActiveMap };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"menuUtilities.mjs","names":["Icons","UdpPageEnums","isMobileOnly","isTablet","isDesktop","DeviceTypeEnums","MenuItemEnums","getAccessToken","TENANT_AWARE_MENU_TYPES","Page","Route","Inquiry","Report","getTenantAwareHref","link","user","menuItemId","currentTenantId","undefined","defaultTenantId","includes","separator","getMenuItemsRecursively","menuItems","activeOnly","checkDeviceSize","reduce","formattedItems","item","menuItemInstance","isActive","parameters","JSON","parse","FluentIcon","WorkFlowIcon","AppIcon","Label","Slug","RedirectURL","AppendTokenToURL","DevicesHiddenOn","appendCurrentTenant","otherParams","redirectInfo","getFormattedSlug","formattedParameters","id","menuItemInstanceId","label","tenantHref","menuStructureId","parentId","productId","roleIds","tenantSsoId","devicesHiddenOn","params","iconName","icon","menuItemInstanceStructures","length","Desktop","Tablet","Mobile","push","slug","formattedSlug","PageId","Udp_Maintenance_Engine_Page","entityName","Udp_Data_Browser_Page","queryId","findHomeRouteInStructures","structures","isHomeRoute","found","findHomeRouteSlug","menu","m","active","menuItemInstanceStructureViews","getRouteRolesMapAndMenuActiveMap","updatedRolesMap","Map","updatedisMenuActiveMap","activeMenus","filter","forEach","map","menuItemInstanceStructureView","Inner_Menu","menuparams","set","e","console","error","rolesMap","menuActiveMap"],"sources":["../../../src/utilities/menus/menuUtilities.js"],"sourcesContent":["import * as Icons from '@fluentui/react-icons';\nimport { UdpPageEnums } from '../../enums/pageEnums';\nimport { isMobileOnly, isTablet, isDesktop } from 'react-device-detect';\nimport { DeviceTypeEnums, MenuItemEnums } from '../../enums/unitySystemEnums';\nimport { getAccessToken } from '../apiHelpers';\n\n// Internal-route menu types that render as real <a href> links. For these we\n// build a tenant-carrying href variant; the menu swaps it in only on new-tab\n// interactions (right/middle/modified click) so normal SPA navigation keeps a\n// clean URL while opening in a new tab preserves the active tenant.\nconst TENANT_AWARE_MENU_TYPES = [\n MenuItemEnums.Page,\n MenuItemEnums.Route,\n MenuItemEnums.Inquiry,\n MenuItemEnums.Report\n];\n\nconst getTenantAwareHref = (link, user, menuItemId) => {\n if (!link || !user?.currentTenantId) return undefined;\n if (user.currentTenantId === user.defaultTenantId) return undefined;\n if (!TENANT_AWARE_MENU_TYPES.includes(menuItemId)) return undefined;\n const separator = link.includes('?') ? '&' : '?';\n return `${link}${separator}tenantId=${user.currentTenantId}`;\n};\n\nexport const getMenuItemsRecursively = (\n menuItems,\n activeOnly,\n user,\n checkDeviceSize = true\n) => {\n return menuItems.reduce((formattedItems, item) => {\n try {\n if (activeOnly && !item.menuItemInstance.isActive) {\n return formattedItems;\n }\n const parameters = JSON.parse(item.menuItemInstance.parameters);\n const {\n FluentIcon,\n WorkFlowIcon,\n AppIcon,\n Label,\n Slug,\n RedirectURL,\n AppendTokenToURL,\n DevicesHiddenOn,\n appendCurrentTenant,\n ...otherParams\n } = parameters;\n let redirectInfo = '';\n if (RedirectURL) {\n redirectInfo = RedirectURL;\n if (appendCurrentTenant) {\n redirectInfo = `${RedirectURL}?tenantId=${\n user?.currentTenantId || ''\n }`;\n }\n }\n const link = getFormattedSlug(Slug, { ...otherParams }) ?? '';\n const formattedParameters = {\n id: item.menuItemInstance.menuItemInstanceId,\n label: Label ?? '',\n link,\n tenantHref: getTenantAwareHref(\n link,\n user,\n item.menuItemInstance.menuItemId\n ),\n redirectInfo: redirectInfo,\n getAccessToken:\n getAccessToken && AppendTokenToURL ? getAccessToken : null,\n menuItemId: item.menuItemInstance.menuItemId,\n menuStructureId: item.menuStructureId,\n parentId: item.parentId,\n productId: item.menuItemInstance.productId,\n isActive: item.menuItemInstance.isActive,\n roleIds: item.menuItemInstance.roleIds,\n tenantSsoId: item?.menuItemInstance?.tenantSsoId,\n devicesHiddenOn: DevicesHiddenOn || [],\n params: { ...otherParams }\n };\n\n let iconName = '';\n if (FluentIcon) {\n iconName = FluentIcon;\n } else if (WorkFlowIcon) {\n iconName = WorkFlowIcon;\n }\n formattedParameters.icon = iconName ? Icons[iconName] : null;\n formattedParameters.iconName = iconName ? iconName : null;\n\n formattedParameters['items'] = item.menuItemInstanceStructures.length\n ? getMenuItemsRecursively(\n item.menuItemInstanceStructures,\n activeOnly,\n user,\n getAccessToken,\n checkDeviceSize\n )\n : [];\n if (checkDeviceSize) {\n if (\n !(\n isDesktop &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Desktop\n )\n ) &&\n !(\n isTablet &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Tablet\n )\n ) &&\n !(\n isMobileOnly &&\n formattedParameters?.devicesHiddenOn?.includes(\n DeviceTypeEnums.Mobile\n )\n )\n ) {\n formattedItems.push(formattedParameters);\n }\n } else {\n formattedItems.push(formattedParameters);\n }\n } catch {\n // catching parse error\n }\n return formattedItems;\n }, []);\n};\n\nconst getFormattedSlug = (slug, params) => {\n let formattedSlug = slug;\n if (params?.PageId === UdpPageEnums.Udp_Maintenance_Engine_Page) {\n formattedSlug = `${slug}${\n params?.entityName ? `?entityName=${params?.entityName}` : ''\n }`;\n } else if (params?.PageId === UdpPageEnums.Udp_Data_Browser_Page) {\n formattedSlug = `${slug}?queryId=${params?.queryId}`;\n }\n\n return formattedSlug;\n};\n\nconst findHomeRouteInStructures = (structures) => {\n for (const item of structures) {\n try {\n const params = JSON.parse(item.menuItemInstance.parameters);\n if (params?.isHomeRoute) {\n return params.Slug ?? null;\n }\n } catch {\n // ignore parse errors\n }\n if (item.menuItemInstanceStructures?.length) {\n const found = findHomeRouteInStructures(item.menuItemInstanceStructures);\n if (found) return found;\n }\n }\n return null;\n};\n\nexport const findHomeRouteSlug = (menu) => {\n for (const m of menu) {\n if (!m.active) continue;\n const found = findHomeRouteInStructures(\n m.menuItemInstanceStructureViews ?? []\n );\n if (found) return found;\n }\n return null;\n};\n\nexport const getRouteRolesMapAndMenuActiveMap = (menu) => {\n const updatedRolesMap = new Map();\n const updatedisMenuActiveMap = new Map();\n const activeMenus = menu.filter((m) => m.isActive);\n activeMenus.forEach((m) => {\n m.menuItemInstanceStructureViews.map((menuItemInstanceStructureView) => {\n let menuItemInstance = menuItemInstanceStructureView.menuItemInstance;\n if (\n menuItemInstance.menuItemId == MenuItemEnums.Route ||\n menuItemInstance.menuItemId == MenuItemEnums.Page ||\n menuItemInstance.menuItemId == MenuItemEnums.Report ||\n menuItemInstance.menuItemId == MenuItemEnums.Inquiry ||\n menuItemInstance.menuItemId == MenuItemEnums.Inner_Menu\n ) {\n try {\n const menuparams = JSON.parse(menuItemInstance.parameters);\n const slug = menuparams?.Slug;\n updatedRolesMap.set(slug, menuItemInstance.roleIds);\n updatedisMenuActiveMap.set(slug, menuItemInstance.isActive);\n } catch (e) {\n console.error('Failed to parse menu item parameters', e);\n }\n }\n });\n });\n return { rolesMap: updatedRolesMap, menuActiveMap: updatedisMenuActiveMap };\n};\n"],"mappings":";;;;;;AAUA,MAAMQ,0BAA0B;CAC9BF,cAAcG;CACdH,cAAcI;CACdJ,cAAcK;CACdL,cAAcM;CACf;AAED,MAAMC,sBAAsBC,MAAMC,MAAMC,eAAe;AACrD,KAAI,CAACF,QAAQ,CAACC,MAAME,gBAAiB,QAAOC,KAAAA;AAC5C,KAAIH,KAAKE,oBAAoBF,KAAKI,gBAAiB,QAAOD,KAAAA;AAC1D,KAAI,CAACV,wBAAwBY,SAASJ,WAAW,CAAE,QAAOE,KAAAA;AAE1D,QAAO,GAAGJ,OADQA,KAAKM,SAAS,IAAI,GAAG,MAAM,IACnB,WAAYL,KAAKE;;AAG7C,MAAaK,2BACXC,WACAC,YACAT,MACAU,kBAAkB,SACf;AACH,QAAOF,UAAUG,QAAQC,gBAAgBC,SAAS;AAChD,MAAI;AACF,OAAIJ,cAAc,CAACI,KAAKC,iBAAiBC,SACvC,QAAOH;GAGT,MAAM,EACJO,YACAC,cACAC,SACAC,OACAC,MACAC,aACAC,kBACAC,iBACAC,qBACA,GAAGC,gBAXcX,KAAKC,MAAML,KAAKC,iBAAiBE,WAAW;GAa/D,IAAIa,eAAe;AACnB,OAAIL,aAAa;AACfK,mBAAeL;AACf,QAAIG,oBACFE,gBAAe,GAAGL,YAAW,YAC3BxB,MAAME,mBAAmB;;GAI/B,MAAMH,OAAO+B,iBAAiBP,MAAM,EAAE,GAAGK,aAAa,CAAC,IAAI;GAC3D,MAAMG,sBAAsB;IAC1BC,IAAInB,KAAKC,iBAAiBmB;IAC1BC,OAAOZ,SAAS;IAChBvB;IACAoC,YAAYrC,mBACVC,MACAC,MACAa,KAAKC,iBAAiBb,WACvB;IACa4B;IACdrC,gBACEA,kBAAkBiC,mBAAmBjC,iBAAiB;IACxDS,YAAYY,KAAKC,iBAAiBb;IAClCmC,iBAAiBvB,KAAKuB;IACtBC,UAAUxB,KAAKwB;IACfC,WAAWzB,KAAKC,iBAAiBwB;IACjCvB,UAAUF,KAAKC,iBAAiBC;IAChCwB,SAAS1B,KAAKC,iBAAiByB;IAC/BC,aAAa3B,MAAMC,kBAAkB0B;IACrCC,iBAAiBf,mBAAmB,EAAE;IACtCgB,QAAQ,EAAE,GAAGd,aAAY;IAC1B;GAED,IAAIe,WAAW;AACf,OAAIxB,WACFwB,YAAWxB;YACFC,aACTuB,YAAWvB;AAEbW,uBAAoBa,OAAOD,WAAW1D,MAAM0D,YAAY;AACxDZ,uBAAoBY,WAAWA,WAAWA,WAAW;AAErDZ,uBAAoB,WAAWlB,KAAKgC,2BAA2BC,SAC3DvC,wBACEM,KAAKgC,4BACLpC,YACAT,MACAR,gBACAkB,gBACD,GACD,EAAE;AACN,OAAIA;QAEA,EACErB,aACA0C,qBAAqBU,iBAAiBpC,SACpCf,gBAAgByD,QACjB,KAEH,EACE3D,YACA2C,qBAAqBU,iBAAiBpC,SACpCf,gBAAgB0D,OACjB,KAEH,EACE7D,gBACA4C,qBAAqBU,iBAAiBpC,SACpCf,gBAAgB2D,OACjB,EAGHrC,gBAAesC,KAAKnB,oBAAoB;SAG1CnB,gBAAesC,KAAKnB,oBAAoB;UAEpC;AAGR,SAAOnB;IACN,EAAE,CAAC;;AAGR,MAAMkB,oBAAoBqB,MAAMT,WAAW;CACzC,IAAIU,gBAAgBD;AACpB,KAAIT,QAAQW,WAAWnE,aAAaoE,4BAClCF,iBAAgB,GAAGD,OACjBT,QAAQa,aAAa,eAAeb,QAAQa,eAAe;UAEpDb,QAAQW,WAAWnE,aAAasE,sBACzCJ,iBAAgB,GAAGD,KAAI,WAAYT,QAAQe;AAG7C,QAAOL;;AAGT,MAAMM,6BAA6BC,eAAe;AAChD,MAAK,MAAM9C,QAAQ8C,YAAY;AAC7B,MAAI;GACF,MAAMjB,SAASzB,KAAKC,MAAML,KAAKC,iBAAiBE,WAAW;AAC3D,OAAI0B,QAAQkB,YACV,QAAOlB,OAAOnB,QAAQ;UAElB;AAGR,MAAIV,KAAKgC,4BAA4BC,QAAQ;GAC3C,MAAMe,QAAQH,0BAA0B7C,KAAKgC,2BAA2B;AACxE,OAAIgB,MAAO,QAAOA;;;AAGtB,QAAO;;AAGT,MAAaC,qBAAqBC,SAAS;AACzC,MAAK,MAAMC,KAAKD,MAAM;AACpB,MAAI,CAACC,EAAEC,OAAQ;EACf,MAAMJ,QAAQH,0BACZM,EAAEE,kCAAkC,EACtC,CAAC;AACD,MAAIL,MAAO,QAAOA;;AAEpB,QAAO;;AAGT,MAAaM,oCAAoCJ,SAAS;CACxD,MAAMK,kCAAkB,IAAIC,KAAK;CACjC,MAAMC,yCAAyB,IAAID,KAAK;AACpBN,MAAKS,QAAQR,MAAMA,EAAEjD,SAAS,CACtC0D,SAAST,MAAM;AACzBA,IAAEE,+BAA+BQ,KAAKC,kCAAkC;GACtE,IAAI7D,mBAAmB6D,8BAA8B7D;AACrD,OACEA,iBAAiBb,cAAcV,cAAcI,SAC7CmB,iBAAiBb,cAAcV,cAAcG,QAC7CoB,iBAAiBb,cAAcV,cAAcM,UAC7CiB,iBAAiBb,cAAcV,cAAcK,WAC7CkB,iBAAiBb,cAAcV,cAAcqF,WAE7C,KAAI;IAEF,MAAMzB,OADalC,KAAKC,MAAMJ,iBAAiBE,WAAW,EACjCO;AACzB6C,oBAAgBU,IAAI3B,MAAMrC,iBAAiByB,QAAQ;AACnD+B,2BAAuBQ,IAAI3B,MAAMrC,iBAAiBC,SAAS;YACpDgE,GAAG;AACVC,YAAQC,MAAM,wCAAwCF,EAAE;;IAG5D;GACF;AACF,QAAO;EAAEG,UAAUd;EAAiBe,eAAeb;EAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "udp-react-enterprise-component-library",
3
- "version": "26.3.0-beta.2",
3
+ "version": "26.3.0-beta.21",
4
4
  "description": "React-based UI component library implementing Fluent UI design for Univerus internal projects",
5
5
  "author": "Univerus",
6
6
  "license": "MIT",
@@ -1397,6 +1397,10 @@
1397
1397
  "types": "./dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts",
1398
1398
  "default": "./dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.mjs"
1399
1399
  },
1400
+ "./udp/pages/UdpTransactionsPage/UdpTransactionCalendar": {
1401
+ "types": "./dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.d.ts",
1402
+ "default": "./dist/udp/pages/UdpTransactionsPage/UdpTransactionCalendar.mjs"
1403
+ },
1400
1404
  "./udp/pages/UdpTransactionsPage/UdpTransactionGrid": {
1401
1405
  "types": "./dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.d.ts",
1402
1406
  "default": "./dist/udp/pages/UdpTransactionsPage/UdpTransactionGrid.mjs"
@@ -1453,6 +1457,10 @@
1453
1457
  "types": "./dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionAttachmentTypeSidesheet.d.ts",
1454
1458
  "default": "./dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionAttachmentTypeSidesheet.mjs"
1455
1459
  },
1460
+ "./udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet": {
1461
+ "types": "./dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.d.ts",
1462
+ "default": "./dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.mjs"
1463
+ },
1456
1464
  "./udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationCreateAndEditSidesheet": {
1457
1465
  "types": "./dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationCreateAndEditSidesheet.d.ts",
1458
1466
  "default": "./dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationCreateAndEditSidesheet.mjs"
@@ -1561,6 +1569,38 @@
1561
1569
  "types": "./dist/UI/Box.d.ts",
1562
1570
  "default": "./dist/UI/Box.mjs"
1563
1571
  },
1572
+ "./UI/charts/ag/UdpAgAreaChart": {
1573
+ "types": "./dist/UI/charts/ag/UdpAgAreaChart.d.ts",
1574
+ "default": "./dist/UI/charts/ag/UdpAgAreaChart.mjs"
1575
+ },
1576
+ "./UI/charts/ag/UdpAgBarChart": {
1577
+ "types": "./dist/UI/charts/ag/UdpAgBarChart.d.ts",
1578
+ "default": "./dist/UI/charts/ag/UdpAgBarChart.mjs"
1579
+ },
1580
+ "./UI/charts/ag/UdpAgBubbleChart": {
1581
+ "types": "./dist/UI/charts/ag/UdpAgBubbleChart.d.ts",
1582
+ "default": "./dist/UI/charts/ag/UdpAgBubbleChart.mjs"
1583
+ },
1584
+ "./UI/charts/ag/UdpAgComboChart": {
1585
+ "types": "./dist/UI/charts/ag/UdpAgComboChart.d.ts",
1586
+ "default": "./dist/UI/charts/ag/UdpAgComboChart.mjs"
1587
+ },
1588
+ "./UI/charts/ag/UdpAgDonutChart": {
1589
+ "types": "./dist/UI/charts/ag/UdpAgDonutChart.d.ts",
1590
+ "default": "./dist/UI/charts/ag/UdpAgDonutChart.mjs"
1591
+ },
1592
+ "./UI/charts/ag/UdpAgLineChart": {
1593
+ "types": "./dist/UI/charts/ag/UdpAgLineChart.d.ts",
1594
+ "default": "./dist/UI/charts/ag/UdpAgLineChart.mjs"
1595
+ },
1596
+ "./UI/charts/ag/UdpAgPieChart": {
1597
+ "types": "./dist/UI/charts/ag/UdpAgPieChart.d.ts",
1598
+ "default": "./dist/UI/charts/ag/UdpAgPieChart.mjs"
1599
+ },
1600
+ "./UI/charts/ag/UdpAgScatterChart": {
1601
+ "types": "./dist/UI/charts/ag/UdpAgScatterChart.d.ts",
1602
+ "default": "./dist/UI/charts/ag/UdpAgScatterChart.mjs"
1603
+ },
1564
1604
  "./UI/charts/amcharts": {
1565
1605
  "types": "./dist/UI/charts/amcharts/index.d.ts",
1566
1606
  "default": "./dist/UI/charts/amcharts/index.mjs"
@@ -3698,8 +3738,8 @@
3698
3738
  "@microlink/react-json-view": "^1.31.20",
3699
3739
  "@tanstack/react-query": "^5",
3700
3740
  "@tanstack/react-query-devtools": "^5",
3701
- "udp-react-stencil-component-library": "^26.1.0-beta.1",
3702
- "udp-stencil-component-library": "^26.3.0-beta.8",
3741
+ "udp-react-stencil-component-library": "26.3.0-beta.0",
3742
+ "udp-stencil-component-library": "26.3.0-beta.27",
3703
3743
  "axios": "^0.31.1",
3704
3744
  "axios-hooks": "^2.1.0",
3705
3745
  "broadcast-channel": "^4.17.0",