Frappe 提供了一种简单的方法,只需很少的配置,就能为你的复杂 DocType 生成表单教程。
创建表单教程
要创建表单教程,请在 Awesomebar 中输入“new form tour”并按回车键。
- 输入标题。例如:“创建自定义字段”
- 选择参考 DocType。
- 添加步骤以定义每个字段。
- 保存文档。
一个用于解释如何创建自定义字段的教程
配置选项
表单教程
- 是否标准:用于创建将存储为 JSON 的标准表单教程。只能在开发者模式开启时设置。
- 完成时保存:如果勾选,表单教程的最后一步将提示用户保存文档。
- 显示首个文档教程:如果你想展示现有文档的教程而不是新表单的教程,请启用此选项。顾名思义,它会针对该 DocType 创建的第一个文档进行教程演示。
- 包含名称字段:对于某些 DocType,名称由用户设置。启用此选项后,名称字段将成为教程的第一步。
表单教程步骤
- 字段:从所选 DocType 中选择一个字段。该字段将高亮显示,并带有标题和描述。
- 标题 和 描述:用于描述该字段的用途、影响以及其他隐藏的关联逻辑。
- 位置:高亮提示框的位置由该字段决定。根据高亮字段的位置,有多个选项可供选择。
- 下一步条件:一个代码字段,期望输入适用于该文档的有效 JS 条件。例如,对于任务 DocType 教程,我们可以通过设置如下下一步条件,来检查在进入下一步之前是否已设置任务优先级:
eval: doc.priority != ""
5. 是否为表字段:如果要高亮的字段位于子表内,请勾选此项。
6. 父字段:从所选 DocType 中选择的表字段。仅在勾选 是否为表字段 时可见。允许用户选择子表字段。
触发教程
完成表单及其字段的描述后,你现在就可以通过表单 API 来触发教程了。你只需使用适当的 tour_name 初始化教程,然后使用 frm.tour.start() 直接启动教程即可。
frappe.ui.form.on('Your DocType', {
onload: function(frm) {
const tour_name = 'Your Form Tour Name';
frm.tour.init({ tour_name }).then(() => frm.tour.start());
}
});