From 68ded23c9af361fa719a447b5def40131719f0df Mon Sep 17 00:00:00 2001
From: Andy Stark <30621568+therealandeeee@users.noreply.github.com>
Date: Tue, 13 Feb 2018 22:44:47 +0000
Subject: [PATCH] [ADF-1769] Added JSDocs to services (#2937)
* [ADF-1769] Added JSDocs to services
* Removed JSDoc return directives from doc comments
---
docs/folder-actions.service.md | 13 ++
docs/form-rendering.service.md | 21 +--
docs/form.service.md | 128 ++++++++++++++----
docs/highlight-transform.service.md | 7 +-
docs/nodes-api.service.md | 53 +++++---
.../services/folder-actions.service.ts | 13 ++
lib/core/form/services/form.service.ts | 96 +++++++++++--
.../dynamic-component-mapper.service.ts | 16 +++
.../services/highlight-transform.service.ts | 6 +
lib/core/services/nodes-api.service.ts | 41 ++++++
10 files changed, 331 insertions(+), 63 deletions(-)
diff --git a/docs/folder-actions.service.md b/docs/folder-actions.service.md
index 60720e83fb..396cb45bd9 100644
--- a/docs/folder-actions.service.md
+++ b/docs/folder-actions.service.md
@@ -2,6 +2,19 @@
Implements the folder menu actions for the Document List component.
+## Methods
+
+- `getHandler(key: string): ContentActionHandler`
+ Gets the handler function for an action.
+ - `key` - Identifier for the action
+- `setHandler(key: string, handler: ContentActionHandler): boolean`
+ Sets a new handler function for an action.
+ - `key` - Identifier for the action
+ - `handler` - The new handler function
+- `canExecuteAction(obj: any): boolean`
+ Checks if an action is available for a particular item.
+ - `obj` - Item to check
+
## Details
This service implements the built-in actions that can be applied to a folder
diff --git a/docs/form-rendering.service.md b/docs/form-rendering.service.md
index fa2f47662b..7f43b5876e 100644
--- a/docs/form-rendering.service.md
+++ b/docs/form-rendering.service.md
@@ -4,14 +4,19 @@ Maps an APS form field type string onto the corresponding form widget component
## Methods
-`getComponentTypeResolver(fieldType: string, defaultValue: Type<{}> = UnknownWidgetComponent): ComponentTypeResolver`
-Gets the currently active ComponentTypeResolver function for a field type.
-
-`setComponentTypeResolver(fieldType: string, resolver: ComponentTypeResolver, override: boolean = false)`
-Sets or optionally replaces a ComponentTypeResolver function for a field type.
-
-`resolveComponentType(field: FormFieldModel, defaultValue: Type<{}> = UnknownWidgetComponent): Type<{}>`
-Finds the component type that is needed to render a form field.
+- `getComponentTypeResolver(type: string, defaultValue: Type<{}> = this.defaultValue): DynamicComponentResolveFunction`
+ Gets the currently active ComponentTypeResolver function for a field type.
+ - `type` - The type whose resolver you want
+ - `defaultValue` - Default type returned for types that are not yet mapped
+- `setComponentTypeResolver(type: string, resolver: DynamicComponentResolveFunction, override: boolean = false)`
+ Sets or optionally replaces a ComponentTypeResolver function for a field type.
+ - `type` - The type whose resolver you want to set
+ - `resolver` - The new resolver function
+ - `override` - The new resolver will only replace an existing one if this parameter is true
+- `resolveComponentType(model: DynamicComponentModel, defaultValue: Type<{}> = this.defaultValue): Type<{}>`
+ Finds the component type that is needed to render a form field.
+ - `model` - \[Form field model](form-field.model.md) for the field to render
+ - `defaultValue` - Default type returned for field types that are not yet mapped.
## Details
diff --git a/docs/form.service.md b/docs/form.service.md
index 429ca737ad..11ee12d841 100644
--- a/docs/form.service.md
+++ b/docs/form.service.md
@@ -46,26 +46,108 @@ class MyComponent {
### Methods
-| Name | Params | Returns | Description |
-| ---- | ------ | ------- | ----------- |
-| createFormFromANode | (formName: string) | Observable\\<any> | Create a Form with a fields for each metadata properties |
-| createForm | (formName: string) | Observable\\<any> | Create a Form |
-| addFieldsToAForm | (formId: string, formModel: FormDefinitionModel) | Observable\\<any> | Add Fileds to A form |
-| searchFrom | (name: string) | Observable\\<any> | Search For A Form by name |
-| getForms | n/a | Observable\\<any> | Get All the forms |
-| getProcessDefinitions | n/a | Observable\\<any> | Get Process Definitions |
-| getTasks | n/a | Observable\\<any> | Get All the Tasks |
-| getTask | (taskId: string) | Observable\\<any> | Get Task |
-| saveTaskForm | (taskId: string, formValues: FormValues) | Observable\\<any> | Save Task Form |
-| completeTaskForm | (taskId: string, formValues: FormValues, outcome?: string) | Observable\\<any> | Complete Task Form |
-| getTaskForm | (taskId: string) | Observable\\<any> | Get Form related to a taskId |
-| getFormDefinitionById | (formId: string) | Observable\\<any> | Get Form Definition |
-| getFormDefinitionByName | (name: string) | Observable\\<any> | Returns form definition by a given name. |
-| getStartFormInstance | (processId: string) | Observable\\<any> | Get start form instance for a given processId |
-| getStartFormDefinition | (processId: string) | Observable\\<any> | Get start form definition for a given process |
-| getRestFieldValues | (taskId: string, field: string) | Observable\\<any> | |
-| getRestFieldValuesByProcessId | (processDefinitionId: string, field: string) | Observable\\<any> | |
-| getRestFieldValuesColumnByProcessId | (processDefinitionId: string, field: string, column?: string) | Observable\\<any> | |
-| getRestFieldValuesColumn | (taskId: string, field: string, column?: string) | Observable\\<any> | |
-| getWorkflowGroups\\ | (filter: string, groupId?: string) | Observable\\<GroupModel\[]> | |
-| getWorkflowUsers\\ | (filter: string, groupId?: string) | Observable\\<GroupUserModel\[]> | |
+- `parseForm(json: any, data?: FormValues, readOnly: boolean = false): FormModel`
+ Parses JSON data to create a corresponding Form model.
+ - `json` - JSON to create the form
+ - `data` - (Optional) Values for the form fields
+ - `readOnly` - Should the form fields be read-only?
+- `createFormFromANode(formName: string): Observable`
+ Create a Form with a field for each metadata property.
+ - `formName` - Name of the new form
+- `createForm(formName: string): Observable`
+ Create a Form.
+ - `formName` - Name of the new form
+- `saveForm(formId: string, formModel: FormDefinitionModel): Observable`
+ Saves a form.
+ - `formId` - ID of the form to save
+ - `formModel` - Model data for the form
+- `addFieldsToAForm(formId: string, formModel: FormDefinitionModel): Observable`
+
+ - `formId` - ID of the form
+ - `formModel` - Form definition
+- `searchFrom(name: string): Observable`
+ Search for a form by name.
+ - `name` - The form name to search for
+- `getForms(): Observable`
+ Gets all the forms.
+
+- `getProcessDefinitions(): Observable`
+ Get Process Definitions
+
+- `getProcessVarablesById(processInstanceId: string): Observable`
+ Get instance variables for a process.
+ - `processInstanceId` - ID of the target process
+- `getTasks(): Observable`
+ Gets all the tasks.
+
+- `getTask(taskId: string): Observable`
+ Gets a task.
+ - `taskId` - Task Id
+- `saveTaskForm(taskId: string, formValues: FormValues): Observable`
+ Save Task Form.
+ - `taskId` - Task Id
+ - `formValues` - Form Values
+- `completeTaskForm(taskId: string, formValues: FormValues, outcome?: string): Observable`
+ Complete Task Form
+ - `taskId` - Task Id
+ - `formValues` - Form Values
+ - `outcome` - (Optional) Form Outcome
+- `getTaskForm(taskId: string): Observable`
+ Get Form related to a taskId
+ - `taskId` - Task Id
+- `getFormDefinitionById(formId: string): Observable`
+ Get Form Definition
+ - `formId` - Form Id
+- `getFormDefinitionByName(name: string): Observable`
+ Returns form definition with a given name.
+ - `name` - The form name
+- `getStartFormInstance(processId: string): Observable`
+ Get start form instance for a given processId
+ - `processId` - Process definition ID
+- `getProcessIntance(processId: string): Observable`
+ Gets a process instance.
+ - `processId` - ID of the process to get
+- `getStartFormDefinition(processId: string): Observable`
+ Get start form definition for a given process
+ - `processId` - Process definition ID
+- `getRestFieldValues(taskId: string, field: string): Observable`
+ Gets values of fields populated by a REST backend.
+ - `taskId` - Task identifier
+ - `field` - Field identifier
+- `getRestFieldValuesByProcessId(processDefinitionId: string, field: string): Observable`
+ Gets values of fields populated by a REST backend using a process ID.
+ - `processDefinitionId` - Process identifier
+ - `field` - Field identifier
+- `getRestFieldValuesColumnByProcessId(processDefinitionId: string, field: string, column?: string): Observable`
+ Gets column values of fields populated by a REST backend using a process ID.
+ - `processDefinitionId` - Process identifier
+ - `field` - Field identifier
+ - `column` - (Optional) Column identifier
+- `getRestFieldValuesColumn(taskId: string, field: string, column?: string): Observable`
+ Gets column values of fields populated by a REST backend.
+ - `taskId` - Task identifier
+ - `field` - Field identifier
+ - `column` - (Optional) Column identifier
+- `getUserProfileImageApi(userId: number): string`
+ Returns a URL for the profile picture of a user.
+ - `userId` - ID of the target user
+- `getWorkflowUsers(filter: string, groupId?: string): Observable`
+ Gets a list of workflow users.
+ - `filter` - Filter to select specific users
+ - `groupId` - (Optional) Group ID for the search
+- `getWorkflowGroups(filter: string, groupId?: string): Observable`
+ Gets a list of groups in a workflow.
+ - `filter` - Filter to select specific groups
+ - `groupId` - (Optional) Group ID for the search
+- `getFormId(res: any): string`
+ Gets the ID of a form.
+ - `res` - Object representing a form
+- `toJson(res: any): any`
+ Creates a JSON representation of form data.
+ - `res` - Object representing form data
+- `toJsonArray(res: any): any`
+ Creates a JSON array representation of form data.
+ - `res` - Object representing form data
+- `handleError(error: any): Observable`
+ Reports an error message.
+ - `error` - Data object with optional \`message\` and \`status\` fields for the error
diff --git a/docs/highlight-transform.service.md b/docs/highlight-transform.service.md
index 7579dd0c8e..bdc90178a6 100644
--- a/docs/highlight-transform.service.md
+++ b/docs/highlight-transform.service.md
@@ -4,8 +4,11 @@ Adds HTML to a string to highlight chosen sections.
## Methods
-`public highlight(text: string, search: string, wrapperClass: string = 'highlight'): HightlightTransformResult`
-Searches for `search` string(s) within `text` and highlights all occurrences.
+- `highlight(text: string, search: string, wrapperClass: string = 'highlight'): HightlightTransformResult`
+ Searches for `search` string(s) within `text` and highlights all occurrences.
+ - `text` - Text to search within
+ - `search` - Text pattern to search for
+ - `wrapperClass` - CSS class used to provide highlighting style
## Details
diff --git a/docs/nodes-api.service.md b/docs/nodes-api.service.md
index fed1b10f59..e9ab91a50a 100644
--- a/docs/nodes-api.service.md
+++ b/docs/nodes-api.service.md
@@ -4,26 +4,39 @@ Accesses and manipulates ACS document nodes using their node IDs.
## Methods
-`getNode(nodeId: string, options: any = {}): Observable`
-Gets the stored information about a node.
-
-`getNodeChildren(nodeId: string, options: any = {}): Observable`
-Gets the items contained in a folder node.
-
-`createNode(parentNodeId: string, nodeBody: any, options: any = {}): Observable`
-Creates a new document node inside a folder.
-
-`createFolder(parentNodeId: string, nodeBody: any, options: any = {}): Observable`
-Creates a new folder node inside a parent folder.
-
-`updateNode(nodeId: string, nodeBody: any, options: any = {}): Observable`
-Updates the information about a node.
-
-`deleteNode(nodeId: string, options: any = {}): Observable`
-Moves a node to the "trashcan".
-
-`restoreNode(nodeId: string): Observable`
-Restores a node previously moved to the "trashcan".
+- `getNode(nodeId: string, options: any = {}): Observable`
+ Gets the stored information about a node.
+ - `nodeId` - ID of the target node
+ - `options` - Optional parameters supported by JSAPI
+- `getNodeChildren(nodeId: string, options: any = {}): Observable`
+ Gets the items contained in a folder node.
+ - `nodeId` - ID of the target node
+ - `options` - Optional parameters supported by JSAPI
+- `createNode(parentNodeId: string, nodeBody: any, options: any = {}): Observable`
+ Creates a new document node inside a folder.
+ - `parentNodeId` - ID of the parent folder node
+ - `nodeBody` - Data for the new node
+ - `options` - Optional parameters supported by JSAPI
+- `createFolder(parentNodeId: string, nodeBody: any, options: any = {}): Observable`
+ Creates a new folder node inside a parent folder.
+ - `parentNodeId` - ID of the parent folder node
+ - `nodeBody` - Data for the new folder
+ - `options` - Optional parameters supported by JSAPI
+- `updateNode(nodeId: string, nodeBody: any, options: any = {}): Observable`
+ Updates the information about a node.
+ - `nodeId` - ID of the target node
+ - `nodeBody` - New data for the node
+ - `options` - Optional parameters supported by JSAPI
+- `deleteNode(nodeId: string, options: any = {}): Observable`
+ Moves a node to the trashcan.
+ - `nodeId` - ID of the target node
+ - `options` - Optional parameters supported by JSAPI
+- `restoreNode(nodeId: string): Observable`
+ Restores a node previously moved to the trashcan.
+ - `nodeId` - ID of the node to restore
+- `handleError(error: any): Observable`
+ Reports an error.
+ - `error` - Object representing the error
## Details
diff --git a/lib/content-services/document-list/services/folder-actions.service.ts b/lib/content-services/document-list/services/folder-actions.service.ts
index cd0e29a165..363328471a 100644
--- a/lib/content-services/document-list/services/folder-actions.service.ts
+++ b/lib/content-services/document-list/services/folder-actions.service.ts
@@ -41,6 +41,10 @@ export class FolderActionsService {
this.setupActionHandlers();
}
+ /**
+ * Gets the handler function for an action.
+ * @param key Identifier for the action
+ */
getHandler(key: string): ContentActionHandler {
if (key) {
let lkey = key.toLowerCase();
@@ -49,6 +53,11 @@ export class FolderActionsService {
return null;
}
+ /**
+ * Sets a new handler function for an action.
+ * @param key Identifier for the action
+ * @param handler The new handler function
+ */
setHandler(key: string, handler: ContentActionHandler): boolean {
if (key) {
let lkey = key.toLowerCase();
@@ -58,6 +67,10 @@ export class FolderActionsService {
return false;
}
+ /**
+ * Checks if an action is available for a particular item.
+ * @param obj Item to check
+ */
canExecuteAction(obj: any): boolean {
return this.documentListService && obj && obj.entry.isFolder === true;
}
diff --git a/lib/core/form/services/form.service.ts b/lib/core/form/services/form.service.ts
index eae975512c..1a9c8890bb 100644
--- a/lib/core/form/services/form.service.ts
+++ b/lib/core/form/services/form.service.ts
@@ -90,6 +90,12 @@ export class FormService {
return this.apiService.getInstance().activiti.groupsApi;
}
+ /**
+ * Parses JSON data to create a corresponding Form model.
+ * @param json JSON to create the form
+ * @param data Values for the form fields
+ * @param readOnly Should the form fields be read-only?
+ */
parseForm(json: any, data?: FormValues, readOnly: boolean = false): FormModel {
if (json) {
let form = new FormModel(json, data, readOnly, this);
@@ -108,7 +114,8 @@ export class FormService {
}
/**
- * Create a Form with a fields for each metadata properties
+ * Create a Form with a field for each metadata property.
+ * @param formName Name of the new form
*/
createFormFromANode(formName: string): Observable {
return Observable.create(observer => {
@@ -129,7 +136,8 @@ export class FormService {
}
/**
- * Create a Form
+ * Create a Form.
+ * @param formName Name of the new form
*/
createForm(formName: string): Observable {
let dataModel = {
@@ -144,6 +152,11 @@ export class FormService {
);
}
+ /**
+ * Saves a form.
+ * @param formId ID of the form to save
+ * @param formModel Model data for the form
+ */
saveForm(formId: string, formModel: FormDefinitionModel): Observable {
return Observable.fromPromise(
this.editorApi.saveForm(formId, formModel)
@@ -152,7 +165,9 @@ export class FormService {
/**
* @deprecated in 1.7.0, use saveForm API instead
- * Add Fileds to A form
+ * Add Fields to A form
+ * @param formId ID of the form
+ * @param formModel Form definition
*/
addFieldsToAForm(formId: string, formModel: FormDefinitionModel): Observable {
this.logService.log('addFieldsToAForm is deprecated in 1.7.0, use saveForm API instead');
@@ -162,7 +177,8 @@ export class FormService {
}
/**
- * Search For A Form by name
+ * Search for a form by name.
+ * @param name The form name to search for
*/
searchFrom(name: string): Observable {
let opts = {
@@ -179,7 +195,7 @@ export class FormService {
}
/**
- * Get All the forms
+ * Gets all the forms.
*/
getForms(): Observable {
let opts = {
@@ -200,6 +216,10 @@ export class FormService {
.catch(err => this.handleError(err));
}
+ /**
+ * Get instance variables for a process.
+ * @param processInstanceId ID of the target process
+ */
getProcessVarablesById(processInstanceId: string): Observable {
return Observable.fromPromise(this.processInstanceVariablesApi.getProcessInstanceVariables(processInstanceId))
.map(this.toJson)
@@ -207,7 +227,7 @@ export class FormService {
}
/**
- * Get All the Tasks
+ * Gets all the tasks.
*/
getTasks(): Observable {
return Observable.fromPromise(this.taskApi.listTasks({}))
@@ -216,7 +236,7 @@ export class FormService {
}
/**
- * Get Task
+ * Gets a task.
* @param taskId Task Id
*/
getTask(taskId: string): Observable {
@@ -226,7 +246,7 @@ export class FormService {
}
/**
- * Save Task Form
+ * Save Task Form.
* @param taskId Task Id
* @param formValues Form Values
*/
@@ -275,8 +295,8 @@ export class FormService {
}
/**
- * Returns form definition by a given name.
- * @param name
+ * Returns form definition with a given name.
+ * @param name The form name
*/
getFormDefinitionByName(name: string): Observable {
let opts = {
@@ -301,6 +321,10 @@ export class FormService {
.catch(err => this.handleError(err));
}
+ /**
+ * Gets a process instance.
+ * @param processId ID of the process to get
+ */
getProcessIntance(processId: string): Observable {
return Observable.fromPromise(this.processApi.getProcessInstance(processId))
.map(this.toJson)
@@ -318,26 +342,57 @@ export class FormService {
.catch(err => this.handleError(err));
}
+ /**
+ * Gets values of fields populated by a REST backend.
+ * @param taskId Task identifier
+ * @param field Field identifier
+ */
getRestFieldValues(taskId: string, field: string): Observable {
return Observable.fromPromise(this.taskApi.getRestFieldValues(taskId, field)).catch(err => this.handleError(err));
}
+ /**
+ * Gets values of fields populated by a REST backend using a process ID.
+ * @param processDefinitionId Process identifier
+ * @param field Field identifier
+ */
getRestFieldValuesByProcessId(processDefinitionId: string, field: string): Observable {
return Observable.fromPromise(this.processApi.getRestFieldValues(processDefinitionId, field)).catch(err => this.handleError(err));
}
+ /**
+ * Gets column values of fields populated by a REST backend using a process ID.
+ * @param processDefinitionId Process identifier
+ * @param field Field identifier
+ * @param column Column identifier
+ */
getRestFieldValuesColumnByProcessId(processDefinitionId: string, field: string, column?: string): Observable {
return Observable.fromPromise(this.processApi.getRestTableFieldValues(processDefinitionId, field, column)).catch(err => this.handleError(err));
}
+ /**
+ * Gets column values of fields populated by a REST backend.
+ * @param taskId Task identifier
+ * @param field Field identifier
+ * @param column Column identifier
+ */
getRestFieldValuesColumn(taskId: string, field: string, column?: string): Observable {
return Observable.fromPromise(this.taskApi.getRestFieldValuesColumn(taskId, field, column)).catch(err => this.handleError(err));
}
+ /**
+ * Returns a URL for the profile picture of a user.
+ * @param userId ID of the target user
+ */
getUserProfileImageApi(userId: number): string {
return this.apiService.getInstance().activiti.userApi.getUserProfilePictureUrl(userId);
}
+ /**
+ * Gets a list of workflow users.
+ * @param filter Filter to select specific users
+ * @param groupId Group ID for the search
+ */
getWorkflowUsers(filter: string, groupId?: string): Observable {
let option: any = {filter: filter};
if (groupId) {
@@ -354,6 +409,11 @@ export class FormService {
.catch(err => this.handleError(err));
}
+ /**
+ * Gets a list of groups in a workflow.
+ * @param filter Filter to select specific groups
+ * @param groupId Group ID for the search
+ */
getWorkflowGroups(filter: string, groupId?: string): Observable {
let option: any = {filter: filter};
if (groupId) {
@@ -364,6 +424,10 @@ export class FormService {
.catch(err => this.handleError(err));
}
+ /**
+ * Gets the ID of a form.
+ * @param res Object representing a form
+ */
getFormId(res: any): string {
let result = null;
@@ -374,6 +438,10 @@ export class FormService {
return result;
}
+ /**
+ * Creates a JSON representation of form data.
+ * @param res Object representing form data
+ */
toJson(res: any) {
if (res) {
return res || {};
@@ -381,6 +449,10 @@ export class FormService {
return {};
}
+ /**
+ * Creates a JSON array representation of form data.
+ * @param res Object representing form data
+ */
toJsonArray(res: any) {
if (res) {
return res.data || [];
@@ -388,6 +460,10 @@ export class FormService {
return [];
}
+ /**
+ * Reports an error message.
+ * @param error Data object with optional `message` and `status` fields for the error
+ */
handleError(error: any): Observable {
let errMsg = FormService.UNKNOWN_ERROR_MESSAGE;
if (error) {
diff --git a/lib/core/services/dynamic-component-mapper.service.ts b/lib/core/services/dynamic-component-mapper.service.ts
index b8a6d1eaac..c3fdd2f23b 100644
--- a/lib/core/services/dynamic-component-mapper.service.ts
+++ b/lib/core/services/dynamic-component-mapper.service.ts
@@ -31,6 +31,11 @@ export abstract class DynamicComponentMapper {
protected defaultValue: Type<{}> = undefined;
protected types: { [key: string]: DynamicComponentResolveFunction } = {};
+ /**
+ * Gets the currently active ComponentTypeResolver function for a field type.
+ * @param type The type whose resolver you want
+ * @param defaultValue Default type returned for types that are not yet mapped
+ */
getComponentTypeResolver(type: string, defaultValue: Type<{}> = this.defaultValue): DynamicComponentResolveFunction {
if (type) {
return this.types[type] || DynamicComponentResolver.fromType(defaultValue);
@@ -38,6 +43,12 @@ export abstract class DynamicComponentMapper {
return DynamicComponentResolver.fromType(defaultValue);
}
+ /**
+ * Sets or optionally replaces a ComponentTypeResolver function for a field type.
+ * @param type The type whose resolver you want to set
+ * @param resolver The new resolver function
+ * @param override The new resolver will only replace an existing one if this parameter is true
+ */
setComponentTypeResolver(type: string, resolver: DynamicComponentResolveFunction, override: boolean = false) {
if (!type) {
throw new Error(`type is null or not defined`);
@@ -55,6 +66,11 @@ export abstract class DynamicComponentMapper {
this.types[type] = resolver;
}
+ /**
+ * Finds the component type that is needed to render a form field.
+ * @param model [Form field model](form-field.model.md) for the field to render
+ * @param defaultValue Default type returned for field types that are not yet mapped.
+ */
resolveComponentType(model: DynamicComponentModel, defaultValue: Type<{}> = this.defaultValue): Type<{}> {
if (model) {
let resolver = this.getComponentTypeResolver(model.type, defaultValue);
diff --git a/lib/core/services/highlight-transform.service.ts b/lib/core/services/highlight-transform.service.ts
index e922e5fb48..073bf386ac 100644
--- a/lib/core/services/highlight-transform.service.ts
+++ b/lib/core/services/highlight-transform.service.ts
@@ -21,6 +21,12 @@ export interface HightlightTransformResult {
}
export class HighlightTransformService {
+ /**
+ * Searches for `search` string(s) within `text` and highlights all occurrences.
+ * @param text Text to search within
+ * @param search Text pattern to search for
+ * @param wrapperClass CSS class used to provide highlighting style
+ */
public highlight(text: string, search: string, wrapperClass: string = 'highlight'): HightlightTransformResult {
let isMatching = false,
result = text;
diff --git a/lib/core/services/nodes-api.service.ts b/lib/core/services/nodes-api.service.ts
index 09cc63ad4c..b53fe3d52d 100644
--- a/lib/core/services/nodes-api.service.ts
+++ b/lib/core/services/nodes-api.service.ts
@@ -38,6 +38,11 @@ export class NodesApiService {
return entity.entry;
}
+ /**
+ * Gets the stored information about a node.
+ * @param nodeId ID of the target node
+ * @param options Optional parameters supported by JSAPI
+ */
getNode(nodeId: string, options: any = {}): Observable {
const { nodesApi, handleError, getEntryFromEntity } = this;
const defaults = {
@@ -53,6 +58,11 @@ export class NodesApiService {
.catch(handleError);
}
+ /**
+ * Gets the items contained in a folder node.
+ * @param nodeId ID of the target node
+ * @param options Optional parameters supported by JSAPI
+ */
getNodeChildren(nodeId: string, options: any = {}): Observable {
const { nodesApi, handleError } = this;
const defaults = {
@@ -69,6 +79,12 @@ export class NodesApiService {
.catch(handleError);
}
+ /**
+ * Creates a new document node inside a folder.
+ * @param parentNodeId ID of the parent folder node
+ * @param nodeBody Data for the new node
+ * @param options Optional parameters supported by JSAPI
+ */
createNode(parentNodeId: string, nodeBody: any, options: any = {}): Observable {
const { nodesApi, handleError, getEntryFromEntity } = this;
const promise = nodesApi
@@ -78,11 +94,23 @@ export class NodesApiService {
return Observable.fromPromise(promise).catch(handleError);
}
+ /**
+ * Creates a new folder node inside a parent folder.
+ * @param parentNodeId ID of the parent folder node
+ * @param nodeBody Data for the new folder
+ * @param options Optional parameters supported by JSAPI
+ */
createFolder(parentNodeId: string, nodeBody: any, options: any = {}): Observable {
const body = Object.assign({ nodeType: 'cm:folder' }, nodeBody);
return this.createNode(parentNodeId, body, options);
}
+ /**
+ * Updates the information about a node.
+ * @param nodeId ID of the target node
+ * @param nodeBody New data for the node
+ * @param options Optional parameters supported by JSAPI
+ */
updateNode(nodeId: string, nodeBody: any, options: any = {}): Observable {
const { nodesApi, handleError, getEntryFromEntity } = this;
const promise = nodesApi
@@ -92,6 +120,11 @@ export class NodesApiService {
return Observable.fromPromise(promise).catch(handleError);
}
+ /**
+ * Moves a node to the trashcan.
+ * @param nodeId ID of the target node
+ * @param options Optional parameters supported by JSAPI
+ */
deleteNode(nodeId: string, options: any = {}): Observable {
const { nodesApi, handleError } = this;
const promise = nodesApi
@@ -102,6 +135,10 @@ export class NodesApiService {
.catch(handleError);
}
+ /**
+ * Restores a node previously moved to the trashcan.
+ * @param nodeId ID of the node to restore
+ */
restoreNode(nodeId: string): Observable {
const { nodesApi, handleError, getEntryFromEntity } = this;
const promise = nodesApi
@@ -113,6 +150,10 @@ export class NodesApiService {
.catch(handleError);
}
+ /**
+ * Reports an error.
+ * @param error Object representing the error
+ */
handleError(error: any): Observable {
return Observable.throw(error);
}