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