<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>How to pass data from asset-categories-selector-web module to liferay-asset</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=111923645" />
  <subtitle>How to pass data from asset-categories-selector-web module to liferay-asset</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=111923645</id>
  <updated>2026-04-03T21:50:13Z</updated>
  <dc:date>2026-04-03T21:50:13Z</dc:date>
  <entry>
    <title>RE: How to pass data from asset-categories-selector-web module to liferay-a</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=115266943" />
    <author>
      <name>Mohamed Saleem</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=115266943</id>
    <updated>2019-09-12T08:38:35Z</updated>
    <published>2019-09-12T08:38:35Z</published>
    <summary type="html">Hi,&lt;br /&gt;Use this tag &amp;lt;liferay-asset:asset-categories-selector&amp;gt; and you controller add belowline to get the selected categoriesString catIds =ParamUtil.getString(actionRequest,&amp;#34;assetCategoryIds&amp;#34;);&lt;br /&gt;&lt;br /&gt;My requirement is to include and exclude  some asset categories in single submit.I am using &amp;lt;liferay-asset:asset-categories-selector&amp;gt; this tag to get the asset categories.Using this  i can able to  include or exclude any one operation only in single action.Can any one help me to solve this issue&lt;br /&gt;Regards,Saleem.</summary>
    <dc:creator>Mohamed Saleem</dc:creator>
    <dc:date>2019-09-12T08:38:35Z</dc:date>
  </entry>
  <entry>
    <title>How to pass data from asset-categories-selector-web module to liferay-asset</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=111923644" />
    <author>
      <name>sunny huang</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=111923644</id>
    <updated>2019-01-03T14:40:50Z</updated>
    <published>2019-01-03T14:40:50Z</published>
    <summary type="html">&lt;p&gt;hi,&lt;/p&gt;
&lt;p&gt;when use taglib liferay-asset:asset-categories-selector to select categories.&lt;/p&gt;
&lt;p&gt;the taglib call the module of asset-categories-selector-web to fires
  item selector save event on selected node change.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
    selectedNodeChange_(event) {
        let newVal = event.newVal;
        let selectedNodes = this.selectedNodes_;

        if (!selectedNodes) {
            selectedNodes = [];
        }

        if (newVal) {
            let data = {};

            newVal.forEach(
                (node) =&amp;gt; {
                    data[node.name] = {
                        categoryId: node.vocabulary ? 0 : node.id,
                        value: node.name,
                        vocabularyId: node.vocabulary ? node.id : 0
                    };
                }
            );

            selectedNodes.forEach(
                (node) =&amp;gt; {
                    if (newVal.indexOf(node) === -1) {
                        data[node.name] = {
                            categoryId: node.vocabulary ? 0 : node.id,
                            unchecked: true,
                            value: node.name,
                            vocabularyId: node.vocabulary ? node.id : 0
                        };
                    }
                }
            );

            selectedNodes = [];

            newVal.forEach(
                (node) =&amp;gt; {
                    selectedNodes.push(node);
                }
            );

            this.selectedNodes_ = selectedNodes;

            Liferay.Util.getOpener().Liferay.fire(
                this.itemSelectorSaveEvent,
                {
                    data: data
                }
            );
        }
    }&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Liferay.fire trigger the itemSelectorSaveEvent and data.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;and in the taglib liferay-asset:asset-categories-selector&lt;/p&gt;
&lt;pre&gt;
                    _showSelectPopup: function(event) {
                        var instance = this;

                        event.domEvent.preventDefault();

                        instance.set('categoryIds', instance.entries.keys);

                        var uri = Lang.sub(
                            decodeURIComponent(instance.get('portletURL')),
                            {
                                selectedCategories: instance.get('categoryIds'),
                                singleSelect: instance.get('singleSelect'),
                                vocabularyIds: instance.get('vocabularyIds')
                            }
                        );

                        var itemSelectorDialog = new A.LiferayItemSelectorDialog(
                            {
                                eventName: instance.get('eventName'),
                                on: {
                                    selectedItemChange: function(event) {
                                        var data = event.newVal;

                                        if (data) {
                                            for (var key in data) {
                                                var found = false;

                                                instance.entries.each(
                                                    function(item) {
                                                        if (key === item.value) {
                                                            found = true;
                                                        }

                                                        if (key === item.value &amp;amp;&amp;amp; data[key].unchecked) {
                                                            instance.entries.remove(item);
                                                        }
                                                    }
                                                );

                                                data[key][0] = key;

                                                if (!found &amp;amp;&amp;amp; !data[key].unchecked) {
                                                    instance.entries.add(data[key]);
                                                }
                                            }
                                        }

                                        instance.set('categoryIds', instance.entries.keys);

                                        instance._updateInputHidden();
                                    }
                                },
                                'strings.add': Liferay.Language.get('done'),
                                title: Liferay.Language.get('categories'),
                                url: uri
                            }
                        );

                        itemSelectorDialog.open();
                    },&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;In general, relative to Liferay.fire is Liferay.on. but i could not
  find Liferay.on&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Does the following code have the same functionality as liferay.on,
  whether it has received the passed data? How to pass data from
  asset-categories-selector-web module to taglib liferay-asset:asset-categories-selector. &lt;/p&gt;
&lt;p&gt;thank you very much.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
A.LiferayItemSelectorDialog(
                            {
                                eventName: instance.get('eventName'),
                                on: {

                                         ....

                               }&lt;/pre&gt;</summary>
    <dc:creator>sunny huang</dc:creator>
    <dc:date>2019-01-03T14:40:50Z</dc:date>
  </entry>
</feed>
