{"version":3,"file":"FindingAidsCollection-h81ZdzhO.js","sources":["../../src/queries/GetFindingAidsCollection.js","../../src/components/findingAids/FindingAidsCollection.vue"],"sourcesContent":["import gql from 'graphql-tag';\n\nexport const findingAidsCollectionQuery = gql`\n query findingAidsCollection($slug: ID!) {\n findingAidsCollection(id: $slug, idType: SLUG) {\n content\n excerpt\n files {\n box\n collection\n depth\n folder\n label\n id\n phystech\n slug\n type\n uid\n unitdate\n unittitle\n }\n notes {\n note_content\n note_name\n }\n series\n sponsor\n title\n }\n }\n`;\n","<template>\n <article v-if=\"collection && Object.keys(collection).length\" class=\"space-0-above\">\n <FindingAidsHeader\n :obj=\"{ back: true }\"\n ></FindingAidsHeader>\n <div :class=\"$style.content\">\n <h1 class=\"no-border-above\">{{ collection.title }}</h1>\n <ProcessContent wrapper=\"section\" :content=\"collection.content\"></ProcessContent>\n <aside>\n <ContentDrawer\n v-for=\"(note, key) in collection.notes\"\n :key=\"key\"\n :end-title=\"`Hide ${note.note_name}`\"\n :title=\"`Show ${note.note_name}`\"\n >\n <p v-html=\"note.note_content\"></p>\n </ContentDrawer>\n </aside>\n <section\n v-if=\"collection.sponsor\"\n :class=\"$style.sponsor\"\n v-html=\"collection.sponsor\"\n ></section>\n <FileList\n v-if=\"collection.files\"\n :class=\"$style.spaced\"\n :files=\"collection.files\"\n ></FileList>\n <section v-if=\"collection.series\" :class=\"$style.spaced\">\n <h2>Collection Series</h2>\n <article v-for=\"(series, key) in serieses\" :key=\"key\" :class=\"$style.spaced\">\n <header>\n <h2>Series {{ intToWord(key + 1) }}</h2>\n <h3 v-html=\"series.title\"></h3>\n <h3>{{ series.seriesData.date_label }}</h3>\n <h3>{{ series.seriesData.volume }}</h3>\n </header>\n <section v-html=\"series.content\"></section>\n <router-link\n class=\"more-link\"\n :to=\"{ name: 'FindingAidsSeries', params: { slug: series.slug } }\"\n >\n View series {{ intToWord(key + 1) }} folder list\n </router-link>\n </article>\n </section>\n </div>\n </article>\n <BackToTop></BackToTop>\n</template>\n\n<script setup lang=\"ts\">\nimport BackToTop from '@/components/common/BackToTop.vue';\nimport { computed, ref } from 'vue';\nimport ContentDrawer from '@/components/shortcodes/ContentDrawer.vue';\nimport { dataLoaded, useHandleError, useMetaData } from '@/composables/Common.js';\nimport { findingAidsCollectionQuery } from '@/queries/GetFindingAidsCollection';\nimport { FindingAid } from '@/types/findingaids.interface';\nimport FindingAidsHeader from '@/components/findingAids/FindingAidsHeader.vue';\nimport FileList from '@/components/findingAids/FileList.vue';\nimport { intToWord } from '@/utils';\nimport ProcessContent from '@/components/common/ProcessContent.vue';\nimport { useQuery } from 'villus';\n\ninterface Collection {\n content: string;\n excerpt: string;\n files: string;\n notes: Note[];\n series: string;\n sponsor: string;\n title: string;\n}\n\ninterface Note {\n note_content: string;\n note_name: string;\n}\n\nconst props = defineProps<{\n slug: string;\n}>();\n\nconst { handleError } = useHandleError();\nconst { setMetaDescription, setMetaTitle } = useMetaData();\n\nconst collection = ref<Collection>({});\nconst serieses = ref<FindingAid[]>({});\n\nconst fetchSeries = computed(() => {\n return `query findingAidsSeries {\n findingAidsSerieses(where: { seriesIn: [${collection.value.series}] }) {\n nodes {\n content\n title\n seriesData {\n date_label\n volume\n }\n slug\n }\n }\n }`;\n});\n\nconst { data, error } = useQuery({\n onData: data => {\n if (data.findingAidsCollection && Object.keys(data.findingAidsCollection).length) {\n collection.value = data.findingAidsCollection;\n setMetaTitle(data.findingAidsCollection.title);\n setMetaDescription(data.findingAidsCollection.excerpt);\n dataLoaded();\n }\n\n if (!data.findingAidsCollection || Object.keys(data.findingAidsCollection).length === 0) {\n handleError('FindingAidsCollection', error);\n }\n },\n query: findingAidsCollectionQuery,\n variables: { slug: props.slug },\n});\nconst { data: seriesQueryData } = useQuery({\n fetchOnMount: false,\n onData: data => {\n if (data.findingAidsSerieses && data.findingAidsSerieses.nodes.length) {\n serieses.value = data.findingAidsSerieses.nodes;\n }\n },\n query: fetchSeries,\n});\n</script>\n\n<script lang=\"ts\">\nexport default {\n beforeRoute(params, villusClient) {\n return new Promise<void>((resolve, reject) => {\n villusClient\n .executeQuery({\n query: findingAidsCollectionQuery,\n variables: { slug: params.slug },\n })\n .then(() => resolve())\n .catch((err) => reject(err));\n });\n },\n};\n</script>\n\n<style lang=\"scss\" module>\n.sponsor {\n display: flex;\n padding: 3rem;\n}\n\n:global(.fa-sponsor-content) {\n margin-top: 0;\n}\n\n:global(.fa-sponsor-img-wrap) {\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 0 px-to-rem(24) 0 0;\n\n img {\n height: auto;\n max-width: 100%;\n width: auto;\n }\n}\n\n:global(.fa-sponsor-img) {\n padding: 0 px-to-rem(12) px-to-rem(12) 0;\n}\n\n.spaced {\n @include space-48-64-above;\n}\n\n@media (min-width: $break-point) {\n .content {\n @include grid-content;\n }\n}\n</style>\n"],"names":["findingAidsCollectionQuery","gql","__default__","params","villusClient","resolve","reject","err","props","__props","handleError","useHandleError","setMetaDescription","setMetaTitle","useMetaData","collection","ref","serieses","fetchSeries","computed","data","error","useQuery","dataLoaded"],"mappings":"0nBAEO,MAAMA,EAA6BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8HCmI3BC,EAAA,CACb,YAAYC,EAAQC,EAAc,CAChC,OAAO,IAAI,QAAc,CAACC,EAASC,IAAW,CAC5CF,EACG,aAAa,CACZ,MAAOJ,EACP,UAAW,CAAE,KAAMG,EAAO,IAAK,CAAA,CAChC,EACA,KAAK,IAAME,GAAS,EACpB,MAAOE,GAAQD,EAAOC,CAAG,CAAC,CAAA,CAC9B,CAAA,CAEL,oEAlEA,MAAMC,EAAQC,EAIR,CAAE,YAAAC,CAAY,EAAIC,EAAe,EACjC,CAAE,mBAAAC,EAAoB,aAAAC,CAAa,EAAIC,EAAY,EAEnDC,EAAaC,EAAgB,EAAE,EAC/BC,EAAWD,EAAkB,EAAE,EAE/BE,EAAcC,EAAS,IACpB;AAAA,8CACqCJ,EAAW,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYpE,EAEK,CAAE,KAAAK,GAAM,MAAAC,CAAM,EAAIC,EAAS,CAC/B,OAAQF,GAAQ,CACVA,EAAK,uBAAyB,OAAO,KAAKA,EAAK,qBAAqB,EAAE,SACxEL,EAAW,MAAQK,EAAK,sBACXA,EAAAA,EAAK,sBAAsB,KAAK,EAC1BA,EAAAA,EAAK,sBAAsB,OAAO,EAC1CG,EAAA,IAGT,CAACH,EAAK,uBAAyB,OAAO,KAAKA,EAAK,qBAAqB,EAAE,SAAW,IACpFV,EAAY,wBAAyBW,CAAK,CAE9C,EACA,MAAOrB,EACP,UAAW,CAAE,KAAMQ,EAAM,IAAK,CAAA,CAC/B,EACiC,OAAAc,EAAS,CACzC,aAAc,GACd,OAAQF,GAAQ,CACVA,EAAK,qBAAuBA,EAAK,oBAAoB,MAAM,SACpDH,EAAA,MAAQG,EAAK,oBAAoB,MAE9C,EACA,MAAOF,CACR,CAAA"}