Description: Limited to code that implements a custom use action for a table view. It lets you execute any required business logic on the selected data sources (table rows). In addition, a UI helper allows you to display messages or execute another allowed action.
Abstract Base Class: AbstractTableViewCommand
Interface: ETableViewCommand
Module: Framework
Version Added: 2.1
Requires Code Extension Name or Name Pattern: No
Code Extension Name or Name Pattern: N/A
Where to Specify Code Extensions of this Type: In the Override for a Variform Object form (on page 1). For an example, see Example: Defining a new Actions menu item (on page 1).
System-Seeded Code Extensions Using this Type: None
Code example
The following sample code implements a TABLE_VIEW_COMMAND code extension.
import java.io.Serializable;
import com.navis.external.framework.ui.AbstractTableViewCommand;
import com.navis.external.framework.ui.EUIExtensionHelper;
import com.navis.framework.metafields.entity.EntityId;
import com.navis.framework.portal.BizRequest;
import com.navis.framework.portal.CrudDelegate;
import com.navis.framework.presentation.util.FrameworkUserActions;
import com.navis.framework.ulc.server.context.UlcRequestContextFactory;
import com.navis.framework.util.message.MessageLevel;
import com.navis.road.RoadApiMappingConsts;
import com.navis.road.RoadField;
public class CancelGateTransactionUICommand extends AbstractTableViewCommand {
void execute(EntityId entityId, List<Serializable> gkeys, Map<String, Object> params) {
log("gkeys=$gkeys")
if (gkeys == null)
return
def request = new BizRequest(UlcRequestContextFactory.ulcRequestContextFactory.ulcRequestContext.userContext)
log("request=$request")
if (request == null)
return
EUIExtensionHelper extHelper = getExtensionHelper();
gkeys.each
{
gkey ->
log("gkey=$gkey")
request.setParameter(RoadField.TRAN_GKEY.toString(), (Serializable[]) [gkey])
log("request=$request")
def resp = CrudDelegate.executeBizRequest(request, RoadApiMappingConsts.rodCancelTransactions)
log("response=$resp")
if (resp.hasError()) {
extHelper.showMessageDialog(MessageLevel.SEVERE, "Error", "Execution failed with the following errors:",
resp);
} else {
extHelper.executeActionCommand(FrameworkUserActions.REFRESH.getName(), entityId, gkeys);
}
}
}
}