Formlar¶
Bir süreç görevinin, ekranın veya veri giriş akışının çalışma zamanı kullanıcı arayüzünü tasarlarken formlar bölümünü kullanın. Emakin'de form widget'ları görünüm görevi görür; veri modeli XML destekli durumu sağlar, betik yazımı ise denetleyici tarzı davranışı sunar.

Widget'lar¶
Widget'lar, veri modelindeki verileri görüntülemekten ve kullanıcı etkileşimlerine (ör. metin girişi, açılır listeden seçim, tabloya satır ekleme) göre modeli güncellemekten sorumludur.
Widget'lar kapsayıcı widget'lar veya denetim widget'ları olarak sınıflandırılır.
-
Kapsayıcı Widget'lar: Bunlar diğer widget'ları gruplandırıp düzenleyerek bir yerleşim yapısı sağlar. Örnekler arasında satır kapsayıcıları (widget'ları yatay düzenler) ve sekme kapsayıcıları (widget'ları sekmeler halinde düzenler) bulunur.
-
Denetim Widget'ları: Bunlar veri modeliyle doğrudan etkileşime girerek değerlerini görüntüler ve değiştirir. Örnekler arasında metin kutuları (metin girişini görüntüler ve kabul eder) ve açılır listeler (seçenekleri sunar ve seçimleri kaydeder) bulunur.
Her widget, bir XPath ifadesi aracılığıyla veri modelindeki belirli bir konuma bağlanır. Bu ifade, widget'ın modeldeki verileri nasıl alıp güncelleyeceğini belirler. İç içe yerleştirilmiş widget'lar, XPath ifadesini üst kapsayıcı widget'larından devralır. Örneğin, bir satır kapsayıcısının içindeki metin kutusu widget'ı satırın XPath bağlamasını devralır.
Kurallar¶
Emakin formlarındaki widget davranışı kurallarladenetlenebilir. Bu kurallar, widget'ların ne zaman şu durumda olması gerektiğini belirler:
- Görünür: Widget'ın formda görüntülenip görüntülenmeyeceğini denetler.
- Salt okunur: Widget'ı görünür kalırken düzenlenemez veya salt okunur hale getirir.
- Zorunlu: Form gönderilmeden önce bir değer girilmesini zorunlu kılar.
Bu kurallar, formun veri modeline ve kullanıcı eylemlerine göre uyarlanmış, duyarlı ve kullanıcı dostu bir deneyim sağlayarak dinamik ve bağlama duyarlı form etkileşimlerine olanak tanır.
Form Bölümleri¶
Bazı içerik ve kapsayıcı widget'lar bir SectionName özniteliğini destekler. Bu öznitelik, formun mantıksal bir alanını adlandırır; böylece görev, her widget'a aynı görünürlük veya salt okunur kuralını eklemeden bu alanın varsayılan durumunu denetleyebilir.
Form bölümleri görev üzerinde yapılandırılır. Adlandırılmış her bölüm normal Default durumunda bırakılabilir, Enabledolarak işaretlenebilir, Disabledveya Hidden olarak işaretlenebilir. Bu durumlar bölümün başlangıç davranışını belirler:
Default: Normal form ve widget davranışını kullanır.Enabled: Form salt okunur değilse, üst bölüm gizli değilse veya bir kural değiştirmiyorsa bölümü etkin tutar.Disabled: Bölümü gösterir ancak salt okunur yapar.Hidden: Bölümü gizler.
Bölüm durumları varsayılan değerlerdir; kuralların yerine geçmez. Belirli bir koşulun widget'ı veya bölümü kontrol etmesi gerektiğinde biçimlendirme kuralları görünürlüğü ya da salt okunur davranışı yine de geçersiz kılabilir.
Form bölümleri iç içe olduğunda, bir alt bölüm kendi alanı için durum tanımlayabilir. Üst bölüm gizlenirse içeriği de üst bölümle birlikte gizli kalır; aksi durumda alt bölümün durumu, bu alanı çevresindeki bölümden daha ayrıntılı biçimde tanımlamak için kullanılabilir.
Form betikleri bölüm durumlarını şu değişken aracılığıyla da güncelleyebilir: $Form.sections değişkeni. Bölüm durumunun yalnızca görev yapılandırmasına göre değil, form verilerinden veya betik mantığından belirlenmesi gerektiğinde bunu kullanın. Bkz. Form Bölümü Durumlarını Dinamik Olarak Değiştirme.
Veri Modeli¶
Veri modeli form verilerini saklar ve widget'lara sunar. XML yapısı, verilerin hiyerarşik biçimde temsil edilmesini sağlar.
Veri modeli, süreç tanımı şemasına göre doğrulanır. Bu doğrulama yapısal bütünlüğü sağlar ancak verilerin geçerliliğini denetlemez. Veri doğrulaması, kullanıcı etkileşimleriyle tetiklenen ayrı widget'lar tarafından gerçekleştirilir.
Komut Dosyası Yazımı¶
Widget etkileşimlerinin hesaplamaları, veri aramalarını veya model güncellemelerini tetiklemesi gerektiğinde form betiklerini kullanın.
Betikler veri modelini işleyebilir; hesaplamalar yapabilir, harici kaynaklardan veri alabilir ve model değerlerini güncelleyebilir.
Stil Özelleştirme¶
Emakin formları CSS ile özel stil uygulamayıdestekler; bu sayede geliştiriciler form öğelerinin görünümünü belirli tasarım gereksinimlerine göre özelleştirebilir. Bu özellik formların görsel sunumunu geliştirir, kurumsal markayla tutarlılık sağlar ve kullanıcı deneyimini iyileştirir.