diff --git a/app/assets/stylesheets/steps/step_attachments.scss b/app/assets/stylesheets/steps/step_attachments.scss index 5b27d4067..67189678b 100644 --- a/app/assets/stylesheets/steps/step_attachments.scss +++ b/app/assets/stylesheets/steps/step_attachments.scss @@ -29,6 +29,7 @@ @include font-small; color: $color-silver-chalice; padding-left: 1em; + pointer-events: none; } a { diff --git a/app/javascript/vue/protocol/attachments.vue b/app/javascript/vue/protocol/attachments.vue index 3da2d4972..a4a5fa15b 100644 --- a/app/javascript/vue/protocol/attachments.vue +++ b/app/javascript/vue/protocol/attachments.vue @@ -17,10 +17,35 @@
  • {{ i18n.t("protocols.steps.attachments.add") }}
  • - + {{ i18n.t('protocols.steps.insert.attachment') }}
  • +
  • + + + + + {{ i18n.t('marvinjs.new_li_button') }} + +
  • +
  • + + + {{ i18n.t('bio_eddie.new_button') }} + +
  • {{ i18n.t("protocols.steps.attachments.sort_by") }}
  • @@ -66,7 +91,8 @@ import inlineAttachment from 'vue/protocol/step_attachments/inline.vue' import thumbnailAttachment from 'vue/protocol/step_attachments/thumbnail.vue' import uploadingAttachment from 'vue/protocol/step_attachments/uploading.vue' - + import marvinjsIcon from 'images/icon_small/marvinjs.svg' + import bioEddieIcon from 'images/icon_small/bio_eddie.png' export default { name: 'Attachments', @@ -82,6 +108,8 @@ }, data() { return { + marvinjsIcon, + bioEddieIcon, viewModeOptions: ['inline', 'thumbnail', 'list'], orderOptions: ['new', 'old', 'atoz', 'ztoa'], } diff --git a/app/javascript/vue/protocol/step_attachments/file_modal.vue b/app/javascript/vue/protocol/step_attachments/file_modal.vue index e460c142b..ac374fa13 100644 --- a/app/javascript/vue/protocol/step_attachments/file_modal.vue +++ b/app/javascript/vue/protocol/step_attachments/file_modal.vue @@ -114,6 +114,7 @@ } }, dropFile(e) { + e.stopPropagation(); if (e.dataTransfer && e.dataTransfer.files.length) { $(this.$refs.modal).modal('hide'); this.$emit('files', e.dataTransfer.files); diff --git a/app/serializers/step_serializer.rb b/app/serializers/step_serializer.rb index 6a04e25ae..e18352538 100644 --- a/app/serializers/step_serializer.rb +++ b/app/serializers/step_serializer.rb @@ -7,8 +7,20 @@ class StepSerializer < ActiveModel::Serializer include CommentHelper attributes :name, :position, :completed, :urls, :assets_view_mode, :assets_order, - :marvinjs_enabled, :marvinjs_context, :wopi_enabled, :wopi_context, :comments_count, :unseen_comments, - :storage_limit + :marvinjs_enabled, :bio_eddie_service_enabled, :bio_eddie_context, :marvinjs_context, + :wopi_enabled, :wopi_context, :comments_count, :unseen_comments, :storage_limit + + def bio_eddie_service_enabled + BioEddieService.enabled?(@instance_options[:user]) + end + + def bio_eddie_context + if bio_eddie_service_enabled + { + marvin_js_asset_url: marvin_js_assets_path + } + end + end def marvinjs_enabled MarvinJsService.enabled? diff --git a/app/views/assets/_asset_context_menu.html.erb b/app/views/assets/_asset_context_menu.html.erb index 250052ec6..f2e80bd23 100644 --- a/app/views/assets/_asset_context_menu.html.erb +++ b/app/views/assets/_asset_context_menu.html.erb @@ -61,6 +61,12 @@ <%= t('assets.file_preview.edit_in_scinote') %>
  • +
  • + + + <%= t('Download') %> + +
  • <% end %> <% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 051000957..e3954cb05 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2548,7 +2548,7 @@ en: table: 'Add table' text: 'Add text' checklist: 'Add checklist' - attachment: 'Add file' + attachment: 'File from your PC' checklist_item: 'Add a new checklist item...' table: default_name: 'Table %{position}' diff --git a/config/webpacker.yml b/config/webpacker.yml index fd02584ce..0de0a7cab 100644 --- a/config/webpacker.yml +++ b/config/webpacker.yml @@ -11,7 +11,7 @@ default: &default # Additional paths webpack should lookup modules # ['app/assets', 'engine/foo/app/assets'] - resolved_paths: [] + resolved_paths: ['app/assets'] # Reload manifest.json on all requests so we reload latest compiled packs cache_manifest: false