diff options
Diffstat (limited to 'app/assets/javascripts/repository/components/blob_viewers')
7 files changed, 52 insertions, 4 deletions
diff --git a/app/assets/javascripts/repository/components/blob_viewers/audio_viewer.vue b/app/assets/javascripts/repository/components/blob_viewers/audio_viewer.vue new file mode 100644 index 00000000000..048730c02c1 --- /dev/null +++ b/app/assets/javascripts/repository/components/blob_viewers/audio_viewer.vue @@ -0,0 +1,20 @@ +<script> +export default { + props: { + blob: { + type: Object, + required: true, + }, + }, + data() { + return { + src: this.blob.rawPath, + }; + }, +}; +</script> +<template> + <div class="gl-text-center gl-p-7"> + <audio :src="src" controls data-testid="audio"></audio> + </div> +</template> diff --git a/app/assets/javascripts/repository/components/blob_viewers/csv_viewer.vue b/app/assets/javascripts/repository/components/blob_viewers/csv_viewer.vue new file mode 100644 index 00000000000..86a0bb9fad0 --- /dev/null +++ b/app/assets/javascripts/repository/components/blob_viewers/csv_viewer.vue @@ -0,0 +1,26 @@ +<script> +import CsvViewer from '~/blob/csv/csv_viewer.vue'; + +export default { + components: { + CsvViewer, + }, + props: { + blob: { + type: Object, + required: true, + }, + }, + data() { + return { + url: this.blob.rawPath, + }; + }, +}; +</script> + +<template> + <div> + <csv-viewer :csv="url" remote-file data-testid="csv" /> + </div> +</template> diff --git a/app/assets/javascripts/repository/components/blob_viewers/download_viewer.vue b/app/assets/javascripts/repository/components/blob_viewers/download_viewer.vue index f7b318c64d9..be5e9685ccd 100644 --- a/app/assets/javascripts/repository/components/blob_viewers/download_viewer.vue +++ b/app/assets/javascripts/repository/components/blob_viewers/download_viewer.vue @@ -17,7 +17,7 @@ export default { data() { return { fileName: this.blob.name, - filePath: this.blob.rawPath, + filePath: this.blob.externalStorageUrl || this.blob.rawPath, fileSize: this.blob.rawSize || 0, }; }, diff --git a/app/assets/javascripts/repository/components/blob_viewers/image_viewer.vue b/app/assets/javascripts/repository/components/blob_viewers/image_viewer.vue index 5027f7877aa..014f1abc121 100644 --- a/app/assets/javascripts/repository/components/blob_viewers/image_viewer.vue +++ b/app/assets/javascripts/repository/components/blob_viewers/image_viewer.vue @@ -16,6 +16,6 @@ export default { </script> <template> <div class="gl-text-center gl-p-7 gl-bg-gray-50"> - <img :src="url" :alt="alt" data-testid="image" /> + <img :src="url" :alt="alt" data-testid="image" class="gl-max-w-full" /> </div> </template> diff --git a/app/assets/javascripts/repository/components/blob_viewers/index.js b/app/assets/javascripts/repository/components/blob_viewers/index.js index e942f59e7d8..cbe18ea396e 100644 --- a/app/assets/javascripts/repository/components/blob_viewers/index.js +++ b/app/assets/javascripts/repository/components/blob_viewers/index.js @@ -1,4 +1,5 @@ const viewers = { + csv: () => import('./csv_viewer.vue'), download: () => import('./download_viewer.vue'), image: () => import('./image_viewer.vue'), video: () => import('./video_viewer.vue'), @@ -6,6 +7,7 @@ const viewers = { text: () => import('~/vue_shared/components/source_viewer/source_viewer.vue'), pdf: () => import('./pdf_viewer.vue'), lfs: () => import('./lfs_viewer.vue'), + audio: () => import('./audio_viewer.vue'), }; export const loadViewer = (type, isUsingLfs) => { diff --git a/app/assets/javascripts/repository/components/blob_viewers/lfs_viewer.vue b/app/assets/javascripts/repository/components/blob_viewers/lfs_viewer.vue index 6dc7e10662e..9d39764e9a4 100644 --- a/app/assets/javascripts/repository/components/blob_viewers/lfs_viewer.vue +++ b/app/assets/javascripts/repository/components/blob_viewers/lfs_viewer.vue @@ -21,7 +21,7 @@ export default { data() { return { fileName: this.blob.name, - filePath: this.blob.rawPath, + filePath: this.blob.externalStorageUrl || this.blob.rawPath, }; }, }; diff --git a/app/assets/javascripts/repository/components/blob_viewers/pdf_viewer.vue b/app/assets/javascripts/repository/components/blob_viewers/pdf_viewer.vue index c3df5984426..37c8f636757 100644 --- a/app/assets/javascripts/repository/components/blob_viewers/pdf_viewer.vue +++ b/app/assets/javascripts/repository/components/blob_viewers/pdf_viewer.vue @@ -18,7 +18,7 @@ export default { }, data() { return { - url: this.blob.rawPath, + url: this.blob.externalStorageUrl || this.blob.rawPath, fileSize: this.blob.rawSize, totalPages: 0, }; |