Skip to content

Layout

Insight views are following an auto-layout-strategy based on the following concepts

  • Main Menu

  • Perspective

  • Sections

  • ClientProperties

  • Widgets

  • Barcode/QR-Code

  • Style

  • Color

In the main menu each configuration is listed:

  • With its label and its icon

  • In the configured order (e.g. "order": 1)

  • Precondition: the user has access to one of the specified roles

These properties are set in the top level section of each configuration:

    {
      "name": "locations",

    …

      "roles": ["MAXEVERYONE"],
      "title": "Standorte",
      "icon": "icon-factory2",
      "order":1

    …

    }

Perspectives

Each perspective has its own default layout mechanism:

  • Insight Explorer: "web"

After selecting a configuration the configured data model can be explored in a tree view. Node instances are presented as configured in the label attribute of their node configuration (see chapter Data Model). Attributes in the attribute array are listed in a pop-up (see chapter details). Menus listed in the menu array are listed in the context menu.

  • Insight Mobile: "mobile"

Perspective offers by default an initial listing of root nodes. Every root node is presented with specified label and Icon. By default the listing view offers a search and a download option. Selecting an entry will navigate to the detail view. The detail view presents the specified attributes (see chapter Attributes) in the configured order. Menus listed in the menu array are shown as interactive icons in the header section of the detail view and in the swipe menu of the list view.

    {
      "name": "locations",

    …

      "visibleIn": [
      "mobile",
      "web"
      ],

    …

    }
  • Mobile enables Insight Mobile

  • Web enables Insight Explorer and Insight X-Ray

  • For further information see Favorites and Menu on Tabs

  • VisibleFunction: JavaScript-Function to further limit the visibility. Parameters are the user-profile of the logged in person and the current client -\> (userData, client) The Function must return a boolean value.

    "visibleIn": [
      "mobile",
      "web"
    ],
    "visibleFunction": {
      "js": "return userData.userId == 'JOHNDOE';"
    },
    

View components

The default behavior of a perspective (as described above) can be changed with the following top level "clientProperties":

  • "rootMode" -> behavior of the initial listing (root nodes).
    • Default: listing of all matching root nodes (see chapter data model)
    • "select": In insight-explorer: no initial listing, (root-)nodes get added by clicking/selecting them from search results. In insight-mobile the same as "search"
    • "search": no initial listing (if there are too many results expected) listing refers to search entries
    • "createOnly" create button in top level section; listing of created data sets (offline) (insight-mobile only)
    • "fillter" no initial listing, a filter must be activated (insight-mobile only)
  • "searchHidden" Boolean: Hides search button
  • "searchOfflineOnly" Boolean: Offline-search, Insight X-Ray is not setup or not connected
  • "openSingleSearchResult" Boolean: detail view is opened automatically if there is a single hit in the search result
  • "newAllowed" Boolean: show button for creating new root objects
  • "hidden" Boolean: hide tree in main menu (tree is only used as a value picker)
  • "clearSearch" Boolean: Removes the search text when the page is entered.

    • Is not working with searches.backend = true oder searches.showFields. Workaround for this situation: Menu at tree:
      {
      "label": "Clear",
      "icon": "icon-trash",
      "action": "filter",
      "actionValues": [
          {
          "clear": true
          }
      ],
      "when": "onSelect"
      }
      
  • "searchPattern" String: Automatically add * wildcards while searching. This setting can be configured globally with this setting.

    • "startsWith": Adds the wildcard at the end. ( test* )
    • "contains": Adds wildcards at beginning and end ( *test* )
    • "endsWith": Adds the wildcard at the beginning. ( *test )
  • "searchReplaceFunction" Executes a script before sending the search string to the search api. Useful to modify barcode scan results.

    • "js": The Javascript code as string. Input parameters of the function are: searchString, userData, nfcResult
      "clientProperties":{
      "searchReplaceFunction": {
          "js": "return searchString.split(',')[1]"
      }
      }
      
  • "scanBarcode" Boolean: Show the barcode scan when the page is entered.

  • "searchTrees" Array of strings: Defines the trees to search in. Can be a list of exact trees or with wildcard match: 'workorder-hist-*'
    • "searchTrees": ["workorder-hist-1", "workorder-hist-2"]
    • "searchTrees": ["workorder-hist-*"]
  • "changedOfflineAtEnd" Boolean: Offline changed records are shown at the end of the root list. Can also be configured globally.
  • "newOfflineAtEnd" Boolean: New offline created records are shown at the end of the root list. Can also be configured globally.

Detail view

The default behavior of a detail view (as described above) can be changed with the following node "clientProperties":

  • "filter" : „Attributename" filters list of (root) nodes; filter-values correspond to distinct values of attribute „Attributename"

  • "searchThis" Boolean: branch to other Insight Mobile configurations (searchThisHidden is not longer supported)

  • "saveAndNew" Boolean: enables sequence of creating new records in a detail view of current node

  • "saveAndNewStayAttributes": Array of Strings. Attribute value of saved record is preset for attribute value of next created record (precaution: "saveAndNew":true)

  • "saveAndNewFocusAttribute": "Attributename". Sets focus on attribute "Attributename" in detail view of created node record (precaution: "saveAndNew":true)

  • "saveAndList" Boolean: Pressing save on detail view navigates automatically to search view

  • "saveAndTop" Boolean: Pressing save on detail view scrolls to top

  • "saveButtonText" String: label of save button

  • "saveButtonCreateText" String: label of save button on record creation views

  • "saveAndNext" Boolean: Displays the next list entry after saving

  • "saveAndGoto" Go to another view after saving (see goto)

    "saveAndGoto": {
                    "srcNode": "ASSET",
                    "dstTree": "asset-flat",
                    "dstNode": "asset"
                   }
    
  • "saveAndBack" Number: Displays a previous view after saving. Please note that web only saves the history on a per tab basis.

  • "footerButtons": Boolean: Displays the save and cancel button in an always visible footer (can be set global)
  • "swipeAll" Displays all swipe actions of the node. This can be toggled via a menu, which is created automatically. Currently only available on root list view.

    • "open" Boolean: Initial open.
    • "label" String: Label of the menu action
    • "icon" String: Icon of the menu action
      "swipeAll": {
                  "label": "ASSET",
                  "icon": "asset-flat",
                  "open": true
                  }
      
  • "labelClass" String: CSS-Class for the label in lists. Example: "labelClass": "bold color-red"

  • "headerHidden" Boolean value to hide the details header.

Search Result List

Via each attributes clientProperties there's control over wether the attribute is hidden or shown in every search result, no matter if there search stringed matched or not.

Example:

    "attributes": [{
      "name": "DESCRIPTION",
      "label": "Zusammenfassung",
      "type": "String",
      "clientProperties": {
        "search": {
          "inResult": "show"
        }
      }
    }, {
      "name": "SYSTEMID",
      "label": "System",
      "type": "String",
      "clientProperties": {
        "search": {
          "inResult": "hide"
        }
      }
    }, { .... }]

Icons

Icons can be used to make data presentation (Nodes) and user interaction (Menus and actions) more clearly.

The "icon" property can be defined in the top level section of the concerned node.

    "icon": "icon-map-marker"

You can find a list of all available icons here

Buckets

Buckets can be used to group all members of a child node under one additional parent node (bucket). This makes the listing of child nodes more clearly, especially if there are several types of child nodes.

The following properties are defined in the top level section of the concerned child node.

"bucket" : title of the additional parent node

"bucketIcon": icon used to decorate the bucket

"bucketExpanded": Shows the bucket initially expanded. (insight-mobile only, in insight-explorer the user can configure the expanded nodes)

"bucketMode": Instead of displaying the entries directly, the bucket links to the separate view. (Please set only when needed)

-> headerOnly: No children are displayed inline.

-> simple: Children are displayed inline, but no list attributes are displayed.

-> hidden: Bucket is not visible

    "bucket": "Arbeitsaufträge (abgeschlossen)",
    "bucketIcon": "icon-wrench color-blue",
    "bucketMode": "headerOnly"
    "bucketExpanded": true

Chunks and Grouping

Big datasets in a node of a configration can be organized with the chunk feature. If chunk is defined Insight Explorer will present additional folders.

  • This has a good impact on client performance as rendering of object nodes takes some time.

  • In combination with optional sorting (sortBy; see Sort by Attribute) and optional grouping (attribute; see options below) it is possible to bring in more structure to the data

  • Groups are fetched from the InsightReldb which is a redundant data stock. Please note that the groups should be in the database in a timely manner. There is no certainty that all data are available.

  • Groups can't be used within loop nodes, but chunks

Order:

  1. sort (by attribute)

  2. group (by attribute)

  3. chunk (by size)

Chunks:

    "grouping": {
      "size": 10
    }

Chunks with specific label:

    "grouping": {
      "size": 10,
      "label": "${NUMBER}"
    }

Groups:

    "grouping": {
      "attribute": "STATE"
    }

Groups with predefined groups:

    "grouping": {
      "attribute": "STATE",
      "groups": [
        {
          "label": "Waiting",
          "values": "WAPPR",
          "expanded": true
        },
        {
          "label": "Approved",
          "values": "APPR",
          "expanded": true
        },
        {
          "label": "Not set",
          "values": null
        },
        {
          "label": "Others",
          "others": "catch"
        }
      ]
    }

Groups in groups:

    "grouping": [
      {
        "attribute": "DERIVED\_YEAR"
      },
      {
        "attribute": "DERIVED\_WEEK"
      }
    ],

Options:

  • "size": Chunksize for the records. The default size is 100.
  • "label" e.g. "label"="${508:40323:AB} ${508:41475:AB}" builds the label for chunk folders (first and last entry of each chunk). Defaults to the record label.
  • "attribute": Name of an attribute that is used to group the data
  • "groups": defines specific value of "attribute" for this group. Order of groups defines order of grouping buckets.
    • "label": Labels for group folders are build.
    • "expanded": Initial expanded state of the group. Defaults to false.
    • "values": The attribute value of the group. Also null is allowed. (currently only a single value)
    • "others": "catch": Catches the not defined groups. Can't be used with "values"

Sort by Attribute

Big datasets in a node of a configration can be sort

    "clientProperties": {
      "sortBy": {
        "attribute": "BIRTHDATE",
        "reverse": true
      }
    }

"attribute": Name of an attribute that is used to sort by

"reverse": Reverse the sorting

Sections

Sections can be used for grouping attributes of one node in the detail view.

  • Attributes of one node are listed in the configured order

  • Each attribute can be assigned to a section

  • Sections are presented in the configured order

  • Section attributes are listed in the order configured in the attributes array

  • Sections are displayed in a responsive way (one column or two columns depending on display resolution)

  • Sections can be reused in every detail view of one Insight Config configuration

  • "label": The headline of the section. Can be static text and replaced with record properties. (examples below)

  • "style": "block" -> full span column

  • "style": (insight-explorer only) "one", "two", "three" .... , "fifteen", "sixteen". Column width for a section, maximum width for a row is "sixteen" for all sections. Overlapping section move to the next row.

  • "labelWidth": All labels get the same fix width in pixels. Expample: "labelWidth":"130"

    "sections": [
      {
        "name": "id",
        "label": "",
        "style": "block"
      },
      {
        "name": "details",
        "label": "Details",
        "style": ""
      },
      {
        "name": "data",
        "label": "Verantworlichkeiten",
        "style": ""
      },
      {
        "name": "targetdates",
        "label": "W/I Infos",
        "style": ""
      },
      {
        "name": "time",
        "label": "Rückmeldung",
        "style": ""
      },
      {
        "name": "pmdata",
        "label": "Frequenz",
        "style": ""
      },
      {
        "name": "number",
        "label": "No. ${NUM}",
        "style": ""
      }
    ],
    

    "attributes": [
      {
        "name": "DESCRIPTION",
        "label": "Beschreibung",
        "type": "Text",
        "readonly": false,
        "section": "id"
      },
      {
        "name": "WONUM",
        "label": "Nummer",
        "type": "String",
        "readonly": true,
        "section": "details"
      },
      {
        "name": "JPNUM",
        "label": "Arbeitsplan",
        "type": "String",
        "readonly": true,
        "section": "details"
      }
    ]

Input support

Widgets

The "widget" property defines optimized input support for fitting to the selected attribute type (see chapter Attributes).

"Combo": dropdown

"SelectList": selection view with search field.

  • option "clientProperties.ownValuesAllowed"  suggestion without validation

"Datetime": Html-default widget for datetime inputs. An action-icon to assigns current datetime can be configured using clientProperties.nowAction = true.

"Checklist": Checklist widget for String or Text attributes. The checklist data is stored in the attribute as a json structure.

"Duration": Input a duration. Supports the following formats:

1:30 90min
01:30 90min
1:30h 90min
1: 60min
1:h 60min
:5h 5min
:5 5min
1,5h 90min
1,5 90min
,5d 240min
2,m 2min
2d 960min
2 120min

If you want to add custom units or override existing unit conversion factors, you can add the following config to the duration attribute:

    {
      "name": "WOEQ14",
      "label": "Label",
      "type": "Decimal",
      "widget": "Duration",
      "clientProperties": {
        "conversions": {
          "d": "1440",
          "month": "43200"
        }
      }
    }

"IntegerInput": full screen number block (default); "NativeDecimal": native widget. Using "clientProperties.decimalPointHidden" the decimal point button is hidden on the input dialog. Using "clientProperties.plusMinusHidden" the plus and minus buttons are hidden on the input dialog.

"Textarea": The textarea-widget uses the whole width of the display. The control is automatically expanded to about 4 lines. Lines that are not visible can be expanded. The height can be configured by setting clientProperties.maxHeight. (maxHeight is optional)

"widget": "Textarea",
"clientProperties": {
  "maxHeight": "150px"
}

"Born": Boolean or Null: yes no buttons, with state

  • J N -> null

  • J N -> true

  • J N -> false

    "widget": "Born",
    "options": {
      "dictionary": [
        {
          "label": "true",
          "value": "J"
        },
        {
          "label": "false",
          "value": "N"
        },
        {
          "label": "null",
          "value": "LEER"
        }
      ]
    }
    

"InlineSelect": The attribute options are displayed directly as clickable boxes. The options can also be annotated with a color.

"InlineSelect:vert": The boxes are arranged one below the other.

InlineSelect can also be used with selectFromTree. (Example below)

Example with options:

    "widget": "InlineSelect",
    "options": {
      "dictionary": [
        {
          "label": "High",
          "value": "1",
          "color": "bg-color-red"
        },
        {
          "label": "Mid",
          "value": "2",
          "color": "bg-color-yellow"
        },
        {
          "label": "Low",
          "value": "3",
          "color": "bg-color-green"
        }
      ]
    }

Example with selectFromTree:

    "widget": "InlineSelect",
    "selectFromTree": {
      "tree": "lane",
      "node": "lane",
      "attribute": "laneValue",
      "filter": {
        "collectionId": "${collectionId}"
      }
    }

"HTMLViewer": The widget displays the text as HTML in the page. Can be used to display Rich-Text. The initial height of the control can be configured. The entire text can be expanded in the form.

Example with max height (optional):

"widget": "HTMLViewer",
"clientProperties": {
  "maxHeight": "150px"
}

HTML-Input Widgets:

Every known HTML-Input type can be configured by prefixing the widget name with "htmlInput:", as long as the browser used supports those used.

Examples:

  • htmlInput:time: Displays the native time widget of the operation system/browser

  • htmlInput;month": "Displays the month and year with a date-picker

  • htmlInput:email: Supports display for an email address

  • htmlInput:url: Supports display of an URL

  • htmlInput:password: A password field only showing asteriks when typing

next

Shifts focus to the next attribute

Works for Input field with user selection, such as "combo", "selectList",..

next is defined in the clientProperties of an attribute:

    "clientProperties": {
      "next": true
    }

or

    "clientProperties": {
      "next": "attributname"
    }

Barcode/QR-Code

In the attributes array an attribute can be marked with "barcode": true. This renders a barcode icon beside the input field. After pressing this button the barcode can be fetched via camera plugin.

    "attributes": [
      {
        "name": "LOCATION",
        "label": "Standort",
        "type": "String",
        "barcode": true
      }
    ]

Style

The style property can be used to decorate list entries. It is possible to reflect the specific values of important attributes in the choice of

  • signal color or

  • icon

This is done by implementing a JavaScript method as follows:

    "style": {
      "js": "return 'bg-color-red signal';"
    }

As a result each line comes up with a red signal.

You can change the color of the node icon as well:

    "style": {
      "js": "node.icon = node.icon + ' color-blue';"
    }

As a result the configured node icons are presented with a blue (foreground) color.

It is even possible to change the configured node icon:

    "style": {
      "js": "node.icon = 'icon-check color-green';"
    }

To create the decoration dynamically according to the current object properties the following parameters can be used

  • current.properties

  • userData

    "style": {
      "js": [
        "if (current.properties.STATUS == 'RUNNING') {",
        " node.icon = node.icon + 'color-blue';",
        "}",
        "else if (current.properties.STATUS == 'FINISHED') {",
        " node.icon = node.icon + 'color-green';",
        "}"
      ]
    }
    

The following example combines the concepts mentioned above (see template worklist) :

    "style":  {
      "js": "node.icon = current.properties.STATUS == 'COMP' ? 'icon-checkmark-circle color-green' : userData.personid == current.properties.OWNER ? 'icon-user' : current.properties.STATUS == 'INPRG' ? 'icon-walk' : 'icon-wrench';
      return current.properties.WOPRIORITY == 1 ? 'bg-color-red signal' : ( current.properties.WOPRIORITY == 2 ? 'bg-color-yellow signal' : 'signal');"
    }

isReady is injected as parameter. This can be used to visualize the working progress. (see isReady)

    "style": {
      "js": "node.icon = isReady ? 'icon-checkmark-circle' : 'icon-wrench'"
    }

Color and font

The standard configuration offers a set of predefined colors. These colors can be used to decorate the following layout elements:

  • Icons: foreground color can be set

    {
      "name": "locations",
      "title": "Standorte",
      "icon": "icon-factory2 color-green"
    }
    
  • Signal: background color can be set "style":

    {
      "js": "return 'bg-color-red signal';"
    }
    
  • attributes: color can be set

    "clientProperties": {
      "colorClass": "bg-color-light-red"
    }
    
  • attributes: readonly color and font can be set

    "clientProperties": {
      "readonlyClass": "color-green bold"
    }
    
  • Listing of available foreground colors:

    • color-red
    • color-orange
    • color-yellow
    • color-green
    • color-blue
    • color-white
    • color-black
  • Listing of available background colors:

    • bg-color-red
    • bg-color-yellow
    • bg-color-green
    • bg-color-blue
    • bg-color-white
    • bg-color-black
    • bg-color-orange
    • bg-color-light-red
    • bg-color-light-yellow
    • bg-color-light-green
    • bg-color-light-blue
    • bg-color-light-orange
  • Listing of available font classes:

    • bold
    • italic

suffix

"suffix": "Unit of a field"

List

"list" allows you to configure multi line list entries for a node.

  • Only the configured attributes are shown in the list.
  • The properties of the attributes can be overridden.
  • All attributes are readonly (for edit mode see: listEdit)
  • This feature also provides a filter mode, which automatically adds a menu item for filtering. Filtering is currently supported for the root node.
  • Additional filter buttons can be configured and are automatically added in the list menu.
  • Filters on a per column basis can be suppressed with the property "suppressFilter".
  • Lists can be displayed on separate view. "separateView" Instead of displaying the entries directly, the bucket links to the separate view. (This feature is currently only available in insight-mobile.)
  • The text of each attribute is wrapped by default. This can be overruled by "textOverflow": "ellipsis". If it's set, the text is cut off at the end of the line and extended with "...". This setting can be configured globally.

See "style" for further configuration options!

Example:

    "list": {
      "attributes": [
        {
          "name": "DESCRIPTION",
          "suppressFilter": true
        },
        {
          "name": "LOCATION",
        },
        {
          "name": "ASSETNUM",
          "floating": "responsive"
        },
        {
          "name": "REPORTDATE",
          "format": "pattern:'dd.MM.yyyy'",
          "clientProperties": {
            "readonlyClass": "bold"
          }
        }
      ]
    }

Example separate view (can also be used without attributes):

    "list": {
      "separateView": true,
      "attributes": [{
        "name": "LOCATION",
      }, {
        "name": "ASSETNUM",
        "floating": "responsive"
      }
     ]
    }

Example textOverflow:

    "list": {
      "textOverflow": "ellipsis",
      "attributes": [{
        "name": "DESCRIPTION",
      }]
    }

Example filtering and sorting:

    "list": {
      "settings": { ... },
      "attributes": [
        { "name": "CREATEBY" },
        { "name": "CREATEDATE" },
        { "name": "MESSAGE", "suppressFilter": true }
      ],
      "filter": {
        "attributes": true
      },
      "sort": {
        "attributes": true
      }
    }

ListEdit

This feature is currently only available in insight-mobile

"listEdit" allows you to configure a list processing for a node. Multiple records can be edited on one page.

  • The title and Icon of the node can be overridden.

  • Only the configured attributes are shown in list edit mode

  • The properties of the attributes can be overridden.

  • To open a listEdit view see listEdit-Menu or goto-Menu

  • "headerHidden": Hides the header of each list entry. Defaults to false.

  • "inline": The records can be edited directly on the parent's detail page. The save button will be shown on the bottom of the screen. (like footerButtons feature)

See "style" for further configuration options!

Example:

    "listEdit": {
      "title": "Edit Checklist",
      "icon": "icon-fire",
      "attributes": [
        {
          "name": "DESCRIPTION"
        },
        {
          "name": "LOCATION",
        },
        {
          "name": "ASSETNUM",
          "floating": "responsive"
        }
      ]
    }

Example inline edit on parent's page:

    "listEdit": {
      "inline": true
      "attributes": [
        {
          "name": "CHECKED"
        }
      ]
    }

control

"control" can be configured at an attribute. The attribute input can be hidden, disabled or only enabled at create.

    {
      "name": "DESCRIPTION",
      "type": "String",
      "control": "disabled"
    }
  • enabled
    • must be set to make attribute editable in Insight Explorer
  • disabled
  • createOnly
    • true -> Field is only enabled if a new node is created (see Create)
  • hidden

Attention: A combination of "hidden" and "assignment" requires the trigger ("when": "onSave")

Read-Only-Attributes are described here.

Floating

This feature is currently only available in insight-mobile

"floating" can be configured at an attribute. The attribute is next to the previous one.

  • Options:
    • Fix: The attribute is always next to the previous one.
    • Responsive: The attribute is only next to the other if the display is big enough. Otherwise the attribute is below the previous one

Examples:

Fix:

    {
      "name": "ASSETNUM",
      "type": "String"
    },
    {
      "name": "LOCATION",
      "type": "String",
      "floating": "fix"
    }

Responsive:

    {
      "name": "ASSETNUM",
      "type": "String"
    },
    {
      "name": "LOCATION",
      "type": "String",
      "floating": "responsive"
    },
    {
      "name": "STATUS",
      "type": "String",
      "floating": "responsive"
    }

Grid style

"style" can be configured at a section, an attribute or a list-attribute.

An area for sections or attributes is split into sixteen equaly wide columns. In the style configuration you can define how many of those columns the element should use. As soon as one element overflows the maximum columns of sixteen it is shown in the next row. The offset defines how many columns are skipped before the configured element is shown. Per element you can concatinate a width, an offset and an alignment.

This feature is also available for "list" and "table" views.

Width of a column:

  • "one", "two", "three", ... , "fifteen", "sixteen"

Offset between two columns:

  • "offset-one", "offset-two, "offset-three", ... , "offset-fifteen", "offset-sixteen"

Text alignment in column:

  • "center-aligned", "right-aligned"

Examples:

    {
      "name": "ASSETNUM",
      "type": "String",
      "style": "eight"
    },
    {
      "name": "LOCATION",
      "type": "String",
      "style": "four center-aligned"
    },
    {
      "name": "LOCATION",
      "type": "String",
      "style": "two offset-two right-aligned"
    }

LabelHidden

This feature is currently only available in insight-mobile

"labelHidden" can be configured at an attribute. Only the input control is visible

Example:

    {
      "name": "ASSETNUM",
      "type": "String",
      "labelHidden": true
    },

inputBelowLabel

Formular input controls can be below the attribute label. (insight-mobile only) Can be configured globall in config.json/config.js or node/attribute-config.

{
    "name": "my-node",
    "inputBelowLabel": true
}

{
    "name": "my-node",
    "clientProperties":{
        "inputBelowLabel": true
    }
}

IsReady

This feature is currently only available in insight-mobile

"isReady" can be configured at a node. With this feature you can show if a record is ready processed.

Params:

  • Values represents the actual values of the record

  • Object server representation of the current record

  • UserData Properties of the logged in user. (see Working with variables/values)

Functions:

* getValueForName Ruft den Attributwert anhand seines Namens ab (ersetzt valueForAttributeName). z.B.: var value = getValueForName('DESCRIPTION');

* isSet checks if the given property is set. You can check if it is not set like this: !isSet(object, 'OWNER');

Example:

    "isReady": {
      "label": "Abgearbeitet",
      "js": "return values.STATUS == 'COMP' && isSet(object, 'OWNER')"
    }

Clear

"clear" can be configured at an attribute. Shows a "clear"-button next to the input field. A click on the button removes the value of the field.

Example:

    {
      "name": "ASSETNUM",
      "type": "String",
      "clear": true
    }

Shows the details of an object on another tree or node. The "detailsLink" is used on every selection in an list in insight-mobile: root-list, children, search-list. See goto for more options. In insight-explorer only the search-list and details are supported. Other open configurations can be done using details-menu.

It must be configured in clientProperties of a node.

    "detailsLink": {
      "dstTree": "workorder-details",
      "dstNode": "WORKORDER"
    },