diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-05 12:08:17 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-05 12:08:17 +0300 |
commit | 2fe341d705700b3e99f82076b09b95885878ac0d (patch) | |
tree | 0e1775e230ea73b70b226aac8e08b11c2ca3d1ac /app/assets/javascripts/registry | |
parent | 34cd22d1a925bd4113e10279bbf98db28adff420 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/registry')
3 files changed, 18 insertions, 6 deletions
diff --git a/app/assets/javascripts/registry/settings/components/registry_settings_app.vue b/app/assets/javascripts/registry/settings/components/registry_settings_app.vue index fcb86fd18f0..264d39a406a 100644 --- a/app/assets/javascripts/registry/settings/components/registry_settings_app.vue +++ b/app/assets/javascripts/registry/settings/components/registry_settings_app.vue @@ -1,6 +1,6 @@ <script> import { GlAlert, GlSprintf, GlLink } from '@gitlab/ui'; -import { isEqual } from 'lodash'; +import { isEqual, get } from 'lodash'; import expirationPolicyQuery from '../graphql/queries/get_expiration_policy.graphql'; import { FETCH_SETTINGS_ERROR_MESSAGE } from '../../shared/constants'; @@ -35,7 +35,7 @@ export default { }, update: data => data.project?.containerExpirationPolicy, result({ data }) { - this.workingCopy = { ...data.project?.containerExpirationPolicy }; + this.workingCopy = { ...get(data, 'project.containerExpirationPolicy', {}) }; }, error(e) { this.fetchSettingsError = e; @@ -74,7 +74,7 @@ export default { <template> <div> <settings-form - v-if="containerExpirationPolicy" + v-if="!isDisabled" v-model="workingCopy" :is-loading="$apollo.queries.containerExpirationPolicy.loading" :is-edited="isEdited" diff --git a/app/assets/javascripts/registry/settings/components/settings_form.vue b/app/assets/javascripts/registry/settings/components/settings_form.vue index 7deb1f92686..a9b35d4e29f 100644 --- a/app/assets/javascripts/registry/settings/components/settings_form.vue +++ b/app/assets/javascripts/registry/settings/components/settings_form.vue @@ -55,6 +55,14 @@ export default { }; }, computed: { + prefilledForm() { + return { + ...this.value, + cadence: this.findDefaultOption('cadence'), + keepN: this.findDefaultOption('keepN'), + olderThan: this.findDefaultOption('olderThan'), + }; + }, showLoadingIcon() { return this.isLoading || this.mutationLoading; }, @@ -77,6 +85,9 @@ export default { }, }, methods: { + findDefaultOption(option) { + return this.value[option] || this.$options.formOptions[option].find(f => f.default)?.key; + }, reset() { this.track('reset_form'); this.apiErrors = null; @@ -135,7 +146,7 @@ export default { </template> <template #default> <expiration-policy-fields - :value="value" + :value="prefilledForm" :form-options="$options.formOptions" :is-loading="isLoading" :api-errors="apiErrors" diff --git a/app/assets/javascripts/registry/settings/registry_settings_bundle.js b/app/assets/javascripts/registry/settings/registry_settings_bundle.js index 5f25d508e2f..f7b1c5abd3a 100644 --- a/app/assets/javascripts/registry/settings/registry_settings_bundle.js +++ b/app/assets/javascripts/registry/settings/registry_settings_bundle.js @@ -1,6 +1,7 @@ import Vue from 'vue'; import { GlToast } from '@gitlab/ui'; import Translate from '~/vue_shared/translate'; +import { parseBoolean } from '~/lib/utils/common_utils'; import RegistrySettingsApp from './components/registry_settings_app.vue'; import { apolloProvider } from './graphql/index'; @@ -21,9 +22,9 @@ export default () => { }, provide: { projectPath, - isAdmin, + isAdmin: parseBoolean(isAdmin), adminSettingsPath, - enableHistoricEntries, + enableHistoricEntries: parseBoolean(enableHistoricEntries), }, render(createElement) { return createElement('registry-settings-app', {}); |