RadioGroupView
Źródło:
views/RadioGroupView.js
RadioGroupView
Grupa przycisków radio (wybór jednej opcji). Opcje mogą być statyczne lub pobierane dynamicznie z API — w tej samej notacji co SelectView. Wartość widoku w VarStore to wartość (value) zaznaczonej opcji.
Schema
type: radiogroup
id: orderStatus
name: statusId
label: Status zamówienia
value: active
inline: true
options:
- id: active
label: Aktywne
- id: done
label: Zrealizowane
onChange:
action: reload
target: ordersTable
Parametry
type- Typ widoku:"radiogroup"id- Identyfikator widoku (wymagane dla onChange / odczytu wartości)name- Nazwa zmiennej do zbierania danychlabel[template] - Etykieta całej grupy (opcjonalne)value[template] - Wartość początkowo zaznaczonej opcji (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: radiogroup
id: statusRadio
name: statusId
label: Status
optionsSource:
module: core/orders
method: status.search
idKey: _id
labelKey: name
responsePath: results
onChange:
action: setPageVar
key: statusId
value: '{{ statusRadio }}'
Publiczne API (kontrakt kontrolki wartości)
view.getValue() // wartość zaznaczonej opcji lub null
view.setValue(value, { emitChange = false }) // zaznacza opcję i synchronizuje VarStore
Wartość spoza listy opcji jest odrzucana (null), a VarStore zawsze odzwierciedla to, co faktycznie jest zaznaczone. Wartość ustawiona zanim opcje się załadują czeka na weryfikację do momentu ich wyrenderowania.
Obsługiwane eventy
reload:{id}– Przeładowuje opcje z API (dlaoptionsSource); zaznaczenie jest zachowywane, jeśli wartość nadal istnieje w opcjach.
