From 99e9c0086ea5fd83d1de336286da6fed501bdc36 Mon Sep 17 00:00:00 2001 From: Peter Papp Date: Fri, 20 Aug 2021 09:54:00 +0200 Subject: [PATCH] contextmenu refactoring --- public/mix-manifest.json | 51 +- .../js/components/FilesView/ContextMenu.vue | 484 +++++------------- resources/js/helpers/functionHelpers.js | 8 + resources/js/helpers/itemHelpers.js | 14 + resources/js/store/modules/fileBrowser.js | 4 - resources/js/views/FileView/Home/Files.vue | 96 +++- 6 files changed, 300 insertions(+), 357 deletions(-) diff --git a/public/mix-manifest.json b/public/mix-manifest.json index defeefe0..c5b4b79b 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -36,12 +36,12 @@ "/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=1e02112873d0b86eb1ac", "/chunks/email-verified.js": "/chunks/email-verified.js?id=dc4aa33310fc98be6749", "/chunks/environment-setup.js": "/chunks/environment-setup.js?id=a547f8b4e9a83935a777", - "/chunks/files.js": "/chunks/files.js?id=c0cd8f81f291ae02d6db", + "/chunks/files.js": "/chunks/files.js?id=f7699c61807c439c44ea", "/chunks/files~chunks/platform~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.js?id=4711dbca9d83d061561c", "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=74456138b2b60df5cb0d", "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=a831ffd52ccae7b0b983", "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js?id=c5ec9502bcfad35c502e", - "/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=3890fdb4554e98928fc6", + "/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=e4167732f5c336b267ec", "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.js?id=405a76566fbfd86d809b", "/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=61fb98fd41324af9cfea", "/chunks/homepage.js": "/chunks/homepage.js?id=6f2aac612b4c6eaabf61", @@ -212,5 +212,50 @@ "/chunks/platform~chunks/shared/file-browser.9ed291703ca2e7c8dbcd.hot-update.js": "/chunks/platform~chunks/shared/file-browser.9ed291703ca2e7c8dbcd.hot-update.js", "/chunks/platform~chunks/shared/file-browser.5294fb48ebb3f6d12351.hot-update.js": "/chunks/platform~chunks/shared/file-browser.5294fb48ebb3f6d12351.hot-update.js", "/chunks/files.a1f5370b7519edd60005.hot-update.js": "/chunks/files.a1f5370b7519edd60005.hot-update.js", - "/chunks/files.6f0a1f050877d1e2c39d.hot-update.js": "/chunks/files.6f0a1f050877d1e2c39d.hot-update.js" + "/chunks/files.6f0a1f050877d1e2c39d.hot-update.js": "/chunks/files.6f0a1f050877d1e2c39d.hot-update.js", + "/js/main.e1fdbe84d7b7073e6a4f.hot-update.js": "/js/main.e1fdbe84d7b7073e6a4f.hot-update.js", + "/chunks/files~chunks/shared/file-browser.2fdb8434333dd5b94bf9.hot-update.js": "/chunks/files~chunks/shared/file-browser.2fdb8434333dd5b94bf9.hot-update.js", + "/js/main.3d57f21a691beb2d4731.hot-update.js": "/js/main.3d57f21a691beb2d4731.hot-update.js", + "/chunks/files~chunks/shared/file-browser.52fe3c022f17b65feecc.hot-update.js": "/chunks/files~chunks/shared/file-browser.52fe3c022f17b65feecc.hot-update.js", + "/chunks/files.6298607239f7c5ba7516.hot-update.js": "/chunks/files.6298607239f7c5ba7516.hot-update.js", + "/chunks/files~chunks/shared/file-browser.6298607239f7c5ba7516.hot-update.js": "/chunks/files~chunks/shared/file-browser.6298607239f7c5ba7516.hot-update.js", + "/chunks/files.90b8a1d407312da18f24.hot-update.js": "/chunks/files.90b8a1d407312da18f24.hot-update.js", + "/chunks/files.d1c72dd53e2b8dc531e3.hot-update.js": "/chunks/files.d1c72dd53e2b8dc531e3.hot-update.js", + "/chunks/files~chunks/shared/file-browser.1da0d4befcd7f579df5a.hot-update.js": "/chunks/files~chunks/shared/file-browser.1da0d4befcd7f579df5a.hot-update.js", + "/chunks/files.3eef7ff965f2c2fcabb4.hot-update.js": "/chunks/files.3eef7ff965f2c2fcabb4.hot-update.js", + "/chunks/files.6f14a67c57774b38e32a.hot-update.js": "/chunks/files.6f14a67c57774b38e32a.hot-update.js", + "/chunks/files~chunks/shared/file-browser.15275c00dd8dcc32180e.hot-update.js": "/chunks/files~chunks/shared/file-browser.15275c00dd8dcc32180e.hot-update.js", + "/chunks/files.011b9d7f15a9fbf20fee.hot-update.js": "/chunks/files.011b9d7f15a9fbf20fee.hot-update.js", + "/chunks/files.c3f780b083d939354c28.hot-update.js": "/chunks/files.c3f780b083d939354c28.hot-update.js", + "/chunks/files.4d27e61b1c84c9da270b.hot-update.js": "/chunks/files.4d27e61b1c84c9da270b.hot-update.js", + "/chunks/files~chunks/shared/file-browser.a4074fbd5bf83227f392.hot-update.js": "/chunks/files~chunks/shared/file-browser.a4074fbd5bf83227f392.hot-update.js", + "/chunks/files.621f3b6fe3c09c6af4ce.hot-update.js": "/chunks/files.621f3b6fe3c09c6af4ce.hot-update.js", + "/chunks/files.507486947b28b2733f15.hot-update.js": "/chunks/files.507486947b28b2733f15.hot-update.js", + "/chunks/files.430d15cb83aff6c406c9.hot-update.js": "/chunks/files.430d15cb83aff6c406c9.hot-update.js", + "/chunks/files.dc5fa2c867d280d31625.hot-update.js": "/chunks/files.dc5fa2c867d280d31625.hot-update.js", + "/chunks/files~chunks/shared/file-browser.bba6d54b340ea48cf223.hot-update.js": "/chunks/files~chunks/shared/file-browser.bba6d54b340ea48cf223.hot-update.js", + "/chunks/files~chunks/shared/file-browser.33dca32cac96790d1688.hot-update.js": "/chunks/files~chunks/shared/file-browser.33dca32cac96790d1688.hot-update.js", + "/chunks/files.b0d755408c6da2bd870b.hot-update.js": "/chunks/files.b0d755408c6da2bd870b.hot-update.js", + "/chunks/files~chunks/shared/file-browser.b0d755408c6da2bd870b.hot-update.js": "/chunks/files~chunks/shared/file-browser.b0d755408c6da2bd870b.hot-update.js", + "/chunks/files.375827553e299b2a760b.hot-update.js": "/chunks/files.375827553e299b2a760b.hot-update.js", + "/chunks/files~chunks/shared/file-browser.9665ce0b7172baa97808.hot-update.js": "/chunks/files~chunks/shared/file-browser.9665ce0b7172baa97808.hot-update.js", + "/chunks/files.754cc42500515c47f5a0.hot-update.js": "/chunks/files.754cc42500515c47f5a0.hot-update.js", + "/chunks/files.21fbac2946fb286e30c8.hot-update.js": "/chunks/files.21fbac2946fb286e30c8.hot-update.js", + "/js/main.00016cfb2c445f675544.hot-update.js": "/js/main.00016cfb2c445f675544.hot-update.js", + "/chunks/files~chunks/shared/file-browser.00016cfb2c445f675544.hot-update.js": "/chunks/files~chunks/shared/file-browser.00016cfb2c445f675544.hot-update.js", + "/chunks/files.49423b0e1b2925c15352.hot-update.js": "/chunks/files.49423b0e1b2925c15352.hot-update.js", + "/chunks/files~chunks/shared/file-browser.a2e4a082d157c6d1ea74.hot-update.js": "/chunks/files~chunks/shared/file-browser.a2e4a082d157c6d1ea74.hot-update.js", + "/chunks/files.ee3f47a3c5116b5b401e.hot-update.js": "/chunks/files.ee3f47a3c5116b5b401e.hot-update.js", + "/chunks/files.32762bd122d09306703e.hot-update.js": "/chunks/files.32762bd122d09306703e.hot-update.js", + "/js/main.ad05ccbac44b2c624593.hot-update.js": "/js/main.ad05ccbac44b2c624593.hot-update.js", + "/chunks/files~chunks/shared/file-browser.ad05ccbac44b2c624593.hot-update.js": "/chunks/files~chunks/shared/file-browser.ad05ccbac44b2c624593.hot-update.js", + "/chunks/files.4c7fc31461457da5d19b.hot-update.js": "/chunks/files.4c7fc31461457da5d19b.hot-update.js", + "/chunks/files.f98a86d3e73c8cdc33f7.hot-update.js": "/chunks/files.f98a86d3e73c8cdc33f7.hot-update.js", + "/chunks/files.16f924f1699275468e90.hot-update.js": "/chunks/files.16f924f1699275468e90.hot-update.js", + "/chunks/files.495f7c821ef89e0a8787.hot-update.js": "/chunks/files.495f7c821ef89e0a8787.hot-update.js", + "/chunks/files.f5b883834d41084ede46.hot-update.js": "/chunks/files.f5b883834d41084ede46.hot-update.js", + "/chunks/files.2794cdc38c8ca54d123e.hot-update.js": "/chunks/files.2794cdc38c8ca54d123e.hot-update.js", + "/chunks/files.894abb6ec52da6cabd48.hot-update.js": "/chunks/files.894abb6ec52da6cabd48.hot-update.js", + "/chunks/files~chunks/shared/file-browser.f88511affbcacf404db3.hot-update.js": "/chunks/files~chunks/shared/file-browser.f88511affbcacf404db3.hot-update.js", + "/chunks/files.9322fd1e7e2da1962d6b.hot-update.js": "/chunks/files.9322fd1e7e2da1962d6b.hot-update.js" } diff --git a/resources/js/components/FilesView/ContextMenu.vue b/resources/js/components/FilesView/ContextMenu.vue index 21c62c64..3b4fd3e4 100644 --- a/resources/js/components/FilesView/ContextMenu.vue +++ b/resources/js/components/FilesView/ContextMenu.vue @@ -1,336 +1,125 @@ @@ -339,60 +128,61 @@ export default { @import "resources/sass/vuefilemanager/_mixins"; .no-options { - /deep/ .text-label { - color: $text-muted !important; - } + /deep/ .text-label { + color: $text-muted !important; + } - /deep/ &:hover { - background: transparent; - } + /deep/ &:hover { + background: transparent; + } - /deep/ path, - /deep/ line, - /deep/ circle { - stroke: $text-muted !important; - } + /deep/ path, + /deep/ line, + /deep/ circle { + stroke: $text-muted !important; + } } .contextmenu { - min-width: 250px; - position: absolute; - z-index: 99; - box-shadow: $shadow; - background: white; - border-radius: 8px; - overflow: hidden; + min-width: 250px; + position: absolute; + z-index: 99; + box-shadow: $shadow; + background: white; + border-radius: 8px; + overflow: hidden; - &.showed { - display: block; - } + &.showed { + display: block; + } } .menu-options { - list-style: none; - width: 100%; - margin: 0; - padding: 0; + list-style: none; + width: 100%; + margin: 0; + padding: 0; } .dark-mode { - .contextmenu { - background: $dark_mode_foreground; - } - .no-options { - /deep/ .text-label { - color: $dark_mode_text_secondary !important; - } + .contextmenu { + background: $dark_mode_foreground; + } - /deep/ &:hover { - background: transparent; - } + .no-options { + /deep/ .text-label { + color: $dark_mode_text_secondary !important; + } - /deep/ path, - /deep/ line, - /deep/ circle { - stroke: $dark_mode_text_secondary !important; - } - } + /deep/ &:hover { + background: transparent; + } + + /deep/ path, + /deep/ line, + /deep/ circle { + stroke: $dark_mode_text_secondary !important; + } + } } diff --git a/resources/js/helpers/functionHelpers.js b/resources/js/helpers/functionHelpers.js index 689627a9..932f87cd 100644 --- a/resources/js/helpers/functionHelpers.js +++ b/resources/js/helpers/functionHelpers.js @@ -331,6 +331,14 @@ const FunctionHelpers = { Vue.prototype.$closePopup = function () { events.$emit('popup:close') } + + Vue.prototype.$openInDetailPanel = function (entry) { + // Dispatch load file info detail + this.$store.commit('ADD_ITEM_TO_CLIPBOARD', entry) + + // Show panel if is not open + this.$store.dispatch('fileInfoToggle', true) + } } } diff --git a/resources/js/helpers/itemHelpers.js b/resources/js/helpers/itemHelpers.js index 3279936a..a8b3f69f 100644 --- a/resources/js/helpers/itemHelpers.js +++ b/resources/js/helpers/itemHelpers.js @@ -6,6 +6,14 @@ import store from "../store"; const itemHelpers = { install(Vue) { + Vue.prototype.$emptyTrash = function () { + this.$store.dispatch('emptyTrash') + } + + Vue.prototype.$shareCancel = function () { + this.$store.dispatch('shareCancel') + } + Vue.prototype.$renameFileOrFolder = function (entry) { events.$emit('popup:open', {name: 'rename-item', item: entry}) } @@ -14,6 +22,12 @@ const itemHelpers = { events.$emit('popup:open', {name: 'move', item: [entry]}) } + Vue.prototype.$createFolder = function () { + this.$store.dispatch('createFolder', { + name: this.$t('popup_create_folder.folder_default_name') + }) + } + Vue.prototype.$createTeamFolder = function (entry) { events.$emit('popup:open', {name: 'create-team-folder'}) } diff --git a/resources/js/store/modules/fileBrowser.js b/resources/js/store/modules/fileBrowser.js index 97468cff..cac55fed 100644 --- a/resources/js/store/modules/fileBrowser.js +++ b/resources/js/store/modules/fileBrowser.js @@ -22,10 +22,6 @@ const actions = { .get(`${getters.api}/browse/folders/${id}/${getters.sorting.URI}`) .then(response => { commit('LOADING_STATE', {loading: false, data: response.data}) - commit('STORE_CURRENT_FOLDER', payload.folder) - - if (payload.back && !payload.sorting) - commit('REMOVE_BROWSER_HISTORY') events.$emit('scrollTop') }) diff --git a/resources/js/views/FileView/Home/Files.vue b/resources/js/views/FileView/Home/Files.vue index 12edb9ae..b6ba3743 100644 --- a/resources/js/views/FileView/Home/Files.vue +++ b/resources/js/views/FileView/Home/Files.vue @@ -1,8 +1,51 @@ @@ -10,27 +53,74 @@