aboutsummaryrefslogtreecommitdiff
path: root/src/client/View/Payments/Paging.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/View/Payments/Paging.elm')
-rw-r--r--src/client/View/Payments/Paging.elm97
1 files changed, 0 insertions, 97 deletions
diff --git a/src/client/View/Payments/Paging.elm b/src/client/View/Payments/Paging.elm
deleted file mode 100644
index b9a0109..0000000
--- a/src/client/View/Payments/Paging.elm
+++ /dev/null
@@ -1,97 +0,0 @@
-module View.Payments.Paging
- ( paymentsPaging
- ) where
-
-import Html exposing (..)
-import Html.Attributes exposing (..)
-import Html.Events exposing (..)
-
-import Model.View.LoggedView exposing (..)
-import Model.Payment exposing (perPage)
-
-import ServerCommunication as SC exposing (serverCommunications)
-
-import Update exposing (..)
-import Update.LoggedView exposing (..)
-
-import View.Icon exposing (renderIcon)
-
-showedPages : Int
-showedPages = 5
-
-paymentsPaging : LoggedView -> Html
-paymentsPaging loggedView =
- let maxPage = ceiling (toFloat loggedView.paymentsCount / toFloat perPage)
- pages = truncatePages loggedView.currentPage [1..maxPage]
- in if maxPage == 1
- then
- text ""
- else
- div
- [ class "pages" ]
- ( ( if loggedView.currentPage > 1
- then [ firstPage, previousPage loggedView ]
- else []
- )
- ++ ( List.map (paymentsPage loggedView) pages)
- ++ ( if loggedView.currentPage < maxPage
- then [ nextPage loggedView, lastPage maxPage ]
- else []
- )
- )
-
-truncatePages : Int -> List Int -> List Int
-truncatePages currentPage pages =
- let totalPages = List.length pages
- showedLeftPages = ceiling ((toFloat showedPages - 1) / 2)
- showedRightPages = floor ((toFloat showedPages - 1) / 2)
- truncatedPages =
- if | currentPage < showedLeftPages ->
- [1..showedPages]
- | currentPage > totalPages - showedRightPages ->
- [(totalPages - showedPages)..totalPages]
- | otherwise ->
- [(currentPage - showedLeftPages)..(currentPage + showedRightPages)]
- in List.filter (flip List.member pages) truncatedPages
-
-firstPage : Html
-firstPage =
- button
- [ class "page"
- , onClick serverCommunications.address (SC.UpdatePage 1)
- ]
- [ renderIcon "fast-backward" ]
-
-previousPage : LoggedView -> Html
-previousPage loggedView =
- button
- [ class "page"
- , onClick serverCommunications.address (SC.UpdatePage (loggedView.currentPage - 1))
- ]
- [ renderIcon "backward" ]
-
-nextPage : LoggedView -> Html
-nextPage loggedView =
- button
- [ class "page"
- , onClick serverCommunications.address (SC.UpdatePage (loggedView.currentPage + 1))
- ]
- [ renderIcon "forward" ]
-
-lastPage : Int -> Html
-lastPage maxPage =
- button
- [ class "page"
- , onClick serverCommunications.address (SC.UpdatePage maxPage)
- ]
- [ renderIcon "fast-forward" ]
-
-paymentsPage : LoggedView -> Int -> Html
-paymentsPage loggedView page =
- let onCurrentPage = page == loggedView.currentPage
- in button
- [ class ("page" ++ (if onCurrentPage then " current" else ""))
- , onClick serverCommunications.address <|
- if onCurrentPage then SC.NoCommunication else SC.UpdatePage page
- ]
- [ text (toString page) ]