definma-ui/src/app/models/measurement.model.ts

31 lines
787 B
TypeScript
Raw Normal View History

2020-07-30 14:23:51 +02:00
import omit from 'lodash/omit';
import pick from 'lodash/pick';
import {IdModel} from './id.model';
import {BaseModel} from './base.model';
export class MeasurementModel extends BaseModel {
_id: IdModel = null;
sample_id: IdModel = null;
measurement_template: IdModel;
values: {[prop: string]: any} = {};
constructor(measurementTemplate: IdModel = null) {
super();
this.measurement_template = measurementTemplate;
}
deserialize(input: any): this {
Object.assign(this, input);
Object.keys(this.values).forEach(key => {
if (this.values[key] === null) {
this.values[key] = '';
}
});
return this;
}
2020-07-30 14:23:51 +02:00
sendFormat(omitValues = []) {
return omit(pick(this, ['sample_id', 'measurement_template', 'values']), omitValues);
}
}