12-15-2017 06:30 AM
I have created new "Selected items" drop down item in faceted search page. When I click on the item it should call action which I have created as a custom action in a document library. Unfortunately it does not work. Action is not called. I tried to place Alfresco predefined action "download as a Zip" and it works. Below you can find code related to this functionality:
-extension.xml
<config evaluator="string-compare" condition="DocumentLibrary">
<multi-select>
<action type="action-link"
id="myAction" />
</multi-select>
</config>
<config evaluator="string-compare" condition="DocLibCustom" replace="true">
<dependencies>
<js src="/components/documentlibrary/custom-actions.js" />
</dependencies>
</config>
faceted-search.get.js
var itemsAction = widgetUtils.findObject(model.jsonModel, "id", "SELECTED_ITEMS_ACTIONS_GROUP");
if (itemsAction != null) {
itemsAction.config.widgets.push({
id: "myAction",
name: "alfresco/documentlibrary/AlfDocumentActionMenuItem",
config: {
label: "button",
type: "action-link",
permission: "",
asset: "",
href: "",
hasAspect: "",
notAspect: "",
publishTopic: "ALF_SELECTED_DOCUMENTS_ACTION_REQUEST",
publishPayload: {
action: "myAction"
}
}
});
}
custom.actions.js
YAHOO.Bubbling.fire("registerAction", {
actionName: "myAction",
fn: function custom_myAction(record)
{
...
}
myAction is called from Document library and it works perfect. What can I do to make Alfresco recognize myAction in faceted-search too?
12-15-2017 12:16 PM
You have to realise that the Document Library and Faceted Search pages are built on completely different UI foundations. The Document Library is built using YUI2 while Faceted Search is using Aikau. There is no automatic interoperability between the two. The custom doclib JS are not even loaded in the Faceted Search page, let alone being integrated with the Aikau widgets. You'll have to write a custom Aikau client-side service module to handle a publication on a custom topic, and then execute the logic of your action. This will require duplicating the code of your custom JS.
12-15-2017 12:16 PM
You have to realise that the Document Library and Faceted Search pages are built on completely different UI foundations. The Document Library is built using YUI2 while Faceted Search is using Aikau. There is no automatic interoperability between the two. The custom doclib JS are not even loaded in the Faceted Search page, let alone being integrated with the Aikau widgets. You'll have to write a custom Aikau client-side service module to handle a publication on a custom topic, and then execute the logic of your action. This will require duplicating the code of your custom JS.
12-19-2017 11:31 AM
Thank you a lot Axel. Finally I solved it with the help of your coordination.
03-24-2020 03:59 AM
How did you solved?can you help me.
Explore our Alfresco products with the links below. Use labels to filter content by product module.