{"version":3,"sources":["../../src/providers/machines/machines.ts","../../src/app/app.component.ts","../../src/pages/tractor/configuration/configuration.ts","../../src/providers/http/http.ts","../../src/providers/json/json.ts","../../src/pages/tractor/results/results.ts","../../src/pages/plus/signup/signup.ts","../../src/pages/plus/transition/transition.ts","../../src/pages/plus/my-fleet-search/my-fleet-search.ts","../../src/pages/plus/configuration/type-selection/type-selection.ts","../../src/pages/plus/configuration/configuration-results/configuration-results.ts","../../src/pages/plus/configuration/configuration-selection/configuration-selection.ts","../../src/pages/tractor/tyre/tyre.ts","../../node_modules/@angular/core/esm5 lazy","../../src/providers/units/units.ts","../../src/model/unit.ts","../../src lazy","../../src/pages/contact/contact.ts","../../src/pages/language/language.ts","../../src/model/machine.ts","../../src/model/champ.ts","../../src/pages/trelleborg-apps/trelleborg-apps.ts","../../src/providers/pairing/pairing.ts","../../src/providers/calculations/calculations.ts","../../src/pages/plus/forgot-password/forgot-password.ts","../../src/pages/plus/pairing/pairing.ts","../../src/pages/plus/pressure-target/pressure-target.ts","../../src/pages/plus/search-plus/search-plus.ts","../../src/pages/tractor/tractor.ts","../../src/libs/google-tag-manager/angular-google-tag-manager.service.ts","../../src/libs/google-tag-manager/angular-google-tag-manager-config.service.ts","../../src/pages/tractor/tyre-popover/tyre-popover-info1.ts","../../src/pages/tractor/tyre-popover/tyre-popover-info2.ts","../../src/pages/tractor/tyre-popover/tyre-popover-info3.ts","../../src/pages/tractor/tyre-popover/tyre-popover-info4.ts","../../src/pages/tractor/search/search.ts","../../src/pages/tractor/save-share/save-share.ts","../../src/pages/plus/profile/profile.ts","../../src/pages/plus/pairing-alert/pairing-alert.ts","../../src/model/separator.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/providers/configurations/configurations.ts","../../src/components/components.module.ts","../../src/model/unit-manager.ts","../../src/model/list-item.ts","../../node_modules/moment/locale ^/.*$","../../src/components/header/header.ts","../../src/pages/landing/landing.ts","../../src/components/header-plus/header-plus.ts","../../src/components/footer/footer.ts","../../src/components/footer-plus/footer-plus.ts","../../src/components/drag-position/drag-position.ts","../../src/model/drag-position.ts","../../src/components/plus-field/plus-field.ts","../../src/pipes/pipes.module.ts","../../src/pipes/array-filter/array-filter.ts","../../src/pipes/filter-myfleet/filter-myfleet.ts","../../src/pipes/filter-sidebar/filter-sidebar.ts","../../src/pages/home/home.ts","../../src/pages/camera/camera.ts","../../src/pages/plus/list/tractor-configuration-tool.ts","../../src/pages/plus/results/tractor-tool-result.ts","../../src/pages/plus/configuration/equipment-selection/equipment-selection.ts","../../src/providers/auth/interceptor.ts","../../src/pages/plus/login/login.ts","../../src/libs/google-tag-manager/angular-google-tag-manager.module.ts","../../src/pages/plus/machine-list/machine-list.ts","../../src/pages/plus/home-plus/home-plus.ts","../../src/pages/plus/configuration/brand-selection/brand-selection.ts","../../src/pages/plus/configuration/configuration-tire/configuration-tire.ts","../../src/pages/tractor/saved-config/saved-config.ts","../../src/model/tractor.ts","../../src/pages/tractor/list/list.ts","../../src/pages/plus/my-fleet/my-fleet.ts","../../src/providers/tpms/tpms.ts","../../src/pages/plus/pressure/pressure.ts","../../src/pages/plus/configuration/configuration-plus/configuration-plus.ts","../../src/pages/plus/configuration/configuration-tool/configuration-tool.ts","../../src/providers/auth/auth.service.ts"],"names":[],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9QuE;AACJ;AACnB;AACuC;AAC7B;AACQ;AACjB;AACQ;AACY;AACX;AACoB;AAE9E;;;;;GAKG;AAKH;IAOE,yBAAmB,QAAkB,EAAS,OAAsB,EAAS,SAAoB,EAAS,sBAA8C,EAAS,gBAAkC,EAAU,eAAgC,EAAU,qBAA4C;QAAhR,aAAQ,GAAR,QAAQ,CAAU;QAAS,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,2BAAsB,GAAtB,sBAAsB,CAAwB;QAAS,qBAAgB,GAAhB,gBAAgB,CAAk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","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Machine } from \"../../model/machine\";\r\nimport { Champ } from \"../../model/champ\";\r\nimport { Unit } from \"../../model/unit\";\r\nimport { ListItem } from \"../../model/list-item\";\r\nimport { ChampJson } from \"../../model/champ-json\";\r\nimport { MachineJson } from \"../../model/machine-json\";\r\nimport { Equipment } from \"../../model/equipment\";\r\nimport { JsonProvider } from \"../json/json\";\r\nimport { UnitsProvider } from \"../units/units\";\r\nimport { Tractor } from '../../model/tractor';\r\n\r\n/*\r\n Generated class for the MachinesProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n@Injectable()\r\nexport class MachinesProvider {\r\n\r\n\tpublic static readonly BASE_IMAGE_PATH: string = \"assets/imgs/machines/\";\r\n\tpublic static readonly GOLD_IMAGE_PATH: string = MachinesProvider.BASE_IMAGE_PATH + \"gold/svg/\";\r\n\tpublic static readonly BLUE_IMAGE_PATH: string = MachinesProvider.BASE_IMAGE_PATH + \"blue/svg/\";\r\n\tpublic static readonly WHITE_IMAGE_PATH: string = MachinesProvider.BASE_IMAGE_PATH + \"white/svg/\";\r\n\r\n\tpublic tractor: Machine;\r\n\tpublic front: Machine;\r\n\tpublic rear: Machine;\r\n\tpublic frontList: ListItem;\r\n\tpublic rearList: ListItem;\r\n\tpublic currentFrontList: ListItem;\r\n\tpublic currentRearList: ListItem;\r\n\tpublic tyreFrontWheel = [];\r\n\tpublic tyreRearWheel = [];\r\n\r\n\tpublic myFleet: Tractor[];\r\n\tpublic fleetType: string;\r\n\r\n\tprivate equipments: Equipment[];\r\n\tprivate champs: any;\r\n\tprivate machines: any;\r\n\tprivate tyres: any;\r\n\tprivate defaultsValMachines: any;\r\n\tprivate pressure_and_speed: any;\r\n\tprivate frontTyreSelected: any;\r\n\tprivate rearTyreSelected: any;\r\n\r\n\tconstructor(public http: HttpClient, public translate: TranslateService, private unitsProvider: UnitsProvider, json: JsonProvider) {\r\n\t\tjson.getResource(\"equipments\").subscribe(equipments => {\r\n\t\t\tthis.equipments = equipments;\r\n\t\t\ttranslate.get(\"Champs\").subscribe(champs => {\r\n\t\t\t\tthis.champs = champs;\r\n\t\t\t});\r\n\t\t\tjson.getResource(\"machines\").subscribe(machines => {\r\n\t\t\t\tthis.machines = machines;\r\n\t\t\t});\r\n\t\t\tjson.getResource(\"tyres-db\").subscribe(tyres => {\r\n\t\t\t\tthis.tyres = tyres;\r\n\t\t\t});\r\n\t\t\tjson.getResource(\"default\").subscribe(machineID => {\r\n\t\t\t\tthis.defaultsValMachines = machineID;\r\n\t\t\t});\r\n\t\t\tjson.getResource(\"pressure-and-speed\").subscribe(pressures => {\r\n\t\t\t\tthis.pressure_and_speed = pressures;\r\n\t\t\t});\r\n\t\t});\r\n\t\tthis.myFleet = [];\r\n\t\tthis.fleetType = \"empty\";\r\n\t}\r\n\r\n\tpublic get $tyres(): any[] {\r\n\t\treturn this.tyres;\r\n\t}\r\n\r\n\tpublic get $myFleet(): Tractor[] {\r\n\t\treturn this.myFleet;\r\n\t}\r\n\r\n\tpublic get $plantingFleet(): Tractor[] {\r\n\t\treturn this.myFleet.filter(tractor => tractor.status == 'Configured'\r\n\t\t\t&& (tractor.machineTypeConfiguration == 'planting' || tractor.machineTypeConfiguration == 'Pre Planting'));\r\n\t}\r\n\r\n\tpublic get $harvestFleet(): Tractor[] {\r\n\t\treturn this.myFleet.filter(tractor => tractor.status == 'Configured'\r\n\t\t\t&& (tractor.machineTypeConfiguration == 'harvest' || tractor.machineTypeConfiguration == 'Pre Harvest'));\r\n\t}\r\n\r\n\tpublic get $standardFleet(): Tractor[] {\r\n\t\treturn this.myFleet.filter(tractor => tractor.status == 'Configured'\r\n\t\t\t&& tractor.machineTypeConfiguration == 'standard');\r\n\t}\r\n\r\n\tgetFrontList(): ListItem {\r\n\t\tif (!this.frontList) {\r\n\t\t\tthis.frontList = this.loadMachineList(this.equipments[0]);\r\n\t\t}\r\n\t\tthis.currentFrontList = JSON.parse(JSON.stringify(this.frontList));\r\n\t\treturn this.currentFrontList;\r\n\t}\r\n\r\n\tgetRearList(): ListItem {\r\n\t\tif (!this.rearList) {\r\n\t\t\tthis.rearList = this.loadMachineList(this.equipments[1]);\r\n\t\t}\r\n\t\tthis.currentRearList = JSON.parse(JSON.stringify(this.rearList));\r\n\t\treturn this.currentRearList;\r\n\t}\r\n\r\n\tgetTractor(): Machine {\r\n\t\tif (this.tractor) {\r\n\t\t\treturn this.tractor;\r\n\t\t}\r\n\r\n\t\tlet champs: Champ[] = [];\r\n\t\tlet currentChamp = this.champs[\"4\"];\r\n\t\tchamps.push(new Champ(currentChamp.ChampId, currentChamp.Label, this.getUnit(currentChamp.Unit), currentChamp.Description));\r\n\r\n\t\tcurrentChamp = this.champs[\"5\"];\r\n\t\tchamps.push(new Champ(currentChamp.ChampId, currentChamp.Label, this.getUnit(currentChamp.Unit), currentChamp.Description));\r\n\r\n\t\tcurrentChamp = this.champs[\"10\"];\r\n\t\tchamps.push(new Champ(currentChamp.ChampId, currentChamp.Label, this.getUnit(currentChamp.Unit), currentChamp.Description));\r\n\r\n\t\tcurrentChamp = this.champs[\"7\"];\r\n\t\tchamps.push(new Champ(currentChamp.ChampId, currentChamp.Label, this.getUnit(currentChamp.Unit), currentChamp.Description));\r\n\r\n\t\tcurrentChamp = this.champs[\"9\"];\r\n\t\tchamps.push(new Champ(currentChamp.ChampId, currentChamp.Label, this.getUnit(currentChamp.Unit), currentChamp.Description));\r\n\r\n\t\tcurrentChamp = this.champs[\"8\"];\r\n\t\tchamps.push(new Champ(currentChamp.ChampId, currentChamp.Label, this.getUnit(currentChamp.Unit), currentChamp.Description));\r\n\r\n\t\tlet imageName: string = \"tractor.svg\";\r\n\t\treturn new Machine(null, \"171\", \"Tractor\", \"Recommandations\", MachinesProvider.GOLD_IMAGE_PATH + imageName, MachinesProvider.BLUE_IMAGE_PATH + imageName, MachinesProvider.WHITE_IMAGE_PATH + imageName, champs);\r\n\t}\r\n\r\n\tgetMachine(id: string): Machine {\r\n\t\tif (this.machines && this.machines[id] && this.champs) {\r\n\t\t\tlet machine: MachineJson = this.machines[id];\r\n\t\t\tlet champs: Champ[] = [];\r\n\t\t\tfor (let champId of machine.Champs) {\r\n\t\t\t\tlet champ: ChampJson = this.champs[champId];\r\n\t\t\t\tchamps.push(new Champ(champId, champ.Label, this.getUnit(champ.Unit), champ.Description));\r\n\t\t\t}\r\n\t\t\tlet imageName: string = machine.Image.replace(\".png\", \".svg\");\r\n\t\t\treturn new Machine(machine.MachineID, machine.Label, machine.Type, machine.Reco, MachinesProvider.GOLD_IMAGE_PATH + imageName, MachinesProvider.BLUE_IMAGE_PATH + imageName, MachinesProvider.WHITE_IMAGE_PATH + imageName, champs);\r\n\t\t}\r\n\t\treturn this.getTractor();\r\n\t}\r\n\r\n\tgetSpeed(type: string, section: string, prerear: string, tool: string) {\r\n\t\t// type = \"standard\",\"TM1000\",\"TM150\",\"TM1060\"\r\n\t\t// section = \"front\", \"rear\"\r\n\t\t// prerear = \"Fully Mounted Tool....\"\r\n\t\t// tool = \"disk tool\"\r\n\t\t// respnse:\r\n\t\t//{\r\n\t\t//\t\"speed\": \"10HT\",\r\n\t\t//\t\"note\":\"note_ht_lt\"\r\n\t\t//}\r\n\t\tswitch (type) {\r\n\t\t\tcase \"standard\":\r\n\t\t\t\tif (section == \"rear\")\r\n\t\t\t\t\treturn this.pressure_and_speed[type][\"tools\"][section][prerear][tool];\r\n\t\t\t\telse\r\n\t\t\t\t\treturn this.pressure_and_speed[type][\"tools\"][section][tool];\r\n\t\t\tdefault:\r\n\t\t\t\treturn this.pressure_and_speed[type];\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tsetFront(machine: Machine) {\r\n\t\tthis.front = machine;\r\n\t\tthis.frontList = this.currentFrontList;\r\n\t}\r\n\r\n\tsetRear(machine: Machine) {\r\n\t\tthis.rear = machine;\r\n\t\tthis.rearList = this.currentRearList;\r\n\t}\r\n\r\n\tsetTyreWheel(title, tyre, axleButton, type) {\r\n\t\tif (type === \"front\") {\r\n\t\t\tthis.tyreFrontWheel = [title, tyre, axleButton];\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.tyreRearWheel = [title, tyre, axleButton];\r\n\t\t}\r\n\t}\r\n\r\n\tgetTyreFrontWheel() {\r\n\t\tif (!this.tyreFrontWheel) {\r\n\t\t\tlet front = [\"-\", null, \"single\"];\r\n\t\t\treturn front;\r\n\t\t}\r\n\t\treturn this.tyreFrontWheel;\r\n\t}\r\n\r\n\tgetTyreRearWheel() {\r\n\t\tif (!this.tyreRearWheel) {\r\n\t\t\tlet rear = [\"-\", null, \"single\"];\r\n\t\t\treturn rear;\r\n\t\t}\r\n\t\treturn this.tyreRearWheel;\r\n\t}\r\n\r\n\tgetMaxValue(id: string) {\r\n\t\tlet defaultValue = this.defaultsValMachines[id];\r\n\t\treturn defaultValue ? +defaultValue.maxVal : Number.POSITIVE_INFINITY;\r\n\t}\r\n\r\n\tgetMinValue(id: string) {\r\n\t\tlet defaultValue = this.defaultsValMachines[id];\r\n\t\treturn defaultValue ? +defaultValue.minVal : Number.NEGATIVE_INFINITY;\r\n\t}\r\n\r\n\tgetDefaultValue(id: string) {\r\n\t\tlet defaultValue = this.defaultsValMachines[id];\r\n\t\tif (defaultValue) {\r\n\t\t\tif (defaultValue.defaultVal) {\r\n\t\t\t\treturn +defaultValue.defaultVal;\r\n\t\t\t} else if (defaultValue.minVal) {\r\n\t\t\t\treturn +defaultValue.minVal;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tcheckChamps(machine: Machine): boolean {\r\n\t\tfor (let champ of machine.champs) {\r\n\t\t\tif (!champ.value) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tconvertUnits() {\r\n\t\tthis.convertMachine(this.tractor);\r\n\t\tthis.convertMachine(this.front);\r\n\t\tthis.convertMachine(this.rear);\r\n\t}\r\n\r\n\tconvertMachine(machine: Machine) {\r\n\t\tif (machine) {\r\n\t\t\tfor (let champ of machine.champs) {\r\n\t\t\t\tthis.convertChamp(champ);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tclear() {\r\n\t\tthis.tractor = null;\r\n\t\tthis.front = null;\r\n\t\tthis.rear = null;\r\n\t\tthis.frontList = null;\r\n\t\tthis.rearList = null;\r\n\t\tthis.currentFrontList = null;\r\n\t\tthis.currentRearList = null;\r\n\t\tthis.tyreFrontWheel = null;\r\n\t\tthis.tyreRearWheel = null;\r\n\t}\r\n\r\n\tprivate convertChamp(champ: Champ) {\r\n\t\tlet decimalDigits = 1;\r\n\t\tlet decimalHelper = Math.pow(10, decimalDigits);\r\n\t\tif (champ.unit == \"45\" && this.unitsProvider.getWeight() == Unit.lb) {\r\n\t\t\tchamp.value = Math.round(champ.value * 2.2046 * decimalHelper) / decimalHelper;\r\n\t\t} else if (champ.unit == \"162\" && this.unitsProvider.getWeight() == Unit.kg) {\r\n\t\t\tchamp.value = Math.round(champ.value * 0.4535 * decimalHelper) / decimalHelper;\r\n\t\t} else if (champ.unit == \"145\" && this.unitsProvider.getSpeed() == Unit.mph) {\r\n\t\t\tchamp.value = Math.round(champ.value * 0.6213 * decimalHelper) / decimalHelper;\r\n\t\t} else if (champ.unit == \"145a\" && this.unitsProvider.getSpeed() == Unit.kmh) {\r\n\t\t\tchamp.value = Math.round(champ.value * 1.6093 * decimalHelper) / decimalHelper;\r\n\t\t} else if (champ.unit == \"46\" && this.unitsProvider.getDistance() == Unit.ft) {\r\n\t\t\tchamp.value = Math.round(champ.value * 3.2808 * decimalHelper) / decimalHelper;\r\n\t\t} else if (champ.unit == \"163\" && this.unitsProvider.getDistance() == Unit.m) {\r\n\t\t\tchamp.value = Math.round(champ.value * 0.3048 * decimalHelper) / decimalHelper;\r\n\t\t}\r\n\t\tchamp.unit = this.getUnit(champ.unit);\r\n\t}\r\n\r\n\tprivate loadMachineList(equipment: Equipment): ListItem {\r\n\t\tlet listItem: ListItem;\r\n\t\tif (equipment.list) {\r\n\t\t\tlet listItems: ListItem[] = [];\r\n\t\t\tlet index: number = 0;\r\n\t\t\tfor (let currentEquipment of equipment.list) {\r\n\t\t\t\tlistItems[index++] = this.loadMachineList(currentEquipment);\r\n\t\t\t}\r\n\t\t\tlistItem = new ListItem(equipment.label, listItems);\r\n\t\t} else {\r\n\t\t\tlet machine: Machine = this.getMachine(equipment.machineID);\r\n\t\t\tlistItem = new ListItem(machine.label, machine);\r\n\t\t}\r\n\t\treturn listItem;\r\n\t}\r\n\r\n\tprivate getUnit(unit: string): string {\r\n\t\tif (this.unitsProvider.getWeight() == Unit.lb && unit == \"45\") {\r\n\t\t\tunit = \"162\";\r\n\t\t}\r\n\t\telse if (this.unitsProvider.getWeight() == Unit.kg && unit == \"162\") {\r\n\t\t\tunit = \"45\";\r\n\t\t}\r\n\t\telse if (this.unitsProvider.getDistance() == Unit.ft && unit == \"46\") {\r\n\t\t\tunit = \"163\";\r\n\t\t}\r\n\t\telse if (this.unitsProvider.getDistance() == Unit.m && unit == \"163\") {\r\n\t\t\tunit = \"46\";\r\n\t\t}\r\n\t\telse if (this.unitsProvider.getSpeed() == Unit.mph && unit == \"145\") {\r\n\t\t\tunit = \"145a\";\r\n\t\t}\r\n\t\telse if (this.unitsProvider.getSpeed() == Unit.kmh && unit == \"145a\") {\r\n\t\t\tunit = \"145\";\r\n\t\t}\r\n\t\treturn unit;\r\n\t}\r\n\r\n\tsetRearTyreSelected(tyre: any) {\r\n\t\tthis.rearTyreSelected = tyre;\r\n\t}\r\n\r\n\tsetFrontTyreSelected(tyre: any) {\r\n\t\tthis.frontTyreSelected = tyre;\r\n\t}\r\n\r\n\tgetRearTyreSelected() {\r\n\t\treturn this.rearTyreSelected;\r\n\t}\r\n\r\n\tgetFrontTyreSelected() {\r\n\t\treturn this.frontTyreSelected;\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/machines/machines.ts","import {Component, ViewChild, HostListener, OnInit} from '@angular/core';\r\nimport {Keyboard} from '@ionic-native/keyboard';\r\nimport {Nav, Platform, MenuController} from 'ionic-angular';\r\nimport {Storage} from '@ionic/storage';\r\nimport {StatusBar} from '@ionic-native/status-bar';\r\nimport {SplashScreen} from '@ionic-native/splash-screen';\r\nimport {TranslateService} from \"@ngx-translate/core\";\r\nimport {LandingPage} from '../pages/landing/landing';\r\nimport {ConfigurationsProvider} from \"../providers/configurations/configurations\";\r\nimport {InAppBrowser, InAppBrowserOptions} from '@ionic-native/in-app-browser';\r\nimport {HomePage} from '../pages/home/home';\r\nimport {NativePageTransitions} from '@ionic-native/native-page-transitions';\r\nimport {GoogleTagManagerService} from \"../libs/google-tag-manager/angular-google-tag-manager.service\";\r\n\r\n@Component({\r\n templateUrl: 'app.html'\r\n})\r\n\r\nexport class MyApp implements OnInit {\r\n\r\n options: InAppBrowserOptions = {\r\n location: 'yes',\r\n hidden: 'no',\r\n clearcache: 'yes',\r\n clearsessioncache: 'yes',\r\n zoom: 'yes',//Android only ,shows browser zoom controls\r\n hardwareback: 'yes',\r\n mediaPlaybackRequiresUserAction: 'no',\r\n shouldPauseOnSuspend: 'no', //Android only\r\n closebuttoncaption: 'Close', //iOS only\r\n disallowoverscroll: 'no', //iOS only\r\n toolbar: 'yes', //iOS only\r\n enableViewportScale: 'no', //iOS only\r\n allowInlineMediaPlayback: 'no',//iOS only\r\n presentationstyle: 'pagesheet',//iOS only\r\n fullscreen: 'yes',//Windows only\r\n };\r\n\r\n @ViewChild(Nav) nav: Nav;\r\n rootPage: any;\r\n sideMenu: string;\r\n public innerWidth: any;\r\n\r\n constructor(\r\n public platform: Platform,\r\n public menu: MenuController,\r\n public statusBar: StatusBar,\r\n public splashScreen: SplashScreen,\r\n private translate: TranslateService,\r\n private storage: Storage,\r\n public configurationsProvider: ConfigurationsProvider,\r\n private nativePageTransitions: NativePageTransitions,\r\n private keyboard: Keyboard,\r\n private gtmService: GoogleTagManagerService,\r\n ) {\r\n this.initializeApp();\r\n\r\n this.translate.setDefaultLang(\"en\");\r\n this.translate.use(\"en\");\r\n\r\n /* this.translate.use(\"en\").subscribe(() => {\r\n this.storage.set(\"language\", \"en\");\r\n this.unitsProvider.setUnits(Unit.kg, Unit.kmh, Unit.m);\r\n }); */\r\n\r\n this.storage.ready().then(() => {\r\n this.storage.get(\"language\").then(result => {\r\n if (result) {\r\n translate.use(result);\r\n }\r\n });\r\n });\r\n }\r\n\r\n checkDevice(): boolean {\r\n if (this.innerWidth < 1030) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n checkScreen(): boolean {\r\n if (this.innerWidth < 1030) {\r\n this.rootPage = LandingPage;\r\n for (let p of this.configurationsProvider.pages) {\r\n if (p.title === \"181\") {\r\n p.enabled = false;\r\n }\r\n }\r\n } else {\r\n this.rootPage = HomePage;\r\n for (let p of this.configurationsProvider.pages) {\r\n if (p.title === \"181\") {\r\n p.enabled = false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n this.checkScreen();\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n\r\n if (this.checkDevice()) {\r\n this.rootPage = LandingPage;\r\n } else {\r\n this.rootPage = HomePage;\r\n }\r\n }\r\n\r\n initializeApp() {\r\n this.platform.ready().then(async () => {\r\n this.statusBar.styleDefault();\r\n this.statusBar.backgroundColorByHexString('#fff');\r\n this.keyboard.hideFormAccessoryBar(false);\r\n this.splashScreen.hide();\r\n await this.gtmService.addGtmToDom();\r\n //\r\n this.nav.viewDidEnter.subscribe(async (data) => {\r\n const active = await this.nav.getActive();\r\n await this.gtmService.pushTag({\r\n event: 'view',\r\n viewName: active.component.name\r\n });\r\n });\r\n });\r\n }\r\n\r\n openPage(page) {\r\n if (page.component) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.nav.setRoot(page.component, {});\r\n } else {\r\n this.nav.setRoot(page.component, {}, {animate: true, direction: 'forward'});\r\n }\r\n } else if (page.urlId) {\r\n this.translate.get(page.urlId).subscribe(result => {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create(result, '_system', this.options);\r\n });\r\n }\r\n }\r\n\r\n backHome() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.nav.setRoot(MyApp, {});\r\n } else {\r\n this.nav.setRoot(MyApp, {}, {animate: true, direction: 'back'});\r\n }\r\n }\r\n\r\n checkTLCPlus() {\r\n let currentPage = this.nav.getActive();\r\n if (currentPage) {\r\n return this.configurationsProvider.checkPlusPages(currentPage.name);\r\n }\r\n }\r\n\r\n // onIonNavDidChange = async (data) => {\r\n // if (data == null) {\r\n // return;\r\n // }\r\n // const nav = data.target;\r\n // const active = await nav.getActive();\r\n // console.log(\"Active View => \", active);\r\n // console.log(\"Active View Name => \", active.component.name);\r\n // };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Component } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Machine } from \"../../../model/machine\";\r\nimport { Champ } from \"../../../model/champ\";\r\nimport { Unit } from '../../../model/unit';\r\nimport { TractorSavedConfigurationsPage } from \"../saved-config/saved-config\";\r\nimport { CalculationsProvider } from '../../../providers/calculations/calculations';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { UnitsProvider } from '../../../providers/units/units';\r\nimport { MachinesProvider } from \"../../../providers/machines/machines\";\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { TractorPage } from '../tractor';\r\nimport { ListItem } from '../../../model/list-item';\r\nimport { ListPage } from '../list/list';\r\n\r\n@Component({\r\n selector: 'page-configuration',\r\n templateUrl: 'configuration.html'\r\n})\r\nexport class TractorConfigurationPage {\r\n\r\n private static readonly RCAR_SPRAYER_KG: number = 1500;\r\n private static readonly RCAR_KG: number = 3000;\r\n private static readonly RCAR_SPRAYER_LB: number = 3308;\r\n private static readonly RCAR_LB: number = 6615;\r\n\r\n type: string;\r\n label: string;\r\n step: string;\r\n machine: Machine;\r\n tractorImagePath: string;\r\n currentStep: number;\r\n finalStep: number;\r\n item: ListItem;\r\n champ: Champ[];\r\n disableSave = [];\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public translate: TranslateService, public machinesProvider: MachinesProvider, public calculationsProvider: CalculationsProvider, public configurationsProvider: ConfigurationsProvider, public unitsProvider: UnitsProvider, private nativePageTransitions: NativePageTransitions) {\r\n this.tractorImagePath = MachinesProvider.GOLD_IMAGE_PATH + \"tractor_nn.svg\";\r\n this.type = navParams.get(\"type\");\r\n if (this.type == 'front') {\r\n this.label = \"24\";\r\n } else if (this.type == 'rear') {\r\n this.label = \"25\";\r\n } else {\r\n this.label = \"166\";\r\n }\r\n this.currentStep = navParams.get(\"currentStep\");\r\n this.finalStep = navParams.get(\"finalStep\");\r\n this.item = navParams.get(\"item\");\r\n if (this.currentStep && this.finalStep) {\r\n translate.get(\"Step\").subscribe(result => {\r\n this.step = result + \" \" + this.currentStep + \"/\" + this.finalStep;\r\n });\r\n }\r\n this.machine = navParams.get(\"machine\");\r\n this.machinesProvider.convertMachine(this.machine);\r\n if (this.machine.type == \"Arem\") {\r\n for (let i = 0; i < this.machine.champs.length; i++) {\r\n if (this.machine.champs[i].id == \"15\") {\r\n let unit = this.unitsProvider.getWeight();\r\n if (this.machine.id == \"33\") {\r\n if (unit == Unit.kg) {\r\n if (!this.machine.champs[i].value) {\r\n this.machine.champs[i].value = TractorConfigurationPage.RCAR_SPRAYER_KG;\r\n }\r\n } else {\r\n if (!this.machine.champs[i].value) {\r\n this.machine.champs[i].value = TractorConfigurationPage.RCAR_SPRAYER_LB;\r\n }\r\n }\r\n } else {\r\n if (unit == Unit.kg) {\r\n if (this.machine.champs[i].value != TractorConfigurationPage.RCAR_KG) {\r\n this.machine.champs[i].value = TractorConfigurationPage.RCAR_KG;\r\n }\r\n } else {\r\n if (this.machine.champs[i].value != TractorConfigurationPage.RCAR_LB) {\r\n this.machine.champs[i].value = TractorConfigurationPage.RCAR_LB;\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n save() {\r\n let machine: Machine = this.machine;\r\n if (this.type == 'tractor') {\r\n this.machinesProvider.tractor = machine;\r\n } else if (this.type == 'front') {\r\n this.machinesProvider.setFront(machine);\r\n } else if (this.type == 'rear') {\r\n this.machinesProvider.setRear(machine);\r\n }\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TractorPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TractorPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n back() {\r\n if (!this.currentStep || this.currentStep === 1) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TractorPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TractorPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n } else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.type === 'front' ? this.machinesProvider.getFrontList().label : this.machinesProvider.getRearList().label,\r\n currentStep: 1,\r\n finalStep: this.finalStep,\r\n item: this.type === 'front' ? this.machinesProvider.getFrontList() : this.machinesProvider.getRearList()\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.type === 'front' ? this.machinesProvider.getFrontList().label : this.machinesProvider.getRearList().label,\r\n currentStep: 1,\r\n finalStep: this.finalStep,\r\n item: this.type === 'front' ? this.machinesProvider.getFrontList() : this.machinesProvider.getRearList()\r\n }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n }\r\n\r\n loadConfiguration() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TractorSavedConfigurationsPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TractorSavedConfigurationsPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n noneInserted(): boolean {\r\n return this.machinesProvider.checkChamps(this.machine);\r\n }\r\n\r\n showDescription(champ: Champ) {\r\n champ.hideDescription = !champ.hideDescription;\r\n }\r\n\r\n checkLoadConfiguration(): boolean {\r\n let pages = this.configurationsProvider.getPages();\r\n for (let p of pages) {\r\n if (p.title === \"174\" && p.enabled) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n showWarningZeroValue(champ: Champ, i: number): boolean {\r\n if (champ.nome != \"38\" && champ.nome != \"39\" && champ.value == 0) {\r\n this.disableSave[i] = true;\r\n return false;\r\n }\r\n this.disableSave[i] = false;\r\n return true;\r\n }\r\n\r\n showWarningValue(champ: Champ, i: number): boolean {\r\n if (champ.value > 10000) {\r\n this.disableSave[i] = true;\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n checkWarning(): boolean {\r\n for (let value of this.disableSave) {\r\n if (value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n keyPressNumber(event) {\r\n const pattern = /^[0-9,.]+$/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/configuration/configuration.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class HttpProvider {\r\n\r\n // public TLC: string = \"https://tlcapidev.azurewebsites.net\"; // ambiente di test\r\n public TLC: string = 'https://tlcapitst.azurewebsites.net'; // ambiente produzione\r\n\r\n constructor(public http: HttpClient) {\r\n }\r\n\r\n public getPressureCalculationData(id: string, innerWidth) {\r\n //PRODUCTION\r\n return this.http.get('https://techdb.yokohama-tws.com/host/WS/TireServiceWebApi/PressureCalculationForAppJsonP?idcode=' + id);\r\n\r\n // if (innerWidth < 1030) {\r\n // return this.http.get('https://twstdb.trelleborg.com/WS/TireService.asmx/PressureCalculationForAppJsonP?idCode=' + id);\r\n // }\r\n // else {\r\n // return this.http.get('/trelleborg/PressureCalculationForAppJsonP?idCode=' + id);\r\n // }\r\n }\r\n\r\n public setSignup(data: any) {\r\n return this.http.post(this.TLC + '/api/v1.0/auth/signup', data);\r\n }\r\n\r\n public getVerification(token: string) {\r\n return this.http.get(this.TLC + '/api/v1.0/auth/verification/' + token);\r\n }\r\n\r\n public setResend(data: any) {\r\n return this.http.post(this.TLC + '/api/v1.0/auth/resend', data);\r\n }\r\n\r\n public setLogin(data: any) {\r\n return this.http.post(this.TLC + '/api/v1.0/auth/login', data);\r\n }\r\n\r\n public getDashboard() {\r\n return this.http.get(this.TLC + '/api/v1.0/auth/dashboard');\r\n }\r\n\r\n public getLogout() {\r\n return this.http.get(this.TLC + '/api/v1.0/auth/logout');\r\n }\r\n\r\n public setForgot(data: any) {\r\n return this.http.post(this.TLC + '/api/v1.0/auth/forgot', data);\r\n }\r\n\r\n public setReset(token: string, data: any) {\r\n return this.http.post(this.TLC + '/api/v1.0/auth/reset/' + token, data);\r\n }\r\n\r\n public getMachineBrand() {\r\n return this.http.get(this.TLC + '/api/v1.0/equipment/machine_brand');\r\n }\r\n\r\n public getTireModel(brand: string) {\r\n return this.http.get(this.TLC + '/api/v1.0/equipment/machine/' + brand);\r\n }\r\n\r\n public getTireBrand() {\r\n return this.http.get(this.TLC + '/api/v1.0/equipment/tire_brand');\r\n }\r\n\r\n public setTractor(data: any) {\r\n return this.http.post(this.TLC + '/api/v1.0/equipment/tractor', data);\r\n }\r\n\r\n public updateTractor(_id: string, data: any) {\r\n return this.http.put(this.TLC + '/api/v1.0/equipment/tractor/' + _id, data);\r\n }\r\n\r\n public getTractorsByFarmId(farmid: string) {\r\n return this.http.get(this.TLC + '/api/v1.0/equipment/tractors/farm/' + farmid);\r\n }\r\n\r\n public getTractorById(id: string) {\r\n return this.http.get(this.TLC + '/api/v1.0/equipment/tractors/' + id);\r\n }\r\n\r\n public getTractors() {\r\n return this.http.get(this.TLC + '/api/v1.0/equipment/tractors');\r\n }\r\n\r\n public updateProfile(id: string, data: any) {\r\n return this.http.put(this.TLC + '/api/v1.0/farm/profile/' + id, data);\r\n }\r\n\r\n public setProfile(data: any) {\r\n return this.http.post(this.TLC + '/api/v1.0/farm/profile', data);\r\n }\r\n\r\n public getProfile(id: string) {\r\n return this.http.get(this.TLC + '/api/v1.0/farm/profile/farmId/' + id);\r\n }\r\n\r\n public savePression(idDongle: string, machineIdentifier, idRuota: any, data: any) {\r\n let dataToSave = {\r\n \"machineTag\": idDongle,\r\n \"machieIdentifier\": machineIdentifier\r\n }\r\n dataToSave[\"sensor_temp\"] = data.temp;\r\n dataToSave[\"sensor_batt\"] = data.batt;\r\n dataToSave[\"sensor_code\"] = data.code;\r\n dataToSave[\"sensor_press\"] = data.pressure;\r\n dataToSave[\"sensor_timestamp\"] = data.timestamp;\r\n dataToSave[\"tire\"] = idRuota;\r\n\r\n return this.http.post(this.TLC + '/api/v1.0/iot/sensor', dataToSave);\r\n }\r\n\r\n public getStoricoPression(machineIdentifier: string, idRuota: string) {\r\n let data = {\r\n \"machineIdentifier\": machineIdentifier,\r\n \"tire\": idRuota\r\n };\r\n return this.http.post(this.TLC + '/api/v1.0/iot/sensor/storico', data);\r\n }\r\n\r\n public updateSensor(idSensor: string, data: any) {\r\n data = {\r\n \"sensor3_temp\": 40\r\n }\r\n return this.http.put(this.TLC + '/api/v1.0/iot/sensor/' + idSensor, data);\r\n }\r\n\r\n public getSensorList() {\r\n return this.http.get(this.TLC + '/api/v1.0/iot/sensor');\r\n }\r\n\r\n public getTractorSensorList(idTractor: string) {\r\n return this.http.get(this.TLC + '/api/v1.0/iot/sensor/' + idTractor);\r\n }\r\n\r\n public deleteTractorSensorList(idTractor: string) {\r\n return this.http.delete(this.TLC + '/api/v1.0/iot/sensor/' + idTractor);\r\n }\r\n\r\n public saveCheckPressure(pairing: string, pressureCheck: string, _id: string) {\r\n let data = {\r\n \"pairing\": pairing,\r\n \"pressureCheck\": pressureCheck\r\n }\r\n return this.http.put(this.TLC + '/api/v1.0/equipment/tractor/' + _id, data);\r\n }\r\n\r\n public deleteTractor(id: string) {\r\n return this.http.delete(this.TLC + '/api/v1.0/equipment/tractors/' + id);\r\n }\r\n\r\n public saveDongle(_id: string, idGateway: string, pairing: boolean) {\r\n let data = {\r\n \"idGateway\": idGateway,\r\n \"pairing\": pairing\r\n }\r\n return this.http.put(this.TLC + '/api/v1.0/equipment/tractor/' + _id, data);\r\n }\r\n\r\n public saveTire(data: any) {\r\n data.timestamp = new Date();\r\n return this.http.post(this.TLC + '/api/v1.0/tire/tires', data);\r\n }\r\n\r\n public updateTire(data: any) {\r\n data.timestamp = new Date();\r\n return this.http.put(this.TLC + '/api/v1.0/tire/tires', data);\r\n }\r\n\r\n public getTractorTires(machineIdentifier: string) {\r\n return this.http.get(this.TLC + '/api/v1.0/tire/tires/machineId/' + machineIdentifier);\r\n }\r\n\r\n public getUser(id: string) {\r\n return this.http.get(this.TLC + '/api/v1.0/users/user/' + id);\r\n }\r\n\r\n public saveProfileImage(id: string, data: Blob) {\r\n const form: FormData = new FormData();\r\n form.append('profileImage', data, \"image_\" + id + new Date().getHours() + \"_\" + new Date().getMinutes() + \"_\" + new Date().getSeconds());\r\n return this.http.put(this.TLC + '/api/v1.0/users/user/image/' + id, form);\r\n }\r\n\r\n public getCoordinate(address) {\r\n // tslint:disable-next-line:max-line-length\r\n return this.http.get('https://api.mapbox.com/geocoding/v5/mapbox.places/' + address + '.json?limit=1&access_token=pk.eyJ1IjoiZ2l1c2VwcGU4NSIsImEiOiJjam9maWVtdGYwNGR3M2ttdXkzNmY0bThjIn0.-qrg49LZVLpHclfgVVtgTA');\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/http/http.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from \"rxjs/Observable\";\r\n/*\r\n Generated class for the JsonProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class JsonProvider {\r\n\r\n constructor(public http: HttpClient) {\r\n }\r\n\r\n getResource(resourceName: string): Observable {\r\n return this.http.get('assets/json/' + resourceName + \".json\");\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/json/json.ts","import { Component, OnInit } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { MachinesProvider } from \"../../../providers/machines/machines\";\r\nimport { CalculationsProvider } from \"../../../providers/calculations/calculations\";\r\nimport { UnitsProvider } from '../../../providers/units/units';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { InAppBrowser, InAppBrowserOptions } from '@ionic-native/in-app-browser';\r\n\r\n@Component({\r\n selector: 'page-results',\r\n templateUrl: 'results.html'\r\n})\r\nexport class TractorResultsPage implements OnInit {\r\n\r\n public textRecommandation: string;\r\n public recoChamp: string;\r\n\r\n options: InAppBrowserOptions = {\r\n location: 'yes',\r\n hidden: 'no',\r\n clearcache: 'yes',\r\n clearsessioncache: 'yes',\r\n zoom: 'yes',//Android only ,shows browser zoom controls \r\n hardwareback: 'yes',\r\n mediaPlaybackRequiresUserAction: 'no',\r\n shouldPauseOnSuspend: 'no', //Android only \r\n closebuttoncaption: 'Close', //iOS only\r\n disallowoverscroll: 'no', //iOS only \r\n toolbar: 'yes', //iOS only \r\n enableViewportScale: 'no', //iOS only \r\n allowInlineMediaPlayback: 'no',//iOS only \r\n presentationstyle: 'pagesheet',//iOS only \r\n fullscreen: 'yes',//Windows only \r\n };\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public machinesProvider: MachinesProvider, public calculationsProvider: CalculationsProvider, public translate: TranslateService, public unitsProvider: UnitsProvider) {\r\n }\r\n\r\n ngOnInit() {\r\n this.calculationsProvider.calculateCav();\r\n let reco = this.calculationsProvider.getRecommandations();\r\n if (reco) {\r\n this.replaceRecommandation(reco, this.calculationsProvider.getRecoID());\r\n }\r\n }\r\n\r\n sendToDealerLocator() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.trelleborg-tires.com/StaticContent/dealerlocator-tws/index.html', '_system', this.options);\r\n }\r\n\r\n replaceRecommandation(recommandations, id: string) {\r\n this.textRecommandation = recommandations[id].Message;\r\n this.recoChamp = recommandations[id].ChapoId;\r\n let reco = recommandations[id];\r\n let weight = this.translate.instant(this.machinesProvider.getTractor().champs[1].unit);\r\n let power = this.translate.instant(this.machinesProvider.getTractor().champs[0].unit);\r\n let unit = this.unitsProvider.getWeight();\r\n let pressure;\r\n if (unit == 0) {\r\n pressure = this.translate.instant(\"179\");\r\n }\r\n else {\r\n pressure = this.translate.instant(\"180\");\r\n }\r\n if (reco.Value0) {\r\n this.textRecommandation = this.textRecommandation.replace(\"{0}\", reco.Value0 + \" \" + weight + \"/\" + power);\r\n }\r\n if (reco.Value1) {\r\n this.textRecommandation = this.textRecommandation.replace(\"{1}\", reco.Value1 + \" \" + weight + \"/\" + power);\r\n }\r\n if (reco.PValue0) {\r\n this.textRecommandation = this.textRecommandation.replace(\"[0]\", reco.PValue0 + \" \" + pressure);\r\n }\r\n if (reco.PValue1) {\r\n this.textRecommandation = this.textRecommandation.replace(\"[1]\", reco.PValue1 + \" \" + pressure);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/results/results.ts","import { Component, OnInit, ChangeDetectorRef, ElementRef } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Platform, NavController } from 'ionic-angular';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { LoginPage } from '../login/login';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-signup',\r\n templateUrl: 'signup.html',\r\n})\r\nexport class SignUpPage implements OnInit {\r\n\r\n public innerWidth: any;\r\n public userButton: boolean;\r\n public showFarm: boolean;\r\n public loading: boolean = false;\r\n public firstname: string;\r\n public surname: string;\r\n public username: string;\r\n public email: string;\r\n public farmId: string;\r\n public password: string;\r\n\r\n openSidebar: boolean = false;\r\n openSidebarWarning: boolean = false;\r\n success: boolean = false;\r\n message: string = \"\";\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n constructor(public platform: Platform, public translate: TranslateService, public statusBar: StatusBar, public navCtrl: NavController, public httpProvider: HttpProvider, public plt: Platform, public configurationsProvider: ConfigurationsProvider, private cdRef: ChangeDetectorRef, private elRef: ElementRef) {\r\n this.innerWidth = window.innerWidth;\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.hide();\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.show();\r\n let marginKeyboard = this.elRef.nativeElement.querySelector('ion-content.margin-keyboard');\r\n if (marginKeyboard) {\r\n marginKeyboard.classList.remove(\"margin-keyboard\");\r\n }\r\n let scrollContent = this.elRef.nativeElement.querySelector('div.scroll-content');\r\n if (scrollContent) {\r\n scrollContent.style.marginBottom = \"8rem\";\r\n }\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n this.userButton = true;\r\n this.showFarm = false;\r\n }\r\n\r\n close() {\r\n this.openSidebar = false;\r\n }\r\n\r\n showFarmidInfo() {\r\n this.openSidebar = true;\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n switch(userButton: boolean, showFarm: boolean) {\r\n this.userButton = userButton;\r\n this.showFarm = showFarm;\r\n this.firstname = \"\";\r\n this.surname = \"\";\r\n this.username = \"\";\r\n this.email = \"\";\r\n this.farmId = undefined;\r\n this.password = \"\";\r\n }\r\n\r\n checkDevice(): boolean {\r\n if (this.innerWidth < 1030) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n goToLogin() {\r\n this.navCtrl.setRoot(LoginPage, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n goToSignUp() {\r\n this.navCtrl.push(SignUpPage, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n doSignup() {\r\n this.loading = true;\r\n let roles = \"\";\r\n if (this.userButton) {\r\n roles = \"Farm Owner\";\r\n }\r\n else {\r\n roles = \"User\";\r\n }\r\n let data = {\r\n firstname: this.firstname,\r\n surname: this.surname,\r\n username: this.username,\r\n email: this.email,\r\n farmId: this.farmId ? this.farmId : undefined,\r\n roles: roles,\r\n password: this.password\r\n }\r\n this.httpProvider.setSignup(data)\r\n .subscribe(result => {\r\n if (result['status'] === \"ok\") {\r\n let res = result['data'];\r\n if (res) {\r\n this.success = true;\r\n this.message = res.msg;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n this.navCtrl.setRoot(LoginPage, {}, { animate: true });\r\n }, 4000);\r\n }\r\n }\r\n this.loading = false;\r\n }, (err) => {\r\n this.message = err.error && err.error[0] ? err.error[0].msg : err.error && err.error.msg ? err.error.msg : err.error.error && err.error.error.msg ? err.error.error.msg : err.statusText;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n this.loading = false;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/signup/signup.ts","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NavController, Platform } from 'ionic-angular';\r\nimport { PairingPage } from '../pairing/pairing';\r\nimport { PairingProvider } from '../../../providers/pairing/pairing';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { PressurePage } from '../pressure/pressure';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { PressureTargetPage } from '../pressure-target/pressure-target';\r\n\r\n@Component({\r\n selector: 'page-transition',\r\n templateUrl: 'transition.html',\r\n})\r\nexport class TransitionPage implements OnInit {\r\n\r\n public redPairing: boolean;\r\n\r\n constructor(public platform: Platform, public translate: TranslateService, public navCtrl: NavController, public pairingProvider: PairingProvider, public configurationsProvider: ConfigurationsProvider, private nativePageTransitions: NativePageTransitions) {\r\n let fleet = pairingProvider.getMyFleet();\r\n if (!fleet.pairing || fleet.color == 'gray') {\r\n this.redPairing = true;\r\n }\r\n else {\r\n this.redPairing = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.pairingProvider.getMyFleet().pairing && this.pairingProvider.getMyFleet().color !== 'gray') {\r\n this.configurationsProvider.setLastPair(true);\r\n } else {\r\n this.configurationsProvider.setLastPair(false);\r\n }\r\n }\r\n\r\n goToPairingPage() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(PairingPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(PairingPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n goToPressurePage() {\r\n if (!this.redPairing) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(PressurePage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(PressurePage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(PressureTargetPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(PressureTargetPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/transition/transition.ts","import { Component, ElementRef } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { MyFleetPage } from '../my-fleet/my-fleet';\r\nimport { MachineListPage } from '../machine-list/machine-list';\r\nimport { PairingProvider } from '../../../providers/pairing/pairing';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-my-fleet-search',\r\n templateUrl: 'my-fleet-search.html',\r\n})\r\n\r\nexport class MyFleetSearchPage {\r\n\r\n public myFleet: any;\r\n public searchText: string = \"\";\r\n\r\n constructor(public platform: Platform, public navParams: NavParams, public statusBar: StatusBar, public pairingProvider: PairingProvider, public configurationsProvider: ConfigurationsProvider, public navCtrl: NavController, private keyboard: Keyboard, private elRef: ElementRef) {\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.configurationsProvider.setSearchInput(\"\");\r\n this.myFleet = this.navParams.get(\"fleet\");\r\n }\r\n\r\n doSearch(text: string) {\r\n this.searchText = text;\r\n this.configurationsProvider.setSearchInput(this.searchText);\r\n }\r\n\r\n goBack() {\r\n if (this.configurationsProvider.searchPage === \"MyFleetPage\") {\r\n this.navCtrl.setRoot(MyFleetPage, { searchInput: this.configurationsProvider.getSearchInput() }, { animate: true });\r\n }\r\n else {\r\n this.navCtrl.setRoot(MachineListPage, { searchInput: this.configurationsProvider.getSearchInput() }, { animate: true });\r\n }\r\n }\r\n\r\n setFleet(fleet: any) {\r\n this.doSearch(fleet.title);\r\n this.goBack();\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/my-fleet-search/my-fleet-search.ts","import { Component } from '@angular/core';\r\nimport { NavParams, NavController, Platform } from 'ionic-angular';\r\nimport { ConfigurationsProvider } from '../../../../providers/configurations/configurations';\r\nimport { ConfigurationToolPage } from '../configuration-tool/configuration-tool';\r\nimport { HttpProvider } from '../../../../providers/http/http';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\n\r\n@Component({\r\n selector: 'page-type-selection',\r\n templateUrl: 'type-selection.html',\r\n})\r\nexport class TypeSelectionPage {\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public configurationsProvider: ConfigurationsProvider, public httpProvider: HttpProvider, private nativePageTransitions: NativePageTransitions) {\r\n if (this.configurationsProvider.getStatus() === \"new\") {\r\n this.resetStepTool();\r\n }\r\n }\r\n\r\n resetStepTool() {\r\n this.configurationsProvider.setStorage('32', \"\");\r\n this.configurationsProvider.setStorage('33', \"\");\r\n this.configurationsProvider.setStorage('40', \"\");\r\n this.configurationsProvider.setStorage('tool_type_front', \"\");\r\n this.configurationsProvider.setStorage('tool_type_rear_equipment', \"\");\r\n this.configurationsProvider.setStorage('tool_type_rear', \"\");\r\n this.configurationsProvider.setStorage('frontTargetPressure', \"\");\r\n this.configurationsProvider.setStorage('rearTargetPressure', \"\");\r\n }\r\n\r\n goToConfigurationTool(type: string) {\r\n let data = {\r\n 'machineTypeConfiguration': type\r\n };\r\n this.httpProvider.updateTractor(this.configurationsProvider.getSingleTractor()._id, data).subscribe();\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationToolPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationToolPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/configuration/type-selection/type-selection.ts","import { Unit } from './../../../../model/unit';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { MachinesProvider } from \"../../../../providers/machines/machines\";\r\nimport { CalculationsProvider } from \"../../../../providers/calculations/calculations\";\r\nimport { UnitsProvider } from '../../../../providers/units/units';\r\nimport { ConfigurationsProvider } from '../../../../providers/configurations/configurations';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { MachineListPage } from '../../machine-list/machine-list';\r\nimport { HttpProvider } from '../../../../providers/http/http';\r\n\r\n@Component({\r\n selector: 'page-configuration-results',\r\n templateUrl: 'configuration-results.html'\r\n})\r\nexport class ConfigurationResultsPage implements OnInit {\r\n\r\n public textRecommandation: string;\r\n public loading: boolean = false;\r\n public parsedData = {};\r\n public sortedRearTyre = [];\r\n public sortedFrontTyre = [];\r\n public speedFront: any;\r\n public speedRear: any;\r\n public innerWidth: any;\r\n public noteFront = \"\";\r\n public noteRear = \"\";\r\n public noteStandard = \"\";\r\n public showNoteHTLT = false;\r\n public noteRear1 = \"nota_50_1\";\r\n public noteRear2 = \"nota_50_2\";\r\n public showOtherTire = false;\r\n public pressureFront = \"N.A.\";\r\n public pressureRear = \"N.A.\";\r\n public recoChamp: string;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public httpProvider: HttpProvider, public machinesProvider: MachinesProvider, public configurationsProvider: ConfigurationsProvider, public calculationsProvider: CalculationsProvider, public translate: TranslateService, public unitsProvider: UnitsProvider, private nativePageTransitions: NativePageTransitions) {\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n this.speedFront = this.configurationsProvider.getSingleTractor().speedFront;\r\n this.speedRear = this.configurationsProvider.getSingleTractor().speedRear;\r\n this.noteFront = this.speedFront.note ? this.speedFront.note : this.speedRear.note;\r\n this.noteRear = this.speedRear.note;\r\n\r\n this.showNoteHTLT = this.speedFront.speed == \"10LT\" || this.speedRear.speed == \"10HT\";\r\n this.noteStandard = (this.speedRear.speed == \"<65\" || this.speedFront.speed == \"<65\") ? \"note_tm_pressure\" : \"note_standard_pressure\";\r\n this.calculationsProvider.calculateCav();\r\n let reco = this.calculationsProvider.getRecommandations();\r\n if (reco) {\r\n this.replaceRecommandation(reco, this.calculationsProvider.getRecoID());\r\n }\r\n this.checkData(this.configurationsProvider.getSingleTractor(), this.calculationsProvider.getCav(), this.configurationsProvider.getSingleTractor().frontAxleFitment, this.calculationsProvider.getCar(), this.configurationsProvider.getSingleTractor().rearAxleFitment);\r\n }\r\n\r\n replaceRecommandation(recommandations, id: string) {\r\n this.textRecommandation = recommandations[id].Message;\r\n this.recoChamp = recommandations[id].ChapoId;\r\n let reco = recommandations[id];\r\n let weight = this.translate.instant(this.machinesProvider.getTractor().champs[1].unit);\r\n let power = this.translate.instant(this.machinesProvider.getTractor().champs[0].unit);\r\n let unit = this.unitsProvider.getWeight();\r\n let pressure;\r\n if (unit == 0) {\r\n pressure = this.translate.instant(\"179\");\r\n }\r\n else {\r\n pressure = this.translate.instant(\"180\");\r\n }\r\n if (reco.Value0) {\r\n this.textRecommandation = this.textRecommandation.replace(\"{0}\", reco.Value0 + \" \" + weight + \"/\" + power);\r\n }\r\n if (reco.Value1) {\r\n this.textRecommandation = this.textRecommandation.replace(\"{1}\", reco.Value1 + \" \" + weight + \"/\" + power);\r\n }\r\n if (reco.PValue0) {\r\n this.textRecommandation = this.textRecommandation.replace(\"[0]\", reco.PValue0 + \" \" + pressure);\r\n }\r\n if (reco.PValue1) {\r\n this.textRecommandation = this.textRecommandation.replace(\"[1]\", reco.PValue1 + \" \" + pressure);\r\n }\r\n }\r\n\r\n save() {\r\n this.loading = true;\r\n let data = {\r\n 'status': 'Configured'//(this.pressureFront !== \"N.A.\" && this.pressureRear !== \"N.A.\") ? 'Configured' : undefined\r\n };\r\n\r\n this.httpProvider.updateTractor(this.configurationsProvider.getSingleTractor()._id, data)\r\n .subscribe(result => {\r\n if (result) {\r\n this.loading = false;\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MachineListPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(MachineListPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n }, (err) => {\r\n this.loading = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n\r\n public checkData(singleTractor, frontAxle, frontType, rearAxle, rearType) {\r\n if (singleTractor && singleTractor.frontTireIdCode) {\r\n this.httpProvider.getPressureCalculationData(singleTractor.frontTireIdCode, null)\r\n .subscribe(result => {\r\n this.parsedData = this.calculationsProvider.parsePressureCalc(result);\r\n //this.front_axle this.frontButtonType\r\n this.sortedFrontTyre = this.calculationsProvider.sortPressureCalc(frontAxle, frontType, this.parsedData, singleTractor.frontTireIdCode, this.innerWidth);\r\n\r\n for (let element of this.sortedFrontTyre) {\r\n console.log(\"speeeed\", element.Speed.toUpperCase().replace(/ /g, ''));\r\n if (element.Speed.toUpperCase().replace(/ /g, '') === this.speedFront.speed)\r\n this.pressureFront = this.unitsProvider.getWeight() == Unit.lb ? element.Pressure_x0020_psi.replace('**', '') : element.Pressure.replace('**', '');\r\n }\r\n let data = {\r\n \"frontTargetPressure\": this.pressureFront\r\n };\r\n if (this.pressureFront == \"N.A.\")\r\n this.showOtherTire = true;\r\n else\r\n this.httpProvider.updateTractor(this.configurationsProvider.getSingleTractor()._id, data).subscribe();\r\n\r\n }, (err) => {\r\n console.log(\"Errore\");\r\n });\r\n }\r\n if (singleTractor && singleTractor.rearTireIdCode) {\r\n this.httpProvider.getPressureCalculationData(singleTractor.rearTireIdCode, this.innerWidth)\r\n .subscribe(result => {\r\n this.parsedData = this.calculationsProvider.parsePressureCalc(result);\r\n //this.rear_axle this.rearButtonType\r\n this.sortedRearTyre = this.calculationsProvider.sortPressureCalc(rearAxle, rearType, this.parsedData, singleTractor.rearTireIdCode, this.innerWidth);\r\n\r\n for (let element of this.sortedRearTyre) {\r\n if (element.Speed.toUpperCase().replace(/ /g, '') === this.speedRear.speed)\r\n this.pressureRear = this.unitsProvider.getWeight() == Unit.lb ? element.Pressure_x0020_psi.replace('**', '') : element.Pressure.replace('**', '');\r\n }\r\n let data = {\r\n \"rearTargetPressure\": this.pressureRear\r\n };\r\n if (this.pressureRear == \"N.A.\")\r\n this.showOtherTire = true;\r\n else\r\n this.httpProvider.updateTractor(this.configurationsProvider.getSingleTractor()._id, data).subscribe();\r\n\r\n }, (err) => {\r\n console.log(\"Errore\");\r\n });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/configuration/configuration-results/configuration-results.ts","import { Component, OnInit } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { ConfigurationsProvider } from '../../../../providers/configurations/configurations';\r\nimport { BrandSelectionPage } from '../brand-selection/brand-selection';\r\nimport { MachinesProvider } from '../../../../providers/machines/machines';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\n\r\n@Component({\r\n selector: 'page-configuration-selection',\r\n templateUrl: 'configuration-selection.html',\r\n})\r\nexport class ConfigurationSelectionPage implements OnInit {\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public configurationsProvider: ConfigurationsProvider, public machinesProvider: MachinesProvider, private nativePageTransitions: NativePageTransitions) {\r\n if (this.configurationsProvider.getTireBrands() && this.configurationsProvider.getTireBrands().length === 0) {\r\n this.configurationsProvider.getConfigurationTireBrandPlus();\r\n }\r\n if (this.configurationsProvider.getBrands() && this.configurationsProvider.getBrands().length === 0) {\r\n this.configurationsProvider.getBrand();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.machinesProvider.setFrontTyreSelected(undefined);\r\n this.machinesProvider.setRearTyreSelected(undefined);\r\n }\r\n\r\n resetStepPlus() {\r\n this.configurationsProvider.setStorage('34', \"\");\r\n this.configurationsProvider.setStorage('35', \"\");\r\n this.configurationsProvider.setStorage('36', \"\");\r\n this.configurationsProvider.setStorage('38', \"\");\r\n this.configurationsProvider.setStorage('39', \"\");\r\n this.configurationsProvider.setStorage('44', \"\");\r\n this.configurationsProvider.setStorage('machineId', \"\");\r\n }\r\n\r\n resetStepTire() {\r\n this.configurationsProvider.setStorage('fitmentFront', \"\");\r\n this.configurationsProvider.setStorage('fitmentRear', \"\");\r\n this.configurationsProvider.setStorage('tireBrandFront', \"\");\r\n this.configurationsProvider.setStorage('tireBrandRear', \"\");\r\n this.configurationsProvider.setStorage('otherTireBrandFront', \"\");\r\n this.configurationsProvider.setStorage('otherTireBrandRear', \"\");\r\n this.configurationsProvider.setStorage('tireSizeFront', \"\");\r\n this.configurationsProvider.setStorage('tireSizeRear', \"\");\r\n this.configurationsProvider.setStorage('idSingleTractor', \"\");\r\n }\r\n\r\n resetStepTool() {\r\n this.configurationsProvider.setStorage('32', \"\");\r\n this.configurationsProvider.setStorage('33', \"\");\r\n this.configurationsProvider.setStorage('40', \"\");\r\n this.configurationsProvider.setStorage('tool_type_front', \"\");\r\n this.configurationsProvider.setStorage('tool_type_rear_equipment', \"\");\r\n this.configurationsProvider.setStorage('tool_type_rear', \"\");\r\n this.configurationsProvider.setStorage('frontTargetPressure', \"\");\r\n this.configurationsProvider.setStorage('rearTargetPressure', \"\");\r\n }\r\n\r\n goToBrandSelectionPage(type: string) {\r\n this.configurationsProvider.setNewMachineType(type);\r\n this.configurationsProvider.setStatus(\"new\");\r\n this.resetStepPlus();\r\n this.resetStepTire();\r\n this.resetStepTool();\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(BrandSelectionPage, { newMachine: true });\r\n }\r\n else {\r\n this.navCtrl.setRoot(BrandSelectionPage, { newMachine: true }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/configuration/configuration-selection/configuration-selection.ts","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { NavController, NavParams, PopoverController, AlertController, Platform } from 'ionic-angular';\r\nimport { Storage } from '@ionic/storage';\r\nimport { TractorTyrePopoverPage1 } from '../tyre-popover/tyre-popover-info1';\r\nimport { TractorTyrePopoverPage2 } from '../tyre-popover/tyre-popover-info2';\r\nimport { TractorTyrePopoverPage3 } from '../tyre-popover/tyre-popover-info3';\r\nimport { TractorTyrePopoverPage4 } from '../tyre-popover/tyre-popover-info4';\r\nimport { SearchPage } from '../search/search';\r\nimport { MachinesProvider } from \"../../../providers/machines/machines\";\r\nimport { CalculationsProvider } from \"../../../providers/calculations/calculations\";\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { UnitsProvider } from '../../../providers/units/units';\r\nimport { Unit } from '../../../model/unit';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { InAppBrowser, InAppBrowserOptions } from '@ionic-native/in-app-browser';\r\n\r\n@Component({\r\n selector: 'page-tyre',\r\n templateUrl: 'tyre.html'\r\n})\r\nexport class TractorTyrePage implements OnInit {\r\n\r\n public static readonly SELECTED_COLOR: string = 'light';\r\n public static readonly INACTIVE_COLOR: string = 'darkblue';\r\n\r\n public tyreTitleProperties = ['Size', 'Title', 'LI1', 'SI1', 'LI2', 'SI2', 'LI3', 'SI3'];\r\n public tyreTitleSubProperties = ['TyreWidth', 'TyreDiam', 'SLR', 'RC', 'Rim'];\r\n public tyreTableProperties = ['SW:', 'OD:', 'SLR:', 'RC:', 'calc_rim'];\r\n\r\n public frontSearchText: string;\r\n public rearSearchText: string;\r\n public front_axle: number;\r\n public rear_axle: number;\r\n public front_button_clicked: string;\r\n public rear_button_clicked: string;\r\n\r\n public front_single: string;\r\n public front_dual: string;\r\n public front_triple: string;\r\n public rear_single: string;\r\n public rear_dual: string;\r\n public rear_triple: string;\r\n\r\n public showFrontTable: boolean = false;\r\n public showRearTable: boolean = false;\r\n public showInfoTooHigh: boolean = false;\r\n public searchedFrontTyre: string;\r\n public searchedRearTyre: string;\r\n\r\n public unit = [];\r\n public parsedData = {};\r\n public sortedRearTyre = [];\r\n public sortedFrontTyre = [];\r\n\r\n public showInfo1: boolean = false;\r\n public showInfo2: boolean = false;\r\n public showInfo3: boolean = false;\r\n\r\n public loadingRear: boolean = false;\r\n public loadingFront: boolean = false;\r\n\r\n public alertCount = 0;\r\n\r\n public speed: string;\r\n public value: string;\r\n\r\n public innerWidth: any;\r\n\r\n options: InAppBrowserOptions = {\r\n location: 'yes',\r\n hidden: 'no',\r\n clearcache: 'yes',\r\n clearsessioncache: 'yes',\r\n zoom: 'yes',//Android only ,shows browser zoom controls \r\n hardwareback: 'yes',\r\n mediaPlaybackRequiresUserAction: 'no',\r\n shouldPauseOnSuspend: 'no', //Android only \r\n closebuttoncaption: 'Close', //iOS only\r\n disallowoverscroll: 'no', //iOS only \r\n toolbar: 'yes', //iOS only \r\n enableViewportScale: 'no', //iOS only \r\n allowInlineMediaPlayback: 'no',//iOS only \r\n presentationstyle: 'pagesheet',//iOS only \r\n fullscreen: 'yes',//Windows only \r\n };\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public machinesProvider: MachinesProvider, public calculationsProvider: CalculationsProvider, public configurationsProvider: ConfigurationsProvider, public httpProvider: HttpProvider, public storage: Storage, public translateService: TranslateService, private unitsProvider: UnitsProvider, public popoverCtrl: PopoverController, private alertCtrl: AlertController) {\r\n this.front_button_clicked = \"single\";\r\n this.rear_button_clicked = \"single\";\r\n this.front_single = \"single\";\r\n this.front_dual = \"dual\";\r\n this.front_triple = \"triples\";\r\n this.rear_single = \"single\";\r\n this.rear_dual = \"dual\";\r\n this.rear_triple = \"triples\";\r\n this.innerWidth = window.innerWidth;\r\n let tyreFront, tyreRear, tyre, type;\r\n if (this.checkDevice()) {\r\n if (navParams.get(\"type\")) {\r\n this.rear_button_clicked = navParams.get(\"rearButtonType\");\r\n this.front_button_clicked = navParams.get(\"frontButtonType\");\r\n tyre = navParams.get(\"tyre\");\r\n type = navParams.get(\"type\");\r\n this.selectTyre(tyre, type);\r\n if (this.machinesProvider.tyreFrontWheel && type === \"rear\") {\r\n tyreFront = this.machinesProvider.tyreFrontWheel;\r\n if (tyreFront[0] !== \"-\") {\r\n this.front_button_clicked = tyreFront[2];\r\n tyre = tyreFront[1];\r\n type = \"front\";\r\n this.selectTyre(tyre, type);\r\n }\r\n }\r\n if (this.machinesProvider.tyreRearWheel && type === \"front\") {\r\n tyreRear = this.machinesProvider.tyreRearWheel;\r\n if (tyreRear[0] !== \"-\") {\r\n this.rear_button_clicked = tyreRear[2];\r\n tyre = tyreRear[1];\r\n type = \"rear\";\r\n this.selectTyre(tyre, type);\r\n }\r\n }\r\n }\r\n else {\r\n if (this.machinesProvider.tyreFrontWheel) {\r\n tyreFront = this.machinesProvider.tyreFrontWheel;\r\n if (tyreFront[0] !== \"-\") {\r\n this.front_button_clicked = tyreFront[2];\r\n tyre = tyreFront[1];\r\n type = \"front\";\r\n this.selectTyre(tyre, type);\r\n }\r\n }\r\n if (this.machinesProvider.tyreRearWheel) {\r\n tyreRear = this.machinesProvider.tyreRearWheel;\r\n if (tyreRear[0] !== \"-\") {\r\n this.rear_button_clicked = tyreRear[2];\r\n tyre = tyreRear[1];\r\n type = \"rear\";\r\n this.selectTyre(tyre, type);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (this.machinesProvider.tyreFrontWheel) {\r\n tyreFront = this.machinesProvider.tyreFrontWheel;\r\n if (tyreFront[0] !== \"-\") {\r\n this.front_button_clicked = tyreFront[2];\r\n tyre = tyreFront[1];\r\n type = \"front\";\r\n this.selectTyre(tyre, type);\r\n }\r\n }\r\n if (this.machinesProvider.tyreRearWheel) {\r\n tyreRear = this.machinesProvider.tyreRearWheel;\r\n if (tyreRear[0] !== \"-\") {\r\n this.rear_button_clicked = tyreRear[2];\r\n tyre = tyreRear[1];\r\n type = \"rear\";\r\n this.selectTyre(tyre, type);\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkDevice(): boolean {\r\n if (this.innerWidth < 1030) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n this.calculationsProvider.calculateCav();\r\n this.front_axle = this.calculationsProvider.getCav();\r\n this.rear_axle = this.calculationsProvider.getCar();\r\n if (this.unitsProvider.getSpeed() === Unit.kmh) {\r\n this.unit[0] = \"speed_eu\";\r\n this.unit[1] = \"bar\";\r\n }\r\n else {\r\n this.unit[0] = \"speed_us\";\r\n this.unit[1] = \"psi\";\r\n }\r\n if (this.translateService.currentLang === \"us\") {\r\n this.speed = \"mph\";\r\n this.value = \"5\";\r\n }\r\n else {\r\n this.speed = \"kph\";\r\n this.value = \"10\";\r\n }\r\n }\r\n\r\n sendToDealerLocator() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.trelleborg-tires.com/StaticContent/dealerlocator-tws/index.html', '_system', this.options);\r\n }\r\n\r\n public get tyres(): any[] {\r\n return this.machinesProvider.$tyres;\r\n }\r\n\r\n public frontSearch(text: string) {\r\n this.frontSearchText = text;\r\n }\r\n\r\n public rearSearch(text: string) {\r\n this.rearSearchText = text;\r\n }\r\n\r\n public getTyreTitle(tyre) {\r\n let title = '';\r\n for (let property of this.tyreTitleProperties) {\r\n if (tyre && tyre[property] && typeof (tyre[property]) === 'string') {\r\n let space = \" \";\r\n if (property.includes(\"LI\")) {\r\n space = \"\";\r\n }\r\n title += tyre[property] + space;\r\n }\r\n }\r\n return title;\r\n }\r\n\r\n public getTyreSubTitle(tyre) {\r\n let title = '';\r\n let i = 0;\r\n for (let property of this.tyreTitleSubProperties) {\r\n if (tyre && tyre[property] && typeof (tyre[property]) === 'string') {\r\n title += this.translateService.instant(this.tyreTableProperties[i]) + \" \" + tyre[property] + \" \";\r\n i++;\r\n }\r\n }\r\n return title;\r\n }\r\n\r\n public getColorFront(type: string): string {\r\n return this.front_button_clicked === type ? TractorTyrePage.SELECTED_COLOR : TractorTyrePage.INACTIVE_COLOR;\r\n }\r\n\r\n public getColorRear(type: string): string {\r\n return this.rear_button_clicked === type ? TractorTyrePage.SELECTED_COLOR : TractorTyrePage.INACTIVE_COLOR;\r\n }\r\n\r\n public selectTyre(tyre, type: string) {\r\n if (type === \"front\") {\r\n this.loadingFront = true;\r\n this.searchedFrontTyre = \"-\";\r\n this.machinesProvider.setTyreWheel(this.getTyreTitle(this.searchedFrontTyre), tyre, this.front_button_clicked, type);\r\n if (tyre && tyre.IDCode) {\r\n this.showFrontTable = true;\r\n this.searchedFrontTyre = tyre;\r\n this.machinesProvider.setTyreWheel(this.getTyreTitle(this.searchedFrontTyre), tyre, this.front_button_clicked, type);\r\n this.frontSearch('');\r\n this.httpProvider.getPressureCalculationData(tyre.IDCode, this.innerWidth)\r\n .subscribe(result => {\r\n this.parsedData = this.calculationsProvider.parsePressureCalc(result);\r\n this.sortedFrontTyre = this.calculationsProvider.sortPressureCalc(this.front_axle, this.front_button_clicked, this.parsedData, tyre.IDCode, this.innerWidth);\r\n this.showInfoTooHigh = false;\r\n for (let data of this.sortedFrontTyre) {\r\n if (data.tooHigh) {\r\n this.showInfoTooHigh = true;\r\n break;\r\n }\r\n }\r\n this.loadingFront = false;\r\n }, (err) => {\r\n this.showFrontTable = false;\r\n if (this.alertCount === 0) {\r\n this.alertCount = 1;\r\n let alert = this.alertCtrl.create({\r\n title: 'Alert',\r\n subTitle: 'Couldn\\'t connect to server',\r\n buttons: ['OK']\r\n });\r\n alert.present();\r\n }\r\n this.loadingFront = false;\r\n });\r\n }\r\n }\r\n else if (type === \"rear\") {\r\n this.loadingRear = true;\r\n this.searchedRearTyre = \"-\";\r\n this.machinesProvider.setTyreWheel(this.getTyreTitle(this.searchedRearTyre), tyre, this.rear_button_clicked, type);\r\n if (tyre && tyre.IDCode) {\r\n this.showRearTable = true;\r\n this.searchedRearTyre = tyre;\r\n this.machinesProvider.setTyreWheel(this.getTyreTitle(this.searchedRearTyre), tyre, this.rear_button_clicked, type);\r\n this.rearSearch('');\r\n this.httpProvider.getPressureCalculationData(tyre.IDCode, this.innerWidth)\r\n .subscribe(result => {\r\n this.parsedData = this.calculationsProvider.parsePressureCalc(result);\r\n this.sortedRearTyre = this.calculationsProvider.sortPressureCalc(this.rear_axle, this.rear_button_clicked, this.parsedData, tyre.IDCode, this.innerWidth);\r\n this.showInfoTooHigh = false;\r\n for (let data of this.sortedRearTyre) {\r\n if (data.tooHigh) {\r\n this.showInfoTooHigh = true;\r\n break;\r\n }\r\n }\r\n this.loadingRear = false;\r\n }, (err) => {\r\n this.showRearTable = false;\r\n if (this.alertCount === 0) {\r\n this.alertCount = 1;\r\n let alert = this.alertCtrl.create({\r\n title: 'Alert',\r\n subTitle: 'Couldn\\'t connect to server',\r\n buttons: ['OK']\r\n });\r\n alert.present();\r\n }\r\n this.loadingRear = false;\r\n });\r\n }\r\n }\r\n }\r\n\r\n public rearDelete() {\r\n this.sortedRearTyre = [];\r\n this.searchedRearTyre = \"-\";\r\n this.machinesProvider.setTyreWheel(this.getTyreTitle(this.searchedRearTyre), null, this.rear_button_clicked, 'rear');\r\n this.showRearTable = false;\r\n }\r\n\r\n public frontDelete() {\r\n this.sortedFrontTyre = [];\r\n this.searchedFrontTyre = \"-\";\r\n this.machinesProvider.setTyreWheel(this.getTyreTitle(this.searchedFrontTyre), null, this.front_button_clicked, 'front');\r\n this.showFrontTable = false;\r\n }\r\n\r\n public frontButtonClick(type: string) {\r\n this.front_button_clicked = type;\r\n if (this.showFrontTable && this.searchedFrontTyre) {\r\n this.selectTyre(this.searchedFrontTyre, 'front');\r\n }\r\n }\r\n\r\n public rearButtonClick(type: string) {\r\n this.rear_button_clicked = type;\r\n if (this.showRearTable && this.searchedRearTyre) {\r\n this.selectTyre(this.searchedRearTyre, 'rear');\r\n }\r\n }\r\n\r\n public presentPopover(myEvent, value: number) {\r\n let popover;\r\n if (value === 1) {\r\n if (this.translateService.currentLang === \"us\") {\r\n popover = this.popoverCtrl.create(TractorTyrePopoverPage4);\r\n } else {\r\n popover = this.popoverCtrl.create(TractorTyrePopoverPage1);\r\n }\r\n }\r\n else if (value === 2) {\r\n if (this.showFrontTable || this.showRearTable) {\r\n popover = this.popoverCtrl.create(TractorTyrePopoverPage2);\r\n }\r\n }\r\n else if (value === 3) {\r\n if ((this.showFrontTable || this.showRearTable) && this.showInfoTooHigh) {\r\n popover = this.popoverCtrl.create(TractorTyrePopoverPage3);\r\n }\r\n }\r\n if (popover) {\r\n popover.present({\r\n ev: myEvent\r\n });\r\n }\r\n }\r\n\r\n public presentPopoverMobile(value: number) {\r\n if (value === 1) {\r\n this.showInfo3 = !this.showInfo3;\r\n this.showInfo1 = false;\r\n this.showInfo2 = false;\r\n }\r\n else if (value === 2) {\r\n if (this.showFrontTable || this.showRearTable) {\r\n this.showInfo2 = !this.showInfo2;\r\n this.showInfo1 = false;\r\n this.showInfo3 = false;\r\n }\r\n }\r\n else if (value === 3) {\r\n if ((this.showFrontTable || this.showRearTable) && this.showInfoTooHigh) {\r\n this.showInfo1 = !this.showInfo1;\r\n this.showInfo2 = false;\r\n this.showInfo3 = false;\r\n }\r\n }\r\n }\r\n\r\n public getTextButton(value: string): string {\r\n if (value === \"single\") {\r\n return \"fitment_single\";\r\n }\r\n else if (value === \"dual\") {\r\n return \"fitment_dual\";\r\n }\r\n else {\r\n return \"fitment_triples\";\r\n }\r\n }\r\n\r\n goToSearchPage(type: string, rearButtonType: string, frontButtonType: string) {\r\n if (this.checkDevice()) {\r\n this.navCtrl.push(SearchPage, { type: type, rearButtonType: rearButtonType, frontButtonType: frontButtonType }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/tyre/tyre.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 162;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 162\n// module chunks = 0","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { Unit } from \"../../model/unit\";\r\nimport { UnitManager } from \"../../model/unit-manager\";\r\n\r\n/*\r\n Generated class for the UnitsProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n@Injectable()\r\nexport class UnitsProvider {\r\n\r\n private unitManager: UnitManager;\r\n\r\n constructor(public http: HttpClient, private storage: Storage) {\r\n this.unitManager = new UnitManager(Unit.kg, Unit.kmh, Unit.m);\r\n storage.get(\"units\").then(result => {\r\n if (result) {\r\n this.unitManager.setUnits(JSON.parse(result));\r\n }\r\n });\r\n }\r\n\r\n getWeight(): Unit {\r\n return this.unitManager.weight;\r\n }\r\n\r\n getSpeed(): Unit {\r\n return this.unitManager.speed;\r\n }\r\n\r\n getDistance(): Unit {\r\n return this.unitManager.distance;\r\n }\r\n\r\n setUnits(weight: Unit, speed: Unit, distance: Unit) {\r\n this.unitManager.weight = weight;\r\n this.unitManager.speed = speed;\r\n this.unitManager.distance = distance;\r\n this.storage.set(\"units\", JSON.stringify(this.unitManager));\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/units/units.ts","export enum Unit {\r\n kg,\r\n kmh,\r\n m,\r\n lb,\r\n mph,\r\n ft\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/model/unit.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 208;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 208\n// module chunks = 0","import { Component } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { InAppBrowser, InAppBrowserOptions } from '@ionic-native/in-app-browser';\r\n\r\n@Component({\r\n selector: 'page-contact',\r\n templateUrl: 'contact.html'\r\n})\r\nexport class ContactPage {\r\n\r\n options: InAppBrowserOptions = {\r\n location: 'yes',\r\n hidden: 'no',\r\n clearcache: 'yes',\r\n clearsessioncache: 'yes',\r\n zoom: 'yes',//Android only ,shows browser zoom controls \r\n hardwareback: 'yes',\r\n mediaPlaybackRequiresUserAction: 'no',\r\n shouldPauseOnSuspend: 'no', //Android only \r\n closebuttoncaption: 'Close', //iOS only\r\n disallowoverscroll: 'no', //iOS only \r\n toolbar: 'yes', //iOS only \r\n enableViewportScale: 'no', //iOS only \r\n allowInlineMediaPlayback: 'no',//iOS only \r\n presentationstyle: 'pagesheet',//iOS only \r\n fullscreen: 'yes',//Windows only \r\n };\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams) {\r\n }\r\n\r\n sendEmail() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('mailto:info.tws@yokohama-tws.com', '_system', this.options);\r\n }\r\n\r\n sendToSite() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.trelleborg-tires.com/en', '_system', this.options);\r\n }\r\n\r\n sendToFacebook() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.facebook.com/TrelleborgAgriTires', '_system', this.options);\r\n }\r\n\r\n sendToTwitter() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://twitter.com/Trelleborgwheel', '_system', this.options);\r\n }\r\n\r\n sendToTikTok() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.tiktok.com/@trelleborgtires?is_from_webapp=1&sender_device=pc', '_system', this.options);\r\n }\r\n\r\n sendToLinkedin() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.linkedin.com/company/yokohama-tws', '_system', this.options);\r\n }\r\n\r\n sendToFlickr() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.flickr.com/trelleborgagri', '_system', this.options);\r\n }\r\n\r\n sendToYouTube() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.youtube.com/@trelleborgagritires', '_system', this.options);\r\n }\r\n\r\n sendToInstagram() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('https://www.instagram.com/trelleborgagri_tires', '_system', this.options);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/contact/contact.ts","import { Component } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { HomePage } from '../home/home';\r\nimport { UnitsProvider } from \"../../providers/units/units\";\r\nimport { Unit } from \"../../model/unit\";\r\nimport { MachinesProvider } from '../../providers/machines/machines';\r\n\r\n@Component({\r\n\tselector: 'page-language',\r\n\ttemplateUrl: 'language.html'\r\n})\r\nexport class LanguagePage {\r\n\r\n\tselectedLanguage: string;\r\n\tselectedUnit: string;\r\n\titems: Array<{ title: string, language: string, path: string }>;\r\n\r\n\tconstructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, private storage: Storage, private translate: TranslateService, private unitsProvider: UnitsProvider, private machinesProvider: MachinesProvider) {\r\n\r\n\t\tlet prefix: string = \"assets/imgs/flags/\";\r\n\t\tlet extension: string = \".svg\";\r\n\r\n\t\tthis.selectedLanguage = translate.currentLang;\r\n\t\tif (unitsProvider.getWeight() == Unit.kg) {\r\n\t\t\tthis.selectedUnit = 'kg';\r\n\t\t} else if (unitsProvider.getWeight() == Unit.lb) {\r\n\t\t\tthis.selectedUnit = 'lb';\r\n\t\t}\r\n\r\n\t\tthis.items = [{\r\n\t\t\ttitle: 'Português',\r\n\t\t\tlanguage: 'br',\r\n\t\t\tpath: prefix + 'pt' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Ĉeština',\r\n\t\t\tlanguage: 'cz',\r\n\t\t\tpath: prefix + 'cz' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Deutsch',\r\n\t\t\tlanguage: 'de',\r\n\t\t\tpath: prefix + 'de' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'English',\r\n\t\t\tlanguage: 'en',\r\n\t\t\tpath: prefix + 'gb' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Español',\r\n\t\t\tlanguage: 'es',\r\n\t\t\tpath: prefix + 'es' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Français',\r\n\t\t\tlanguage: 'fr',\r\n\t\t\tpath: prefix + 'fr' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Italiano',\r\n\t\t\tlanguage: 'it',\r\n\t\t\tpath: prefix + 'it' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Nederlands',\r\n\t\t\tlanguage: 'nl',\r\n\t\t\tpath: prefix + 'nl' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Polski',\r\n\t\t\tlanguage: 'pl',\r\n\t\t\tpath: prefix + 'pl' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Pусский',\r\n\t\t\tlanguage: 'ru',\r\n\t\t\tpath: prefix + 'ru' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Svenska',\r\n\t\t\tlanguage: 'sw',\r\n\t\t\tpath: prefix + 'se' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'American English',\r\n\t\t\tlanguage: 'us',\r\n\t\t\tpath: prefix + 'us' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: '简化中文',\r\n\t\t\tlanguage: 'cn',\r\n\t\t\tpath: prefix + 'cn' + extension\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Türkçe',\r\n\t\t\tlanguage: 'tr',\r\n\t\t\tpath: prefix + 'tr' + extension\r\n\t\t}];\r\n\t}\r\n\r\n\titemTapped(event, item) {\r\n\t\tthis.translate.use(item.language).subscribe(() => {\r\n\t\t\tthis.storage.set(\"language\", item.language);\r\n\t\t\tthis.selectedLanguage = item.language;\r\n\t\t\tthis.navCtrl.setRoot(HomePage, {}, { animate: true, direction: 'back' });\r\n\t\t});\r\n\t}\r\n\r\n\tunitTapped(unit: string) {\r\n\t\tif (unit == 'kg') {\r\n\t\t\tthis.unitsProvider.setUnits(Unit.kg, Unit.kmh, Unit.m);\r\n\t\t} else if (unit == 'lb') {\r\n\t\t\tthis.unitsProvider.setUnits(Unit.lb, Unit.mph, Unit.ft);\r\n\t\t}\r\n\t\tthis.machinesProvider.convertUnits();\r\n\t\tthis.selectedUnit = unit;\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/language/language.ts","import { Champ } from \"./champ\";\r\n\r\nexport class Machine {\r\n\r\n constructor(\r\n public id: string,\r\n public label: string,\r\n public type: string,\r\n public reco: string,\r\n public goldImagePath: string,\r\n public blueImagePath: string,\r\n public whiteImagePath: string,\r\n public champs: Champ[]) {\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/model/machine.ts","export class Champ {\r\n\r\n public value: number;\r\n public hideDescription: boolean;\r\n\r\n constructor(\r\n public id: string,\r\n public nome: string,\r\n public unit: string,\r\n public description: string) {\r\n this.hideDescription = true;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/model/champ.ts","import { Component } from '@angular/core';\r\nimport { NavController, NavParams } from 'ionic-angular';\r\nimport { InAppBrowser, InAppBrowserOptions } from '@ionic-native/in-app-browser';\r\n\r\n@Component({\r\n selector: 'page-trelleborg-apps',\r\n templateUrl: 'trelleborg-apps.html'\r\n})\r\nexport class TrelleborgAppsPage {\r\n\r\n options: InAppBrowserOptions = {\r\n location: 'yes',\r\n hidden: 'no',\r\n clearcache: 'yes',\r\n clearsessioncache: 'yes',\r\n zoom: 'yes',//Android only ,shows browser zoom controls \r\n hardwareback: 'yes',\r\n mediaPlaybackRequiresUserAction: 'no',\r\n shouldPauseOnSuspend: 'no', //Android only \r\n closebuttoncaption: 'Close', //iOS only\r\n disallowoverscroll: 'no', //iOS only \r\n toolbar: 'yes', //iOS only \r\n enableViewportScale: 'no', //iOS only \r\n allowInlineMediaPlayback: 'no',//iOS only \r\n presentationstyle: 'pagesheet',//iOS only \r\n fullscreen: 'yes',//Windows only \r\n };\r\n\r\n public appArray: Array<{ imgAppPath: string, title: string, description: string, enabled: boolean, url: string, flagPath: string }>;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams) {\r\n let path = 'assets/imgs/apps/';\r\n let imagePath = 'assets/imgs/flags/';\r\n this.appArray = [\r\n /* { imgAppPath: path + 'atraction_logo.png', title: '184', description: '185', enabled: false, url: 'http://www.trelleborg.com/en/wheelsystems/Technical-Information/Trelleborg-aTtraction/' }, */\r\n { imgAppPath: path + 'tire_efficiency_logo.png', title: '186', description: '187', enabled: false, url: 'http://www.trelleborg.com/en/wheelsystems/Technical-Information/Trelleborg-Tire-Efficiency/', flagPath: imagePath + 'tyre-efficiency-flag.png' },\r\n { imgAppPath: path + 'load_calulator_logo.png', title: '188', description: '189', enabled: false, url: 'http://www.trelleborg.com/en/wheelsystems/Technical-Information/Trelleborg-Load-Calculator/', flagPath: imagePath + 'load-calculator-flag.png' },\r\n { imgAppPath: path + 'tire_book_logo.png', title: '190', description: '191', enabled: false, url: 'http://www.trelleborg.com/en/wheelsystems/Technical-Information/Trelleborg-Tire-Book/', flagPath: imagePath + 'tyre-book-flag.png' },\r\n { imgAppPath: path + 'ibrochure_logo.png', title: '192', description: '193', enabled: false, url: 'http://www.trelleborg.com/en/wheelsystems/Technical-Information/Trelleborg-Tire-iBrochure/', flagPath: imagePath + 'tyre-brochure-flag.png' }\r\n ];\r\n }\r\n\r\n showDescription(i) {\r\n this.appArray[i].enabled = !this.appArray[i].enabled;\r\n }\r\n\r\n openApp(i) {\r\n this.appArray[i].enabled = false;\r\n let browserInst = new InAppBrowser();\r\n browserInst.create(this.appArray[i].url, '_system', this.options);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/trelleborg-apps/trelleborg-apps.ts","import { Injectable } from '@angular/core';\r\nimport { ToastController } from 'ionic-angular';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Tractor } from '../../model/tractor';\r\n\r\n@Injectable()\r\nexport class PairingProvider {\r\n\r\n public myFleet: Tractor;\r\n public interval;\r\n public savePression: boolean;\r\n\r\n constructor(public translate: TranslateService, private toastCtrl: ToastController) {\r\n this.initFleet();\r\n }\r\n\r\n initFleet() {\r\n this.myFleet = new Tractor();\r\n this.savePression = false;\r\n }\r\n\r\n getByCode(code: string) {\r\n for(let i=0; i<10; i++){\r\n if(this.myFleet.bsdongle[i] && this.myFleet.bsdongle[i].code == code)\r\n return this.myFleet.bsdongle[i];\r\n }\r\n return null;\r\n }\r\n\r\n getIndexByCode(code: string) {\r\n for(let i=0; i<10; i++){\r\n if(this.myFleet.bsdongle[i] && this.myFleet.bsdongle[i].code == code)\r\n return i;\r\n }\r\n return null;\r\n }\r\n\r\n setMyFleet(fleet: any) {\r\n this.myFleet = fleet;\r\n }\r\n\r\n getMyFleet() {\r\n return this.myFleet;\r\n }\r\n\r\n setDongleConfiguration(bsdongle: any, data: any, showToast: boolean) {\r\n for (let key of Object.keys(bsdongle)) {\r\n let prop = bsdongle[key];\r\n this.myFleet.bsdongle.mac = prop[\"id\"];\r\n }\r\n let index = this.myFleet.bsdongle.codes.findIndex(function (element) {\r\n return element.code == data[\"code\"];\r\n });\r\n if (index == -1) {\r\n let toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-sensor\"),\r\n duration: 2000,\r\n position: 'bottom'\r\n });\r\n if (showToast) {\r\n toast.present();\r\n }\r\n this.myFleet.bsdongle.codes.push({ \"code\": data[\"code\"], \"pressure\": data[\"press\"] / 1000 });\r\n }\r\n else {\r\n this.myFleet.bsdongle.codes[index].pressure = data[\"press\"] / 1000;\r\n }\r\n }\r\n\r\n getDongle() {\r\n return this.myFleet.bsdongle;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pairing/pairing.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Machine } from \"../../model/machine\";\r\nimport { Unit } from \"../../model/unit\";\r\nimport { Champ } from '../../model/champ';\r\nimport { UnitsProvider } from \"../../providers/units/units\";\r\nimport { JsonProvider } from '../json/json';\r\nimport { MachinesProvider } from '../machines/machines';\r\nimport { ConfigurationsProvider } from '../configurations/configurations';\r\n\r\n/*\r\n Generated class for the CalculationsProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n@Injectable()\r\nexport class CalculationsProvider {\r\n\r\n public cav: number;\r\n public car: number;\r\n public rpp: number;\r\n public px: number;\r\n public py: number;\r\n public recoID: string;\r\n\r\n private recommandations;\r\n private pav: number;\r\n private par: number;\r\n private lav: number;\r\n private lar: number;\r\n private mav: number;\r\n private dav: number;\r\n private e: number;\r\n private mar: number;\r\n private dar: number;\r\n\r\n constructor(public http: HttpClient, public machinesProvider: MachinesProvider, public configurationsProvider: ConfigurationsProvider, public json: JsonProvider, public translate: TranslateService, public unitsProvider: UnitsProvider) {\r\n this.translate.get(\"Recommandations\").subscribe(recommandations => {\r\n this.recommandations = recommandations;\r\n });\r\n }\r\n\r\n calculateCav() {\r\n let tractor: Machine = this.machinesProvider.getTractor();\r\n let front: Machine = this.machinesProvider.front;\r\n let rear: Machine = this.machinesProvider.rear;\r\n if (!front && !rear) {\r\n front = this.configurationsProvider.getConfigurationTool()['tool_type_front'];\r\n rear = this.configurationsProvider.getConfigurationTool()['tool_type_rear'];\r\n }\r\n\r\n if (tractor && front && rear) {\r\n\r\n let unit = this.unitsProvider.getWeight(); // weight unit\r\n\r\n this.mav = this.getChampValue(front, \"1\") + this.getChampValue(front, \"2\"); // Front-mounted tool weight + Front-loaded content weight - KG\r\n this.mar = this.getChampValue(rear, \"16\") + this.getChampValue(rear, \"17\"); // Rear-mounted tool weight + Rear-loaded content weight - KG\r\n this.pav = this.getChampValue(tractor, \"5\"); // TRACTOR FRONT WEIGHT - KG\r\n this.par = this.getChampValue(tractor, \"10\"); // TRACTOR REAR WEIGHT -KG\r\n this.lav = this.getChampValue(tractor, \"7\"); // FRONT WHEEL BALLAST - KG\r\n this.lar = this.getChampValue(tractor, \"9\"); // REAR WHEEL BALLAST - KG\r\n this.dav = this.getChampValue(front, \"3\"); // FRONT DISTANCE - M\r\n this.dar = this.getChampValue(rear, \"11\"); // REAR LOADED DISTANCE - M\r\n this.e = this.getChampValue(tractor, \"8\"); // WHEELBASE - M\r\n let P = this.getChampValue(tractor, \"4\"); // TRACTOR HORSEPOWER - HP\r\n let D1 = this.getChampValue(rear, \"24\"); // WORKING DEPTH A\r\n let D2 = this.getChampValue(rear, \"25\"); // WORKING DEPTH B\r\n let dents = this.getChampValue(rear, \"13\"); // NUMBER OF PLOUGHSHARES - PCS\r\n let socs = this.getChampValue(rear, \"14\"); // NUMBER OF TEETH - PCS\r\n let rcar = this.getChampValue(rear, \"15\"); // LOAD TRANSFER - KG\r\n let V = this.getChampValue(rear, \"20\"); // WORKING SPEED - KM/H\r\n let toolWeight = this.getChampValue(rear, \"16\"); // REAR MOUNTED TOOL WEIGHT\r\n let arrowsNumber = this.getChampValue(rear, \"22\"); // REAR NUMBER OF ARROWS\r\n let fullToolWeight = this.getChampValue(rear, \"23\");// REAR TOTAL TOOL WEIGHT\r\n let toolLink = this.getChampValue(rear, \"11a\"); // REAR TOOL LINK\r\n\r\n let re = 0;\r\n let M = 0;\r\n if (rear.id == \"15\") {\r\n M = this.getChampValue(rear, \"21\"); // Poids du contenu -KG\r\n }\r\n else {\r\n M = this.getChampValue(rear, \"19\"); // Masses with offset - KG\r\n }\r\n\r\n //calculates load on the front/rear axle\r\n if (rear.type === 'Ap1' || rear.type === 'Ap2') {\r\n this.cav = (this.pav + this.lav) + (this.mav * (this.dav + this.e) - (this.mar * this.dar)) / this.e;\r\n this.car = (this.par + this.lar) + (this.mar * (this.dar + this.e) - (this.mav * this.dav)) / this.e;\r\n }\r\n if (rear.type === 'Ap2a') {\r\n this.cav = (this.pav + this.lav) + (this.mav * (this.dav + this.e) - (this.mar * this.dar)) / this.e;\r\n this.car = (this.par + this.lar) + ((this.mar / (1 - (D1 / 2))) * (this.dar + this.e) - (this.mav * this.dav)) / this.e;\r\n }\r\n if (rear.type === 'Ap2b') {\r\n this.cav = (this.pav + this.lav) + (this.mav * (this.dav + this.e) - (this.mar * this.dar)) / this.e;\r\n this.car = (this.par + this.lar) + ((this.mar * (0.8 + D2)) * (this.dar + this.e) - (this.mav * this.dav)) / this.e;\r\n }\r\n else if (rear.type === 'At1') {\r\n if (unit != Unit.kg) {\r\n //LB\r\n if (dents === 0) {\r\n rcar = socs * 220.5;\r\n }\r\n else {\r\n rcar = dents * 990.25;\r\n }\r\n this.cav = (this.pav + this.lav) + (this.mav * (this.dav + this.e) - (rcar * 3.94)) / this.e;\r\n this.car = (this.par + this.lar) + (rcar * (3.94 + this.e) - (this.mav * this.dav)) / this.e;\r\n }\r\n else {\r\n if (dents === 0) {\r\n rcar = socs * 100;\r\n }\r\n else {\r\n rcar = dents * 450;\r\n }\r\n\r\n this.cav = (this.pav + this.lav) + (this.mav * (this.dav + this.e) - (rcar * 1.2)) / this.e;\r\n this.car = (this.par + this.lar) + (rcar * ((1.2) + this.e) - (this.mav * this.dav)) / this.e;\r\n\r\n }\r\n }\r\n else if (rear.type === 'At2' || rear.type === 'At3') {\r\n if (unit != Unit.kg) {\r\n re = P * 34.162 / V;\r\n }\r\n else {\r\n re = P * 25 / V;\r\n }\r\n this.cav = (this.pav - re + this.lav) + (this.mav * (this.dav + this.e) - (M * this.dar)) / this.e;\r\n this.car = (this.par + re + this.lar) + (M * (this.dar + this.e) - (this.mav * this.dav)) / this.e;\r\n }\r\n else if (rear.type === 'At2a') {\r\n if (unit != Unit.kg) {\r\n re = P * 34.162 / V;\r\n }\r\n else {\r\n re = P * 25 / V;\r\n }\r\n this.cav = ((this.pav - re + this.lav) + (this.mav * (this.dav + this.e) - (M * this.dar)) / this.e) - ((((P * 12) / V) + (toolWeight * 0.3)) * 0.35);\r\n this.car = ((this.par + re + this.lar) + (M * (this.dar + this.e) - (this.mav * this.dav)) / this.e) + ((((P * 12) / V) + (toolWeight * 0.3)) * 1.35);\r\n }\r\n else if (rear.type === 'At2b') {\r\n if (unit != Unit.kg) {\r\n re = P * 34.162 / V;\r\n }\r\n else {\r\n re = P * 25 / V;\r\n }\r\n re = 1600 * arrowsNumber * 0.19;\r\n this.cav = ((this.pav - re + this.lav) + (this.mav * (this.dav + this.e) - (M * this.dar)) / this.e) - ((fullToolWeight * 0.15 * toolLink) / this.e);\r\n this.car = ((this.par + re + this.lar) + (M * (this.dar + this.e) - (this.mav * this.dav)) / this.e) + (fullToolWeight * 0.15 * (1 + (toolLink / this.e)));\r\n }\r\n else if (rear.type === 'Arem') {\r\n if (unit != Unit.kg) {\r\n this.cav = (this.pav + this.lav) + (this.mav * (this.dav + this.e) - (rcar * 2.642)) / this.e;\r\n this.car = (this.par + this.lar) + (rcar * (2.62 + this.e) - (this.mav * this.dav)) / this.e;\r\n }\r\n else {\r\n this.cav = (this.pav + this.lav) + (this.mav * (this.dav + this.e) - (rcar * 0.8)) / this.e;\r\n this.car = (this.par + this.lar) + (rcar * (0.8 + this.e) - (this.mav * this.dav)) / this.e;\r\n }\r\n }\r\n\r\n //calculates the repartition\r\n this.px = Math.round((this.cav / (this.cav + this.car)) * 100);\r\n this.py = Math.round((this.car / (this.cav + this.car)) * 100);\r\n\r\n // calculates of rpp (rapport weight/power)\r\n if ((front.type === 'Av1' || front.type === 'Av3') && rear.type === 'Ap1') {\r\n this.rpp = (this.pav + this.mav + this.lav + this.par + this.lar) / P;\r\n }\r\n else if ((front.type === 'Av1' || front.type === 'Av3') && rear.type === 'Ap2') {\r\n this.rpp = (this.pav + this.mav + this.lav + this.par + this.lar + this.mar) / P;\r\n }\r\n else if ((front.type === 'Av2' || front.type === 'Av4') && rear.type === 'Ap1') {\r\n this.rpp = (this.pav + this.mav + this.lav + this.par + this.lar) / P;\r\n }\r\n else if ((front.type === 'Av2' || front.type === 'Av4') && rear.type === 'Ap2') {\r\n this.rpp = (this.pav + this.lav + this.par + this.lar + this.mar) / P;\r\n }\r\n else if (rear.type === 'At1' || rear.type === 'Arem') {\r\n this.rpp = (this.pav + this.par + this.lav + this.lar + this.mav + rcar) / P;\r\n }\r\n else if ((front.type === 'Av1' || front.type === 'Av3') && (rear.type === 'At2' || rear.type === 'At2a')) {\r\n this.rpp = (this.pav + this.mav + this.lav + this.par + this.lar + M) / P;\r\n }\r\n else if ((front.type === 'Av2' || front.type === 'Av4') && (rear.type === 'At2' || rear.type === 'At2a')) {\r\n this.rpp = (this.pav + this.lav + this.par + this.lar + M) / P;\r\n }\r\n else if (rear.type === 'At3') {\r\n this.rpp = (this.pav + this.lav + this.par + this.lar + M) / P;\r\n }\r\n this.rpp = (this.cav + this.car) / P;\r\n\r\n let reco = this.recommandations[rear.reco];\r\n if (reco) {\r\n this.recoID = reco.RecoID;\r\n }\r\n }\r\n }\r\n\r\n getChampValue(machine: Machine, id: string): number {\r\n let champ = this.getChamp(machine, id);\r\n if (!champ) {\r\n return this.machinesProvider.getDefaultValue(id);\r\n }\r\n return +champ.value;\r\n }\r\n\r\n private getChamp(machine: Machine, id: string): Champ {\r\n for (let champ of machine.champs) {\r\n if (champ.id == id) {\r\n return champ;\r\n }\r\n }\r\n }\r\n\r\n getCav(): number {\r\n return Math.round(this.cav);\r\n }\r\n\r\n getCar(): number {\r\n return Math.round(this.car);\r\n }\r\n\r\n getRpp(): number {\r\n return Math.round(this.rpp);\r\n }\r\n\r\n getPx(): number {\r\n return Math.round(this.px);\r\n }\r\n\r\n getPy(): number {\r\n return Math.round(this.py);\r\n }\r\n\r\n getRecoID(): string {\r\n return this.recoID;\r\n }\r\n\r\n getRecommandations() {\r\n this.translate.get(\"Recommandations\").subscribe(recommandations => {\r\n this.recommandations = recommandations;\r\n });\r\n return this.recommandations;\r\n }\r\n\r\n parsePressureCalc(response) {\r\n let responseArray = response.Table, i, speeds = {};\r\n for (i = 0; i < responseArray.length; i += 1) {\r\n let property = responseArray[i];\r\n\r\n if (!speeds.hasOwnProperty(\"id_\" + property.Speed)) {\r\n speeds[\"id_\" + property.Speed] = {};\r\n }\r\n\r\n let pressure = property[\"Pressure\"];\r\n let pressurePsi = property[\"Pressure psi\"];\r\n\r\n speeds[\"id_\" + property.Speed][\"id_\" + i] = {\r\n \"Speed\": property.Speed,\r\n \"Load\": property.Load,\r\n \"Pressure\": pressure.replace(\",\", \".\"),\r\n \"Pressure_x0020_psi\": pressurePsi.replace(\",\", \".\")\r\n }\r\n }\r\n return speeds;\r\n }\r\n\r\n sortPressureCalc(axleLoad, noOfTyres, thisTyreData, id_code, innerWidth) {\r\n let load,\r\n tyre = axleLoad,\r\n tyreData,\r\n data,\r\n thisObj,\r\n dataLabel,\r\n closest,\r\n minVal,\r\n maxVal,\r\n closestArray = [],\r\n speedExt,\r\n sortOrder,\r\n hideArray = [\"loader\"];\r\n\r\n // IF NO EURO-UNITS\r\n axleLoad = (this.unitsProvider.getSpeed() == Unit.kmh) ? parseFloat(axleLoad) : parseFloat(axleLoad) / 2.20462;\r\n\r\n if (noOfTyres === \"dual\") {\r\n load = axleLoad / 4;\r\n load = load / 0.88;\r\n }\r\n else if (noOfTyres === \"triples\") {\r\n load = axleLoad / 6;\r\n load = load / 0.82;\r\n }\r\n else {\r\n load = axleLoad / 2;\r\n }\r\n\r\n for (tyreData in thisTyreData) {\r\n closest = null;\r\n minVal = 100000;\r\n maxVal = 0;\r\n dataLabel = {};\r\n speedExt = \"\";\r\n sortOrder = 999;\r\n\r\n let loadArray = [];\r\n\r\n for (data in thisTyreData[tyreData]) {\r\n loadArray.push(thisTyreData[tyreData][data]);\r\n }\r\n\r\n thisObj = this.getPressure(loadArray, load);\r\n\r\n thisObj.speedType = 0;\r\n\r\n if (thisObj.type === -3) {\r\n thisObj.speedType = -3;\r\n thisObj.speed = this.trimSpeed(thisObj.Speed);\r\n }\r\n\r\n if (thisObj.type === -2) {\r\n thisObj.speedType = -2;\r\n }\r\n\r\n if (thisObj.calcPressure === -1 && thisObj.speedType !== -3) {\r\n thisObj.speed = \"-\";\r\n thisObj.speedType = -3;\r\n\r\n if (thisObj.calcPressure == -1 && data.speedType == -3) {\r\n thisObj.speed = this.trimSpeed(thisObj.Speed);\r\n thisObj.speedType = -3;\r\n }\r\n }\r\n else {\r\n thisObj.speed = this.trimSpeed(thisObj.Speed);\r\n }\r\n\r\n dataLabel = {\r\n \"sort\": this.sort(thisObj.speed),\r\n \"tooHigh\": thisObj.type === -3,\r\n \"isLowest\": thisObj.type === -2,\r\n \"Speed\": thisObj.speed,\r\n \"Load\": parseFloat(thisObj.Load),\r\n \"Pressure_x0020_psi\": (thisObj.calcPressure === undefined) ? \"-\" : thisObj.calcPressure.toFixed(1),\r\n \"Pressure\": (thisObj.calcPressure === undefined) ? \"-\" : thisObj.calcPressure.toFixed(1),\r\n \"recommendations\": this.recommendations(tyre, id_code),\r\n \"visible\": (hideArray.indexOf(thisObj.speed.toLowerCase()) > -1) ? false : true\r\n }\r\n\r\n dataLabel.Pressure_x0020_psi = (thisObj.calcPressure === -1) ? \"-\" : dataLabel.Pressure_x0020_psi;\r\n dataLabel.Pressure = (thisObj.calcPressure === -1) ? \"-\" : dataLabel.Pressure;\r\n\r\n closestArray.push(dataLabel);\r\n }\r\n\r\n closestArray = closestArray.sort(function (a, b) {\r\n return a.sort - b.sort;\r\n });\r\n for (let value of closestArray) {\r\n if (value.Speed === \"10 ht\" || value.Speed === \"10\") {\r\n let pressure = +value.Pressure;\r\n if (pressure < 1) {\r\n if (innerWidth < 1030) {\r\n value.Pressure = value.Pressure + \"**\";\r\n }\r\n else {\r\n value.Pressure = \"**\";\r\n }\r\n }\r\n }\r\n }\r\n return closestArray;\r\n }\r\n\r\n sort(string) {\r\n if (string === undefined) {\r\n return;\r\n }\r\n\r\n let isNumber = string.match(/^[0-9]+$/) !== null,\r\n sortNumbers = [\"\", \"0\", \"5\", \"9\", \"10\", \"15\", \"20\", \"22\", \"25\", \"30\", \"35\", \"40\", \"43\", \"50\", \"65\", \"70\", \"f\"],\r\n sortLetters = [\"stat\", \"cyc\", \"c\", \"ht\", \"ltvht\", \"ltht\", \"ltlt\", \"vht\", \"lt\", \"htvht\", \"htht\", \"htlt\", \"r\", \"road\", \"df\", \"fs\", \"<\"],\r\n sortExceptions = [\"stat\", \"10c\", \"5c\", \"10cyc\", \"5cyc\", \"10ltvht\", \"10ht\", \"10ltht\", \"10ltlt\", \"10htvht\", \"10htht\", \"10htlt\", \"5ltvht\", \"5ht\", \"5ltht\", \"5ltlt\", \"5htvht\", \"5htht\", \"5htlt\", \"5vht\", \"10vht\", \"10lt\", \"5lt\", \"15cyc\", \"9cyc\"],\r\n sort = 999;\r\n\r\n if (isNumber || string === \"f\" || string === \"F\") {\r\n string = string.toString().replace(/ /g, '').toLowerCase();\r\n sort = sortNumbers.indexOf(string) + 200;\r\n\r\n }\r\n else {\r\n if (string.match(/\\d+/g) !== null) {\r\n if (sortExceptions.indexOf(string.replace(/ /g, '')) > -1) {\r\n sort = sortExceptions.indexOf(string.replace(/ /g, ''));\r\n }\r\n else {\r\n string = parseFloat(string).toString().replace(/ /g, '').toLowerCase();\r\n\r\n if (sortExceptions.indexOf(string.replace(/ /g, '')) !== -1) {\r\n sort = sortExceptions.indexOf(string.replace(/ /g, ''));\r\n }\r\n else {\r\n sort = sortNumbers.indexOf(string) + 200;\r\n }\r\n }\r\n }\r\n else {\r\n string = string.replace(/\\d/g, '').replace(/ /g, '').toLowerCase();\r\n if (sortExceptions.indexOf(string.replace(/ /g, '')) !== -1) {\r\n sort = sortExceptions.indexOf(string.replace(/ /g, ''));\r\n }\r\n else {\r\n sort = sortLetters.indexOf(string) + 100;\r\n }\r\n }\r\n }\r\n\r\n return sort;\r\n }\r\n\r\n getPressure(dataList, tireLoad) {\r\n let pressure,\r\n type = 0,\r\n thisObj;\r\n\r\n if (!dataList) {\r\n return null;\r\n }\r\n\r\n dataList = dataList.sort(function (a, b) {\r\n return parseFloat(a.Load) - parseFloat(b.Load);\r\n })\r\n for (let i = 0; i < dataList.length; i += 1) {\r\n thisObj = dataList[i];\r\n dataList[i].Load = parseFloat(dataList[i].Load);\r\n dataList[i].Pressure = parseFloat(dataList[i].Pressure);\r\n dataList[i].Pressure_x0020_psi = parseFloat(dataList[i].Pressure_x0020_psi);\r\n\r\n if (i !== dataList.length - 1 && (tireLoad > dataList[i].Load) && (tireLoad < dataList[i + 1].Load)) {\r\n let lpsBelow = dataList[i],\r\n lpsAbove = dataList[i + 1],\r\n pressureBelow,\r\n pressureAbove;\r\n\r\n if (this.unitsProvider.getSpeed() == Unit.kmh) {\r\n pressureBelow = parseFloat(lpsBelow.Pressure);\r\n pressureAbove = parseFloat(lpsAbove.Pressure);\r\n }\r\n else {\r\n pressureBelow = parseFloat(lpsBelow.Pressure_x0020_psi);\r\n pressureAbove = parseFloat(lpsAbove.Pressure_x0020_psi);\r\n }\r\n\r\n let loadAvg = (parseFloat(lpsBelow.Load) + parseFloat(lpsAbove.Load)) / 2;\r\n\r\n if (tireLoad < (loadAvg)) {\r\n // below avg\r\n let pressureAvg = (pressureBelow + pressureAbove) / 2;\r\n pressure = pressureAvg;\r\n pressure = Math.round(pressure * 10) / 10;\r\n }\r\n else {\r\n // above avg\r\n pressure = pressureAbove;\r\n }\r\n\r\n type = 1;\r\n\r\n break;\r\n }\r\n else if (tireLoad === dataList[i].Load) {\r\n if (this.unitsProvider.getSpeed() == Unit.kmh) {\r\n pressure = dataList[i].Pressure;\r\n }\r\n else {\r\n pressure = dataList[i].Pressure_x0020_psi;\r\n }\r\n\r\n type = 1;\r\n\r\n break;\r\n }\r\n else if (i === 0 && (tireLoad < dataList[i].Load)) {\r\n if (this.unitsProvider.getSpeed() == Unit.kmh) {\r\n pressure = dataList[i].Pressure;\r\n type = -2;\r\n } else {\r\n pressure = dataList[i].Pressure_x0020_psi;\r\n type = -2;\r\n }\r\n\r\n break;\r\n }\r\n else if (i === (dataList.length - 1) && (tireLoad > dataList[i].Load)) {\r\n if (this.unitsProvider.getSpeed() == Unit.kmh) {\r\n pressure = -1;\r\n type = -3;\r\n }\r\n else {\r\n pressure = -1;\r\n type = -3;\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n thisObj.calcPressure = pressure;\r\n thisObj.type = type;\r\n\r\n return thisObj;\r\n }\r\n\r\n customReplace(speed, replace, replacement) {\r\n let string = speed.toLowerCase().replace(/^\\/|\\/$/g, ''),\r\n toReplace = replace.toLowerCase().replace(/^\\/|\\/$/g, '');\r\n\r\n return string.replace(toReplace, replacement)\r\n }\r\n\r\n trimSpeed(speed) {\r\n speed = this.customReplace(speed, \"LT,VHTE\", \" LT VHT\");\r\n speed = this.customReplace(speed, \"LT,HTE\", \" LT HT\");\r\n speed = this.customReplace(speed, \"LT,LTE\", \" LT LT\");\r\n\r\n speed = this.customReplace(speed, \"HT,VHTE\", \" HT VHT\")\r\n speed = this.customReplace(speed, \"HT,HTE\", \" HT HT\");\r\n speed = this.customReplace(speed, \"HT,LTE\", \" HT LT\");\r\n speed = this.customReplace(speed, \"HT/30\", \" HT\");\r\n\r\n speed = this.customReplace(speed, \"Field Service (*)\", \" FS\");\r\n speed = this.customReplace(speed, \"FieldService (*)\", \" FS\");\r\n speed = this.customReplace(speed, \"Dual Fitment\", \" DF\");\r\n speed = this.customReplace(speed, \"Agro Industrial\", \" STAT\");\r\n\r\n speed = this.customReplace(speed, \"Very Heavy Terrain\", \" VHT\");\r\n speed = this.customReplace(speed, \"very heavy terrain\", \" VHT\");\r\n speed = this.customReplace(speed, \"heavy terrain\", \" HT\");\r\n speed = this.customReplace(speed, \"Heavy Terrain\", \" HT\");\r\n speed = this.customReplace(speed, \"light terrain\", \" LT\");\r\n speed = this.customReplace(speed, \"Light Terrain\", \" LT\");\r\n\r\n speed = this.customReplace(speed, \"road\", \" R\");\r\n\r\n speed = this.customReplace(speed, \"Stat S\", \" STAT\");\r\n speed = this.customReplace(speed, \" Cyc S \", \" CYC\");\r\n\r\n speed = (speed.match(/^10HT\\/30$/) !== null) ? speed.replace(speed, \"10 HT\") : speed;\r\n speed = (speed.match(/^HT\\/$/) !== null) ? speed.replace(speed, \"5 HT\") : speed;\r\n\r\n speed = this.customReplace(speed, \"F\", \"F\");\r\n speed = this.customReplace(speed, \"Up to\", \"< \");\r\n speed = this.customReplace(speed, \"(*)\", \"\");\r\n speed = this.customReplace(speed, \"C\", \" C\");\r\n\r\n speed = speed.replace(\"NaN\", \"\");\r\n\r\n speed = (speed.toLowerCase().replace(/^\\/|\\/$/g, '') !== \" stat\") ? this.customReplace(speed, \" s\", \"\") : speed;\r\n\r\n if (speed.indexOf(\"UP TP\") > -1 || speed.indexOf(\"UP TO\") > -1 || speed.indexOf(\"km/h\") > -1 || speed.indexOf(\"KM/H\") > -1) {\r\n speed = \"< \" + speed.replace(/[^0-9\\.]+/g, '');\r\n }\r\n\r\n if (this.unitsProvider.getSpeed() != Unit.kmh) {\r\n return this.convertKMtoMPH(speed);\r\n }\r\n else {\r\n return speed;\r\n }\r\n }\r\n\r\n recommendations(tyre, id) {\r\n let intensiveTransportIDS = [\"1328900\", \"1329000\", \"1328600\", \"1329100\", \"1329200\", \"1328700\", \"1329300\"],\r\n tireIDS = [\"TM800\", \"TM800 HS\"],\r\n recommendation = \"\";\r\n\r\n if (intensiveTransportIDS.indexOf(id) > -1) {\r\n recommendation = (this.unitsProvider.getSpeed() == Unit.kmh) ? \"calc_transport_info\" : \"calc_transport_info_alt2\";\r\n }\r\n if (tireIDS.indexOf(tyre[\"Title\"]) > -1) {\r\n recommendation = \"calc_rim_info\";\r\n }\r\n\r\n return recommendation;\r\n }\r\n\r\n convertKMtoMPH(km) {\r\n let usNum,\r\n inputNN = km.replace(/\\d/g, ''),\r\n inputNL = parseFloat(km.replace(/[^0-9\\.]+/g, ''));\r\n\r\n switch (inputNL) {\r\n case 10:\r\n usNum = 5;\r\n break;\r\n case 15:\r\n usNum = 9;\r\n break;\r\n case 20:\r\n usNum = 12;\r\n break;\r\n case 25:\r\n usNum = 15;\r\n break;\r\n case 30:\r\n usNum = 20;\r\n break;\r\n case 35:\r\n usNum = 22;\r\n break;\r\n case 40:\r\n usNum = 25;\r\n break;\r\n case 45:\r\n usNum = 28;\r\n break;\r\n case 50:\r\n usNum = 30;\r\n break;\r\n case 55:\r\n usNum = 34;\r\n break;\r\n case 60:\r\n usNum = 37;\r\n break;\r\n case 65:\r\n usNum = 40;\r\n break;\r\n case 70:\r\n usNum = 43;\r\n break;\r\n default:\r\n usNum = \"\";\r\n }\r\n if (inputNN.replace(/ /g, '') === \"<\") {\r\n return inputNN + usNum;\r\n }\r\n else {\r\n return usNum + inputNN;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/calculations/calculations.ts","import { Component, HostListener, OnInit, ElementRef } from '@angular/core';\r\nimport { Platform, NavController } from 'ionic-angular';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { SignUpPage } from '../signup/signup';\r\nimport { LoginPage } from '../login/login';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-forgot-password',\r\n templateUrl: 'forgot-password.html',\r\n})\r\nexport class ForgotPasswordPage implements OnInit {\r\n\r\n public innerWidth: any;\r\n public showConfirmPassword: boolean;\r\n public loading: boolean = false;\r\n public dataResetEmail = {\r\n username: '',\r\n };\r\n public dataResetPassword = {\r\n password: '',\r\n };\r\n\r\n public password: string = \"\";\r\n public confirm_password: string = \"\";\r\n public token: string = \"\";\r\n\r\n openSidebarWarning: boolean = false;\r\n success: boolean = false;\r\n message: string = \"\";\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n constructor(public platform: Platform, public translate: TranslateService, public statusBar: StatusBar, public navCtrl: NavController, public httpProvider: HttpProvider, public plt: Platform, public configurationsProvider: ConfigurationsProvider, private nativePageTransitions: NativePageTransitions, private elRef: ElementRef) {\r\n this.innerWidth = window.innerWidth;\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.hide();\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.show();\r\n let marginKeyboard = this.elRef.nativeElement.querySelector('ion-content.margin-keyboard');\r\n if (marginKeyboard) {\r\n marginKeyboard.classList.remove(\"margin-keyboard\");\r\n }\r\n let scrollContent = this.elRef.nativeElement.querySelector('div.scroll-content');\r\n if (scrollContent) {\r\n scrollContent.style.marginBottom = \"8rem\";\r\n }\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n this.showConfirmPassword = false;\r\n }\r\n\r\n checkDevice(): boolean {\r\n if (this.innerWidth < 1030) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n if (this.innerWidth >= 1030) {\r\n this.checkDevice();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n checkPassword(): boolean {\r\n if (this.dataResetPassword && this.dataResetPassword.password !== '' && this.confirm_password !== '') {\r\n if (this.dataResetPassword.password === this.confirm_password) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n resetEmail() {\r\n this.loading = true;\r\n this.httpProvider.setForgot(this.dataResetEmail)\r\n .subscribe(result => {\r\n if (result['status'] === \"ok\") {\r\n let res = result['data'];\r\n if (res) {\r\n this.success = true;\r\n this.message = res.msg;\r\n this.openSidebarWarning = true;\r\n this.token = result['data'].token;\r\n this.showConfirmPassword = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n }\r\n }\r\n this.loading = false;\r\n }, (err) => {\r\n if (err['status'] !== 200) {\r\n this.message = this.translate.instant(\"forgot-ko\");\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n resetPassword() {\r\n this.loading = true;\r\n this.httpProvider.setReset(this.token, this.dataResetPassword)\r\n .subscribe(result => {\r\n if (result['status'] === \"ok\") {\r\n let res = result['data'];\r\n if (res) {\r\n this.success = true;\r\n this.message = res.msg;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.navCtrl.setRoot(LoginPage, {}, { animate: true, direction: 'back' });\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n }\r\n }\r\n this.loading = false;\r\n }, (err) => {\r\n if (err['status'] !== 200) {\r\n let error = err['error'];\r\n if (error) {\r\n this.message = error[0].msg;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n }\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n goToLogin() {\r\n let options = this.configurationsProvider.getOptions(\"down\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(LoginPage, {}, { animate: false });\r\n }\r\n\r\n goToSignUp() {\r\n this.navCtrl.push(SignUpPage, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/forgot-password/forgot-password.ts","import { Component, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NavController, ToastController, Platform, AlertController, Toast } from 'ionic-angular';\r\nimport { TpmsProvider } from '../../../providers/tpms/tpms';\r\nimport { PairingProvider } from '../../../providers/pairing/pairing';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { PressurePage } from '../pressure/pressure';\r\nimport { BLE } from '@ionic-native/ble';\r\nimport { PopoverController } from 'ionic-angular';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { Tractor } from '../../../model/tractor';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\n\r\n@Component({\r\n selector: 'page-pairing',\r\n templateUrl: 'pairing.html',\r\n})\r\nexport class PairingPage {\r\n\r\n @ViewChild(\"pageSlider\") pageSlider: any;\r\n public alertFlag = [];\r\n public dotActive = [];\r\n public selectWheel = [];\r\n public selectGateway: string;\r\n public selectDefaultGateway: string;\r\n public selectDefault: string;\r\n public pairingAnimation: boolean = false;\r\n public pairingDongleAnimation: boolean = false;\r\n public optionPair: boolean = false;\r\n public allPaired: boolean = false;\r\n public myFleet = new Tractor();\r\n toast: Toast;\r\n openSidebarDongle: boolean = false;\r\n showDongleButton: boolean = false;\r\n sensorsButton: boolean = false;\r\n openSidebarWarning = [];\r\n default = [];\r\n defaultGateway: boolean = false;\r\n success = [];\r\n successGateway: boolean = false;\r\n pathImage: string = \"assets/imgs/plus/\";\r\n dongleImage: string = this.pathImage + \"dongle_gray.png\";\r\n dongleImageTop: string = this.pathImage + \"dongle_blue.png\";\r\n message: string = \"\"\r\n messageButton: string = \"\";\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n dongleSelected: any;\r\n lastPairing: any;\r\n hideOptionsPairing: boolean;\r\n\r\n public get deviceList() {\r\n return this.tpmsProvider.$deviceList;\r\n }\r\n\r\n public get bsdongle() {\r\n return this.tpmsProvider.$bsdongle;\r\n }\r\n\r\n constructor(public platform: Platform, public httpProvider: HttpProvider, public translate: TranslateService, public navCtrl: NavController, public pairingProvider: PairingProvider, private alertCtrl: AlertController, public tpmsProvider: TpmsProvider, public configurationsProvider: ConfigurationsProvider, private elRef: ElementRef, ble: BLE, public popoverCtrl: PopoverController, private toastCtrl: ToastController, private nativePageTransitions: NativePageTransitions, private cdRef: ChangeDetectorRef) {\r\n this.myFleet = pairingProvider.getMyFleet();\r\n this.hideOptionsPairing = this.myFleet.pairing ? true : false;\r\n this.showDongleButton = this.myFleet.pairing ? true : false;\r\n this.pairingProvider.savePression = false;\r\n this.myFleet && this.myFleet.pairing ? this.pairingDongleAnimation = false : this.pairingDongleAnimation = true;\r\n for (let i = 0; i < this.myFleet.wheels.length; i++) {\r\n this.alertFlag[i] = false;\r\n this.openSidebarWarning[i] = false;\r\n this.default[i] = true;\r\n this.selectWheel.push(translate.instant(\"select-default\"));\r\n }\r\n this.selectDefault = translate.instant(\"select-default\");\r\n this.selectDefaultGateway = translate.instant(\"select-gateway\");\r\n this.selectGateway = translate.instant(\"select-gateway\");\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.myFleet.pairing && this.myFleet.color !== 'gray' && !this.sensorsButton) {\r\n this.configurationsProvider.setLastPair(true);\r\n } else {\r\n this.configurationsProvider.setLastPair(false);\r\n }\r\n if (this.tpmsProvider.isConnected) {\r\n this.tpmsProvider.disconnect().subscribe(() => {\r\n this.initConnection();\r\n });\r\n } else {\r\n this.initConnection();\r\n }\r\n\r\n }\r\n\r\n initConnection() {\r\n if (this.pairingDongleAnimation) {\r\n this.defaultGateway = true;\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-scanning\"),\r\n duration: 2000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n setTimeout(() => {\r\n this.message = this.translate.instant(\"select-your-gateway\");\r\n this.openSidebarDongle = true;\r\n setTimeout(() => {\r\n this.openSidebarDongle = false;\r\n }, 4000);\r\n }, 4000);\r\n }\r\n else {\r\n if (this.pageSlider) {\r\n this.pageSlider.loop = false;\r\n }\r\n if (this.myFleet) {\r\n if (!this.myFleet.pairing) {\r\n this.dongleImage = this.pathImage + \"dongle_gray.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_blue.png\";\r\n }\r\n else if (this.myFleet.pairing) {\r\n this.dongleImage = this.pathImage + \"dongle_green.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_green.png\";\r\n\r\n this.httpProvider.getTractorTires(this.myFleet.machineIdentifier)\r\n .subscribe(result => {\r\n if (result) {\r\n let response: any = result;\r\n let data = response.data;\r\n this.lastPairing = data;\r\n if (this.bsdongle && this.bsdongle.codes) {\r\n this.bsdongle.codes = [];\r\n }\r\n for (let element of data.Tire) {\r\n this.default[element.idTire] = false;\r\n this.success[element.idTire] = true;\r\n let index = this.myFleet.bsdongle.codes.findIndex(function (el) {\r\n return el.code == element.codiceSensore;\r\n });\r\n if (index === -1) {\r\n this.bsdongle.codes.push(\r\n {\r\n code: element.codiceSensore,\r\n newValue: true,\r\n pressure: 0.00\r\n }\r\n );\r\n }\r\n this.selectWheel[element.idTire] = element.codiceSensore;\r\n };\r\n if (data.Tire && data.Tire.length === 0) {\r\n if (this.myFleet && this.myFleet.wheels) {\r\n for (let i = 0; i < this.myFleet.wheels.length; i++) {\r\n this.default[i] = false;\r\n this.success[i] = true;\r\n };\r\n }\r\n let alert = this.alertCtrl.create({\r\n title: this.translate.instant(\"alert\"),\r\n subTitle: this.translate.instant(\"sensors-not-found\"),\r\n buttons: ['OK']\r\n });\r\n alert.present();\r\n }\r\n let lastPair = this.elRef.nativeElement.querySelector('#last-pair');\r\n if (lastPair) {\r\n setTimeout(() => {\r\n lastPair.click();\r\n }, 600, 1);\r\n }\r\n setTimeout(() => {\r\n if (this.pageSlider) {\r\n this.message = this.translate.instant(\"all-tyre-paired\");\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = true;\r\n this.allPaired = true;\r\n setTimeout(() => {\r\n if (this.pageSlider) {\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = false;\r\n }\r\n }, 4000);\r\n }\r\n }, 800, 1);\r\n }\r\n\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n });\r\n if (this.myFleet.idGateway) {\r\n this.dongleSelected = undefined;\r\n this.tpmsProvider.$deviceList.forEach(device => {\r\n if (device.id === this.myFleet.idGateway)\r\n this.dongleSelected = device;\r\n });\r\n if (this.dongleSelected) {\r\n this.tpmsProvider.start(this.dongleSelected);\r\n }\r\n }\r\n }\r\n else {\r\n this.dongleImage = this.pathImage + \"dongle_red.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_red.png\";\r\n }\r\n }\r\n }\r\n this.tpmsProvider.scanDevices().subscribe(success => {\r\n if (success === \"scan\") {\r\n if (this.toast) {\r\n this.toast.dismiss();\r\n }\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-found\"),\r\n duration: 2000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n if (this.myFleet.idGateway) {\r\n this.tpmsProvider.$deviceList.forEach(device => {\r\n if (device.id === this.myFleet.idGateway)\r\n this.dongleSelected = device;\r\n });\r\n if (this.dongleSelected) {\r\n this.tpmsProvider.start(this.dongleSelected);\r\n }\r\n }\r\n }\r\n else {\r\n if (this.toast) {\r\n this.toast.dismiss();\r\n }\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-not-found\"),\r\n duration: 4000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n }\r\n }, (error) => {\r\n if (error === \"not found\") {\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-not-found\"),\r\n duration: 4000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n }\r\n });\r\n }\r\n\r\n slideChanged() {\r\n if (this.pageSlider) {\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = false;\r\n }\r\n }\r\n\r\n prevPage() {\r\n this.pageSlider.slidePrev();\r\n }\r\n\r\n nextPage() {\r\n this.pageSlider.slideNext();\r\n }\r\n\r\n goToPressurePage() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(PressurePage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(PressurePage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n resetColorSensor() {\r\n setTimeout(() => {\r\n if (this.myFleet && this.myFleet.wheels && this.myFleet.wheels.length > 0) {\r\n this.selectWheel = [];\r\n for (let i = 0; i < this.myFleet.wheels.length; i++) {\r\n this.default[i] = true;\r\n this.success[i] = false;\r\n this.selectWheel.push(this.translate.instant(\"select-default\"));\r\n };\r\n let tire = this.elRef.nativeElement.querySelector('.img-size');\r\n if (tire) {\r\n setTimeout(() => {\r\n tire.click();\r\n }, 600, 1);\r\n }\r\n }\r\n }, 100, 1);\r\n }\r\n\r\n checkPairingPage() {\r\n setTimeout(() => {\r\n if (this.pageSlider) {\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = false;\r\n }\r\n }, 500, 1);\r\n this.openSidebarDongle = false;\r\n this.showDongleButton = false;\r\n if (this.successGateway) {\r\n this.sensorsButton = true;\r\n this.pairingDongleAnimation = false;\r\n this.tpmsProvider.$deviceList.forEach(device => {\r\n if (device.id === this.selectGateway)\r\n this.dongleSelected = device;\r\n });\r\n this.resetColorSensor();\r\n if (this.dongleSelected) {\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-sensor-scanning\"),\r\n duration: 2000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n this.tpmsProvider.start(this.dongleSelected);\r\n }\r\n }\r\n }\r\n\r\n checkDongle() {\r\n this.pairingAnimation = true;\r\n setTimeout(() => {\r\n this.pairingAnimation = false;\r\n this.defaultGateway = false;\r\n this.selectGateway !== this.selectDefaultGateway ? this.successGateway = true : this.successGateway = false;\r\n if (this.successGateway) {\r\n this.message = this.translate.instant(\"gateway-paired\");\r\n this.messageButton = this.translate.instant(\"pair-sensor\");\r\n this.dongleImage = this.pathImage + \"dongle_green.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_green.png\";\r\n this.myFleet.idGateway = this.selectGateway;\r\n this.httpProvider.saveDongle(this.myFleet._id, this.selectGateway, true)\r\n .subscribe(result => {\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n });\r\n if (this.myFleet.idGateway) {\r\n this.tpmsProvider.$deviceList.forEach(device => {\r\n if (device.id === this.myFleet.idGateway)\r\n this.dongleSelected = device;\r\n });\r\n if (this.dongleSelected) {\r\n this.tpmsProvider.start(this.dongleSelected);\r\n }\r\n }\r\n }\r\n else {\r\n this.message = this.translate.instant(\"error-paired\");\r\n this.messageButton = this.translate.instant(\"try-again\") + \" !\";\r\n this.dongleImage = this.pathImage + \"dongle_red.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_red.png\";\r\n }\r\n this.openSidebarDongle = true;\r\n this.showDongleButton = true;\r\n setTimeout(() => {\r\n this.openSidebarDongle = false;\r\n }, 4000);\r\n }, 3000);\r\n }\r\n\r\n getTyreTranslated(i: number): string {\r\n let tyre = \"\";\r\n if (this.myFleet.wheels && this.myFleet.wheels.length === 4) {\r\n if (i === 0) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (i === 1) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (i === 2) {\r\n tyre = this.translate.instant(\"rear-tyre-left\");\r\n }\r\n else if (i === 3) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n }\r\n else if (this.myFleet.wheels && this.myFleet.wheels.length === 6) {\r\n if (i === 0) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (i === 1) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (i === 2) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (i === 3) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (i === 4) {\r\n tyre = this.translate.instant(\"rear-tyre-left\");\r\n }\r\n else if (i === 5) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n }\r\n else if (this.myFleet.wheels && this.myFleet.wheels.length === 8) {\r\n if (i === 0) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (i === 1) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (i === 2) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (i === 3) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (i === 4) {\r\n tyre = this.translate.instant(\"rear-tyre-left\");\r\n }\r\n else if (i === 5) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n else if (i === 6) {\r\n tyre = this.translate.instant(\"rear-tyre-left\");\r\n }\r\n else if (i === 7) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n }\r\n return tyre;\r\n }\r\n\r\n switchDongle(bool: boolean) {\r\n this.optionPair = bool;\r\n this.pairingDongleAnimation = bool;\r\n !bool ? this.configurationsProvider.setLastPair(true) : this.configurationsProvider.setLastPair(false);\r\n }\r\n\r\n checkColorPairing() {\r\n if (this.myFleet) {\r\n if (this.myFleet.color === \"gray\") {\r\n this.dongleImage = this.pathImage + \"dongle_gray.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_blue.png\";\r\n }\r\n else if (this.myFleet.pairing || this.myFleet.color === \"green\") {\r\n this.dongleImage = this.pathImage + \"dongle_green.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_green.png\";\r\n }\r\n else {\r\n this.dongleImage = this.pathImage + \"dongle_red.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_red.png\";\r\n }\r\n }\r\n if (this.lastPairing) {\r\n for (let element of this.lastPairing.Tire) {\r\n this.default[element.idTire] = false;\r\n this.success[element.idTire] = true;\r\n this.selectWheel[element.idTire] = element.codiceSensore;\r\n };\r\n }\r\n let lastPair = this.elRef.nativeElement.querySelector('#last-pair');\r\n if (lastPair) {\r\n setTimeout(() => {\r\n lastPair.click();\r\n if (this.myFleet.pairing) {\r\n if (this.pageSlider) {\r\n this.message = this.translate.instant(\"all-tyre-paired\");\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = true;\r\n this.allPaired = true;\r\n setTimeout(() => {\r\n if (this.pageSlider) {\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = false;\r\n }\r\n }, 4000);\r\n }\r\n }\r\n }, 600, 1);\r\n }\r\n }\r\n\r\n resetPairing() {\r\n this.defaultGateway = true;\r\n this.successGateway = false;\r\n this.dongleImage = this.pathImage + \"dongle_gray.png\";\r\n this.dongleImageTop = this.pathImage + \"dongle_blue.png\";\r\n\r\n this.allPaired = false;\r\n this.showDongleButton = false;\r\n\r\n }\r\n\r\n checkAllPaired() {\r\n let allPaired: boolean;\r\n for (let val of this.alertFlag) {\r\n if (!val) {\r\n allPaired = false;\r\n break;\r\n }\r\n else {\r\n allPaired = true;\r\n }\r\n }\r\n if (allPaired) {\r\n if (this.pageSlider) {\r\n this.message = this.translate.instant(\"all-tyre-paired\");\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = true;\r\n this.allPaired = true;\r\n setTimeout(() => {\r\n if (this.pageSlider) {\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = false;\r\n }\r\n }, 4000);\r\n }\r\n }\r\n }\r\n\r\n checkPairing() {\r\n this.default[this.pageSlider.getActiveIndex()] = true;\r\n if (this.selectWheel[this.pageSlider.getActiveIndex()] !== this.selectDefault && this.selectWheel[this.pageSlider.getActiveIndex()] != \"Searching...\") {\r\n this.alertFlag[this.pageSlider.getActiveIndex()] = true;\r\n this.myFleet.bsdongle[this.pageSlider.getActiveIndex()]\r\n = this.pairingProvider.getByCode(this.selectWheel[this.pageSlider.getActiveIndex()]);\r\n\r\n let allPaired: boolean;\r\n for (let val of this.alertFlag) {\r\n if (!val) {\r\n allPaired = false;\r\n break;\r\n }\r\n else {\r\n allPaired = true;\r\n }\r\n }\r\n if (allPaired) {\r\n this.pairingAnimation = true;\r\n setTimeout(() => {\r\n this.pairingAnimation = false;\r\n this.dotActive[this.pageSlider.getActiveIndex()] = this.elRef.nativeElement.querySelector('.swiper-pagination-bullet-active');\r\n this.dotActive[this.pageSlider.getActiveIndex()].style.background = \"#4e9100\";\r\n this.default[this.pageSlider.getActiveIndex()] = false;\r\n this.success[this.pageSlider.getActiveIndex()] = true;\r\n this.message = this.translate.instant(\"all-tyre-paired\");\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = true;\r\n this.allPaired = true;\r\n setTimeout(() => {\r\n if (this.pageSlider) {\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = false;\r\n }\r\n }, 4000);\r\n }, 3000);\r\n }\r\n else {\r\n this.allPaired = false;\r\n this.pairingAnimation = true;\r\n setTimeout(() => {\r\n this.pairingAnimation = false;\r\n this.dotActive[this.pageSlider.getActiveIndex()] = this.elRef.nativeElement.querySelector('.swiper-pagination-bullet-active');\r\n this.dotActive[this.pageSlider.getActiveIndex()].style.background = \"#4e9100\";\r\n this.default[this.pageSlider.getActiveIndex()] = false;\r\n this.success[this.pageSlider.getActiveIndex()] = true;\r\n let paired = this.translate.instant(\"tyre-paired\");\r\n let tyre = this.getTyreTranslated(this.pageSlider.getActiveIndex());\r\n this.message = paired.replace(\"-\", tyre);\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = true;\r\n setTimeout(() => {\r\n if (this.pageSlider) {\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = false;\r\n }\r\n }, 4000);\r\n }, 3000);\r\n }\r\n let data: any = {\r\n idTire: this.pageSlider.getActiveIndex(),\r\n machineIdentifier: this.myFleet.machineIdentifier,\r\n codiceSensore: this.selectWheel[this.pageSlider.getActiveIndex()],\r\n timestamp: new Date()\r\n }\r\n if (this.selectWheel[this.pageSlider.getActiveIndex()]._id) {\r\n data._id = this.selectWheel[this.pageSlider.getActiveIndex()]._id;\r\n this.httpProvider.updateTire(data)\r\n .subscribe(result => {\r\n console.log(\"result: \", result);\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n else {\r\n this.httpProvider.saveTire(data)\r\n .subscribe(result => {\r\n console.log(\"result: \", result);\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n else {\r\n this.pairingAnimation = true;\r\n setTimeout(() => {\r\n this.pairingAnimation = false;\r\n this.dotActive[this.pageSlider.getActiveIndex()] = this.elRef.nativeElement.querySelector('.swiper-pagination-bullet-active');\r\n this.dotActive[this.pageSlider.getActiveIndex()].style.background = \"#e22b20\";\r\n this.default[this.pageSlider.getActiveIndex()] = false;\r\n this.success[this.pageSlider.getActiveIndex()] = false;\r\n this.message = this.translate.instant(\"error-paired\");\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = true;\r\n setTimeout(() => {\r\n if (this.pageSlider) {\r\n this.openSidebarWarning[this.pageSlider.getActiveIndex()] = false;\r\n }\r\n }, 4000);\r\n }, 3000);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.toast)\r\n this.toast.dismiss();\r\n clearInterval(this.pairingProvider.interval);\r\n }\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/pairing/pairing.ts","import { Unit } from '../../../model/unit';\r\nimport { UnitsProvider } from '../../../providers/units/units';\r\nimport { Component } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NavController } from 'ionic-angular';\r\nimport { LandingPage } from '../../landing/landing';\r\nimport { PairingProvider } from '../../../providers/pairing/pairing';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { TpmsProvider } from '../../../providers/tpms/tpms';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\n\r\n@Component({\r\n selector: 'page-pressure-target',\r\n templateUrl: 'pressure-target.html'\r\n})\r\nexport class PressureTargetPage {\r\n public urlTractor: string = \"\";\r\n public loading: boolean = true;\r\n\r\n openSidebarWarning = false;\r\n success: boolean = false;\r\n message: string = \"\";\r\n intervalBarId: any;\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n progressPercent: number = 0;\r\n labelFrontPressure = \"N.A.\";\r\n labelRearPressure = \"N.A.\";\r\n dongleSelected: any;\r\n default = '0.0';\r\n range = 0.2;\r\n\r\n public get $myFleet() {\r\n return this.pairingProvider.myFleet;\r\n }\r\n\r\n public get $bsdongle() {\r\n return this.$myFleet.bsdongle;\r\n }\r\n\r\n public get frontSuggestedPressure() {\r\n return this.tpmsProvider.frontSuggestedPressure;\r\n }\r\n\r\n public get rearSuggestedPressure() {\r\n return this.tpmsProvider.rearSuggestedPressure;\r\n }\r\n\r\n public get minFrontSuggestedPressure() {\r\n return this.tpmsProvider.minFrontSuggestedPressure;\r\n }\r\n\r\n public get maxFrontSuggestedPressure() {\r\n return this.tpmsProvider.maxFrontSuggestedPressure;\r\n }\r\n\r\n public get minRearSuggestedPressure() {\r\n return this.tpmsProvider.minRearSuggestedPressure;\r\n }\r\n\r\n public get maxRearSuggestedPressure() {\r\n return this.tpmsProvider.maxRearSuggestedPressure;\r\n }\r\n\r\n constructor(public translate: TranslateService, public unitsProvider: UnitsProvider, public configurationsProvider: ConfigurationsProvider, public navCtrl: NavController, public httpProvider: HttpProvider, public pairingProvider: PairingProvider, private tpmsProvider: TpmsProvider) {\r\n let singleTractor = this.configurationsProvider.getSingleTractor();\r\n if (singleTractor) {\r\n let name = singleTractor.brand.toLowerCase();\r\n if (name !== \"case-ih\" && name !== \"claas\" && name !== \"deutz-fahr\" && name !== \"fendt\" && name !== \"goldoni\" && name !== \"jcb\" && name !== \"john deere\" && name !== \"kubota\" && name !== \"lamborghini\" && name !== \"landini\" && name !== \"massey ferguson\" && name !== \"mccormick\" && name !== \"new holland\" && name !== \"other\" && name !== \"same\") {\r\n name = \"other\";\r\n }\r\n if (name.indexOf(\"valtra\") > -1) {\r\n name = 'valtra';\r\n }\r\n if (singleTractor.frontAxleFitment === \"Single\" && singleTractor.rearAxleFitment === \"Single\") {\r\n this.urlTractor = \"https://tlcapitst.azurewebsites.net/image/\" + name + \"_1_1_1_1.png\";\r\n }\r\n else if (singleTractor.frontAxleFitment === \"Single\" && singleTractor.rearAxleFitment === \"Dual\" || singleTractor.frontAxleFitment === \"Dual\" && singleTractor.rearAxleFitment === \"Single\") {\r\n this.urlTractor = \"https://tlcapitst.azurewebsites.net/image/\" + name + \"_1_1_1_1_1_1.png\";\r\n }\r\n else if (singleTractor.frontAxleFitment === \"Dual\" && singleTractor.rearAxleFitment === \"Dual\") {\r\n this.urlTractor = \"https://tlcapitst.azurewebsites.net/image/\" + name + \"_1_1_1_1_1_1_1_1.png\";\r\n }\r\n\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 1000, 1);\r\n\r\n if (this.unitsProvider.getWeight() == Unit.lb) {\r\n this.range = 0.2 * 14.504;\r\n }\r\n this.tpmsProvider.frontSuggestedPressure = +this.$myFleet.frontTargetPressure.replace('**', '');\r\n if (this.$myFleet.frontTargetPressure && this.$myFleet.frontTargetPressure != \"N.A.\" && !isNaN(+this.$myFleet.frontTargetPressure)) {\r\n if (this.unitsProvider.getWeight() == Unit.lb && this.tpmsProvider.frontSuggestedPressure < 14) {\r\n // se la suggested era in bar convertiamo in psi\r\n this.tpmsProvider.frontSuggestedPressure = +(this.tpmsProvider.frontSuggestedPressure * 14.504).toFixed(1);\r\n }\r\n this.labelFrontPressure = \"\" + this.tpmsProvider.frontSuggestedPressure;\r\n this.tpmsProvider.minFrontSuggestedPressure = this.tpmsProvider.frontSuggestedPressure - this.range;\r\n this.tpmsProvider.maxFrontSuggestedPressure = this.tpmsProvider.frontSuggestedPressure + this.range;\r\n }\r\n this.tpmsProvider.rearSuggestedPressure = +this.$myFleet.rearTargetPressure.replace('**', '');\r\n if (this.$myFleet.rearTargetPressure && this.$myFleet.rearTargetPressure != \"N.A.\" && !isNaN(+this.$myFleet.rearTargetPressure)) {\r\n if (this.unitsProvider.getWeight() == Unit.lb && this.tpmsProvider.rearSuggestedPressure < 14) {\r\n // se la suggested era in bar convertiamo in psi\r\n this.tpmsProvider.rearSuggestedPressure = +(this.tpmsProvider.rearSuggestedPressure * 14.504).toFixed(1);\r\n }\r\n this.labelRearPressure = \"\" + this.tpmsProvider.rearSuggestedPressure;\r\n this.tpmsProvider.minRearSuggestedPressure = this.tpmsProvider.rearSuggestedPressure - this.range;\r\n this.tpmsProvider.maxRearSuggestedPressure = this.tpmsProvider.rearSuggestedPressure + this.range;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n goToLanding() {\r\n this.navCtrl.push(LandingPage, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n frontTyreKO(position: string) {\r\n let i = position == \"left\" ? 0 : 1;\r\n let j = position == \"left\" ? 6 : 7;\r\n // |6|0| --- |1|7|\r\n // -------\r\n // |4|-|2|---|3|-|5|\r\n if (this.$bsdongle[6]) {\r\n //ci sono più di 6 ruote\r\n return (this.$bsdongle[i] && this.$bsdongle[i].pressure <= this.minFrontSuggestedPressure\r\n || this.$bsdongle[i] && this.$bsdongle[i].pressure >= this.maxFrontSuggestedPressure) ||\r\n (this.$bsdongle[j] && this.$bsdongle[j].pressure <= this.minFrontSuggestedPressure\r\n || this.$bsdongle[j] && this.$bsdongle[j].pressure >= this.maxFrontSuggestedPressure);\r\n } else {\r\n // solo 4 ruote\r\n return (this.$bsdongle[i] && this.$bsdongle[i].pressure <= this.minFrontSuggestedPressure\r\n || this.$bsdongle[i] && this.$bsdongle[i].pressure >= this.maxFrontSuggestedPressure)\r\n }\r\n }\r\n\r\n rearTyreKO(position: string) {\r\n let i = position == \"left\" ? 2 : 3;\r\n let j = position == \"left\" ? 4 : 5;\r\n // |6|0| --- |1|7|\r\n // -------\r\n // |4|-|2|---|3|-|5|\r\n if (this.$bsdongle[4]) {\r\n //ci sono più di 6 ruote\r\n return (this.$bsdongle[i] && this.$bsdongle[i].pressure <= this.minRearSuggestedPressure\r\n || this.$bsdongle[i] && this.$bsdongle[i].pressure >= this.maxRearSuggestedPressure) ||\r\n (this.$bsdongle[j] && this.$bsdongle[j].pressure <= this.minRearSuggestedPressure\r\n || this.$bsdongle[j] && this.$bsdongle[j].pressure >= this.maxRearSuggestedPressure);\r\n } else {\r\n // solo 4 o 6 ruote\r\n return (this.$bsdongle[i] && this.$bsdongle[i].pressure <= this.minRearSuggestedPressure\r\n || this.$bsdongle[i] && this.$bsdongle[i].pressure >= this.maxRearSuggestedPressure)\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n clearInterval(this.intervalBarId);\r\n clearInterval(this.pairingProvider.interval);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/pressure-target/pressure-target.ts","import { ConfigurationTirePage } from './../configuration/configuration-tire/configuration-tire';\r\nimport { CalculationsProvider } from './../../../providers/calculations/calculations';\r\nimport { HttpProvider } from './../../../providers/http/http';\r\nimport { MachinesProvider } from './../../../providers/machines/machines';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { Component, ElementRef } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { UnitsProvider } from '../../../providers/units/units';\r\nimport { Unit } from '../../../model/unit';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-search-plus',\r\n templateUrl: 'search-plus.html',\r\n})\r\n\r\nexport class SearchPlusPage {\r\n public searchText: string = \"\";\r\n public tyreTitleProperties = ['Size', 'Title', 'LI1', 'SI1', 'LI2', 'SI2', 'LI3', 'SI3'];\r\n public tyreTitleSubProperties = ['TyreWidth', 'TyreDiam', 'SLR', 'RC'];\r\n public tyreTableProperties = ['SW: ', 'OD: ', 'SLR: ', 'RC: '];\r\n public unit = [];\r\n public type: string;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public statusBar: StatusBar, public translate: TranslateService, private unitsProvider: UnitsProvider, public configurationsProvider: ConfigurationsProvider, public calculationsProvider: CalculationsProvider, public navParams: NavParams, public machinesProvider: MachinesProvider, public httpProvider: HttpProvider, private keyboard: Keyboard, private elRef: ElementRef) {\r\n this.type = navParams.get(\"type\");\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.calculationsProvider.calculateCav();\r\n if (this.unitsProvider.getSpeed() === Unit.kmh) {\r\n this.unit[0] = \"speed_eu\";\r\n this.unit[1] = \"bar\";\r\n }\r\n else {\r\n this.unit[0] = \"speed_us\";\r\n this.unit[1] = \"psi\";\r\n }\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get tyres(): any[] {\r\n let brand = \"\";\r\n if (this.type == \"front\") {\r\n brand = this.configurationsProvider.getStorage('tireBrandFront');\r\n }\r\n if (this.type == \"rear\") {\r\n brand = this.configurationsProvider.getStorage('tireBrandRear');\r\n }\r\n if (this.machinesProvider.$tyres && (brand == \"TRELLEBORG\" || brand == \"MAXIMO\"))\r\n return this.machinesProvider.$tyres.filter(tire => tire.Brand == brand);\r\n else\r\n return this.machinesProvider.$tyres\r\n }\r\n\r\n public getTyreTitle(tyre) {\r\n let title = '';\r\n for (let property of this.tyreTitleProperties) {\r\n if (tyre && tyre[property] && typeof (tyre[property]) === 'string') {\r\n let space = \" \";\r\n if (property.includes(\"LI\")) {\r\n space = \"\";\r\n }\r\n title += tyre[property] + space;\r\n }\r\n }\r\n return title;\r\n }\r\n\r\n public getTyreSubTitle(tyre) {\r\n let title = '';\r\n let i = 0;\r\n for (let property of this.tyreTitleSubProperties) {\r\n if (tyre && tyre[property] && typeof (tyre[property]) === 'string') {\r\n title += this.tyreTableProperties[i] + tyre[property] + \" \";\r\n i++;\r\n }\r\n }\r\n return title;\r\n }\r\n\r\n public selectTyre(tyre, type: string) {\r\n tyre.name = this.getTyreTitle(tyre);\r\n if (type == \"front\") {\r\n this.configurationsProvider.setStorage('tireSizeFront', tyre.name);\r\n this.machinesProvider.setFrontTyreSelected(tyre);\r\n }\r\n else {\r\n this.configurationsProvider.setStorage('tireSizeRear', tyre.name);\r\n this.machinesProvider.setRearTyreSelected(tyre);\r\n }\r\n this.navCtrl.setRoot(ConfigurationTirePage, { searchPlus: true }, { animate: true });\r\n }\r\n\r\n public doSearch(text: string) {\r\n this.searchText = text;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/search-plus/search-plus.ts","import { Component, HostListener } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { TractorConfigurationPage } from \"../tractor/configuration/configuration\";\r\nimport { ListPage } from \"./list/list\";\r\nimport { ListItem } from \"../../model/list-item\";\r\nimport { TractorResultsPage } from \"./results/results\";\r\nimport { MachinesProvider } from \"../../providers/machines/machines\";\r\nimport { ConfigurationsProvider } from \"../../providers/configurations/configurations\";\r\nimport { InAppBrowser, InAppBrowserOptions } from '@ionic-native/in-app-browser';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\n\r\n@Component({\r\n selector: 'page-tractor',\r\n templateUrl: 'tractor.html'\r\n})\r\nexport class TractorPage {\r\n\r\n options: InAppBrowserOptions = {\r\n location: 'yes',\r\n hidden: 'no',\r\n clearcache: 'yes',\r\n clearsessioncache: 'yes',\r\n zoom: 'yes',//Android only ,shows browser zoom controls \r\n hardwareback: 'yes',\r\n mediaPlaybackRequiresUserAction: 'no',\r\n shouldPauseOnSuspend: 'no', //Android only \r\n closebuttoncaption: 'Close', //iOS only\r\n disallowoverscroll: 'no', //iOS only \r\n toolbar: 'yes', //iOS only \r\n enableViewportScale: 'no', //iOS only \r\n allowInlineMediaPlayback: 'no',//iOS only \r\n presentationstyle: 'pagesheet',//iOS only \r\n fullscreen: 'yes',//Windows only \r\n };\r\n\r\n public innerWidth: any;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public machinesProvider: MachinesProvider, public configurationsProvider: ConfigurationsProvider, private nativePageTransitions: NativePageTransitions) {\r\n }\r\n\r\n checkDevice() {\r\n if (this.innerWidth >= 1030) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.innerWidth = window.innerWidth;\r\n if (this.innerWidth >= 1030) {\r\n this.checkDevice();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n printPDF() {\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('http://www.trelleborg.com/TWSCalculator/ressources/pdf/aide-en.pdf', '_system', this.options);\r\n }\r\n\r\n tractorConfiguration() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TractorConfigurationPage, {\r\n type: \"tractor\",\r\n machine: this.machinesProvider.getTractor()\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(TractorConfigurationPage, {\r\n type: \"tractor\",\r\n machine: this.machinesProvider.getTractor()\r\n }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n front() {\r\n this.openListPage(this.machinesProvider.getFrontList());\r\n }\r\n\r\n rear() {\r\n this.openListPage(this.machinesProvider.getRearList());\r\n }\r\n\r\n openListPage(item: ListItem) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ListPage, {\r\n type: item.label,\r\n currentStep: 1,\r\n finalStep: this.getFinalStep(item),\r\n item: item\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ListPage, {\r\n type: item.label,\r\n currentStep: 1,\r\n finalStep: this.getFinalStep(item),\r\n item: item\r\n }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n getFinalStep(item: ListItem): number {\r\n if (item.items) {\r\n return this.getFinalStep(item.items[0]) + 1;\r\n }\r\n return 1;\r\n }\r\n\r\n calculationResults() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n }\r\n this.navCtrl.setRoot(TractorResultsPage, {}, { animate: true, direction: 'back' });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/tractor.ts","import {Inject, Injectable, Optional} from '@angular/core';\r\nimport {GoogleTagManagerConfiguration} from './angular-google-tag-manager-config.service';\r\nimport {GoogleTagManagerConfig} from './google-tag-manager-config';\r\n\r\n//@Injectable({ providedIn: 'root'})\r\n@Injectable()\r\nexport class GoogleTagManagerService {\r\n private isLoaded = false;\r\n private config: GoogleTagManagerConfig | null;\r\n\r\n private browserGlobals = {\r\n windowRef(): any {\r\n return window;\r\n },\r\n documentRef(): any {\r\n return document;\r\n },\r\n };\r\n\r\n constructor(\r\n @Optional()\r\n @Inject(GoogleTagManagerConfiguration)\r\n public googleTagManagerConfiguration: GoogleTagManagerConfiguration,\r\n @Optional() @Inject('googleTagManagerId') public googleTagManagerId: string,\r\n @Optional() @Inject('googleTagManagerMode') public googleTagManagerMode: \"silent\" | \"noisy\" = \"noisy\",\r\n @Optional()\r\n @Inject('googleTagManagerAuth')\r\n public googleTagManagerAuth: string,\r\n @Optional()\r\n @Inject('googleTagManagerPreview')\r\n public googleTagManagerPreview: string,\r\n @Optional()\r\n @Inject('googleTagManagerResourcePath')\r\n public googleTagManagerResourcePath: string,\r\n @Optional()\r\n @Inject('googleTagManagerCSPNonce')\r\n public googleTagManagerCSPNonce: string\r\n ) {\r\n if (this.googleTagManagerConfiguration != null) {\r\n this.config = this.googleTagManagerConfiguration.get();\r\n }\r\n if (this.config == null) {\r\n this.config = {id: null};\r\n }\r\n\r\n this.config = {\r\n ...this.config,\r\n id: googleTagManagerId || this.config.id,\r\n gtm_auth: googleTagManagerAuth || this.config.gtm_auth,\r\n gtm_preview: googleTagManagerPreview || this.config.gtm_preview,\r\n gtm_resource_path:\r\n googleTagManagerResourcePath || this.config.gtm_resource_path,\r\n };\r\n if (this.config.id == null) {\r\n return;\r\n }\r\n }\r\n\r\n private checkForId(): boolean {\r\n if (this.googleTagManagerMode !== \"silent\" && !this.config.id) {\r\n throw new Error('Google tag manager ID not provided.');\r\n } else if (!this.config.id) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public getDataLayer(): any[] {\r\n this.checkForId();\r\n const window = this.browserGlobals.windowRef();\r\n window.dataLayer = window.dataLayer || [];\r\n return window.dataLayer;\r\n }\r\n\r\n private pushOnDataLayer(obj: object): void {\r\n this.checkForId();\r\n const dataLayer = this.getDataLayer();\r\n dataLayer.push(obj);\r\n }\r\n\r\n public addGtmToDom(): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (this.isLoaded) {\r\n return resolve(this.isLoaded);\r\n } else if (!this.checkForId()) {\r\n return resolve(false);\r\n }\r\n const doc = this.browserGlobals.documentRef();\r\n this.pushOnDataLayer({\r\n 'gtm.start': new Date().getTime(),\r\n event: 'gtm.js',\r\n });\r\n\r\n const gtmScript = doc.createElement('script');\r\n gtmScript.id = 'GTMscript';\r\n gtmScript.async = true;\r\n gtmScript.src = this.applyGtmQueryParams(\r\n this.config.gtm_resource_path\r\n ? this.config.gtm_resource_path\r\n : 'https://www.googletagmanager.com/gtm.js'\r\n );\r\n gtmScript.addEventListener('load', () => {\r\n return resolve((this.isLoaded = true));\r\n });\r\n gtmScript.addEventListener('error', () => {\r\n return reject(false);\r\n });\r\n if (this.googleTagManagerCSPNonce) {\r\n gtmScript.setAttribute('nonce', this.googleTagManagerCSPNonce);\r\n }\r\n doc.head.insertBefore(gtmScript, doc.head.firstChild);\r\n });\r\n }\r\n\r\n public pushTag(item: object): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!this.checkForId()) {\r\n return resolve();\r\n }\r\n\r\n if (!this.isLoaded) {\r\n this.addGtmToDom()\r\n .then(() => {\r\n this.pushOnDataLayer(item);\r\n return resolve();\r\n })\r\n .catch(() => reject());\r\n } else {\r\n this.pushOnDataLayer(item);\r\n return resolve();\r\n }\r\n });\r\n }\r\n\r\n private applyGtmQueryParams(url: string): string {\r\n if (url.indexOf('?') === -1) {\r\n url += '?';\r\n }\r\n\r\n return (\r\n url +\r\n Object.keys(this.config)\r\n .filter((k) => this.config[k])\r\n .map((k) => `${k}=${this.config[k]}`)\r\n .join('&')\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/google-tag-manager/angular-google-tag-manager.service.ts","import {Inject, Injectable, InjectionToken, Optional} from '@angular/core';\r\nimport {GoogleTagManagerConfig} from './google-tag-manager-config';\r\n\r\nexport const GoogleTagManagerConfigService =\r\n new InjectionToken('google-tag-manager-config');\r\n\r\n// adapted from https://github.com/auth0/auth0-angular#dynamic-configuration\r\n//@Injectable({ providedIn: 'root' })\r\n@Injectable()\r\nexport class GoogleTagManagerConfiguration {\r\n private _googleTagManagerConfig: GoogleTagManagerConfig = {\r\n id: null,\r\n gtm_auth: '',\r\n gtm_preview: '',\r\n };\r\n\r\n constructor(\r\n @Optional()\r\n @Inject(GoogleTagManagerConfigService)\r\n googleTagManagerConfig?: GoogleTagManagerConfig\r\n ) {\r\n if (googleTagManagerConfig) {\r\n this.set(googleTagManagerConfig);\r\n }\r\n }\r\n\r\n public set(googleTagManagerConfig: GoogleTagManagerConfig): void {\r\n this._googleTagManagerConfig = googleTagManagerConfig;\r\n }\r\n\r\n public get(): GoogleTagManagerConfig {\r\n return this._googleTagManagerConfig;\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/google-tag-manager/angular-google-tag-manager-config.service.ts","import { Component } from '@angular/core';\r\nimport { ViewController } from 'ionic-angular';\r\n\r\n@Component({\r\n selector: 'page-tyre-popover-info1',\r\n templateUrl: 'tyre-popover-info1.html'\r\n})\r\nexport class TractorTyrePopoverPage1 {\r\n\r\n constructor(public viewCtrl: ViewController) {\r\n }\r\n\r\n public close() {\r\n this.viewCtrl.dismiss();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/tyre-popover/tyre-popover-info1.ts","import { Component } from '@angular/core';\r\nimport { ViewController } from 'ionic-angular';\r\n\r\n@Component({\r\n templateUrl: 'tyre-popover-info2.html'\r\n})\r\nexport class TractorTyrePopoverPage2 {\r\n constructor(public viewCtrl: ViewController) {\r\n }\r\n\r\n public close() {\r\n this.viewCtrl.dismiss();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/tyre-popover/tyre-popover-info2.ts","import { Component } from '@angular/core';\r\nimport { ViewController } from 'ionic-angular';\r\n\r\n@Component({\r\n templateUrl: 'tyre-popover-info3.html'\r\n})\r\nexport class TractorTyrePopoverPage3 {\r\n constructor(public viewCtrl: ViewController) {\r\n }\r\n\r\n public close() {\r\n this.viewCtrl.dismiss();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/tyre-popover/tyre-popover-info3.ts","import { Component } from '@angular/core';\r\nimport { ViewController } from 'ionic-angular';\r\n\r\n@Component({\r\n selector: 'page-tyre-popover-info4',\r\n templateUrl: 'tyre-popover-info4.html'\r\n})\r\nexport class TractorTyrePopoverPage4 {\r\n\r\n constructor(public viewCtrl: ViewController) {\r\n }\r\n\r\n public close() {\r\n this.viewCtrl.dismiss();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/tyre-popover/tyre-popover-info4.ts","import { Component } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MachinesProvider } from '../../../providers/machines/machines';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { NavParams, NavController, Platform } from 'ionic-angular';\r\nimport { TractorTyrePage } from '../tyre/tyre';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\n\r\n@Component({\r\n selector: 'page-search',\r\n templateUrl: 'search.html',\r\n})\r\nexport class SearchPage {\r\n\r\n public searchText: string = \"\";\r\n public tyreTitleProperties = ['Size', 'Title', 'LI1', 'SI1', 'LI2', 'SI2', 'LI3', 'SI3'];\r\n public tyreTitleSubProperties = ['TyreWidth', 'TyreDiam', 'SLR', 'RC'];\r\n public tyreTableProperties = ['SW: ', 'OD: ', 'SLR: ', 'RC: '];\r\n\r\n public type: string;\r\n public rearButtonType: string;\r\n public frontButtonType: string;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public translate: TranslateService, public machinesProvider: MachinesProvider, public httpProvider: HttpProvider, public configurationsProvider: ConfigurationsProvider) {\r\n this.type = navParams.get(\"type\");\r\n this.rearButtonType = navParams.get(\"rearButtonType\");\r\n this.frontButtonType = navParams.get(\"frontButtonType\");\r\n }\r\n\r\n public get tyres(): any[] {\r\n return this.machinesProvider.$tyres;\r\n }\r\n\r\n public getTyreTitle(tyre) {\r\n let title = '';\r\n for (let property of this.tyreTitleProperties) {\r\n if (tyre && tyre[property] && typeof (tyre[property]) === 'string') {\r\n let space = \" \";\r\n if (property.includes(\"LI\")) {\r\n space = \"\";\r\n }\r\n title += tyre[property] + space;\r\n }\r\n }\r\n return title;\r\n }\r\n\r\n public getTyreSubTitle(tyre) {\r\n let title = '';\r\n let i = 0;\r\n for (let property of this.tyreTitleSubProperties) {\r\n if (tyre && tyre[property] && typeof (tyre[property]) === 'string') {\r\n title += this.tyreTableProperties[i] + tyre[property] + \" \";\r\n i++;\r\n }\r\n }\r\n return title;\r\n }\r\n\r\n public selectTyre(tyre, type: string) {\r\n this.navCtrl.push(TractorTyrePage, { tyre: tyre, type: type, rearButtonType: this.rearButtonType, frontButtonType: this.frontButtonType }, { animate: true, direction: 'forward' });\r\n }\r\n\r\n public doSearch(text: string) {\r\n this.searchText = text;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/search/search.ts","import { Component } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { ConfigurationsProvider } from \"../../../providers/configurations/configurations\";\r\nimport { InAppBrowser, InAppBrowserOptions } from '@ionic-native/in-app-browser';\r\n\r\n@Component({\r\n selector: 'page-save-share',\r\n templateUrl: 'save-share.html'\r\n})\r\nexport class TractorSaveSharePage {\r\n\r\n options: InAppBrowserOptions = {\r\n location: 'yes',\r\n hidden: 'no',\r\n clearcache: 'yes',\r\n clearsessioncache: 'yes',\r\n zoom: 'yes',//Android only ,shows browser zoom controls \r\n hardwareback: 'yes',\r\n mediaPlaybackRequiresUserAction: 'no',\r\n shouldPauseOnSuspend: 'no', //Android only \r\n closebuttoncaption: 'Close', //iOS only\r\n disallowoverscroll: 'no', //iOS only \r\n toolbar: 'yes', //iOS only \r\n enableViewportScale: 'no', //iOS only \r\n allowInlineMediaPlayback: 'no',//iOS only \r\n presentationstyle: 'pagesheet',//iOS only \r\n fullscreen: 'yes',//Windows only \r\n };\r\n\r\n public saveButton: boolean = false;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, private configurationsProvider: ConfigurationsProvider) {\r\n }\r\n\r\n saveConfiguration() {\r\n this.configurationsProvider.saveConfiguration();\r\n }\r\n\r\n printPDF() {\r\n\r\n let browserInst = new InAppBrowser();\r\n browserInst.create('http://www.trelleborg.com/TWSCalculator/ressources/pdf/sauvegarde-en.pdf', '_system', this.options);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/save-share/save-share.ts","import { Component, ElementRef, ViewChild, Compiler } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Platform, NavController, Content } from 'ionic-angular';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { MachinesProvider } from '../../../providers/machines/machines';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { LoginPage } from '../login/login';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera';\r\nimport { ActionSheetController } from 'ionic-angular'\r\nimport { Storage } from '@ionic/storage';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { Unit } from '../../../model/unit';\r\nimport { UnitsProvider } from '../../../providers/units/units';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-profile',\r\n templateUrl: 'profile.html',\r\n})\r\nexport class ProfilePage {\r\n [x: string]: any;\r\n\r\n @ViewChild(Content)\r\n content: Content;\r\n\r\n public role: string;\r\n public user: any;\r\n public loadingLogout: boolean = false;\r\n public loadingUpdate: boolean = false;\r\n public loadingProfile: boolean = false;\r\n public loadingGetProfile: boolean = false;\r\n public showUpdateButton: boolean = false;\r\n public champs: any;\r\n\r\n public iosCrops = [this.translate.instant(\"select-crop\")];\r\n public crops = [\r\n {\r\n \"title\": this.translate.instant(\"crop-1\"),\r\n \"value\": \"ConbinableCrops\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-2\"),\r\n \"value\": \"Foragecrops\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-3\"),\r\n \"value\": \"Rootcrops\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-4\"),\r\n \"value\": \"Biomas\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-5\"),\r\n \"value\": \"Fruitfarm\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-6\"),\r\n \"value\": \"Livestockfarming\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-7\"),\r\n \"value\": \"Other\"\r\n }\r\n ];\r\n public defaultCrop = this.translate.instant(\"select-crop\");\r\n public selectedCrop = this.translate.instant(\"select-crop\");\r\n\r\n public farmSizeUnit = [\r\n {\r\n \"title\": \"ha\",\r\n \"value\": \"ha\"\r\n },\r\n {\r\n \"title\": \"ac\",\r\n \"value\": \"ac\"\r\n }\r\n ];\r\n public defaultfarmSizeUnit = this.translate.instant(\"select-farm-size-unit\");\r\n public selectedfarmSizeUnit = this.translate.instant(\"select-farm-size-unit\");\r\n\r\n public livestock = [\r\n {\r\n \"title\": this.translate.instant(\"crop-yes\"),\r\n \"value\": \"YES\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-no\"),\r\n \"value\": \"NO\"\r\n }\r\n ];\r\n public defaultLivestock = this.translate.instant(\"select-livestock\");\r\n public selectedLivestock = this.translate.instant(\"select-livestock\");\r\n\r\n public precisionFarming = [\r\n {\r\n \"title\": this.translate.instant(\"crop-yes\"),\r\n \"value\": \"YES\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-no\"),\r\n \"value\": \"NO\"\r\n }\r\n ];\r\n public defaultPrecisionFarming = this.translate.instant(\"select-precision-farming\");\r\n public selectedPrecisionFarming = this.translate.instant(\"select-precision-farming\");\r\n\r\n openSidebar: boolean = false;\r\n openSidebarCrops: boolean = false;\r\n openSidebarLanguages: boolean = false;\r\n openSidebarWarning: boolean = false;\r\n success: boolean = false;\r\n message: string = \"\";\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n sourceType: any;\r\n base64Image: any;\r\n imageDefault = 'assets/imgs/plus/profile.png';\r\n imageSaved = this.imageDefault;\r\n emailPattern = \"^[a-z0-9._]+@[a-z]+\\.[a-z.]{2,5}$\";\r\n\r\n selectedUnit: string;\r\n selectedLanguage: string;\r\n selectedItemLanguage: any;\r\n items: Array<{ title: string, language: string, path: string }>;\r\n\r\n private lat: number;\r\n private lon: number;\r\n\r\n constructor(public platform: Platform, public translate: TranslateService, public statusBar: StatusBar, public navCtrl: NavController, public configurationProvider: ConfigurationsProvider, public machinesProvider: MachinesProvider, public plt: Platform, public httpProvider: HttpProvider, public actionSheetCtrl: ActionSheetController, private storage: Storage, private camera: Camera, private keyboard: Keyboard, private unitsProvider: UnitsProvider, private elRef: ElementRef, private _compiler: Compiler) {\r\n this.role = configurationProvider.getRole();\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.hide();\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n this.stretchProfile();\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.show();\r\n let marginKeyboard = this.elRef.nativeElement.querySelector('ion-content.margin-keyboard');\r\n if (marginKeyboard) {\r\n marginKeyboard.classList.remove(\"margin-keyboard\");\r\n }\r\n let scrollContent = this.elRef.nativeElement.querySelector('div.scroll-content');\r\n if (scrollContent) {\r\n scrollContent.style.marginBottom = \"8rem\";\r\n }\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n this.expandProfile();\r\n });\r\n });\r\n if (this.role === \"User\") {\r\n this.role = this.translate.instant(\"user\");\r\n const dashboard: any = localStorage.getItem('dashboard');\r\n if (dashboard) {\r\n this.champs = {\r\n \"companyName\": dashboard.roles,\r\n \"firstname\": dashboard.firstname + dashboard.surname\r\n }\r\n }\r\n else {\r\n this.champs = {\r\n \"companyName\": \"\",\r\n \"firstname\": \"\"\r\n }\r\n }\r\n }\r\n else {\r\n this.role = this.translate.instant(\"farm\");\r\n let demographics = {\r\n \"farmSize\": \"\",\r\n \"farmSizeUnit\": this.farmSizeUnit,\r\n \"crops\": this.crops,\r\n \"liveStock\": this.livestock,\r\n \"precisionFarming\": this.precisionFarming,\r\n \"currentTire\": \"\"\r\n }\r\n this.champs = {\r\n \"companyName\": \"\",\r\n \"address\": \"\",\r\n \"country\": \"\",\r\n \"city\": \"\",\r\n \"state\": \"\",\r\n \"postalcode\": \"\",\r\n \"telephone\": \"\",\r\n \"email\": \"\",\r\n \"demographics\": demographics\r\n }\r\n }\r\n this.getProfile();\r\n let prefix: string = \"assets/imgs/flags/\";\r\n let extension: string = \".svg\";\r\n this.items = [{\r\n title: 'Português',\r\n language: 'br',\r\n path: prefix + 'pt' + extension\r\n },\r\n {\r\n title: 'Ĉeština',\r\n language: 'cz',\r\n path: prefix + 'cz' + extension\r\n },\r\n {\r\n title: 'Deutsch',\r\n language: 'de',\r\n path: prefix + 'de' + extension\r\n },\r\n {\r\n title: 'English',\r\n language: 'en',\r\n path: prefix + 'gb' + extension\r\n },\r\n {\r\n title: 'Español',\r\n language: 'es',\r\n path: prefix + 'es' + extension\r\n },\r\n {\r\n title: 'Français',\r\n language: 'fr',\r\n path: prefix + 'fr' + extension\r\n },\r\n {\r\n title: 'Italiano',\r\n language: 'it',\r\n path: prefix + 'it' + extension\r\n },\r\n {\r\n title: 'Nederlands',\r\n language: 'nl',\r\n path: prefix + 'nl' + extension\r\n },\r\n {\r\n title: 'Polski',\r\n language: 'pl',\r\n path: prefix + 'pl' + extension\r\n },\r\n {\r\n title: 'Pусский',\r\n language: 'ru',\r\n path: prefix + 'ru' + extension\r\n },\r\n {\r\n title: 'Svenska',\r\n language: 'sw',\r\n path: prefix + 'se' + extension\r\n },\r\n {\r\n title: 'American English',\r\n language: 'us',\r\n path: prefix + 'us' + extension\r\n },\r\n {\r\n title: '简化中文',\r\n language: 'cn',\r\n path: prefix + 'cn' + extension\r\n },\r\n {\r\n title: 'Türkçe',\r\n language: 'tr',\r\n path: prefix + 'tr' + extension\r\n }];\r\n if (unitsProvider.getWeight() == Unit.kg) {\r\n this.unitsProvider.setUnits(Unit.kg, Unit.kmh, Unit.m);\r\n this.selectedUnit = 'kg';\r\n }\r\n else if (unitsProvider.getWeight() == Unit.lb) {\r\n this.unitsProvider.setUnits(Unit.lb, Unit.mph, Unit.ft);\r\n this.selectedUnit = 'lb';\r\n }\r\n if (!translate.currentLang) {\r\n this.selectedLanguage = \"en\";\r\n }\r\n else {\r\n this.selectedLanguage = translate.currentLang;\r\n }\r\n for (let lang of this.items) {\r\n if (lang.language === this.selectedLanguage) {\r\n if (this.selectedLanguage === \"us\") {\r\n this.unitsProvider.setUnits(Unit.lb, Unit.mph, Unit.ft);\r\n this.selectedUnit = 'lb';\r\n }\r\n else {\r\n this.unitsProvider.setUnits(Unit.kg, Unit.kmh, Unit.m);\r\n this.selectedUnit = 'kg';\r\n }\r\n this.selectedItemLanguage = lang;\r\n break;\r\n }\r\n }\r\n this.hideKeyboard();\r\n }\r\n\r\n getProfile() {\r\n this.loadingGetProfile = true;\r\n this.loadingProfile = true;\r\n const farmId = localStorage.getItem('farmId');\r\n if (farmId) {\r\n if (this.champs) {\r\n this.champs.farmId = farmId;\r\n }\r\n this.httpProvider.getProfile(farmId)\r\n .subscribe(result => {\r\n if (result['status'] === \"ok\") {\r\n if (result['data'].farm) {\r\n this.champs = result['data'].farm;\r\n if (this.champs && this.champs.demographics) {\r\n if (this.champs.demographics.crops) {\r\n this.selectedCrop = this.champs.demographics.crops;\r\n this.iosCrops = [];\r\n for (let crop of this.selectedCrop) {\r\n let index = this.crops.findIndex(function (element) {\r\n return element.value == crop;\r\n });\r\n if (index !== -1) {\r\n this.iosCrops.push(this.crops[index].title);\r\n }\r\n }\r\n console.log(\"iosCrops: \", this.iosCrops[0]);\r\n console.log(\"defaultCrop: \", this.defaultCrop);\r\n }\r\n if (this.champs.demographics.liveStock) {\r\n this.selectedLivestock = this.champs.demographics.liveStock;\r\n }\r\n if (this.champs.demographics.precisionFarming) {\r\n this.selectedPrecisionFarming = this.champs.demographics.precisionFarming;\r\n }\r\n if (this.champs.demographics.farmSizeUnit) {\r\n this.selectedfarmSizeUnit = this.champs.demographics.farmSizeUnit;\r\n }\r\n if (this.champs.lat) {\r\n this.lat = this.champs.lat;\r\n }\r\n if (this.champs.lon) {\r\n this.lon = this.champs.lon;\r\n }\r\n }\r\n }\r\n }\r\n this.loadingGetProfile = false;\r\n this.loadingProfile = false;\r\n }, (err) => {\r\n this.loadingGetProfile = false;\r\n this.loadingProfile = false;\r\n console.log(\"err: \", err);\r\n });\r\n } else {\r\n this.loadingGetProfile = false;\r\n }\r\n }\r\n\r\n stretchProfile() {\r\n let name = this.elRef.nativeElement.querySelector('p.name-text');\r\n let circle = this.elRef.nativeElement.querySelector('.circle-tractor');\r\n let icon = this.elRef.nativeElement.querySelector('.icon-position');\r\n let avatar = this.elRef.nativeElement.querySelector('.avatar');\r\n if (name && circle && icon && avatar) {\r\n name.style.marginTop = \"0\";\r\n circle.style.display = \"none\";\r\n icon.style.display = \"none\";\r\n avatar.style.display = \"none\";\r\n }\r\n }\r\n\r\n expandProfile() {\r\n let name = this.elRef.nativeElement.querySelector('p.name-text');\r\n let circle = this.elRef.nativeElement.querySelector('.circle-tractor');\r\n let icon = this.elRef.nativeElement.querySelector('.icon-position');\r\n let avatar = this.elRef.nativeElement.querySelector('.avatar');\r\n if (name && circle && icon && avatar) {\r\n name.style.marginTop = \"2.5rem\";\r\n circle.classList.remove('visibility-off');\r\n circle.style.display = \"inline-block\";\r\n icon.classList.remove('visibility-off');\r\n icon.style.display = \"inline-block\";\r\n avatar.classList.remove('visibility-off');\r\n avatar.style.display = \"inline-block\";\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.content) {\r\n this.content.ionScroll.subscribe((data) => {\r\n if (data['scrollTop'] > 30) {\r\n this.stretchProfile();\r\n } else {\r\n this.expandProfile();\r\n }\r\n });\r\n this.content.ionScrollEnd.subscribe((data) => {\r\n if (data['scrollTop'] > 30) {\r\n this.stretchProfile();\r\n } else {\r\n this.expandProfile();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this._compiler.clearCache();\r\n this.getUserSettings();\r\n }\r\n\r\n getUserSettings() {\r\n const userId = localStorage.getItem('userId');\r\n if (userId) {\r\n this.httpProvider.getUser(userId)\r\n .subscribe(result => {\r\n if (result['status'] === \"ok\") {\r\n this.user = result['data'].users;\r\n this.imageSaved = this.user.profileImage != 'upload/' ? this.user.profileImage : this.imageDefault;\r\n this.loadingProfile = false;\r\n }\r\n }, (err) => {\r\n this.loadingProfile = false;\r\n });\r\n }\r\n if (this.imageSaved === this.imageDefault) {\r\n this.loadingProfile = false;\r\n }\r\n this.hideKeyboard();\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n this.stretchProfile();\r\n return true;\r\n }\r\n this.expandProfile();\r\n return false;\r\n }\r\n\r\n hideKeyboard() {\r\n this.keyboard.hide();\r\n }\r\n\r\n unitTapped(unit: string) {\r\n if (unit == 'kg') {\r\n if (this.translate.currentLang === \"us\") {\r\n this.translate.use(\"en\");\r\n this.storage.set(\"language\", \"en\");\r\n this.selectedLanguage = \"en\";\r\n for (let lang of this.items) {\r\n if (lang.language === this.selectedLanguage) {\r\n this.selectedItemLanguage = lang;\r\n break;\r\n }\r\n }\r\n }\r\n this.unitsProvider.setUnits(Unit.kg, Unit.kmh, Unit.m);\r\n } else if (unit == 'lb') {\r\n this.translate.use(\"us\");\r\n this.storage.set(\"language\", \"us\");\r\n this.selectedLanguage = \"us\";\r\n for (let lang of this.items) {\r\n if (lang.language === this.selectedLanguage) {\r\n this.selectedItemLanguage = lang;\r\n break;\r\n }\r\n }\r\n this.unitsProvider.setUnits(Unit.lb, Unit.mph, Unit.ft);\r\n }\r\n this.machinesProvider.convertUnits();\r\n this.selectedUnit = unit;\r\n }\r\n\r\n showCropsList() {\r\n if (this.role !== 'User') {\r\n this.openSidebarCrops = true;\r\n }\r\n }\r\n\r\n itemTapped(event, item) {\r\n this.translate.use(item.language).subscribe(() => {\r\n this.storage.set(\"language\", item.language);\r\n this.selectedLanguage = item.language;\r\n if (this.selectedLanguage === \"us\") {\r\n this.unitsProvider.setUnits(Unit.lb, Unit.mph, Unit.ft);\r\n this.selectedUnit = 'lb';\r\n }\r\n else {\r\n this.unitsProvider.setUnits(Unit.kg, Unit.kmh, Unit.m);\r\n this.selectedUnit = 'kg';\r\n }\r\n if (this.role === \"User\") {\r\n this.role = this.translate.instant(\"user\");\r\n } else {\r\n this.role = this.translate.instant(\"farm\");\r\n }\r\n this.selectedItemLanguage = item;\r\n this.translateChamps();\r\n this.openSidebarLanguages = false;\r\n this.hideKeyboard();\r\n });\r\n }\r\n\r\n closeLanguages() {\r\n this.openSidebarLanguages = false;\r\n this.hideKeyboard();\r\n }\r\n\r\n translateChamps() {\r\n if (this.defaultCrop === this.selectedCrop) {\r\n this.selectedCrop = this.translate.instant(\"select-crop\");\r\n }\r\n if (this.defaultfarmSizeUnit === this.selectedfarmSizeUnit) {\r\n this.selectedfarmSizeUnit = this.translate.instant(\"select-farm-size-unit\");\r\n }\r\n if (this.defaultLivestock === this.selectedLivestock) {\r\n this.selectedLivestock = this.translate.instant(\"select-livestock\");\r\n }\r\n if (this.defaultPrecisionFarming === this.selectedPrecisionFarming) {\r\n this.selectedPrecisionFarming = this.translate.instant(\"select-precision-farming\");\r\n }\r\n this.defaultCrop = this.translate.instant(\"select-crop\");\r\n this.defaultfarmSizeUnit = this.translate.instant(\"select-farm-size-unit\");\r\n this.defaultLivestock = this.translate.instant(\"select-livestock\");\r\n this.defaultPrecisionFarming = this.translate.instant(\"select-precision-farming\");\r\n this.crops = [\r\n {\r\n \"title\": this.translate.instant(\"crop-1\"),\r\n \"value\": \"ConbinableCrops\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-2\"),\r\n \"value\": \"Foragecrops\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-3\"),\r\n \"value\": \"Rootcrops\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-4\"),\r\n \"value\": \"Biomas\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-5\"),\r\n \"value\": \"Fruitfarm\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-6\"),\r\n \"value\": \"Livestockfarming\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-7\"),\r\n \"value\": \"Other\"\r\n }\r\n ];\r\n if (this.selectedCrop && this.selectedCrop.length > 0) {\r\n this.iosCrops = [];\r\n for (let crop of this.selectedCrop) {\r\n let index = this.crops.findIndex(function (element) {\r\n return element.value == crop;\r\n });\r\n if (index !== -1) {\r\n if (this.crops[index].title !== this.translate.instant(\"select-crop\")) {\r\n this.iosCrops.push(this.crops[index].title);\r\n }\r\n }\r\n }\r\n }\r\n if (this.defaultCrop === this.selectedCrop) {\r\n this.iosCrops = [this.translate.instant(\"select-crop\")];\r\n }\r\n this.livestock = [\r\n {\r\n \"title\": this.translate.instant(\"crop-yes\"),\r\n \"value\": \"YES\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-no\"),\r\n \"value\": \"NO\"\r\n }\r\n ];\r\n this.precisionFarming = [\r\n {\r\n \"title\": this.translate.instant(\"crop-yes\"),\r\n \"value\": \"YES\"\r\n },\r\n {\r\n \"title\": this.translate.instant(\"crop-no\"),\r\n \"value\": \"NO\"\r\n }\r\n ];\r\n }\r\n\r\n checkIosCrops(crop: any) {\r\n for (let elem of this.selectedCrop) {\r\n if (elem === crop.value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n multipleSelect(crop: any) {\r\n let flag = false;\r\n for (let i = 0; i < this.selectedCrop.length; i++) {\r\n if (this.selectedCrop[i] === crop.value) {\r\n this.selectedCrop.splice(i, 1);\r\n flag = true;\r\n break;\r\n }\r\n }\r\n if (!flag) {\r\n if (this.selectedCrop === this.translate.instant(\"select-crop\")) {\r\n this.selectedCrop = [];\r\n }\r\n this.selectedCrop.push(crop.value);\r\n }\r\n this.iosCrops = [];\r\n for (let crop of this.selectedCrop) {\r\n let index = this.crops.findIndex(function (element) {\r\n return element.value == crop;\r\n });\r\n if (index !== -1) {\r\n if (this.crops[index].title !== this.translate.instant(\"select-crop\")) {\r\n this.iosCrops.push(this.crops[index].title);\r\n }\r\n }\r\n }\r\n if (this.iosCrops.length === 0) {\r\n this.iosCrops.push(this.translate.instant(\"select-crop\"));\r\n }\r\n }\r\n\r\n logout() {\r\n this.openSidebar = true;\r\n }\r\n\r\n close() {\r\n this.openSidebar = false;\r\n this.loadingLogout = true;\r\n localStorage.removeItem(\"privacy-policy\");\r\n this.httpProvider.getLogout()\r\n .subscribe(result => {\r\n if (result['status'] === \"ok\") {\r\n localStorage.removeItem('token');\r\n localStorage.removeItem('farm_info');\r\n let res = result['data'];\r\n if (res) {\r\n this.success = true;\r\n this.message = res.msg;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.loadingLogout = false;\r\n this.openSidebarWarning = false;\r\n this.navCtrl.setRoot(LoginPage, {}, { animate: true });\r\n }, 2000);\r\n }\r\n }\r\n }, (err) => {\r\n this.loadingLogout = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n\r\n presentActionSheet() {\r\n let actionSheet = this.actionSheetCtrl.create({\r\n title: this.translate.instant(\"change-photo\"),\r\n buttons: [\r\n {\r\n icon: 'camera',\r\n cssClass: 'cameraIcon',\r\n text: this.translate.instant(\"camera\"),\r\n handler: () => {\r\n this.sourceType = this.camera.PictureSourceType.CAMERA;\r\n this.TakeCamera();\r\n }\r\n },\r\n {\r\n icon: 'albums',\r\n cssClass: 'albumsIcon',\r\n text: this.translate.instant(\"gallery\"),\r\n handler: () => {\r\n this.sourceType = this.camera.PictureSourceType.PHOTOLIBRARY;\r\n this.TakeCamera();\r\n }\r\n }\r\n ]\r\n });\r\n actionSheet.present();\r\n }\r\n\r\n TakeCamera() {\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE,\r\n correctOrientation: true,\r\n sourceType: this.sourceType\r\n }\r\n this.camera.getPicture(options).then((imageData) => {\r\n this.base64Image = 'data:image/jpeg;base64,' + imageData;\r\n this.imageSaved = this.base64Image;\r\n let image = this.getBlob(imageData, 'image/jpeg');\r\n const userId = localStorage.getItem('userId');\r\n this.httpProvider.saveProfileImage(userId, image)\r\n .subscribe(result => {\r\n if (result) {\r\n this._compiler.clearCache();\r\n }\r\n }, (err) => {\r\n if (err) {\r\n this._compiler.clearCache();\r\n }\r\n });\r\n }, (err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getBlob(b64Data: string, contentType: string, sliceSize: number = 512) {\r\n contentType = contentType || '';\r\n sliceSize = sliceSize || 512;\r\n let byteCharacters = atob(b64Data);\r\n let byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n let slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\r\n let byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n let byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n let blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n }\r\n\r\n setImgProfile(data) {\r\n this.storage.set('imgProfile', { data }).then(\r\n (data) => console.log('Stored item! ', data),\r\n (error) => console.error('Error storing item', error)\r\n );\r\n }\r\n\r\n goToProfile() {\r\n this.openSidebar = false;\r\n }\r\n\r\n checkChamps(): boolean {\r\n if (this.role !== \"User\") {\r\n if (this.champs.address === \"\" && this.champs.country === \"\" && this.champs.city === \"\" && this.champs.state === \"\" && this.champs.postalcode === \"\" && this.champs.telephone === \"\" && this.champs.email === \"\" && this.champs.demographics.farmSize === \"\" && this.selectedCrop === this.defaultCrop && this.selectedLiveStock === this.defaultLivestock && this.selectedPrecisionFarming === this.defaultPrecisionFarming && this.champs.demographics.currentTire === \"\") {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n updateProfile() {\r\n this.loadingUpdate = true;\r\n let data: any = {};\r\n if (this.role !== \"User\") {\r\n for (let i = 0; i < this.selectedCrop.length; i++) {\r\n if (this.selectedCrop[i] === this.translate.instant(\"select-crop\")) {\r\n this.selectedCrop.splice(i, 1);\r\n break;\r\n }\r\n }\r\n this.champs.demographics.crops = this.selectedCrop;\r\n this.champs.demographics.precisionFarming = this.selectedPrecisionFarming && this.selectedPrecisionFarming !== \"\" ? this.selectedPrecisionFarming : undefined;\r\n this.champs.demographics.liveStock = this.selectedLivestock && this.selectedLivestock !== \"\" ? this.selectedLivestock : undefined;\r\n const farmId = localStorage.getItem('farmId');\r\n data.farmId = farmId !== \"\" ? farmId : undefined;\r\n data.companyName = this.champs.companyName ? this.champs.companyName : undefined;\r\n data.firstname = this.champs.firstname ? this.champs.firstname : undefined;\r\n data.address = this.champs.address ? this.champs.address : undefined;\r\n data.city = this.champs.city ? this.champs.city : undefined;\r\n data.country = this.champs.country ? this.champs.country : undefined;\r\n data.state = this.champs.state ? this.champs.state : undefined;\r\n data.postalcode = this.champs.postalcode ? this.champs.postalcode : undefined;\r\n data.telephone = this.champs.telephone ? this.champs.telephone : undefined;\r\n data.email = this.champs.email ? this.champs.email : undefined;\r\n if (this.champs._id) {\r\n let demographics = {\r\n crops: this.selectedCrop && this.selectedCrop.length > 0 ? this.selectedCrop : undefined,\r\n liveStock: this.champs.demographics.liveStock ? this.champs.demographics.liveStock : undefined,\r\n farmSize: this.champs.demographics.farmSize ? this.champs.demographics.farmSize : undefined,\r\n precisionFarming: this.champs.demographics.precisionFarming ? this.champs.demographics.precisionFarming : undefined,\r\n currentTire: this.champs.demographics.currentTire ? this.champs.demographics.currentTire : undefined,\r\n farmSizeUnit: this.selectedfarmSizeUnit && this.selectedfarmSizeUnit !== \"\" ? this.selectedfarmSizeUnit : undefined\r\n }\r\n data.demographics = demographics;\r\n }\r\n else {\r\n data.farmSize = this.champs.demographics.farmSize ? this.champs.demographics.farmSize : undefined;\r\n data.crops = this.selectedCrop && this.selectedCrop.length > 0 ? this.selectedCrop : undefined;\r\n data.liveStock = this.champs.demographics.liveStock ? this.champs.demographics.liveStock : undefined;\r\n data.precisionFarming = this.champs.demographics.precisionFarming ? this.champs.demographics.precisionFarming : undefined;\r\n data.currentTire = this.champs.demographics.currentTire ? this.champs.demographics.currentTire : undefined;\r\n data.farmSizeUnit = this.selectedfarmSizeUnit && this.selectedfarmSizeUnit !== \"\" ? this.selectedfarmSizeUnit : undefined;\r\n }\r\n data.timestamp = new Date();\r\n data.lat = this.lat ? this.lat : 0;\r\n data.lon = this.lon ? this.lon : 0;\r\n }\r\n if (this.champs._id) {\r\n this.httpProvider.updateProfile(this.champs._id, data)\r\n .subscribe(result => {\r\n if (result) {\r\n data._id = this.champs._id;\r\n this.updateCoordinate();\r\n this.loadingUpdate = false;\r\n this.success = true;\r\n this.message = this.translate.instant(\"profile-success\");\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 3000);\r\n }\r\n }, (err) => {\r\n this.loadingUpdate = false;\r\n this.success = false;\r\n this.message = err.error && err.error.error ? err.error.error.msg : err.error && err.error.msg ? err.error.msg : err.statusText;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 3000);\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n else {\r\n this.httpProvider.setProfile(data)\r\n .subscribe(result => {\r\n if (result) {\r\n let response: any = result;\r\n if (response.data && response.data.farm) {\r\n this.champs._id = response.data.farm._id;\r\n }\r\n this.updateCoordinate();\r\n this.loadingUpdate = false;\r\n this.success = true;\r\n this.message = this.translate.instant(\"profile-success\");\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 3000);\r\n }\r\n }, (err) => {\r\n this.loadingUpdate = false;\r\n this.success = false;\r\n this.message = err.error && err.error && err.error.length > 0 ? err.error[0].msg : err.statusText;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 3000);\r\n console.log(\"err.error: \", err.error);\r\n });\r\n }\r\n }\r\n\r\n keyPressCAP(event) {\r\n const pattern = /^[0-9]+$/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n keyPressTelefono(event) {\r\n const pattern = /^[0-9\\+]+$/;\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n updateCoordinate() {\r\n let address = this.champs.address + ', ' + this.champs.city + ', ' + this.champs.country + ', ' + this.champs.state;\r\n this.httpProvider.getCoordinate(address).subscribe(\r\n (response2: any) => {\r\n console.log('addressResponse: ', response2);\r\n let data = { 'lon': 0, 'lat': 0 };\r\n if (response2.features[0]) {\r\n data.lon = response2.features[0].geometry.coordinates[0];\r\n data.lat = response2.features[0].geometry.coordinates[1];\r\n }\r\n\r\n this.httpProvider.updateProfile(this.champs._id, data).subscribe();\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/profile/profile.ts","import { Component } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NavController } from 'ionic-angular';\r\n\r\n@Component({\r\n selector: 'page-pairing-alert',\r\n templateUrl: 'pairing-alert.html',\r\n})\r\nexport class PairingAlertPage { \r\n\r\n constructor(public translate: TranslateService, public navCtrl: NavController) {\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/pairing-alert/pairing-alert.ts","export class Separator {\r\n\r\n public nextDistance: number;\r\n\r\n constructor(public label: string, public position: number, public isTyreSize: boolean) {\r\n this.nextDistance = null;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/model/separator.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import {BrowserModule} from '@angular/platform-browser';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport {ErrorHandler, NgModule} from '@angular/core';\r\nimport {TranslateModule, TranslateLoader} from '@ngx-translate/core';\r\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\r\nimport {HttpClientModule, HttpClient, HTTP_INTERCEPTORS} from \"@angular/common/http\";\r\nimport {IonicApp, IonicErrorHandler, IonicModule} from 'ionic-angular';\r\nimport {DragulaModule} from 'ng2-dragula';\r\nimport {ComponentsModule} from \"../components/components.module\";\r\nimport {PipesModule} from '../pipes/pipes.module';\r\nimport {IonicStorageModule} from '@ionic/storage';\r\nimport {MomentModule} from 'angular2-moment';\r\nimport {SidebarModule} from 'ng2-sidebar';\r\n\r\nimport {ToastController} from 'ionic-angular';\r\nimport {Keyboard} from '@ionic-native/keyboard';\r\nimport {Base64} from '@ionic-native/base64/ngx';\r\n\r\nimport {MyApp} from './app.component';\r\nimport {LandingPage} from '../pages/landing/landing';\r\nimport {HomePage} from '../pages/home/home';\r\nimport {ContactPage} from \"../pages/contact/contact\";\r\nimport {LanguagePage} from \"../pages/language/language\";\r\nimport {TractorPage} from \"../pages/tractor/tractor\";\r\nimport {TractorConfigurationPage} from \"../pages/tractor/configuration/configuration\";\r\nimport {TractorSavedConfigurationsPage} from \"../pages/tractor/saved-config/saved-config\";\r\nimport {TractorSaveSharePage} from \"../pages/tractor/save-share/save-share\";\r\nimport {TractorResultsPage} from \"../pages/tractor/results/results\";\r\nimport {TractorTyrePage} from \"../pages/tractor/tyre/tyre\";\r\nimport {TractorTyrePopoverPage1} from \"../pages/tractor/tyre-popover/tyre-popover-info1\";\r\nimport {TractorTyrePopoverPage2} from \"../pages/tractor/tyre-popover/tyre-popover-info2\";\r\nimport {TractorTyrePopoverPage3} from \"../pages/tractor/tyre-popover/tyre-popover-info3\";\r\nimport {TractorTyrePopoverPage4} from \"../pages/tractor/tyre-popover/tyre-popover-info4\";\r\nimport {SearchPage} from \"../pages/tractor/search/search\";\r\nimport {TrelleborgAppsPage} from \"../pages/trelleborg-apps/trelleborg-apps\";\r\nimport {ListPage} from \"../pages/tractor/list/list\";\r\nimport {CameraPage} from '../pages/camera/camera';\r\nimport {LoginPage} from '../pages/plus/login/login';\r\nimport {ForgotPasswordPage} from '../pages/plus/forgot-password/forgot-password';\r\nimport {SignUpPage} from '../pages/plus/signup/signup';\r\nimport {HomePlusPage} from '../pages/plus/home-plus/home-plus';\r\nimport {MyFleetPage} from '../pages/plus/my-fleet/my-fleet';\r\nimport {MyFleetSearchPage} from '../pages/plus/my-fleet-search/my-fleet-search';\r\nimport {MachineListPage} from '../pages/plus/machine-list/machine-list';\r\nimport {TransitionPage} from '../pages/plus/transition/transition';\r\nimport {PairingPage} from '../pages/plus/pairing/pairing';\r\nimport {PairingAlertPage} from '../pages/plus/pairing-alert/pairing-alert';\r\nimport {ProfilePage} from '../pages/plus/profile/profile';\r\nimport {PressurePage} from '../pages/plus/pressure/pressure';\r\nimport {PressureTargetPage} from '../pages/plus/pressure-target/pressure-target';\r\nimport {TractorConfigurationToolPage} from '../pages/plus/list/tractor-configuration-tool';\r\nimport {TractorToolResultPage} from '../pages/plus/results/tractor-tool-result';\r\nimport {SearchPlusPage} from '../pages/plus/search-plus/search-plus';\r\n\r\nimport {UnitsProvider} from '../providers/units/units';\r\nimport {ConfigurationsProvider} from '../providers/configurations/configurations';\r\nimport {MachinesProvider} from '../providers/machines/machines';\r\nimport {CalculationsProvider} from '../providers/calculations/calculations';\r\nimport {PairingProvider} from '../providers/pairing/pairing';\r\nimport {HttpProvider} from '../providers/http/http';\r\nimport {JsonProvider} from \"../providers/json/json\";\r\n\r\nimport {NativePageTransitions} from '@ionic-native/native-page-transitions';\r\nimport {InAppBrowser} from \"@ionic-native/in-app-browser\";\r\nimport {StatusBar} from '@ionic-native/status-bar';\r\nimport {SplashScreen} from '@ionic-native/splash-screen';\r\nimport {Camera} from '@ionic-native/camera';\r\nimport {BLE} from '@ionic-native/ble';\r\nimport {TpmsProvider} from '../providers/tpms/tpms';\r\nimport {ConfigurationPlusPage} from '../pages/plus/configuration/configuration-plus/configuration-plus';\r\nimport {ConfigurationTirePage} from '../pages/plus/configuration/configuration-tire/configuration-tire';\r\nimport {ConfigurationToolPage} from '../pages/plus/configuration/configuration-tool/configuration-tool';\r\nimport {ConfigurationResultsPage} from '../pages/plus/configuration/configuration-results/configuration-results';\r\nimport {TypeSelectionPage} from '../pages/plus/configuration/type-selection/type-selection';\r\nimport {ConfigurationSelectionPage} from '../pages/plus/configuration/configuration-selection/configuration-selection';\r\nimport {EquipmentSelectionPage} from '../pages/plus/configuration/equipment-selection/equipment-selection';\r\nimport {BrandSelectionPage} from '../pages/plus/configuration/brand-selection/brand-selection';\r\nimport {TokenInterceptor} from '../providers/auth/interceptor';\r\nimport {AuthService} from '../providers/auth/auth.service';\r\nimport {GoogleTagManagerModule} from \"../libs/google-tag-manager/angular-google-tag-manager.module\";\r\nimport {GoogleTagManagerService} from \"../libs/google-tag-manager/angular-google-tag-manager.service\";\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n MyApp,\r\n LandingPage,\r\n HomePage,\r\n ContactPage,\r\n LanguagePage,\r\n TractorPage,\r\n TractorConfigurationPage,\r\n TractorSavedConfigurationsPage,\r\n TractorSaveSharePage,\r\n TractorResultsPage,\r\n TractorTyrePage,\r\n TractorTyrePopoverPage1,\r\n TractorTyrePopoverPage2,\r\n TractorTyrePopoverPage3,\r\n TractorTyrePopoverPage4,\r\n SearchPage,\r\n TrelleborgAppsPage,\r\n ListPage,\r\n CameraPage,\r\n LoginPage,\r\n ForgotPasswordPage,\r\n SignUpPage,\r\n HomePlusPage,\r\n MyFleetPage,\r\n MyFleetSearchPage,\r\n MachineListPage,\r\n TransitionPage,\r\n PairingPage,\r\n PairingAlertPage,\r\n ProfilePage,\r\n PressurePage,\r\n PressureTargetPage,\r\n TypeSelectionPage,\r\n ConfigurationSelectionPage,\r\n EquipmentSelectionPage,\r\n BrandSelectionPage,\r\n TractorConfigurationToolPage,\r\n TractorToolResultPage,\r\n ConfigurationPlusPage,\r\n ConfigurationTirePage,\r\n ConfigurationToolPage,\r\n ConfigurationResultsPage,\r\n SearchPlusPage\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n DragulaModule,\r\n ComponentsModule,\r\n PipesModule,\r\n MomentModule,\r\n SidebarModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (createTranslateLoader),\r\n deps: [HttpClient]\r\n }\r\n }),\r\n IonicModule.forRoot(MyApp, {scrollAssist: false, autoFocusAssist: false, statusbarPadding: true}),\r\n IonicStorageModule.forRoot(),\r\n GoogleTagManagerModule.forRoot(),\r\n ],\r\n bootstrap: [IonicApp],\r\n entryComponents: [\r\n MyApp,\r\n LandingPage,\r\n HomePage,\r\n ContactPage,\r\n LanguagePage,\r\n TractorPage,\r\n TractorConfigurationPage,\r\n TractorSavedConfigurationsPage,\r\n TractorSaveSharePage,\r\n TractorResultsPage,\r\n TractorTyrePage,\r\n TractorTyrePopoverPage1,\r\n TractorTyrePopoverPage2,\r\n TractorTyrePopoverPage3,\r\n TractorTyrePopoverPage4,\r\n SearchPage,\r\n TrelleborgAppsPage,\r\n ListPage,\r\n CameraPage,\r\n LoginPage,\r\n ForgotPasswordPage,\r\n SignUpPage,\r\n HomePlusPage,\r\n MyFleetPage,\r\n MyFleetSearchPage,\r\n MachineListPage,\r\n TransitionPage,\r\n PairingPage,\r\n PairingAlertPage,\r\n ProfilePage,\r\n PressurePage,\r\n PressureTargetPage,\r\n TypeSelectionPage,\r\n ConfigurationSelectionPage,\r\n EquipmentSelectionPage,\r\n BrandSelectionPage,\r\n TractorConfigurationToolPage,\r\n TractorToolResultPage,\r\n ConfigurationPlusPage,\r\n ConfigurationTirePage,\r\n ConfigurationToolPage,\r\n ConfigurationResultsPage,\r\n SearchPlusPage\r\n ],\r\n providers: [\r\n {provide: ErrorHandler, useClass: IonicErrorHandler},\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n UnitsProvider,\r\n ConfigurationsProvider,\r\n MachinesProvider,\r\n CalculationsProvider,\r\n PairingProvider,\r\n JsonProvider,\r\n HttpProvider,\r\n InAppBrowser,\r\n StatusBar,\r\n SplashScreen,\r\n NativePageTransitions,\r\n Camera,\r\n ToastController,\r\n Keyboard,\r\n Base64,\r\n BLE,\r\n TpmsProvider,\r\n AuthService,\r\n {provide: 'googleTagManagerId', useValue: 'GTM-N682VBR3'},\r\n GoogleTagManagerService,\r\n ]\r\n})\r\nexport class AppModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { HttpClient } from '@angular/common/http';\r\nimport { HttpProvider } from '../http/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { HomePage } from '../../pages/home/home';\r\nimport { ContactPage } from \"../../pages/contact/contact\";\r\nimport { LanguagePage } from \"../../pages/language/language\";\r\nimport { TractorPage } from \"../../pages/tractor/tractor\";\r\nimport { TrelleborgAppsPage } from \"../../pages/trelleborg-apps/trelleborg-apps\";\r\nimport { TractorSavedConfigurationsPage } from \"../../pages/tractor/saved-config/saved-config\";\r\nimport { ListItem } from \"../../model/list-item\";\r\nimport { MachinesProvider } from \"../machines/machines\";\r\nimport { NativeTransitionOptions } from '@ionic-native/native-page-transitions';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Tractor } from '../../model/tractor';\r\nimport moment from 'moment';\r\n\r\n@Injectable()\r\nexport class ConfigurationsProvider {\r\n\r\n\tpublic savedConfigurations: Array;\r\n\tpublic pages: Array<{ title: string, component: any, urlId: string, enabled: boolean }>;\r\n\tpublic itemLabel: ListItem;\r\n\tpublic savedData: string;\r\n\tpublic userRole: string;\r\n\tpublic plusPages = [];\r\n\tpublic brandSelectionPlus = [];\r\n\tpublic mountedSelectionPlus = [];\r\n\tpublic machine = [];\r\n\tpublic machineTool = [];\r\n\tpublic tireModels = [];\r\n\tpublic tireBrands = [];\r\n\tpublic tireVersions = [];\r\n\tpublic hpList = [];\r\n\tpublic wheelbaseList = [];\r\n\tpublic hp: number;\r\n\tpublic wheelbase: number;\r\n\tpublic machineBrands = [];\r\n\tpublic newMachineType: string;\r\n\tpublic machineID: string;\r\n\tpublic lastPageMachineList: string;\r\n\tpublic singleTractor: any;\r\n\tpublic searchInput: string;\r\n\tpublic searchPage: string;\r\n\tpublic status: string;\r\n\tpublic last_pair: boolean = false;\r\n\r\n\tpublic optionsLeft: NativeTransitionOptions = {\r\n\t\tdirection: 'left',\r\n\t\tduration: 300\r\n\t};\r\n\tpublic optionsRight: NativeTransitionOptions = {\r\n\t\tdirection: 'right',\r\n\t\tduration: 300\r\n\t};\r\n\tpublic optionsTop: NativeTransitionOptions = {\r\n\t\tdirection: 'up',\r\n\t\tduration: 300\r\n\t};\r\n\tpublic optionsDown: NativeTransitionOptions = {\r\n\t\tdirection: 'down',\r\n\t\tduration: 300\r\n\t};\r\n\r\n\tconstructor(public http: HttpClient, public httpProvider: HttpProvider, public translate: TranslateService, private machinesProvider: MachinesProvider, private storage: Storage) {\r\n\t\tthis.savedConfigurations = [];\r\n\t\tthis.plusPages = [\"ConfigurationPlusPage\", \"ConfigurationTirePage\", \"TypeSelectionPage\", \"ConfigurationSelectionPage\", \"EquipmentSelectionPage\", \"BrandSelectionPage\", \"LandingPage\", \"LoginPage\", \"SignUpPage\", \"ForgotPasswordPage\", \"HomePlusPage\", \"MyFleetPage\", \"MyFleetSearchPage\", \"MachineListPage\", \"TransitionPage\", \"PairingPage\", \"PairingDonglePage\", \"PressurePage\", \"PairingAlertPage\", \"ProfilePage\", \"EquipmentSelectionPage\", \"BrandSelectionPage\", \"ConfigurationToolPage\", \"ConfigurationPlusPage\", \"ConfigurationTirePage\", \"SearchPlusPage\", \"ConfigurationResultsPage\"];\r\n\r\n\t\tthis.pages = [\r\n\t\t\t{ title: '158', component: HomePage, urlId: null, enabled: true },\r\n\t\t\t{ title: '23', component: TractorPage, urlId: null, enabled: true },\r\n\t\t\t{ title: '174', component: TractorSavedConfigurationsPage, urlId: null, enabled: false },\r\n\t\t\t{ title: '11', component: ContactPage, urlId: null, enabled: true },\r\n\t\t\t{ title: '175', component: LanguagePage, urlId: null, enabled: true },\r\n\t\t\t{ title: '181', component: TrelleborgAppsPage, urlId: null, enabled: true },\r\n\t\t\t{ title: '6', component: null, urlId: '156', enabled: true }\r\n\t\t];\r\n\t}\r\n\r\n\tsaveConfiguration() {\r\n\t\tlet tractor = this.machinesProvider.tractor;\r\n\t\tlet front = this.machinesProvider.front;\r\n\t\tlet frontList = this.machinesProvider.frontList;\r\n\t\tlet rear = this.machinesProvider.rear;\r\n\t\tlet rearList = this.machinesProvider.rearList;\r\n\t\tlet tyreFront = this.machinesProvider.getTyreFrontWheel();\r\n\t\tlet tyreRear = this.machinesProvider.getTyreRearWheel();\r\n\t\tlet savedDataDesktop = moment(new Date()).format(\"YYYY.MM.DD\");\r\n\t\tlet savedDataMobile = moment(new Date()).format(\"DD/MM/YYYY hh:mm\");\r\n\t\tthis.savedConfigurations.push({\r\n\t\t\ttractor: tractor,\r\n\t\t\tfront: front,\r\n\t\t\tfrontList: frontList,\r\n\t\t\trear: rear,\r\n\t\t\trearList: rearList,\r\n\t\t\ttyreFront: tyreFront,\r\n\t\t\ttyreRear: tyreRear,\r\n\t\t\tsavedDataDesktop: savedDataDesktop,\r\n\t\t\tsavedDataMobile: savedDataMobile\r\n\t\t});\r\n\t\tthis.checkRowsMenu(this.savedConfigurations);\r\n\t\tthis.storage.set(\"saved-configurations\", this.savedConfigurations);\r\n\t}\r\n\r\n\tloadConfiguration(config) {\r\n\t\tthis.machinesProvider.tractor = config.tractor;\r\n\t\tthis.machinesProvider.front = config.front;\r\n\t\tthis.machinesProvider.frontList = config.frontList;\r\n\t\tthis.machinesProvider.rear = config.rear;\r\n\t\tthis.machinesProvider.rearList = config.rearList;\r\n\t\tthis.machinesProvider.tyreFrontWheel = config.tyreFront;\r\n\t\tthis.machinesProvider.tyreRearWheel = config.tyreRear;\r\n\t\tthis.machinesProvider.convertUnits();\r\n\r\n\t}\r\n\r\n\treadConfiguration(configurations) {\r\n\t\tif (configurations) {\r\n\t\t\tthis.savedConfigurations = configurations;\r\n\t\t}\r\n\t}\r\n\r\n\taddToMyFleet(data: any) {\r\n\t\tlet tractorType = \"other\";\r\n\t\tlet wheels = \"_1_1_1_1\";\r\n\t\tif (data[\"brand\"] !== \"CASE-IH\" && data[\"brand\"] !== \"CLAAS\" && data[\"brand\"] !== \"DEUTZ-FAHR\" && data[\"brand\"] !== \"FENDT\" && data[\"brand\"] !== \"GOLDONI\" && data[\"brand\"] !== \"JCB\" && data[\"brand\"] !== \"JOHN DEERE\" && data[\"brand\"] !== \"KUBOTA\" && data[\"brand\"] !== \"LAMBORGHINI\" && data[\"brand\"] !== \"LANDINI\" && data[\"brand\"] !== \"MASSEY FERGUSON\" && data[\"brand\"] !== \"McCORMICK\" && data[\"brand\"] !== \"NEW HOLLAND\" && data[\"brand\"] !== \"OTHER\" && data[\"brand\"] !== \"SAME\" && !data[\"brand\"].includes(\"VALTRA\")) {\r\n\t\t\ttractorType = \"other\";\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (data[\"brand\"].includes(\"VALTRA\")) {\r\n\t\t\t\ttractorType = \"valtra\";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\ttractorType = data[\"brand\"].toLowerCase();\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.machinesProvider.fleetType = data[\"machineTypeConfiguration\"] ? data[\"machineTypeConfiguration\"] : 'planting';\r\n\t\tlet urlBkg = \"assets/imgs/plus/bkg_\" + this.machinesProvider.fleetType + \".png\";\r\n\t\tlet tires = [\"FRONT LEFT TIRE\", \"FRONT RIGHT TIRE\", \"REAR LEFT TIRE\", \"REAR RIGHT TIRE\"];\r\n\t\tif (data[\"frontAxleFitment\"] === \"Single\" && data[\"rearAxleFitment\"] === \"Dual\") {\r\n\t\t\twheels = \"_1_1_1_1_1_1\";\r\n\t\t\ttires = [\"FRONT LEFT TIRE\", \"FRONT RIGHT TIRE\", \"REAR FIRST LEFT TIRE\", \"REAR FIRST RIGHT TIRE\", \"REAR SECOND LEFT TIRE\", \"REAR SECOND RIGHT TIRE\"];\r\n\t\t}\r\n\t\telse if (data[\"frontAxleFitment\"] === \"Dual\" && data[\"rearAxleFitment\"] === \"Dual\") {\r\n\t\t\twheels = \"_1_1_1_1_1_1_1_1\";\r\n\t\t\ttires = [\"FRONT LEFT TIRE\", \"FRONT RIGHT TIRE\", \"REAR FIRST LEFT TIRE\", \"REAR FIRST RIGHT TIRE\", \"REAR SECOND LEFT TIRE\", \"REAR SECOND RIGHT TIRE\", \"FRONT SECOND LEFT TIRE\", \"FRONT SECOND RIGHT TIRE\"];\r\n\t\t}\r\n\t\tthis.machinesProvider.myFleet.push(\r\n\t\t\tnew Tractor(data[\"brand\"], data[\"model\"], data[\"rearMountedEquipment\"] ? data[\"rearMountedEquipment\"] : \"-\", data[\"frontMountedEquipment\"] ? data[\"frontMountedEquipment\"] : \"-\", data[\"version\"], urlBkg, \"assets/imgs/plus/\" + tractorType + wheels + \".png\", data[\"pairing\"] === \"NO\" || data[\"pairing\"] === \"red\" ? false : true, data[\"pressureCheck\"], data[\"_id\"], data[\"idGateway\"], data[\"machineIdentifier\"], data['status'], data['machineTypeConfiguration'], data['frontTargetPressure'], data['rearTargetPressure'], tires),\r\n\t\t);\r\n\t}\r\n\r\n\tgetBrand() {\r\n\t\tthis.httpProvider.getMachineBrand()\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tlet response: any = result;\r\n\t\t\t\t\tif (response.data && response.data.brand) {\r\n\t\t\t\t\t\tthis.machineBrands = response.data.brand;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, (err) => {\r\n\t\t\t\tconsole.log(\"err: \", err);\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetBrands() {\r\n\t\treturn this.machineBrands;\r\n\t}\r\n\r\n\tgetModel(brand: string) {\r\n\t\tthis.httpProvider.getTireModel(brand)\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tlet response: any = result;\r\n\t\t\t\t\tif (response.data) {\r\n\t\t\t\t\t\tlet index = response.data.findIndex(function (element) {\r\n\t\t\t\t\t\t\treturn element.msg == \"Model available\";\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (index !== -1) {\r\n\t\t\t\t\t\t\tthis.tireModels = response.data[index].model;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tindex = response.data.findIndex(function (element) {\r\n\t\t\t\t\t\t\treturn element.msg == \"Version available\";\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (index !== -1) {\r\n\t\t\t\t\t\t\tthis.tireVersions = response.data[index].version;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tindex = response.data.findIndex(function (element) {\r\n\t\t\t\t\t\t\treturn element.msg == \"HP available\";\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (index !== -1) {\r\n\t\t\t\t\t\t\tthis.hpList = response.data[index].hp;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tindex = response.data.findIndex(function (element) {\r\n\t\t\t\t\t\t\treturn element.msg == \"Wheelbase available\";\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (index !== -1) {\r\n\t\t\t\t\t\t\tthis.wheelbaseList = response.data[index].wheelbase;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, (err) => {\r\n\t\t\t\tconsole.log(\"err: \", err);\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetModels() {\r\n\t\treturn this.tireModels;\r\n\t}\r\n\r\n\tgetVersions() {\r\n\t\treturn this.tireVersions;\r\n\t}\r\n\r\n\tsetHp(hp: number) {\r\n\t\tthis.hp = hp;\r\n\t}\r\n\r\n\tgetHp() {\r\n\t\treturn this.hp;\r\n\t}\r\n\r\n\tsetWheelbase(wheelbase: number) {\r\n\t\tthis.wheelbase = wheelbase;\r\n\t}\r\n\r\n\tgetWheelbase() {\r\n\t\treturn this.wheelbase;\r\n\t}\r\n\r\n\tgetWheelbaseList() {\r\n\t\treturn this.wheelbaseList;\r\n\t}\r\n\r\n\tgetHpList() {\r\n\t\treturn this.hpList;\r\n\t}\r\n\r\n\tgetConfigurationTirePlus() {\r\n\t\t/* return [this.translate.instant(\"fitment_single\"), this.translate.instant(\"fitment_dual\")]; */\r\n\t\treturn [this.translate.instant(\"fitment_single\"), this.translate.instant(\"fitment_dual\"), this.translate.instant(\"fitment_triples\")];\r\n\t}\r\n\r\n\tgetConfigurationTireBrandPlus() {\r\n\t\t/* this.httpProvider.getTireBrand()\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tlet response: any = result;\r\n\t\t\t\t\tif (response.data && response.data.tires) {\r\n\t\t\t\t\t\tthis.tireBrands = response.data.tires;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, (err) => {\r\n\t\t\t}); */\r\n\t\tthis.tireBrands = [\"TRELLEBORG\", \"MAXIMO\", \"OTHER\"];\r\n\t}\r\n\r\n\tgetTireBrands() {\r\n\t\treturn this.tireBrands;\r\n\t}\r\n\r\n\tgetTireOtherBrands() {\r\n\t\treturn [\"ALLIANCE\", \"BKT\", \"BRIDGESTONE\", \"FIRESTONE\", \"GOODYEAR\", \"KLEBER\", \"MICHELIN\", \"NOKIAN\", \"TITAN\", \"TAURUS\"];\r\n\t}\r\n\r\n\tsetBrandSelectionPlus(selectedLabel) {\r\n\t\tthis.brandSelectionPlus = selectedLabel;\r\n\t}\r\n\r\n\tgetBrandSelectionPlus() {\r\n\t\treturn this.brandSelectionPlus;\r\n\t}\r\n\r\n\tsetMountedSelectionPlus(selectedLabel) {\r\n\t\tthis.mountedSelectionPlus = selectedLabel;\r\n\t}\r\n\r\n\tgetMountedSelectionPlus() {\r\n\t\treturn this.mountedSelectionPlus;\r\n\t}\r\n\r\n\tsetMachineToolPlus(label, machine) {\r\n\t\tthis.machine[label] = machine;\r\n\t}\r\n\r\n\tgetMachineToolPlus() {\r\n\t\treturn this.machine;\r\n\t}\r\n\r\n\tsetConfigurationTool(machine) {\r\n\t\tthis.machineTool = machine;\r\n\t}\r\n\r\n\tgetConfigurationTool() {\r\n\t\treturn this.machineTool;\r\n\t}\r\n\r\n\tcheckRowsMenu(configurations) {\r\n\t\tfor (let p of this.pages) {\r\n\t\t\tif (p.title == \"174\") {\r\n\t\t\t\tif (configurations && configurations.length > 0) {\r\n\t\t\t\t\tp.enabled = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tp.enabled = false;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tsetItemLabel(item: ListItem) {\r\n\t\tthis.itemLabel = item;\r\n\t}\r\n\r\n\tgetItemLabel(): ListItem {\r\n\t\treturn this.itemLabel;\r\n\t}\r\n\r\n\tgetPages() {\r\n\t\treturn this.pages;\r\n\t}\r\n\r\n\tcheckPlusPages(currentPage: string): boolean {\r\n\t\tfor (let page of this.plusPages) {\r\n\t\t\tif (page === currentPage) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tsetRole(role: string) {\r\n\t\tthis.userRole = role;\r\n\t\tlocalStorage.setItem(\"role\", this.userRole);\r\n\t}\r\n\r\n\tgetRole(): string {\r\n\t\tif (!this.userRole || this.userRole === \"\") {\r\n\t\t\tthis.userRole = localStorage.getItem(\"role\");\r\n\t\t}\r\n\t\treturn this.userRole;\r\n\t}\r\n\r\n\tgetOptions(direction: string) {\r\n\t\tif (direction === \"left\") {\r\n\t\t\treturn this.optionsLeft;\r\n\t\t}\r\n\t\telse if (direction === \"right\") {\r\n\t\t\treturn this.optionsRight;\r\n\t\t}\r\n\t\telse if (direction === \"top\") {\r\n\t\t\treturn this.optionsTop;\r\n\t\t}\r\n\t\telse if (direction === \"down\") {\r\n\t\t\treturn this.optionsDown;\r\n\t\t}\r\n\t}\r\n\r\n\tsetNewMachineType(type: string) {\r\n\t\tthis.newMachineType = type;\r\n\t}\r\n\r\n\tgetNewMachineType() {\r\n\t\treturn this.newMachineType;\r\n\t}\r\n\r\n\tsetMachineIdentifier(id: string) {\r\n\t\tthis.machineID = id;\r\n\t}\r\n\r\n\tgetMachineIdentifier() {\r\n\t\treturn this.machineID;\r\n\t}\r\n\r\n\tsetSingleTractor(tractor: any) {\r\n\t\tthis.singleTractor = tractor;\r\n\t}\r\n\r\n\tgetSingleTractor() {\r\n\t\treturn this.singleTractor;\r\n\t}\r\n\r\n\tsetLastPageMachineList(page: string) {\r\n\t\tthis.lastPageMachineList = page;\r\n\t}\r\n\r\n\tgetLastPageMachineList() {\r\n\t\treturn this.lastPageMachineList;\r\n\t}\r\n\r\n\tsetSearchInput(searchInput: string) {\r\n\t\tthis.searchInput = searchInput;\r\n\t}\r\n\r\n\tgetSearchInput() {\r\n\t\treturn this.searchInput;\r\n\t}\r\n\r\n\tsetStatus(status: string) {\r\n\t\tthis.status = status;\r\n\t}\r\n\r\n\tgetStatus() {\r\n\t\treturn this.status;\r\n\t}\r\n\r\n\tsetStorage(title: string, value: string) {\r\n\t\tlocalStorage.setItem(title, value);\r\n\t}\r\n\r\n\tgetStorage(title: string) {\r\n\t\treturn localStorage.getItem(title) ? localStorage.getItem(title) : \"\";\r\n\t}\r\n\r\n\tgetEnglishNameTool(word: string, ) {\r\n\t\tswitch (word.toLowerCase()) {\r\n\t\t\tcase this.translate.instant(\"89\").toLowerCase():\r\n\t\t\t\treturn \"Disk tool\";\r\n\t\t\tcase this.translate.instant(\"129\").toLowerCase():\r\n\t\t\t\treturn \"Front loader\";\r\n\t\t\tcase this.translate.instant(\"35\").toLowerCase():\r\n\t\t\t\treturn \"Front weight\";\r\n\t\t\tcase this.translate.instant(\"92\").toLowerCase():\r\n\t\t\t\treturn \"Hopper\";\r\n\t\t\tcase this.translate.instant(\"93\").toLowerCase():\r\n\t\t\t\treturn \"Loaded plough\";\r\n\t\t\tcase this.translate.instant(\"91\").toLowerCase():\r\n\t\t\t\treturn \"Mower\";\r\n\t\t\tcase this.translate.instant(\"88\").toLowerCase():\r\n\t\t\t\treturn \"No front-mounted machine\";\r\n\t\t\tcase this.translate.instant(\"90\").toLowerCase():\r\n\t\t\t\treturn \"Sub-Soiler\";\r\n\t\t\tcase this.translate.instant(\"26\").toLowerCase():\r\n\t\t\t\treturn \"Fully Mounted Tool\";\r\n\t\t\tcase this.translate.instant(\"99\").toLowerCase():\r\n\t\t\t\treturn \"Combined drill\";\r\n\t\t\tcase this.translate.instant(\"100\").toLowerCase():\r\n\t\t\t\treturn \"Fertiliser spreader\";\r\n\t\t\tcase this.translate.instant(\"95\").toLowerCase():\r\n\t\t\t\treturn \"Haymaker\";\r\n\t\t\tcase this.translate.instant(\"93\").toLowerCase():\r\n\t\t\t\treturn \"Loaded plough\";\r\n\t\t\tcase this.translate.instant(\"36\").toLowerCase():\r\n\t\t\t\treturn \"Rear Weight\";\r\n\t\t\tcase this.translate.instant(\"97\").toLowerCase():\r\n\t\t\t\treturn \"Rotary Harrow\";\r\n\t\t\tcase this.translate.instant(\"102\").toLowerCase():\r\n\t\t\t\treturn \"Seeder\";\r\n\t\t\tcase this.translate.instant(\"101\").toLowerCase():\r\n\t\t\t\treturn \"Sprayer\";\r\n\t\t\tcase this.translate.instant(\"96\").toLowerCase():\r\n\t\t\t\treturn \"Swather\";\r\n\t\t\tcase this.translate.instant(\"98b\").toLowerCase():\r\n\t\t\t\treturn \"Cultivator\";\r\n\t\t\tcase this.translate.instant(\"27\").toLowerCase():\r\n\t\t\t\treturn \"Semi Mounted Tool\";\r\n\t\t\tcase this.translate.instant(\"103\").toLowerCase():\r\n\t\t\t\treturn \"Semi-mounted plough\";\r\n\t\t\tcase this.translate.instant(\"98a\").toLowerCase():\r\n\t\t\t\treturn \"Sugar cane planter\";\r\n\t\t\tcase this.translate.instant(\"105\").toLowerCase():\r\n\t\t\t\treturn \"Trailer\";\r\n\t\t\tcase this.translate.instant(\"28\").toLowerCase():\r\n\t\t\t\treturn \"Trailer\";\r\n\t\t\tcase this.translate.instant(\"107\").toLowerCase():\r\n\t\t\t\treturn \"Liquid manure spreader\";\r\n\t\t\tcase this.translate.instant(\"106\").toLowerCase():\r\n\t\t\t\treturn \"Self-loading silage wagon\";\r\n\t\t\tcase this.translate.instant(\"28a\").toLowerCase():\r\n\t\t\t\treturn \"Tillage implement\";\r\n\t\t\tcase this.translate.instant(\"107a\").toLowerCase():\r\n\t\t\t\treturn \"Tillage implement with high transfer load\";\r\n\t\t\tcase this.translate.instant(\"107b\").toLowerCase():\r\n\t\t\t\treturn \"Tillage implement with low transfer load\";\r\n\t\t}\r\n\t}\r\n\r\n\tgetCodeTool(word: string, ) {\r\n\t\tswitch (word) {\r\n\t\t\tcase this.translate.instant(\"89\"):\r\n\t\t\t\treturn \"89\";\r\n\t\t\tcase this.translate.instant(\"129\"):\r\n\t\t\t\treturn \"129\";\r\n\t\t\tcase this.translate.instant(\"35\"):\r\n\t\t\t\treturn \"35\";\r\n\t\t\tcase this.translate.instant(\"92\"):\r\n\t\t\t\treturn \"92\";\r\n\t\t\tcase this.translate.instant(\"93\"):\r\n\t\t\t\treturn \"93\";\r\n\t\t\tcase this.translate.instant(\"91\"):\r\n\t\t\t\treturn \"91\";\r\n\t\t\tcase this.translate.instant(\"88\"):\r\n\t\t\t\treturn \"88\";\r\n\t\t\tcase this.translate.instant(\"90\"):\r\n\t\t\t\treturn \"90\";\r\n\t\t\tcase this.translate.instant(\"26\"):\r\n\t\t\t\treturn \"26\";\r\n\t\t\tcase this.translate.instant(\"99\"):\r\n\t\t\t\treturn \"99\";\r\n\t\t\tcase this.translate.instant(\"100\"):\r\n\t\t\t\treturn \"100\";\r\n\t\t\tcase this.translate.instant(\"95\"):\r\n\t\t\t\treturn \"95\";\r\n\t\t\tcase this.translate.instant(\"93\"):\r\n\t\t\t\treturn \"93\";\r\n\t\t\tcase this.translate.instant(\"36\"):\r\n\t\t\t\treturn \"36\";\r\n\t\t\tcase this.translate.instant(\"97\"):\r\n\t\t\t\treturn \"97\";\r\n\t\t\tcase this.translate.instant(\"102\"):\r\n\t\t\t\treturn \"102\";\r\n\t\t\tcase this.translate.instant(\"101\"):\r\n\t\t\t\treturn \"101\";\r\n\t\t\tcase this.translate.instant(\"96\"):\r\n\t\t\t\treturn \"96\";\r\n\t\t\tcase this.translate.instant(\"98b\"):\r\n\t\t\t\treturn \"98b\";\r\n\t\t\tcase this.translate.instant(\"27\"):\r\n\t\t\t\treturn \"27\";\r\n\t\t\tcase this.translate.instant(\"103\"):\r\n\t\t\t\treturn \"103\";\r\n\t\t\tcase this.translate.instant(\"98a\"):\r\n\t\t\t\treturn \"98a\";\r\n\t\t\tcase this.translate.instant(\"105\"):\r\n\t\t\t\treturn \"105\";\r\n\t\t\tcase this.translate.instant(\"107\"):\r\n\t\t\t\treturn \"107\";\r\n\t\t\tcase this.translate.instant(\"106\"):\r\n\t\t\t\treturn \"106\";\r\n\t\t\tcase this.translate.instant(\"28a\"):\r\n\t\t\t\treturn \"28a\";\r\n\t\t\tcase this.translate.instant(\"107a\"):\r\n\t\t\t\treturn \"107a\";\r\n\t\t\tcase this.translate.instant(\"107b\"):\r\n\t\t\t\treturn \"107b\";\r\n\t\t}\r\n\t}\r\n\r\n\tsetLastPair(pair: boolean) {\r\n\t\tthis.last_pair = pair;\r\n\t}\r\n\r\n\tgetLastPair(): boolean {\r\n\t\treturn this.last_pair;\r\n\t}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/configurations/configurations.ts","import { NgModule } from '@angular/core';\r\nimport { IonicModule } from \"ionic-angular\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\n\r\nimport { MyApp } from \"../app/app.component\";\r\nimport { HeaderComponent } from './header/header';\r\nimport { HeaderPlusComponent } from './header-plus/header-plus';\r\nimport { FooterComponent } from \"./footer/footer\";\r\nimport { FooterPlusComponent } from \"./footer-plus/footer-plus\";\r\nimport { DragPositionComponent } from './drag-position/drag-position';\r\nimport { PlusFieldComponent } from './plus-field/plus-field';\r\n\r\n@NgModule({\r\n declarations: [\r\n HeaderComponent,\r\n HeaderPlusComponent,\r\n FooterComponent,\r\n FooterPlusComponent,\r\n DragPositionComponent,\r\n PlusFieldComponent\r\n ],\r\n imports: [\r\n TranslateModule.forChild({}),\r\n IonicModule.forRoot(MyApp)\r\n ],\r\n exports: [\r\n HeaderComponent,\r\n HeaderPlusComponent,\r\n FooterComponent,\r\n FooterPlusComponent,\r\n DragPositionComponent,\r\n PlusFieldComponent\r\n ]\r\n})\r\n\r\nexport class ComponentsModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/components.module.ts","import { Unit } from \"./unit\";\r\n\r\nexport class UnitManager {\r\n\r\n constructor(\r\n public weight: Unit,\r\n public speed: Unit,\r\n public distance: Unit) {\r\n this.weight = weight;\r\n this.speed = speed;\r\n this.distance = distance;\r\n }\r\n\r\n setUnits(units: UnitManager) {\r\n this.weight = units.weight;\r\n this.speed = units.speed;\r\n this.distance = units.distance;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/model/unit-manager.ts","import { Machine } from \"./machine\";\r\n\r\nexport class ListItem {\r\n\r\n public label: string;\r\n public selected: number;\r\n public machine: Machine;\r\n public items: ListItem[];\r\n\r\n constructor(label: string, item: Machine | ListItem[]) {\r\n this.label = label;\r\n this.selected = -1;\r\n if (item instanceof Machine) {\r\n this.machine = item;\r\n } else {\r\n this.items = item;\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/model/list-item.ts","var map = {\n\t\"./af\": 257,\n\t\"./af.js\": 257,\n\t\"./ar\": 258,\n\t\"./ar-dz\": 259,\n\t\"./ar-dz.js\": 259,\n\t\"./ar-kw\": 260,\n\t\"./ar-kw.js\": 260,\n\t\"./ar-ly\": 261,\n\t\"./ar-ly.js\": 261,\n\t\"./ar-ma\": 262,\n\t\"./ar-ma.js\": 262,\n\t\"./ar-sa\": 263,\n\t\"./ar-sa.js\": 263,\n\t\"./ar-tn\": 264,\n\t\"./ar-tn.js\": 264,\n\t\"./ar.js\": 258,\n\t\"./az\": 265,\n\t\"./az.js\": 265,\n\t\"./be\": 266,\n\t\"./be.js\": 266,\n\t\"./bg\": 267,\n\t\"./bg.js\": 267,\n\t\"./bm\": 268,\n\t\"./bm.js\": 268,\n\t\"./bn\": 269,\n\t\"./bn.js\": 269,\n\t\"./bo\": 270,\n\t\"./bo.js\": 270,\n\t\"./br\": 271,\n\t\"./br.js\": 271,\n\t\"./bs\": 272,\n\t\"./bs.js\": 272,\n\t\"./ca\": 273,\n\t\"./ca.js\": 273,\n\t\"./cs\": 274,\n\t\"./cs.js\": 274,\n\t\"./cv\": 275,\n\t\"./cv.js\": 275,\n\t\"./cy\": 276,\n\t\"./cy.js\": 276,\n\t\"./da\": 277,\n\t\"./da.js\": 277,\n\t\"./de\": 278,\n\t\"./de-at\": 279,\n\t\"./de-at.js\": 279,\n\t\"./de-ch\": 280,\n\t\"./de-ch.js\": 280,\n\t\"./de.js\": 278,\n\t\"./dv\": 281,\n\t\"./dv.js\": 281,\n\t\"./el\": 282,\n\t\"./el.js\": 282,\n\t\"./en-SG\": 283,\n\t\"./en-SG.js\": 283,\n\t\"./en-au\": 284,\n\t\"./en-au.js\": 284,\n\t\"./en-ca\": 285,\n\t\"./en-ca.js\": 285,\n\t\"./en-gb\": 286,\n\t\"./en-gb.js\": 286,\n\t\"./en-ie\": 287,\n\t\"./en-ie.js\": 287,\n\t\"./en-il\": 288,\n\t\"./en-il.js\": 288,\n\t\"./en-nz\": 289,\n\t\"./en-nz.js\": 289,\n\t\"./eo\": 290,\n\t\"./eo.js\": 290,\n\t\"./es\": 291,\n\t\"./es-do\": 292,\n\t\"./es-do.js\": 292,\n\t\"./es-us\": 293,\n\t\"./es-us.js\": 293,\n\t\"./es.js\": 291,\n\t\"./et\": 294,\n\t\"./et.js\": 294,\n\t\"./eu\": 295,\n\t\"./eu.js\": 295,\n\t\"./fa\": 296,\n\t\"./fa.js\": 296,\n\t\"./fi\": 297,\n\t\"./fi.js\": 297,\n\t\"./fo\": 298,\n\t\"./fo.js\": 298,\n\t\"./fr\": 299,\n\t\"./fr-ca\": 300,\n\t\"./fr-ca.js\": 300,\n\t\"./fr-ch\": 301,\n\t\"./fr-ch.js\": 301,\n\t\"./fr.js\": 299,\n\t\"./fy\": 302,\n\t\"./fy.js\": 302,\n\t\"./ga\": 303,\n\t\"./ga.js\": 303,\n\t\"./gd\": 304,\n\t\"./gd.js\": 304,\n\t\"./gl\": 305,\n\t\"./gl.js\": 305,\n\t\"./gom-latn\": 306,\n\t\"./gom-latn.js\": 306,\n\t\"./gu\": 307,\n\t\"./gu.js\": 307,\n\t\"./he\": 308,\n\t\"./he.js\": 308,\n\t\"./hi\": 309,\n\t\"./hi.js\": 309,\n\t\"./hr\": 310,\n\t\"./hr.js\": 310,\n\t\"./hu\": 311,\n\t\"./hu.js\": 311,\n\t\"./hy-am\": 312,\n\t\"./hy-am.js\": 312,\n\t\"./id\": 313,\n\t\"./id.js\": 313,\n\t\"./is\": 314,\n\t\"./is.js\": 314,\n\t\"./it\": 315,\n\t\"./it-ch\": 316,\n\t\"./it-ch.js\": 316,\n\t\"./it.js\": 315,\n\t\"./ja\": 317,\n\t\"./ja.js\": 317,\n\t\"./jv\": 318,\n\t\"./jv.js\": 318,\n\t\"./ka\": 319,\n\t\"./ka.js\": 319,\n\t\"./kk\": 320,\n\t\"./kk.js\": 320,\n\t\"./km\": 321,\n\t\"./km.js\": 321,\n\t\"./kn\": 322,\n\t\"./kn.js\": 322,\n\t\"./ko\": 323,\n\t\"./ko.js\": 323,\n\t\"./ku\": 324,\n\t\"./ku.js\": 324,\n\t\"./ky\": 325,\n\t\"./ky.js\": 325,\n\t\"./lb\": 326,\n\t\"./lb.js\": 326,\n\t\"./lo\": 327,\n\t\"./lo.js\": 327,\n\t\"./lt\": 328,\n\t\"./lt.js\": 328,\n\t\"./lv\": 329,\n\t\"./lv.js\": 329,\n\t\"./me\": 330,\n\t\"./me.js\": 330,\n\t\"./mi\": 331,\n\t\"./mi.js\": 331,\n\t\"./mk\": 332,\n\t\"./mk.js\": 332,\n\t\"./ml\": 333,\n\t\"./ml.js\": 333,\n\t\"./mn\": 334,\n\t\"./mn.js\": 334,\n\t\"./mr\": 335,\n\t\"./mr.js\": 335,\n\t\"./ms\": 336,\n\t\"./ms-my\": 337,\n\t\"./ms-my.js\": 337,\n\t\"./ms.js\": 336,\n\t\"./mt\": 338,\n\t\"./mt.js\": 338,\n\t\"./my\": 339,\n\t\"./my.js\": 339,\n\t\"./nb\": 340,\n\t\"./nb.js\": 340,\n\t\"./ne\": 341,\n\t\"./ne.js\": 341,\n\t\"./nl\": 342,\n\t\"./nl-be\": 343,\n\t\"./nl-be.js\": 343,\n\t\"./nl.js\": 342,\n\t\"./nn\": 344,\n\t\"./nn.js\": 344,\n\t\"./pa-in\": 345,\n\t\"./pa-in.js\": 345,\n\t\"./pl\": 346,\n\t\"./pl.js\": 346,\n\t\"./pt\": 347,\n\t\"./pt-br\": 348,\n\t\"./pt-br.js\": 348,\n\t\"./pt.js\": 347,\n\t\"./ro\": 349,\n\t\"./ro.js\": 349,\n\t\"./ru\": 350,\n\t\"./ru.js\": 350,\n\t\"./sd\": 351,\n\t\"./sd.js\": 351,\n\t\"./se\": 352,\n\t\"./se.js\": 352,\n\t\"./si\": 353,\n\t\"./si.js\": 353,\n\t\"./sk\": 354,\n\t\"./sk.js\": 354,\n\t\"./sl\": 355,\n\t\"./sl.js\": 355,\n\t\"./sq\": 356,\n\t\"./sq.js\": 356,\n\t\"./sr\": 357,\n\t\"./sr-cyrl\": 358,\n\t\"./sr-cyrl.js\": 358,\n\t\"./sr.js\": 357,\n\t\"./ss\": 359,\n\t\"./ss.js\": 359,\n\t\"./sv\": 360,\n\t\"./sv.js\": 360,\n\t\"./sw\": 361,\n\t\"./sw.js\": 361,\n\t\"./ta\": 362,\n\t\"./ta.js\": 362,\n\t\"./te\": 363,\n\t\"./te.js\": 363,\n\t\"./tet\": 364,\n\t\"./tet.js\": 364,\n\t\"./tg\": 365,\n\t\"./tg.js\": 365,\n\t\"./th\": 366,\n\t\"./th.js\": 366,\n\t\"./tl-ph\": 367,\n\t\"./tl-ph.js\": 367,\n\t\"./tlh\": 368,\n\t\"./tlh.js\": 368,\n\t\"./tr\": 369,\n\t\"./tr.js\": 369,\n\t\"./tzl\": 370,\n\t\"./tzl.js\": 370,\n\t\"./tzm\": 371,\n\t\"./tzm-latn\": 372,\n\t\"./tzm-latn.js\": 372,\n\t\"./tzm.js\": 371,\n\t\"./ug-cn\": 373,\n\t\"./ug-cn.js\": 373,\n\t\"./uk\": 374,\n\t\"./uk.js\": 374,\n\t\"./ur\": 375,\n\t\"./ur.js\": 375,\n\t\"./uz\": 376,\n\t\"./uz-latn\": 377,\n\t\"./uz-latn.js\": 377,\n\t\"./uz.js\": 376,\n\t\"./vi\": 378,\n\t\"./vi.js\": 378,\n\t\"./x-pseudo\": 379,\n\t\"./x-pseudo.js\": 379,\n\t\"./yo\": 380,\n\t\"./yo.js\": 380,\n\t\"./zh-cn\": 381,\n\t\"./zh-cn.js\": 381,\n\t\"./zh-hk\": 382,\n\t\"./zh-hk.js\": 382,\n\t\"./zh-tw\": 383,\n\t\"./zh-tw.js\": 383\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 517;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/moment/locale ^\\.\\/.*$\n// module id = 517\n// module chunks = 0","import { Component, Input, HostListener, OnInit } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from \"ionic-angular\";\r\nimport { MyApp } from \"../../app/app.component\";\r\nimport { ConfigurationsProvider } from '../../providers/configurations/configurations';\r\nimport { LandingPage } from '../../pages/landing/landing';\r\nimport { PairingProvider } from '../../providers/pairing/pairing';\r\nimport { HomePage } from '../../pages/home/home';\r\nimport { ListPage } from '../../pages/tractor/list/list';\r\nimport { MachinesProvider } from '../../providers/machines/machines';\r\nimport { TractorPage } from '../../pages/tractor/tractor';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\n\r\n/**\r\n * Generated class for the HeaderComponent component.\r\n *\r\n * See https://angular.io/api/core/Component for more info on Angular\r\n * Components.\r\n */\r\n@Component({\r\n selector: 'header',\r\n templateUrl: 'header.html'\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n @Input() pageTitle: string;\r\n @Input() pageSubtitle: string;\r\n public innerWidth: any;\r\n public internet_explorer: boolean = false;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public configurationsProvider: ConfigurationsProvider, public machinesProvider: MachinesProvider, private pairingProvider: PairingProvider, private nativePageTransitions: NativePageTransitions) {\r\n this.innerWidth = window.innerWidth;\r\n let ua = window.navigator.userAgent;\r\n if (ua && (ua.indexOf(\"MSIE \") > 0 || ua.indexOf(\"Trident\") > 0)) {\r\n console.log(\"Internet Explorer\");\r\n this.internet_explorer = true;\r\n }\r\n }\r\n\r\n checkDevice(): boolean {\r\n if (this.innerWidth < 1030) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n if (this.innerWidth >= 1030) {\r\n this.checkDevice();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n backHome() {\r\n this.pairingProvider.initFleet();\r\n this.navCtrl.setRoot(MyApp, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n backLanding() {\r\n this.pairingProvider.initFleet();\r\n this.navCtrl.setRoot(LandingPage, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n checkPage(name: string): boolean {\r\n return this.pageTitle === name ? true : false;\r\n }\r\n\r\n back() {\r\n if (this.pageTitle === \"14\" || (this.pageTitle === \"166\" && this.pageSubtitle && this.pageSubtitle.includes(\"1\")) || this.pageTitle === \"174\" || this.pageTitle === \"11\" || this.pageTitle === \"175\" || this.pageTitle === \"181\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(HomePage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(HomePage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.pageTitle === \"24\" && this.pageSubtitle && this.pageSubtitle.includes(\"1\") || this.pageTitle === \"25\" && this.pageSubtitle && this.pageSubtitle.includes(\"1\") || this.pageTitle === \"166\" && !this.pageSubtitle || this.pageTitle === \"60\" || this.pageTitle === \"177\" || this.pageTitle === \"menu_label\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TractorPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TractorPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.pageTitle === \"25\" && this.pageSubtitle && !this.pageSubtitle.includes(\"1\") && this.pageSubtitle.includes(\"2\")) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.machinesProvider.getRearList().label,\r\n currentStep: 1,\r\n finalStep: 3,\r\n item: this.machinesProvider.getRearList()\r\n }, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.machinesProvider.getRearList().label,\r\n currentStep: 1,\r\n finalStep: 3,\r\n item: this.machinesProvider.getRearList()\r\n }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.pageTitle === \"166\" && this.pageSubtitle && !this.pageSubtitle.includes(\"1\") && !this.pageSubtitle.includes(\"3\")) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.machinesProvider.getFrontList().label,\r\n currentStep: 1,\r\n finalStep: 2,\r\n item: this.machinesProvider.getFrontList()\r\n }, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.machinesProvider.getFrontList().label,\r\n currentStep: 1,\r\n finalStep: 2,\r\n item: this.machinesProvider.getFrontList()\r\n }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.pageTitle === \"166\" && this.pageSubtitle && !this.pageSubtitle.includes(\"1\") && this.pageSubtitle.includes(\"3\")) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.machinesProvider.getRearList().label,\r\n currentStep: 1,\r\n finalStep: 3,\r\n item: this.machinesProvider.getRearList()\r\n }, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.machinesProvider.getRearList().label,\r\n currentStep: 1,\r\n finalStep: 3,\r\n item: this.machinesProvider.getRearList()\r\n }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header/header.ts","import { Component, ViewChild, ChangeDetectorRef } from '@angular/core';\r\nimport { NavController, Platform } from 'ionic-angular';\r\nimport { Storage } from '@ionic/storage';\r\nimport { HomePage } from '../home/home';\r\nimport { LoginPage } from '../plus/login/login';\r\nimport { MachinesProvider } from \"../../providers/machines/machines\";\r\nimport { ConfigurationsProvider } from \"../../providers/configurations/configurations\";\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { AuthService } from '../../providers/auth/auth.service';\r\nimport { HomePlusPage } from '../plus/home-plus/home-plus';\r\n\r\n@Component({\r\n selector: 'page-landing',\r\n templateUrl: 'landing.html',\r\n})\r\nexport class LandingPage {\r\n\r\n @ViewChild(\"pageSlider\") pageSlider: any;\r\n public images: Array;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public storage: Storage,\r\n public machinesProvider: MachinesProvider, public configurationsProvider: ConfigurationsProvider,\r\n private cdRef: ChangeDetectorRef, private nativePageTransitions: NativePageTransitions, private auth: AuthService) {\r\n this.images = [];\r\n let imageFolder: string = \"assets/imgs/frontpage/\";\r\n if (this.platform.is(\"mobile\")) {\r\n imageFolder += \"mobile/\";\r\n }\r\n for (var i = 1; i <= 11; i++) {\r\n this.images.push(imageFolder + i + \".jpg\");\r\n }\r\n\r\n storage.ready().then(() => {\r\n storage.get(\"saved-configurations\").then(result => {\r\n configurationsProvider.checkRowsMenu(result);\r\n configurationsProvider.readConfiguration(result);\r\n });\r\n });\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n this.pageSlider.loop = true;\r\n }\r\n\r\n prevSlide(pager) {\r\n this.pageSlider.slidePrev();\r\n }\r\n\r\n nextSlide(pager) {\r\n this.pageSlider.slideNext();\r\n }\r\n\r\n goToTlcArea() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(HomePage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(HomePage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n goToPremiumArea() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n if (this.auth.isAuthenticated()) {\r\n this.navCtrl.setRoot(HomePlusPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(LoginPage, {});\r\n }\r\n }\r\n else {\r\n if (this.auth.isAuthenticated()) {\r\n this.navCtrl.setRoot(HomePlusPage, {}, { animate: true, direction: 'back' });\r\n }\r\n else {\r\n this.navCtrl.setRoot(LoginPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/landing/landing.ts","import { Component, Input, HostListener, OnInit } from '@angular/core';\r\nimport { NavController, Platform, NavParams } from \"ionic-angular\";\r\nimport { LandingPage } from '../../pages/landing/landing';\r\nimport { HomePlusPage } from '../../pages/plus/home-plus/home-plus';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { ConfigurationsProvider } from '../../providers/configurations/configurations';\r\nimport { MachinesProvider } from '../../providers/machines/machines';\r\nimport { MyFleetPage } from '../../pages/plus/my-fleet/my-fleet';\r\nimport { BrandSelectionPage } from '../../pages/plus/configuration/brand-selection/brand-selection';\r\nimport { ConfigurationPlusPage } from '../../pages/plus/configuration/configuration-plus/configuration-plus';\r\nimport { ConfigurationToolPage } from '../../pages/plus/configuration/configuration-tool/configuration-tool';\r\nimport { ConfigurationSelectionPage } from '../../pages/plus/configuration/configuration-selection/configuration-selection';\r\nimport { TypeSelectionPage } from '../../pages/plus/configuration/type-selection/type-selection';\r\nimport { ConfigurationTirePage } from '../../pages/plus/configuration/configuration-tire/configuration-tire';\r\nimport { MachineListPage } from '../../pages/plus/machine-list/machine-list';\r\n\r\n@Component({\r\n selector: 'header-plus',\r\n templateUrl: 'header-plus.html'\r\n})\r\nexport class HeaderPlusComponent implements OnInit {\r\n\r\n @Input() currentPage;\r\n public innerWidth: any;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public configurationsProvider: ConfigurationsProvider, public machinesProvider: MachinesProvider, private nativePageTransitions: NativePageTransitions) {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n checkDevice(): boolean {\r\n if (this.innerWidth < 1030) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n checkPage(name: string): boolean {\r\n return this.currentPage == name ? true : false;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n if (this.innerWidth >= 1030) {\r\n this.checkDevice();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n goToLanding() {\r\n this.navCtrl.push(LandingPage, {}, { animate: true });\r\n }\r\n\r\n back() {\r\n if (this.currentPage === \"MyFleetPage\" || this.currentPage === \"ConfigurationSelectionPage\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(HomePlusPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(HomePlusPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.currentPage === \"BrandSelectionPage\") {\r\n if (this.configurationsProvider.getStatus() === \"edit\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MachineListPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(MachineListPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationSelectionPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationSelectionPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n }\r\n else if (this.currentPage === \"TransitionPage\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MyFleetPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(MyFleetPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.currentPage === \"MyFleetSearchPage\") {\r\n if (this.configurationsProvider.searchPage === \"MyFleetPage\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MyFleetPage, { searchInput: this.configurationsProvider.getSearchInput() });\r\n }\r\n else {\r\n this.navCtrl.setRoot(MyFleetPage, { searchInput: this.configurationsProvider.getSearchInput() }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MachineListPage, { searchInput: this.configurationsProvider.getSearchInput() });\r\n }\r\n else {\r\n this.navCtrl.setRoot(MachineListPage, { searchInput: this.configurationsProvider.getSearchInput() }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n }\r\n else if (this.currentPage === \"ConfigurationPlusPage\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(BrandSelectionPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(BrandSelectionPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.currentPage === \"ConfigurationToolPage\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TypeSelectionPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TypeSelectionPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.currentPage === \"ConfigurationTirePage\") {\r\n let type = this.configurationsProvider.getNewMachineType();\r\n if (type === \"Tractor\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationPlusPage, {\r\n type: \"tractor\",\r\n machine: this.machinesProvider.getTractor(),\r\n newMachineFromTire: this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\")\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationPlusPage, {\r\n type: \"tractor\",\r\n machine: this.machinesProvider.getTractor(),\r\n newMachineFromTire: this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\")\r\n }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(BrandSelectionPage, {\r\n machine: this.machinesProvider.getTractor(),\r\n newMachineFromTire: this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\")\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(BrandSelectionPage, {\r\n machine: this.machinesProvider.getTractor(),\r\n newMachineFromTire: this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\")\r\n }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n }\r\n else if (this.currentPage === \"ConfigurationResultsPage\") {\r\n if (this.navParams.get(\"machineList\")) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MachineListPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(MachineListPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationToolPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationToolPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n }\r\n else if (this.currentPage === \"TypeSelectionPage\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationTirePage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationTirePage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.currentPage === \"SearchPlusPage\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationTirePage, {\r\n searchPlus: true,\r\n newMachine: this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\")\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationTirePage, {\r\n searchPlus: true,\r\n newMachine: this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\")\r\n }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else if (this.currentPage === \"MachineListPage\") {\r\n if (this.configurationsProvider.getLastPageMachineList() === \"ConfigurationTirePage\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationTirePage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationTirePage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(HomePlusPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(HomePlusPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/header-plus/header-plus.ts","import { Component, Input } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from \"ionic-angular\";\r\nimport { TractorPage } from \"../../pages/tractor/tractor\";\r\nimport { TractorResultsPage } from \"../../pages/tractor/results/results\";\r\nimport { TractorTyrePage } from \"../../pages/tractor/tyre/tyre\";\r\nimport { TractorSaveSharePage } from \"../../pages/tractor/save-share/save-share\";\r\nimport { MachinesProvider } from \"../../providers/machines/machines\";\r\nimport { ConfigurationsProvider } from '../../providers/configurations/configurations';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\n\r\n/**\r\n * Generated class for the FooterComponent component.\r\n *\r\n * See https://angular.io/api/core/Component for more info on Angular\r\n * Components.\r\n */\r\n@Component({\r\n selector: 'footer',\r\n templateUrl: 'footer.html'\r\n})\r\nexport class FooterComponent {\r\n\r\n public static readonly SELECTED_COLOR: string = 'light';\r\n public static readonly INACTIVE_COLOR: string = 'darkblue';\r\n @Input() currentPage;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public configurationsProvider: ConfigurationsProvider, private machinesProvider: MachinesProvider, private nativePageTransitions: NativePageTransitions) {\r\n }\r\n\r\n getColor(name: string): string {\r\n return this.currentPage == name ? FooterComponent.SELECTED_COLOR : FooterComponent.INACTIVE_COLOR;\r\n }\r\n\r\n getImage(name: string, image: string): string {\r\n return this.currentPage == name ? \"assets/imgs/tractor/\" + image + \"_blue.png\" : \"assets/imgs/tractor/\" + image + \"_white.png\";\r\n }\r\n\r\n isDisabled(): boolean {\r\n return !this.machinesProvider.tractor || !this.machinesProvider.front || !this.machinesProvider.rear;\r\n }\r\n\r\n openTractorPage() {\r\n if (this.currentPage != 'TractorPage') {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n }\r\n this.navCtrl.setRoot(TractorPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n openResultsPage() {\r\n if (this.currentPage != 'TractorResultsPage') {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n }\r\n this.navCtrl.setRoot(TractorResultsPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n openTyrePage() {\r\n if (this.currentPage != 'TractorTyrePage') {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n }\r\n this.navCtrl.setRoot(TractorTyrePage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n openSavePage() {\r\n if (this.currentPage != 'TractorSaveSharePage') {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n }\r\n this.navCtrl.setRoot(TractorSaveSharePage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer/footer.ts","import { Component, Input } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NavController, Platform } from \"ionic-angular\";\r\nimport { ProfilePage } from '../../pages/plus/profile/profile';\r\nimport { HomePlusPage } from '../../pages/plus/home-plus/home-plus';\r\nimport { PressurePage } from '../../pages/plus/pressure/pressure';\r\nimport { TransitionPage } from '../../pages/plus/transition/transition';\r\nimport { PairingAlertPage } from '../../pages/plus/pairing-alert/pairing-alert';\r\nimport { PairingProvider } from '../../providers/pairing/pairing';\r\nimport { ConfigurationsProvider } from '../../providers/configurations/configurations';\r\nimport { Tractor } from '../../model/tractor';\r\n\r\n@Component({\r\n selector: 'footer-plus',\r\n templateUrl: 'footer-plus.html'\r\n})\r\nexport class FooterPlusComponent {\r\n\r\n @Input() currentPage;\r\n public myfleet = new Tractor();\r\n public bsdongle = { mac: \"\", codes: [{ \"code\": \"Searching...\", \"pressure\": 0 }] };\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public translate: TranslateService, public pairingProvider: PairingProvider, public configurationsProvider: ConfigurationsProvider) {\r\n this.myfleet = pairingProvider.getMyFleet();\r\n }\r\n\r\n checkPagePlus(name: string): boolean {\r\n return this.currentPage == name ? true : false;\r\n }\r\n\r\n checkPage(name: string): boolean {\r\n return this.currentPage == name ? true : false;\r\n }\r\n\r\n myFleet() {\r\n if (this.currentPage != 'HomePlusPage') {\r\n this.navCtrl.setRoot(HomePlusPage, {});\r\n }\r\n }\r\n\r\n pairing() {\r\n if (this.currentPage != 'TransitionPage') {\r\n if (this.myfleet && this.myfleet.title === \"\") {\r\n this.navCtrl.setRoot(PairingAlertPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TransitionPage, {});\r\n }\r\n }\r\n }\r\n\r\n pressureCheck() {\r\n if (this.currentPage != 'PressurePage') {\r\n if ((this.myfleet && this.myfleet.title === \"\") || !this.myfleet.bsdongle[0] || this.myfleet.bsdongle[0].code == \"Searching...\") {\r\n this.navCtrl.setRoot(PairingAlertPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(PressurePage, {});\r\n }\r\n }\r\n }\r\n\r\n profile() {\r\n if (this.currentPage != 'ProfilePage') {\r\n this.navCtrl.setRoot(ProfilePage, {});\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/footer-plus/footer-plus.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { DragPosition } from \"../../model/drag-position\";\r\nimport { Separator } from \"../../model/separator\";\r\n\r\n@Component({\r\n selector: 'drag-position',\r\n templateUrl: 'drag-position.html'\r\n})\r\nexport class DragPositionComponent implements OnInit {\r\n\r\n public static readonly SEPARATOR_SIZE = 45;\r\n public static readonly TYRE_SIZE_DEFAULT_X = -30;\r\n public static readonly TYRE_SIZE_DEFAULT_Y = 20;\r\n @Input() separator: Separator;\r\n @Input() separators: Separator[];\r\n @Input() container: any;\r\n separatorPosition: DragPosition;\r\n tyreSizePosition: DragPosition;\r\n isDraggable: boolean;\r\n\r\n constructor() {\r\n this.separatorPosition = new DragPosition(true);\r\n this.tyreSizePosition = new DragPosition(false);\r\n this.tyreSizePosition.dragPositionX = DragPositionComponent.TYRE_SIZE_DEFAULT_X;\r\n this.tyreSizePosition.dragPositionY = DragPositionComponent.TYRE_SIZE_DEFAULT_Y;\r\n this.tyreSizePosition.currentPositionX = this.tyreSizePosition.dragPositionX;\r\n this.tyreSizePosition.currentPositionY = this.tyreSizePosition.dragPositionY;\r\n this.isDraggable = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.separatorPosition.dragPositionX = this.separator.position;\r\n this.separatorPosition.currentPositionX = this.separatorPosition.dragPositionX;\r\n this.checkDragPositions(this.separator.position);\r\n }\r\n\r\n moveSeparator(event) {\r\n this.move(this.separatorPosition, event.deltaX, event.deltaY, event.isFinal);\r\n this.separator.position = this.separatorPosition.dragPositionX;\r\n }\r\n\r\n moveLeftTyreSize(event) {\r\n this.move(this.tyreSizePosition, event.deltaX, event.deltaY, event.isFinal);\r\n }\r\n\r\n moveRightTyreSize(event) {\r\n this.move(this.tyreSizePosition, -event.deltaX, event.deltaY, event.isFinal);\r\n }\r\n\r\n disableDrag() {\r\n this.isDraggable = false;\r\n }\r\n\r\n private move(dragPosition: DragPosition, deltaX: number, deltaY: number, isFinal: boolean) {\r\n if (!dragPosition.isSeparator || this.isDraggable) {\r\n let newPositionX: number = dragPosition.currentPositionX + deltaX;\r\n let maxPositionX: number = this.container.offsetWidth - DragPositionComponent.SEPARATOR_SIZE;\r\n let newPositionY: number = dragPosition.currentPositionY - deltaY;\r\n let maxPositionY: number = this.container.offsetHeight - 85;\r\n if ((dragPosition.isSeparator && newPositionX >= 0 && newPositionX < maxPositionX\r\n && (newPositionX + this.tyreSizePosition.dragPositionX - DragPositionComponent.TYRE_SIZE_DEFAULT_X) >= 0\r\n && (newPositionX - this.tyreSizePosition.dragPositionX + DragPositionComponent.TYRE_SIZE_DEFAULT_X) < maxPositionX\r\n && this.checkDragPositions(newPositionX))\r\n || (!dragPosition.isSeparator && newPositionX <= DragPositionComponent.TYRE_SIZE_DEFAULT_X\r\n && (this.separatorPosition.dragPositionX + newPositionX - DragPositionComponent.TYRE_SIZE_DEFAULT_X) >= 0\r\n && (this.separatorPosition.dragPositionX - newPositionX + DragPositionComponent.TYRE_SIZE_DEFAULT_X) < maxPositionX)) {\r\n dragPosition.dragPositionX = newPositionX;\r\n }\r\n if (newPositionY >= 0 && newPositionY < maxPositionY) {\r\n dragPosition.dragPositionY = newPositionY;\r\n }\r\n if (isFinal) {\r\n this.isDraggable = true;\r\n dragPosition.currentPositionX = dragPosition.dragPositionX;\r\n dragPosition.currentPositionY = dragPosition.dragPositionY;\r\n }\r\n }\r\n }\r\n\r\n private checkDragPositions(newPositionX: number) {\r\n let previous: Separator = null;\r\n let previousMin: number = null;\r\n let next: Separator = null;\r\n let nextMax: number = null;\r\n for (let separator of this.separators) {\r\n if (this.separator != separator) {\r\n let difference: number = this.separator.position - separator.position;\r\n if (difference >= 0) {\r\n if (previousMin == null || previousMin < this.separator.position) {\r\n previousMin = separator.position;\r\n previous = separator;\r\n }\r\n } else {\r\n if (nextMax == null || nextMax < this.separator.position) {\r\n nextMax = separator.position;\r\n next = separator;\r\n }\r\n }\r\n }\r\n }\r\n if (previous) {\r\n if (previous.position + DragPositionComponent.SEPARATOR_SIZE > newPositionX) {\r\n return false;\r\n } else {\r\n previous.nextDistance = this.separator.position - (previous.position + DragPositionComponent.SEPARATOR_SIZE);\r\n }\r\n }\r\n if (next) {\r\n if (next.position < newPositionX + DragPositionComponent.SEPARATOR_SIZE) {\r\n return false;\r\n } else {\r\n this.separator.nextDistance = next.position - (newPositionX + DragPositionComponent.SEPARATOR_SIZE);\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/drag-position/drag-position.ts","export class DragPosition {\r\n\r\n public dragPositionX: number;\r\n public currentPositionX: number;\r\n public dragPositionY: number;\r\n public currentPositionY: number;\r\n\r\n constructor(public isSeparator: boolean) {\r\n this.dragPositionX = 0;\r\n this.currentPositionX = 0;\r\n this.dragPositionY = 0;\r\n this.currentPositionY = 0;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/model/drag-position.ts","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ConfigurationsProvider } from '../../providers/configurations/configurations';\r\nimport { Champ } from '../../model/champ';\r\nimport { UnitsProvider } from '../../providers/units/units';\r\nimport { Unit } from '../../model/unit';\r\n\r\n@Component({\r\n selector: 'plus-field',\r\n templateUrl: 'plus-field.html'\r\n})\r\nexport class PlusFieldComponent {\r\n\r\n @Input() champ: Champ;\r\n @Input() index: number;\r\n @Output() event = new EventEmitter();\r\n showInfo: boolean = false;\r\n warningValue: string;\r\n public unit: string;\r\n\r\n constructor(public configurationsProvider: ConfigurationsProvider, public translate: TranslateService, private unitsProvider: UnitsProvider) {\r\n }\r\n\r\n keyPressNumber(event) {\r\n const pattern = /^[0-9,.]+$/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n saveChamp(title: string, value: string) {\r\n this.configurationsProvider.setStorage(title, value);\r\n }\r\n\r\n showDescription(champ: Champ) {\r\n champ.hideDescription = !champ.hideDescription;\r\n }\r\n\r\n showWarningZeroValue(champ: Champ): boolean {\r\n if (champ.nome != \"38\" && champ.nome != \"39\" && champ.value && !Boolean(champ.value) && +champ.value === 0) {\r\n this.warningValue = \"122\";\r\n return false;\r\n }\r\n else if (champ.nome === \"41\" && champ.value && !Boolean(champ.value) && +champ.value > 13) {\r\n this.warningValue = \"126\";\r\n return false;\r\n }\r\n else if (champ.nome === \"42\" && champ.value && !Boolean(champ.value) && +champ.value < 5) {\r\n this.warningValue = \"125\";\r\n return false;\r\n }\r\n else if (champ.nome === \"43\") {\r\n let unit = this.unitsProvider.getWeight();\r\n if (unit == Unit.kg) {\r\n if (champ.value && +champ.value === 3308) {\r\n champ.value = 1500;\r\n }\r\n else if (champ.value && +champ.value === 6615) {\r\n champ.value = 3000;\r\n }\r\n }\r\n else {\r\n if (champ.value && +champ.value === 1500) {\r\n champ.value = 3308;\r\n }\r\n else if (champ.value && +champ.value === 3000) {\r\n champ.value = 6615;\r\n }\r\n }\r\n }\r\n else if (champ.nome === \"130d\" && champ.value && !Boolean(champ.value) && +champ.value > 0.6) {\r\n this.warningValue = \"126a\";\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n showWarningValue(champ: Champ): boolean {\r\n if (this.unitsProvider.getWeight() == Unit.kg) {\r\n if (champ.value > 10000) {\r\n return false;\r\n }\r\n }\r\n else if (this.unitsProvider.getWeight() == Unit.lb) {\r\n if (champ.value > 22000) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/plus-field/plus-field.ts","import { NgModule } from '@angular/core';\r\nimport { ArrayFilterPipe } from './array-filter/array-filter';\r\nimport { FilterMyFleetPipe } from './filter-myfleet/filter-myfleet';\r\nimport { FilterSidebarPipe } from './filter-sidebar/filter-sidebar';\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tArrayFilterPipe,\r\n\t\tFilterMyFleetPipe,\r\n\t\tFilterSidebarPipe\r\n\t],\r\n\timports: [],\r\n\texports: [\r\n\t\tArrayFilterPipe,\r\n\t\tFilterMyFleetPipe,\r\n\t\tFilterSidebarPipe\r\n\t]\r\n})\r\nexport class PipesModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pipes.module.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'arrayFilter',\r\n})\r\nexport class ArrayFilterPipe implements PipeTransform {\r\n\r\n transform(items: any[], search: string, properties: string[]) {\r\n return items.filter(element => {\r\n if (search) {\r\n let elements = \"\";\r\n for (let property of properties) {\r\n if (element[property] && typeof (element[property]) === 'string') {\r\n elements += element[property].toLowerCase() + \" \";\r\n }\r\n }\r\n return elements.indexOf(search.toLowerCase()) >= 0;\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/array-filter/array-filter.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filterMyFleet',\r\n})\r\nexport class FilterMyFleetPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) return [];\r\n if (!searchText) return items;\r\n searchText = searchText.toLowerCase();\r\n return items.filter(it => {\r\n return it.title.toLowerCase().includes(searchText);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/filter-myfleet/filter-myfleet.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filterSidebar',\r\n})\r\nexport class FilterSidebarPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) return [];\r\n if (!searchText) return items;\r\n searchText = searchText.toLowerCase();\r\n return items.filter(it => {\r\n return it.toLowerCase().includes(searchText);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/filter-sidebar/filter-sidebar.ts","import { Component, ViewChild, ChangeDetectorRef } from '@angular/core';\r\nimport { NavController, Platform } from 'ionic-angular';\r\nimport { Storage } from '@ionic/storage';\r\nimport { TractorPage } from '../tractor/tractor';\r\nimport { TractorSavedConfigurationsPage } from '../tractor/saved-config/saved-config';\r\nimport { MachinesProvider } from \"../../providers/machines/machines\";\r\nimport { ConfigurationsProvider } from \"../../providers/configurations/configurations\";\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\n\r\n@Component({\r\n selector: 'page-home',\r\n templateUrl: 'home.html',\r\n})\r\nexport class HomePage {\r\n\r\n @ViewChild(\"pageSlider\") pageSlider: any;\r\n public images: Array;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public storage: Storage, public machinesProvider: MachinesProvider, public configurationsProvider: ConfigurationsProvider, private cdRef: ChangeDetectorRef, private nativePageTransitions: NativePageTransitions) {\r\n this.images = [];\r\n let imageFolder: string = \"assets/imgs/frontpage/\";\r\n if (this.platform.is(\"mobile\")) {\r\n imageFolder += \"mobile/\";\r\n }\r\n for (var i = 1; i <= 11; i++) {\r\n this.images.push(imageFolder + i + \".jpg\");\r\n\r\n // if (i === 1 && window.innerWidth >= 1000) {\r\n // this.images.push(imageFolder + i + \"_desktop.jpg\");\r\n // }\r\n // else {\r\n // this.images.push(imageFolder + i + \".jpg\");\r\n // }\r\n }\r\n\r\n storage.ready().then(() => {\r\n storage.get(\"saved-configurations\").then(result => {\r\n configurationsProvider.checkRowsMenu(result);\r\n configurationsProvider.readConfiguration(result);\r\n });\r\n });\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n this.pageSlider.loop = true;\r\n }\r\n\r\n prevSlide(pager) {\r\n this.pageSlider.slidePrev();\r\n }\r\n\r\n nextSlide(pager) {\r\n this.pageSlider.slideNext();\r\n }\r\n\r\n goToTractorConfiguration() {\r\n this.machinesProvider.clear();\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n }\r\n this.navCtrl.setRoot(TractorPage, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n goToSavedConfigurations() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n }\r\n this.navCtrl.setRoot(TractorSavedConfigurationsPage, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/home/home.ts","import { Component } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera';\r\nimport { Separator } from \"../../model/separator\";\r\n\r\n@Component({\r\n selector: 'page-camera',\r\n templateUrl: 'camera.html',\r\n})\r\nexport class CameraPage {\r\n\r\n cameraImage: string;\r\n separators: Separator[];\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, private camera: Camera) {\r\n this.separators = [\r\n new Separator(\"Attrezzo anteriore\", 0, false),\r\n new Separator(\"Asse anteriore\", 100, false),\r\n new Separator(\"Attrezzo posteriore\", 200, true),\r\n new Separator(\"Asse posteriore\", 300, false)\r\n ];\r\n }\r\n\r\n openCamera() {\r\n this.platform.ready().then(() => {\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n this.camera.getPicture(options).then((imageData) => {\r\n this.cameraImage = 'data:image/jpeg;base64,' + imageData;\r\n }, (err) => {\r\n });\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/camera/camera.ts","import { Component } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { MachinesProvider } from \"../../../providers/machines/machines\";\r\nimport { ConfigurationsProvider } from \"../../../providers/configurations/configurations\";\r\nimport { ListItem } from \"../../../model/list-item\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ConfigurationPlusPage } from '../configuration/configuration-plus/configuration-plus';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { TractorPage } from '../../tractor/tractor';\r\n\r\n@Component({\r\n selector: 'page-tractor-configuration-tool',\r\n templateUrl: 'tractor-configuration-tool.html'\r\n})\r\nexport class TractorConfigurationToolPage {\r\n\r\n type: string;\r\n label: string;\r\n step: string;\r\n listTitle: string;\r\n currentStep: number;\r\n finalStep: number;\r\n item: ListItem;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public translate: TranslateService, public machinesProvider: MachinesProvider, public configurationsProvider: ConfigurationsProvider, private nativePageTransitions: NativePageTransitions) {\r\n this.type = navParams.get(\"type\");\r\n if (this.type == 'front') {\r\n this.label = \"24\";\r\n this.listTitle = \"202\";\r\n } else if (this.type == 'rear') {\r\n this.label = \"25\";\r\n }\r\n this.currentStep = navParams.get(\"currentStep\");\r\n this.finalStep = navParams.get(\"finalStep\");\r\n this.item = navParams.get(\"item\");\r\n if (this.item) {\r\n if (this.currentStep === 2 && this.type == \"rear\") {\r\n this.listTitle = this.item.label;\r\n }\r\n }\r\n translate.get(\"Step\").subscribe(result => {\r\n this.step = result + \" \" + this.currentStep + \"/\" + this.finalStep;\r\n });\r\n }\r\n\r\n next() {\r\n let item: ListItem = this.item;\r\n if (item && item.selected >= 0) {\r\n let machineSelected = item.items[item.selected].machine;\r\n if (machineSelected) {\r\n this.navCtrl.push(ConfigurationPlusPage, {\r\n type: this.type,\r\n currentStep: this.currentStep + 1,\r\n finalStep: this.finalStep,\r\n machine: machineSelected,\r\n item: item.items[item.selected]\r\n });\r\n } else {\r\n this.navCtrl.push(TractorConfigurationToolPage, {\r\n type: this.type,\r\n currentStep: this.currentStep + 1,\r\n finalStep: this.finalStep,\r\n machine: machineSelected,\r\n item: item.items[item.selected]\r\n });\r\n }\r\n }\r\n }\r\n\r\n back() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TractorPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TractorPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n\r\n getItemList() {\r\n return this.item;\r\n }\r\n\r\n selectItem(item, i) {\r\n for (let val of item) {\r\n val.selected = -1;\r\n }\r\n item.selected = i;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/list/tractor-configuration-tool.ts","import { Component, OnInit } from '@angular/core';\r\nimport { NavController, NavParams } from 'ionic-angular';\r\nimport { MachinesProvider } from \"../../../providers/machines/machines\";\r\nimport { CalculationsProvider } from \"../../../providers/calculations/calculations\";\r\nimport { UnitsProvider } from '../../../providers/units/units';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: 'page-tractor-tool-result',\r\n templateUrl: 'tractor-tool-result.html'\r\n})\r\nexport class TractorToolResultPage implements OnInit {\r\n\r\n public textRecommandation: string;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public machinesProvider: MachinesProvider, public calculationsProvider: CalculationsProvider, public translate: TranslateService, public unitsProvider: UnitsProvider) {\r\n }\r\n\r\n ngOnInit() {\r\n this.calculationsProvider.calculateCav();\r\n let reco = this.calculationsProvider.getRecommandations();\r\n if (reco) {\r\n this.replaceRecommandation(reco, this.calculationsProvider.getRecoID());\r\n }\r\n }\r\n\r\n replaceRecommandation(recommandations, id: string) {\r\n this.textRecommandation = recommandations[id].Message;\r\n let reco = recommandations[id];\r\n let weight = this.translate.instant(this.machinesProvider.getTractor().champs[1].unit);\r\n let power = this.translate.instant(this.machinesProvider.getTractor().champs[0].unit);\r\n let unit = this.unitsProvider.getWeight();\r\n let pressure;\r\n if (unit == 0) {\r\n pressure = this.translate.instant(\"179\");\r\n }\r\n else {\r\n pressure = this.translate.instant(\"180\");\r\n }\r\n if (reco.Value0) {\r\n this.textRecommandation = this.textRecommandation.replace(\"{0}\", reco.Value0 + \" \" + weight + \"/\" + power);\r\n }\r\n if (reco.Value1) {\r\n this.textRecommandation = this.textRecommandation.replace(\"{1}\", reco.Value1 + \" \" + weight + \"/\" + power);\r\n }\r\n if (reco.PValue0) {\r\n this.textRecommandation = this.textRecommandation.replace(\"[0]\", reco.PValue0 + \" \" + pressure);\r\n }\r\n if (reco.PValue1) {\r\n this.textRecommandation = this.textRecommandation.replace(\"[1]\", reco.PValue1 + \" \" + pressure);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/results/tractor-tool-result.ts","import { Component } from '@angular/core';\r\nimport { NavController, Platform } from 'ionic-angular';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ConfigurationsProvider } from '../../../../providers/configurations/configurations';\r\nimport { MachinesProvider } from '../../../../providers/machines/machines';\r\nimport { BrandSelectionPage } from '../brand-selection/brand-selection';\r\nimport { ConfigurationToolPage } from '../configuration-tool/configuration-tool';\r\n\r\n@Component({\r\n selector: 'page-equipment-selection',\r\n templateUrl: 'equipment-selection.html'\r\n})\r\nexport class EquipmentSelectionPage {\r\n\r\n text: string;\r\n\r\n constructor(public platform: Platform, public translate: TranslateService, public navCtrl: NavController, public configurationsProvider: ConfigurationsProvider, public machinesProvider: MachinesProvider) {\r\n }\r\n\r\n goToBrandSelectionPage() {\r\n this.navCtrl.setRoot(BrandSelectionPage, {});\r\n }\r\n\r\n goToConfigurationTool() {\r\n this.navCtrl.setRoot(ConfigurationToolPage, {\r\n type: \"tractor\",\r\n machine: this.machinesProvider.getTractor()\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/configuration/equipment-selection/equipment-selection.ts","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AuthService } from './auth.service';\r\nimport 'rxjs/add/operator/do';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n constructor(public auth: AuthService) { }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n if (request.url.indexOf('login') == -1) {\r\n if (this.auth.isAuthenticated())\r\n request = request.clone({\r\n headers: request.headers.set('x-access-token', this.auth.getToken())\r\n });\r\n }\r\n return next.handle(request).do((event: HttpEvent) => { }, (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n console.log(\"err: \", err);\r\n }\r\n });\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/auth/interceptor.ts","import { Component, OnInit, HostListener, Input, ElementRef } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Platform, NavController, NavParams } from 'ionic-angular';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { SignUpPage } from '../signup/signup';\r\nimport { ForgotPasswordPage } from '../forgot-password/forgot-password';\r\nimport { HomePlusPage } from '../home-plus/home-plus';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { InAppBrowserOptions, InAppBrowser } from '@ionic-native/in-app-browser';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-login',\r\n templateUrl: 'login.html',\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n options: InAppBrowserOptions = {\r\n location: 'yes',\r\n hidden: 'no',\r\n clearcache: 'yes',\r\n clearsessioncache: 'yes',\r\n zoom: 'yes',//Android only ,shows browser zoom controls \r\n hardwareback: 'yes',\r\n mediaPlaybackRequiresUserAction: 'no',\r\n shouldPauseOnSuspend: 'no', //Android only \r\n closebuttoncaption: 'Close', //iOS only\r\n disallowoverscroll: 'no', //iOS only \r\n toolbar: 'yes', //iOS only \r\n enableViewportScale: 'no', //iOS only \r\n allowInlineMediaPlayback: 'no',//iOS only \r\n presentationstyle: 'pagesheet',//iOS only \r\n fullscreen: 'yes',//Windows only \r\n };\r\n\r\n @Input() currentPage;\r\n\r\n public innerWidth: any;\r\n public rememberRadio: boolean;\r\n public loading: boolean = false;\r\n public username: string;\r\n public password: string;\r\n public countTap = 0;\r\n public checkboxPrivacy: boolean = false;\r\n public data = {\r\n username: '',\r\n password: ''\r\n };\r\n\r\n openSidebar: boolean;\r\n openSidebarWarning: boolean = false;\r\n message: string = \"\";\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n constructor(public platform: Platform, public translate: TranslateService, public statusBar: StatusBar, public navCtrl: NavController, public navParams: NavParams, public httpProvider: HttpProvider, public configurationsProvider: ConfigurationsProvider, public plt: Platform, private nativePageTransitions: NativePageTransitions, private keyboard: Keyboard, private elRef: ElementRef) {\r\n this.innerWidth = window.innerWidth;\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.hide();\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.show();\r\n let marginKeyboard = this.elRef.nativeElement.querySelector('ion-content.margin-keyboard');\r\n if (marginKeyboard) {\r\n marginKeyboard.classList.remove(\"margin-keyboard\");\r\n }\r\n let scrollContent = this.elRef.nativeElement.querySelector('div.scroll-content');\r\n if (scrollContent) {\r\n scrollContent.style.marginBottom = \"8rem\";\r\n }\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n this.rememberRadio = false;\r\n setTimeout(() => {\r\n if (localStorage.getItem(\"privacy-policy\")) {\r\n this.openSidebar = JSON.parse(localStorage.getItem(\"privacy-policy\"));\r\n }\r\n else {\r\n this.openSidebar = true;\r\n }\r\n }, 1200, 1);\r\n }\r\n\r\n close() {\r\n this.openSidebar = false;\r\n localStorage.setItem(\"privacy-policy\", \"false\");\r\n }\r\n\r\n checkDevice(): boolean {\r\n if (this.innerWidth < 1030) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n this.innerWidth = window.innerWidth;\r\n if (this.innerWidth >= 1030) {\r\n this.checkDevice();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n\r\n let errorToken = this.navParams.get(\"errorToken\");\r\n if (errorToken) {\r\n this.message = this.translate.instant(\"error-token\");\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n this.loading = false;\r\n }\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n goToHomePlus() {\r\n if (this.countTap === 0) {\r\n this.countTap++;\r\n this.keyboard.hide();\r\n this.loading = true;\r\n this.httpProvider.setLogin(this.data)\r\n .subscribe(result => {\r\n if (result['status'] === \"ok\") {\r\n this.configurationsProvider.setRole(result['data'].roles);\r\n localStorage.setItem('token', result['data'].token);\r\n localStorage.setItem('farmId', result['data'].farmId);\r\n localStorage.setItem('userId', result['data'].id_utente);\r\n if (result['data'].farm_info && result['data'].farm_info[0]) {\r\n localStorage.setItem('farm_info', JSON.stringify(result['data'].farm_info[0]));\r\n }\r\n this.httpProvider.getSensorList().subscribe();\r\n this.navCtrl.setRoot(HomePlusPage, {}, { animate: true });\r\n }\r\n this.loading = false;\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n if (err['status'] !== 200) {\r\n let error = \"\";\r\n if (err['status'] !== 500 && err['status'] !== 0) {\r\n error = err['error'].error.msg;\r\n }\r\n else {\r\n error = \"Internal Server Error\";\r\n }\r\n this.message = error;\r\n this.openSidebarWarning = true;\r\n this.countTap = 0;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n privacyPolicy() {\r\n let url = this.translate.instant(\"156\");\r\n let browserInst = new InAppBrowser();\r\n browserInst.create(url, '_system', this.options);\r\n }\r\n\r\n goToSignUp() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.push(SignUpPage, {}, { animate: true });\r\n }\r\n else {\r\n this.navCtrl.push(SignUpPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n goToForgotPassword() {\r\n let options = this.configurationsProvider.getOptions(\"top\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.push(ForgotPasswordPage, {}, { animate: false });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/login/login.ts","import {NgModule, ModuleWithProviders} from '@angular/core';\r\nimport {GoogleTagManagerConfigService} from './angular-google-tag-manager-config.service';\r\nimport {GoogleTagManagerConfig} from './google-tag-manager-config';\r\n\r\n@NgModule()\r\nexport class GoogleTagManagerModule {\r\n public static forRoot(\r\n config?: GoogleTagManagerConfig\r\n ): ModuleWithProviders {\r\n return {\r\n ngModule: GoogleTagManagerModule,\r\n providers: [{provide: GoogleTagManagerConfigService, useValue: config}],\r\n };\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/google-tag-manager/angular-google-tag-manager.module.ts","import { Component, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NavController, Platform, NavParams } from 'ionic-angular';\r\nimport { PairingProvider } from '../../../providers/pairing/pairing';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { MachinesProvider } from '../../../providers/machines/machines';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { BrandSelectionPage } from '../configuration/brand-selection/brand-selection';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { MyFleetSearchPage } from '../my-fleet-search/my-fleet-search';\r\nimport { ConfigurationResultsPage } from '../configuration/configuration-results/configuration-results';\r\nimport { Machine } from '../../../model/machine';\r\nimport { Unit } from '../../../model/unit';\r\nimport { UnitsProvider } from '../../../providers/units/units';\r\n\r\n@Component({\r\n selector: 'page-machine-list',\r\n templateUrl: 'machine-list.html',\r\n})\r\nexport class MachineListPage implements AfterViewInit {\r\n\r\n @ViewChild(\"pageSlider\") pageSlider: any;\r\n\r\n private static readonly RCAR_SPRAYER_KG: number = 1500;\r\n private static readonly RCAR_KG: number = 3000;\r\n private static readonly RCAR_SPRAYER_LB: number = 3308;\r\n private static readonly RCAR_LB: number = 6615;\r\n\r\n public fadeFlag: boolean = false;\r\n public searchIcon: boolean = false;\r\n\r\n public searchInput: string = \"\";\r\n\r\n public singleTractor: any;\r\n public frontEquipment: string = \"\";\r\n public rearEquipment: string = \"\";\r\n public rearTypeEquipment: string = \"\";\r\n\r\n public frontTargetPressure: number;\r\n public rearTargetPressure: number;\r\n\r\n public labelType: string = \"\";\r\n public selectedLabel = [];\r\n public list = [];\r\n\r\n public slidesNumber = [];\r\n public selectedFleet: any;\r\n public loading: boolean = false;\r\n public loadingDelete: boolean = false;\r\n public loadingClone: boolean = false;\r\n public loadingResult: boolean = false;\r\n public alert: boolean = false;\r\n private data: any;\r\n\r\n machine = [];\r\n machineTractor: Machine;\r\n openSidebar: boolean = false;\r\n openSidebarWarning: boolean = false;\r\n message: string;;\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n constructor(public platform: Platform, public translate: TranslateService, public navParams: NavParams, public httpProvider: HttpProvider, public navCtrl: NavController, public unitsProvider: UnitsProvider, public pairingProvider: PairingProvider, public configurationsProvider: ConfigurationsProvider, public machinesProvider: MachinesProvider, private nativePageTransitions: NativePageTransitions, private keyboard: Keyboard) {\r\n this.message = translate.instant(\"select-your-tractor\");\r\n if (this.navParams.get(\"previousPage\")) {\r\n this.configurationsProvider.setLastPageMachineList(this.navParams.get(\"previousPage\"));\r\n }\r\n }\r\n\r\n public get $myFleet() {\r\n return this.machinesProvider.$myFleet;\r\n }\r\n\r\n close() {\r\n this.openSidebar = false;\r\n }\r\n\r\n filter(input: string, iconFlag: boolean) {\r\n this.searchInput = input.toLowerCase();\r\n this.searchIcon = iconFlag;\r\n let fleetFilter = this.$myFleet.filter(it => {\r\n return it.title.toLowerCase().includes(this.searchInput);\r\n });\r\n if (fleetFilter) {\r\n this.slidesNumber = [];\r\n let slides = fleetFilter.length / 4;\r\n let myFleet = fleetFilter;\r\n let start = -4;\r\n let end = 0;\r\n if (slides > Math.round(slides)) {\r\n slides++;\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n }\r\n }\r\n\r\n updateSlides() {\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.slidesNumber = [];\r\n if (this.$myFleet && this.$myFleet.length > 0) {\r\n let slides = this.machinesProvider.myFleet.length / 4;\r\n let myFleet = this.$myFleet;\r\n let start = -4;\r\n let end = 0;\r\n if (slides > Math.round(slides)) {\r\n slides++;\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n }\r\n else {\r\n this.slidesNumber.push(this.$myFleet);\r\n }\r\n if (this.navParams.get(\"searchInput\")) {\r\n this.filter(this.navParams.get(\"searchInput\"), true);\r\n }\r\n this.loading = false;\r\n this.close();\r\n if (this.$myFleet && this.$myFleet.length === 0) {\r\n this.alert = true;\r\n }\r\n }, 200, 1);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.updateSlides();\r\n }\r\n\r\n ngOnInit() {\r\n this.keyboard.hide();\r\n if (this.pageSlider) {\r\n this.pageSlider.loop = false;\r\n }\r\n }\r\n\r\n goToSearch() {\r\n this.configurationsProvider.searchPage = \"MachineListPage\";\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MyFleetSearchPage, { fleet: this.$myFleet });\r\n }\r\n else {\r\n this.navCtrl.setRoot(MyFleetSearchPage, { fleet: this.$myFleet }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n resetSearch() {\r\n this.filter(\"\", false);\r\n }\r\n\r\n prevPage() {\r\n this.pageSlider.slidePrev();\r\n }\r\n\r\n nextPage() {\r\n this.pageSlider.slideNext();\r\n }\r\n\r\n moreOptions(fleet: any) {\r\n this.openSidebar = true;\r\n this.selectedFleet = fleet;\r\n }\r\n\r\n resetStepPlus() {\r\n this.configurationsProvider.setStorage('34', \"\");\r\n this.configurationsProvider.setStorage('35', \"\");\r\n this.configurationsProvider.setStorage('36', \"\");\r\n this.configurationsProvider.setStorage('38', \"\");\r\n this.configurationsProvider.setStorage('39', \"\");\r\n this.configurationsProvider.setStorage('44', \"\");\r\n this.configurationsProvider.setStorage('machineId', \"\");\r\n }\r\n\r\n resetStepTire() {\r\n this.configurationsProvider.setStorage('fitmentFront', \"\");\r\n this.configurationsProvider.setStorage('fitmentRear', \"\");\r\n this.configurationsProvider.setStorage('tireBrandFront', \"\");\r\n this.configurationsProvider.setStorage('tireBrandRear', \"\");\r\n this.configurationsProvider.setStorage('otherTireBrandFront', \"\");\r\n this.configurationsProvider.setStorage('otherTireBrandRear', \"\");\r\n this.configurationsProvider.setStorage('tireSizeFront', \"\");\r\n this.configurationsProvider.setStorage('tireSizeRear', \"\");\r\n this.configurationsProvider.setStorage('idSingleTractor', \"\");\r\n }\r\n\r\n resetStepTool() {\r\n this.configurationsProvider.setStorage('32', \"\");\r\n this.configurationsProvider.setStorage('33', \"\");\r\n this.configurationsProvider.setStorage('40', \"\");\r\n this.configurationsProvider.setStorage('tool_type_front', \"\");\r\n this.configurationsProvider.setStorage('tool_type_rear_equipment', \"\");\r\n this.configurationsProvider.setStorage('tool_type_rear', \"\");\r\n this.configurationsProvider.setStorage('frontTargetPressure', \"\");\r\n this.configurationsProvider.setStorage('rearTargetPressure', \"\");\r\n }\r\n\r\n modifyConfiguration() {\r\n this.close();\r\n this.configurationsProvider.getConfigurationTireBrandPlus();\r\n this.configurationsProvider.getBrand();\r\n this.configurationsProvider.setStatus(\"edit\");\r\n this.machinesProvider.setFrontTyreSelected(undefined);\r\n this.machinesProvider.setRearTyreSelected(undefined);\r\n this.resetStepPlus();\r\n this.resetStepTire();\r\n this.resetStepTool();\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(BrandSelectionPage, { previousPage: 'MachineListPage', selectedFleet: this.selectedFleet });\r\n }\r\n else {\r\n this.navCtrl.setRoot(BrandSelectionPage, { previousPage: 'MachineListPage', selectedFleet: this.selectedFleet }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n deleteTractor() {\r\n this.loadingDelete = true;\r\n if (this.selectedFleet && this.selectedFleet._id) {\r\n this.httpProvider.deleteTractor(this.selectedFleet._id)\r\n .subscribe(result => {\r\n if (result) {\r\n this.loadingDelete = false;\r\n for (let i = 0; i < this.$myFleet.length; i++) {\r\n if (this.$myFleet[i]._id === this.selectedFleet._id) {\r\n this.$myFleet.splice(i, 1);\r\n if ((this.$myFleet.length & (this.$myFleet.length - 1)) == 0) {\r\n this.navCtrl.setRoot(this.navCtrl.getActive().component);\r\n }\r\n else {\r\n this.updateSlides();\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }, (err) => {\r\n this.loading = false;\r\n this.loadingDelete = false;\r\n this.message = this.translate.instant(\"delete-failed\");\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n\r\n cloneTractor() {\r\n this.loadingClone = true;\r\n this.httpProvider.getTractorById(this.selectedFleet._id)\r\n .subscribe(result => {\r\n if (result) {\r\n let response: any = result;\r\n if (response.data && response.data.tractor) {\r\n let machineTypeConfiguration = response.data.tractor.machineTypeConfiguration;\r\n this.data = {\r\n \"machineType\": response.data.tractor.machineType,\r\n \"brand\": response.data.tractor.brand,\r\n \"model\": response.data.tractor.model,\r\n \"version\": response.data.tractor.version,\r\n \"hp\": response.data.tractor.hp,\r\n \"rearWeight\": response.data.tractor.rearWeight,\r\n \"frontWeight\": response.data.tractor.frontWeight,\r\n \"rearWellBallast\": response.data.tractor.rearWellBallast,\r\n \"frontWellBallast\": response.data.tractor.frontWellBallast,\r\n \"wheelbase\": response.data.tractor.wheelbase,\r\n \"machineIdentifier\": response.data.tractor.machineIdentifier + \"_x\",\r\n \"rearTypeEquipment\": response.data.tractor.rearTypeEquipment ? response.data.tractor.rearTypeEquipment : undefined,\r\n \"rearMountedEquipment\": response.data.tractor.rearMountedEquipment ? response.data.tractor.rearMountedEquipment : \"-\",\r\n \"rearAxleFitment\": response.data.tractor.rearAxle ? response.data.tractor.rearAxle.rearAxleFitment : response.data.tractor.rearAxleFitment,\r\n \"rearAxletTireBrand\": response.data.tractor.rearAxle ? response.data.tractor.rearAxle.rearAxletTireBrand : response.data.tractor.rearAxletTireBrand,\r\n \"rearAxleTireSize\": response.data.tractor.rearAxle ? response.data.tractor.rearAxle.rearAxleTireSize : response.data.tractor.rearAxleTireSize,\r\n \"frontMountedEquipment\": response.data.tractor.frontMountedEquipment ? response.data.tractor.frontMountedEquipment : \"-\",\r\n \"frontAxleFitment\": response.data.tractor.frontAxle ? response.data.tractor.frontAxle.frontAxleFitment : response.data.tractor.frontAxleFitment,\r\n \"frontAxleTireBrand\": response.data.tractor.frontAxle ? response.data.tractor.frontAxle.frontAxleTireBrand : response.data.tractor.frontAxleTireBrand,\r\n \"frontAxleTireSize\": response.data.tractor.frontAxle ? response.data.tractor.frontAxle.frontAxleTireSize : response.data.tractor.frontAxleTireSize,\r\n \"pairing\": \"NO\",\r\n \"pressureCheck\": \"gray\",\r\n \"timestamp\": new Date(),\r\n \"farmId\": response.data.tractor.farmId,\r\n \"status\": response.data.tractor.status,\r\n \"idGateway\": response.data.tractor.idGateway,\r\n 'frontToolWeight': response.data.tractor.frontToolWeight ? response.data.tractor.frontToolWeight : undefined,\r\n 'frontContentWeight': response.data.tractor.frontContentWeight ? response.data.tractor.frontContentWeight : undefined,\r\n 'frontDistance': response.data.tractor.frontDistance ? response.data.tractor.frontDistance : undefined,\r\n 'rearToolWeight': response.data.tractor.rearToolWeight ? response.data.tractor.rearToolWeight : undefined,\r\n 'rearContentWeight': response.data.tractor.rearContentWeight ? response.data.tractor.rearContentWeight : undefined,\r\n 'rearDistance': response.data.tractor.rearDistance ? response.data.tractor.rearDistance : undefined,\r\n 'frontTargetPressure': response.data.tractor.frontTargetPressure ? response.data.tractor.frontTargetPressure : undefined,\r\n 'rearTargetPressure': response.data.tractor.rearTargetPressure ? response.data.tractor.rearTargetPressure : undefined\r\n }\r\n this.httpProvider.setTractor(this.data)\r\n .subscribe(result => {\r\n if (result) {\r\n let response: any = result;\r\n let data = {\r\n 'machineTypeConfiguration': machineTypeConfiguration\r\n };\r\n this.httpProvider.updateTractor(response.data.equipment._id, data)\r\n .subscribe(result => {\r\n if (result['status'] === \"ok\") {\r\n const farmId = localStorage.getItem('farmId');\r\n if (farmId) {\r\n this.httpProvider.getTractorsByFarmId(farmId)\r\n .subscribe(result => {\r\n if (result) {\r\n this.loadingClone = false;\r\n let response: any = result;\r\n this.machinesProvider.myFleet = [];\r\n for (let tractor of response.data.Tractors) {\r\n this.configurationsProvider.addToMyFleet(tractor);\r\n }\r\n this.updateSlides();\r\n }\r\n }, (err) => {\r\n this.loading = false;\r\n this.loadingClone = false;\r\n this.close();\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }, (err) => {\r\n this.loading = false;\r\n this.loadingClone = false;\r\n this.close();\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n }, (err) => {\r\n this.loading = false;\r\n this.loadingClone = false;\r\n this.close();\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n\r\n convertMachine(machine: Machine) {\r\n this.machinesProvider.convertMachine(machine);\r\n if (machine.type == \"Arem\") {\r\n for (let i = 0; i < machine.champs.length; i++) {\r\n if (machine.champs[i].id == \"15\") {\r\n let unit = this.unitsProvider.getWeight();\r\n if (machine.id == \"33\") {\r\n if (unit == Unit.kg) {\r\n machine.champs[i].value = MachineListPage.RCAR_SPRAYER_KG;\r\n } else {\r\n machine.champs[i].value = MachineListPage.RCAR_SPRAYER_LB;\r\n }\r\n } else {\r\n if (unit == Unit.kg) {\r\n machine.champs[i].value = MachineListPage.RCAR_KG;\r\n } else {\r\n machine.champs[i].value = MachineListPage.RCAR_LB;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setChoose(val: string) {\r\n let text = this.translate.instant(val);\r\n let index = this.list[this.labelType].findIndex(function (element) {\r\n return element.label == val;\r\n });\r\n if (index !== -1) {\r\n if (this.labelType !== \"tool_type_rear_equipment\") {\r\n this.machine[this.labelType] = this.list[this.labelType][index].machine;\r\n this.convertMachine(this.machine[this.labelType]);\r\n }\r\n else {\r\n this.machine[this.labelType] = this.list[this.labelType][index].items;\r\n }\r\n this.configurationsProvider.setMachineToolPlus(this.labelType, this.machine[this.labelType]);\r\n }\r\n this.configurationsProvider.setStorage(this.labelType, val);\r\n if (this.labelType === \"tool_type_front\") {\r\n this.frontEquipment = text;\r\n }\r\n else if (this.labelType === \"tool_type_rear_equipment\") {\r\n this.rearTypeEquipment = text;\r\n this.rearEquipment = \"\";\r\n }\r\n else if (this.labelType === \"tool_type_rear\") {\r\n this.rearEquipment = text;\r\n }\r\n this.selectedLabel[this.labelType] = this.translate.instant(val);\r\n this.configurationsProvider.setMountedSelectionPlus(this.selectedLabel);\r\n }\r\n\r\n initResultConfiguration() {\r\n this.frontEquipment = this.translate.instant(this.singleTractor.frontMountedEquipment);\r\n this.rearEquipment = this.translate.instant(this.singleTractor.rearMountedEquipment);\r\n this.rearTypeEquipment = this.translate.instant(this.singleTractor.rearTypeEquipment);\r\n this.frontTargetPressure = this.singleTractor.frontTargetPressure;\r\n this.rearTargetPressure = this.singleTractor.rearTargetPressure;\r\n this.selectedLabel[\"tool_type_front\"] = this.translate.instant(this.singleTractor.frontMountedEquipment);\r\n this.selectedLabel[\"tool_type_rear\"] = this.translate.instant(this.singleTractor.rearMountedEquipment);\r\n this.selectedLabel[\"tool_type_rear_equipment\"] = this.translate.instant(this.singleTractor.rearTypeEquipment);\r\n }\r\n\r\n machineResultConfiguration() {\r\n this.list[\"tool_type_front\"] = this.machinesProvider.getFrontList().items;\r\n if (this.list && this.list[\"tool_type_front\"]) {\r\n this.labelType = \"tool_type_front\";\r\n for (let val of this.list[\"tool_type_front\"]) {\r\n if (this.translate.instant(val.label) === this.selectedLabel[\"tool_type_front\"]) {\r\n this.setChoose(val.label);\r\n break;\r\n }\r\n }\r\n }\r\n this.list[\"tool_type_rear_equipment\"] = this.machinesProvider.getRearList().items;\r\n if (this.list && this.list[\"tool_type_rear_equipment\"]) {\r\n this.labelType = \"tool_type_rear_equipment\";\r\n for (let val of this.list[\"tool_type_rear_equipment\"]) {\r\n if (this.translate.instant(val.label) === this.selectedLabel[\"tool_type_rear_equipment\"]) {\r\n this.setChoose(val.label);\r\n let items = val.items;\r\n this.labelType = \"tool_type_rear\";\r\n for (let item of items) {\r\n if (this.translate.instant(item.label) === this.selectedLabel[\"tool_type_rear\"]) {\r\n this.machine[\"tool_type_rear\"] = item.machine;\r\n this.rearEquipment = this.selectedLabel[\"tool_type_rear\"];\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n if (this.machine && this.machine[\"tool_type_front\"] && this.machine[\"tool_type_front\"].champs) {\r\n if (this.machine[\"tool_type_front\"].champs[0])\r\n this.machine[\"tool_type_front\"].champs[0].value = this.singleTractor.frontToolWeight;\r\n if (this.machine[\"tool_type_front\"].champs.length > 2) {\r\n this.machine[\"tool_type_front\"].champs[1].value = this.singleTractor.frontContentWeight;\r\n this.machine[\"tool_type_front\"].champs[2].value = this.singleTractor.frontDistance;\r\n }\r\n else if (this.machine[\"tool_type_front\"].champs.length === 2) {\r\n this.machine[\"tool_type_front\"].champs[1].value = this.singleTractor.frontDistance;\r\n }\r\n }\r\n if (this.machine && this.machine[\"tool_type_rear\"] && this.machine[\"tool_type_rear\"].champs) {\r\n if (this.machine[\"tool_type_rear\"].champs[0])\r\n this.machine[\"tool_type_rear\"].champs[0].value = this.singleTractor.rearToolWeight;\r\n if (this.machine[\"tool_type_rear\"].champs.length > 2) {\r\n this.machine[\"tool_type_rear\"].champs[1].value = this.singleTractor.rearContentWeight;\r\n this.machine[\"tool_type_rear\"].champs[2].value = this.singleTractor.rearDistance;\r\n }\r\n else if (this.machine[\"tool_type_rear\"].champs.length === 2) {\r\n this.machine[\"tool_type_rear\"].champs[1].value = this.singleTractor.rearDistance;\r\n }\r\n this.convertMachine(this.machine[\"tool_type_rear\"]);\r\n }\r\n }\r\n\r\n machineTractorResultConfiguration() {\r\n this.machineTractor = this.machinesProvider.getTractor();\r\n if (this.machineTractor.type == \"Arem\") {\r\n for (let i = 0; i < this.machineTractor.champs.length; i++) {\r\n if (this.machineTractor.champs[i].id == \"15\") {\r\n let unit = this.unitsProvider.getWeight();\r\n if (this.machineTractor.id == \"33\") {\r\n if (unit == Unit.kg) {\r\n if (!this.machineTractor.champs[i].value) {\r\n this.machineTractor.champs[i].value = MachineListPage.RCAR_SPRAYER_KG;\r\n }\r\n } else {\r\n if (!this.machineTractor.champs[i].value) {\r\n this.machineTractor.champs[i].value = MachineListPage.RCAR_SPRAYER_LB;\r\n }\r\n }\r\n } else {\r\n if (unit == Unit.kg) {\r\n if (this.machineTractor.champs[i].value != MachineListPage.RCAR_KG) {\r\n this.machineTractor.champs[i].value = MachineListPage.RCAR_KG;\r\n }\r\n } else {\r\n if (this.machineTractor.champs[i].value != MachineListPage.RCAR_LB) {\r\n this.machineTractor.champs[i].value = MachineListPage.RCAR_LB;\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n this.machineTractor.champs[0].value = this.singleTractor[\"hp\"];\r\n this.machineTractor.champs[1].value = this.singleTractor[\"rearWeight\"];\r\n this.machineTractor.champs[2].value = this.singleTractor[\"frontWeight\"];\r\n this.machineTractor.champs[3].value = this.singleTractor[\"rearWellBallast\"];\r\n this.machineTractor.champs[4].value = this.singleTractor[\"frontWellBallast\"];\r\n this.machineTractor.champs[5].value = this.singleTractor[\"wheelbase\"];\r\n }\r\n this.machinesProvider.tractor = this.machineTractor;\r\n }\r\n\r\n saveResult() {\r\n this.close();\r\n let frontChamps = this.machine[\"tool_type_front\"] && this.machine[\"tool_type_front\"].champs ? this.machine[\"tool_type_front\"].champs : null;\r\n let rearChamps = this.machine[\"tool_type_rear\"] && this.machine[\"tool_type_rear\"].champs ? this.machine[\"tool_type_rear\"].champs : null;\r\n let data = {\r\n 'frontMountedEquipment': this.configurationsProvider.getCodeTool(this.frontEquipment),\r\n 'frontToolWeight': frontChamps && frontChamps.length >= 1 && frontChamps[0] ? parseFloat(frontChamps[0].value) : undefined,\r\n 'frontContentWeight': frontChamps && frontChamps.length > 2 && frontChamps[1] ? parseFloat(frontChamps[1].value) : undefined,\r\n 'frontDistance': frontChamps && frontChamps.length > 2 && frontChamps[2] ? parseFloat(frontChamps[2].value) : frontChamps && frontChamps.length === 2 && frontChamps[1] ? parseFloat(frontChamps[1].value) : undefined,\r\n 'rearTypeEquipment': this.configurationsProvider.getCodeTool(this.rearTypeEquipment),\r\n 'rearToolWeight': rearChamps && rearChamps.length >= 1 && rearChamps[0] ? parseFloat(rearChamps[0].value) : undefined,\r\n 'rearContentWeight': rearChamps && rearChamps.length > 2 && rearChamps[1] ? parseFloat(rearChamps[1].value) : undefined,\r\n 'rearDistance': rearChamps && rearChamps.length > 2 && rearChamps[2] ? parseFloat(rearChamps[2].value) : rearChamps && rearChamps.length === 2 && rearChamps[1] ? parseFloat(rearChamps[1].value) : undefined,\r\n 'rearMountedEquipment': this.configurationsProvider.getCodeTool(this.rearEquipment),\r\n 'frontTargetPressure': this.frontTargetPressure ? this.frontTargetPressure : undefined,\r\n 'rearTargetPressure': this.rearTargetPressure ? this.rearTargetPressure : undefined,\r\n 'status': this.singleTractor && this.singleTractor.machineType !== \"Tractor\" ? 'Configured' : undefined\r\n };\r\n\r\n if (this.singleTractor && this.singleTractor.machineType === \"Tractor\") {\r\n let speedFront = this.machinesProvider.getSpeed(\"standard\", \"front\", null, this.configurationsProvider.getEnglishNameTool(this.frontEquipment));\r\n let speedRear = this.machinesProvider.getSpeed(\"standard\", \"rear\", this.configurationsProvider.getEnglishNameTool(this.rearTypeEquipment), this.configurationsProvider.getEnglishNameTool(this.rearEquipment));\r\n\r\n if (this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM1000\") ||\r\n this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM150\") ||\r\n this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM1060\")) {\r\n speedRear.speed = \"<65\";\r\n }\r\n if (this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM1000\") ||\r\n this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM150\") ||\r\n this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM1060\")) {\r\n speedFront.speed = \"<65\";\r\n }\r\n // check speed\r\n\r\n if (speedFront.speed == \"rear\") {\r\n speedFront.speed = speedRear.speed;\r\n }\r\n if (speedRear.speed == \"50kmh\") {\r\n speedFront.speed = \"50\";\r\n }\r\n this.configurationsProvider.getSingleTractor().speedFront = speedFront;\r\n this.configurationsProvider.getSingleTractor().speedRear = speedRear;\r\n }\r\n\r\n this.httpProvider.updateTractor(this.configurationsProvider.getSingleTractor()._id, data)\r\n .subscribe(result => {\r\n if (result) {\r\n const farmId = localStorage.getItem('farmId');\r\n if (farmId) {\r\n this.httpProvider.getTractorsByFarmId(farmId)\r\n .subscribe(result => {\r\n if (result) {\r\n let response: any = result;\r\n this.machinesProvider.myFleet = [];\r\n for (let tractor of response.data.Tractors) {\r\n this.configurationsProvider.addToMyFleet(tractor);\r\n }\r\n\r\n this.configurationsProvider.setConfigurationTool(this.machine);\r\n if (this.singleTractor && this.singleTractor.machineType === \"Tractor\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationResultsPage, { 'machineList': true });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationResultsPage, { 'machineList': true }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MachineListPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(MachineListPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n }\r\n }, (err) => {\r\n this.loadingResult = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n }, (err) => {\r\n this.loadingResult = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n\r\n resultConfiguration() {\r\n this.loadingResult = true;\r\n this.httpProvider.getTractorById(this.selectedFleet._id)\r\n .subscribe(result => {\r\n if (result) {\r\n let response: any = result;\r\n if (response.data && response.data.tractor) {\r\n this.configurationsProvider.setSingleTractor(response.data.tractor);\r\n this.singleTractor = response.data.tractor;\r\n if (this.singleTractor.frontMountedEquipment && this.singleTractor.rearMountedEquipment && this.singleTractor.rearTypeEquipment) {\r\n this.initResultConfiguration();\r\n this.machineResultConfiguration();\r\n this.machineTractorResultConfiguration();\r\n this.saveResult();\r\n }\r\n else {\r\n this.loadingResult = false;\r\n this.close();\r\n this.message = this.translate.instant(\"result-failed\");\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n }, 500);\r\n }\r\n }\r\n }\r\n }, (err) => {\r\n this.loadingResult = false;\r\n this.close();\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/machine-list/machine-list.ts","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NavController, Platform } from 'ionic-angular';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { MachinesProvider } from '../../../providers/machines/machines';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { MyFleetPage } from '../my-fleet/my-fleet';\r\nimport { MachineListPage } from '../machine-list/machine-list';\r\nimport { ConfigurationSelectionPage } from '../configuration/configuration-selection/configuration-selection';\r\nimport { AuthService } from '../../../providers/auth/auth.service';\r\nimport { LoginPage } from '../login/login';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\n\r\n@Component({\r\n selector: 'page-home-plus',\r\n templateUrl: 'home-plus.html',\r\n})\r\nexport class HomePlusPage implements OnInit {\r\n\r\n constructor(public auth: AuthService, public platform: Platform, public translate: TranslateService, public navCtrl: NavController, public httpProvider: HttpProvider, public machinesProvider: MachinesProvider, public configurationsProvider: ConfigurationsProvider, private nativePageTransitions: NativePageTransitions) {\r\n if (this.configurationsProvider.getTireBrands() && this.configurationsProvider.getTireBrands().length === 0) {\r\n this.configurationsProvider.getConfigurationTireBrandPlus();\r\n }\r\n if (this.configurationsProvider.getBrands() && this.configurationsProvider.getBrands().length === 0) {\r\n this.configurationsProvider.getBrand();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n const farmId = localStorage.getItem('farmId');\r\n if (farmId) {\r\n this.httpProvider.getTractorsByFarmId(farmId)\r\n .subscribe(result => {\r\n if (result) {\r\n let response: any = result;\r\n this.machinesProvider.myFleet = [];\r\n for (let tractor of response.data.Tractors) {\r\n this.configurationsProvider.addToMyFleet(tractor);\r\n }\r\n }\r\n }, (err) => {\r\n this.navCtrl.setRoot(LoginPage, {}, { animate: true });\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n else {\r\n this.machinesProvider.myFleet = [];\r\n }\r\n }\r\n\r\n goToMyFleet() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MyFleetPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(MyFleetPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n goToMyMachineConfiguration() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationSelectionPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationSelectionPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n goToModifyConfiguration() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MachineListPage, { previousPage: 'HomePlusPage' });\r\n }\r\n else {\r\n this.navCtrl.setRoot(MachineListPage, { previousPage: 'HomePlusPage' }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/home-plus/home-plus.ts","import { Component, OnInit, ElementRef } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NavController, Platform, NavParams } from 'ionic-angular';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { ConfigurationPlusPage } from '../configuration-plus/configuration-plus';\r\nimport { ConfigurationsProvider } from '../../../../providers/configurations/configurations';\r\nimport { MachinesProvider } from '../../../../providers/machines/machines';\r\nimport { HttpProvider } from '../../../../providers/http/http';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { ConfigurationTirePage } from '../configuration-tire/configuration-tire';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-brand-selection',\r\n templateUrl: 'brand-selection.html',\r\n})\r\nexport class BrandSelectionPage implements OnInit {\r\n\r\n public chooseBrand: string = \"\";\r\n public chooseModel: string = \"\";\r\n public chooseVersion: string = \"\";\r\n public filterSidebar: string = \"\";\r\n public label: string = \"\";\r\n public labelType: string = \"\";\r\n public machineType: string = \"\";\r\n public selectedLabel = [];\r\n public list = [];\r\n public listModels = [];\r\n public loading: boolean = false;\r\n\r\n openSidebar: boolean = false;\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n constructor(public platform: Platform, public navParams: NavParams, public statusBar: StatusBar, public httpProvider: HttpProvider, public translate: TranslateService, public navCtrl: NavController, public configurationsProvider: ConfigurationsProvider, public machinesProvider: MachinesProvider, private nativePageTransitions: NativePageTransitions, private keyboard: Keyboard, private elRef: ElementRef) {\r\n this.selectedLabel = this.configurationsProvider.getBrandSelectionPlus();\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.hide();\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.show();\r\n let marginKeyboard = this.elRef.nativeElement.querySelector('ion-content.margin-keyboard');\r\n if (marginKeyboard) {\r\n marginKeyboard.classList.remove(\"margin-keyboard\");\r\n }\r\n let scrollContent = this.elRef.nativeElement.querySelector('div.scroll-content');\r\n if (scrollContent) {\r\n scrollContent.style.marginBottom = \"8rem\";\r\n }\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n this.machineType = this.configurationsProvider.getNewMachineType();\r\n if (this.navParams.get(\"previousPage\")) {\r\n this.configurationsProvider.setLastPageMachineList(this.navParams.get(\"previousPage\"));\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n let fleet = this.navParams.get('selectedFleet');\r\n if (fleet && fleet._id && !this.navParams.get(\"newMachine\")) {\r\n this.loading = true;\r\n this.httpProvider.getTractorById(fleet._id)\r\n .subscribe(result => {\r\n if (result) {\r\n this.loading = false;\r\n let response: any = result;\r\n if (response.data && response.data.tractor) {\r\n this.chooseBrand = response.data.tractor[\"brand\"];\r\n this.chooseModel = response.data.tractor[\"model\"];\r\n this.chooseVersion = response.data.tractor[\"version\"];\r\n this.selectedLabel[\"brand\"] = this.chooseBrand;\r\n this.selectedLabel[\"model\"] = this.chooseModel;\r\n this.selectedLabel[\"version\"] = this.chooseVersion;\r\n this.configurationsProvider.setBrandSelectionPlus(this.selectedLabel);\r\n this.configurationsProvider.setSingleTractor(response.data.tractor);\r\n this.machineType = response.data.tractor[\"machineType\"];\r\n this.configurationsProvider.setNewMachineType(this.machineType);\r\n this.configurationsProvider.getModel(this.chooseBrand);\r\n }\r\n }\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n else {\r\n if (this.selectedLabel && !this.navParams.get(\"newMachine\")) {\r\n this.chooseBrand = this.selectedLabel[\"brand\"];\r\n this.chooseModel = this.selectedLabel[\"model\"];\r\n this.chooseVersion = this.selectedLabel[\"version\"];\r\n }\r\n else {\r\n this.selectedLabel = [];\r\n this.chooseBrand = \"\";\r\n this.chooseModel = \"\";\r\n this.chooseVersion = \"\";\r\n }\r\n }\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n next() {\r\n if (this.labelType === \"brand\") {\r\n this.showSidebar(\"model\");\r\n }\r\n else if (this.labelType === \"model\") {\r\n this.showSidebar(\"version\");\r\n }\r\n else if (this.labelType === \"version\") {\r\n this.showSidebar(\"brand\");\r\n }\r\n }\r\n\r\n back() {\r\n if (this.labelType === \"brand\") {\r\n this.showSidebar(\"version\");\r\n }\r\n else if (this.labelType === \"model\") {\r\n this.showSidebar(\"brand\");\r\n }\r\n else if (this.labelType === \"version\") {\r\n this.showSidebar(\"model\");\r\n }\r\n }\r\n\r\n setChoose(val: string) {\r\n if (this.labelType === \"brand\") {\r\n this.selectedLabel = [];\r\n this.chooseBrand = val;\r\n this.chooseModel = \"\";\r\n this.chooseVersion = \"\";\r\n this.configurationsProvider.getModel(this.chooseBrand);\r\n }\r\n else if (this.labelType === \"model\") {\r\n this.chooseModel = val;\r\n this.chooseVersion = \"\";\r\n let hpList = this.configurationsProvider.getHpList();\r\n let wheelbaseList = this.configurationsProvider.getWheelbaseList();\r\n let index = this.listModels.findIndex(function (element) {\r\n return element == val;\r\n });\r\n if (index !== -1) {\r\n this.configurationsProvider.setHp(hpList[index]);\r\n this.configurationsProvider.setWheelbase(wheelbaseList[index]);\r\n }\r\n }\r\n else if (this.labelType === \"version\") {\r\n this.chooseVersion = val;\r\n }\r\n this.selectedLabel[this.labelType] = val;\r\n this.configurationsProvider.setBrandSelectionPlus(this.selectedLabel);\r\n }\r\n\r\n showSidebar(label: string) {\r\n if (label === 'model' && (!this.chooseBrand || this.chooseBrand === \"\") || label === 'version' && (!this.chooseModel || this.chooseModel === \"\")) {\r\n this.openSidebar = false;\r\n }\r\n else {\r\n if (this.machineType === \"Tractor\") {\r\n this.filterSidebar = \"\";\r\n this.label = this.translate.instant(label);\r\n this.labelType = label;\r\n if (this.labelType === \"brand\") {\r\n this.list[label] = this.configurationsProvider.getBrands().sort();\r\n }\r\n else if (this.labelType === \"model\") {\r\n if (this.chooseBrand !== \"\") {\r\n this.listModels = this.configurationsProvider.getModels();\r\n this.list[label] = this.configurationsProvider.getModels().sort();\r\n }\r\n else {\r\n this.showSidebar('brand');\r\n }\r\n }\r\n else if (this.labelType === \"version\") {\r\n if (this.chooseModel !== \"\") {\r\n this.list[label] = this.configurationsProvider.getVersions().sort();\r\n }\r\n else {\r\n this.showSidebar('model');\r\n }\r\n }\r\n this.openSidebar = true;\r\n }\r\n }\r\n }\r\n\r\n close() {\r\n this.openSidebar = false;\r\n }\r\n\r\n goToConfigurationPage() {\r\n if (this.configurationsProvider.getStatus() === \"new\") {\r\n this.configurationsProvider.setMachineIdentifier(undefined);\r\n }\r\n if (this.machineType !== \"Tractor\") {\r\n this.selectedLabel[\"brand\"] = this.chooseBrand;\r\n this.selectedLabel[\"model\"] = this.chooseModel;\r\n this.selectedLabel[\"version\"] = this.chooseVersion;\r\n this.configurationsProvider.setBrandSelectionPlus(this.selectedLabel);\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationTirePage, {\r\n newMachine: this.navParams.get(\"newMachineFromTire\") ? this.navParams.get(\"newMachineFromTire\") : this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\"),\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationTirePage, {\r\n newMachine: this.navParams.get(\"newMachineFromTire\") ? this.navParams.get(\"newMachineFromTire\") : this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\"),\r\n }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationPlusPage, {\r\n type: \"tractor\",\r\n machine: this.machinesProvider.getTractor(),\r\n newMachine: this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\")\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationPlusPage, {\r\n type: \"tractor\",\r\n machine: this.machinesProvider.getTractor(),\r\n newMachine: this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\")\r\n }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/configuration/brand-selection/brand-selection.ts","import { Component, OnInit, AfterViewInit, ElementRef } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { Machine } from '../../../../model/machine';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MachinesProvider } from '../../../../providers/machines/machines';\r\nimport { CalculationsProvider } from '../../../../providers/calculations/calculations';\r\nimport { ConfigurationsProvider } from '../../../../providers/configurations/configurations';\r\nimport { HttpProvider } from '../../../../providers/http/http';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { TypeSelectionPage } from '../type-selection/type-selection';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { SearchPlusPage } from '../../search-plus/search-plus';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-configuration-tire',\r\n templateUrl: 'configuration-tire.html',\r\n})\r\nexport class ConfigurationTirePage implements OnInit, AfterViewInit {\r\n\r\n openSidebar: boolean = false;\r\n openSidebarWarning: boolean = false;\r\n message: string = \"\";\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n machine: Machine;\r\n disableSave = [];\r\n public list = [];\r\n public loading: boolean = false;\r\n public loadingButton: boolean = false;\r\n public success: boolean = false;\r\n public machineSaved: boolean = false;\r\n public savedButton: boolean = false;\r\n public enableConfigurationButton: boolean = false;\r\n private data: any;\r\n\r\n public fitmentFront: any;\r\n public fitmentFrontValue: string;\r\n public fitmentRear: any;\r\n public fitmentRearValue: string;\r\n public tireBrandFront: any;\r\n public tireBrandFrontValue: string;\r\n public tireBrandRear: any;\r\n public tireBrandRearValue: string;\r\n public otherTireBrandFront: any;\r\n public otherTireBrandFrontValue: string;\r\n public otherTireBrandRear: any;\r\n public otherTireBrandRearValue: string;\r\n public tireSizeFront: any;\r\n public tireSizeFrontValue: string;\r\n public tireSizeRear: any;\r\n public tireSizeRearValue: string;\r\n public frontFitment: number;\r\n public rearFitment: number;\r\n public label: string = \"\";\r\n public labelType: string = \"\";\r\n public type: string = \"\";\r\n public machineType: string = \"\";\r\n public selectedLabel = [];\r\n public showInfoRear = [];\r\n public showInfoFront = [];\r\n\r\n // variabili per search tyre\r\n public searchText: string = \"\";\r\n public tyreTitleProperties = ['Size', 'Title', 'LI1', 'SI1', 'LI2', 'SI2', 'LI3', 'SI3'];\r\n public tyreTitleSubProperties = ['TyreWidth', 'TyreDiam', 'SLR', 'RC'];\r\n public tyreTableProperties = ['SW: ', 'OD: ', 'SLR: ', 'RC: '];\r\n public rearButtonType: string;\r\n public frontButtonType: string;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public statusBar: StatusBar, public navParams: NavParams, public translate: TranslateService, public machinesProvider: MachinesProvider, public calculationsProvider: CalculationsProvider, public configurationsProvider: ConfigurationsProvider, public httpProvider: HttpProvider, private nativePageTransitions: NativePageTransitions, private keyboard: Keyboard, private elRef: ElementRef) {\r\n this.translate.get(\"FitmentFront\").subscribe(front => {\r\n this.fitmentFront = front;\r\n });\r\n this.translate.get(\"FitmentRear\").subscribe(rear => {\r\n this.fitmentRear = rear;\r\n });\r\n this.translate.get(\"TireBrandFront\").subscribe(front => {\r\n this.tireBrandFront = front;\r\n });\r\n this.translate.get(\"TireBrandRear\").subscribe(rear => {\r\n this.tireBrandRear = rear;\r\n });\r\n this.translate.get(\"OtherTireBrandFront\").subscribe(front => {\r\n this.otherTireBrandFront = front;\r\n });\r\n this.translate.get(\"OtherTireBrandRear\").subscribe(rear => {\r\n this.otherTireBrandRear = rear;\r\n });\r\n this.translate.get(\"TireSizeFront\").subscribe(front => {\r\n this.tireSizeFront = front;\r\n });\r\n this.translate.get(\"TireSizeRear\").subscribe(rear => {\r\n this.tireSizeRear = rear;\r\n });\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.hide();\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.show();\r\n let marginKeyboard = this.elRef.nativeElement.querySelector('ion-content.margin-keyboard');\r\n if (marginKeyboard) {\r\n marginKeyboard.classList.remove(\"margin-keyboard\");\r\n }\r\n let scrollContent = this.elRef.nativeElement.querySelector('div.scroll-content');\r\n if (scrollContent) {\r\n scrollContent.style.marginBottom = \"8rem\";\r\n }\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n this.machineType = this.configurationsProvider.getNewMachineType();\r\n }\r\n\r\n ngOnInit() {\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 500, 1);\r\n let singleTractor = this.configurationsProvider.getSingleTractor();\r\n if (singleTractor && this.configurationsProvider.getStatus() === \"edit\") {\r\n if (singleTractor._id) {\r\n this.data = {};\r\n this.data._id = singleTractor._id;\r\n }\r\n this.enableConfigurationButton = true;\r\n //front fitment\r\n let frontfitment = \"\";\r\n if (singleTractor[\"frontAxleFitment\"] === \"Single\") {\r\n frontfitment = \"fitment_single\";\r\n this.frontFitment = 0;\r\n }\r\n else if (singleTractor[\"frontAxleFitment\"] === \"Dual\") {\r\n frontfitment = \"fitment_dual\";\r\n this.frontFitment = 1;\r\n }\r\n else if (singleTractor[\"frontAxleFitment\"] === \"Triples\") {\r\n frontfitment = \"fitment_triples\";\r\n this.frontFitment = 2;\r\n }\r\n else {\r\n frontfitment = singleTractor[\"frontAxleFitment\"];\r\n }\r\n this.fitmentFrontValue = this.configurationsProvider.getStorage('fitmentFront') !== \"\" ? this.configurationsProvider.getStorage('fitmentFront') : this.translate.instant(frontfitment);\r\n this.configurationsProvider.setStorage('fitmentFront', this.fitmentFrontValue);\r\n //rear fitment\r\n let rearfitment = \"\";\r\n if (singleTractor[\"rearAxleFitment\"] === \"Single\") {\r\n rearfitment = \"fitment_single\";\r\n this.rearFitment = 0;\r\n }\r\n else if (singleTractor[\"rearAxleFitment\"] === \"Dual\") {\r\n rearfitment = \"fitment_dual\";\r\n this.rearFitment = 1;\r\n }\r\n else if (singleTractor[\"rearAxleFitment\"] === \"Triples\") {\r\n rearfitment = \"fitment_triples\";\r\n this.rearFitment = 2;\r\n }\r\n else {\r\n rearfitment = singleTractor[\"rearAxleFitment\"];\r\n }\r\n this.fitmentRearValue = this.configurationsProvider.getStorage('fitmentRear') !== \"\" ? this.configurationsProvider.getStorage('fitmentRear') : this.translate.instant(rearfitment);\r\n this.configurationsProvider.setStorage('fitmentRear', this.fitmentRearValue);\r\n //tire brand front\r\n if (singleTractor[\"frontAxleTireBrand\"]) {\r\n this.tireBrandFrontValue = this.configurationsProvider.getStorage('tireBrandFront') !== \"\" ? this.configurationsProvider.getStorage('tireBrandFront') : singleTractor[\"frontAxleTireBrand\"];\r\n this.configurationsProvider.setStorage('tireBrandFront', this.tireBrandFrontValue);\r\n }\r\n //tire brand rear\r\n if (singleTractor[\"rearAxletTireBrand\"]) {\r\n this.tireBrandRearValue = this.configurationsProvider.getStorage('tireBrandRear') !== \"\" ? this.configurationsProvider.getStorage('tireBrandRear') : singleTractor[\"rearAxletTireBrand\"];\r\n this.configurationsProvider.setStorage('tireBrandRear', this.tireBrandRearValue);\r\n }\r\n //other tire brand front\r\n if (singleTractor[\"frontAxleOtherTireBrand\"]) {\r\n this.otherTireBrandFrontValue = this.configurationsProvider.getStorage('otherTireBrandFront') !== \"\" ? this.configurationsProvider.getStorage('otherTireBrandFront') : singleTractor[\"frontAxleOtherTireBrand\"];\r\n this.configurationsProvider.setStorage('otherTireBrandFront', this.otherTireBrandFrontValue);\r\n }\r\n //other tire brand rear\r\n if (singleTractor[\"rearAxleOtherTireBrand\"]) {\r\n this.otherTireBrandRearValue = this.configurationsProvider.getStorage('otherTireBrandRear') !== \"\" ? this.configurationsProvider.getStorage('otherTireBrandRear') : singleTractor[\"rearAxleOtherTireBrand\"];\r\n this.configurationsProvider.setStorage('otherTireBrandRear', this.otherTireBrandRearValue);\r\n }\r\n //tire size front\r\n if (singleTractor[\"frontAxleTireSize\"]) {\r\n this.tireSizeFrontValue = this.configurationsProvider.getStorage('tireSizeFront') !== \"\" ? this.configurationsProvider.getStorage('tireSizeFront') : singleTractor[\"frontAxleTireSize\"];\r\n this.configurationsProvider.setStorage('tireSizeFront', this.tireSizeFrontValue);\r\n }\r\n //tire size rear\r\n if (singleTractor[\"rearAxleTireSize\"]) {\r\n this.tireSizeRearValue = this.configurationsProvider.getStorage('tireSizeRear') !== \"\" ? this.configurationsProvider.getStorage('tireSizeRear') : singleTractor[\"rearAxleTireSize\"];\r\n this.configurationsProvider.setStorage('tireSizeRear', this.tireSizeRearValue);\r\n }\r\n }\r\n else {\r\n if (this.configurationsProvider.getStorage(\"idSingleTractor\")) {\r\n if (this.configurationsProvider.getStorage(\"idSingleTractor\") !== \"\") {\r\n this.data = {};\r\n this.data._id = this.configurationsProvider.getStorage(\"idSingleTractor\");\r\n }\r\n }\r\n this.fitmentFrontValue = this.configurationsProvider.getStorage('fitmentFront');\r\n this.fitmentRearValue = this.configurationsProvider.getStorage('fitmentRear');\r\n this.tireBrandFrontValue = this.configurationsProvider.getStorage('tireBrandFront');\r\n this.tireBrandRearValue = this.configurationsProvider.getStorage('tireBrandRear');\r\n this.otherTireBrandFrontValue = this.configurationsProvider.getStorage('otherTireBrandFront');\r\n this.otherTireBrandRearValue = this.configurationsProvider.getStorage('otherTireBrandRear');\r\n this.tireSizeFrontValue = this.configurationsProvider.getStorage('tireSizeFront');\r\n this.tireSizeRearValue = this.configurationsProvider.getStorage('tireSizeRear');\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.otherTireBrandFrontValue === \"OTHER\") {\r\n this.otherTireBrandFrontValue = \"\";\r\n }\r\n if (this.tireSizeFrontValue === \"TRELLEBORG\" || this.tireSizeFrontValue === \"MAXIMO\" || this.tireSizeFrontValue === \"MITAS\" || this.tireSizeFrontValue === \"CULTOR\" || this.tireSizeFrontValue === \"OTHER\") {\r\n this.tireSizeFrontValue = \"\";\r\n }\r\n if (this.otherTireBrandRearValue === \"OTHER\") {\r\n this.otherTireBrandRearValue = \"\";\r\n }\r\n if (this.tireSizeRearValue === \"TRELLEBORG\" || this.tireSizeRearValue === \"MAXIMO\" || this.tireSizeRearValue === \"MITAS\" || this.tireSizeRearValue === \"CULTOR\" || this.tireSizeRearValue === \"OTHER\") {\r\n this.tireSizeRearValue = \"\";\r\n }\r\n }\r\n\r\n hideKeyboard() {\r\n this.keyboard.hide();\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n showChooseModel() {\r\n this.openSidebar = true;\r\n }\r\n\r\n close() {\r\n this.openSidebar = false;\r\n }\r\n\r\n next() {\r\n if (this.type === \"front\") {\r\n if (this.labelType === this.fitmentFront.title) {\r\n this.showSidebar(this.tireBrandFront.title, this.type, 1);\r\n }\r\n else if (this.labelType === this.tireBrandFront.title) {\r\n this.showSidebar(this.fitmentFront.title, this.type, 0);\r\n }\r\n else if (this.labelType === this.otherTireBrandFront.title) {\r\n this.showSidebar(this.fitmentFront.title, this.type, 0);\r\n }\r\n }\r\n else {\r\n if (this.labelType === this.fitmentRear.title) {\r\n this.showSidebar(this.tireBrandRear.title, this.type, 1);\r\n }\r\n else if (this.labelType === this.tireBrandRear.title) {\r\n this.showSidebar(this.fitmentRear.title, this.type, 0);\r\n }\r\n else if (this.labelType === this.otherTireBrandRear.title) {\r\n this.showSidebar(this.fitmentRear.title, this.type, 0);\r\n }\r\n }\r\n }\r\n\r\n back() {\r\n if (this.type === \"front\") {\r\n if (this.labelType === this.tireBrandFront.title) {\r\n this.showSidebar(this.fitmentFront.title, this.type, 0);\r\n }\r\n else if (this.labelType === this.fitmentFront.title) {\r\n this.showSidebar(this.tireBrandFront.title, this.type, 1);\r\n }\r\n else if (this.labelType === this.otherTireBrandFront.title) {\r\n this.showSidebar(this.tireBrandFront.title, this.type, 1);\r\n }\r\n }\r\n else {\r\n if (this.labelType === this.tireBrandRear.title) {\r\n this.showSidebar(this.fitmentRear.title, this.type, 0);\r\n }\r\n else if (this.labelType === this.fitmentRear.title) {\r\n this.showSidebar(this.tireBrandRear.title, this.type, 1);\r\n }\r\n else if (this.labelType === this.otherTireBrandRear.title) {\r\n this.showSidebar(this.tireBrandRear.title, this.type, 1);\r\n }\r\n }\r\n }\r\n\r\n setChoose(val: string, type: string, i: number) {\r\n if (type === \"front\") {\r\n if (this.labelType === this.fitmentFront.title) {\r\n this.fitmentFrontValue = val;\r\n this.frontFitment = i;\r\n this.configurationsProvider.setStorage('fitmentFront', val);\r\n }\r\n else if (this.labelType === this.tireBrandFront.title) {\r\n this.tireBrandFrontValue = val;\r\n this.configurationsProvider.setStorage('tireBrandFront', val);\r\n this.otherTireBrandFrontValue = \"\";\r\n this.configurationsProvider.setStorage('otherTireBrandFront', val);\r\n this.tireSizeFrontValue = \"\";\r\n this.configurationsProvider.setStorage('tireSizeFront', val);\r\n }\r\n else if (this.labelType === this.otherTireBrandFront.title) {\r\n this.otherTireBrandFrontValue = val;\r\n this.configurationsProvider.setStorage('otherTireBrandFront', val);\r\n }\r\n else if (this.labelType === this.tireSizeFront.title) {\r\n this.tireSizeFrontValue = val;\r\n this.configurationsProvider.setStorage('tireSizeFront', val);\r\n }\r\n }\r\n else {\r\n if (this.labelType === this.fitmentRear.title) {\r\n this.fitmentRearValue = val;\r\n this.rearFitment = i;\r\n this.configurationsProvider.setStorage('fitmentRear', val);\r\n }\r\n else if (this.labelType === this.tireBrandRear.title) {\r\n this.tireBrandRearValue = val;\r\n this.configurationsProvider.setStorage('tireBrandRear', val);\r\n this.otherTireBrandRearValue = \"\";\r\n this.configurationsProvider.setStorage('otherTireBrandRear', val);\r\n this.tireSizeRearValue = \"\";\r\n this.configurationsProvider.setStorage('tireSizeRear', val);\r\n }\r\n else if (this.labelType === this.otherTireBrandRear.title) {\r\n this.otherTireBrandRearValue = val;\r\n this.configurationsProvider.setStorage('otherTireBrandRear', val);\r\n }\r\n else if (this.labelType === this.tireSizeRear.title) {\r\n this.tireSizeRearValue = val;\r\n this.configurationsProvider.setStorage('tireSizeRear', val);\r\n }\r\n }\r\n this.selectedLabel[this.labelType] = val;\r\n }\r\n\r\n showSidebar(label: string, type: string, i: number) {\r\n this.label = this.translate.instant(label);\r\n this.labelType = label;\r\n this.type = type;\r\n if (i === 0) {\r\n this.list[label] = this.configurationsProvider.getConfigurationTirePlus();\r\n if (type === \"front\") {\r\n if (this.fitmentFrontValue) {\r\n this.selectedLabel[this.labelType] = this.fitmentFrontValue;\r\n }\r\n }\r\n else {\r\n if (this.fitmentRearValue) {\r\n this.selectedLabel[this.labelType] = this.fitmentRearValue;\r\n }\r\n }\r\n this.openSidebar = true;\r\n }\r\n else if (i === 1) {\r\n this.list[label] = this.configurationsProvider.getTireBrands();\r\n if (type === \"front\") {\r\n if (this.tireBrandFrontValue) {\r\n this.selectedLabel[this.labelType] = this.tireBrandFrontValue;\r\n }\r\n }\r\n else {\r\n if (this.tireBrandRearValue) {\r\n this.selectedLabel[this.labelType] = this.tireBrandRearValue;\r\n }\r\n }\r\n this.openSidebar = true;\r\n }\r\n else if (i === 2) {\r\n this.list[label] = this.configurationsProvider.getTireOtherBrands();\r\n if (type === \"front\") {\r\n if (this.otherTireBrandFrontValue) {\r\n this.selectedLabel[this.labelType] = this.otherTireBrandFrontValue;\r\n }\r\n }\r\n else {\r\n if (this.otherTireBrandFrontValue) {\r\n this.selectedLabel[this.labelType] = this.otherTireBrandFrontValue;\r\n }\r\n }\r\n this.openSidebar = true;\r\n }\r\n else if (i === 3) {\r\n if (type === \"front\" && this.tireBrandFrontValue !== 'OTHER') {\r\n this.goToSearchPage(type);\r\n }\r\n else if (type === \"rear\" && this.tireBrandRearValue !== 'OTHER') {\r\n this.goToSearchPage(type);\r\n }\r\n }\r\n }\r\n\r\n catchDisableSave(event, i) {\r\n this.disableSave[i] = event;\r\n }\r\n\r\n keyPressNumber(readyonly: boolean, event: any) {\r\n if (readyonly && this.machineType === \"Tractor\") {\r\n const pattern = /^[0-9,.]+$/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n checkChamps() {\r\n if (this.fitmentFrontValue === \"\" || this.tireBrandFrontValue === \"\" || (this.tireBrandFrontValue === 'OTHER' && this.otherTireBrandFrontValue === \"\") || this.tireSizeFrontValue === \"\") {\r\n return false;\r\n }\r\n if (this.fitmentRearValue === \"\" || this.tireBrandRearValue === \"\" || (this.tireBrandRearValue === 'OTHER' && this.otherTireBrandRearValue === \"\") || this.tireSizeRearValue === \"\") {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n makeid() {\r\n let text = \"\";\r\n let possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\r\n for (let i = 0; i < 6; i++) {\r\n text += possible.charAt(Math.floor(Math.random() * possible.length));\r\n }\r\n return text;\r\n }\r\n\r\n setData(list: any) {\r\n const farmId = localStorage.getItem('farmId');\r\n let tractor = this.machinesProvider.tractor;\r\n let frontfitment = \"Single\";\r\n if (this.frontFitment === 1) frontfitment = \"Dual\";\r\n else if (this.frontFitment === 2) frontfitment = \"Triples\";\r\n let rearfitment = \"Single\";\r\n if (this.rearFitment === 1) rearfitment = \"Dual\";\r\n else if (this.rearFitment === 2) rearfitment = \"Triples\";\r\n let id = this.data ? this.data._id : undefined;\r\n if (!id) {\r\n if (this.configurationsProvider.getStorage(\"idSingleTractor\")) {\r\n id = this.configurationsProvider.getStorage(\"idSingleTractor\");\r\n }\r\n }\r\n if (!this.navParams.get(\"selectedFleet\")) {\r\n this.configurationsProvider.setStatus(\"new\");\r\n this.data = {\r\n \"machineType\": this.configurationsProvider.getNewMachineType(),\r\n \"machineTypeConfiguration\": \"planting\",\r\n \"brand\": list[\"brand\"],\r\n \"model\": list[\"model\"],\r\n \"version\": list[\"version\"],\r\n \"hp\": tractor ? tractor.champs[0].value : 0,\r\n \"rearWeight\": tractor ? tractor.champs[1].value : 0,\r\n \"frontWeight\": tractor ? tractor.champs[2].value : 0,\r\n \"rearWellBallast\": tractor ? tractor.champs[3].value : 0,\r\n \"frontWellBallast\": tractor ? tractor.champs[4].value : 0,\r\n \"wheelbase\": tractor ? tractor.champs[5].value : 0,\r\n \"machineIdentifier\": this.configurationsProvider.getMachineIdentifier() ? this.configurationsProvider.getMachineIdentifier() : this.makeid(),\r\n \"rearAxleFitment\": rearfitment,\r\n \"rearAxletTireBrand\": this.tireBrandRearValue,\r\n \"rearAxleOtherTireBrand\": this.otherTireBrandRearValue,\r\n \"rearAxleTireSize\": this.tireSizeRearValue,\r\n \"frontAxleFitment\": frontfitment,\r\n \"frontAxleTireBrand\": this.tireBrandFrontValue,\r\n \"frontAxleOtherTireBrand\": this.otherTireBrandFrontValue,\r\n \"frontAxleTireSize\": this.tireSizeFrontValue,\r\n \"pairing\": \"NO\",\r\n \"pressureCheck\": \"gray\",\r\n \"timestamp\": new Date(),\r\n \"farmId\": farmId ? farmId : null,\r\n \"status\": \"Created\",\r\n \"idGateway\": \"idGateway\"\r\n }\r\n this.data._id = id;\r\n }\r\n else {\r\n this.configurationsProvider.setStatus(\"edit\");\r\n this.data = {\r\n \"machineType\": this.configurationsProvider.getNewMachineType(),\r\n \"brand\": list[\"brand\"],\r\n \"model\": list[\"model\"],\r\n \"version\": list[\"version\"],\r\n \"hp\": tractor ? tractor.champs[0].value : 0,\r\n \"rearWeight\": tractor ? tractor.champs[1].value : 0,\r\n \"frontWeight\": tractor ? tractor.champs[2].value : 0,\r\n \"rearWellBallast\": tractor ? tractor.champs[3].value : 0,\r\n \"frontWellBallast\": tractor ? tractor.champs[4].value : 0,\r\n \"wheelbase\": tractor ? tractor.champs[5].value : 0,\r\n \"machineIdentifier\": this.configurationsProvider.getMachineIdentifier() ? this.configurationsProvider.getMachineIdentifier() : this.makeid(),\r\n \"rearAxleFitment\": rearfitment,\r\n \"rearAxletTireBrand\": this.tireBrandRearValue,\r\n \"rearAxleOtherTireBrand\": this.otherTireBrandRearValue,\r\n \"rearAxleTireSize\": this.tireSizeRearValue,\r\n \"frontAxleFitment\": frontfitment,\r\n \"frontAxleTireBrand\": this.tireBrandFrontValue,\r\n \"frontAxleOtherTireBrand\": this.otherTireBrandFrontValue,\r\n \"frontAxleTireSize\": this.tireSizeFrontValue,\r\n \"timestamp\": new Date(),\r\n }\r\n this.data._id = id;\r\n }\r\n this.saveTractor();\r\n }\r\n\r\n saveTractor() {\r\n this.loadingButton = true;\r\n if (this.machinesProvider.getFrontTyreSelected() && this.machinesProvider.getFrontTyreSelected().IDCode) {\r\n this.data.frontTireIdCode = this.machinesProvider.getFrontTyreSelected().IDCode;\r\n if (this.configurationsProvider.getSingleTractor()) {\r\n this.configurationsProvider.getSingleTractor().frontTireIdCode = this.machinesProvider.getFrontTyreSelected().IDCode;\r\n }\r\n }\r\n if (this.machinesProvider.getRearTyreSelected() && this.machinesProvider.getRearTyreSelected().IDCode) {\r\n this.data.rearTireIdCode = this.machinesProvider.getRearTyreSelected().IDCode;\r\n if (this.configurationsProvider.getSingleTractor()) {\r\n this.configurationsProvider.getSingleTractor().rearTireIdCode = this.machinesProvider.getRearTyreSelected().IDCode;\r\n }\r\n }\r\n if (!this.navParams.get(\"selectedFleet\")) {\r\n if (!this.data._id) {\r\n this.httpProvider.setTractor(this.data)\r\n .subscribe(result => {\r\n this.loadingButton = false;\r\n if (result['status'] === \"ok\") {\r\n this.enableConfigurationButton = true;\r\n this.configurationsProvider.setSingleTractor(result['data'].equipment);\r\n this.data._id = result['data'].equipment._id;\r\n this.configurationsProvider.setStorage(\"idSingleTractor\", this.data._id);\r\n this.message = this.translate.instant(\"saving-success\");\r\n this.success = true;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.savedButton = false;\r\n this.openSidebarWarning = false;\r\n setTimeout(() => {\r\n this.success = false;\r\n }, 1000);\r\n }, 4000);\r\n\r\n const farmId = localStorage.getItem('farmId');\r\n if (farmId) {\r\n this.httpProvider.getTractorsByFarmId(farmId)\r\n .subscribe(result => {\r\n this.loadingButton = false;\r\n if (result) {\r\n let response: any = result;\r\n this.machinesProvider.myFleet = [];\r\n for (let tractor of response.data.Tractors) {\r\n this.configurationsProvider.addToMyFleet(tractor);\r\n }\r\n }\r\n }, (err) => {\r\n this.loadingButton = false;\r\n this.savedButton = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n this.enableConfigurationButton = false;\r\n this.loadingButton = false;\r\n this.savedButton = false;\r\n this.message = err.error.error ? err.error.error.msg : err.statusText ? err.statusText : this.translate.instant(\"saving-failed\");\r\n this.success = false;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n });\r\n }\r\n else {\r\n this.configurationsProvider.setStorage(\"idSingleTractor\", this.data._id);\r\n this.httpProvider.updateTractor(this.data._id, this.data)\r\n .subscribe(result => {\r\n this.loadingButton = false;\r\n if (result['status'] === \"ok\") {\r\n this.enableConfigurationButton = true;\r\n this.message = this.translate.instant(\"saving-success\");\r\n this.success = true;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n this.savedButton = false;\r\n setTimeout(() => {\r\n this.success = false;\r\n }, 1000);\r\n }, 4000);\r\n\r\n const farmId = localStorage.getItem('farmId');\r\n if (farmId) {\r\n this.httpProvider.getTractorsByFarmId(farmId)\r\n .subscribe(result => {\r\n this.loadingButton = false;\r\n this.savedButton = false;\r\n if (result) {\r\n let response: any = result;\r\n this.machinesProvider.myFleet = [];\r\n for (let tractor of response.data.Tractors) {\r\n this.configurationsProvider.addToMyFleet(tractor);\r\n }\r\n }\r\n }, (err) => {\r\n this.loadingButton = false;\r\n this.savedButton = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n this.enableConfigurationButton = false;\r\n this.loadingButton = false;\r\n this.savedButton = false;\r\n this.message = err.error.error ? err.error.error.msg : err.statusText ? err.statusText : this.translate.instant(\"saving-failed\");\r\n this.success = false;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n });\r\n }\r\n }\r\n else {\r\n let selectedFleet = this.navParams.get(\"selectedFleet\");\r\n this.httpProvider.updateTractor(selectedFleet._id, this.data)\r\n .subscribe(result => {\r\n this.loadingButton = false;\r\n if (result['status'] === \"ok\") {\r\n this.enableConfigurationButton = true;\r\n this.message = this.translate.instant(\"saving-success\");\r\n this.success = true;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n this.savedButton = false;\r\n setTimeout(() => {\r\n this.success = false;\r\n }, 1000);\r\n }, 4000);\r\n\r\n const farmId = localStorage.getItem('farmId');\r\n if (farmId) {\r\n this.httpProvider.getTractorsByFarmId(farmId)\r\n .subscribe(result => {\r\n this.loadingButton = false;\r\n if (result) {\r\n let response: any = result;\r\n this.machinesProvider.myFleet = [];\r\n for (let tractor of response.data.Tractors) {\r\n this.configurationsProvider.addToMyFleet(tractor);\r\n }\r\n }\r\n }, (err) => {\r\n this.loadingButton = false;\r\n this.savedButton = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n this.enableConfigurationButton = false;\r\n this.loadingButton = false;\r\n this.savedButton = false;\r\n this.message = err.error.error ? err.error.error.msg : err.statusText ? err.statusText : this.translate.instant(\"saving-failed\");\r\n this.success = false;\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n });\r\n }\r\n }\r\n\r\n save() {\r\n this.savedButton = true;\r\n this.setData(this.configurationsProvider.getBrandSelectionPlus());\r\n }\r\n\r\n configMachine() {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TypeSelectionPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TypeSelectionPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n // sezione per selezione tyres completamento automatico\r\n goToSearchPage(type: string) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(SearchPlusPage, { type: type });\r\n }\r\n else {\r\n this.navCtrl.setRoot(SearchPlusPage, { type: type }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/configuration/configuration-tire/configuration-tire.ts","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { Storage } from '@ionic/storage';\r\nimport { TractorPage } from \"../tractor\";\r\nimport { ConfigurationsProvider } from \"../../../providers/configurations/configurations\";\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\n\r\n@Component({\r\n\tselector: 'page-saved-config',\r\n\ttemplateUrl: 'saved-config.html'\r\n})\r\nexport class TractorSavedConfigurationsPage implements OnInit {\r\n\r\n\tpublic innerWidth: any;\r\n\tpublic savedConfigurations: any;\r\n\tpublic configurationCopied: boolean;\r\n\r\n\tconstructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public configurationsProvider: ConfigurationsProvider, private storage: Storage, private nativePageTransitions: NativePageTransitions) {\r\n\t\tthis.configurationCopied = false;\r\n\r\n\t\tstorage.ready().then(() => {\r\n\t\t\tstorage.get(\"saved-configurations\").then(result => {\r\n\t\t\t\tconfigurationsProvider.checkRowsMenu(result);\r\n\t\t\t\tconfigurationsProvider.readConfiguration(result);\r\n\t\t\t\tthis.savedConfigurations = configurationsProvider.savedConfigurations;\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tcheckDevice(): boolean {\r\n\t\tif (this.innerWidth < 1030) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\t@HostListener('window:resize', ['$event'])\r\n\tonResize() {\r\n\t\tthis.innerWidth = window.innerWidth;\r\n\t\tthis.checkDevice();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.innerWidth = window.innerWidth;\r\n\t}\r\n\r\n\tgetSavedConfiguration(config) {\r\n\t\tif (!this.configurationCopied) {\r\n\t\t\tthis.configurationsProvider.loadConfiguration(config);\r\n\t\t\tif (this.platform.is(\"android\")) {\r\n\t\t\t let options = this.configurationsProvider.getOptions(\"left\");\r\n\t\t\t this.nativePageTransitions.slide(options);\r\n\t\t\t}\r\n\t\t\tthis.navCtrl.setRoot(TractorPage, {}, { animate: true, direction: 'back' });\r\n\t\t}\r\n\t\tthis.configurationCopied = false;\r\n\t}\r\n\r\n\tdeleteConfiguration(config) {\r\n\t\tif (!this.configurationCopied) {\r\n\t\t\tlet index = this.configurationsProvider.savedConfigurations.indexOf(config);\r\n\t\t\tif (index != -1) {\r\n\t\t\t\tthis.configurationsProvider.savedConfigurations.splice(index, 1);\r\n\t\t\t}\r\n\t\t\tthis.configurationsProvider.checkRowsMenu(this.configurationsProvider.savedConfigurations);\r\n\t\t\tthis.storage.set(\"saved-configurations\", this.configurationsProvider.savedConfigurations);\r\n\t\t}\r\n\t\tthis.configurationCopied = false;\r\n\t}\r\n\r\n\tcopyConfiguration(config) {\r\n\t\tthis.configurationCopied = true;\r\n\t\tthis.configurationsProvider.savedConfigurations.push(JSON.parse(JSON.stringify(config)));\r\n\t\tthis.configurationsProvider.checkRowsMenu(this.configurationsProvider.savedConfigurations);\r\n\t\tthis.storage.set(\"saved-configurations\", this.configurationsProvider.savedConfigurations);\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/saved-config/saved-config.ts","export class Tractor {\r\n\r\n public constructor();\r\n\r\n public constructor(\r\n title: string,\r\n subtitle: string,\r\n typeRear: string,\r\n typeFront: string,\r\n serial: string,\r\n urlBkg: string,\r\n urlTractor: string,\r\n pairing: boolean,\r\n color: string,\r\n _id: string,\r\n idGateway: string,\r\n machineIdentifier: string,\r\n status: string,\r\n machineTypeConfiguration: string,\r\n frontTargetPressure: string,\r\n rearTargetPressure: string,\r\n wheels: string[]);\r\n\r\n public constructor(\r\n public title?: string,\r\n public subtitle?: string,\r\n public typeRear?: string,\r\n public typeFront?: string,\r\n public serial?: string,\r\n public urlBkg?: string,\r\n public urlTractor?: string,\r\n public pairing?: boolean,\r\n public color?: string,\r\n public _id?: string,\r\n public idGateway?: string,\r\n public machineIdentifier?: string,\r\n public status?: string,\r\n public machineTypeConfiguration?: string,\r\n public frontTargetPressure?: string,\r\n public rearTargetPressure?: string,\r\n public wheels?: string[],\r\n public bsdongle?: any) {\r\n if (!title) {\r\n this.title = \"\";\r\n }\r\n if (!subtitle) {\r\n this.subtitle = \"\";\r\n }\r\n if (!typeRear) {\r\n this.typeRear = \"\";\r\n }\r\n if (!typeFront) {\r\n this.typeFront = \"\";\r\n }\r\n if (!serial) {\r\n this.serial = \"\";\r\n }\r\n if (!urlBkg) {\r\n this.urlBkg = \"\";\r\n }\r\n if (!urlTractor) {\r\n this.urlTractor = \"\";\r\n }\r\n if (!pairing) {\r\n this.pairing = false;\r\n }\r\n if (!color) {\r\n this.color = \"gray\";\r\n }\r\n if (!wheels) {\r\n this.wheels = [];\r\n }\r\n if (!_id) {\r\n this._id = \"\";\r\n }\r\n if (!idGateway) {\r\n this.idGateway = null;\r\n }\r\n if (!machineIdentifier) {\r\n this.machineIdentifier = \"\";\r\n }\r\n if (!status) {\r\n this.status = \"Created\";\r\n }\r\n if(!machineTypeConfiguration) {\r\n this.machineTypeConfiguration = ''; \r\n }\r\n if(!frontTargetPressure) {\r\n this.frontTargetPressure = \"1\";\r\n }\r\n if(!rearTargetPressure){\r\n this.rearTargetPressure = \"1\";\r\n }\r\n if (!bsdongle) {\r\n this.bsdongle = { mac: \"\", codes: [] };\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/model/tractor.ts","import { Component } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { MachinesProvider } from \"../../../providers/machines/machines\";\r\nimport { ConfigurationsProvider } from \"../../../providers/configurations/configurations\";\r\nimport { ListItem } from \"../../../model/list-item\";\r\nimport { TractorConfigurationPage } from \"../configuration/configuration\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { TractorPage } from '../tractor';\r\n\r\n@Component({\r\n selector: 'page-list',\r\n templateUrl: 'list.html'\r\n})\r\nexport class ListPage {\r\n\r\n type: string;\r\n label: string;\r\n step: string;\r\n listTitle: string;\r\n currentStep: number;\r\n finalStep: number;\r\n item: ListItem;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams, public translate: TranslateService, public machinesProvider: MachinesProvider, public configurationsProvider: ConfigurationsProvider, private nativePageTransitions: NativePageTransitions) {\r\n this.type = navParams.get(\"type\");\r\n if (this.type == 'front') {\r\n this.label = \"24\";\r\n this.listTitle = \"202\";\r\n } else if (this.type == 'rear') {\r\n this.label = \"25\";\r\n }\r\n this.currentStep = navParams.get(\"currentStep\");\r\n this.finalStep = navParams.get(\"finalStep\");\r\n this.item = navParams.get(\"item\");\r\n if (this.item) {\r\n if (this.currentStep === 2 && this.type == \"rear\") {\r\n this.listTitle = this.item.label;\r\n console.log(\"this.listTitle: \", this.translate.instant(this.listTitle));\r\n }\r\n }\r\n translate.get(\"Step\").subscribe(result => {\r\n this.step = result + \" \" + this.currentStep + \"/\" + this.finalStep;\r\n });\r\n }\r\n\r\n next() {\r\n let item: ListItem = this.item;\r\n if (item && item.selected >= 0) {\r\n let machineSelected = item.items[item.selected].machine;\r\n console.log(\"item list: \", item);\r\n console.log(\"machineSelected list: \", machineSelected);\r\n console.log(\"this.currentStep list: \", this.currentStep);\r\n if (machineSelected) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TractorConfigurationPage, {\r\n type: this.type,\r\n currentStep: this.currentStep + 1,\r\n finalStep: this.finalStep,\r\n machine: machineSelected,\r\n item: item.items[item.selected]\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(TractorConfigurationPage, {\r\n type: this.type,\r\n currentStep: this.currentStep + 1,\r\n finalStep: this.finalStep,\r\n machine: machineSelected,\r\n item: item.items[item.selected]\r\n }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.type,\r\n currentStep: this.currentStep + 1,\r\n finalStep: this.finalStep,\r\n machine: machineSelected,\r\n item: item.items[item.selected]\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.type,\r\n currentStep: this.currentStep + 1,\r\n finalStep: this.finalStep,\r\n machine: machineSelected,\r\n item: item.items[item.selected]\r\n }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n }\r\n }\r\n\r\n back() {\r\n if (this.type === 'front' || this.type === 'rear' && this.currentStep === 1) {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TractorPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TractorPage, {}, { animate: true, direction: 'forward' });\r\n }\r\n } else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"right\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.machinesProvider.getRearList().label,\r\n currentStep: this.currentStep - 1,\r\n finalStep: this.finalStep,\r\n item: this.machinesProvider.getRearList()\r\n });\r\n }\r\n else {\r\n this.navCtrl.setRoot(ListPage, {\r\n type: this.machinesProvider.getRearList().label,\r\n currentStep: this.currentStep - 1,\r\n finalStep: this.finalStep,\r\n item: this.machinesProvider.getRearList()\r\n }, { animate: true, direction: 'forward' });\r\n }\r\n }\r\n }\r\n\r\n getItemList() {\r\n return this.item;\r\n }\r\n\r\n selectItem(item, i) {\r\n for (let val of item) {\r\n val.selected = -1;\r\n }\r\n item.selected = i;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/tractor/list/list.ts","import { Component, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { PairingProvider } from '../../../providers/pairing/pairing';\r\nimport { TransitionPage } from '../transition/transition';\r\nimport { MyFleetSearchPage } from '../my-fleet-search/my-fleet-search';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\nimport { MachinesProvider } from '../../../providers/machines/machines';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\n\r\n@Component({\r\n selector: 'page-my-fleet',\r\n templateUrl: 'my-fleet.html',\r\n})\r\nexport class MyFleetPage implements AfterViewInit {\r\n\r\n @ViewChild(\"pageSlider\") pageSlider: any;\r\n public plantingButton: boolean = true;\r\n public harvestButton: boolean = false;\r\n public standardButton: boolean = false;\r\n public fadeFlag: boolean = false;\r\n public loading: boolean = false;\r\n public alert: boolean = false;\r\n public searchIcon: boolean = false;\r\n\r\n public searchInput: string = \"\";\r\n\r\n public slidesNumber = [];\r\n\r\n openSidebar: boolean = false;\r\n message: string;;\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n constructor(public platform: Platform, public navParams: NavParams, public translate: TranslateService, public httpProvider: HttpProvider, public navCtrl: NavController, public pairingProvider: PairingProvider, public configurationsProvider: ConfigurationsProvider, public machinesProvider: MachinesProvider, private nativePageTransitions: NativePageTransitions, private keyboard: Keyboard) {\r\n this.httpProvider.getSensorList().subscribe();\r\n }\r\n\r\n public get $myFleet() {\r\n if (this.plantingButton) {\r\n return this.machinesProvider.$plantingFleet;\r\n } else if (this.harvestButton) {\r\n return this.machinesProvider.$harvestFleet;\r\n } else if (this.standardButton) {\r\n return this.machinesProvider.$standardFleet;\r\n }\r\n }\r\n\r\n close() {\r\n this.openSidebar = false;\r\n }\r\n\r\n filter(input: string, iconFlag: boolean) {\r\n this.searchInput = input.toLowerCase();\r\n this.searchIcon = iconFlag;\r\n let fleetFilter = this.$myFleet.filter(it => {\r\n return it.title.toLowerCase().includes(this.searchInput);\r\n });\r\n if (fleetFilter) {\r\n this.slidesNumber = [];\r\n let slides = fleetFilter.length / 4;\r\n let myFleet = fleetFilter;\r\n let start = -4;\r\n let end = 0;\r\n if (slides > Math.round(slides)) {\r\n slides++;\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.loading = true;\r\n setTimeout(() => {\r\n if (this.$myFleet && this.$myFleet.length > 0) {\r\n let slides = this.$myFleet.length / 4;\r\n let myFleet = this.$myFleet;\r\n let start = -4;\r\n let end = 0;\r\n if (slides > Math.round(slides)) {\r\n slides++;\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n }\r\n else {\r\n this.slidesNumber.push(this.$myFleet);\r\n }\r\n if (this.navParams.get(\"searchInput\")) {\r\n this.filter(this.navParams.get(\"searchInput\"), true);\r\n }\r\n this.loading = false;\r\n if (this.$myFleet && this.$myFleet.length === 0) {\r\n this.alert = true;\r\n }\r\n else {\r\n this.message = this.translate.instant(\"select-your-tractor\");\r\n setTimeout(() => {\r\n this.openSidebar = true;\r\n setTimeout(() => {\r\n this.openSidebar = false;\r\n }, 4000);\r\n }, 1000);\r\n }\r\n }, 200, 1);\r\n }\r\n\r\n ngOnInit() {\r\n if (this.pageSlider) {\r\n this.pageSlider.loop = false;\r\n }\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n prevPage() {\r\n this.pageSlider.slidePrev();\r\n }\r\n\r\n nextPage() {\r\n this.pageSlider.slideNext();\r\n }\r\n\r\n setType(planting: boolean, harvest: boolean, standard: boolean) {\r\n this.alert = false;\r\n this.loading = true;\r\n this.plantingButton = planting;\r\n this.harvestButton = harvest;\r\n this.standardButton = standard;\r\n this.refreshFleet();\r\n this.fadeFlag = true;\r\n setTimeout(() => {\r\n this.fadeFlag = false;\r\n }, 1000, 1);\r\n }\r\n\r\n setSpeed(singleTractor) {\r\n \r\n if (singleTractor && singleTractor.machineType === \"Tractor\") {\r\n let frontEquipment = this.translate.instant(singleTractor.frontMountedEquipment);\r\n let rearEquipment = this.translate.instant(singleTractor.rearMountedEquipment);\r\n let rearTypeEquipment = this.translate.instant(singleTractor.rearTypeEquipment);\r\n let speedFront = this.machinesProvider.getSpeed(\"standard\", \"front\", null, this.configurationsProvider.getEnglishNameTool(frontEquipment));\r\n let speedRear = this.machinesProvider.getSpeed(\"standard\", \"rear\", this.configurationsProvider.getEnglishNameTool(rearTypeEquipment), this.configurationsProvider.getEnglishNameTool(rearEquipment));\r\n\r\n if (this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM1000\") ||\r\n this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM150\") ||\r\n this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM1060\")) {\r\n speedRear.speed = \"<65\";\r\n }\r\n if (this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM1000\") ||\r\n this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM150\") ||\r\n this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM1060\")) {\r\n speedFront.speed = \"<65\";\r\n }\r\n // check speed\r\n\r\n if (speedFront.speed == \"rear\") {\r\n speedFront.speed = speedRear.speed;\r\n }\r\n if (speedRear.speed == \"50kmh\") {\r\n speedFront.speed = \"50\";\r\n }\r\n this.configurationsProvider.getSingleTractor().speedFront = speedFront;\r\n this.configurationsProvider.getSingleTractor().speedRear = speedRear;\r\n console.log(\"singleTractor: \", this.configurationsProvider.getSingleTractor());\r\n }\r\n }\r\n\r\n goToTransitionPage(fleet) {\r\n this.pairingProvider.setMyFleet(fleet);\r\n if (fleet && fleet._id) {\r\n this.httpProvider.getTractorById(fleet._id)\r\n .subscribe(result => {\r\n if (result) {\r\n this.loading = false;\r\n let response: any = result;\r\n if (response.data && response.data.tractor) {\r\n this.configurationsProvider.setSingleTractor(response.data.tractor);\r\n this.setSpeed(response.data.tractor);\r\n }\r\n }\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(TransitionPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(TransitionPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n goToSearch() {\r\n this.configurationsProvider.searchPage = \"MyFleetPage\";\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MyFleetSearchPage, { fleet: this.$myFleet });\r\n }\r\n else {\r\n this.navCtrl.setRoot(MyFleetSearchPage, { fleet: this.$myFleet }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n resetSearch() {\r\n this.filter(\"\", false);\r\n }\r\n\r\n refreshFleet() {\r\n this.slidesNumber = [];\r\n if (this.$myFleet && this.$myFleet.length > 0) {\r\n let slides = this.$myFleet.length / 4;\r\n let myFleet = this.$myFleet;\r\n let start = -4;\r\n let end = 0;\r\n if (slides > Math.round(slides)) {\r\n slides++;\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < Math.round(slides); i++) {\r\n start += 4;\r\n end += 4;\r\n let fleets = myFleet.slice(start, end);\r\n this.slidesNumber.push(fleets);\r\n }\r\n }\r\n }\r\n else {\r\n this.slidesNumber.push(this.$myFleet);\r\n }\r\n if (this.$myFleet && this.$myFleet.length === 0) {\r\n this.alert = true;\r\n }\r\n this.loading = false;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/my-fleet/my-fleet.ts","import { Unit } from './../../model/unit';\r\nimport { HttpProvider } from './../http/http';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable, EventEmitter } from '@angular/core';\r\nimport { Platform, AlertController } from 'ionic-angular';\r\nimport { PairingProvider } from '../pairing/pairing';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UnitsProvider } from '../units/units';\r\ndeclare var TPMSManager;\r\n\r\n@Injectable()\r\nexport class TpmsProvider {\r\n\r\n public static readonly DEFAULT_SCAN_TIME = 10;\r\n public frontSuggestedPressure = 1.0;\r\n public rearSuggestedPressure = 1.0;\r\n public minFrontSuggestedPressure = this.frontSuggestedPressure - 0.2;\r\n public maxFrontSuggestedPressure = this.frontSuggestedPressure + 0.2;\r\n public minRearSuggestedPressure = this.rearSuggestedPressure - 0.2;\r\n public maxRearSuggestedPressure = this.rearSuggestedPressure + 0.2;\r\n public urlTractor: string;\r\n private tpms: any;\r\n private devices: any;\r\n private startPromise: any;\r\n private devicePromise: any;\r\n private devicesSelected: any;\r\n\r\n public alertCountGps = 0;\r\n public alertCountBluetooth = 0;\r\n\r\n public get $deviceList(): any[] {\r\n return this.devices ? this.devices : [];\r\n }\r\n\r\n public get $data(): any {\r\n return this.tpms ? this.tpms.getData() : null;\r\n }\r\n\r\n public get $bsdongle(): any {\r\n return this.pairingProvider.myFleet.bsdongle;\r\n }\r\n\r\n public get $myFleet() {\r\n return this.pairingProvider.myFleet;\r\n }\r\n\r\n constructor(public translate: TranslateService, public unitsProvider: UnitsProvider, public http: HttpClient, private platform: Platform, public pairingProvider: PairingProvider, public httpProvider: HttpProvider, private alertCtrl: AlertController) {\r\n this.urlTractor = this.$myFleet.urlTractor;\r\n platform.ready().then(() => {\r\n this.tpms = new TPMSManager();\r\n });\r\n }\r\n\r\n public scan(scanTime: number = TpmsProvider.DEFAULT_SCAN_TIME): EventEmitter {\r\n const eventEmitter = new EventEmitter(true);\r\n this.platform.ready().then(() => {\r\n if (this.tpms) {\r\n try {\r\n this.tpms.scan(scanTime,\r\n (devices, error) => {\r\n if (error) {\r\n eventEmitter.error(JSON.stringify(error));\r\n } else {\r\n this.devices = devices;\r\n eventEmitter.emit();\r\n }\r\n }\r\n );\r\n } catch (e) {\r\n if (this.alertCountBluetooth === 0) {\r\n this.alertCountBluetooth = 1;\r\n let alert = this.alertCtrl.create({\r\n title: this.translate.instant(\"alert\"),\r\n subTitle: this.translate.instant(\"alert-bluetooth\"),\r\n buttons: ['OK']\r\n });\r\n alert.present();\r\n }\r\n eventEmitter.error(\"Can't find bluetooth interface\");\r\n }\r\n } else {\r\n eventEmitter.error(\"Not initialized\");\r\n }\r\n });\r\n return eventEmitter;\r\n }\r\n\r\n public connect(device, callBack): EventEmitter {\r\n const eventEmitter = new EventEmitter(true);\r\n this.platform.ready().then(() => {\r\n if (this.tpms) {\r\n this.tpms.connect(device,\r\n (peripheral) => {\r\n this.tpms.startReading(callBack);\r\n eventEmitter.emit(peripheral);\r\n },\r\n (error) => {\r\n console.log(\"error connect: \", error);\r\n this.connect(device, callBack);\r\n }\r\n );\r\n } else {\r\n eventEmitter.error(\"Not initialized\");\r\n }\r\n });\r\n return eventEmitter;\r\n }\r\n\r\n public disconnect(): EventEmitter {\r\n const eventEmitter = new EventEmitter(true);\r\n this.platform.ready().then(() => {\r\n if (this.tpms) {\r\n if (!this.isConnected()) {\r\n eventEmitter.emit();\r\n } else {\r\n this.tpms.disconnect(() => {\r\n eventEmitter.emit();\r\n }, () => {\r\n eventEmitter.emit();\r\n });\r\n }\r\n } else {\r\n eventEmitter.emit();\r\n }\r\n });\r\n this.startPromise = null;\r\n this.devicePromise = null;\r\n return eventEmitter;\r\n }\r\n\r\n public start(device: any): EventEmitter {\r\n console.log(\"device in start\", device);\r\n if (device) {\r\n this.devicesSelected = device;\r\n }\r\n if (!this.startPromise) {\r\n const eventEmitter = new EventEmitter(true);\r\n this.startScan(eventEmitter);\r\n this.startPromise = eventEmitter;\r\n }\r\n return this.startPromise;\r\n }\r\n\r\n public scanDevices(): EventEmitter {\r\n if (!this.devicePromise) {\r\n const eventEmitter = new EventEmitter(true);\r\n this.getDevices(eventEmitter);\r\n this.devicePromise = eventEmitter;\r\n }\r\n return this.devicePromise;\r\n }\r\n\r\n public checkWheels() {\r\n let wheel_0: number = 0, wheel_1: number = 0, wheel_2: number = 0, wheel_3: number = 0, wheel_4: number = 0, wheel_5: number = 0, wheel_6: number = 0, wheel_7: number = 0;\r\n if (this.$bsdongle[0])\r\n wheel_0 = this.$bsdongle[0].pressure > this.minFrontSuggestedPressure && this.$bsdongle[0].pressure < this.maxFrontSuggestedPressure ? 1 : 0;\r\n if (this.$bsdongle[6])\r\n wheel_6 = this.$bsdongle[6].pressure > this.minFrontSuggestedPressure && this.$bsdongle[6].pressure < this.maxFrontSuggestedPressure ? 1 : 0;\r\n if (this.$bsdongle[1])\r\n wheel_1 = this.$bsdongle[1].pressure > this.minFrontSuggestedPressure && this.$bsdongle[1].pressure < this.maxFrontSuggestedPressure ? 1 : 0;\r\n if (this.$bsdongle[7])\r\n wheel_7 = this.$bsdongle[7].pressure > this.minFrontSuggestedPressure && this.$bsdongle[7].pressure < this.maxFrontSuggestedPressure ? 1 : 0;\r\n if (this.$bsdongle[2])\r\n wheel_2 = this.$bsdongle[2].pressure > this.minRearSuggestedPressure && this.$bsdongle[2].pressure < this.maxRearSuggestedPressure ? 1 : 0;\r\n if (this.$bsdongle[4])\r\n wheel_4 = this.$bsdongle[4].pressure > this.minRearSuggestedPressure && this.$bsdongle[4].pressure < this.maxRearSuggestedPressure ? 1 : 0;\r\n if (this.$bsdongle[3])\r\n wheel_3 = this.$bsdongle[3].pressure > this.minRearSuggestedPressure && this.$bsdongle[3].pressure < this.maxRearSuggestedPressure ? 1 : 0;\r\n if (this.$bsdongle[5])\r\n wheel_5 = this.$bsdongle[5].pressure > this.minRearSuggestedPressure && this.$bsdongle[5].pressure < this.maxRearSuggestedPressure ? 1 : 0;\r\n\r\n\r\n if (this.$myFleet.wheels.length === 4) {\r\n let path = this.$myFleet.urlTractor;\r\n this.urlTractor = path.replace(\"_0_0_0_0.png\", \"_\" + wheel_0 + \"_\" + wheel_1 + \"_\" + wheel_2 + \"_\" + wheel_3 + \".png\");\r\n } else if (this.$myFleet.wheels.length === 6) {\r\n let path = this.$myFleet.urlTractor;\r\n this.urlTractor = path.replace(\"_0_0_0_0_0_0.png\", \"_\" + wheel_0 + \"_\" + wheel_1 + \"_\" + wheel_2 + \"_\" + wheel_3 + \"_\" + wheel_4 + \"_\" + wheel_5 + \".png\");\r\n } else if (this.$myFleet.wheels.length === 8) {\r\n let path = this.$myFleet.urlTractor;\r\n this.urlTractor = path.replace(\"_0_0_0_0_0_0_0_0.png\", \"_\" + wheel_0 + \"_\" + wheel_1 + \"_\" + wheel_2 + \"_\" + wheel_3 + \"_\" + wheel_4 + \"_\" + wheel_5 + \"_\" + wheel_6 + \"_\" + wheel_7 + \".png\");\r\n }\r\n }\r\n\r\n private startScan(eventEmitter) {\r\n this.scan().subscribe(() => {\r\n console.log(\"dev list\", this.$deviceList);\r\n if (this.$deviceList && this.$deviceList.length != 0) {\r\n eventEmitter.emit(\"scan\");\r\n this.connect(this.devicesSelected, (code, data) => {\r\n console.log(\"connesso al dongle\", this.devicesSelected);\r\n eventEmitter.emit({ message: \"pressure\", code: code, data: data });\r\n\r\n this.pairingProvider.setDongleConfiguration(this.$deviceList, data, false);\r\n let index = this.pairingProvider.getIndexByCode(code);\r\n\r\n let updatedItem = this.pairingProvider.getByCode(code);\r\n if (updatedItem) {\r\n updatedItem.newValue = true;\r\n updatedItem.temp = data.temp;\r\n updatedItem.timestamp = data.timestamp;\r\n updatedItem.batt = data.batt;\r\n updatedItem.pressure = this.unitsProvider.getWeight() == Unit.lb ? ((data.press / 1000) * 14.504) : (data.press / 1000);\r\n this.$bsdongle[index] = updatedItem;\r\n }\r\n for (let i = 0; i < 8; i++) {\r\n if (this.$bsdongle[i] && this.$bsdongle[i].code == code) {\r\n this.$bsdongle[i] = updatedItem;\r\n if (this.pairingProvider.savePression)\r\n this.httpProvider.savePression(this.$myFleet.idGateway, this.$myFleet.machineIdentifier, i, this.$bsdongle[i]).subscribe();\r\n }\r\n }\r\n this.checkWheels();\r\n }).subscribe((peripheral) => {\r\n console.log(\"connect done\", peripheral);\r\n eventEmitter.emit(\"connect\");\r\n });\r\n } else {\r\n eventEmitter.error(\"not found\");\r\n setTimeout(() => {\r\n this.startScan(eventEmitter);\r\n }, 1000);\r\n }\r\n }, (error) => {\r\n console.log(error);\r\n setTimeout(() => {\r\n this.startScan(eventEmitter);\r\n }, 1000);\r\n })\r\n }\r\n\r\n private getDevices(eventEmitter) {\r\n console.log(\"scan\");\r\n this.scan().subscribe(() => {\r\n if (this.$deviceList && this.$deviceList.length != 0) {\r\n eventEmitter.emit(\"scan\");\r\n } else {\r\n eventEmitter.error(\"not found\");\r\n setTimeout(() => {\r\n this.getDevices(eventEmitter);\r\n }, 1000);\r\n }\r\n }, (error) => {\r\n console.log(error);\r\n if (this.alertCountGps === 0) {\r\n this.alertCountGps = 1;\r\n let alert = this.alertCtrl.create({\r\n title: this.translate.instant(\"alert\"),\r\n subTitle: this.translate.instant(\"alert-gps\"),\r\n buttons: ['OK']\r\n });\r\n alert.present();\r\n }\r\n setTimeout(() => {\r\n this.getDevices(eventEmitter);\r\n }, 1000);\r\n })\r\n }\r\n\r\n public isScanning(): boolean {\r\n return this.tpms ? this.tpms.isScanning() : false;\r\n }\r\n\r\n public isConnected(): boolean {\r\n return this.tpms ? this.tpms.isConnected() : false;\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/tpms/tpms.ts","import { Unit } from './../../../model/unit';\r\nimport { UnitsProvider } from './../../../providers/units/units';\r\nimport { Component } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NavController, Toast, ToastController } from 'ionic-angular';\r\nimport { LandingPage } from '../../landing/landing';\r\nimport { PairingProvider } from '../../../providers/pairing/pairing';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { TpmsProvider } from '../../../providers/tpms/tpms';\r\nimport { HttpProvider } from '../../../providers/http/http';\r\nimport { ConfigurationsProvider } from '../../../providers/configurations/configurations';\r\n\r\n@Component({\r\n selector: 'page-pressure',\r\n templateUrl: 'pressure.html'\r\n})\r\nexport class PressurePage {\r\n public speedFront: any;\r\n public speedRear: any;\r\n public noteStandard = \"\";\r\n public note = \"\";\r\n public loading: boolean = true;\r\n\r\n openSidebarWarning = false;\r\n success: boolean = false;\r\n message: string = \"\";\r\n intervalBarId: any;\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n toast: Toast;\r\n labelFrontPressure = \"N.A.\";\r\n labelRearPressure = \"N.A.\";\r\n dongleSelected: any;\r\n default = '0.0';\r\n range = 0.2;\r\n\r\n public get $myFleet() {\r\n return this.pairingProvider.myFleet;\r\n }\r\n\r\n public get $bsdongle() {\r\n return this.$myFleet.bsdongle;\r\n }\r\n\r\n public get frontSuggestedPressure() {\r\n return this.tpmsProvider.frontSuggestedPressure;\r\n }\r\n\r\n public get rearSuggestedPressure() {\r\n return this.tpmsProvider.rearSuggestedPressure;\r\n }\r\n\r\n public get minFrontSuggestedPressure() {\r\n return this.tpmsProvider.minFrontSuggestedPressure;\r\n }\r\n\r\n public get maxFrontSuggestedPressure() {\r\n return this.tpmsProvider.maxFrontSuggestedPressure;\r\n }\r\n\r\n public get minRearSuggestedPressure() {\r\n return this.tpmsProvider.minRearSuggestedPressure;\r\n }\r\n\r\n public get maxRearSuggestedPressure() {\r\n return this.tpmsProvider.maxRearSuggestedPressure;\r\n }\r\n\r\n public get urlTractor() {\r\n return this.tpmsProvider.urlTractor;\r\n }\r\n\r\n constructor(public translate: TranslateService, public unitsProvider: UnitsProvider, public configurationsProvider: ConfigurationsProvider, public navCtrl: NavController, public httpProvider: HttpProvider, public pairingProvider: PairingProvider, private tpmsProvider: TpmsProvider, private toastCtrl: ToastController) {\r\n this.$myFleet.pairing = true;\r\n this.$myFleet.color = \"red\";\r\n let name = this.$myFleet.title.toLowerCase();\r\n if (name !== \"case-ih\" && name !== \"claas\" && name !== \"deutz-fahr\" && name !== \"fendt\" && name !== \"goldoni\" && name !== \"jcb\" && name !== \"john deere\" && name !== \"kubota\" && name !== \"lamborghini\" && name !== \"landini\" && name !== \"massey ferguson\" && name !== \"mccormick\" && name !== \"new holland\" && name !== \"other\" && name !== \"same\") {\r\n name = \"other\";\r\n }\r\n if (name.indexOf(\"valtra\") > -1) {\r\n name = 'valtra';\r\n }\r\n if (this.$myFleet.wheels.length == 4) {\r\n this.$myFleet.urlTractor = \"https://tlcapitst.azurewebsites.net/image/\" + name + \"_0_0_0_0.png\";\r\n } else if (this.$myFleet.wheels.length == 6) {\r\n this.$myFleet.urlTractor = \"https://tlcapitst.azurewebsites.net/image/\" + name + \"_0_0_0_0_0_0.png\";\r\n } else if (this.$myFleet.wheels.length == 8) {\r\n this.$myFleet.urlTractor = \"https://tlcapitst.azurewebsites.net/image/\" + name + \"_0_0_0_0_0_0_0_0.png\";\r\n }\r\n\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 2000, 1);\r\n\r\n this.speedFront = this.configurationsProvider.getSingleTractor().speedFront;\r\n this.speedRear = this.configurationsProvider.getSingleTractor().speedRear;\r\n this.noteStandard = (this.speedRear.speed == \"<65\" || this.speedFront.speed == \"<65\") ? \"note_tm_pressure\" : \"note_standard_pressure\";\r\n if (this.noteStandard === \"note_tm_pressure\") {\r\n if (this.translate.currentLang === \"us\") {\r\n this.note = this.translate.instant(\"up_to\") + \" 40 mph\";\r\n }\r\n else {\r\n this.note = this.translate.instant(\"up_to\") + \" 65 km/h\";\r\n }\r\n }\r\n else {\r\n if (this.translate.currentLang === \"us\") {\r\n if (this.speedFront && this.speedFront.speed && this.speedFront.speed === \"50\") {\r\n this.note = this.translate.instant(\"road_speed\") + \" 30 mph\";\r\n }\r\n else if (this.speedFront && this.speedFront.speed && this.speedFront.speed === \"10LT\") {\r\n this.note = this.translate.instant(\"lt_us\");\r\n }\r\n else if (this.speedFront && this.speedFront.speed && this.speedFront.speed === \"10HT\") {\r\n this.note = this.translate.instant(\"ht_us\");\r\n }\r\n }\r\n else {\r\n if (this.speedFront && this.speedFront.speed && this.speedFront.speed === \"50\") {\r\n this.note = this.translate.instant(\"road_speed\") + \" 50 km/h\";\r\n }\r\n else if (this.speedFront && this.speedFront.speed && this.speedFront.speed === \"10LT\") {\r\n this.note = this.translate.instant(\"lt_en\");\r\n }\r\n else if (this.speedFront && this.speedFront.speed && this.speedFront.speed === \"10HT\") {\r\n this.note = this.translate.instant(\"ht_en\");\r\n }\r\n }\r\n }\r\n\r\n if (this.unitsProvider.getWeight() == Unit.lb) {\r\n this.range = 0.2 * 14.504;\r\n }\r\n this.tpmsProvider.frontSuggestedPressure = +this.$myFleet.frontTargetPressure.replace('**', '');\r\n if (this.$myFleet.frontTargetPressure && this.$myFleet.frontTargetPressure != \"N.A.\" && !isNaN(+this.$myFleet.frontTargetPressure)) {\r\n if (this.unitsProvider.getWeight() == Unit.lb && this.tpmsProvider.frontSuggestedPressure < 14) {\r\n // se la suggested era in bar convertiamo in psi\r\n this.tpmsProvider.frontSuggestedPressure = +(this.tpmsProvider.frontSuggestedPressure * 14.504).toFixed(1);\r\n }\r\n this.labelFrontPressure = \"\" + this.tpmsProvider.frontSuggestedPressure;\r\n this.tpmsProvider.minFrontSuggestedPressure = this.tpmsProvider.frontSuggestedPressure - this.range;\r\n this.tpmsProvider.maxFrontSuggestedPressure = this.tpmsProvider.frontSuggestedPressure + this.range;\r\n }\r\n this.tpmsProvider.rearSuggestedPressure = +this.$myFleet.rearTargetPressure.replace('**', '');\r\n if (this.$myFleet.rearTargetPressure && this.$myFleet.rearTargetPressure != \"N.A.\" && !isNaN(+this.$myFleet.rearTargetPressure)) {\r\n if (this.unitsProvider.getWeight() == Unit.lb && this.tpmsProvider.rearSuggestedPressure < 14) {\r\n // se la suggested era in bar convertiamo in psi\r\n this.tpmsProvider.rearSuggestedPressure = +(this.tpmsProvider.rearSuggestedPressure * 14.504).toFixed(1);\r\n }\r\n this.labelRearPressure = \"\" + this.tpmsProvider.rearSuggestedPressure;\r\n this.tpmsProvider.minRearSuggestedPressure = this.tpmsProvider.rearSuggestedPressure - this.range;\r\n this.tpmsProvider.maxRearSuggestedPressure = this.tpmsProvider.rearSuggestedPressure + this.range;\r\n }\r\n this.pairingProvider.savePression = true;\r\n setTimeout(() => {\r\n this.checkPressure();\r\n }, 500, 1);\r\n }\r\n\r\n ngOnInit() {\r\n this.httpProvider.getTractorTires(this.$myFleet.machineIdentifier).subscribe(result => {\r\n if (result[\"status\"] == 'ok') {\r\n let response: any = result;\r\n response.data.Tire.forEach(element => {\r\n this.$bsdongle[element.idTire] = {};\r\n this.$bsdongle[element.idTire].code = element.codiceSensore;\r\n this.$bsdongle[element.idTire].pressure = 0.0;\r\n this.httpProvider.getStoricoPression(this.$myFleet.machineIdentifier, element.idTire).subscribe(resultStorico => {\r\n if (resultStorico[\"status\"] == 'ok') {\r\n let response: any = resultStorico;\r\n if (response.data.sensore && response.data.sensore.length > 0) {\r\n // l'ultimo valore è il più recente\r\n if (this.$bsdongle[response.data.sensore[response.data.sensore.length - 1].tire]) {\r\n this.$bsdongle[response.data.sensore[response.data.sensore.length - 1].tire].pressure = !this.configurationsProvider.getLastPair() ? 0.0 : response.data.sensore[response.data.sensore.length - 1].sensor_press < 0.2 ? 0.0 : response.data.sensore[response.data.sensore.length - 1].sensor_press;\r\n this.$bsdongle[response.data.sensore[response.data.sensore.length - 1].tire].temp = response.data.sensore[response.data.sensore.length - 1].sensor_temp;\r\n this.$bsdongle[response.data.sensore[response.data.sensore.length - 1].tire].timestamp = response.data.sensore[response.data.sensore.length - 1].sensor_timestamp;\r\n this.$bsdongle[response.data.sensore[response.data.sensore.length - 1].tire].batt = response.data.sensore[response.data.sensore.length - 1].sensor_batt;\r\n console.log(\"resultStorico: \", this.$bsdongle);\r\n }\r\n }\r\n }\r\n })\r\n });\r\n this.getSensorValue();\r\n }\r\n\r\n /** \r\n * Per test valori pressure\r\n * - Inserire i valori corretti per ogni ruota in base al target\r\n * - Togliere i commenti */\r\n /*\r\n setInterval(() => {\r\n this.$bsdongle[0].pressure = 0.9;\r\n this.tpmsProvider.checkWheels();\r\n },3000,1);\r\n \r\n setInterval(() => {\r\n this.$bsdongle[1].pressure = 0.9;\r\n this.tpmsProvider.checkWheels();\r\n },6000,1);\r\n \r\n setInterval(() => {\r\n this.$bsdongle[2].pressure = 1.1;\r\n this.tpmsProvider.checkWheels();\r\n },9000,1);\r\n \r\n setInterval(() => {\r\n this.$bsdongle[3].pressure = 1.1;\r\n this.tpmsProvider.checkWheels();\r\n },12000,1); \r\n \r\n setInterval(() => {\r\n if(this.$bsdongle[4] && this.$bsdongle[4].pressure)\r\n this.$bsdongle[4].pressure = 1.1;\r\n this.tpmsProvider.checkWheels();\r\n },15000,1); \r\n \r\n setInterval(() => {\r\n if(this.$bsdongle[5] && this.$bsdongle[5].pressure)\r\n this.$bsdongle[5].pressure = 1.1;\r\n this.tpmsProvider.checkWheels();\r\n },18000,1); \r\n \r\n setInterval(() => {\r\n if(this.$bsdongle[6] && this.$bsdongle[6].pressure)\r\n this.$bsdongle[6].pressure = 0.9;\r\n this.tpmsProvider.checkWheels();\r\n },21000,1); \r\n \r\n setInterval(() => {\r\n if(this.$bsdongle[7] && this.$bsdongle[7].pressure)\r\n this.$bsdongle[7].pressure = 0.9;\r\n this.tpmsProvider.checkWheels();\r\n },24000,1); \r\n\r\n setInterval(() => {\r\n this.$bsdongle[0].pressure = 1.0;\r\n this.$bsdongle[1].pressure = 1.0;\r\n this.$bsdongle[2].pressure = 1.0;\r\n this.$bsdongle[3].pressure = 1.0;\r\n if(this.$bsdongle[4] && this.$bsdongle[4].pressure)\r\n this.$bsdongle[4].pressure = 1.0;\r\n if(this.$bsdongle[5] && this.$bsdongle[5].pressure)\r\n this.$bsdongle[5].pressure = 1.0;\r\n if(this.$bsdongle[6] && this.$bsdongle[6].pressure)\r\n this.$bsdongle[6].pressure = 1.0;\r\n if(this.$bsdongle[7] && this.$bsdongle[7].pressure)\r\n this.$bsdongle[7].pressure = 1.0;\r\n this.tpmsProvider.frontSuggestedPressure = 1.0;\r\n this.tpmsProvider.rearSuggestedPressure = 1.0;\r\n this.tpmsProvider.minRearSuggestedPressure = this.tpmsProvider.rearSuggestedPressure - this.range;\r\n this.tpmsProvider.maxRearSuggestedPressure = this.tpmsProvider.rearSuggestedPressure + this.range;\r\n this.tpmsProvider.minFrontSuggestedPressure = this.tpmsProvider.frontSuggestedPressure - this.range;\r\n this.tpmsProvider.maxFrontSuggestedPressure = this.tpmsProvider.frontSuggestedPressure + this.range;\r\n this.labelFrontPressure = '1';\r\n this.labelRearPressure = '1';\r\n this.tpmsProvider.checkWheels();\r\n },30000,1); */\r\n });\r\n }\r\n\r\n getSensorValue() {\r\n this.tpmsProvider.scanDevices().subscribe(success => {\r\n console.log(\"success scan devices\", success);\r\n if (success === \"scan\") {\r\n setTimeout(() => {\r\n if (this.toast) {\r\n this.toast.dismiss();\r\n }\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-found\"),\r\n duration: 2000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n }, 0)\r\n if (this.$myFleet.idGateway) {\r\n this.tpmsProvider.$deviceList.forEach(device => {\r\n if (device.id === this.$myFleet.idGateway)\r\n this.dongleSelected = device;\r\n });\r\n if (this.dongleSelected) {\r\n console.log(\"start\");\r\n this.tpmsProvider.start(this.dongleSelected).subscribe(success => {\r\n if (success === \"scan\") {\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-connected\"),\r\n duration: 2000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n }\r\n }, error => {\r\n if (error === \"not found\") {\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-not-found\"),\r\n duration: 4000,\r\n position: 'bottom'\r\n });\r\n // this.toast.present();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n if (this.toast) {\r\n this.toast.dismiss();\r\n }\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-not-found\"),\r\n duration: 4000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n }\r\n }, (error) => {\r\n if (error === \"not found\") {\r\n this.toast = this.toastCtrl.create({\r\n message: this.translate.instant(\"bsdongle-not-found\"),\r\n duration: 4000,\r\n position: 'bottom'\r\n });\r\n this.toast.present();\r\n }\r\n });\r\n }\r\n\r\n goToLanding() {\r\n this.navCtrl.push(LandingPage, {}, { animate: true, direction: 'back' });\r\n }\r\n\r\n checkPressure() {\r\n this.message = this.checkSuggestedPressure();\r\n this.openSidebarWarning = true;\r\n setTimeout(() => {\r\n this.openSidebarWarning = false;\r\n }, 4000);\r\n }\r\n\r\n private checkSuggestedPressure() {\r\n // |6|0| --- |1|7|\r\n // -------\r\n // |4|-|2|---|3|-|5|\r\n this.success = false;\r\n if (this.$myFleet.wheels.length === 4) {\r\n if (this.$bsdongle[0] && this.$bsdongle[1] && this.$bsdongle[2] && this.$bsdongle[3]) {\r\n this.success = this.$bsdongle[0].pressure >= this.minFrontSuggestedPressure && this.$bsdongle[0].pressure <= this.maxFrontSuggestedPressure\r\n && this.$bsdongle[1].pressure >= this.minFrontSuggestedPressure && this.$bsdongle[1].pressure <= this.maxFrontSuggestedPressure\r\n && this.$bsdongle[2].pressure >= this.minRearSuggestedPressure && this.$bsdongle[2].pressure <= this.maxRearSuggestedPressure\r\n && this.$bsdongle[3].pressure >= this.minRearSuggestedPressure && this.$bsdongle[3].pressure <= this.maxRearSuggestedPressure;\r\n }\r\n }\r\n else if (this.$myFleet.wheels.length === 6) {\r\n if (this.$bsdongle[0] && this.$bsdongle[1] && this.$bsdongle[2] && this.$bsdongle[3]) {\r\n this.success = this.$bsdongle[0].pressure >= this.minFrontSuggestedPressure && this.$bsdongle[0].pressure <= this.maxFrontSuggestedPressure\r\n && this.$bsdongle[1].pressure >= this.minFrontSuggestedPressure && this.$bsdongle[1].pressure <= this.maxFrontSuggestedPressure\r\n && this.$bsdongle[2].pressure >= this.minRearSuggestedPressure && this.$bsdongle[2].pressure <= this.maxRearSuggestedPressure\r\n && this.$bsdongle[3].pressure >= this.minRearSuggestedPressure && this.$bsdongle[3].pressure <= this.maxRearSuggestedPressure\r\n && this.$bsdongle[4].pressure >= this.minRearSuggestedPressure && this.$bsdongle[4].pressure <= this.maxRearSuggestedPressure\r\n && this.$bsdongle[5].pressure >= this.minRearSuggestedPressure && this.$bsdongle[5].pressure <= this.maxRearSuggestedPressure;\r\n }\r\n }\r\n else if (this.$myFleet.wheels.length === 8) {\r\n if (this.$bsdongle[0] && this.$bsdongle[1] && this.$bsdongle[2] && this.$bsdongle[3]) {\r\n this.success = this.$bsdongle[0].pressure >= this.minFrontSuggestedPressure && this.$bsdongle[0].pressure <= this.maxFrontSuggestedPressure\r\n && this.$bsdongle[1].pressure >= this.minFrontSuggestedPressure && this.$bsdongle[1].pressure <= this.maxFrontSuggestedPressure\r\n && this.$bsdongle[2].pressure >= this.minRearSuggestedPressure && this.$bsdongle[2].pressure <= this.maxRearSuggestedPressure\r\n && this.$bsdongle[3].pressure >= this.minRearSuggestedPressure && this.$bsdongle[3].pressure <= this.maxRearSuggestedPressure\r\n && this.$bsdongle[4].pressure >= this.minRearSuggestedPressure && this.$bsdongle[4].pressure <= this.maxRearSuggestedPressure\r\n && this.$bsdongle[5].pressure >= this.minRearSuggestedPressure && this.$bsdongle[5].pressure <= this.maxRearSuggestedPressure\r\n && this.$bsdongle[6].pressure >= this.minFrontSuggestedPressure && this.$bsdongle[6].pressure <= this.maxFrontSuggestedPressure\r\n && this.$bsdongle[7].pressure >= this.minFrontSuggestedPressure && this.$bsdongle[7].pressure <= this.maxFrontSuggestedPressure;\r\n }\r\n }\r\n let message = \"\";\r\n if (this.success) {\r\n this.$myFleet.color = \"green\";\r\n message = \"all-tyre-configured\";\r\n }\r\n else {\r\n this.$myFleet.color = \"red\";\r\n let paired = this.translate.instant(\"error-tyre\");\r\n let tyre = this.getTyreTranslated();\r\n if (tyre === \"all-tyre-error\") {\r\n message = tyre;\r\n }\r\n else {\r\n message = paired.replace(\"-\", tyre);\r\n }\r\n }\r\n this.tpmsProvider.checkWheels();\r\n let pairing = this.$myFleet.pairing ? \"YES\" : \"NO\";\r\n this.httpProvider.saveCheckPressure(pairing, this.$myFleet.color, this.$myFleet._id)\r\n .subscribe(result => {\r\n if (result) {\r\n console.log(\"saveCheckPressure: \", result);\r\n }\r\n }, (err) => {\r\n console.log(\"err: \", err);\r\n });\r\n return this.translate.instant(message);\r\n }\r\n\r\n getTyreTranslated(): string {\r\n let tyre = \"\";\r\n if (this.$myFleet.wheels && this.$myFleet.wheels.length === 4) {\r\n // |6|0| --- |1|7|\r\n // -------\r\n // |4|-|2|---|3|-|5|\r\n if ((this.$bsdongle[0] && this.$bsdongle[0].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[0] && this.$bsdongle[0].pressure >= this.maxFrontSuggestedPressure)\r\n && (this.$bsdongle[1] && this.$bsdongle[1].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[1] && this.$bsdongle[1].pressure >= this.maxFrontSuggestedPressure)\r\n && (this.$bsdongle[2] && this.$bsdongle[2].pressure <= this.minRearSuggestedPressure || this.$bsdongle[2] && this.$bsdongle[2].pressure >= this.maxRearSuggestedPressure)\r\n && (this.$bsdongle[3] && this.$bsdongle[3].pressure <= this.minRearSuggestedPressure || this.$bsdongle[3] && this.$bsdongle[3].pressure >= this.maxRearSuggestedPressure)) {\r\n tyre = \"all-tyre-error\";\r\n }\r\n else if (this.$bsdongle[0] && this.$bsdongle[0].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[0] && this.$bsdongle[0].pressure >= this.maxFrontSuggestedPressure) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (this.$bsdongle[1] && this.$bsdongle[1].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[1] && this.$bsdongle[1].pressure >= this.maxFrontSuggestedPressure) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (this.$bsdongle[2] && this.$bsdongle[2].pressure <= this.minRearSuggestedPressure || this.$bsdongle[2] && this.$bsdongle[2].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-left\");\r\n }\r\n else if (this.$bsdongle[3] && this.$bsdongle[3].pressure <= this.minRearSuggestedPressure || this.$bsdongle[3] && this.$bsdongle[3].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n }\r\n else if (this.$myFleet.wheels && this.$myFleet.wheels.length === 6) {\r\n if ((this.$bsdongle[0] && this.$bsdongle[0].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[0] && this.$bsdongle[0].pressure >= this.maxFrontSuggestedPressure)\r\n && (this.$bsdongle[1] && this.$bsdongle[1].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[1] && this.$bsdongle[1].pressure >= this.maxFrontSuggestedPressure)\r\n && (this.$bsdongle[2] && this.$bsdongle[2].pressure <= this.minRearSuggestedPressure || this.$bsdongle[2] && this.$bsdongle[2].pressure >= this.maxRearSuggestedPressure)\r\n && (this.$bsdongle[3] && this.$bsdongle[3].pressure <= this.minRearSuggestedPressure || this.$bsdongle[3] && this.$bsdongle[3].pressure >= this.maxRearSuggestedPressure)\r\n && (this.$bsdongle[4] && this.$bsdongle[4].pressure <= this.minRearSuggestedPressure || this.$bsdongle[4] && this.$bsdongle[4].pressure >= this.maxRearSuggestedPressure)\r\n && (this.$bsdongle[5] && this.$bsdongle[5].pressure <= this.minRearSuggestedPressure || this.$bsdongle[5] && this.$bsdongle[5].pressure >= this.maxRearSuggestedPressure)) {\r\n tyre = \"all-tyre-error\";\r\n }\r\n else if (this.$bsdongle[0] && this.$bsdongle[0].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[0] && this.$bsdongle[0].pressure >= this.maxFrontSuggestedPressure) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (this.$bsdongle[1] && this.$bsdongle[1].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[1] && this.$bsdongle[1].pressure >= this.maxFrontSuggestedPressure) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (this.$bsdongle[2] && this.$bsdongle[2].pressure <= this.minRearSuggestedPressure || this.$bsdongle[2] && this.$bsdongle[2].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-left\");\r\n }\r\n else if (this.$bsdongle[3] && this.$bsdongle[3].pressure <= this.minRearSuggestedPressure || this.$bsdongle[3] && this.$bsdongle[3].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n else if (this.$bsdongle[4] && this.$bsdongle[4].pressure <= this.minRearSuggestedPressure || this.$bsdongle[4] && this.$bsdongle[4].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n else if (this.$bsdongle[5] && this.$bsdongle[5].pressure <= this.minRearSuggestedPressure || this.$bsdongle[5] && this.$bsdongle[5].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n }\r\n else if (this.$myFleet.wheels && this.$myFleet.wheels.length === 8) {\r\n if ((this.$bsdongle[0] && this.$bsdongle[0].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[0] && this.$bsdongle[0].pressure >= this.maxFrontSuggestedPressure)\r\n && (this.$bsdongle[1] && this.$bsdongle[1].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[1] && this.$bsdongle[1].pressure >= this.maxFrontSuggestedPressure)\r\n && (this.$bsdongle[2] && this.$bsdongle[2].pressure <= this.minRearSuggestedPressure || this.$bsdongle[2] && this.$bsdongle[2].pressure >= this.maxRearSuggestedPressure)\r\n && (this.$bsdongle[3] && this.$bsdongle[3].pressure <= this.minRearSuggestedPressure || this.$bsdongle[3] && this.$bsdongle[3].pressure >= this.maxRearSuggestedPressure)\r\n && (this.$bsdongle[4] && this.$bsdongle[4].pressure <= this.minRearSuggestedPressure || this.$bsdongle[4] && this.$bsdongle[4].pressure >= this.maxRearSuggestedPressure)\r\n && (this.$bsdongle[5] && this.$bsdongle[5].pressure <= this.minRearSuggestedPressure || this.$bsdongle[5] && this.$bsdongle[5].pressure >= this.maxRearSuggestedPressure)\r\n && (this.$bsdongle[6] && this.$bsdongle[6].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[6] && this.$bsdongle[6].pressure >= this.maxFrontSuggestedPressure)\r\n && (this.$bsdongle[7] && this.$bsdongle[7].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[7] && this.$bsdongle[7].pressure >= this.maxFrontSuggestedPressure)) {\r\n tyre = \"all-tyre-error\";\r\n }\r\n else if (this.$bsdongle[0] && this.$bsdongle[0].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[0] && this.$bsdongle[0].pressure >= this.maxFrontSuggestedPressure) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (this.$bsdongle[1] && this.$bsdongle[1].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[1] && this.$bsdongle[1].pressure >= this.maxFrontSuggestedPressure) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (this.$bsdongle[2] && this.$bsdongle[2].pressure <= this.minRearSuggestedPressure || this.$bsdongle[2] && this.$bsdongle[2].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-left\");\r\n }\r\n else if (this.$bsdongle[3] && this.$bsdongle[3].pressure <= this.minRearSuggestedPressure || this.$bsdongle[3] && this.$bsdongle[3].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n else if (this.$bsdongle[4] && this.$bsdongle[4].pressure <= this.minRearSuggestedPressure || this.$bsdongle[4] && this.$bsdongle[4].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"front-tyre-left\");\r\n }\r\n else if (this.$bsdongle[5] && this.$bsdongle[5].pressure <= this.minRearSuggestedPressure || this.$bsdongle[5] && this.$bsdongle[5].pressure >= this.maxRearSuggestedPressure) {\r\n tyre = this.translate.instant(\"front-tyre-right\");\r\n }\r\n else if (this.$bsdongle[6] && this.$bsdongle[6].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[6] && this.$bsdongle[6].pressure >= this.maxFrontSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-left\");\r\n }\r\n else if (this.$bsdongle[7] && this.$bsdongle[7].pressure <= this.minFrontSuggestedPressure || this.$bsdongle[7] && this.$bsdongle[7].pressure >= this.maxFrontSuggestedPressure) {\r\n tyre = this.translate.instant(\"rear-tyre-right\");\r\n }\r\n }\r\n return tyre;\r\n }\r\n\r\n allValueNew() {\r\n this.$bsdongle.codes.forEach(element => {\r\n if (!element.newValue)\r\n return false;\r\n });\r\n return true;\r\n }\r\n\r\n frontTyreKO(position: string) {\r\n let i = position == \"left\" ? 0 : 1;\r\n let j = position == \"left\" ? 6 : 7;\r\n // |6|0| --- |1|7|\r\n // -------\r\n // |4|-|2|---|3|-|5|\r\n if (this.$bsdongle[6]) {\r\n //ci sono più di 6 ruote\r\n return (this.$bsdongle[i] && this.$bsdongle[i].pressure <= this.minFrontSuggestedPressure\r\n || this.$bsdongle[i] && this.$bsdongle[i].pressure >= this.maxFrontSuggestedPressure) ||\r\n (this.$bsdongle[j] && this.$bsdongle[j].pressure <= this.minFrontSuggestedPressure\r\n || this.$bsdongle[j] && this.$bsdongle[j].pressure >= this.maxFrontSuggestedPressure);\r\n } else {\r\n // solo 4 ruote\r\n return (this.$bsdongle[i] && this.$bsdongle[i].pressure <= this.minFrontSuggestedPressure\r\n || this.$bsdongle[i] && this.$bsdongle[i].pressure >= this.maxFrontSuggestedPressure)\r\n }\r\n }\r\n\r\n rearTyreKO(position: string) {\r\n let i = position == \"left\" ? 2 : 3;\r\n let j = position == \"left\" ? 4 : 5;\r\n // |6|0| --- |1|7|\r\n // -------\r\n // |4|-|2|---|3|-|5|\r\n if (this.$bsdongle[4]) {\r\n //ci sono più di 6 ruote\r\n return (this.$bsdongle[i] && this.$bsdongle[i].pressure <= this.minRearSuggestedPressure\r\n || this.$bsdongle[i] && this.$bsdongle[i].pressure >= this.maxRearSuggestedPressure) ||\r\n (this.$bsdongle[j] && this.$bsdongle[j].pressure <= this.minRearSuggestedPressure\r\n || this.$bsdongle[j] && this.$bsdongle[j].pressure >= this.maxRearSuggestedPressure);\r\n } else {\r\n // solo 4 o 6 ruote\r\n return (this.$bsdongle[i] && this.$bsdongle[i].pressure <= this.minRearSuggestedPressure\r\n || this.$bsdongle[i] && this.$bsdongle[i].pressure >= this.maxRearSuggestedPressure)\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n clearInterval(this.intervalBarId);\r\n clearInterval(this.pairingProvider.interval);\r\n this.checkSuggestedPressure();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/pressure/pressure.ts","import { Component, OnInit, ElementRef } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { Machine } from '../../../../model/machine';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MachinesProvider } from '../../../../providers/machines/machines';\r\nimport { CalculationsProvider } from '../../../../providers/calculations/calculations';\r\nimport { ConfigurationsProvider } from '../../../../providers/configurations/configurations';\r\nimport { UnitsProvider } from '../../../../providers/units/units';\r\nimport { Unit } from '../../../../model/unit';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { ConfigurationTirePage } from '../configuration-tire/configuration-tire';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-configuration-plus',\r\n templateUrl: 'configuration-plus.html',\r\n})\r\nexport class ConfigurationPlusPage implements OnInit {\r\n\r\n private static readonly RCAR_SPRAYER_KG: number = 1500;\r\n private static readonly RCAR_KG: number = 3000;\r\n private static readonly RCAR_SPRAYER_LB: number = 3308;\r\n private static readonly RCAR_LB: number = 6615;\r\n\r\n public loading: boolean = false;\r\n\r\n type: string;\r\n label: string;\r\n machine: Machine;\r\n machineType: string = \"\";\r\n machineId: string = \"\";\r\n disableSave = [];\r\n showInfo = [];\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public statusBar: StatusBar, public navParams: NavParams, public translate: TranslateService, public machinesProvider: MachinesProvider, public calculationsProvider: CalculationsProvider, public configurationsProvider: ConfigurationsProvider, public unitsProvider: UnitsProvider, private nativePageTransitions: NativePageTransitions, private keyboard: Keyboard, private elRef: ElementRef) {\r\n this.type = navParams.get(\"type\");\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.hide();\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.show();\r\n let marginKeyboard = this.elRef.nativeElement.querySelector('ion-content.margin-keyboard');\r\n if (marginKeyboard) {\r\n marginKeyboard.classList.remove(\"margin-keyboard\");\r\n }\r\n let scrollContent = this.elRef.nativeElement.querySelector('div.scroll-content');\r\n if (scrollContent) {\r\n scrollContent.style.marginBottom = \"8rem\";\r\n }\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n if (configurationsProvider.getNewMachineType() === \"Tractor\") {\r\n this.machineType = \"tractor\";\r\n }\r\n else {\r\n this.machineType = \"other-machine\";\r\n }\r\n if (this.type == 'front') {\r\n this.label = \"24\";\r\n } else if (this.type == 'rear') {\r\n this.label = \"25\";\r\n } else {\r\n this.label = \"166\";\r\n }\r\n this.machine = navParams.get(\"machine\");\r\n let singleTractor = this.configurationsProvider.getSingleTractor();\r\n if (this.configurationsProvider.getStatus() === \"new\") {\r\n this.machineId = \"\";\r\n }\r\n else {\r\n if (singleTractor) {\r\n this.machineId = singleTractor[\"machineIdentifier\"];\r\n }\r\n }\r\n if (this.configurationsProvider.getStorage('machineId')) {\r\n this.machineId = this.configurationsProvider.getStorage('machineId');\r\n }\r\n this.configurationsProvider.setMachineIdentifier(this.machineId);\r\n this.configurationsProvider.setStorage('machineId', this.machineId);\r\n this.machinesProvider.convertMachine(this.machine);\r\n }\r\n\r\n ngOnInit() {\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 500, 1);\r\n if (this.machine.type == \"Arem\") {\r\n for (let i = 0; i < this.machine.champs.length; i++) {\r\n if (this.machine.champs[i].id == \"15\") {\r\n let unit = this.unitsProvider.getWeight();\r\n if (this.machine.id == \"33\") {\r\n if (unit == Unit.kg) {\r\n if (!this.machine.champs[i].value) {\r\n this.machine.champs[i].value = ConfigurationPlusPage.RCAR_SPRAYER_KG;\r\n }\r\n } else {\r\n if (!this.machine.champs[i].value) {\r\n this.machine.champs[i].value = ConfigurationPlusPage.RCAR_SPRAYER_LB;\r\n }\r\n }\r\n } else {\r\n if (unit == Unit.kg) {\r\n if (this.machine.champs[i].value != ConfigurationPlusPage.RCAR_KG) {\r\n this.machine.champs[i].value = ConfigurationPlusPage.RCAR_KG;\r\n }\r\n } else {\r\n if (this.machine.champs[i].value != ConfigurationPlusPage.RCAR_LB) {\r\n this.machine.champs[i].value = ConfigurationPlusPage.RCAR_LB;\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n if (this.configurationsProvider.getStatus() === \"edit\") {\r\n if (this.machine && this.machine.champs) {\r\n let singleTractor = this.configurationsProvider.getSingleTractor();\r\n for (let i = 0; i < this.machine.champs.length; i++) {\r\n if (singleTractor) {\r\n if (i === 0) this.machine.champs[i].value = this.configurationsProvider.getStorage(this.machine.champs[i].nome) !== \"\" ? this.configurationsProvider.getStorage(this.machine.champs[i].nome) : singleTractor[\"hp\"];\r\n else if (i === 1) this.machine.champs[i].value = this.configurationsProvider.getStorage(this.machine.champs[i].nome) !== \"\" ? +this.configurationsProvider.getStorage(this.machine.champs[i].nome) : singleTractor[\"rearWeight\"];\r\n else if (i === 2) this.machine.champs[i].value = this.configurationsProvider.getStorage(this.machine.champs[i].nome) !== \"\" ? +this.configurationsProvider.getStorage(this.machine.champs[i].nome) : singleTractor[\"frontWeight\"];\r\n else if (i === 3) this.machine.champs[i].value = this.configurationsProvider.getStorage(this.machine.champs[i].nome) !== \"\" ? +this.configurationsProvider.getStorage(this.machine.champs[i].nome) : singleTractor[\"rearWellBallast\"];\r\n else if (i === 4) this.machine.champs[i].value = this.configurationsProvider.getStorage(this.machine.champs[i].nome) !== \"\" ? +this.configurationsProvider.getStorage(this.machine.champs[i].nome) : singleTractor[\"frontWellBallast\"];\r\n else if (i === 5) this.machine.champs[i].value = this.configurationsProvider.getStorage(this.machine.champs[i].nome) !== \"\" ? +this.configurationsProvider.getStorage(this.machine.champs[i].nome) : singleTractor[\"wheelbase\"];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (this.machine && this.machine.champs) {\r\n for (let i = 0; i < this.machine.champs.length; i++) {\r\n this.machine.champs[i].value = this.configurationsProvider.getStorage(this.machine.champs[i].nome) !== \"\" ? +this.configurationsProvider.getStorage(this.machine.champs[i].nome) : null;\r\n }\r\n if (!this.machine.champs[0].value && this.type === \"tractor\") {\r\n this.machine.champs[0].value = this.configurationsProvider.getHp();\r\n }\r\n if (!this.machine.champs[5].value && this.type === \"tractor\") {\r\n this.machine.champs[5].value = this.configurationsProvider.getWheelbase() / 1000 > 0 ? +(this.configurationsProvider.getWheelbase() / 1000).toFixed(1) : null;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n setMachineId() {\r\n this.configurationsProvider.setMachineIdentifier(this.machineId);\r\n this.configurationsProvider.setStorage('machineId', this.machineId);\r\n }\r\n\r\n save() {\r\n let machine: Machine = this.machine;\r\n if (this.type == 'tractor') {\r\n this.machinesProvider.tractor = machine;\r\n } else if (this.type == 'front') {\r\n this.machinesProvider.setFront(machine);\r\n } else if (this.type == 'rear') {\r\n this.machinesProvider.setRear(machine);\r\n }\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.push(ConfigurationTirePage, {\r\n newMachine: this.navParams.get(\"newMachineFromTire\") ? this.navParams.get(\"newMachineFromTire\") : this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\"),\r\n });\r\n }\r\n else {\r\n this.navCtrl.push(ConfigurationTirePage, {\r\n newMachine: this.navParams.get(\"newMachineFromTire\") ? this.navParams.get(\"newMachineFromTire\") : this.navParams.get(\"newMachine\"),\r\n selectedFleet: this.navParams.get(\"selectedFleet\"),\r\n }, { animate: true, direction: 'back' });\r\n }\r\n }\r\n\r\n noneInserted(): boolean {\r\n if (this.machine) {\r\n for (let champ of this.machine.champs) {\r\n if (!champ.value) {\r\n if (champ.value === 0) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n if (this.unitsProvider.getWeight() == Unit.kg) {\r\n if (champ.value > 10000) {\r\n return true;\r\n }\r\n }\r\n else if (this.unitsProvider.getWeight() == Unit.lb) {\r\n if (champ.value > 22000) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n catchDisableSave(event, i) {\r\n this.disableSave[i] = event;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/configuration/configuration-plus/configuration-plus.ts","import { Component, OnInit, ElementRef } from '@angular/core';\r\nimport { NavController, NavParams, Platform } from 'ionic-angular';\r\nimport { Machine } from '../../../../model/machine';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MachinesProvider } from '../../../../providers/machines/machines';\r\nimport { CalculationsProvider } from '../../../../providers/calculations/calculations';\r\nimport { ConfigurationsProvider } from '../../../../providers/configurations/configurations';\r\nimport { UnitsProvider } from '../../../../providers/units/units';\r\nimport { HttpProvider } from '../../../../providers/http/http';\r\nimport { SIDEBAR_POSITION } from 'ng2-sidebar';\r\nimport { NativePageTransitions } from '@ionic-native/native-page-transitions';\r\nimport { Unit } from '../../../../model/unit';\r\nimport { ConfigurationResultsPage } from '../configuration-results/configuration-results';\r\nimport { Keyboard } from '@ionic-native/keyboard';\r\nimport { MachineListPage } from '../../machine-list/machine-list';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\n\r\n@Component({\r\n selector: 'page-configuration-tool',\r\n templateUrl: 'configuration-tool.html',\r\n})\r\nexport class ConfigurationToolPage implements OnInit {\r\n\r\n private static readonly RCAR_SPRAYER_KG: number = 1500;\r\n private static readonly RCAR_KG: number = 3000;\r\n private static readonly RCAR_SPRAYER_LB: number = 3308;\r\n private static readonly RCAR_LB: number = 6615;\r\n\r\n openSidebar: boolean = false;\r\n POSITIONS = [SIDEBAR_POSITION.Left, SIDEBAR_POSITION.Right, SIDEBAR_POSITION.Top, SIDEBAR_POSITION.Bottom];\r\n\r\n type: string;\r\n machine = [];\r\n disableSaveRear = [];\r\n disableSaveFront = [];\r\n tractorImagePath: string;\r\n public disabledButton: boolean = false;\r\n public loading: boolean = false;\r\n public frontEquipment: string = \"\";\r\n public rearEquipment: string = \"\";\r\n public rearTypeEquipment: string = \"\";\r\n public label: string = \"\";\r\n public labelType: string = \"\";\r\n public selectedLabel = [];\r\n public list = [];\r\n public singleTractor: any;\r\n public frontTargetPressure: number;\r\n public rearTargetPressure: number;\r\n public status: string;\r\n\r\n constructor(public platform: Platform, public navCtrl: NavController, public statusBar: StatusBar, public navParams: NavParams, public httpProvider: HttpProvider, public translate: TranslateService, public machinesProvider: MachinesProvider, public calculationsProvider: CalculationsProvider, public configurationsProvider: ConfigurationsProvider, public unitsProvider: UnitsProvider, private nativePageTransitions: NativePageTransitions, private keyboard: Keyboard, private elRef: ElementRef) {\r\n this.status = this.configurationsProvider.getStatus();\r\n this.platform.ready().then(() => {\r\n Observable.fromEvent(window, 'keyboardWillShow').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.hide();\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.add(\"hide-keyboard\");\r\n }\r\n });\r\n Observable.fromEvent(window, 'keyboardWillHide').subscribe(() => {\r\n if (this.platform.is(\"ios\")) {\r\n this.statusBar.show();\r\n let marginKeyboard = this.elRef.nativeElement.querySelector('ion-content.margin-keyboard');\r\n if (marginKeyboard) {\r\n marginKeyboard.classList.remove(\"margin-keyboard\");\r\n }\r\n let scrollContent = this.elRef.nativeElement.querySelector('div.scroll-content');\r\n if (scrollContent) {\r\n scrollContent.style.marginBottom = \"8rem\";\r\n }\r\n }\r\n let ionFooter = this.elRef.nativeElement.querySelector('ion-footer');\r\n if (ionFooter) {\r\n ionFooter.classList.remove(\"hide-keyboard\");\r\n }\r\n });\r\n });\r\n this.selectedLabel = this.configurationsProvider.getMountedSelectionPlus();\r\n this.tractorImagePath = MachinesProvider.GOLD_IMAGE_PATH + \"tractor_nn.svg\";\r\n }\r\n\r\n ngOnInit() {\r\n let singleTractor = this.configurationsProvider.getSingleTractor();\r\n this.singleTractor = singleTractor;\r\n if (singleTractor && this.status === \"edit\") {\r\n if (singleTractor.frontMountedEquipment || singleTractor.rearMountedEquipment) {\r\n if (singleTractor.frontMountedEquipment) {\r\n this.selectedLabel[\"tool_type_front\"] = this.configurationsProvider.getStorage(\"tool_type_front\") !== \"\" ? this.translate.instant(this.configurationsProvider.getStorage(\"tool_type_front\")) : this.translate.instant(singleTractor.frontMountedEquipment);\r\n }\r\n if (singleTractor.rearMountedEquipment) {\r\n this.selectedLabel[\"tool_type_rear\"] = this.configurationsProvider.getStorage(\"tool_type_rear\") !== \"\" ? this.translate.instant(this.configurationsProvider.getStorage(\"tool_type_rear\")) : this.translate.instant(singleTractor.rearMountedEquipment);\r\n }\r\n if (singleTractor.rearTypeEquipment) {\r\n this.selectedLabel[\"tool_type_rear_equipment\"] = this.configurationsProvider.getStorage(\"tool_type_rear_equipment\") !== \"\" ? this.translate.instant(this.configurationsProvider.getStorage(\"tool_type_rear_equipment\")) : this.translate.instant(singleTractor.rearTypeEquipment);\r\n }\r\n if (singleTractor.frontTargetPressure) {\r\n this.frontTargetPressure = this.configurationsProvider.getStorage(\"frontTargetPressure\") !== \"\" ? JSON.parse(this.configurationsProvider.getStorage(\"frontTargetPressure\")) : singleTractor.frontTargetPressure;\r\n }\r\n if (singleTractor.rearTargetPressure) {\r\n this.rearTargetPressure = this.configurationsProvider.getStorage(\"rearTargetPressure\") !== \"\" ? JSON.parse(this.configurationsProvider.getStorage(\"rearTargetPressure\")) : singleTractor.rearTargetPressure;\r\n }\r\n this.list[\"tool_type_front\"] = this.machinesProvider.getFrontList().items;\r\n if (this.list && this.list[\"tool_type_front\"]) {\r\n this.labelType = \"tool_type_front\";\r\n for (let val of this.list[\"tool_type_front\"]) {\r\n if (this.translate.instant(val.label) === this.selectedLabel[\"tool_type_front\"]) {\r\n this.setChoose(val.label);\r\n break;\r\n }\r\n }\r\n }\r\n this.list[\"tool_type_rear_equipment\"] = this.machinesProvider.getRearList().items;\r\n if (this.list && this.list[\"tool_type_rear_equipment\"]) {\r\n this.labelType = \"tool_type_rear_equipment\";\r\n for (let val of this.list[\"tool_type_rear_equipment\"]) {\r\n if (this.translate.instant(val.label) === this.selectedLabel[\"tool_type_rear_equipment\"]) {\r\n this.setChoose(val.label);\r\n let items = val.items;\r\n this.labelType = \"tool_type_rear\";\r\n for (let item of items) {\r\n if (this.translate.instant(item.label) === this.selectedLabel[\"tool_type_rear\"]) {\r\n this.machine[\"tool_type_rear\"] = item.machine;\r\n this.rearEquipment = this.selectedLabel[\"tool_type_rear\"];\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n if (this.machine && this.machine[\"tool_type_front\"] && this.machine[\"tool_type_front\"].champs) {\r\n if (this.machine[\"tool_type_front\"].champs[0])\r\n this.machine[\"tool_type_front\"].champs[0].value = singleTractor.frontToolWeight;\r\n if (this.machine[\"tool_type_front\"].champs.length > 2) {\r\n this.machine[\"tool_type_front\"].champs[1].value = singleTractor.frontContentWeight;\r\n this.machine[\"tool_type_front\"].champs[2].value = singleTractor.frontDistance;\r\n }\r\n else if (this.machine[\"tool_type_front\"].champs.length === 2) {\r\n this.machine[\"tool_type_front\"].champs[1].value = singleTractor.frontDistance;\r\n }\r\n }\r\n if (this.machine && this.machine[\"tool_type_rear\"] && this.machine[\"tool_type_rear\"].champs) {\r\n if (this.machine[\"tool_type_rear\"].champs[0])\r\n this.machine[\"tool_type_rear\"].champs[0].value = singleTractor.rearToolWeight;\r\n if (this.machine[\"tool_type_rear\"].champs.length > 2) {\r\n this.machine[\"tool_type_rear\"].champs[1].value = singleTractor.rearContentWeight;\r\n this.machine[\"tool_type_rear\"].champs[2].value = singleTractor.rearDistance;\r\n }\r\n else if (this.machine[\"tool_type_rear\"].champs.length === 2) {\r\n this.machine[\"tool_type_rear\"].champs[1].value = singleTractor.rearDistance;\r\n }\r\n this.convertMachine(this.machine[\"tool_type_rear\"]);\r\n }\r\n }\r\n }\r\n else {\r\n this.selectedLabel = [];\r\n if (this.configurationsProvider.getStorage(\"tool_type_front\") !== \"\") {\r\n this.frontEquipment = this.translate.instant(this.configurationsProvider.getStorage(\"tool_type_front\"));\r\n }\r\n if (this.configurationsProvider.getStorage(\"tool_type_rear_equipment\") !== \"\") {\r\n this.rearTypeEquipment = this.translate.instant(this.configurationsProvider.getStorage(\"tool_type_rear_equipment\"));\r\n }\r\n if (this.configurationsProvider.getStorage(\"tool_type_rear\") !== \"\") {\r\n this.rearEquipment = this.translate.instant(this.configurationsProvider.getStorage(\"tool_type_rear\"));\r\n }\r\n if (this.singleTractor && this.singleTractor.machineType !== 'Tractor' && this.configurationsProvider.getStorage(\"frontTargetPressure\") !== \"\") {\r\n this.frontTargetPressure = JSON.parse(this.configurationsProvider.getStorage(\"frontTargetPressure\"));\r\n }\r\n if (this.singleTractor && this.singleTractor.machineType !== 'Tractor' && this.configurationsProvider.getStorage(\"rearTargetPressure\") !== \"\") {\r\n this.rearTargetPressure = JSON.parse(this.configurationsProvider.getStorage(\"rearTargetPressure\"));\r\n }\r\n }\r\n }\r\n\r\n close() {\r\n this.openSidebar = false;\r\n }\r\n\r\n hideKeyboard() {\r\n this.keyboard.hide();\r\n }\r\n\r\n keyboardVisible(): boolean {\r\n if (this.keyboard.isVisible) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n setStorage(type: string) {\r\n if (type === \"front\") {\r\n this.configurationsProvider.setStorage(\"frontTargetPressure\", JSON.stringify(this.frontTargetPressure));\r\n }\r\n else {\r\n this.configurationsProvider.setStorage(\"rearTargetPressure\", JSON.stringify(this.rearTargetPressure));\r\n }\r\n }\r\n\r\n save() {\r\n this.loading = true;\r\n let frontChamps = this.machine[\"tool_type_front\"] && this.machine[\"tool_type_front\"].champs ? this.machine[\"tool_type_front\"].champs : null;\r\n let rearChamps = this.machine[\"tool_type_rear\"] && this.machine[\"tool_type_rear\"].champs ? this.machine[\"tool_type_rear\"].champs : null;\r\n let data = {\r\n 'frontMountedEquipment': this.configurationsProvider.getCodeTool(this.frontEquipment),\r\n 'frontToolWeight': frontChamps && frontChamps.length >= 1 && frontChamps[0] ? parseFloat(frontChamps[0].value) : undefined,\r\n 'frontContentWeight': frontChamps && frontChamps.length > 2 && frontChamps[1] ? parseFloat(frontChamps[1].value) : undefined,\r\n 'frontDistance': frontChamps && frontChamps.length > 2 && frontChamps[2] ? parseFloat(frontChamps[2].value) : frontChamps && frontChamps.length === 2 && frontChamps[1] ? parseFloat(frontChamps[1].value) : undefined,\r\n 'rearTypeEquipment': this.configurationsProvider.getCodeTool(this.rearTypeEquipment),\r\n 'rearToolWeight': rearChamps && rearChamps.length >= 1 && rearChamps[0] ? parseFloat(rearChamps[0].value) : undefined,\r\n 'rearContentWeight': rearChamps && rearChamps.length > 2 && rearChamps[1] ? parseFloat(rearChamps[1].value) : undefined,\r\n 'rearDistance': rearChamps && rearChamps.length > 2 && rearChamps[2] ? parseFloat(rearChamps[2].value) : rearChamps && rearChamps.length === 2 && rearChamps[1] ? parseFloat(rearChamps[1].value) : undefined,\r\n 'rearMountedEquipment': this.configurationsProvider.getCodeTool(this.rearEquipment),\r\n 'frontTargetPressure': this.frontTargetPressure ? this.frontTargetPressure : undefined,\r\n 'rearTargetPressure': this.rearTargetPressure ? this.rearTargetPressure : undefined,\r\n 'status': this.singleTractor && this.singleTractor.machineType !== \"Tractor\" ? 'Configured' : undefined\r\n };\r\n\r\n if (this.singleTractor && this.singleTractor.machineType === \"Tractor\") {\r\n let speedFront = this.machinesProvider.getSpeed(\"standard\", \"front\", null, this.configurationsProvider.getEnglishNameTool(this.frontEquipment));\r\n let speedRear = this.machinesProvider.getSpeed(\"standard\", \"rear\", this.configurationsProvider.getEnglishNameTool(this.rearTypeEquipment), this.configurationsProvider.getEnglishNameTool(this.rearEquipment));\r\n\r\n if (this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM1000\") ||\r\n this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM150\") ||\r\n this.configurationsProvider.getSingleTractor().rearAxleTireSize.includes(\"TM1060\")) {\r\n speedRear.speed = \"<65\";\r\n }\r\n if (this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM1000\") ||\r\n this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM150\") ||\r\n this.configurationsProvider.getSingleTractor().frontAxleTireSize.includes(\"TM1060\")) {\r\n speedFront.speed = \"<65\";\r\n }\r\n // check speed\r\n\r\n if (speedFront.speed == \"rear\") {\r\n speedFront.speed = speedRear.speed;\r\n }\r\n if (speedRear.speed == \"50kmh\") {\r\n speedFront.speed = \"50\";\r\n }\r\n this.configurationsProvider.getSingleTractor().speedFront = speedFront;\r\n this.configurationsProvider.getSingleTractor().speedRear = speedRear;\r\n }\r\n console.log(\"this.machine: \", this.machine);\r\n\r\n this.httpProvider.updateTractor(this.configurationsProvider.getSingleTractor()._id, data)\r\n .subscribe(result => {\r\n if (result) {\r\n const farmId = localStorage.getItem('farmId');\r\n if (farmId) {\r\n this.httpProvider.getTractorsByFarmId(farmId)\r\n .subscribe(result => {\r\n if (result) {\r\n this.loading = false;\r\n let response: any = result;\r\n this.machinesProvider.myFleet = [];\r\n for (let tractor of response.data.Tractors) {\r\n this.configurationsProvider.addToMyFleet(tractor);\r\n }\r\n\r\n this.configurationsProvider.setConfigurationTool(this.machine);\r\n if (this.singleTractor && this.singleTractor.machineType === \"Tractor\") {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(ConfigurationResultsPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(ConfigurationResultsPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n else {\r\n if (this.platform.is(\"android\")) {\r\n let options = this.configurationsProvider.getOptions(\"left\");\r\n this.nativePageTransitions.slide(options);\r\n this.navCtrl.setRoot(MachineListPage, {});\r\n }\r\n else {\r\n this.navCtrl.setRoot(MachineListPage, {}, { animate: true, direction: 'back' });\r\n }\r\n }\r\n }\r\n }, (err) => {\r\n this.loading = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n }\r\n }, (err) => {\r\n this.loading = false;\r\n console.log(\"err: \", err);\r\n });\r\n }\r\n\r\n showChooseModel() {\r\n this.openSidebar = true;\r\n }\r\n\r\n next() {\r\n if (this.labelType === \"tool_type_front\") {\r\n this.showSidebar(\"tool_type_rear_equipment\");\r\n }\r\n else if (this.labelType === \"tool_type_rear_equipment\") {\r\n this.showSidebar(\"tool_type_rear\");\r\n }\r\n else if (this.labelType === \"tool_type_rear\") {\r\n this.showSidebar(\"tool_type_front\");\r\n }\r\n }\r\n\r\n back() {\r\n if (this.labelType === \"tool_type_front\") {\r\n this.showSidebar(\"tool_type_rear\");\r\n }\r\n else if (this.labelType === \"tool_type_rear_equipment\") {\r\n this.showSidebar(\"tool_type_front\");\r\n }\r\n else if (this.labelType === \"tool_type_rear\") {\r\n this.showSidebar(\"tool_type_rear_equipment\");\r\n }\r\n }\r\n\r\n convertMachine(machine: Machine) {\r\n this.machinesProvider.convertMachine(machine);\r\n if (machine.type == \"Arem\") {\r\n for (let i = 0; i < machine.champs.length; i++) {\r\n if (machine.champs[i].id == \"15\") {\r\n let unit = this.unitsProvider.getWeight();\r\n if (machine.id == \"33\") {\r\n if (unit == Unit.kg) {\r\n machine.champs[i].value = ConfigurationToolPage.RCAR_SPRAYER_KG;\r\n } else {\r\n machine.champs[i].value = ConfigurationToolPage.RCAR_SPRAYER_LB;\r\n }\r\n } else {\r\n if (unit == Unit.kg) {\r\n machine.champs[i].value = ConfigurationToolPage.RCAR_KG;\r\n } else {\r\n machine.champs[i].value = ConfigurationToolPage.RCAR_LB;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setChoose(val: string) {\r\n let text = this.translate.instant(val);\r\n let index = this.list[this.labelType].findIndex(function (element) {\r\n return element.label == val;\r\n });\r\n if (index !== -1) {\r\n if (this.labelType !== \"tool_type_rear_equipment\") {\r\n this.machine[this.labelType] = this.list[this.labelType][index].machine;\r\n this.convertMachine(this.machine[this.labelType]);\r\n }\r\n else {\r\n this.machine[this.labelType] = this.list[this.labelType][index].items;\r\n }\r\n this.configurationsProvider.setMachineToolPlus(this.labelType, this.machine[this.labelType]);\r\n }\r\n this.configurationsProvider.setStorage(this.labelType, val);\r\n if (this.labelType === \"tool_type_front\") {\r\n this.frontEquipment = text;\r\n }\r\n else if (this.labelType === \"tool_type_rear_equipment\") {\r\n this.rearTypeEquipment = text;\r\n this.rearEquipment = \"\";\r\n }\r\n else if (this.labelType === \"tool_type_rear\") {\r\n this.rearEquipment = text;\r\n }\r\n this.selectedLabel[this.labelType] = this.translate.instant(val);\r\n this.configurationsProvider.setMountedSelectionPlus(this.selectedLabel);\r\n }\r\n\r\n showSidebar(label: string) {\r\n this.label = this.translate.instant(label);\r\n this.labelType = label;\r\n if (this.labelType === \"tool_type_front\") {\r\n this.list[label] = this.machinesProvider.getFrontList().items;\r\n }\r\n else if (this.labelType === \"tool_type_rear_equipment\") {\r\n this.list[label] = this.machinesProvider.getRearList().items;\r\n }\r\n else if (this.labelType === \"tool_type_rear\") {\r\n if (this.machine && this.machine[\"tool_type_rear_equipment\"]) {\r\n this.list[label] = this.machine[\"tool_type_rear_equipment\"];\r\n }\r\n }\r\n this.openSidebar = true;\r\n }\r\n\r\n checkWarning(): boolean {\r\n for (let value of this.disableSaveRear) {\r\n if (value) {\r\n return true;\r\n }\r\n }\r\n for (let value of this.disableSaveFront) {\r\n if (value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n noneInsertedRear(): boolean {\r\n if (this.machine['tool_type_rear']) {\r\n return this.machinesProvider.checkChamps(this.machine['tool_type_rear'])\r\n }\r\n }\r\n\r\n noneInsertedFront(): boolean {\r\n if (this.machine['tool_type_front']) {\r\n return this.machinesProvider.checkChamps(this.machine['tool_type_front'])\r\n }\r\n }\r\n\r\n catchDisableSave(event, i, type) {\r\n if (type === \"rear\") {\r\n this.disableSaveRear[i] = event;\r\n }\r\n else {\r\n this.disableSaveFront[i] = event;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/plus/configuration/configuration-tool/configuration-tool.ts","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n public getToken(): string {\r\n return localStorage.getItem('token');\r\n }\r\n public isAuthenticated(): boolean {\r\n // get the token\r\n const token = this.getToken();\r\n\r\n if(token)\r\n return true;\r\n else\r\n return false;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/auth/auth.service.ts"],"sourceRoot":""}