diff --git a/src/components/EditGroup.vue b/src/components/EditGroup.vue index 165728f..1fbdb24 100644 --- a/src/components/EditGroup.vue +++ b/src/components/EditGroup.vue @@ -54,7 +54,7 @@ const defaultEditGroups: GroupProps[] = [ export default defineComponent({ props: { props: { - type: Object as PropType, + type: Object as PropType>, required: true, }, groups: { @@ -83,7 +83,7 @@ export default defineComponent({ }) const editGroups = computed(() => { return newGroups.value.map((group) => { - const propsMap = {} as AllComponentProps + const propsMap = {} as Partial group.items.forEach((item) => { const key = item as keyof AllComponentProps propsMap[key] = props.props[key] diff --git a/src/components/EditWrapper.vue b/src/components/EditWrapper.vue index cd7c513..f1e21df 100644 --- a/src/components/EditWrapper.vue +++ b/src/components/EditWrapper.vue @@ -6,10 +6,10 @@ :data-component-id="id" @click="onItemClick(id)" @mousedown="startMove" - :class="{ active: active && isEditing, hidden: hidden }" + :class="{ active: active && isEditing && !isLocked, hidden: hidden }" > -
+
(null) const onItemClick = (id: string) => { - if (store.state.editor.isEditing) { + if (isEditing.value) { context.emit('set-active', id) } } const onChangeEditStatus = (id: string) => { - const isEditing = store.state.editor.isEditing store.commit('clearClickTimeout') - store.commit('setEditStatus', !isEditing) - if (!isEditing) { + store.commit('setEditStatus', !isEditing.value) + if (!isEditing.value) { onItemClick(id) } } const removeEditComponent = (id: string) => { - if (store.state.editor.isEditing) { + if (isEditing.value) { context.emit('remove-component', id) } } @@ -113,7 +113,9 @@ export default defineComponent({ } } const startMove = (e: MouseEvent) => { - // e.preventDefault && e.preventDefault() + if (props.isLocked || !isEditing.value) { + return + } const currentElement = editWrapper.value if (currentElement) { const { left, top } = currentElement.getBoundingClientRect() diff --git a/src/components/PropsTable.vue b/src/components/PropsTable.vue index a7c86f8..6feaf1a 100644 --- a/src/components/PropsTable.vue +++ b/src/components/PropsTable.vue @@ -57,7 +57,7 @@ export default defineComponent({ name: 'props-table', props: { props: { - type: Object as PropType, + type: Object as PropType>, required: true, }, }, diff --git a/src/views/EditorView.vue b/src/views/EditorView.vue index c1f37ce..e9635f0 100644 --- a/src/views/EditorView.vue +++ b/src/views/EditorView.vue @@ -57,6 +57,7 @@