Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从自定义编辑器hybris更新/刷新编辑器区域_Java_Hybris_Backoffice - Fatal编程技术网

Java 如何从自定义编辑器hybris更新/刷新编辑器区域

Java 如何从自定义编辑器hybris更新/刷新编辑器区域,java,hybris,backoffice,Java,Hybris,Backoffice,如何从Hybris中的自定义编辑器更新/刷新编辑器区域 public class CustomEditor extends AbstractComponentWidgetAdapterAware implements CockpitEditorRenderer<Object> { @Override public void render(Component parent, EditorContext<Object> editorContext, Edit

如何从Hybris中的自定义编辑器更新/刷新编辑器区域

public class CustomEditor extends AbstractComponentWidgetAdapterAware implements CockpitEditorRenderer<Object> {

    @Override
    public void render(Component parent, EditorContext<Object> editorContext, EditorListener<Object> editorListener) {
        Button button = new Button("Click");
        button.addEventListener("onClick", (event) -> {
            //some logic
            //update the Editor Area after logic is done?
        });
        parent.appendChild(button);
    }
}
公共类CustomEditor扩展了AbstractComponentWidgetAdapterware实现了CockpitEditorRenderer{
@凌驾
public void呈现(组件父级、EditorContext EditorContext、EditorListener EditorListener){
按钮按钮=新按钮(“单击”);
addEventListener(“onClick”,(事件)->{
//一些逻辑
//逻辑完成后是否更新编辑器区域?
});
父.子(按钮);
}
}

您需要使用传递的侦听器将更改的值通知模型。例如:

public class CustomEditor extends AbstractComponentWidgetAdapterAware implements CockpitEditorRenderer<Object> {

@Override
public void render(Component parent, EditorContext<Object> editorContext, EditorListener<Object> editorListener) {
    Button button = new Button("Click");
    button.addEventListener("onClick", (event) -> {
        //some logic
        editorListener.onValueChanged(result);
    });
    parent.appendChild(button);
}
公共类CustomEditor扩展了AbstractComponentWidgetAdapterware实现了CockpitEditorRenderer{
@凌驾
public void呈现(组件父级、EditorContext EditorContext、EditorListener EditorListener){
按钮按钮=新按钮(“单击”);
addEventListener(“onClick”,(事件)->{
//一些逻辑
editorListener.onValueChanged(结果);
});
父.子(按钮);
}
}


我希望这有帮助

您可以为此使用小部件连接

    <widget-connection sourceWidgetId="myCustomWidget" targetWidgetId="editorArea"
             outputId="myItemType" inputId="inputObject"/>


希望有帮助

感谢您提供的解决方案。对我来说,这是一个部分解决方案。我想要实现的是类似于操作按钮中的编辑器操作按钮(重新加载/刷新编辑器区域内容),可以通过设置状态标志“OBJECT_MODIFIED”来完成,以便刷新操作,您需要更新操作侦听的对象。如果您确定编辑器将仅在编辑器区域中使用,则可以尝试使用模型属性“valueChanged”(布尔)或“currentObject”,并尝试从代码中设置它们。一般来说,这不是实现编辑器的方式,因为它会破坏在整个应用程序中使用编辑器的能力。提示未选中,您需要验证是否可以直接从编辑器访问模型。