Skip to content

Layout

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

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 settings:

  • 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)
    • filter: 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 or 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. Example: searchString*
    • contains: Adds wildcards at beginning and end. Example: *searchstring*
    • endsWith: Adds the wildcard at the beginning. Example: *searchString
  • 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
"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 settings:

  • 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). Example:
"root": {
    "name": "asset",
    "label": "${myLabelAttribute}",
    "saveAndNew": true,
    "saveAndNewStayAttributes": [
        "attributeA", "attributeB", "attributeC"
    ]
}
  • 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)
  • focusAttribute: The attribute to be focused when opening the page. The feature is primarily used when creating.
"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

You can define for each attribute whether the attribute is hidden or shown in every search result, no matter if the search did match or not. Example:

"attributes": [
    {
        "name": "DESCRIPTION",
        "label": "Zusammenfassung",
        "type": "String",
        "search": {
            "inResult": "show"
        }
    }, 
    {
        "name": "SYSTEMID",
        "label": "System",
        "type": "String",
        "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.
  • hidden: Bucket is not visible
"bucket": "Arbeitsaufträge (abgeschlossen)",
"bucketIcon": "icon-wrench color-blue",
"bucketMode": "headerOnly"
"bucketExpanded": true

bucketsCompact

The new Insight Client has a new way to organize the buckets called bucketCompact. It allows for visualizing your buckets side by side. Clicking on a bucket will open it underneath, displaying the contents as usual. To display the buckets in a responsive way, gridCompact like grid can be used.

"bucket": "example",
"bucketMode": "headerOnly", (optional)
"bucketCompact": true,
"gridCompact": {
    "s": "eight",
    "m": "four",
    "l": "four"
},

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 cannot 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 sorted. Example:

"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 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. (Works only with labelBeside)
"sections": [
    {
        "name": "id",
        "label": "",
        "style": "block"
    },
    {
        "name": "details",
        "label": "Details",
        "style": "three"
    },
    {
        "name": "data",
        "label": "Verantworlichkeiten",
        "style": "sixteen",
        "labelWidth": "130"
    }
]
"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": "data"
    }
]

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 ownValuesAllowed suggestion without validation

Datetime: Html-default widget for datetime inputs. An action-icon to assigns current datetime can be configured using "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",
    "conversions": {
        "d": "1440",
        "month": "43200"
    }
}

IntegerInput: full screen number block (default);

NativeDecimal: native widget. Using decimalPointHidden the decimal point button is hidden on the input dialog. Using 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 maxHeight (optional).

"widget": "Textarea",
"maxHeight": "150px"

TextPopup: The TextPopup widget displays a line of text directly. When the line is clicked, the complete text is displayed in a dialog. The text can be edited in this dialog.

"widget": "TextPopup"

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. Examples:

"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",
"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 on an attribute. Example:

"next": true

or

"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

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
{
    "colorClass": "bg-color-light-red"
}
- attributes: readonly color and font can be set

{
    "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-purple
    • bg-color-light-red
    • bg-color-light-yellow
    • bg-color-light-green
    • bg-color-light-blue
    • bg-color-light-orange
    • bg-color-light-purple
  • 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'",
            "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"
}

Attribute 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
  • block: full span column (only insight-explorer)

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"
}

Grid

grid 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.

Device sizes

{
    "s": "(max-width: 767px)",
    "m": "(min-width: 768px) and (max-width: 991px)",
    "l": "(min-width: 992px)"
}

Width of a column

one, two, three, .... , fifteen, sixteen. Maximum width for a row is sixteen for all sections. Overlapping section move to the next row.

Offset between two columns:

offset-one, offset-two, offset-three .... , offset-fourteen, offset-fifteen. Maximum is offset-fifteen

Alignment:

right for right-aligned, center for center-aligned. Examples:

"sections": [
    {
        "name": "id",
        "label": "",
        "grid": {
            "s": "sixteen right",
            "m": "eight",
            "l": "eight offset-eight"
        }
    },
    {
        "name": "details",
        "label": "Details",
        "grid": {
            "l": "eight"
        }
    },
    {
        "name": "number",
        "label": "No. ${NUM}",
        "grid": {}
    }
]

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
}

LabelWidth

This feature is currently only available in insight-mobile. labelWidth can be configured at an attribute. Sets the labelWidth to the specified width. Only works in combination with labelBeside. Example:

{
    "name": "ASSETNUM",
    "type": "String",
    "labelWidth": "100"
}

LabelBeside

This feature is currently only available in insight-mobile. labelBeside can be configured at an attribute. Displays the label on the left side of the input. Example:

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

plusMinus

plusMinus can be configured at an attribute. Shows a plus and minus button on number attributes. Can be used with type Decimal and the widgets NativeDecimal or IntegerInput. Example:

{
    "name": "NUM",
    "label": "Number",
    "type": "Decimal",
    "plusMinus": 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 a node.

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

tabs

Displays a tab footer bar on the root list. This allows you to switch between the stored trees. Must be defined on the tree.

"tabs": {
    "trees": [
        "tab1",
        "tab2",
        "tab3"
    ]
}