The PanelStackDefinition object contains an ordered collection of panel identifiers. The PanelStackDefinition object is assigned to a cell that corresponds to a DOM element on the page. The cell defines the position of the PanelStackDefinition object on the page.

The attributes of the PanelStackDefinition object, in addition to the attributes inherited from the FrameworkObject base class, are described below:

Attribute

Description

panelStackId

Logical identifier that other objects use to refer to this object and is exposed to other objects and code. This is the primary external way to refer to the object.

titleKey

Resource bundle key for the label that is associated with the panel stack.

tabAffinityYn

The tabAffinity flag indicates if the panel stack is associated with a particular tab (true) or if it can be rendered under any tab, as in the case of user preferences (false). If the tabAffinity flag is true and this was the last panelStack viewed under a tab, when the user navigates back to that tab, the panel stack will be rendered.

panelIds

The ordered collection of panel identifiers.

The extension method of the PanelStackDefinition object is:

Returns

Method

Description

List

getPanels

Returns a list of all PanelDefinition objects assigned to the PanelStackDefinition.

The extension method of the PanelStackDefinitionHome interface is:

Returns

Method

Description

PanelStackDefinition

findByUserSegment
  AndPanelStackId

Returns the PanelStackDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on panel stack identifier only. The appId indicates the framework application in which to look for the object.

Arguments: String appId, String panelStackId

The following is an example of a PanelStackDefinition:

<panel-stack-definition>
  <id>SsHelpPanelStack</id>
  <app-id>selfService</app-id>
  <enabled-yn>true</enabled-yn>
  <name-key>helpPanels.name</name-key>
  <object-type>PanelStackDefinition</object-type>
  <description-key>helpPanels.description</description-key>
  <image-url>/image/default.gif</image-url>
  <panel-stack-id>helpPanels</panel-stack-id>
  <header>contentHeader</header>
  <error-panel-id>errorPanel</error-panel-id>
  <title-key>helpPanels.label</title-key>
  <tab-affinity-yn>true</tab-affinity-yn>
  <panel-ids>
    <id-entry>
      <id>SsErrorPanel</id>
      <priority>100</priority>
    </id-entry>
  </panel-ids>
</panel-stack-definition>