1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Prevent shortcut deploy when deploy button shaded

fixes #3509
This commit is contained in:
Steve-Mcl 2022-04-04 17:06:29 +01:00
parent 77e2e44abc
commit 780e41d6a6

View File

@ -320,18 +320,22 @@ RED.deploy = (function() {
});
}
function save(skipValidation, force) {
if (!$("#red-ui-header-button-deploy").hasClass("disabled")) {
if ($("#red-ui-header-button-deploy").hasClass("disabled")) {
return; //deploy is disabled
}
if ($("#red-ui-header-shade").is(":visible")) {
return; //deploy is shaded
}
if (!RED.user.hasPermission("flows.write")) {
RED.notify(RED._("user.errors.deploy"), "error");
return;
}
if (!skipValidation) {
var hasUnknown = false;
var hasInvalid = false;
var hasUnusedConfig = false;
var unknownNodes = [];
var invalidNodes = [];
let hasUnknown = false;
let hasInvalid = false;
let hasUnusedConfig = false;
const unknownNodes = [];
const invalidNodes = [];
RED.nodes.eachConfig(function (node) {
if (node.valid === undefined) {
@ -359,7 +363,7 @@ RED.deploy = (function() {
hasUnknown = unknownNodes.length > 0;
hasInvalid = invalidNodes.length > 0;
var unusedConfigNodes = [];
const unusedConfigNodes = [];
RED.nodes.eachConfig(function (node) {
if ((node._def.hasUsers !== false) && (node.users.length === 0)) {
unusedConfigNodes.push(getNodeInfo(node));
@ -367,10 +371,10 @@ RED.deploy = (function() {
}
});
var showWarning = false;
var notificationMessage;
var notificationButtons = [];
var notification;
let showWarning = false;
let notificationMessage;
let notificationButtons = [];
let notification;
if (hasUnknown && !ignoreDeployWarnings.unknown) {
showWarning = true;
notificationMessage = "<p>" + RED._('deploy.confirm.unknown') + "</p>" +
@ -427,14 +431,14 @@ RED.deploy = (function() {
}
}
var nns = RED.nodes.createCompleteNodeSet();
const nns = RED.nodes.createCompleteNodeSet();
const startTime = Date.now();
var startTime = Date.now();
$(".red-ui-deploy-button-content").css('opacity', 0);
$(".red-ui-deploy-button-spinner").show();
$("#red-ui-header-button-deploy").addClass("disabled");
var data = {flows:nns};
const data = { flows: nns };
if (!force) {
data.rev = RED.nodes.version();
@ -507,7 +511,7 @@ RED.deploy = (function() {
}
}).always(function () {
deployInflight = false;
var delta = Math.max(0,300-(Date.now()-startTime));
const delta = Math.max(0, 300 - (Date.now() - startTime));
setTimeout(function () {
$(".red-ui-deploy-button-content").css('opacity', 1);
$(".red-ui-deploy-button-spinner").hide();
@ -518,7 +522,6 @@ RED.deploy = (function() {
}, delta);
});
}
}
return {
init: init,
setDeployInflight: function(state) {