Skip to content

Commit 6578e7f

Browse files
committed
feat: added ability to add new views and visualizations
1 parent 783733b commit 6578e7f

3 files changed

Lines changed: 13 additions & 2 deletions

File tree

src/store/modules/settings.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,17 @@ const mutations = {
9090
}
9191
console.log('Loaded views:', state.views);
9292
},
93+
addView(state, { view_id }) {
94+
state.views.push({ id: view_id, name: view_id, elements: [] });
95+
},
9396
editView(state, { view_id, el_id, type }) {
9497
console.log(view_id, el_id, type);
9598
console.log(state.views);
9699
state.views.find(v => v.id == view_id).elements[el_id].type = type;
97100
},
101+
addVisualization(state, { view_id, type }) {
102+
state.views.find(v => v.id == view_id).elements.push({ type: type });
103+
},
98104
loadClasses(state, classes) {
99105
let i = 0;
100106
state.classes = classes.map(c => Object.assign(c, { id: i++ }));

src/views/activity/Activity.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,10 @@ export default {
209209
210210
methods: {
211211
addView: function () {
212-
alert('Not implemented yet');
212+
// TODO: Open modal to ask for options like id, and name
213+
this.$store.commit('settings/addView', {
214+
view_id: this.$store.state.settings.views.length + 1,
215+
});
213216
},
214217
previousPeriod: function () {
215218
return moment(this._date).subtract(1, `${this.periodLength}s`).format('YYYY-MM-DD');

src/views/activity/ActivityView.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ export default {
3030
},
3131
methods: {
3232
addVisualization: function () {
33-
alert('not implemented');
33+
const view_id =
34+
this.view_id == 'default' ? this.$store.state.settings.views[0].id : this.view_id;
35+
this.$store.commit('settings/addVisualization', { view_id, type: 'top_apps' });
3436
},
3537
async onTypeChange(id, type) {
3638
const view_id =

0 commit comments

Comments
 (0)