Button properties
The button definition property template can be used to add a custom property of button type. When defining a button property, the following fields can be used:
Definition properties
Field | Description |
---|---|
type | This field is optional for buttons. Can be either string, integer, number, array or boolean. Note: The button effect is achieved by setting the component field to button ; 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 button property and should always be button . |
label | Used for defining the label that is displayed on the button. |
ref | Name or ID used to reference a property. |
action | Used for defining the action when clicking the button. Example: action: (data)=>{ //add your button action here alert("My visualization extension name is" +data.visualization and has id '"+data.qInfo.qId+"'."); } |
Example
Defining a custom button
Defining a custom property of button type can look like below.
Example:
Note: Customization of properties always starts with items:.
define( [
],
( ) => {
return {
initialProperties : {
qHyperCubeDef : {
qDimensions : [],
qMeasures : [],
qInitialDataFetch : [{
qWidth : 10,
qHeight : 50
}]
}
},
definition : {
type : "items",
component : "accordion",
items: {
settings: {
uses: "settings",
items: {
MyButton: {
label:"My Button",
component: "button",
action: (data) => {
//add your button action here
alert("My visualization extension name is '"+data.visualization+"' and have id '"+data.qInfo.qId+"'.");
}
}
}
}
}
}
};
} );
This is what it looks like in the property panel
And this is what you receive back when clicking the button