Liking cljdoc? Tell your friends :D

boundary.shared.ui.core.table

Shared table UI helpers (sorting, paging) for Hiccup-based web UIs.

Shared table UI helpers (sorting, paging) for Hiccup-based web UIs.
raw docstring

encode-query-paramsclj

(encode-query-params m)

Turn a string-keyed map into a query string (nil values are omitted).

Turn a string-keyed map into a query string (nil values are omitted).
sourceraw docstring

paginationclj

(pagination {:keys [table-query total-count base-url push-url-base hx-target
                    extra-params]})

Render pagination controls for a table.

Shows page numbers with ellipsis, first/last jump, prev/next arrows, and a 'Showing X-Y of Z' summary.

opts:

  • :table-query normalized TableQuery map
  • :total-count total number of items
  • :base-url base URL for hx-get links (e.g. "/web/users/table")
  • :hx-target HTMX target selector
  • :push-url-base optional path used for browser URL updates (defaults to :base-url)
  • :extra-params map of additional query params (filters, etc.)

Returns nil when a single page is sufficient.

Render pagination controls for a table.

Shows page numbers with ellipsis, first/last jump, prev/next arrows,
and a 'Showing X-Y of Z' summary.

opts:
- :table-query   normalized TableQuery map
- :total-count   total number of items
- :base-url      base URL for hx-get links (e.g. "/web/users/table")
- :hx-target     HTMX target selector
- :push-url-base optional path used for browser URL updates (defaults to :base-url)
- :extra-params  map of additional query params (filters, etc.)

Returns nil when a single page is sufficient.
sourceraw docstring

search-filters->paramsclj

(search-filters->params filters)

Convert parsed search/filter map back into a string-keyed param map.

Convert parsed search/filter map back into a string-keyed param map.
sourceraw docstring

sortable-thclj

(sortable-th {:keys [label field current-sort current-dir base-url push-url-base
                     _page page-size hx-target hx-push-url? extra-params]})

Reusable sortable table header cell.

opts:

  • :label string label to display
  • :field keyword used as :sort in TableQuery
  • :current-sort current :sort from TableQuery
  • :current-dir current :dir from TableQuery
  • :base-url base path (e.g. "/web/users")
  • :page current page (integer)
  • :page-size current page-size (integer)
  • :hx-target HTMX target selector (string)
  • :hx-push-url? bool, default true
  • :push-url-base optional path used for browser URL updates (defaults to :base-url)
  • :extra-params map of additional query params (keyword/string keys)

Behaviour:

  • Clicking toggles :dir between :asc and :desc for the same :field.
  • When changing sort field or direction, page is reset to 1.
Reusable sortable table header cell.

opts:
- :label         string label to display
- :field         keyword used as :sort in TableQuery
- :current-sort  current :sort from TableQuery
- :current-dir   current :dir from TableQuery
- :base-url      base path (e.g. "/web/users")
- :page          current page (integer)
- :page-size     current page-size (integer)
- :hx-target     HTMX target selector (string)
- :hx-push-url?  bool, default true
- :push-url-base optional path used for browser URL updates (defaults to :base-url)
- :extra-params  map of additional query params (keyword/string keys)

Behaviour:
- Clicking toggles :dir between :asc and :desc for the same :field.
- When changing sort field or direction, page is reset to 1.
sourceraw docstring

table-query->paramsclj

(table-query->params {:keys [sort dir page page-size]})

Convert a TableQuery map into a string-keyed param map for query strings.

Convert a TableQuery map into a string-keyed param map for query strings.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close