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
d5a223bd
Commit
d5a223bd
authored
Feb 05, 2017
by
Filipa Lacerda
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use webpack
parent
2621ce5c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
74 deletions
+55
-74
pipelines_bundle.js.es6
...sets/javascripts/commit/pipelines/pipelines_bundle.js.es6
+4
-3
pipelines_service.js.es6
...ets/javascripts/commit/pipelines/pipelines_service.js.es6
+3
-13
pipelines_store.js.es6
...ssets/javascripts/commit/pipelines/pipelines_store.js.es6
+40
-47
pipelines_table.js.es6
...ssets/javascripts/commit/pipelines/pipelines_table.js.es6
+8
-11
No files found.
app/assets/javascripts/commit/pipelines/pipelines_bundle.js.es6
View file @
d5a223bd
/* eslint-disable no-new, no-param-reassign */
/* eslint-disable no-new, no-param-reassign */
/* global Vue, CommitsPipelineStore, PipelinesService, Flash */
/* global Vue, CommitsPipelineStore, PipelinesService, Flash */
//= require vue
window.Vue = require('vue');
//= require_tree .
require('./pipelines_store');
require('./pipelines_service');
require('./pipelines_table');
/**
/**
* Commits View > Pipelines Tab > Pipelines Table.
* Commits View > Pipelines Tab > Pipelines Table.
* Merge Request View > Pipelines Tab > Pipelines Table.
* Merge Request View > Pipelines Tab > Pipelines Table.
...
...
app/assets/javascripts/commit/pipelines/pipelines_service.js.es6
View file @
d5a223bd
...
@@ -8,18 +8,8 @@
...
@@ -8,18 +8,8 @@
* Uses Vue.Resource
* Uses Vue.Resource
*/
*/
class PipelinesService {
class PipelinesService {
constructor(root) {
constructor(endpoint) {
Vue.http.options.root = root;
this.pipelines = Vue.resource(endpoint);
this.pipelines = Vue.resource(root);
Vue.http.interceptors.push((request, next) => {
// needed in order to not break the tests.
if ($.rails) {
request.headers['X-CSRF-Token'] = $.rails.csrfToken();
}
next();
});
}
}
/**
/**
...
@@ -28,7 +18,7 @@ class PipelinesService {
...
@@ -28,7 +18,7 @@ class PipelinesService {
*
*
* @return {Promise}
* @return {Promise}
*/
*/
all
() {
get
() {
return this.pipelines.get();
return this.pipelines.get();
}
}
}
}
...
...
app/assets/javascripts/commit/pipelines/pipelines_store.js.es6
View file @
d5a223bd
...
@@ -5,50 +5,43 @@
...
@@ -5,50 +5,43 @@
* Used to store the Pipelines rendered in the commit view in the pipelines table.
* Used to store the Pipelines rendered in the commit view in the pipelines table.
*/
*/
(() => {
class PipelinesStore {
window.gl = window.gl || {};
constructor() {
gl.commits = gl.commits || {};
this.state = {};
gl.commits.pipelines = gl.commits.pipelines || {};
this.state.pipelines = [];
}
gl.commits.pipelines.PipelinesStore = {
state: {},
storePipelines(pipelines = []) {
this.state.pipelines = pipelines;
create() {
this.state.pipelines = [];
return pipelines;
}
return this;
},
/**
* Once the data is received we will start the time ago loops.
store(pipelines = []) {
*
this.state.pipelines = pipelines;
* Everytime a request is made like retry or cancel a pipeline, every 10 seconds we
* update the time to show how long as passed.
return pipelines;
*
},
*/
startTimeAgoLoops() {
/**
const startTimeLoops = () => {
* Once the data is received we will start the time ago loops.
this.timeLoopInterval = setInterval(() => {
*
this.$children[0].$children.reduce((acc, component) => {
* Everytime a request is made like retry or cancel a pipeline, every 10 seconds we
const timeAgoComponent = component.$children.filter(el => el.$options._componentTag === 'time-ago')[0];
* update the time to show how long as passed.
acc.push(timeAgoComponent);
*
return acc;
*/
}, []).forEach(e => e.changeTime());
startTimeAgoLoops() {
}, 10000);
const startTimeLoops = () => {
};
this.timeLoopInterval = setInterval(() => {
this.$children[0].$children.reduce((acc, component) => {
startTimeLoops();
const timeAgoComponent = component.$children.filter(el => el.$options._componentTag === 'time-ago')[0];
acc.push(timeAgoComponent);
const removeIntervals = () => clearInterval(this.timeLoopInterval);
return acc;
const startIntervals = () => startTimeLoops();
}, []).forEach(e => e.changeTime());
}, 10000);
gl.VueRealtimeListener(removeIntervals, startIntervals);
};
}
}
startTimeLoops();
return PipelinesStore;
const removeIntervals = () => clearInterval(this.timeLoopInterval);
const startIntervals = () => startTimeLoops();
gl.VueRealtimeListener(removeIntervals, startIntervals);
},
};
})();
app/assets/javascripts/commit/pipelines/pipelines_table.js.es6
View file @
d5a223bd
/* eslint-disable no-new, no-param-reassign */
/* eslint-disable no-new, no-param-reassign */
/* global Vue, CommitsPipelineStore, PipelinesService, Flash */
/* global Vue, CommitsPipelineStore, PipelinesService, Flash */
//= require vue
window.Vue = require('vue');
//= require vue-resource
window.Vue.use(require('vue-resource'));
//= require vue_shared/vue_resource_interceptor
require('../../vue_shared/vue_resource_interceptor');
//= require vue_shared/components/pipelines_table
require('../../vue_shared/components/pipelines_table');
//= require vue_realtime_listener/index
require('../vue_realtime_listener/index');
/**
/**
*
*
...
@@ -38,13 +38,10 @@
...
@@ -38,13 +38,10 @@
data() {
data() {
const pipelinesTableData = document.querySelector('#commit-pipeline-table-view').dataset;
const pipelinesTableData = document.querySelector('#commit-pipeline-table-view').dataset;
const svgsData = document.querySelector('.pipeline-svgs').dataset;
const svgsData = document.querySelector('.pipeline-svgs').dataset;
const store =
gl.commits.pipelines.PipelinesStore.creat
e();
const store =
new gl.commits.pipelines.PipelinesStor
e();
// Transform svgs DOMStringMap to a plain Object.
// Transform svgs DOMStringMap to a plain Object.
const svgsObject = Object.keys(svgsData).reduce((acc, element) => {
const svgsObject = gl.utils.DOMStringMapToObject(svgsData);
acc[element] = svgsData[element];
return acc;
}, {});
return {
return {
endpoint: pipelinesTableData.endpoint,
endpoint: pipelinesTableData.endpoint,
...
@@ -71,7 +68,7 @@
...
@@ -71,7 +68,7 @@
return gl.pipelines.pipelinesService.all()
return gl.pipelines.pipelinesService.all()
.then(response => response.json())
.then(response => response.json())
.then((json) => {
.then((json) => {
this.store.store(json);
this.store.store
Pipelines
(json);
this.store.startTimeAgoLoops.call(this, Vue);
this.store.startTimeAgoLoops.call(this, Vue);
this.isLoading = false;
this.isLoading = false;
})
})
...
...
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