Top Menu Entry
TopMenu is an API for registering entry in the Nextcloud Top Menu for ExApps. AppAPI takes responsibility to register TopMenu and proxy all requests to ExApp.
Note
TopMenu rendered only for enabled ExApps.
Register Menu Entry
OCS endpoint: POST /apps/app_api/api/v1/ui/top-menu
Params
Complete list of params (including optional):
{
"name": "unique_name_of_top_menu",
"displayName": "Display name",
"icon": "img/icon.svg",
"adminRequired": "0 or 1",
}
Note
icon
are relative to the ExApp root, starting slash is not required.
Optional params
icon - Url to icon, default: null
adminRequired - Value indicating should be Entry visible to all or only to admins.
Unregister Menu Entry
OCS endpoint: DELETE /apps/app_api/api/v1/ui/top-menu
Params
To unregister TopMenu, you just need to provide name of registered TopMenu:
{
"name": "unique_name_of_top_menu"
}
Set Initial state
OCS endpoint: POST /apps/app_api/api/v1/ui/initial-state
Params
{
"type": "top_menu",
"name": "unique_name_of_top_menu",
"key": "key_name",
"value": "array with value(s)",
}
Remove Initial state
OCS endpoint: DELETE /apps/app_api/api/v1/ui/initial-state
Params
{
"type": "top_menu",
"name": "unique_name_of_top_menu",
"key": "key_name",
}
Add script
OCS endpoint: POST /apps/app_api/api/v1/ui/script
Params
{
"type": "top_menu",
"name": "unique_name_of_script",
"path": "Url to script, e.g.: js/ui_example-main",
"afterAppId": "optional value",
}
Note
Url to script is relative to the ExApp root, starting slash is not required, “.js” extension is not needed and will be appended automatically by server.
Remove script
OCS endpoint: DELETE /apps/app_api/api/v1/ui/script
Params
{
"type": "top_menu",
"name": "unique_name_of_script",
"path": "Url to script",
}
Add style
OCS endpoint: POST /apps/app_api/api/v1/ui/style
Params
{
"type": "top_menu",
"name": "unique_name_of_style",
"path": "Url to style, e.g.: css/my-style",
}
Note
Url to style is relative to the ExApp root, starting slash is not required, “.css” extension is not needed and will be appended automatically by server.
Remove style
OCS endpoint: DELETE /apps/app_api/api/v1/ui/style
Params
{
"type": "top_menu",
"name": "unique_name_of_style",
"path": "Url to style",
}