mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Allow deploy button to be customised
This commit is contained in:
parent
269846c587
commit
e369ded6c5
@ -29,12 +29,43 @@ RED.deploy = (function() {
|
|||||||
$("#btn-deploy img").attr("src",deploymentTypes[type].img);
|
$("#btn-deploy img").attr("src",deploymentTypes[type].img);
|
||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
|
||||||
|
/**
|
||||||
|
* options:
|
||||||
|
* type: "default" - Button with drop-down options - no further customisation available
|
||||||
|
* type: "simple" - Button without dropdown. Customisations:
|
||||||
|
* label: the text to display - default: "Deploy"
|
||||||
|
* icon : the icon to use. Null removes the icon. default: "red/images/deploy-full-o.png"
|
||||||
|
*/
|
||||||
|
function init(options) {
|
||||||
|
options = options || {};
|
||||||
|
var type = options.type || "default";
|
||||||
|
|
||||||
var deployButton = $('<li><span class="deploy-button-group button-group">'+
|
if (type == "default") {
|
||||||
'<a id="btn-deploy" class="action-deploy disabled" href="#"><img id="btn-icn-deploy" src="red/images/deploy-full-o.png"> <span>Deploy</span></a>'+
|
$('<li><span class="deploy-button-group button-group">'+
|
||||||
'<a id="btn-deploy-options" data-toggle="dropdown" class="" href="#"><i class="fa fa-caret-down"></i></a>'+
|
'<a id="btn-deploy" class="action-deploy disabled" href="#"><img id="btn-icn-deploy" src="red/images/deploy-full-o.png"> <span>Deploy</span></a>'+
|
||||||
'</span></li>').prependTo(".header-toolbar");
|
'<a id="btn-deploy-options" data-toggle="dropdown" class="" href="#"><i class="fa fa-caret-down"></i></a>'+
|
||||||
|
'</span></li>').prependTo(".header-toolbar");
|
||||||
|
RED.menu.init({id:"btn-deploy-options",
|
||||||
|
options: [
|
||||||
|
{id:"btn-deploy-full",toggle:"deploy-type",icon:"red/images/deploy-full.png",label:"Full",sublabel:"Deploys everything in the workspace",onselect:function(s) { if(s){changeDeploymentType("full")}}},
|
||||||
|
{id:"btn-deploy-flow",toggle:"deploy-type",icon:"red/images/deploy-flows.png",label:"Modified Flows",sublabel:"Only deploys flows that contain changed nodes", onselect:function(s) {if(s){changeDeploymentType("flows")}}},
|
||||||
|
{id:"btn-deploy-node",toggle:"deploy-type",icon:"red/images/deploy-nodes.png",label:"Modified Nodes",sublabel:"Only deploys nodes that have changed",onselect:function(s) { if(s){changeDeploymentType("nodes")}}}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
} else if (type == "simple") {
|
||||||
|
var label = options.label || "Deploy";
|
||||||
|
var icon = 'red/images/deploy-full-o.png';
|
||||||
|
if (options.hasOwnProperty('icon')) {
|
||||||
|
icon = options.icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('<li><span class="deploy-button-group button-group">'+
|
||||||
|
'<a id="btn-deploy" class="action-deploy disabled" href="#">'+
|
||||||
|
(icon?'<img id="btn-icn-deploy" src="'+icon+'"> ':'')+
|
||||||
|
'<span>'+label+'</span></a>'+
|
||||||
|
'</span></li>').prependTo(".header-toolbar");
|
||||||
|
}
|
||||||
|
|
||||||
$('#btn-deploy').click(function() { save(); });
|
$('#btn-deploy').click(function() { save(); });
|
||||||
|
|
||||||
@ -61,14 +92,6 @@ RED.deploy = (function() {
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
RED.menu.init({id:"btn-deploy-options",
|
|
||||||
options: [
|
|
||||||
{id:"btn-deploy-full",toggle:"deploy-type",icon:"red/images/deploy-full.png",label:"Full",sublabel:"Deploys everything in the workspace",onselect:function(s) { if(s){changeDeploymentType("full")}}},
|
|
||||||
{id:"btn-deploy-flow",toggle:"deploy-type",icon:"red/images/deploy-flows.png",label:"Modified Flows",sublabel:"Only deploys flows that contain changed nodes", onselect:function(s) {if(s){changeDeploymentType("flows")}}},
|
|
||||||
{id:"btn-deploy-node",toggle:"deploy-type",icon:"red/images/deploy-nodes.png",label:"Modified Nodes",sublabel:"Only deploys nodes that have changed",onselect:function(s) { if(s){changeDeploymentType("nodes")}}}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
RED.nodes.on('change',function(state) {
|
RED.nodes.on('change',function(state) {
|
||||||
if (state.dirty) {
|
if (state.dirty) {
|
||||||
window.onbeforeunload = function() {
|
window.onbeforeunload = function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user