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
a818a654
Commit
a818a654
authored
Nov 23, 2020
by
Evan Read
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Migrate environment dashboard dropdown
parent
dcf0987a
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
63 deletions
+55
-63
ee/app/assets/javascripts/environments_dashboard/components/dashboard/project_header.vue
...onments_dashboard/components/dashboard/project_header.vue
+21
-20
ee/spec/frontend/environments_dashboard/components/__snapshots__/project_header_spec.js.snap
...oard/components/__snapshots__/project_header_spec.js.snap
+28
-34
ee/spec/frontend/environments_dashboard/components/project_header_spec.js
.../environments_dashboard/components/project_header_spec.js
+6
-9
No files found.
ee/app/assets/javascripts/environments_dashboard/components/dashboard/project_header.vue
View file @
a818a654
<
script
>
<
script
>
import
{
Gl
TooltipDirective
,
GlLink
,
GlButton
,
GlIcon
}
from
'
@gitlab/ui
'
;
import
{
Gl
Dropdown
,
GlDropdownItem
,
GlTooltipDirective
,
GlLink
,
GlIcon
}
from
'
@gitlab/ui
'
;
import
{
s__
}
from
'
~/locale
'
;
import
{
s__
}
from
'
~/locale
'
;
import
ProjectAvatar
from
'
~/vue_shared/components/project_avatar/default.vue
'
;
import
ProjectAvatar
from
'
~/vue_shared/components/project_avatar/default.vue
'
;
export
default
{
export
default
{
components
:
{
components
:
{
GlDropdown
,
GlDropdownItem
,
GlIcon
,
GlIcon
,
ProjectAvatar
,
ProjectAvatar
,
GlLink
,
GlLink
,
GlButton
,
},
},
directives
:
{
directives
:
{
GlTooltip
:
GlTooltipDirective
,
GlTooltip
:
GlTooltipDirective
,
...
@@ -32,9 +33,9 @@ export default {
...
@@ -32,9 +33,9 @@ export default {
<
template
>
<
template
>
<div
<div
class=
"
d-flex align-items-center page-title-holder text-secondary justify-content
-between pb-2 mb-3"
class=
"
gl-display-flex gl-align-items-center page-title-holder text-secondary gl-justify-content-space
-between pb-2 mb-3"
>
>
<div
class=
"
d-flex
align-items-center"
>
<div
class=
"
gl-display-flex gl-
align-items-center"
>
<project-avatar
:project=
"project.namespace"
:size=
"20"
class=
"flex-shrink-0"
/>
<project-avatar
:project=
"project.namespace"
:size=
"20"
class=
"flex-shrink-0"
/>
<gl-link
class=
"js-namespace-link text-secondary"
:href=
"`/$
{project.namespace.full_path}`">
<gl-link
class=
"js-namespace-link text-secondary"
:href=
"`/$
{project.namespace.full_path}`">
<span
class=
"js-namespace gl-mr-3"
>
{{
project
.
namespace
.
name
}}
</span>
<span
class=
"js-namespace gl-mr-3"
>
{{
project
.
namespace
.
name
}}
</span>
...
@@ -45,23 +46,23 @@ export default {
...
@@ -45,23 +46,23 @@ export default {
<span
class=
"js-name gl-mr-3"
>
{{
project
.
name
}}
</span>
<span
class=
"js-name gl-mr-3"
>
{{
project
.
name
}}
</span>
</gl-link>
</gl-link>
</div>
</div>
<div
class=
"dropdown js-more-actions"
>
<div
class=
"gl-display-flex js-more-actions"
>
<button
<gl-dropdown
toggle-class=
"js-more-actions-toggle gl-display-flex gl-align-items-center gl-px-3! gl-bg-transparent gl-shadow-none!"
right
>
<template
#button-content
>
<gl-icon
v-gl-tooltip
v-gl-tooltip
class=
"js-more-actions-toggle d-flex align-items-center ml-2 btn btn-transparent"
type=
"button"
data-toggle=
"dropdown"
:title=
"$options.moreActionsText"
:title=
"$options.moreActionsText"
>
name=
"ellipsis_v"
<gl-icon
name=
"ellipsis_v"
class=
"text-secondary"
/>
class=
"text-secondary"
</button>
/>
<ul
class=
"dropdown-menu dropdown-menu-right"
>
</
template
>
<li>
<gl-dropdown-item
class=
"js-remove-button"
variant=
"link"
@
click=
"onRemove()"
>
<gl-button
class=
"js-remove-button"
variant=
"link"
@
click=
"onRemove()"
>
<span
class=
"text-danger"
>
{{ $options.removeProjectText }}
</span>
<span
class=
"text-danger"
>
{{ $options.removeProjectText }}
</span>
</gl-button>
</gl-dropdown-item>
</li>
</gl-dropdown>
</ul>
</div>
</div>
</div>
</div>
</template>
</template>
ee/spec/frontend/environments_dashboard/components/__snapshots__/project_header_spec.js.snap
View file @
a818a654
...
@@ -2,10 +2,10 @@
...
@@ -2,10 +2,10 @@
exports[`Project Header matches the snapshot 1`] = `
exports[`Project Header matches the snapshot 1`] = `
<div
<div
class="
d-flex align-items-center page-title-holder text-secondary justify-content
-between pb-2 mb-3"
class="
gl-display-flex gl-align-items-center page-title-holder text-secondary gl-justify-content-space
-between pb-2 mb-3"
>
>
<div
<div
class="
d-flex
align-items-center"
class="
gl-display-flex gl-
align-items-center"
>
>
<project-avatar-stub
<project-avatar-stub
class="flex-shrink-0"
class="flex-shrink-0"
...
@@ -48,31 +48,26 @@ exports[`Project Header matches the snapshot 1`] = `
...
@@ -48,31 +48,26 @@ exports[`Project Header matches the snapshot 1`] = `
</div>
</div>
<div
<div
class="
dropdown
js-more-actions"
class="
gl-display-flex
js-more-actions"
>
>
<button
<gl-dropdown-stub
class="js-more-actions-toggle d-flex align-items-center ml-2 btn btn-transparent"
category="primary"
data-toggle="dropdown"
headertext=""
title="More actions"
right=""
type="button"
size="medium"
text=""
toggleclass="js-more-actions-toggle gl-display-flex gl-align-items-center gl-px-3! gl-bg-transparent gl-shadow-none!"
variant="default"
>
>
<gl-icon-stub
class="text-secondary"
name="ellipsis_v"
size="16"
/>
</button>
<ul
<gl-dropdown-item-stub
class="dropdown-menu dropdown-menu-right"
avatarurl=""
>
<li>
<gl-button-stub
buttontextclasses=""
category="primary"
class="js-remove-button"
class="js-remove-button"
icon=""
iconcolor=""
size="medium"
iconname=""
iconrightarialabel=""
iconrightname=""
secondarytext=""
variant="link"
variant="link"
>
>
<span
<span
...
@@ -80,9 +75,8 @@ exports[`Project Header matches the snapshot 1`] = `
...
@@ -80,9 +75,8 @@ exports[`Project Header matches the snapshot 1`] = `
>
>
Remove
Remove
</span>
</span>
</gl-button-stub>
</gl-dropdown-item-stub>
</li>
</gl-dropdown-stub>
</ul>
</div>
</div>
</div>
</div>
`;
`;
ee/spec/frontend/environments_dashboard/components/project_header_spec.js
View file @
a818a654
import
{
Gl
Button
}
from
'
@gitlab/ui
'
;
import
{
Gl
Dropdown
,
GlDropdownItem
}
from
'
@gitlab/ui
'
;
import
{
shallowMount
}
from
'
@vue/test-utils
'
;
import
{
shallowMount
}
from
'
@vue/test-utils
'
;
import
component
from
'
ee/environments_dashboard/components/dashboard/project_header.vue
'
;
import
component
from
'
ee/environments_dashboard/components/dashboard/project_header.vue
'
;
import
ProjectAvatar
from
'
~/vue_shared/components/project_avatar/default.vue
'
;
import
ProjectAvatar
from
'
~/vue_shared/components/project_avatar/default.vue
'
;
...
@@ -66,21 +66,18 @@ describe('Project Header', () => {
...
@@ -66,21 +66,18 @@ describe('Project Header', () => {
describe
(
'
more actions
'
,
()
=>
{
describe
(
'
more actions
'
,
()
=>
{
it
(
'
should list "remove" as an action
'
,
()
=>
{
it
(
'
should list "remove" as an action
'
,
()
=>
{
const
removeLink
=
wrapper
const
removeLink
=
wrapper
.
find
(
'
.dropdown-menu
'
)
.
find
(
GlDropdown
)
.
findAll
(
'
li
'
)
.
findAll
(
GlDropdownItem
)
.
filter
(
w
=>
w
.
text
()
===
'
Remove
'
);
.
filter
(
w
=>
w
.
text
()
===
'
Remove
'
);
expect
(
removeLink
.
exists
()).
toBe
(
true
);
expect
(
removeLink
.
exists
()).
toBe
(
true
);
});
});
it
(
'
should emit a "remove" event when "remove" is clicked
'
,
()
=>
{
it
(
'
should emit a "remove" event when "remove" is clicked
'
,
()
=>
{
const
removeLink
=
wrapper
const
removeLink
=
wrapper
.
find
(
'
.dropdown-menu
'
)
.
find
(
GlDropdown
)
.
findAll
(
'
li
'
)
.
findAll
(
GlDropdownItem
)
.
filter
(
w
=>
w
.
text
()
===
'
Remove
'
);
.
filter
(
w
=>
w
.
text
()
===
'
Remove
'
);
removeLink
removeLink
.
at
(
0
).
vm
.
$emit
(
'
click
'
);
.
at
(
0
)
.
find
(
GlButton
)
.
vm
.
$emit
(
'
click
'
);
return
wrapper
.
vm
.
$nextTick
().
then
(()
=>
{
return
wrapper
.
vm
.
$nextTick
().
then
(()
=>
{
expect
(
wrapper
.
emitted
(
'
remove
'
)).
toContainEqual
([
propsData
.
project
.
remove_path
]);
expect
(
wrapper
.
emitted
(
'
remove
'
)).
toContainEqual
([
propsData
.
project
.
remove_path
]);
...
...
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