diff --git a/src/videoag/object_management/OMConfigComponent.tsx b/src/videoag/object_management/OMConfigComponent.tsx index ff9f2959caa044917a05cea66a03269eaac97e0a..188cfccf11603efb3f6d811f1ae789e6b047779d 100644 --- a/src/videoag/object_management/OMConfigComponent.tsx +++ b/src/videoag/object_management/OMConfigComponent.tsx @@ -778,7 +778,7 @@ export function OMCreate({ const values: { [id: string]: [any, boolean] } = {}; for (let field_desc of config.fields) { values[field_desc.id] = [ - field_desc.default_value, + field_desc.has_default_value ? field_desc.default_value : undefined, field_desc.has_default_value, ]; } diff --git a/src/videoag/object_management/ViewPermissionsEditor.tsx b/src/videoag/object_management/ViewPermissionsEditor.tsx index f6d539a6b92b9f671291eef63606168f86a8acf4..c1da6eb09fac4d7581439da3a882456ba5bcb5e1 100644 --- a/src/videoag/object_management/ViewPermissionsEditor.tsx +++ b/src/videoag/object_management/ViewPermissionsEditor.tsx @@ -68,14 +68,14 @@ export default function ViewPermissionsEditor({ passwords?: null | { [key: string]: string }; }; const { language } = useLanguage(); - const knownValue = useRef<view_permissions_with_invalid>(undefined); + const knownValue = useRef<view_permissions_with_invalid | "unset">("unset"); const [allDataValue, setAllDataValue] = useState<view_permissions_with_invalid>({ type: "inherit", }); const [passwordsArray, setPasswordsArray] = useState<[string, string][]>([]); useEffect(() => { - if (deepEquals(value, knownValue.current)) return; + if (knownValue.current != "unset" && deepEquals(value, knownValue.current)) return; // Value was not changed by us, update internal state const effectiveValue = value ?? { type: "inherit" }; const passwordsMap = effectiveValue.passwords ?? {};