Function: ApplicationMenu(config)
Creates an Application Menu (sys_app_application).
Parameters
config
ApplicationMenu
an object containing the following properties:
Properties:
-
$id (required):
string | number | ExplicitKey<string> -
title (required):
stringThe label for the menu in the application navigator. -
$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 menu is enabled. -
category (optional):
string | Record<'sys_app_category'>The menu category that defines the navigation menu style. -
description (optional):
stringAdditional information about what the application does. -
hint (optional):
stringThe tooltip text that appears when a user hovers over the menu. -
name (optional):
stringAn internal name to differentiate between applications with the same title. -
order (optional):
numberThe relative position of the application menu in the application navigator. -
roles (optional):
(string | Role)[]A list ofRoleobjects or names of roles that can access the menu.
See
Examples
Basic Application Menu
Create an application menu with role-based access
/**
* @title Basic Application Menu
* @description Create an application menu with role-based access
*/
import { ApplicationMenu, Role } from '@servicenow/sdk/core'
export const activity_admin = Role({
name: 'x_appmenu.activity_admin',
description: 'Activity admin role',
})
export const menu = ApplicationMenu({
$id: Now.ID['My App Menu'],
title: 'My App Menu',
hint: 'This is a hint',
description: 'This is a description',
roles: [activity_admin],
active: true,
})
Multiple Application Menus
Create multiple application menus under the same category
/**
* @title Multiple Application Menus
* @description Create multiple application menus under the same category
*/
import { ApplicationMenu, Record } from '@servicenow/sdk/core'
export const appCategory = Record({
$id: Now.ID['sys_app_category_my_app'],
table: 'sys_app_category',
data: {
name: 'My App Category',
style: 'border: 1px solid #96bcdc; background-color: #FBFBFB;',
default_order: 100,
},
})
export const menu = ApplicationMenu({
$id: Now.ID['My App Menu'],
title: 'My App Menu',
hint: 'This is a hint',
description: 'This is a description',
category: appCategory,
active: true,
})
export const menu2 = ApplicationMenu({
$id: Now.ID['Menu 2'],
title: 'Menu 2',
hint: 'hint 2',
description: 'This is a description',
category: appCategory,
active: true,
})
Application Menu with Category
Create an application menu linked to a custom category
/**
* @title Application Menu with Category
* @description Create an application menu linked to a custom category
*/
import { ApplicationMenu, Record, Role } from '@servicenow/sdk/core'
export const appCategory = Record({
$id: Now.ID['sys_app_category_my_app'],
table: 'sys_app_category',
data: {
name: 'My App Category',
style: 'border: 1px solid #96bcdc; background-color: #FBFBFB;',
default_order: 100,
},
})
export const activity_admin = Role({
name: 'x_appmenu.activity_admin',
description: 'my role description',
})
export const menu = ApplicationMenu({
$id: Now.ID['My App Menu'],
title: 'My App Menu',
hint: 'This is a hint',
description: 'This is a description',
category: appCategory,
roles: [activity_admin],
active: true,
})