@totvs-agro/mobile-components
Version:
Componentes Mobile Totvs (Front-End) para utilização dos estilos do T-Faces e Ionic v3
52 lines • 2.22 kB
JavaScript
import { Field } from "./field";
var Farm = /** @class */ (function () {
function Farm(obj) {
this._id = obj._id;
this.description = obj.description;
this.administrativeUnitId = obj.administrativeUnitId;
this.sectors = obj.sectors;
}
;
Farm.prototype.getFields = function () {
var fields = this.sectors
.map(function (sector) { return sector.fields; })
.reduce(function (f1, f2) { return f1.concat(f2); }, []);
return fields;
};
Farm.prototype.removeField = function (field) {
this.sectors.forEach(function (s) { return s.fields.splice(s.fields.findIndex(function (f) { return new Field(f).getFieldKey() == field.getFieldKey(); }), 1); });
};
Farm.prototype.getProductionPeriodIds = function () {
var periodIds = this.sectors
.map(function (sector) { return sector.fields; })
.reduce(function (f1, f2) { return f1.concat(f2); }, [])
.map(function (field) { return field.productionPeriodId; })
.reduce(function (p1, p2) { return p1.concat(p2); }, [])
.filter(function (elem, index, arr) { return arr.indexOf(elem) === index; });
return periodIds;
};
Farm.prototype.containsProductionPeriodId = function (idPeriod) {
var contains = false;
this.sectors
.map(function (sector) {
return sector.fields
.map(function (field) {
if (field.productionPeriodId == idPeriod)
contains = true;
});
});
return contains;
};
Farm.prototype.getVarietyIds = function () {
var varietyIds = this.sectors
.map(function (sector) { return sector.fields; })
.reduce(function (f1, f2) { return f1.concat(f2); }, [])
.map(function (field) { return field.varietyId; })
.reduce(function (v1, v2) { return v1.concat(v2); }, [])
.filter(function (elem, index, arr) { return arr.indexOf(elem) === index; });
return varietyIds;
};
return Farm;
}());
export { Farm };
//# sourceMappingURL=farm.js.map