Skip to content

Commit

Permalink
chore: move diff-map on high level #57
Browse files Browse the repository at this point in the history
  • Loading branch information
wazolab committed Apr 22, 2024
1 parent f601307 commit d680335
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 20 deletions.
18 changes: 0 additions & 18 deletions components/Logs.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<script lang="ts">
import type { PropType } from 'vue'
import _ from 'underscore'
import type { Geometry } from 'geojson'
import LogsComponent from '~/components/LogsComponent.vue'
import type { Log, ObjectId, User } from '~/libs/types'
import { setLogs } from '~/libs/types'
Expand Down Expand Up @@ -159,16 +158,6 @@ export default defineNuxtComponent({
isProjectUser(): boolean {
return !!this.user?.projects?.includes(this.project)
},
baseGeoms(): Geometry[] {
return this.logs
.map((log) => log.base?.geom)
.filter((geom): geom is Geometry => !!geom)
},
changeGeoms(): Geometry[] {
return this.logs.map((log) => log.change.geom)
},
},
methods: {
Expand Down Expand Up @@ -245,13 +234,6 @@ export default defineNuxtComponent({

<template>
<div>
<el-row>
<DiffMap
:base-geom="baseGeoms"
:change-geom="changeGeoms"
style="resize: vertical"
/>
</el-row>
<h3>{{ $t('logs.filters') }}</h3>
<el-row style="margin-top: 20px">
<el-badge :value="logs.length" class="item" :max="999">
Expand Down
39 changes: 37 additions & 2 deletions pages/[project]/changes_logs.vue
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<script setup lang="ts">
import type { Geometry } from 'geojson'
import type { Log, ObjectId, Project } from '~/libs/types'
definePageMeta({
Expand Down Expand Up @@ -30,6 +31,24 @@ catch (err: any) {
ElMessage.error(err.message)
}
const baseGeoms = computed((): Geometry[] => {
if (!logs.value) {
return []
}
return logs.value
.map((log) => log.base?.geom)
.filter((geom): geom is Geometry => !!geom)
})
const changeGeoms = computed((): Geometry[] => {
if (!logs.value) {
return []
}
return logs.value.map((log) => log.change.geom)
})
function removeLogs(objectIds: ObjectId[]) {
logs.value = logs.value?.filter(
(log) =>
Expand All @@ -41,13 +60,29 @@ function removeLogs(objectIds: ObjectId[]) {
</script>

<template>
<div>
<el-container direction="vertical">
<!-- TODO: Improve this component for reuse -->
<project-light v-if="project" :project="project" />
<!-- TODO: Create a component -->
<el-row>
<diff-map
:base-geom="baseGeoms"
:change-geom="changeGeoms"
style="resize: vertical"
/>
</el-row>
<logs
v-if="logs?.length"
:project="projectSlug"
:logs="logs"
@remove-logs="removeLogs($event)"
/>
</div>
</el-container>
</template>
<style scoped>
.item {
margin-top: 0.7em;
margin-right: 1.3em;
}
</style>

0 comments on commit d680335

Please sign in to comment.