Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / Web uygulaması

Referans

Ana ekran bileşenleri

Ana ekran bileşen kaydı, kapılı paketlerin çizdiği modül bildirimli bileşenler, asistan ve onaylar bileşenleri ve Benim veya Tümü kapsamı için başvuru.

Bir bileşen, canlı içerik gösteren ve bir uygulama kutucuğundan büyük olan bir ana ekran öğesidir. Web uygulamasında iki platform bileşeni, modüllerin metadata'larında bildirdiği bileşenler ve boş cam paneller vardır. Bu sayfa bunları, boyutlarını, nasıl çizildiklerini ve saklandıklarını ve ortak Benim veya Tümü kapsamını listeler. Ana ekran ana ekran, dock ve başlatıcı sayfasındadır.

Kapsam ve kaynak

  • Tanımlandığı yer: webapp/js/home.js (WIDGET_SIZES, BLANK_SIZES, WIDGETS, buildModuleWidgetDefs, openWidgetGallery, tileWidget), webapp/js/custom-widgets.js, webapp/js/widget-ai.js, webapp/js/widget-approvals.js, webapp/js/widget-scope.js
  • Sayı: 2 platform bileşeni (webapp/js/home.js:289-320 içindeki WIDGETS), 4 modül bileşeni (src/cluster_erp/modules içindeki her HomeWidgetMeta(), 6 boyut (WIDGET_SIZES), 4 boş panel boyutu (BLANK_SIZES)

Boyutlar

Boyut Hücre (sütun x satır) Boş panel olarak sunulur Kaynak
1x1 1 x 1 hayır webapp/js/home.js:86-93
2x1 2 x 1 hayır webapp/js/home.js:86-93
2x2 2 x 2 evet webapp/js/home.js:86-97
2x3 2 x 3 evet webapp/js/home.js:86-97
4x2 4 x 2 evet webapp/js/home.js:86-97
5x5 5 x 5 evet webapp/js/home.js:86-97

Cihazın tahtasından daha geniş veya uzun bir boyut tahtaya sıkıştırılır (webapp/js/home.js:98-102). HomeWidgetMeta.size NxM kalıbına uymalıdır (src/cluster_erp/core/metadata.py:710).

Platform bileşenleri

Anahtar Boyut Etiket anahtarı Davranış Kaynak
ai 2x3 widgets.ai Asistan uygulamasıyla aynı sohbet, kutucukta sürdürülür; başlangıç önerileri kurulu modüllerin assistant_starters değerinden gelir webapp/js/home.js:292-302, webapp/js/widget-ai.js:1-60
approvals 2x3 widgets.approvals GET /auth/approvals/inbox ucundan onaycı kuyruğu; bir satır onaylama, reddetme, erteleme, kaydı açma veya geri çekme içeren aksiyon kartını açar webapp/js/home.js:305-319, webapp/js/widget-approvals.js:1-9, webapp/js/widget-approvals.js:317

Onaylar bileşeni POST /auth/approvals/<id>/decide, POST ve DELETE /auth/approvals/<id>/defer ve POST /auth/approvals/<id>/cancel çağırır (webapp/js/widget-approvals.js:126-268). Başlığı tam ekran bir kuyruk açar (webapp/js/home.js:310-317). Onay mantığı onaylar ve onay zincirleri sayfasında anlatılır.

Modül bileşenleri

Bir modül bileşenleri ModuleMeta.home_widgets içinde bildirir. Platform anahtarı, etiketi, simgeyi, boyutu ve hedef bölümü bilir; içeriği modülün kapılı paketi çizer (webapp/js/home.js:242-287).

Anahtar Modül Boyut İngilizce etiket Paketteki bileşen adı Açtığı bölüm Kaynak
projects projects 2x3 Project Board home_board board src/cluster_erp/modules/projects/module.py:267-274
projects-calendar projects 2x3 Project Calendar home_calendar calendar src/cluster_erp/modules/projects/module.py:275-282
sched production 2x3 Scheduling home_scheduling scheduling_board src/cluster_erp/modules/production/module.py:2517-2524
analytics analytics 2x3 Analytics home_model yok src/cluster_erp/modules/analytics/module.py:80-86

buildModuleWidgetDefs() metadata yüklendikten sonra, ilk düzen uzlaştırmasından önce çalışır; böylece kayıtlı bileşenler tanınır (webapp/js/home.js:458-461). Bir kutucuk çizimi ensureModuleWidgets(module) ve ardından kayıtlı üreticiyi {item, save, open, title} ile çağırır (webapp/js/home.js:255-283). Modülün uygulaması kurulu veya lisanslı değilse kutucuk error.entitlement.module_not_installed gösterir (webapp/js/home.js:262-276). Bkz. kapılı uygulama paketleri.

tests/test_metadata_driven_rules.py:158 (test_home_widgets_are_module_metadata_rendered_by_module_bundles) dört anahtarın bildirildiğini, İngilizce ve Türkçe etiketlendiğini, NxM boyutunda olduğunu, modülün paketinde kayıtlı olduğunu ve home.js içinde adlandırılmadığını denetler.

Galeri, yerleştirme ve kaldırma

openWidgetGallery() platform bileşenlerini, kurulu modüllerin modül bileşenlerini ve dört boş boyutu sunar (webapp/js/home.js:887-930). Boş ana ekran alanına sağ tık veya uzun basmayla açılır (webapp/js/home.js:4407-4414). Bir bileşen eklemek onu ilk boş yuvaya yerleştirir (webapp/js/home.js:865-877). Bir bileşene sağ tık onu kaldırmayı sorar (webapp/js/home.js:858-861, webapp/js/home.js:879-884).

Bir bileşen öğesi düzenle birlikte {type: "widget", id, size, widget, cfg, col, row} olarak saklanır. cfg kapsam gibi kutucuk başına ayarları tutar (webapp/js/home.js:660-673). Artık kayıtlı olmayan bir bileşen anahtarını adlandıran kayıtlı bir öğe uzlaştırmada düşürülür (webapp/js/home.js:661-663).

Benim veya Tümü kapsamı

widget-scope.js, paylaşılan işi özetleyen modül bileşenlerine bir Benim ve Tümü bölmesi verir (widgets.scope_mine, widgets.scope_all) (webapp/js/widget-scope.js:1-44).

Kural Değer Kaynak
Kayıtlı seçim it.cfg.scope; düzenle birlikte kullanıcı hesabında saklanır webapp/js/widget-scope.js:21-24, webapp/js/widget-scope.js:44-60
Varsayılan Kullanıcı bir çalışana bağlıysa ve bileşenin adlandırdığı planlayıcı iznine sahip değilse Benim; değilse Tümü webapp/js/widget-scope.js:21-27
Benim anlamı Sunucu tarafından çağırandan çözülür; istemci hiçbir kimlik göndermez webapp/js/widget-scope.js:11-12

Paketler resolveScope, scopeSegmentHtml, wireScope ve noEmployeeHtml işlevlerini platform bağlamı üzerinden alır (webapp/js/custom-widgets.js:104-110).

Kısıtlar ve doğrulama

  • Platform bileşenleri etiket olarak bir i18n anahtarı taşır; modül bileşenleri resolveLabel ile çözülen bir etiket sözlüğü taşır (webapp/js/home.js:286-287).
  • Kullanımdan kalkan saat bileşeni kayıtlı düzenlerden düşürülür; saat ve tarih durum satırında yaşar (webapp/js/home.js:216-218).
  • Tarayıcı testleri: web-client/_e2e_widgets_ai_sched.mjs, web-client/_e2e_approvals_widget.mjs, web-client/_e2e_widget_scope.mjs, web-client/_e2e_widget_projects.mjs, web-client/_e2e_analytics_widget.mjs, web-client/_e2e_widget_swap.mjs.

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
home widget HomeWidgetMeta Modülün paketi tarafından çizilen, modül bildirimli ana ekran öğesi. ana ekran bileşeni src/cluster_erp/core/metadata.py:698
widget footprint WIDGET_SIZES Bir bileşenin ana ekran ızgarasındaki hücre boyutu. bileşen boyutu webapp/js/home.js:86
widget scope resolveScope Bir bileşenin kimin verisini özetlediğine karar veren Benim veya Tümü seçimi. bileşen kapsamı webapp/js/widget-scope.js:21

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13