Skip to main content

What’s New

Qrvey 8.7
Version 8.7 of the Qrvey platform is now available to customers! This version includes new features including area charts, the ability to pivot and export data, as well as numerous bug fixes and performance improvements.
Learn More
Qrvey 8.6
Version 8.6 of the Qrvey platform is now available to customers. This version includes several new feature enhancements and performance improvements.
Learn More
Required Update for 8.5.1
Attention 8.5.1 customers: for any 8.5.1 instance deployed prior to 08/05/2024, an update is required to ensure you are running the latest images.
Learn More
Qrvey 8.5
Version 8.5 (LTS) of the Qrvey platform is now available to customers. This version includes several new features and performance improvements.
Learn More
End-of-life Schedule
We've added a new article that lists the features and endpoints that have been scheduled for deprecation. All features and endpoints will be supported for (1) year after the release date of the LTS version that contains the alternative.
Learn More
Version: 8.0

Dashboard View Widget

The Dashboard View widget (previously known as “Page View widget”) is used to add the published dashboard, or collection of dashboards, in a product that embeds this widget. The widget is meant to be used by the end users, who don’t need dashboard creation ability provided in the Dashboard Builder widget. Dashboards may contain embedded reports and web forms, as well as other static content.

Like all widgets, this widget has an HTML tag, a launcher script, and a configuration object that needs to be added to the code of any page that embeds it and the necessary property values have to be provided for it to work properly.

Depending on whether a single, specific published dashboard needs to be embedded or all of the published dashboards, the code can be found in two different places:

  • In order to embed all of the published dashboards, you can find and copy the necessary piece of code by going to the Dashboard Builder section of Qrvey Composer and clicking on the “Embedding Options” button in the top right corner of the page and selecting the “Embed Dashboard View” option.

    page-view-widget

This will open a dialog with the necessary code, including the “domain” and property values. You can copy the code from here and include it in your application. You have to provide the unique API key value.

  • To embed an individual dashboard, you will also need the page_id value. For this use case you can navigate to the desired page and click on the three-dot menu of the page at the bottom of the screen and select the “Embed Page” option. The code will be very similar to the previous case but include the page_id property of the selected page.

    page-view-widget

The building blocks of the code are explained below.

HTML Tag And Launcher

The HTML tag for this widget is:

<qrvey-end-user settings=...>

You can use the following script to launch this widget:

<[your-widget-url]/widgets-launcher/app.js>

Configuration Object

The table below provides general information about each property of this widget’s configuration object, along with a description of the expected value. The Required column indicates whether the property is required for the configuration object to work properly.

PropertyValueRequired
api_keyString, secret identification token to access the application.Yes
app_idString, ID of the Qrvey application containing the web form.Yes
domainString, Qrvey Core URL.Yes
group_listArray<String>, collection of IDs/names of the groups created in User Management.No
page_idString, ID of one page to visualize it: all auth process is still required if the configuration exists.No
userFiltersArray<Object>, collection of custom filters that the system will apply to the visualized data. Please see Working With Filters in Embedded Scenarios for more details on how to create a filter object.No
filter_panel_default_viewString, Decides the default state of the side filter panel, if it’s been added to the view. It can be set to ‘open’ or ‘closed’. The default value is closed.No
fit_panel_buttonBoolean, Show the fit to panel button on the panels. Default value is true.No
personalizationObject, JSON object to configure and overwrite the default personalization settings. Please see the section about Configuring End User Personalization for more details.No
stylesObject, JSON object configuring style options that can be used to override the default styles, allowing for while-labeling the widget. Please see the Overriding the Default Styles section for more details.No
featurePermissionObject, JSON object to configure which features are or are not available in the widget. Presently it only supports showing and hiding of the pages bar, where the pages appear as tabs at the bottom of the widget.*
The object’s structure is:
featurePermission:{
  pagesAndApplication{
   hidePagesBar: true // or false (default)
  }
}
No

Note: Refer to the FAQs if you don’t know where to find any of the required configuration properties.

Hiding Features

Show or hide any feature you don’t require for your embedded use cases by setting a property to true or false which creates a customized version of the Dashboard Builder widget.

You can hide all the features mentioned in the table below If you set the Liteversion property to true.

widgetConfig = {
domain: "DOMAIN",
appid: "APP_ID",
userid: "USER_ID",
featurePermission: {
liteVersion: true,
},
}

If you want to hide all properties except a specific one, set the liteVersion feature to true and the exception you want to show to false. This will show only that specified property.

widgetConfig = {
domain: "DOMAIN",
appid: "APP_ID",
userid: "USER_ID",
featurePermission: {
liteVersion: true,
userManagement:{
hideUserManagementTab: false
}
},
}
PropertyDescriptionTypeDefaultRequired
featurePermissionMain property of this feature.ObjectN/ANo
navigationDefine navigation-related features that can be hiddenObjectN/ANo
hideNavigationTabHide the entry method to the navigation tab in the top bar of the widgetBooleanfalseNo
userManagementDefine user management related features that can be hiddenObjectN/ANo
hideUserManagementTabHide the entry method to the user management tab in the top bar of the widgetBooleanfalseNo
pagesAndApplicationDefine pages and application-related features that can be hiddenObjectN/ANo
hidePublishAppButtonHide button “Unpublish”/”publish application”BooleanfalseNo
hidePublishPageButtonHide button “publish page”BooleanfalseNo
hideCopyPageLinkHide the UI interfaces where the user can get the link of a pageBooleanfalseNo
hideLaunchButtonHide the button to access the page viewBooleanfalseNo
hideCreateManagePagesHide all options to create pagesBooleanfalseNo
hidePageStatusHide Text “status”BooleanFalseNo
hidePagesBarHide bottom bar pagesBooleanFalseNo
LiteVersionHide all elements that are managed by feature permissionsBooleanfalseNo
canvasDefine canvas related features that can be hiddenObjectN/ANo
hideManageCanvasHide the following options: Grid, Responsive View, Discard Changes.BooleanfalseNo

Configuring End User Personalization

By default, the Dashboard View widget supports end user personalization for all authenticated users. Use the following guide to configure and override the default settings.

Note: End user personalization feature relies on the user being authenticated and needs the clientid property set for the logged-in user. The property’s value should represent a unique identifier for each end-user, as Qrvey uses it as a key to store any personalization made. Using the same clientid value for multiple end-users will result in the users’ personalized versions being overridden by each other. Please see the Embedding Widgets Using a Security Token property set for the logged-in user.

PropertyDescriptionTypeDefaultRequired
enabledTurn personalization on/off for end users. When disabled, all of the properties in the personalization object, other than the fit_panel_button property will be omitted.booleantrueNo
add_filterWhen set to true, all “add filter” buttons will be visible to allow users to create new filters from the filter modal, the filter panel, and filter interactivity page components.booleantrueNo
edit_chartAllow authenticated users to edit charts by clicking the “Edit” button in the panels' three-dot menu.booleantrueNo
download_dataAllow users to download the page and panel data in CSV and PDF formatsbooleantrueNo
edit_pageAllow authenticated users to go into edit mode, where the page builder widget will be displayed. Users will see an “edit page” icon in the floating three-dot menu.booleantrueNo
remove_chartAllow users to remove charts from the page, when in edit modebooleantrueNo
rearrange_chartAllow users to rearrange the chart panels, when in edit modebooleantrueNo

Overriding the Default Styles

The styles object can be used to configure css settings of the Dashboard View widget, allowing the widget to be used in multi-tenant environments, and other white-labeling scenarios. All of the style properties listed in the following table have to be housed inside the pageView object, under styles like the following example:

        styles: {
pageView: {
canvasTextFontFamily: 'Roboto, sans-serif',
canvasTextFontWeight: 'normal',
canvasTextFontSize: '12px',
canvasTextFontColor: 'blue',
canvasTextBackgroundColor: 'white',
canvasTextAlign: 'left'
}
}

All values are of string type and none are required.

PropertyValuesTarget
canvasButtonBackgroundColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'button
canvasButtonFontColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'button
canvasDatepickerFontFamilyGroups of values:
'Roboto, sans-serif'
'Georgia, serif'
'Palatino Linotype, Book Antiqua, Palatino, serif'
'Times New Roman, Times, serif'
'Arial, Helvetica, sans-serif'
'Arial Black, Gadget, sans-serif'
'Comic Sans MS, cursive, sans-serif'
'Impact, Charcoal, sans-serif'
'Lucida Sans Unicode, Lucida Grande, sans-serif'
'Tahoma, Geneva, sans-serif'
'Trebuchet MS, Helvetica, sans-serif'
'Verdana, Geneva, sans-serif'
'Courier New, Courier, monospace'
'Lucida Console, Monaco, monospace'
datepicker
canvasDatepickerFontColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'datepicker
canvasDatepickerIconSelectorsColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'datepicker
canvasValuelistFontFamilyGroups of values:
'Roboto, sans-serif'
'Georgia, serif'
'Palatino Linotype, Book Antiqua, Palatino, serif'
'Times New Roman, Times, serif'
'Arial, Helvetica, sans-serif'
'Arial Black, Gadget, sans-serif'
'Comic Sans MS, cursive, sans-serif'
'Impact, Charcoal, sans-serif'
'Lucida Sans Unicode, Lucida Grande, sans-serif'
'Tahoma, Geneva, sans-serif'
'Trebuchet MS, Helvetica, sans-serif'
'Verdana, Geneva, sans-serif'
'Courier New, Courier, monospace'
'Lucida Console, Monaco, monospace'
valuelist
canvasValuelistFontColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'valuelist
canvasValuelistIconSelectorsColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'valuelist
canvasTextFontFamilyGroups of values:
, sans-serif'
'Georgia, serif'
'Palatino Linotype, Book Antiqua, Palatino, serif'
'Times New Roman, Times, serif'
'Arial, Helvetica, sans-serif'
'Arial Black, Gadget, sans-serif'
'Comic Sans MS, cursive, sans-serif'
'Impact, Charcoal, sans-serif'
'Lucida Sans Unicode, Lucida Grande, sans-serif'
'Tahoma, Geneva, sans-serif'
'Trebuchet MS, Helvetica, sans-serif'
'Verdana, Geneva, sans-serif'
'Courier New, Courier, monospace'
'Lucida Console, Monaco, monospace'
textbox
canvasTextFontWeightAll CSS supported values (names of numbers)
'bold', 'bolder', 200, 400textbox
canvasTextFontSizeAll CSS supported values
'10px', '10em', '10rem', '10%', 'large', 'small'
textbox
canvasTextFontColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'textbox
canvasTextBackgroundColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'textbox
canvasTextAlignright, 'center', 'left'textbox
canvasImageAspect‘cover’, ‘contain’, ‘fill’image
navigationBackgroundColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'navigation bar
navigationElementsColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'navigation bar
tabsBackgroundColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'tabs bar
tabsFontColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'tabs bar
tabsBorderColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'tabs bar
tabSizeAll CSS supported values'10px', '10em', '10rem', '10%'tabs bar
selectedTabBarColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'tabs bar
canvasBackgroundColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'page
pageViewButtonBackgroundColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'floating button (bottom right)
pageViewButtonIconColorAll CSS supported values (color names or Hex), '#000000', 'green', 'GREEN'floating button (bottom right)

Events

The widget supports custom events to update keys of the configuration, you can dispatch an event using your own user interface to modify the behavior.

  • atApplyUserFilters: Enables changes to the “builderFilters” property - the expected value for this property is a reduced version of the filter object. This property is a collection of objects that includes:
    • Operator: defines which operation will be performed with the expressions.
    • Expressions: a collection of objects that contains the questions/column reference, the type of operation applied to the questions, and the values that will be used for filtering.

Sample

The following sample shows the way this widget is used in an HTML page. Please note, that the example may not include the non-required properties of the configuration object.

You can copy and paste this code to your application, after replacing the red values with your own valid values, in order to see the embedded widget in action.

<qrvey-end-user settings="config"></qrvey-end-user>

<script>
var config = {
"api_key": "<API_KEY>", // your API key
"app_id": "<APP_ID>", // your app_id
"domain": "https://your_qrvey_domain", // your domain
"group_list": ["Admin", "oJn4Cr_yV", ...], //your group list, if any (this is optional)
"page_id": "<PAGE_ID>", // the id of the page that you want in the view. All pages in navigation will be included, if this is omitted.
"userFilters": { "filters": [
{
"operator": "AND",
"expressions": [
{
"questionid": "aQc13F",
"validationType": "EQUAL",
"value": ["January"]
}
]
}
]
} // your filters, if any, can be added like this.
}
</script>


<!-- your launcher js link (replace with your js link) -->
<script type="text/javascript" src="https://<WIDGETS_URL>/widgets-launcher/app.js"></script>