event processing for details panel and initial stats bar integration

This commit is contained in:
Jake McDermott
2018-03-19 12:01:17 -04:00
parent f65d170cab
commit b577f50930
12 changed files with 447 additions and 82 deletions

View File

@@ -23,26 +23,54 @@ function postRelaunch (params) {
return $http(req);
}
function getStats () {
if (!this.has('GET', 'id')) {
return Promise.reject(new Error('No property, id, exists'));
}
if (!this.has('GET', 'related.job_events')) {
return Promise.reject(new Error('No related property, job_events, exists'));
}
const req = {
method: 'GET',
url: `${this.path}${this.get('id')}/job_events/`,
params: { event: 'playbook_on_stats' },
};
return $http(req)
.then(({ data }) => {
if (data.results.length > 0) {
return data.results[0];
}
return null;
});
}
function JobModel (method, resource, config) {
BaseModel.call(this, 'jobs');
this.Constructor = JobModel;
this.postRelaunch = postRelaunch.bind(this);
this.getRelaunch = getRelaunch.bind(this);
this.getStats = getStats.bind(this);
return this.create(method, resource, config);
}
function JobModelLoader (_BaseModel_, _$http_) {
BaseModel = _BaseModel_;
function JobModelLoader (_$http_, _BaseModel_) {
$http = _$http_;
BaseModel = _BaseModel_;
return JobModel;
}
JobModelLoader.$inject = [
'$http',
'BaseModel',
'$http'
];
export default JobModelLoader;

View File

@@ -1,19 +1,54 @@
let $http;
let BaseModel;
function getStats () {
if (!this.has('GET', 'id')) {
return Promise.reject(new Error('No property, id, exists'));
}
if (!this.has('GET', 'related.events')) {
return Promise.reject(new Error('No related property, events, exists'));
}
const req = {
method: 'GET',
url: `${this.path}${this.get('id')}/events/`,
params: { event: 'playbook_on_stats' },
};
return $http(req)
.then(({ data }) => {
console.log(data);
if (data.results.length > 0) {
return data.results[0];
}
return null;
})
}
function ProjectUpdateModel (method, resource, config) {
BaseModel.call(this, 'project_updates');
this.getStats = getStats;
this.Constructor = ProjectUpdateModel;
return this.create(method, resource, config);
}
function ProjectUpdateModelLoader (_BaseModel_) {
function ProjectUpdateModelLoader (_$http_, _BaseModel_) {
$http = _$http_;
BaseModel = _BaseModel_;
return ProjectUpdateModel;
}
ProjectUpdateModelLoader.$inject = ['BaseModel'];
ProjectUpdateModelLoader.$inject = [
'$http',
'BaseModel'
];
export default ProjectUpdateModelLoader;