Dynamic Layout Management in SurveyJS Dashboard

Dynamic layout management is an interactive feature that automatically arranges dashboard items and allows users to customize the layout by showing or hiding items and repositioning them via drag-and-drop.

Supported Visualization Types

Dynamic layout management is available for all visualization types.

Show and Hide Items

To hide a dashboard item, click the X button in its top-right corner.

Hide a dashboard item

All items—both visible and hidden—are listed in the All questions drop-down menu in the toolbar. Use this menu to control visibility by selecting or clearing individual checkboxes, or by clicking Select all or Clear selection.

"All questions" dropdown

View Demo

In code, item visibility is controlled by the visible property. You can define it when configuring the items array or update it at runtime via the getItem() method:

import { Dashboard } from "survey-analytics";

const dashboard = new Dashboard({
  questions: [ /* Survey questions to visualize */ ],
  data: [ /* Survey responses to aggregate */ ],
  items: [
    {
      name: "question1",
      visible: false
    },
    // ...
  ]
});

dashboard.getItem("question1").visible = true;

To prevent users from changing item visibility at runtime, set the allowHideQuestions property to false:

import { Dashboard } from "survey-analytics";

const dashboard = new Dashboard({
  questions: [ /* ... */ ],
  data: [ /* ... */ ],
  items: [ /* ... */ ],
  allowHideQuestions: false // Disables visibility changes
});

Reorder Items (Drag and Drop)

To reposition a dashboard item, drag it using the handle located at its center.

Item drag-and-drop in SurveyJS Dashboard

View Demo

In code, you can control item order by arranging entries in the items array. Items are laid out row by row (not column by column), so their order in the array determines their placement:

import { Dashboard } from "survey-analytics";

const dashboard = new Dashboard({
  questions: [ /* ... */ ],
  data: [ /* ... */ ],
  items: [
    "question1", "question2",
    "question3", "question4",
    "question5", "question6",
    // ...
  ]
});

Other Interactive UI Features

Send feedback to the SurveyJS team

Need help? Visit our support page

Your cookie settings

We use cookies to make your browsing experience more convenient and personal. Some cookies are essential, while others help us analyse traffic. Your personal data and cookies may be used for ad personalization. By clicking “Accept All”, you consent to the use of all cookies as described in our Terms of Use and Privacy Statement. You can manage your preferences in “Cookie settings.”

Your renewal subscription expires soon.

Since the license is perpetual, you will still have permanent access to the product versions released within the first 12 month of the original purchase date.

If you wish to continue receiving technical support from our Help Desk specialists and maintain access to the latest product updates, make sure to renew your subscription by clicking the "Renew" button below.

Your renewal subscription has expired.

Since the license is perpetual, you will still have permanent access to the product versions released within the first 12 month of the original purchase date.

If you wish to continue receiving technical support from our Help Desk specialists and maintain access to the latest product updates, make sure to renew your subscription by clicking the "Renew" button below.