@argusoft/medplat-core 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AccessRights-xrday-L1.js → AccessRights-DBjTQA1-.js} +395 -390
- package/dist/AccessRights-DBjTQA1-.js.map +1 -0
- package/dist/{AddFeatures-D1sU8RjY.js → AddFeatures-COj4ZTIM.js} +2 -2
- package/dist/{AddFeatures-D1sU8RjY.js.map → AddFeatures-COj4ZTIM.js.map} +1 -1
- package/dist/AddMenuConfiguration-Creeib5X.js +11223 -0
- package/dist/AddMenuConfiguration-Creeib5X.js.map +1 -0
- package/dist/AddMenuConfiguration.css +1 -1
- package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js → BrandsPage-CdcAvaml-ZtVTX6vX.js} +43 -43
- package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js.map → BrandsPage-CdcAvaml-ZtVTX6vX.js.map} +1 -1
- package/dist/{CategoriesPage-BsS5IQh3-B03lWRY5.js → CategoriesPage-BprQEYJw-CclreTv1.js} +109 -102
- package/dist/CategoriesPage-BprQEYJw-CclreTv1.js.map +1 -0
- package/dist/{ChangePasswordModalCore-BPsJquTS.js → ChangePasswordModalCore-DZGOkbRY.js} +3 -3
- package/dist/{ChangePasswordModalCore-BPsJquTS.js.map → ChangePasswordModalCore-DZGOkbRY.js.map} +1 -1
- package/dist/ConditionConfig-Bpm6OoV5.js +408 -0
- package/dist/ConditionConfig-Bpm6OoV5.js.map +1 -0
- package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js → DashboardPage-CTiGSx71-CsYohJ5e.js} +32 -32
- package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js.map → DashboardPage-CTiGSx71-CsYohJ5e.js.map} +1 -1
- package/dist/EntityManagement-BGwJGl9k.js +62 -0
- package/dist/EntityManagement-BGwJGl9k.js.map +1 -0
- package/dist/EventConfig-BY2cgGyx.js +27 -0
- package/dist/{EventConfig-BmLemzX3.js.map → EventConfig-BY2cgGyx.js.map} +1 -1
- package/dist/EventConfigurations-B-z7xHh_.js +544 -0
- package/dist/EventConfigurations-B-z7xHh_.js.map +1 -0
- package/dist/EventConfigurations.css +1 -1
- package/dist/EventsExceptionModal-DafomIv6.js +188 -0
- package/dist/EventsExceptionModal-DafomIv6.js.map +1 -0
- package/dist/EventsUi-Dl_yckSA.js +263 -0
- package/dist/EventsUi-Dl_yckSA.js.map +1 -0
- package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js +112 -0
- package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js.map +1 -0
- package/dist/{FeatureMenu-DYJmDt7q.js → FeatureMenu-Kc73yPHH.js} +9 -5
- package/dist/FeatureMenu-Kc73yPHH.js.map +1 -0
- package/dist/{FhirServerList-DuTwnngN.js → FhirServerList-CrIHMAxz.js} +16 -16
- package/dist/{FhirServerList-DuTwnngN.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
- package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
- package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
- package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
- package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.js.map} +1 -1
- package/dist/{GrantPermissionModal-BDN66Atn.js → GrantPermissionModal-D7iNZd0M.js} +54 -51
- package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
- package/dist/ImmunizationConfigurationBase-lKsJZMak.js +8060 -0
- package/dist/ImmunizationConfigurationBase-lKsJZMak.js.map +1 -0
- package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js +1017 -0
- package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js.map +1 -0
- package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
- package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
- package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
- package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
- package/dist/ManageEventConfiguration-DqPbn3Oi.js +1216 -0
- package/dist/ManageEventConfiguration-DqPbn3Oi.js.map +1 -0
- package/dist/ManageEventConfiguration.css +1 -1
- package/dist/ManageRole-CyfpySt9.js +981 -0
- package/dist/ManageRole-CyfpySt9.js.map +1 -0
- package/dist/{ManageUser-DCFkUMV9.js → ManageUser-Dm0l833u.js} +286 -286
- package/dist/{ManageUser-DCFkUMV9.js.map → ManageUser-Dm0l833u.js.map} +1 -1
- package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js → MemberProfileCard-01d_jz3w-DYHtbgMX.js} +46 -46
- package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js.map → MemberProfileCard-01d_jz3w-DYHtbgMX.js.map} +1 -1
- package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
- package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
- package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
- package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
- package/dist/MobileTypeEventConfigModal-DodU3beR.js +752 -0
- package/dist/MobileTypeEventConfigModal-DodU3beR.js.map +1 -0
- package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
- package/dist/NewServerManagement-BdayO78D.js.map +1 -0
- package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
- package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
- package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js} +58 -58
- package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map} +1 -1
- package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js → PaymentsPage-CHieGNrn-BnYCtqHd.js} +37 -37
- package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js.map → PaymentsPage-CHieGNrn-BnYCtqHd.js.map} +1 -1
- package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
- package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
- package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js} +2 -2
- package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js.map} +1 -1
- package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js +801 -0
- package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js.map +1 -0
- package/dist/{PickupsPage-Ctpghavs-CUp4uIZq.js → PickupsPage-BWblMlic-CWkgeBw0.js} +132 -132
- package/dist/PickupsPage-BWblMlic-CWkgeBw0.js.map +1 -0
- package/dist/PmGuard-BvUUbU80-BpYNaDzl.js +641 -0
- package/dist/PmGuard-BvUUbU80-BpYNaDzl.js.map +1 -0
- package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js +1523 -0
- package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js.map +1 -0
- package/dist/{ProductsPage-CupVmOD4-D45a_hf-.js → ProductsPage-BI22nPb4-CQBjnc-n.js} +44 -43
- package/dist/ProductsPage-BI22nPb4-CQBjnc-n.js.map +1 -0
- package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js +724 -0
- package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js.map +1 -0
- package/dist/{PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js → PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js} +428 -418
- package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js.map +1 -0
- package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js} +65 -65
- package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js.map} +1 -1
- package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js → PurchasesPage-Djl1AqD_-DXeYFMrX.js} +55 -55
- package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js.map → PurchasesPage-Djl1AqD_-DXeYFMrX.js.map} +1 -1
- package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
- package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
- package/dist/Roles-BoNGJhtR.js +19 -0
- package/dist/Roles-BoNGJhtR.js.map +1 -0
- package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js → SaleCreatePage-DHBLmlBr-BlgjVsq6.js} +39 -39
- package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map → SaleCreatePage-DHBLmlBr-BlgjVsq6.js.map} +1 -1
- package/dist/{SalesPage-D18DCseD-BxktGDRQ.js → SalesPage-eF9Yr42z-BQ9FlXC3.js} +61 -61
- package/dist/{SalesPage-D18DCseD-BxktGDRQ.js.map → SalesPage-eF9Yr42z-BQ9FlXC3.js.map} +1 -1
- package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js +741 -0
- package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js.map +1 -0
- package/dist/{ShowFlywayQuery-D1y_4A1u.js → ShowFlywayQuery-DIOUdYfG.js} +26 -19
- package/dist/{ShowFlywayQuery-D1y_4A1u.js.map → ShowFlywayQuery-DIOUdYfG.js.map} +1 -1
- package/dist/{StorageUnitsPage-7EqwuMOI-BwUso1Th.js → StorageUnitsPage-CTEVuemZ-B4osG74N.js} +253 -223
- package/dist/StorageUnitsPage-CTEVuemZ-B4osG74N.js.map +1 -0
- package/dist/{SubMenu-eEDhZUvh.js → SubMenu-OO2zhKiu.js} +5 -3
- package/dist/SubMenu-OO2zhKiu.js.map +1 -0
- package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
- package/dist/TableDetails-Cc40dEUs.js.map +1 -0
- package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
- package/dist/TableList-B5tX4wII.js.map +1 -0
- package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js → TransactionsPage-Zuu7sjID-B-ACzvd1.js} +195 -180
- package/dist/TransactionsPage-Zuu7sjID-B-ACzvd1.js.map +1 -0
- package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js +635 -0
- package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js.map +1 -0
- package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js +600 -0
- package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js.map +1 -0
- package/dist/TypeConfiguration-EaFiOzRE.js +114 -0
- package/dist/TypeConfiguration-EaFiOzRE.js.map +1 -0
- package/dist/UserList-Cf5B-o_1.js +1904 -0
- package/dist/UserList-Cf5B-o_1.js.map +1 -0
- package/dist/Users-MC7txo1V.js +43 -0
- package/dist/{Users-Bpc4Sazd.js.map → Users-MC7txo1V.js.map} +1 -1
- package/dist/VaccineEducation-T_UE57Ef.js +231 -0
- package/dist/VaccineEducation-T_UE57Ef.js.map +1 -0
- package/dist/VaccineEducation.css +1 -0
- package/dist/VaccineEducationConfigurator-CWc20_rv.js +50948 -0
- package/dist/VaccineEducationConfigurator-CWc20_rv.js.map +1 -0
- package/dist/VaccineEducationConfigurator.css +4 -0
- package/dist/VaccineEducationList-Ok7_5EFb.js +334 -0
- package/dist/VaccineEducationList-Ok7_5EFb.js.map +1 -0
- package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js +457 -0
- package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js.map +1 -0
- package/dist/{constants-ClZJY2x1-MkSWn6TZ.js → constants-BTpJFQe_-CYPZIqQF.js} +166 -56
- package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
- package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
- package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
- package/dist/index-mfoqII2U.js +524 -0
- package/dist/index-mfoqII2U.js.map +1 -0
- package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
- package/dist/index-o8Pyt1Bt.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.lib-BySa9-Z-.js +936 -0
- package/dist/index.lib-BySa9-Z-.js.map +1 -0
- package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js +43 -0
- package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js.map +1 -0
- package/package.json +5 -1
- package/dist/AccessRights-xrday-L1.js.map +0 -1
- package/dist/AddMenuConfiguration-e5BVXhmw.js +0 -8547
- package/dist/AddMenuConfiguration-e5BVXhmw.js.map +0 -1
- package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +0 -1
- package/dist/ConditionConfig-Ddz9halE.js +0 -395
- package/dist/ConditionConfig-Ddz9halE.js.map +0 -1
- package/dist/ConditionConfig.css +0 -1
- package/dist/EntityManagement-CPQL6qBj.js +0 -50
- package/dist/EntityManagement-CPQL6qBj.js.map +0 -1
- package/dist/EventConfig-BmLemzX3.js +0 -26
- package/dist/EventConfigurations-Bzh1qWXU.js +0 -450
- package/dist/EventConfigurations-Bzh1qWXU.js.map +0 -1
- package/dist/EventsExceptionModal-B2SRrnB1.js +0 -200
- package/dist/EventsExceptionModal-B2SRrnB1.js.map +0 -1
- package/dist/EventsSkeleton-BIcPks4T.js +0 -61
- package/dist/EventsSkeleton-BIcPks4T.js.map +0 -1
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +0 -79
- package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +0 -1
- package/dist/FeatureMenu-DYJmDt7q.js.map +0 -1
- package/dist/GrantPermissionModal-BDN66Atn.js.map +0 -1
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +0 -7639
- package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +0 -1
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +0 -665
- package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +0 -1
- package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
- package/dist/ManageEventConfiguration-CoYcpjR9.js +0 -1085
- package/dist/ManageEventConfiguration-CoYcpjR9.js.map +0 -1
- package/dist/ManageRole-CNZBRKGU.js +0 -776
- package/dist/ManageRole-CNZBRKGU.js.map +0 -1
- package/dist/MobileAnalytics-pQoE8cG1.js +0 -16888
- package/dist/MobileAnalytics-pQoE8cG1.js.map +0 -1
- package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
- package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
- package/dist/MobileTypeEventConfigModal-BeveaX0C.js +0 -783
- package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +0 -1
- package/dist/NewServerManagement-Cxe0dV0O.js.map +0 -1
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js +0 -2046
- package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +0 -1
- package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +0 -783
- package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +0 -1
- package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +0 -1
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +0 -599
- package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +0 -1
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +0 -1302
- package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +0 -1
- package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +0 -1
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +0 -648
- package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +0 -1
- package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +0 -1
- package/dist/Roles-BIyiic67.js +0 -14
- package/dist/Roles-BIyiic67.js.map +0 -1
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +0 -747
- package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +0 -1
- package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +0 -1
- package/dist/SubMenu-eEDhZUvh.js.map +0 -1
- package/dist/TableDetails-BtafRxXb.js.map +0 -1
- package/dist/TableList-Dpo6dO7S.js.map +0 -1
- package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +0 -1
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +0 -315
- package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +0 -1
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +0 -476
- package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +0 -1
- package/dist/TypeConfiguration-3O6ABrK-.js +0 -117
- package/dist/TypeConfiguration-3O6ABrK-.js.map +0 -1
- package/dist/UserList-DgPxsnj2.js +0 -1129
- package/dist/UserList-DgPxsnj2.js.map +0 -1
- package/dist/Users-Bpc4Sazd.js +0 -41
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +0 -321
- package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +0 -1
- package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +0 -1
- package/dist/dashboardLayoutUtils-D1xCAxp3.js +0 -405
- package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
- package/dist/index-D9YNFPn9.js.map +0 -1
- package/dist/index.lib-Dn8PMkeD.js +0 -862
- package/dist/index.lib-Dn8PMkeD.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableList-B5tX4wII.js","sources":["../src/views/Mobile/EntityManagement/ImportSummaryDialog.jsx","../src/views/Mobile/EntityManagement/TableList.jsx"],"sourcesContent":["import Editor from \"@monaco-editor/react\";\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Alert,\n Box,\n Button,\n Chip,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Typography,\n} from \"@mui/material\";\nimport PropTypes from \"prop-types\";\nimport React, { useState } from \"react\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\n\nconst STATUS_CONFIG = {\n NEW_TABLE: { label: \"New Table\", color: \"success\" },\n MODIFIED: { label: \"Modified\", color: \"warning\" },\n SYNC_REQUIRED: { label: \"Sync Required\", color: \"info\" },\n NO_CHANGES: { label: \"No Changes\", color: \"default\" },\n};\n\nfunction ChangeSummaryChips({ changes, status }) {\n const chips = [];\n if (status === \"NEW_TABLE\") {\n chips.push(\n <Chip\n key=\"new\"\n size=\"small\"\n label={`${changes.addedColumns?.length || 0} columns`}\n color=\"success\"\n variant=\"outlined\"\n />,\n );\n } else {\n if (changes.addedColumns?.length)\n chips.push(\n <Chip\n key=\"add\"\n size=\"small\"\n label={`+${changes.addedColumns.length} cols`}\n color=\"success\"\n variant=\"outlined\"\n />,\n );\n if (changes.removedColumns?.length)\n chips.push(\n <Chip\n key=\"rem\"\n size=\"small\"\n label={`-${changes.removedColumns.length} cols`}\n color=\"error\"\n variant=\"outlined\"\n />,\n );\n if (changes.typeChangedColumns?.length)\n chips.push(\n <Chip\n key=\"type\"\n size=\"small\"\n label={`${changes.typeChangedColumns.length} types`}\n color=\"warning\"\n variant=\"outlined\"\n />,\n );\n if (changes.primaryKeyChange)\n chips.push(\n <Chip\n key=\"pk\"\n size=\"small\"\n label=\"PK changed\"\n color=\"warning\"\n variant=\"outlined\"\n />,\n );\n if (changes.settingsChanges?.length)\n chips.push(\n <Chip\n key=\"set\"\n size=\"small\"\n label={`${changes.settingsChanges.length} settings`}\n color=\"info\"\n variant=\"outlined\"\n />,\n );\n if (!chips.length)\n chips.push(\n <Typography key=\"none\" variant=\"caption\" color=\"text.secondary\">\n —\n </Typography>,\n );\n }\n return (\n <Box sx={{ display: \"flex\", gap: 0.5, flexWrap: \"wrap\" }}>{chips}</Box>\n );\n}\n\nfunction TableDiffDetail({ item }) {\n const { tableName, status, changes } = item;\n\n return (\n <Box sx={{ p: 1.5 }}>\n {status === \"NEW_TABLE\" && (\n <Alert severity=\"success\" sx={{ mb: 1.5, py: 0.5 }}>\n This table does not exist in the database. A{\" \"}\n <strong>CREATE TABLE</strong> migration script will be generated.\n </Alert>\n )}\n {(changes.addedColumns?.length > 0 ||\n changes.removedColumns?.length > 0 ||\n changes.typeChangedColumns?.length > 0 ||\n changes.primaryKeyChange) &&\n status !== \"NEW_TABLE\" && (\n <Alert severity=\"warning\" sx={{ mb: 1.5, py: 0.5 }}>\n SQLite does not support all ALTER TABLE operations. A{\" \"}\n <strong>rebuild migration</strong> (dummy table copy) will be\n generated.\n </Alert>\n )}\n\n {/* Columns diff */}\n {(changes.addedColumns?.length > 0 ||\n changes.removedColumns?.length > 0 ||\n changes.typeChangedColumns?.length > 0) && (\n <TableContainer\n sx={{\n mb: 1.5,\n border: \"1px solid\",\n borderColor: \"divider\",\n borderRadius: 1,\n }}\n >\n <Table size=\"small\">\n <TableHead>\n <TableRow sx={{ backgroundColor: \"action.hover\" }}>\n <TableCell sx={{ fontWeight: 700, fontSize: \"0.75rem\" }}>\n Column\n </TableCell>\n <TableCell sx={{ fontWeight: 700, fontSize: \"0.75rem\" }}>\n Type\n </TableCell>\n <TableCell sx={{ fontWeight: 700, fontSize: \"0.75rem\" }}>\n Change\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {(changes.addedColumns || []).map((col) => (\n <TableRow\n key={`add-${col.name}`}\n sx={{ backgroundColor: \"rgba(76,175,80,0.08)\" }}\n >\n <TableCell\n sx={{ fontSize: \"0.75rem\", fontFamily: \"monospace\" }}\n >\n {col.name}\n </TableCell>\n <TableCell sx={{ fontSize: \"0.75rem\" }}>{col.type}</TableCell>\n <TableCell>\n <Chip size=\"small\" label=\"Added\" color=\"success\" />\n </TableCell>\n </TableRow>\n ))}\n {(changes.removedColumns || []).map((col) => (\n <TableRow\n key={`rem-${col.name}`}\n sx={{ backgroundColor: \"rgba(244,67,54,0.08)\" }}\n >\n <TableCell\n sx={{\n fontSize: \"0.75rem\",\n fontFamily: \"monospace\",\n textDecoration: \"line-through\",\n color: \"error.main\",\n }}\n >\n {col.name}\n </TableCell>\n <TableCell\n sx={{\n fontSize: \"0.75rem\",\n textDecoration: \"line-through\",\n color: \"error.main\",\n }}\n >\n {col.type}\n </TableCell>\n <TableCell>\n <Chip size=\"small\" label=\"Removed\" color=\"error\" />\n </TableCell>\n </TableRow>\n ))}\n {(changes.typeChangedColumns || []).map((col) => (\n <TableRow\n key={`type-${col.name}`}\n sx={{ backgroundColor: \"rgba(255,152,0,0.08)\" }}\n >\n <TableCell\n sx={{ fontSize: \"0.75rem\", fontFamily: \"monospace\" }}\n >\n {col.name}\n </TableCell>\n <TableCell sx={{ fontSize: \"0.75rem\" }}>\n <span\n style={{\n textDecoration: \"line-through\",\n color: \"var(--mui-palette-error-main)\",\n marginRight: \"8px\",\n }}\n >\n {col.oldType}\n </span>\n <span>{col.newType}</span>\n </TableCell>\n <TableCell>\n <Chip size=\"small\" label=\"Type Changed\" color=\"warning\" />\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n )}\n\n {/* PK change */}\n {changes.primaryKeyChange && (\n <Box\n sx={{\n mb: 1.5,\n p: 1,\n backgroundColor: \"warning.50\",\n borderRadius: 1,\n border: \"1px solid\",\n borderColor: \"warning.200\",\n }}\n >\n <Typography\n variant=\"caption\"\n sx={{ fontWeight: 700, color: \"warning.dark\" }}\n >\n Primary Key Change:\n </Typography>\n <Typography variant=\"caption\" sx={{ ml: 1 }}>\n <code>{changes.primaryKeyChange.from}</code>\n {\" → \"}\n <code>{changes.primaryKeyChange.to}</code>\n </Typography>\n </Box>\n )}\n\n {/* Settings changes */}\n {changes.settingsChanges?.length > 0 && (\n <Box sx={{ mb: 1.5 }}>\n <Typography\n variant=\"caption\"\n sx={{ fontWeight: 700, display: \"block\", mb: 0.5 }}\n >\n Settings Changes:\n </Typography>\n {changes.settingsChanges.map((s, i) => (\n <Box\n key={i}\n sx={{ display: \"flex\", alignItems: \"center\", gap: 1, mb: 0.25 }}\n >\n <Typography\n variant=\"caption\"\n sx={{ color: \"text.secondary\", minWidth: 120 }}\n >\n {s.field}:\n </Typography>\n <Typography variant=\"caption\">\n <code>{String(s.from)}</code> → <code>{String(s.to)}</code>\n </Typography>\n </Box>\n ))}\n </Box>\n )}\n\n </Box>\n );\n}\n\nexport default function ImportSummaryDialog({\n open,\n onClose,\n summaryData,\n onApply,\n applying,\n migrationVersions,\n unifiedMigrationScript,\n onUnifiedScriptChange,\n}) {\n const [unifiedScriptExpanded, setUnifiedScriptExpanded] = useState(true);\n const affectedCount = summaryData.filter(\n (d) => d.status !== \"NO_CHANGES\",\n ).length;\n\n return (\n <Dialog\n open={open}\n onClose={onClose}\n maxWidth=\"md\"\n fullWidth\n PaperProps={{ sx: { borderRadius: 1.5 } }}\n >\n <DialogTitle sx={{ pb: 1, fontWeight: 700 }}>\n Import Summary\n <Typography variant=\"body2\" color=\"text.secondary\">\n {affectedCount} table(s) will be affected · {summaryData.length} total\n in file\n </Typography>\n </DialogTitle>\n <Divider />\n <DialogContent sx={{ p: 0 }}>\n <TableContainer>\n <Table>\n <TableHead>\n <TableRow sx={{ backgroundColor: \"action.hover\" }}>\n <TableCell sx={{ fontWeight: 700, pl: 3 }}>\n Table Name\n </TableCell>\n <TableCell sx={{ fontWeight: 700 }}>Status</TableCell>\n <TableCell sx={{ fontWeight: 700 }}>Changes</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {summaryData.map((item) => {\n const cfg =\n STATUS_CONFIG[item.status] || STATUS_CONFIG.NO_CHANGES;\n return (\n <React.Fragment key={item.tableName}>\n <TableRow\n sx={{\n \"& > *\": {\n borderBottom:\n item.status !== \"NO_CHANGES\" ? \"none\" : undefined,\n },\n }}\n >\n <TableCell\n sx={{\n fontFamily: \"monospace\",\n fontSize: \"0.82rem\",\n pl: 3,\n }}\n >\n {item.tableName}\n </TableCell>\n <TableCell>\n <Chip\n label={cfg.label}\n color={cfg.color}\n size=\"small\"\n sx={{ fontWeight: 600 }}\n />\n </TableCell>\n <TableCell>\n <ChangeSummaryChips\n changes={item.changes}\n status={item.status}\n />\n </TableCell>\n </TableRow>\n {item.status !== \"NO_CHANGES\" && (\n <TableRow>\n <TableCell\n colSpan={3}\n sx={{\n pt: 0,\n pb: 0.5,\n px: 2,\n backgroundColor: \"action.hover\",\n }}\n >\n <TableDiffDetail\n item={item}\n />\n </TableCell>\n </TableRow>\n )}\n </React.Fragment>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n\n {/* Unified Migration Script Preview Section */}\n {unifiedMigrationScript && (\n <Box sx={{ p: 3, borderTop: \"1px solid\", borderColor: \"divider\" }}>\n <Accordion\n expanded={unifiedScriptExpanded}\n onChange={() => setUnifiedScriptExpanded((p) => !p)}\n sx={{\n boxShadow: \"none\",\n border: \"1px solid\",\n borderColor: \"divider\",\n borderRadius: \"4px !important\",\n }}\n >\n <AccordionSummary\n expandIcon={\n <FontAwesomeIcons\n iconName=\"faChevronDown\"\n className=\"text-[0.75rem]\"\n />\n }\n >\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n width: \"100%\",\n pr: 2,\n }}\n >\n <Typography variant=\"caption\" sx={{ fontWeight: 700 }}>\n <FontAwesomeIcons\n iconName=\"faCode\"\n className=\"mr-2 text-[0.7rem]\"\n />\n Preview Unified Migration Script\n </Typography>\n {migrationVersions && migrationVersions.from_version !== undefined && (\n <Typography\n variant=\"caption\"\n sx={{ color: \"text.secondary\", fontWeight: 600 }}\n >\n From : <strong>v{migrationVersions.from_version + 1}</strong>\n <FontAwesomeIcons\n iconName=\"faArrowRight\"\n className=\"mx-2 text-[0.6rem]\"\n />\n To : <strong>v{migrationVersions.to_version + 1}</strong>\n </Typography>\n )}\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ p: 0 }}>\n <Editor\n height=\"300px\"\n defaultLanguage=\"sql\"\n theme=\"vs-dark\"\n options={{\n fontSize: 12,\n minimap: { enabled: false },\n readOnly: false,\n scrollBeyondLastLine: false,\n wordWrap: \"on\",\n }}\n value={unifiedMigrationScript}\n onChange={onUnifiedScriptChange}\n />\n </AccordionDetails>\n </Accordion>\n </Box>\n )}\n </DialogContent>\n <Divider />\n <DialogActions sx={{ px: 3, py: 2, gap: 1 }}>\n <Button\n onClick={onClose}\n variant=\"outlined\"\n size=\"small\"\n sx={{ borderRadius: 2, textTransform: \"none\" }}\n disabled={applying}\n >\n Cancel\n </Button>\n <Button\n variant=\"contained\"\n size=\"small\"\n disabled={affectedCount === 0 || applying}\n onClick={onApply}\n sx={{ borderRadius: 2, textTransform: \"none\", boxShadow: \"none\" }}\n startIcon={applying ? null : <FontAwesomeIcons iconName=\"faCheck\" />}\n >\n {applying ? \"Applying…\" : `Apply Import (${affectedCount})`}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nImportSummaryDialog.propTypes = {\n open: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n summaryData: PropTypes.array.isRequired,\n onApply: PropTypes.func.isRequired,\n applying: PropTypes.bool,\n migrationVersions: PropTypes.object,\n unifiedMigrationScript: PropTypes.string,\n onUnifiedScriptChange: PropTypes.func.isRequired,\n};\n\nTableDiffDetail.propTypes = {\n item: PropTypes.object,\n};\nChangeSummaryChips.propTypes = {\n changes: PropTypes.object,\n status: PropTypes.string,\n};\n","import { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\nimport { execute, executeAll } from \"@/common/services/QueryBuilder\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport Editor from \"@monaco-editor/react\";\nimport ImportSummaryDialog from \"./ImportSummaryDialog\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport GeneralUtil from \"@/common/services/util/GeneralUtil\";\nimport {\n Alert,\n Autocomplete,\n Box,\n Button,\n Checkbox,\n Chip,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n IconButton,\n InputAdornment,\n List,\n ListItem,\n ListItemButton,\n ListItemText,\n Modal,\n Paper,\n TextField,\n Tooltip,\n Typography,\n} from \"@mui/material\";\nimport Grid from \"@mui/material/Grid2\";\nimport PropTypes from \"prop-types\";\nimport React, { lazy, Suspense, useEffect, useRef, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useSelector } from \"react-redux\";\nconst TableDetails = lazy(() => import(\"./TableDetails\"));\n\nexport default function TableList({\n tableList,\n tablesInfo,\n allTableList,\n allTablesInfo,\n formSubmitted,\n reloadComponents,\n rights,\n}) {\n const canUpdate = GeneralUtil.hasCheckRights(rights?.['update.admin.mobileEntityManagement']);\n const canDelete = GeneralUtil.hasCheckRights(rights?.['delete.admin.mobileEntityManagement']);\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [selectedTable, setSelectedTable] = useState(\"\");\n const [syncedTableInfo, setSyncedTableInfo] = useState({});\n const [tableInfo, setTableInfo] = useState({});\n const [allTableInfo, setAllTableInfo] = useState({});\n const [tableCompleteInfo, setTableCompleteInfo] = useState({});\n const filteredList = tableList\n ? tableList.filter((tableName) =>\n tableName.toLowerCase().includes(searchQuery.toLowerCase()),\n )\n : [];\n const [editMode, setEditMode] = useState(false);\n const [modalOpen, setModalOpen] = useState(false);\n const [tableForModal, setTableForModal] = useState();\n const [isCreateTableMode, setIsCreateTableMode] = useState(false);\n const [isSyncTableMode, setIsSyncTableMode] = useState(false);\n const [openDeleteModal, setOpenDeleteModal] = useState(false);\n const { translate } = useTranslateProvider();\n const loggedInUser = useSelector((state) => state.Authenticate.user.id);\n\n // ── Export state ──────────────────────────────────────────────────────\n const [isExportMode, setIsExportMode] = useState(false);\n const [selectedForExport, setSelectedForExport] = useState(new Set());\n\n // ── Import state ──────────────────────────────────────────────────────\n const importFileRef = useRef(null);\n const [importSummaryOpen, setImportSummaryOpen] = useState(false);\n const [importSummaryData, setImportSummaryData] = useState([]);\n const [importApplying, setImportApplying] = useState(false);\n const [importMigrationVersions, setImportMigrationVersions] = useState({});\n const [unifiedMigrationScript, setUnifiedMigrationScript] = useState(\"\");\n\n const {\n formState: {},\n } = useForm({\n defaultValues: {\n field1: \"\",\n field2: \"\",\n field3: \"\",\n },\n });\n\n useEffect(() => {\n let info1 = {};\n let info2 = {};\n setSelectedTable(tableList[0]);\n info1 = createTableObject(tablesInfo);\n setSyncedTableInfo((syncedTableInfo) => ({ ...syncedTableInfo, ...info1 }));\n info2 = createTableObject(allTablesInfo);\n setAllTableInfo((allTableInfo) => ({ ...allTableInfo, ...info2 }));\n }, [tablesInfo, allTablesInfo]);\n\n useEffect(() => {\n setTableInfo(() => syncedTableInfo[tableList[0]]);\n setTableCompleteInfo(() => allTableInfo[tableList[0]]);\n }, [syncedTableInfo, allTableInfo]);\n\n const mapToSQLiteType = (sqlType) => {\n const type = sqlType.toLowerCase();\n if (\n type.includes(\"int\") ||\n type.includes(\"timestamp\") ||\n type === \"boolean\" ||\n type.includes(\"serial\") ||\n type.includes(\"date\")\n ) {\n return \"INTEGER\";\n } else if (\n type.includes(\"char\") ||\n type.includes(\"text\") ||\n type.includes(\"varchar\")\n ) {\n return \"TEXT\";\n }\n return \"TEXT\";\n };\n\n const createTableObject = (tbInfo) => {\n const info = {};\n tbInfo.forEach((item) => {\n const parsedColumns = JSON.parse(item.columnInfo);\n const columnArray = Object.keys(parsedColumns).map((columnName) => ({\n name: columnName,\n type: mapToSQLiteType(parsedColumns[columnName]),\n }));\n\n const media = item.mediaConfiguration\n ? JSON.parse(item.mediaConfiguration)\n : null;\n info[item.tableName] = {\n columnInfo: columnArray,\n modifiedOnQuery: item.modifiedOnQuery ? item.modifiedOnQuery : null,\n primaryKey: item.primaryKey ? item.primaryKey : null,\n selectQuery: item.selectQuery ? item.selectQuery : null,\n userData: item.userData !== undefined ? item.userData : null,\n hasMedia: item.hasMedia !== undefined ? item.hasMedia : null,\n mediaConfiguration: media,\n syncByDefault: item.syncByDefault ? item.syncByDefault : false,\n };\n });\n return info;\n };\n\n const handleAddTable = () => {\n setIsCreateTableMode(false);\n setModalOpen(true);\n setTableForModal();\n };\n\n const handleCreateTable = () => {\n setEditMode(false);\n setIsCreateTableMode(true);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n };\n\n const handleTableSelect = () => {\n if (tableForModal) {\n const tableInfo = { ...allTableInfo[tableForModal] };\n if (tableInfo) {\n tableInfo.columnInfo = [];\n }\n setSelectedTable(tableForModal);\n setTableInfo(() => tableInfo);\n setTableCompleteInfo(() => allTableInfo[tableForModal]);\n setIsSyncTableMode(true);\n setIsCreateTableMode(false);\n setEditMode(true);\n }\n setModalOpen(false);\n setTableForModal(() => \"\");\n };\n\n const onTableChange = (tableName) => {\n setSelectedTable(tableName);\n setTableInfo(() => syncedTableInfo[tableName]);\n setTableCompleteInfo(() => allTableInfo[tableName]);\n setEditMode(false);\n setIsCreateTableMode(false);\n setIsSyncTableMode(false);\n };\n\n // ── Export helpers ──────────────────────────────────────────────────────\n const handleExportDownload = () => {\n if (selectedForExport.size === 0) return;\n const tables = {};\n selectedForExport.forEach((name) => {\n if (syncedTableInfo[name]) tables[name] = syncedTableInfo[name];\n });\n const json = JSON.stringify(\n { exportedAt: new Date().toISOString(), tables },\n null,\n 2,\n );\n const blob = new Blob([json], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = `db_export_${Date.now()}.json`;\n a.click();\n URL.revokeObjectURL(url);\n setIsExportMode(false);\n setSelectedForExport(new Set());\n showToast({\n message: `Exported ${selectedForExport.size} table(s) successfully.`,\n type: \"success\",\n });\n };\n\n // ── Migration script generators ─────────────────────────────────────────\n const generateCreateTableScript = (tableName, tableData) => {\n const cols = tableData.columnInfo || [];\n let s = `CREATE TABLE ${tableName} (\\n`;\n s += cols.map((c) => ` ${c.name} ${c.type}`).join(\",\\n\");\n if (tableData.primaryKey)\n s += `,\\n CONSTRAINT ${tableName}_pkey PRIMARY KEY (${tableData.primaryKey})`;\n s += \"\\n);\";\n return s;\n };\n\n const generateRebuildScript = (tableName, existingTable, importedTable) => {\n const newCols = importedTable.columnInfo || [];\n const existingCols = existingTable.columnInfo || [];\n const newColNames = new Set(newCols.map((c) => c.name));\n const commonCols = existingCols\n .filter((c) => newColNames.has(c.name))\n .map((c) => c.name);\n const colList = commonCols.join(\", \");\n const pk = importedTable.primaryKey;\n const colDefs = newCols.map((c) => ` ${c.name} ${c.type}`).join(\",\\n\");\n const pkLine = pk\n ? `,\\n CONSTRAINT ${tableName}_dummy_pkey PRIMARY KEY (${pk})`\n : \"\";\n const pkLine2 = pk\n ? `,\\n CONSTRAINT ${tableName}_pkey PRIMARY KEY (${pk})`\n : \"\";\n return [\n `CREATE TABLE ${tableName}_dummy (\\n${colDefs}${pkLine}\\n);`,\n colList\n ? `INSERT INTO ${tableName}_dummy (${colList})\\nSELECT ${colList} FROM ${tableName};`\n : \"\",\n `DROP TABLE ${tableName};`,\n `CREATE TABLE ${tableName} (\\n${colDefs}${pkLine2}\\n);`,\n colList\n ? `INSERT INTO ${tableName} (${colList})\\nSELECT ${colList} FROM ${tableName}_dummy;`\n : \"\",\n `DROP TABLE ${tableName}_dummy;`,\n ]\n .filter(Boolean)\n .join(\"\\n\\n\");\n };\n\n const normalizeQuery = (query) => (query || \"\").replace(/\\s+/g, \" \").trim();\n\n // ── Import diff computation ─────────────────────────────────────────────\n const computeImportDiff = (importedData) => {\n const tables = importedData.tables || {};\n return Object.entries(tables).map(([tableName, importedTable]) => {\n const existingSynced = syncedTableInfo[tableName];\n const refTable = existingSynced;\n const changes = {\n addedColumns: [],\n removedColumns: [],\n typeChangedColumns: [],\n primaryKeyChange: null,\n settingsChanges: [],\n };\n let status = \"NO_CHANGES\";\n\n if (!existingSynced) {\n status = \"NEW_TABLE\";\n changes.addedColumns = importedTable.columnInfo || [];\n } else {\n const importedCols = new Map(\n (importedTable.columnInfo || []).map((c) => [c.name, c.type]),\n );\n const refCols = new Map(\n (refTable.columnInfo || []).map((c) => [c.name, c.type]),\n );\n changes.addedColumns = (importedTable.columnInfo || []).filter(\n (c) => !refCols.has(c.name),\n );\n changes.removedColumns = (refTable.columnInfo || []).filter(\n (c) => !importedCols.has(c.name),\n );\n changes.typeChangedColumns = (importedTable.columnInfo || [])\n .filter((c) => refCols.has(c.name) && refCols.get(c.name) !== c.type)\n .map((c) => ({\n name: c.name,\n oldType: refCols.get(c.name),\n newType: c.type,\n }));\n changes.primaryKeyChange =\n importedTable.primaryKey !== refTable.primaryKey\n ? {\n from: refTable.primaryKey || \"(none)\",\n to: importedTable.primaryKey || \"(none)\",\n }\n : null;\n\n if (existingSynced) {\n const sc = [];\n [\n [\"syncByDefault\", \"Sync by Default\"],\n [\"userData\", \"User Data\"],\n [\"hasMedia\", \"Has Media\"],\n ].forEach(([k, l]) => {\n if (String(importedTable[k]) !== String(existingSynced[k]))\n sc.push({\n field: l,\n from: existingSynced[k],\n to: importedTable[k],\n });\n });\n if (\n normalizeQuery(importedTable.modifiedOnQuery) !==\n normalizeQuery(existingSynced.modifiedOnQuery)\n ) {\n sc.push({\n field: \"Modified On Query\",\n from: \"(changed)\",\n to: \"(changed)\",\n });\n }\n if (\n normalizeQuery(importedTable.selectQuery) !==\n normalizeQuery(existingSynced.selectQuery)\n ) {\n sc.push({\n field: \"Data Fetch Query\",\n from: \"(changed)\",\n to: \"(changed)\",\n });\n }\n changes.settingsChanges = sc;\n }\n\n const hasSchema =\n changes.addedColumns.length > 0 ||\n changes.removedColumns.length > 0 ||\n changes.typeChangedColumns.length > 0 ||\n changes.primaryKeyChange;\n const hasMeta = changes.settingsChanges.length > 0;\n status = hasSchema || hasMeta ? \"MODIFIED\" : \"NO_CHANGES\";\n }\n\n let migrationScript = \"\";\n if (status === \"NEW_TABLE\") {\n migrationScript = generateCreateTableScript(tableName, importedTable);\n } else if (\n status !== \"NO_CHANGES\" &&\n (changes.addedColumns.length > 0 ||\n changes.removedColumns.length > 0 ||\n changes.typeChangedColumns.length > 0 ||\n changes.primaryKeyChange)\n ) {\n migrationScript = generateRebuildScript(\n tableName,\n refTable,\n importedTable,\n );\n }\n\n return {\n tableName,\n status,\n changes,\n importedTable,\n existingTable: refTable,\n migrationScript,\n };\n });\n };\n\n const generateUnifiedScript = (diffData) => {\n let combinedScript = \"\";\n const toProcess = diffData.filter((d) => d.status !== \"NO_CHANGES\");\n toProcess.forEach((item) => {\n if (item.migrationScript) {\n combinedScript += item.migrationScript.trim() + \"\\n\\n\";\n }\n });\n return combinedScript;\n };\n\n // ── Import file read ────────────────────────────────────────────────────\n const handleImportFileChange = (e) => {\n const file = e.target.files?.[0];\n if (!file) return;\n const reader = new FileReader();\n reader.onload = (ev) => {\n try {\n const parsed = JSON.parse(ev.target.result);\n if (!parsed.tables)\n throw new Error(\"Invalid format: missing 'tables' key.\");\n const diff = computeImportDiff(parsed);\n setImportSummaryData(diff);\n const unified = generateUnifiedScript(diff);\n setUnifiedMigrationScript(unified);\n\n execute({ code: \"MFA_MIGRATION_MASTER_GET_LATEST_VERSIONS\" })\n .then((res) => {\n setImportMigrationVersions(res?.data?.result?.[0] || {});\n })\n .catch(() => setImportMigrationVersions({}));\n\n setImportSummaryOpen(true);\n } catch (err) {\n showToast({ message: `Import failed: ${err.message}`, type: \"error\" });\n }\n };\n reader.readAsText(file);\n e.target.value = \"\";\n };\n\n const handleUnifiedScriptChange = (newScript) => {\n setUnifiedMigrationScript(newScript);\n };\n\n const handleApplyImport = async () => {\n const toProcess = importSummaryData.filter(\n (d) => d.status !== \"NO_CHANGES\",\n );\n if (!toProcess.length) {\n showToast({ message: \"Nothing to apply.\", type: \"info\" });\n return;\n }\n\n setImportApplying(true);\n\n const dtoList = toProcess.map((item, idx) => {\n const t = item.importedTable;\n const columns = {};\n (t.columnInfo || []).forEach((c) => {\n columns[c.name] = c.type;\n });\n\n return {\n code: \"update_mobile_entity\",\n parameters: {\n tableName: item.tableName || \"\",\n syncByDefault: !!t.syncByDefault,\n columnInfo: JSON.stringify(columns) || \"\",\n primaryKey: t.primaryKey || \"\",\n modifiedOnQuery: t.modifiedOnQuery || \"\",\n selectQuery: t.selectQuery || \"\",\n userData: !!t.userData,\n hasMedia: !!t.hasMedia,\n mediaConfiguration: t.hasMedia\n ? JSON.stringify(t.mediaConfiguration || {})\n : null,\n modifiedBy: loggedInUser || \"\",\n isUpdate: true,\n },\n sequence: idx,\n };\n });\n\n try {\n const allDataRes = (await executeAll(dtoList)).data;\n const hasError = allDataRes?.some((res) => res.status === 0);\n if (hasError) {\n const failedIndex = allDataRes.findIndex((res) => res.status === 0);\n const failedItem = toProcess[failedIndex];\n const errorMsg = allDataRes[failedIndex]?.message || \"Unknown error\";\n showToast({\n message: `Failed to save ${failedItem.tableName}: ${errorMsg}`,\n type: \"error\",\n });\n setImportApplying(false);\n return;\n }\n\n if (unifiedMigrationScript.trim()) {\n const migrationRes = (\n await execute({\n code: \"INSERT_MOBILE_MIGRATION\",\n parameters: {\n migrationScript: unifiedMigrationScript,\n modifiedBy: loggedInUser || \"\",\n generateMigration: true,\n },\n })\n ).data;\n\n if (migrationRes?.status === 0) {\n showToast({\n message: `Failed to insert migration script: ${migrationRes?.message}`,\n type: \"error\",\n });\n }\n }\n\n setImportApplying(false);\n setImportSummaryOpen(false);\n reloadComponents((p) => !p);\n showToast({ message: \"Import applied successfully!\", type: \"success\" });\n } catch (err) {\n showToast({\n message: `Failed to apply import: ${err}`,\n type: \"error\",\n });\n setImportApplying(false);\n }\n };\n\n return (\n <>\n {/* ── Main Container with Paper wrapper (matching ManageAllForms) ── */}\n <Paper\n elevation={0}\n sx={{\n p: { xs: 2.5, md: 3 },\n mt: 2,\n mb: 3,\n border: \"1px solid\",\n borderColor: \"divider\",\n borderRadius: 1.5,\n backgroundColor: \"background.paper\",\n }}\n >\n {/* ── Header Section ── */}\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 3 }}>\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n flexWrap: \"wrap\",\n gap: 2,\n }}\n >\n <Box sx={{ minWidth: { xs: \"100%\", lg: \"40%\" } }}>\n <Typography\n variant=\"h5\"\n sx={{ fontWeight: 800, color: \"text.primary\", mb: 0.5 }}\n >\n {translate(\"Database Management\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Manage synced tables, create new entities, and configure mobile\n database schemas.\n </Typography>\n </Box>\n\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1.5,\n flexWrap: \"wrap\",\n }}\n >\n {/* Hidden file input for import */}\n <input\n type=\"file\"\n accept=\".json\"\n ref={importFileRef}\n style={{ display: \"none\" }}\n onChange={handleImportFileChange}\n />\n\n {/* Export button */}\n <Tooltip\n title={\n isExportMode\n ? \"Cancel export mode\"\n : \"Export selected tables as JSON\"\n }\n arrow\n >\n <Button\n variant={isExportMode ? \"contained\" : \"outlined\"}\n size=\"small\"\n color={isExportMode ? \"warning\" : \"inherit\"}\n sx={{\n borderRadius: 2,\n fontWeight: 600,\n px: 2,\n textTransform: \"none\",\n borderColor: \"divider\",\n color: isExportMode ? \"white\" : \"text.primary\",\n \"&:hover\": {\n backgroundColor: isExportMode\n ? \"warning.dark\"\n : \"action.hover\",\n borderColor: \"text.disabled\",\n },\n }}\n startIcon={\n <FontAwesomeIcons\n iconName={isExportMode ? \"faXmark\" : \"faFileExport\"}\n />\n }\n onClick={() => {\n setIsExportMode((p) => !p);\n setSelectedForExport(new Set());\n }}\n >\n {isExportMode ? \"Cancel Export\" : \"Export\"}\n </Button>\n </Tooltip>\n\n {/* Import button */}\n {canUpdate && (\n <Tooltip title=\"Import table configuration from JSON\" arrow>\n <Button\n variant=\"outlined\"\n size=\"small\"\n sx={{\n borderRadius: 2,\n fontWeight: 600,\n px: 2,\n textTransform: \"none\",\n borderColor: \"divider\",\n color: \"text.primary\",\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n borderColor: \"text.disabled\",\n },\n }}\n startIcon={<FontAwesomeIcons iconName=\"faFileImport\" />}\n onClick={() => importFileRef.current?.click()}\n >\n Import\n </Button>\n </Tooltip>\n )}\n\n {canUpdate && (\n <Button\n variant=\"outlined\"\n size=\"small\"\n sx={{\n borderRadius: 2,\n fontWeight: 600,\n px: 2,\n textTransform: \"none\",\n borderColor: \"divider\",\n color: \"text.primary\",\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n borderColor: \"text.disabled\",\n },\n }}\n startIcon={<FontAwesomeIcons iconName={\"faRotate\"} />}\n onClick={() => handleAddTable()}\n >\n Sync Table\n </Button>\n )}\n {canUpdate && (\n <Button\n size=\"small\"\n variant=\"contained\"\n sx={{\n borderRadius: 2,\n fontWeight: 600,\n px: 2,\n boxShadow: \"none\",\n textTransform: \"none\",\n }}\n startIcon={<FontAwesomeIcons iconName={\"faPlus\"} />}\n onClick={() => handleCreateTable()}\n >\n Create Table\n </Button>\n )}\n </Box>\n </Box>\n\n {/* ── Search & Stats Bar ── */}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n gap: 2,\n backgroundColor: \"action.hover\",\n p: 1.5,\n borderRadius: 1.5,\n border: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1.5 }}>\n <Chip\n label={`${tableList?.length || 0} Synced`}\n size=\"small\"\n color=\"primary\"\n variant=\"filled\"\n sx={{ fontWeight: 700, borderRadius: 2, px: 0.5 }}\n />\n <Chip\n label={`${allTableList?.length || 0} Total`}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n fontWeight: 600,\n borderRadius: 2,\n px: 0.5,\n borderColor: \"divider\",\n }}\n />\n </Box>\n\n <TextField\n value={searchQuery}\n size=\"small\"\n placeholder=\"Search synced tables...\"\n onChange={(e) => setSearchQuery(e.target.value)}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <FontAwesomeIcons iconName=\"faMagnifyingGlass\" />\n </InputAdornment>\n ),\n sx: {\n backgroundColor: \"background.paper\",\n borderRadius: 2,\n minWidth: 260,\n },\n }}\n />\n </Box>\n </Box>\n\n <Divider sx={{ my: 3 }} />\n\n {/* ── Content: List + Details Layout ── */}\n <Grid container spacing={2.5}>\n {/* ── Left Panel: Table List ── */}\n <Grid size={3}>\n <Paper\n variant=\"outlined\"\n sx={{\n borderRadius: 1.5,\n overflow: \"hidden\",\n maxHeight: \"72vh\",\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n {/* List Header */}\n <Box\n sx={{\n px: 2,\n py: 1.5,\n backgroundColor: isExportMode ? \"warning.50\" : \"action.hover\",\n borderBottom: \"1px solid\",\n borderColor: isExportMode ? \"warning.300\" : \"divider\",\n transition: \"background-color 0.2s\",\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n }}\n >\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontWeight: 700,\n color: isExportMode ? \"warning.dark\" : \"text.primary\",\n }}\n >\n {isExportMode\n ? \"Select Tables to Export\"\n : translate(\"Synced Tables\")}\n </Typography>\n {isExportMode && (\n <Tooltip\n title={\n selectedForExport.size === filteredList.length\n ? \"Deselect all\"\n : \"Select all\"\n }\n arrow\n >\n <Checkbox\n size=\"small\"\n checked={\n filteredList.length > 0 &&\n selectedForExport.size === filteredList.length\n }\n indeterminate={\n selectedForExport.size > 0 &&\n selectedForExport.size < filteredList.length\n }\n onChange={(e) => {\n if (e.target.checked)\n setSelectedForExport(new Set(filteredList));\n else setSelectedForExport(new Set());\n }}\n sx={{ p: 0.25 }}\n />\n </Tooltip>\n )}\n </Box>\n <Typography\n variant=\"caption\"\n color={isExportMode ? \"warning.dark\" : \"text.secondary\"}\n >\n {isExportMode\n ? `${selectedForExport.size} of ${filteredList.length} selected`\n : `${filteredList.length} of ${tableList?.length || 0} tables`}\n </Typography>\n </Box>\n\n {/* Table List */}\n <Box sx={{ overflowY: \"auto\", flex: 1 }}>\n {filteredList.length ? (\n <List disablePadding>\n {filteredList.map((tableName, index) => {\n const isSelected = selectedTable === tableName;\n return (\n <ListItem\n key={index + 1}\n disablePadding\n secondaryAction={\n !isExportMode && (\n <Box\n sx={{\n display: \"flex\",\n gap: 0.25,\n opacity: isSelected ? 1 : 0,\n transition: \"opacity 0.2s\",\n }}\n >\n {canUpdate && (\n <Tooltip\n title=\"Edit table\"\n arrow\n placement=\"top\"\n >\n <IconButton\n size=\"small\"\n onClick={(e) => {\n e.stopPropagation();\n onTableChange(tableName);\n setEditMode(true);\n }}\n sx={{\n color: \"primary.main\",\n \"&:hover\": {\n backgroundColor: \"primary.50\",\n },\n }}\n >\n <FontAwesomeIcons\n iconName={\"faPen\"}\n className=\"text-[0.75rem]\"\n />\n </IconButton>\n </Tooltip>\n )}\n {canDelete && (\n <Tooltip\n title=\"Delete table\"\n arrow\n placement=\"top\"\n >\n <IconButton\n size=\"small\"\n onClick={(e) => {\n e.stopPropagation();\n onTableChange(tableName);\n setOpenDeleteModal(true);\n }}\n sx={{\n color: \"error.main\",\n \"&:hover\": {\n backgroundColor: \"error.50\",\n },\n }}\n >\n <FontAwesomeIcons\n iconName={\"faTrash\"}\n className=\"text-[0.75rem]\"\n />\n </IconButton>\n </Tooltip>\n )}\n </Box>\n )\n }\n sx={{\n borderBottom:\n index === filteredList.length - 1\n ? \"none\"\n : \"1px solid\",\n borderColor: \"divider\",\n \"&:hover .MuiBox-root\": { opacity: \"1 !important\" },\n }}\n >\n <ListItemButton\n selected={isSelected && !isExportMode}\n onClick={() => {\n if (isExportMode) {\n const newSet = new Set(selectedForExport);\n if (newSet.has(tableName))\n newSet.delete(tableName);\n else newSet.add(tableName);\n setSelectedForExport(newSet);\n } else {\n onTableChange(tableName);\n }\n }}\n sx={{\n py: 1,\n px: 2,\n transition: \"all 0.15s ease\",\n ...(isExportMode\n ? {}\n : {\n \"&.Mui-selected\": {\n backgroundColor: \"primary.50\",\n borderLeft: \"3px solid\",\n borderLeftColor: \"primary.main\",\n \"&:hover\": {\n backgroundColor: \"primary.100\",\n },\n },\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n },\n }),\n }}\n >\n {isExportMode && (\n <Checkbox\n size=\"small\"\n checked={selectedForExport.has(tableName)}\n disableRipple\n sx={{ p: 0, mr: 1.5 }}\n />\n )}\n <ListItemText\n primary={\n <Typography\n variant=\"body2\"\n sx={{\n fontWeight:\n isSelected && !isExportMode ? 600 : 400,\n color:\n isSelected && !isExportMode\n ? \"primary.dark\"\n : \"text.primary\",\n fontSize: \"0.82rem\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n maxWidth: \"160px\",\n }}\n >\n {tableName}\n </Typography>\n }\n />\n </ListItemButton>\n </ListItem>\n );\n })}\n </List>\n ) : (\n <Box sx={{ p: 3, textAlign: \"center\" }}>\n <FontAwesomeIcons\n iconName=\"faInbox\"\n className=\"text-[2rem] text-gray-300\"\n />\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n sx={{ mt: 1 }}\n >\n {tableList.length < 1\n ? \"No tables synced\"\n : \"No tables match your search.\"}\n </Typography>\n </Box>\n )}\n </Box>\n\n {/* Export floating bar */}\n {isExportMode && (\n <Box\n sx={{\n p: 2,\n borderTop: \"1px solid\",\n borderColor: \"divider\",\n backgroundColor: \"background.paper\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <Typography variant=\"body2\" sx={{ fontWeight: 600 }}>\n {selectedForExport.size} selected\n </Typography>\n <Button\n variant=\"contained\"\n size=\"small\"\n color=\"primary\"\n disabled={selectedForExport.size === 0}\n onClick={handleExportDownload}\n startIcon={<FontAwesomeIcons iconName=\"faDownload\" />}\n sx={{\n textTransform: \"none\",\n borderRadius: 2,\n boxShadow: \"none\",\n }}\n >\n Download JSON\n </Button>\n </Box>\n )}\n </Paper>\n </Grid>\n\n {/* ── Right Panel: Table Details ── */}\n <Suspense>\n {((!!selectedTable && !!tableInfo) || isCreateTableMode) && (\n <TableDetails\n tableInfo={tableInfo}\n table={selectedTable}\n isEditMode={editMode}\n updateEditMode={setEditMode}\n tableCompleteInfo={tableCompleteInfo}\n formSubmitted={formSubmitted}\n reloadComponents={reloadComponents}\n isCreateTableMode={isCreateTableMode}\n isSyncTableMode={isSyncTableMode}\n updateCreateTableMode={setIsCreateTableMode}\n openDeleteModal={openDeleteModal}\n setOpenDeleteModal={setOpenDeleteModal}\n generateRebuildScript={generateRebuildScript}\n rights={rights}\n ></TableDetails>\n )}\n </Suspense>\n </Grid>\n </Paper>\n\n {/* ── Sync Table Dialog (replacing raw Modal) ── */}\n <Dialog\n open={modalOpen}\n onClose={handleModalClose}\n maxWidth=\"sm\"\n fullWidth\n PaperProps={{\n sx: { borderRadius: 1.5, p: 1 },\n }}\n >\n <DialogTitle sx={{ fontWeight: 700, pb: 1 }}>\n Sync a Table\n <Typography variant=\"body2\" color=\"text.secondary\">\n Select an existing database table to sync with the mobile app.\n </Typography>\n </DialogTitle>\n <DialogContent>\n <Autocomplete\n options={allTableList.filter((x) => {\n return !tableList.includes(x);\n })}\n getOptionLabel={(option) => option}\n value={tableForModal}\n onChange={(_, newValue) => setTableForModal(newValue)}\n renderInput={(params) => (\n <TextField\n {...params}\n label=\"Table\"\n placeholder=\"Search and select a table...\"\n size=\"small\"\n sx={{ mt: 1 }}\n />\n )}\n />\n </DialogContent>\n <DialogActions sx={{ px: 3, pb: 2 }}>\n <Button\n onClick={handleModalClose}\n variant=\"outlined\"\n size=\"small\"\n sx={{ borderRadius: 2, textTransform: \"none\" }}\n >\n Cancel\n </Button>\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={() => handleTableSelect()}\n disabled={!tableForModal}\n sx={{ borderRadius: 2, textTransform: \"none\", boxShadow: \"none\" }}\n >\n Sync Table\n </Button>\n </DialogActions>\n </Dialog>\n\n {/* ── Import Summary Dialog ── */}\n <ImportSummaryDialog\n open={importSummaryOpen}\n onClose={() => setImportSummaryOpen(false)}\n summaryData={importSummaryData}\n onApply={handleApplyImport}\n applying={importApplying}\n migrationVersions={importMigrationVersions}\n unifiedMigrationScript={unifiedMigrationScript}\n onUnifiedScriptChange={handleUnifiedScriptChange}\n />\n </>\n );\n}\n\nTableList.propTypes = {\n tableList: PropTypes.any,\n tablesInfo: PropTypes.any,\n allTableList: PropTypes.any,\n allTablesInfo: PropTypes.any,\n formSubmitted: PropTypes.bool,\n reloadComponents: PropTypes.any,\n rights: PropTypes.any,\n};\n"],"names":["STATUS_CONFIG","ChangeSummaryChips","changes","status","chips","jsx","Chip","_a","_b","_c","_d","_e","Typography","Box","TableDiffDetail","item","tableName","jsxs","Alert","_f","TableContainer","Table","TableHead","TableRow","TableCell","TableBody","col","_g","s","i","ImportSummaryDialog","open","onClose","summaryData","onApply","applying","migrationVersions","unifiedMigrationScript","onUnifiedScriptChange","unifiedScriptExpanded","setUnifiedScriptExpanded","useState","affectedCount","d","Dialog","DialogTitle","Divider","DialogContent","cfg","React","Accordion","p","AccordionSummary","FontAwesomeIcons","AccordionDetails","Editor","DialogActions","Button","PropTypes","TableDetails","lazy","TableList","tableList","tablesInfo","allTableList","allTablesInfo","formSubmitted","reloadComponents","rights","canUpdate","GeneralUtil","canDelete","searchQuery","setSearchQuery","selectedTable","setSelectedTable","syncedTableInfo","setSyncedTableInfo","tableInfo","setTableInfo","allTableInfo","setAllTableInfo","tableCompleteInfo","setTableCompleteInfo","filteredList","editMode","setEditMode","modalOpen","setModalOpen","tableForModal","setTableForModal","isCreateTableMode","setIsCreateTableMode","isSyncTableMode","setIsSyncTableMode","openDeleteModal","setOpenDeleteModal","translate","useTranslateProvider","loggedInUser","useSelector","state","isExportMode","setIsExportMode","selectedForExport","setSelectedForExport","importFileRef","useRef","importSummaryOpen","setImportSummaryOpen","importSummaryData","setImportSummaryData","importApplying","setImportApplying","importMigrationVersions","setImportMigrationVersions","setUnifiedMigrationScript","useForm","useEffect","info1","info2","createTableObject","mapToSQLiteType","sqlType","type","tbInfo","info","parsedColumns","columnArray","columnName","media","handleAddTable","handleCreateTable","handleModalClose","handleTableSelect","onTableChange","handleExportDownload","tables","name","json","blob","url","a","showToast","generateCreateTableScript","tableData","cols","c","generateRebuildScript","existingTable","importedTable","newCols","existingCols","newColNames","colList","pk","colDefs","pkLine","pkLine2","normalizeQuery","query","computeImportDiff","importedData","existingSynced","refTable","importedCols","refCols","sc","k","l","hasSchema","hasMeta","migrationScript","generateUnifiedScript","diffData","combinedScript","handleImportFileChange","e","file","reader","ev","parsed","diff","unified","execute","res","err","handleUnifiedScriptChange","newScript","handleApplyImport","toProcess","dtoList","idx","t","columns","allDataRes","executeAll","failedIndex","failedItem","errorMsg","migrationRes","Fragment","Paper","Tooltip","TextField","InputAdornment","Grid","Checkbox","List","index","isSelected","ListItem","IconButton","ListItemButton","newSet","ListItemText","Suspense","Autocomplete","x","option","_","newValue","params"],"mappings":"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"}
|