* [ADF-3323] Moved source file parsing to main doc tool * [ADF-3323] Moved source info classes * [ADF-3323] Added doc YAML generator tool * [ADF-3323] Added doc YAML/JSON source paths to gitignore * [ADF-3323] Completed templates and template context code * [ADF-3323] Added source paths and updated type linker * [ADF-3323] Final fixes to templates and type linking * [ADF-3323] Fixed filter for private and protected methods * [ADF-3323] Content services docs after check and rebuild * [ADF-3323] Updated docbuild script in package.json
3.0 KiB
Added, Status, Last reviewed
Added | Status | Last reviewed |
---|---|---|
v2.0.0 | Active | 2018-04-05 |
Folder Actions service
Implements the folder menu actions for the Document List component.
Class members
Methods
- canExecuteAction(obj:
any
):boolean
Checks if an action is available for a particular item.- obj:
any
- Item to check - Returns
boolean
- True if the action is available, false otherwise
- obj:
- getHandler(key:
string
):ContentActionHandler
Gets the handler function for an action.- key:
string
- Identifier for the action - Returns
ContentActionHandler
- The handler function
- key:
- setHandler(key:
string
, handler:ContentActionHandler
):boolean
Sets a new handler function for an action.- key:
string
- Identifier for the action - handler:
ContentActionHandler
- The new handler function - Returns
boolean
- True if the key was a valid action identifier, false otherwise
- key:
Details
This service implements the built-in actions that can be applied to a folder shown in a Document List component: delete, download, copy and move (see the Content Action component for further details and examples of these menu items). However, you can also use the service to add extra actions or replace the built-in ones with your own implementation.
Registering an action
In the example below, a custom handler called my-handler
is registered with the service.
This action will invoke the myFolderActionHandler
function each time it is selected
from the Document List menu.
import { FolderActionsService } from '@alfresco/adf-content-services';
export class MyView {
constructor(folderActions: FolderActionsService) {
folderActions.setHandler(
'my-handler',
this.myFolderActionHandler.bind(this)
);
}
myFolderActionHandler(obj: any) {
window.alert('my custom action handler');
}
}
The action can then be used from the component in the usual way:
<adf-document-list ...>
<content-actions>
<content-action
target="folder"
title="My action"
handler="my-handler">
</content-action>
</content-actions>
</adf-document-list>
You can also override a built-in handler (eg, 'download') with your own function:
export class MyView {
constructor(folderActions: FolderActionsService) {
folderActions.setHandler(
'download',
this.customDownloadBehavior.bind(this)
);
}
customDownloadBehavior(obj: any) {
window.alert('my custom download behavior');
}
}
You will probably want to set up all your custom actions at the application root level or with a custom application service.