Commit 1a5027a0 authored by Regis's avatar Regis

re-wired a lot of the application - need a few more API values

parent 729fd548
...@@ -3,10 +3,13 @@ ...@@ -3,10 +3,13 @@
((gl) => { ((gl) => {
gl.VueBranchCommit = Vue.extend({ gl.VueBranchCommit = Vue.extend({
props: ['pipeline', 'shortsha'], props: ['pipeline'],
methods: { computed: {
commiturl(sha) { mailto() {
return `./commit/${sha}`; return `mailto:${this.pipeline.commit.author_email}`;
},
alt() {
return `${this.pipeline.commit.author_name}'s avatar`
}, },
}, },
template: ` template: `
...@@ -14,7 +17,7 @@ ...@@ -14,7 +17,7 @@
<div class="icon-container"> <div class="icon-container">
<i class="fa fa-code-fork"></i> <i class="fa fa-code-fork"></i>
</div> </div>
<a class="monospace branch-name" href="./commits/master">master</a> <a class="monospace branch-name" href="./commits/master">{{pipeline.ref.name}}</a>
<div class="icon-container commit-icon"> <div class="icon-container commit-icon">
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">
<path fill="#8F8F8F" fill-rule="evenodd" d="M28.7769836,18 C27.8675252,13.9920226 24.2831748,11 20,11 C15.7168252,11 12.1324748,13.9920226 11.2230164,18 L4.0085302,18 C2.90195036,18 2,18.8954305 2,20 C2,21.1122704 2.8992496,22 4.0085302,22 L11.2230164,22 C12.1324748,26.0079774 15.7168252,29 20,29 C24.2831748,29 27.8675252,26.0079774 28.7769836,22 L35.9914698,22 C37.0980496,22 38,21.1045695 38,20 C38,18.8877296 37.1007504,18 35.9914698,18 L28.7769836,18 L28.7769836,18 Z M20,25 C22.7614237,25 25,22.7614237 25,20 C25,17.2385763 22.7614237,15 20,15 C17.2385763,15 15,17.2385763 15,20 C15,22.7614237 17.2385763,25 20,25 L20,25 Z"></path> <path fill="#8F8F8F" fill-rule="evenodd" d="M28.7769836,18 C27.8675252,13.9920226 24.2831748,11 20,11 C15.7168252,11 12.1324748,13.9920226 11.2230164,18 L4.0085302,18 C2.90195036,18 2,18.8954305 2,20 C2,21.1122704 2.8992496,22 4.0085302,22 L11.2230164,22 C12.1324748,26.0079774 15.7168252,29 20,29 C24.2831748,29 27.8675252,26.0079774 28.7769836,22 L35.9914698,22 C37.0980496,22 38,21.1045695 38,20 C38,18.8877296 37.1007504,18 35.9914698,18 L28.7769836,18 L28.7769836,18 Z M20,25 C22.7614237,25 25,22.7614237 25,20 C25,17.2385763 22.7614237,15 20,15 C17.2385763,15 15,17.2385763 15,20 C15,22.7614237 17.2385763,25 20,25 L20,25 Z"></path>
...@@ -22,36 +25,28 @@ ...@@ -22,36 +25,28 @@
</div> </div>
<a <a
class="commit-id monospace" class="commit-id monospace"
:href='commiturl(pipeline.sha)' :href='pipeline.commit.commit_url'
> >
{{shortsha(pipeline)}} {{pipeline.commit.short_id}}
</a> </a>
<p class="commit-title"> <p class="commit-title">
<a <a
href="mailto:james@jameslopez.es" :href='mailto'
> >
<!-- <!-- still need gravatar url -->
need Author Name
need Plural Version of Author Name: Rails has this built in
need gravatar HASH for author
need authors email
-->
<img <img
class="avatar has-tooltip s20 hidden-xs" class="avatar has-tooltip s20 hidden-xs"
alt="James Lopez's avatar" :alt='alt'
title="James Lopez" :title='pipeline.commit.author_name'
data-container="body" data-container="body"
src="http://www.gravatar.com/avatar/80d3b651b4be1f1db39435c2d11f1f23?s=40&amp;d=identicon" src="http://www.gravatar.com/avatar/80d3b651b4be1f1db39435c2d11f1f23?s=40&amp;d=identicon"
> >
</a> </a>
<a <a
class="commit-row-message" class="commit-row-message"
:href='commiturl(pipeline.sha)' :href='pipeline.commit.commit_url'
> >
<!-- {{pipeline.commit.title}}
need commit message/title for SHA
-->
fix broken repo 500 errors in UI and added relevant specs
</a> </a>
</p> </p>
</td> </td>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
//= require ./store.js.es6 //= require ./store.js.es6
//= require ./pipeline_url.js.es6 //= require ./pipeline_url.js.es6
//= require ./pipeline_head.js.es6 //= require ./pipeline_head.js.es6
//= require ./stage.js.es6
//= require ./stages.js.es6 //= require ./stages.js.es6
//= require ./pipeline_actions.js.es6 //= require ./pipeline_actions.js.es6
//= require ./branch_commit.js.es6 //= require ./branch_commit.js.es6
......
...@@ -8,15 +8,20 @@ ...@@ -8,15 +8,20 @@
}, },
props: [ props: [
'pipeline', 'pipeline',
'pipelineurl',
], ],
computed: {
user() {
if (!this.pipeline.user) return 'API';
return this.pipeline.user;
},
},
template: ` template: `
<td> <td>
<a :href='pipelineurl(pipeline.id)'> <a :href='pipeline.url'>
<span class="pipeline-id">#{{pipeline.id}}</span> <span class="pipeline-id">#{{pipeline.id}}</span>
</a> </a>
<span>by</span> <span>by</span>
<span class="api monospace">{{pipeline.user}}</span> <span class="api monospace">{{user}}</span>
</td> </td>
`, `,
}); });
......
...@@ -44,12 +44,8 @@ ...@@ -44,12 +44,8 @@
window.history.pushState({}, null, `?p=${this.pagenum}`); window.history.pushState({}, null, `?p=${this.pagenum}`);
clearInterval(this.intervalId); clearInterval(this.intervalId);
debugger
this.store.fetchDataLoop.call(this, Vue, this.pagenum, this.scope); this.store.fetchDataLoop.call(this, Vue, this.pagenum, this.scope);
}, },
pipelineurl(id) {
return `pipelines/${id}`;
},
}, },
template: ` template: `
<div> <div>
...@@ -58,22 +54,10 @@ ...@@ -58,22 +54,10 @@
<vue-pipeline-head></vue-pipeline-head> <vue-pipeline-head></vue-pipeline-head>
<tbody> <tbody>
<tr class="commit" v-for='pipeline in pipelines'> <tr class="commit" v-for='pipeline in pipelines'>
<vue-status-scope <vue-status-scope :pipeline='pipeline'></vue-status-scope>
:scope='pipeline' <vue-pipeline-url :pipeline='pipeline'></vue-pipeline-url>
:scopeurl='pipelineurl' <vue-branch-commit :pipeline='pipeline'></vue-branch-commit>
> <vue-stages :pipeline='pipeline'></vue-stages>
</vue-status-scope>
<vue-pipeline-url
:pipeline='pipeline'
:pipelineurl='pipelineurl'
>
</vue-pipeline-url>
<vue-branch-commit
:pipeline='pipeline'
:shortsha='pipeline.commit.shortsha'
>
</vue-branch-commit>
<vue-stages></vue-stages>
<vue-time-ago :pipeline='pipeline'></vue-time-ago> <vue-time-ago :pipeline='pipeline'></vue-time-ago>
<vue-pipeline-actions></vue-pipeline-actions> <vue-pipeline-actions></vue-pipeline-actions>
</tr> </tr>
......
/* global Vue, gl */
/* eslint-disable no-param-reassign */
((gl) => {
gl.VueStage = Vue.extend({
components: {
'running-icon': gl.VueRunningIcon,
'pending-icon': gl.VuePendingIcon,
'failed-icon': gl.VueFailedIcon,
'success-icon': gl.VueSuccessIcon,
},
props: ['stage'],
computed: {
buildStatus() {
return `Build: ${this.stage.status}`;
},
},
template: `
<a
class="has-tooltip ci-status-icon-failed"
:title='buildStatus'
:href='stage.url'
>
<running-icon v-if='stage.status === "running"'></running-icon>
<success-icon v-if='stage.status === "success"'></success-icon>
<failed-icon v-if='stage.status === "failed"'></failed-icon>
<pending-icon v-if='stage.status === "pending"'></pending-icon>
</a>
`,
});
})(window.gl || (window.gl = {}));
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
const goFetch = () => const goFetch = () =>
this.$http.get(`${url}?page=${pageNum}`) this.$http.get(`${url}?page=${pageNum}`)
.then((response) => { .then((response) => {
const res = JSON.parse(response.body);
debugger debugger
const res = JSON.parse(response.body)
Vue.set(this, 'pipelines', res.pipelines); Vue.set(this, 'pipelines', res.pipelines);
}, () => new Flash( }, () => new Flash(
'Something went wrong on our end.' 'Something went wrong on our end.'
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
finishdate() { finishdate() {
const date = new Date( const date = new Date(
new Date( new Date(
this.pipeline.finished_at this.pipeline.details.finished_at
).getTime() - new Date( ).getTime() - new Date(
this.pipeline.started_at this.pipeline.started_at
).getTime() ).getTime()
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
options.timeZoneName = 'short'; options.timeZoneName = 'short';
const finished = this.pipeline.finished_at; const finished = this.pipeline.details.finished_at;
if (!finished) return false; if (!finished) return false;
......
...@@ -7,12 +7,11 @@ ...@@ -7,12 +7,11 @@
'vue-failed-icon': gl.VueFailedIcon, 'vue-failed-icon': gl.VueFailedIcon,
}, },
props: [ props: [
'scope', 'pipeline',
'scopeurl',
], ],
template: ` template: `
<td class="commit-link"> <td class="commit-link">
<a :href='scopeurl(scope.id)'> <a :href='pipeline.url'>
<span class="ci-status ci-failed"> <span class="ci-status ci-failed">
<vue-failed-icon></vue-failed-icon> <vue-failed-icon></vue-failed-icon>
&nbsp;failed &nbsp;failed
......
...@@ -7,12 +7,11 @@ ...@@ -7,12 +7,11 @@
'vue-pending-icon': gl.VuePendingIcon, 'vue-pending-icon': gl.VuePendingIcon,
}, },
props: [ props: [
'scope', 'pipeline',
'scopeurl',
], ],
template: ` template: `
<td class="commit-link"> <td class="commit-link">
<a :href='scopeurl(scope.id)'> <a :href='pipeline.url'>
<span class="ci-status ci-pending"> <span class="ci-status ci-pending">
<vue-pending-icon></vue-pending-icon> <vue-pending-icon></vue-pending-icon>
&nbsp;pending &nbsp;pending
......
...@@ -7,12 +7,11 @@ ...@@ -7,12 +7,11 @@
'vue-running-icon': gl.VueRunningIcon, 'vue-running-icon': gl.VueRunningIcon,
}, },
props: [ props: [
'scope', 'pipeline',
'scopeurl',
], ],
template: ` template: `
<td class="commit-link"> <td class="commit-link">
<a :href='scopeurl(scope.id)'> <a :href='pipeline.url'>
<span class="ci-status ci-running"> <span class="ci-status ci-running">
<vue-running-icon></vue-running-icon> <vue-running-icon></vue-running-icon>
&nbsp;running &nbsp;running
......
...@@ -9,27 +9,23 @@ ...@@ -9,27 +9,23 @@
'vue-failed-scope': gl.VueFailedScope, 'vue-failed-scope': gl.VueFailedScope,
}, },
props: [ props: [
'scope', 'pipeline',
'scopeurl',
], ],
template: ` template: `
<td class="commit-link"> <td class="commit-link">
<vue-running-scope <vue-running-scope
v-if="scope.status === 'running'" v-if="pipeline.details.status === 'running'"
:scope='scope' :pipeline='pipeline'
:scopeurl='scopeurl'
> >
</vue-running-scope> </vue-running-scope>
<vue-pending-scope <vue-pending-scope
v-if="scope.status === 'pending'" v-if="pipeline.details.status === 'pending'"
:scope='scope' :pipeline='pipeline'
:scopeurl='scopeurl'
> >
</vue-pending-scope> </vue-pending-scope>
<vue-failed-scope <vue-failed-scope
v-if="scope.status === 'failed'" v-if="pipeline.details.status === 'failed'"
:scope='scope' :pipeline='pipeline'
:scopeurl='scopeurl'
> >
</vue-failed-scope> </vue-failed-scope>
</td> </td>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment