Custom radio button properties
The radio button definition property template can be used to add a custom property of radio button type. When defining a radio button property, the following fields can be used:
Field | Description |
---|---|
type |
Used for all custom property type definitions. Can be either string, integer, number, array or boolean. This field is mandatory and should always be "string" for a radio button property type definition. Information noteThe radio button effect is achieved by defining the component field to "radiobuttons", see below.
|
component | Used for defining how the property is visualized in the property panel. Used to override the default component that comes with the type setting. This field is mandatory for a radio button property and should always be "radiobuttons". |
label | Used for defining the label that is displayed in the property panel. |
ref | Name or ID used to reference a property. |
defaultValue | Used for defining the default value of your custom property. |
options | Array of options. Can be value, label and function. Example:
|
Examples
Fetching options from an external resource
return {
type: "items",
component: "accordion",
items: {
settings: {
uses: "settings",
items: {
MyDropdownProp: {
type: "string",
component: "dropdown",
label: "Data source",
ref: "myproperties.datasource",
options: function() {
return $.get("datasource.php").then(function(items){
return items.map(function(item){
return {
value:item.toLowerCase(),
label:item
};
});
});
}
Defining custom radio buttons
Defining a custom property of radio button type can look like below.
Example: Add custom radio button property to Appearance accordion
return {
type: "items",
component: "accordion",
items: {
settings: {
uses: "settings",
items: {
MyRadiobuttongroupProp: {
type: "string",
component: "radiobuttons",
label: "Orientation radio-buttons",
ref: "myproperties.orientation",
options: [{
value: "v",
label: "Vertical"
}, {
value: "h",
label: "Horizontal"
}],
defaultValue: "v"
}
}
}
You can also define a new accordion item as a radio button property.
Example: Add custom radio button property as a new accordion item
return {
type: "items",
component: "accordion",
items: {
MyAccordion: {
type: "string",
component: "radiobuttons",
label: "Orientation radio-buttons",
ref: "myproperties.orientation",
options: [{
value: "v",
label: "Vertical"
}, {
value: "h",
label: "Horizontal"
}],
defaultValue: "v"
}