From 74f3ea2108bba187c03e78299d13fca2aa0927c5 Mon Sep 17 00:00:00 2001 From: Martin Artnik Date: Wed, 2 Oct 2024 14:22:51 +0200 Subject: [PATCH] Add file editing & versioning to inventories [SCI-11043] --- .../content/attachments/open_locally_menu.vue | 34 +++++++++++++++---- .../shared/file_preview/_content.html.erb | 4 +-- config/locales/en.yml | 2 +- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/app/javascript/vue/shared/content/attachments/open_locally_menu.vue b/app/javascript/vue/shared/content/attachments/open_locally_menu.vue index 8ea7048cc..9d40e11cf 100644 --- a/app/javascript/vue/shared/content/attachments/open_locally_menu.vue +++ b/app/javascript/vue/shared/content/attachments/open_locally_menu.vue @@ -1,8 +1,8 @@ @@ -55,14 +63,19 @@ import OpenLocallyMixin from './mixins/open_locally.js'; import MenuDropdown from '../../menu_dropdown.vue'; import UpdateVersionModal from '../modal/update_version_modal.vue'; +import FileVersionsModal from '../../file_versions_modal.vue'; export default { name: 'OpenLocallyMenu', mixins: [OpenLocallyMixin], - components: { MenuDropdown, UpdateVersionModal }, + components: { MenuDropdown, UpdateVersionModal, FileVersionsModal }, props: { - attachment: { type: Object, required: true }, - disableLocalOpen: { type: Boolean, default: false } + attachment: { type: Object, required: true } + }, + data() { + return { + fileVersionsModal: false + }; }, created() { this.fetchLocalAppInfo(); @@ -92,7 +105,7 @@ export default { }); } - if (this.canOpenLocally && !this.disableLocalOpen) { + if (this.canOpenLocally) { const text = this.localAppName ? this.i18n.t('attachments.open_locally_in', { application: this.localAppName }) : this.i18n.t('attachments.open_locally'); @@ -116,6 +129,13 @@ export default { methods: { openImageEditor() { document.getElementById('editImageButton').click(); + }, + refreshPreview() { + const imageElement = document.querySelector('.file-preview-container .asset-image'); + + if (!imageElement) return; + + window.ActiveStoragePreviews.reCheckPreview({ target: imageElement }); } } }; diff --git a/app/views/shared/file_preview/_content.html.erb b/app/views/shared/file_preview/_content.html.erb index b99944c80..00d259dee 100644 --- a/app/views/shared/file_preview/_content.html.erb +++ b/app/views/shared/file_preview/_content.html.erb @@ -4,7 +4,7 @@ <% if can_edit && !preview %> <% if wopi_enabled? && wopi_file?(asset) %>
- +
<% elsif asset.file.metadata[:asset_type] == 'marvinjs' %>