From 2f80415fbd835b36cf61201b889746cb1f842889 Mon Sep 17 00:00:00 2001 From: Anton Bortnikov Date: Mon, 12 Dec 2022 16:28:12 +0300 Subject: [PATCH 1/5] Add custom logic --- package-lock.json | 4 +-- src/components/blocks/NavbarBlock.vue | 28 +++++++++++++++++++ .../blocks/mixins/contextMenuActions.js | 11 ++++++++ .../blocks/mixins/contextMenuRules.js | 8 ++++++ src/components/manager/mixins/manager.js | 19 ++++--------- src/lang/en.js | 2 ++ src/lang/ru.js | 2 ++ 7 files changed, 59 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 97bf9a8..1e166d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "laravel-file-manager", - "version": "3.0.2", + "version": "3.0.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "laravel-file-manager", - "version": "3.0.2", + "version": "3.0.3", "license": "MIT", "dependencies": { "axios": "^0.25.0", diff --git a/src/components/blocks/NavbarBlock.vue b/src/components/blocks/NavbarBlock.vue index 07667ca..b148ad6 100644 --- a/src/components/blocks/NavbarBlock.vue +++ b/src/components/blocks/NavbarBlock.vue @@ -113,6 +113,15 @@ > +
@@ -247,6 +256,14 @@ export default { hiddenFiles() { return this.$store.state.fm.settings.hiddenFiles; }, + + /** + * Insert button state + * @returns {boolean} + */ + insertDisabled() { + return this.$store.state.fm[this.activeManager].selected.files.length <= 0; + }, }, methods: { /** @@ -305,6 +322,17 @@ export default { this.$store.commit('fm/settings/toggleHiddenFiles'); }, + /** + * Insert + */ + insertSelected() { + window.dispatchEvent( + new CustomEvent('fm:insert', { + detail: { files: this.$store.getters['fm/selectedItems'] }, + }) + ); + }, + /** * Show modal window * @param modalName diff --git a/src/components/blocks/mixins/contextMenuActions.js b/src/components/blocks/mixins/contextMenuActions.js index 9f50929..6e9509a 100644 --- a/src/components/blocks/mixins/contextMenuActions.js +++ b/src/components/blocks/mixins/contextMenuActions.js @@ -61,6 +61,17 @@ export default { }); }, + /** + * Select file + */ + insertAction() { + window.dispatchEvent( + new CustomEvent('fm:insert', { + detail: { files: this.$store.getters['fm/selectedItems'] }, + }) + ); + }, + /** * Select file */ diff --git a/src/components/blocks/mixins/contextMenuRules.js b/src/components/blocks/mixins/contextMenuRules.js index fb2cffb..951ee09 100644 --- a/src/components/blocks/mixins/contextMenuRules.js +++ b/src/components/blocks/mixins/contextMenuRules.js @@ -47,6 +47,14 @@ export default { return !this.multiSelect && this.firstItemType === 'file' && this.canEdit(this.selectedItems[0].extension); }, + /** + * Insert - menu item status - show or hide + * @returns {boolean|*} + */ + insertRule() { + return this.firstItemType === 'file' && this.canEdit(this.selectedItems[0].extension); + }, + /** * Select - menu item status - show or hide * @returns {boolean|null} diff --git a/src/components/manager/mixins/manager.js b/src/components/manager/mixins/manager.js index 96ff1e0..9390e5e 100644 --- a/src/components/manager/mixins/manager.js +++ b/src/components/manager/mixins/manager.js @@ -100,20 +100,13 @@ export default { // search in selected array const alreadySelected = this.selected[type].includes(path); - // if pressed Ctrl -> multi select - if (event.ctrlKey || event.metaKey) { - if (!alreadySelected) { - // add new selected item - this.$store.commit(`fm/${this.manager}/setSelected`, { type, path }); - } else { - // remove selected item - this.$store.commit(`fm/${this.manager}/removeSelected`, { type, path }); - } - } - - // single select - if (!event.ctrlKey && !alreadySelected && !event.metaKey) { + if (!alreadySelected) { + // add new selected item + this.$store.commit(`fm/${this.manager}/setSelected`, { type, path }); this.$store.commit(`fm/${this.manager}/changeSelected`, { type, path }); + } else { + // remove selected item + this.$store.commit(`fm/${this.manager}/removeSelected`, { type, path }); } }, diff --git a/src/lang/en.js b/src/lang/en.js index b117c3b..31c9513 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -24,6 +24,7 @@ const en = { upload: 'Upload', uploadSelect: 'Select files', hidden: ' Hidden files', + insert: 'Insert', }, clipboard: { actionType: 'Type', @@ -49,6 +50,7 @@ const en = { edit: 'Edit', audioPlay: 'Play', videoPlay: 'Play', + insert: 'Insert', }, info: { directories: 'Folders:', diff --git a/src/lang/ru.js b/src/lang/ru.js index 7c0f64b..64d1780 100644 --- a/src/lang/ru.js +++ b/src/lang/ru.js @@ -24,6 +24,7 @@ const ru = { upload: 'Загрузить', uploadSelect: 'Выбрать файлы', hidden: 'Скрытые файлы', + insert: 'Выбрать', }, clipboard: { actionType: 'Тип операции', @@ -49,6 +50,7 @@ const ru = { edit: 'Редактировать', audioPlay: 'Воспроизвести', videoPlay: 'Воспроизвести', + insert: 'Выбрать', }, info: { directories: 'Папок:', From 44e8a6f1ef9e4ad858598e8d47c2305dd665f699 Mon Sep 17 00:00:00 2001 From: Anton Bortnikov Date: Mon, 12 Dec 2022 19:03:11 +0300 Subject: [PATCH 2/5] Fix custom logic --- src/components/manager/mixins/manager.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/manager/mixins/manager.js b/src/components/manager/mixins/manager.js index 9390e5e..af8d7e1 100644 --- a/src/components/manager/mixins/manager.js +++ b/src/components/manager/mixins/manager.js @@ -103,7 +103,6 @@ export default { if (!alreadySelected) { // add new selected item this.$store.commit(`fm/${this.manager}/setSelected`, { type, path }); - this.$store.commit(`fm/${this.manager}/changeSelected`, { type, path }); } else { // remove selected item this.$store.commit(`fm/${this.manager}/removeSelected`, { type, path }); From 618872f9f160056d74d40466e2dc8e1381d30f16 Mon Sep 17 00:00:00 2001 From: Anton Bortnikov Date: Tue, 13 Dec 2022 17:23:54 +0300 Subject: [PATCH 3/5] Fix package.json name --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9ba977c..49bf5c5 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "laravel-file-manager", + "name": "cebelerk.laravel-file-manager", "version": "3.0.3", "description": "File manager for Laravel", "keywords": [ From 756ad5ea1c4d3bc06081bd4462e027c0fd2f884e Mon Sep 17 00:00:00 2001 From: Anton Bortnikov Date: Wed, 1 Feb 2023 12:50:50 +0300 Subject: [PATCH 4/5] fix get url --- src/components/modals/views/PropertiesModal.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/modals/views/PropertiesModal.vue b/src/components/modals/views/PropertiesModal.vue index 01fb8df..7fd6f87 100644 --- a/src/components/modals/views/PropertiesModal.vue +++ b/src/components/modals/views/PropertiesModal.vue @@ -131,7 +131,9 @@ export default { }) .then((response) => { if (response.data.result.status === 'success') { - this.url = response.data.url; + const url = new URL(response.data.url); + + this.url = url.pathname; } }); }, From f256bca03dcd59ee3ada1f02918f9b1de31f4bac Mon Sep 17 00:00:00 2001 From: Anton Bortnikov Date: Wed, 1 Feb 2023 12:57:34 +0300 Subject: [PATCH 5/5] fix get url --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 49bf5c5..587f6d5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cebelerk.laravel-file-manager", - "version": "3.0.3", + "version": "3.0.4", "description": "File manager for Laravel", "keywords": [ "laravel",