Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2017-05-10 15:29:20 +0300
committerRoeland Jago Douma <roeland@famdouma.nl>2017-05-23 14:44:42 +0300
commit91315f63cf31f0ff82a9539a5cf40694e1252996 (patch)
treeddda1bca4096f80f0654c4a12427eb4416ddf744 /apps/files/js/mainfileinfodetailview.js
parent250db249b5f32e112186dfb63e091faa89e68aaf (diff)
Copy permalink directly on click
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps/files/js/mainfileinfodetailview.js')
-rw-r--r--apps/files/js/mainfileinfodetailview.js39
1 files changed, 30 insertions, 9 deletions
diff --git a/apps/files/js/mainfileinfodetailview.js b/apps/files/js/mainfileinfodetailview.js
index f5f9e926f64..26472e0766d 100644
--- a/apps/files/js/mainfileinfodetailview.js
+++ b/apps/files/js/mainfileinfodetailview.js
@@ -14,7 +14,7 @@
'<div class="file-details-container">' +
'<div class="fileName">' +
'<h3 title="{{name}}" class="ellipsis">{{name}}</h3>' +
- '<a class="permalink" href="{{permalink}}" title="{{permalinkTitle}}">' +
+ '<a class="permalink" href="{{permalink}}" title="{{permalinkTitle}}" data-clipboard-text="{{permalink}}">' +
'<span class="icon icon-clippy"></span>' +
'<span class="hidden-visually">{{permalinkTitle}}</span>' +
'</a>' +
@@ -86,16 +86,37 @@
throw 'Missing required parameter "fileActions"';
}
this._previewManager = new OCA.Files.SidebarPreviewManager(this._fileList);
+
+ this._setupClipboard();
},
- _onClickPermalink: function() {
- var $row = this.$('.permalink-field');
- $row.toggleClass('hidden');
- if (!$row.hasClass('hidden')) {
- $row.find('>input').focus();
- }
- // cancel click, user must right-click + copy or middle click
- return false;
+ _setupClipboard: function() {
+ var clipboard = new Clipboard('.permalink');
+ clipboard.on('success', function(e) {
+ var $el = $(e.trigger);
+ $el.tooltip('hide')
+ .attr('data-original-title', t('core', 'Copied!'))
+ .tooltip('fixTitle')
+ .tooltip({placement: 'bottom', trigger: 'manual'})
+ .tooltip('show');
+ _.delay(function() {
+ $el.tooltip('hide');
+ $el.attr('data-original-title', t('files', 'Copy direct link (only works for users who have access to this file/folder)'))
+ .tooltip('fixTitle');
+ }, 3000);
+ });
+ clipboard.on('error', function(e) {
+ var $row = this.$('.permalink-field');
+ $row.toggleClass('hidden');
+ if (!$row.hasClass('hidden')) {
+ $row.find('>input').focus();
+ }
+ });
+ },
+
+ _onClickPermalink: function(e) {
+ e.preventDefault();
+ return;
},
_onFocusPermalink: function() {