diff --git a/src/modules/otus/components/Panel/PanelSpecimens/PanelSpecimens.vue b/src/modules/otus/components/Panel/PanelSpecimens/PanelSpecimens.vue index 8f87b56..164321a 100644 --- a/src/modules/otus/components/Panel/PanelSpecimens/PanelSpecimens.vue +++ b/src/modules/otus/components/Panel/PanelSpecimens/PanelSpecimens.vue @@ -19,6 +19,12 @@ @@ -31,6 +37,7 @@ import PanelDropdown from '../PanelDropdown.vue' import { useOtuPageRequest } from "@/modules/otus/helpers/useOtuPageRequest.js" import TaxonWorks from "@/modules/otus/services/TaxonWorks.js" import SpecimenSummary from "@/modules/otus/components/Panel/PanelSpecimens/SpecimenSummary.vue" +import ImageThumbnail from "@/modules/otus/components/Panel/PanelSpecimens/ImageThumbnail.vue" const props = defineProps({ otuId: { diff --git a/src/modules/otus/components/Panel/PanelSpecimens/SpecimenSummary.vue b/src/modules/otus/components/Panel/PanelSpecimens/SpecimenSummary.vue index e379620..9b9e6b8 100644 --- a/src/modules/otus/components/Panel/PanelSpecimens/SpecimenSummary.vue +++ b/src/modules/otus/components/Panel/PanelSpecimens/SpecimenSummary.vue @@ -67,7 +67,6 @@ function describeSpecimen(specimen) { specimen.catalogNumber, describeLocation(specimen), specimen.year, - specimen.associatedMedia && 'photo', // `length ${JSON.stringify(item).length}`, ].filter(Boolean).join("; ") } diff --git a/src/modules/otus/services/TaxonWorks.js b/src/modules/otus/services/TaxonWorks.js index b7197c5..5f31696 100644 --- a/src/modules/otus/services/TaxonWorks.js +++ b/src/modules/otus/services/TaxonWorks.js @@ -79,6 +79,16 @@ export default class TaxonWorks { return makeAPIRequest.get(`/otus/${otuId}/inventory/dwc.json`, opt) } + /** Load image info (thumbnail, etc) from a URL such as one in a Darwin Core 'associatedMedia' field. */ + static getImageFromUrl(url, opt) { + // sanity check that this is the kind of URL we're looking for + // if it isn't, the data is likely to not work downstream + if (!url.indexOf('/api/v1') < 0) + throw new Error('Unsupported URL. Must be a TaxonWorks v1 API URL (containing "/api/v1").') + const path = url.split('/api/v1')[1] // remove the base URL -- just keep the part after /api/v1 + return makeAPIRequest.get(path, opt) + } + static getCachedMap(id) { return makeAPIRequest.get(`/cached_maps/${id}`) }