CheckboxGroupView
Źródło:
views/CheckboxGroupView.js
CheckboxGroupView
Grupa checkboxów (wybór wielu opcji). Opcje mogą być statyczne lub pobierane dynamicznie z API — w tej samej notacji co SelectView. Wartość widoku w VarStore to tablica wartości zaznaczonych opcji.
Schema
type: checkboxgroup
id: orderTags
name: tags
label: Tagi zamówienia
value:
- urgent
inline: false
options:
- id: urgent
label: Pilne
- id: vip
label: Klient VIP
- id: gift
label: Prezent
onChange:
action: reload
target: ordersTable
Parametry
type- Typ widoku:"checkboxgroup"id- Identyfikator widoku (wymagane dla onChange / odczytu wartości)name- Nazwa zmiennej do zbierania danychlabel[template] - Etykieta całej grupy (opcjonalne)value- Tablica początkowo zaznaczonych wartości (opcjonalne)inline- Gdytrue, opcje renderują się w jednej linii (domyślnie:false)disabled- Czy cała grupa jest wyłączona (opcjonalne)options- Opcje statyczne (tablica obiektów zidilabellub prostych wartości)optionsSource- Konfiguracja dynamicznego pobierania opcji z API (pola:module,method,params,withData,idKey,labelKey,responsePath)onChange- Akcja na zmianę wartości (opcjonalne)
Tryb dynamiczny
type: checkboxgroup
id: categoriesFilter
name: categories
label: Kategorie
optionsSource:
module: core/products
method: categories.search
idKey: _id
labelKey: name
responsePath: results
onChange:
action: reload
target: productsTable
Publiczne API (kontrakt kontrolki wartości)
view.getValue() // tablica zaznaczonych wartości
view.setValue(values, { emitChange = false }) // ustawia zaznaczenia i synchronizuje VarStore
Wartości spoza listy opcji są odrzucane, a VarStore zawsze odzwierciedla to, co faktycznie jest zaznaczone. Wartości ustawione zanim opcje się załadują czekają na weryfikację do momentu ich wyrenderowania.
Obsługiwane eventy
reload:{id}– Przeładowuje opcje z API (dlaoptionsSource); zaznaczenia są zachowywane dla wartości, które nadal istnieją w opcjach.
