{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://www.espocrm.com/schema/metadata/app/client.json", "title": "app/navbar", "description": "Navbar definitions.", "type": "object", "properties": { "items": { "description": "Navbar item definitions.", "type": "object", "additionalProperties": { "description": "An item.", "type": "object", "properties": { "view": { "type": "string", "description": "A view." }, "class": { "type": "string", "description": "A CSS class." }, "order": { "type": "integer", "description": "An order position." }, "disabled": { "type": "boolean", "description": "To disable." } } } }, "menuItems": { "description": "Menu item definitions.", "type": "object", "additionalProperties": { "description": "An item.", "type": "object", "properties": { "labelTranslation": { "type": "string", "description": "A label translation path." }, "link": { "type": "string", "description": "A link." }, "order": { "type": "integer", "description": "An order position." }, "groupIndex": { "type": "integer", "description": "A group index. Groups are separated by a divider." }, "disabled": { "type": "boolean", "description": "An item will be hidden." }, "handler": { "type": "string", "description": "A handler class." }, "actionFunction": { "type": "string", "description": "An action function in the handler." }, "configCheck": { "type": "string", "description": "A config path to check. Path items are separated by a dot. If a config value is not empty, then the action is allowed. The `!` prefix reverses the check." }, "accessDataList": { "$ref": "../clientDefs.json#/definitions/accessDataList" } } } } } }