diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-28 18:13:55 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-28 18:13:55 +0300 |
commit | 8188ca655a7437381491e565406869c747c1b40a (patch) | |
tree | c9f4295b0ffe7867d9a037d03c926ae65574cb7c /app/assets/javascripts/blob | |
parent | 4eac7e06bd6fc1c90a20ae36412b34ac73a15cb2 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/blob')
3 files changed, 36 insertions, 8 deletions
diff --git a/app/assets/javascripts/blob/components/blob_header.vue b/app/assets/javascripts/blob/components/blob_header.vue index c5ab28e6ec5..8a4fe1a9025 100644 --- a/app/assets/javascripts/blob/components/blob_header.vue +++ b/app/assets/javascripts/blob/components/blob_header.vue @@ -63,6 +63,9 @@ export default { isEmpty() { return this.blob.rawSize === 0; }, + blobSwitcherDocIcon() { + return this.blob.richViewer?.fileType === 'csv' ? 'table' : 'document'; + }, }, watch: { viewer(newVal, oldVal) { @@ -90,7 +93,7 @@ export default { </div> <div class="gl-sm-display-flex file-actions"> - <viewer-switcher v-if="showViewerSwitcher" v-model="viewer" /> + <viewer-switcher v-if="showViewerSwitcher" v-model="viewer" :doc-icon="blobSwitcherDocIcon" /> <slot name="actions"></slot> diff --git a/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue b/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue index b2546d47694..7351df0f93b 100644 --- a/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue +++ b/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue @@ -21,6 +21,11 @@ export default { default: SIMPLE_BLOB_VIEWER, required: false, }, + docIcon: { + type: String, + default: 'document', + required: false, + }, }, computed: { isSimpleViewer() { @@ -62,7 +67,7 @@ export default { :aria-label="$options.RICH_BLOB_VIEWER_TITLE" :title="$options.RICH_BLOB_VIEWER_TITLE" :selected="isRichViewer" - icon="document" + :icon="docIcon" category="primary" variant="default" class="js-blob-viewer-switch-btn" diff --git a/app/assets/javascripts/blob/csv/csv_viewer.vue b/app/assets/javascripts/blob/csv/csv_viewer.vue index 1f9d20a487f..169167625e0 100644 --- a/app/assets/javascripts/blob/csv/csv_viewer.vue +++ b/app/assets/javascripts/blob/csv/csv_viewer.vue @@ -14,6 +14,11 @@ export default { type: String, required: true, }, + remoteFile: { + type: Boolean, + required: false, + default: false, + }, }, data() { return { @@ -23,14 +28,29 @@ export default { }; }, mounted() { - const parsed = Papa.parse(this.csv, { skipEmptyLines: true }); - this.items = parsed.data; - - if (parsed.errors.length) { - this.papaParseErrors = parsed.errors; + if (!this.remoteFile) { + const parsed = Papa.parse(this.csv, { skipEmptyLines: true }); + this.handleParsedData(parsed); + } else { + Papa.parse(this.csv, { + download: true, + skipEmptyLines: true, + complete: (parsed) => { + this.handleParsedData(parsed); + }, + }); } + }, + methods: { + handleParsedData(parsed) { + this.items = parsed.data; - this.loading = false; + if (parsed.errors.length) { + this.papaParseErrors = parsed.errors; + } + + this.loading = false; + }, }, }; </script> |