diff --git a/.rubocop.yml b/.rubocop.yml index 18a73b452fb..99fa10d4b44 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -239,6 +239,10 @@ Rails/FindBy: - 'spec/**/*.rb' - 'ee/spec/**/*.rb' +Rails/IndexBy: + Exclude: + - 'tooling/danger/**/*.rb' + # This is currently exiting with a rubocop exception error and should be # resolved hopefully a future update # An error occurred while Rails/UniqueValidationWithoutIndex cop was inspecting @@ -610,7 +614,6 @@ Rails/TimeZone: - 'spec/features/**/*' - 'ee/spec/features/**/*' -# WIP: See https://gitlab.com/gitlab-org/gitlab/-/issues/220040 Rails/SaveBang: Enabled: true AllowImplicitReturn: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 9fb2df6fe99..7597ece5d08 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -458,24 +458,6 @@ Rails/HasManyOrHasOneDependent: Rails/HelperInstanceVariable: Enabled: false -# Offense count: 17 -# Cop supports --auto-correct. -Rails/IndexBy: - Exclude: - - 'app/graphql/types/design_management/design_fields.rb' - - 'app/models/ci/pipeline.rb' - - 'app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb' - - 'ee/app/services/projects/update_mirror_service.rb' - - 'ee/app/services/security/store_report_service.rb' - - 'ee/lib/ee/gitlab/auth/ldap/sync/group.rb' - - 'ee/lib/ee/gitlab/background_migration/backfill_version_data_from_gitaly.rb' - - 'ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb' - - 'ee/lib/gitlab/elastic/document_reference.rb' - - 'ee/lib/gitlab/group_plans_preloader.rb' - - 'lib/gitlab/database/count/reltuples_count_strategy.rb' - - 'lib/gitlab/language_detection.rb' - - 'tooling/danger/sidekiq_queues.rb' - # Offense count: 47 # Cop supports --auto-correct. Rails/IndexWith: diff --git a/.rubocop_todo/graphql/ordered_fields.yml b/.rubocop_todo/graphql/ordered_fields.yml index b3d79b58d95..28202cbcf2e 100644 --- a/.rubocop_todo/graphql/ordered_fields.yml +++ b/.rubocop_todo/graphql/ordered_fields.yml @@ -1,16 +1,6 @@ --- GraphQL/OrderedFields: Exclude: - - app/graphql/types/board_list_type.rb - - app/graphql/types/ci/analytics_type.rb - - app/graphql/types/ci/ci_cd_setting_type.rb - - app/graphql/types/ci/config/group_type.rb - - app/graphql/types/ci/config/job_type.rb - - app/graphql/types/ci/config/stage_type.rb - - app/graphql/types/ci/detailed_status_type.rb - - app/graphql/types/ci/group_type.rb - - app/graphql/types/ci/job_type.rb - - app/graphql/types/ci/runner_architecture_type.rb - app/graphql/types/ci/runner_platform_type.rb - app/graphql/types/ci/runner_type.rb - app/graphql/types/ci/stage_type.rb @@ -48,14 +38,6 @@ GraphQL/OrderedFields: - app/graphql/types/notes/diff_position_type.rb - app/graphql/types/notes/discussion_type.rb - app/graphql/types/notes/note_type.rb - - app/graphql/types/packages/composer/json_type.rb - - app/graphql/types/packages/composer/metadatum_type.rb - - app/graphql/types/packages/conan/file_metadatum_type.rb - - app/graphql/types/packages/conan/metadatum_type.rb - - app/graphql/types/packages/helm/dependency_type.rb - - app/graphql/types/packages/helm/maintainer_type.rb - - app/graphql/types/packages/helm/metadata_type.rb - - app/graphql/types/packages/maven/metadatum_type.rb - app/graphql/types/packages/nuget/metadatum_type.rb - app/graphql/types/packages/package_dependency_link_type.rb - app/graphql/types/packages/package_file_type.rb 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 {
- + 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; + }, }, }; diff --git a/app/assets/javascripts/monitoring/components/charts/time_series.vue b/app/assets/javascripts/monitoring/components/charts/time_series.vue index 5529a94874b..a95b143920b 100644 --- a/app/assets/javascripts/monitoring/components/charts/time_series.vue +++ b/app/assets/javascripts/monitoring/components/charts/time_series.vue @@ -1,5 +1,5 @@