This section provides key information for configuring and interacting with Studio.
Studio Properties Copy Link
The studioProperties object is used to configure Studio. The example below shows the different types of items available on studioProperties.
const studioProperties = {
// PROPERTIES
data: myData,
enableRtl: true,
// EVENTS
stateUpdated: event => console.log('State updated'),
// CALLBACKS
getLocaleText: (params) => {
// ...
}
}
// Pass studioProperties to createStudio
const api = createStudio(studioDiv, studioProperties)
Updating Studio Properties Copy Link
It is a common requirement to update a Studio property after Studio has been created. For example, you may want to change mode via an application toggle.
Properties can be updated by calling either api.setProperty or api.updateProperties. In this example the mode will switch to view.
// update the mode
api.setProperty('mode', 'view');
Initial Studio Properties Copy Link
A small number of Studio properties do not support updating their value. Their value is only read during the initial setup of Studio. These options are marked as Initial on the Properties Reference. For these properties Studio must be destroyed and re-created for the new value to take effect.
Not all Studio Properties support updates. These are marked as Initial.
For a full list of properties, see Properties Reference.
Studio Events Copy Link
As a user interacts with Studio, events will be fired to enable your application to respond to specific actions.
Register callbacks for events through the AgStudioProperties interface. The name of the callback is constructed by prefixing the event name with on. For example, the callback for the stateUpdated event is studioProperties.onStateUpdated.
const studioProperties = {
// Add event handlers
onStateUpdated: (event: AgStudioStateUpdatedEvent) => console.log('State was updated'),
}
TypeScript users can take advantage of the events' interfaces. Construct the interface name by prefixing the event name with AgStudio and suffixing with Event. For example, the stateUpdated event uses the interface AgStudioStateUpdatedEvent.
For a full list of events, see Studio Events.
Studio API Copy Link
You can access the Studio API by storing a reference to the api as returned from createStudio.
// create Studio
const api = createStudio(div, studioProperties);
// Call an api method
const state = api.getState();
API within Events and Callbacks Copy Link
The api is also provided on the params for all Studio events and callbacks.
const studioProperties: AgStudioProperties = {
onApiReady: (event: AgStudioApiReadyEvent) {
// use API from event
event.api.getState();
}
}
For a full list of API methods, see Studio API.
Studio State Copy Link
As a user interacts with Studio they may change state such as widget layout, formatting, filtering, etc. This state is independent of the configuration, and to provide save and restore capabilities Studio enables applications to save / restore this state.
For a full list of the state properties, see Studio State.
Studio Lifecycle Copy Link
An application may need to perform actions when Studio is first initialised, or about to be destroyed.
For full details about how to interact with Studio at these key moments see: Studio Lifecycle.
Studio Errors Copy Link
When errors occur in state or data validation, an error event will be emitted.
const studioProperties = {
onErrorRaised: (params) => {
// handle error (e.g. prompt user to load a different report)
},
// other studio properties ...
}An error has occurred within Studio. |