mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Add delete SSH Key dialog
This commit is contained in:
parent
2a9d0a5e7d
commit
53e012f296
@ -53,15 +53,55 @@ RED.projects.userSettings = (function() {
|
|||||||
var sshkeyListOptions = {
|
var sshkeyListOptions = {
|
||||||
height: "300px",
|
height: "300px",
|
||||||
deleteAction: function(entry, header) {
|
deleteAction: function(entry, header) {
|
||||||
sendSSHKeyManagementAPI("DELETE_KEY", entry.name, function(data) {
|
var spinner = utils.addSpinnerOverlay(header).addClass('projects-dialog-spinner-contain');
|
||||||
hideSSHKeyGenerateForm();
|
var notification = RED.notify("Are you sure you want to delete the SSH Keys '"+entry.name+"'? This cannot be undone.", {
|
||||||
utils.refreshSSHKeyList(sshkeysList);
|
type: 'warning',
|
||||||
|
modal: true,
|
||||||
|
fixed: true,
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: RED._("common.label.cancel"),
|
||||||
|
click: function() {
|
||||||
|
spinner.remove();
|
||||||
|
notification.close();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "Delete SSH Keys",
|
||||||
|
click: function() {
|
||||||
|
notification.close();
|
||||||
|
sendSSHKeyManagementAPI("DELETE_KEY", entry.name, null, function(data) {
|
||||||
|
spinner.remove();
|
||||||
|
hideSSHKeyGenerateForm();
|
||||||
|
utils.refreshSSHKeyList(sshkeysList);
|
||||||
|
}, function(err) {
|
||||||
|
spinner.remove();
|
||||||
|
console.log('Delete error! error:', err);
|
||||||
|
notification = RED.notify("Failed to delete the SSH Keys '"+entry.name+"'.", {
|
||||||
|
type: "error",
|
||||||
|
modal: true,
|
||||||
|
fixed: false
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
selectAction: function(entry, header) {
|
selectAction: function(entry, header) {
|
||||||
sendSSHKeyManagementAPI("GET_KEY_DETAIL", entry.name, function(data) {
|
var spinner = utils.addSpinnerOverlay(header).addClass('projects-dialog-spinner-contain');
|
||||||
|
sendSSHKeyManagementAPI("GET_KEY_DETAIL", entry.name, null, function(data) {
|
||||||
|
spinner.remove();
|
||||||
setDialogContext(entry.name, data.publickey);
|
setDialogContext(entry.name, data.publickey);
|
||||||
dialog.dialog("open");
|
dialog.dialog("open");
|
||||||
|
}, function(err) {
|
||||||
|
console.log('Get SSH Key detail error! error:', err);
|
||||||
|
spinner.remove();
|
||||||
|
notification = RED.notify("Failed to get the SSH Key detail '"+entry.name+"'.", {
|
||||||
|
type: "error",
|
||||||
|
modal: true,
|
||||||
|
fixed: false
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -135,6 +175,7 @@ RED.projects.userSettings = (function() {
|
|||||||
password: sshkeyPassphraseInput.val(),
|
password: sshkeyPassphraseInput.val(),
|
||||||
size: 4096
|
size: 4096
|
||||||
},
|
},
|
||||||
|
gitconfigContainer,
|
||||||
function() {
|
function() {
|
||||||
hideSSHKeyGenerateForm();
|
hideSSHKeyGenerateForm();
|
||||||
utils.refreshSSHKeyList(sshkeysList);
|
utils.refreshSSHKeyList(sshkeysList);
|
||||||
@ -154,7 +195,7 @@ RED.projects.userSettings = (function() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendSSHKeyManagementAPI(type, param, successCallback, failCallback) {
|
function sendSSHKeyManagementAPI(type, param, overlay, successCallback, failCallback) {
|
||||||
var url;
|
var url;
|
||||||
var method;
|
var method;
|
||||||
var payload;
|
var payload;
|
||||||
@ -180,10 +221,13 @@ RED.projects.userSettings = (function() {
|
|||||||
console.error('Unexpected type....');
|
console.error('Unexpected type....');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var spinner = utils.addSpinnerOverlay(gitconfigContainer);
|
// var spinner = utils.addSpinnerOverlay(gitconfigContainer);
|
||||||
|
var spinner = overlay ? utils.addSpinnerOverlay(overlay) : null;
|
||||||
|
|
||||||
var done = function(err) {
|
var done = function(err) {
|
||||||
spinner.remove();
|
if ( spinner ) {
|
||||||
|
spinner.remove();
|
||||||
|
}
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
return;
|
return;
|
||||||
|
@ -728,8 +728,6 @@ RED.projects = (function() {
|
|||||||
return container;
|
return container;
|
||||||
}
|
}
|
||||||
|
|
||||||
// var selectedSSHKey = null;
|
|
||||||
// var sshkeyList = null;
|
|
||||||
$.fn.isVisible = function() {
|
$.fn.isVisible = function() {
|
||||||
return $.expr.filters.visible(this[0]);
|
return $.expr.filters.visible(this[0]);
|
||||||
}
|
}
|
||||||
@ -774,7 +772,6 @@ RED.projects = (function() {
|
|||||||
});
|
});
|
||||||
$.getJSON("settings/user/keys", function(data) {
|
$.getJSON("settings/user/keys", function(data) {
|
||||||
data.keys.forEach(function(key) {
|
data.keys.forEach(function(key) {
|
||||||
console.log('key:', key);
|
|
||||||
if ( sshkeyList ) {
|
if ( sshkeyList ) {
|
||||||
sshkeyList.editableList('addItem',key);
|
sshkeyList.editableList('addItem',key);
|
||||||
}
|
}
|
||||||
@ -788,7 +785,6 @@ RED.projects = (function() {
|
|||||||
$.data(container[0], 'selected', null);
|
$.data(container[0], 'selected', null);
|
||||||
$.data(container[0], 'sshkeys', sshkeyList);
|
$.data(container[0], 'sshkeys', sshkeyList);
|
||||||
}
|
}
|
||||||
console.log('container.sshkeys:', container.data('sshkeys'));
|
|
||||||
return container;
|
return container;
|
||||||
}
|
}
|
||||||
function getSelectedSSHKey(container) {
|
function getSelectedSSHKey(container) {
|
||||||
@ -801,16 +797,12 @@ RED.projects = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
function refreshSSHKeyList(container) {
|
function refreshSSHKeyList(container) {
|
||||||
console.log('refreshSSHKeyList');
|
|
||||||
var sshkeyList = $.data(container[0], 'sshkeys');
|
var sshkeyList = $.data(container[0], 'sshkeys');
|
||||||
console.log(' ---> container:', container);
|
|
||||||
console.log(' ---> container.sshkeyList:', sshkeyList);
|
|
||||||
if ( container && sshkeyList ) {
|
if ( container && sshkeyList ) {
|
||||||
sshkeyList.empty();
|
sshkeyList.empty();
|
||||||
$.getJSON("settings/user/keys", function(data) {
|
$.getJSON("settings/user/keys", function(data) {
|
||||||
var keyList = $.data(container[0], 'sshkeys');
|
var keyList = $.data(container[0], 'sshkeys');
|
||||||
data.keys.forEach(function(key) {
|
data.keys.forEach(function(key) {
|
||||||
console.log('key:', key);
|
|
||||||
if ( keyList ) {
|
if ( keyList ) {
|
||||||
keyList.editableList('addItem',key);
|
keyList.editableList('addItem',key);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user