Beta yazılım, tamamen yapay zekâ tarafından yazıldı.Hiçbir satır bir insan tarafından tek tek incelenmedi, güvenlik denetiminden geçmedi. Garanti ve sorumluluk yoktur: kullanım riski size aittir.Devamı
İçeriğe geç

Alan türleri ​

Alan, bir formun tek girdisini tanımlar. Formu düzenleyici çizer; eklentiniz hiçbir zaman arayüz çizmez. Aynı alan nesneleri iki yerde kullanılır:

  • host.settings.page(fields): eklentinin ayar penceresi (Eklentiler penceresindeki dişli buton).
  • host.registerAction({...}) içindeki fields: aksiyon bir widget olayına bağlanırken kullanıcının doldurduğu form.
js
{ key: 'volume', label: 'Volume', kind: 'Slider', min: 0, max: 100, step: 5, default: 50 }

key, değerin geldiği addır (aksiyonda settings.volume, ayar sayfasında host.settings.get().volume). label girdinin yanındaki metindir. kind aşağıdaki adlardan biridir.

Türler ​

TürKullanıcı ne görürBetikteki değerKullandığı seçenekler
Texttek satırlık metin kutusustringplaceholder, default, allowVariables
Passwordgizli metin kutusustring (JavaScript eklentilerinde düz metin saklanır)placeholder
Numbersayı kutusunumbermin, max, step, default
Sliderdeğeri gösteren kaydırıcınumbermin, max, step, default
Boolonay kutusu veya anahtartrue / falsedefault
Selectaçılır listeseçilen seçeneğin value'su (string)options, default
Segmentedbiri etkin olan bir buton sırasıseçilen seçeneğin value'su (string)options, default
FileGözat butonlu yol kutusu (yerel dosya seçici)yol (string)fileFilter
Listkullanıcının ekleyip sildiği tekrarlı satırlarnesne dizisiitemFields
Noticesalt okunur uyarı metniyok, hiç kaydedilmezlabel, description
Buttonbir butonyokJavaScript'ten kullanılamaz (aşağıya bakın)

Seçenekler ​

SeçenekGeçerli olduğuAnlamı
descriptionhepsiAlanın altındaki yardım metni.
placeholdermetin türleriKutu boşken gösterilen ipucu.
defaultdeğer türleriBaşlangıç değeri. Kullanıcı değiştirene kadar settings ve host.settings.get() bunu taşır.
min, max, stepNumber, SliderSınırlar ve artış.
optionsSelect, SegmentedSabit { value, label } listesi. İsteğe bağlı group satırı Grup › Öğe olarak girintiler, isteğe bağlı icon simge gösterir.
allowVariablesText{var} ekleme butonunu gösterir. {...} hâlâ içinde olan ham metni alırsınız. Değeri host.variables.get ile kendiniz okuyun.
visibleWhenhepsiAlanı yalnızca başka bir alanın değeri tutunca gösterir; "anahtar=değer" yazılır, örneğin "mode=pause". List satırı içinde o satırın kendi değerlerine karşı denetlenir.
fileFilterFileZorunlu. "Audio files (*.wav;*.mp3)|*.wav;*.mp3" gibi bir Windows dosya filtresi.
itemFieldsListZorunlu. Bir satırın alanları; yukarıdaki türlerden herhangi biri kullanılabilir. Bildirmediğiniz satır anahtarları kayıtta korunur.
dependsOn, optionsSource, commanddinamik listeler ve butonlarBunlar sunucuda kod ister (yalnızca resmî C# eklentileri); JavaScript eklentisinde bir şey yapmazlar.

Örnekler ​

Birkaç türle bir ayar sayfası

js
host.settings.page([
  { kind: 'Notice', key: 'n', label: 'Talks to the hub on your network.' },
  { key: 'host', label: 'Hub address', kind: 'Text', placeholder: '192.168.1.20' },
  { key: 'mode', label: 'Mode', kind: 'Segmented', default: 'auto',
    options: [{ value: 'auto', label: 'Auto' }, { value: 'manual', label: 'Manual' }] },
  { key: 'level', label: 'Level', kind: 'Slider', min: 0, max: 100, step: 5, default: 50,
    visibleWhen: 'mode=manual' },
  { key: 'token', label: 'Token', kind: 'Password' },
  { key: 'log', label: 'Write to file', kind: 'File', fileFilter: 'Text files (*.txt)|*.txt' },
])

Bir liste

js
host.settings.page([
  { key: 'lights', label: 'Lights', kind: 'List', itemFields: [
    { key: 'name', label: 'Name', kind: 'Text' },
    { key: 'port', label: 'Port', kind: 'Number', min: 1, max: 65535, default: 8080 },
  ] },
])
const lights = host.settings.get().lights   // [{ name: 'Desk', port: 8080 }, ...]

Değişken kullanabilen bir aksiyon formu

js
host.registerAction({
  type: 'myplugin.say', name: 'Say', run(context, settings) { host.log(settings.text) },
  fields: [{ key: 'text', label: 'Text', kind: 'Text', allowVariables: true }],
})

Değerler nerede durur ​

  • Ayar sayfası: eklenti klasöründeki settings.json içinde. Yalnızca bildirilen anahtarlar tutulur. host.settings.get() kayıtlı değerleri varsayılanların üstüne bindirir. Kullanıcı dosyayı da açabilir, okuduğunuzu doğrulayın.
  • Aksiyon formu: profilin içinde, aksiyonu kullanan butonun yanında; run'a settings olarak geçer.

Form etiketleri locales/<language>.json ile çevrilebilir, bkz. JavaScript host API. Ayar sayfalarının genel davranışı Ayar sayfaları bölümündedir.

Macro Grid siteleri: PC · Telefon · Eklentiler
MIT Lisansı ile yayımlanmıştır. Beta yazılım, tamamen bir yapay zekâ asistanı tarafından yazılmıştır, garanti verilmeden olduğu gibi sunulur.