现象
#1294 spec 的 PortalNavItem 包含 action 类型(点导航直接执行 action,如 Submit),但没声明 action 完成后跳哪。
复现
- 匿名用户点 "Submit a Ticket" → 填表 → 提交成功
- 框架要不要跳详情页?跳成功页?跳 KB?跳"原页面"?
- spec 没规定 → 不同 portal 行为不一致
Workaround
模板作者把跳转逻辑硬塞到 action 的 success hook 或 view 的 onAction 里 — 违反「零业务代码」+ 与 portal 主题/路由耦合。
分阶段建议
M2(与 GAP-1/#1331 一起):在两处可声明,由具体到一般覆盖。
action nav item 上:
{id: 'nav_submit',type: 'action',actionRef: 'helpdesk_ticket.create',onComplete?: {goto: {viewRef?: string;actionRef?: string;path?: string;back?: boolean;recordCreated?: boolean};toast?: {message: I18nLabel;severity: 'success'|'info'};}}portal 级默认(fallback):
actionDefaults?: {onComplete?: {goto: ... };};匿名 route 上(参见 GAP-1/#1331 的 onSuccess):与上面 onComplete 合并为同一字段,保持一致。
验收
- 模板声明
onComplete.goto.recordCreated: true → 提交后自动跳新工单详情 - 没声明 → 默认行为:toast "Submitted" + 留在当前页
关联
现象
#1294 spec 的
PortalNavItem包含 action 类型(点导航直接执行 action,如 Submit),但没声明 action 完成后跳哪。复现
Workaround
模板作者把跳转逻辑硬塞到 action 的 success hook 或 view 的 onAction 里 — 违反「零业务代码」+ 与 portal 主题/路由耦合。
分阶段建议
M2(与 GAP-1/#1331 一起):在两处可声明,由具体到一般覆盖。
action nav item 上:
portal 级默认(fallback):
匿名 route 上(参见 GAP-1/#1331 的 onSuccess):与上面 onComplete 合并为同一字段,保持一致。
验收
onComplete.goto.recordCreated: true→ 提交后自动跳新工单详情关联