{"version":3,"sources":["webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./src/client/ClusterSpotsModal.vue?ae5b","webpack:///./src/client/satellite_map.vue","webpack:///src/client/satellite_map.vue","webpack:///./src/client/satellite_map.vue?92f6","webpack:///./src/client/satellite_map.vue?b738","webpack:///./src/client/ClusterSpotsModal.vue","webpack:///src/client/ClusterSpotsModal.vue","webpack:///./src/client/ClusterSpotsModal.vue?ab21","webpack:///./src/client/ClusterSpotsModal.vue?e2ad","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./src/client/satellite_map.vue?93cc","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js"],"names":["userAgent","firefox","match","module","exports","_arrayLikeToArray","arr","len","length","i","arr2","Array","_arrayWithoutHoles","isArray","arrayLikeToArray","_iterableToArray","iter","Symbol","iterator","from","_unsupportedIterableToArray","o","minLen","n","Object","prototype","toString","call","slice","constructor","name","test","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","bind","toObject","callWithSafeIterationClosing","isArrayIteratorMethod","isConstructor","lengthOfArrayLike","createProperty","getIterator","getIteratorMethod","$Array","arrayLike","O","IS_CONSTRUCTOR","this","argumentsLength","arguments","mapfn","undefined","mapping","result","step","next","value","iteratorMethod","index","done","$","uncurryThis","aCallable","deletePropertyOrThrow","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","un$Sort","sort","push","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","String","fromCharCode","k","v","a","b","charAt","FORCED","getSortCompare","comparefn","x","y","target","proto","forced","array","itemsLength","items","arrayLength","webkit","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread2","source","forEach","key","defineProperty","getOwnPropertyDescriptors","defineProperties","render","_vm","_c","_self","staticClass","_v","_s","$t","attrs","directives","rawName","default_map","expression","domProps","_q","on","$event","saveMapStyle","openSiderBar","mapLoaded","openFilters","_e","version_id","is_pro_sync","model","selectedProjectId","callback","$$v","onProjectClick","ref","staticStyle","_l","displayedProjects","project","id","countableQuestions","totalSpots","_m","spotsData","openAdminSpotDetail","applyFilter","getClientAdminSpots","staticRenderFns","toast","position","Vue","props","data","routeTracks","accessToken","spotData","map","features","mapFeatures","spotForm","requireLatLong","spot_type_id","location_id","detail","spot_date","latitude","longitude","questions","client_url","client_id","adminMapStyle","default_map_zoom","default_latitude","default_longitude","appImage","spotDetailImages","spotDetail","markerColor","projectOptions","loading","currentPage","perPage","components","ClusterSpotsModal","FiltersModal","TotalCategoryCount","SpotDetailsModal","beforeMount","watch","newProjectId","created","mounted","methods","API","type","properties","title","spot_id","description","spotted_by","spotted_username","iconUrl","geometry","coordinates","getClientProjectSpots","projectID","project_id","initMap","lngLat","mapboxgl","container","style","center","zoom","maxZoom","attributionControl","draggable","setLngLat","addTo","positionOptions","enableHighAccuracy","trackUserLocation","showUserHeading","cluster","clusterMaxZoom","clusterRadius","paint","layout","trackCoordinates","markerElement","coord","setPopup","offset","setHTML","console","categoryColors","feature","layers","clusterId","clusterSource","logo","event","params","date_from","date_to","categories","locations","spotTypes","surveys","selectedQuestions","countRangeFilter","countRangeValues","openClusterSpotDetail","aFeatures","formatDate","date","getAppSettings","getNames","page","default_dashboard","defaultProject","localStorage","component","spot","openDetils","formatDateMM","mixins","isDisabled","validations","computed","beforeDestroy","anObject","iteratorClose","fn","ENTRIES","error","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","stat","_defineProperty","obj","configurable","writable","nativeKeys","FAILS_ON_PRIMITIVES","it","UA","DESCRIPTORS","toIndexedObject","getOwnPropertyDescriptorModule","sham","descriptor","f","nativeGetOwnPropertyDescriptor"],"mappings":"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A,qCACA,oDAEA,4BAGAC,OACA1D,kBADA,SACA2D,GACA,UAKA,kBAGA,EACA,8BAEA,6BAIAC,QA9EA,WA8EA,WACA,wDACA,qDAEA,kDACA,eACA,4BAGAC,QAvFA,WAwFA,uBAEAC,SACA9C,oBADA,WACA,WACA,GACAuB,yDAEAwB,2BACAzC,GACA,YACA,sBACA,2BAEAA,4BACA,sEACA,OACA,OACA0C,eACAC,YACAxD,QACAyD,sCAEAC,kBACAC,0CACAC,iDACAC,4DACApC,oCACAqC,wDACAxB,uGAEAyB,UACAR,aACAS,uCAGA,0BAiBA,uDAGA,iBAIAC,sBAzDA,SAyDAC,GAAA,WACA,GACApC,wDACAqC,cAEAb,2BACAzC,GACA,YACA,iBACA,sBAuBA,GAtBA,2BACAA,4BACA,OACA0C,eACAC,YACAxD,QACAyD,sCACAC,kBACAC,0CACAC,sEACAC,4DACApC,oCACAqC,wDACAxB,uGAEAyB,UACAR,aACAS,uCAGA,yBAEA,wBACA,uBACA,qEAGA,iBAKAI,QAnGA,SAmGAC,GAAA,WACA,kBACAC,iCACA,sBACAC,yBACAC,2EACAC,SACAC,2BACAC,WACAC,wBAGA,6BACA,oBACA,4BACA,mBACA,4BACAC,eACAC,UAAAT,GAAAU,MAAA,UACA,6CACAf,wBACAA,yHAEA,sCACA,2BAGAA,mFAIA,iBAGA,iBAHA,IAMA,4BACA,mCACA,oBACA,0BACAgB,iBACAC,uBAEAC,qBACAC,sBAKA,+BACA,SACA,yBACA,KACA,YACA,YACA,uCAGA,wBAEA,+BACA5B,eACA1C,aACAuE,WACAC,kBACAC,mBAGA,gBACAtF,cACAuD,cACA/F,qBACAN,6BACAqI,OACA,gBACA,OACA,sBACA,UACA,IACA,UACA,IACA,WAEA,iBACA,OACA,sBACA,GACA,IACA,GACA,IACA,OAKA,gBACAvF,mBACAuD,cACA/F,qBACAN,6BACAsI,QACA,yCACA,4DACA,eACA,yBAEAD,OACA,0BAKA,OACAzD,yDA8DA,GA5DAwB,qBACAzC,GACA,YAEA,2DAGA,+BACA0C,eACA1C,MACA0C,yBACArC,WACAqC,eACAQ,UACAR,kBACAS,eAEAR,mBAMA,gBACAxD,WACAuD,YACA/F,qBACAgI,QACA,mBACA,qBAEAD,OACA,oBACA,eACA,0BAKAE,yBACA,oCACAC,kCACAA,qBACAA,sBACAA,2BACAA,iCAGA,kBACAZ,UAAAa,GACAC,SAAA,eAAAC,YACAC,QADA,mBACA5L,IADA,qBACAyL,KADA,kBACAA,KADA,UAEAZ,MAAA,aAGA,YACAgB,mDAIA,oCACA,gBACA,YACA,cACA,aAEA,wBACA,gBAGA,SAGA,mCACAC,wCAGA,gBACAhG,uBACAuD,cACA/F,qBACAN,mCACAsI,QACA,cACA,0BACA,+JACA,OAEA,cACA,iBACA,uBACA,sBACA,OACA,OACA,OACA,QACA,WAIAD,OACA,cACA,MACA,cAEA,mBACA,mBACA,MACA,mBAEA,uBAKA,uCACA,wCACAU,GADA,IAEAzC,4CACAyC,cADA,IAEA,sBACA,kCAKA,wCACA1C,yBACArC,kBAIA,gBACA,YACA,cACA,aAEA,2BAEA,gBACAlB,uBACAuD,cACA/F,qBACAN,mCAUAsI,QACA,cACA,QACA,kBACA,yDACA,uDACA,sBACA,yBACA,OAEA,iBAEA,uBACA,sBACA,OACA,OACA,OACA,QACA,aAMA,yCACA,2CACAU,sBAEA,6BACA,kBACA,QACA,uDACAC,GACA,cACA,GACA,cACA1B,iCACAC,gBAIA,CACA,2CACA,iCAEA0B,wCACA,cACA,gCACA,4EAEA,4CAiCA,kDACA,iDAEA,GADA,+BACA,6BACA,iCACA,iCACA,oCACA,0CACA,mCACA,qCACA,sCACApC,iCAGA,iDAEA,6CACA,4CAEA,6CACA,qCAGA,kBAEA,oDACA,GACAqC,YAGAhG,oBAjeA,SAieAL,EAAAsG,GACA,kDAEApH,YApeA,WAqeA,yDAGAF,aAxeA,WAyeA,8DAEAsB,YA3eA,SA2eAiG,GAAA,WACA,GACA7C,iBACA8C,qBACAC,iBACA7E,sBACA8E,wBACAC,sBACAC,sBACAC,kBACAC,sCACAhF,wDACAiF,oCACAC,oCACA7C,mCAEAb,iCACA,YACA,mBACA,8BA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","file":"js/chunk-3042e084.76388fdb.js","sourcesContent":["var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClusterSpotsModal.vue?vue&type=style&index=0&id=808e0828&prod&scoped=true&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"google-map new-updated-design google-map-design\"},[_c('vue-snotify'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12 col-lg-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header\"},[_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.$t('interactive-maps')))])]),_c('div',{staticClass:\"card-body new-card-body\"},[_c('div',{staticClass:\"google-map new-updated-design\"},[_c('div',{attrs:{\"id\":\"menu\"}},[_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.default_map),expression:\"default_map\"}],attrs:{\"id\":\"satellite-v9\",\"type\":\"radio\",\"value\":\"mapbox://styles/mapbox/satellite-v9\"},domProps:{\"checked\":_vm.default_map === 'mapbox://styles/mapbox/satellite-v9',\"checked\":_vm._q(_vm.default_map,\"mapbox://styles/mapbox/satellite-v9\")},on:{\"click\":function($event){return _vm.saveMapStyle('satellite-v9')},\"change\":function($event){_vm.default_map=\"mapbox://styles/mapbox/satellite-v9\"}}}),_c('label',{staticClass:\"map-label\",attrs:{\"for\":\"satellite-v9\"}},[_vm._v(_vm._s(_vm.$t('satellite')))])]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.default_map),expression:\"default_map\"}],staticClass:\"ml-2\",attrs:{\"id\":\"light-v10\",\"type\":\"radio\",\"value\":\"mapbox://styles/mapbox/light-v10\"},domProps:{\"checked\":_vm.default_map === 'mapbox://styles/mapbox/light-v10',\"checked\":_vm._q(_vm.default_map,\"mapbox://styles/mapbox/light-v10\")},on:{\"click\":function($event){return _vm.saveMapStyle('light-v10')},\"change\":function($event){_vm.default_map=\"mapbox://styles/mapbox/light-v10\"}}}),_c('label',{staticClass:\"map-label\",attrs:{\"for\":\"light-v10\"}},[_vm._v(_vm._s(_vm.$t('light')))])]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.default_map),expression:\"default_map\"}],staticClass:\"ml-2\",attrs:{\"id\":\"dark-v10\",\"type\":\"radio\",\"value\":\"mapbox://styles/mapbox/dark-v10\"},domProps:{\"checked\":_vm.default_map === 'mapbox://styles/mapbox/dark-v10',\"checked\":_vm._q(_vm.default_map,\"mapbox://styles/mapbox/dark-v10\")},on:{\"click\":function($event){return _vm.saveMapStyle('dark-v10')},\"change\":function($event){_vm.default_map=\"mapbox://styles/mapbox/dark-v10\"}}}),_c('label',{staticClass:\"map-label\",attrs:{\"for\":\"dark-v10\"}},[_vm._v(_vm._s(_vm.$t('dark')))])]),_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.default_map),expression:\"default_map\"}],staticClass:\"ml-2 m-ml\",attrs:{\"id\":\"outdoors-v11\",\"type\":\"radio\",\"value\":\"mapbox://styles/mapbox/outdoors-v11\"},domProps:{\"checked\":_vm.default_map === 'mapbox://styles/mapbox/outdoors-v11',\"checked\":_vm._q(_vm.default_map,\"mapbox://styles/mapbox/outdoors-v11\")},on:{\"click\":function($event){return _vm.saveMapStyle('outdoors-v11')},\"change\":function($event){_vm.default_map=\"mapbox://styles/mapbox/outdoors-v11\"}}}),_c('label',{staticClass:\"map-label\",attrs:{\"for\":\"outdoors-v11\"}},[_vm._v(_vm._s(_vm.$t('outdoors')))])]),_c('div',{staticClass:\"map-btns\"},[_c('b-button',{staticClass:\"ml-5 new-ml variant-orange\",attrs:{\"size\":\"sm\"},on:{\"click\":_vm.openSiderBar}},[_vm._v(_vm._s(_vm.$t('total-category-counts')))]),(_vm.mapLoaded)?_c('b-button',{staticClass:\"ml-5 new-ml variant-orange\",attrs:{\"size\":\"sm\"},on:{\"click\":_vm.openFilters}},[_vm._v(_vm._s(_vm.$t('filters-btn')))]):_vm._e(),(this.version_id === 2 && this.is_pro_sync === 1)?_c('b-dropdown',{staticClass:\"btn-primary ml-2\",attrs:{\"variant\":\"primary\",\"size\":\"sm\",\"text\":_vm.$t('Project (Survey Name)')},model:{value:(_vm.selectedProjectId),callback:function ($$v) {_vm.selectedProjectId=$$v},expression:\"selectedProjectId\"}},[_c('b-dropdown-item',{key:'select',attrs:{\"active\":_vm.selectedProjectId === 'select'},on:{\"click\":function($event){return _vm.onProjectClick(null)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"All Data\"))+\" \")]),_c('div',{ref:\"dropdownMenu\",staticStyle:{\"max-height\":\"300px\",\"overflow-y\":\"auto\"}},_vm._l((_vm.displayedProjects),function(project){return _c('b-dropdown-item',{key:project.id,attrs:{\"active\":project.id === _vm.selectedProjectId},on:{\"click\":function($event){return _vm.onProjectClick(project.id)}}},[_vm._v(\" \"+_vm._s(project.name)+\" \")])}),1)],1):_vm._e()],1)]),_c('div',{staticClass:\"sidebar-counter\"},[_c('TotalCategoryCount',{ref:\"sidebar\",attrs:{\"countableQuestions\":_vm.countableQuestions,\"totalSpots\":_vm.totalSpots,\"user_type\":\"admin\"}})],1),_vm._m(0)])])])])]),_c('SpotDetailsModal',{ref:\"spotDetails\"}),_c('b-modal',{attrs:{\"id\":\"modal-clusters\",\"title\":_vm.$t('cluster-spots'),\"scrollable\":\"\",\"size\":\"md\",\"hide-footer\":true}},[_c('ClusterSpotsModal',{attrs:{\"spotsData\":_vm.spotsData},on:{\"openParentSpot\":_vm.openAdminSpotDetail}})],1),_c('FiltersModal',{ref:\"filterComponent\",attrs:{\"user_type\":\"admin\"},on:{\"applyFilter\":_vm.applyFilter,\"resetMap\":_vm.getClientAdminSpots}})],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"map-container\",attrs:{\"id\":\"mapContainer\"}},[_c('div',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"coordinates\"}})])\n}]\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"google-map new-updated-design google-map-design\">\r\n <vue-snotify></vue-snotify>\r\n <div class=\"row\">\r\n\r\n <div class=\"col-md-12 col-lg-12\">\r\n <div class=\"card\">\r\n <div class=\"card-header\">\r\n <h4 class=\"card-title\">{{ $t('interactive-maps') }}</h4>\r\n </div>\r\n <div class=\"card-body new-card-body\">\r\n <div class=\"google-map new-updated-design\">\r\n <div id=\"menu\">\r\n <div>\r\n <input id=\"satellite-v9\" type=\"radio\" v-model=\"default_map\" @click=\"saveMapStyle('satellite-v9')\"\r\n value=\"mapbox://styles/mapbox/satellite-v9\"\r\n :checked=\"default_map === 'mapbox://styles/mapbox/satellite-v9'\">\r\n <label class=\"map-label\" for=\"satellite-v9\">{{ $t('satellite') }}</label>\r\n </div>\r\n <div> \r\n <input id=\"light-v10\" class=\"ml-2\" type=\"radio\" v-model=\"default_map\" @click=\"saveMapStyle('light-v10')\"\r\n value=\"mapbox://styles/mapbox/light-v10\"\r\n :checked=\"default_map === 'mapbox://styles/mapbox/light-v10'\">\r\n <label class=\"map-label\" for=\"light-v10\">{{ $t('light') }}</label>\r\n </div>\r\n <div>\r\n <input id=\"dark-v10\" type=\"radio\" class=\"ml-2\" v-model=\"default_map\" @click=\"saveMapStyle('dark-v10')\"\r\n value=\"mapbox://styles/mapbox/dark-v10\" :checked=\"default_map === 'mapbox://styles/mapbox/dark-v10'\">\r\n <label class=\"map-label\" for=\"dark-v10\">{{ $t('dark') }}</label>\r\n <!-- <input id=\"streets-v11\" type=\"radio\" v-model=\"default_map\" @click=\"saveMapStyle('streets-v11')\" value=\"streets\">-->\r\n <!-- <label for=\"streets-v11\">streets</label>-->\r\n </div>\r\n <div>\r\n <input id=\"outdoors-v11\" type=\"radio\" class=\"ml-2 m-ml\" v-model=\"default_map\"\r\n @click=\"saveMapStyle('outdoors-v11')\"\r\n value=\"mapbox://styles/mapbox/outdoors-v11\"\r\n :checked=\"default_map === 'mapbox://styles/mapbox/outdoors-v11'\">\r\n <label class=\"map-label\" for=\"outdoors-v11\">{{ $t('outdoors') }}</label>\r\n </div>\r\n <div class=\"map-btns\"> \r\n <b-button class=\"ml-5 new-ml variant-orange\" size=\"sm\" @click=\"openSiderBar\">{{ $t('total-category-counts') }}</b-button>\r\n <b-button v-if=\"mapLoaded\" class=\"ml-5 new-ml variant-orange\" size=\"sm\" @click=\"openFilters\">{{ $t('filters-btn') }}</b-button>\r\n <b-dropdown\r\n v-if=\"this.version_id === 2 && this.is_pro_sync === 1\"\r\n class=\"btn-primary ml-2\"\r\n variant=\"primary\"\r\n size=\"sm\"\r\n :text=\"$t('Project (Survey Name)')\"\r\n v-model=\"selectedProjectId\"\r\n >\r\n <!-- Add the \"Select\" option -->\r\n <b-dropdown-item\r\n :key=\"'select'\"\r\n :active=\"selectedProjectId === 'select'\"\r\n @click=\"onProjectClick(null)\" \r\n >\r\n {{ $t(\"All Data\") }}\r\n </b-dropdown-item>\r\n\r\n <!-- Render the limited number of projects -->\r\n <div ref=\"dropdownMenu\" style=\"max-height: 300px; overflow-y: auto;\">\r\n <b-dropdown-item\r\n v-for=\"project in displayedProjects\"\r\n :key=\"project.id\"\r\n :active=\"project.id === selectedProjectId\"\r\n @click=\"onProjectClick(project.id)\"\r\n >\r\n {{ project.name }}\r\n </b-dropdown-item>\r\n </div>\r\n </b-dropdown>\r\n </div>\r\n \r\n </div>\r\n \r\n <div class=\"sidebar-counter\">\r\n <TotalCategoryCount ref=\"sidebar\" :countableQuestions=\"countableQuestions\" :totalSpots=\"totalSpots\" user_type=\"admin\"/>\r\n </div>\r\n <div class=\"map-container\" id=\"mapContainer\">\r\n <div style=\"display: none;\" id=\"coordinates\">\r\n </div>\r\n <!-- <button v-if=\"mapLoaded\" class=\"filter-group\" variant=\"info\" size=\"sm\" @click=\"openFilters\">{{ $t('filters-btn') }}</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <SpotDetailsModal ref=\"spotDetails\"></SpotDetailsModal>\r\n <b-modal id=\"modal-clusters\" :title=\"$t('cluster-spots')\" scrollable size=\"md\" :hide-footer=\"true\">\r\n <ClusterSpotsModal :spotsData=\"spotsData\" @openParentSpot=\"openAdminSpotDetail\"></ClusterSpotsModal>\r\n </b-modal>\r\n <FiltersModal @applyFilter=\"applyFilter\" @resetMap=\"getClientAdminSpots\" ref=\"filterComponent\" user_type=\"admin\"></FiltersModal>\r\n \r\n </div>\r\n</template>\r\n<script>\r\n import Vue from \"vue\";\r\n import mapboxgl from \"mapbox-gl\";\r\n import Snotify, {SnotifyPosition} from 'vue-snotify'\r\n import API from '@/api';\r\n import moment from 'moment';\r\n import ClusterSpotsModal from './ClusterSpotsModal.vue';\r\n import FiltersModal from \"../citizen/FiltersModal.vue\";\r\n import TotalCategoryCount from '../client/TotalCategoryCounts';\r\n import SpotDetailsModal from '../citizen/SpotDetailsModal.vue';\r\n const options = {\r\n toast: {\r\n position: SnotifyPosition.rightTop,\r\n }\r\n }\r\n Vue.use(Snotify, options)\r\n export default {\r\n props: ['countableQuestions', 'total_spots'],\r\n data() {\r\n return {\r\n version_id: null,\r\n is_pro_sync: null,\r\n routeTracks: [],\r\n accessToken: 'pk.eyJ1Ijoid2F0Y2hzcG90dGVyIiwiYSI6ImNsMmY0OTgxdzA3MW0zYm1jMmY5MGY5OG4ifQ.vEle7r52YhgPJ8D-MVlZ2A',\r\n spotData: [],\r\n map: [],\r\n features: [],\r\n mapFeatures: [],\r\n spotForm: {\r\n requireLatLong: 1,\r\n spot_type_id: '',\r\n location_id: '',\r\n detail: '',\r\n spot_date: '',\r\n latitude: '',\r\n longitude: '',\r\n questions: [],\r\n client_url: window.location.href.split('#')[0],\r\n client_id: JSON.parse(localStorage.getItem(\"client_id\")),\r\n },\r\n adminMapStyle: '',\r\n default_map: '',\r\n default_map_zoom: '',\r\n default_latitude: '',\r\n default_longitude: '',\r\n appImage: null,\r\n spotDetailImages: [],\r\n spotDetail: [],\r\n spotsData: [],\r\n // showBackButton:false,\r\n mapLoaded: false,\r\n totalSpots: 0,\r\n markerColor: '',\r\n projectOptions: [],\r\n selectedProjectId: null,\r\n displayedProjects: [], // Initially visible projects\r\n loading: false,\r\n currentPage: 1,\r\n perPage: 5 \r\n };\r\n },\r\n components: {\r\n ClusterSpotsModal,\r\n FiltersModal,\r\n TotalCategoryCount,\r\n SpotDetailsModal\r\n },\r\n beforeMount(){\r\n this.getNames();\r\n const storedProjectId = localStorage.getItem(\"selected_project_id\");\r\n if (storedProjectId && storedProjectId !== \"null\") {\r\n this.selectedProjectId = JSON.parse(storedProjectId);\r\n this.getClientProjectSpots(this.selectedProjectId);\r\n } else {\r\n this.getClientAdminSpots();\r\n }\r\n },\r\n watch: {\r\n selectedProjectId(newProjectId) {\r\n if (this.map) {\r\n // if (this.map.getSource(\"spotsSource\")) {\r\n // this.map.removeLayer(\"spotsLayer\");\r\n // this.map.removeSource(\"spotsSource\");\r\n // }\r\n this.map.remove(); // Remove the map instance\r\n }\r\n\r\n if (newProjectId) {\r\n this.getClientProjectSpots(newProjectId);\r\n } else {\r\n this.getClientAdminSpots();\r\n }\r\n }\r\n },\r\n created() {\r\n this.$EventBus.$on(\"showAdminClusterSpots\", (data) => {\r\n this.$root.$emit(\"bv::show::modal\", \"modal-clusters\");\r\n });\r\n this.$EventBus.$on(\"reinitializeMap\", (data) => {\r\n this.map.remove();\r\n this.getClientAdminSpots();\r\n });\r\n },\r\n mounted() {\r\n this.getAppSettings();\r\n // this.getClientAdminSpots();\r\n }, methods: {\r\n getClientAdminSpots() {\r\n const data = {\r\n client_id: JSON.parse(localStorage.getItem('client_id')),\r\n }\r\n API.getClientAdminSpots(\r\n data,\r\n data => {\r\n const spot_dImage = data.default_image;\r\n this.totalSpots = data.total_spots;\r\n\r\n data.data.forEach(data => {\r\n let exists = this.mapFeatures.find(p => p.properties.id == data.id)\r\n if (!exists) {\r\n const d1 = {\r\n type: \"Feature\",\r\n properties: {\r\n id: data.id,\r\n title: (data.spot_type) ? data.spot_type.name : '',\r\n // spot_id: data.spot_type_id,\r\n spot_id: data.spot_id,\r\n description: (data.location) ? data.location.name : '',\r\n spotted_by: (data.spotter_user) ? data.spotter_user.name : '',\r\n spotted_username: (data.spotter_user) ? data.spotter_user.user_name : '',\r\n spot_date: this.formatDate(data.spot_date),\r\n iconUrl: (data.primary_image) ? this.$server_url + data.primary_image : spot_dImage,\r\n markerColor: (data.single_question && data.single_question.category) ? data.single_question.category.hash_color : 'Red'\r\n },\r\n geometry: {\r\n type: \"Point\",\r\n coordinates: [data.longitude, data.latitude]\r\n }\r\n }\r\n this.mapFeatures.push(d1);\r\n }\r\n })\r\n\r\n // alert('working')\r\n\r\n // if (navigator.geolocation) {\r\n // var self = this;\r\n // navigator.geolocation.getCurrentPosition(e => {\r\n // this.initMap([e.coords.longitude, e.coords.latitude])\r\n // }, function (error) {\r\n // if (error.code == error.PERMISSION_DENIED) {\r\n // // pop up dialog asking for location\r\n // self.initMap([self.default_longitude, self.default_latitude]);\r\n // }\r\n // })\r\n // } else {\r\n this.initMap([this.default_longitude, this.default_latitude]);\r\n // }\r\n },\r\n err => {\r\n }\r\n )\r\n },\r\n getClientProjectSpots(projectID) {\r\n const data = {\r\n client_id: JSON.parse(localStorage.getItem('client_id')),\r\n project_id: projectID\r\n }\r\n API.getClientAdminSpots(\r\n data,\r\n data => {\r\n this.mapFeatures = []; // Clear the mapFeatures array\r\n const spot_dImage = data.default_image;\r\n this.totalSpots = data.total_spots;\r\n data.data.forEach(data => {\r\n const d1 = {\r\n type: \"Feature\",\r\n properties: {\r\n id: data.id,\r\n title: (data.spot_type) ? data.spot_type.name : '',\r\n spot_id: data.spot_id,\r\n description: (data.location) ? data.location.name : '',\r\n spotted_by: (data.spotter_user && data.spotter_user.name) ? data.spotter_user.name : '',\r\n spotted_username: (data.spotter_user) ? data.spotter_user.user_name : '',\r\n spot_date: this.formatDate(data.spot_date),\r\n iconUrl: (data.primary_image) ? this.$server_url + data.primary_image : spot_dImage,\r\n markerColor: (data.single_question && data.single_question.category) ? data.single_question.category.hash_color : 'Red'\r\n },\r\n geometry: {\r\n type: \"Point\",\r\n coordinates: [data.longitude, data.latitude]\r\n }\r\n }\r\n this.mapFeatures.push(d1);\r\n })\r\n if (this.mapFeatures.length > 0) {\r\n const firstSpot = this.mapFeatures[0];\r\n this.initMap([firstSpot.geometry.coordinates[0], firstSpot.geometry.coordinates[1]]);\r\n }\r\n },\r\n err => {\r\n // Handle error\r\n }\r\n )\r\n },\r\n initMap(lngLat) {\r\n this.mapLoaded = false;\r\n mapboxgl.accessToken = this.accessToken;\r\n this.map = new mapboxgl.Map({\r\n container: \"mapContainer\",\r\n style: (this.default_map) ? this.default_map : 'mapbox://styles/mapbox/light-v10',\r\n center: lngLat,\r\n zoom: this.default_map_zoom,\r\n maxZoom: 14,\r\n attributionControl: false\r\n });\r\n // more initialization\r\n this.spotForm.longitude = lngLat[0];\r\n this.longitude = lngLat[0];\r\n this.spotForm.latitude = lngLat[1];\r\n this.latitude = lngLat[1];\r\n this.marker = new mapboxgl.Marker({\r\n draggable: true\r\n }).setLngLat(lngLat).addTo(this.map);\r\n var coordinates = document.getElementById('coordinates');\r\n coordinates.style.display = 'block';\r\n coordinates.innerHTML = `Lat: ${parseFloat(this.latitude).toFixed(6)}, Lng: ${parseFloat(this.longitude).toFixed(6)}`; \r\n var ref = this;\r\n this.marker.on('dragend', (e) => {\r\n var lngLat = e.target.getLngLat();\r\n // this.$refs.marker.mapObject.getLatLng();\r\n // ref.getLatLong(lngLat)\r\n coordinates.innerHTML = `Lat: ${lngLat.lat.toFixed(6)}, Lng: ${lngLat.lng.toFixed(6)}`;\r\n })\r\n\r\n\r\n var loadFeatures = this.mapFeatures;\r\n const geojson = {\r\n 'type': 'FeatureCollection',\r\n 'features': this.mapFeatures\r\n };\r\n\r\n const nav = new mapboxgl.NavigationControl();\r\n this.map.addControl(nav, \"top-right\");\r\n this.map.addControl(\r\n new mapboxgl.GeolocateControl({\r\n positionOptions: {\r\n enableHighAccuracy: true\r\n },\r\n trackUserLocation: true,\r\n showUserHeading: true\r\n })\r\n );\r\n\r\n\r\n this.map.on('load', () => {\r\n this.data2 = {\r\n \"type\": \"FeatureCollection\",\r\n \"crs\": {\r\n \"type\": \"name\",\r\n \"properties\": {\r\n \"name\": \"urn:ogc:def:crs:OGC:1.3:CRS84\"\r\n }\r\n },\r\n \"features\": this.mapFeatures\r\n }\r\n this.map.addSource('earthquakes', {\r\n type: 'geojson',\r\n data: this.data2,\r\n cluster: true,\r\n clusterMaxZoom: 14,\r\n clusterRadius: 50\r\n });\r\n\r\n this.map.addLayer({\r\n id: 'clusters',\r\n type: 'circle',\r\n source: 'earthquakes',\r\n filter: ['has', 'point_count'],\r\n paint: {\r\n 'circle-color': [\r\n 'step',\r\n ['get', 'point_count'],\r\n '#FF7F50',\r\n 100,\r\n '#003366',\r\n 750,\r\n '#ff414e'\r\n ],\r\n 'circle-radius': [\r\n 'step',\r\n ['get', 'point_count'],\r\n 20,\r\n 100,\r\n 30,\r\n 750,\r\n 40\r\n ]\r\n }\r\n });\r\n\r\n this.map.addLayer({\r\n id: 'cluster-count',\r\n type: 'symbol',\r\n source: 'earthquakes',\r\n filter: ['has', 'point_count'],\r\n layout: {\r\n 'text-field': '{point_count_abbreviated}',\r\n 'text-font': ['DIN Offc Pro Medium', 'Arial Unicode MS Bold'],\r\n 'text-size': 12,\r\n \"text-allow-overlap\" : true\r\n },\r\n paint: {\r\n \"text-color\": \"#ffffff\"\r\n }\r\n });\r\n\r\n // Fetch and add the route track data\r\n const data = {\r\n client_id: JSON.parse(localStorage.getItem('client_id')),\r\n }\r\n API.getTracksData(\r\n data,\r\n (data) => {\r\n // Prepare the track data for the map\r\n const trackCoordinates = data.map(track => [track.longitude, track.latitude]);\r\n\r\n // Add a new source for the route tracks\r\n this.map.addSource('routeTracks', {\r\n type: 'geojson',\r\n data: {\r\n type: 'FeatureCollection',\r\n features: [{\r\n type: 'Feature',\r\n geometry: {\r\n type: 'LineString',\r\n coordinates: trackCoordinates\r\n },\r\n properties: {}\r\n }]\r\n }\r\n });\r\n\r\n // Add a layer to display the route tracks with a curved, dotted style\r\n this.map.addLayer({\r\n id: 'route',\r\n type: 'line',\r\n source: 'routeTracks',\r\n layout: {\r\n 'line-cap': 'round', // Rounded end for smoother curves\r\n 'line-join': 'round' // Rounded join for smoother corners\r\n },\r\n paint: {\r\n 'line-color': '#888', // Line color\r\n 'line-width': 4, // Line width\r\n 'line-dasharray': [4, 4] // Dash pattern: 4px dash, 4px space\r\n }\r\n });\r\n\r\n // Add markers at each point along the route\r\n trackCoordinates.forEach((coord, index) => {\r\n const markerElement = document.createElement('div');\r\n markerElement.style.backgroundColor = '#FF0000'; // Red color for the marker\r\n markerElement.style.width = '20px';\r\n markerElement.style.height = '20px';\r\n markerElement.style.borderRadius = '50%'; // Make it circular\r\n markerElement.style.border = '2px solid white'; // Add a white border for better visibility\r\n \r\n // Add marker to the map\r\n new mapboxgl.Marker(markerElement)\r\n .setLngLat(coord)\r\n .setPopup(new mapboxgl.Popup({ offset: 25 }) // Add a popup\r\n .setHTML(`<p>Point ${index + 1}:<br>Lat: ${coord[1]}, Lng: ${coord[0]}</p>`)) // Popup content\r\n .addTo(this.map);\r\n });\r\n },\r\n (error) => {\r\n console.error('Error fetching route tracks:', error);\r\n }\r\n );\r\n\r\n if(this.version_id === 2 || this.version_id === 3){\r\n this.map.loadImage(\r\n this.appImage,\r\n (error, image) => {\r\n if (error) throw error;\r\n // Add the image to the map style.\r\n this.map.addImage('cat', image,{\r\n \"sdf\": \"true\"\r\n });\r\n });\r\n let categoryColors = [];\r\n\r\n // Populate categoryColors array with actual colors\r\n this.mapFeatures.forEach((feature) => {\r\n categoryColors.push(feature.properties.markerColor || '');\r\n });\r\n\r\n this.map.addLayer({\r\n id: 'unclustered-point',\r\n type: 'symbol',\r\n source: 'earthquakes', // reference the data source\r\n filter: ['!', ['has', 'point_count']],\r\n layout: {\r\n \"icon-image\": [\r\n \"match\", [\"get\", \"spot_id\"],\r\n [\"CD\", \"HP\", \"BD\", \"KW\", \"RD\", \"UD\", \"WB\", \"WS\", \"SD\"], \"dolphin\", [\"MW\", \"UB\", \"HU\", \"PW\", \"SP\", \"NB\", \"FW\", \"CB\", \"SW\"], \"whale\", [\"BS\"], \"baskingshark\", [\"UC\", \"UN\", \"OR\", \"SU\"], \"\",\r\n \"cat\"\r\n ],\r\n \"icon-size\": 1,\r\n \"icon-padding\": 2,\r\n \"icon-anchor\": \"bottom\",\r\n \"icon-allow-overlap\": {\r\n \"base\": 1,\r\n \"stops\": [\r\n [0, true],\r\n [12, true],\r\n [22, true]\r\n ]\r\n },\r\n },\r\n paint: {\r\n \"icon-color\": [\r\n \"get\",\r\n \"icon-color\"\r\n ],\r\n \"icon-halo-blur\": 0,\r\n \"icon-halo-color\": [\r\n \"get\",\r\n \"icon-halo-color\"\r\n ],\r\n \"icon-halo-width\": 4\r\n }\r\n });\r\n\r\n // Set the GeoJSON source data with individual colors for each feature\r\n const featuresWithColors = this.mapFeatures.map((feature, index) => {\r\n return {\r\n ...feature,\r\n properties: {\r\n ...feature.properties,\r\n 'icon-color': categoryColors[index] || '',\r\n 'icon-halo-color': categoryColors[index] || ''\r\n }\r\n };\r\n });\r\n\r\n this.map.getSource('earthquakes').setData({\r\n type: 'FeatureCollection',\r\n features: featuresWithColors\r\n });\r\n }\r\n else{\r\n this.map.loadImage(\r\n this.appImage,\r\n (error, image) => {\r\n if (error) throw error;\r\n // Add the image to the map style.\r\n this.map.addImage('cat', image);\r\n });\r\n this.map.addLayer({\r\n id: 'unclustered-point',\r\n type: 'symbol',\r\n source: 'earthquakes', // reference the data source\r\n filter: ['!', ['has', 'point_count']],\r\n // layout: {\r\n // 'icon-image': 'cat', // reference the image\r\n // 'icon-size': 0.25\r\n // }\r\n // paint: {\r\n // \"text-color\": \"#d21010\",\r\n // \"icon-halo-color\": \"#d21010\",\r\n // \"icon-halo-width\": 2\r\n // },\r\n layout: {\r\n \"icon-image\": [\r\n \"match\",\r\n [\"get\", \"spot_id\"],\r\n [\"CD\", \"HP\", \"BD\", \"KW\", \"RD\", \"UD\", \"WB\", \"WS\", \"SD\"], \"dolphin\",\r\n [\"MW\", \"UB\", \"HU\", \"PW\", \"SP\", \"NB\", \"FW\", \"CB\", \"SW\"], \"whale\",\r\n [\"BS\"], \"baskingshark\",\r\n [\"UC\", \"UN\", \"OR\", \"SU\"], \"\",\r\n \"cat\"\r\n ],\r\n \"icon-padding\": 2,\r\n // 'icon-size': 0.05,\r\n \"icon-anchor\": \"bottom\",\r\n \"icon-allow-overlap\": {\r\n \"base\": 1,\r\n \"stops\": [\r\n [0, true],\r\n [12, true],\r\n [22, true]\r\n ]\r\n },\r\n },\r\n });\r\n }\r\n this.map.on('click', 'clusters', (e) => {\r\n const features = this.map.queryRenderedFeatures(e.point, {\r\n layers: ['clusters']\r\n });\r\n var clusterId = features[0].properties.cluster_id;\r\n var zoom = this.map.getZoom();\r\n if(zoom < 14) {\r\n this.map.getSource('earthquakes').getClusterExpansionZoom(\r\n clusterId,\r\n (err, zoom) => {\r\n if (err) return;\r\n this.map.easeTo({\r\n center: features[0].geometry.coordinates,\r\n zoom: zoom\r\n });\r\n }\r\n );\r\n } else {\r\n var point_count = e.features[0].properties.point_count;\r\n var clusterSource = this.map.getSource(\"earthquakes\");\r\n\r\n clusterSource.getClusterLeaves(clusterId, point_count, 0, (err, aFeatures) => {\r\n this.spotsData = aFeatures;\r\n this.spotsData.sort(function(a,b) {\r\n return new Date(b.properties.spot_date) - new Date(a.properties.spot_date);\r\n });\r\n this.openClusterSpotDetail(this.spotsData);\r\n });\r\n }\r\n });\r\n\r\n // if(this.version_id === 2 || this.version_id === 3){\r\n // this.mapFeatures.forEach((feature) =>{\r\n // this.map.on('click', `unclustered-point-${feature.properties.id}`, (e) => {\r\n // const coordinates = e.features[0].geometry.coordinates.slice();\r\n // const spot_type = e.features[0].properties.title;\r\n // const id = e.features[0].properties.id;\r\n // const spot_id = e.features[0].properties.spot_id;\r\n // const iconUrl = e.features[0].properties.iconUrl;\r\n // const spotted_by = e.features[0].properties.spotted_by;\r\n // const spotted_username = e.features[0].properties.spotted_username;\r\n // const spot_date = e.features[0].properties.spot_date;\r\n // const description = e.features[0].properties.description;\r\n // while (Math.abs(e.lngLat.lng - coordinates[0]) > 180) {\r\n // coordinates[0] += e.lngLat.lng > coordinates[0] ? 360 : -360;\r\n // }\r\n // // this.openSpotDetail(id,false);\r\n // this.$refs.spotDetails.openAdminSpotDetail(id, false);\r\n // });\r\n // });\r\n\r\n // this.map.on('mouseenter', 'clusters', () => {\r\n // this.map.getCanvas().style.cursor = 'pointer';\r\n // });\r\n // this.map.on('mouseleave', 'clusters', () => {\r\n // this.map.getCanvas().style.cursor = '';\r\n // });\r\n // }\r\n // else{\r\n this.map.on('click', 'unclustered-point', (e) => {\r\n const coordinates = e.features[0].geometry.coordinates.slice();\r\n const spot_type = e.features[0].properties.title;\r\n const id = e.features[0].properties.id;\r\n const spot_id = e.features[0].properties.spot_id;\r\n const iconUrl = e.features[0].properties.iconUrl;\r\n const spotted_by = e.features[0].properties.spotted_by;\r\n const spotted_username = e.features[0].properties.spotted_username;\r\n const spot_date = e.features[0].properties.spot_date;\r\n const description = e.features[0].properties.description;\r\n while (Math.abs(e.lngLat.lng - coordinates[0]) > 180) {\r\n coordinates[0] += e.lngLat.lng > coordinates[0] ? 360 : -360;\r\n }\r\n // this.openSpotDetail(id,false);\r\n this.$refs.spotDetails.openAdminSpotDetail(id, false);\r\n });\r\n this.map.on('mouseenter', 'clusters', () => {\r\n this.map.getCanvas().style.cursor = 'pointer';\r\n });\r\n this.map.on('mouseleave', 'clusters', () => {\r\n this.map.getCanvas().style.cursor = '';\r\n });\r\n // }\r\n this.mapLoaded = true;\r\n })\r\n const logo = document.querySelector('.mapboxgl-ctrl-logo');\r\n if (logo) {\r\n logo.remove();\r\n }\r\n },\r\n openAdminSpotDetail(id,event) {\r\n this.$refs.spotDetails.openAdminSpotDetail(id,true)\r\n },\r\n openFilters() {\r\n this.$root.$emit(\"bv::show::modal\", \"modal-map-filters\");\r\n // this.$refs.filterComponent.getFiltersData();\r\n },\r\n openSiderBar() {\r\n this.$root.$emit(\"bv::toggle::collapse\", \"sidebar-no-header\");\r\n },\r\n applyFilter(params) {\r\n let data = {\r\n spot_id: params.spotId,\r\n date_from: params.dateFrom,\r\n date_to: params.dateTo,\r\n questions: params.questions,\r\n categories: params.categories,\r\n locations: params.locations,\r\n spotTypes: params.spotTypes,\r\n surveys: params.surveys,\r\n selectedQuestions: params.selectedQuestions,\r\n client_id: JSON.parse(localStorage.getItem('client_id')),\r\n countRangeFilter: params.countRangeFilter,\r\n countRangeValues: params.countRangeValues,\r\n project_id: this.selectedProjectId\r\n }\r\n API.getSpotsByAdminFilters(data,\r\n data => {\r\n if(data.status === 200) {\r\n this.$snotify.success(data.message);\r\n this.data2.features = [];\r\n this.mapFeatures = [];\r\n this.totalSpots = data.total_spots;\r\n this.$refs.sidebar.assignQuestions(data.countableQuestions);\r\n this.$refs.filterComponent.StopFilterLoading();\r\n this.$refs.filterComponent.StopResetLoading();\r\n this.$refs.filterComponent.changeSliderValue(data.range);\r\n const spot_dImage = data.default_image;\r\n data.data.forEach(data => {\r\n let exists = this.mapFeatures.find(p => p.properties.id == data.id)\r\n if (!exists) {\r\n const d1 = {\r\n type: \"Feature\",\r\n properties: {\r\n id: data.id,\r\n title: (data.spot_type) ? data.spot_type.name : '',\r\n // spot_id: data.spot_type_id,\r\n spot_id: data.spot_id,\r\n description: (data.location) ? data.location.name : '',\r\n spotted_by: (data.spotter_user && data.spotter_user.name) ? data.spotter_user.name : '',\r\n spotted_username: (data.spotter_user && data.spotter_user.user_name) ? data.spotter_user.user_name : '',\r\n spot_date: this.formatDate(data.spot_date),\r\n iconUrl: (data.primary_image) ? this.$server_url + data.primary_image : spot_dImage,\r\n markerColor: (data.single_question && data.single_question.category) ? data.single_question.category.hash_color : 'Red'\r\n },\r\n geometry: {\r\n type: \"Point\",\r\n coordinates: [data.longitude, data.latitude]\r\n }\r\n }\r\n this.mapFeatures.push(d1);\r\n }\r\n })\r\n let categoryColors = [];\r\n\r\n this.mapFeatures.forEach((feature) => {\r\n // Collect all category colors\r\n categoryColors.push(feature.properties.markerColor || '');\r\n });\r\n // Set the GeoJSON source data with individual colors for each feature\r\n const featuresWithColors = this.mapFeatures.map((feature, index) => {\r\n return {\r\n ...feature,\r\n properties: {\r\n ...feature.properties,\r\n 'icon-color': categoryColors[index] || '',\r\n 'icon-halo-color': categoryColors[index] || ''\r\n }\r\n };\r\n });\r\n\r\n this.map.getSource('earthquakes').setData({\r\n type: 'FeatureCollection',\r\n features: featuresWithColors\r\n });\r\n // this.data2 = {\r\n // \"type\": \"FeatureCollection\",\r\n // \"crs\": {\r\n // \"type\": \"name\",\r\n // \"properties\": {\r\n // \"name\": \"urn:ogc:def:crs:OGC:1.3:CRS84\"\r\n // }\r\n // },\r\n // \"features\": this.mapFeatures\r\n // }\r\n // this.map.getSource(\"earthquakes\").setData(this.data2);\r\n } else if(data.status === 500) {\r\n this.$snotify.error(data.message);\r\n this.$refs.filterComponent.StopFilterLoading();\r\n this.$refs.filterComponent.StopResetLoading();\r\n }\r\n },\r\n err => {\r\n console.log(err);\r\n this.$refs.filterComponent.StopFilterLoading();\r\n this.$refs.filterComponent.StopResetLoading();\r\n }\r\n );\r\n },\r\n openClusterSpotDetail(aFeatures) {\r\n this.$EventBus.$emit('showAdminClusterSpots');\r\n },\r\n formatDate(date) {\r\n return moment(String(date)).format('MM-DD-YYYY HH:mm')\r\n },\r\n saveMapStyle(value) {\r\n this.map.remove();\r\n this.default_map = 'mapbox://styles/mapbox/' + value;\r\n this.getClientAdminSpots();\r\n },\r\n getAppSettings() {\r\n const data = {\r\n client_id: JSON.parse(localStorage.getItem('client_id')),\r\n }\r\n API.getAppSettings(\r\n data,\r\n data => {\r\n this.version_id = data.version_id;\r\n this.is_pro_sync = data.is_pro_sync;\r\n this.appImage = this.$server_url + data.data.stock_image;\r\n this.adminMapStyle = data.data.default_map;\r\n this.default_map = data.data.default_map;\r\n this.default_map_zoom = data.data.default_map_zoom;\r\n\r\n this.default_latitude = (data.data.latitude) ? data.data.latitude : 39.452717;\r\n this.default_longitude = (data.data.longitude) ? data.data.longitude : -123.813866;\r\n\r\n },\r\n err => {\r\n }\r\n )\r\n },\r\n getNames() {\r\n const savedProjectId = localStorage.getItem(\"selected_project_id\"); // Retrieve last selected project ID\r\n\r\n this.selectedProjectId = savedProjectId ? JSON.parse(savedProjectId) : null; // Set active project\r\n\r\n const data = {\r\n client_id: JSON.parse(localStorage.getItem(\"client_id\")),\r\n page: this.currentPage,\r\n perPage: this.perPage,\r\n };\r\n\r\n this.loading = true;\r\n\r\n API.getProjectName(\r\n data,\r\n (response) => {\r\n this.loading = false;\r\n\r\n // Append new projects to the projectOptions list\r\n const newProjects = response.data.map((project) => ({\r\n id: project.id,\r\n name: project.project_name,\r\n default_dashboard: project.default_dashboard,\r\n }));\r\n this.projectOptions = [...this.projectOptions, ...newProjects];\r\n\r\n // Add the new projects to the displayed list\r\n this.displayedProjects = [...this.displayedProjects, ...newProjects];\r\n\r\n // Update currentPage for the next load\r\n this.currentPage++;\r\n\r\n // Set the default selected project\r\n if (!this.selectedProjectId && this.projectOptions.length > 0) {\r\n const defaultProject = this.projectOptions.find(\r\n (project) => project.default_dashboard == 1\r\n );\r\n this.selectedProjectId = defaultProject\r\n ? defaultProject.id\r\n : \"select\";\r\n }\r\n },\r\n (err) => {\r\n this.loading = false;\r\n console.error(\"Error fetching project names:\", err);\r\n }\r\n );\r\n },\r\n onProjectClick(id) {\r\n if (this.selectedProjectId !== id) {\r\n this.selectedProjectId = id;\r\n localStorage.setItem(\"selected_project_id\", JSON.stringify(id));\r\n this.map.remove();\r\n // If id is null or undefined, fetch all spots\r\n if (id) {\r\n this.getClientProjectSpots(id);\r\n } else {\r\n this.getClientAdminSpots();\r\n }\r\n\r\n this.$store.dispatch('updateProjectID', id);\r\n }\r\n },\r\n }\r\n };\r\n</script>\r\n<style scoped lang=\"scss\">\r\n #coordinates {\r\n position: absolute !important;\r\n bottom: 10px !important;\r\n }\r\n .basemap {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .mapboxgl-canvas {\r\n width: 1200px;\r\n height: 689.15px;\r\n position: static !important;\r\n }\r\n\r\n .mapboxgl-canvas-container {\r\n position: static !important;\r\n width: 1200px !important;\r\n }\r\n\r\n #menu {\r\n display: flex;\r\n position: absolute;\r\n background: #efefef;\r\n padding: 10px;\r\n font-family: 'Open Sans', sans-serif;\r\n z-index: 1;\r\n align-items: center;\r\n }\r\n\r\n #menu label {\r\n margin-bottom: 0px;\r\n }\r\n .google-map-design {\r\n min-height: calc(100vh - 184px);\r\n height: 100%;\r\n }\r\n .google-map-design #mapContainer {\r\n height: calc(100vh - 285px);\r\n }\r\n\r\n /* .google-map-design #mapContainer {\r\n min-height: calc(100vh - 254px);\r\n height: 100%;\r\n } */\r\n .new-table-responsive tr td span {\r\n white-space: pre-wrap;\r\n line-height: 1.2;\r\n }\r\n @media (max-width: 767px) {\r\n .map-btns button:nth-child(1) {\r\n margin-right: 0px !important;\r\n }\r\n }\r\n @media (max-width: 705px) {\r\n #menu {\r\n width: 80%;\r\n flex-wrap: wrap;\r\n }\r\n .map-btns button:nth-child(1) {\r\n margin-left: 0px !important;\r\n }\r\n }\r\n @media (max-width: 500px) {\r\n #menu {\r\n width: 73%;\r\n flex-wrap: wrap;\r\n }\r\n }\r\n @media (max-width: 450px) {\r\n .m-ml {\r\n margin-left: 0px !important;\r\n }\r\n }\r\n @media (max-width: 375px) {\r\n .map-label {\r\n font-size: 13px;\r\n }\r\n .new-card-body {\r\n padding: 1.25rem 1.437rem !important;\r\n }\r\n }\r\n @media (max-width: 341px) {\r\n .map-btns button:nth-child(2) {\r\n margin-top: 5px;\r\n margin-left: 0px !important;\r\n }\r\n .map-btns button:nth-child(1) {\r\n margin-right: 5px !important;\r\n }\r\n }\r\n .b-sidebar.b-sidebar-right {\r\n margin-top: 105px !important;\r\n }\r\n .sidebar-counter #sidebar-no-header {\r\n margin-top: 105px !important;\r\n }\r\n .new-ml {\r\n margin-left: 10px !important;\r\n color: #fff !important;\r\n }\r\n .variant-orange {\r\n color: #fff !important;\r\n background-color: #fa6400;\r\n border-color: #fa6400;\r\n }\r\n\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./satellite_map.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./satellite_map.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./satellite_map.vue?vue&type=template&id=27419bb0&scoped=true&\"\nimport script from \"./satellite_map.vue?vue&type=script&lang=js&\"\nexport * from \"./satellite_map.vue?vue&type=script&lang=js&\"\nimport style0 from \"./satellite_map.vue?vue&type=style&index=0&id=27419bb0&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"27419bb0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('vue-snotify'),_c('div',{staticClass:\"row p-3 d-block\"},[_c('b-container',{attrs:{\"fluid\":\"\"}},[_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t('Following are spots in this cluster'))+\": \")])]),_c('div',[_c('h5',[_vm._v(_vm._s(_vm.$t('total-spots'))+\": \"+_vm._s(_vm.spotsData.length))])]),_vm._l((_vm.spotsData),function(spot){return _c('div',{key:spot.id,staticClass:\"full-width mt-3\"},[_c('b-card',[_c('b-card-text',[_c('div',{staticClass:\"row w-100\"},[_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('spot-id'))+\" \")]),_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-6\"},[_c('a',{attrs:{\"href\":\"javascript:void(0)\"},on:{\"click\":function($event){return _vm.openDetils(spot.properties.id)}}},[_vm._v(\" \"+_vm._s(spot.properties.spot_id)+\" \")])])]),_c('div',{staticClass:\"row w-100\"},[_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('spot'))+\" \")]),_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-6\"},[_vm._v(\" \"+_vm._s(spot.properties.title)+\" \")])]),_c('div',{staticClass:\"row w-100\"},[_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('spot-date'))+\" \")]),_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-6\"},[_vm._v(\" \"+_vm._s(_vm.formatDateMM(spot.properties.spot_date))+\" \")])]),_c('div',{staticClass:\"row w-100\"},[_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('spotted-by'))+\" \")]),_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-6\"},[_vm._v(\" \"+_vm._s(spot.properties.spotted_username)+\" \")])])])],1)],1)})],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <section>\r\n <vue-snotify></vue-snotify>\r\n <div class=\"row p-3 d-block\">\r\n <b-container fluid>\r\n <div>\r\n <h5>{{ $t('Following are spots in this cluster') }}: </h5>\r\n </div>\r\n <div>\r\n <h5>{{ $t('total-spots') }}: {{ spotsData.length }}</h5>\r\n </div>\r\n <div class=\"full-width mt-3\" v-for=\"spot in spotsData\" :key=\"spot.id\" >\r\n <!-- <b-card :img-src=\"spot.properties.iconUrl\" img-height=\"150\" img-width=\"200\" img-alt=\"Card image\" img-left class=\"mb-3\"> -->\r\n <b-card>\r\n <b-card-text>\r\n <div class=\"row w-100\">\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\">\r\n {{ $t('spot-id') }}\r\n </div>\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\" >\r\n <a href=\"javascript:void(0)\" @click=\"openDetils(spot.properties.id)\"> {{ spot.properties.spot_id }} </a>\r\n \r\n </div>\r\n </div>\r\n <div class=\"row w-100\">\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\">\r\n {{ $t('spot') }}\r\n </div>\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\">\r\n {{ spot.properties.title }}\r\n </div>\r\n </div>\r\n <div class=\"row w-100\">\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\">\r\n {{ $t('spot-date') }}\r\n </div>\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\">\r\n {{ formatDateMM(spot.properties.spot_date) }}\r\n </div>\r\n </div>\r\n <div class=\"row w-100\">\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\">\r\n {{ $t('spotted-by') }}\r\n </div>\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\">\r\n {{ spot.properties.spotted_username }}\r\n </div>\r\n </div>\r\n <!-- <div class=\"row w-100\">\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\">\r\n Spotter Username:\r\n </div>\r\n <div class=\"col-md-6 col-sm-6 col-xs-6\"> \r\n {{ spot.properties.spotted_username }}\r\n </div>\r\n </div> -->\r\n </b-card-text>\r\n </b-card>\r\n </div>\r\n </b-container>\r\n </div>\r\n </section>\r\n</template>\r\n\r\n<script>\r\n import Vue from \"vue\";\r\n import\r\n API from \"@/api\";\r\n import Snotify, {\r\n SnotifyPosition\r\n } from \"vue-snotify\";\r\n import {\r\n validationMixin\r\n } from \"vuelidate\";\r\n import {\r\n required,\r\n minLength,\r\n email,\r\n requiredIf,\r\n sameAs\r\n } from \"vuelidate/lib/validators\";\r\n import moment from 'moment';\r\n \r\n const options = {\r\n toast: {\r\n position: SnotifyPosition.rightTop\r\n }\r\n };\r\n Vue.use(Snotify, options);\r\n \r\n export default {\r\n name: \"openClusterSpotDetail\",\r\n props: [\"spotsData\"],\r\n components: {},\r\n mixins: [validationMixin],\r\n data() {\r\n return {\r\n isDisabled: false,\r\n // form: {\r\n // subscriptions:{\r\n // name: '',\r\n // description: '',\r\n // },\r\n // principals: [],\r\n // name: \"\",\r\n // stream_desc: \"\",\r\n // },\r\n };\r\n },\r\n validations: {\r\n // form: {\r\n // subscriptions: {\r\n // name: {\r\n // required\r\n // },\r\n // description: {\r\n // required\r\n // }\r\n // },\r\n // }\r\n },\r\n methods: {\r\n openDetils(id) {\r\n console.log('open,' , id);\r\n this.$emit('openParentSpot', id, true);\r\n\r\n },\r\n formatDateMM(date) {\r\n // return moment(new Date(date)).format('MM-DD-YYYY')\r\n return moment(date, \"MM-DD-YYYY HH:mm:ss A\").format(\"MM-DD-YYYY\")\r\n },\r\n },\r\n computed: {},\r\n async created() {},\r\n async beforeMount() {},\r\n async mounted() {\r\n console.log('spotsData in modal', this.spotsData);\r\n },\r\n beforeDestroy() {}\r\n };\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n .full-width {\r\n width: 100% !important;\r\n }\r\n .full-width .row div:nth-child(2) {\r\n text-align: right;\r\n }\r\n .full-width .row div {\r\n padding: 0;\r\n }\r\n .full-width .row {\r\n margin: 0;\r\n flex-wrap: inherit;\r\n }\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClusterSpotsModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClusterSpotsModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClusterSpotsModal.vue?vue&type=template&id=808e0828&scoped=true&\"\nimport script from \"./ClusterSpotsModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ClusterSpotsModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClusterSpotsModal.vue?vue&type=style&index=0&id=808e0828&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"808e0828\",\n null\n \n)\n\nexport default component.exports","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es-x/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./satellite_map.vue?vue&type=style&index=0&id=27419bb0&prod&scoped=true&lang=scss&\"","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n"],"sourceRoot":""}