Function: Dashboard(config)
Creates a Dashboard (par_dashboard).
Usage
Dashboard({
$id: Now.ID['my-dashboard'],
name: 'My Dashboard',
tabs: [
{
$id: Now.ID['tab-1'],
name: 'Overview',
widgets: [
{
$id: Now.ID['widget-1'],
component: 'component-id',
componentProps: { key: 'value' },
height: 12,
width: 12,
position: {
x: 0,
y: 0,
}
},
],
},
],
permissions: [
{
$id: Now.ID['perm-1'],
user: 'user-sys-id',
canRead: true,
canWrite: true,
canShare: true,
owner: true,
},
],
visibilities: [],
})
Parameters
config
Dashboard
an object containing the following properties:
Properties:
-
$id (required):
string | number | ExplicitKey<string> -
name (required):
stringName of the dashboard -
$meta (optional):
object- installMethod:
'first install' | 'demo'Map a record to an output folder that loads only in specific circumstances. 'first install' - > 'unload', 'demo' -> 'unload.demo'
- installMethod:
-
active (optional):
booleanWhether the dashboard is active (defaults to true) -
permissions (optional):
DashboardPermission[]Array of user permissions for the dashboard -
tabs (optional):
DashboardTab[]Array of tabs in the dashboard -
topLayout (optional):
DashboardTopLayoutArray of top-level widgets (displayed outside of tabs) -
visibilities (optional):
DashboardVisibility[]Array of visibility rules for the dashboard
See
Examples
dashboard-basic
// Source: packages/api/tests/dashboard-plugin/dashboard-plugin.test.ts
import { Dashboard } from '@servicenow/sdk/core'
export const BasicDashboardExample = Dashboard({
$id: Now.ID['basic-dashboard'],
name: 'Test Dashboard',
tabs: [
{
$id: Now.ID['overview-tab'],
name: 'Overview',
widgets: [
{
$id: Now.ID['widget-1'],
component: '23051643b7e03010097cb81cde11a910',
componentProps: {
selectedElements: [],
chartVariation: 'stacked',
},
height: 12,
width: 12,
position: { x: 0, y: 0 },
},
],
},
],
visibilities: [],
permissions: [],
})
dashboard-with-permissions
// Source: packages/api/tests/dashboard-plugin/dashboard-plugin.test.ts
import { Dashboard } from '@servicenow/sdk/core'
export const DashboardWithPermissionsExample = Dashboard({
$id: Now.ID['secure-dashboard'],
name: 'Secure Dashboard',
tabs: [],
visibilities: [],
permissions: [
{
$id: Now.ID['user-permission'],
canRead: true,
canShare: true,
canWrite: true,
owner: true,
user: Now.ref('sys_user', { sys_id: '6816f79cc0a8016401c5a33be04be441' }),
},
{
$id: Now.ID['group-permission'],
group: Now.ref('sys_user_group', { sys_id: 'abc123def456group' }),
canRead: true,
canWrite: false,
canShare: false,
owner: false,
},
{
$id: Now.ID['role-permission'],
role: Now.ref('sys_user_role', { sys_id: 'xyz789abc012role' }),
canRead: true,
canWrite: true,
canShare: false,
owner: false,
},
],
})
dashboard-with-visibilities
// Source: packages/api/tests/dashboard-plugin/dashboard-plugin.test.ts
import { Dashboard } from '@servicenow/sdk/core'
export const DashboardWithVisibilitiesExample = Dashboard({
$id: Now.ID['visible-dashboard'],
name: 'Visible Dashboard',
tabs: [],
visibilities: [
{
$id: Now.ID['visibility-1'],
experience: Now.ref('sys_ux_page_registry', { sys_id: 'abc123def456789' }),
},
],
permissions: [],
})