Issue 002: Delete functionality for measures.

This commit is contained in:
2020-03-14 16:21:39 -05:00
parent 3dd7169b8b
commit baf37698b3
9 changed files with 95 additions and 4 deletions

View File

@ -8,6 +8,7 @@ import {
} from 'vuex-module-decorators';
import assign from 'lodash.assign';
import keyBy from 'lodash.keyby';
import omit from 'lodash.omit';
import { User, Measure, MeasureConfig } from '@/models';
import api from '@/services/pm-api-client';
@ -35,7 +36,17 @@ export class MeasureStoreModule extends VuexModule {
return newMeasure;
}
@Action({ rawError: true })
public async deleteMeasure(m: Measure<MeasureConfig>) {
const delResponse = await api.deleteMeasure(m.slug);
this.context.commit('DELETE_MEASURE', m);
}
@Mutation private SET_MEASURE<T extends MeasureConfig>(measure: Measure<T>) {
this.measures = assign({}, this.measures, {[measure.slug]: measure});
}
@Mutation private DELETE_MEASURE<T extends MeasureConfig>(measure: Measure<T>) {
this.measures = assign({}, omit(this.measures, measure.slug));
}
}