diff --git a/editor/js/ui/projectSettings.js b/editor/js/ui/projectSettings.js index 2c3e1f54d..e93d8b9ad 100644 --- a/editor/js/ui/projectSettings.js +++ b/editor/js/ui/projectSettings.js @@ -1088,14 +1088,15 @@ RED.projects.settings = (function() { .appendTo(title) .click(function(evt) { editRepoButton.attr('disabled',true); - addBranchDialog.slideDown(200, function() { - addBranchDialog[0].scrollIntoView(); + addRemoteDialog.slideDown(200, function() { + addRemoteDialog[0].scrollIntoView(); }); }); var emptyItem = { empty: true }; - + var row = $('
').appendTo(repoContainer); + var addRemoteDialog = $('').hide().appendTo(row); row = $('').appendTo(repoContainer); var remotesList = $('',{style:"min-height: 80px"}).appendTo(row); + var spinner = utils.addSpinnerOverlay(keyBox).addClass('projects-dialog-spinner-contain'); + var options = { + url: 'settings/user/keys/'+entry.name, + type: "GET", + responses: { + 200: function(data) { + keyBox.text(data.publickey); + spinner.remove(); + }, + 400: { + 'unexpected_error': function(error) { + console.log(error); + spinner.remove(); + } + }, + } + } + utils.sendRequest(options); + + var formButtons = $('').appendTo(row); + $('') + .appendTo(formButtons) + .click(function(evt) { + evt.preventDefault(); + document.getSelection().selectAllChildren(keyBox[0]); + var ret = document.execCommand('copy'); + document.getSelection().empty(); + }); + + return row; + } + var keyList = $('').appendTo(row).editableList({ + height: 'auto', + addButton: false, + scrollOnAdd: false, + addItem: function(row,index,entry) { + var container = $('
').appendTo(row); + + if (entry.empty) { + container.addClass('red-ui-search-empty'); + container.text("No SSH keys"); + return; + } + + + $('').appendTo(container); + var topRow = $('').appendTo(container); + var content = $('').appendTo(content); + $('').text(entry.name).appendTo(topRow); + + var tools = $('