From 8a0a54ab92c509c6b480059a5f2730869c99d454 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 4 Oct 2021 18:12:46 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/frontend.gitlab-ci.yml | 28 +-- .gitlab/ci/rules.gitlab-ci.yml | 76 ++++++- .gitlab/ci/test-metadata.gitlab-ci.yml | 3 +- .../components/environment_delete.vue | 28 +-- .../components/environment_external_url.vue | 15 +- .../components/environment_item.vue | 98 +++++---- .../components/environment_monitoring.vue | 26 +-- .../components/environment_pin.vue | 16 +- .../components/environment_rollback.vue | 18 +- .../components/environment_stop.vue | 19 +- .../environment_terminal_button.vue | 26 +-- .../package_registry/components/list/app.vue | 87 +++++--- .../components/list/package_search.vue | 81 +++++-- .../package_registry/constants.js | 4 + .../fragments/package_data.fragment.graphql | 4 + .../queries/get_packages.query.graphql | 27 +++ .../package_registry/pages/list.js | 5 + .../shared/constants.js | 1 + .../concerns/issue_resolver_arguments.rb | 4 + app/helpers/packages_helper.rb | 1 + app/models/concerns/enums/ci/commit_status.rb | 1 + app/models/concerns/routable.rb | 3 +- app/models/namespace.rb | 2 +- app/models/project.rb | 12 +- app/models/upload.rb | 10 + app/presenters/commit_status_presenter.rb | 21 +- app/services/groups/transfer_service.rb | 4 + .../surface_environment_creation_failure.yml | 8 + ..._environment_creation_failure_override.yml | 8 + ..._templates_implicit_jobs_build_monthly.yml | 25 +++ ...es_implicit_jobs_deploy_latest_monthly.yml | 25 +++ ...templates_implicit_jobs_deploy_monthly.yml | 25 +++ ...i_templates_implicit_jobs_build_weekly.yml | 25 +++ ...tes_implicit_jobs_deploy_latest_weekly.yml | 25 +++ ..._templates_implicit_jobs_deploy_weekly.yml | 25 +++ doc/api/graphql/reference/index.md | 4 + .../img/environments_available_14_3.png | Bin 0 -> 13666 bytes doc/ci/environments/img/environments_list.png | Bin 17379 -> 0 bytes .../img/environments_list_v14_3.png | Bin 0 -> 14885 bytes ...nments_terminal_button_on_index_v13_10.png | Bin 12536 -> 0 bytes ...onments_terminal_button_on_index_v14_3.png | Bin 0 -> 14134 bytes doc/ci/environments/index.md | 44 +++- doc/development/pipelines.md | 8 +- .../metrics/dashboards/panel_types.md | 2 - .../metrics/dashboards/variables.md | 6 +- doc/operations/metrics/dashboards/yaml.md | 14 +- lib/gitlab/ci/pipeline/seed/build.rb | 11 +- lib/gitlab/ci/status/build/failed.rb | 3 +- .../database/load_balancing/load_balancer.rb | 20 ++ .../ci_template_unique_counter.rb | 28 +-- .../known_events/ci_templates.yml | 50 +---- lib/tasks/gitlab/usage_data.rake | 26 ++- locale/gitlab.pot | 6 + scripts/rspec_helpers.sh | 12 +- .../namespaces/project_namespaces.rb | 3 +- .../environments/environments_spec.rb | 5 +- .../environments/environment_delete_spec.js | 13 +- .../environment_monitoring_spec.js | 22 +- .../environments/environment_pin_spec.js | 10 +- .../environments/environment_rollback_spec.js | 14 +- .../environment_terminal_button_spec.js | 19 +- .../list/__snapshots__/app_spec.js.snap | 6 +- .../components/list/app_spec.js | 125 +++++++++-- .../components/list/packages_search_spec.js | 197 +++++++++++------- .../package_registry/mock_data.js | 24 +++ .../graphql/resolvers/issues_resolver_spec.rb | 97 ++++++++- spec/helpers/packages_helper_spec.rb | 30 +++ .../lib/gitlab/ci/pipeline/seed/build_spec.rb | 31 ++- .../load_balancing/load_balancer_spec.rb | 14 ++ .../ci_template_unique_counter_spec.rb | 123 ++++------- spec/models/upload_spec.rb | 24 +++ .../commit_status_presenter_spec.rb | 19 ++ .../requests/api/graphql/group/issues_spec.rb | 123 +++++++++++ .../api/graphql/project/issues_spec.rb | 57 ++++- spec/services/groups/transfer_service_spec.rb | 65 +++++- .../projects/transfer_service_spec.rb | 58 ++++++ spec/spec_helper.rb | 4 + spec/tooling/quality/test_level_spec.rb | 18 +- tooling/quality/test_level.rb | 24 ++- 79 files changed, 1584 insertions(+), 561 deletions(-) create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/fragments/package_data.fragment.graphql create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/queries/get_packages.query.graphql create mode 100644 config/feature_flags/development/surface_environment_creation_failure.yml create mode 100644 config/feature_flags/development/surface_environment_creation_failure_override.yml create mode 100644 config/metrics/counts_28d/20210929102434_p_ci_templates_implicit_jobs_build_monthly.yml create mode 100644 config/metrics/counts_28d/20210929102736_p_ci_templates_implicit_jobs_deploy_latest_monthly.yml create mode 100644 config/metrics/counts_28d/20210929103010_p_ci_templates_implicit_jobs_deploy_monthly.yml create mode 100644 config/metrics/counts_7d/20210929102429_p_ci_templates_implicit_jobs_build_weekly.yml create mode 100644 config/metrics/counts_7d/20210929102731_p_ci_templates_implicit_jobs_deploy_latest_weekly.yml create mode 100644 config/metrics/counts_7d/20210929103006_p_ci_templates_implicit_jobs_deploy_weekly.yml create mode 100644 doc/ci/environments/img/environments_available_14_3.png delete mode 100644 doc/ci/environments/img/environments_list.png create mode 100644 doc/ci/environments/img/environments_list_v14_3.png delete mode 100644 doc/ci/environments/img/environments_terminal_button_on_index_v13_10.png create mode 100644 doc/ci/environments/img/environments_terminal_button_on_index_v14_3.png create mode 100644 spec/requests/api/graphql/group/issues_spec.rb diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 790ee3fe5a0..eba4bf077ba 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -130,11 +130,13 @@ update-storybook-yarn-cache: - tmp/tests/frontend/ - knapsack/ -rspec frontend_fixture: +# In gitlab-foss, generates FOSS fixtures. In gitlab, generates FOSS & EE fixtures. +# That way, we don't need to have two separate jobs. +rspec-all frontend_fixture: extends: - .frontend-fixtures-base - .frontend:rules:default-frontend-jobs - parallel: 2 + parallel: 5 rspec frontend_fixture as-if-foss: extends: @@ -142,12 +144,6 @@ rspec frontend_fixture as-if-foss: - .frontend:rules:default-frontend-jobs-as-if-foss - .as-if-foss -rspec-ee frontend_fixture: - extends: - - .frontend-fixtures-base - - .frontend:rules:default-frontend-jobs-ee - parallel: 3 - graphql-schema-dump: variables: SETUP_DB: "false" @@ -198,9 +194,7 @@ jest: - .frontend:rules:jest needs: - job: "detect-tests" - - job: "rspec frontend_fixture" - - job: "rspec-ee frontend_fixture" - optional: true + - job: "rspec-all frontend_fixture" artifacts: name: coverage-frontend expire_in: 31d @@ -227,9 +221,7 @@ jest-integration: script: - run_timed_command "yarn jest:integration --ci" needs: - - job: "rspec frontend_fixture" - - job: "rspec-ee frontend_fixture" - optional: true + - job: "rspec-all frontend_fixture" - job: "graphql-schema-dump" jest-as-if-foss: @@ -343,9 +335,7 @@ startup-css-check: - .frontend:rules:default-frontend-jobs needs: - job: "compile-test-assets" - - job: "rspec frontend_fixture" - - job: "rspec-ee frontend_fixture" - optional: true + - job: "rspec-all frontend_fixture" startup-css-check as-if-foss: extends: @@ -369,9 +359,7 @@ compile-storybook: - .compile-storybook-base - .frontend:rules:default-frontend-jobs needs: - - job: "rspec frontend_fixture" - - job: "rspec-ee frontend_fixture" - optional: true + - job: "rspec-all frontend_fixture" - job: "graphql-schema-dump" artifacts: name: storybook diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 25e685e15a1..9d017ad0bd0 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -354,6 +354,10 @@ - "danger/**/*" - "tooling/danger/**/*" +.core-backend-patterns: &core-backend-patterns + - "{,jh/}Gemfile{,.lock}" + - "{,ee/,jh/}config/**/*.rb" + .core-frontend-patterns: &core-frontend-patterns - "{package.json,yarn.lock}" - "babel.config.js" @@ -495,13 +499,6 @@ - <<: *if-default-refs changes: *code-backstage-patterns -.frontend:rules:default-frontend-jobs-ee: - rules: - - <<: *if-not-ee - when: never - - <<: *if-default-refs - changes: *code-backstage-patterns - .frontend:rules:default-frontend-jobs-as-if-foss: rules: - <<: *if-not-ee @@ -657,6 +654,8 @@ .rails:rules:ee-and-foss-migration: rules: - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-merge-request @@ -675,6 +674,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -699,6 +701,8 @@ .rails:rules:ee-and-foss-unit: rules: - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -715,6 +719,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -724,6 +731,8 @@ .rails:rules:ee-and-foss-integration: rules: - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -740,6 +749,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -749,6 +761,8 @@ .rails:rules:ee-and-foss-system: rules: - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -765,6 +779,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -774,6 +791,8 @@ .rails:rules:ee-and-foss-fast_spec_helper: rules: - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -790,6 +809,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -806,6 +828,8 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-merge-request @@ -826,6 +850,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -838,6 +865,8 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -856,6 +885,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -867,6 +899,8 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -885,6 +919,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -896,6 +933,8 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -914,6 +953,9 @@ when: never - <<: *if-merge-request-labels-run-all-rspec when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -925,6 +967,8 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-security-merge-request @@ -944,6 +988,9 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -959,6 +1006,8 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -978,6 +1027,9 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -991,6 +1043,8 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -1010,6 +1064,9 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never @@ -1023,6 +1080,8 @@ - <<: *if-not-ee when: never - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request + changes: *core-backend-patterns - <<: *if-merge-request changes: *ci-patterns - <<: *if-automated-merge-request @@ -1042,6 +1101,9 @@ when: never - <<: *if-automated-merge-request when: never + - <<: *if-merge-request + changes: *core-backend-patterns + when: never - <<: *if-merge-request changes: *ci-patterns when: never diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml index ac719977975..2d96fb6d4b0 100644 --- a/.gitlab/ci/test-metadata.gitlab-ci.yml +++ b/.gitlab/ci/test-metadata.gitlab-ci.yml @@ -29,8 +29,7 @@ update-tests-metadata: - retrieve-tests-metadata - setup-test-env - rspec migration pg12 - - rspec frontend_fixture - - rspec-ee frontend_fixture + - rspec-all frontend_fixture - rspec unit pg12 - rspec integration pg12 - rspec system pg12 diff --git a/app/assets/javascripts/environments/components/environment_delete.vue b/app/assets/javascripts/environments/components/environment_delete.vue index 4b7917b4572..8609503e486 100644 --- a/app/assets/javascripts/environments/components/environment_delete.vue +++ b/app/assets/javascripts/environments/components/environment_delete.vue @@ -4,17 +4,15 @@ * Used in the environments table. */ -import { GlTooltipDirective, GlButton, GlModalDirective } from '@gitlab/ui'; -import { BV_HIDE_TOOLTIP } from '~/lib/utils/constants'; +import { GlDropdownItem, GlModalDirective } from '@gitlab/ui'; import { s__ } from '~/locale'; import eventHub from '../event_hub'; export default { components: { - GlButton, + GlDropdownItem, }, directives: { - GlTooltip: GlTooltipDirective, GlModalDirective, }, props: { @@ -28,10 +26,8 @@ export default { isLoading: false, }; }, - computed: { - title() { - return s__('Environments|Delete environment'); - }, + i18n: { + title: s__('Environments|Delete environment'), }, mounted() { eventHub.$on('deleteEnvironment', this.onDeleteEnvironment); @@ -41,7 +37,6 @@ export default { }, methods: { onClick() { - this.$root.$emit(BV_HIDE_TOOLTIP, this.$options.deleteEnvironmentTooltipId); eventHub.$emit('requestDeleteEnvironment', this.environment); }, onDeleteEnvironment(environment) { @@ -50,20 +45,15 @@ export default { } }, }, - deleteEnvironmentTooltipId: 'delete-environment-button-tooltip', }; diff --git a/app/assets/javascripts/environments/components/environment_external_url.vue b/app/assets/javascripts/environments/components/environment_external_url.vue index 793f7bf0681..b8def676e7d 100644 --- a/app/assets/javascripts/environments/components/environment_external_url.vue +++ b/app/assets/javascripts/environments/components/environment_external_url.vue @@ -18,22 +18,23 @@ export default { required: true, }, }, - computed: { - title() { - return s__('Environments|Open live environment'); - }, + i18n: { + title: s__('Environments|Open live environment'), + open: s__('Environments|Open'), }, }; diff --git a/app/assets/javascripts/environments/components/environment_item.vue b/app/assets/javascripts/environments/components/environment_item.vue index d12863ee742..db01d455b2b 100644 --- a/app/assets/javascripts/environments/components/environment_item.vue +++ b/app/assets/javascripts/environments/components/environment_item.vue @@ -1,5 +1,5 @@ diff --git a/app/assets/javascripts/environments/components/environment_pin.vue b/app/assets/javascripts/environments/components/environment_pin.vue index 52ac7725bde..0b753d53ee3 100644 --- a/app/assets/javascripts/environments/components/environment_pin.vue +++ b/app/assets/javascripts/environments/components/environment_pin.vue @@ -3,17 +3,13 @@ * Renders a prevent auto-stop button. * Used in environments table. */ -import { GlButton, GlTooltipDirective, GlIcon } from '@gitlab/ui'; +import { GlDropdownItem } from '@gitlab/ui'; import { __ } from '~/locale'; import eventHub from '../event_hub'; export default { components: { - GlIcon, - GlButton, - }, - directives: { - GlTooltip: GlTooltipDirective, + GlDropdownItem, }, props: { autoStopUrl: { @@ -26,11 +22,11 @@ export default { eventHub.$emit('cancelAutoStop', this.autoStopUrl); }, }, - title: __('Prevent environment from auto-stopping'), + title: __('Prevent auto-stopping'), }; diff --git a/app/assets/javascripts/environments/components/environment_rollback.vue b/app/assets/javascripts/environments/components/environment_rollback.vue index c0b4e96cea2..00497b3c683 100644 --- a/app/assets/javascripts/environments/components/environment_rollback.vue +++ b/app/assets/javascripts/environments/components/environment_rollback.vue @@ -5,16 +5,15 @@ * * Makes a post request when the button is clicked. */ -import { GlTooltipDirective, GlModalDirective, GlButton } from '@gitlab/ui'; +import { GlModalDirective, GlDropdownItem } from '@gitlab/ui'; import { s__ } from '~/locale'; import eventHub from '../event_hub'; export default { components: { - GlButton, + GlDropdownItem, }, directives: { - GlTooltip: GlTooltipDirective, GlModal: GlModalDirective, }, props: { @@ -65,14 +64,7 @@ export default { }; diff --git a/app/assets/javascripts/environments/components/environment_stop.vue b/app/assets/javascripts/environments/components/environment_stop.vue index dceaf3cacf1..0d4a1e76eb8 100644 --- a/app/assets/javascripts/environments/components/environment_stop.vue +++ b/app/assets/javascripts/environments/components/environment_stop.vue @@ -23,16 +23,15 @@ export default { required: true, }, }, + i18n: { + title: s__('Environments|Stop environment'), + stop: s__('Environments|Stop'), + }, data() { return { isLoading: false, }; }, - computed: { - title() { - return s__('Environments|Stop environment'); - }, - }, mounted() { eventHub.$on('stopEnvironment', this.onStopEnvironment); }, @@ -58,11 +57,13 @@ export default { v-gl-tooltip="{ id: $options.stopEnvironmentTooltipId }" v-gl-modal-directive="'stop-environment-modal'" :loading="isLoading" - :title="title" - :aria-label="title" + :title="$options.i18n.title" + :aria-label="$options.i18n.title" icon="stop" - category="primary" + category="secondary" variant="danger" @click="onClick" - /> + > + {{ $options.i18n.stop }} + diff --git a/app/assets/javascripts/environments/components/environment_terminal_button.vue b/app/assets/javascripts/environments/components/environment_terminal_button.vue index 4750b8ef01b..0df07f0457f 100644 --- a/app/assets/javascripts/environments/components/environment_terminal_button.vue +++ b/app/assets/javascripts/environments/components/environment_terminal_button.vue @@ -3,15 +3,12 @@ * Renders a terminal button to open a web terminal. * Used in environments table. */ -import { GlTooltipDirective, GlIcon } from '@gitlab/ui'; +import { GlDropdownItem } from '@gitlab/ui'; import { __ } from '~/locale'; export default { components: { - GlIcon, - }, - directives: { - GlTooltip: GlTooltipDirective, + GlDropdownItem, }, props: { terminalPath: { @@ -25,22 +22,11 @@ export default { default: false, }, }, - computed: { - title() { - return __('Terminal'); - }, - }, + title: __('Terminal'), }; diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/list/app.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/list/app.vue index 1d0d92d89d5..08481ac5655 100644 --- a/app/assets/javascripts/packages_and_registries/package_registry/components/list/app.vue +++ b/app/assets/javascripts/packages_and_registries/package_registry/components/list/app.vue @@ -10,10 +10,14 @@ import { historyReplaceState } from '~/lib/utils/common_utils'; import { s__ } from '~/locale'; import { DELETE_PACKAGE_SUCCESS_MESSAGE } from '~/packages/list/constants'; import { SHOW_DELETE_SUCCESS_ALERT } from '~/packages/shared/constants'; -import { FILTERED_SEARCH_TERM } from '~/packages_and_registries/shared/constants'; -import { getQueryParams, extractFilterAndSorting } from '~/packages_and_registries/shared/utils'; +import getPackagesQuery from '~/packages_and_registries/package_registry/graphql/queries/get_packages.query.graphql'; +import { + PROJECT_RESOURCE_TYPE, + GROUP_RESOURCE_TYPE, + LIST_QUERY_DEBOUNCE_TIME, +} from '~/packages_and_registries/package_registry/constants'; import PackageTitle from './package_title.vue'; -// import PackageSearch from './package_search.vue'; +import PackageSearch from './package_search.vue'; // import PackageList from './packages_list.vue'; export default { @@ -23,28 +27,53 @@ export default { // GlSprintf, // PackageList, PackageTitle, - // PackageSearch, + PackageSearch, }, - inject: ['packageHelpUrl', 'emptyListIllustration', 'emptyListHelpUrl'], + inject: [ + 'packageHelpUrl', + 'emptyListIllustration', + 'emptyListHelpUrl', + 'isGroupPage', + 'fullPath', + ], data() { return { - filter: [], - sorting: { - sort: 'desc', - orderBy: 'created_at', - }, - selectedType: '', - pagination: {}, + packages: {}, + sort: '', + filters: {}, }; }, - computed: { - packagesCount() { - return 0; + apollo: { + packages: { + query: getPackagesQuery, + variables() { + return this.queryVariables; + }, + update(data) { + return data[this.graphqlResource].packages; + }, + debounce: LIST_QUERY_DEBOUNCE_TIME, }, - emptySearch() { - return ( - this.filter.filter((f) => f.type !== FILTERED_SEARCH_TERM || f.value?.data).length === 0 - ); + }, + computed: { + queryVariables() { + return { + isGroupPage: this.isGroupPage, + fullPath: this.fullPath, + sort: this.isGroupPage ? undefined : this.sort, + groupSort: this.isGroupPage ? this.sort : undefined, + packageName: this.filters?.packageName, + packageType: this.filters?.packageType, + }; + }, + graphqlResource() { + return this.isGroupPage ? GROUP_RESOURCE_TYPE : PROJECT_RESOURCE_TYPE; + }, + packagesCount() { + return this.packages?.count; + }, + hasFilters() { + return this.filters.packageName && this.filters.packageType; }, emptyStateTitle() { return this.emptySearch @@ -53,19 +82,9 @@ export default { }, }, mounted() { - const queryParams = getQueryParams(window.document.location.search); - const { sorting, filters } = extractFilterAndSorting(queryParams); - this.sorting = { ...sorting }; - this.filter = [...filters]; this.checkDeleteAlert(); }, methods: { - onPageChanged(page) { - return this.requestPackagesList({ page }); - }, - onPackageDeleteRequest(item) { - return this.requestDeletePackage(item); - }, checkDeleteAlert() { const urlParams = new URLSearchParams(window.location.search); const showAlert = urlParams.get(SHOW_DELETE_SUCCESS_ALERT); @@ -76,6 +95,10 @@ export default { historyReplaceState(cleanUrl); } }, + handleSearchUpdate({ sort, filters }) { + this.sort = sort; + this.filters = { ...filters }; + }, }, i18n: { widenFilters: s__('PackageRegistry|To widen your search, change or remove the filters above.'), @@ -91,13 +114,13 @@ export default {