Add command
Adds a new control to a page.
add <control-type>
[id=<string>]
[to=<string>]
[at=<int>]
[trim=<int>]
property1=value
property2=value
...
Description​
add
command adds a new control to a page.
Examples​
add text to=header value="Welcome back!"
This command adds a new text
control to a column with id header
.
Parameters​
control-type
​
The type of the control.
id
​
Control ID. ID will be auto-generated if not specified. If you need to get generated ID replace add
command with addr
which means "add with result", for example in Bash:
# Add new row and get its ID
"addr row" > $PAGE_PIPE
read $rowID < $PAGE_PIPE
# Add column to the row and get its ID
"addr col to=$rowID" > $PAGE_PIPE
read $colID < $PAGE_PIPE
# Add text to a column and dismiss the result
"add text to=$colID value='Hello, world'" > $PAGE_PIPE
to
​
Parent control ID. If not specified the control is added to the bottom of the page.
at
​
Insert control at the specified position in the children collection.
trim
​
trim
allows to specify the maximum number of children to leave after adding new child controls.
Negative trim
value trims items from the end; positive - from the start.
For example, if we have the following controls tree:
page
stack id=lines
text value='Line 1'
text value='Line 2'
text value='Line 3'
Running add to=lines trim=3 text value='Line 4'
will result into:
page
stack id=lines
text value='Line 2'
text value='Line 3'
text value='Line 4'
so controls were trimmed from the start to have a total number of children at 3
.
On the other hand, running add to=lines at=0 trim=-3 text value='Line 4'
will result into:
page
stack id=lines
text value='Line 4'
text value='Line 1'
text value='Line 2'
so new control was insterted to lines
stack at position 0 and controls were trimmed from the end to have a total number of children at 3
.