Type to start searching...

Portlet

Portlets are the basic UI components that make up an application. They host one or more Layouts and present features to end users.

Description
Portlets, and their cousin - Dialogs, use container views (Composites, Tabs, and Switches) to arrange Layouts into various UX patterns from lists, to details, to banners, cards, charts and graphs. Portlets also provide a bridge to the outside world through the context bus.
Properties
augment : uiIdentifier

Name of a layout to augment.

Valid values based on“string”.
:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*

Value must begin with a letter. Case and length are not restricted. Letters and numbers are allowed. Colon is used as a scope separator. Spaces and other punctuation characters are not allowed.

caption : string

Caption text.

This text will appear in standalone mode (i.e. ui/portlet/<portletName>) but will not display when hosted in a portal application.
context : string

Input context variable names: <variable1> ... <variableN>

Context is shared between portlets. A context has a name and a value. For instance, in the Contacts Workspace, the main context variable is EntityId (case is important). All portlets with a given context in their context property will listen for changes to that context variable. To connect context changes to a layout within the portlet (we will call this the 'context' layout), use (context-form-target ...). Other layouts may be connected to the context layout with their association properties.
Example

scheme
(context-form-target (this'view) "EntityId" "EntityList")
; with an association
(context-form-target (this'view) "EntityId" "EntityList"
   (: association '(@@ Entity entityParticipations act))
)
; with a where clause function
(context-form-target (this'view) "EntityId" "EntityActList"
   (: whereFunc
      (lambda (value)
         (getEntityActListWhere value ((this'getEventModel "showRollup")'checked))
      )
   )
)
(context-form-target (this'view) "OpportunityId" "OpportunityList" '())

See
(context-form-target <view> <var> <layout> <args>) (context-set <view> <var> <value) (context-get <view> <var>)
description : string

Portlet description, including its purpose

modules : string

Space separated list of AMD module names, without quote marks

Loads AMD JS module(s) as a dependency when the portlet is loaded. Place in broker or main portlet to load with the application.
Example


nexj/proj/adapter1 nexj/proj/adapter2

privilege : identifier

Access privilege

Valid values based on“string”.
:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*

Value must begin with a letter or an underscore. Case and length are not restricted. Letters, numbers and underscores are allowed. Colon is used as a scope separator. Spaces and other punctuation characters are not allowed.

style : string

Space separated list of class names to add to the Portlet's markup

Adds the class names to the outer div of the element to allow for custom css styling. To load mda portlet specific css rules, place them in mod/app/portlet/<portletName.css>. Replace ':' characters with '.' for namespace elements in the portletName.
Example


mod/app/portlet/mda.CategoryNavigator.css

visible : string

Visibility flag association path or expression

Association path syntax: "layoutRefName attr", "layoutRefName attr1 .. attrN"

Expression syntax: (lambda (a1 ... aM) ...) <assoc1> ... <assocM>

where assoc# is an association path, such as (layoutRefName attr), (layoutRefName attr1 .. attrN).

Alternative syntax, which might be more convenient in some cases: `<expr>, with unquoting for associations.

Example


(lambda (covered) (not covered)) (refContactDetail isCovered)
or
`(not ,(refContactDetail isCovered))

Content
  • Sequence of:

    • Menu [0..1] - The main menu for the portlet.

  • Sequence of:

    • Script [0..1] - Code to run during Portlet initialization

    • DataActions [0..1] - The collection of DataActions configured on a Portlet or Dialog.

    • UIActions [0..1] - Portlet-level UI actions

    • Notifications [0..1] - The set of notifications defined for the portlet.

    • Choice of:

      • Composite [1..1] - A container that displays its child views in columns - in the root of a portlet or dialog.

      • Tabs [1..1] - A container that displays its child views in tabs - in the root of a portlet or dialog.

      • Switch [1..1] - A container that displays only one of its child views at a time - in the root of a portlet or dialog.