From f6bf4ce6185edc13a6d5450c0c6fc22b530f1d97 Mon Sep 17 00:00:00 2001 From: _aandres Date: Sat, 31 Dec 2022 03:59:18 +0100 Subject: [PATCH] feat [front,api]: pagination calendar and admin list - extract list for home in action to not paginate - compute calendar list from parent to paginate --- front/components/movieCard/listPerMonth.vue | 11 +-- front/components/pagination.vue | 88 +++++++++++++++++++ front/composables/types.ts | 7 ++ front/css/a11y.sass | 27 ++---- front/css/app.sass | 1 + front/pages/admin/index.vue | 30 ++++++- front/pages/calendrier.vue | 56 ++++++++---- front/pages/index.vue | 2 +- .../pagination/PagePaginationWithPageCount.py | 13 +++ server/myapi/views/std_views.py | 13 ++- server/ulm_cine_club_api/settings/base.py | 2 + 11 files changed, 203 insertions(+), 47 deletions(-) create mode 100644 front/components/pagination.vue create mode 100644 server/myapi/pagination/PagePaginationWithPageCount.py diff --git a/front/components/movieCard/listPerMonth.vue b/front/components/movieCard/listPerMonth.vue index 56d1d37..b4e7530 100644 --- a/front/components/movieCard/listPerMonth.vue +++ b/front/components/movieCard/listPerMonth.vue @@ -22,16 +22,11 @@ diff --git a/front/composables/types.ts b/front/composables/types.ts index 065f7ac..ce5793b 100644 --- a/front/composables/types.ts +++ b/front/composables/types.ts @@ -40,3 +40,10 @@ export type FilmsByMonth = { projectionMonth: string films: Film[] } + +export type PaginatedResponse = { + results: T[] + currentPage: number + totalResults: number + totalPages: number +} diff --git a/front/css/a11y.sass b/front/css/a11y.sass index 23553d3..fadd6f0 100644 --- a/front/css/a11y.sass +++ b/front/css/a11y.sass @@ -4,45 +4,36 @@ // thanks @cityssm/bulma-a11y -a:focus, -button:focus - outline-color: $black - outline-offset: 4px - outline-style: dotted !important - outline-width: 2px !important +a, button, .pagination-link, .pagination-next, .pagination-previous + &:focus + outline-color: $black + outline-offset: 4px + outline-style: dotted !important + outline-width: 2px !important .has-background-black &, - .has-background-dark & + .has-background-dark & outline-color: $white -a:focus - +a:focus .has-text-white outline-color: $white -.button:focus - +.button:focus &.is-black outline-color: $black - &.is-danger outline-color: $danger-dark - &.is-dark outline-color: $dark - &.is-info outline-color: $info-dark - &.is-link outline-color: $link-dark - &.is-primary outline-color: $primary-dark - &.is-success outline-color: $success-dark - &.is-warning outline-color: $warning-dark diff --git a/front/css/app.sass b/front/css/app.sass index a422811..57d1226 100644 --- a/front/css/app.sass +++ b/front/css/app.sass @@ -8,6 +8,7 @@ @import "bulma/sass/components/card" @import "bulma/sass/components/modal" @import "bulma/sass/components/navbar" +@import "bulma/sass/components/pagination" @import "bulma/sass/components/tabs" @import "bulma/sass/elements/button" @import "bulma/sass/elements/container" diff --git a/front/pages/admin/index.vue b/front/pages/admin/index.vue index 2df7a61..6b24c61 100644 --- a/front/pages/admin/index.vue +++ b/front/pages/admin/index.vue @@ -18,18 +18,44 @@ +