Package com.orchestranetworks.userservice

# Interface UserServicePaneWriter

All Superinterfaces:
  `UIBodyWriter`, `UIComponentWriter`, `UIDependencyRegisterer`, `UIFormWriter`, `UIJavaScriptWriter`, `UIResourceLocator`, `UISessionContext`, `UserServiceResourceLocator`, `UserServiceWriter`

public interface UserServicePaneWriter extends UIFormWriter, UserServiceWriter

This interface provides useful methods for rendering a user service pane.

#### Path conventions

Some methods of this class have a `Path` parameter. These paths are always relative.

If a path is for an item of a dynamic model or a dataset adaptation, it is relative to the schema root element.

If a path is for an item of a record, the path is relative to the record root element.

Since:
  5.8.0
See Also:
  - `UserServicePane.writePane(UserServicePaneContext, UserServicePaneWriter)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addPane(UserServicePane aPane)`
  Adds a pane.
  `ObjectKey`
  `getCurrentObjectKey()`
  Returns the key of the current object.
  `String`
  `getPreviousTabSelected(String aTabbedPaneId)`
  Returns the id of the selected tab of a tabbed pane prior to last submit or `null` if the tabbed pane was not yet submitted.
  `UIButtonSpecSubmit`
  `newSubmitButton(UserMessage aLabel, UserServiceEvent aCallback)`
  Creates a localized specification for a submit button.
  `UIButtonSpecSubmit`
  `newSubmitButton(String aLabel, UserServiceEvent aCallback)`
  Creates a specification for a submit button.
  `UserServiceTabbedPane`
  `newTabbedPane()`
  Creates a tabbed pane.
  `UserServiceTabbedPane`
  `newTabbedPane(String anId)`
  Creates a tabbed pane.
  `void`
  `setCurrentObject(ObjectKey anObjectKey)`
  Sets the current object that will be used to resolve path expressions.

  ### Methods inherited from interface com.orchestranetworks.ui.UIBodyWriter

  `add, add, add, add_cr, add_cr, addSafeAttribute, addSafeAttribute, addSafeInnerHTML, addSafeInnerHTML`

  ### Methods inherited from interface com.orchestranetworks.ui.UIComponentWriter

  `addButtonHelp, addButtonJavaScript, addButtonJavaScriptToggle, addUILabel, addUserAvatar, buildButtonPreview, buildButtonPreview, buildButtonPreview, endBorder, endExpandCollapseBlock, endFormGroup, endFormRow, endTableFormRow, newExpandCollapseBlock, newFormGroup, newFormRow, startBorder, startBorder, startBorder, startExpandCollapseBlock, startExpandCollapseBlock, startFormGroup, startFormGroup, startFormRow, startFormRow, startFormRow, startFormRow, startTableFormRow`

  ### Methods inherited from interface com.orchestranetworks.ui.UIDependencyRegisterer

  `addJavaScriptDependency`

  ### Methods inherited from interface com.orchestranetworks.ui.form.UIFormWriter

  `addFormGroup, addFormRow, addFormRow, addFormRow, addFormRow, addFormRowOrGroup, addJS_getNodeValue, addJS_hideTab, addJS_setNodeMandatoryIndicator, addJS_setNodeValue, addJS_showTab, addLabel, addWidget, addWidget, getDisplayMode, getPrefixedPath, newBestMatching, newCheckBox, newCheckBoxGroup, newColorPicker, newComboBox, newCustomWidget, newDatasetSelector, newDataspaceSelector, newDateTime, newDropDownList, newFormGroup, newFormRow, newListBox, newPassword, newRadioButton, newRadioButtonGroup, newTable, newTextBox, startBorder, startFormGroup, startFormRow`

  ### Methods inherited from interface com.orchestranetworks.ui.UIJavaScriptWriter

  `addJS, addJS_addResizeWorkspaceListener, addJS_cr, addJS_cr, addJS_openPreviewImage, addJS_openPreviewImageFromVar, addJS_setButtonDisabled, addJS_setExpandCollapseBlockExpanded, addJS_setStateToToggleButton, addJS_switchToPerspective, addJS_switchToPerspectiveAction`

  ### Methods inherited from interface com.orchestranetworks.ui.UIResourceLocator

  `createWebComponentForRootSession, createWebComponentForSubSession, getURLForAjaxComponent, getURLForAjaxComponent, getURLForPerspectiveSelection, getURLForPerspectiveSelection, getURLForResource, getURLForResource, getURLForResource, getURLForResource, getURLForResource, getURLForRest, getURLForSelection, getURLForSelection, getURLForSelection, getURLForSelection, getURLForSelection, getURLForSelection, getURLForViewSelection`

  ### Methods inherited from interface com.orchestranetworks.ui.UISessionContext

  `getLocale, getSession`

  ### Methods inherited from interface com.orchestranetworks.userservice.UserServiceResourceLocator

  `getURLForAction, getURLForAction, getURLForAjaxRequest, getURLForAjaxRequest, getURLForEndingService, getURLForGetRequest, getURLForGetRequest, getURLForResource, getURLForResource, getURLForServiceSelection, getURLForServiceSelection, getURLForServiceSelection, getURLForServiceSelection, getURLForServiceSelection, getURLForServiceSelection, getURLForServiceSelection, getURLForServiceSelection, getURLForServiceSelection`

  ### Methods inherited from interface com.orchestranetworks.userservice.UserServiceWriter

  `addButton, newActionButton, newActionButton`

- ## Method Details

  - ### setCurrentObject

    void setCurrentObject(ObjectKey anObjectKey)
    Sets the current object that will be used to resolve path expressions.
    Parameters:
      `anObjectKey` - the key of an object of the current object context or `null` if no current object.
    See Also:
      - `UIFormWriter.getPrefixedPath(Path)`

  - ### getCurrentObjectKey

    ObjectKey getCurrentObjectKey()
    Returns the key of the current object.
    Returns:
      The object key or `null` if no current object.

  - ### addPane

    void addPane(UserServicePane aPane)
    Adds a pane.
    Parameters:
      `aPane` - the pane to be added.

  - ### newSubmitButton

    UIButtonSpecSubmit newSubmitButton(String aLabel, UserServiceEvent aCallback)
    Creates a specification for a submit button.
    Parameters:
      `aLabel` - the button's label.
      `aCallback` - the callback.
    Returns:
      the button specification.

  - ### newSubmitButton

    UIButtonSpecSubmit newSubmitButton(UserMessage aLabel, UserServiceEvent aCallback)
    Creates a localized specification for a submit button.
    Parameters:
      `aLabel` - the button's label.
      `aCallback` - the callback.
    Returns:
      the button specification.

  - ### newTabbedPane

    UserServiceTabbedPane newTabbedPane()
    Creates a tabbed pane.

    If this pane is added to a page whose structure may vary at each display, one should consider using instead the method {`newTabbedPane(String)`.

    Returns:
      the new tabbed pane.

  - ### newTabbedPane

    UserServiceTabbedPane newTabbedPane(String anId)
    Creates a tabbed pane.
    Parameters:
      `anId` - The id for the pane. If this pane is added to a page whose structure may vary at each display, id should be a fixed, non-`null` value. Not doing so prevents EBX® from reselecting previously selected tabs after a redisplay.
    Returns:
      the new tabbed pane.

  - ### getPreviousTabSelected

    String getPreviousTabSelected(String aTabbedPaneId)
    Returns the id of the selected tab of a tabbed pane prior to last submit or `null` if the tabbed pane was not yet submitted.
    Parameters:
      `aTabbedPaneId` - A valid id of a `tabbed pane`.
    Returns:
      the tab id selected prior to the last submit or `null` if the tabbed pane was not yet submitted or if id is unknown.