added external link icon
This commit is contained in:
parent
f59b9778d9
commit
af42fa2364
4 changed files with 38 additions and 4 deletions
|
@ -1,8 +1,10 @@
|
|||
<script>
|
||||
import Icon from '../../../vue_shared/components/icon.vue';
|
||||
import CiIcon from '../../../vue_shared/components/ci_icon.vue';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Icon,
|
||||
CiIcon,
|
||||
},
|
||||
props: {
|
||||
|
@ -31,8 +33,13 @@ export default {
|
|||
<a
|
||||
:href="job.path"
|
||||
target="_blank"
|
||||
v-text="jobId"
|
||||
class="ide-external-link"
|
||||
>
|
||||
{{ jobId }}
|
||||
<icon
|
||||
name="external-link"
|
||||
:size="12"
|
||||
/>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<script>
|
||||
import { mapActions, mapGetters, mapState } from 'vuex';
|
||||
import LoadingIcon from '../../../vue_shared/components/loading_icon.vue';
|
||||
import Icon from '../../../vue_shared/components/icon.vue';
|
||||
import CiIcon from '../../../vue_shared/components/ci_icon.vue';
|
||||
import Tabs from '../../../vue_shared/components/tabs/tabs';
|
||||
import Tab from '../../../vue_shared/components/tabs/tab.vue';
|
||||
|
@ -9,13 +10,14 @@ import JobsList from '../jobs/list.vue';
|
|||
export default {
|
||||
components: {
|
||||
LoadingIcon,
|
||||
Icon,
|
||||
CiIcon,
|
||||
Tabs,
|
||||
Tab,
|
||||
JobsList,
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('pipelines', ['jobsCount', 'failedJobsCount', 'failedStages']),
|
||||
...mapGetters('pipelines', ['jobsCount', 'failedJobsCount', 'failedStages', 'pipelineFailed']),
|
||||
...mapState('pipelines', ['isLoadingPipeline', 'latestPipeline', 'stages', 'isLoadingJobs']),
|
||||
},
|
||||
created() {
|
||||
|
@ -49,13 +51,20 @@ export default {
|
|||
<a
|
||||
:href="latestPipeline.path"
|
||||
target="_blank"
|
||||
class="ide-external-link"
|
||||
>
|
||||
#{{ latestPipeline.id }}
|
||||
<icon
|
||||
name="external-link"
|
||||
:size="12"
|
||||
/>
|
||||
</a>
|
||||
</span>
|
||||
</header>
|
||||
<tabs>
|
||||
<tab active>
|
||||
<tab
|
||||
:active="!pipelineFailed"
|
||||
>
|
||||
<template slot="title">
|
||||
Jobs
|
||||
<span
|
||||
|
@ -70,7 +79,9 @@ export default {
|
|||
:stages="stages"
|
||||
/>
|
||||
</tab>
|
||||
<tab>
|
||||
<tab
|
||||
:active="pipelineFailed"
|
||||
>
|
||||
<template slot="title">
|
||||
Failed Jobs
|
||||
<span
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
export const hasLatestPipeline = state => !state.isLoadingPipeline && !!state.latestPipeline;
|
||||
|
||||
export const pipelineFailed = state =>
|
||||
state.latestPipeline && state.latestPipeline.details.status.text === 'failed';
|
||||
|
||||
export const failedStages = state =>
|
||||
state.stages.filter(stage => stage.status.text === 'failed').map(stage => ({
|
||||
...stage,
|
||||
|
|
|
@ -1135,3 +1135,16 @@
|
|||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.ide-external-link {
|
||||
svg {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
svg {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue