Newer
Older
import Ember from 'ember';
/**
* parses a list of models and creates stores them
*/
export default Ember.Service.extend({
store: Ember.inject.service(),
createGraph(models) {
this.debug('loaded models', models);
// prepare models by serializing them
const prepared = {};
].forEach((key) => {
const records = models[key];
prepared[key] = records.map(record => record.serialize());
});
// services not used in current view
const {services, /* serviceInstances,*/ communications} = prepared;
var network = {
nodes: [],
edges: []
};
network.nodes.push({
data: data
});
});
// serviceInstances.forEach(data => {
// data.label = data.name;
// data.parent = data.serviceId;
//
// network.nodes.push({
// data: data,
// classes: data.status || ''
// });
// });
data.source = data.sourceId;
data.target = data.targetId;
data.label = data.technology;
const instanceList = this.get('store').peekAll('communicationinstance')
.filter((instance) => instance.get('communicationId') === data.id );
data.workload = instanceList.reduce((previous, instance) => previous + instance.get('workload'), 0);
//TODO Normalize
network.edges.push({
data,
classes: data.status || ''
});