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

Referans

Kayıt belgeleri, görüntüleyici ve paylaşım

record-docs.js, viewer.js ve share.js için başvuru; her kayda belge ekleme, dosyaları uygulama içinde açma ve paylaşma.

Web uygulamasının her kayıt kartında üç ortak özellik çalışır: kayda dosya ekleyen bir Belgeler satırı (docs.section), dosyaları indirmek yerine açan uygulama içi bir görüntüleyici ve bir paylaşım kartı. Bu sayfa her özelliğin yaptığı çağrıları ve uyduğu kuralları listeler. Belgeler modülünün kendisi belgeler modülü sayfasındadır.

Kapsam ve kaynak

  • Tanımlandığı yer: webapp/js/record-docs.js (recordDocsRow, makeRecordDocsScreen, makeAddDocView, createDocsCollector), webapp/js/viewer.js (openViewer, openViewerFromPath, registerRenderer, triggerDownload), webapp/js/vendor/pdfjs/, webapp/js/share.js (openShareSheet, buildRecordShare, buildRecordsShare)
  • Sayı: 2 görüntüleyici çizici (webapp/js/viewer.js:151 ve webapp/js/viewer.js:381 içindeki registerRenderer çağrıları); 3 paylaşım hedefi (webapp/js/share.js:84-86)

Kayıt belgeleri

Sağlayıcı araması

Belgeler özelliği belgeler modülünü hiç adlandırmaz. docsProvider(), ModuleMeta.provides içinde yeteneği bildiren modülü providerOf('record_documents') ile sorar ve liste ile tür yollarını o modülün varlık metadata'sından kurar (webapp/js/record-docs.js:23-37). İzin kodları sağlayıcının varlığının <entity_type>.read, .create ve .delete kodlarıdır (webapp/js/record-docs.js:40). tests/test_metadata_driven_rules.py:63 sağlayıcının yetenekle bildirildiğini denetler.

Çağrılar

Adım Çağrı Kaynak
Satırı bir sayıyla gösterme GET <documents list>?entity_type=<type>&entity_id=<id>&limit=1 webapp/js/record-docs.js:294-326
Bir kaydın belgelerini listeleme GET <documents list>?entity_type=<type>&entity_id=<id>&limit=200 webapp/js/record-docs.js:58-63
Belge türlerini yükleme GET <types list>?active_only=true webapp/js/record-docs.js:106, webapp/js/record-docs.js:207
Belge ekleme POST <documents list>, sonra dosyayla POST /attachments/, sonra POST <documents list><doc_id>/versions webapp/js/record-docs.js:103-194
Açma veya indirme GET <documents list><doc_id>/versions, sonra etkin sürümün, yoksa en yenisinin GET /attachments/<attachment_id>/download çağrısı webapp/js/record-docs.js:65-78
Kaldırma Bir onaydan sonra DELETE <documents list><doc_id> webapp/js/record-docs.js:262-280

Satır, varlık record_documents değerini false yapmadıkça bir kayıt kartında görünür (webapp/js/gen-form.js:2477-2483) ve yalnız bir sağlayıcı varsa ve kullanıcı onun okuma iznine sahipse gösterilir (webapp/js/record-docs.js:294-296). create_with_documents taşıyan bir varlık oluşturma formunda createDocsCollector ile belgeleri toplar ve kayıt var olduktan sonra ekler (webapp/js/record-docs.js:328-457, webapp/js/gen-form.js:1914-1920). Ekler platform tarafından saklanır; bkz. ekler, notlar ve depolama.

Belge görüntüleyici

openViewer({title, blob, contentType, filename}) bir görüntüleyici ekranı iter ve içerik türüne ve dosya uzantısına göre bir çizici seçer. Sonradan kaydedilen çiziciler eşitlikte kazanır (webapp/js/viewer.js:14-28, webapp/js/viewer.js:89-125).

Çizici Eşleşen Özellikler Kaynak
pdf application/pdf veya .pdf Tuvale çizilen sayfalar, sayfa göstergesi ve gezinme, yakınlaştırma, indirme webapp/js/viewer.js:151-380
image image/* veya .png, .jpg, .jpeg, .gif, .webp, .svg Görsel gösterimi ve indirme webapp/js/viewer.js:381-456

Eşleşen çizicisi olmayan bir dosya indirme düğmesiyle viewer.unsupported gösterir; bir çizici hatası aynı düğmeyle viewer.error gösterir (webapp/js/viewer.js:98-123). openViewerFromPath önce bir yolu kimliği doğrulanmış blob olarak getirir (webapp/js/viewer.js:127-133). GET uçlu bir metadata aksiyonu sonucunu görüntüleyicide açar; bkz. aksiyonlar ve aksiyon kartı.

PDF kitaplığı yalnız bir PDF açıldığında içe aktarılır. İşçisi webapp/js/vendor/pdfjs/pdf.worker.min.mjs dosyasından çalışır (webapp/js/viewer.js:134-149). Depoya alınan derleme Apache-2.0 lisanslı pdfjs-dist 6.2.108 sürümüdür (webapp/js/vendor/pdfjs/README.txt).

Paylaşım kartı

openShareSheet(ctx) bir veya daha çok kaydın özetini ve üç hedefi içeren alttan bir kart açar (webapp/js/share.js:80-140).

Hedef Etiket anahtarı Durum Etki Kaynak
Mail share.mail canlı Bir konu ve gövdeyle cluster:share-via-mail yayar webapp/js/share.js:84, webapp/js/share.js:124-131
Mesaj share.message canlı değil Yakında (common.coming_soon) gösterir webapp/js/share.js:85, webapp/js/share.js:132-134
Yazdır share.print canlı değil Yakında gösterir webapp/js/share.js:86, webapp/js/share.js:132-134

buildRecordShare konuyu <entity label>: <record title> yapar ve basit form alanlarından en çok 14 Label: value satırlık bir gövde kurar. buildRecordsShare birden çok kaydı her biri en çok 6 satırla listeler (webapp/js/share.js:15-57). Yalnız basit alan türleri okunduğu için kimlikler, dosyalar ve ilişkiler dışarıda kalır (webapp/js/share.js:15-33). Ana ekran cluster:share-via-mail olayını önceden doldurulmuş bir taslağı kuyruğa alıp Mail uygulamasını açarak işler (webapp/js/home.js:4658-4665).

Paylaşım bir kayıt kartının gezinme çubuğundan ve bir listenin seçim çubuğundan sunulur (webapp/js/gen-form.js:2330-2333, webapp/js/gen-list.js:641-643).

Kısıtlar ve doğrulama

  • Dosya sürümü olmayan bir belge açılmak yerine docs.no_file gösterir (webapp/js/record-docs.js:69-73).
  • Bloblar için oluşturulan nesne URL'leri kullanımdan sonra iptal edilir (webapp/js/viewer.js:37-47, webapp/js/avatar.js:37-38).
  • Tarayıcı testleri: web-client/_e2e_record_docs.mjs, web-client/_e2e_doc_viewer.mjs, web-client/_e2e_doc_version.mjs, web-client/_e2e_intranet_mydocs.mjs.

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
record documents record_documents Belgeler sağlayıcısı üzerinden herhangi bir kayda eklenen dosyalar. Belgeler webapp/js/record-docs.js:26
document viewer openViewer Bir dosyayı türüne göre çizen uygulama içi ekran. belge görüntüleyici webapp/js/viewer.js:89
share sheet openShareSheet Bir kayıt özetini bir hedefe gönderen alttan kart. paylaşım kartı webapp/js/share.js:80

İlgili sayfalar


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

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