{"version":3,"sources":["webpack:///./wwwroot/src/js/store/modules/field-record-system/map-management/zone-map-import.js","webpack:///./wwwroot/src/js/store/modules/field-record-system/map-management/soil-map-import.js","webpack:///./wwwroot/src/js/store/modules/field-record-system/map-management/zone-map-additional-values.js","webpack:///./wwwroot/src/js/store/modules/field-record-system/map-management/index.js"],"names":["zone_map_import","namespaced","state","name","features","generatedAt","idColumn","originalZoneMapId","getters","availableColumns","uniq","reduce","columns","feature","concat","Object","keys","properties","mutations","_objectSpread","makeSetters","startImport","setName","actions","startZoneMapImport","_ref","featuresOrCollection","commit","root","finishImport","_finishImport","asyncToGenerator","regeneratorRuntime","mark","_callee","_ref2","rootGetters","rootState","dto","fieldId","harvestYear","wrap","_context","prev","next","featureCollection","type","fieldRecordSystem","userSettings","smarterPost","id","stop","_x","apply","this","arguments","soil_map_import","soilMapTypes","mapType","soil_map_import_objectSpread","setMapName","fieldCode","data","field","code","fieldName","translate","startSoilMapImport","dispatch","_ref3","category","zone_map_additional_values","values","originalValues","zone_map_additional_values_objectSpread","startEditing","cloneDeep","setupEditValues","zoneMapId","smarterGet","inputs","onResult","zoneValues","forEach","zoneData","zoneId","_i","_arr","length","key","copyFrom","_ref4","sourceZoneMapId","targetZoneMapId","axios","put","save","_ref5","mapId","map","pwc","acreRatio","waterAvailability","getUniqueMaps","fields","orgUnits","mapIdsByFieldId","mapLookup","maps","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","Symbol","iterator","done","value","mapIds","err","return","orgUnitIds","x","filter","includes","orgUnitId","makeMapLookup","seenMaps","lookup","mergeMaps","map_management_objectSpread","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","existingMap","mergeMapIds","toConsumableArray","Set","geometryTypes","getMapType","_geometryTypes","defaults","applicationMap","soilMap","zoneMap","nutrientMap","fieldBorder","mapIdsForDownload","ui","detailsType","selectionMode","selectionActive","selectionType","selection","groupByFields","showFieldsWithoutMaps","zoneMapSorting","applicationMapSorting","soilMapSorting","newMapName","heterogenity","zoneMapPalette","zoneMapPalettes","applicationMapPalette","applicationMapPalettes","showInactiveZoneMaps","toggledMapMenu","openSection","openSubSection","openSubSectionFieldId","moduleFilter","cropUsageFilter","dateTimeFilter","mapTypeFilter","fieldSearchResult","cropUsageByFieldFilter","filterIsLoading","scheduledRemovalLookup","__webpack_exports__","relevantOrgUnits","relevantFields","entityLookup","fieldIdsByMapId","_i2","_geometryTypes2","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","push","mapsByType","obj","mapsByFieldIdByType","_i3","_geometryTypes3","subLookup","selectedMapsByType","productTypeLookup","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","product","reset","assign","setFilterValue","options","selectedValue","removeCropUsageFilter","filterOption","index","indexOf","splice","toggleSubSection","_ref2$fieldId","subSection","setOpenSection","section","setGroupByFields","startRename","finishRename","cancelRename","startHeterogenityChange","finishHeterogenityChange","cancelHeterogenityChange","startBatchDownload","finishBatchOperation","clearSelection","toggleCheckbox","toggleSelection","selectMultiple","ids","Error","deselectMultiple","_ref6","updateInitialMapDataForField","_ref7","Vue","set","updateInitialMapDataForOrgUnit","_ref8","mergedIds","updateMapDetails","_ref9","details","scheduleRemoval","timestamp","Date","now","newEntries","fromPairs","unscheduleRemoval","omit","removeMaps","_ref10","_state$data$type","fieldIds","delete","setZoneMapActivation","_ref11","isActive","isDemo","active","loadAllMaps","_loadAllMaps","_ref12","currentFieldId","abrupt","Promise","all","then","loadAvailableZoneMapInfosForOrgUnitId","_loadAvailableZoneMapInfosForOrgUnitId","_callee2","_ref13","_context2","console","error","expiry","_ref14","zoneMaps","zoneMapIdsByFieldId","_x2","_x3","loadAvailableNutrientMapInfosForOrgUnitId","_loadAvailableNutrientMapInfosForOrgUnitId","_callee3","_ref15","_harvestYear","_context3","_ref16","nutrientMaps","nutrientMapIdsByFieldId","t0","response","status","_x4","_x5","loadAvailableApplicationMapsForOrgUnit","_loadAvailableApplicationMapsForOrgUnit","_callee4","_ref17","_context4","_ref18","applicationMaps","applicationMapIdsByFieldId","_x6","_x7","loadSoilMapsForOrgUnitId","_loadSoilMapsForOrgUnitId","_callee5","_ref19","_context5","_ref20","soilMaps","soilMapIdsByFieldId","_x8","_x9","loadGeometriesForOrgUnit","_ref21","fieldIdLookup","defineProperty","toObject","geometry","parse","wkt","loadAvailableZoneMaps","_loadAvailableZoneMaps","_callee6","_ref23","_context6","_x10","_x11","loadNutrientMaps","_loadNutrientMaps","_callee7","_ref24","_harvestYear2","_context7","_x12","_x13","loadAvailableApplicationMapsForField","_loadAvailableApplicationMapsForField","_callee8","_ref25","_context8","_x14","_x15","loadSoilMapsForField","_loadSoilMapsForField","_callee9","_ref26","_context9","_x16","_x17","loadGeometryForField","_ref27","fieldData","loadZoneMapDetails","_loadZoneMapDetails","_callee10","_ref28","_context10","_x18","_x19","loadNutrientMapDetails","_loadNutrientMapDetails","_callee11","_ref29","_context11","nutrientMapId","mapDetails","_x20","_x21","loadApplicationMapDetails","_loadApplicationMapDetails","_callee12","_ref30","applicationMapId","_context12","_x22","_x23","loadSoilMapDetails","_loadSoilMapDetails","_callee13","_ref31","_context13","soilMapId","_x24","_x25","loadInterpolationMapsForField","_loadInterpolationMapsForField","_callee14","_ref32","_context14","_x26","_x27","loadInterpolationMapsByOrgUnitId","_loadInterpolationMapsByOrgUnitId","_callee15","_ref33","_context15","_ref34","interpolationMaps","interpolationMapIdsByFieldId","_x28","_x29","executeBatchDownload","_ref35","checkScheduledRemovals","_ref36","pickBy","_removeMaps","_callee16","_ref37","_ref38","applicationMapIds","zoneMapIds","nutrientMapIds","soilMapIds","sensorDataIds","_context16","post","_x30","_x31","_finishRename","_callee17","_ref39","url","_context17","t1","_x32","_ref40","_startHeterogenityChange","_callee18","_ref41","_context18","_x33","_x34","_finishHeterogenityChange","_callee19","_ref42","_context19","_x35","_ref43","activateZoneMap","_activateZoneMap","_callee20","_ref44","_ref45","_context20","_x36","_x37","deactivateZoneMap","_deactivateZoneMap","_callee21","_ref46","_ref47","_context21","_x38","_x39","saveModifiedZoneMap","_saveModifiedZoneMap","_callee22","_ref48","_ref49","newName","geometriesByZoneId","_context22","_x40","_x41","invalidateLoadAllMaps","_ref50","modules","zoneMapImport","soilMapImport","zoneMapAdditionalValues"],"mappings":"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","file":"js/chunk-2d0da915.56889589.js","sourcesContent":["import {uniq} from 'lodash'\r\n\r\nimport {smarterPost} from '@helpers/vuex/data-loading'\r\nimport {makeSetters} from '@helpers/vuex/mutations'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n name: '',\r\n features: [],\r\n generatedAt: null,\r\n idColumn: null,\r\n originalZoneMapId: null\r\n },\r\n getters: {\r\n availableColumns (state) {\r\n return uniq(state.features.reduce((columns, feature) => columns.concat(Object.keys(feature.properties)), []))\r\n }\r\n },\r\n mutations: {\r\n ...makeSetters([\r\n 'name',\r\n 'generatedAt',\r\n 'idColumn',\r\n 'originalZoneMapId'\r\n ]),\r\n startImport (state, features) {\r\n state.name = ''\r\n state.features = features\r\n state.generatedAt = null\r\n state.idColumn = null\r\n state.originalZoneMapId = null\r\n },\r\n setName (state, name) {\r\n state.name = name\r\n }\r\n },\r\n actions: {\r\n startZoneMapImport ({commit}, featuresOrCollection) {\r\n commit('startImport', featuresOrCollection.features || featuresOrCollection)\r\n\r\n commit('fieldRecordSystem/setRightView', 'zoneMapImportSettings', {root: true})\r\n },\r\n async finishImport ({state, commit, rootGetters, rootState}) {\r\n const {name, generatedAt, idColumn, features, originalZoneMapId} = state\r\n\r\n const dto = {\r\n name,\r\n generatedAt,\r\n idColumn,\r\n originalZoneMapId,\r\n featureCollection: {\r\n type: 'FeatureCollection',\r\n features\r\n }\r\n }\r\n\r\n const fieldId = rootGetters['fieldRecordSystem/fieldId']\r\n const harvestYear = rootState.fieldRecordSystem.userSettings.harvestYear\r\n await smarterPost(`/api/v2/entities/fields/${fieldId}/zone-maps/${harvestYear}`, dto, {\r\n id: 'frs.mapManagement.zoneMapImport'\r\n })\r\n }\r\n }\r\n}\r\n","import {uniq} from 'lodash'\r\n\r\nimport {smarterPost} from '@helpers/vuex/data-loading'\r\nimport {makeSetters} from '@helpers/vuex/mutations'\r\n\r\nimport translate from 'src/js/i18n/translate'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n soilMapTypes: [\r\n 'pH',\r\n 'soilGroup',\r\n 'soilEstimation',\r\n 'clayContent',\r\n 'humusContent',\r\n 'caORequiredNutrient'\r\n ],\r\n name: '',\r\n features: [],\r\n generatedAt: null,\r\n idColumn: null,\r\n mapType: null\r\n },\r\n getters: {\r\n availableColumns (state) {\r\n return uniq(state.features.reduce((columns, feature) => columns.concat(Object.keys(feature.properties)), []))\r\n }\r\n },\r\n mutations: {\r\n ...makeSetters([\r\n 'name',\r\n 'generatedAt',\r\n 'idColumn',\r\n 'mapType'\r\n ]),\r\n startImport (state, features) {\r\n state.name = ''\r\n state.features = features\r\n state.generatedAt = null\r\n state.idColumn = null\r\n }\r\n },\r\n actions: {\r\n setMapName ({commit, state, rootState, rootGetters}) {\r\n const fieldId = rootGetters['fieldRecordSystem/fieldId']\r\n if (fieldId) {\r\n let fieldCode = rootState.fieldRecordSystem.data.field[fieldId].code\r\n fieldCode = fieldCode ? `${fieldCode}_` : ''\r\n const fieldName = rootGetters['fieldRecordSystem/fieldName']\r\n const harvestYear = rootGetters['fieldRecordSystem/harvestYear']\r\n\r\n if (!state.mapType) {\r\n commit('setName', `${fieldCode}${fieldName}_${harvestYear}`)\r\n } else {\r\n commit('setName', `${fieldCode}${fieldName}_${translate(`frs.mapManagement.soilMapImport.labels.mapType_${state.mapType}`)}_${harvestYear}`)\r\n }\r\n } else {\r\n commit('setName', '')\r\n }\r\n },\r\n startSoilMapImport ({commit, dispatch, state, rootState, rootGetters}, featuresOrCollection) {\r\n commit('startImport', featuresOrCollection.features || featuresOrCollection)\r\n\r\n commit('fieldRecordSystem/setRightView', 'soilMapImportSettings', {root: true})\r\n\r\n dispatch('setMapName')\r\n },\r\n async finishImport ({state, commit, rootGetters, rootState}) {\r\n const {name, generatedAt, idColumn, features, mapType} = state\r\n\r\n const dto = {\r\n name,\r\n generatedAt,\r\n idColumn,\r\n category: mapType,\r\n featureCollection: {\r\n type: 'FeatureCollection',\r\n features\r\n }\r\n }\r\n\r\n const fieldId = rootGetters['fieldRecordSystem/fieldId']\r\n const harvestYear = rootState.fieldRecordSystem.userSettings.harvestYear\r\n await smarterPost(`/api/v2/entities/fields/${fieldId}/soil-maps/${harvestYear}`, dto, {\r\n id: 'frs.mapManagement.zoneMapImport'\r\n })\r\n }\r\n }\r\n}\r\n","import {cloneDeep} from 'lodash'\r\nimport axios from 'axios'\r\n\r\nimport {makeSetters} from '@helpers/vuex/mutations'\r\nimport {smarterGet} from '@helpers/vuex/data-loading'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n values: null, // {[zoneId]: pwc: value, acreRatio: value, waterAvailability: value}\r\n originalValues: null\r\n },\r\n mutations: {\r\n ...makeSetters([\r\n 'values'\r\n ]),\r\n startEditing (state, {values}) {\r\n state.values = values\r\n state.originalValues = cloneDeep(values)\r\n }\r\n },\r\n actions: {\r\n setupEditValues ({commit, rootState}, zoneMapId) {\r\n smarterGet('/api/v2/zone-maps/{zoneMapId}/additional-values', {\r\n id: 'frs.mapManagement.additionalValues.load',\r\n inputs: {\r\n zoneMapId: () => zoneMapId\r\n },\r\n onResult (data) {\r\n const values = {}\r\n\r\n data.zoneValues.forEach(zoneData => {\r\n values[zoneData.zoneId] = {}\r\n\r\n for (const key of ['waterAvailability', 'acreRatio', 'pwc']) {\r\n values[zoneData.zoneId][key] = zoneData[key]\r\n }\r\n })\r\n\r\n commit('startEditing', {values})\r\n }\r\n })\r\n },\r\n copyFrom ({rootState}, {sourceZoneMapId, targetZoneMapId}) {\r\n return axios.put(`/api/v2/zone-maps/${targetZoneMapId}/additional-values/from/${sourceZoneMapId}`)\r\n },\r\n save ({state, dispatch, rootState}, mapId) {\r\n const dto = {\r\n zoneValues: Object.keys(state.values).map(zoneId => ({\r\n zoneId,\r\n pwc: state.values[zoneId].pwc,\r\n acreRatio: state.values[zoneId].acreRatio,\r\n waterAvailability: state.values[zoneId].waterAvailability\r\n }))\r\n }\r\n axios.put(`/api/v2/zone-maps/${mapId}/additional-values`, dto)\r\n }\r\n }\r\n}\r\n","import Vue from 'vue'\r\nimport axios from 'axios'\r\nimport {omit, fromPairs, pickBy} from 'lodash'\r\nimport parse from 'wellknown'\r\n\r\nimport {makeSetters} from '@helpers/vuex/mutations'\r\nimport {smarterGet} from '@helpers/vuex/data-loading'\r\nimport {toObject} from '@helpers/reducers'\r\n\r\nimport zoneMapImport from './zone-map-import'\r\nimport soilMapImport from './soil-map-import'\r\nimport zoneMapAdditionalValues from './zone-map-additional-values'\r\n\r\nconst getUniqueMaps = (fields, orgUnits, mapIdsByFieldId, mapLookup) => {\r\n const maps = {}\r\n\r\n for (const field of fields) {\r\n const mapIds = mapIdsByFieldId[field.id]\r\n\r\n if (!mapIds) continue\r\n\r\n mapIds.forEach(id => {\r\n maps[id] = mapLookup[id]\r\n })\r\n }\r\n\r\n const orgUnitIds = orgUnits.map(x => x.id)\r\n Object.keys(mapLookup)\r\n .map(id => mapLookup[id])\r\n .filter(map => !maps[map.id] && orgUnitIds.includes(map.orgUnitId))\r\n .forEach(map => {\r\n maps[map.id] = map\r\n })\r\n\r\n return Object.values(maps)\r\n}\r\n\r\nconst makeMapLookup = (fields, orgUnits, mapIdsByFieldId, mapLookup) => {\r\n const seenMaps = {}\r\n const orgUnitIds = orgUnits.map(x => x.id)\r\n\r\n const lookup = fields.reduce((lookup, field) => {\r\n const mapIds = mapIdsByFieldId[field.id] || []\r\n\r\n mapIds.forEach(id => {\r\n seenMaps[id] = true\r\n })\r\n\r\n lookup[field.id] = mapIds.map(id => mapLookup[id])\r\n return lookup\r\n }, {})\r\n\r\n lookup['orphaned'] = Object.keys(mapLookup)\r\n .map(id => mapLookup[id])\r\n .filter(x => !seenMaps[x.id] && orgUnitIds.includes(x.orgUnitId))\r\n\r\n return lookup\r\n}\r\n\r\nconst mergeMaps = (lookup, maps) => {\r\n lookup = {...lookup}\r\n\r\n for (const map of maps) {\r\n const existingMap = lookup[map.id] || {}\r\n\r\n lookup[map.id] = {...existingMap, ...map}\r\n }\r\n\r\n return lookup\r\n}\r\n\r\nconst mergeMapIds = (lookup, fieldId, mapIds) => {\r\n return lookup && lookup[fieldId]\r\n ? [...new Set(mapIds.concat(lookup[fieldId]))]\r\n : mapIds\r\n}\r\n\r\nconst geometryTypes = ['applicationMap', 'zoneMap', 'nutrientMap', 'soilMap', 'fieldBorder']\r\n\r\nconst getMapType = (state, id) => {\r\n for (const type of geometryTypes) {\r\n if (id in state.data[type].mapLookup) {\r\n return type\r\n }\r\n }\r\n}\r\n\r\nconst defaults = () => ({\r\n data: {\r\n applicationMap: {\r\n mapIdsByFieldId: {},\r\n mapLookup: {}\r\n },\r\n soilMap: {\r\n mapIdsByFieldId: {},\r\n mapLookup: {}\r\n },\r\n zoneMap: {\r\n mapIdsByFieldId: {},\r\n mapLookup: {}\r\n },\r\n nutrientMap: {\r\n mapIdsByFieldId: {},\r\n mapLookup: {}\r\n },\r\n fieldBorder: {\r\n mapIdsByFieldId: {},\r\n mapLookup: {}\r\n }\r\n },\r\n mapIdsForDownload: [],\r\n ui: {\r\n detailsType: 'applicationMap',\r\n // multiple selection\r\n selectionMode: 'single', // delete, download\r\n selectionActive: false,\r\n selectionType: null, // applicationMap, zoneMap, nutrientMap, fieldBorder\r\n selection: null,\r\n mapId: null,\r\n // other ui stuff\r\n groupByFields: false,\r\n showFieldsWithoutMaps: false,\r\n zoneMapSorting: 'date', // name, date\r\n applicationMapSorting: 'module', // module, application, cultivation\r\n soilMapSorting: 'module', // module, application, cultivation\r\n newMapName: null,\r\n heterogenity: undefined,\r\n zoneMapPalette: 'agrosat',\r\n zoneMapPalettes: ['relative', 'agrosat', 'autoZoneMapDebug', 'pastel'],\r\n applicationMapPalette: 'agrosat',\r\n applicationMapPalettes: ['relative', 'agrosat'],\r\n showInactiveZoneMaps: true,\r\n\r\n toggledMapMenu: null,\r\n openSection: null,\r\n openSubSection: null,\r\n openSubSectionFieldId: null,\r\n\r\n moduleFilter: null,\r\n cropUsageFilter: null,\r\n dateTimeFilter: null,\r\n mapTypeFilter: null,\r\n fieldSearchResult: [],\r\n cropUsageByFieldFilter: [],\r\n filterIsLoading: false,\r\n\r\n scheduledRemovalLookup: {}\r\n }\r\n})\r\n\r\nexport default {\r\n namespaced: true,\r\n state: defaults(),\r\n getters: {\r\n relevantOrgUnits (state, getters, rootState, rootGetters) {\r\n const fieldId = rootGetters['fieldRecordSystem/fieldId']\r\n return fieldId ? [] : rootGetters['fieldRecordSystem/orgUnitsForSelectedOrgUnit']\r\n },\r\n relevantFields (state, getters, rootState, rootGetters) {\r\n const fieldId = rootGetters['fieldRecordSystem/fieldId']\r\n const entityLookup = rootGetters['fieldRecordSystem/entityLookup']\r\n return fieldId\r\n ? [entityLookup[fieldId]]\r\n : rootGetters['fieldRecordSystem/fieldsForCurrentOrgUnit']\r\n },\r\n fieldIdsByMapId (state) {\r\n const lookup = {}\r\n\r\n for (const type of geometryTypes) {\r\n const mapIdsByFieldId = state.data[type].mapIdsByFieldId\r\n for (const fieldId in mapIdsByFieldId) {\r\n for (const mapId of mapIdsByFieldId[fieldId]) {\r\n if (!lookup[mapId]) {\r\n lookup[mapId] = []\r\n }\r\n lookup[mapId].push(fieldId)\r\n }\r\n }\r\n }\r\n\r\n return lookup\r\n },\r\n mapsByType (state, getters) {\r\n return geometryTypes.reduce((obj, type) => {\r\n obj[type] = getUniqueMaps(getters.relevantFields, getters.relevantOrgUnits, state.data[type].mapIdsByFieldId, state.data[type].mapLookup)\r\n return obj\r\n }, {})\r\n },\r\n mapsByFieldIdByType (state, getters) {\r\n return geometryTypes.reduce((obj, type) => {\r\n obj[type] = makeMapLookup(getters.relevantFields, getters.relevantOrgUnits, state.data[type].mapIdsByFieldId, state.data[type].mapLookup)\r\n return obj\r\n }, {})\r\n },\r\n mapLookup (state) {\r\n const lookup = {}\r\n\r\n for (const type of geometryTypes) {\r\n const subLookup = state.data[type].mapLookup\r\n for (const key in subLookup) {\r\n lookup[key] = subLookup[key]\r\n }\r\n }\r\n\r\n return lookup\r\n },\r\n selectedMapsByType (state) {\r\n const lookup = geometryTypes.reduce((lookup, type) => {\r\n lookup[type] = []\r\n return lookup\r\n }, {})\r\n\r\n state.mapIdsForDownload.forEach(id => {\r\n const type = getMapType(state, id)\r\n const map = state.data[type].mapLookup[id]\r\n lookup[type].push(map)\r\n })\r\n\r\n return lookup\r\n },\r\n productTypeLookup (state, getters, rootState, rootGetters) {\r\n const lookup = {}\r\n\r\n for (const product of rootGetters['masterData/productArray']) {\r\n lookup[product.id] = product.type\r\n }\r\n\r\n return lookup\r\n },\r\n applicationMapPalette (state) {\r\n return state.ui.applicationMapPalette\r\n },\r\n zoneMapPalette (state) {\r\n return state.ui.zoneMapPalette\r\n }\r\n },\r\n mutations: {\r\n ...makeSetters([\r\n 'ui.selectionType',\r\n 'ui.selection',\r\n 'ui.showFieldsWithoutMaps',\r\n 'ui.zoneMapSorting',\r\n 'ui.applicationMapSorting',\r\n 'ui.soilMapSorting',\r\n 'ui.showZoneMapConverterModal',\r\n 'ui.showApplicationMapConverterModal',\r\n 'ui.newMapName',\r\n 'ui.heterogenity',\r\n 'ui.zoneMapPalette',\r\n 'ui.applicationMapPalette',\r\n 'ui.toggledMapMenu',\r\n 'ui.showInactiveZoneMaps',\r\n 'ui.moduleFilter',\r\n 'ui.mapTypeFilter',\r\n 'ui.cropUsageFilter',\r\n 'ui.dateTimeFilter',\r\n 'ui.fieldSearchResult',\r\n 'ui.cropUsageByFieldFilter',\r\n 'ui.filterIsLoading'\r\n ]),\r\n reset (state) {\r\n Object.assign(state, defaults())\r\n },\r\n setFilterValue (state, {options, type}) {\r\n const selectedValue = state.ui[`${type}Filter`]\r\n if (!options.includes(selectedValue)) {\r\n state.ui[`${type}Filter`] = null\r\n }\r\n },\r\n removeCropUsageFilter (state, filterOption) {\r\n const index = state.ui.cropUsageByFieldFilter.indexOf(filterOption)\r\n if (index > -1) {\r\n state.ui.cropUsageByFieldFilter.splice(index, 1)\r\n }\r\n },\r\n toggleSubSection (state, {fieldId = null, subSection}) {\r\n if (state.ui.openSubSection === subSection && state.ui.openSubSectionFieldId === fieldId) {\r\n state.ui.openSubSectionFieldId = null\r\n state.ui.openSubSection = null\r\n } else {\r\n state.ui.openSubSectionFieldId = fieldId\r\n state.ui.openSubSection = subSection\r\n }\r\n },\r\n setOpenSection (state, section) {\r\n state.ui.openSection = section\r\n state.ui.openSubSection = null\r\n state.ui.openSubSectionFieldId = null\r\n },\r\n setGroupByFields (state, value) {\r\n state.ui.groupByFields = value\r\n state.ui.openSubSection = null\r\n state.ui.openSubSectionFieldId = null\r\n },\r\n startRename (state, mapId) {\r\n const type = getMapType(state, mapId)\r\n\r\n state.ui.mapId = mapId\r\n state.ui.selectionType = type\r\n\r\n state.ui.newMapName = state.data[type].mapLookup[mapId].name\r\n },\r\n finishRename (state) {\r\n const mapId = state.ui.mapId\r\n\r\n const type = getMapType(state, mapId)\r\n state.data[type].mapLookup[mapId].name = state.ui.newMapName\r\n state.ui.newMapName = null\r\n },\r\n cancelRename (state) {\r\n state.ui.newMapName = null\r\n },\r\n startHeterogenityChange (state, mapId) {\r\n state.ui.mapId = mapId\r\n state.ui.heterogenity = state.data.zoneMap.mapLookup[mapId].heterogenity || null\r\n },\r\n finishHeterogenityChange (state) {\r\n const mapId = state.ui.mapId\r\n\r\n state.data.zoneMap.mapLookup[mapId].heterogenity = state.ui.heterogenity\r\n state.ui.heterogenity = undefined\r\n },\r\n cancelHeterogenityChange (state) {\r\n state.ui.heterogenity = undefined\r\n },\r\n startBatchDownload (state) {\r\n state.ui.selectionActive = true\r\n state.ui.selectionMode = 'download'\r\n },\r\n finishBatchOperation (state) {\r\n state.ui.selectionActive = false\r\n state.ui.selectionMode = 'single'\r\n // NOTE necessary to work around edge cases like selecting multiple map types during batchc delete and then switching to batch download\r\n state.ui.selectionType = null\r\n state.ui.selection = null\r\n state.mapIdsForDownload = []\r\n },\r\n clearSelection (state) {\r\n state.ui.selectionType = null\r\n state.ui.selection = null\r\n state.mapIdsForDownload = []\r\n },\r\n toggleCheckbox (state, {id, type}) {\r\n const index = state.mapIdsForDownload.indexOf(id)\r\n\r\n if (index > -1) {\r\n state.mapIdsForDownload.splice(index, 1)\r\n if (state.mapIdsForDownload.length === 0) {\r\n state.ui.selectionType = null\r\n }\r\n } else {\r\n state.mapIdsForDownload.push(id)\r\n state.ui.selectionType = type\r\n }\r\n },\r\n toggleSelection (state, {id, type}) {\r\n if (state.ui.selection && state.ui.selection.id === id) {\r\n state.ui.selection = null\r\n } else {\r\n state.ui.selection = {id, type}\r\n }\r\n },\r\n selectMultiple (state, {ids, type}) {\r\n if (state.ui.selectionMode === 'download' && state.ui.selectionType && type !== state.ui.selectionType) {\r\n throw new Error(`invalid selection: cannot select maps of type '${type}' when current selection is of type '${state.ui.selectionType}'`)\r\n }\r\n\r\n state.mapIdsForDownload = [...ids]\r\n state.ui.selectionType = type\r\n },\r\n deselectMultiple (state, {ids, type}) {\r\n if (state.ui.selectionMode === 'download' && state.ui.selectionType && type !== state.ui.selectionType) {\r\n throw new Error(`invalid selection: cannot deselect maps of type '${type}' when current selection is of type '${state.ui.selectionType}'`)\r\n }\r\n\r\n state.mapIdsForDownload = state.mapIdsForDownload.filter(id => !ids.includes(id))\r\n if (!state.mapIdsForDownload.length) {\r\n state.ui.selectionType = null\r\n }\r\n },\r\n updateInitialMapDataForField (state, {fieldId, maps, type}) {\r\n Vue.set(state.data[type].mapIdsByFieldId, fieldId, mergeMapIds(state.data[type].mapIdsByFieldId, fieldId, maps.map(x => x.id)))\r\n state.data[type].mapLookup = mergeMaps(state.data[type].mapLookup, maps)\r\n },\r\n updateInitialMapDataForOrgUnit (state, {maps, mapIdsByFieldId, type}) {\r\n Object.keys(mapIdsByFieldId).map(fieldId => {\r\n const mergedIds = mergeMapIds(state.data[type].mapIdsByFieldId, fieldId, mapIdsByFieldId[fieldId])\r\n Vue.set(state.data[type].mapIdsByFieldId, fieldId, mergedIds)\r\n })\r\n\r\n state.data[type].mapLookup = mergeMaps(state.data[type].mapLookup, maps)\r\n },\r\n updateMapDetails (state, {details, type}) {\r\n const lookup = state.data[type].mapLookup\r\n if (!lookup[details.id]) {\r\n throw new Error('cannot set details for map where metadata has not been set yet')\r\n }\r\n\r\n lookup[details.id] = {...lookup[details.id], ...details}\r\n },\r\n scheduleRemoval (state, mapIds) {\r\n const timestamp = Date.now() + 10000\r\n const newEntries = fromPairs(mapIds.map(id => [id, timestamp]))\r\n\r\n state.ui.scheduledRemovalLookup = Object.assign({}, state.ui.scheduledRemovalLookup, newEntries)\r\n },\r\n unscheduleRemoval (state, mapIds) {\r\n state.ui.scheduledRemovalLookup = omit(state.ui.scheduledRemovalLookup, mapIds)\r\n },\r\n removeMaps (state, {mapIds, fieldIdsByMapId}) {\r\n mapIds.forEach(id => {\r\n const type = getMapType(state, id)\r\n const {mapIdsByFieldId, mapLookup} = state.data[type]\r\n\r\n const fieldIds = fieldIdsByMapId[id]\r\n if (!fieldIds) {\r\n Vue.delete(mapLookup, id)\r\n } else {\r\n fieldIds.forEach(fieldId => {\r\n const index = mapIdsByFieldId[fieldId].indexOf(id)\r\n if (index >= 0) {\r\n mapIdsByFieldId[fieldId].splice(index, 1)\r\n }\r\n\r\n Vue.delete(mapLookup, id)\r\n })\r\n }\r\n\r\n state.ui.selection = null // state.ui.selection.filter(x => x !== id)\r\n })\r\n\r\n state.ui.scheduledRemovalLookup = omit(state.ui.scheduledRemovalLookup, mapIds)\r\n },\r\n setZoneMapActivation (state, {zoneMapId, isActive, isDemo}) {\r\n state.data.zoneMap.mapLookup[zoneMapId].active = isActive\r\n state.data.zoneMap.mapLookup[zoneMapId].isDemo = isDemo\r\n }\r\n },\r\n actions: {\r\n async loadAllMaps ({dispatch, commit, rootGetters}) {\r\n const currentFieldId = rootGetters['fieldRecordSystem/fieldId']\r\n const orgUnitId = rootGetters['fieldRecordSystem/orgUnitId']\r\n\r\n await dispatch('fieldRecordSystem/loadFieldGeometriesForCurrentOrgUnit', null, {root: true})\r\n\r\n if (currentFieldId) {\r\n return Promise.all([\r\n dispatch('loadAvailableZoneMaps', currentFieldId),\r\n dispatch('loadSoilMapsForField', currentFieldId),\r\n dispatch('loadNutrientMaps', currentFieldId),\r\n dispatch('loadAvailableApplicationMapsForField', currentFieldId),\r\n dispatch('loadGeometryForField', currentFieldId),\r\n dispatch('loadInterpolationMapsForField', currentFieldId)\r\n ])\r\n .then(() => {\r\n commit('clearSelection')\r\n })\r\n } else {\r\n return Promise.all([\r\n dispatch('loadAvailableZoneMapInfosForOrgUnitId', orgUnitId),\r\n dispatch('loadSoilMapsForOrgUnitId', orgUnitId),\r\n dispatch('loadAvailableNutrientMapInfosForOrgUnitId', orgUnitId),\r\n dispatch('loadAvailableApplicationMapsForOrgUnit', orgUnitId),\r\n dispatch('loadGeometriesForOrgUnit', orgUnitId),\r\n dispatch('loadInterpolationMapsByOrgUnitId', orgUnitId)\r\n ])\r\n .then(() => {\r\n commit('clearSelection')\r\n })\r\n }\r\n },\r\n async loadAvailableZoneMapInfosForOrgUnitId ({commit, rootState}, orgUnitId) {\r\n if (!orgUnitId) {\r\n console.error('try to call loadAvailableZoneMapInfosForOrgUnitId, but orgUnitId is null')\r\n }\r\n await smarterGet('/api/v2/entities/orgUnit/{orgUnitId}/zone-map-infos/{harvestYear}/by-field-id', {\r\n id: 'zoneMapInfos.forOrgUnit',\r\n expiry: 60,\r\n inputs: {\r\n orgUnitId: () => orgUnitId,\r\n harvestYear: () => rootState.fieldRecordSystem.userSettings.harvestYear\r\n },\r\n onResult ({zoneMaps: maps, zoneMapIdsByFieldId: mapIdsByFieldId}) {\r\n commit('updateInitialMapDataForOrgUnit', {maps, mapIdsByFieldId, type: 'zoneMap'})\r\n }\r\n })\r\n },\r\n async loadAvailableNutrientMapInfosForOrgUnitId ({commit, rootState}, orgUnitId) {\r\n const harvestYear = rootState.fieldRecordSystem.userSettings.harvestYear\r\n try {\r\n await smarterGet(\r\n '/api/v2/entities/orgUnit/{orgUnitId}/nutrient-map-infos/by-field-id/{harvestYear}',\r\n {\r\n id: 'nutrientMaps.forOrgUnit',\r\n expiry: 60,\r\n inputs: {\r\n orgUnitId: () => orgUnitId,\r\n harvestYear: () => harvestYear\r\n },\r\n onResult ({nutrientMaps, nutrientMapIdsByFieldId}) {\r\n commit('updateInitialMapDataForOrgUnit', {maps: nutrientMaps, mapIdsByFieldId: nutrientMapIdsByFieldId, type: 'nutrientMap'})\r\n }\r\n })\r\n } catch (error) {\r\n if (error.response && error.response.status === 403) {\r\n commit('dataLoading/invalidate', 'nutrientMaps.forOrgUnit', {root: true})\r\n commit('updateInitialMapDataForOrgUnit', {maps: [], mapIdsByFieldId: {}, type: 'nutrientMap'})\r\n } else {\r\n throw error\r\n }\r\n }\r\n },\r\n async loadAvailableApplicationMapsForOrgUnit ({commit, rootState}, orgUnitId) {\r\n await smarterGet('/api/v2/map-management/orgunits/{orgUnitId}/application-map-infos/{harvestYear}', {\r\n id: 'applicationMapInfos.forOrgUnit',\r\n expiry: 60,\r\n inputs: {\r\n orgUnitId: () => orgUnitId,\r\n harvestYear: () => rootState.fieldRecordSystem.userSettings.harvestYear\r\n },\r\n onResult ({applicationMaps: maps, applicationMapIdsByFieldId: mapIdsByFieldId}) {\r\n commit('updateInitialMapDataForOrgUnit', {maps, mapIdsByFieldId, type: 'applicationMap'})\r\n }\r\n })\r\n },\r\n async loadSoilMapsForOrgUnitId ({commit, rootState}, orgUnitId) {\r\n await smarterGet('/api/v2/map-management/orgunits/{orgUnitId}/soil-map-infos/{harvestYear}', {\r\n id: 'soilMapInfos.forOrgUnit',\r\n expiry: 0,\r\n inputs: {\r\n orgUnitId: () => orgUnitId,\r\n harvestYear: () => rootState.fieldRecordSystem.userSettings.harvestYear\r\n },\r\n onResult ({soilMaps: maps, soilMapIdsByFieldId: mapIdsByFieldId}) {\r\n commit('updateInitialMapDataForOrgUnit', {maps, mapIdsByFieldId, type: 'soilMap'})\r\n }\r\n })\r\n },\r\n loadGeometriesForOrgUnit ({commit, rootGetters}) {\r\n const fieldIdLookup = rootGetters['fieldRecordSystem/fieldWktsFromOrgUnit'].map(field => ({\r\n [field.id]: [field.id]\r\n })).reduce(toObject, {})\r\n\r\n const maps = rootGetters['fieldRecordSystem/fieldWktsFromOrgUnit'].map(field => ({\r\n ...field,\r\n feature: {\r\n type: 'Feature',\r\n geometry: parse(field.wkt),\r\n properties: {\r\n id: field.id\r\n }\r\n }\r\n }))\r\n\r\n commit('updateInitialMapDataForOrgUnit', {maps, mapIdsByFieldId: fieldIdLookup, type: 'fieldBorder'})\r\n },\r\n async loadAvailableZoneMaps ({commit, rootState}, fieldId) {\r\n await smarterGet('/api/v2/entities/fields/{fieldId}/zone-maps/{harvestYear}', {\r\n id: 'zoneMaps.forField',\r\n expiry: 60,\r\n inputs: {\r\n fieldId: () => fieldId,\r\n harvestYear: () => rootState.fieldRecordSystem.userSettings.harvestYear\r\n },\r\n onResult (maps) {\r\n commit('updateInitialMapDataForField', {fieldId, maps, type: 'zoneMap'})\r\n }\r\n })\r\n },\r\n async loadNutrientMaps ({commit, rootState}, fieldId) {\r\n const harvestYear = rootState.fieldRecordSystem.userSettings.harvestYear\r\n try {\r\n await smarterGet('/api/v2/entities/fields/{fieldId}/nutrient-maps/{harvestYear}',\r\n {\r\n id: 'nutrientMaps.forField',\r\n expiry: 60,\r\n inputs: {\r\n fieldId: () => fieldId,\r\n harvestYear: () => harvestYear\r\n },\r\n onResult (nutrientMaps) {\r\n commit('updateInitialMapDataForField', {fieldId, maps: nutrientMaps, type: 'nutrientMap'})\r\n }\r\n })\r\n } catch (error) {\r\n if (error.response && error.response.status === 403) {\r\n commit('dataLoading/invalidate', 'nutrientMaps.forField', {root: true})\r\n commit('updateInitialMapDataForField', {fieldId, maps: [], type: 'nutrientMap'})\r\n } else {\r\n throw error\r\n }\r\n }\r\n },\r\n async loadAvailableApplicationMapsForField ({commit, rootState}, fieldId) {\r\n await smarterGet('/api/v2/map-management/fields/{fieldId}/application-map-infos/{harvestYear}', {\r\n id: 'applicationMapInfos.forField',\r\n expiry: 60, // TODO workaround for creation of applicationMaps in simpleApplicationmap and maizeSowing (displaying in ApplicationMapDetails)\r\n inputs: {\r\n fieldId: () => fieldId,\r\n harvestYear: () => rootState.fieldRecordSystem.userSettings.harvestYear\r\n },\r\n onResult (maps) {\r\n commit('updateInitialMapDataForField', {fieldId, maps, type: 'applicationMap'})\r\n }\r\n })\r\n },\r\n async loadSoilMapsForField ({commit, rootState}, fieldId) {\r\n await smarterGet('/api/v2/map-management/fields/{fieldId}/soil-map-infos/{harvestYear}', {\r\n id: 'soilMapInfos.forField',\r\n expiry: 0,\r\n inputs: {\r\n fieldId: () => fieldId,\r\n harvestYear: () => rootState.fieldRecordSystem.userSettings.harvestYear\r\n },\r\n onResult (maps) {\r\n commit('updateInitialMapDataForField', {fieldId, maps, type: 'soilMap'})\r\n }\r\n })\r\n },\r\n loadGeometryForField ({commit, rootGetters, rootState}) {\r\n const field = rootGetters['fieldRecordSystem/field']\r\n const fieldData = rootState.fieldRecordSystem.data.field[field.id]\r\n\r\n if (fieldData.wkt) {\r\n field.feature = {\r\n type: 'Feature',\r\n geometry: parse(fieldData.wkt),\r\n properties: {\r\n id: field.id\r\n }\r\n }\r\n commit('updateInitialMapDataForField', {fieldId: field.id, maps: [field], type: 'fieldBorder'})\r\n }\r\n },\r\n async loadZoneMapDetails ({commit}, id) {\r\n await smarterGet('/api/v2/zone-maps/{zoneMapId}/geometry', {\r\n id: 'zoneMaps.details',\r\n expiry: 10,\r\n inputs: {\r\n zoneMapId: () => id\r\n },\r\n onResult (details) {\r\n commit('updateMapDetails', {details: {id, ...details}, type: 'zoneMap'})\r\n }\r\n })\r\n },\r\n async loadNutrientMapDetails ({commit}, id) {\r\n await smarterGet('/api/v2/map-management/nutrient-map/{nutrientMapId}/details', {\r\n id: 'nutrientMap.details',\r\n expiry: 10,\r\n inputs: {\r\n nutrientMapId: () => id\r\n },\r\n onResult (mapDetails) {\r\n const {nutrientMap, details} = mapDetails\r\n if (details !== null) Object.assign(nutrientMap, details)\r\n commit('updateMapDetails', {details: {id, ...nutrientMap}, type: 'nutrientMap'})\r\n }\r\n })\r\n },\r\n // TODO split current endpoint into metadata and details endpoint\r\n async loadApplicationMapDetails ({commit}, applicationMapId) {\r\n if (!applicationMapId) return\r\n await smarterGet(\r\n '/api/v2/application-map/{applicationMapId}',\r\n {\r\n id: 'applicationMap.details',\r\n expiry: 10,\r\n inputs: {\r\n applicationMapId: () => applicationMapId\r\n },\r\n onResult (details) {\r\n if (details) {\r\n commit('updateMapDetails', {details, type: 'applicationMap'})\r\n }\r\n }\r\n }\r\n )\r\n },\r\n async loadSoilMapDetails ({state, commit}, id) {\r\n if (!id) return\r\n await smarterGet(\r\n '/api/v2/map-management/soil-map/{soilMapId}/details',\r\n {\r\n id: 'soilMap.details',\r\n expiry: 0,\r\n inputs: {\r\n soilMapId: () => id\r\n },\r\n onResult (details) {\r\n if (details) {\r\n commit('updateMapDetails', {details, type: 'soilMap'})\r\n }\r\n }\r\n }\r\n )\r\n },\r\n async loadInterpolationMapsForField ({commit, rootState}, fieldId) {\r\n await smarterGet('/api/v2/map-management/fields/{fieldId}/interpolation-maps/{harvestYear}', {\r\n id: 'interpolationMaps.forField',\r\n expiry: 0,\r\n inputs: {\r\n fieldId: () => fieldId,\r\n harvestYear: () => rootState.fieldRecordSystem.userSettings.harvestYear\r\n },\r\n onResult (maps) {\r\n if (maps && maps.length > 0) {\r\n commit('updateInitialMapDataForField', {fieldId, maps, type: 'soilMap'})\r\n }\r\n }\r\n })\r\n },\r\n async loadInterpolationMapsByOrgUnitId ({commit, rootState}, orgUnitId) {\r\n await smarterGet('/api/v2/map-management/orgunits/{orgUnitId}/interpolation-maps/{harvestYear}', {\r\n id: 'interpolationMaps.forOrgUnit',\r\n expiry: 0,\r\n inputs: {\r\n orgUnitId: () => orgUnitId,\r\n harvestYear: () => rootState.fieldRecordSystem.userSettings.harvestYear\r\n },\r\n onResult ({interpolationMaps: maps, interpolationMapIdsByFieldId: mapIdsByFieldId}) {\r\n commit('updateInitialMapDataForOrgUnit', {maps, mapIdsByFieldId, type: 'soilMap'})\r\n }\r\n })\r\n },\r\n executeBatchDownload ({state, commit, dispatch}) {\r\n return dispatch('fieldRecordSystem/download/startDownload', {\r\n type: state.ui.selectionType,\r\n ids: state.mapIdsForDownload // state.ui.selection\r\n }, {root: true})\r\n .then(() => {\r\n commit('finishBatchOperation')\r\n })\r\n },\r\n checkScheduledRemovals ({state, commit, dispatch}) {\r\n const now = Date.now()\r\n const mapIds = Object.keys(pickBy(state.ui.scheduledRemovalLookup, timestamp => now >= timestamp))\r\n\r\n if (mapIds.length) {\r\n commit('unscheduleRemoval', mapIds)\r\n return dispatch('removeMaps', {mapIds})\r\n }\r\n },\r\n async removeMaps ({state, commit, getters}, {mapIds}) {\r\n if (!mapIds.length) return\r\n\r\n const {mapLookup} = getters\r\n\r\n const applicationMapIds = mapIds.filter(id => getMapType(state, id) === 'applicationMap')\r\n const zoneMapIds = mapIds.filter(id => getMapType(state, id) === 'zoneMap')\r\n const nutrientMapIds = mapIds.filter(id => getMapType(state, id) === 'nutrientMap')\r\n const soilMapIds = mapIds.filter(id => getMapType(state, id) === 'soilMap' && mapLookup[id].category !== 'InterpolatedSensorData')\r\n const sensorDataIds = mapIds.filter(id => getMapType(state, id) === 'soilMap' && mapLookup[id].category === 'InterpolatedSensorData')\r\n\r\n await Promise.all([\r\n applicationMapIds.length && axios.post('/api/v2/application-maps/delete', applicationMapIds),\r\n zoneMapIds.length && axios.post('/api/v2/zone-maps/delete', zoneMapIds),\r\n nutrientMapIds.length && axios.post('/api/v2/nutrient-maps/delete', nutrientMapIds),\r\n soilMapIds.length && axios.post('/api/v2/soil-maps/delete', soilMapIds),\r\n sensorDataIds.length && axios.post('/api/v2/soil-maps/sensor-data/delete', sensorDataIds)\r\n ])\r\n\r\n const {fieldIdsByMapId} = getters\r\n\r\n commit('removeMaps', {mapIds, fieldIdsByMapId})\r\n },\r\n async finishRename ({state, commit, getters}) {\r\n const mapId = state.ui.mapId\r\n const name = state.ui.newMapName\r\n const type = state.ui.selectionType\r\n const {mapLookup} = getters\r\n const map = mapLookup[mapId]\r\n\r\n let url\r\n switch (type) {\r\n case 'applicationMap':\r\n url = `/api/v2/application-maps/${mapId}/name?name=${name}`\r\n break\r\n case 'soilMap':\r\n if (map.category === 'InterpolatedSensorData') {\r\n url = `/api/v2/soil-maps/sensor-data/${mapId}/name?name=${name}`\r\n } else {\r\n url = `/api/v2/soil-maps/${mapId}/name?name=${name}`\r\n }\r\n break\r\n default:\r\n url = `/api/v2/zone-maps/${mapId}/name?name=${name}`\r\n break\r\n }\r\n\r\n try {\r\n await axios.put(url)\r\n\r\n commit('finishRename')\r\n } catch (error) {\r\n commit('cancelRename')\r\n throw error\r\n }\r\n },\r\n cancelRename ({commit}) {\r\n commit('cancelRename')\r\n },\r\n async startHeterogenityChange ({state, commit, dispatch}, mapId) {\r\n const type = getMapType(state, mapId)\r\n\r\n if (type !== 'zoneMap') throw new Error(`heterogenity only exists for zoneMaps, map was '${type}'`)\r\n\r\n await dispatch('loadZoneMapDetails', mapId)\r\n\r\n commit('startHeterogenityChange', mapId)\r\n },\r\n async finishHeterogenityChange ({state, commit}) {\r\n const mapId = state.ui.mapId\r\n const heterogenity = state.ui.heterogenity\r\n const type = getMapType(state, mapId)\r\n\r\n if (type !== 'zoneMap' || heterogenity === undefined) {\r\n throw new Error(`cannot update heterogenity for map of type '${type}' with value '${heterogenity}'`)\r\n }\r\n\r\n try {\r\n await axios.put(`/api/v2/zone-maps/${mapId}/heterogenity?heterogenity=${heterogenity}`)\r\n commit('finishHeterogenityChange')\r\n } catch (error) {\r\n commit('cancelHeterogenityChange')\r\n throw error\r\n }\r\n },\r\n cancelHeterogenityChange ({commit}) {\r\n commit('cancelHeterogenityChange')\r\n },\r\n async activateZoneMap ({state, commit}, {zoneMapId, isDemo}) {\r\n const isActive = state.data.zoneMap.mapLookup[zoneMapId].active\r\n\r\n if (isActive) throw new Error(`zone map ${zoneMapId} is already activated`)\r\n\r\n commit('setZoneMapActivation', {zoneMapId, isActive: true, isDemo})\r\n\r\n try {\r\n await axios.put(`/api/v2/zone-maps/${zoneMapId}/is-active`, {\r\n isDemo\r\n })\r\n } catch (error) {\r\n commit('setZoneMapActivation', {zoneMapId, isActive, isDemo: false})\r\n throw error\r\n }\r\n },\r\n async deactivateZoneMap ({state, commit}, {zoneMapId}) {\r\n const isActive = state.data.zoneMap.mapLookup[zoneMapId].active\r\n const isDemo = state.data.zoneMap.mapLookup[zoneMapId].isDemo\r\n\r\n if (!isActive) throw new Error(`zone map ${zoneMapId} is not activated`)\r\n\r\n commit('setZoneMapActivation', {zoneMapId, isActive: false, isDemo: false})\r\n\r\n try {\r\n await axios.delete(`/api/v2/zone-maps/${zoneMapId}/is-active`)\r\n } catch (error) {\r\n commit('setZoneMapActivation', {zoneMapId, isActive, isDemo})\r\n throw error\r\n }\r\n },\r\n async saveModifiedZoneMap ({state, dispatch, getters}, {newName, geometriesByZoneId, mapId}) {\r\n const currentFieldId = getters.fieldIdsByMapId[mapId]\r\n try {\r\n await axios.post(`/api/v2/zone-maps/${mapId}/geometry`, {\r\n newName,\r\n geometriesByZoneId\r\n }).then(() => dispatch('loadAvailableZoneMaps', currentFieldId))\r\n } catch (error) {\r\n console.error(error)\r\n }\r\n },\r\n invalidateLoadAllMaps ({commit}) {\r\n commit('dataLoading/invalidate', 'zoneMaps.forField', {root: true})\r\n commit('dataLoading/invalidate', 'nutrientMaps.forField', {root: true})\r\n commit('dataLoading/invalidate', 'applicationMapInfos.forField', {root: true})\r\n commit('dataLoading/invalidate', 'soilMapInfos.forField', {root: true})\r\n commit('dataLoading/invalidate', 'zoneMapInfos.forOrgUnit', {root: true})\r\n commit('dataLoading/invalidate', 'nutrientMaps.forOrgUnit', {root: true})\r\n commit('dataLoading/invalidate', 'applicationMapInfos.forOrgUnit', {root: true})\r\n commit('dataLoading/invalidate', 'soilMapInfos.forOrgUnit', {root: true})\r\n }\r\n },\r\n modules: {\r\n zoneMapImport,\r\n soilMapImport,\r\n zoneMapAdditionalValues\r\n }\r\n}\r\n"],"sourceRoot":""}