From 6f37a65b774283a10db2cb7f30179c49f252ecbd Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Tue, 9 Aug 2016 13:14:55 +0200
Subject: [PATCH] Add clipboard action to Personal Settings Fed Cloud Id

---
 .../css/settings-personal.css                 |  8 +++++
 .../js/settings-personal.js                   | 31 +++++++++++++++++++
 .../templates/settings-personal.php           |  3 +-
 3 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/apps/federatedfilesharing/css/settings-personal.css b/apps/federatedfilesharing/css/settings-personal.css
index f53365c9371..6cb69f83cb6 100644
--- a/apps/federatedfilesharing/css/settings-personal.css
+++ b/apps/federatedfilesharing/css/settings-personal.css
@@ -7,6 +7,14 @@
 	white-space: pre-wrap;
 }
 
+#fileSharingSettings .icon {
+	background-size: 16px 16px;
+	display: inline-block;
+	position: relative;
+	top: 3px;
+	margin-left: 5px;
+}
+
 [class^="social-"], [class*=" social-"] {
 	background-repeat: no-repeat;
 	background-position: 2px;
diff --git a/apps/federatedfilesharing/js/settings-personal.js b/apps/federatedfilesharing/js/settings-personal.js
index 14a9b7bbfa7..052ff5b4ed6 100644
--- a/apps/federatedfilesharing/js/settings-personal.js
+++ b/apps/federatedfilesharing/js/settings-personal.js
@@ -16,4 +16,35 @@ $(document).ready(function() {
 		$('#oca-files-sharing-add-to-your-website-expanded').slideDown();
 	});
 
+	// Clipboard!
+	var clipboard = new Clipboard('.clipboardButton');
+	clipboard.on('success', function(e) {
+		$input = $(e.trigger);
+		$input.tooltip({placement: 'bottom', trigger: 'manual', title: t('core', 'Copied!')});
+		$input.tooltip('show');
+		_.delay(function() {
+			$input.tooltip('hide');
+		}, 3000);
+	});
+	clipboard.on('error', function (e) {
+		$input = $(e.trigger);
+		var actionMsg = '';
+		if (/iPhone|iPad/i.test(navigator.userAgent)) {
+			actionMsg = t('core', 'Not supported!');
+		} else if (/Mac/i.test(navigator.userAgent)) {
+			actionMsg = t('core', 'Press ⌘-C to copy.');
+		} else {
+			actionMsg = t('core', 'Press Ctrl-C to copy.');
+		}
+
+		$input.tooltip({
+			placement: 'bottom',
+			trigger: 'manual',
+			title: actionMsg
+		});
+		$input.tooltip('show');
+		_.delay(function () {
+			$input.tooltip('hide');
+		}, 3000);
+	});
 });
diff --git a/apps/federatedfilesharing/templates/settings-personal.php b/apps/federatedfilesharing/templates/settings-personal.php
index 9699591b84d..aad1e385982 100644
--- a/apps/federatedfilesharing/templates/settings-personal.php
+++ b/apps/federatedfilesharing/templates/settings-personal.php
@@ -15,7 +15,8 @@ if ($_['showShareIT']) {
 
 		<p>
 			<?php p($l->t('Your Federated Cloud ID:')); ?>
-			<strong><?php p($_['cloudId']); ?></strong>
+			<strong id="cloudid"><?php p($_['cloudId']); ?></strong>
+			<a class="clipboardButton icon icon-clippy" data-clipboard-target="#cloudid"></a>
 		</p>
 
 		<br>
-- 
GitLab