Use vue file for pipelines tables components
This commit is contained in:
parent
e5226177ac
commit
ad1b37c43f
4 changed files with 67 additions and 58 deletions
|
@ -1,56 +0,0 @@
|
|||
import userAvatarLink from '../../vue_shared/components/user_avatar/user_avatar_link.vue';
|
||||
|
||||
export default {
|
||||
props: [
|
||||
'pipeline',
|
||||
],
|
||||
computed: {
|
||||
user() {
|
||||
return !!this.pipeline.user;
|
||||
},
|
||||
},
|
||||
components: {
|
||||
userAvatarLink,
|
||||
},
|
||||
template: `
|
||||
<td>
|
||||
<a
|
||||
:href="pipeline.path"
|
||||
class="js-pipeline-url-link">
|
||||
<span class="pipeline-id">#{{pipeline.id}}</span>
|
||||
</a>
|
||||
<span>by</span>
|
||||
<user-avatar-link
|
||||
v-if="user"
|
||||
class="js-pipeline-url-user"
|
||||
:link-href="pipeline.user.web_url"
|
||||
:img-src="pipeline.user.avatar_url"
|
||||
:tooltip-text="pipeline.user.name"
|
||||
/>
|
||||
<span
|
||||
v-if="!user"
|
||||
class="js-pipeline-url-api api">
|
||||
API
|
||||
</span>
|
||||
<span
|
||||
v-if="pipeline.flags.latest"
|
||||
class="js-pipeline-url-lastest label label-success has-tooltip"
|
||||
title="Latest pipeline for this branch"
|
||||
data-original-title="Latest pipeline for this branch">
|
||||
latest
|
||||
</span>
|
||||
<span
|
||||
v-if="pipeline.flags.yaml_errors"
|
||||
class="js-pipeline-url-yaml label label-danger has-tooltip"
|
||||
:title="pipeline.yaml_errors"
|
||||
:data-original-title="pipeline.yaml_errors">
|
||||
yaml invalid
|
||||
</span>
|
||||
<span
|
||||
v-if="pipeline.flags.stuck"
|
||||
class="js-pipeline-url-stuck label label-warning">
|
||||
stuck
|
||||
</span>
|
||||
</td>
|
||||
`,
|
||||
};
|
65
app/assets/javascripts/pipelines/components/pipeline_url.vue
Normal file
65
app/assets/javascripts/pipelines/components/pipeline_url.vue
Normal file
|
@ -0,0 +1,65 @@
|
|||
<script>
|
||||
import userAvatarLink from '../../vue_shared/components/user_avatar/user_avatar_link.vue';
|
||||
import tooltipMixin from '../../vue_shared/mixins/tooltip';
|
||||
|
||||
export default {
|
||||
props: {
|
||||
pipeline: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
components: {
|
||||
userAvatarLink,
|
||||
},
|
||||
mixins: [
|
||||
tooltipMixin,
|
||||
],
|
||||
computed: {
|
||||
user() {
|
||||
return this.pipeline.user;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<template>
|
||||
<td>
|
||||
<a
|
||||
:href="pipeline.path"
|
||||
class="js-pipeline-url-link">
|
||||
<span class="pipeline-id">#{{pipeline.id}}</span>
|
||||
</a>
|
||||
<span>by</span>
|
||||
<user-avatar-link
|
||||
v-if="user"
|
||||
class="js-pipeline-url-user"
|
||||
:link-href="pipeline.user.web_url"
|
||||
:img-src="pipeline.user.avatar_url"
|
||||
:tooltip-text="pipeline.user.name"
|
||||
/>
|
||||
<span
|
||||
v-if="!user"
|
||||
class="js-pipeline-url-api api">
|
||||
API
|
||||
</span>
|
||||
<span
|
||||
v-if="pipeline.flags.latest"
|
||||
class="js-pipeline-url-lastest label label-success"
|
||||
title="Latest pipeline for this branch"
|
||||
ref="tooltip">
|
||||
latest
|
||||
</span>
|
||||
<span
|
||||
v-if="pipeline.flags.yaml_errors"
|
||||
class="js-pipeline-url-yaml label label-danger"
|
||||
:title="pipeline.yaml_errors"
|
||||
ref="tooltip">
|
||||
yaml invalid
|
||||
</span>
|
||||
<span
|
||||
v-if="pipeline.flags.stuck"
|
||||
class="js-pipeline-url-stuck label label-warning">
|
||||
stuck
|
||||
</span>
|
||||
</td>
|
||||
</template>
|
|
@ -4,7 +4,7 @@ import PipelinesActionsComponent from '../../pipelines/components/pipelines_acti
|
|||
import PipelinesArtifactsComponent from '../../pipelines/components/pipelines_artifacts';
|
||||
import ciBadge from './ci_badge_link.vue';
|
||||
import PipelinesStageComponent from '../../pipelines/components/stage.vue';
|
||||
import PipelinesUrlComponent from '../../pipelines/components/pipeline_url';
|
||||
import PipelinesUrlComponent from '../../pipelines/components/pipeline_url.vue';
|
||||
import PipelinesTimeagoComponent from '../../pipelines/components/time_ago';
|
||||
import CommitComponent from './commit';
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Vue from 'vue';
|
||||
import pipelineUrlComp from '~/pipelines/components/pipeline_url';
|
||||
import pipelineUrlComp from '~/pipelines/components/pipeline_url.vue';
|
||||
|
||||
describe('Pipeline Url Component', () => {
|
||||
let PipelineUrlComponent;
|
||||
|
|
Loading…
Reference in a new issue