2018-12-09 13:21:20 +00:00
|
|
|
<template>
|
|
|
|
<div>
|
2019-04-02 16:08:03 +00:00
|
|
|
<projbreadcrumbs :ownertype="ownertype" :ownername="ownername" :projectref="projectref"/>
|
2019-05-06 22:27:44 +00:00
|
|
|
|
|
|
|
<div class="name">
|
|
|
|
<span class="is-size-3">{{projectName()}}</span>
|
|
|
|
</div>
|
|
|
|
|
2018-12-09 13:21:20 +00:00
|
|
|
<div class="tabs">
|
|
|
|
<ul>
|
2019-05-06 11:43:15 +00:00
|
|
|
<li>
|
|
|
|
<span class="icon is-small">
|
|
|
|
<i class="mdi mdi-run-fast"/>
|
|
|
|
</span>
|
|
|
|
<span>Runs</span>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<tabarrow/>
|
|
|
|
</li>
|
2018-12-09 13:21:20 +00:00
|
|
|
<li
|
2019-03-27 14:41:29 +00:00
|
|
|
:class="[{ 'is-active': $route.name.match('project runs') || $route.name.endsWith('project') }]"
|
2018-12-09 13:21:20 +00:00
|
|
|
>
|
2019-05-06 11:43:15 +00:00
|
|
|
<router-link :to="projectRunsLink(ownertype, ownername, projectref)">
|
|
|
|
<span class="icon is-small">
|
|
|
|
<i class="mdi mdi-asterisk"/>
|
|
|
|
</span>
|
|
|
|
<span>All</span>
|
|
|
|
</router-link>
|
2019-03-27 14:41:29 +00:00
|
|
|
</li>
|
|
|
|
<li :class="[{ 'is-active': $route.name.match('project branches runs') }]">
|
2019-05-06 11:43:15 +00:00
|
|
|
<router-link :to="projectBranchesRunsLink(ownertype, ownername, projectref)">
|
|
|
|
<span class="icon is-small">
|
|
|
|
<i class="mdi mdi-source-branch"/>
|
|
|
|
</span>
|
|
|
|
<span>Branches</span>
|
|
|
|
</router-link>
|
2019-03-27 14:41:29 +00:00
|
|
|
</li>
|
|
|
|
<li :class="[{ 'is-active': $route.name.match('project tags runs') }]">
|
2019-05-06 11:43:15 +00:00
|
|
|
<router-link :to="projectTagsRunsLink(ownertype, ownername, projectref)">
|
|
|
|
<span class="icon is-small">
|
|
|
|
<i class="mdi mdi-tag"/>
|
|
|
|
</span>
|
|
|
|
<span>Tags</span>
|
|
|
|
</router-link>
|
2019-03-27 14:41:29 +00:00
|
|
|
</li>
|
|
|
|
<li :class="[{ 'is-active': $route.name.match('project pull requests runs') }]">
|
2019-05-06 11:43:15 +00:00
|
|
|
<router-link :to="projectPRsRunsLink(ownertype, ownername, projectref)">
|
|
|
|
<span class="icon is-small">
|
|
|
|
<i class="mdi mdi-source-pull"/>
|
|
|
|
</span>
|
|
|
|
<span>Pull Requests</span>
|
|
|
|
</router-link>
|
2018-12-09 13:21:20 +00:00
|
|
|
</li>
|
|
|
|
<li
|
|
|
|
v-if="$route.name.endsWith('project run') || $route.name.endsWith('project run task')"
|
|
|
|
:class="[{ 'is-active': $route.name.endsWith('project run') }]"
|
|
|
|
>
|
|
|
|
<tabarrow/>
|
|
|
|
</li>
|
|
|
|
<li
|
|
|
|
v-if="$route.name.endsWith('project run') || $route.name.endsWith('project run task')"
|
|
|
|
:class="[{ 'is-active': $route.name.endsWith('project run') }]"
|
|
|
|
>
|
2019-04-02 16:08:03 +00:00
|
|
|
<router-link :to="projectRunLink(ownertype, ownername, projectref, $route.params.runid)">
|
2019-03-27 14:41:29 +00:00
|
|
|
<p v-if="run">
|
|
|
|
Run
|
|
|
|
<strong>#{{run.counter}}</strong>
|
|
|
|
</p>
|
|
|
|
</router-link>
|
2018-12-09 13:21:20 +00:00
|
|
|
</li>
|
|
|
|
<li
|
|
|
|
v-if="$route.name.endsWith('project run task')"
|
|
|
|
:class="[{ 'is-active': $route.name.endsWith('project run') }]"
|
|
|
|
>
|
|
|
|
<tabarrow/>
|
|
|
|
</li>
|
|
|
|
<li v-if="$route.name.endsWith('project run task')" class="is-active">
|
|
|
|
<router-link
|
2019-04-02 16:08:03 +00:00
|
|
|
:to="projectRunTaskLink(ownertype, ownername, projectref, $route.params.runid, $route.params.taskid)"
|
2019-03-27 14:41:29 +00:00
|
|
|
>
|
|
|
|
<p v-if="run">
|
|
|
|
Task
|
|
|
|
<strong>{{run.tasks[$route.params.taskid].name}}</strong>
|
|
|
|
</p>
|
|
|
|
</router-link>
|
2018-12-09 13:21:20 +00:00
|
|
|
</li>
|
|
|
|
</ul>
|
2019-03-22 07:39:03 +00:00
|
|
|
<ul class="is-right">
|
|
|
|
<li :class="[{ 'is-active': $route.name.endsWith('project settings') }]">
|
2019-05-06 11:43:15 +00:00
|
|
|
<router-link :to="projectSettingsLink(ownertype, ownername, projectref)">
|
|
|
|
<span class="icon is-small">
|
|
|
|
<i class="mdi mdi-settings"/>
|
|
|
|
</span>
|
|
|
|
<span>Project Settings</span>
|
|
|
|
</router-link>
|
2019-03-22 07:39:03 +00:00
|
|
|
</li>
|
|
|
|
</ul>
|
2018-12-09 13:21:20 +00:00
|
|
|
</div>
|
|
|
|
<router-view></router-view>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import {
|
|
|
|
projectLink,
|
|
|
|
projectRunsLink,
|
2019-03-27 14:41:29 +00:00
|
|
|
projectBranchesRunsLink,
|
|
|
|
projectTagsRunsLink,
|
|
|
|
projectPRsRunsLink,
|
2018-12-09 13:21:20 +00:00
|
|
|
projectRunLink,
|
2019-03-22 07:39:03 +00:00
|
|
|
projectRunTaskLink,
|
|
|
|
projectSettingsLink
|
2018-12-09 13:21:20 +00:00
|
|
|
} from "@/util/link.js";
|
|
|
|
|
2019-03-27 14:41:29 +00:00
|
|
|
import { fetchRun } from "@/util/data.js";
|
|
|
|
|
2018-12-09 13:21:20 +00:00
|
|
|
import projbreadcrumbs from "@/components/projbreadcrumbs.vue";
|
|
|
|
import tabarrow from "@/components/tabarrow.vue";
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: "Project",
|
2019-04-02 16:08:03 +00:00
|
|
|
components: { projbreadcrumbs, tabarrow },
|
2018-12-09 13:21:20 +00:00
|
|
|
props: {
|
|
|
|
ownertype: String,
|
|
|
|
ownername: String,
|
2019-04-02 16:08:03 +00:00
|
|
|
projectref: Array
|
2018-12-09 13:21:20 +00:00
|
|
|
},
|
2019-03-27 14:41:29 +00:00
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
run: null
|
|
|
|
};
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
$route: async function(route) {
|
|
|
|
if (route.params.runid) {
|
|
|
|
this.run = await fetchRun(route.params.runid);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2018-12-09 13:21:20 +00:00
|
|
|
methods: {
|
|
|
|
projectLink: projectLink,
|
|
|
|
projectRunsLink: projectRunsLink,
|
2019-03-27 14:41:29 +00:00
|
|
|
projectBranchesRunsLink: projectBranchesRunsLink,
|
|
|
|
projectTagsRunsLink: projectTagsRunsLink,
|
|
|
|
projectPRsRunsLink: projectPRsRunsLink,
|
2018-12-09 13:21:20 +00:00
|
|
|
projectRunLink: projectRunLink,
|
2019-03-22 07:39:03 +00:00
|
|
|
projectRunTaskLink: projectRunTaskLink,
|
2019-05-06 22:27:44 +00:00
|
|
|
projectSettingsLink: projectSettingsLink,
|
|
|
|
projectName() {
|
|
|
|
return this.projectref[this.projectref.length - 1];
|
|
|
|
}
|
2019-03-27 14:41:29 +00:00
|
|
|
},
|
|
|
|
created: async function() {
|
|
|
|
if (this.$route.params.runid) {
|
|
|
|
this.run = await fetchRun(this.$route.params.runid);
|
|
|
|
}
|
2018-12-09 13:21:20 +00:00
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
@import "@/css/_variables.scss";
|
|
|
|
|
2019-05-06 22:27:44 +00:00
|
|
|
.name {
|
2018-12-09 13:21:20 +00:00
|
|
|
padding-left: 5px;
|
|
|
|
margin-bottom: 25px;
|
|
|
|
}
|
|
|
|
</style>
|