parent
3e348d3d8d
commit
418a402a44
@ -0,0 +1,48 @@
|
||||
<template>
|
||||
<div>
|
||||
<h3>Category</h3>
|
||||
<category-filter @filter="$emit('filter', $event)" />
|
||||
<h3>GIS Category</h3>
|
||||
<gis-category-filter @filter="$emit('filter', $event)" />
|
||||
<h3>Scanner</h3>
|
||||
<scanner-filter @filter="$emit('filter', $event)" />
|
||||
<h3>Organiztion</h3>
|
||||
<org-filter @filter="$emit('filter', $event)" />
|
||||
<h3>Stratum</h3>
|
||||
<stratum-filter @filter="$emit('filter', $event)" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import CategoryFilter from "@/components/filters/CategoryFilter.vue";
|
||||
import GisCategoryFilter from "@/components/filters/GisCategoryFilter.vue";
|
||||
import ScannerFilter from "@/components/filters/ScannerFilter.vue";
|
||||
import OrgFilter from "@/components/filters/OrgFilter.vue";
|
||||
import StratumFilter from "@/components/filters/StratumFilter.vue";
|
||||
export default {
|
||||
name: "filter-panel",
|
||||
components: { CategoryFilter, GisCategoryFilter, ScannerFilter, OrgFilter, StratumFilter },
|
||||
methods: {},
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="css" scoped>
|
||||
.sidebar-item {
|
||||
height: 4rem;
|
||||
display: flex;
|
||||
padding: 1rem 0.5rem;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.sidebar-icon {
|
||||
margin: 1rem;
|
||||
}
|
||||
</style>
|
||||
@ -1,69 +1,21 @@
|
||||
<template>
|
||||
<div>
|
||||
<va-sidebar color="primary" text-color="white" gradient class="sidebar-proper">
|
||||
<h3>Category</h3>
|
||||
<category-filter @filter="$emit('filter', $event)" />
|
||||
<h3>GIS Category</h3>
|
||||
<gis-category-filter @filter="$emit('filter', $event)" />
|
||||
<h3>Scanner</h3>
|
||||
<scanner-filter @filter="$emit('filter', $event)" />
|
||||
<h3>Organiztion</h3>
|
||||
<org-filter @filter="$emit('filter', $event)" />
|
||||
<h3>Stratum</h3>
|
||||
<stratum-filter @filter="$emit('filter', $event)" />
|
||||
|
||||
<!-- <template v-for="item in sidebarItems" :key="item.title">
|
||||
<va-sidebar-item :active="item.active">
|
||||
<va-sidebar-item-content class="sidebar-item">
|
||||
<va-icon class="sidebar-icon" size="2rem" :name="item.icon" />
|
||||
<va-sidebar-item-title class="sidebar-title">{{ item.title }}</va-sidebar-item-title>
|
||||
</va-sidebar-item-content>
|
||||
</va-sidebar-item>
|
||||
</template>-->
|
||||
<slot></slot>
|
||||
</va-sidebar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import CategoryFilter from "@/components/filters/CategoryFilter.vue";
|
||||
import GisCategoryFilter from "@/components/filters/GisCategoryFilter.vue";
|
||||
import ScannerFilter from "@/components/filters/ScannerFilter.vue";
|
||||
import OrgFilter from "@/components/filters/OrgFilter.vue";
|
||||
import StratumFilter from "@/components/filters/StratumFilter.vue";
|
||||
export default {
|
||||
name: "sidebar",
|
||||
props: {
|
||||
// sidebarItems: {
|
||||
// type: Array,
|
||||
// required: true,
|
||||
// }
|
||||
},
|
||||
components: { CategoryFilter, GisCategoryFilter, ScannerFilter, OrgFilter, StratumFilter },
|
||||
methods: {},
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="css" scoped>
|
||||
<style lang="css">
|
||||
.sidebar-proper {
|
||||
height: max(100vh, 100%);
|
||||
}
|
||||
|
||||
.sidebar-item {
|
||||
height: 4rem;
|
||||
display: flex;
|
||||
padding: 1rem 0.5rem;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.sidebar-icon {
|
||||
margin: 1rem;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,29 @@
|
||||
<template>
|
||||
<div>
|
||||
<template v-for="item in sidebarItems" :key="item.title">
|
||||
<va-sidebar-item :active="item.active" @click="$router.push({ name: `${item.route}` })">
|
||||
<va-sidebar-item-content class="sidebar-item">
|
||||
<va-icon class="sidebar-icon" size="2rem" :name="item.icon" />
|
||||
<va-sidebar-item-title class="sidebar-title">{{ item.title }}</va-sidebar-item-title>
|
||||
</va-sidebar-item-content>
|
||||
</va-sidebar-item>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'sidebar-menu',
|
||||
props: {
|
||||
sidebarItems: {
|
||||
type: Array,
|
||||
required: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="css">
|
||||
</style>
|
||||
@ -0,0 +1,30 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
import FrontView from "@/views/FrontView";
|
||||
import AdminView from "@/views/AdminView";
|
||||
import ActiveSchemaScreen from "@/components/ActiveSchemaScreen";
|
||||
import UploadScreen from "@/components/UploadScreen";
|
||||
|
||||
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
component: FrontView
|
||||
},
|
||||
{
|
||||
path: '/admin',
|
||||
component: AdminView,
|
||||
children: [
|
||||
{ path: '', component: ActiveSchemaScreen, name: "active-schema" },
|
||||
{ path: '', component: UploadScreen, name: "upload" }
|
||||
]
|
||||
},
|
||||
|
||||
]
|
||||
|
||||
const router = createRouter({
|
||||
routes,
|
||||
history: createWebHistory(process.env.BASE_URL)
|
||||
});
|
||||
|
||||
export default router;
|
||||
Loading…
Reference in new issue