diff --git a/gateway/assets/img/icons/outline-file_copy-24px.svg b/gateway/assets/img/icons/outline-file_copy-24px.svg new file mode 100644 index 00000000..23854fc9 --- /dev/null +++ b/gateway/assets/img/icons/outline-file_copy-24px.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + diff --git a/gateway/assets/index.html b/gateway/assets/index.html index 568205c0..739add10 100644 --- a/gateway/assets/index.html +++ b/gateway/assets/index.html @@ -123,6 +123,11 @@ + + + + +
diff --git a/gateway/assets/script/bootstrap.js b/gateway/assets/script/bootstrap.js index 7a781c75..ede2affe 100644 --- a/gateway/assets/script/bootstrap.js +++ b/gateway/assets/script/bootstrap.js @@ -21,6 +21,25 @@ app.controller("home", ['$scope', '$log', '$http', '$location', '$interval', '$f contentType: "text" }; + $scope.baseUrl = $location.absUrl().replace(/\ui\/$/, ''); + try { + $scope.canCopyToClipboard = document.queryCommandSupported('copy'); + } catch (err) { + console.error(err); + $scope.canCopyToClipboard = false; + } + $scope.copyClicked = function(e) { + e.target.parentElement.querySelector('input').select() + var copySuccessful = false; + try { + copySuccessful = document.execCommand('copy'); + } catch (err) { + console.error(err); + } + var msg = copySuccessful ? 'Copied to Clipboard' : 'Copy failed. Please copy it manually'; + showPostInvokedToast(msg); + } + $scope.toggleSideNav = function() { $mdSidenav('left').toggle(); }; diff --git a/gateway/assets/style/bootstrap.css b/gateway/assets/style/bootstrap.css index fa6bacdb..6cbbc397 100644 --- a/gateway/assets/style/bootstrap.css +++ b/gateway/assets/style/bootstrap.css @@ -104,4 +104,9 @@ md-icon { md-icon.link { fill: #303AA5; +} + +md-input-container.function-url md-icon { + display: inline-block; + cursor: pointer; } \ No newline at end of file