You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 89 Next »

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

Button
<button event-click="window.s_widget_custom.showDropdown()">
	Toggle dropdown
</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.
Example
<modal model="data.modal" isShow="{data.isShow}" doClose="window.s_widget_custom.closeModal();">
                <div class="crossCheckbox">
                    <div class="checkboxLabel">{data.onlyCrossedElements}</div>
                    <checkbox id="crossCheckbox" class="checkbox disabledCheckbox" model="data.crossCheckbox" event-change="window.s_widget_custom.crossed()"></checkbox>
                </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.
Codemirror
<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


Conditions
<conditions model="data.conditions" tableName="itsm_incident" tableId="155964310500000569"></conditions>



<datetimeinput>

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.
datetimeinput
<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.
daysofweek
<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.
Example
<duration model="data.duration"></duration>



<htmlinput>

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


modal
<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
modelStringThis attribute points to the client controller data object.
valuesStringSpecify values for the selection
optionsString

Matches database values with what will be displayed. 

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


Example
<multiselect model="data.values" 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.


Example
<reference label="Configuration Item" model="data.element" data-table="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.

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 

Example
<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


Example
<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>



<stringinput>

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


textarea
  <textarea label="Name" value="" name="name" model="data.name"></textarea>
  <textarea label="Description"  value="" name="description" model="data.description"></textarea>

  • No labels