Bỏ qua, đến nội dung

@digiforce-nc/plugin-block-tree

Plugin hiển thị dữ liệu phân cấp dưới dạng cây (Tree) - phù hợp cho danh mục phòng ban, thư mục, phân loại sản phẩm, hoặc bất kỳ cấu trúc cha-con nào.

Plugin này làm gì?

Nhiều loại dữ liệu có cấu trúc phân cấp: phòng ban trong công ty, danh mục sản phẩm, thư mục tài liệu. Tree block hiển thị dữ liệu này dưới dạng cây có thể mở rộng/thu gọn, và đặc biệt hữu ích khi kết hợp làm filter block - click vào node trên cây để lọc dữ liệu trên block khác.

Ba nhiệm vụ chính

#Nhiệm vụChi tiết
1Hiển thị cây phân cấpRender tree view với expand/collapse cho dữ liệu cha-con
2Filter blockClick node trên cây → lọc dữ liệu block liên kết
3Phát hiện tree collectionTự động detect collection có tree template (parentId)

Kiến trúc

Tổng quan

Plugin hoạt động hoàn toàn ở client - đọc dữ liệu phân cấp từ collection API và render bằng Ant Design Tree component.

Tree template collection

Plugin hoạt động tốt nhất với collection sử dụng tree template - collection có field parentId tạo quan hệ cha-con. Plugin tự động detect các collection này khi hiển thị danh sách "Add block".

Thuộc tínhMô tả
parentIdField trỏ đến record cha (self-referencing FK)
childrenAssociation HasMany đến chính collection
tree templateTemplate đánh dấu collection là dạng cây

Cơ chế filter

Khi tree block được sử dụng làm filter block:

Tính năng

Tính năngMô tả
Tree viewHiển thị phân cấp với expand/collapse animation
SearchTìm kiếm nhanh trong cây, highlight kết quả
Expand allNút mở rộng/thu gọn tất cả node
Title fieldCấu hình field nào hiển thị làm tiêu đề node
Record countHiển thị số lượng bản ghi con trên mỗi node
Filter blockKết nối với block khác để lọc dữ liệu
Auto-detectTự phát hiện collection có tree template
Async loadingLazy load children khi expand node (cây lớn)

Luồng sử dụng

Thành phần client

Thành phầnMô tả
TreeBlockWidgetWidget chính đăng ký Tree block vào hệ thống
TreeComponent React bọc Ant Design Tree với search và expand
TreeBlockInitializerĐăng ký vào menu "Add block", lọc tree collection
TreeDesignerDesigner: cấu hình title field, filter connection
TreeSearchComponent tìm kiếm với highlight matching nodes
TreeNodeTitleCustom render title node (count badge, icon)

Cấu hình block

SettingMô tảMặc định
Title fieldField hiển thị làm tiêu đề nodetitle hoặc field đầu tiên
Show countHiển thị số record confalse
Default expandMức expand mặc định1 (chỉ root)
SearchHiển thị ô tìm kiếmtrue
ConnectBlock liên kết để filterKhông có

Dependencies

PackageVai trò
@digiforce-nc/clientClient framework, widget system (peer)
@digiforce-nc/serverServer framework - chỉ dùng khi build (peer)
antdAnt Design - Tree, Input.Search components (peer)

Mục lục chi tiết