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?
Solved! Go to Solution.
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.
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.
Thank you a lot Axel. Finally I solved it with the help of your coordination.
How did you solved?can you help me.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.