BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
2d6f1e96
Commit
2d6f1e96
authored
May 03, 2017
by
Filipa Lacerda
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove service from actions dropdown, stop button and redeploy button
parent
cac04fbd
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
32 additions
and
117 deletions
+32
-117
environment.vue
...ssets/javascripts/environments/components/environment.vue
+12
-1
environment_actions.vue
...vascripts/environments/components/environment_actions.vue
+1
-17
environment_item.vue
.../javascripts/environments/components/environment_item.vue
+10
-12
environment_rollback.vue
...ascripts/environments/components/environment_rollback.vue
+1
-18
environment_stop.vue
.../javascripts/environments/components/environment_stop.vue
+2
-16
environments_table.vue
...avascripts/environments/components/environments_table.vue
+2
-7
31156-environments-vue-service.yml
changelogs/unreleased/31156-environments-vue-service.yml
+4
-0
environment_actions_spec.js
spec/javascripts/environments/environment_actions_spec.js
+0
-12
environment_rollback_spec.js
spec/javascripts/environments/environment_rollback_spec.js
+0
-24
environment_stop_spec.js
spec/javascripts/environments/environment_stop_spec.js
+0
-10
No files found.
app/assets/javascripts/environments/components/environment.vue
View file @
2d6f1e96
...
...
@@ -71,6 +71,7 @@ export default {
eventHub
.
$on
(
'refreshEnvironments'
,
this
.
fetchEnvironments
);
eventHub
.
$on
(
'toggleFolder'
,
this
.
toggleFolder
);
eventHub
.
$on
(
'postAction'
,
this
.
postAction
);
},
beforeDestroyed
()
{
...
...
@@ -140,6 +141,17 @@ export default {
new
Flash
(
'An error occurred while fetching the environments.'
);
});
},
postAction
(
endpoint
)
{
this
.
service
.
postAction
(
endpoint
)
.
then
(()
=>
{
this
.
fetchEnvironments
();
})
.
catch
(()
=>
{
// eslint-disable-next-line no-new
new
Flash
(
'An error occured while making the request.'
);
});
},
},
};
</
script
>
...
...
@@ -217,7 +229,6 @@ export default {
:environments=
"state.environments"
:can-create-deployment=
"canCreateDeploymentParsed"
:can-read-environment=
"canReadEnvironmentParsed"
:service=
"service"
:is-loading-folder-content=
"isLoadingFolderContent"
/>
</div>
...
...
app/assets/javascripts/environments/components/environment_actions.vue
View file @
2d6f1e96
<
script
>
/* global Flash */
/* eslint-disable no-new */
import
playIconSvg
from
'icons/_icon_play.svg'
;
import
eventHub
from
'../event_hub'
;
...
...
@@ -12,11 +9,6 @@ export default {
required
:
false
,
default
:
()
=>
[],
},
service
:
{
type
:
Object
,
required
:
true
,
},
},
data
()
{
...
...
@@ -38,15 +30,7 @@ export default {
$
(
this
.
$refs
.
tooltip
).
tooltip
(
'destroy'
);
this
.
service
.
postAction
(
endpoint
)
.
then
(()
=>
{
this
.
isLoading
=
false
;
eventHub
.
$emit
(
'refreshEnvironments'
);
})
.
catch
(()
=>
{
this
.
isLoading
=
false
;
new
Flash
(
'An error occured while making the request.'
);
});
eventHub
.
$emit
(
'postAction'
,
endpoint
);
},
isActionDisabled
(
action
)
{
...
...
app/assets/javascripts/environments/components/environment_item.vue
View file @
2d6f1e96
...
...
@@ -46,11 +46,6 @@ export default {
required
:
false
,
default
:
false
,
},
service
:
{
type
:
Object
,
required
:
true
,
},
},
computed
:
{
...
...
@@ -543,31 +538,34 @@ export default {
<actions-component
v-if=
"hasManualActions && canCreateDeployment"
:
service=
"service
"
:actions=
"manualActions"
/>
:
actions=
"manualActions
"
/>
<external-url-component
v-if=
"externalURL && canReadEnvironment"
:external-url=
"externalURL"
/>
:external-url=
"externalURL"
/>
<monitoring-button-component
v-if=
"monitoringUrl && canReadEnvironment"
:monitoring-url=
"monitoringUrl"
/>
:monitoring-url=
"monitoringUrl"
/>
<terminal-button-component
v-if=
"model && model.terminal_path"
:terminal-path=
"model.terminal_path"
/>
:terminal-path=
"model.terminal_path"
/>
<stop-component
v-if=
"hasStopAction && canCreateDeployment"
:stop-url=
"model.stop_path"
:service=
"service"
/>
/>
<rollback-component
v-if=
"canRetry && canCreateDeployment"
:is-last-deployment=
"isLastDeployment"
:retry-url=
"retryUrl"
:service=
"service"
/>
/>
</div>
</td>
</tr>
...
...
app/assets/javascripts/environments/components/environment_rollback.vue
View file @
2d6f1e96
<
script
>
/* global Flash */
/* eslint-disable no-new */
/**
* Renders Rollback or Re deploy button in environments table depending
* of the provided property `isLastDeployment`.
...
...
@@ -20,11 +18,6 @@ export default {
type
:
Boolean
,
default
:
true
,
},
service
:
{
type
:
Object
,
required
:
true
,
},
},
data
()
{
...
...
@@ -37,17 +30,7 @@ export default {
onClick
()
{
this
.
isLoading
=
true
;
$
(
this
.
$el
).
tooltip
(
'destroy'
);
this
.
service
.
postAction
(
this
.
retryUrl
)
.
then
(()
=>
{
this
.
isLoading
=
false
;
eventHub
.
$emit
(
'refreshEnvironments'
);
})
.
catch
(()
=>
{
this
.
isLoading
=
false
;
new
Flash
(
'An error occured while making the request.'
);
});
eventHub
.
$emit
(
'postAction'
,
this
.
retryUrl
);
},
},
};
...
...
app/assets/javascripts/environments/components/environment_stop.vue
View file @
2d6f1e96
<
script
>
/* global Flash */
/* eslint-disable no-new, no-alert */
/**
* Renders the stop "button" that allows stop an environment.
* Used in environments table.
...
...
@@ -13,11 +11,6 @@ export default {
type
:
String
,
default
:
''
,
},
service
:
{
type
:
Object
,
required
:
true
,
},
},
data
()
{
...
...
@@ -34,20 +27,13 @@ export default {
methods
:
{
onClick
()
{
// eslint-disable-next-line no-alert
if
(
confirm
(
'Are you sure you want to stop this environment?'
))
{
this
.
isLoading
=
true
;
$
(
this
.
$el
).
tooltip
(
'destroy'
);
this
.
service
.
postAction
(
this
.
retryUrl
)
.
then
(()
=>
{
this
.
isLoading
=
false
;
eventHub
.
$emit
(
'refreshEnvironments'
);
})
.
catch
(()
=>
{
this
.
isLoading
=
false
;
new
Flash
(
'An error occured while making the request.'
,
'alert'
);
});
eventHub
.
$emit
(
'postAction'
,
this
.
stopUrl
);
}
},
},
...
...
app/assets/javascripts/environments/components/environments_table.vue
View file @
2d6f1e96
...
...
@@ -28,11 +28,6 @@ export default {
default
:
false
,
},
service
:
{
type
:
Object
,
required
:
true
,
},
isLoadingFolderContent
:
{
type
:
Boolean
,
required
:
false
,
...
...
@@ -78,7 +73,7 @@ export default {
:model=
"model"
:can-create-deployment=
"canCreateDeployment"
:can-read-environment=
"canReadEnvironment"
:service=
"service"
/>
/>
<template
v-if=
"model.isFolder && model.isOpen && model.children && model.children.length > 0"
>
<tr
v-if=
"isLoadingFolderContent"
>
...
...
@@ -96,7 +91,7 @@ export default {
:model=
"children"
:can-create-deployment=
"canCreateDeployment"
:can-read-environment=
"canReadEnvironment"
:service=
"service"
/>
/>
<tr>
<td
...
...
changelogs/unreleased/31156-environments-vue-service.yml
0 → 100644
View file @
2d6f1e96
---
title
:
Fix environments vue architecture to match documentation
merge_request
:
author
:
spec/javascripts/environments/environment_actions_spec.js
View file @
2d6f1e96
...
...
@@ -4,7 +4,6 @@ import actionsComp from '~/environments/components/environment_actions.vue';
describe
(
'Actions Component'
,
()
=>
{
let
ActionsComponent
;
let
actionsMock
;
let
spy
;
let
component
;
beforeEach
(()
=>
{
...
...
@@ -26,13 +25,9 @@ describe('Actions Component', () => {
},
];
spy
=
jasmine
.
createSpy
(
'spy'
).
and
.
returnValue
(
Promise
.
resolve
());
component
=
new
ActionsComponent
({
propsData
:
{
actions
:
actionsMock
,
service
:
{
postAction
:
spy
,
},
},
}).
$mount
();
});
...
...
@@ -48,13 +43,6 @@ describe('Actions Component', () => {
).
toEqual
(
actionsMock
.
length
);
});
it
(
'should call the service when an action is clicked'
,
()
=>
{
component
.
$el
.
querySelector
(
'.dropdown'
).
click
();
component
.
$el
.
querySelector
(
'.js-manual-action-link'
).
click
();
expect
(
spy
).
toHaveBeenCalledWith
(
actionsMock
[
0
].
play_path
);
});
it
(
'should render a disabled action when it
\'
s not playable'
,
()
=>
{
expect
(
component
.
$el
.
querySelector
(
'.dropdown-menu li:last-child button'
).
getAttribute
(
'disabled'
),
...
...
spec/javascripts/environments/environment_rollback_spec.js
View file @
2d6f1e96
...
...
@@ -4,11 +4,9 @@ import rollbackComp from '~/environments/components/environment_rollback.vue';
describe
(
'Rollback Component'
,
()
=>
{
const
retryURL
=
'https://gitlab.com/retry'
;
let
RollbackComponent
;
let
spy
;
beforeEach
(()
=>
{
RollbackComponent
=
Vue
.
extend
(
rollbackComp
);
spy
=
jasmine
.
createSpy
(
'spy'
).
and
.
returnValue
(
Promise
.
resolve
());
});
it
(
'Should render Re-deploy label when isLastDeployment is true'
,
()
=>
{
...
...
@@ -17,9 +15,6 @@ describe('Rollback Component', () => {
propsData
:
{
retryUrl
:
retryURL
,
isLastDeployment
:
true
,
service
:
{
postAction
:
spy
,
},
},
}).
$mount
();
...
...
@@ -32,28 +27,9 @@ describe('Rollback Component', () => {
propsData
:
{
retryUrl
:
retryURL
,
isLastDeployment
:
false
,
service
:
{
postAction
:
spy
,
},
},
}).
$mount
();
expect
(
component
.
$el
.
querySelector
(
'span'
).
textContent
).
toContain
(
'Rollback'
);
});
it
(
'should call the service when the button is clicked'
,
()
=>
{
const
component
=
new
RollbackComponent
({
propsData
:
{
retryUrl
:
retryURL
,
isLastDeployment
:
false
,
service
:
{
postAction
:
spy
,
},
},
}).
$mount
();
component
.
$el
.
click
();
expect
(
spy
).
toHaveBeenCalledWith
(
retryURL
);
});
});
spec/javascripts/environments/environment_stop_spec.js
View file @
2d6f1e96
...
...
@@ -4,20 +4,15 @@ import stopComp from '~/environments/components/environment_stop.vue';
describe
(
'Stop Component'
,
()
=>
{
let
StopComponent
;
let
component
;
let
spy
;
const
stopURL
=
'/stop'
;
beforeEach
(()
=>
{
StopComponent
=
Vue
.
extend
(
stopComp
);
spy
=
jasmine
.
createSpy
(
'spy'
).
and
.
returnValue
(
Promise
.
resolve
());
spyOn
(
window
,
'confirm'
).
and
.
returnValue
(
true
);
component
=
new
StopComponent
({
propsData
:
{
stopUrl
:
stopURL
,
service
:
{
postAction
:
spy
,
},
},
}).
$mount
();
});
...
...
@@ -26,9 +21,4 @@ describe('Stop Component', () => {
expect
(
component
.
$el
.
tagName
).
toEqual
(
'BUTTON'
);
expect
(
component
.
$el
.
getAttribute
(
'title'
)).
toEqual
(
'Stop'
);
});
it
(
'should call the service when an action is clicked'
,
()
=>
{
component
.
$el
.
click
();
expect
(
spy
).
toHaveBeenCalled
();
});
});
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