{"version":3,"sources":["./src/app/format-dssdescription.pipe.ts","./src/app/radio-group/radio-group.component.ts","./src/app/radio-group/radio-group.component.html","./src/app/search/search-result/tool/tool.component.ts","./src/app/search/search-result/tool/tool.component.html","./src/environments/environment.ts","./src/app/submit/submit.component.html","./src/app/submit/submit.component.ts","./src/app/search/dropdown/dropdown.component.ts","./src/app/search/dropdown/dropdown.component.html","./src/app/search/checkbox/checkbox.component.ts","./src/app/search/checkbox/checkbox.component.html","./src/app/link.pipe.ts","./src/app/search/report/report.component.ts","./src/app/search/report/report.component.html","./src/app/search/search-result/tool/item-list/item-list.component.html","./src/app/search/search-result/tool/item-list/item-list.component.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/search/search-result/tool/pest-disease-list/pest-disease-list.component.html","./src/app/search/search-result/tool/pest-disease-list/pest-disease-list.component.ts","./src/app/info/info.component.ts","./src/app/info/info.component.html","./src/app/modal/modal.component.ts","./src/app/search/search-result/comparison/comparison.component.ts","./src/app/search/search-result/comparison/comparison.component.html","./src/app/app.module.ts","./src/app/search/advanced-search/progress/progress.component.ts","./src/app/search/advanced-search/progress/progress.component.html","./src/app/loading/loading.component.html","./src/app/loading/loading.component.ts","./src/app/header/header.component.ts","./src/app/header/header.component.html","./src/app/footer/footer.component.ts","./src/app/footer/footer.component.html","./src/app/nonempty.pipe.ts","./src/app/width.pipe.ts","./src/app/search/search-result/search-result.component.ts","./src/app/search/search-result/search-result.component.html","./src/app/gtm.service.ts","./src/app/search/advanced-search/node-input/node-input.component.ts","./src/app/search/advanced-search/node-input/node-input.component.html","./src/app/search/analyze/analyze.component.ts","./src/app/search/analyze/analyze.component.html","./src/app/search/search.component.html","./src/app/search/search.component.ts","./src/app/app-routing.module.ts","./src/app/search/advanced-search/advanced-search.component.ts","./src/app/search/advanced-search/advanced-search.component.html","./src/app/api.service.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object","./src/app/search/quick-search/quick-search.component.ts","./src/app/search/quick-search/quick-search.component.html"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'formatDSSDescription'\n})\nexport class FormatDSSDescriptionPipe implements PipeTransform {\n\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(value: string): SafeHtml {\n let formatted = value;\n\n if (value) {\n let res = value.match(/[A-Z][A-Z. ]*:/g);\n if (res && Array.isArray(res)) {\n for (let item of res) {\n if (formatted.startsWith(item)) {\n formatted = formatted.replace(item, \"\" + item + \"\")\n } else {\n formatted = formatted.replace(item, \"

\" + item + \"\")\n } \n }\n }\n }\n return this.sanitizer.bypassSecurityTrustHtml(formatted);\n \n }\n}\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-radio-group',\n templateUrl: './radio-group.component.html',\n styleUrls: ['./radio-group.component.scss']\n})\nexport class RadioGroupComponent implements OnInit {\n @Input() items;\n @Input() selected;\n @Output() selectedChange = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n select(id) {\n this.selectedChange.emit(id);\n }\n}\n","
\n
\n {{item.name}}\n
\n
","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-tool',\n templateUrl: './tool.component.html',\n styleUrls: ['./tool.component.scss']\n})\nexport class ToolComponent implements OnInit {\n @Input() tool;\n @Output() selectedChange = new EventEmitter();\n @Output() reportClick = new EventEmitter();\n @Input() arableCrops;\n @Input() otherCrops;\n @Input() diseases;\n @Input() insects;\n\n public moreOpen = false;\n public urlmodalShow = false;\n public ipmmodalShow = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n openModal() {\n this.urlmodalShow = true;\n }\n\n onModalClose(e) {\n let self = this;\n setTimeout(() => {\n self.urlmodalShow = e;\n });\n }\n\n onIPMModalClose(e) {\n let self = this;\n setTimeout(() => {\n self.ipmmodalShow = e;\n });\n }\n\n openLink() {\n window.open(\"https://www.platform.ipmdecisions.net/\");\n }\n\n price2string(price) {\n switch(price) {\n case 'F':\n return 'Free';\n case 'L':\n return 'Limited';\n case 'N':\n return 'Not free';\n default:\n return '';\n }\n }\n\n toggleMoreOpen() {\n this.moreOpen = !this.moreOpen;\n }\n\n yesOrNo(val) {\n return (val ? 'Yes' : 'No');\n }\n\n autoManual(val) {\n if (val === 'A') {\n return 'Automatic';\n } else if (val === 'M') {\n return 'Manual';\n } else if (val === 'N') {\n return 'No';\n }\n\n return '';\n }\n\n freeNonfree(val) {\n if (val === 'F') {\n return 'Free';\n } else if (val == 'N') {\n return 'Not free';\n } else if (val == 'L') {\n return 'Limited';\n }\n\n return '';\n }\n\n onlineOffline(val) {\n if (val === 'ONL') {\n return 'Online';\n } else if (val === 'OFL') {\n return 'Offline';\n }\n return '';\n }\n\n nationalInternational(val) {\n if (val === 'N') {\n return 'National';\n } else if (val === 'I') {\n return 'International';\n }\n return '';\n }\n\n shortLong(val) {\n if (val === 'S') {\n return 'Short-term';\n } else if (val ==='L') {\n return 'Long-term'\n } else if (val === 'B') {\n return 'Both;'\n }\n\n return '';\n }\n\n plantOrWater(val) {\n if (val === 'PP') {\n return 'Plant protection';\n } else if (val === 'WP') {\n return 'Water pollution';\n }\n return '';\n }\n\n smallMediumLarge(val) {\n if (val === 'S') {\n return 'Small';\n } else if (val === 'M') {\n return 'Medium';\n } else if (val === 'L') {\n return 'Large';\n }\n return '';\n }\n\n toggleComparison() {\n this.selectedChange.emit();\n }\n\n includes(collection, name, type = undefined) {\n let potential;\n if (type) {\n potential = collection.filter(i => i.name === name && i.type_id === type);\n } else {\n potential = collection.filter(i => i.name === name);\n }\n\n return potential.length === 0 ? 'No' : 'Yes';\n }\n\n report() {\n this.reportClick.emit();\n }\n}\n","
\n
\n

{{tool.name}}

\n
\n \n \n \n
\n \n
\n

Basic information
  • UPDATE INFORMATION

\n

Tool

\n \n \n

Geographic focus

\n \n\n

Challenge

\n

Definition

\n \n

Constraints

\n \n\n

Problem

\n

Plant protection

\n

Arable crops

\n \n

Diseases

\n \n

Insects

\n \n

Function

\n \n\n

Analysis

\n

Implemenation

\n \n

Language

\n \n \n

Price

\n \n

Data required

\n

Weather

\n \n

Field data

\n \n\n

Outcomes

\n

Output

\n \n

Target

\n \n \n
\n
","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","
\n
\n
\n\n

Add an existing support system

\n

for integrated pest management

\n

Describe the decision support system

\n
\n
Name
\n
Surname
\n
Email
\n
Role \n \n
\n\n
Name of DSS
\n
Link to web page
\n
Owner of DSS
\n \n
Comment
\n
{{error}}
\n
\n
\n \n Confirm\n
\n\n
\n
\n

Thank you!

\n
\n Your contact info for the inclusion of a new DSS in our platform has been successfully reported.\n We will get back to you as soon as possible.\n
\n
\n Return to homepage\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiService } from '../api.service';\nimport { GtmService } from '../gtm.service';\n\n@Component({\n selector: 'app-submit',\n templateUrl: './submit.component.html',\n styleUrls: ['./submit.component.scss']\n})\nexport class SubmitComponent implements OnInit {\n public submitted: boolean = false;\n public loading = false;\n\n public firstname = \"\";\n public lastname = \"\";\n public email = \"\";\n public role;\n\n public comment = \"\";\n public dssName = \"\";\n public link = \"\";\n public owner = \"\";\n public error;\n\n public roleItems;\n public errorFields = [];\n\n constructor(private api: ApiService, private router: Router, private gtm: GtmService) {\n this.roleItems = this.api.roleItems;\n }\n\n ngOnInit(): void {\n this.gtm.push({\n event: 'page',\n pageName: '/submit'\n });\n window.scroll({ \n top: 0, \n left: 0\n });\n }\n\n missingMandatoryFields() {\n let missing = false;\n\n let mandatoryFields = ['firstname', 'lastname', 'email', 'role', 'dssName', 'owner'];\n\n for (let field of mandatoryFields) {\n if (this[field] === undefined || this[field] === null || this[field] === \"\") {\n this.errorFields.push(field);\n missing = true;\n }\n }\n return missing;\n }\n\n submit() {\n this.error = undefined;\n this.errorFields = [];\n\n if (this.missingMandatoryFields()) {\n this.error = \"Please complete all mandatory fields\";\n return;\n }\n\n if (!this.api.isValidEmail(this.email)) {\n this.error = \"Invalid Email address\";\n this.errorFields.push('email');\n return;\n }\n \n\n this.gtm.push({\n event: 'submit-submit',\n });\n\n this.loading = true;\n this.api.submitTool(this.firstname, this.lastname, this.email, this.role2txt(this.role), this.comment, this.dssName, this.link, this.owner).subscribe(() => {\n this.submitted = true;\n this.loading = false;\n }, (e) => {\n this.submitted = false;\n this.loading = false;\n this.error = \"An error occurred. Please try again later.\";\n });\n }\n\n role2txt(roleId) {\n let role = this.roleItems.find(r => r.id===roleId);\n\n if (role) {\n return role.name;\n } else {\n return \"\";\n }\n }\n\n close() {\n this.router.navigate([\"/\"]);\n }\n}\n","import { Component, Input, Output, EventEmitter, OnInit, HostBinding, HostListener } from '@angular/core';\nimport { GtmService } from 'src/app/gtm.service';\n\n@Component({\n selector: 'app-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss']\n})\nexport class DropdownComponent implements OnInit {\n\n @Input() public set all(val) {\n this._all = val;\n this.filtered = this._all;\n }\n public get all() {\n return this._all;\n }\n @Input() selectedItems;\n @Input() placeholder;\n @Output() selectedItemsChange = new EventEmitter();\n\n @Input() name;\n\n @HostBinding('tabindex') tabindex = 0;\n\n private _all;\n public filtered = [];\n\n private _updated: number;\n private _search: string = \"\";\n public get search() {\n return this._search;\n }\n public set search(val) {\n this._search = val;\n let updated = new Date().getTime();\n this._updated = updated;\n\n setTimeout(() => this.checkSettled(val, updated), 1000);\n\n if (this._search === \"\") {\n this.filtered = this._all;\n } else {\n this.filtered = this._all.filter(a => a.value.toLowerCase().indexOf(this._search) === 0);\n }\n }\n\n public open: boolean = false;\n public unfocusing: boolean = false;\n\n constructor(private gtm: GtmService) { }\n\n @HostListener('focusin')\n focusInHandler() {\n this.unfocusing = false;\n if (this.selectedItems.length == 0) {\n this.open = true;\n }\n }\n\n @HostListener('focusout')\n focusOutHandler() {\n this.unfocusing = true;\n setTimeout(this.safeUnfocus.bind(this), 100);\n }\n\n ngOnInit(): void {\n }\n\n openList() {\n this.open = true;\n }\n\n closeList() {\n this.open = false;\n this._search = \"\";\n }\n\n removeItem(item) {\n if (this.selectedItems.includes(item)) {\n this.selectedItems.splice(this.selectedItems.indexOf(item), 1);\n }\n this.selectedItemsChange.emit(this.selectedItems);\n }\n\n safeUnfocus() {\n if (this.unfocusing == true) {\n this.closeList();\n }\n }\n\n toggle(item) {\n if (this.selectedItems.includes(item)) {\n this.selectedItems.splice(this.selectedItems.indexOf(item), 1);\n } else {\n this.selectedItems.push(item);\n }\n this.selectedItemsChange.emit(this.selectedItems);\n }\n\n toggleAll(e) {\n if (this.selectedItems.length === 0) {\n // don't do anything\n e.preventDefault();\n } else {\n this.selectedItems.splice(0, this.selectedItems.length);\n this.selectedItemsChange.emit(this.selectedItems);\n }\n }\n\n public checkSettled(val, updated) {\n if (this._search === val && this._updated === updated) {\n this.gtm.push({\n event: 'quick_search_dropdown',\n item_category: this.name,\n data: this._search\n });\n }\n }\n}\n","
\n
\n
\n
{{item.value}}
\n
\n
\n
\n
\n
\n
    0\">\n
  • \n
  • \n \n
  • \n
\n
    \n
  • \n
\n
\n
\n \n
\n
\n
\n
","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss']\n})\nexport class CheckboxComponent implements OnInit {\n @Input() ngModel;\n @Output() ngModelChange = new EventEmitter();\n @Output() onChange = new EventEmitter();\n @Input() label;\n @Input() info;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n toggle() {\n this.ngModelChange.emit(!this.ngModel);\n this.onChange.emit();\n }\n\n isString(item) {\n return (typeof item === 'string' || item instanceof String);\n }\n\n isArray(item) {\n return Array.isArray(item);\n }\n}\n","
\n\n\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'link'\n})\nexport class LinkPipe implements PipeTransform {\n\n transform(value: string): string {\n if (value.startsWith('http')) {\n return value;\n } else {\n return 'https://' + value;\n }\n }\n\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiService } from 'src/app/api.service';\nimport { GtmService } from 'src/app/gtm.service';\n\n@Component({\n selector: 'app-report',\n templateUrl: './report.component.html',\n styleUrls: ['./report.component.scss']\n})\nexport class ReportComponent implements OnInit {\n @Input() tool;\n @Output() done = new EventEmitter();\n\n public submitted: boolean = false;\n public loading = false;\n\n public comment = \"\";\n public firstname = \"\";\n public lastname = \"\";\n public email = \"\";\n public role;\n public error;\n\n public roleItems;\n public errorFields = [];\n\n constructor(private api: ApiService, private router: Router, private gtm: GtmService) {\n this.roleItems = this.api.roleItems;\n }\n\n ngOnInit(): void {\n this.gtm.push({\n event: 'page',\n pageName: '/report',\n item_name: this.tool.name\n });\n window.scroll({ \n top: 0, \n left: 0\n });\n }\n\n missingMandatoryFields() {\n let missing = false;\n\n let mandatoryFields = ['comment', 'firstname', 'lastname', 'email', 'role'];\n\n for (let field of mandatoryFields) {\n if (this[field] === undefined || this[field] === null || this[field] === \"\") {\n this.errorFields.push(field);\n missing = true;\n }\n }\n return missing;\n }\n\n submit() {\n this.error = undefined;\n this.errorFields = [];\n\n if (this.missingMandatoryFields()) {\n this.error = \"Please complete all mandatory fields\";\n return;\n }\n\n if (!this.api.isValidEmail(this.email)) {\n this.error = \"Invalid Email address\";\n this.errorFields.push('email');\n return;\n }\n \n this.gtm.push({\n event: 'report-submit',\n item_name: this.tool.name\n });\n\n this.loading = true;\n this.api.submitReport(this.tool.tool_id, this.firstname, this.lastname, this.email, this.role2txt(this.role), this.comment).subscribe(() => {\n this.submitted = true;\n this.loading = false;\n }, (e) => {\n this.submitted = false;\n this.loading = false;\n this.error = \"An error occurred. Please try again later.\";\n });\n }\n\n role2txt(roleId) {\n let role = this.roleItems.find(r => r.id===roleId);\n\n if (role) {\n return role.name;\n } else {\n return \"\";\n }\n }\n\n close() {\n this.done.emit();\n }\n}\n","
\n
\n
\n

Update information for:

\n

{{tool.name}}

\n

Let us know how to improve the data

\n
\n
Comment
\n
\n\n

Input your contact info

\n\n
\n
Name
\n
Surname
\n
Email
\n
Role \n \n
\n
{{error}}
\n
\n\n
\n \n Confirm\n
\n
\n
\n

Thank you!

\n
\n The observed mistake has been successfully reported.\n We will get back to you as soon as possible.\n
\n
\n Return to homepage\n
\n
\n
","
\n {{item.name}}{{(i==items.length-1) ? '' : ', '}}\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-item-list',\n templateUrl: './item-list.component.html',\n styleUrls: ['./item-list.component.scss']\n})\nexport class ItemListComponent implements OnInit {\n @Input() items;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n}\n","import { Component } from '@angular/core';\nimport { NgcCookieConsentService } from 'ngx-cookieconsent';\nimport { Subscription } from 'rxjs';\nimport { GtmService } from './gtm.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'frontend';\n private popupOpenSubscription: Subscription;\n private popupCloseSubscription: Subscription;\n private initializeSubscription: Subscription;\n private statusChangeSubscription: Subscription;\n private revokeChoiceSubscription: Subscription;\n private noCookieLawSubscription: Subscription;\n\n constructor(private ccService: NgcCookieConsentService, private gtm: GtmService) {}\n\n ngOnInit() {\n // mark load\n this.gtm.push({\n event: 'page',\n pageName: '/'\n });\n\n // subscribe to cookieconsent observables to react to main events\n this.popupOpenSubscription = this.ccService.popupOpen$.subscribe(\n () => {\n // you can use this.ccService.getConfig() to do stuff...\n });\n\n this.popupCloseSubscription = this.ccService.popupClose$.subscribe(\n () => {\n // you can use this.ccService.getConfig() to do stuff...\n });\n\n this.initializeSubscription = this.ccService.initialize$.subscribe(\n (event) => {\n // you can use this.ccService.getConfig() to do stuff...\n });\n\n this.statusChangeSubscription = this.ccService.statusChange$.subscribe(\n (event) => {\n // you can use this.ccService.getConfig() to do stuff...\n if (event.status === 'allow') {\n this.gtm.push({\n event: 'cookie-consent'\n });\n }\n });\n\n this.revokeChoiceSubscription = this.ccService.revokeChoice$.subscribe(\n () => {\n // you can use this.ccService.getConfig() to do stuff...\n });\n\n this.noCookieLawSubscription = this.ccService.noCookieLaw$.subscribe(\n (event) => {\n // you can use this.ccService.getConfig() to do stuff...\n });\n }\n\n ngOnDestroy() {\n // unsubscribe to cookieconsent observables to prevent memory leaks\n this.popupOpenSubscription.unsubscribe();\n this.popupCloseSubscription.unsubscribe();\n this.initializeSubscription.unsubscribe();\n this.statusChangeSubscription.unsubscribe();\n this.revokeChoiceSubscription.unsubscribe();\n this.noCookieLawSubscription.unsubscribe();\n }\n}\n","\n\n
\n \n
\n\n","
\n {{type.name}}:\n {{item.name}} ({{item.latin_name}}){{(i==type.items.length-1) ? '' : ', '}}\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-pest-disease-list',\n templateUrl: './pest-disease-list.component.html',\n styleUrls: ['./pest-disease-list.component.scss']\n})\nexport class PestDiseaseListComponent implements OnInit {\n private _values = [];\n\n private types = [\n null, \"Diseases\", \"Insects\", \"Weeds\"\n ];\n\n @Input() public set pest_diseases(values) {\n let list:any = {};\n for (let item of values) {\n if (!list[item.type_id]) {\n list[item.type_id] = {\n type_id: item.type_id,\n name: this.types[item.type_id],\n items: []\n }\n }\n list[item.type_id].items.push(item);\n }\n\n this._values = Object.values(list);\n }\n\n public get pest_diseases() {\n return this._values;\n }\n \n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-info',\n templateUrl: './info.component.html',\n styleUrls: ['./info.component.scss']\n})\nexport class InfoComponent implements OnInit {\n @Input() content;\n @Input() inline;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n}\n","
\n
{{content}}
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-modal',\n template: `\n
\n
\n
\n \n
\n
\n
\n
\n `,\nstyleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit {\n @Input() show;\n @Input() width;\n @Output() showChange = new EventEmitter();\n\n public style:any = {}\n \n constructor() { }\n\n ngOnInit() {\n if (this.width) {\n this.style['width'] = this.width + 'px';\n }\n }\n\n close() {\n this.showChange.emit(false);\n }\n}","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-comparison',\n templateUrl: './comparison.component.html',\n styleUrls: ['./comparison.component.scss']\n})\nexport class ComparisonComponent implements OnInit {\n private _tools;\n public alltools;\n \n @Input() public set tools(val) {\n this._tools = val;\n this.alltools = [...val];\n\n while(this.alltools.length < 4) {\n this.alltools.push({});\n }\n };\n public get tools() {\n return this._tools;\n }\n @Output() toolsChange = new EventEmitter();\n\n @Output() backClicked = new EventEmitter();\n\n @Input() arableCrops;\n @Input() otherCrops;\n @Input() diseases;\n @Input() insects;\n\n public markDifferences = false;\n public markSimilarities = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n back() {\n this.toolsChange.emit(this._tools);\n this.backClicked.emit();\n }\n\n remove(tool) {\n tool.selected = false;\n this.tools = this.tools.filter(t => t.tool_id != tool.tool_id);\n if (this.tools.length === 0) {\n this.back();\n }\n }\n\n yesOrNo(val) {\n if (val === true) {\n return 'Yes';\n } else if(val === false) {\n return 'No';\n } else {\n return ' ';\n }\n }\n\n autoManual(val) {\n if (val === 'A') {\n return 'Automatic';\n } else if (val === 'M') {\n return 'Manual';\n } else if (val === 'N') {\n return 'No';\n }\n\n return ' ';\n }\n\n freeNonfree(val) {\n if (val === 'F') {\n return 'Free';\n } else if (val == 'N') {\n return 'Not free';\n } else if (val == 'L') {\n return 'Limited';\n }\n\n return ' ';\n }\n\n onlineOffline(val) {\n if (val === 'ONL') {\n return 'Online';\n } else if (val === 'OFL') {\n return 'Offline';\n }\n return ' ';\n }\n\n nationalInternational(val) {\n if (val === 'N') {\n return 'National';\n } else if (val === 'I') {\n return 'International';\n }\n return ' ';\n }\n\n shortLong(val) {\n if (val === 'S') {\n return 'Short-term';\n } else if (val ==='L') {\n return 'Long-term'\n } else if (val === 'B') {\n return 'Both;'\n }\n\n return ' ';\n }\n\n plantOrWater(val) {\n if (val === 'PP') {\n return 'Plant protection';\n } else if (val === 'WP') {\n return 'Water pollution';\n }\n return ' ';\n }\n\n smallMediumLarge(val) {\n if (val === 'S') {\n return 'Small';\n } else if (val === 'M') {\n return 'Medium';\n } else if (val === 'L') {\n return 'Large';\n }\n return ' ';\n }\n\n includes(collection, name, type = undefined) {\n let potential;\n if (type) {\n potential = collection.filter(i => i.name === name && i.type_id === type);\n } else {\n potential = collection.filter(i => i.name === name);\n }\n\n return potential.length === 0 ? 'No' : 'Yes';\n }\n\n toggleMarkDifferences() {\n this.markDifferences = !this.markDifferences;\n if (this.markDifferences && this.markSimilarities) {\n this.markSimilarities = false;\n }\n }\n\n toggleMarkSimilarities() {\n this.markSimilarities = !this.markSimilarities;\n if (this.markDifferences && this.markSimilarities) {\n this.markDifferences = false;\n }\n }\n\n getProp(tool, prop) {\n let parts = prop.split(\"|\");\n\n if (parts.length == 1) {\n return tool[prop];\n } else {\n let first = parts.shift();\n if (tool[first]) {\n return this.getProp(tool[first], parts.join(\"|\")); \n } else {\n return undefined;\n }\n }\n }\n\n mark(prop) {\n if (this.markDifferences) {\n let val = this.getProp(this.tools[0], prop);\n for (let i=0; i\n
\n
\n
\n DIFFERENCES\n SIMILARITIES\n

DSS

\n
\n
\n
\n
Add DSS to comparison
\n
\n {{tool.name | width:200:'23px \"Segoe UI SemiBold\"'}}\n
\n
\n
\n

Basic information

\n
\n
\n
\n

Tool

\n
\n
\n
\n
Consecutive number
\n
{{tool.idx | nonempty}}
\n
\n
\n
Name of DSS
\n
{{tool.name | width:224:'14px \"Segoe UI Regular\"'}}
\n
\n
\n
Link to web page
\n
{{(tool.links && tool.links.length>0 ? tool.links[0].url : '') | width:224:'14px \"Segoe UI Regular\"'}}
\n
\n
\n
Owner of DSS
\n
{{tool.owner | width:224:'14px \"Segoe UI Regular\"'}}
\n
\n
\n
Country of development
\n
{{((tool.development_country ? tool.development_country.name : '') + (tool.development_country_assumed ? '*' : '')) | width:224:'14px \"Segoe UI Regular\"'}}
\n
\n\n
\n
Country - tested
\n
{{tool.tested_countries | width:224:'14px \"Segoe UI Regular\"'}}
\n
\n
\n

Geographic focus

\n
\n
\n
\n
Northern Europe
\n
{{yesOrNo(tool.geographic_focus_neu)}}
\n
\n
\n
Central Europe
\n
{{yesOrNo(tool.geographic_focus_ceu)}}
\n
\n
\n
Southern Europe
\n
{{yesOrNo(tool.geographic_focus_seu)}}
\n
\n \n
\n

Challenge

\n
\n
\n
\n

Definition

\n
\n
\n
\n
Water pollution / Plant protection
\n
{{plantOrWater(tool.definition)}}
\n
\n
\n

Constraints

\n
\n
\n
\n
Space
\n
{{nationalInternational(tool.space_constraints)}}
\n
\n
\n
Time
\n
{{shortLong(tool.time_constraints)}}
\n
\n \n
\n

Problem

\n
\n
\n
\n

Plant protection

\n
\n
\n
\n

Arable crops

\n
\n
\n
\n
{{crop}}
\n
{{(tool.crops ? includes(tool.crops, crop) : '') | nonempty}}
\n
\n
\n

\n
\n
\n
\n
{{crop}}
\n
{{(tool.crops ? includes(tool.crops, crop): '') | nonempty}}
\n
\n
\n

Diseases

\n
\n
\n
\n
{{disease}}
\n
{{(tool.pest_diseases ? includes(tool.pest_diseases, disease, 1): '') | nonempty}}
\n
\n
\n

Insects

\n
\n
\n
\n
{{insect}}
\n
{{(tool.pest_diseases ? includes(tool.pest_diseases, insect, 2) : '') | nonempty}}
\n
\n
\n
Weeds
\n
{{(tool.pest_diseases ? includes(tool.pest_diseases, \"Weeds\") : '') | nonempty}}
\n
\n
\n

Function

\n
\n
\n
\n
Monitoring
\n
{{yesOrNo(tool.function_monitoring)}}
\n
\n
\n
Forecasting
\n
{{yesOrNo(tool.function_forecasting)}}
\n
\n
\n
Planning
\n
{{yesOrNo(tool.function_planning)}}
\n
\n\n
\n

Analysis

\n
\n
\n
\n

Implemenation

\n
\n
\n
\n

Language

\n
\n
\n
\n
Available languages
\n
{{idx > 0 ? ', ' : ''}}{{lang.name}} 
\n
\n
\n
National
\n
{{yesOrNo(tool.national_language)}}
\n
\n
\n
Available in English
\n
{{yesOrNo(tool.available_in_english)}}
\n
\n
\n

\n
\n
\n
\n
Login required
\n
{{yesOrNo(tool.login_required)}}
\n
\n
\n
Access to references
\n
{{yesOrNo(tool.access_to_references)}}
\n
\n
\n

Price

\n
\n
\n
\n
Free
\n
{{freeNonfree(tool.price)}}
\n
\n
\n

Data required

\n
\n
\n
\n

Weather

\n
\n
\n
\n
Weather
\n
{{yesOrNo(tool.weather)}}
\n
\n
\n
Obtaining weather data
\n
{{autoManual(tool.weather_data)}}
\n
\n
\n

Field data

\n
\n
\n
\n
Field observations
\n
{{yesOrNo(tool.field_observations)}}
\n
\n
\n
Date of sowing
\n
{{yesOrNo(tool.field_sowing_date)}}
\n
\n
\n
Pre crop
\n
{{yesOrNo(tool.field_pre_crop)}}
\n
\n
\n
Crop variety
\n
{{yesOrNo(tool.field_crop_variety)}}
\n
\n
\n
Other data
\n
{{yesOrNo(tool.field_other)}}
\n
\n
\n

Outcomes

\n
\n
\n
\n

Output

\n
\n
\n
\n
Map
\n
{{yesOrNo(tool.output_map)}}
\n
\n
\n
Text
\n
{{yesOrNo(tool.output_text)}}
\n
\n
\n
Numerical/categorical
\n
{{yesOrNo(tool.output_numerical)}}
\n
\n
\n

Target

\n
\n
\n
\n
Farmers
\n
{{yesOrNo(tool.audience_farmers)}}
\n
\n
\n
Advisors
\n
{{yesOrNo(tool.audience_advisors)}}
\n
\n
\n
Researchers
\n
{{yesOrNo(tool.audience_researchers)}}
\n
\n
\n

\n
\n
\n
\n
Scale
\n
{{smallMediumLarge(tool.scale)}}
\n
\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgcCookieConsentModule, NgcCookieConsentConfig } from 'ngx-cookieconsent';\nimport { GoogleTagManagerModule } from 'angular-google-tag-manager';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AppComponent } from './app.component';\nimport { SearchComponent } from './search/search.component';\nimport { SearchResultComponent } from './search/search-result/search-result.component';\nimport { AnalyzeComponent } from './search/analyze/analyze.component';\nimport { SubmitComponent } from './submit/submit.component';\nimport { ReportComponent } from './search/report/report.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { HeaderComponent } from './header/header.component';\nimport { DropdownComponent } from './search/dropdown/dropdown.component';\nimport { ToolComponent } from './search/search-result/tool/tool.component';\nimport { ModalComponent } from './modal/modal.component';\nimport { PestDiseaseListComponent } from './search/search-result/tool/pest-disease-list/pest-disease-list.component';\nimport { QuickSearchComponent } from './search/quick-search/quick-search.component';\nimport { AdvancedSearchComponent } from './search/advanced-search/advanced-search.component';\nimport { ItemListComponent } from './search/search-result/tool/item-list/item-list.component';\nimport { ProgressComponent } from './search/advanced-search/progress/progress.component';\nimport { NodeInputComponent } from './search/advanced-search/node-input/node-input.component';\nimport { CheckboxComponent } from './search/checkbox/checkbox.component';\nimport { ComparisonComponent } from './search/search-result/comparison/comparison.component';\nimport { WidthPipe } from './width.pipe';\nimport { RadioGroupComponent } from './radio-group/radio-group.component';\nimport { InfoComponent } from './info/info.component';\nimport { LoadingComponent } from './loading/loading.component';\nimport { LinkPipe } from './link.pipe';\nimport { NonemptyPipe } from './nonempty.pipe';\nimport { FormatDSSDescriptionPipe } from './format-dssdescription.pipe';\n\nconst cookieConfig: NgcCookieConsentConfig = {\n cookie: {\n domain: 'ipmadviser.ijs.si' // or 'your.domain.com' // it is mandatory to set a domain, for cookies to work properly (see https://goo.gl/S2Hy2A)\n },\n position: \"bottom\",\n theme: \"edgeless\",\n palette: {\n popup: {\n background: \"#707070\",\n text: \"#ffffff\"\n },\n button: {\n background: \"#E4E4E4\",\n text: \"#707070\"\n }\n },\n type: \"opt-in\",\n layout: 'my-custom-layout',\n layouts: {\n \"my-custom-layout\": '{{messagelink}}{{compliance}}'\n },\n elements:{\n messagelink: `\n {{message}} \n {{privacyPolicyLink}} and our \n {{tosLink}}\n \n `,\n },\n content:{\n message: 'Our website uses cookies to optimize your user experience. For more information please see our ',\n \n privacyPolicyLink: 'Privacy Policy',\n privacyPolicyHref: '/assets/IPMAdviser_Privacy_Policy.pdf',\n \n tosLink: 'Terms and Conditions',\n tosHref: '/assets/IPMAdviser_Terms_Conditions.pdf',\n }\n};\n\n@NgModule({\n declarations: [\n AppComponent,\n SearchComponent,\n SearchResultComponent,\n AnalyzeComponent,\n SubmitComponent,\n ReportComponent,\n FooterComponent,\n HeaderComponent,\n DropdownComponent,\n ToolComponent,\n ModalComponent,\n ItemListComponent,\n PestDiseaseListComponent,\n QuickSearchComponent,\n AdvancedSearchComponent,\n ProgressComponent,\n NodeInputComponent,\n CheckboxComponent,\n ComparisonComponent,\n WidthPipe,\n RadioGroupComponent,\n InfoComponent,\n LoadingComponent,\n LinkPipe,\n NonemptyPipe,\n FormatDSSDescriptionPipe\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n FormsModule,\n HttpClientModule,\n NgcCookieConsentModule.forRoot(cookieConfig),\n GoogleTagManagerModule.forRoot({\n id: \"GTM-MSJHVDB\"\n })\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-progress',\n templateUrl: './progress.component.html',\n styleUrls: ['./progress.component.scss']\n})\nexport class ProgressComponent implements OnInit {\n\n @Input() nodes;\n @Input() current: number;\n @Output() currentChange = new EventEmitter();\n\n public width = 140;\n public height = 72;\n public strokeWidth = 3;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n select(idx) {\n this.currentChange.emit(idx);\n }\n}\n","","
\n
\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss']\n})\nexport class LoadingComponent implements OnInit {\n @Input() display;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","","import { Component, OnInit } from '@angular/core';\nimport { ApiService } from '../api.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n constructor(private api: ApiService) { }\n\n public lastSyncDate: any;\n\n ngOnInit(): void {\n this.api.getSync().subscribe((sync:any) => {\n this.lastSyncDate = sync.performedAt;\n });\n }\n\n}\n","
\n
\n
    \n
  • \n
  • \n
  • \n
\n
\n
\n
\n
\n
    \n
  • Quick search
  • \n
  • Advanced search
  • \n
  • Browse the catalogue
  • \n
  • Add new DSS
  • \n
\n
\n
\n
\n
\n \n
\n
\n\nIPM Adviser V1.0. last updated {{lastSyncDate | date: 'dd.MM.yyyy'}}\nUI Design by Peter Novak","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'nonempty'\n})\nexport class NonemptyPipe implements PipeTransform {\n\n transform(value: string): string {\n if (value) {\n return value;\n } else {\n return \" \";\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'width'\n})\nexport class WidthPipe implements PipeTransform {\n\n transform(value: string, length: number, font: string): string {\n\n if (value === undefined || value === null || value === \"\") {\n return \" \";\n }\n\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n context.font = font;\n\n let metrics = context.measureText(value);\n \n if (metrics.width <= length) {\n return value;\n } else {\n const suffix = \"...\";\n let diff = (metrics.width - length);\n let strip = Math.round(value.length * diff / metrics.width);\n\n let stripped = value.substring(0, value.length - strip - 1);\n\n while (stripped.length > 0) {\n let metrics = context.measureText(stripped + suffix);\n if (metrics.width <= length) {\n return stripped + suffix;\n }\n stripped = stripped.substring(0, stripped.length - 2);\n }\n\n return stripped;\n }\n }\n}\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { ApiService } from 'src/app/api.service';\nimport { GtmService } from 'src/app/gtm.service';\n\n@Component({\n selector: 'app-search-result',\n templateUrl: './search-result.component.html',\n styleUrls: ['./search-result.component.scss']\n})\nexport class SearchResultComponent implements OnInit {\n @Input() public set result(value) {\n if (this._result && this._result.filter) {\n \n this._result.results = value.results;\n\n for (let rootKey of Object.keys(this._result.filter)) {\n for (let sectionKey of Object.keys(this._result.filter[rootKey].sections)) {\n for (let subsectionKey of Object.keys(this._result.filter[rootKey].sections[sectionKey].subsections)) {\n for (let itemKey of Object.keys(this._result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items)) {\n if (value.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey] && value.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num) {\n this._result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num = value.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num;\n } else {\n this._result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num = 0;\n }\n if (this._result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items) {\n for (let subitemKey of Object.keys(this._result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items)) {\n if (value.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items &&\n value.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey] && \n value.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num) {\n this._result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num = value.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num;\n } else {\n this._result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num = 0;\n }\n }\n }\n }\n }\n }\n }\n } else {\n for (let root of value.filter) {\n for (let section of root.sections) {\n for (let subsection of section.subsections) {\n for (let item of subsection.items) {\n if (item.checked) {\n section.active = true;\n } else {\n item.checked = false;\n }\n if (!item.num) {\n item.num = 0;\n }\n if (item.items) {\n for (let subitem of item.items) {\n if (subitem.checked) {\n section.active = true;\n } else {\n subitem.checked = false;\n }\n if (!subitem.num) {\n subitem.num = 0;\n }\n }\n }\n }\n }\n }\n }\n this._result = value;\n }\n \n this.performSort();\n }\n public get result() {\n return this._result;\n }\n private _result;\n\n @Output() filterChange = new EventEmitter();\n \n @Input() reportTool;\n @Output() reportToolChange = new EventEmitter();\n\n public sorted;\n public sort = \"name\";\n public direction = \"asc\";\n\n public filter_num = 0;\n public forComparison = [];\n public comparison = false;\n\n public arableCrops;\n public otherCrops;\n public diseases;\n public insects;\n\n constructor(private api: ApiService, private gtm: GtmService) { }\n\n ngOnInit(): void {\n this.api.getCrops().subscribe((crops:any) => {\n this.arableCrops = crops.filter(c => c.arable).map(c => c.name);\n this.otherCrops = crops.filter(c => !c.arable).map(c => c.name);\n });\n this.api.getDiseases().subscribe((pests:any) => {\n this.diseases = pests.filter(p => p.type_id == 1).map(p => p.name);\n this.insects = pests.filter(p => p.type_id == 2).map(p => p.name);\n });\n }\n\n setSort(sort) {\n if (this.sort === sort) {\n this.toggleDirection();\n } else {\n this.sort = sort;\n this.performSort();\n }\n }\n\n toggleDirection() {\n if (this.direction === 'asc') {\n this.direction = 'desc';\n } else {\n this.direction = 'asc';\n }\n this.performSort();\n }\n\n performSort() {\n let comp;\n if (this.sort === \"name\") {\n comp = (a, b) => (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0);\n } else if (this.sort === \"country\") {\n comp = (a, b) => (a.assumed_development_country.name > b.assumed_development_country.name) ? 1 : ((b.assumed_development_country.name > a.assumed_development_country.name) ? -1 : 0);\n } else if (this.sort === \"date\") {\n comp = (a, b) => (new Date(a.added) > new Date(b.added)) ? 1 : ((new Date(b.added) > new Date(a.added)) ? -1 : 0);\n } else if (this.sort === \"price\") {\n // F = free, L = limited free version, N = nonfree\n comp = (a, b) => (a.price > b.price) ? 1 : ((b.price > a.price) ? -1 : 0);\n }\n\n let intermediate = this._result.results.sort(comp);\n\n if (this.direction === \"desc\") {\n this.sorted = intermediate.reverse();\n } else {\n this.sorted = intermediate;\n }\n }\n\n toggleOpen(section) {\n section.open = !section.open;\n }\n\n checkActive(section) {\n let active = false;\n\n for (let subsection of section.subsections) {\n for (let item of subsection.items) {\n if (item.checked) {\n active = true;\n }\n\n if (item.items) {\n for (let subitem of item.items) {\n if (subitem.checked) {\n active = true;\n }\n }\n }\n }\n }\n section.active = active;\n this.updateFilterNum();\n this.reload();\n }\n\n submitFilterChange(root, section, subsection, item, subitem = null) {\n let value;\n\n let path = root.title + \"/\" + section.title;\n\n if (subsection && subsection.title) {\n path += \"/\" + subsection.title;\n }\n\n if (item) {\n path += \"/\" + item.title;\n if (subitem) {\n path += \"/\" + subitem.title;\n value = subitem.checked;\n } else {\n value = item.checked;\n }\n }\n \n this.gtm.push({\n event: 'filter-click',\n item_category: path,\n data: value ? \"on\": \"off\"\n });\n }\n\n updateFilterNum() {\n let num = 0;\n for (let root of this._result.filter) {\n for (let section of root.sections) {\n if (section.active) {\n num++;\n }\n }\n }\n this.filter_num = num;\n }\n\n reload() {\n this.filterChange.emit(this.result.filter);\n }\n\n clearFilters() {\n for (let root of this.result.filter) {\n for (let section of root.sections) {\n section.active = false;\n section.open = false;\n for (let subsection of section.subsections) {\n for (let item of subsection.items) {\n item.checked = false;\n \n if (item.items) {\n for (let subitem of item.items) {\n subitem.checked = false;\n }\n }\n }\n }\n }\n }\n this.updateFilterNum();\n this.reload();\n }\n\n toggleSelect(tool) {\n tool.selected = !tool.selected;\n if (tool.selected) {\n this.forComparison.push(tool);\n } else {\n this.forComparison = this.forComparison.filter(t => t.tool_id !== tool.tool_id);\n }\n }\n\n viewComparison() {\n this.comparison = true;\n window.scroll(0,400);\n }\n\n clearComparison() {\n for (let tool of this.forComparison) {\n tool.selected = false;\n }\n this.forComparison = [];\n }\n\n report(tool) {\n this.reportToolChange.emit(tool);\n }\n}\n","\n
\n

FILTER 0\">{{filter_num}}
x

\n
    \n
  • \n

    {{root.title}}

    \n
      \n
    • \n

      {{section.title}}

      \n
      \n
      \n

      {{subsection.title}}

      \n
      \n \n
      \n \n
      \n
      \n
      \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • SORT
  • \n
  • Name
  • \n
  • Country
  • \n
  • Price
  • \n
  • Date
  • \n
  • {{sorted.length}}
  • \n
\n
    \n
  • \n \n
  • \n
\n
\n
1\">\n Clear selection\n Go to comparison of {{forComparison.length}} selected DSS\n =5\" class=\"button\">Maximum for comparison is 4. Please unselect.\n
\n
\n","import { Injectable } from '@angular/core';\nimport { NgcCookieConsentService } from 'ngx-cookieconsent';\nimport { GoogleTagManagerService } from 'angular-google-tag-manager';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GtmService {\n\n constructor(private ccService: NgcCookieConsentService, private gtmService: GoogleTagManagerService) { }\n\n push(tag: any) {\n if (this.ccService.hasConsented()) {\n this.gtmService.pushTag(tag);\n }\n }\n}","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-node-input',\n templateUrl: './node-input.component.html',\n styleUrls: ['./node-input.component.scss']\n})\nexport class NodeInputComponent implements OnInit {\n @Input() items;\n @Input() cols;\n @Output() change = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n reportChange() {\n this.change.emit();\n }\n}\n","
\n
\n

{{section.title}}

\n
\n
\n

{{subsection.title}}

\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-analyze',\n templateUrl: './analyze.component.html',\n styleUrls: ['./analyze.component.scss']\n})\nexport class AnalyzeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

analyze works!

\n","\n

IMPROVE YOUR PEST MANAGEMENT

\n

Find the right decision support system for you!

\n\n
\n
\n \n \n \n
\n \n \n
\n\n \n\n
\n
    \n
  • \n

    Knowledge-based

    \n Search over 70 indexed decision support systems\n
  • \n
  • \n

    Trustworthy

    \n Data gathered and maintained by a public research institute\n
  • \n
  • \n

    User-friendly

    \n Navigate thorough data with an easy-to-use interface\n
  • \n
  • \n

    Open

    \n Constantly improving data and adding new decision support systems\n
  • \n
\n\n

About IPM Adviser

\n
\n
\n

The \"IPM Adviser\" is a web-based tool that allows searching through a catalogue of systematically described decision support systems (DSS) using broad set of criteria. Its main puspose is to provide users with access to unbiased information on available DSS in the field of Integrated Pest Management in Europe, to enable their comparison and to help them select the most approprite DSS for their specific needs. In addition, it allows researchers and developers of DSS to identify gaps in the tools developed and to devlop new DSS in a more targeted way.

\n
\n\n

Connected with IPM Decisions Platform

\n
\n
\n
The IPM Decisions Platform is a one-stop shop for decision support in integrated pest management (IPM). It is a web-based framework that provides farmers, advisors, researchers and DSS developers with access to a wide range of decision support systems and weather data from across Europe through a single user interface. The platform allows you to:\n
    \n
  1. use DSS,
  2. \n
  3. compare the results of the available DSS,
  4. \n
  5. adapt the parameters within the decision support systems to use them in a wider range of countries and
  6. \n
  7. develop novel DSS by combining different DSS or parts of DSS (models and tools).
  8. \n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiService } from '../api.service';\nimport { GtmService } from '../gtm.service';\n\n@Component({\n selector: 'app-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.scss']\n})\nexport class SearchComponent implements OnInit {\n\n public advanced: boolean = false;\n public browse: boolean = false;\n public countriesSelected = [];\n public cropsSelected = [];\n public pestsSelected = [];\n public languagesSelected = [];\n \n public advancedSearchBy = \"criteria\";\n public name = \"\";\n\n public result;\n public advancedFilter;\n\n public filter = null;\n\n public reportTool;\n \n constructor(private api: ApiService, private router: Router, private gtm: GtmService) { }\n\n ngOnInit(): void {\n if (this.router.url === '/browse') {\n this.gtm.push({\n event: 'page',\n pageName: '/browse'\n });\n this.browse = true;\n this.search(this.filter);\n } else if (this.router.url === '/advanced') {\n this.gtm.push({\n event: 'page',\n pageName: '/advanced'\n });\n this.advanced = true;\n }\n window.scroll({ \n top: 0, \n left: 0\n });\n }\n\n search(filter: any) {\n if (this.advanced) {\n if (this.advancedSearchBy === 'name') {\n this.gtm.push({\n event: 'search',\n item_category: 'advanced',\n item_name: 'name-or-id'\n });\n this.api.getTools(this.name, null, null, null, null, null, filter).subscribe((result) => {\n this.result = result;\n });\n } else {\n this.gtm.push({\n event: 'search',\n item_category: 'advanced',\n item_name: 'criteria'\n });\n this.api.getTools(null, null, null, null, null, this.advancedFilter, filter).subscribe((result) => {\n this.result = result;\n\n for (let rootKey of Object.keys(result.filter)) {\n for (let sectionKey of Object.keys(result.filter[rootKey].sections)) {\n for (let subsectionKey of Object.keys(result.filter[rootKey].sections[sectionKey].subsections)) {\n for (let itemKey of Object.keys(result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items)) {\n result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].checked = \n this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].checked;\n if (result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].checked) {\n result.filter[rootKey].sections[sectionKey].open = true;\n }\n if (!result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num) {\n result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num = 0;\n }\n if (result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items) {\n for (let subitemKey of Object.keys(result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items)) {\n result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].checked = \n this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].checked;\n if (result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].checked) {\n result.filter[rootKey].sections[sectionKey].open = true;\n }\n if (!result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num) {\n result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num = 0;\n }\n }\n }\n }\n }\n }\n }\n });\n }\n } else {\n let forComparison = [];\n if (this.result && this.result.results) {\n forComparison = this.result.results.filter(r => r.selected).map(r => r.tool_id);\n }\n\n if (this.browse) {\n this.gtm.push({\n event: 'search',\n item_category: 'quick',\n item_name: 'browse'\n });\n this.api.getTools(null, null, this.cropsSelected, null, null, null, filter).subscribe((result) => {\n this.result = result;\n for (let tool of this.result.results) {\n if (forComparison.includes(tool.tool_id)) {\n tool.selected = true;\n }\n }\n });\n } else {\n this.gtm.push({\n event: 'search',\n item_category: 'quick',\n item_name: 'criteria'\n });\n this.api.getTools(null, this.countriesSelected, this.cropsSelected, this.pestsSelected, this.languagesSelected, null, filter).subscribe((result) => {\n this.result = result;\n for (let tool of this.result.results) {\n if (forComparison.includes(tool.tool_id)) {\n tool.selected = true;\n }\n }\n });\n }\n }\n }\n\n setAdvanced(advanced) {\n this.advanced = advanced;\n this.reset();\n }\n\n setAdvancedSearchBy(value) {\n this.advancedSearchBy = value;\n }\n\n filterChange(filter) {\n this.filter = filter;\n this.search(filter);\n }\n\n reset() {\n this.countriesSelected = [];\n this.cropsSelected = [];\n this.pestsSelected = [];\n this.languagesSelected = [];\n \n this.advancedSearchBy = \"criteria\";\n this.advancedFilter = undefined;\n this.name = \"\";\n this.result = undefined;\n }\n\n advancedSearch(filter) {\n if (filter) {\n this.advancedFilter = filter;\n this.filter = filter;\n\n this.search(this.filter);\n } else {\n this.search(this.filter);\n }\n }\n\n add() {\n this.router.navigate(['submit']); \n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { SearchComponent } from './search/search.component';\nimport { SubmitComponent } from './submit/submit.component';\n\n\nconst routes: Routes = [\n {path: '', component: SearchComponent},\n {path: 'advanced', component: SearchComponent},\n {path: 'browse', component: SearchComponent},\n {path: 'submit', component: SubmitComponent}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { GtmService } from '../../gtm.service';\nimport { ApiService } from 'src/app/api.service';\n\n@Component({\n selector: 'app-advanced-search',\n templateUrl: './advanced-search.component.html',\n styleUrls: ['./advanced-search.component.scss']\n})\nexport class AdvancedSearchComponent implements OnInit {\n\n @Input() advancedSearchBy;\n @Output() advancedSearchByChange = new EventEmitter();\n\n @Input() name;\n @Output() nameChange = new EventEmitter();\n\n @Input() input;\n\n @Output() onSearch = new EventEmitter();\n @Output() onClear = new EventEmitter();\n \n public items;\n public currentIdx = 0;\n private filter;\n\n constructor(private api: ApiService, private gtm: GtmService) { }\n \n ngOnInit(): void {\n let items = [];\n\n this.api.getFilter().subscribe((filter) => {\n this.filter = filter;\n for (let root of filter) {\n if (root.title === 'Problem' || root.title === 'Analysis' || root.title === 'Outcomes') {\n for (let section of root.sections) {\n for (let subsection of section.subsections) {\n for (let item of subsection.items) {\n item.checked = false;\n if (!item.num) {\n item.num = 0;\n }\n if (item.items) {\n for (let subitem of item.items) {\n subitem.checked = false;\n if (!subitem.num) {\n subitem.num = 0;\n }\n }\n }\n }\n }\n }\n items.push(root);\n }\n }\n this.items = items;\n });\n }\n\n setAdvancedSearchBy(value) {\n this.advancedSearchBy = value;\n this.advancedSearchByChange.emit(value);\n }\n\n onNameChange() {\n this.nameChange.emit(this.name);\n }\n\n prev(e) {\n e.preventDefault();\n this.currentIdx--;\n }\n\n next(e) {\n e.preventDefault();\n\n if (this.currentIdx < 2) {\n this.currentIdx++;\n } else {\n this.onSearch.emit(this.filter);\n }\n }\n\n update() {\n setTimeout(() => { \n this.api.getTools(null, null, null, null, null, this.filter, null).subscribe((result) => {\n let items = [];\n \n for (let rootKey of Object.keys(this.filter)) {\n for (let sectionKey of Object.keys(this.filter[rootKey].sections)) {\n for (let subsectionKey of Object.keys(this.filter[rootKey].sections[sectionKey].subsections)) {\n for (let itemKey of Object.keys(this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items)) {\n if (result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey] && result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num) {\n this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num = result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num;\n } else {\n this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].num = 0;\n }\n if (this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items) {\n for (let subitemKey of Object.keys(this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items)) {\n if (result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items && result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey] && result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num) {\n this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num = \n result.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num;\n } else {\n this.filter[rootKey].sections[sectionKey].subsections[subsectionKey].items[itemKey].items[subitemKey].num = 0;\n }\n }\n }\n }\n }\n }\n }\n for (let root of this.filter) {\n if (root.title === 'Problem' || root.title === 'Analysis' || root.title === 'Outcomes') {\n for (let section of root.sections) {\n for (let subsection of section.subsections) {\n for (let item of subsection.items) {\n if (!item.num) {\n item.num = 0;\n }\n if (item.items) {\n for (let subitem of item.items) {\n if (!subitem.num) {\n subitem.num = 0;\n }\n }\n }\n }\n }\n }\n items.push(root);\n }\n }\n this.items = items;\n });\n });\n }\n\n search() {\n this.gtm.push({\n event: 'advanced-search-by-name-or-id',\n data: this.name\n });\n this.onSearch.emit();\n }\n\n clearFilters(section) {\n for (let root of this.items) {\n if (root.title !== section) {\n continue;\n }\n for (let section of root.sections) {\n if (section.checked) {\n section.checked = false;\n }\n for (let subsection of section.subsections) {\n if (subsection.checked) {\n subsection.checked = false;\n }\n for (let item of subsection.items) {\n if (item.checked) {\n item.checked = false;\n }\n if (item.items) {\n for (let subitem of item.items) {\n if (subitem.checked) {\n subitem.checked = false;\n }\n }\n }\n }\n }\n }\n }\n }\n\n filterNum(section) {\n let num = 0;\n \n for (let root of this.items) {\n if (root.title !== section) {\n continue;\n }\n for (let section of root.sections) {\n if (section.checked) {\n num++;\n }\n for (let subsection of section.subsections) {\n if (subsection.checked) {\n num++;\n }\n for (let item of subsection.items) {\n if (item.checked) {\n num++;\n }\n if (item.items) {\n for (let subitem of item.items) {\n if (subitem.checked) {\n num++;\n }\n }\n }\n }\n }\n }\n }\n return num;\n }\n\n listFilters(section) {\n let items = [];\n for (let root of this.items) {\n if (root.title !== section) {\n continue;\n }\n for (let section of root.sections) {\n if (section.checked) {\n items.push(section);\n }\n for (let subsection of section.subsections) {\n if (subsection.checked) {\n items.push(subsection);\n }\n for (let item of subsection.items) {\n if (item.checked) {\n items.push(item);\n }\n if (item.items) {\n for (let subitem of item.items) {\n if (subitem.checked) {\n items.push(subitem);\n }\n }\n }\n }\n }\n }\n return items;\n }\n }\n\n removeItem(section, forRemoval) {\n for (let root of this.items) {\n if (root.title !== section) {\n continue;\n }\n for (let section of root.sections) {\n if (section.checked && section.title == forRemoval.title) {\n section.checked = false;\n }\n for (let subsection of section.subsections) {\n if (subsection.checked && subsection.title == forRemoval.title) {\n subsection.checked = false;\n }\n for (let item of subsection.items) {\n if (item.checked && item.title == forRemoval.title) {\n item.checked = false;\n }\n if (item.items) {\n for (let subitem of item.items) {\n if (subitem.checked && subitem.title == forRemoval.title) {\n subitem.checked = false;\n }\n }\n }\n }\n }\n }\n }\n }\n\n clear() {\n this.onClear.emit();\n this.currentIdx = 0;\n this.items = [];\n }\n}\n","
\n
\n
    \n
  • Search by criteria
  • \n
  • Search by name or id
  • \n
\n
\n
\n DSS Name or Id\n \n
\n
\n Search\n
\n
\n
\n
\n \n
\n

What problem are you solving?

0\" (click)=\"clearFilters('Problem')\">CLEAR CHOICES ({{filterNum('Problem')}})
\n\n \n
\n
\n

What implementation would you like to use?

0\" (click)=\"clearFilters('Analysis')\">CLEAR CHOICES ({{filterNum('Analysis')}})
\n\n \n
\n
\n

What output do you prefer?

0\" (click)=\"clearFilters('Outcomes')\">CLEAR CHOICES ({{filterNum('Outcomes')}})
\n\n \n
\n
\n \n
\n
\n\n
\n
\n
\n
\n DSS Name or Id\n \n
\n
\n Search\n
\n
\n
\n \n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n\n public roleItems = [\n {\"id\": 1, \"name\": \"Owner / Developer\"},\n {\"id\": 2, \"name\": \"User: Farmer\"},\n {\"id\": 3, \"name\": \"User: Adviser\"},\n {\"id\": 4, \"name\": \"User: Researcher\"},\n {\"id\": 5, \"name\": \"Other\"}\n ];\n\n constructor(private http: HttpClient) { }\n\n isValidEmail(email) {\n const mailformat = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\n return email.match(mailformat) !== null;\n }\n\n getCountries() {\n return this.http.get(\"/api/countries\");\n }\n\n getCrops() {\n return this.http.get(\"/api/crops\");\n }\n\n getDiseases() {\n return this.http.get(\"/api/pest-diseases\");\n }\n\n getPests() {\n return this.http.get(\"/api/pests\");\n }\n\n getLanguages() {\n return this.http.get(\"/api/languages\");\n }\n\n getTools(name, countries, crops, pests, languages, advancedFilter, filter) {\n return this.http.post(\"/api/tools\", {\n name,\n countries,\n crops,\n pests,\n languages,\n advancedFilter,\n filter\n }).pipe(\n map((res:any) => {\n res.results = res.results.map(t => {\n t.geographic_focus = [];\n if (t.geographic_focus_neu) {\n t.geographic_focus.push(\"Northern Europe\");\n }\n if (t.geographic_focus_ceu) {\n t.geographic_focus.push(\"Central Europe\");\n }\n if (t.geographic_focus_seu) {\n t.geographic_focus.push(\"Southern Europe\");\n }\n return t;\n });\n\n res.filter = res.filter.map(f => {\n f.class = this.toCamelCase(f.title);\n for (let section of f.sections) {\n section.class = this.toCamelCase(section.title);\n for (let subsection of section.subsections) {\n subsection.class = this.toCamelCase(subsection.title);\n }\n }\n return f;\n });\n \n return res;\n })\n );\n }\n\n toCamelCase(inStr) {\n let words = inStr.split(\" \");\n let ret = words.shift().toLowerCase();\n\n for (let word of words) {\n ret += word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n }\n\n return ret;\n }\n\n getFilter() {\n return this.http.get(\"/api/tools/filter\").pipe(\n map((filter:any) => filter.map(f => {\n f.class = this.toCamelCase(f.title);\n for (let section of f.sections) {\n section.class = this.toCamelCase(section.title);\n for (let subsection of section.subsections) {\n subsection.class = this.toCamelCase(subsection.title);\n }\n }\n return f;\n }))\n );\n }\n\n submitTool(firstname, lastname, email, role, comment, dssName, link, owner) {\n let tool = {firstname, lastname, email, role, comment, dssName, link, owner}\n return this.http.post(\"/api/tools/new\", tool);\n }\n\n submitReport(id, firstname, lastname, email, role, comment) {\n let report = {firstname, lastname, email, role, comment}\n return this.http.put(\"/api/tools/\" + id, report);\n }\n\n getSync() {\n return this.http.get(\"/api/sync/latest\");\n }\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\nimport { ApiService } from '../../api.service';\n\n@Component({\n selector: 'app-quick-search',\n templateUrl: './quick-search.component.html',\n styleUrls: ['./quick-search.component.scss']\n})\nexport class QuickSearchComponent implements OnInit {\n @Input() showBrowse;\n @Input() selectedCountries;\n @Input() selectedCrops;\n @Input() selectedPests;\n @Input() selectedLanguages;\n @Output() onSearch = new EventEmitter();\n @Output() onBrowse = new EventEmitter();\n\n public countries;\n public crops;\n public pests;\n public languages;\n\n constructor(private api: ApiService) { }\n\n ngOnInit(): void {\n this.api.getCountries().subscribe((countries:any) => {\n this.countries = countries.map(c=>({\"id\":c.country_id, \"value\":c.name}));\n });\n this.api.getCrops().subscribe((crops:any) => {\n this.crops = crops.map(c=>({\"id\":c.pest_disease_id, \"value\":c.name}));\n });\n this.api.getDiseases().subscribe((pests:any) => {\n this.pests = pests.map(c=>({\"id\":c.pest_disease_id, \"value\":c.name}));\n });\n this.api.getLanguages().subscribe((languages:any) => {\n this.languages = languages.map(c=>({\"id\":c.language_id, \"value\":c.name}));\n });\n }\n\n search() {\n this.onSearch.emit();\n }\n\n browse() {\n this.onBrowse.emit();\n }\n}\n","
\n
\n
    \n
  • \n Country \n \n
  • \n
  • \n Crop \n \n
  • \n
  • \n Pest \n \n
  • \n
  • \n Language \n \n
  • \n
  • \n Search\n
  • \n
\n
\n \n
\n
\n
"],"sourceRoot":"webpack:///"}