Java 如何从自定义编辑器hybris更新/刷新编辑器区域
如何从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
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”,并尝试从代码中设置它们。一般来说,这不是实现编辑器的方式,因为它会破坏在整个应用程序中使用编辑器的能力。提示未选中,您需要验证是否可以直接从编辑器访问模型。