Veri Şablonları¶
Emakin'deki veri şablonları, veri modellerini metin veya HTML gibi çeşitli çıktı biçimlerine dönüştürür. Bu şablonlar, form denetimleri ve e-posta şablonları dâhil olmak üzere farklı Emakin bileşenlerinde kullanılır. Şablonlar, çift küme parantezi içine yerleştirilmiş XPath sorgularını kullanır {{ ve }}.
Örneğin, veri modelinde "username" adlı bir alan bulunduğunu varsayalım. Basit bir şablon şöyle olur:
1 | |
"username" alanı "Madonna" içeriyorsa oluşturulan çıktı şöyle olur:
1 | |
Tüm XML değerleri doğası gereği dizeler olarak ele alınır; bu nedenle otomatik veri türü biçimlendirmesi yapılmaz. Sayıları veya tarihleri biçimlendirmek için açık tür dönüştürme ya da biçimlendirme işlevleri gerekir.
Kültür Desteği¶
Veri şablonları kültüre duyarlıdır ve biçimlendirmeyi belirtilen kültüre göre uyarlar. Kültür genellikle kullanıcı tercihlerinden alınır ancak açıkça da ayarlanabilir. Kültür belirtilmezse değişmez kültür kullanılır.
Komut Dizisinde Kültür Belirtme¶
Aşağıdaki JavaScript örneği, belirli bir kültür ('tr-TR' - Türkçe) kullanılarak biçimlendirme yapılmasını gösterir:
1 2 3 4 5 | |
Veri Türü Biçimlendirmesi¶
Metin Biçimlendirme¶
Metin veya dize değerleri, örtük bir biçimlendirme olmadan oluşturulur.
Sayı Biçimlendirme¶
"Sum" ve "Count" gibi işlevler sayıları doğrudan döndürürken, number() gerekirse açık tür dönüştürmesi için işlevi kullanılabilir. Sayı değerleri varsayılan olarak ondalık kurallara göre biçimlendirilir.
Örnekler:
| Şablon | Çıktılar | Kültür |
|---|---|---|
| {{ 12345678912345 }} | 12345678912345 | |
| {{ 123456.78912345 }} | 123456.78912345 | |
| {{ number(123456.78912345678912345) }} | 123456.789123457 | |
| {{ format( number(123456.789) ) }} | 123456.789 | |
| {{ format( number(123456789) ) }} | 123456789 | |
| {{ format( number(123456789), 'n') }} | 123,456,789.00 | |
| {{ format( number(123456789), 'n') }} | 123.456.789,00 | tr-TR |
| {{ format( number(123456789), 'n0') }} | 123,456,789 | |
| {{ format(number(123456789), 'c') }} | 123.456.789,00 ₺ | tr-TR |
Tarih Biçimlendirme¶
Şablon sistemi, "YYYY-MM-DDTHH:MM:SSTZ" biçiminde biçimlendirilmiş XML tarih türlerini otomatik olarak tanır. Emakin, veri modelindeki tarih değerleri için bu biçimi tutarlı şekilde kullanır. Diğer biçimlerdeki tarihler dizge olarak değerlendirilir.
Örnekler ( MyDate içerdiği varsayılarak: 2014-01-31T09:00:00+02:00):
| Şablon | Çıktılar | Kültür |
|---|---|---|
| {{ MyDate }} | 01/31/2014 16:04:12 +02:00 | |
| {{ format(MyDate,'dd/MM/yyyy') }} | 31/01/2014 | |
| {{ format(MyDate) }} | 31.1.2014 09:00 | tr-TR |
| {{ format(MyDate,'d') }} | 31/01/2014 | |
| {{ format(MyDate,'D') }} | 15 Haziran 2009 Pazartesi | en-US |
| {{ format(MyDate,'o') }} | <br>2014-01-31T09:00:00+02:00<br> |
Komut dizisi örneği¶
1 2 3 4 | |
Komut dizisi örneği¶
Tarih düğümünden saati kaldırmanın bir yolu:
1 2 3 4 | |
format() İşlev Seçenekleri¶
format() İşlev, çıktıyı özelleştirmek için çeşitli seçenekler sunar. Ayrıntılar için aşağıdaki tabloya bakın. Kullanılabilir seçeneklerin ve davranışlarının veri türüne bağlı olarak değişebileceğini unutmayın.
| Veri Türü | Biçim Seçeneği | Açıklama | Örnek Veri | Çıktı |
|---|---|---|---|---|
| Dizge | Dizgeyi otomatik algılama ile yazdır | <script>alert('hello')</script><div>hello</div> | <div>hello</div> | |
| Dizge | Dizgeyi otomatik algılama ile yazdır | 12.345 | 12.3 | |
| Dizge | Dizgeyi otomatik algılama ile yazdır | 12 | 12 | |
| Dizge | Dizgeyi otomatik algılama ile yazdır | 2022-05-07T00:00:00+03:00 | 07.05.2022 00:00 | |
| Dizge | Dizgeyi otomatik algılama ile yazdır | True / true | ✓ (U+2713) | |
| Dizge | Dizgeyi otomatik algılama ile yazdır | False / false | ✕ (U+2715) | |
| Dizge | html | Dizgeyi kodlanmış HTML metni olarak yazdır | <script>alert('hello')</script><div>hello</div> | <script>alert('hello')</script><div>hello</div> |
| Dizge | safe | Değeri, tehlikeli etiketleri çıkararak güvenli HTML olarak yazdır | <script>alert('hello')</script><div>hello</div> | <div>hello</div> |
| Dizge | string | Dizgeyi herhangi bir kodlama uygulamadan yazdır | <script>alert('hello')</script><div>hello</div> | <script>alert('hello')</script><div>hello</div> |
| Sayı | n0 | Sayıyı ondalık basamak olmadan tam sayı olarak yazdır | 12.345 | 12 |
| Sayı | n1 | Sayıyı, noktadan sonra 1 basamak olacak şekilde ondalık sayı olarak yazdır | 12.345 | 12.3 |
| Boolean | Değeri Unicode onay işareti olarak yazdır | True / true | ✓ (U+2713) | |
| Boolean | Değeri Unicode onay işareti olarak yazdır | False / false | ✕ (U+2715) | |
| DateTime | Tarih değerini kullanıcının yerel ayar tercihine göre yazdır | 2022-05-07T00:00:00+03:00 | 07.05.2022 00:00 | |
| DateTime | o | Tarihi ISO biçiminde yazdır | 2022-05-07T00:00:00+03:00 | 2022-05-07T00:00:00+03:00 |
| DateTime | m | Tarihi dinamik biçimde biçimlendirerek yazdır | 2022-05-07T00:00:00+03:00 | 2 gün önce |
| DateTime | dd/MM/yyyy | Tarihi belirtilen tarih biçiminde yazdır | 2022-05-07T00:00:00+03:00 | 07/05/2022 |
Koşullu Biçimlendirme¶
Koşullu görüntüleme aşağıdaki söz dizimi kullanılarak gerçekleştirilir:
1 2 | |
Örnek:
Temel kullanım
1 | |
else yan tümcesiyle temel kullanım
1 | |
Tekrarlayan Şablonlar¶
Bir şablonu birden fazla düğüme uygulamak için şu söz dizimini kullanın:
1 | |
Bu, eşleşen her öğe üzerinde yineleme yapar ItemXPath ve şablonu uygular.
Örnek:
1 2 3 4 5 6 7 8 9 10 | |
Aşağıdaki çıktıyı oluşturur:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Öznitelikle Yineleme¶
x-repeat özniteliği, şablonları yinelemeye yönelik söz dizimine alternatif sunar; özellikle, söz diziminin etiketleri bozabileceği HTML üretiminde kullanışlıdır. Örneğin: => =>
1 2 3 4 5 6 7 | |
Bu öznitelik herhangi bir öğeyle kullanılabilir. Örneğin, "li" etiketiyle de kullanılabilir.
1 2 3 4 5 6 | |
Özyinelemeli Tekrarlayan Şablonlar¶
Özyinelemeli yineleme için şu söz dizimini kullanın:
1 | |
Şablon, her yinelemenin sonuçlarına özyinelemeli olarak uygulanır.
Örnek:
1 2 3 4 5 | |
sonuç:
1 2 3 4 5 | |
Şablon Değişkenleri¶
Şablonlarda hem özel süreç değişkenleri hem de sistem özellikleri kullanılabilir. İstemci tarafı ve sunucu tarafı komut dizilerinin değişken bağlamları farklıdır.
İstemci Tarafı Şablon Değişkenleri¶
İstemci tarafı komut dizilerinde (ör. form komut dizilerinde) kullanılabilir:
| Değişken Adı | Açıklama |
|---|---|
$staticUrl | Statik kaynakların temel URL'si. Statik kaynakların temel adresi. (ör.: https://static.emakin.com/ ) |
$applicationUrl | Uygulamanın temel URL'si. (ör.: https://mydomain.emakin.com/app/ ) |
$Process | Geçerli sürecin benzersiz kimliği |
$FolderName | Süreci içeren dizinin adı |
$CustomVariable | Süreç içinde tanımlanan özel değişkenler |
Sunucu Tarafı Şablon Değişkenleri¶
Sunucu tarafı komut dizilerinde (ör., pre/post-work komut dizilerinde) kullanılabilir:
| Değişken Adı | Açıklama |
|---|---|
$ApplicationName | Bir uygulamanın adı. (ör. emakin.com) |
$ApplicationUrl | Uygulamanın temel URL'si |
$Domain.Name | Alanadının adı |
$Domain.Url | Alanadının URL'si |
$Domain.LogoUrl | Alanadı logosunun URL'si |
$CustomVariable | Süreç içinde tanımlanan özel değişkenler |
Belirli Şablon Değişkeni Bağlamları¶
Aktivite Bildirimleri: Sunucu tarafı değişkenlere ek olarak aktivite bildirimlerinde şunlar kullanılır:
| Değişken Adı | Açıklama |
|---|---|
$Id | Bir iş adımının kimlik numarası |
$WorkItem | WorkItem nesnesi (özelliklere nokta gösterimini kullanarak erişin, ör., $WorkItem.Instance.Number) |
$Recipients | Virgülle ayrılmış alıcı adları |
$Url | Bir iş adımının URL'si. (ör.: https://mydomain.emakin.com/app/?/workitem=1234 ) |
$AssignedTo | Atanan kullanıcıların virgülle ayrılmış kullanıcı adları |
Kullanıcı Kaydı: Sunucu tarafı değişkenlere ek olarak kullanıcı kaydı şablonlarında şunlar kullanılır:
| Değişken Adı | Açıklama |
|---|---|
$Ticket | Kimlik doğrulama belirteci |
$DisplayName | Kullanıcının görünen adı |