@solidxai/core-ui 0.1.12-beta.1 → 0.1.12-beta.2
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 +15 -19
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +26 -20
- package/dist/components/common/BackButton.js +1 -1
- package/dist/components/common/BackButton.js.map +1 -1
- package/dist/components/common/BackButton.tsx +1 -1
- package/dist/components/common/CancelButton.js +1 -1
- package/dist/components/common/CancelButton.js.map +1 -1
- package/dist/components/common/CancelButton.tsx +1 -1
- package/dist/components/common/GeneralSettings.d.ts.map +1 -1
- package/dist/components/common/GeneralSettings.js +6 -33
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +20 -57
- package/dist/components/common/SettingsComponent.d.ts.map +1 -1
- package/dist/components/common/SettingsComponent.js +1 -9
- package/dist/components/common/SettingsComponent.js.map +1 -1
- package/dist/components/common/SettingsComponent.tsx +1 -8
- package/dist/components/common/SolidBreadcrumb.js +1 -1
- package/dist/components/common/SolidBreadcrumb.js.map +1 -1
- package/dist/components/common/SolidBreadcrumb.tsx +2 -2
- package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -1
- package/dist/components/common/SolidFaviconProvider.js +1 -8
- package/dist/components/common/SolidFaviconProvider.js.map +1 -1
- package/dist/components/common/SolidFaviconProvider.tsx +1 -7
- package/dist/components/core/card/CardItem.d.ts.map +1 -1
- package/dist/components/core/card/CardItem.js +3 -4
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +3 -4
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +6 -1
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +6 -1
- package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.js +4 -1
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.tsx +4 -1
- package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
- package/dist/components/core/common/SolidCreateButton.js +2 -13
- package/dist/components/core/common/SolidCreateButton.js.map +1 -1
- package/dist/components/core/common/SolidCreateButton.tsx +2 -15
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +34 -15
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +37 -17
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +15 -13
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +4 -4
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +6 -5
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +1 -1
- package/dist/components/core/form/SolidFormFooter.d.ts +2 -1
- package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormFooter.js +48 -14
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +50 -4
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +52 -50
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +16 -9
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +2 -10
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +2 -10
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +11 -4
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +13 -5
- package/dist/components/core/list/SolidListView.d.ts +2 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +195 -111
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +136 -39
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +2 -0
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +2 -0
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +16 -19
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +16 -22
- package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.js +9 -8
- package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +4 -1
- package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
- package/dist/components/core/locales/SolidLocale.js +1 -2
- package/dist/components/core/locales/SolidLocale.js.map +1 -1
- package/dist/components/core/locales/SolidLocale.tsx +1 -2
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +1 -1
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +0 -1
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +1 -2
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.tsx +1 -3
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +47 -26
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +55 -23
- package/dist/components/layout/AdminTopHeader.js +2 -3
- package/dist/components/layout/AdminTopHeader.js.map +1 -1
- package/dist/components/layout/AdminTopHeader.tsx +2 -2
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +5 -2
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +7 -4
- package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +6 -4
- package/dist/components/layout/navbar-two-menu.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.tsx +4 -2
- package/dist/constants/error-messages.d.ts +1 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +1 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/error-messages.ts +1 -0
- package/dist/helpers/assetUrl.d.ts +3 -0
- package/dist/helpers/assetUrl.d.ts.map +1 -0
- package/dist/helpers/assetUrl.js +22 -0
- package/dist/helpers/assetUrl.js.map +1 -0
- package/dist/helpers/assetUrl.ts +26 -0
- package/dist/helpers/modelViewPersistence.d.ts +5 -0
- package/dist/helpers/modelViewPersistence.d.ts.map +1 -0
- package/dist/helpers/modelViewPersistence.js +168 -0
- package/dist/helpers/modelViewPersistence.js.map +1 -0
- package/dist/helpers/modelViewPersistence.ts +201 -0
- package/dist/helpers/routePaths.d.ts +6 -0
- package/dist/helpers/routePaths.d.ts.map +1 -1
- package/dist/helpers/routePaths.js +13 -0
- package/dist/helpers/routePaths.js.map +1 -1
- package/dist/helpers/routePaths.ts +25 -0
- package/dist/redux/api/solidServiceApi.d.ts +10 -2
- package/dist/redux/api/solidServiceApi.d.ts.map +1 -1
- package/dist/redux/api/solidServiceApi.js +2 -4
- package/dist/redux/api/solidServiceApi.js.map +1 -1
- package/dist/redux/api/solidServiceApi.ts +4 -6
- package/dist/redux/store/defaultStoreConfig.d.ts +5 -1
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/resources/solid-custom.css +3 -0
- package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.js +11 -0
- package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.tsx +13 -0
- package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.js +11 -0
- package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.tsx +13 -0
- package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.js +25 -2
- package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.tsx +29 -2
- package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/TreePage.js +10 -2
- package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
- package/dist/routes/pages/admin/core/TreePage.tsx +11 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/ModelMetaData.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { getSingularAndPlural } from \"../../../helpers/helpers\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useLazyGetModelsQuery } from \"../../../redux/api/modelApi\";\nimport { useLazyGetmodulesQuery } from \"../../../redux/api/moduleApi\";\nimport { useFormik } from \"formik\";\nimport { snakeCase } from \"lodash\";\nimport qs from \"qs\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport * as Yup from \"yup\";\nimport { SolidAutocomplete, SolidCheckbox, SolidInput, SolidPanel, SolidTextarea } from \"../../shad-cn-ui\";\nimport { useSolidAutocompleteField } from \"../../../hooks/useSolidAutocompleteField\";\nimport styles from \"../form/fields/solidFields.module.css\";\n\nconst cx = (...parts: Array<string | false | null | undefined | Record<string, boolean>>) => {\n const classes: string[] = [];\n parts.forEach((part) => {\n if (!part) return;\n if (typeof part === \"string\") {\n classes.push(part);\n return;\n }\n Object.entries(part).forEach(([key, value]) => {\n if (value) classes.push(key);\n });\n });\n return classes.join(\" \");\n};\n\nconst ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, nextTab, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {\n\n // const ModelMetaData = ({ modelMetaData, setModelMetaData, deleteModelFunction, nextTab, formikModelMetadataRef }: any) => { \n\n const dispatch = useDispatch();\n\n const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();\n const [triggerGetModels, { data: modelData, isFetching: isModelFetching, error: modelError }] = useLazyGetModelsQuery();\n const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);\n \n\n const initialValues = {\n singularName: modelMetaData ? modelMetaData?.singularName : \"\",\n pluralName: modelMetaData ? modelMetaData?.pluralName : \"\",\n displayName: modelMetaData ? modelMetaData?.displayName : \"\",\n description: modelMetaData ? modelMetaData?.description : \"\",\n dataSource: modelMetaData ? modelMetaData?.dataSource : \"\",\n dataSourceType: modelMetaData ? modelMetaData?.dataSourceType : \"\",\n tableName: modelMetaData ? modelMetaData?.tableName : null,\n moduleId: modelMetaData ? modelMetaData?.module?.id : \"\",\n module: modelMetaData ? modelMetaData?.module : \"\",\n isSystem: modelMetaData ? modelMetaData?.isSystem : false,\n enableSoftDelete: modelMetaData ? modelMetaData?.enableSoftDelete : \"\",\n enableAuditTracking: modelMetaData ? modelMetaData?.enableAuditTracking : true,\n internationalisation: modelMetaData ? modelMetaData?.internationalisation : \"\",\n draftPublishWorkflow: modelMetaData ? modelMetaData?.draftPublishWorkflow : \"\",\n isChild: modelMetaData ? modelMetaData?.isChild : \"\",\n parentModelId: modelMetaData ? modelMetaData?.parentModel?.id : \"\",\n parentModel: modelMetaData ? modelMetaData?.parentModel : \"\",\n isLegacyTable: modelMetaData ? modelMetaData?.isLegacyTable : false,\n hasExistingId: modelMetaData ? modelMetaData?.hasExistingId : false,\n };\n\n const [showTableName, setShowTableName] = useState<any>(false);\n const [showParentModel, setShowParentModel] = useState<any>(false);\n const [selectedModule, setSelectedModule] = useState<any>(null);\n\n\n useEffect(() => {\n if (modelMetaData && modelMetaData.tableName) {\n setShowTableName(true)\n }\n if (modelMetaData && modelMetaData.isChild) {\n setShowParentModel(true)\n }\n else if (modelMetaData && !modelMetaData.isChild) {\n setShowParentModel(false)\n }\n }, [modelMetaData])\n\n const validationSchema = Yup.object({\n singularName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .notOneOf(allModelsNames, ERROR_MESSAGES.FIELD_ALREADY_USE('Name', 'name'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Singular Name')),\n pluralName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Plural Name')),\n // tableName: Yup.string().required().matches(/^[a-z0-9_]+$/, ERROR_MESSAGES.SNAKE_CASE('Tabale')),\n displayName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Display Name\")),\n description: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Description Name\")),\n dataSource: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source\")),\n dataSourceType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source Type\")),\n moduleId: Yup.number().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module Id\")),\n module: Yup.object().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module\")),\n isSystem: Yup.boolean(),\n enableSoftDelete: Yup.boolean(),\n enableAuditTracking: Yup.boolean(),\n internationalisation: Yup.boolean(),\n draftPublishWorkflow: Yup.boolean(),\n isChild: Yup.boolean(),\n parentModelId: Yup.number().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model Id'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n parentModel: Yup.object().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n isLegacyTable: Yup.boolean(),\n hasExistingId: Yup.boolean(),\n });\n\n\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const getFieldErrorMessage = (fieldName: string, fallbackField?: string) => {\n const errors = formik.errors as Record<string, any>;\n const message =\n errors[fieldName] ??\n (fallbackField ? errors[fallbackField] : undefined) ??\n formErrors[fieldName] ??\n (fallbackField ? formErrors[fallbackField] : undefined);\n return message;\n };\n\n const fieldHasError = (fieldName: string, fallbackField?: string) => {\n return Boolean(\n isFormFieldValid(formik, fieldName) ||\n (fallbackField && isFormFieldValid(formik, fallbackField)) ||\n formErrors[fieldName] ||\n (fallbackField && formErrors[fallbackField])\n );\n };\n\n const renderFieldError = (fieldName: string, fallbackField?: string) => {\n if (!fieldHasError(fieldName, fallbackField)) {\n return null;\n }\n\n const message = getFieldErrorMessage(fieldName, fallbackField);\n\n if (!message) {\n return null;\n }\n\n const errorText = Array.isArray(message) ? message.join(\", \") : String(message);\n return <p className={styles.fieldError}>{errorText}</p>;\n };\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n validateOnChange: true, // This ensures validation runs when a field value is changed\n enableReinitialize: true,\n innerRef: formikModelMetadataRef,\n onSubmit: async (values) => {\n const tableName = generateTableName(values.module.displayName, values.singularName);\n\n try {\n const modelData = {\n ...modelMetaData,\n singularName: values.singularName,\n pluralName: values.pluralName,\n displayName: values.displayName,\n description: values.description,\n dataSource: values.dataSource,\n dataSourceType: values.dataSourceType,\n tableName: values?.tableName || tableName,\n moduleId: values.moduleId,\n module: values.module,\n isSystem: values.isSystem ? values.isSystem === true : '',\n enableSoftDelete: values.enableSoftDelete === true ? true : '',\n enableAuditTracking: values.enableAuditTracking === true ? true : '',\n internationalisation: values.internationalisation === true ? true : '',\n draftPublishWorkflow: values.draftPublishWorkflow === true ? true : '',\n isChild: values.isChild === true ? true : '',\n ...(values.isChild == true && {\n parentModelId: values.parentModelId,\n parentModel: values.parentModel,\n }),\n isLegacyTable: values.isLegacyTable === true ? true : false,\n hasExistingId: values.hasExistingId === true ? true : false,\n \n };\n setModelMetaData(modelData);\n nextTab()\n\n } catch (err) {\n console.error(ERROR_MESSAGES.CREATE_MODEL, err);\n }\n },\n });\n\n function generateTableName(moduleSlug: string, modelName: string): string {\n const snakeCaseModelName = snakeCase(modelName);\n const sankeCaseModuleName = snakeCase(moduleSlug);\n return `${sankeCaseModuleName}_${snakeCaseModelName}`;\n }\n\n const showError = async () => {\n const errors = await formik.validateForm(); // Trigger validation and get the updated errors\n const errorMessages = Object.values(errors);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n const searchModule = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const searchModel = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n singularName: {\n $containsi: query,\n },\n },\n };\n\n // Add module filter dynamically\n if (selectedModule?.name) {\n (queryData.filters as any)[\"module\"] = {\n name: { $containsi: selectedModule.name },\n };\n }\n\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModels(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const serachDataSource = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.name.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.name, value: e.name, type: e.type }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n const serachDataSourceType = async (event: any) => {\n const query = event.query;\n try {\n\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.type.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.type, value: e.type }))\n return transformedData;\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return [];\n\n }\n };\n\n\n // useEffect(() => {\n // if (modelMetaData) {\n // setModelMetaData(modelMetaData.parentCategoryId);\n\n // // formik.setFieldValue(\"parentCategoryId\", modelMetaData.parentCategoryId);\n // }\n // }, [modelMetaData])\n\n\n // Set the formik reference to the formik instance\n // Set the formik reference to the formik instance\n useEffect(() => {\n if (formikModelMetadataRef) {\n formikModelMetadataRef.current = formik; // Assign the formik instance to the ref\n }\n }, [formik, formikModelMetadataRef]);\n\n\n const renderCount = useRef(0);\n\n useEffect(() => {\n renderCount.current += 1; // Increment count on every render\n });\n\n\n useEffect(() => {\n formik.validateForm();\n setModelMetaData(formik.values);\n\n }, [formik.values])\n\n useEffect(() => {\n if (formik.dirty) {\n setIsDirty(true);\n }\n }, [formik.dirty]);\n\n const moduleField = useSolidAutocompleteField({\n formik,\n fieldName: \"module\",\n fieldNameId: \"moduleId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModule,\n existingData: formik.values.module,\n relationField: true,\n additionalAction: (e: any) => setSelectedModule(e.value),\n });\n\n const dataSourceField = useSolidAutocompleteField({\n formik,\n fieldName: \"dataSource\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: serachDataSource,\n existingData: formik.values.dataSource,\n additionalAction: (e: any) => formik.setFieldValue(\"dataSourceType\", e.target.value.type),\n });\n\n const parentModelField = useSolidAutocompleteField({\n formik,\n fieldName: \"parentModel\",\n fieldNameId: \"parentModelId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModel,\n existingData: formik.values.parentModel,\n relationField: true,\n });\n\n return (\n\n <>\n <form onSubmit={formik.handleSubmit}>\n <div className=\"\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pr-4\">\n <SolidPanel header={\"Basic Info\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"moduleId\" className={styles.fieldLabel}>\n Module\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"module\", \"moduleId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={moduleField.selectedItem}\n suggestions={moduleField.filteredItems}\n completeMethod={moduleField.searchItems}\n onChange={moduleField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"module\", \"moduleId\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"dataSource\" className={styles.fieldLabel}>\n Data Source\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"dataSource\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={dataSourceField.selectedItem}\n suggestions={dataSourceField.filteredItems}\n completeMethod={dataSourceField.searchItems}\n onChange={dataSourceField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {formik.values.dataSourceType && (\n <p className=\"form-field-label text-sm\">\n Your datasource will connect to a {formik.values.dataSourceType} database\n </p>\n )}\n {renderFieldError(\"dataSource\")}\n </div>\n </SolidPanel>\n\n <SolidPanel header={\"Configurations\"} className=\"solid-column-panel mt-3 mb-3 lg:mt-5\">\n <div className=\"mt-2\">\n <SolidCheckbox\n name=\"enableSoftDelete\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableSoftDelete}\n onChange={(event) => {\n formik.setFieldValue(\"enableSoftDelete\", event.currentTarget.checked);\n }}\n label=\"Enable Soft Delete\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Soft-delete can only be set during initial creation to maintain data integrity\n </p>\n )}\n {renderFieldError(\"enableSoftDelete\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isChild\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isChild}\n onChange={(event) => {\n formik.setFieldValue(\"isChild\", event.currentTarget.checked);\n }}\n label=\"Is Child\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Is Current Model child of another Model\n </p>\n )}\n {renderFieldError(\"isChild\")}\n </div>\n\n {showParentModel && (\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"parentModelId\" className={styles.fieldLabel}>\n Parent Model\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"parentModel\", \"parentModelId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={parentModelField.selectedItem}\n suggestions={parentModelField.filteredItems}\n completeMethod={parentModelField.searchItems}\n onChange={parentModelField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"parentModel\", \"parentModelId\")}\n </div>\n )}\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"enableAuditTracking\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableAuditTracking}\n onChange={(event) => {\n formik.setFieldValue(\"enableAuditTracking\", event.currentTarget.checked);\n }}\n label=\"Enable Audit Tracking\"\n />\n {renderFieldError(\"enableAuditTracking\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"internationalisation\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.internationalisation}\n onChange={(event) => {\n formik.setFieldValue(\"internationalisation\", event.currentTarget.checked);\n }}\n label=\"Is Internationalisation Enabled\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"draftPublishWorkflow\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.draftPublishWorkflow}\n onChange={(event) => {\n formik.setFieldValue(\"draftPublishWorkflow\", event.currentTarget.checked);\n }}\n label=\"Draft/Publish Workflow\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isLegacyTable\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isLegacyTable}\n onChange={(event) => {\n const isChecked = event.currentTarget.checked;\n formik.setFieldValue(\"isLegacyTable\", isChecked);\n if (!isChecked) {\n formik.setFieldValue(\"hasExistingId\", false);\n }\n }}\n label=\"Is Legacy Table\"\n />\n </div>\n\n {formik.values.isLegacyTable && (\n <>\n <div className=\"ml-4 mt-2\">\n <SolidCheckbox\n name=\"hasExistingId\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.hasExistingId}\n onChange={(event) => {\n formik.setFieldValue(\"hasExistingId\", event.currentTarget.checked);\n }}\n label=\"Has existing Id\"\n />\n </div>\n <p className=\"form-field-label mt-2 text-sm\">\n Note: Legacy tables require at least one field marked as Primary Key during model creation\n </p>\n </>\n )}\n </SolidPanel>\n </div>\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pl-4\">\n <SolidPanel header={\"Basic Settings\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"displayName\" className={styles.fieldLabel}>\n Display Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"displayName\"\n name=\"displayName\"\n className={styles.fieldInput}\n value={formik.values.displayName}\n disabled={params.id !== \"new\"}\n onChange={(e) => {\n formik.handleChange(e);\n const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(e.target.value);\n if (params.id === \"new\") {\n formik.setFieldValue(\"singularName\", toCamelCase);\n formik.setFieldValue(\"pluralName\", toPluralCamelCase);\n formik.setFieldValue(\"tableName\", toSnakeCase);\n }\n }}\n />\n {renderFieldError(\"displayName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"singularName\" className={styles.fieldLabel}>\n Singular Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"singularName\"\n name=\"singularName\"\n className={styles.fieldInput}\n value={formik.values.singularName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"singularName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"pluralName\" className={styles.fieldLabel}>\n Plural Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"pluralName\"\n name=\"pluralName\"\n className={styles.fieldInput}\n value={formik.values.pluralName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"pluralName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"tableName\" className={styles.fieldLabel}>\n Table Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"tableName\"\n name=\"tableName\"\n className={styles.fieldInput}\n value={formik.values.tableName}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"tableName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"description\" className={styles.fieldLabel}>\n Description\n </label>\n <SolidTextarea\n id=\"description\"\n name=\"description\"\n className={styles.fieldTextarea}\n value={formik.values.description}\n rows={5}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"description\")}\n </div>\n </SolidPanel>\n </div>\n </div>\n </div>\n </form>\n </>\n );\n});\n\nexport default ModelMetaData;\n"]}
|
|
1
|
+
{"version":3,"file":"ModelMetaData.js","sourceRoot":"","sources":["../../../../src/components/core/model/ModelMetaData.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { getSingularAndPlural } from \"../../../helpers/helpers\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useLazyGetModelsQuery } from \"../../../redux/api/modelApi\";\nimport { useLazyGetmodulesQuery } from \"../../../redux/api/moduleApi\";\nimport { useFormik } from \"formik\";\nimport { snakeCase } from \"lodash\";\nimport qs from \"qs\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport * as Yup from \"yup\";\nimport { SolidAutocomplete, SolidCheckbox, SolidInput, SolidPanel, SolidTextarea } from \"../../shad-cn-ui\";\nimport { useSolidAutocompleteField } from \"../../../hooks/useSolidAutocompleteField\";\nimport styles from \"../form/fields/solidFields.module.css\";\n\nconst cx = (...parts: Array<string | false | null | undefined | Record<string, boolean>>) => {\n const classes: string[] = [];\n parts.forEach((part) => {\n if (!part) return;\n if (typeof part === \"string\") {\n classes.push(part);\n return;\n }\n Object.entries(part).forEach(([key, value]) => {\n if (value) classes.push(key);\n });\n });\n return classes.join(\" \");\n};\n\nconst ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {\n\n // const ModelMetaData = ({ modelMetaData, setModelMetaData, deleteModelFunction, nextTab, formikModelMetadataRef }: any) => { \n\n const dispatch = useDispatch();\n\n const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();\n const [triggerGetModels, { data: modelData, isFetching: isModelFetching, error: modelError }] = useLazyGetModelsQuery();\n const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);\n \n\n const initialValues = {\n singularName: modelMetaData ? modelMetaData?.singularName : \"\",\n pluralName: modelMetaData ? modelMetaData?.pluralName : \"\",\n displayName: modelMetaData ? modelMetaData?.displayName : \"\",\n description: modelMetaData ? modelMetaData?.description : \"\",\n dataSource: modelMetaData ? modelMetaData?.dataSource : \"\",\n dataSourceType: modelMetaData ? modelMetaData?.dataSourceType : \"\",\n tableName: modelMetaData ? modelMetaData?.tableName : null,\n moduleId: modelMetaData ? modelMetaData?.module?.id : \"\",\n module: modelMetaData ? modelMetaData?.module : \"\",\n isSystem: modelMetaData ? modelMetaData?.isSystem : false,\n enableSoftDelete: modelMetaData ? modelMetaData?.enableSoftDelete : \"\",\n enableAuditTracking: modelMetaData ? modelMetaData?.enableAuditTracking : true,\n internationalisation: modelMetaData ? modelMetaData?.internationalisation : \"\",\n draftPublishWorkflow: modelMetaData ? modelMetaData?.draftPublishWorkflow : \"\",\n isChild: modelMetaData ? modelMetaData?.isChild : \"\",\n parentModelId: modelMetaData ? modelMetaData?.parentModel?.id : \"\",\n parentModel: modelMetaData ? modelMetaData?.parentModel : \"\",\n isLegacyTable: modelMetaData ? modelMetaData?.isLegacyTable : false,\n hasExistingId: modelMetaData ? modelMetaData?.hasExistingId : false,\n };\n\n const [showTableName, setShowTableName] = useState<any>(false);\n const [showParentModel, setShowParentModel] = useState<any>(false);\n const [selectedModule, setSelectedModule] = useState<any>(null);\n\n\n useEffect(() => {\n if (modelMetaData && modelMetaData.tableName) {\n setShowTableName(true)\n }\n if (modelMetaData && modelMetaData.isChild) {\n setShowParentModel(true)\n }\n else if (modelMetaData && !modelMetaData.isChild) {\n setShowParentModel(false)\n }\n }, [modelMetaData])\n\n const validationSchema = Yup.object({\n singularName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .notOneOf(allModelsNames, ERROR_MESSAGES.FIELD_ALREADY_USE('Name', 'name'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Singular Name')),\n pluralName: Yup.string()\n // .matches(\n // /^[a-z]+(-[a-z]+)*$/,\n // \"Invalid format. Use lowercase letters and hyphens only\"\n // )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Plural Name')),\n // tableName: Yup.string().required().matches(/^[a-z0-9_]+$/, ERROR_MESSAGES.SNAKE_CASE('Tabale')),\n displayName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Display Name\")),\n description: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Description Name\")),\n dataSource: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source\")),\n dataSourceType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Data Source Type\")),\n moduleId: Yup.number().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module Id\")),\n module: Yup.object().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Module\")),\n isSystem: Yup.boolean(),\n enableSoftDelete: Yup.boolean(),\n enableAuditTracking: Yup.boolean(),\n internationalisation: Yup.boolean(),\n draftPublishWorkflow: Yup.boolean(),\n isChild: Yup.boolean(),\n parentModelId: Yup.number().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model Id'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n parentModel: Yup.object().when(\"isChild\", (isChild: any, schema) => {\n if (isChild.length > 0 && isChild[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Parent Model'))\n } else {\n return schema.notRequired().nullable();\n }\n }),\n isLegacyTable: Yup.boolean(),\n hasExistingId: Yup.boolean(),\n });\n\n\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const getFieldErrorMessage = (fieldName: string, fallbackField?: string) => {\n const errors = formik.errors as Record<string, any>;\n const message =\n errors[fieldName] ??\n (fallbackField ? errors[fallbackField] : undefined) ??\n formErrors[fieldName] ??\n (fallbackField ? formErrors[fallbackField] : undefined);\n return message;\n };\n\n const fieldHasError = (fieldName: string, fallbackField?: string) => {\n return Boolean(\n isFormFieldValid(formik, fieldName) ||\n (fallbackField && isFormFieldValid(formik, fallbackField)) ||\n formErrors[fieldName] ||\n (fallbackField && formErrors[fallbackField])\n );\n };\n\n const renderFieldError = (fieldName: string, fallbackField?: string) => {\n if (!fieldHasError(fieldName, fallbackField)) {\n return null;\n }\n\n const message = getFieldErrorMessage(fieldName, fallbackField);\n\n if (!message) {\n return null;\n }\n\n const errorText = Array.isArray(message) ? message.join(\", \") : String(message);\n return <p className={styles.fieldError}>{errorText}</p>;\n };\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n validateOnChange: true, // This ensures validation runs when a field value is changed\n enableReinitialize: true,\n innerRef: formikModelMetadataRef,\n onSubmit: async (values) => {\n const tableName = generateTableName(values.module.displayName, values.singularName);\n\n try {\n const modelData = {\n ...modelMetaData,\n singularName: values.singularName,\n pluralName: values.pluralName,\n displayName: values.displayName,\n description: values.description,\n dataSource: values.dataSource,\n dataSourceType: values.dataSourceType,\n tableName: values?.tableName || tableName,\n moduleId: values.moduleId,\n module: values.module,\n isSystem: values.isSystem ? values.isSystem === true : '',\n enableSoftDelete: values.enableSoftDelete === true ? true : '',\n enableAuditTracking: values.enableAuditTracking === true ? true : '',\n internationalisation: values.internationalisation === true ? true : '',\n draftPublishWorkflow: values.draftPublishWorkflow === true ? true : '',\n isChild: values.isChild === true ? true : '',\n ...(values.isChild == true && {\n parentModelId: values.parentModelId,\n parentModel: values.parentModel,\n }),\n isLegacyTable: values.isLegacyTable === true ? true : false,\n hasExistingId: values.hasExistingId === true ? true : false,\n \n };\n setModelMetaData(modelData);\n } catch (err) {\n console.error(ERROR_MESSAGES.CREATE_MODEL, err);\n }\n },\n });\n\n function generateTableName(moduleSlug: string, modelName: string): string {\n const snakeCaseModelName = snakeCase(modelName);\n const sankeCaseModuleName = snakeCase(moduleSlug);\n return `${sankeCaseModuleName}_${snakeCaseModelName}`;\n }\n\n const showError = async () => {\n const errors = await formik.validateForm(); // Trigger validation and get the updated errors\n const errorMessages = Object.values(errors);\n if (errorMessages.length > 0) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SEND_REPORT, detail: errorMessages.map(String).join(', '), life: 3000 }));\n }\n };\n\n\n const searchModule = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const searchModel = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n singularName: {\n $containsi: query,\n },\n },\n };\n\n // Add module filter dynamically\n if (selectedModule?.name) {\n (queryData.filters as any)[\"module\"] = {\n name: { $containsi: selectedModule.name },\n };\n }\n\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModels(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const serachDataSource = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.name.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.name, value: e.name, type: e.type }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n const serachDataSourceType = async (event: any) => {\n const query = event.query;\n try {\n\n const filterredData: any = fieldDefaultMetaData.data.dataSource.filter((t: any) => t.type.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.type, value: e.type }))\n return transformedData;\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return [];\n\n }\n };\n\n\n // useEffect(() => {\n // if (modelMetaData) {\n // setModelMetaData(modelMetaData.parentCategoryId);\n\n // // formik.setFieldValue(\"parentCategoryId\", modelMetaData.parentCategoryId);\n // }\n // }, [modelMetaData])\n\n\n // Set the formik reference to the formik instance\n // Set the formik reference to the formik instance\n useEffect(() => {\n if (formikModelMetadataRef) {\n formikModelMetadataRef.current = formik; // Assign the formik instance to the ref\n }\n }, [formik, formikModelMetadataRef]);\n\n\n const renderCount = useRef(0);\n\n useEffect(() => {\n renderCount.current += 1; // Increment count on every render\n });\n\n\n useEffect(() => {\n formik.validateForm();\n setModelMetaData(formik.values);\n\n }, [formik.values])\n\n useEffect(() => {\n if (formik.dirty) {\n setIsDirty(true);\n }\n }, [formik.dirty]);\n\n const moduleField = useSolidAutocompleteField({\n formik,\n fieldName: \"module\",\n fieldNameId: \"moduleId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModule,\n existingData: formik.values.module,\n relationField: true,\n additionalAction: (e: any) => setSelectedModule(e.value),\n });\n\n const dataSourceField = useSolidAutocompleteField({\n formik,\n fieldName: \"dataSource\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: serachDataSource,\n existingData: formik.values.dataSource,\n additionalAction: (e: any) => formik.setFieldValue(\"dataSourceType\", e.target.value.type),\n });\n\n const parentModelField = useSolidAutocompleteField({\n formik,\n fieldName: \"parentModel\",\n fieldNameId: \"parentModelId\",\n labelKey: \"displayName\",\n valueKey: \"id\",\n searchData: searchModel,\n existingData: formik.values.parentModel,\n relationField: true,\n });\n\n return (\n\n <>\n <form onSubmit={formik.handleSubmit}>\n <div className=\"\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pr-4\">\n <SolidPanel header={\"Basic Info\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"moduleId\" className={styles.fieldLabel}>\n Module\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"module\", \"moduleId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={moduleField.selectedItem}\n suggestions={moduleField.filteredItems}\n completeMethod={moduleField.searchItems}\n onChange={moduleField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"module\", \"moduleId\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"dataSource\" className={styles.fieldLabel}>\n Data Source\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"dataSource\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={dataSourceField.selectedItem}\n suggestions={dataSourceField.filteredItems}\n completeMethod={dataSourceField.searchItems}\n onChange={dataSourceField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {formik.values.dataSourceType && (\n <p className=\"form-field-label text-sm\">\n Your datasource will connect to a {formik.values.dataSourceType} database\n </p>\n )}\n {renderFieldError(\"dataSource\")}\n </div>\n </SolidPanel>\n\n <SolidPanel header={\"Configurations\"} className=\"solid-column-panel mt-3 mb-3 lg:mt-5\">\n <div className=\"mt-2\">\n <SolidCheckbox\n name=\"enableSoftDelete\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableSoftDelete}\n onChange={(event) => {\n formik.setFieldValue(\"enableSoftDelete\", event.currentTarget.checked);\n }}\n label=\"Enable Soft Delete\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Soft-delete can only be set during initial creation to maintain data integrity\n </p>\n )}\n {renderFieldError(\"enableSoftDelete\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isChild\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isChild}\n onChange={(event) => {\n formik.setFieldValue(\"isChild\", event.currentTarget.checked);\n }}\n label=\"Is Child\"\n />\n {params.id !== \"new\" && (\n <p className=\"form-field-label mt-1 text-sm\">\n Is Current Model child of another Model\n </p>\n )}\n {renderFieldError(\"isChild\")}\n </div>\n\n {showParentModel && (\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"parentModelId\" className={styles.fieldLabel}>\n Parent Model\n </label>\n <div\n className={cx(\n \"solid-standard-autocomplete w-full\",\n fieldHasError(\"parentModel\", \"parentModelId\") && styles.fieldInvalidControl\n )}\n >\n <SolidAutocomplete\n disabled={params.id !== \"new\"}\n value={parentModelField.selectedItem}\n suggestions={parentModelField.filteredItems}\n completeMethod={parentModelField.searchItems}\n onChange={parentModelField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {renderFieldError(\"parentModel\", \"parentModelId\")}\n </div>\n )}\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"enableAuditTracking\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.enableAuditTracking}\n onChange={(event) => {\n formik.setFieldValue(\"enableAuditTracking\", event.currentTarget.checked);\n }}\n label=\"Enable Audit Tracking\"\n />\n {renderFieldError(\"enableAuditTracking\")}\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"internationalisation\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.internationalisation}\n onChange={(event) => {\n formik.setFieldValue(\"internationalisation\", event.currentTarget.checked);\n }}\n label=\"Is Internationalisation Enabled\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"draftPublishWorkflow\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.draftPublishWorkflow}\n onChange={(event) => {\n formik.setFieldValue(\"draftPublishWorkflow\", event.currentTarget.checked);\n }}\n label=\"Draft/Publish Workflow\"\n />\n </div>\n\n <div className=\"mt-3\">\n <SolidCheckbox\n name=\"isLegacyTable\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.isLegacyTable}\n onChange={(event) => {\n const isChecked = event.currentTarget.checked;\n formik.setFieldValue(\"isLegacyTable\", isChecked);\n if (!isChecked) {\n formik.setFieldValue(\"hasExistingId\", false);\n }\n }}\n label=\"Is Legacy Table\"\n />\n </div>\n\n {formik.values.isLegacyTable && (\n <>\n <div className=\"ml-4 mt-2\">\n <SolidCheckbox\n name=\"hasExistingId\"\n disabled={params.id !== \"new\"}\n checked={!!formik.values.hasExistingId}\n onChange={(event) => {\n formik.setFieldValue(\"hasExistingId\", event.currentTarget.checked);\n }}\n label=\"Has existing Id\"\n />\n </div>\n <p className=\"form-field-label mt-2 text-sm\">\n Note: Legacy tables require at least one field marked as Primary Key during model creation\n </p>\n </>\n )}\n </SolidPanel>\n </div>\n <div className=\"field w-full px-2 pt-2 lg:w-1/2 lg:pl-4\">\n <SolidPanel header={\"Basic Settings\"} className=\"solid-column-panel\">\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"displayName\" className={styles.fieldLabel}>\n Display Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"displayName\"\n name=\"displayName\"\n className={styles.fieldInput}\n value={formik.values.displayName}\n disabled={params.id !== \"new\"}\n onChange={(e) => {\n formik.handleChange(e);\n const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(e.target.value);\n if (params.id === \"new\") {\n formik.setFieldValue(\"singularName\", toCamelCase);\n formik.setFieldValue(\"pluralName\", toPluralCamelCase);\n formik.setFieldValue(\"tableName\", toSnakeCase);\n }\n }}\n />\n {renderFieldError(\"displayName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"singularName\" className={styles.fieldLabel}>\n Singular Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"singularName\"\n name=\"singularName\"\n className={styles.fieldInput}\n value={formik.values.singularName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"singularName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"pluralName\" className={styles.fieldLabel}>\n Plural Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"pluralName\"\n name=\"pluralName\"\n className={styles.fieldInput}\n value={formik.values.pluralName}\n disabled\n onChange={formik.handleChange}\n />\n {renderFieldError(\"pluralName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"tableName\" className={styles.fieldLabel}>\n Table Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"tableName\"\n name=\"tableName\"\n className={styles.fieldInput}\n value={formik.values.tableName}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"tableName\")}\n </div>\n\n <div className={styles.fieldWrapper}>\n <label htmlFor=\"description\" className={styles.fieldLabel}>\n Description\n </label>\n <SolidTextarea\n id=\"description\"\n name=\"description\"\n className={styles.fieldTextarea}\n value={formik.values.description}\n rows={5}\n disabled={params.id !== \"new\"}\n onChange={formik.handleChange}\n />\n {renderFieldError(\"description\")}\n </div>\n </SolidPanel>\n </div>\n </div>\n </div>\n </form>\n </>\n );\n});\n\nexport default ModelMetaData;\n"]}
|
|
@@ -30,7 +30,7 @@ const cx = (...parts: Array<string | false | null | undefined | Record<string, b
|
|
|
30
30
|
return classes.join(" ");
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction,
|
|
33
|
+
const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allModelsNames, deleteModelFunction, formikModelMetadataRef, params, formErrors, setIsDirty }: any, ref) => {
|
|
34
34
|
|
|
35
35
|
// const ModelMetaData = ({ modelMetaData, setModelMetaData, deleteModelFunction, nextTab, formikModelMetadataRef }: any) => {
|
|
36
36
|
|
|
@@ -200,8 +200,6 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
200
200
|
|
|
201
201
|
};
|
|
202
202
|
setModelMetaData(modelData);
|
|
203
|
-
nextTab()
|
|
204
|
-
|
|
205
203
|
} catch (err) {
|
|
206
204
|
console.error(ERROR_MESSAGES.CREATE_MODEL, err);
|
|
207
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidTreeView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/tree/SolidTreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SolidTreeView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/tree/SolidTreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAqCf,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,uBAAuB,CAAC,EAAE,GAAG,CAAC;QAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC;QACvB,sBAAsB,CAAC,EAAE,GAAG,CAAC;QAC7B,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC,KAAK,IAAI,CAAC;IACX,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC;QACb,gBAAgB,EAAE,GAAG,CAAC;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AA0CF,eAAO,MAAM,aAAa,iGAo4DxB,CAAC"}
|
|
@@ -76,7 +76,7 @@ import CompactImage from '../../../resources/images/layout/images/compact.png';
|
|
|
76
76
|
import CozyImage from '../../../resources/images/layout/images/cozy.png';
|
|
77
77
|
import ComfortableImage from '../../../resources/images/layout/images/comfortable.png';
|
|
78
78
|
import { ERROR_MESSAGES } from "../../../constants/error-messages";
|
|
79
|
-
import { getFilterObjectFromLocalStorage, setFilterObjectToLocalStorage } from "../list/SolidListView";
|
|
79
|
+
import { getFilterObjectFromLocalStorage, hasStoredFilterPredicates, setFilterObjectToLocalStorage } from "../list/SolidListView";
|
|
80
80
|
import { getExtensionFunction } from "../../../helpers/registry";
|
|
81
81
|
import { useRouter } from "../../../hooks/useRouter";
|
|
82
82
|
import { normalizeSolidListTreeKanbanActionPath } from "../../../helpers/routePaths";
|
|
@@ -84,6 +84,7 @@ import { usePathname } from "../../../hooks/usePathname";
|
|
|
84
84
|
import { useHandleListCustomButtonClick } from "../../../components/common/useHandleListCustomButtonClick";
|
|
85
85
|
import { SolidButton, SolidDialog, SolidDialogBody, SolidDialogDescription, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuSeparator, SolidDropdownMenuTrigger, SolidIcon } from "../../shad-cn-ui";
|
|
86
86
|
import { SolidHeaderRequestStatus } from "../../common/SolidHeaderRequestStatus";
|
|
87
|
+
import { storeCurrentModelViewContext } from "../../../helpers/modelViewPersistence";
|
|
87
88
|
import { Column as SolidTreeColumn, SolidTreeTable } from "./SolidTreeTable";
|
|
88
89
|
var DEFAULT_PAGE_SIZE = 25;
|
|
89
90
|
var DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100];
|
|
@@ -432,23 +433,52 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
432
433
|
}
|
|
433
434
|
return null;
|
|
434
435
|
};
|
|
435
|
-
var
|
|
436
|
+
var isEmptyGroupValue = function (value) {
|
|
437
|
+
return value === null || value === undefined || value === "";
|
|
438
|
+
};
|
|
439
|
+
var buildNestedCondition = function (fieldPath, condition, dateGranularity) {
|
|
436
440
|
var _a;
|
|
437
441
|
var parts = fieldPath.split(".").filter(Boolean);
|
|
438
442
|
if (parts.length === 0)
|
|
439
443
|
return {};
|
|
440
444
|
if (dateGranularity) {
|
|
441
|
-
return _a = {}, _a["".concat(parts[0], ":").concat(dateGranularity)] =
|
|
445
|
+
return _a = {}, _a["".concat(parts[0], ":").concat(dateGranularity)] = condition, _a;
|
|
442
446
|
}
|
|
443
447
|
return parts.reduceRight(function (acc, part) {
|
|
444
448
|
var _a;
|
|
445
449
|
return (_a = {}, _a[part] = acc, _a);
|
|
446
|
-
},
|
|
450
|
+
}, condition);
|
|
451
|
+
};
|
|
452
|
+
var buildEqCondition = function (fieldPath, value, dateGranularity) { return buildNestedCondition(fieldPath, { $eq: value }, dateGranularity); };
|
|
453
|
+
var buildNullCondition = function (fieldPath, dateGranularity) { return buildNestedCondition(fieldPath, { $null: true }, dateGranularity); };
|
|
454
|
+
var buildImplicitFilterCondition = function (item) {
|
|
455
|
+
var _a;
|
|
456
|
+
var fieldMetadata = getFieldMetadata(item.fieldName);
|
|
457
|
+
var isManyToOneRelation = (fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.type) === "relation" &&
|
|
458
|
+
(fieldMetadata === null || fieldMetadata === void 0 ? void 0 : fieldMetadata.relationType) === "many-to-one";
|
|
459
|
+
var emptyRelationFilter = (_a = {}, _a[item.fieldName] = { $null: true }, _a);
|
|
460
|
+
var emptyValueFilter = isManyToOneRelation
|
|
461
|
+
? emptyRelationFilter
|
|
462
|
+
: buildNullCondition(item.filterField, item.dateGranularity);
|
|
463
|
+
if (item.value === null || item.value === undefined) {
|
|
464
|
+
return emptyValueFilter;
|
|
465
|
+
}
|
|
466
|
+
if (item.value === "") {
|
|
467
|
+
if (item.dateGranularity) {
|
|
468
|
+
return emptyValueFilter;
|
|
469
|
+
}
|
|
470
|
+
return {
|
|
471
|
+
$or: [
|
|
472
|
+
buildEqCondition(item.filterField, "", item.dateGranularity),
|
|
473
|
+
emptyValueFilter,
|
|
474
|
+
],
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
return buildEqCondition(item.filterField, item.value, item.dateGranularity);
|
|
447
478
|
};
|
|
448
479
|
var buildImplicitFiltersFromPath = function (groupPath) {
|
|
449
480
|
return groupPath
|
|
450
|
-
|
|
451
|
-
.map(function (item) { return buildNestedEqCondition(item.filterField, item.value, item.dateGranularity); });
|
|
481
|
+
.map(function (item) { return buildImplicitFilterCondition(item); });
|
|
452
482
|
};
|
|
453
483
|
var mergeFiltersWithImplicit = function (implicitFilters) {
|
|
454
484
|
var _a;
|
|
@@ -674,9 +704,9 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
674
704
|
// const dateGranularity = dateTimeImplicitFilter(rule);
|
|
675
705
|
var dateGranularity = getDateGranularity(rule);
|
|
676
706
|
return (groupMetaRows || []).map(function (groupMeta, index) {
|
|
677
|
-
var _a
|
|
678
|
-
var groupLabel = (
|
|
679
|
-
var groupValue = (
|
|
707
|
+
var _a;
|
|
708
|
+
var groupLabel = isEmptyGroupValue(groupMeta === null || groupMeta === void 0 ? void 0 : groupMeta.groupName) ? "(empty)" : groupMeta === null || groupMeta === void 0 ? void 0 : groupMeta.groupName;
|
|
709
|
+
var groupValue = (_a = groupMeta === null || groupMeta === void 0 ? void 0 : groupMeta.groupValue) !== null && _a !== void 0 ? _a : "(empty)";
|
|
680
710
|
var idCount = extractGroupCount(groupMeta);
|
|
681
711
|
var groupPath = __spreadArray(__spreadArray([], parentPath, true), [
|
|
682
712
|
{ ruleIndex: ruleIndex, fieldName: fieldName, filterField: filterField, value: groupValue, dateGranularity: dateGranularity },
|
|
@@ -1061,7 +1091,12 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1061
1091
|
setRecoverDialogVisible(false);
|
|
1062
1092
|
};
|
|
1063
1093
|
var handleFetchUpdatedRecords = function () {
|
|
1064
|
-
|
|
1094
|
+
var _a, _b;
|
|
1095
|
+
if (hasStoredFilterPredicates(getFilterObjectFromLocalStorage())) {
|
|
1096
|
+
(_b = (_a = solidGlobalSearchElementRef.current) === null || _a === void 0 ? void 0 : _a.clearAppliedFilters) === null || _b === void 0 ? void 0 : _b.call(_a, { preserveGrouping: true });
|
|
1097
|
+
return;
|
|
1098
|
+
}
|
|
1099
|
+
void loadRootGroups(getPagination("root").offset);
|
|
1065
1100
|
};
|
|
1066
1101
|
// ─── Column rendering ─────────────────────────────────────────────────────
|
|
1067
1102
|
var renderColumnsDynamically = function () {
|
|
@@ -1195,11 +1230,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1195
1230
|
var _40 = useState(), selectedSolidViewData = _40[0], setSelectedSolidViewData = _40[1];
|
|
1196
1231
|
var _41 = useState(false), deleteEntity = _41[0], setDeleteEntity = _41[1];
|
|
1197
1232
|
var openRowForEdit = function (rowData, viewMode) {
|
|
1198
|
-
|
|
1199
|
-
sessionStorage.setItem("fromView", "tree");
|
|
1200
|
-
sessionStorage.setItem("fromViewUrl", window.location.pathname + window.location.search);
|
|
1201
|
-
}
|
|
1202
|
-
catch (e) { }
|
|
1233
|
+
storeCurrentModelViewContext();
|
|
1203
1234
|
router.push("".concat(editBaseUrl, "/").concat(rowData === null || rowData === void 0 ? void 0 : rowData.id, "?viewMode=").concat(viewMode, "&").concat(new URLSearchParams(editActionQueryParams).toString()));
|
|
1204
1235
|
};
|
|
1205
1236
|
var canEditRow = function (rowData, inContextMenu) {
|
|
@@ -1339,17 +1370,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
|
|
|
1339
1370
|
// if (params.embeded === true) {
|
|
1340
1371
|
// params.handleEditClickForEmbeddedView(rowData?.id);
|
|
1341
1372
|
// } else {
|
|
1342
|
-
|
|
1343
|
-
// store a simple marker for the caller
|
|
1344
|
-
// also store the full current URL so Back can restore exact state (including action params)
|
|
1345
|
-
try {
|
|
1346
|
-
sessionStorage.setItem("fromView", "tree");
|
|
1347
|
-
sessionStorage.setItem("fromViewUrl", window.location.pathname + window.location.search);
|
|
1348
|
-
}
|
|
1349
|
-
catch (e) {
|
|
1350
|
-
// ignore storage errors
|
|
1351
|
-
}
|
|
1352
|
-
}
|
|
1373
|
+
storeCurrentModelViewContext();
|
|
1353
1374
|
router.push("".concat(editBaseUrl, "/").concat(rowData === null || rowData === void 0 ? void 0 : rowData.id, "?viewMode=view&").concat(new URLSearchParams(editActionQueryParams).toString()));
|
|
1354
1375
|
// }
|
|
1355
1376
|
}, onSelectionChange: function (e) {
|