Giao diện
@digiforce-nc/plugin-embed
Plugin nhúng trang web — nhúng trang ngoài vào giao diện Digiforce qua iframe, tạo trải nghiệm tích hợp liền mạch.
Plugin này làm gì?
Đôi khi cần tích hợp công cụ bên ngoài (dashboard BI, tài liệu, form bên thứ ba) vào giao diện Digiforce mà không muốn người dùng phải mở tab mới. Plugin cho phép nhúng bất kỳ URL nào vào page layout dưới dạng iframe, với khả năng cấu hình kích thước, truyền tham số và kiểm soát bảo mật.
Cơ chế hoạt động
Tính năng chính
| # | Tính năng | Mô tả |
|---|---|---|
| 1 | Iframe embed | Nhúng URL bất kỳ vào page |
| 2 | Dynamic params | Truyền tham số từ record/context vào URL |
| 3 | Responsive | Tự điều chỉnh kích thước theo container |
| 4 | Sandbox | Cấu hình iframe sandbox cho bảo mật |
| 5 | Full-screen | Nút mở rộng toàn màn hình |
| 6 | Height auto | Tự điều chỉnh chiều cao theo nội dung |
Cấu hình
| Tham số | Mô tả |
|---|---|
url | URL cần nhúng |
height | Chiều cao iframe (px hoặc %) |
sandbox | Iframe sandbox attributes |
params | Map tham số động (VD: recordId → query param) |
allowFullScreen | Cho phép full-screen |
Thành phần client
| Thành phần | Mô tả |
|---|---|
EmbedBlock | Block nhúng iframe trong page layout |
EmbedConfig | Form cấu hình URL, height, sandbox |
ParamMapper | Giao diện map tham số động vào URL |
FullScreenToggle | Nút mở rộng toàn màn hình |
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/client | Client UI framework |
@digiforce-nc/server | Server framework (optional — lưu cấu hình) |
Lưu ý triển khai
- Trang bên ngoài cần cho phép nhúng (không có
X-Frame-Options: DENY) - Cân nhắc bảo mật khi nhúng trang không tin cậy — dùng sandbox
- Một số trang (Google, Facebook) không cho phép iframe