Commit 6e7b56e2 authored by Paul Slaughter's avatar Paul Slaughter

fixup! Add/remove snippet files in the edit view

parent 5c537cdc
...@@ -56,7 +56,6 @@ export default { ...@@ -56,7 +56,6 @@ export default {
isUpdating: false, isUpdating: false,
newSnippet: false, newSnippet: false,
actions: [], actions: [],
isLoaded: false,
}; };
}, },
computed: { computed: {
...@@ -133,8 +132,6 @@ export default { ...@@ -133,8 +132,6 @@ export default {
this.newSnippet = false; this.newSnippet = false;
}, },
onSnippetFetch(snippetRes) { onSnippetFetch(snippetRes) {
this.isLoaded = true;
if (snippetRes.data.snippets.edges.length === 0) { if (snippetRes.data.snippets.edges.length === 0) {
this.onNewSnippetFetched(); this.onNewSnippetFetched();
} else { } else {
...@@ -221,11 +218,7 @@ export default { ...@@ -221,11 +218,7 @@ export default {
:markdown-preview-path="markdownPreviewPath" :markdown-preview-path="markdownPreviewPath"
:markdown-docs-path="markdownDocsPath" :markdown-docs-path="markdownDocsPath"
/> />
<snippet-blob-actions-edit <snippet-blob-actions-edit :init-blobs="blobs" @actions="updateActions" />
:is-ready="isLoaded"
:init-blobs="blobs"
@actions="updateActions"
/>
<snippet-visibility-edit <snippet-visibility-edit
v-model="snippet.visibilityLevel" v-model="snippet.visibilityLevel"
......
...@@ -14,15 +14,12 @@ export default { ...@@ -14,15 +14,12 @@ export default {
}, },
mixins: [glFeatureFlagsMixin()], mixins: [glFeatureFlagsMixin()],
props: { props: {
// TODO: Build reactivity for initBlobs.
// What happens if this changes (i.e. blobs are being loaded through pages)?
initBlobs: { initBlobs: {
type: Array, type: Array,
required: true, required: true,
}, },
isReady: {
type: Boolean,
required: false,
default: true,
},
}, },
data() { data() {
return { return {
...@@ -74,14 +71,6 @@ export default { ...@@ -74,14 +71,6 @@ export default {
}, },
}, },
watch: { watch: {
isReady: {
immediate: true,
handler(val) {
if (val) {
this.setup();
}
},
},
actions: { actions: {
immediate: true, immediate: true,
handler(val) { handler(val) {
...@@ -89,8 +78,7 @@ export default { ...@@ -89,8 +78,7 @@ export default {
}, },
}, },
}, },
methods: { created() {
setup() {
const blobs = this.initBlobs.map(decorateBlob); const blobs = this.initBlobs.map(decorateBlob);
const blobsById = blobs.reduce((acc, x) => Object.assign(acc, { [x.id]: x }), {}); const blobsById = blobs.reduce((acc, x) => Object.assign(acc, { [x.id]: x }), {});
...@@ -103,6 +91,7 @@ export default { ...@@ -103,6 +91,7 @@ export default {
this.addBlob(); this.addBlob();
} }
}, },
methods: {
updateBlobContent(id, content) { updateBlobContent(id, content) {
const origBlob = this.blobsOrig[id]; const origBlob = this.blobsOrig[id];
const blob = this.blobs[id]; const blob = this.blobs[id];
......
...@@ -18,13 +18,12 @@ export default { ...@@ -18,13 +18,12 @@ export default {
props: { props: {
blob: { blob: {
type: Object, type: Object,
required: false, required: true,
default: null,
}, },
canDelete: { canDelete: {
type: Boolean, type: Boolean,
required: false, required: false,
default: false, default: true,
}, },
showDelete: { showDelete: {
type: Boolean, type: Boolean,
......
...@@ -5,6 +5,7 @@ exports[`Snippet Blob Edit component with loaded blob matches snapshot 1`] = ` ...@@ -5,6 +5,7 @@ exports[`Snippet Blob Edit component with loaded blob matches snapshot 1`] = `
class="file-holder snippet" class="file-holder snippet"
> >
<blob-header-edit-stub <blob-header-edit-stub
candelete="true"
data-qa-selector="file_name_field" data-qa-selector="file_name_field"
id="blob_local_7_file_path" id="blob_local_7_file_path"
value="foo/bar/test.md" value="foo/bar/test.md"
......
...@@ -23,7 +23,6 @@ describe('snippets/components/snippet_blob_actions_edit', () => { ...@@ -23,7 +23,6 @@ describe('snippets/components/snippet_blob_actions_edit', () => {
wrapper = shallowMount(SnippetBlobActionsEdit, { wrapper = shallowMount(SnippetBlobActionsEdit, {
propsData: { propsData: {
initBlobs: TEST_BLOBS, initBlobs: TEST_BLOBS,
isReady: false,
...props, ...props,
}, },
provide: { provide: {
...@@ -76,7 +75,7 @@ describe('snippets/components/snippet_blob_actions_edit', () => { ...@@ -76,7 +75,7 @@ describe('snippets/components/snippet_blob_actions_edit', () => {
${false} | ${'File'} | ${false} | ${false} ${false} | ${'File'} | ${false} | ${false}
`('with feature flag = $featureFlag', ({ featureFlag, label, showDelete, showAdd }) => { `('with feature flag = $featureFlag', ({ featureFlag, label, showDelete, showAdd }) => {
beforeEach(() => { beforeEach(() => {
createComponent({ isReady: true }, featureFlag); createComponent({}, featureFlag);
}); });
it('renders label', () => { it('renders label', () => {
...@@ -100,17 +99,6 @@ describe('snippets/components/snippet_blob_actions_edit', () => { ...@@ -100,17 +99,6 @@ describe('snippets/components/snippet_blob_actions_edit', () => {
createComponent(); createComponent();
}); });
it('has no blobs yet', () => {
expect(findBlobsData()).toEqual([]);
});
describe('when isReady', () => {
beforeEach(async () => {
wrapper.setProps({ isReady: true });
await wrapper.vm.$nextTick();
});
it('emits no actions', () => { it('emits no actions', () => {
expect(getLastActions()).toEqual([]); expect(getLastActions()).toEqual([]);
}); });
...@@ -159,9 +147,7 @@ describe('snippets/components/snippet_blob_actions_edit', () => { ...@@ -159,9 +147,7 @@ describe('snippets/components/snippet_blob_actions_edit', () => {
}); });
it('removes blob', () => { it('removes blob', () => {
expect(findBlobsData()).toEqual( expect(findBlobsData()).toEqual(buildBlobsDataExpectation(TEST_BLOBS_UNLOADED.slice(0, 1)));
buildBlobsDataExpectation(TEST_BLOBS_UNLOADED.slice(0, 1)),
);
}); });
it('emits action', () => { it('emits action', () => {
...@@ -228,7 +214,6 @@ describe('snippets/components/snippet_blob_actions_edit', () => { ...@@ -228,7 +214,6 @@ describe('snippets/components/snippet_blob_actions_edit', () => {
}); });
}); });
}); });
});
describe('with 1 blob', () => { describe('with 1 blob', () => {
beforeEach(() => { beforeEach(() => {
......
...@@ -141,7 +141,7 @@ describe('Snippet Blob Edit component', () => { ...@@ -141,7 +141,7 @@ describe('Snippet Blob Edit component', () => {
}); });
it('shows blob header', () => { it('shows blob header', () => {
const { canDelete = false, showDelete = false } = props; const { canDelete = true, showDelete = false } = props;
expect(findHeader().props()).toMatchObject({ expect(findHeader().props()).toMatchObject({
canDelete, canDelete,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment