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 = {
|
||||
height: "300px",
|
||||
deleteAction: function(entry, header) {
|
||||
sendSSHKeyManagementAPI("DELETE_KEY", entry.name, function(data) {
|
||||
var spinner = utils.addSpinnerOverlay(header).addClass('projects-dialog-spinner-contain');
|
||||
var notification = RED.notify("Are you sure you want to delete the SSH Keys '"+entry.name+"'? This cannot be undone.", {
|
||||
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) {
|
||||
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);
|
||||
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(),
|
||||
size: 4096
|
||||
},
|
||||
gitconfigContainer,
|
||||
function() {
|
||||
hideSSHKeyGenerateForm();
|
||||
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 method;
|
||||
var payload;
|
||||
@ -180,10 +221,13 @@ RED.projects.userSettings = (function() {
|
||||
console.error('Unexpected type....');
|
||||
return;
|
||||
}
|
||||
var spinner = utils.addSpinnerOverlay(gitconfigContainer);
|
||||
// var spinner = utils.addSpinnerOverlay(gitconfigContainer);
|
||||
var spinner = overlay ? utils.addSpinnerOverlay(overlay) : null;
|
||||
|
||||
var done = function(err) {
|
||||
if ( spinner ) {
|
||||
spinner.remove();
|
||||
}
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return;
|
||||
|
@ -728,8 +728,6 @@ RED.projects = (function() {
|
||||
return container;
|
||||
}
|
||||
|
||||
// var selectedSSHKey = null;
|
||||
// var sshkeyList = null;
|
||||
$.fn.isVisible = function() {
|
||||
return $.expr.filters.visible(this[0]);
|
||||
}
|
||||
@ -774,7 +772,6 @@ RED.projects = (function() {
|
||||
});
|
||||
$.getJSON("settings/user/keys", function(data) {
|
||||
data.keys.forEach(function(key) {
|
||||
console.log('key:', key);
|
||||
if ( sshkeyList ) {
|
||||
sshkeyList.editableList('addItem',key);
|
||||
}
|
||||
@ -788,7 +785,6 @@ RED.projects = (function() {
|
||||
$.data(container[0], 'selected', null);
|
||||
$.data(container[0], 'sshkeys', sshkeyList);
|
||||
}
|
||||
console.log('container.sshkeys:', container.data('sshkeys'));
|
||||
return container;
|
||||
}
|
||||
function getSelectedSSHKey(container) {
|
||||
@ -801,16 +797,12 @@ RED.projects = (function() {
|
||||
}
|
||||
}
|
||||
function refreshSSHKeyList(container) {
|
||||
console.log('refreshSSHKeyList');
|
||||
var sshkeyList = $.data(container[0], 'sshkeys');
|
||||
console.log(' ---> container:', container);
|
||||
console.log(' ---> container.sshkeyList:', sshkeyList);
|
||||
if ( container && sshkeyList ) {
|
||||
sshkeyList.empty();
|
||||
$.getJSON("settings/user/keys", function(data) {
|
||||
var keyList = $.data(container[0], 'sshkeys');
|
||||
data.keys.forEach(function(key) {
|
||||
console.log('key:', key);
|
||||
if ( keyList ) {
|
||||
keyList.editableList('addItem',key);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user