Initializing Vizzly Services
Install
npm install @vizzly/servicesSetup
If you used npm or yarn to install the services package, you can import Vizzly from the service package;
import { Vizzly } from "@vizzly/services;Or if you have used the CDN, you will have Vizzly globally available on the browser window object.
Once the services package is available in your codebase, we need to configure it depending on the strategy used to implement Vizzly.
const vizzly = await Vizzly.load({
  // The URL of your Query Engine (Including prefix `https://`)
  queryEngine: '<< Your Query Engine Endpoint >>',
 
  // https://docs.vizzly.co/dashboard/properties/identity
  identity: async () => ({dashboardAccessToken: '...', dataAccessToken: '...'}),
});Faster loading
To improve performance, you can start the loading process on page-load. To achieve this, you can call the Vizzly.load function at the top level. For example
Vizzly.load(/* properties */)
 
export const doSomethingWithVizzly = () => {
  const vizzly = Vizzly.use();
 
  // use vizzly class here as usual
};Usage
Now you have Vizzly instantiated, you can build, store, fetch, update and delete dashboards.
Wrappers
React
For react, we wrap the services package in a useVizzly hook from the dashboard package. This hook provides;
- loading- Boolean to show if the hook still loading.
- A helper function to filter dashboards
- A function to create more child dashboards for the user - createDashboard
- A function to update a dashboard for a user - updateDashboard
For creating and updating dashboards, see the programmatic usage documentation
Example
import { useVizzly } from '@vizzly/dashboard';
 
export const PrintDashboards = () => {
  const vizzly = useVizzly({
    // The URL of your Query Engine (Including prefix `https://`)
    queryEngine: '<< Your Query Engine Endpoint >>',
 
    // https://docs.vizzly.co/dashboard/properties/identity
    identity: async () => ({dashboardAccessToken: '...', dataAccessToken: '...'}),
  });
 
  if(vizzly.loading) return <p>Loading</p>
 
  return <pre>{JSON.stringify(vizzly.dashboards, null, 2)}</pre>
};