All Products
Search
Document Center

:Terms

Last Updated:Mar 10, 2026

To better understand Quick BI custom visualization features, use the following basic concepts.

Component Structure

In Quick BI, custom components, custom menus, and custom pages are collectively referred to as custom visualization components. A custom visualization component consists of two main parts: lifecycle and metadata.

Lifecycle

The custom visualization lifecycle describes how a component, menu, or page renders at various stages. It is a JavaScript object that includes the following properties: bootstrap, mount, unmount, and update. Its interface is as follows:

interface Lifecycle {
  bootstrap?: LifecycleBootstrap;
  mount?: LifecycleMount;
  unmount?: LifecycleUnmount;
  update?: LifecycleUpdate;
}

Bootstrap

The bootstrap lifecycle runs when you access a Quick BI host page. Quick BI first pulls and registers the custom visualization component and then calls the bootstrap function. Its interface is:

type LifecycleBootstrap<T = LifecycleProps, P = any> = (props?: LifecycleProps<T>) => void | Promise<P>;

Mount

The mount lifecycle runs when the custom visualization component renders for the first time. Quick BI calls the mount function. Its interface is:

type LifecycleMount<T = LifecycleProps, P = any> = (props?: LifecycleProps<T>) => void | Promise<P>;

Unmount

The `unmount` lifecycle is triggered when a custom visualization component is removed. Quick BI calls the unmount function. The function interface is as follows:

type LifecycleUnmount<T = LifecycleProps, P = any> = (props?: LifecycleProps<T>) => void | Promise<P>;

Update

The update lifecycle runs when the props of the custom visualization component change. Quick BI calls the update function. Its interface is:

type LifecycleUpdate<T = LifecycleProps, P = any> = (props?: LifecycleProps<T>) => void | Promise<P>;

LifecycleProps

LifecycleProps defines the type of the props parameter passed to each lifecycle method of a custom visualization component. It includes two properties: container and customProps. The interface is defined as follows:

interface LifecycleProps {
  container?: HTMLElement;
  customProps?: CustomProps;
}
Container

container is a DOM element on the host page. The custom visualization component renders into this container. If Shadow DOM is enabled, the container’s parent becomes a ShadowRoot element.

CustomProps

customProps contains contextual information that the host page injects into the custom visualization component. Different visualization types accept different context types. For more information, see the sections for specific visualization types.

The following code provides a simple example of a custom visualization component lifecycle:

export {
  bootstrap: (props: LifecycleProps) => {},
  mount: (props: LifecycleProps) => {
    console.log(props); // { container: DOMObject, customProps: {} }
    props.container.textContent = `hello word`;
  },
  unmount: (props: LifecycleProps) => {},
  update: (props: LifecycleProps) => {
    props.container.textContent = `hello word updated`;
  },
}

Metadata

Custom visualization metadata is a JavaScript object that defines configuration settings outside of rendering. Different visualization types support different configurations. For example, you can use the metadata for a custom component to configure features such as the data panel, style panel, and advanced panel. For more information, see the sections on specific visualization types.

// Example of custom component metadata
export default {
  propsSchema: {
    // Data panel configuration
    dataSchema: {},
    // Style panel configuration
    styleSchema: {},
    // ...
  }
}

Host

A host page in Quick BI is any page that integrates a custom visualization component.

Note
  • The same custom visualization component can be integrated into various host pages. For example, a "custom line chart" can appear on both a dashboard and a data dashboard.

  • A single host page can integrate the same custom visualization component only once, but it can create multiple instances of that component. For example, a dashboard can include multiple "custom line charts," each displaying distinct data from different datasets.

Asset Panel

The asset panel is the entry point in a Quick BI host page where you configure custom visualization components. Examples include the dashboard editor page and the enterprise portal configuration page.

  • Dashboard asset panelimage

  • Enterprise portal asset panelimage