webapp/js/gen-list.js içindeki makeGenList, web uygulamasının her varlık listesini EntityMeta.list_view üzerinden çizer. Bu sayfa seçeneklerini, ekranın parçalarını, hücre biçimleyicilerini ve seçim ile devre dışı bırakma davranışını listeler. webapp/js/table-align.js tablo başlıklarını sütunlarıyla hizalı tutar. Metadata sınıfları metadata modeli sayfasındadır.
Kapsam ve kaynak¶
- Tanımlandığı yer:
webapp/js/gen-list.js(makeGenList,formatCell,buildRowParts,preloadFkColumns),webapp/js/table-align.js(initTableAlign,alignTableHeaders) - Sayı:
formatCelltarafından işlenen 10 sütun biçimleyicisi (webapp/js/gen-list.js:86-129içindekifmt ===dallarından vebuildRowPartsiçindekiactive_flagişlemesinden sayıldı)
Seçenekler ve sunum¶
makeGenList(moduleName, entityKey, opts) bir çizim işlevi döndürür (webapp/js/gen-list.js:338-372).
| Seçenek | Etki | Kaynak |
|---|---|---|
endpointKey |
Liste çağrısı için kullanılan uç anahtarı; varsayılan list |
webapp/js/gen-list.js:431-437 |
table |
Özet satırı yerine her liste sütununu tam tablo olarak gösterir | webapp/js/gen-list.js:476-541 |
listEndpoint |
Listenin üstünde hangi kenar çubuğu bölümü açıklamasının gösterileceğini seçer | webapp/js/gen-list.js:377-386 |
table olmadan her satır buildRowParts ile kurulan bir avatar, bir başlık, ikincil bir satır ve rozetler gösterir (webapp/js/gen-list.js:230-298). table ile tüm list_view.columns gösterilir; sayılar sağa, mantıksal değerler ortaya hizalanır ve varlık photo bildirdiğinde bir avatar sütunu eklenir (webapp/js/gen-list.js:481-541). Modül uygulamaları table değerini katalogdaki tableList bayrağından alır (webapp/js/home.js:2423-2431).
Ekran parçaları¶
| Parça | Ne zaman gösterilir | Kaynak |
|---|---|---|
| Arama alanı | list_view.search_enabled doğru olduğunda; girdi 200 ms geciktirilir |
webapp/js/gen-list.js:582-597, webapp/js/gen-list.js:1010 |
| Yoğunluk düğmesi | Her zaman; üç satır yoğunluğu arasında döner | webapp/js/gen-list.js:582-590 |
| Bölüm açıklaması | Bu listeyi gösteren kenar çubuğu bölümünün bir description değeri olduğunda |
webapp/js/gen-list.js:377-386 |
Aktifler / Pasifler bölmesi (deactivate.segment_active, deactivate.segment_inactive) |
Varlığın bir delete ucu olduğunda ve kullanıcı <entity_type>.read koduna sahip olduğunda |
webapp/js/gen-list.js:405, webapp/js/gen-list.js:600-611 |
| Süzgeçler | list_view.filters varsa; üç veya daha az seçenekli enum süzgeçleri bölmeli denetim, diğerleri seçim kutusu olarak çizilir |
webapp/js/gen-list.js:654-700 |
Yeni Ekle satırı (common.add) |
Varlığın bir create ucu olduğunda ve kullanıcı <entity_type>.create koduna sahip olduğunda |
webapp/js/gen-list.js:702-711 |
Gezinme çubuğunda Aksiyonlar düğmesi (toolbar.actions) |
Varlığın single_record olmayan aksiyonları olduğunda |
webapp/js/gen-list.js:544-580 |
| Sayfalayıcı | list_view.paginated false olmadığında |
webapp/js/gen-list.js:723 |
| Boş durum | Satır yoksa; süzülmüş boş bir liste Filtreleri temizle (glist.clear_filters) sunar |
webapp/js/gen-list.js:725-737, webapp/js/gen-list.js:305-323 |
Sayfa boyutu PAGE_LIMIT = 50'dir (webapp/js/ui.js:7). Sunucu total_capped bildirdiğinde sayfalayıcı toplamı tavana ulaşmış olarak işaretler (webapp/js/gen-list.js:446-448).
Hücre biçimleyicileri¶
formatCell(colMeta, value, ctx) bir değeri ColumnMeta.formatter değerine göre biçimler (webapp/js/gen-list.js:86-129).
| Biçimleyici | Çıktı | Kaynak |
|---|---|---|
i18n_message |
Satırın <key>_key anahtarını <key>_params ile okuyucunun dilinde çevirir; saklanan değer geri dönüştür |
webapp/js/gen-list.js:91-97 |
boolean |
Evet veya Hayır (common.yes, common.no) |
webapp/js/gen-list.js:99 |
date |
Kullanıcının saat diliminde YYYY-MM-DD |
webapp/js/gen-list.js:100, webapp/js/prefs.js:150-154 |
datetime |
Kullanıcının saat diliminde YYYY-MM-DD HH:MM:SS |
webapp/js/gen-list.js:101, webapp/js/prefs.js:172-179 |
enum |
Sütundaki, bir süzgeçteki veya form alanındaki seçenek etiketi | webapp/js/gen-list.js:102-111 |
foreign_key |
Önceden yüklenen referans listesindeki görüntü değeri | webapp/js/gen-list.js:112-116 |
entity_type |
Bir varlık türünün yerelleştirilmiş etiketi | webapp/js/gen-list.js:118 |
entity_record |
Çok biçimli başvurularda sahip kaydın başlığı | webapp/js/gen-list.js:121-125 |
active_flag |
Özet satırında aktif veya pasif satırlar için bir rozet | webapp/js/gen-list.js:255-262 |
decimal |
Gönderildiği gibi değer; sağa hizalama için kullanılır | webapp/js/gen-list.js:69-84 |
Ondalık değerler dize olarak gelir ve gösterim için sayıya çevrilmez. isNumericValue yalnız hizalamaya karar verir (webapp/js/gen-list.js:56-67). Bu, para ve Decimal sayfasındaki para kuralını izler.
Yabancı anahtar sütunları preloadFkColumns ile çözülür; bu, her sütunun display_endpoint listesini yükler ve listede olmayan kimlikler, örneğin devre dışı kayıtlar için kayıt etiketleri ucunu sorar (webapp/js/gen-list.js:149-215). Referans liste önbelleği için bkz. açılış, oturum ve API çağrıları.
Seçim ve toplu işlemler¶
| Davranış | Kural | Kaynak |
|---|---|---|
| Seçime girme | Bir satırı 8 px'ten fazla kıpırdatmadan 450 ms basılı tutun; satır seçili başlar | webapp/js/gen-list.js:1101-1111, webapp/js/ui.js:71-119 |
| Seçimin sunulması | Kullanıcı silebiliyorsa veya varlığın single_record aksiyonları varsa |
webapp/js/gen-list.js:1103 |
| Seçim çubuğu | Tümünü Seç, sayı, tam bir satır için Aksiyonlar, Paylaş ve Sil | webapp/js/gen-list.js:620-651 |
| Silme | Bir devre dışı bırakma nedeni sorar, sonra bulkDelete çağırır |
webapp/js/gen-list.js:846-868 |
| Yeniden etkinleştirme | Pasif görünümde seçili her satırı yeniden etkinleştirir | webapp/js/gen-list.js:868-893 |
| Seçimden çıkma | Gezinme çubuğunda İptal (common.cancel) |
webapp/js/gen-list.js:552-569 |
Projenin yazılı mühendislik kuralları seçime basılı tutarak girildiğini, satır aksiyonlarının alttan bir kartta açıldığını ve satır içi düzenleme ile silmenin yasak olduğunu belirtir. Liste bunu izler: bir dokunuş kaydı açar ve düzenleme karttan başlar.
Bir satırı açma¶
openRow(row) şu sırayı izler (webapp/js/gen-list.js:816-844):
- Varlık
identitybildiriyorsa ve satır bağlantı alanını taşıyorsa asıl kaydın kartı açılır (bir facet taraf kartını açar). - Değilse, varlığın
detail_viewdeğeri varsamakeGenDetailaçılır. - Değilse, varlığın form grupları varsa düzenle düğmeli salt okunur bir kayıt kartı açılır.
Pasif bir satır, devre dışı bırakma nedeni ve yeniden etkinleştirme düğmesi olan salt okunur bir kart açar (webapp/js/gen-list.js:895-933). create_with_file taşıyan bir varlık kaydını belge ekleme ekranı üzerinden oluşturur (webapp/js/gen-list.js:787-800).
Tazeleme¶
Liste veri değişti sinyaline abone olur ve aynı modülde son yüklemesinden sonra bir değişiklik olduğunda yeniden yükler (webapp/js/gen-list.js:368-372). Bkz. veri tazeleme ve değişiklik sinyalleri.
Başlık hizalaması¶
initTableAlign() açılışta bir kez çalışır ve belgeyi izler. Tek başlık satırı olan ve birleşik hücresi olmayan her tabloda, her başlık hücresinin metin hizasını sütunundaki ilk veri hücresinin hesaplanan hizasına ayarlar (webapp/js/table-align.js:1-78, webapp/js/main.js:230). Yorum bunun uygulama paketlerindeki elle yazılmış tabloları da kapsadığını belirtir. web-client/_e2e_table_alignment.mjs sonucu bir tarayıcıda ölçer.
Kısıtlar ve doğrulama¶
- Oluşturma, güncelleme, silme ve pasifleri görme girdileri hem bildirilen uca hem kullanıcının izin koduna bağlıdır (
webapp/js/gen-list.js:396-406). parentkapsamlı aksiyonlar bir listede hiç sunulmaz (webapp/js/gen-list.js:407).- Tarayıcı testleri:
web-client/_e2e_action_sheet.mjs(basılı tutma),web-client/_e2e_density.mjs,web-client/_e2e_tenant_fields_list.mjs.
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| press and hold | bindLongPress |
Seçim kipine girmek için bir satırda işaretçiyi 450 ms tutmak. | basılı tut | webapp/js/ui.js:71 |
| passive view | listInactive |
Bir varlığın devre dışı bırakılmış kayıtlarının listesi. | Pasifler | webapp/js/gen-api.js:151 |
| cell formatter | formatCell |
Bir sütun değerini biçimleyicisine göre görüntü metnine çeviren işlev. | hücre biçimleyici | webapp/js/gen-list.js:86 |
İlgili sayfalar¶
- Web uygulaması platformu
- Metadata çizimi
- Genel ayrıntı
- Aksiyonlar ve aksiyon kartı
- Arama, sayfalama ve toplu işlemler
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.