Giao diện
Cài đặt và sử dụng
Cài đặt
Plugin @digiforce-nc/plugin-action-print hoạt động 100% ở client — không có server API, không gửi request. Kích hoạt qua Plugin Manager.
Thêm nút Print
Plugin đăng ký action print tại hai vị trí:
| Vị trí | Schema Initializer | Mô tả |
|---|---|---|
| Detail view | details:configureActions | Nút Print trong thanh action của detail view |
| Calendar form | CalendarFormActionInitializers | Nút Print trong popup event của calendar |
Cách thêm
- Mở Schema Editor trên block Detail hoặc Calendar.
- Vào Configure actions → chọn Print.
- Lưu schema.
Sử dụng
- Mở detail view (xem chi tiết) của một bản ghi, hoặc click event trên calendar.
- Nhấn nút Print trên thanh action.
- Plugin sử dụng
react-to-printđể chụp vùng.df-grid(chứa nội dung detail/calendar view). - Trình duyệt mở native print dialog.
- Chọn máy in → Print, hoặc chọn Save as PDF để tải file PDF.
Vùng in .df-grid
Plugin nhắm vào CSS class .df-grid để xác định nội dung cần in:
| Thuộc tính | Mô tả |
|---|---|
| Bao gồm | Toàn bộ nội dung grid trong detail/calendar view |
| Không bao gồm | Toolbar, sidebar, navigation |
| CSS in | react-to-print tự inject print stylesheet |
Luồng kỹ thuật
useDetailPrintActionPropshook tìm DOM element.df-grid.- Gọi
react-to-printvớicontentReftrỏ đến element. react-to-printclone DOM, inject print stylesheet, tạo hidden iframe.- Gọi
window.print()→ trình duyệt hiển thị print dialog.
Lưu ý khi in
| Lưu ý | Mô tả |
|---|---|
| CSS tương thích | react-to-print inject stylesheet riêng cho print media |
| Ẩn element | Toolbar, sidebar tự ẩn trong print mode |
| Hình ảnh | Hình ảnh trong grid được giữ nguyên |
| Table overflow | Bảng dài có thể bị cắt trang — trình duyệt tự xử lý pagination |
| Cross-browser | Hoạt động trên Chrome, Firefox, Safari, Edge |