Numerator v0.2.0 Numerator View Source
Documentation for Numerator.
Link to this section Summary
Link to this section Types
Link to this type
element()
View Sourceelement() :: prev_next_element() | page_element() | ellipsis_element()
Link to this type
page_element()
View Sourcepage_element() :: %{type: :page | :current, page: page()}
Link to this type
prev_next_element()
View Sourceprev_next_element() :: %{type: :prev | :next, page: page() | :disabled}
Link to this section Functions
Hello world.
Examples
iex> Numerator.build(2)
[
%{type: :prev, page: 1},
%{type: :next, page: 3}
]
iex> Numerator.build(%{page: 2, last: 6})
[
%{type: :prev, page: 1},
%{type: :page, page: 1},
%{type: :current, page: 2},
%{type: :page, page: 3},
%{type: :page, page: 4},
%{type: :page, page: 5},
%{type: :page, page: 6},
%{type: :next, page: 3}
]
iex> Numerator.build(%{page: 2, last: 7})
[
%{type: :prev, page: 1},
%{type: :page, page: 1},
%{type: :current, page: 2},
%{type: :page, page: 3},
%{type: :page, page: 4},
%{type: :page, page: 5},
%{type: :ellipsis},
%{type: :next, page: 3}
]
iex> Numerator.build(%{page: 1, last: 2}, prev_next_unavailable_mode: :disable)
[
%{type: :prev, page: :disabled},
%{type: :current, page: 1},
%{type: :page, page: 2},
%{type: :next, page: 2}
]
iex> Numerator.build(%{page: 2, last: 2}, prev_next_unavailable_mode: :disable)
[
%{type: :prev, page: 1},
%{type: :page, page: 1},
%{type: :current, page: 2},
%{type: :next, page: :disabled}
]
iex> Numerator.build(%{page: 2, last: 7}, show_last: true)
[
%{type: :prev, page: 1},
%{type: :page, page: 1},
%{type: :current, page: 2},
%{type: :page, page: 3},
%{type: :page, page: 4},
%{type: :page, page: 5},
%{type: :page, page: 6},
%{type: :page, page: 7},
%{type: :next, page: 3}
]
iex> Numerator.build(%{page: 2, last: 9}, show_last: true)
[
%{type: :prev, page: 1},
%{type: :page, page: 1},
%{type: :current, page: 2},
%{type: :page, page: 3},
%{type: :page, page: 4},
%{type: :page, page: 5},
%{type: :ellipsis},
%{type: :page, page: 9},
%{type: :next, page: 3}
]