on 2021 Mar 23 9:40 AM
Hi experts
I am creating a button to open a custom popup that contains a .zul form. but I can't get the popup to appear when I click the button. I have defined the two widgets, the connection-widget, input and output sockets,
My action definition where I define the sockets output:
<action-definition id="com.hiberus.hybris.arenal.arenalcsbackoffice.actions.returns.arenalcreatereturnrequestaction"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.hybris.com/schema/cockpitng/action-definition.xsd">
<name>arenal.createreturnrequest.action</name>
<description>Create Return Request Action</description>
<author>hiberus</author>
<version>0.1</version>
<actionClassName>com.hiberus.hybris.arenal.arenalcsbackoffice.actions.returns.CreateReturnRequestAction</actionClassName>
<inputType>de.hybris.platform.core.model.order.OrderModel</inputType>
<outputType>de.hybris.platform.core.model.order.OrderModel</outputType>
<iconUri>icons/icon_action_return_default.png</iconUri>
<iconDisabledUri>icons/icon_action_return_disabled.png</iconDisabledUri>
<iconHoverUri>icons/icon_action_return_hover.png</iconHoverUri>
<settings>
<setting key="viewMode" default-value="iconAndText"/>
</settings>
<!-- Sockets definition-->
<sockets>
<output id="createReturnRequestContext"/>
</sockets>
</action-definition>
In the action class I send the event. Debugging the execution gets here correctly
public ActionResult<OrderModel> perform(ActionContext<OrderModel> actionContext) {
this.sendOutput("createReturnRequestContext", actionContext.getData());
return new ActionResult("success");
}
Widget definition of the popup:
<widget-definition id="com.hiberus.hybris.arenal.arenalcsbackoffice.widgets.returns.arenalcreatereturnrequest"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://www.hybris.com/schema/cockpitng/widget-definition.xsd">
<name>Create Return Request</name>
<description>Create Return Request widget.</description>
<defaultTitle>Create Return Request</defaultTitle>
<author>hybris</author>
<version>0.1</version>
<sockets>
<input type="de.hybris.platform.core.model.order.OrderModel" id="inputObject"/>
<output type="java.lang.String" id="confirm"/>
</sockets>
<keywords>
<keyword>OMS</keyword>
</keywords>
<controller class="com.hiberus.hybris.arenal.arenalcsbackoffice.widgets.returns.CreateReturnRequestController"/>
</widget-definition>
And i define in the controller class. Debugging the execution never gets here
@SocketEvent(
socketId = "inputObject")
public void initCreateReturnRequestForm(OrderModel inputOrder) {
...
}
In my widgets.xml I define the widget-connection and the popup
<widget-connection
sourceWidgetId="STUB_com.hiberus.hybris.arenal.arenalcsbackoffice.actions.returns.arenalcreatereturnrequestaction"
outputId="createReturnRequestContext"
targetWidgetId="arenalCreateReturnRequestPopup"
inputId="inputObject"/>
<widget id="arenalCreateReturnRequestPopup" widgetDefinitionId="com.hiberus.hybris.arenal.arenalcsbackoffice.widgets.returns.arenalcreatereturnrequest" slotId="cockpitWidgetChildrenInvisible"title="Create Return Request"template="true">
<instance-settings socketEventRoutingMode="LAST_USED">
<create onInit="false" reuseExisting="true">
<all-incoming-events/>
</create>
<close>
<all-outgoing-events/>
</close>
<select onInit="false">
<all-incoming-events/>
</select>
</instance-settings>
<setting key="widgetStyleClass" type="String"></setting>
<setting key="__externalLocationPath" type="String">extension://arenalcsbackoffice</setting>
<setting key="widgetStyleAttribute" type="String"></setting>
<setting key="_width" type="String">1200px</setting>
<setting key="_height" type="String">700px</setting>
<virtual-sockets />
</widget>
Request clarification before answering.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.