Merge da1d993b1446511df484f3e7b009cc9bc218895f into b435acc6b4e9fecee17bc1f12fc0d6c071f1f449
This commit is contained in:
commit
e71e210556
@ -988,7 +988,7 @@ class InputWaiter {
|
||||
*/
|
||||
inputDragover(e) {
|
||||
// This will be set if we're dragging an operation
|
||||
if (e.dataTransfer.effectAllowed === "move")
|
||||
if (this.manager.recipe.dragInProgress)
|
||||
return false;
|
||||
|
||||
e.stopPropagation();
|
||||
@ -1021,7 +1021,7 @@ class InputWaiter {
|
||||
*/
|
||||
async inputDrop(e) {
|
||||
// This will be set if we're dragging an operation
|
||||
if (e.dataTransfer.effectAllowed === "move")
|
||||
if (this.manager.recipe.dragInProgress)
|
||||
return false;
|
||||
|
||||
e.stopPropagation();
|
||||
|
||||
@ -200,10 +200,11 @@ class OperationsWaiter {
|
||||
* @param {Element} el - The element to start selecting from
|
||||
*/
|
||||
enableOpsListPopovers(el) {
|
||||
const self = this;
|
||||
$(el).find("[data-toggle=popover]").addBack("[data-toggle=popover]")
|
||||
.popover({trigger: "manual"})
|
||||
.on("mouseenter", function(e) {
|
||||
if (e.buttons > 0) return; // Mouse button held down - likely dragging an operation
|
||||
if (e.buttons > 0 || self.manager.recipe.dragInProgress) return; // Mouse button held down - likely dragging an operation
|
||||
const _this = this;
|
||||
$(this).popover("show");
|
||||
$(".popover").on("mouseleave", function () {
|
||||
|
||||
@ -26,6 +26,7 @@ class RecipeWaiter {
|
||||
this.app = app;
|
||||
this.manager = manager;
|
||||
this.removeIntent = false;
|
||||
this.dragInProgress = false;
|
||||
}
|
||||
|
||||
|
||||
@ -88,6 +89,7 @@ class RecipeWaiter {
|
||||
* @param {element} listEl - The list to initialise
|
||||
*/
|
||||
createSortableSeedList(listEl) {
|
||||
const self = this;
|
||||
Sortable.create(listEl, {
|
||||
group: {
|
||||
name: "recipe",
|
||||
@ -99,6 +101,7 @@ class RecipeWaiter {
|
||||
dataTransfer.setData("Text", dragEl.textContent);
|
||||
},
|
||||
onStart: function(evt) {
|
||||
self.dragInProgress = true;
|
||||
// Removes popover element and event bindings from the dragged operation but not the
|
||||
// event bindings from the one left in the operations list. Without manually removing
|
||||
// these bindings, we cannot re-initialise the popover on the stub operation.
|
||||
@ -126,6 +129,7 @@ class RecipeWaiter {
|
||||
* @param {event} evt
|
||||
*/
|
||||
opSortEnd(evt) {
|
||||
this.dragInProgress = false;
|
||||
if (this.removeIntent && evt.item.parentNode.id === "rec-list") {
|
||||
evt.item.remove();
|
||||
return;
|
||||
@ -159,7 +163,7 @@ class RecipeWaiter {
|
||||
* @param {event} e
|
||||
*/
|
||||
favDragover(e) {
|
||||
if (e.dataTransfer.effectAllowed !== "move")
|
||||
if (!this.dragInProgress)
|
||||
return false;
|
||||
|
||||
e.stopPropagation();
|
||||
@ -542,7 +546,7 @@ class RecipeWaiter {
|
||||
*/
|
||||
textArgDragover (e) {
|
||||
// This will be set if we're dragging an operation
|
||||
if (e.dataTransfer.effectAllowed === "move")
|
||||
if (this.dragInProgress)
|
||||
return false;
|
||||
|
||||
e.stopPropagation();
|
||||
@ -572,7 +576,7 @@ class RecipeWaiter {
|
||||
*/
|
||||
textArgDrop(e) {
|
||||
// This will be set if we're dragging an operation
|
||||
if (e.dataTransfer.effectAllowed === "move")
|
||||
if (this.dragInProgress)
|
||||
return false;
|
||||
|
||||
e.stopPropagation();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user