mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-05-12 17:04:46 +00:00
* delete action * library path evaluator * extension for sharing files * upload actions * delete library * use extensions for experimental library actions * unshare nodes * fix icons and titles * "create menu" backed by core extension * support for descriptions, update upload selector * update code and tests * support disabled tooltips for navbar * fix selector * [ACA-1486] remove double fetch call * migrate to trashcan actions, element IDs * cleanup code, remove deprecated directives * add/remove favorite * improve rendering performance * update favorites without reload * support for adding Sites to favorites * disable favorites for Libraries for now * copy action * move node * manage versions and permissions * cleanup code * toggle info drawer * card view mode * use extension layer for favorites toolbar * fix menu tooltips * fix 'remove as favorite' tests * update tests * test fixes * fix edit folder for favorites * fix test * cleanup favorites layout * upgrade recent files layout * update evaluators for shared nodes * test fixes * test fixes * restore recent files layout * workaround for "favorite" toggle and recent files * upgrade shared files page * upgrade files page layout * fix library evaluator * workaround for shared files and permissions * cleanup code * upgrade search results * upgrade sidebar and viewer actions * code cleanup * code cleanup * code cleanup
325 lines
12 KiB
JSON
325 lines
12 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://github.com/Alfresco/alfresco-content-app/blob/development/extension.schema.json",
|
|
"title": "ACA Extension Schema",
|
|
"description": "Provides a validation schema for ACA extensions",
|
|
|
|
"definitions": {
|
|
"ruleRef": {
|
|
"type": "object",
|
|
"required": ["id", "type"],
|
|
"properties": {
|
|
"id": {
|
|
"description": "Unique rule definition id",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "Rule evaluator type",
|
|
"type": "string"
|
|
},
|
|
"parameters": {
|
|
"description": "Rule evaluator parameters",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/ruleParameter" },
|
|
"minItems": 1
|
|
}
|
|
}
|
|
},
|
|
"ruleParameter": {
|
|
"type": "object",
|
|
"required": ["type", "value"],
|
|
"properties": {
|
|
"type": {
|
|
"description": "Rule parameter type",
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"description": "Rule parameter value",
|
|
"type": "string"
|
|
},
|
|
"parameters": {
|
|
"description": "Parameters",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/ruleParameter" },
|
|
"minItems": 1
|
|
}
|
|
}
|
|
},
|
|
"routeRef": {
|
|
"type": "object",
|
|
"required": ["id", "path", "component"],
|
|
"properties": {
|
|
"id": {
|
|
"description": "Unique route reference identifier.",
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"description": "Route path to register.",
|
|
"type": "string"
|
|
},
|
|
"component": {
|
|
"description": "Unique identifier for the Component to use with the route.",
|
|
"type": "string"
|
|
},
|
|
"layout": {
|
|
"description": "Unique identifier for the custom layout component to use.",
|
|
"type": "string"
|
|
},
|
|
"auth": {
|
|
"description": "List of the authentication guards to use with the route.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minLength": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"data": {
|
|
"description": "Custom data to pass to the activated route so that your components can access it",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"actionRef": {
|
|
"type": "object",
|
|
"required": ["id", "type"],
|
|
"properties": {
|
|
"id": {
|
|
"description": "Unique action identifier",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "Action type",
|
|
"type": "string"
|
|
},
|
|
"payload": {
|
|
"description": "Action payload value (string or expression)",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"contentActionRef": {
|
|
"type": "object",
|
|
"required": ["id", "type"],
|
|
"properties": {
|
|
"id": {
|
|
"description": "Unique action identifier.",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "Element type",
|
|
"type": "string",
|
|
"enum": ["default", "button", "separator", "menu", "custom"]
|
|
},
|
|
"title": {
|
|
"description": "Element title",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"description": "Element description, used for the tooltips.",
|
|
"type": "string"
|
|
},
|
|
"description-disabled": {
|
|
"description": "Description to use when element is in the disabled state.",
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"description": "Element order",
|
|
"type": "number"
|
|
},
|
|
"icon": {
|
|
"description": "Element icon",
|
|
"type": "string"
|
|
},
|
|
"disabled": {
|
|
"description": "Toggles disabled state",
|
|
"type": "boolean"
|
|
},
|
|
"component": {
|
|
"description": "Custom component id (requires type to be 'custom')",
|
|
"type": "string"
|
|
},
|
|
"children": {
|
|
"description": "Child entries for the container types.",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/contentActionRef" },
|
|
"minItems": 1
|
|
},
|
|
"actions": {
|
|
"description": "Element actions",
|
|
"type": "object",
|
|
"properties": {
|
|
"click": {
|
|
"description": "Action reference for the click handler",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"rules": {
|
|
"description": "Element rules",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"description": "Rule to evaluate the enabled state",
|
|
"type": "string"
|
|
},
|
|
"visible": {
|
|
"description": "Rule to evaluate the visibility state",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"navBarLinkRef": {
|
|
"type": "object",
|
|
"required": ["id", "icon", "title", "route"],
|
|
"properties": {
|
|
"id": {
|
|
"description": "Unique identifier",
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"description": "Element icon",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"description": "Element title",
|
|
"type": "string"
|
|
},
|
|
"route": {
|
|
"description": "Route reference identifier",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"description": "Element description or tooltip",
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"description": "Element order",
|
|
"type": "number"
|
|
},
|
|
"disabled": {
|
|
"description": "Toggles the disabled state",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"navBarGroupRef": {
|
|
"type": "object",
|
|
"required": ["id", "items"],
|
|
"properties": {
|
|
"id": {
|
|
"description": "Unique identifier for the navigation group",
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"description": "Navigation group items",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/navBarLinkRef" },
|
|
"minItems": 1
|
|
},
|
|
"order": {
|
|
"description": "Group order",
|
|
"type": "number"
|
|
},
|
|
"disabled": {
|
|
"description": "Toggles the disabled state",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
"type": "object",
|
|
"required": ["$name", "$version"],
|
|
"properties": {
|
|
"$name": {
|
|
"description": "Extension name",
|
|
"type": "string"
|
|
},
|
|
"$version": {
|
|
"description": "Extension version",
|
|
"type": "string"
|
|
},
|
|
"$description": {
|
|
"description": "Brief description on what the extension does"
|
|
},
|
|
"$references": {
|
|
"description": "References to external files",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"rules": {
|
|
"description": "List of rule definitions",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/ruleRef" },
|
|
"minItems": 1
|
|
},
|
|
"routes": {
|
|
"description": "List of custom application routes",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/routeRef" },
|
|
"minItems": 1
|
|
},
|
|
"actions": {
|
|
"description": "List of action definitions",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/actionRef" },
|
|
"minItems": 1
|
|
},
|
|
"features": {
|
|
"description": "Application-specific features and extensions",
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"description": "The [New] menu component extensions",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/contentActionRef" },
|
|
"minItems": 1
|
|
},
|
|
"viewer": {
|
|
"description": "Viewer component extensions",
|
|
"type": "object",
|
|
"properties": {
|
|
"openWith": {
|
|
"description": "The [Open With] menu extensions",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/contentActionRef" },
|
|
"minItems": 1
|
|
},
|
|
"actions": {
|
|
"description": "Content actions (toolbar, context menus, etc.)",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/contentActionRef" },
|
|
"minItems": 1
|
|
}
|
|
}
|
|
},
|
|
"navbar": {
|
|
"description": "Navigation bar extensions",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/navBarGroupRef" },
|
|
"minItems": 1
|
|
},
|
|
"content": {
|
|
"description": "Main application content extensions",
|
|
"type": "object",
|
|
"properties": {
|
|
"actions": {
|
|
"description": "Content actions (toolbar, context menus, etc.)",
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/contentActionRef" },
|
|
"minItems": 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|