mirror of
https://github.com/docusealco/docuseal.git
synced 2026-06-23 04:10:11 +00:00
minor builder refactor
This commit is contained in:
@@ -136,8 +136,6 @@ import { v4 } from 'uuid'
|
||||
import i18n from './i18n'
|
||||
import { ref, computed } from 'vue'
|
||||
|
||||
const selectedAreaRef = ref(null)
|
||||
|
||||
export default {
|
||||
name: 'TemplateBuilder',
|
||||
i18n,
|
||||
@@ -154,7 +152,7 @@ export default {
|
||||
provide () {
|
||||
return {
|
||||
template: this.template,
|
||||
selectedAreaRef: computed(() => selectedAreaRef)
|
||||
selectedAreaRef: computed(() => this.selectedAreaRef)
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@@ -173,6 +171,7 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
selectedAreaRef: () => ref(),
|
||||
fieldAreasIndex () {
|
||||
const areas = {}
|
||||
|
||||
@@ -189,7 +188,7 @@ export default {
|
||||
return areas
|
||||
},
|
||||
selectedField () {
|
||||
return this.template.fields.find((f) => f.areas?.includes(selectedAreaRef.value))
|
||||
return this.template.fields.find((f) => f.areas?.includes(this.selectedAreaRef.value))
|
||||
},
|
||||
sortedDocuments () {
|
||||
return this.template.schema.map((item) => {
|
||||
@@ -223,16 +222,16 @@ export default {
|
||||
onKeyUp (e) {
|
||||
if (e.code === 'Escape') {
|
||||
this.drawField = null
|
||||
selectedAreaRef.value = null
|
||||
this.selectedAreaRef.value = null
|
||||
}
|
||||
|
||||
if (['Backspace', 'Delete'].includes(e.key) && selectedAreaRef.value && document.activeElement === document.body) {
|
||||
this.removeArea({ area: selectedAreaRef.value })
|
||||
if (['Backspace', 'Delete'].includes(e.key) && this.selectedAreaRef.value && document.activeElement === document.body) {
|
||||
this.removeArea(this.selectedAreaRef.value)
|
||||
|
||||
selectedAreaRef.value = null
|
||||
this.selectedAreaRef.value = null
|
||||
}
|
||||
},
|
||||
removeArea ({ area }) {
|
||||
removeArea (area) {
|
||||
const field = this.template.fields.find((f) => f.areas?.includes(area))
|
||||
|
||||
field.areas.splice(field.areas.indexOf(area), 1)
|
||||
@@ -281,7 +280,7 @@ export default {
|
||||
this.template.fields.push(field)
|
||||
}
|
||||
|
||||
selectedAreaRef.value = area
|
||||
this.selectedAreaRef.value = area
|
||||
},
|
||||
onDropfield (area) {
|
||||
const field = {
|
||||
@@ -304,7 +303,7 @@ export default {
|
||||
let baseArea
|
||||
|
||||
if (this.selectedField?.type === this.dragFieldType) {
|
||||
baseArea = selectedAreaRef.value
|
||||
baseArea = this.selectedAreaRef.value
|
||||
} else if (previousField?.areas) {
|
||||
baseArea = previousField.areas[previousField.areas.length - 1]
|
||||
} else {
|
||||
@@ -332,7 +331,7 @@ export default {
|
||||
|
||||
field.areas = [fieldArea]
|
||||
|
||||
selectedAreaRef.value = fieldArea
|
||||
this.selectedAreaRef.value = fieldArea
|
||||
|
||||
this.template.fields.push(field)
|
||||
},
|
||||
@@ -389,7 +388,7 @@ export default {
|
||||
|
||||
documentRef.scrollToArea(area)
|
||||
|
||||
selectedAreaRef.value = area
|
||||
this.selectedAreaRef.value = area
|
||||
},
|
||||
save () {
|
||||
this.$el.closest('template-builder').dataset.template = JSON.stringify(this.template)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
@stop-resize="[showMask = false, isResize = false]"
|
||||
@start-drag="[showMask = true, isMove = true]"
|
||||
@stop-drag="[showMask = false, isMove = false]"
|
||||
@remove="$emit('remove-area', item)"
|
||||
@remove="$emit('remove-area', item.area)"
|
||||
/>
|
||||
<FieldArea
|
||||
v-if="newArea"
|
||||
|
||||
Reference in New Issue
Block a user