master^2
Pete Matsyburka 4 days ago
parent 8547295da7
commit 964db0ab08

@ -29,7 +29,7 @@
:is-drag="isDrag"
@move="onSelectionBoxMove"
@contextmenu="openSelectionContextMenu"
@close-context-menu="closeSelectionContextMenu"
@close-context-menu="closeContextMenu"
/>
<FieldArea
v-for="(item, i) in areas"
@ -92,16 +92,16 @@
@add-custom-field="$emit('add-custom-field', $event)"
/>
<SelectionContextMenu
v-if="selectionContextMenu"
:context-menu="selectionContextMenu"
v-else-if="contextMenu && contextMenu.areas"
:context-menu="contextMenu"
:editable="editable"
:template="template"
@copy="handleSelectionCopy"
@delete="handleSelectionDelete"
@close="closeSelectionContextMenu"
@close="closeContextMenu"
/>
<PageContextMenu
v-if="contextMenu && !contextMenu.field"
v-else-if="contextMenu && !contextMenu.field && !contextMenu.areas"
:context-menu="contextMenu"
:editable="editable"
:with-fields-detection="withFieldsDetection"
@ -256,8 +256,7 @@ export default {
resizeDirection: null,
newAreas: [],
contextMenu: null,
selectionRect: null,
selectionContextMenu: null
selectionRect: null
}
},
computed: {
@ -414,25 +413,32 @@ export default {
}
},
openSelectionContextMenu (event) {
if (!this.editable) {
return
}
event.preventDefault()
event.stopPropagation()
const rect = this.$el.getBoundingClientRect()
this.selectionContextMenu = {
this.contextMenu = {
x: event.clientX,
y: event.clientY,
relativeX: (event.clientX - rect.left) / rect.width,
relativeY: (event.clientY - rect.top) / rect.height
relativeY: (event.clientY - rect.top) / rect.height,
areas: this.selectedAreasRef.value
}
},
closeSelectionContextMenu () {
this.selectionContextMenu = null
},
handleSelectionCopy () {
this.$emit('copy-selected-areas')
this.closeSelectionContextMenu()
this.closeContextMenu()
},
handleSelectionDelete () {
this.$emit('delete-selected-areas')
this.closeSelectionContextMenu()
this.closeContextMenu()
},
closeContextMenu () {
this.contextMenu = null

Loading…
Cancel
Save