diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-04 06:08:22 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-04 06:08:22 +0300 |
commit | 583bde3f83951fa4c294804edc2e9c57fb293733 (patch) | |
tree | 83900919e93ea9c1dab7571c9d4e02e73d8b8fb5 /app/assets/javascripts/snippets | |
parent | dc965b8cc88f8dadf879c0d80214864c699ebf1f (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/snippets')
6 files changed, 28 insertions, 97 deletions
diff --git a/app/assets/javascripts/snippets/components/edit.vue b/app/assets/javascripts/snippets/components/edit.vue index 1a539aa0876..3d2eaebf1cb 100644 --- a/app/assets/javascripts/snippets/components/edit.vue +++ b/app/assets/javascripts/snippets/components/edit.vue @@ -6,21 +6,19 @@ import { __, sprintf } from '~/locale'; import TitleField from '~/vue_shared/components/form/title.vue'; import { redirectTo, joinPaths } from '~/lib/utils/url_utility'; import FormFooterActions from '~/vue_shared/components/form/form_footer_actions.vue'; -import { SNIPPET_MARK_EDIT_APP_START } from '~/performance_constants'; import UpdateSnippetMutation from '../mutations/updateSnippet.mutation.graphql'; import CreateSnippetMutation from '../mutations/createSnippet.mutation.graphql'; import { getSnippetMixin } from '../mixins/snippets'; import { + SNIPPET_VISIBILITY_PRIVATE, SNIPPET_CREATE_MUTATION_ERROR, SNIPPET_UPDATE_MUTATION_ERROR, - SNIPPET_VISIBILITY_PRIVATE, } from '../constants'; -import defaultVisibilityQuery from '../queries/snippet_visibility.query.graphql'; - import SnippetBlobActionsEdit from './snippet_blob_actions_edit.vue'; import SnippetVisibilityEdit from './snippet_visibility_edit.vue'; import SnippetDescriptionEdit from './snippet_description_edit.vue'; +import { SNIPPET_MARK_EDIT_APP_START } from '~/performance_constants'; export default { components: { @@ -33,15 +31,6 @@ export default { GlLoadingIcon, }, mixins: [getSnippetMixin], - apollo: { - defaultVisibility: { - query: defaultVisibilityQuery, - manual: true, - result({ data: { selectedLevel } }) { - this.selectedLevelDefault = selectedLevel; - }, - }, - }, props: { markdownPreviewPath: { type: String, @@ -67,7 +56,6 @@ export default { isUpdating: false, newSnippet: false, actions: [], - selectedLevelDefault: SNIPPET_VISIBILITY_PRIVATE, }; }, computed: { @@ -110,13 +98,6 @@ export default { descriptionFieldId() { return `${this.isProjectSnippet ? 'project' : 'personal'}_snippet_description`; }, - newSnippetSchema() { - return { - title: '', - description: '', - visibilityLevel: this.selectedLevelDefault, - }; - }, }, beforeCreate() { performance.mark(SNIPPET_MARK_EDIT_APP_START); @@ -145,7 +126,7 @@ export default { }, onNewSnippetFetched() { this.newSnippet = true; - this.snippet = this.newSnippetSchema; + this.snippet = this.$options.newSnippetSchema; }, onExistingSnippetFetched() { this.newSnippet = false; @@ -203,6 +184,11 @@ export default { this.actions = actions; }, }, + newSnippetSchema: { + title: '', + description: '', + visibilityLevel: SNIPPET_VISIBILITY_PRIVATE, + }, }; </script> <template> diff --git a/app/assets/javascripts/snippets/components/snippet_visibility_edit.vue b/app/assets/javascripts/snippets/components/snippet_visibility_edit.vue index 25ad7c214b2..299bb8fcfad 100644 --- a/app/assets/javascripts/snippets/components/snippet_visibility_edit.vue +++ b/app/assets/javascripts/snippets/components/snippet_visibility_edit.vue @@ -1,8 +1,11 @@ <script> import { GlIcon, GlFormGroup, GlFormRadio, GlFormRadioGroup, GlLink } from '@gitlab/ui'; -import defaultVisibilityQuery from '../queries/snippet_visibility.query.graphql'; -import { defaultSnippetVisibilityLevels } from '../utils/blob'; -import { SNIPPET_LEVELS_RESTRICTED, SNIPPET_LEVELS_DISABLED } from '~/snippets/constants'; +import { + SNIPPET_VISIBILITY, + SNIPPET_VISIBILITY_PRIVATE, + SNIPPET_VISIBILITY_INTERNAL, + SNIPPET_VISIBILITY_PUBLIC, +} from '~/snippets/constants'; export default { components: { @@ -12,16 +15,6 @@ export default { GlFormRadioGroup, GlLink, }, - apollo: { - defaultVisibility: { - query: defaultVisibilityQuery, - manual: true, - result({ data: { visibilityLevels, multipleLevelsRestricted } }) { - this.visibilityLevels = defaultSnippetVisibilityLevels(visibilityLevels); - this.multipleLevelsRestricted = multipleLevelsRestricted; - }, - }, - }, props: { helpLink: { type: String, @@ -35,17 +28,19 @@ export default { }, value: { type: String, - required: true, + required: false, + default: SNIPPET_VISIBILITY_PRIVATE, }, }, - data() { - return { - visibilityLevels: [], - multipleLevelsRestricted: false, - }; + computed: { + visibilityOptions() { + return [ + SNIPPET_VISIBILITY_PRIVATE, + SNIPPET_VISIBILITY_INTERNAL, + SNIPPET_VISIBILITY_PUBLIC, + ].map(key => ({ value: key, ...SNIPPET_VISIBILITY[key] })); + }, }, - SNIPPET_LEVELS_DISABLED, - SNIPPET_LEVELS_RESTRICTED, }; </script> <template> @@ -56,10 +51,10 @@ export default { ><gl-icon :size="12" name="question" /></gl-link> </label> - <gl-form-group id="visibility-level-setting" class="gl-mb-0"> - <gl-form-radio-group :checked="value" stacked v-bind="$attrs" v-on="$listeners"> + <gl-form-group id="visibility-level-setting"> + <gl-form-radio-group v-bind="$attrs" :checked="value" stacked v-on="$listeners"> <gl-form-radio - v-for="option in visibilityLevels" + v-for="option in visibilityOptions" :key="option.value" :value="option.value" class="mb-3" @@ -76,12 +71,5 @@ export default { </gl-form-radio> </gl-form-radio-group> </gl-form-group> - - <div class="text-muted" data-testid="restricted-levels-info"> - <template v-if="!visibilityLevels.length">{{ $options.SNIPPET_LEVELS_DISABLED }}</template> - <template v-else-if="multipleLevelsRestricted">{{ - $options.SNIPPET_LEVELS_RESTRICTED - }}</template> - </div> </div> </template> diff --git a/app/assets/javascripts/snippets/constants.js b/app/assets/javascripts/snippets/constants.js index e75922df15f..12b83525bf7 100644 --- a/app/assets/javascripts/snippets/constants.js +++ b/app/assets/javascripts/snippets/constants.js @@ -33,15 +33,3 @@ export const SNIPPET_BLOB_ACTION_MOVE = 'move'; export const SNIPPET_BLOB_ACTION_DELETE = 'delete'; export const SNIPPET_MAX_BLOBS = 10; - -export const SNIPPET_LEVELS_MAP = { - 0: SNIPPET_VISIBILITY_PRIVATE, - 10: SNIPPET_VISIBILITY_INTERNAL, - 20: SNIPPET_VISIBILITY_PUBLIC, -}; -export const SNIPPET_LEVELS_RESTRICTED = __( - 'Other visibility settings have been disabled by the administrator.', -); -export const SNIPPET_LEVELS_DISABLED = __( - 'Visibility settings have been disabled by the administrator.', -); diff --git a/app/assets/javascripts/snippets/index.js b/app/assets/javascripts/snippets/index.js index f0f7ddac47f..bb5e7d6e3f0 100644 --- a/app/assets/javascripts/snippets/index.js +++ b/app/assets/javascripts/snippets/index.js @@ -5,7 +5,6 @@ import createDefaultClient from '~/lib/graphql'; import SnippetsShow from './components/show.vue'; import SnippetsEdit from './components/edit.vue'; -import { SNIPPET_LEVELS_MAP, SNIPPET_VISIBILITY_PRIVATE } from '~/snippets/constants'; Vue.use(VueApollo); Vue.use(Translate); @@ -19,23 +18,13 @@ function appFactory(el, Component) { defaultClient: createDefaultClient(), }); - const { visibilityLevels, selectedLevel, multipleLevelsRestricted, ...restDataset } = el.dataset; - - apolloProvider.clients.defaultClient.cache.writeData({ - data: { - visibilityLevels: JSON.parse(visibilityLevels), - selectedLevel: SNIPPET_LEVELS_MAP[selectedLevel] ?? SNIPPET_VISIBILITY_PRIVATE, - multipleLevelsRestricted: 'multipleLevelsRestricted' in el.dataset, - }, - }); - return new Vue({ el, apolloProvider, render(createElement) { return createElement(Component, { props: { - ...restDataset, + ...el.dataset, }, }); }, diff --git a/app/assets/javascripts/snippets/queries/snippet_visibility.query.graphql b/app/assets/javascripts/snippets/queries/snippet_visibility.query.graphql deleted file mode 100644 index 5bd6c131bab..00000000000 --- a/app/assets/javascripts/snippets/queries/snippet_visibility.query.graphql +++ /dev/null @@ -1,5 +0,0 @@ -query defaultSnippetVisibility { - visibilityLevels @client - selectedLevel @client - multipleLevelsRestricted @client -} diff --git a/app/assets/javascripts/snippets/utils/blob.js b/app/assets/javascripts/snippets/utils/blob.js index 21f52671801..fd5ff9a3d2e 100644 --- a/app/assets/javascripts/snippets/utils/blob.js +++ b/app/assets/javascripts/snippets/utils/blob.js @@ -4,8 +4,6 @@ import { SNIPPET_BLOB_ACTION_UPDATE, SNIPPET_BLOB_ACTION_MOVE, SNIPPET_BLOB_ACTION_DELETE, - SNIPPET_LEVELS_MAP, - SNIPPET_VISIBILITY, } from '../constants'; const createLocalId = () => uniqueId('blob_local_'); @@ -66,16 +64,3 @@ export const diffAll = (blobs, origBlobs) => { return [...deletedEntries, ...newEntries]; }; - -export const defaultSnippetVisibilityLevels = arr => { - if (Array.isArray(arr)) { - return arr.map(l => { - const translatedLevel = SNIPPET_LEVELS_MAP[l]; - return { - value: translatedLevel, - ...SNIPPET_VISIBILITY[translatedLevel], - }; - }); - } - return []; -}; |