feat(109): checkbox multiselect filters

Phase 109 complete:
- Add checkbox dropdown enhancement for statistics multi-select filters
- Preserve GET contract for channels[] and status_groups[]
- Update PAUL plan context to read .paul/codebase docs

Co-Authored-By: Codex <noreply@openai.com>
This commit is contained in:
2026-04-28 22:13:52 +02:00
parent 1009957fff
commit 6d3dba89ed
13 changed files with 681 additions and 29 deletions

View File

@@ -47,7 +47,15 @@ foreach ($channelOptions as $channelOption) {
<label class="form-field">
<span class="field-label"><?= $e($t('statistics.orders.filters.channels')) ?></span>
<select class="form-control statistics-orders-multiselect" name="channels[]" multiple size="6">
<select class="form-control statistics-orders-multiselect js-checkbox-multiselect"
name="channels[]"
multiple
size="6"
data-checkbox-multiselect
data-all-label="Wszystkie"
data-empty-label="Nic nie wybrano"
data-selected-label-singular="zaznaczono"
data-selected-label-plural="zaznaczono">
<?php foreach ($channelOptions as $channelOption): ?>
<?php
$key = (string) ($channelOption['key'] ?? '');
@@ -65,7 +73,15 @@ foreach ($channelOptions as $channelOption) {
<label class="form-field">
<span class="field-label"><?= $e($t('statistics.orders.filters.status_groups')) ?></span>
<select class="form-control statistics-orders-multiselect" name="status_groups[]" multiple size="6">
<select class="form-control statistics-orders-multiselect js-checkbox-multiselect"
name="status_groups[]"
multiple
size="6"
data-checkbox-multiselect
data-all-label="Wszystkie"
data-empty-label="Nic nie wybrano"
data-selected-label-singular="zaznaczono"
data-selected-label-plural="zaznaczono">
<?php foreach ($statusGroupOptions as $groupOption): ?>
<?php
$groupId = (int) ($groupOption['id'] ?? 0);