EPL (Element Price List)

Element Price List format documentation for the LogiKal API

The formats are supported starting with LogiKal 12.0.

The EPL can be used to create elevations with element price list templates.

The templates can be accessed over the class ElementPriceListContainer. Creating and configuring an EPL position is done with the class ElementPricelistConfigurator.

The configurator can be obtained from the elevation, if the elevation was an EPL position. To create an EPL position it is necessary to set the type and the template identifier (see Elevation.Edit and WellKnownEditKeys.Elevation).

See the Functional Documentation for further information about the element price list methods.

The main work is to deal with the configurator and the EPL formats, called VisualTree.

VisualTree #

The visual tree is a hierarchical representation of the element price list configurator options and user interface elements. It can be used to control and to step through the configurator.

The configurator may consist of multiple pages. A visual tree can be retrieved for a single page as a formatted JSON object. The root object is the page representation, containing the page type declaration together with a collection of UI children located on the configurator page, each of which may in itself contain children, state and description. UI elements down the hierarchy may contain children of their own.

Each UI element, excluding the page element, has a unique ID property scoped to the current configurator page. The ID can be used to update the element state.

The most important element types are dropdowns, radiobuttons, checkboxes, items and inputboxes. The tree can also contain noninteractive elements such as areas and labels.

Updating the tree #

To check a checkbox, select a radio button or to choose an option from a combobox, you need to call the appropriate method with the ID of the element to select. A list of events will be returned. Interacting with an element may change the state of other elements, so that for each changed element an event will be fired.

Dropdowns don’t require any other parameters. If you want to interact with elements requiring input, like textboxes, you can pass a newValue property as well. Checkboxes can also be unselected this way.

Please note that all made changes must be explicitly saved and are otherwise discarded.

Tree types #

The configurator may have multiple pages. Each page has its own visual tree. You can switch between the pages back and forth freely by calling the next and previous endpoints.

Moving next may return a list of warnings, hints and errors whereas moving to the previous tree only fails when there is no previous tree.

There are currently 4 types of visual trees provided by the MBIOE-Service.

General Tree (mandatory) #

The general tree is always the first tree returned by the MBIOE-Service. In the general tree the properties of the elevation can be edited. This can include options like different profiles, different insertions or the dimensions of the eventual window.

The contents of this tree are almost entirely dependent on the settings made in the template and is the only mandatory tree.

Color Tree (optional) #

The color tree is usually the second tree returned by the MBIOE-Service. In the color tree the colors for the elevations are chosen. The color selection can be limited by the EPL-Template.

The available options are “single color”, “dual color” and “multi color” (up to 4 distinct colors). Additionally, depending on the template, “hardware inside color” and “hardware outside color” can be set here.

It is shown almost every time but may not be shown if only one color is selectable.

Glazing Tree (optional) #

The glazing tree is usually the third tree returned by the MBIOE-Service. In the glazing tree the glazing for every field in the window is selectable. This includes the following:

  • glasses
  • panels
  • project glasses
  • project panels
  • iso glasses
  • no glass with glazing bead / gasket
  • no glass without glazing bead / gasket

Additionally the glass strength and the properties of the glazing bead (such as color) can be determined.

The glazing tree is only returned if the template allows it. This is possible depending on the choices made in the general tree. If one of the choices made requires a glazing selection (“Request Glazing” checkbox ticked in the EPL Template) or if there is an insertion to be configured, the glazing tree will be returned after the color tree.

Color Replacement Tree (optional) #

The color replacement tree at the current time is always the last tree to be returned by the MBIOE-Service. The color replacements tree is a modified version of the color tree.

It returns items (e.g. gaskets) where the selected color either does not exist or is not applicable for the item, and forces a re-selection of the color to a valid one. Available options are either “single color” or “dual color”. “Multi color” is not available for a replacement. From version 12.0.28.10 onwards, it also provides a filepath for a preview of the item.

The color replacements tree is only returned if any replacements are needed.

Element types #

TypeDescriptionOptional custom properties
*Base class for all elementsId, isVisible, type, label
areaUsed to group multiple elements together. An area can also be included in another area.N/A
checkboxRepresents a checkboxisSelected, isEnabled (since 12.0.30.54), preview (since 12.0.30.53)
dropdownDrop-down combo boxisEnabled (since 12.0.30.54), preview (since 12.0.30.53)
radioSingle option from a group of choicesisEnabled (since 12.0.30.54), preview (since 12.0.30.53)
itemEntry in a control elementpreview, isSelected
inputFloat, inputInteger, inputString, inputTextText box with defined input typevalue, minvalue, maxvalue, default, unit
colorTreeTree of colors with color groups and colorItemsN/A
colorGroupGrouping of multiple colorItemsN/A
colorItemSingle color itemcolor, description, isSelected
text (since 12.0.26)Additional information displaycontent, preview
glazingCombo (since 12.0.26)Combo box with glazingItemstableHeaders
glazingItem (since 12.0.26)Single glazing itemkey, isSelected, tableCells
previewPanel (since 12.0.28.10)Preview elementpreview

The tableHeaders and tableCells in glazingCombo and glazingItem respectively are lists of values designed to describe the contents of the glazingCombo. They contain an array of tableCellValue (for tableCells) and tableHeader (for tableHeaders). Each glazingItem holds as many tableCellValues as there are tableHeaders for the glazingCombo it belongs to.