diff --git a/src/components/Map/VMap.global.vue b/src/components/Map/VMap.global.vue index 9a54fb0..c7f75e4 100644 --- a/src/components/Map/VMap.global.vue +++ b/src/components/Map/VMap.global.vue @@ -73,7 +73,12 @@ const props = defineProps({ } }) -const emit = defineEmits(['geojson:ready', 'geojson']) +const emit = defineEmits([ + 'geojson:ready', + 'geojson', + 'add:layer', + 'draw:start' +]) let mapObject let observeMap @@ -129,11 +134,12 @@ onMounted(() => { drawText: false, drawCircle: false, drawPolyline: false, + drawCircleMarker: false, drawMarker: false, cutPolygon: false }) - mapObject.on('pm:create', () => { + mapObject.on('pm:create', (e) => { const fg = L.featureGroup() drawnItems.eachLayer((layer) => { @@ -146,6 +152,12 @@ onMounted(() => { }) emit('geojson', fg.toGeoJSON()) + emit('add:layer', convertGeoJSONWithPointRadius(e.layer)) + }) + + mapObject.on('pm:drawstart', (e) => { + clearDrawLayers() + emit('draw:start', e) }) } @@ -153,6 +165,20 @@ onMounted(() => { initEvents() }) +function clearDrawLayers() { + drawnItems.clearLayers() +} + +function convertGeoJSONWithPointRadius(layer) { + const layerJson = layer.toGeoJSON() + + if (typeof layer.getRadius === 'function') { + layerJson.properties.radius = layer.getRadius() + } + + return layerJson +} + const resizeMap = () => { if (!geoJSONGroup) return const bounds = geoJSONGroup.getBounds() @@ -194,6 +220,8 @@ const setGeoJSON = (geojson) => { emit('geojson:ready', geoJSONGroup) } - - +defineExpose({ + clearDrawLayers +}) + diff --git a/src/components/Table/VTable.vue b/src/components/Table/VTable.global.vue similarity index 100% rename from src/components/Table/VTable.vue rename to src/components/Table/VTable.global.vue diff --git a/src/components/Table/VTableBody.vue b/src/components/Table/VTableBody.global.vue similarity index 65% rename from src/components/Table/VTableBody.vue rename to src/components/Table/VTableBody.global.vue index f9b2d7b..4cb74d5 100644 --- a/src/components/Table/VTableBody.vue +++ b/src/components/Table/VTableBody.global.vue @@ -1,5 +1,5 @@ diff --git a/src/components/Table/VTableBodyCell.vue b/src/components/Table/VTableBodyCell.global.vue similarity index 73% rename from src/components/Table/VTableBodyCell.vue rename to src/components/Table/VTableBodyCell.global.vue index 26d8be9..027461c 100644 --- a/src/components/Table/VTableBodyCell.vue +++ b/src/components/Table/VTableBodyCell.global.vue @@ -1,5 +1,5 @@ diff --git a/src/components/Table/VTableBodyRow.vue b/src/components/Table/VTableBodyRow.global.vue similarity index 100% rename from src/components/Table/VTableBodyRow.vue rename to src/components/Table/VTableBodyRow.global.vue diff --git a/src/components/Table/VTableHeader.vue b/src/components/Table/VTableHeader.global.vue similarity index 100% rename from src/components/Table/VTableHeader.vue rename to src/components/Table/VTableHeader.global.vue diff --git a/src/components/Table/VTableHeaderCell.vue b/src/components/Table/VTableHeaderCell.global.vue similarity index 73% rename from src/components/Table/VTableHeaderCell.vue rename to src/components/Table/VTableHeaderCell.global.vue index 031c04b..319e147 100644 --- a/src/components/Table/VTableHeaderCell.vue +++ b/src/components/Table/VTableHeaderCell.global.vue @@ -1,5 +1,5 @@ diff --git a/src/components/Table/VTableHeaderRow.vue b/src/components/Table/VTableHeaderRow.global.vue similarity index 100% rename from src/components/Table/VTableHeaderRow.vue rename to src/components/Table/VTableHeaderRow.global.vue diff --git a/src/modules/otus/components/Panel/PanelMap/PanelMap.vue b/src/modules/otus/components/Panel/PanelMap/PanelMap.vue index 7c3824e..4045082 100644 --- a/src/modules/otus/components/Panel/PanelMap/PanelMap.vue +++ b/src/modules/otus/components/Panel/PanelMap/PanelMap.vue @@ -1,19 +1,37 @@ diff --git a/src/modules/otus/components/Search/ListResults.vue b/src/modules/otus/components/Search/ListResults.vue new file mode 100644 index 0000000..35272a3 --- /dev/null +++ b/src/modules/otus/components/Search/ListResults.vue @@ -0,0 +1,45 @@ + + + diff --git a/src/modules/otus/components/Search/OtuSearch.vue b/src/modules/otus/components/Search/OtuSearch.vue new file mode 100644 index 0000000..96ca565 --- /dev/null +++ b/src/modules/otus/components/Search/OtuSearch.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/modules/search/otus/SearchBar.vue b/src/modules/otus/components/Search/SearchBar.vue similarity index 71% rename from src/modules/search/otus/SearchBar.vue rename to src/modules/otus/components/Search/SearchBar.vue index f443cea..785e2d0 100644 --- a/src/modules/search/otus/SearchBar.vue +++ b/src/modules/otus/components/Search/SearchBar.vue @@ -1,6 +1,6 @@ \ No newline at end of file +const isComponentForRank = (available, rankString) => + available.some((rankGroup) => rankString?.includes(rankGroup)) + diff --git a/src/modules/search/otus/OtuSearch.vue b/src/modules/search/otus/OtuSearch.vue deleted file mode 100644 index 6b6502d..0000000 --- a/src/modules/search/otus/OtuSearch.vue +++ /dev/null @@ -1,53 +0,0 @@ - - -