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

30 lines
739 B
TypeScript
Raw Normal View History

import _ from 'lodash';
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;
}
sendFormat(omit = []) {
return _.omit(_.pick(this, ['sample_id', 'measurement_template', 'values']), omit);
}
}