From 4e1b18dfed0b3c08a2bd4b5143a4dabffe7a0c3f Mon Sep 17 00:00:00 2001 From: Kieran Eglin Date: Wed, 17 Apr 2024 10:15:06 -0700 Subject: [PATCH] Hooked up pagination for downloaded media --- lib/pinchflat/utils/number_utils.ex | 6 +- .../custom_components/table_components.ex | 9 ++- .../controllers/sources/source_controller.ex | 33 +--------- ...table_live.ex => media_item_table_live.ex} | 30 ++++++---- .../sources/source_html/show.html.heex | 31 ++++------ test/pinchflat/utils/number_utils_test.exs | 19 ++++++ .../sources/media_item_table_live_test.exs | 60 +++++++++++++++++++ 7 files changed, 122 insertions(+), 66 deletions(-) rename lib/pinchflat_web/controllers/sources/source_html/{pending_table_live.ex => media_item_table_live.ex} (82%) create mode 100644 test/pinchflat/utils/number_utils_test.exs create mode 100644 test/pinchflat_web/controllers/sources/media_item_table_live_test.exs diff --git a/lib/pinchflat/utils/number_utils.ex b/lib/pinchflat/utils/number_utils.ex index fcfb296..4a8404b 100644 --- a/lib/pinchflat/utils/number_utils.ex +++ b/lib/pinchflat/utils/number_utils.ex @@ -3,7 +3,11 @@ defmodule Pinchflat.Utils.NumberUtils do Utility methods for working with numbers """ - # TODO: test + @doc """ + Clamps a number between a minimum and maximum value + + Returns integer() | float() + """ def clamp(num, minimum, maximum) do num |> max(minimum) diff --git a/lib/pinchflat_web/components/custom_components/table_components.ex b/lib/pinchflat_web/components/custom_components/table_components.ex index c1bdc09..532fba1 100644 --- a/lib/pinchflat_web/components/custom_components/table_components.ex +++ b/lib/pinchflat_web/components/custom_components/table_components.ex @@ -53,10 +53,17 @@ defmodule PinchflatWeb.CustomComponents.TableComponents do """ end + @doc """ + Renders simple pagination controls for a table in a liveview. + + ## Examples + + <.live_pagination_controls page_number={@page} total_pages={@total_pages} /> + """ attr :page_number, :integer, default: 1 attr :total_pages, :integer, default: 1 - def pagination_controls(assigns) do + def live_pagination_controls(assigns) do ~H"""