Ana içeriğe geç

Biçimlendirme Kuralı

Emakin'deki biçimlendirme kuralı, bir veri modeli özelliğinin değerine göre widget'ın görünümünü ayarlar. Bu özellik, formu görsel olarak dinamik ve bağlama duyarlı hale getirerek kullanıcı deneyimini geliştirir.

Biçimlendirme kuralları kullanılarak aşağıdaki widget özellikleri güncellenebilir:

Hidden: Widget'ı ekrandan gizler.
Disabled: Düzenleme özelliklerini devre dışı bırakarak widget'ı salt okunur hale getirir.
BackgroundColor: Widget'ın arka plan rengini değiştirir.
Color: Widget'ın metin rengini günceller.
Bold: Widget'ın metnini kalın yapar.
Italic: Widget'ın metnini italik yapar.

Özelliklerin Yayılması

Biçimlendirme özellikleri, devralma yoluyla kapsayıcı widget'ın alt widget'larına uygulanır.

Bir kapsayıcı widget gizlendiğinde, doğrulama kuralları da dahil olmak üzere alt widget'lar ve bunlarla ilişkili kurallar artıkçalıştırılmaz.

Gibi özellikler BackgroundColor, Color, Boldve Italic alt widget'lar tarafından devralınır. Alt widget'lar için özel biçimlendirme kuralları tanımlanarak bu devralma geçersiz kılınabilir.

Devralınan Özellikleri Geçersiz Kılma

Biçimlendirme kuralı özelliklerinde varsayılan değer olarak Inherit veya boş bir dize kullanılır:

  • Değeri Devral:

    • Widget, özellik değerini üst kapsayıcı widget'ından devralır.
    • Örnek: Bir Satır Kapsayıcısı devre dışı bırakılırsa tüm alt widget'ları otomatik olarak devre dışı bırakılır.
  • Açıkça Geçersiz Kılma:

    • Bir alt widget, belirli bir biçimlendirme kuralıyla devralınan durumu geçersiz kılabilir.
    • Örnek: Devre dışı bırakılmış bir satır kapsayıcısındaki metin kutusu, kendi Disabled özelliğini Falseolarak ayarlayan bir kural tanımlayarak düzenlenebilir hale getirilebilir.

Biçimlendirme kurallarından ve özellik devralmadan yararlanarak Emakin formları, yinelenen yapılandırmaları en aza indirirken duyarlı ve kullanıcı dostu arayüzler sunacak şekilde özelleştirilebilir.

Kural Koşulu

Biçimlendirme kuralı koşulları, boolean değer döndüren JavaScript işlevleriyle tanımlanır. Bu işlevler, veri modelinde değişiklik olduğunda tetiklenerek widget'ı buna göre günceller.

Koşul komut dizileri, asenkron işlemler için async/await kalıbını destekler. Bu sayede doğrulama mantığına harici API çağrıları veya uzun süren görevler dahil edilebilir.

Kullanılabilir Komut Dizisi Değişkenleri

  • $Xml Widget'a bağlı XML veri modeli öğesini temsil eder.
  • $ActiveUser Geçerli kullanıcının kimlik bilgilerini içerir.
  • $Disabled Formun devre dışı durumunu belirtir.
  • $Process Şu anda çalışan sürecin kimliği.
  • $StaticUrl Statik dosyalara erişim URL'si.

JSON Nesnesinin $ActiveUser Yapısı:

1
2
3
4
5
6
7
{
    "name": "<user_display_name>",
    "type": "User",
    "domain": "<domain_id>",
    "id": "<user_id>",
    "email": "<user_email>"
}

Warning

Bu $Disabled değişkeni, tek tek widget'ların değil formun devre dışı durumunu belirtir.

Örnek

Aşağıdaki örnekte, bir metin kutusu widget'ı için biçimlendirme kuralı tanımlanmıştır. Kural, veri modelindeki status özelliğinin değeri olarak ayarlandığında metin kutusunun arka plan rengini kırmızıya dönüştürür. rejected.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<TextBox XPath="status">
    <Rules>
        <FormattingRule Hidden="Inherit" Disabled="Inherit" BackgroundColor="#f44336" Color="#fff" Bold="" Italic="">
            <Condition>
                <Content><![CDATA[return $Xml.Evaluate('rejected');]]></Content>
                <Definitions/>
            </Condition>
        </FormattingRule>
    </Rules>
</TextBox>