Giao diện
Cấu hình node - Custom Action Trigger
Trigger kích hoạt workflow từ nút action tùy chỉnh, sử dụng cơ chế customize:triggerWorkflows để gắn workflow vào bất kỳ action nào do developer đăng ký.
Bảng tham số cấu hình
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
collection | string | Có | — | Collection gắn với trigger |
appends | string[] | Không | [] | Các relation cần eager-load kèm bản ghi |
triggerAction | string | Có | — | Tên custom action kích hoạt trigger (phân biệt với các action khác) |
context | object | Không | {} | Dữ liệu bổ sung truyền vào workflow |
bindWorkflows | string[] | Không | [] | Danh sách workflow key được bind với action này |
Dữ liệu đầu vào (Input)
| Tên | Kiểu | Mô tả |
|---|---|---|
data | object | Bản ghi hiện tại hoặc dữ liệu tùy chỉnh từ action |
user | object | Thông tin người dùng thực hiện action |
params | object | Tham số bổ sung từ custom action (form input, selection, ...) |
Dữ liệu đầu ra (Output)
| Tên | Kiểu | Mô tả |
|---|---|---|
result | any | Kết quả trả về từ workflow |
status | string | Trạng thái: resolved hoặc rejected |
So sánh với Action Trigger
| Đặc điểm | Action Trigger | Custom Action Trigger |
|---|---|---|
| Nút action | Hệ thống tạo sẵn | Developer đăng ký thêm |
| Bind workflow | 1 action : 1 workflow | 1 action : nhiều workflow |
| Context | Chỉ record data | Tùy chỉnh mở rộng |
| Cơ chế | Mặc định | customize:triggerWorkflows |
Lưu ý quan trọng
- Plugin phụ thuộc vào
plugin-workflow-action-trigger- cần cài đặt cả hai - Custom action phải được đăng ký trong code trước khi bind workflow
- Khi bind nhiều workflow cho một action, các workflow chạy song song
- Context tùy chỉnh cần được validate ở phía client trước khi gửi lên server
- Sử dụng
triggerActionđể phân biệt giữa các custom action khác nhau trên cùng collection - Phù hợp cho các action ngoài CRUD: bulk action, action có form input, integration button