web: WIP edit measure configuration.

This commit is contained in:
2020-03-14 22:47:30 -05:00
parent c685f55d15
commit f4f695ce80
8 changed files with 139 additions and 17 deletions

View File

@ -30,18 +30,24 @@ export class MeasureStoreModule extends VuexModule {
}
@Action({ rawError: true })
public async createMeasure(m: Measure<MeasureConfig>) {
public async createMeasure<T extends MeasureConfig>(m: Measure<T>) {
const newMeasure = await api.createMeasure(m);
this.context.commit('SET_MEASURE', newMeasure);
return newMeasure;
}
@Action({ rawError: true })
public async deleteMeasure(m: Measure<MeasureConfig>) {
public async deleteMeasure<T extends MeasureConfig>(m: Measure<T>) {
const delResponse = await api.deleteMeasure(m.slug);
this.context.commit('DELETE_MEASURE', m);
}
@Action({ rawError: true })
public async updateMeasure<T extends MeasureConfig>(m: Measure<T>) {
const updatedMeasure = await api.updateMeasure(m);
return updatedMeasure;
}
@Mutation private SET_MEASURE<T extends MeasureConfig>(measure: Measure<T>) {
this.measures = assign({}, this.measures, {[measure.slug]: measure});
}