FilePickerView
Źródło:
views/FilePickerView.js
FilePickerView
Kontrolka wyboru pliku — pojedynczego albo wielu — z walidacją typu i rozmiaru.
Wartość kontrolki
Domyślnie wartością jest obiekt File (albo tablica File przy multiple: true), czyli dokładnie to, co przyjmuje FormData przy wysyłce. Base64 włącza się jawnie (mode: base64), bo zwiększa rozmiar danych o ok. 33% — wtedy wartością jest obiekt { name, mimeType, size, contentBase64 }.
Schema
type: filepicker
id: attachment
label: Załącznik
accept: image/*,.pdf
maxSize: 5MB
multiple: false
mode: file # file | base64
buttonLabel: Wybierz plik
onChange:
action: callMethod
module: core/files
method: upload
Parametry
type- Typ widoku:"filepicker"label- Etykieta kontrolki (opcjonalne)accept- Dozwolone typy (image/*,.pdf,application/pdf)maxSize- Maksymalny rozmiar pliku (5MB,500kb, liczba bajtów)multiple- Czy można wybrać wiele plików (domyślniefalse)mode-file(domyślnie) albobase64buttonLabel- Podpis przycisku wyboruemptyText- Tekst gdy nic nie wybranodisabled- Czy kontrolka jest wyłączonaonChange- Akcja po zmianie wyboru ($valueto wybrany plik lub tablica plików)
Publiczne API (kontrakt kontrolki wartości)
view.getValue() // File | File[] | deskryptor base64 | null
view.setValue(null) // czyści wybór
Pliku nie da się ustawić programowo w natywnym input[type=file] — setValue() przyjmuje wartość do stanu i listy plików, ale samo pole pozostaje puste (ograniczenie przeglądarki). setValue(null) czyści zarówno stan, jak i pole.
