From 09fb5331f1208365affa863f3ddee7d39cebe3fa Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Wed, 30 Sep 2020 15:47:07 -0400 Subject: [PATCH] Don't allow changing the PK after creation Fixes #439 --- app/src/components/v-form/v-form.vue | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/components/v-form/v-form.vue b/app/src/components/v-form/v-form.vue index 3f5af83db4..780260aaf5 100644 --- a/app/src/components/v-form/v-form.vue +++ b/app/src/components/v-form/v-form.vue @@ -118,6 +118,21 @@ export default defineComponent({ const { formFields } = useFormFields(fields); + const formFieldsParsed = computed(() => { + if (props.primaryKey === '+') return formFields.value; + + return formFields.value.map((field: Field) => { + if (field.schema?.is_primary_key === true) { + const fieldClone = clone(field) as any; + if (!fieldClone.meta) fieldClone.meta = {}; + fieldClone.meta.readonly = true; + return fieldClone; + } + + return field; + }); + }); + const { width } = useElementSize(el); const gridClass = computed(() => { @@ -132,7 +147,7 @@ export default defineComponent({ return null; }); - return { formFields, gridClass, isDisabled }; + return { formFields: formFieldsParsed, gridClass, isDisabled }; function isDisabled(field: Field) { return (