将布局编辑器添加到我们的编辑操作页面

Adding a layout editor to our edit action page

我们有一个自定义操作,它在幕后遵循一些自定义工作流逻辑,并希望为捕获到设置的数据添加布局。我能够添加一个复选框以启用与自定义操作关联的布局(这是一个可选的东西),但我似乎无法找到如何将布局编辑器添加到我们的表单?

var f = shapeFactory.Form(
    Id: "ActionForm",
    _Outcomes: shapeFactory.TextBox(Id: "action-text-box", Name: "Action", Title: T("Action")),
    _HasLayout: shapeFactory.CheckBox(Id: "HasLayout", Name: "HasLayout", Title: T("Uses Layout"), Value: "true"),
    //_Layout: shapeFactory.Parts_Layout_Edit(Id: "Layout", Name: "Layout", Title: T("Layout"))
    );

这就是我现在所在的位置(最后一行被注释,因为部件名称不正确),但我觉得我缺少添加布局编辑器的一些核心概念...任何帮助将不胜感激!

经过多次实验,我发现了这一点。 添加到表格说明

_Form: shapeFactory.EditorTemplate(Id: "Form", Name: "Form", Title: T("From"), TemplateName: "Parts.Layout", Prefix: "LayoutPart",
    Model: new LayoutPartViewModel {
        LayoutEditor = layoutEditorFactory.Create("", Guid.NewGuid().ToString())
    })

然后您需要将脚本添加到表单页面,以便使用绑定数据重新加载布局编辑器。

$(document).ready(function(){
    var layoutEditorData = JSON.parse($("[name$='.LayoutEditor.Data']").val());
    window.layoutEditor = new LayoutEditor.Editor(window.layoutEditor.config, layoutEditorData);
});