%PDF- %PDF-
| Direktori : /www/varak.net/nextcloud.varak.net/apps/app_api/docs/tech_details/api/ |
| Current File : /www/varak.net/nextcloud.varak.net/apps/app_api/docs/tech_details/api/topmenu.rst |
.. _top_menu_section:
==============
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):
.. code-block:: json
{
"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:
.. code-block:: json
{
"name": "unique_name_of_top_menu"
}
Set Initial state
^^^^^^^^^^^^^^^^^
OCS endpoint: ``POST /apps/app_api/api/v1/ui/initial-state``
Params
******
.. code-block:: json
{
"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
******
.. code-block:: json
{
"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
******
.. code-block:: json
{
"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
******
.. code-block:: json
{
"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
******
.. code-block:: json
{
"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
******
.. code-block:: json
{
"type": "top_menu",
"name": "unique_name_of_style",
"path": "Url to style",
}