diff options
author | Christopher Ng <chrng8@gmail.com> | 2022-09-20 19:43:34 +0000 |
---|---|---|
committer | Christopher Ng <chrng8@gmail.com> | 2022-09-20 19:43:34 +0000 |
commit | d415c656f6b1815ab6a7229bc5268abd5ea97a57 (patch) | |
tree | 1e078d6ba0c60bae4a970edd13e711360a0277e9 /apps/files | |
parent | ea08fabca3c10370d393ab10480fd82c36e1eaac (diff) | |
download | nextcloud-server-d415c656f6b1815ab6a7229bc5268abd5ea97a57.tar.gz nextcloud-server-d415c656f6b1815ab6a7229bc5268abd5ea97a57.zip |
Add edit locally file action
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Diffstat (limited to 'apps/files')
-rw-r--r-- | apps/files/js/fileactions.js | 24 | ||||
-rw-r--r-- | apps/files/js/filelist.js | 9 |
2 files changed, 33 insertions, 0 deletions
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index f342f21a4fb..4525da876e3 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -711,6 +711,30 @@ }); this.registerAction({ + name: 'EditLocally', + displayName: function(context) { + var locked = context.$file.data('locked'); + if (!locked) { + return t('files', 'Edit locally'); + } + }, + mime: 'all', + order: -23, + iconClass: function(filename, context) { + var locked = context.$file.data('locked'); + if (!locked) { + return 'icon-rename'; + } + }, + permissions: OC.PERMISSION_UPDATE, + actionHandler: function (filename, context) { + var dir = context.dir || context.fileList.getCurrentDirectory(); + var path = dir === '/' ? dir + filename : dir + '/' + filename; + context.fileList.openLocalClient(path); + }, + }); + + this.registerAction({ name: 'Open', mime: 'dir', permissions: OC.PERMISSION_READ, diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index ee596dd417e..fff704b9283 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -2807,6 +2807,15 @@ }); }, + openLocalClient: function(path) { + var scheme = 'nc://'; + var command = 'open'; + var uid = OC.getCurrentUser().uid; + var url = scheme + command + '/' + uid + '@' + window.location.host + (window.location.port ? `:${window.location.port}` : '') + OC.encodePath(path); + + window.location.href = url; + }, + /** * Updates the given row with the given file info * |