GatheringsGridColumns
extends BaseGridColumns
in package
Gatherings Grid Column Metadata
Defines shared columns for gathering listings and calendar grid integration.
Table of Contents
Constants
- SCHEDULE_WINDOW_FUTURE : mixed = 'future'
- SCHEDULE_WINDOW_NEXT_MONTH : mixed = 'next_month'
- SCHEDULE_WINDOW_PREVIOUS : mixed = 'previous'
- SCHEDULE_WINDOW_THIS_MONTH : mixed = 'this_month'
Methods
- filterByCancelledStatus() : SelectQuery
- Custom filter handler for cancelled_at status column
- filterByRelativeEventDate() : SelectQuery
- Filter gatherings using a date boundary that is recalculated on every request.
- filterByScheduleWindow() : SelectQuery
- Apply a dynamic, serializable calendar window for gathering system views.
- getColumn() : array<string, mixed>|null
- Get column by key
- getColumnKeys() : array<string|int, string>
- Get column keys as array
- getColumns() : array<string, array<string, mixed>>
- Get column metadata for the gatherings grid
- getDefaultVisibleColumns() : array<string, array<string, mixed>>
- Get only columns that are visible by default
- getDropdownFilterColumns() : array<string, array<string, mixed>>
- Get columns with dropdown filters
- getFilterableColumns() : array<string|int, string>
- Get all filterable columns
- getRequiredColumns() : array<string|int, string>
- Get required columns
- getRowActions() : array<string, array<string, mixed>>
- Get row actions for gatherings grid listings
- getSearchableColumns() : array<int, string>
- Gatherings searchable columns definition
- getSortableColumns() : array<string|int, string>
- Get sortable columns
- getSystemViewDateBoundaries() : array<string, string>
- Compute key month boundaries in both local and UTC timezones.
- getSystemViews() : array<string, array<string, mixed>>
- System views for gatherings dv_grid.
- validateColumnKeys() : array<string|int, string>
- Validate that column keys exist
Constants
SCHEDULE_WINDOW_FUTURE
public
mixed
SCHEDULE_WINDOW_FUTURE
= 'future'
SCHEDULE_WINDOW_NEXT_MONTH
public
mixed
SCHEDULE_WINDOW_NEXT_MONTH
= 'next_month'
SCHEDULE_WINDOW_PREVIOUS
public
mixed
SCHEDULE_WINDOW_PREVIOUS
= 'previous'
SCHEDULE_WINDOW_THIS_MONTH
public
mixed
SCHEDULE_WINDOW_THIS_MONTH
= 'this_month'
Methods
filterByCancelledStatus()
Custom filter handler for cancelled_at status column
public
static filterByCancelledStatus(SelectQuery $query, mixed $filterValue, array<string|int, mixed> $context) : SelectQuery
Maps 'active'/'cancelled' filter values to NULL-based conditions:
- 'active' → cancelled_at IS NULL
- 'cancelled' → cancelled_at IS NOT NULL
Parameters
- $query : SelectQuery
-
The query to filter
- $filterValue : mixed
-
The filter value ('active' or 'cancelled')
- $context : array<string|int, mixed>
-
Context including tableName, columnKey, columnMeta
Return values
SelectQuery —The filtered query
filterByRelativeEventDate()
Filter gatherings using a date boundary that is recalculated on every request.
public
static filterByRelativeEventDate(SelectQuery $query, mixed $filterValue, array<string|int, mixed> $context) : SelectQuery
Parameters
- $query : SelectQuery
-
The query to filter
- $filterValue : mixed
-
Selected relative date option
- $context : array<string|int, mixed>
-
Grid context including table name and current identity
Return values
SelectQuery —The filtered query
filterByScheduleWindow()
Apply a dynamic, serializable calendar window for gathering system views.
public
static filterByScheduleWindow(SelectQuery $query, mixed $filterValue[, array<string, mixed> $context = [] ]) : SelectQuery
Parameters
- $query : SelectQuery
-
Gatherings query.
- $filterValue : mixed
-
Saved symbolic filter value.
- $context : array<string, mixed> = []
-
Grid filter context.
Return values
SelectQuery —Filtered query.
getColumn()
Get column by key
public
static getColumn(string $key) : array<string, mixed>|null
Parameters
- $key : string
-
Column key
Return values
array<string, mixed>|nullgetColumnKeys()
Get column keys as array
public
static getColumnKeys() : array<string|int, string>
Return values
array<string|int, string>getColumns()
Get column metadata for the gatherings grid
public
static getColumns() : array<string, array<string, mixed>>
Return values
array<string, array<string, mixed>>getDefaultVisibleColumns()
Get only columns that are visible by default
public
static getDefaultVisibleColumns() : array<string, array<string, mixed>>
Return values
array<string, array<string, mixed>>getDropdownFilterColumns()
Get columns with dropdown filters
public
static getDropdownFilterColumns() : array<string, array<string, mixed>>
Returns array of column metadata for columns that have dropdown filter type or other UI-based filters (e.g., 'dropdown', 'is-populated')
Return values
array<string, array<string, mixed>> —Column metadata indexed by key
getFilterableColumns()
Get all filterable columns
public
static getFilterableColumns() : array<string|int, string>
Returns array of column keys that can be filtered
Return values
array<string|int, string> —Filterable column keys
getRequiredColumns()
Get required columns
public
static getRequiredColumns() : array<string|int, string>
Returns array of column keys that are required and cannot be hidden
Return values
array<string|int, string> —Required column keys
getRowActions()
Get row actions for gatherings grid listings
public
static getRowActions() : array<string, array<string, mixed>>
Return values
array<string, array<string, mixed>>getSearchableColumns()
Gatherings searchable columns definition
public
static getSearchableColumns() : array<int, string>
Return values
array<int, string>getSortableColumns()
Get sortable columns
public
static getSortableColumns() : array<string|int, string>
Returns array of column keys that can be sorted
Return values
array<string|int, string> —Sortable column keys
getSystemViewDateBoundaries()
Compute key month boundaries in both local and UTC timezones.
public
static getSystemViewDateBoundaries(string $userTimezone) : array<string, string>
Parameters
- $userTimezone : string
Return values
array<string, string>getSystemViews()
System views for gatherings dv_grid.
public
static getSystemViews([array<string, mixed> $options = [] ]) : array<string, array<string, mixed>>
Parameters
- $options : array<string, mixed> = []
Return values
array<string, array<string, mixed>>validateColumnKeys()
Validate that column keys exist
public
static validateColumnKeys(array<string|int, string> $keys) : array<string|int, string>
Parameters
- $keys : array<string|int, string>
-
Column keys to validate
Return values
array<string|int, string> —Invalid keys