Documentation ¶
Index ¶
- Variables
- func Next(p PaginationProps) htmx.Node
- func Paginate[T any](value interface{}, pagination *Paginated[T], db *gorm.DB) func(db *gorm.DB) *gorm.DB
- func PaginatedResults[T any](value interface{}, pagination *Results[T], db *gorm.DB) func(db *gorm.DB) *gorm.DB
- func Pagination(p PaginationProps, children ...htmx.Node) htmx.Node
- func Prev(p PaginationProps) htmx.Node
- func RowsPtr[T any](rows []T) []*T
- func Search(props SearchProps, children ...htmx.Node) htmx.Node
- func Select(p SelectProps, children ...htmx.Node) htmx.Node
- func Table[S ~[]R, R Row](p TableProps, columns Columns[R], s S) htmx.Node
- func TablePagination(p TablePaginationProps, children ...htmx.Node) htmx.Node
- func TableToolbar(p TableToolbarProps, children ...htmx.Node) htmx.Node
- type ColumnDef
- type Columns
- type Paginated
- type PaginationProps
- type Results
- func (p *Results[T]) GetLen() int
- func (p *Results[T]) GetLimit() int
- func (p *Results[T]) GetOffset() int
- func (p *Results[T]) GetRows() []*T
- func (p *Results[T]) GetSearch() string
- func (p *Results[T]) GetSort() string
- func (p *Results[T]) GetTotalPages() int
- func (p *Results[T]) GetTotalRows() int
- type Row
- type SearchProps
- type SelectProps
- type TablePaginationProps
- type TableProps
- type TableToolbarProps
Constants ¶
This section is empty.
Variables ¶
var DefaultLimits = []int{5, 10, 25, 50}
DefaultLimits is a list of default limits
Functions ¶
func Next ¶ added in v1.0.32
func Next(p PaginationProps) htmx.Node
Next is a component that renders a next button.
func Paginate ¶ added in v1.3.18
func Paginate[T any](value interface{}, pagination *Paginated[T], db *gorm.DB) func(db *gorm.DB) *gorm.DB
Paginate returns a function that paginates the results.
func PaginatedResults ¶ added in v1.3.12
func PaginatedResults[T any](value interface{}, pagination *Results[T], db *gorm.DB) func(db *gorm.DB) *gorm.DB
PaginatedResults returns a function that paginates the results.
func Pagination ¶ added in v1.0.22
func Pagination(p PaginationProps, children ...htmx.Node) htmx.Node
Pagination is a component that renders a pagination.
func Prev ¶ added in v1.0.32
func Prev(p PaginationProps) htmx.Node
Prev is a component that renders a previous button.
func RowsPtr ¶ added in v1.3.18
func RowsPtr[T any](rows []T) []*T
RowsPtr is a function that returns the rows as pointers.
func Search ¶ added in v1.3.23
func Search(props SearchProps, children ...htmx.Node) htmx.Node
Search is a component that renders a search.
func Select ¶ added in v1.0.32
func Select(p SelectProps, children ...htmx.Node) htmx.Node
Select is a component that renders a select.
func Table ¶
func Table[S ~[]R, R Row](p TableProps, columns Columns[R], s S) htmx.Node
Table is a struct that contains the properties of a table
func TablePagination ¶ added in v1.0.32
func TablePagination(p TablePaginationProps, children ...htmx.Node) htmx.Node
TablePagination is a component that renders a table pagination
func TableToolbar ¶ added in v1.0.32
func TableToolbar(p TableToolbarProps, children ...htmx.Node) htmx.Node
TableToolbar is a component that renders a table toolbar
Types ¶
type ColumnDef ¶
type ColumnDef[R Row] struct { // ID is the id of the column. ID string // AccessorKey is the accessor key of the column. AccessorKey string // Header is the header of the column. Header func(p TableProps) htmx.Node // Cell is the cell of the column. Cell func(p TableProps, row R) htmx.Node // EnableSorting is a flag to enable sorting. EnableSorting bool // EnableFiltering is a flag to enable filtering. EnableFiltering bool }
ColumnDef returns a new column definition.
type Paginated ¶ added in v1.3.18
type Paginated[T any] struct { // Limit is the number of items to return. Limit int `json:"limit" xml:"limit" form:"limit" query:"limit"` // Offset is the number of items to skip. Offset int `json:"offset" xml:"offset" form:"offset" query:"offset"` // Search is the search term to filter the results. Search string `json:"search,omitempty" xml:"search" form:"search" query:"search"` // Sort is the sorting order. Sort string `json:"sort,omitempty" xml:"sort" form:"sort" query:"sort"` // Value is the value to paginate. Value T `json:"value,omitempty" xml:"value" form:"value" query:"value"` }
Paginated is a struct that contains the properties of a pagination
type PaginationProps ¶ added in v1.0.32
type PaginationProps struct { // ClassNames is a struct that contains the class names of a pagination. ClassNames htmx.ClassNames // Limit is the number of items to return. Limit int // Offset is the number of items to skip. Offset int // Target is the target of the pagination. Target string // Total is the total number of items. Total int // URL is the URL of the pagination. URL string }
PaginationProps is a struct that contains the properties of a pagination
type Results ¶ added in v1.3.12
type Results[T any] struct { // Limit is the number of items to return. Limit int `json:"limit" xml:"limit" form:"limit" query:"limit"` // Offset is the number of items to skip. Offset int `json:"offset" xml:"offset" form:"offset" query:"offset"` // Search is the search term to filter the results. Search string `json:"search,omitempty" xml:"search" form:"search" query:"search"` // SearchFields is the search term to filter the results. SearchFields []string `json:"-"` // Sort is the sorting order. Sort string `json:"sort,omitempty" xml:"sort" form:"sort" query:"sort"` // TotalRows is the total number of rows. TotalRows int `json:"total_rows"` // TotalPages is the total number of pages. TotalPages int `json:"total_pages"` // Rows is the items to return. Rows []T `json:"rows" xml:"rows"` }
Results is a struct that contains the results of a query
func FromContext ¶ added in v1.3.14
FromContext returns the results from the context.
func (*Results[T]) GetRows ¶ added in v1.3.12
func (p *Results[T]) GetRows() []*T
GetRows returns the rows as pointers.
func (*Results[T]) GetTotalPages ¶ added in v1.3.12
GetTotalPages returns the total pages.
func (*Results[T]) GetTotalRows ¶ added in v1.3.12
GetTotalRows returns the total rows.
type Row ¶ added in v1.2.8
type Row interface { comparable }
Row is a struct that contains the properties of a row
type SearchProps ¶ added in v1.3.23
type SearchProps struct { // ClassNames is a struct that contains the class names of a search. ClassNames htmx.ClassNames // Placehholder is the placeholder of the search. Placeholder string // URL is the URL of the search. URL string // Name is the name of the search. Name string // Value is the value of the search. Value string }
SearchProps are the properties of a search.
type SelectProps ¶ added in v1.0.32
type SelectProps struct { // ID is the id of the select. ID string // ClassNames is a struct that contains the class names of a select. ClassNames htmx.ClassNames // Limit is the number of items to return. Limit int // Limits is a list of limits. Limits []int // Offset is the number of items to skip. Offset int // Target is the target of the select. Target string // Total is the total number of items. Total int // URL is the URL of the select. URL string }
SelectProps are the properties of a select.
type TablePaginationProps ¶ added in v1.0.32
type TablePaginationProps struct {
ClassNames htmx.ClassNames
}
TablePaginationProps is a struct that contains the properties of a table pagination
type TableProps ¶
type TableProps struct { // ClassNames is a struct that contains the class names of a table. ClassNames htmx.ClassNames // ID is the id of the table. ID string // Pagination is the pagination of the table. Pagination htmx.Node // Toolbar is the toolbar of the table. Toolbar htmx.Node }
TableProps is a struct that contains the properties of a table
type TableToolbarProps ¶ added in v1.0.32
type TableToolbarProps struct {
ClassNames htmx.ClassNames
}
TableToolbarProps is a struct that contains the properties of a table toolbar