From 41fe97390ceddf945f3d967b8fdb3de4c66b7dea Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 18 Mar 2022 20:02:30 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-9-stable-ee --- .../components/details_page/delete_alert.vue | 14 ++++- .../components/details_page/details_header.vue | 14 ++++- .../explorer/constants/details.js | 6 ++ ...get_container_repository_metadata.query.graphql | 7 +++ ...t_container_repository_tags_count.query.graphql | 6 -- .../container_registry/explorer/pages/details.vue | 13 ++++- .../container_registry/explorer/pages/list.vue | 66 ++++++++-------------- .../settings/project/components/settings_form.vue | 17 ++++-- .../settings/project/constants.js | 1 - .../settings/project/graphql/utils/cache_update.js | 1 + 10 files changed, 84 insertions(+), 61 deletions(-) create mode 100644 app/assets/javascripts/packages_and_registries/container_registry/explorer/graphql/queries/get_container_repository_metadata.query.graphql delete mode 100644 app/assets/javascripts/packages_and_registries/container_registry/explorer/graphql/queries/get_container_repository_tags_count.query.graphql (limited to 'app/assets/javascripts/packages_and_registries') diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/delete_alert.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/delete_alert.vue index 56d2ff86fb7..1b7d5af6134 100644 --- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/delete_alert.vue +++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/delete_alert.vue @@ -1,7 +1,11 @@ @@ -61,7 +71,7 @@ export default { > diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue index 29c181f04fb..ab0418388cd 100644 --- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue +++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue @@ -4,6 +4,7 @@ import { sprintf, n__, s__ } from '~/locale'; import MetadataItem from '~/vue_shared/components/registry/metadata_item.vue'; import TitleArea from '~/vue_shared/components/registry/title_area.vue'; import timeagoMixin from '~/vue_shared/mixins/timeago'; +import { numberToHumanSize } from '~/lib/utils/number_utils'; import { UPDATED_AT, CLEANUP_UNSCHEDULED_TEXT, @@ -23,7 +24,7 @@ import { ROOT_IMAGE_TOOLTIP, } from '../../constants/index'; -import getContainerRepositoryTagsCountQuery from '../../graphql/queries/get_container_repository_tags_count.query.graphql'; +import getContainerRepositoryMetadata from '../../graphql/queries/get_container_repository_metadata.query.graphql'; export default { name: 'DetailsHeader', @@ -50,7 +51,7 @@ export default { }, apollo: { containerRepository: { - query: getContainerRepositoryTagsCountQuery, + query: getContainerRepositoryMetadata, variables() { return { id: this.image.id, @@ -101,6 +102,10 @@ export default { imageName() { return this.imageDetails.name || ROOT_IMAGE_TEXT; }, + formattedSize() { + const { size } = this.imageDetails; + return size ? numberToHumanSize(Number(size)) : null; + }, }, }; @@ -119,10 +124,15 @@ export default { :aria-label="rootImageTooltip" /> + + + - -
diff --git a/app/assets/javascripts/packages_and_registries/settings/project/components/settings_form.vue b/app/assets/javascripts/packages_and_registries/settings/project/components/settings_form.vue index 6030af9d2c3..ae2d5f4fbc5 100644 --- a/app/assets/javascripts/packages_and_registries/settings/project/components/settings_form.vue +++ b/app/assets/javascripts/packages_and_registries/settings/project/components/settings_form.vue @@ -13,7 +13,6 @@ import { REMOVE_INFO_TEXT, EXPIRATION_SCHEDULE_LABEL, NAME_REGEX_LABEL, - NAME_REGEX_PLACEHOLDER, NAME_REGEX_DESCRIPTION, CADENCE_LABEL, EXPIRATION_POLICY_FOOTER_NOTE, @@ -68,7 +67,6 @@ export default { REMOVE_INFO_TEXT, EXPIRATION_SCHEDULE_LABEL, NAME_REGEX_LABEL, - NAME_REGEX_PLACEHOLDER, NAME_REGEX_DESCRIPTION, CADENCE_LABEL, EXPIRATION_POLICY_FOOTER_NOTE, @@ -141,6 +139,17 @@ export default { [model]: state, }; }, + encapsulateError(path, message) { + return { + graphQLErrors: [ + { + extensions: { + problems: [{ path: [path], message }], + }, + }, + ], + }; + }, submit() { this.track('submit_form'); this.apiErrors = {}; @@ -156,7 +165,8 @@ export default { .then(({ data }) => { const errorMessage = data?.updateContainerExpirationPolicy?.errors[0]; if (errorMessage) { - this.$toast.show(errorMessage); + const customError = this.encapsulateError('nameRegex', errorMessage); + throw customError; } else { this.$toast.show(UPDATE_SETTINGS_SUCCESS_MESSAGE); } @@ -273,7 +283,6 @@ export default { :error="apiErrors.nameRegex" :disabled="isFieldDisabled" :label="$options.i18n.NAME_REGEX_LABEL" - :placeholder="$options.i18n.NAME_REGEX_PLACEHOLDER" :description="$options.i18n.NAME_REGEX_DESCRIPTION" name="remove-regex" data-testid="remove-regex-input" diff --git a/app/assets/javascripts/packages_and_registries/settings/project/constants.js b/app/assets/javascripts/packages_and_registries/settings/project/constants.js index 4d477fbd05d..841585c5646 100644 --- a/app/assets/javascripts/packages_and_registries/settings/project/constants.js +++ b/app/assets/javascripts/packages_and_registries/settings/project/constants.js @@ -32,7 +32,6 @@ export const REMOVE_INFO_TEXT = s__( ); export const EXPIRATION_SCHEDULE_LABEL = s__('ContainerRegistry|Remove tags older than:'); export const NAME_REGEX_LABEL = s__('ContainerRegistry|Remove tags matching:'); -export const NAME_REGEX_PLACEHOLDER = '.*'; export const NAME_REGEX_DESCRIPTION = s__( 'ContainerRegistry|Tags with names that match this regex pattern are removed. %{linkStart}View regex examples.%{linkEnd}', ); diff --git a/app/assets/javascripts/packages_and_registries/settings/project/graphql/utils/cache_update.js b/app/assets/javascripts/packages_and_registries/settings/project/graphql/utils/cache_update.js index c4b2af13862..5e0be3834cb 100644 --- a/app/assets/javascripts/packages_and_registries/settings/project/graphql/utils/cache_update.js +++ b/app/assets/javascripts/packages_and_registries/settings/project/graphql/utils/cache_update.js @@ -10,6 +10,7 @@ export const updateContainerExpirationPolicy = (projectPath) => (client, { data: const data = produce(sourceData, (draftState) => { draftState.project.containerExpirationPolicy = { + ...draftState.project.containerExpirationPolicy, ...updatedData.updateContainerExpirationPolicy.containerExpirationPolicy, }; }); -- cgit v1.2.3