Disable auto increment fields by default

Fixes #630
This commit is contained in:
rijkvanzanten
2020-10-15 18:55:50 -04:00
parent 40eddcc2f1
commit 0880a20a8b
2 changed files with 8 additions and 5 deletions

View File

@@ -10,7 +10,9 @@
<component
v-if="interfaceExists"
:is="
field.meta ? `interface-${field.meta.interface}` : `interface-${getDefaultInterfaceForType(field.type)}`
field.meta && field.meta.interface
? `interface-${field.meta.interface}`
: `interface-${getDefaultInterfaceForType(field.type)}`
"
v-bind="(field.meta && field.meta.options) || {}"
:disabled="disabled"

View File

@@ -106,7 +106,7 @@ export default defineComponent({
function useForm() {
const fields = computed(() => {
if (props.collection) {
return fieldsStore.getFieldsForCollection(props.collection)
return fieldsStore.getFieldsForCollection(props.collection);
}
if (props.fields) {
@@ -119,10 +119,11 @@ 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) {
if (
field.schema?.has_auto_increment === true ||
(field.schema?.is_primary_key === true && props.primaryKey !== '+')
) {
const fieldClone = cloneDeep(field) as any;
if (!fieldClone.meta) fieldClone.meta = {};
fieldClone.meta.readonly = true;