TABLE_VIEW_COMMAND

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);

      }

 

    }

  }

}