Files
alfresco-ng2-components/lib/core/app-config/schema.json
Denys Vuika 07440731fa [ADF-2131] Search sorting (#3334)
* sorting configuration

* detect primary sorting and use with document list

* search results sorting

* docs update

* unit tests and code updates

* update code

* update code

* generic sorting picker, test updates

* ability to switch off client side sorting

* update docs for document list
2018-05-18 14:33:28 +01:00

647 lines
26 KiB
JSON

{
"$schema": "http://json-schema.org/schema",
"id": "https://github.com/Alfresco/alfresco-ng2-components/tree/master/lib/core/app-config/schema.json",
"title": "ADF Application config",
"description": "Configuration object for ADF components used by your application",
"definitions": {
"language": {
"description": "Language definition",
"type": "object",
"properties": {
"key": { "type": "string" },
"label": { "type": "string" }
}
},
"document-list-thumbnail": {
"description": "Document list's thumbnail image column definition",
"type": "object",
"required": [ "key", "type", "srTitle", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^\\$thumbnail$" },
"type": { "type": "string", "pattern": "^image$" },
"srTitle": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-name": {
"description": "Document list's name column definition",
"type": "object",
"required": [ "key", "type", "title", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^name$" },
"type": { "type": "string", "pattern": "^text$" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-title": {
"description": "Document list's title column definition",
"type": "object",
"required": [ "key", "type", "title", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^title$" },
"type": { "type": "string", "pattern": "^text$" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-visibility": {
"description": "Document list's visibility column definition",
"type": "object",
"required": [ "key", "type", "title", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^visibility$" },
"type": { "type": "string", "pattern": "^text$" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-path": {
"description": "Document list's path column definition",
"type": "object",
"required": [ "key", "type", "title", "format", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^path$" },
"type": { "type": "string", "pattern": "^location$" },
"title": { "type": "string" },
"format": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-modifiedAt": {
"description": "Document list's modifiedAt column definition",
"type": "object",
"required": [ "key", "type", "title", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^modifiedAt$" },
"type": { "type": "string", "pattern": "^date$" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-modifiedByUser": {
"description": "Document list's modifiedByUser column definition",
"type": "object",
"required": [ "key", "type", "title", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^modifiedByUser\\.displayName$" },
"type": { "type": "string", "pattern": "^text$" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-sharedByUser": {
"description": "Document list's sharedByUser column definition",
"type": "object",
"required": [ "key", "type", "title", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^sharedByUser\\.displayName$" },
"type": { "type": "string", "pattern": "^text$" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-filesize": {
"description": "Document list's path column definition",
"type": "object",
"required": [ "key", "type", "title", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^content\\.sizeInBytes$" },
"type": { "type": "string", "pattern": "^fileSize$" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-archivedAt": {
"description": "Document list's archivedAt column definition",
"type": "object",
"required": [ "key", "type", "title", "format", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^archivedAt$" },
"type": { "type": "string", "pattern": "^date$" },
"title": { "type": "string" },
"format": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"document-list-archivedBy": {
"description": "Document list's archivedBy column definition",
"type": "object",
"required": [ "key", "type", "title", "sortable" ],
"properties": {
"key": { "type": "string", "pattern": "^archivedByUser.displayName$" },
"type": { "type": "string", "pattern": "^text$" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
},
"content-metadata-aspect": {
"description": "Content metadata's aspect definition",
"type": "object",
"patternProperties": {
".*": {
"oneOf": [
{
"description": "Wildcard for every property",
"type": "string",
"pattern": "^\\*$"
},
{
"description": "Properties array",
"type": "array",
"items": {
"description": "Property name",
"type": "string"
}
}
]
}
}
},
"content-metadata-layout-group": {
"description": "Content metadata's layout groups definition",
"type": "array",
"items": [
{
"description": "Content metadata's one layout group definition",
"type": "object",
"required": [
"title",
"items"
],
"properties": {
"title": {
"type": "string",
"description": "Content metadata's one layout group definition's title"
},
"items": {
"type": "array",
"description": "Content metadata's one layout group definition's items",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"aspect",
"properties"
],
"properties": {
"aspect": {
"description": "Aspect group",
"type": "string"
},
"properties": {
"description": "Wildcard character",
"type": "string",
"pattern": "^\\*$"
}
}
},
{
"type": "object",
"required": [
"aspect",
"properties"
],
"properties": {
"aspect": {
"description": "Aspect group",
"type": "string"
},
"properties": {
"description": "list of aspect properties",
"type": "array"
}
}
},
{
"type": "object",
"required": [
"type",
"properties"
],
"properties": {
"type": {
"description": "Type group",
"type": "string"
},
"properties": {
"description": "Wildcard character",
"type": "string",
"pattern": "^\\*$"
}
}
},
{
"type": "object",
"required": [
"type",
"properties"
],
"properties": {
"type": {
"description": "Type group",
"type": "string"
},
"properties": {
"description": "list of type properties",
"type": "array"
}
}
}
]
}
}
}
}
]
}
},
"type": "object",
"properties": {
"ecmHost": {
"description": "ECM host",
"type": "string"
},
"contextRootEcm": {
"description": "The context root of the ECM host",
"type": "string"
},
"bpmHost": {
"description": "BPM host",
"type": "string"
},
"contextRootBpm": {
"description": "The context root of the BPM host",
"type": "string"
},
"application": {
"description": "Application's global configuration",
"type": "object",
"properties": {
"name": { "type": "string", "description": "Name of the application" }
}
},
"languages": {
"description": "Supported languages",
"type": "array",
"items": { "$ref": "#/definitions/language" }
},
"pagination": {
"description": "Pagination configuration",
"type": "object",
"properties": {
"size": { "type": "number", "description": "Pagination's default page size" },
"supportedPageSizes": {
"description": "Pagination's supported page sizes",
"type": "array",
"items": { "type": "number" }
}
}
},
"files": {
"description": "Configuration of rules applied to file upload",
"type": "object",
"properties": {
"excluded": {
"description": "File exclusions",
"type": "array",
"items": { "type": "string" }
}
}
},
"logLevel": {
"description": "Application's logging level",
"type": "string",
"enum": [ "trace", "debug", "info", "warn", "error", "silent" ]
},
"activiti": {
"type": "object"
},
"document-list": {
"description": "Document list configuration",
"type": "object",
"properties": {
"presets": {
"description": "Presets for document list component",
"type": "object",
"propertyNames": {
"enum": [ "-trashcan-", "-sites-", "-mysites-", "-favorites-", "-recent-", "-sharedlinks-", "default" ]
},
"patternProperties": {
".*": {
"description": "Document list's columns",
"type": "array",
"items": {
"oneOf": [
{ "$ref": "#/definitions/document-list-thumbnail" },
{ "$ref": "#/definitions/document-list-name" },
{ "$ref": "#/definitions/document-list-title" },
{ "$ref": "#/definitions/document-list-visibility" },
{ "$ref": "#/definitions/document-list-path" },
{ "$ref": "#/definitions/document-list-modifiedAt" },
{ "$ref": "#/definitions/document-list-modifiedByUser" },
{ "$ref": "#/definitions/document-list-sharedByUser" },
{ "$ref": "#/definitions/document-list-filesize" },
{ "$ref": "#/definitions/document-list-archivedAt" },
{ "$ref": "#/definitions/document-list-archivedBy" }
]
}
}
}
}
}
},
"adf-task-header": {
"description": "Task header component configuration",
"type": "object",
"properties": {
"presets": {
"description": "Presets for task header component",
"type": "object",
"properties": {
"properties": {
"type": "array",
"items": {
"enum": [ "assignee", "status", "priority", "dueDate", "category", "parentName", "created-by", "created", "id", "description", "formName" ]
}
}
}
}
}
},
"adf-task-list": {
"description": "Task list component configuration",
"type": "object",
"properties": {
"presets": {
"description": "Presets for task list component",
"type": "object",
"patternProperties": {
".*": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": { "type": "string" },
"type": { "type": "string" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
}
}
}
}
}
},
"adf-process-instance-header": {
"description": "Process instance header component configuration",
"type": "object",
"properties": {
"presets": {
"description": "Presets for process instance header component",
"type": "object",
"properties": {
"properties": {
"type": "array",
"items": {
"enum": [ "status", "ended", "category", "businessKey", "assignee", "created", "id", "description" ]
}
}
}
}
}
},
"adf-process-list": {
"description": "Process list component configuration",
"type": "object",
"properties": {
"presets": {
"description": "Presets for process list component",
"type": "object",
"patternProperties": {
".*": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": { "type": "string" },
"type": { "type": "string" },
"title": { "type": "string" },
"sortable": { "type": "boolean" }
}
}
}
}
}
}
},
"content-metadata": {
"description": "Content metadata component's configuration",
"type": "object",
"required": [ "presets" ],
"properties": {
"presets": {
"description": "Presets for content metadata component",
"type": "object",
"patternProperties": {
".*": {
"oneOf": [
{ "type": "string", "pattern": "^\\*$", "description": "Wildcard for every aspect"},
{ "$ref": "#/definitions/content-metadata-aspect" },
{ "$ref": "#/definitions/content-metadata-layout-group" }
]
}
}
}
}
},
"oauth2": {
"description": "AUTH configuration parameters",
"type": "object",
"required": [ "host", "clientId", "secret" ],
"properties": {
"host": { "type": "string" },
"authPath": { "type": "string" },
"clientId": { "type": "string" },
"secret": { "type": "string" }
}
},
"adf-version-manager": {
"description": "Configuration parameters for Version Manager component",
"type": "object",
"properties": {
"allowComments": { "type": "boolean" },
"allowDownload": { "type": "boolean" }
}
},
"search": {
"description": "Search configuration parameters",
"type": "object",
"required": [ "categories" ],
"properties": {
"include": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"fields": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"filterQueries": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [ "query" ],
"properties": {
"query": { "type": "string" }
}
}
},
"facetFields": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [ "field", "mincount", "label" ],
"properties": {
"field": {
"type": "string",
"description": "This specifies the facet field."
},
"mincount": {
"type": "number",
"description": "This specifies the minimum count required for a facet field to be included in the response. The default value is 1."
},
"label": {
"type": "string",
"description": "This specifies the label to include in place of the facet field."
},
"prefix": {
"type": "string",
"description": "This restricts the possible constraints to only indexed values with a specified prefix."
},
"limit": {
"type": "number",
"description": "Maximum number of results"
},
"pageSize": {
"type": "number",
"description": "Display page size"
},
"offset": { "type": "integer" }
}
}
},
"facetQueries": {
"type": "object",
"required": ["label", "queries"],
"properties": {
"label": {
"description": "Category label text",
"type": "string"
},
"pageSize": {
"description": "Default page size of the category",
"type": "number"
},
"expanded": {
"description": "Toggles expanded state of the category",
"type": "boolean"
},
"queries": {
"description": "List of custom facet queries",
"type": "array",
"items": {
"type": "object",
"required": [ "query", "label" ],
"properties": {
"query": { "type": "string" },
"label": { "type": "string" }
}
}
}
}
},
"categories": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [ "id", "name" ],
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"enabled": { "type": "boolean" },
"expanded": { "type": "boolean" },
"component": {
"type": "object",
"required": [ "selector", "settings" ],
"properties": {
"selector": {
"description": "Unique component runtime identifier",
"type": "string"
},
"settings": {
"description": "Component-specific settings",
"type": "object"
}
}
}
}
}
},
"sorting": {
"description": "Sorting options and defaults",
"required": ["options"],
"properties": {
"options": {
"type": "array",
"minItems": 1,
"items": {
"description": "Sorting options available for users to choose from",
"type": "object",
"required": ["key", "label", "type", "field", "ascending"],
"properties": {
"key": { "type": "string" },
"label": { "type": "string" },
"type": { "type": "string" },
"field": { "type": "string" },
"ascending": { "type": "boolean" }
}
}
},
"defaults": {
"description": "Predefined sorting to execute by default",
"options": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["key", "label", "type", "field", "ascending"],
"properties": {
"key": { "type": "string" },
"label": { "type": "string" },
"type": { "type": "string" },
"field": { "type": "string" },
"ascending": { "type": "boolean" }
}
}
}
}
}
}
}
}
}
}