Pagination prepsano do inteligentnejsi composable

This commit is contained in:
Michal Kváček
2024-03-09 23:16:37 +01:00
parent 883b4fa97f
commit 5cff3580b0
16 changed files with 56 additions and 45 deletions
@@ -16,7 +16,7 @@ import {useLoggedUserStore} from "stores/LoggedUser";
import {useFlightsStore} from "stores/Flights";
import {toggleVisibility} from "src/composables/form/formHandling";
import ContentCardEditButton from "components/ContentCardEditButton.vue";
import {filters, loadPage, paginationLimit} from "src/composables/pagination";
import {usePagination} from "src/composables/pagination";
import BasicInfoBanner from "components/banners/BasicInfoBanner.vue";
import FlightsListSkeleton from "components/flights/skeletons/FlightsListSkeleton.vue";
import CopyLinkButton from "components/inputs/CopyLinkButton.vue";
@@ -53,6 +53,7 @@ const togglePublicVisibility = (variables) => toggleVisibility({
$q, store: useAircraftsStore(), object: aircraft.value, variables
});
const {filters, loadPage, paginationLimit} = usePagination();
filters.value = {aircraftId: aircraftId};
const loadNextFlightsPage = (appendItems) => loadPage({
fetchFunc: useFlightsStore().fetch,
+2 -4
View File
@@ -6,13 +6,11 @@ import BasicInfoBanner from "components/banners/BasicInfoBanner.vue";
import {useAircraftsStore} from "stores/Aircrafts";
import {storeToRefs} from "pinia";
import {useAppStore} from "stores/App";
import FlightsList from "components/flights/FlightsList.vue";
import {ref} from "vue";
import {useFlightsStore} from "stores/Flights";
import {loadPage, paginationLimit} from "src/composables/pagination";
import {usePagination} from "src/composables/pagination";
useAppStore().setPageTitle("Letadla");
const {filters, loadPage, paginationLimit} = usePagination();
const loadNextAircraftsPage = (appendItems) => loadPage({
fetchFunc: useAircraftsStore().fetch, appendItems
});
@@ -1,6 +1,5 @@
<script setup>
import {useRoute} from "vue-router";
import {onMounted} from "vue";
import CopilotDetailSkeleton from "components/copilots/skeletons/CopilotDetailSkeleton.vue";
import {useAppStore} from "stores/App";
import FlightsList from "components/flights/FlightsList.vue";
@@ -8,15 +7,14 @@ import {useCopilotsStore} from "stores/Copilots";
import {storeToRefs} from "pinia";
import PhotoGallery from "components/photos/PhotoGallery.vue";
import ContentCard from "components/ContentCard.vue";
import {filters, loadPage, paginationLimit} from "src/composables/pagination";
import {usePagination} from "src/composables/pagination";
import {useFlightsStore} from "stores/Flights";
import FlightsListSkeleton from "components/flights/skeletons/FlightsListSkeleton.vue";
import {useMeta, useQuasar} from "quasar";
import {useQuasar} from "quasar";
import {useLoggedUserStore} from "stores/LoggedUser";
import PublishButton from "components/inputs/PublishButton.vue";
import CopyLinkButton from "components/inputs/CopyLinkButton.vue";
import {toggleVisibility} from "src/composables/form/formHandling";
import {metaData} from "src/composables/meta";
const copilotId = parseInt(useRoute().params.id);
useCopilotsStore().fetchDetail(copilotId).then(() => {
@@ -32,6 +30,7 @@ const togglePublicVisibility = (variables) => toggleVisibility({
$q, store: useCopilotsStore(), object: copilot.value, variables
});
const {filters, loadPage, paginationLimit} = usePagination();
filters.value = {copilotId: copilotId};
const loadNextFlightsPage = (appendItems) => loadPage({
fetchFunc: useFlightsStore().fetch, appendItems
+4 -1
View File
@@ -6,9 +6,12 @@ import BasicListSkeleton from "components/basicSkeletons/BasicListSkeleton.vue";
import BasicInfoBanner from "components/banners/BasicInfoBanner.vue";
import {useCopilotsStore} from "stores/Copilots";
import {storeToRefs} from "pinia";
import {onMounted} from "vue";
useCopilotsStore().fetch();
useAppStore().setPageTitle("Spolucestující");
onMounted(() => {
useCopilotsStore().fetch();
});
const {isQueryRunning, copilots} = storeToRefs(useCopilotsStore());
</script>
+2 -1
View File
@@ -7,7 +7,7 @@ import FAB from "components/FAB.vue";
import FlightsList from "components/flights/FlightsList.vue";
import {useEventsStore} from "stores/Events";
import {storeToRefs} from "pinia";
import {filters, loadPage, paginationLimit} from "src/composables/pagination";
import {usePagination} from "src/composables/pagination";
import {useFlightsStore} from "stores/Flights";
import PublishButton from "components/inputs/PublishButton.vue";
import {useLoggedUserStore} from "stores/LoggedUser";
@@ -37,6 +37,7 @@ const togglePublicVisibility = (variables) => toggleVisibility({
const {isQueryRunning, event} = storeToRefs(useEventsStore());
const {filters, loadPage, paginationLimit} = usePagination();
filters.value = {eventId: eventId}
const loadNextFlightsPage = (appendItems) => loadPage({
fetchFunc: useFlightsStore().fetch, appendItems
+3 -1
View File
@@ -6,11 +6,13 @@ import {useAppStore} from "stores/App";
import BasicInfoBanner from "components/banners/BasicInfoBanner.vue";
import {useFlightsStore} from "stores/Flights";
import {storeToRefs} from "pinia";
import {loadPage, paginationLimit} from "src/composables/pagination";
import {usePagination} from "src/composables/pagination";
import {onMounted} from "vue";
useAppStore().setPageTitle("Moje lety");
const {loadPage, paginationLimit} = usePagination();
const loadNextPage = (appendItems) => loadPage({
fetchFunc: useFlightsStore().fetch, appendItems
});
@@ -1,5 +1,5 @@
<script setup>
import {useRoute, useRouter} from "vue-router";
import {useRoute} from "vue-router";
import POIDetailSkeleton from "components/poi/skeletons/POIDetailSkeleton.vue";
import {useAppStore} from "stores/App";
import EmbeddedMap from "components/map/EmbeddedMap.vue";
@@ -11,12 +11,11 @@ import {usePointsOfInterestStore} from "stores/PointsOfInterest";
import PhotoGallery from "components/photos/PhotoGallery.vue";
import ContentCard from "components/ContentCard.vue";
import {toggleVisibility} from "src/composables/form/formHandling";
import {copyToClipboard, useQuasar} from "quasar";
import {successObject} from "src/composables/dialog";
import { useQuasar} from "quasar";
import ContentCardEditButton from "components/ContentCardEditButton.vue";
import {useFlightsStore} from "stores/Flights";
import FlightsListSkeleton from "components/flights/skeletons/FlightsListSkeleton.vue";
import {filters, loadPage, paginationLimit} from "src/composables/pagination";
import {usePagination} from "src/composables/pagination";
import PublishButton from "components/inputs/PublishButton.vue";
import CopyLinkButton from "components/inputs/CopyLinkButton.vue";
@@ -39,6 +38,7 @@ const togglePublicVisibility = (variables) => toggleVisibility({
$q, store: usePointsOfInterestStore(), object: pointOfInterest.value, variables
});
const {filters, loadPage, paginationLimit} = usePagination();
filters.value = {pointOfInterestId: poiId};
const loadNextFlightsPage = (appendItems) => loadPage({
fetchFunc: useFlightsStore().fetch,
@@ -6,11 +6,13 @@ import BasicListSkeleton from "components/basicSkeletons/BasicListSkeleton.vue";
import BasicInfoBanner from "components/banners/BasicInfoBanner.vue";
import {usePointsOfInterestStore} from "stores/PointsOfInterest";
import {storeToRefs} from "pinia";
import {filters, loadPage, paginationLimit, paginationOffset} from "src/composables/pagination";
import {usePagination} from "src/composables/pagination";
import ListFilters from "components/ListFilters.vue";
useAppStore().setPageTitle("Zajímavá místa");
const {filters, loadPage, paginationLimit, paginationOffset} = usePagination();
paginationLimit.value = 15;
const loadNextPage = (appendItems) => loadPage({
fetchFunc: usePointsOfInterestStore().fetch, appendItems