mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 04:27:21 +00:00
fix overwrite of entity config (e.g. empty label)
This commit is contained in:
@@ -43,7 +43,11 @@ export function useBkndData() {
|
|||||||
return {
|
return {
|
||||||
config: async (partial: Partial<TAppDataEntity["config"]>): Promise<boolean> => {
|
config: async (partial: Partial<TAppDataEntity["config"]>): Promise<boolean> => {
|
||||||
console.log("patch config", entityName, partial);
|
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)
|
fields: entityFieldActions(bkndActions, entityName)
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ export type JsonSchemaFormProps = any & {
|
|||||||
uiSchema?: any;
|
uiSchema?: any;
|
||||||
direction?: "horizontal" | "vertical";
|
direction?: "horizontal" | "vertical";
|
||||||
onChange?: (value: any, isValid: () => boolean) => void;
|
onChange?: (value: any, isValid: () => boolean) => void;
|
||||||
|
cleanOnChange?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type JsonSchemaFormRef = {
|
export type JsonSchemaFormRef = {
|
||||||
@@ -36,6 +37,7 @@ export const JsonSchemaForm = forwardRef<JsonSchemaFormRef, JsonSchemaFormProps>
|
|||||||
templates,
|
templates,
|
||||||
fields,
|
fields,
|
||||||
widgets,
|
widgets,
|
||||||
|
cleanOnChange,
|
||||||
...props
|
...props
|
||||||
},
|
},
|
||||||
ref
|
ref
|
||||||
@@ -51,8 +53,8 @@ export const JsonSchemaForm = forwardRef<JsonSchemaFormRef, JsonSchemaFormProps>
|
|||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
const handleChange = ({ formData }: any, e) => {
|
const handleChange = ({ formData }: any, e) => {
|
||||||
const clean = JSON.parse(JSON.stringify(formData));
|
const clean = cleanOnChange !== false ? JSON.parse(JSON.stringify(formData)) : formData;
|
||||||
//console.log("Data changed: ", clean, JSON.stringify(formData, null, 2));
|
console.log("Data changed: ", clean, { cleanOnChange });
|
||||||
setValue(clean);
|
setValue(clean);
|
||||||
onChange?.(clean, () => isValid(clean));
|
onChange?.(clean, () => isValid(clean));
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ const EntityContextMenu = ({
|
|||||||
separator,
|
separator,
|
||||||
{
|
{
|
||||||
icon: IconSettings,
|
icon: IconSettings,
|
||||||
label: "Settings",
|
label: "Advanced",
|
||||||
onClick: () =>
|
onClick: () =>
|
||||||
navigate(routes.settings.path(["data", "entities", entity.name]), {
|
navigate(routes.settings.path(["data", "entities", entity.name]), {
|
||||||
absolute: true
|
absolute: true
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export function DataEntityList({ params }) {
|
|||||||
const [navigate] = useNavigate();
|
const [navigate] = useNavigate();
|
||||||
const search = useSearch(searchSchema, {
|
const search = useSearch(searchSchema, {
|
||||||
select: entity.getSelect(undefined, "form"),
|
select: entity.getSelect(undefined, "form"),
|
||||||
sort: undefined
|
sort: entity.getDefaultSort()
|
||||||
});
|
});
|
||||||
|
|
||||||
const $q = useApiQuery(
|
const $q = useApiQuery(
|
||||||
|
|||||||
Reference in New Issue
Block a user