Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
When creating a widget, define its form, fields, and its behavior by using the template elements to specify the way it displays with HTML and Widget Attributes. Apply HTML tags to add and control elements such as buttons and various types of fields. 



<attachment>

Adds a files attachment widget.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.


Code Block
languagexml
themeEclipse
titleExample
linenumberstrue
<attachment model="data.attachments"></attachment>



<button>

Use this attribute to add a button to your widget form. This element behavior is similar as React does.

Code Block
languagexml
titleButton
linenumberstrue
<button event-click="window.s_widget_custom.submit();">
  {data.submitBtnTitle}
</button>

<button event-click="window.s_widget_custom.cancel();">
  {data.cancelBtnTitle}
</button>


<checkbox>

This element allows adding and configuring the checkbox field.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.


Code Block
languagexml
titleExample
linenumberstrue
<modal model="data.modal" title="{data.modalTitle}" isShow="{data.isShow}"
  doClose="window.s_widget_custom.closeModal();">

  <checkbox model="data.ignoreAutoCAB" label="{data.questionText}"></checkbox>

  <div simple-if="{data.showInput}" class="select-area">
    <multiselect label="{data.cabParticipantsTitle}" title="{data.cabParticipantsTitle}" model="data.CABparticipants"
      values="" options="{data.optionsValues}" event-change="s_widget_custom.optionsSelected();">
    </multiselect>
  </div>
</modal>



<codemirror>

The element adds a text field with the code formatting.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.


Code Block
languagexml
titleCodemirror
linenumberstrue
<codemirror model="data.mirror"></codemirror>



<conditions>

Adds the condition builder widget.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.
tableNameStringConnection with a table by its name
tableIdBig IntegerConnection with a table by the ID


Code Block
languagexml
titleConditions
linenumberstrue
<conditions model="data.conditions" tableName="itsm_incident" tableId="155964310500000569"></conditions>



<datetime>

The element provides a data input of the datetime format. 

The following attributes are applicable:

AttributeTypeDescription
isMandatoryBooleanThis attribute is responsible for specifying whether this input field is mandatory or not.
modelStringThis attribute points to the client controller data object.
beginDateStringSpecify a method of how the beginning date is defined.
endDateStringSpecify a method of how the ending date is defined.


Code Block
languagejs
themeConfluence
titledatetimeinput
linenumberstrue
<datetimeinput label="Date and Time" isMandatory="true" model="data.dueDate" beginDate="{data.beginDate} " endDate="{data.endDate}"></datetimeinput>

//client script
const beginDate = new Date();
const endDate = new Date();
beginDate.setDate(beginDate.getDate() - 30);
endDate.setDate(endDate.getDate() + 30);



<daysofweek>

The element adds a field that allows selecting days of week.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.


Code Block
languagexml
titledaysofweek
linenumberstrue
<daysofweek model="data.daysofweek"></daysofweek>



<duration>

The tag adds a field counting the time duration.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.


Code Block
languagexml
titleExample
linenumberstrue
<duration model="data.duration"></duration>



<html>

This widget adds an HTML input field with text formatting options.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.


Code Block
languagexml
titlehtmlinput
linenumberstrue
<htmlinput label="Description" model="data.description" isMandatory="true"></htmlinput>



<modal>

A modal window solution.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.
titleStringA modal window title.
doCloseFunction

Specify actions to perform after one of the predefined patterns is selected:

  • click
  • context
  • mouseOver
isShowBooleanIf this attribute is equal to 'true', then the modal window is displayed.


Code Block
languagexml
titlemodal
linenumberstrue
<modal model="data.modal" title="Modal Label" isShow="true"
doClose:
{
"click": "runScript()"
},>



<multiselect>

Provides multiple choice selection for widgets.

The following attributes are applicable:

AttributeTypeDescription
canExcludeAllBooleanThis parameter is responsible for items deselecting; if it's equal to TRUE, then bulk item selection cancellation is available.
modelStringThis attribute points to the client controller data object.
optionsString

Matches database values with what will be displayed. 


Info

You can put as much options into drop-down menu as you need, but after the sixth one is placed, a vertical scroll appears.


valuesStringSpecify values for the selection


Code Block
languagexml
titleExample
linenumberstrue
<multiselect model="data.values" canExcludeAll="true" values='["1", "2"]' options='[{"database_value":"","display_value":""},{"database_value":"1","display_value":"Первый"},{"database_value":"2","display_value":"Второй"}]'></multiselect>



<reference>

This element adds a reference field to a widget for establishing connections with data tables by a custom reference.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.
tableNameStringConnection with a table by its name.
conditionStringSpecify a condition ID.
isFixedBooleanWhen this attribute is equal to 'true', then the condition value cannot be changed.


Code Block
languagexml
titleExample
linenumberstrue
<reference label="Configuration Item" model="data.element" data-tabletableName="cmdb" isMandatory="true" condition="{data.condition}"></reference>



<report>

Add this SimpleTag to display a particular report.

The following attributes are applicable:

AttributeTypeDescription
reportIdStringSpecify the report with the appropriate ID to display.
conditionStringSpecify a condition to build a report.


Note

When placing two or more conditions into the condition string, merge them with the carat symbol ( ^ ). The condition syntax will look like this:

Condition wordNotationExample
AND^assignee=john.doe^state=active
OR^ORimpact=high^ORurgency=high

To know more about possible condition operators, please refer to the Condition Operators article.

The 

Code Block
languagexml
titleExample
linenumberstrue
<report reportId="123456789012345678" condition="(group=helpdesk^ORstate=active)"/>



<select>

A field that allows selecting items.

The following attribute is applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.
optionsStringThis field type matches database values with what will be displayed


Code Block
languagexml
titleExample
linenumberstrue
<select label="Class" isMandatory="true" model="data.class" options='[{"database_value":"","display_value":""},{"database_value":"155964310500000004","display_value":"Server"},{"database_value":"155964310500000006","display_value":"Database"}]'></select>



<string>

In a widget, use this attribute to designate an input field for text information. The element is similar to the react component:

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.


Code Block
languagejs
titlestringinput
linenumberstrue
<stringinput model="data.lastname" event-change=";(() => { const lastname = s_widget.getFieldValue('lastname') || ''; const firstname = s_widget.getFieldValue('firstname') || ''; s_widget.setFieldValue('fullname', lastname + ' ' + firstname) })();"></stringinput>
<stringinput model="data.firstname" event-change=";(() => { const lastname = s_widget.getFieldValue('lastname') || ''; const firstname = s_widget.getFieldValue('firstname') || ''; s_widget.setFieldValue('fullname', lastname + ' ' + firstname) })();"></stringinput><h1>{data.fullname}</h1>
// In this example, we put values into two fields, and after that, they are displayed concatenated and formatted with H1 tag.



<textarea>

A multi-line text field.

The following attributes are applicable:

AttributeTypeDescription
modelStringThis attribute points to the client controller data object.


Code Block
languagexml
titletextarea
linenumberstrue
  <textarea model="data.name" label="Name" value=""></textarea>
  <textarea model="data.description" label="Description" value=""></textarea>

Table of Contents
classfixedPosition