mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-07-22 14:29:36 +02:00
search ui fixes
This commit is contained in:
parent
fc782d9354
commit
e093be31af
3 changed files with 32 additions and 7 deletions
|
@ -157,8 +157,8 @@ class AdventureViewSet(viewsets.ModelViewSet):
|
||||||
(Q(user_id=request.user.id) | Q(is_public=True))
|
(Q(user_id=request.user.id) | Q(is_public=True))
|
||||||
)
|
)
|
||||||
queryset = self.apply_sorting(queryset)
|
queryset = self.apply_sorting(queryset)
|
||||||
adventures = self.paginate_and_respond(queryset, request)
|
serializer = self.get_serializer(queryset, many=True)
|
||||||
return adventures
|
return Response(serializer.data)
|
||||||
|
|
||||||
def paginate_and_respond(self, queryset, request):
|
def paginate_and_respond(self, queryset, request):
|
||||||
paginator = self.pagination_class()
|
paginator = self.pagination_class()
|
||||||
|
|
|
@ -25,10 +25,7 @@ export const load = (async (event) => {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
adventures: data.results as Adventure[],
|
adventures: data,
|
||||||
nextPage: data.next,
|
|
||||||
prevPage: data.previous,
|
|
||||||
total: data.count,
|
|
||||||
query
|
query
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
import type { Adventure, OpenStreetMapPlace } from '$lib/types';
|
import type { Adventure, OpenStreetMapPlace } from '$lib/types';
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
import type { PageData } from './$types';
|
import type { PageData } from './$types';
|
||||||
import { page } from '$app/stores';
|
import EditAdventure from '$lib/components/EditAdventure.svelte';
|
||||||
|
|
||||||
export let data: PageData;
|
export let data: PageData;
|
||||||
|
|
||||||
|
@ -41,8 +41,35 @@
|
||||||
if (data.props) {
|
if (data.props) {
|
||||||
adventures = data.props.adventures;
|
adventures = data.props.adventures;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let adventureToEdit: Adventure;
|
||||||
|
let isEditModalOpen: boolean = false;
|
||||||
|
let isShowingCreateModal: boolean = false;
|
||||||
|
|
||||||
|
function editAdventure(event: CustomEvent<Adventure>) {
|
||||||
|
adventureToEdit = event.detail;
|
||||||
|
isEditModalOpen = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveEdit(event: CustomEvent<Adventure>) {
|
||||||
|
adventures = adventures.map((adventure) => {
|
||||||
|
if (adventure.id === event.detail.id) {
|
||||||
|
return event.detail;
|
||||||
|
}
|
||||||
|
return adventure;
|
||||||
|
});
|
||||||
|
isEditModalOpen = false;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
{#if isEditModalOpen}
|
||||||
|
<EditAdventure
|
||||||
|
{adventureToEdit}
|
||||||
|
on:close={() => (isEditModalOpen = false)}
|
||||||
|
on:saveEdit={saveEdit}
|
||||||
|
/>
|
||||||
|
{/if}
|
||||||
|
|
||||||
{#if adventures.length === 0 && osmResults.length === 0}
|
{#if adventures.length === 0 && osmResults.length === 0}
|
||||||
<NotFound error={data.error} />
|
<NotFound error={data.error} />
|
||||||
{/if}
|
{/if}
|
||||||
|
@ -56,6 +83,7 @@
|
||||||
type={adventure.type}
|
type={adventure.type}
|
||||||
{adventure}
|
{adventure}
|
||||||
on:delete={deleteAdventure}
|
on:delete={deleteAdventure}
|
||||||
|
on:edit={editAdventure}
|
||||||
/>
|
/>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue