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

Açıklama

Ana ekran, dock ve başlatıcı

home.js, tiles.js, app-wheel.js ve touch-gate.js ana ekranı, dock'u, yüzen tuşu, açık uygulamaları ve çoğaltmayı nasıl kurar.

Girişten sonra web uygulaması bir ana ekran gösterir: bir hücre ızgarası üzerinde uygulama kutucukları, klasörler ve bileşenlerden oluşan sayfalar, bir durum satırı ve uygulamalar arasında geçiş yapan denetimler. Bu sayfa webapp/js/home.js içindeki ana ekranı, webapp/js/app-wheel.js içindeki PC dock'unu, yüzen tuşu ve açık uygulamalar ekranını, webapp/js/tiles.js içindeki ana ekranı çoğaltma düğmesini ve webapp/js/touch-gate.js içindeki dokunma kurallarını açıklar. Bileşenler ana ekran bileşenleri sayfasında, cihaz başına ızgara boyutu cihaz sınıfları sayfasındadır.

Kısaca

  • Ana ekran yatay bir sayfalayıcıdır. Her sayfa COLS x ROWS hücrelik bir ızgaradır ve her öğenin açık hücre koordinatları vardır (webapp/js/home.js:49-79).
  • Yeni bir hesap, kalıcı Uygulamalar kitaplığı kutucuğu dışında boş bir ana ekranla başlar (webapp/js/home.js:696-707).
  • Yeri olan bir PC'de bir dock kullanıcının sabitlediği uygulamaları ve çalışan uygulamaları gösterir; sabitlemeler kullanıcı hesabında saklanır (webapp/js/app-wheel.js:1-26, webapp/js/home.js:977-1022).
  • Yüzen bir tuş tek dokunuşta ana ekrana döner, çift dokunuşta açık uygulamalar ekranını açar (webapp/js/home.js:2993-3014).
  • + düğmesi (tiles.duplicate) pencereyi yalnız pc cihaz sınıfında en çok dört bağımsız ana ekrana böler; telefon ve tablette çoklu ekran yoktur (webapp/js/tiles.js:1-11, webapp/js/tiles.js:60-64).

Nasıl çalışır

Sayfalar ve öğeler

state.pages bir sayfa listesidir; her sayfa col ve row taşıyan app, folder veya widget türünde öğelerin listesidir (webapp/js/home.js:502-504). Kayıtlı koordinatlar hâlâ sığıyorsa korunur. Sınır dışında kalan veya çakışan her şey ilk boş hücreye taşınır ve boş sayfalar kaldırılır (webapp/js/home.js:575-595, webapp/js/home.js:621-710). Dolu bir sayfa, gerektiğinde oluşturulan bir sonraki sayfaya taşar (webapp/js/home.js:1-11, webapp/js/home.js:2015-2027).

reconcile() bir kutucuğu yalnız uygulaması kurulu kaldıkça tutar. Lisansını kaybeden bir uygulamanın kutucuğu düzende kalır ve çizimde gizlenir; böylece yenilemede aynı yere döner (webapp/js/home.js:621-635). İkiden az uygulamalı klasörler serbest kutucuklara çözülür (webapp/js/home.js:672-689).

Ana ekrandaki hareketler

Hareket Etki Kaynak
Bir kutucuğa dokunma Uygulamayı açar veya çalışıyorsa sürdürür webapp/js/home.js:2214-2221, webapp/js/home.js:2469-2500
Bir kutucuğu sürükleme (fare) veya 450 ms tutup sürükleme (dokunmatik) Kutucuğu taşır; dokunmatikte tutmadan önceki hareket sayfalayıcıyı kaydırır webapp/js/home.js:80-82, webapp/js/home.js:1640-1762
Sürüklenen kutucuğu sağ veya sol kenarda 550 ms tutma Sonraki veya önceki sayfaya geçer, sonda bir sayfa oluşturur webapp/js/home.js:1763-1783
Sürüklenen uygulamayı başka bir uygulamanın üstünde 600 ms bekletme Bırakınca bir klasör yapar webapp/js/home.js:1785-1806, webapp/js/home.js:1870-1886
Boş alana sağ tık veya uzun basma Bileşen galerisini açar webapp/js/home.js:4407-4414
Ana ekranda aşağı kaydırma Aramayı açar webapp/js/home.js:4446-4453
Açık bir uygulamada sol çeyrekten kaydırma Uygulamadan ana ekrana çıkar webapp/js/home.js:2768-2852

Bir uygulama kutucuğuna uzun basmak onun ana ekrandan kaldırılıp kaldırılmayacağını sorar; uygulama Uygulamalar kitaplığında kalır. permanent bir uygulama kaldırılamaz (webapp/js/home.js:782-791).

Durum satırı ve şeritler

Durum satırı saati, kısa tarihi ve geçerli dil kodunu gösterir ve her saniye tazelenir (webapp/js/home.js:104-140). Düğmeleri aramayı, asistan uygulamasını ve Ayarlar › Bildirimler ekranını açar (webapp/js/home.js:142-165). Dil düğmesi manifestodaki her dilin bir menüsünü açar (webapp/js/home.js:167-215). Ek süre veya salt okunur durumdaki bir lisans ana ekranın üstüne bir şerit ekler (webapp/js/home.js:476-500).

Uygulamalar kitaplığı

Uygulamalar kitaplığı bir menu uygulamasıdır: geçici bir ekran olarak açılır ve çalışan uygulamalara eklenmez (webapp/js/home.js:2448-2465). Kullanıcının görebileceği her uygulamayı aramayla listeler ve ana ekran kutucuklarını ekleyip kaldırmaya izin verir (webapp/js/home.js:2600-2766). Katalog manifestosu onu permanent ve dock_fixed olarak işaretler (src/cluster_erp/modules/app_store/catalog.json:49-60).

PC'de dock

initAppWheel dock'u yalnız işaretçi üzerine gelebiliyor ve hassassa, pencere en az 900 px genişse ve sayfa çoğaltılmış bir kutunun içinde değilse kurar (webapp/js/app-wheel.js:87-93, webapp/js/device-class.js:16-20). Dock şunları gösterir:

  1. katalogda dock_fixed işaretli uygulamalar, ilk sırada ve taşınamaz;
  2. kullanıcının dock_pins arayüz durumu anahtarı altında saklanan sabitlemeleri;
  3. çalıştıkları sürece sabitlenmemiş çalışan uygulamalar;
  4. kullanıcı onu dock'a sabitlediğinde yüzen tuş (webapp/js/home.js:1049-1085).

Dock sol, sağ, üst veya alt kenara sürüklenebilir ve otomatik gizleme bağlam menüsünden isteğe bağlı açılır. İkisi de launcher arayüz durumu anahtarı altında saklanır (webapp/js/app-wheel.js:9-17, webapp/js/app-wheel.js:158-161, webapp/js/app-wheel.js:563-567). Açık bir uygulamanın içinde dock her zaman gizlenir; Uygulamalar kitaplığı açıkken gizlenmez (webapp/js/app-wheel.js:55-62). Menüsü sabitleme, sabitlemeyi kaldırma, kapatma ve tümünü kapatma sunar; tümünü kapatma açık uygulamalar ekranındaki kapatmayla aynı sıfırlamayı çalıştırır (webapp/js/home.js:4535-4552).

Yüzen tuş ve açık uygulamalar ekranı

Yüzen tuş yalnız üst pencerede oluşturulur (webapp/js/home.js:2942-2960). Sürüklenebilir ve en yakın kenara oturur; konumu yerel depoda cluster_float_btn altında tutulur (webapp/js/home.js:2936, webapp/js/home.js:2962-2991).

Girdi Etki Kaynak
Tek dokunuş İkinci dokunuş olmadan 280 ms sonra son dokunulan bölmenin ana ekranı webapp/js/home.js:2993-3014
Çift dokunuş Açık uygulamalar ekranını açar veya kapatır webapp/js/home.js:2999-3007
Dock'a bırakma Tuşu dock'a sabitler; tuş artık dock'ta yaşar webapp/js/home.js:3079-3085, webapp/js/home.js:1030-1047

Tuş yalnız dock'a sabitlendiğinde ve bir dock varsa gizlenir; telefonlarda, tabletlerde, dar pencerelerde ve bölünmüş bölmelerde her zaman kalır (webapp/js/home.js:1040-1047). Açık uygulamalar ekranı her çalışan uygulama için küçük resimli bir kart gösterir, bir uygulamayı son görünümünde sürdürür, bir uygulamayı veya tümünü kapatır (webapp/js/home.js:3249-3426). Bölünmüş bölmeler çalışan uygulamalarını cluster-tasks kanalında postMessage ile üst pencereye bildirir; böylece tek bir açık uygulamalar ekranı tüm bölmeleri kapsar (webapp/js/home.js:3097-3220).

Ana ekranı çoğaltma düğmesi ve kutular

+ düğmesi (tiles.duplicate) yalnız üst pencerenin ana ekranında ve yalnız pc cihaz sınıfında gösterilir; bir kutunun içinde kaldırılır (webapp/js/main.js:38, webapp/js/tiles.js:124-149). syncDupHome telefon ve tablette düğmeyi gizler, belgeyi body.no-tiles ile işaretler ve cihaz sınıfı pc olmaktan çıkınca açık bir bölünmeyi tek ana ekrana indirir (webapp/js/tiles.js:130-137, webapp/js/tiles.js:148); addTile pc sınıfı dışında reddeder (webapp/js/tiles.js:63-64). Her basış, temel ana ekran dahil en çok dörde kadar bir kutu ekler. Bir kutu, sürüklenebilir bir ayırıcısı olan, uygulamanın kendisinin aynı kökenli bir çerçevesidir; her kutunun en küçük genişliği 260 px'tir (webapp/js/tiles.js:10-108). Çıkış tüm kutuları kapatır (webapp/js/main.js:166). Tema, yoğunluk, erişilebilirlik ve dil değişiklikleri depolama olaylarıyla her kutuya ulaşır (webapp/js/prefs.js:116-125, webapp/js/a11y.js:90-105, webapp/js/i18n.js:63-71).

Projenin yazılı mühendislik kuralları + düğmesinin yalnız PC sınıfında var olduğunu ve var olduğu yerde her zaman önde olup hiç gizlenmediğini belirtir. Stil sayfası onu dock bandının üstüne yerleştirir (webapp/css/tiles.css:5-12). Dar pencerelerde uygulama içeriği ve modül sekme çubuğu sağ alt köşeyi onun için yalnız belge body.no-tiles ile işaretli değilken ayırır (webapp/css/app.css:5264-5271, webapp/css/gen.css:5166-5173).

Dokunma kapısı

createTouchGate(e, opts) uygulama paketlerindeki sürüklenebilir yüzeylere tek bir kural verir: fare hemen sürükler, parmak önce 450 ms tutmalıdır ve bundan önce hareket eden parmak en yakın kaydırma kabını kaydırır (webapp/js/touch-gate.js:1-40). Paketler bunu platform bağlamı üzerinden alır (webapp/js/custom-widgets.js:57-60). Ana ekran aynı 450 ms tutmayla kendi sürümünü kullanır (webapp/js/home.js:80-82).

Neden böyle kurulu

  • Boş başlangıç: webapp/js/home.js:696-705 içindeki yorum, taze bir hesabın hazır kutucuk, bileşen veya dock sabitlemesi olmadığını ve Uygulamalar kitaplığı kutucuğunun kataloğa giden tek güvenceli kapı olduğunu belirtir.
  • Lisans kesintileri düzeni korur: webapp/js/home.js:622-624 içindeki yorum, süresi dolan bir lisansın kullanıcının düzenini yok etmemesi gerektiğini belirtir.
  • Tek dokunuş gecikmesi: webapp/js/home.js:3017-3021 içindeki yorum, bayat bir tek dokunuş niyetinin bir keresinde yeni açılan bir uygulamayı ana ekrana geri gönderdiğini, bu yüzden başka herhangi bir dokunuşun onu iptal ettiğini belirtir.

Kurallar ve sınırlar

  • Düzen, dock sabitlemeleri, dock kenarı, otomatik gizleme ve yüzen tuşun dock'taki durumu kullanıcı hesabına aittir. Bkz. kullanıcı arayüz durumu.
  • Projenin yazılı mühendislik kuralları PC deneyiminin başlatıcı olduğunu ve mobil ile tablet tasarımının ayrıca tanımlandığını belirtir. Bkz. cihaz sınıfları.
  • Tarayıcı testleri: web-client/_e2e_app_wheel.mjs, web-client/_e2e_dock_pins.mjs, web-client/_e2e_dock_close_all.mjs, web-client/_e2e_switcher.mjs, web-client/_e2e_switcher_dock.mjs, web-client/_e2e_dup_home_tiles.mjs, web-client/_e2e_mobile_home.mjs, web-client/_e2e_mobile_app.mjs, web-client/_e2e_widget_move.mjs.

Diğer parçalarla etkileşim

  • Uygulama kataloğu ve durumları uygulama mağazası modülünden gelir; bkz. modül uygulamaları ve uygulama kapsamı.
  • Ayarlar › Ana Ekran (settings.home_screen) sayfa, uygulama, klasör ve bileşen sayılarını gösterir ve düzeni sıfırlar (webapp/js/home.js:3746-3785).

Sınırlar ve açık noktalar

  • Açık uygulamalar testinin başlığı ekranı açmak için bir tutmayı anlatır (web-client/_e2e_switcher.mjs); tuş kodu onu çift dokunuşta açar (webapp/js/home.js:2999-3007).
  • Kutu sayısı ve genişlikleri saklanmaz; webapp/js/tiles.js hiçbir depolama çağrısı yapmaz, bu yüzden bir yenileme tek bir ana ekran gösterir.

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
home screen state.pages Girişten sonra gösterilen uygulama kutucukları, klasörler ve bileşenlerden oluşan sayfalı ızgara. ana ekran webapp/js/home.js:502
dock initAppWheel Bir ekran kenarında sabit, sabitlenmiş ve çalışan uygulamaları gösteren PC şeridi. dock webapp/js/app-wheel.js:818
floating button float-btn Dokunuşta ana ekrana dönen, çift dokunuşta açık uygulamaları açan sürüklenebilir tuş. yüzen tuş webapp/js/home.js:2946
app switcher openSwitcher Çalışan uygulamaları kartlar olarak listeleyen katman. açık uygulamalar webapp/js/home.js:3249
duplicate-home tile addTile Ana ekranın bağımsız bir kopyasını taşıyan aynı kökenli çerçeve. çoğaltılmış ana ekran webapp/js/tiles.js:55

İlgili sayfalar


c0d3217 numaralı commit ile 2026-11-14 tarihinde doğrulandı.

Doğrulanan commit c0d3217 · 2026-11-14