refactor: adopt canonical component model structure schema
This commit is contained in:
@@ -22,6 +22,7 @@ import {
|
||||
} from '~/shared/modelUtils'
|
||||
import { usePieceTypes } from '~/composables/usePieceTypes'
|
||||
import { useComponentTypes } from '~/composables/useComponentTypes'
|
||||
import type { ComponentModelStructure } from '~/shared/types/inventory'
|
||||
|
||||
defineOptions({ name: 'ComponentModelStructureEditor' })
|
||||
|
||||
@@ -46,7 +47,7 @@ const props = defineProps({
|
||||
|
||||
const emit = defineEmits(['update:modelValue'])
|
||||
|
||||
const localStructure = reactive(hydrateStructureForEditor(props.modelValue))
|
||||
const localStructure = reactive<ComponentModelStructure>(hydrateStructureForEditor(props.modelValue))
|
||||
const previousLockedLabel = ref(props.rootTypeLabel || '')
|
||||
|
||||
const { pieceTypes, loadPieceTypes } = usePieceTypes()
|
||||
@@ -77,9 +78,14 @@ const syncRootType = () => {
|
||||
localStructure.typeComposantId = newTypeId
|
||||
localStructure.typeComposantLabel = newLabel
|
||||
|
||||
const match = availableComponentTypes.value.find((type) => type?.id === newTypeId)
|
||||
if (match?.code) {
|
||||
localStructure.familyCode = match.code
|
||||
}
|
||||
|
||||
const previousLabel = previousLockedLabel.value
|
||||
if (!localStructure.name || localStructure.name === previousLabel || localStructure.name === '') {
|
||||
localStructure.name = newLabel || localStructure.name
|
||||
if (!localStructure.alias || localStructure.alias === previousLabel || localStructure.alias === '') {
|
||||
localStructure.alias = newLabel || localStructure.alias
|
||||
}
|
||||
|
||||
previousLockedLabel.value = newLabel
|
||||
@@ -91,7 +97,12 @@ const syncFromProps = (value: any) => {
|
||||
const hydrated = hydrateStructureForEditor(value)
|
||||
localStructure.customFields = hydrated.customFields
|
||||
localStructure.pieces = hydrated.pieces
|
||||
localStructure.subComponents = hydrated.subComponents
|
||||
localStructure.subcomponents = hydrated.subcomponents
|
||||
localStructure.typeComposantId = hydrated.typeComposantId
|
||||
localStructure.typeComposantLabel = hydrated.typeComposantLabel
|
||||
localStructure.modelId = hydrated.modelId
|
||||
localStructure.familyCode = hydrated.familyCode
|
||||
localStructure.alias = hydrated.alias
|
||||
lastEmitted = JSON.stringify(cloneStructure(value))
|
||||
syncRootType()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user