mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
parent
abaf363ddd
commit
b105a12505
@ -87,6 +87,7 @@
|
|||||||
that._trigger("change");
|
that._trigger("change");
|
||||||
},this.options.delay);
|
},this.options.delay);
|
||||||
} else {
|
} else {
|
||||||
|
this.lastSent = this.element.val();
|
||||||
this._trigger("change");
|
this._trigger("change");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -149,13 +149,11 @@ RED.palette = (function() {
|
|||||||
RED.utils.createIconElement(icon_url, iconContainer, true);
|
RED.utils.createIconElement(icon_url, iconContainer, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function escapeNodeType(nt) {
|
function getPaletteNode(type) {
|
||||||
return nt.replace(" ","_").replace(".","_").replace(":","_");
|
return $(".red-ui-palette-node[data-palette-type='"+type+"']");
|
||||||
}
|
}
|
||||||
|
|
||||||
function addNodeType(nt,def) {
|
function addNodeType(nt,def) {
|
||||||
var nodeTypeId = escapeNodeType(nt);
|
if (getPaletteNode(nt).length) {
|
||||||
if ($("#red-ui-palette-node_"+nodeTypeId).length) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (exclusion.indexOf(def.category)===-1) {
|
if (exclusion.indexOf(def.category)===-1) {
|
||||||
@ -164,9 +162,7 @@ RED.palette = (function() {
|
|||||||
var category = def.category.replace(/ /g,"_");
|
var category = def.category.replace(/ /g,"_");
|
||||||
var rootCategory = category.split("-")[0];
|
var rootCategory = category.split("-")[0];
|
||||||
|
|
||||||
var d = document.createElement("div");
|
var d = $('<div>',{class:"red-ui-palette-node"}).attr("data-palette-type",nt).data('category',rootCategory);
|
||||||
d.id = "red-ui-palette-node_"+nodeTypeId;
|
|
||||||
d.type = nt;
|
|
||||||
|
|
||||||
var label = /^(.*?)([ -]in|[ -]out)?$/.exec(nt)[1];
|
var label = /^(.*?)([ -]in|[ -]out)?$/.exec(nt)[1];
|
||||||
if (typeof def.paletteLabel !== "undefined") {
|
if (typeof def.paletteLabel !== "undefined") {
|
||||||
@ -182,7 +178,6 @@ RED.palette = (function() {
|
|||||||
+ (((!def.align && def.inputs !== 0 && def.outputs === 0) || "right" === def.align) ? " red-ui-palette-label-right" : "")
|
+ (((!def.align && def.inputs !== 0 && def.outputs === 0) || "right" === def.align) ? " red-ui-palette-label-right" : "")
|
||||||
}).appendTo(d);
|
}).appendTo(d);
|
||||||
|
|
||||||
d.className="red-ui-palette-node";
|
|
||||||
|
|
||||||
if (def.icon) {
|
if (def.icon) {
|
||||||
var icon_url = RED.utils.getNodeIcon(def);
|
var icon_url = RED.utils.getNodeIcon(def);
|
||||||
@ -193,36 +188,35 @@ RED.palette = (function() {
|
|||||||
RED.utils.createIconElement(icon_url, iconContainer, true);
|
RED.utils.createIconElement(icon_url, iconContainer, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
d.style.backgroundColor = RED.utils.getNodeColor(nt,def);
|
d.css("backgroundColor", RED.utils.getNodeColor(nt,def));
|
||||||
|
|
||||||
if (def.outputs > 0) {
|
if (def.outputs > 0) {
|
||||||
var portOut = document.createElement("div");
|
var portOut = document.createElement("div");
|
||||||
portOut.className = "red-ui-palette-port red-ui-palette-port-output";
|
portOut.className = "red-ui-palette-port red-ui-palette-port-output";
|
||||||
d.appendChild(portOut);
|
d.append(portOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (def.inputs > 0) {
|
if (def.inputs > 0) {
|
||||||
var portIn = document.createElement("div");
|
var portIn = document.createElement("div");
|
||||||
portIn.className = "red-ui-palette-port red-ui-palette-port-input";
|
portIn.className = "red-ui-palette-port red-ui-palette-port-input";
|
||||||
d.appendChild(portIn);
|
d.append(portIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
createCategory(def.category,rootCategory,category,(coreCategories.indexOf(rootCategory) !== -1)?"node-red":def.set.id);
|
createCategory(def.category,rootCategory,category,(coreCategories.indexOf(rootCategory) !== -1)?"node-red":def.set.id);
|
||||||
|
|
||||||
$("#red-ui-palette-"+category).append(d);
|
$("#red-ui-palette-"+category).append(d);
|
||||||
|
|
||||||
$(d).data('category',rootCategory);
|
d.on("mousedown", function(e) { e.preventDefault();});
|
||||||
|
|
||||||
d.onmousedown = function(e) { e.preventDefault(); };
|
|
||||||
|
|
||||||
var popover = RED.popover.create({
|
var popover = RED.popover.create({
|
||||||
target:$(d),
|
target:d,
|
||||||
trigger: "hover",
|
trigger: "hover",
|
||||||
width: "300px",
|
width: "300px",
|
||||||
content: "hi",
|
content: "hi",
|
||||||
delay: { show: 750, hide: 50 }
|
delay: { show: 750, hide: 50 }
|
||||||
});
|
});
|
||||||
$(d).data('popover',popover);
|
|
||||||
|
d.data('popover',popover);
|
||||||
|
|
||||||
// $(d).popover({
|
// $(d).popover({
|
||||||
// title:d.type,
|
// title:d.type,
|
||||||
@ -232,7 +226,7 @@ RED.palette = (function() {
|
|||||||
// html: true,
|
// html: true,
|
||||||
// container:'body'
|
// container:'body'
|
||||||
// });
|
// });
|
||||||
$(d).on("click", function() {
|
d.on("click", function() {
|
||||||
RED.view.focus();
|
RED.view.focus();
|
||||||
var helpText;
|
var helpText;
|
||||||
if (nt.indexOf("subflow:") === 0) {
|
if (nt.indexOf("subflow:") === 0) {
|
||||||
@ -330,13 +324,13 @@ RED.palette = (function() {
|
|||||||
|
|
||||||
var nodeInfo = null;
|
var nodeInfo = null;
|
||||||
if (nt.indexOf("subflow:") === 0) {
|
if (nt.indexOf("subflow:") === 0) {
|
||||||
$(d).on("dblclick", function(e) {
|
d.on("dblclick", function(e) {
|
||||||
RED.workspaces.show(nt.substring(8));
|
RED.workspaces.show(nt.substring(8));
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
nodeInfo = marked(def.info||"");
|
nodeInfo = marked(def.info||"");
|
||||||
}
|
}
|
||||||
setLabel(nt,$(d),label,nodeInfo);
|
setLabel(nt,d,label,nodeInfo);
|
||||||
|
|
||||||
var categoryNode = $("#red-ui-palette-container-"+rootCategory);
|
var categoryNode = $("#red-ui-palette-container-"+rootCategory);
|
||||||
if (categoryNode.find(".red-ui-palette-node").length === 1) {
|
if (categoryNode.find(".red-ui-palette-node").length === 1) {
|
||||||
@ -347,8 +341,7 @@ RED.palette = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function removeNodeType(nt) {
|
function removeNodeType(nt) {
|
||||||
var nodeTypeId = escapeNodeType(nt);
|
var paletteNode = getPaletteNode(nt);
|
||||||
var paletteNode = $("#red-ui-palette-node_"+nodeTypeId);
|
|
||||||
var categoryNode = paletteNode.closest(".red-ui-palette-category");
|
var categoryNode = paletteNode.closest(".red-ui-palette-category");
|
||||||
paletteNode.remove();
|
paletteNode.remove();
|
||||||
if (categoryNode.find(".red-ui-palette-node").length === 0) {
|
if (categoryNode.find(".red-ui-palette-node").length === 0) {
|
||||||
@ -360,8 +353,7 @@ RED.palette = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function hideNodeType(nt) {
|
function hideNodeType(nt) {
|
||||||
var nodeTypeId = escapeNodeType(nt);
|
var paletteNode = getPaletteNode(nt);
|
||||||
var paletteNode = $("#red-ui-palette-node_"+nodeTypeId);
|
|
||||||
paletteNode.hide();
|
paletteNode.hide();
|
||||||
var categoryNode = paletteNode.closest(".red-ui-palette-category");
|
var categoryNode = paletteNode.closest(".red-ui-palette-category");
|
||||||
var cl = categoryNode.find(".red-ui-palette-node");
|
var cl = categoryNode.find(".red-ui-palette-node");
|
||||||
@ -373,8 +365,7 @@ RED.palette = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function showNodeType(nt) {
|
function showNodeType(nt) {
|
||||||
var nodeTypeId = escapeNodeType(nt);
|
var paletteNode = getPaletteNode(nt);
|
||||||
var paletteNode = $("#red-ui-palette-node_"+nodeTypeId);
|
|
||||||
var categoryNode = paletteNode.closest(".red-ui-palette-category");
|
var categoryNode = paletteNode.closest(".red-ui-palette-category");
|
||||||
categoryNode.show();
|
categoryNode.show();
|
||||||
paletteNode.show();
|
paletteNode.show();
|
||||||
@ -382,7 +373,7 @@ RED.palette = (function() {
|
|||||||
|
|
||||||
function refreshNodeTypes() {
|
function refreshNodeTypes() {
|
||||||
RED.nodes.eachSubflow(function(sf) {
|
RED.nodes.eachSubflow(function(sf) {
|
||||||
var paletteNode = $("#red-ui-palette-node_subflow_"+sf.id.replace(".","_"));
|
var paletteNode = getPaletteNode('subflow:'+sf.id);
|
||||||
var portInput = paletteNode.find(".red-ui-palette-port-input");
|
var portInput = paletteNode.find(".red-ui-palette-port-input");
|
||||||
var portOutput = paletteNode.find(".red-ui-palette-port-output");
|
var portOutput = paletteNode.find(".red-ui-palette-port-output");
|
||||||
|
|
||||||
@ -396,7 +387,6 @@ RED.palette = (function() {
|
|||||||
+ (((!sf._def.align && sf.in.length !== 0 && sf.out.length === 0) || "right" === sf._def.align) ? " red-ui-palette-icon-container-right" : "")
|
+ (((!sf._def.align && sf.in.length !== 0 && sf.out.length === 0) || "right" === sf._def.align) ? " red-ui-palette-icon-container-right" : "")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
if (portInput.length === 0 && sf.in.length > 0) {
|
if (portInput.length === 0 && sf.in.length > 0) {
|
||||||
var portIn = document.createElement("div");
|
var portIn = document.createElement("div");
|
||||||
portIn.className = "red-ui-palette-port red-ui-palette-port-input";
|
portIn.className = "red-ui-palette-port red-ui-palette-port-input";
|
||||||
@ -446,7 +436,8 @@ RED.palette = (function() {
|
|||||||
var re = new RegExp(val.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'),'i');
|
var re = new RegExp(val.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'),'i');
|
||||||
$("#red-ui-palette-container .red-ui-palette-node").each(function(i,el) {
|
$("#red-ui-palette-container .red-ui-palette-node").each(function(i,el) {
|
||||||
var currentLabel = $(el).find(".red-ui-palette-label").text();
|
var currentLabel = $(el).find(".red-ui-palette-label").text();
|
||||||
if (val === "" || re.test(el.id) || re.test(currentLabel)) {
|
var type = $(el).attr("data-palette-type");
|
||||||
|
if (val === "" || re.test(type) || re.test(currentLabel)) {
|
||||||
$(this).show();
|
$(this).show();
|
||||||
} else {
|
} else {
|
||||||
$(this).hide();
|
$(this).hide();
|
||||||
@ -459,8 +450,10 @@ RED.palette = (function() {
|
|||||||
.find(".red-ui-palette-node")
|
.find(".red-ui-palette-node")
|
||||||
.filter(function() { return $(this).css('display') !== 'none'}).length === 0) {
|
.filter(function() { return $(this).css('display') !== 'none'}).length === 0) {
|
||||||
categoryContainers[category].close();
|
categoryContainers[category].close();
|
||||||
|
categoryContainers[category].container.slideUp();
|
||||||
} else {
|
} else {
|
||||||
categoryContainers[category].open();
|
categoryContainers[category].open();
|
||||||
|
categoryContainers[category].container.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -539,9 +532,6 @@ RED.palette = (function() {
|
|||||||
sidebarControls.hide();
|
sidebarControls.hide();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var categoryList = coreCategories;
|
var categoryList = coreCategories;
|
||||||
if (RED.settings.paletteCategories) {
|
if (RED.settings.paletteCategories) {
|
||||||
categoryList = RED.settings.paletteCategories;
|
categoryList = RED.settings.paletteCategories;
|
||||||
|
@ -328,7 +328,7 @@ RED.view = (function() {
|
|||||||
accept:".red-ui-palette-node",
|
accept:".red-ui-palette-node",
|
||||||
drop: function( event, ui ) {
|
drop: function( event, ui ) {
|
||||||
d3.event = event;
|
d3.event = event;
|
||||||
var selected_tool = ui.draggable[0].type;
|
var selected_tool = $(ui.draggable[0]).attr("data-palette-type");
|
||||||
var result = addNode(selected_tool);
|
var result = addNode(selected_tool);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user