Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
6e7b56e2
Commit
6e7b56e2
authored
Aug 17, 2020
by
Paul Slaughter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixup! Add/remove snippet files in the edit view
parent
5c537cdc
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
105 additions
and
138 deletions
+105
-138
app/assets/javascripts/snippets/components/edit.vue
app/assets/javascripts/snippets/components/edit.vue
+1
-8
app/assets/javascripts/snippets/components/snippet_blob_actions_edit.vue
...scripts/snippets/components/snippet_blob_actions_edit.vue
+14
-25
app/assets/javascripts/snippets/components/snippet_blob_edit.vue
...ets/javascripts/snippets/components/snippet_blob_edit.vue
+2
-3
spec/frontend/snippets/components/__snapshots__/snippet_blob_edit_spec.js.snap
...s/components/__snapshots__/snippet_blob_edit_spec.js.snap
+1
-0
spec/frontend/snippets/components/snippet_blob_actions_edit_spec.js
...end/snippets/components/snippet_blob_actions_edit_spec.js
+86
-101
spec/frontend/snippets/components/snippet_blob_edit_spec.js
spec/frontend/snippets/components/snippet_blob_edit_spec.js
+1
-1
No files found.
app/assets/javascripts/snippets/components/edit.vue
View file @
6e7b56e2
...
@@ -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"
...
...
app/assets/javascripts/snippets/components/snippet_blob_actions_edit.vue
View file @
6e7b56e2
...
@@ -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
];
...
...
app/assets/javascripts/snippets/components/snippet_blob_edit.vue
View file @
6e7b56e2
...
@@ -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
:
fals
e
,
default
:
tru
e
,
},
},
showDelete
:
{
showDelete
:
{
type
:
Boolean
,
type
:
Boolean
,
...
...
spec/frontend/snippets/components/__snapshots__/snippet_blob_edit_spec.js.snap
View file @
6e7b56e2
...
@@ -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"
...
...
spec/frontend/snippets/components/snippet_blob_actions_edit_spec.js
View file @
6e7b56e2
...
@@ -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
(()
=>
{
...
...
spec/frontend/snippets/components/snippet_blob_edit_spec.js
View file @
6e7b56e2
...
@@ -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
=
fals
e
,
showDelete
=
false
}
=
props
;
const
{
canDelete
=
tru
e
,
showDelete
=
false
}
=
props
;
expect
(
findHeader
().
props
()).
toMatchObject
({
expect
(
findHeader
().
props
()).
toMatchObject
({
canDelete
,
canDelete
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment