1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/web/ synced 2025-03-23 00:00:02 +01:00
VILLASweb/app/controllers/visualization/edit.js
Markus Grigull 77ebf05526 Change plots to free arrangement
Plots can be positioned freely. The plot area does not scrolls yet while
editing, but scales to fit all plots which are inside.
2016-07-19 16:13:56 +02:00

57 lines
1.6 KiB
JavaScript

import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
addPlot(name) {
var plot = null;
if (name === 'chart') {
// create new chart plot
plot = this.store.createRecord('plot', { name: 'Chart 1', signal: 'Signal 1', type: 'plot-chart' });
} else if (name === 'table') {
plot = this.store.createRecord('plot', { name: 'Table 1', signal: 'Signal 1', type: 'plot-table', width: 500, height: 200, title: 'Table 1' });
} else if (name === 'value') {
plot = this.store.createRecord('plot', { name: 'Value 1', signal: 'Signal 1', type: 'plot-value' });
} else {
// DEBUG
console.log('Add plot: ' + name);
return;
}
if (plot != null) {
// add plot to visualization
this.get('model.plots').pushObject(plot);
// save new plot
var visualization = this.get('model');
plot.save().then(function() {
// save the plot in the visualization
visualization.get('plots').pushObject(plot);
visualization.save();
});
} else {
console.error('Unknown plot type: ' + name);
}
},
saveEdit() {
// save changes to store
var plots = this.get('model.plots');
plots.forEach(function(plot) {
plot.save();
});
// go back to index
var id = this.get('model.id');
this.transitionToRoute('/visualization/' + id);
},
cancelEdit() {
// TODO: revert changes
let id = this.get('model.id');
this.transitionToRoute('/visualization/' + id);
}
}
});