in source/html/js/app/ui/diagram_statemachine_factory.js [65:171]
_onEnter: function() {
my_diagram.nodes.on("*", (function() {
return function(event, properties, senderId) {
// take a copy of the one-shots in case more get added during event handling
var one_time = Array.from(my_diagram.node_dataset_callbacks_once);
my_diagram.node_dataset_callbacks_once = [];
for (let callback of one_time) {
callback(event, properties, senderId);
}
for (let callback of my_diagram.node_dataset_callbacks) {
callback(event, properties, senderId);
}
};
})());
my_diagram.network.on("click", (function() {
return function(event) {
// console.log(my_diagram.name + " diagram click");
if (event.nodes.length > 0) {
alert.show(event.nodes.length + " selected");
}
// take a copy of the one-shots in case more get added during event handling
var one_time = Array.from(my_diagram.click_callbacks_once);
my_diagram.click_callbacks_once = [];
for (let callback of one_time) {
callback(my_diagram, event);
}
for (let callback of my_diagram.click_callbacks) {
callback(my_diagram, event);
}
};
})());
my_diagram.network.on("doubleClick", (function() {
return function(event) {
console.log(my_diagram.name + " diagram doubleClick");
// take a copy of the one-shots in case more get added during event handling
var one_time = Array.from(my_diagram.doubleclick_callbacks_once);
my_diagram.doubleclick_callbacks_once = [];
for (let callback of one_time) {
callback(my_diagram, event);
}
for (let callback of my_diagram.doubleclick_callbacks) {
callback(my_diagram, event);
}
// zoom
if (event.nodes.length > 0) {
my_diagram.fit_to_nodes([event.nodes]);
} else if (event.nodes.length == 0 && event.edges.length == 0) {
var click_x = event.pointer.canvas.x;
var click_y = event.pointer.canvas.y;
my_diagram.fit_to_nearest(click_x, click_y);
}
};
})());
my_diagram.network.on("dragEnd", function(event) {
if (event.nodes.length) {
layout.save_layout(my_diagram, event.nodes);
}
});
$("#" + my_diagram.tab_id).on("show.bs.tab", (function() {
return function(event) {
console.log(my_diagram.name + " diagram show.bs.tab");
};
})());
my_diagram.drag_container.on("mousemove", function(e) {
// console.log("mousemove");
if (my_diagram.drag) {
my_diagram.restore_drawing_surface();
my_diagram.drag_rect.w = (e.pageX - this.offsetLeft) - my_diagram.drag_rect.startX;
my_diagram.drag_rect.h = (e.pageY - this.offsetTop) - my_diagram.drag_rect.startY;
my_diagram.drag_ctx.setLineDash([5]);
my_diagram.drag_ctx.strokeStyle = "rgb(0, 102, 0)";
my_diagram.drag_ctx.strokeRect(my_diagram.drag_rect.startX, my_diagram.drag_rect.startY, my_diagram.drag_rect.w, my_diagram.drag_rect.h);
my_diagram.drag_ctx.setLineDash([]);
my_diagram.drag_ctx.fillStyle = "rgba(0, 255, 0, 0.2)";
my_diagram.drag_ctx.fillRect(my_diagram.drag_rect.startX, my_diagram.drag_rect.startY, my_diagram.drag_rect.w, my_diagram.drag_rect.h);
}
if (e.pageX < 100) {
$("#inventory-drawer-div").animate({
width: "25%",
}, 500, function() {
// Animation complete.
});
}
});
my_diagram.drag_container.on("mousedown", function(e) {
// console.log("mousedown");
if (e.button == 2) {
selectedNodes = e.ctrlKey ? my_diagram.network.getSelectedNodes() : null;
my_diagram.save_drawing_surface();
my_diagram.drag_rect.startX = e.pageX - this.offsetLeft;
my_diagram.drag_rect.startY = e.pageY - this.offsetTop;
my_diagram.drag = true;
my_diagram.drag_container[0].style.cursor = "crosshair";
}
});
my_diagram.drag_container.on("mouseup", function(e) {
// console.log("mouseup");
if (e.button == 2) {
my_diagram.restore_drawing_surface();
my_diagram.drag = false;
my_diagram.drag_container[0].style.cursor = "default";
my_diagram.select_nodes_from_highlight();
}
});
this.transition("restore-nodes");
}