{"version":3,"file":"SportEducationsByAudience.vue.bundle.js","sources":["../../../Frontend/vue/views/SportEducationsByAudience/SportEducationsByAudience.vue","../../../Frontend/vue/views/SportEducationsByAudience/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\n import CmsDataProvider, { SportEducationsCmsData } from \"@/providers/CmsDataProvider\";\r\n import { onMounted, ref, watch } from \"vue\";\r\n import SportEducationsService, { ISportEducationsItem } from \"@/services/SportEducationsService\";\r\n import { ISportEducationsParams } from \"@/repositories/SportEducationsRepository\";\r\n import Loader from \"@/components/loader.vue\";\r\n import SportEducationsItem from \"@/components/sportEducationsItem.vue\";\r\n import { StringHelper } from \"@/helpers/stringhelper\";\r\n\r\n // Variables\r\n const cmsData = CmsDataProvider.get<SportEducationsCmsData>(\"SportEducationsByAudienceCmsData\");\r\n const sportEducationsList = ref([] as ISportEducationsItem[]);\r\n const isLoading = ref(false);\r\n const showLoadMore = ref(true);\r\n const currentPage = ref(1);\r\n const totalItems = ref(0);\r\n const itemsPerPage = 5;\r\n\r\n let initializing = true;\r\n\r\n // Functions\r\n const init = async () => {\r\n\r\n await getItems({\r\n skip: 0,\r\n take: currentPage.value * itemsPerPage\r\n });\r\n\r\n initializing = false;\r\n };\r\n\r\n const getItems = async (params: ISportEducationsParams) => {\r\n isLoading.value = true;\r\n\r\n await SportEducationsService.GetItems(params, cmsData.grouping).then((response) => {\r\n totalItems.value = response.data.total;\r\n\r\n sportEducationsList.value.push(...response.data.items);\r\n\r\n showLoadMore.value = currentPage.value * itemsPerPage < totalItems.value;\r\n }).finally(() => {\r\n isLoading.value = false;\r\n });\r\n };\r\n\r\n const loadMore = () => {\r\n currentPage.value++;\r\n let scrollElement = document.getElementById(\"bottom-button-sport-educations-by-audience\");\r\n scrollElement?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\r\n }\r\n\r\n // Watchers\r\n watch([currentPage], () => {\r\n\r\n if (initializing) {\r\n return;\r\n }\r\n\r\n getItems({\r\n skip: itemsPerPage * (currentPage.value - 1),\r\n take: itemsPerPage,\r\n });\r\n });\r\n\r\n // Mounted\r\n onMounted(() => {\r\n init();\r\n });\r\n\r\n</script>\r\n\r\n<template>\r\n <loader v-show=\"isLoading\"></loader>\r\n <section class=\"container sport-list block\">\r\n <div class=\"row\">\r\n <div class=\"offset-lg-3 col-14 col-lg-9\">\r\n <h2 v-html=\"StringHelper.HtmlDecode(cmsData.title)\"></h2>\r\n </div>\r\n </div>\r\n <div class=\"row background-rectangles\">\r\n <div class=\"offset-lg-9 col-lg-15\">\r\n <div class=\"sport-list-wrapper\">\r\n <ul>\r\n <sport-educations-item v-for=\"item in sportEducationsList\" :key=\"item.id\" :item=\"item\"\r\n :cms-data=\"cmsData\"></sport-educations-item>\r\n </ul>\r\n <a class=\"btn btn-link\" v-if=\"showLoadMore\" @click=\"loadMore\">\r\n {{ cmsData.showMoreText }}\r\n <svg class=\"icon icon-ChevronDown\">\r\n <use xlink:href=\"#icon-ChevronDown\"></use>\r\n </svg>\r\n </a>\r\n <a class=\"btn btn-primary\" id=\"bottom-button-sport-educations-by-audience\" :href=\"cmsData.linkUrl\" :target=\"cmsData.linkTarget\">{{ cmsData.linkText }}</a>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n</template>\r\n","import { createApp } from 'vue';\r\nimport SportEducations from './SportEducationsByAudience.vue';\r\n\r\nconst app = createApp(SportEducations)\r\napp.mount('#sport-educations-audience')"],"names":["SportEducations"],"mappings":";;;;;;;;;;;AAgBI,MAAM,eAAe;;;;AANf,UAAA,UAAU,gBAAgB,IAA4B,kCAAkC;AACxF,UAAA,sBAAsB,IAAI,CAAA,CAA4B;AACtD,UAAA,YAAY,IAAI,KAAK;AACrB,UAAA,eAAe,IAAI,IAAI;AACvB,UAAA,cAAc,IAAI,CAAC;AACnB,UAAA,aAAa,IAAI,CAAC;AAGxB,QAAI,eAAe;AAGnB,UAAM,OAAO,YAAY;AAErB,YAAM,SAAS;AAAA,QACX,MAAM;AAAA,QACN,MAAM,YAAY,QAAQ;AAAA,MAAA,CAC7B;AAEc,qBAAA;AAAA,IAAA;AAGb,UAAA,WAAW,OAAO,WAAmC;AACvD,gBAAU,QAAQ;AAEZ,YAAA,uBAAuB,SAAS,QAAQ,QAAQ,QAAQ,EAAE,KAAK,CAAC,aAAa;AACpE,mBAAA,QAAQ,SAAS,KAAK;AAEjC,4BAAoB,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK;AAErD,qBAAa,QAAQ,YAAY,QAAQ,eAAe,WAAW;AAAA,MAAA,CACtE,EAAE,QAAQ,MAAM;AACb,kBAAU,QAAQ;AAAA,MAAA,CACrB;AAAA,IAAA;AAGL,UAAM,WAAW,MAAM;AACP,kBAAA;AACR,UAAA,gBAAgB,SAAS,eAAe,4CAA4C;AACxF,qBAAe,eAAe,EAAE,UAAU,UAAU,OAAO,UAAU;AAAA,IAAA;AAInE,UAAA,CAAC,WAAW,GAAG,MAAM;AAEvB,UAAI,cAAc;AACd;AAAA,MACJ;AAES,eAAA;AAAA,QACL,MAAM,gBAAgB,YAAY,QAAQ;AAAA,QAC1C,MAAM;AAAA,MAAA,CACT;AAAA,IAAA,CACJ;AAGD,cAAU,MAAM;AACP;IAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChEL,MAAM,MAAM,UAAUA,SAAe;AACrC,IAAI,MAAM,4BAA4B;"}