fix overwrite of entity config (e.g. empty label)

This commit is contained in:
dswbx
2025-01-23 09:02:58 +01:00
parent 7dd42fbff3
commit ba936604a3
4 changed files with 11 additions and 5 deletions

View File

@@ -43,7 +43,11 @@ export function useBkndData() {
return {
config: async (partial: Partial<TAppDataEntity["config"]>): Promise<boolean> => {
console.log("patch config", entityName, partial);
return await bkndActions.patch("data", `entities.${entityName}.config`, partial);
return await bkndActions.overwrite(
"data",
`entities.${entityName}.config`,
partial
);
},
fields: entityFieldActions(bkndActions, entityName)
};

View File

@@ -16,6 +16,7 @@ export type JsonSchemaFormProps = any & {
uiSchema?: any;
direction?: "horizontal" | "vertical";
onChange?: (value: any, isValid: () => boolean) => void;
cleanOnChange?: boolean;
};
export type JsonSchemaFormRef = {
@@ -36,6 +37,7 @@ export const JsonSchemaForm = forwardRef<JsonSchemaFormRef, JsonSchemaFormProps>
templates,
fields,
widgets,
cleanOnChange,
...props
},
ref
@@ -51,8 +53,8 @@ export const JsonSchemaForm = forwardRef<JsonSchemaFormRef, JsonSchemaFormProps>
return false;
};
const handleChange = ({ formData }: any, e) => {
const clean = JSON.parse(JSON.stringify(formData));
//console.log("Data changed: ", clean, JSON.stringify(formData, null, 2));
const clean = cleanOnChange !== false ? JSON.parse(JSON.stringify(formData)) : formData;
console.log("Data changed: ", clean, { cleanOnChange });
setValue(clean);
onChange?.(clean, () => isValid(clean));
};

View File

@@ -201,7 +201,7 @@ const EntityContextMenu = ({
separator,
{
icon: IconSettings,
label: "Settings",
label: "Advanced",
onClick: () =>
navigate(routes.settings.path(["data", "entities", entity.name]), {
absolute: true

View File

@@ -41,7 +41,7 @@ export function DataEntityList({ params }) {
const [navigate] = useNavigate();
const search = useSearch(searchSchema, {
select: entity.getSelect(undefined, "form"),
sort: undefined
sort: entity.getDefaultSort()
});
const $q = useApiQuery(