UNPKG

isoxml-angular

Version:

JavaScript library to parse and generate ISOXML (ISO11783-10) files

114 lines (113 loc) 3.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Task = void 0; const classRegistry_1 = require("../classRegistry"); const utils_1 = require("../utils"); const ATTRIBUTES = { A: { name: "TaskId", type: "xs:ID", isPrimaryId: true, isOptional: false, isOnlyV4: false, }, B: { name: "TaskDesignator", type: "xs:string", isPrimaryId: false, isOptional: true, isOnlyV4: false, }, C: { name: "CustomerIdRef", type: "xs:IDREF", isPrimaryId: false, isOptional: true, isOnlyV4: false, }, D: { name: "FarmIdRef", type: "xs:IDREF", isPrimaryId: false, isOptional: true, isOnlyV4: false, }, E: { name: "PartfieldIdRef", type: "xs:IDREF", isPrimaryId: false, isOptional: true, isOnlyV4: false, }, F: { name: "ResponsibleWorkerIdRef", type: "xs:IDREF", isPrimaryId: false, isOptional: true, isOnlyV4: false, }, G: { name: "TaskStatus", type: "xs:NMTOKEN", isPrimaryId: false, isOptional: false, isOnlyV4: false, }, H: { name: "DefaultTreatmentZoneCode", type: "xs:unsignedByte", isPrimaryId: false, isOptional: true, isOnlyV4: false, minValue: 0, maxValue: 254, }, I: { name: "PositionLostTreatmentZoneCode", type: "xs:unsignedByte", isPrimaryId: false, isOptional: true, isOnlyV4: false, minValue: 0, maxValue: 254, }, J: { name: "OutOfFieldTreatmentZoneCode", type: "xs:unsignedByte", isPrimaryId: false, isOptional: true, isOnlyV4: false, minValue: 0, maxValue: 254, }, }; const CHILD_TAGS = { TZN: { name: "TreatmentZone", isOnlyV4: false }, TIM: { name: "Time", isOnlyV4: false }, OTP: { name: "OperTechPractice", isOnlyV4: false }, WAN: { name: "WorkerAllocation", isOnlyV4: false }, DAN: { name: "DeviceAllocation", isOnlyV4: false }, CNN: { name: "Connection", isOnlyV4: false }, PAN: { name: "ProductAllocation", isOnlyV4: false }, DLT: { name: "DataLogTrigger", isOnlyV4: false }, CAN: { name: "CommentAllocation", isOnlyV4: false }, TLG: { name: "TimeLog", isOnlyV4: false }, GRD: { name: "Grid", isOnlyV4: false }, CAT: { name: "ControlAssignment", isOnlyV4: true }, GAN: { name: "GuidanceAllocation", isOnlyV4: true }, }; class Task { constructor(attributes, isoxmlManager) { this.attributes = attributes; this.isoxmlManager = isoxmlManager; this.tag = "TSK" /* TAGS.Task */; } static fromXML(xml, isoxmlManager, internalId, targetClass = Task) { return (0, utils_1.fromXML)(xml, isoxmlManager, targetClass, ATTRIBUTES, CHILD_TAGS, internalId); } toXML() { return (0, utils_1.toXML)(this, ATTRIBUTES, CHILD_TAGS); } } exports.Task = Task; (0, classRegistry_1.registerEntityClass)("main", "TSK" /* TAGS.Task */, Task);