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