{"version":3,"file":"EmissionPresentationList-BeJsPaCg.mjs","names":[],"sources":["../src/components/display/emission/EmissionPresentationList.vue","../src/components/display/emission/EmissionPresentationList.vue"],"sourcesContent":["<template>\n  <ClassicLoading\n    :loading-text=\"loading ? $t('Loading emissions ...') : undefined\"\n    :error-text=\"error ? $t(`Error`) : undefined\"\n  />\n  <PresentationLayout\n    v-if=\"!loading && !error\"\n    :title=\"title\"\n    :items=\"allEmissions\"\n    :route=\"href\"\n    :button-text=\"buttonText\"\n  >\n    <template #item=\"{ item, first }\">\n      <EmissionItemPresentation\n        :class=\"!isPhone && first ? 'me-3' : ''\"\n        :emission=\"item\"\n        :is-vertical=\"!isPhone && first\"\n        :is-description=\"isDescription\"\n      />\n    </template>\n  </PresentationLayout>\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { defineAsyncComponent, onMounted, Ref, ref } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\n\nimport PresentationLayout from \"../../layouts/PresentationLayout.vue\"; \n\nconst EmissionItemPresentation = defineAsyncComponent(\n  () => import(\"./EmissionPresentationItem.vue\"),\n);\n\n//Props \nconst props = defineProps({\n  organisationId: { default: undefined, type: String },\n  title: { default: \"\", type: String },\n  href: { default: undefined, type: String },\n  buttonText: { default: undefined, type: String },\n  isDescription: { default: false, type: Boolean },\n  rubriquesId: { default: [], type: Array<number> },\n})\n\n//Data \nconst loading = ref(true);\nconst error = ref(false);\nconst allEmissions: Ref<Array<Emission>> = ref([]);\n  \n//Composables\nconst { isPhone } = useResizePhone();\nconst {handle403} = useErrorHandler();\n\nonMounted(()=>fetchNext())\n\n\n//Methods\nasync function fetchNext(): Promise<void> {\n  loading.value = true;\n  try {\n    const data = await classicApi.fetchData<ListClassicReturn<Emission>>({\n      api: 0,\n      path: \"emission/search\",\n      parameters: {\n        first: 0,\n        size: 5,\n        organisationId: props.organisationId,\n        sort: \"LAST_PODCAST_DESC\",\n        rubriqueId: props.rubriquesId\n      },\n      specialTreatement: true,\n    });\n    allEmissions.value = allEmissions.value.concat(\n      data.result.filter((em: Emission | null) => null !== em),\n    );\n    loading.value = false;\n  } catch (errorWs) {\n    handle403(errorWs as AxiosError);\n    error.value = true;\n  }\n  loading.value = false;\n}\n</script>\n","<template>\n  <ClassicLoading\n    :loading-text=\"loading ? $t('Loading emissions ...') : undefined\"\n    :error-text=\"error ? $t(`Error`) : undefined\"\n  />\n  <PresentationLayout\n    v-if=\"!loading && !error\"\n    :title=\"title\"\n    :items=\"allEmissions\"\n    :route=\"href\"\n    :button-text=\"buttonText\"\n  >\n    <template #item=\"{ item, first }\">\n      <EmissionItemPresentation\n        :class=\"!isPhone && first ? 'me-3' : ''\"\n        :emission=\"item\"\n        :is-vertical=\"!isPhone && first\"\n        :is-description=\"isDescription\"\n      />\n    </template>\n  </PresentationLayout>\n</template>\n\n<script setup lang=\"ts\">\nimport classicApi from \"../../../api/classicApi\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport ClassicLoading from \"../../form/ClassicLoading.vue\";\nimport { Emission } from \"@/stores/class/general/emission\";\nimport { defineAsyncComponent, onMounted, Ref, ref } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport {useResizePhone} from \"../../composable/useResizePhone\";\nimport { ListClassicReturn } from \"@/stores/class/general/listReturn\";\n\nimport PresentationLayout from \"../../layouts/PresentationLayout.vue\"; \n\nconst EmissionItemPresentation = defineAsyncComponent(\n  () => import(\"./EmissionPresentationItem.vue\"),\n);\n\n//Props \nconst props = defineProps({\n  organisationId: { default: undefined, type: String },\n  title: { default: \"\", type: String },\n  href: { default: undefined, type: String },\n  buttonText: { default: undefined, type: String },\n  isDescription: { default: false, type: Boolean },\n  rubriquesId: { default: [], type: Array<number> },\n})\n\n//Data \nconst loading = ref(true);\nconst error = ref(false);\nconst allEmissions: Ref<Array<Emission>> = ref([]);\n  \n//Composables\nconst { isPhone } = useResizePhone();\nconst {handle403} = useErrorHandler();\n\nonMounted(()=>fetchNext())\n\n\n//Methods\nasync function fetchNext(): Promise<void> {\n  loading.value = true;\n  try {\n    const data = await classicApi.fetchData<ListClassicReturn<Emission>>({\n      api: 0,\n      path: \"emission/search\",\n      parameters: {\n        first: 0,\n        size: 5,\n        organisationId: props.organisationId,\n        sort: \"LAST_PODCAST_DESC\",\n        rubriqueId: props.rubriquesId\n      },\n      specialTreatement: true,\n    });\n    allEmissions.value = allEmissions.value.concat(\n      data.result.filter((em: Emission | null) => null !== em),\n    );\n    loading.value = false;\n  } catch (errorWs) {\n    handle403(errorWs as AxiosError);\n    error.value = true;\n  }\n  loading.value = false;\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCA,MAAM,2BAA2B,2BACzB,OAAO,2CAAA,MAAA,MAAA,EAAA,CAAA,CACf;EAGA,MAAM,QAAQ;EAUd,MAAM,UAAU,IAAI,IAAI;EACxB,MAAM,QAAQ,IAAI,KAAK;EACvB,MAAM,eAAqC,IAAI,CAAC,CAAC;EAGjD,MAAM,EAAE,YAAY,eAAe;EACnC,MAAM,EAAC,cAAa,gBAAgB;EAEpC,gBAAc,UAAU,CAAC;EAIzB,eAAe,YAA2B;GACxC,QAAQ,QAAQ;GAChB,IAAI;IACF,MAAM,OAAO,MAAM,mBAAW,UAAuC;KACnE,KAAK;KACL,MAAM;KACN,YAAY;MACV,OAAO;MACP,MAAM;MACN,gBAAgB,MAAM;MACtB,MAAM;MACN,YAAY,MAAM;KACpB;KACA,mBAAmB;IACrB,CAAC;IACD,aAAa,QAAQ,aAAa,MAAM,OACtC,KAAK,OAAO,QAAQ,OAAwB,SAAS,EAAE,CACzD;IACA,QAAQ,QAAQ;GAClB,SAAS,SAAS;IAChB,UAAU,OAAqB;IAC/B,MAAM,QAAQ;GAChB;GACA,QAAQ,QAAQ;EAClB;;;;;;;;;;;;;;;;;;;;;;;yDCrFE,YAGE,OAAA,mBAAA;EAFC,gBAAc,OAAA,UAAU,KAAA,GAAE,uBAAA,IAA4B,KAAA;EACtD,cAAY,OAAA,QAAQ,KAAA,GAAE,OAAA,IAAY,KAAA;+CAG5B,OAAA,WAAO,CAAK,OAAA,SAAA,UAAA,GADrB,YAeqB,OAAA,uBAAA;;EAblB,OAAO,OAAA;EACP,OAAO,OAAA;EACP,OAAO,OAAA;EACP,eAAa,OAAA;;EAEH,MAAI,SAMX,EANe,MAAM,YAAK,CAC5B,YAKE,OAAA,6BAAA;GAJC,OAAK,eAAA,CAAG,OAAA,WAAW,QAAK,SAAA,EAAA;GACxB,UAAU;GACV,eAAW,CAAG,OAAA,WAAW;GACzB,kBAAgB,OAAA"}