{"version":3,"file":"CollectionOnline-CQx7K88u.js","sources":["../../src/queries/GetCollectionOnline.js","../../src/components/CollectionOnline.vue"],"sourcesContent":["import { artworkNavQuery } from '@/queries/ArtworkNavQuery';\nimport gql from 'graphql-tag';\nimport { pageQuery } from '@/queries/PageQuery';\n\nexport const collectionOnlineQuery = gql`\n  query getCollection($id: ID!, $type: PageIdType) {\n    ${artworkNavQuery}\n    ${pageQuery}\n  }\n`;\n","<template>\n  <article v-if=\"collection\">\n    <ArtworkNavHeader :back=\"false\" :filters=\"filters\"></ArtworkNavHeader>\n    <section :class=\"[$style.article, 'container']\">\n      <h1>Collection Online</h1>\n      <ProcessContent\n        v-if=\"collection\"\n        :content=\"collection.content\"\n        wrapper=\"section\"\n      ></ProcessContent>\n    </section>\n  </article>\n</template>\n\n<script setup lang=\"ts\">\nimport ArtworkNavHeader from '@/components/artwork/ArtworkNavHeader.vue';\nimport { BootStrap } from '@/types/global.interface';\nimport { collectionOnlineQuery } from '@/queries/GetCollectionOnline';\nimport { dataLoaded, useHandleError, useMetaData } from '@/composables/Common.js';\nimport { inject, ref } from 'vue';\nimport ProcessContent from '@/components/common/ProcessContent.vue';\nimport { storeToRefs } from 'pinia';\nimport { useArtworkFilters } from '@/composables/ArtworkFilters.js';\nimport { useMainStore } from '@/stores/mainStore.js';\nimport { useQuery } from 'villus';\n\ninterface Collection {\n  content: string;\n  excerpt: string;\n  title: string;\n  uri: string;\n}\n\nconst bootstrap = inject<BootStrap>('bootstrap');\n\nconst { getFilters } = useArtworkFilters();\nconst { handleError } = useHandleError();\nconst { setMetaDescription, setMetaTitle } = useMetaData();\n\nconst store = useMainStore();\nconst { useBootstrap } = storeToRefs(store);\n\nconst collection = ref<Collection>({});\nconst filters = ref({});\nconst shouldSkip = ref(true);\n\nconst { data } = useQuery({\n  query: collectionOnlineQuery,\n  skip: shouldSkip,\n  variables: {\n    type: 'URI',\n    id: 'collection-online',\n  },\n  onData: (data) => {\n    if (data.page && Object.keys(data.page).length) {\n      filters.value = getFilters(data);\n      collection.value = data.page;\n      setMetaTitle(data.page.title);\n      setMetaDescription(data.page.excerpt);\n      dataLoaded();\n    }\n\n    if (!data.page || Object.keys(data.page).length === 0) {\n      handleError('CollectionOnline', window.location.pathname);\n    }\n  },\n});\n\nif (useBootstrap.value) {\n  shouldSkip.value = true;\n\n  if (\n    bootstrap &&\n    bootstrap.initial &&\n    bootstrap.initial.queried_object &&\n    bootstrap.initial.queried_object.pagedata &&\n    bootstrap.initial.queried_object.pagedata !== null\n  ) {\n    const { page } = bootstrap.initial.queried_object.pagedata;\n\n    filters.value = getFilters(bootstrap.initial.queried_object.pagedata);\n    collection.value = page;\n    setMetaTitle(collection.value.title);\n    setMetaDescription(collection.value.excerpt);\n    dataLoaded();\n  }\n\n  if (\n    bootstrap &&\n    bootstrap.initial &&\n    (!bootstrap.initial.queried_object || !bootstrap.initial.queried_object.pagedata)\n  ) {\n    shouldSkip.value = false;\n  }\n}\n\nif (!useBootstrap.value) {\n  shouldSkip.value = false;\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: collectionOnlineQuery,\n          variables: {\n            id: 'collection-online',\n            type: 'URI',\n          },\n        })\n        .then(() => resolve())\n        .catch((err) => reject(err));\n    });\n  },\n};\n</script>\n\n<style lang=\"scss\" module>\n.article {\n  @include space-48-64-above;\n\n  > h1 {\n    margin: 0;\n  }\n}\n\n@media (min-width: $break-point) {\n  .article {\n    @include grid;\n\n    & {\n      margin-top: 0;\n    }\n\n    > h1 {\n      grid-column: 1 / span 6;\n    }\n\n    > nav {\n      grid-column: 1 / span 8;\n    }\n\n    > section {\n      @include grid-content;\n\n      & {\n        grid-column: span 12;\n      }\n    }\n  }\n}\n</style>\n"],"names":["collectionOnlineQuery","gql","artworkNavQuery","pageQuery","__default__","params","villusClient","resolve","reject","err","bootstrap","inject","getFilters","useArtworkFilters","handleError","useHandleError","setMetaDescription","setMetaTitle","useMetaData","store","useMainStore","useBootstrap","storeToRefs","collection","ref","filters","shouldSkip","useQuery","data","dataLoaded","page"],"mappings":"ieAIO,MAAMA,EAAwBC;AAAA;AAAA,MAE/BC,CAAe;AAAA,MACfC,CAAS;AAAA;AAAA,YC+FAC,EAAA,CACb,YAAYC,EAAQC,EAAc,CAChC,OAAO,IAAI,QAAc,CAACC,EAASC,IAAW,CAC5CF,EACG,aAAa,CACZ,MAAON,EACP,UAAW,CACT,GAAI,oBACJ,KAAM,KAAA,CACR,CACD,EACA,KAAK,IAAMO,GAAS,EACpB,MAAOE,GAAQD,EAAOC,CAAG,CAAC,CAAA,CAC9B,CAAA,CAEL,+CApFM,MAAAC,EAAYC,EAAkB,WAAW,EAEzC,CAAE,WAAAC,CAAW,EAAIC,EAAkB,EACnC,CAAE,YAAAC,CAAY,EAAIC,EAAe,EACjC,CAAE,mBAAAC,EAAoB,aAAAC,CAAa,EAAIC,EAAY,EAEnDC,EAAQC,EAAa,EACrB,CAAE,aAAAC,CAAA,EAAiBC,EAAYH,CAAK,EAEpCI,EAAaC,EAAgB,EAAE,EAC/BC,EAAUD,EAAI,EAAE,EAChBE,EAAaF,EAAI,EAAI,EAwB3B,GAtBiBG,EAAS,CACxB,MAAO3B,EACP,KAAM0B,EACN,UAAW,CACT,KAAM,MACN,GAAI,mBACN,EACA,OAASE,GAAS,CACZA,EAAK,MAAQ,OAAO,KAAKA,EAAK,IAAI,EAAE,SAC9BH,EAAA,MAAQb,EAAWgB,CAAI,EAC/BL,EAAW,MAAQK,EAAK,KACXA,EAAAA,EAAK,KAAK,KAAK,EACTA,EAAAA,EAAK,KAAK,OAAO,EACzBC,EAAA,IAGT,CAACD,EAAK,MAAQ,OAAO,KAAKA,EAAK,IAAI,EAAE,SAAW,IACtCd,EAAA,mBAAoB,OAAO,SAAS,QAAQ,CAC1D,CAEH,CAAA,EAEGO,EAAa,MAAO,CAGtB,GAFAK,EAAW,MAAQ,GAGjBhB,GACAA,EAAU,SACVA,EAAU,QAAQ,gBAClBA,EAAU,QAAQ,eAAe,UACjCA,EAAU,QAAQ,eAAe,WAAa,KAC9C,CACA,KAAM,CAAE,KAAAoB,CAAS,EAAApB,EAAU,QAAQ,eAAe,SAElDe,EAAQ,MAAQb,EAAWF,EAAU,QAAQ,eAAe,QAAQ,EACpEa,EAAW,MAAQO,EACNb,EAAAM,EAAW,MAAM,KAAK,EAChBP,EAAAO,EAAW,MAAM,OAAO,EAChCM,EAAA,CAAA,CAIXnB,GACAA,EAAU,UACT,CAACA,EAAU,QAAQ,gBAAkB,CAACA,EAAU,QAAQ,eAAe,YAExEgB,EAAW,MAAQ,GACrB,CAGE,OAACL,EAAa,QAChBK,EAAW,MAAQ"}