@solidxai/core-ui 0.1.12-beta.7 → 0.1.12-beta.9
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/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +19 -17
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +59 -34
- package/dist/components/common/BackendReconnectIndicator.d.ts +6 -0
- package/dist/components/common/BackendReconnectIndicator.d.ts.map +1 -0
- package/dist/components/common/BackendReconnectIndicator.js +25 -0
- package/dist/components/common/BackendReconnectIndicator.js.map +1 -0
- package/dist/components/common/BackendReconnectIndicator.tsx +45 -0
- package/dist/components/common/SettingsComponent.d.ts.map +1 -1
- package/dist/components/common/SettingsComponent.js +7 -3
- package/dist/components/common/SettingsComponent.js.map +1 -1
- package/dist/components/common/SettingsComponent.module.css +144 -12
- package/dist/components/common/SettingsComponent.tsx +22 -3
- package/dist/components/common/SolidAdmin.d.ts.map +1 -1
- package/dist/components/common/SolidAdmin.js +7 -2
- package/dist/components/common/SolidAdmin.js.map +1 -1
- package/dist/components/common/SolidAdmin.tsx +7 -2
- package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
- package/dist/components/common/SolidBreadcrumb.js +1 -6
- package/dist/components/common/SolidBreadcrumb.js.map +1 -1
- package/dist/components/common/SolidBreadcrumb.tsx +1 -8
- package/dist/components/common/SolidMaterialSymbol.d.ts +10 -0
- package/dist/components/common/SolidMaterialSymbol.d.ts.map +1 -0
- package/dist/components/common/SolidMaterialSymbol.js +69 -0
- package/dist/components/common/SolidMaterialSymbol.js.map +1 -0
- package/dist/components/common/SolidMaterialSymbol.tsx +96 -0
- package/dist/components/common/SolidToastProvider.d.ts.map +1 -1
- package/dist/components/common/SolidToastProvider.js +14 -1
- package/dist/components/common/SolidToastProvider.js.map +1 -1
- package/dist/components/common/SolidToastProvider.tsx +19 -1
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +3 -1
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +3 -2
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +14 -18
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +43 -16
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +24 -2
- package/dist/components/core/form/SolidFormFooter.js +1 -1
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +1 -1
- package/dist/components/core/form/SolidFormLayouts.js +1 -1
- package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
- package/dist/components/core/form/SolidFormLayouts.tsx +2 -2
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +120 -56
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +63 -50
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +115 -37
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +36 -35
- package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.js +54 -5
- package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.tsx +71 -7
- package/dist/components/core/form/fields/mediaFieldUtils.d.ts +3 -0
- package/dist/components/core/form/fields/mediaFieldUtils.d.ts.map +1 -0
- package/dist/components/core/form/fields/mediaFieldUtils.js +30 -0
- package/dist/components/core/form/fields/mediaFieldUtils.js.map +1 -0
- package/dist/components/core/form/fields/mediaFieldUtils.ts +45 -0
- package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +1 -1
- package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
- package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +3 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +22 -23
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +13 -7
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +16 -11
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +32 -18
- package/dist/components/core/form/fields/widgets/SolidIconViewWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js +3 -1
- package/dist/components/core/form/fields/widgets/SolidIconViewWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconViewWidget.tsx +11 -5
- package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
- package/dist/components/core/list/SolidDataTable.js +3 -2
- package/dist/components/core/list/SolidDataTable.js.map +1 -1
- package/dist/components/core/list/SolidDataTable.tsx +3 -2
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +11 -5
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +15 -8
- package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewColumn.js +1 -0
- package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
- package/dist/components/core/list/SolidListViewColumn.tsx +1 -0
- package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidShortTextColumn.js +7 -2
- package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidShortTextColumn.tsx +7 -2
- package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js +4 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +5 -2
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +2 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +2 -1
- package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js +4 -1
- package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +5 -2
- package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
- package/dist/components/core/locales/SolidLocale.js +1 -1
- package/dist/components/core/locales/SolidLocale.js.map +1 -1
- package/dist/components/core/locales/SolidLocale.tsx +1 -0
- package/dist/components/core/model/CreateModel.css +26 -0
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +21 -3
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.tsx +45 -4
- package/dist/components/core/model/FieldMetaDataForm.css +82 -0
- package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -0
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +246 -235
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +46 -34
- package/dist/components/core/model/FieldSelector.js +1 -1
- package/dist/components/core/model/FieldSelector.js.map +1 -1
- package/dist/components/core/model/FieldSelector.tsx +1 -1
- package/dist/components/core/model/ModelMetaData.js +1 -1
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.tsx +1 -1
- package/dist/components/core/module/CreateModule.css +55 -2
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +2 -2
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +3 -2
- package/dist/components/core/module/ModuleMetadataExplorer.css +27 -0
- package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.tsx +1 -0
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +6 -1
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +7 -1
- package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
- package/dist/components/layout/AdminHeaderActions.js +10 -9
- package/dist/components/layout/AdminHeaderActions.js.map +1 -1
- package/dist/components/layout/AdminHeaderActions.tsx +2 -0
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +2 -1
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +12 -5
- package/dist/components/layout/SolidMenuItemIcon.d.ts +9 -0
- package/dist/components/layout/SolidMenuItemIcon.d.ts.map +1 -0
- package/dist/components/layout/SolidMenuItemIcon.js +20 -0
- package/dist/components/layout/SolidMenuItemIcon.js.map +1 -0
- package/dist/components/layout/SolidMenuItemIcon.tsx +45 -0
- package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +6 -7
- package/dist/components/layout/navbar-two-menu.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.tsx +4 -12
- package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidCodeEditor.js +30 -2
- package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +38 -1
- package/dist/helpers/backendHealthMonitor.d.ts +39 -0
- package/dist/helpers/backendHealthMonitor.d.ts.map +1 -0
- package/dist/helpers/backendHealthMonitor.js +255 -0
- package/dist/helpers/backendHealthMonitor.js.map +1 -0
- package/dist/helpers/backendHealthMonitor.ts +177 -0
- package/dist/helpers/helpers.d.ts +1 -0
- package/dist/helpers/helpers.d.ts.map +1 -1
- package/dist/helpers/helpers.js +9 -0
- package/dist/helpers/helpers.js.map +1 -1
- package/dist/helpers/helpers.ts +11 -1
- package/dist/helpers/menuItemIcons.d.ts +34 -0
- package/dist/helpers/menuItemIcons.d.ts.map +1 -0
- package/dist/helpers/menuItemIcons.js +144 -0
- package/dist/helpers/menuItemIcons.js.map +1 -0
- package/dist/helpers/menuItemIcons.ts +191 -0
- package/dist/helpers/relationDisplay.d.ts +3 -0
- package/dist/helpers/relationDisplay.d.ts.map +1 -0
- package/dist/helpers/relationDisplay.js +92 -0
- package/dist/helpers/relationDisplay.js.map +1 -0
- package/dist/helpers/relationDisplay.ts +101 -0
- package/dist/helpers/settingsPayload.d.ts +1 -0
- package/dist/helpers/settingsPayload.d.ts.map +1 -1
- package/dist/helpers/settingsPayload.js.map +1 -1
- package/dist/helpers/settingsPayload.ts +1 -0
- package/dist/helpers/solidIcons.d.ts +2 -0
- package/dist/helpers/solidIcons.d.ts.map +1 -1
- package/dist/helpers/solidIcons.js +8 -0
- package/dist/helpers/solidIcons.js.map +1 -1
- package/dist/helpers/solidIcons.tsx +10 -1
- package/dist/helpers/waitForBackendAvailability.d.ts +1 -0
- package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -1
- package/dist/helpers/waitForBackendAvailability.js +35 -22
- package/dist/helpers/waitForBackendAvailability.js.map +1 -1
- package/dist/helpers/waitForBackendAvailability.ts +18 -12
- package/dist/http/solidHttp.d.ts.map +1 -1
- package/dist/http/solidHttp.js +10 -4
- package/dist/http/solidHttp.js.map +1 -1
- package/dist/http/solidHttp.ts +9 -4
- package/dist/redux/api/datasourceIntrospectionApi.d.ts +4 -0
- package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
- package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
- package/dist/redux/api/datasourceIntrospectionApi.ts +4 -0
- package/dist/redux/api/fetchBaseQuery.d.ts.map +1 -1
- package/dist/redux/api/fetchBaseQuery.js +9 -3
- package/dist/redux/api/fetchBaseQuery.js.map +1 -1
- package/dist/redux/api/fetchBaseQuery.tsx +9 -3
- package/dist/redux/store/StoreProvider.d.ts.map +1 -1
- package/dist/redux/store/StoreProvider.js +4 -3
- package/dist/redux/store/StoreProvider.js.map +1 -1
- package/dist/redux/store/StoreProvider.tsx +4 -3
- package/dist/resources/globals.css +341 -49
- package/dist/resources/solid-custom.css +410 -12
- package/dist/resources/solid-responsive.css +27 -16
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/routes/AppEventListener.d.ts.map +1 -1
- package/dist/routes/AppEventListener.js +23 -0
- package/dist/routes/AppEventListener.js.map +1 -1
- package/dist/routes/AppEventListener.tsx +29 -0
- package/dist/routes/pages/admin/core/DashboardPage.module.css +12 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +306 -3
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +745 -393
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1074 -420
- package/dist/routes/pages/admin/core/DatasourcesPage.css +15 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DatasourcesPage.js +7 -188
- package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DatasourcesPage.tsx +3 -393
- package/package.json +3 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
2
2
|
import FilterComponent, { FilterOperator, FilterRule, FilterRuleType } from "../../../components/core/common/FilterComponent";
|
|
3
|
+
import { toTitleCase } from "../../../helpers/helpers";
|
|
3
4
|
import { usePathname } from "../../../hooks/usePathname";
|
|
4
5
|
import { useRouter } from "../../../hooks/useRouter";
|
|
5
6
|
import { useSearchParams } from "../../../hooks/useSearchParams";
|
|
@@ -1087,7 +1088,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
1087
1088
|
return false;
|
|
1088
1089
|
}
|
|
1089
1090
|
});
|
|
1090
|
-
|
|
1091
|
+
|
|
1091
1092
|
// Optionally map to a minimal structure if needed for UI
|
|
1092
1093
|
let finalSearchableFieldsList: any = searchableFieldsList.map((field: any) => ({
|
|
1093
1094
|
fieldName: field.value,
|
|
@@ -1095,7 +1096,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
1095
1096
|
searchField: field.searchField ?? "",
|
|
1096
1097
|
matchMode: field.matchMode
|
|
1097
1098
|
}));
|
|
1098
|
-
|
|
1099
|
+
|
|
1099
1100
|
setSearchableFields(finalSearchableFieldsList);
|
|
1100
1101
|
|
|
1101
1102
|
let finalGroupableFieldsList: any = groupableFieldsList.map((field: any) => ({
|
|
@@ -1883,23 +1884,18 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
1883
1884
|
<li key={chip.id}>
|
|
1884
1885
|
<div className={`search-filter-chip-type solid-chip-pill solid-chip-tone-${chip.type}`}>
|
|
1885
1886
|
{chip.onOpen ? (
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
>
|
|
1895
|
-
<span className="solid-chip-open-icon" aria-hidden="true">
|
|
1896
|
-
<Filter size={12} />
|
|
1897
|
-
</span>
|
|
1898
|
-
</button>
|
|
1899
|
-
<span className="custom-chip-value solid-chip-pill-label solid-chip-open-label" title={chip.label}>
|
|
1887
|
+
<button
|
|
1888
|
+
type="button"
|
|
1889
|
+
className="solid-chip-label-button"
|
|
1890
|
+
title={chip.label}
|
|
1891
|
+
aria-label={`Open ${chip.label}`}
|
|
1892
|
+
onMouseDown={(e) => e.preventDefault()}
|
|
1893
|
+
onClick={() => handleManagedChipOpen(chip)}
|
|
1894
|
+
>
|
|
1895
|
+
<span className="custom-chip-value solid-chip-pill-label" title={chip.label}>
|
|
1900
1896
|
{chip.label}
|
|
1901
1897
|
</span>
|
|
1902
|
-
|
|
1898
|
+
</button>
|
|
1903
1899
|
) : (
|
|
1904
1900
|
<span className="custom-chip-value solid-chip-pill-label" title={chip.label}>
|
|
1905
1901
|
{chip.label}
|
|
@@ -2062,7 +2058,7 @@ export const SolidGlobalSearchElement = forwardRef(({ viewData, viewType, handle
|
|
|
2062
2058
|
}}
|
|
2063
2059
|
onMouseEnter={() => setFocusedIndex(index)}
|
|
2064
2060
|
>
|
|
2065
|
-
Search <strong style={{paddingLeft:"2px"}}>{value.displayName.trim()}</strong> for: <span className="font-bold text-color">{inputValue}</span>
|
|
2061
|
+
Search <strong style={{paddingLeft:"2px"}}>{toTitleCase(value.displayName.trim())}</strong> for: <span className="font-bold text-color">{inputValue}</span>
|
|
2066
2062
|
</SolidButton>
|
|
2067
2063
|
)
|
|
2068
2064
|
})
|
package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteModelRowAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"DeleteModelRowAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AAa1F,QAAA,MAAM,oBAAoB,UAAW,oCAAoC,4CA0HxE,CAAA;AAED,eAAe,oBAAoB,CAAC"}
|
package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js
CHANGED
|
@@ -43,40 +43,67 @@ import { kebabCase } from "lodash";
|
|
|
43
43
|
import { createSolidEntityApi } from "../../../../../../redux/api/solidEntityApi";
|
|
44
44
|
import { ERROR_MESSAGES } from "../../../../../../constants/error-messages";
|
|
45
45
|
import { SolidButton, SolidCheckbox } from "../../../../../shad-cn-ui";
|
|
46
|
+
import { pingBackendAvailability } from "../../../../../../helpers/waitForBackendAvailability";
|
|
47
|
+
import { backendHealthMonitor } from "../../../../../../helpers/backendHealthMonitor";
|
|
48
|
+
var DELETE_MODEL_DIALOG_DISMISS_DELAY_MS = 3000;
|
|
46
49
|
var DeleteModelRowAction = function (event) {
|
|
47
50
|
var _a = useState(false), isConfirmed = _a[0], setIsConfirmed = _a[1];
|
|
51
|
+
var _b = useState(false), isApplying = _b[0], setIsApplying = _b[1];
|
|
48
52
|
var dispatch = useDispatch();
|
|
49
53
|
var entityApi = createSolidEntityApi(event.params.modelName);
|
|
50
54
|
var useDeleteSolidEntityMutation = entityApi.useDeleteSolidEntityMutation;
|
|
51
55
|
var deleteSolidSingleEntiry = useDeleteSolidEntityMutation()[0];
|
|
52
56
|
var deleteModelHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
-
var res, message, err_1;
|
|
57
|
+
var res, message, isBackendAvailable, err_1;
|
|
54
58
|
var _a, _b, _c;
|
|
55
59
|
return __generator(this, function (_d) {
|
|
56
60
|
switch (_d.label) {
|
|
57
61
|
case 0:
|
|
58
|
-
|
|
59
|
-
|
|
62
|
+
if (isApplying) {
|
|
63
|
+
return [2 /*return*/];
|
|
64
|
+
}
|
|
65
|
+
setIsApplying(true);
|
|
66
|
+
_d.label = 1;
|
|
60
67
|
case 1:
|
|
68
|
+
_d.trys.push([1, 7, 8, 9]);
|
|
69
|
+
return [4 /*yield*/, deleteSolidSingleEntiry(event.rowData.id)];
|
|
70
|
+
case 2:
|
|
61
71
|
res = _d.sent();
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
if (!res.error) return [3 /*break*/, 3];
|
|
73
|
+
message = ((_b = (_a = res.error) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) ||
|
|
74
|
+
((_c = res.error) === null || _c === void 0 ? void 0 : _c.error) ||
|
|
75
|
+
ERROR_MESSAGES.ERROR_OCCURED;
|
|
76
|
+
dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));
|
|
77
|
+
return [3 /*break*/, 6];
|
|
78
|
+
case 3:
|
|
79
|
+
dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));
|
|
80
|
+
return [4 /*yield*/, new Promise(function (resolve) { return window.setTimeout(resolve, DELETE_MODEL_DIALOG_DISMISS_DELAY_MS); })];
|
|
81
|
+
case 4:
|
|
82
|
+
_d.sent();
|
|
83
|
+
dispatch(closePopup());
|
|
84
|
+
return [4 /*yield*/, pingBackendAvailability()];
|
|
85
|
+
case 5:
|
|
86
|
+
isBackendAvailable = _d.sent();
|
|
87
|
+
if (isBackendAvailable) {
|
|
88
|
+
backendHealthMonitor.reportSuccess();
|
|
68
89
|
}
|
|
69
90
|
else {
|
|
70
|
-
|
|
71
|
-
|
|
91
|
+
backendHealthMonitor.reportFailure({
|
|
92
|
+
status: "FETCH_ERROR",
|
|
93
|
+
message: "Unable to reach the server. Reconnecting...",
|
|
94
|
+
});
|
|
72
95
|
}
|
|
73
|
-
|
|
74
|
-
case
|
|
96
|
+
_d.label = 6;
|
|
97
|
+
case 6: return [3 /*break*/, 9];
|
|
98
|
+
case 7:
|
|
75
99
|
err_1 = _d.sent();
|
|
76
100
|
console.error("catch error", err_1);
|
|
77
101
|
dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.NETWORK_OR_SERVER_ERROR }));
|
|
78
|
-
return [3 /*break*/,
|
|
79
|
-
case
|
|
102
|
+
return [3 /*break*/, 9];
|
|
103
|
+
case 8:
|
|
104
|
+
setIsApplying(false);
|
|
105
|
+
return [7 /*endfinally*/];
|
|
106
|
+
case 9: return [2 /*return*/];
|
|
80
107
|
}
|
|
81
108
|
});
|
|
82
109
|
}); };
|
|
@@ -91,7 +118,7 @@ var DeleteModelRowAction = function (event) {
|
|
|
91
118
|
{ file: "".concat(kebabCase(event.rowData.singularName), "-metadata.json"), description: 'Remove references to this model in the model metadata, menu, action & view sections', intervention: 'Automatic' },
|
|
92
119
|
{ file: '-', description: 'Drop database table. Removes the database table from the DB, this is a very risky step. Best to review all relations to other models etc and then do this manually', intervention: 'Manual (X)', manual: true },
|
|
93
120
|
];
|
|
94
|
-
return (_jsxs("div", { className: "solid-delete-model-popup", children: [_jsx("div", { className: "solid-filter-dialog-head solid-delete-model-popup__head", children: _jsxs("div", { children: [_jsx("h3", { className: "solid-filter-dialog-title", children: "Delete Model" }), _jsx("p", { className: "solid-filter-dialog-subtitle m-0", children: "Review the impacted files carefully before applying this delete action." })] }) }), _jsx("div", { className: "solid-filter-dialog-sep" }), _jsxs("div", { className: "solid-filter-dialog-body solid-delete-model-popup__body", children: [_jsx("p", { className: "solid-delete-model-popup__intro", children: "Deleting a model should be done carefully. The following files will be impacted as part of deleting this model." }), _jsx("div", { className: "solid-delete-model-popup__table-wrap", children: _jsxs("table", { className: "solid-delete-model-popup__table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "File Name" }), _jsx("th", { children: "Description" }), _jsx("th", { children: "Intervention" })] }) }), _jsx("tbody", { children: rows.map(function (row) { return (_jsxs("tr", { children: [_jsx("td", { className: "solid-delete-model-popup__file", children: row.file }), _jsx("td", { children: row.description }), _jsx("td", { className: row.manual ? "solid-delete-model-popup__intervention is-manual" : "solid-delete-model-popup__intervention", children: row.intervention })] }, "".concat(row.file, "-").concat(row.intervention))); }) })] }) }), _jsx("div", { className: "solid-delete-model-popup__confirm", children: _jsx(SolidCheckbox, { id: "delete-model-confirmation", name: "confirm", checked: isConfirmed, onChange: function () { return setIsConfirmed(!isConfirmed); }, label: "I confirm that #9 (drop database table) will be done by me manually after the automatic steps above are applied." }) }), _jsxs("div", { className: "solid-delete-model-popup__actions", children: [_jsx(SolidButton, { size: "small", disabled: !isConfirmed, autoFocus: true, onClick: deleteModelHandler, children: "Apply" }), _jsx(SolidButton, { size: "small", variant: "outline", onClick: function () { return dispatch(closePopup()); }, children: "Cancel" })] })] })] }));
|
|
121
|
+
return (_jsxs("div", { className: "solid-delete-model-popup", children: [_jsx("div", { className: "solid-filter-dialog-head solid-delete-model-popup__head", children: _jsxs("div", { children: [_jsx("h3", { className: "solid-filter-dialog-title", children: "Delete Model" }), _jsx("p", { className: "solid-filter-dialog-subtitle m-0", children: "Review the impacted files carefully before applying this delete action." })] }) }), _jsx("div", { className: "solid-filter-dialog-sep" }), _jsxs("div", { className: "solid-filter-dialog-body solid-delete-model-popup__body", children: [_jsx("p", { className: "solid-delete-model-popup__intro", children: "Deleting a model should be done carefully. The following files will be impacted as part of deleting this model." }), _jsx("div", { className: "solid-delete-model-popup__table-wrap", children: _jsxs("table", { className: "solid-delete-model-popup__table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "File Name" }), _jsx("th", { children: "Description" }), _jsx("th", { children: "Intervention" })] }) }), _jsx("tbody", { children: rows.map(function (row) { return (_jsxs("tr", { children: [_jsx("td", { className: "solid-delete-model-popup__file", children: row.file }), _jsx("td", { children: row.description }), _jsx("td", { className: row.manual ? "solid-delete-model-popup__intervention is-manual" : "solid-delete-model-popup__intervention", children: row.intervention })] }, "".concat(row.file, "-").concat(row.intervention))); }) })] }) }), _jsx("div", { className: "solid-delete-model-popup__confirm", children: _jsx(SolidCheckbox, { id: "delete-model-confirmation", name: "confirm", checked: isConfirmed, onChange: function () { return setIsConfirmed(!isConfirmed); }, label: "I confirm that #9 (drop database table) will be done by me manually after the automatic steps above are applied." }) }), _jsxs("div", { className: "solid-delete-model-popup__actions", children: [_jsx(SolidButton, { size: "small", disabled: !isConfirmed || isApplying, loading: isApplying, autoFocus: true, onClick: deleteModelHandler, children: "Apply" }), _jsx(SolidButton, { size: "small", variant: "outline", disabled: isApplying, onClick: function () { return dispatch(closePopup()); }, children: "Cancel" })] })] })] }));
|
|
95
122
|
};
|
|
96
123
|
export default DeleteModelRowAction;
|
|
97
124
|
//# sourceMappingURL=DeleteModelRowAction.js.map
|
package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteModelRowAction.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { closePopup } from \"../../../../../../redux/features/popupSlice\";\nimport { SolidListRowdataDynamicFunctionProps } from \"../../../../../../types/solid-core\";\nimport { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../../../../redux/features/toastSlice\";\nimport { kebabCase } from \"lodash\";\nimport { createSolidEntityApi } from \"../../../../../../redux/api/solidEntityApi\";\nimport { ERROR_MESSAGES } from \"../../../../../../constants/error-messages\";\nimport { SolidButton, SolidCheckbox } from \"../../../../../shad-cn-ui\";\n\n\nconst DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {\n const [isConfirmed, setIsConfirmed] = useState(false);\n const dispatch = useDispatch();\n const entityApi = createSolidEntityApi(event.params.modelName);\n const {useDeleteSolidEntityMutation} = entityApi;\n const [deleteSolidSingleEntiry] = useDeleteSolidEntityMutation()\n\n const deleteModelHandler = async () => {\n try {\n const res: any = await deleteSolidSingleEntiry(event.rowData.id);\n \n // console.log('delete model res', res);\n if (res.error) {\n // handle backend or RTK error object\n const message =\n res.error?.data?.message ||\n res.error?.error ||\n ERROR_MESSAGES.ERROR_OCCURED;\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));\n } else {\n dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));\n dispatch(closePopup());\n }\n } catch (err: any) {\n console.error(\"catch error\", err);\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.NETWORK_OR_SERVER_ERROR }));\n }\n }\n\n const rows = [\n { file: `${kebabCase(event.rowData.singularName)}.entity.ts`, description: 'The TypeORM entity definition for this model. Deleting it removes the model’s schema mapping', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.create.dto.ts`, description: 'DTO defining the payload for creating a new record of this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.update.dto.ts`, description: 'DTO defining the payload for updating an existing record of this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.repository.ts`, description: 'Custom repository encapsulating database operations for this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.service.ts`, description: 'Service layer containing business logic and interactions for this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.controller.ts`, description: 'Controller exposing API endpoints related to this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.module.ts`, description: 'Module declaration that wires together the controller, service, and repository. All imports and references to the deleted model are removed automatically', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}-metadata.json`, description: 'Remove references to this model in the model metadata, menu, action & view sections', intervention: 'Automatic' },\n { file: '-', description: 'Drop database table. Removes the database table from the DB, this is a very risky step. Best to review all relations to other models etc and then do this manually', intervention: 'Manual (X)', manual: true },\n ];\n\n\n\n return (\n <div className=\"solid-delete-model-popup\">\n <div className=\"solid-filter-dialog-head solid-delete-model-popup__head\">\n <div>\n <h3 className=\"solid-filter-dialog-title\">Delete Model</h3>\n <p className=\"solid-filter-dialog-subtitle m-0\">\n Review the impacted files carefully before applying this delete action.\n </p>\n </div>\n </div>\n <div className=\"solid-filter-dialog-sep\" />\n <div className=\"solid-filter-dialog-body solid-delete-model-popup__body\">\n <p className=\"solid-delete-model-popup__intro\">\n Deleting a model should be done carefully. The following files will be impacted as part of deleting this model.\n </p>\n\n <div className=\"solid-delete-model-popup__table-wrap\">\n <table className=\"solid-delete-model-popup__table\">\n <thead>\n <tr>\n <th>File Name</th>\n <th>Description</th>\n <th>Intervention</th>\n </tr>\n </thead>\n <tbody>\n {rows.map((row) => (\n <tr key={`${row.file}-${row.intervention}`}>\n <td className=\"solid-delete-model-popup__file\">{row.file}</td>\n <td>{row.description}</td>\n <td className={row.manual ? \"solid-delete-model-popup__intervention is-manual\" : \"solid-delete-model-popup__intervention\"}>\n {row.intervention}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n <div className=\"solid-delete-model-popup__confirm\">\n <SolidCheckbox\n id=\"delete-model-confirmation\"\n name=\"confirm\"\n checked={isConfirmed}\n onChange={() => setIsConfirmed(!isConfirmed)}\n label=\"I confirm that #9 (drop database table) will be done by me manually after the automatic steps above are applied.\"\n />\n </div>\n\n <div className=\"solid-delete-model-popup__actions\">\n <SolidButton size=\"small\" disabled={!isConfirmed} autoFocus onClick={deleteModelHandler}>\n Apply\n </SolidButton>\n <SolidButton size=\"small\" variant=\"outline\" onClick={() => dispatch(closePopup())}>\n Cancel\n </SolidButton>\n </div>\n </div>\n </div>\n )\n}\n\nexport default DeleteModelRowAction;\n"]}
|
|
1
|
+
{"version":3,"file":"DeleteModelRowAction.js","sourceRoot":"","sources":["../../../../../../../src/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { closePopup } from \"../../../../../../redux/features/popupSlice\";\nimport { SolidListRowdataDynamicFunctionProps } from \"../../../../../../types/solid-core\";\nimport { useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../../../../redux/features/toastSlice\";\nimport { kebabCase } from \"lodash\";\nimport { createSolidEntityApi } from \"../../../../../../redux/api/solidEntityApi\";\nimport { ERROR_MESSAGES } from \"../../../../../../constants/error-messages\";\nimport { SolidButton, SolidCheckbox } from \"../../../../../shad-cn-ui\";\nimport { pingBackendAvailability } from \"../../../../../../helpers/waitForBackendAvailability\";\nimport { backendHealthMonitor } from \"../../../../../../helpers/backendHealthMonitor\";\n\nconst DELETE_MODEL_DIALOG_DISMISS_DELAY_MS = 3_000;\n\nconst DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {\n const [isConfirmed, setIsConfirmed] = useState(false);\n const [isApplying, setIsApplying] = useState(false);\n const dispatch = useDispatch();\n const entityApi = createSolidEntityApi(event.params.modelName);\n const {useDeleteSolidEntityMutation} = entityApi;\n const [deleteSolidSingleEntiry] = useDeleteSolidEntityMutation()\n\n const deleteModelHandler = async () => {\n if (isApplying) {\n return;\n }\n\n setIsApplying(true);\n try {\n const res: any = await deleteSolidSingleEntiry(event.rowData.id);\n \n // console.log('delete model res', res);\n if (res.error) {\n // handle backend or RTK error object\n const message =\n res.error?.data?.message ||\n res.error?.error ||\n ERROR_MESSAGES.ERROR_OCCURED;\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));\n } else {\n dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));\n await new Promise((resolve) => window.setTimeout(resolve, DELETE_MODEL_DIALOG_DISMISS_DELAY_MS));\n dispatch(closePopup());\n\n const isBackendAvailable = await pingBackendAvailability();\n if (isBackendAvailable) {\n backendHealthMonitor.reportSuccess();\n } else {\n backendHealthMonitor.reportFailure({\n status: \"FETCH_ERROR\",\n message: \"Unable to reach the server. Reconnecting...\",\n });\n }\n }\n } catch (err: any) {\n console.error(\"catch error\", err);\n dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.NETWORK_OR_SERVER_ERROR }));\n } finally {\n setIsApplying(false);\n }\n }\n\n const rows = [\n { file: `${kebabCase(event.rowData.singularName)}.entity.ts`, description: 'The TypeORM entity definition for this model. Deleting it removes the model’s schema mapping', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.create.dto.ts`, description: 'DTO defining the payload for creating a new record of this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.update.dto.ts`, description: 'DTO defining the payload for updating an existing record of this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.repository.ts`, description: 'Custom repository encapsulating database operations for this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.service.ts`, description: 'Service layer containing business logic and interactions for this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.controller.ts`, description: 'Controller exposing API endpoints related to this model', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}.module.ts`, description: 'Module declaration that wires together the controller, service, and repository. All imports and references to the deleted model are removed automatically', intervention: 'Automatic' },\n { file: `${kebabCase(event.rowData.singularName)}-metadata.json`, description: 'Remove references to this model in the model metadata, menu, action & view sections', intervention: 'Automatic' },\n { file: '-', description: 'Drop database table. Removes the database table from the DB, this is a very risky step. Best to review all relations to other models etc and then do this manually', intervention: 'Manual (X)', manual: true },\n ];\n\n\n\n return (\n <div className=\"solid-delete-model-popup\">\n <div className=\"solid-filter-dialog-head solid-delete-model-popup__head\">\n <div>\n <h3 className=\"solid-filter-dialog-title\">Delete Model</h3>\n <p className=\"solid-filter-dialog-subtitle m-0\">\n Review the impacted files carefully before applying this delete action.\n </p>\n </div>\n </div>\n <div className=\"solid-filter-dialog-sep\" />\n <div className=\"solid-filter-dialog-body solid-delete-model-popup__body\">\n <p className=\"solid-delete-model-popup__intro\">\n Deleting a model should be done carefully. The following files will be impacted as part of deleting this model.\n </p>\n\n <div className=\"solid-delete-model-popup__table-wrap\">\n <table className=\"solid-delete-model-popup__table\">\n <thead>\n <tr>\n <th>File Name</th>\n <th>Description</th>\n <th>Intervention</th>\n </tr>\n </thead>\n <tbody>\n {rows.map((row) => (\n <tr key={`${row.file}-${row.intervention}`}>\n <td className=\"solid-delete-model-popup__file\">{row.file}</td>\n <td>{row.description}</td>\n <td className={row.manual ? \"solid-delete-model-popup__intervention is-manual\" : \"solid-delete-model-popup__intervention\"}>\n {row.intervention}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n <div className=\"solid-delete-model-popup__confirm\">\n <SolidCheckbox\n id=\"delete-model-confirmation\"\n name=\"confirm\"\n checked={isConfirmed}\n onChange={() => setIsConfirmed(!isConfirmed)}\n label=\"I confirm that #9 (drop database table) will be done by me manually after the automatic steps above are applied.\"\n />\n </div>\n\n <div className=\"solid-delete-model-popup__actions\">\n <SolidButton size=\"small\" disabled={!isConfirmed || isApplying} loading={isApplying} autoFocus onClick={deleteModelHandler}>\n Apply\n </SolidButton>\n <SolidButton size=\"small\" variant=\"outline\" disabled={isApplying} onClick={() => dispatch(closePopup())}>\n Cancel\n </SolidButton>\n </div>\n </div>\n </div>\n )\n}\n\nexport default DeleteModelRowAction;\n"]}
|
package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx
CHANGED
|
@@ -7,16 +7,25 @@ import { kebabCase } from "lodash";
|
|
|
7
7
|
import { createSolidEntityApi } from "../../../../../../redux/api/solidEntityApi";
|
|
8
8
|
import { ERROR_MESSAGES } from "../../../../../../constants/error-messages";
|
|
9
9
|
import { SolidButton, SolidCheckbox } from "../../../../../shad-cn-ui";
|
|
10
|
+
import { pingBackendAvailability } from "../../../../../../helpers/waitForBackendAvailability";
|
|
11
|
+
import { backendHealthMonitor } from "../../../../../../helpers/backendHealthMonitor";
|
|
10
12
|
|
|
13
|
+
const DELETE_MODEL_DIALOG_DISMISS_DELAY_MS = 3_000;
|
|
11
14
|
|
|
12
15
|
const DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {
|
|
13
16
|
const [isConfirmed, setIsConfirmed] = useState(false);
|
|
17
|
+
const [isApplying, setIsApplying] = useState(false);
|
|
14
18
|
const dispatch = useDispatch();
|
|
15
19
|
const entityApi = createSolidEntityApi(event.params.modelName);
|
|
16
20
|
const {useDeleteSolidEntityMutation} = entityApi;
|
|
17
21
|
const [deleteSolidSingleEntiry] = useDeleteSolidEntityMutation()
|
|
18
22
|
|
|
19
23
|
const deleteModelHandler = async () => {
|
|
24
|
+
if (isApplying) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
setIsApplying(true);
|
|
20
29
|
try {
|
|
21
30
|
const res: any = await deleteSolidSingleEntiry(event.rowData.id);
|
|
22
31
|
|
|
@@ -30,11 +39,24 @@ const DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {
|
|
|
30
39
|
dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.DELETE_FAIELD, detail: message }));
|
|
31
40
|
} else {
|
|
32
41
|
dispatch(showToast({ severity: 'success', summary: ERROR_MESSAGES.MODEL_DELETE, detail: ERROR_MESSAGES.MODEL_DELETE_SUCCESSFULLY(event.rowData.singularName) }));
|
|
42
|
+
await new Promise((resolve) => window.setTimeout(resolve, DELETE_MODEL_DIALOG_DISMISS_DELAY_MS));
|
|
33
43
|
dispatch(closePopup());
|
|
44
|
+
|
|
45
|
+
const isBackendAvailable = await pingBackendAvailability();
|
|
46
|
+
if (isBackendAvailable) {
|
|
47
|
+
backendHealthMonitor.reportSuccess();
|
|
48
|
+
} else {
|
|
49
|
+
backendHealthMonitor.reportFailure({
|
|
50
|
+
status: "FETCH_ERROR",
|
|
51
|
+
message: "Unable to reach the server. Reconnecting...",
|
|
52
|
+
});
|
|
53
|
+
}
|
|
34
54
|
}
|
|
35
55
|
} catch (err: any) {
|
|
36
56
|
console.error("catch error", err);
|
|
37
57
|
dispatch(showToast({ severity: 'error', summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.NETWORK_OR_SERVER_ERROR }));
|
|
58
|
+
} finally {
|
|
59
|
+
setIsApplying(false);
|
|
38
60
|
}
|
|
39
61
|
}
|
|
40
62
|
|
|
@@ -102,10 +124,10 @@ const DeleteModelRowAction = (event: SolidListRowdataDynamicFunctionProps) => {
|
|
|
102
124
|
</div>
|
|
103
125
|
|
|
104
126
|
<div className="solid-delete-model-popup__actions">
|
|
105
|
-
<SolidButton size="small" disabled={!isConfirmed} autoFocus onClick={deleteModelHandler}>
|
|
127
|
+
<SolidButton size="small" disabled={!isConfirmed || isApplying} loading={isApplying} autoFocus onClick={deleteModelHandler}>
|
|
106
128
|
Apply
|
|
107
129
|
</SolidButton>
|
|
108
|
-
<SolidButton size="small" variant="outline" onClick={() => dispatch(closePopup())}>
|
|
130
|
+
<SolidButton size="small" variant="outline" disabled={isApplying} onClick={() => dispatch(closePopup())}>
|
|
109
131
|
Cancel
|
|
110
132
|
</SolidButton>
|
|
111
133
|
</div>
|
|
@@ -191,7 +191,7 @@ export var SolidFormFooter = function (_a) {
|
|
|
191
191
|
// -----------------------------
|
|
192
192
|
// UI
|
|
193
193
|
// -----------------------------
|
|
194
|
-
return (_jsxs("div", { className: "flex justify-end items-center gap-2 p-1", children: [meta &&
|
|
194
|
+
return (_jsxs("div", { className: "solid-form-footer flex justify-end items-center gap-2 p-1", children: [meta &&
|
|
195
195
|
_jsx("span", { className: "solid-form-footer-pagination-meta p-2", children: "".concat(meta.currentIndexGlobal, " of ").concat(meta.totalRecords) }), prevNav && (_jsxs(SolidTooltip, { children: [_jsx(SolidTooltipTrigger, { asChild: true, children: _jsx(SolidButton, { icon: "si si-angle-left", variant: "ghost", size: "sm", onClick: function () { return handlePrev(); }, disabled: isLoading }) }), _jsx(SolidTooltipContent, { side: "top", children: "Previous" })] })), nextNav && (_jsxs(SolidTooltip, { children: [_jsx(SolidTooltipTrigger, { asChild: true, children: _jsx(SolidButton, { icon: "si si-angle-right", variant: "ghost", size: "sm", onClick: function () { return handleNext(); }, disabled: isLoading }) }), _jsx(SolidTooltipContent, { side: "top", children: "Next" })] }))] }));
|
|
196
196
|
};
|
|
197
197
|
//# sourceMappingURL=SolidFormFooter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidFormFooter.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,kCAAkC,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAEjH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAavG,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,EAAqE;QAAnE,MAAM,YAAA,EAAE,mCAAmC,EAAnC,2BAA2B,mBAAG,KAAK,KAAA;IACzE,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAErB,IAAA,KAAwB,QAAQ,CAAiB,IAAI,CAAC,EAArD,OAAO,QAAA,EAAE,UAAU,QAAkC,CAAC;IACvD,IAAA,KAAwB,QAAQ,CAAiB,IAAI,CAAC,EAArD,OAAO,QAAA,EAAE,UAAU,QAAkC,CAAC;IACvD,IAAA,KAAkB,QAAQ,CAAM,IAAI,CAAC,EAApC,IAAI,QAAA,EAAE,OAAO,QAAuB,CAAC;IAEtC,IAAA,KACF,sBAAsB,EAAE,EADrB,oBAAoB,QAAA,EAAI,SAAS,kBACZ,CAAC;IAE7B,IAAM,mBAAmB,GAAG,UAAC,UAAe,EAAE,MAAc;QACxD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAErE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC3B,OAAO,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAjC,CAAiC,CAAC,CAAC;SACtE;QAED,IAAM,QAAQ,gBAAQ,UAAU,CAAE,CAAC;QAEnC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;YAC9D,IAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC;YAEzC,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBAClF,IAAM,qBAAmB,gBAA6B,YAAY,CAAE,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,qBAAmB,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;oBAC9C,IAAM,aAAa,GAAG,qBAAmB,CAAC,QAAQ,CAAC,CAAC;oBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;wBAC9B,qBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;qBAC5C;yBAAM;wBACH,qBAAmB,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;qBAC1C;gBACL,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,UAAU,GAAG,qBAAmB,CAAC;aAC7C;iBAAM;gBACH,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;aAChC;SACJ;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC9B,IAAI,GAAG,KAAK,YAAY;gBAAE,OAAO;YACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IAEF,gCAAgC;IAChC,+BAA+B;IAC/B,gCAAgC;IAChC,IAAM,8BAA8B,GAAG,UAAC,MAAc,EAAE,KAAa;QACjE,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAC7C,eAAe,EACf,OAAO,CACV,CAAC;QACF,IAAM,WAAW,GAAG,oCAAoC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEzE,IAAM,eAAe,yBACd,WAAW,KACd,MAAM,QAAA,EACN,KAAK,OAAA,GACR,CAAC;QACF,kCAAkC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;IACjE,CAAC,CAAC;IAEF,IAAM,SAAS,GAAG,UAAC,QAAgB;QAC/B,8BAA8B;QAC9B,IAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAChC,eAAe,EACf,gBAAS,QAAQ,CAAE,CACtB,CAAC;QAEF,6CAA6C;QAC7C,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE5D,2BAA2B;QAC3B,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,CAAC,CAAC,UAAG,WAAW,cAAI,KAAK,CAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3D,CAAC,CAAA;IAGD,gCAAgC;IAChC,iBAAiB;IACjB,gCAAgC;IAChC,IAAM,UAAU,GAAG;QAEf,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,8BAA8B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG;QACf,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,8BAA8B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,gCAAgC;IAChC,wBAAwB;IACxB,gCAAgC;IAChC,SAAS,CAAC;QACN,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE;YACzB,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;SACV;QAED,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE;YAErB,IAAM,eAAe,GAAG;;;;;;4BACd,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAC7C,eAAe,EACf,OAAO,CACV,CAAC;4BAEI,WAAW,GAAG,oCAAoC,CAAC,QAAQ,CAAC,CAAC;4BAC7D,kBAAkB,GAAG,WAAW,IAAI,EAAE,CAAC;4BACvC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACpC,qBAAqB,GAAG,YAAY,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;4BAClE,eAAe,GAAG,2BAA2B,IAAI,MAAM;gCACzD,CAAC,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,eAAe,IAAI,IAAI,EAAE,MAAM,CAAC;gCACzE,CAAC,CAAC,CAAC,kBAAkB,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;4BAE7C,gBAAgB,GAClB,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC;gCACtC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;4BACrD,SAAS,cACX,MAAM,EAAE,kBAAkB,CAAC,MAAM,IAAI,CAAC,EACtC,KAAK,EAAE,kBAAkB,CAAC,KAAK,IAAI,EAAE,EACrC,OAAO,EAAE,eAAe;gCACxB,kBAAkB;gCAClB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,QAAQ,EAAE,MAAM,CAAC,EAAE,EACnB,IAAI,EAAE,kBAAkB,CAAC,IAAI,IAC1B,CAAC,gBAAgB,IAAI;gCACpB,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;6BACxC,CAAC,CACL,CAAC;4BAEF,IAAI,MAAM,EAAE;gCACR,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;6BAC7B;4BAED,IAAI,qBAAqB,IAAI,qBAAqB,KAAK,KAAK,EAAE;gCAC1D,SAAS,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;6BAC3D;4BAEK,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;gCACxC,gBAAgB,EAAE,IAAI;6BACzB,CAAC,CAAC;4BAEmB,qBAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAA;;4BAAhE,QAAQ,GAAQ,SAAgD;4BACtE,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;gCAC5B,UAAU,CAAC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI,mCAAI,IAAI,CAAC,CAAC;gCACzC,UAAU,CAAC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI,mCAAI,IAAI,CAAC,CAAC;gCACzC,OAAO,CAAC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI,mCAAI,IAAI,CAAC,CAAC;6BACzC;;;;iBACJ,CAAC;YACF,eAAe,EAAE,CAAC;SACrB;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEtF,gCAAgC;IAChC,KAAK;IACL,gCAAgC;IAChC,OAAO,CACH,eACI,SAAS,EAAC,yCAAyC,aACrD,IAAI;gBACF,eAAM,SAAS,EAAC,uCAAuC,YAAE,UAAG,IAAI,CAAC,kBAAkB,iBAAO,IAAI,CAAC,YAAY,CAAE,GAAQ,EAEpH,OAAO,IAAI,CACR,MAAC,YAAY,eACT,KAAC,mBAAmB,IAAC,OAAO,kBACxB,KAAC,WAAW,IACR,IAAI,EAAC,kBAAkB,EACvB,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,cAAM,OAAA,UAAU,EAAE,EAAZ,CAAY,EAC3B,QAAQ,EAAE,SAAS,GACrB,GACgB,EACtB,KAAC,mBAAmB,IAAC,IAAI,EAAC,KAAK,yBAA+B,IACnD,CAClB,EAEA,OAAO,IAAI,CACR,MAAC,YAAY,eACT,KAAC,mBAAmB,IAAC,OAAO,kBACxB,KAAC,WAAW,IACR,IAAI,EAAC,mBAAmB,EACxB,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,cAAM,OAAA,UAAU,EAAE,EAAZ,CAAY,EAC3B,QAAQ,EAAE,SAAS,GACrB,GACgB,EACtB,KAAC,mBAAmB,IAAC,IAAI,EAAC,KAAK,qBAA2B,IAC/C,CAClB,IACC,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["\n\nimport { useLazyNavigationQuery } from \"../../../redux/api/modelApi\";\nimport { useEffect, useState } from \"react\";\nimport qs from \"qs\";\nimport { setFilterObjectToLocalStorageByUrl, getFilterObjectFromLocalStorageByUrl } from \"../list/SolidListView\";\nimport { SolidFormViewProps } from \"./SolidFormView\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { SolidButton, SolidTooltip, SolidTooltipContent, SolidTooltipTrigger } from \"../../shad-cn-ui\";\n\nexport type SolidFormFooterProps = {\n params: SolidFormViewProps;\n internationalisationEnabled?: boolean;\n};\n\ntype NavItem = {\n recordId: number;\n offset: number;\n limit: number;\n};\n\nexport const SolidFormFooter = ({ params, internationalisationEnabled = false }: SolidFormFooterProps) => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const router = useRouter();\n\n const [prevNav, setPrevNav] = useState<NavItem | null>(null);\n const [nextNav, setNextNav] = useState<NavItem | null>(null);\n const [meta, setMeta] = useState<any>(null);\n\n const [triggerGetNavigation, { isLoading }] =\n useLazyNavigationQuery();\n\n const rewriteLocaleFilter = (filterNode: any, locale: string): any => {\n if (!filterNode || typeof filterNode !== \"object\") return filterNode;\n\n if (Array.isArray(filterNode)) {\n return filterNode.map((item) => rewriteLocaleFilter(item, locale));\n }\n\n const nextNode = { ...filterNode };\n\n if (Object.prototype.hasOwnProperty.call(nextNode, \"localeName\")) {\n const localeFilter = nextNode.localeName;\n\n if (localeFilter && typeof localeFilter === \"object\" && !Array.isArray(localeFilter)) {\n const updatedLocaleFilter: Record<string, any> = { ...localeFilter };\n Object.keys(updatedLocaleFilter).forEach((operator) => {\n const operatorValue = updatedLocaleFilter[operator];\n if (Array.isArray(operatorValue)) {\n updatedLocaleFilter[operator] = [locale];\n } else {\n updatedLocaleFilter[operator] = locale;\n }\n });\n nextNode.localeName = updatedLocaleFilter;\n } else {\n nextNode.localeName = locale;\n }\n }\n\n Object.keys(nextNode).forEach((key) => {\n if (key === \"localeName\") return;\n nextNode[key] = rewriteLocaleFilter(nextNode[key], locale);\n });\n\n return nextNode;\n };\n\n // -----------------------------\n // Helper: update local storage\n // -----------------------------\n const updatePaginationInLocalStorage = (offset: number, limit: number) => {\n const listPath = window.location.pathname.replace(\n /\\/form\\/[^/]+/,\n \"/list\",\n );\n const queryObject = getFilterObjectFromLocalStorageByUrl(listPath) || {};\n\n const updatedQueryObj = {\n ...queryObject,\n offset,\n limit,\n };\n setFilterObjectToLocalStorageByUrl(listPath, updatedQueryObj)\n };\n\n const getNewUrl = (recordId: number): string => {\n // Replace the id after /form/\n const newPathname = pathname.replace(\n /\\/form\\/[^/]+/,\n `/form/${recordId}`,\n );\n\n // Clone search params (immutable in Next.js)\n const params = new URLSearchParams(searchParams.toString());\n\n // Remove only userKeyField\n params.delete(\"userKeyField\");\n\n const query = params.toString();\n return query ? `${newPathname}?${query}` : newPathname;\n }\n\n\n // -----------------------------\n // Click handlers\n // -----------------------------\n const handlePrev = () => {\n\n if (!prevNav) return;\n\n updatePaginationInLocalStorage(prevNav.offset, prevNav.limit);\n const newUrl = getNewUrl(prevNav.recordId)\n router.push(newUrl);\n };\n\n const handleNext = () => {\n if (!nextNav) return;\n\n updatePaginationInLocalStorage(nextNav.offset, nextNav.limit);\n const newUrl = getNewUrl(nextNav.recordId)\n router.push(newUrl);\n };\n\n // -----------------------------\n // Fetch navigation data\n // -----------------------------\n useEffect(() => {\n if (params.embeded === true) {\n setPrevNav(null);\n setNextNav(null);\n setMeta(null);\n return;\n }\n\n if (params.id !== \"new\") {\n\n const fetchNavigation = async () => {\n const listPath = window.location.pathname.replace(\n /\\/form\\/[^/]+/,\n \"/list\",\n );\n\n const queryObject = getFilterObjectFromLocalStorageByUrl(listPath);\n const defaultQueryObject = queryObject || {};\n const locale = searchParams.get(\"locale\");\n const defaultEntityLocaleId = searchParams.get(\"defaultEntityLocaleId\");\n const resolvedFilters = internationalisationEnabled && locale\n ? rewriteLocaleFilter(defaultQueryObject.finalFullFilter || null, locale)\n : (defaultQueryObject.finalFullFilter || null);\n\n const requiresPopulate =\n Array.isArray(defaultQueryObject.sort) &&\n defaultQueryObject.sort[0].split(\":\")[0].includes(\".\");\n const queryData = {\n offset: defaultQueryObject.offset || 0,\n limit: defaultQueryObject.limit || 25,\n filters: resolvedFilters,\n // fields: [\"id\"],\n modelName: params.modelName,\n recordId: params.id,\n sort: defaultQueryObject.sort,\n ...(requiresPopulate && {\n populate: defaultQueryObject.populate,\n }),\n };\n\n if (locale) {\n queryData.locale = locale;\n }\n\n if (defaultEntityLocaleId && defaultEntityLocaleId !== \"new\") {\n queryData.defaultEntityLocaleId = defaultEntityLocaleId;\n }\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const response: any = await triggerGetNavigation(queryString).unwrap();\n if (response.statusCode == 200) {\n setPrevNav(response?.data?.prev ?? null);\n setNextNav(response?.data?.next ?? null);\n setMeta(response?.data?.meta ?? null);\n }\n };\n fetchNavigation();\n }\n }, [params.id, params.embeded, params.modelName, searchParams, triggerGetNavigation]);\n\n // -----------------------------\n // UI\n // -----------------------------\n return (\n <div\n className=\"flex justify-end items-center gap-2 p-1\"\n >{meta &&\n <span className=\"solid-form-footer-pagination-meta p-2\">{`${meta.currentIndexGlobal} of ${meta.totalRecords}`}</span>\n }\n {prevNav && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidButton\n icon=\"si si-angle-left\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handlePrev()}\n disabled={isLoading}\n />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"top\">Previous</SolidTooltipContent>\n </SolidTooltip>\n )}\n\n {nextNav && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidButton\n icon=\"si si-angle-right\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handleNext()}\n disabled={isLoading}\n />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"top\">Next</SolidTooltipContent>\n </SolidTooltip>\n )}\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SolidFormFooter.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormFooter.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { useLazyNavigationQuery } from \"../../../redux/api/modelApi\";\nimport { useEffect, useState } from \"react\";\nimport qs from \"qs\";\nimport { setFilterObjectToLocalStorageByUrl, getFilterObjectFromLocalStorageByUrl } from \"../list/SolidListView\";\nimport { SolidFormViewProps } from \"./SolidFormView\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { SolidButton, SolidTooltip, SolidTooltipContent, SolidTooltipTrigger } from \"../../shad-cn-ui\";\n\nexport type SolidFormFooterProps = {\n params: SolidFormViewProps;\n internationalisationEnabled?: boolean;\n};\n\ntype NavItem = {\n recordId: number;\n offset: number;\n limit: number;\n};\n\nexport const SolidFormFooter = ({ params, internationalisationEnabled = false }: SolidFormFooterProps) => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const router = useRouter();\n\n const [prevNav, setPrevNav] = useState<NavItem | null>(null);\n const [nextNav, setNextNav] = useState<NavItem | null>(null);\n const [meta, setMeta] = useState<any>(null);\n\n const [triggerGetNavigation, { isLoading }] =\n useLazyNavigationQuery();\n\n const rewriteLocaleFilter = (filterNode: any, locale: string): any => {\n if (!filterNode || typeof filterNode !== \"object\") return filterNode;\n\n if (Array.isArray(filterNode)) {\n return filterNode.map((item) => rewriteLocaleFilter(item, locale));\n }\n\n const nextNode = { ...filterNode };\n\n if (Object.prototype.hasOwnProperty.call(nextNode, \"localeName\")) {\n const localeFilter = nextNode.localeName;\n\n if (localeFilter && typeof localeFilter === \"object\" && !Array.isArray(localeFilter)) {\n const updatedLocaleFilter: Record<string, any> = { ...localeFilter };\n Object.keys(updatedLocaleFilter).forEach((operator) => {\n const operatorValue = updatedLocaleFilter[operator];\n if (Array.isArray(operatorValue)) {\n updatedLocaleFilter[operator] = [locale];\n } else {\n updatedLocaleFilter[operator] = locale;\n }\n });\n nextNode.localeName = updatedLocaleFilter;\n } else {\n nextNode.localeName = locale;\n }\n }\n\n Object.keys(nextNode).forEach((key) => {\n if (key === \"localeName\") return;\n nextNode[key] = rewriteLocaleFilter(nextNode[key], locale);\n });\n\n return nextNode;\n };\n\n // -----------------------------\n // Helper: update local storage\n // -----------------------------\n const updatePaginationInLocalStorage = (offset: number, limit: number) => {\n const listPath = window.location.pathname.replace(\n /\\/form\\/[^/]+/,\n \"/list\",\n );\n const queryObject = getFilterObjectFromLocalStorageByUrl(listPath) || {};\n\n const updatedQueryObj = {\n ...queryObject,\n offset,\n limit,\n };\n setFilterObjectToLocalStorageByUrl(listPath, updatedQueryObj)\n };\n\n const getNewUrl = (recordId: number): string => {\n // Replace the id after /form/\n const newPathname = pathname.replace(\n /\\/form\\/[^/]+/,\n `/form/${recordId}`,\n );\n\n // Clone search params (immutable in Next.js)\n const params = new URLSearchParams(searchParams.toString());\n\n // Remove only userKeyField\n params.delete(\"userKeyField\");\n\n const query = params.toString();\n return query ? `${newPathname}?${query}` : newPathname;\n }\n\n\n // -----------------------------\n // Click handlers\n // -----------------------------\n const handlePrev = () => {\n\n if (!prevNav) return;\n\n updatePaginationInLocalStorage(prevNav.offset, prevNav.limit);\n const newUrl = getNewUrl(prevNav.recordId)\n router.push(newUrl);\n };\n\n const handleNext = () => {\n if (!nextNav) return;\n\n updatePaginationInLocalStorage(nextNav.offset, nextNav.limit);\n const newUrl = getNewUrl(nextNav.recordId)\n router.push(newUrl);\n };\n\n // -----------------------------\n // Fetch navigation data\n // -----------------------------\n useEffect(() => {\n if (params.embeded === true) {\n setPrevNav(null);\n setNextNav(null);\n setMeta(null);\n return;\n }\n\n if (params.id !== \"new\") {\n\n const fetchNavigation = async () => {\n const listPath = window.location.pathname.replace(\n /\\/form\\/[^/]+/,\n \"/list\",\n );\n\n const queryObject = getFilterObjectFromLocalStorageByUrl(listPath);\n const defaultQueryObject = queryObject || {};\n const locale = searchParams.get(\"locale\");\n const defaultEntityLocaleId = searchParams.get(\"defaultEntityLocaleId\");\n const resolvedFilters = internationalisationEnabled && locale\n ? rewriteLocaleFilter(defaultQueryObject.finalFullFilter || null, locale)\n : (defaultQueryObject.finalFullFilter || null);\n\n const requiresPopulate =\n Array.isArray(defaultQueryObject.sort) &&\n defaultQueryObject.sort[0].split(\":\")[0].includes(\".\");\n const queryData = {\n offset: defaultQueryObject.offset || 0,\n limit: defaultQueryObject.limit || 25,\n filters: resolvedFilters,\n // fields: [\"id\"],\n modelName: params.modelName,\n recordId: params.id,\n sort: defaultQueryObject.sort,\n ...(requiresPopulate && {\n populate: defaultQueryObject.populate,\n }),\n };\n\n if (locale) {\n queryData.locale = locale;\n }\n\n if (defaultEntityLocaleId && defaultEntityLocaleId !== \"new\") {\n queryData.defaultEntityLocaleId = defaultEntityLocaleId;\n }\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const response: any = await triggerGetNavigation(queryString).unwrap();\n if (response.statusCode == 200) {\n setPrevNav(response?.data?.prev ?? null);\n setNextNav(response?.data?.next ?? null);\n setMeta(response?.data?.meta ?? null);\n }\n };\n fetchNavigation();\n }\n }, [params.id, params.embeded, params.modelName, searchParams, triggerGetNavigation]);\n\n // -----------------------------\n // UI\n // -----------------------------\n return (\n <div\n className=\"solid-form-footer flex justify-end items-center gap-2 p-1\"\n >{meta &&\n <span className=\"solid-form-footer-pagination-meta p-2\">{`${meta.currentIndexGlobal} of ${meta.totalRecords}`}</span>\n }\n {prevNav && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidButton\n icon=\"si si-angle-left\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handlePrev()}\n disabled={isLoading}\n />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"top\">Previous</SolidTooltipContent>\n </SolidTooltip>\n )}\n\n {nextNav && (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <SolidButton\n icon=\"si si-angle-right\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handleNext()}\n disabled={isLoading}\n />\n </SolidTooltipTrigger>\n <SolidTooltipContent side=\"top\">Next</SolidTooltipContent>\n </SolidTooltip>\n )}\n </div>\n );\n};\n"]}
|
|
@@ -196,7 +196,7 @@ export const SolidFormFooter = ({ params, internationalisationEnabled = false }:
|
|
|
196
196
|
// -----------------------------
|
|
197
197
|
return (
|
|
198
198
|
<div
|
|
199
|
-
className="flex justify-end items-center gap-2 p-1"
|
|
199
|
+
className="solid-form-footer flex justify-end items-center gap-2 p-1"
|
|
200
200
|
>{meta &&
|
|
201
201
|
<span className="solid-form-footer-pagination-meta p-2">{`${meta.currentIndexGlobal} of ${meta.totalRecords}`}</span>
|
|
202
202
|
}
|
|
@@ -45,7 +45,7 @@ var SolidFormLayouts = function (_a) {
|
|
|
45
45
|
refetchuser();
|
|
46
46
|
}
|
|
47
47
|
}, [refetchuser]);
|
|
48
|
-
return (_jsxs("div", { className: "page-parent-wrapper", children: [params.modelName === "model-metadata" &&
|
|
48
|
+
return (_jsxs("div", { className: "page-parent-wrapper solid-form-page-wrapper", children: [params.modelName === "model-metadata" &&
|
|
49
49
|
// <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />
|
|
50
50
|
(params.id === "new" ?
|
|
51
51
|
_jsx(CreateModel, { params: params })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidFormLayouts.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormLayouts.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAUnC,IAAM,gBAAgB,GAAG,UAAC,EAAe;QAAb,MAAM,YAAA;IACxB,IAAA,KAMF,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAgB;KACrE,CAAC,EAPQ,SAAS,UAAA,EACf,KAAK,WAAA,EACL,SAAS,eAAA,EACT,OAAO,aAAA,EACP,OAAO,aAGT,CAAC;IACH,SAAS,CAAC;QACN,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,gBAAgB,EAAE;YAC/D,OAAO,EAAE,CAAC;SACb;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnB,IAAA,KAMF,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB;KACtE,CAAC,EAPQ,UAAU,UAAA,EACT,WAAW,WAAA,EACP,eAAe,eAAA,EACjB,aAAa,aAAA,EACb,aAAa,aAGxB,CAAC;IACH,SAAS,CAAC;QACN,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB,EAAE;YAChE,aAAa,EAAE,CAAC;SACnB;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEd,IAAA,KAMF,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM;KAC3D,CAAC,EAPQ,QAAQ,UAAA,EACP,SAAS,WAAA,EACL,aAAa,eAAA,EACf,WAAW,aAAA,EACX,WAAW,aAGtB,CAAC;IACH,SAAS,CAAC;QACN,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,KAAK,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,MAAK,MAAM,EAAE;YACtD,WAAW,EAAE,CAAC;SACjB;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACH,eAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"SolidFormLayouts.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormLayouts.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useGetmodelByIdQuery } from \"../../../redux/api/modelApi\";\nimport { useGetmoduleByIdQuery } from \"../../../redux/api/moduleApi\";\nimport { useGetusersByIdQuery } from \"../../../redux/api/userApi\";\nimport { useEffect } from \"react\";\nimport CreateModel from \"../model/CreateModel\";\nimport CreateModule from \"../module/CreateModule\";\nimport CreateUser from \"../users/CreateUser\";\nimport SolidFormView from \"./SolidFormView\";\nimport { camelCase } from \"lodash\";\n\ntype SolidViewParams = {\n params: {\n moduleName: string;\n modelName: string;\n id: string;\n };\n};\n\nconst SolidFormLayouts = ({ params }: any) => {\n const {\n data: modelData,\n error,\n isLoading,\n isError,\n refetch\n } = useGetmodelByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'model-metadata',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params.modelName === 'model-metadata') {\n refetch();\n }\n }, [params.id, refetch]);\n\n const {\n data: moduleData,\n error: moduleError,\n isLoading: isModuleLoading,\n isError: isModuleError,\n refetch: refetchModule\n } = useGetmoduleByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'module-metadata',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params.modelName === 'module-metadata') {\n refetchModule();\n }\n }, [refetchModule]);\n\n const {\n data: userData,\n error: usererror,\n isLoading: isuserLoading,\n isError: isuserError,\n refetch: refetchuser\n } = useGetusersByIdQuery(params.id, {\n skip: params.id === 'new' || params.modelName !== 'user',\n });\n useEffect(() => {\n if (params?.id !== 'new' && params?.modelName === 'user') {\n refetchuser();\n }\n }, [refetchuser]);\n\n return (\n <div className=\"page-parent-wrapper solid-form-page-wrapper\">\n {params.modelName === \"model-metadata\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateModel params={params}></CreateModel>\n :\n <CreateModel params={params} data={modelData?.data}></CreateModel>\n )\n }\n {params.modelName === \"module-metadata\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateModule params={params}></CreateModule>\n :\n <CreateModule params={params} data={moduleData?.data}></CreateModule>\n )\n }\n\n {params.modelName === \"user\" &&\n // <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n (params.id === \"new\" ?\n <CreateUser params={params}></CreateUser>\n :\n <CreateUser params={params} data={userData?.data}></CreateUser>\n )\n }\n\n {params.modelName === \"field-metadata\" &&\n <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n }\n {params.modelName !== \"field-metadata\" && params.modelName !== \"model-metadata\" && params.modelName !== \"module-metadata\" && params.modelName !== \"user\" &&\n <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />\n }\n </div>\n )\n}\n\nexport default SolidFormLayouts\n"]}
|
|
@@ -64,7 +64,7 @@ const SolidFormLayouts = ({ params }: any) => {
|
|
|
64
64
|
}, [refetchuser]);
|
|
65
65
|
|
|
66
66
|
return (
|
|
67
|
-
<div className="page-parent-wrapper">
|
|
67
|
+
<div className="page-parent-wrapper solid-form-page-wrapper">
|
|
68
68
|
{params.modelName === "model-metadata" &&
|
|
69
69
|
// <SolidFormView {...params} embeded={false} modelName={camelCase(params.modelName)} />
|
|
70
70
|
(params.id === "new" ?
|
|
@@ -101,4 +101,4 @@ const SolidFormLayouts = ({ params }: any) => {
|
|
|
101
101
|
)
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
export default SolidFormLayouts
|
|
104
|
+
export default SolidFormLayouts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaMultipleField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAK3E,OAAO,EAA6B,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"SolidMediaMultipleField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAK3E,OAAO,EAA6B,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAMzG,qBAAa,uBAAwB,YAAW,WAAW;IAEvD,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAyD;IACjF,OAAO,CAAC,eAAe,CAAC,CAA0B;gBACtC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,EAC/G,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;IAM7C,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAYnD,YAAY,IAAI,GAAG;IAKnB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAiD9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAmC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AAGD,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CAwW5I,CAAA;AAED,eAAO,MAAM,kCAAkC,+DAAgE,8BAA8B,4CAwL5I,CAAA"}
|