Tema
Parametre tipleri ve form
manifest.json içindeki params listesi panelde app örneğinin (instance) düzenleme formuna dönüşür. Kullanıcının girdiği değerler app'e Corevo.params ile gelir ve değiştikçe canlı güncellenir.
Ortak alanlar: key, type, label, help, required, default, group, i18n. Tam alan listesi: Manifest referansı.
Tipler
| Tip | Formda | App'e gelen değer |
|---|---|---|
text | tek satır metin | string |
textarea | çok satırlı metin | string |
number | sayı; min ve max varsa kaydırıcı | number |
color | renk seçici + hazır renkler | "#RRGGBB" |
boolean | anahtar (toggle) | boolean |
select | 4 ve daha az seçenekte düğme grubu, fazlasında açılır liste | seçeneğin value değeri |
datetime | tarih-saat | offset'li ISO-8601 (2026-10-30T12:00:00+03:00) |
media | medya kütüphanesinden seçim (accept: image, video) | medya kimliği → Corevo.media.url(id) |
file | dosya seçimi (accept: .pdf, .xlsx …) | dosya kimliği → Corevo.media.url(id) veya Corevo.files.url(key) |
list | satır ekle/sil/sırala; items her satırın alanları | Array<Record<string, unknown>> |
dataset | veri kaynağı eşleme | Corevo.data.get(key) (snapshot) |
Çok dilli değer (i18n: true)
Form, TR/EN sekmeleriyle her dil için ayrı değer alır. App'e { "tr": "...", "en": "..." } nesnesi gelir; aktif dili Corevo.i18n.t(value) seçer (yoksa tr, o da yoksa ''). Varsayılan da aynı biçimdedir:
json
{
"key": "title",
"type": "text",
"label": { "tr": "Başlık", "en": "Title" },
"i18n": true,
"default": { "tr": "Hoş geldiniz", "en": "Welcome" }
}list ve dataset üzerinde i18n yasaktır; çok dillilik listenin içindeki alanlarda tanımlanır.
Medya
json
{ "key": "image", "type": "media", "label": { "tr": "Görsel" }, "accept": ["image"] }ts
const id = Corevo.params.get('image'); // "8421" gibi bir kimlik
const url = Corevo.media.url(String(id ?? '')); // cihazdaki yerel adres veya nullKimlik bir dosya adı değildir. Adres host'un medya haritasından gelir; cihazda dosya önceden indirilmiş yerel kopyadır. Medya değişince host app'i yeniden yükler.
Liste
json
{
"key": "items",
"type": "list",
"label": { "tr": "Maddeler" },
"max_items": 8,
"items": [
{ "key": "label", "type": "text", "label": { "tr": "Metin" }, "i18n": true, "required": true },
{ "key": "value", "type": "text", "label": { "tr": "Değer" } }
]
}Formda min_items altına inilemez, max_items üstüne çıkılamaz; sayaç 2/8 gibi görünür. Liste içinde liste en fazla bir kez olabilir (toplam 2 seviye).
Dataset
dataset, panelde bağlanan tablo verisini (fields sütunlarıyla) okur ve data yeteneği ister. Hava durumu gibi hazır veriler için Veri kaynakları bölümüne bakın.
Form davranışı
- Gruplar.
groupstanımlıysa form o sırayla bölümlere ayrılır ve hergroupbu anahtarlardan biri olmalıdır. Tanımlı değilsegroupserbest metin başlık olur. - Zorunlu alan.
required: trueetiketin yanında*gösterir; boş kaydedilemez. - Varsayılan.
defaulttipe uymalıdır: sayımin/maxiçinde,selectiçin seçeneklerden biri, liste öğeleriitemsşemasına uygun. - Doğrulama. Hatalı alan kırmızı işaretlenir; çok dilli alanda hatalı dilin sekmesinde nokta görünür.
- Canlı güncelleme. Kaydedilen değerler cihaza
params.updateolarak gider; appCorevo.params.onile yeniden çizer, yeniden yüklenmez (medya değişimi hariç).
Sürüm etkisi
Parametre eklemek minor, silmek veya tipini değiştirmek major sürüm ister. Tam tablo: Manifest › Semver kuralları.