Move set type reset to store.ts

This commit is contained in:
rijkvanzanten
2020-09-10 11:08:22 -04:00
parent 9b129af050
commit 131a83e438
2 changed files with 9 additions and 15 deletions

View File

@@ -30,7 +30,7 @@
:value="fieldData.type"
:items="typesWithLabels"
:placeholder="typePlaceholder"
@input="setType"
@input="fieldData.type = $event"
/>
</div>
@@ -247,22 +247,10 @@ export default defineComponent({
return {
fieldData: state.fieldData,
typesWithLabels,
setType,
typeDisabled,
typePlaceholder,
defaultValue,
};
function setType(value: typeof types[number]) {
// We'll reset the interface/display as they most likely won't work for the newly selected
// type
state.fieldData.meta.interface = null;
state.fieldData.meta.options = null;
state.fieldData.meta.display = null;
state.fieldData.meta.display_options = null;
state.fieldData.schema.default_value = undefined;
state.fieldData.type = value;
}
},
});
</script>

View File

@@ -296,6 +296,13 @@ function initLocalStore(
watch(
() => state.fieldData.type,
() => {
state.fieldData.meta.interface = null;
state.fieldData.meta.options = null;
state.fieldData.meta.display = null;
state.fieldData.meta.display_options = null;
state.fieldData.meta.special = null;
state.fieldData.schema.default_value = undefined;
switch (state.fieldData.type) {
case 'uuid':
state.fieldData.meta.special = 'uuid';
@@ -306,9 +313,8 @@ function initLocalStore(
case 'boolean':
state.fieldData.meta.special = 'boolean';
state.fieldData.schema.is_nullable = false;
state.fieldData.schema.default_value = false;
break;
default:
state.fieldData.meta.special = null;
}
}
);