CameraView
Źródło:
views/CameraView.js
CameraView
Podgląd z kamery, robienie zdjęć i galeria miniatur.
Widok jest kontrolką wartości: zrobione zdjęcia trafiają do VarStore pod id widoku, więc wysyła się je zwykłym withData — bez ukrytych pól i skryptów.
Schema
type: camera
id: damagePhotos
label: Zdjęcia uszkodzeń
facingMode: environment # environment (tylna) | user (przednia)
mimeType: image/jpeg
quality: 0.9
maxPhotos: 5
gallery: true
captureKey: true # spacja robi zdjęcie (domyślnie true)
onCapture: # akcja po zrobieniu zdjęcia; `$value` to nowe zdjęcie
action: callMethod
module: core/orders
method: photo.add
Parametry
type- Typ widoku:"camera"label- Etykieta nad podglądem (opcjonalne)facingMode- Wybór kamery:environment(domyślnie) albouserwidth- Żądana szerokość obrazu (opcjonalne)mimeType- Format zdjęcia:image/jpeg(domyślnie) alboimage/pngquality- Jakość kompresji JPEG (domyślnie0.9)maxPhotos- Maksymalna liczba zdjęć (opcjonalne)gallery-falseukrywa galerię miniaturcaptureKey-falsewyłącza skrót spacjicaptureLabel/retryLabel- Podpisy przyciskówonCapture- Akcja po zrobieniu zdjęcia ($value— nowe zdjęcie)onChange- Akcja po zmianie zestawu zdjęć ($value— tablica zdjęć)
Wartość
Tablica zdjęć: { name, mimeType, width, height, contentBase64 }.
Cykl życia i uprawnienia
Strumień kamery jest zatrzymywany przy odmontowaniu widoku oraz przy przebudowie zawartości (renderIf, variantIf) — inaczej dioda kamery zostałaby zapalona po zamknięciu modala. Odmowa uprawnień lub brak kamery kończy się czytelnym komunikatem i przyciskiem ponowienia, a nie pustym prostokątem.
