diff --git a/src/components/Gallery/GalleryThumbnail.vue b/src/components/Gallery/GalleryThumbnail.vue
index 812df5e..a310987 100644
--- a/src/components/Gallery/GalleryThumbnail.vue
+++ b/src/components/Gallery/GalleryThumbnail.vue
@@ -5,6 +5,7 @@
>
diff --git a/src/modules/otus/components/CommonNames.vue b/src/modules/otus/components/CommonNames.vue
index 071eba8..940063b 100644
--- a/src/modules/otus/components/CommonNames.vue
+++ b/src/modules/otus/components/CommonNames.vue
@@ -4,7 +4,7 @@
diff --git a/src/modules/otus/components/Citation/CitationRow.vue b/src/modules/otus/components/Panel/PanelCitation/PanelCitationRow.vue
similarity index 100%
rename from src/modules/otus/components/Citation/CitationRow.vue
rename to src/modules/otus/components/Panel/PanelCitation/PanelCitationRow.vue
diff --git a/src/modules/otus/components/Citation/CitationRowShowMore.vue b/src/modules/otus/components/Panel/PanelCitation/PanelCitationShowMore.vue
similarity index 100%
rename from src/modules/otus/components/Citation/CitationRowShowMore.vue
rename to src/modules/otus/components/Panel/PanelCitation/PanelCitationShowMore.vue
diff --git a/src/modules/otus/components/Content/Content.vue b/src/modules/otus/components/Panel/PanelContent/PanelContent.vue
similarity index 81%
rename from src/modules/otus/components/Content/Content.vue
rename to src/modules/otus/components/Panel/PanelContent/PanelContent.vue
index a4a512e..b8f7d97 100644
--- a/src/modules/otus/components/Content/Content.vue
+++ b/src/modules/otus/components/Panel/PanelContent/PanelContent.vue
@@ -3,7 +3,6 @@
@@ -12,8 +11,8 @@
\ No newline at end of file
diff --git a/src/modules/otus/components/TypeSpecimen.vue b/src/modules/otus/components/Panel/PanelTypeSpecimen/PanelTypeSpecimen.vue
similarity index 80%
rename from src/modules/otus/components/TypeSpecimen.vue
rename to src/modules/otus/components/Panel/PanelTypeSpecimen/PanelTypeSpecimen.vue
index 1ea87c0..724a829 100644
--- a/src/modules/otus/components/TypeSpecimen.vue
+++ b/src/modules/otus/components/Panel/PanelTypeSpecimen/PanelTypeSpecimen.vue
@@ -15,8 +15,8 @@
\ No newline at end of file
diff --git a/src/modules/otus/constants/index.js b/src/modules/otus/constants/index.js
index 44b902a..b7becd8 100644
--- a/src/modules/otus/constants/index.js
+++ b/src/modules/otus/constants/index.js
@@ -1 +1,2 @@
-export * from './typeOrder';
+export * from './typeOrder'
+export * from './rankGroups'
diff --git a/src/modules/otus/constants/overviewLayout.js b/src/modules/otus/constants/overviewLayout.js
new file mode 100644
index 0000000..3acf41e
--- /dev/null
+++ b/src/modules/otus/constants/overviewLayout.js
@@ -0,0 +1,29 @@
+import { FAMILY_GROUP, GENUS_GROUP, SPECIES_GROUP } from './index.js'
+import PanelGallery from '../components/Panel/PanelGallery/Gallery.vue'
+import PanelTypeSpecimen from '../components/Panel/PanelTypeSpecimen/PanelTypeSpecimen.vue'
+import PanelTypeDesignation from '../components/Panel/PanelTypeDesignation/PanelTypeDesignation.vue'
+import PanelCitations from '../components/Panel/PanelCitation/PanelCitation.vue'
+import PanelMap from '../components/Panel/PanelMap/PanelMap.vue'
+import PanelDescendants from '../components/Panel/PanelDescendants/Descendants.vue'
+import PanelContent from '../components/Panel/PanelContent/PanelContent.vue'
+
+export const overviewLayout = {
+ left: [
+ { component: PanelGallery },
+ {
+ component: PanelTypeSpecimen,
+ available: [SPECIES_GROUP]
+ },
+ {
+ component: PanelTypeDesignation,
+ available: [FAMILY_GROUP, GENUS_GROUP]
+ },
+ { component: PanelCitations }
+ ],
+
+ right: [
+ { component: PanelMap },
+ { component: PanelDescendants },
+ { component: PanelContent }
+ ]
+}
diff --git a/src/constants/rankGroups.js b/src/modules/otus/constants/rankGroups.js
similarity index 100%
rename from src/constants/rankGroups.js
rename to src/modules/otus/constants/rankGroups.js
diff --git a/src/modules/otus/services/OtuService.js b/src/modules/otus/services/TaxonWorks.js
similarity index 81%
rename from src/modules/otus/services/OtuService.js
rename to src/modules/otus/services/TaxonWorks.js
index 612ff5a..40bd8b8 100644
--- a/src/modules/otus/services/OtuService.js
+++ b/src/modules/otus/services/TaxonWorks.js
@@ -1,6 +1,6 @@
import { makeAPIRequest } from "@/utils/request"
-export default class OtuService {
+export default class TaxonWorks {
static getTaxonNameCitations (otuId) {
return makeAPIRequest.get(`/otus/${otuId}/inventory/nomenclature_citations`, { params: { extend: ['source'] } })
@@ -14,7 +14,7 @@ export default class OtuService {
return makeAPIRequest.get(`/taxon_names/${id}`)
}
- static getTaxonTypeSpecies (id) {
+ static getTaxonTypeDesignation (id) {
return makeAPIRequest.get(`/taxon_names/${id}`, { params: { extend: ['type_taxon_name_relationship'] } })
}
@@ -22,19 +22,19 @@ export default class OtuService {
return makeAPIRequest.get(`/otus/${otuId}/inventory/images.json`, { params })
}
- static getDescendants (otuId, params) {
+ static getOtuDescendants (otuId, params) {
return makeAPIRequest.get(`/otus/${otuId}/inventory/taxonomy.json`, { params })
}
- static getTypes (otuId) {
+ static getOtuTypeMaterial (otuId) {
return makeAPIRequest.get(`/otus/${otuId}/inventory/type_material.json`)
}
- static getGeoJSON (otuId) {
+ static getOtuDistribution (otuId) {
return makeAPIRequest.get(`/otus/${otuId}/inventory/distribution`)
}
- static getContent (otuId) {
+ static getOtuContent (otuId) {
return makeAPIRequest.get(`/otus/${otuId}/inventory/content`, { extend: ['depiction']})
}
}
\ No newline at end of file
diff --git a/src/modules/otus/views/Index.vue b/src/modules/otus/views/Index.vue
index dd8adb1..b8eef5a 100644
--- a/src/modules/otus/views/Index.vue
+++ b/src/modules/otus/views/Index.vue
@@ -84,7 +84,7 @@ import { useRoute, useRouter } from 'vue-router'
import Breadcrumb from '@/components/Breadcrumb.vue'
import TaxaInfo from '@/modules/otus/components/TaxaInfo.vue'
import useChildrenRoutes from '../composables/useChildrenRoutes'
-import OtuService from '../services/OtuService'
+import TaxonWorks from '../services/TaxonWorks'
const route = useRoute()
const router = useRouter()
@@ -103,8 +103,8 @@ watch(routeParams, async (newParams, oldParams) => {
otu.value = {}
taxon.value = {}
- otu.value = (await OtuService.getOtu(route.params.id)).data
- taxon.value = (await OtuService.getTaxon(otu.value.taxon_name_id)).data
+ otu.value = (await TaxonWorks.getOtu(route.params.id)).data
+ taxon.value = (await TaxonWorks.getTaxon(otu.value.taxon_name_id)).data
}, { immediate: true })
diff --git a/src/modules/otus/views/Overview.vue b/src/modules/otus/views/Overview.vue
index 898dbe6..01fc92c 100644
--- a/src/modules/otus/views/Overview.vue
+++ b/src/modules/otus/views/Overview.vue
@@ -3,7 +3,7 @@