Certain Condition Initiating Events And Javascript event Subscription not working

  • 1
  • Problem
  • Updated 5 months ago
  • Solved
In the action framework as well as in the Javascript API, triggers on the activation and deactivation of multi-select filters (both autogenerated and manual) do not fire.

Events do fire on the modification of the condition.
The page below is a reproduction of the issue.

A pop up triggered by the action framework should show on deactivation, activation, and modification of the condition, but only works for modification.

An alert triggered by subscription to the appropriate events should show an alert upon deactivation, activation, and modification of the condition, but only works for modification.

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">
    <models>
        <model id="Account" limit="1" query="true" createrowifnonefound="false" datasource="salesforce" sobject="Account">
            <fields>
                <field id="Name"/>
                <field id="Id"/>
                <field id="Industry"/>
                <field id="AnnualRevenue"/>
            </fields>
            <conditions>
                <condition type="multiple" value="" field="Industry" operator="in" enclosevalueinquotes="true" state="filterableoff" inactive="true" name="Industry">
                    <values>
                        <value/>
                    </values>
                </condition>
            </conditions>
            <actions>
                <action>
                    <actions>
                        <action type="showPopup">
                            <popup title="Subscription to condition deactivation is working!" width="90%">
                                <components>
                                    <template multiple="false" uniqueid="sk-3Qtp-703">
                                        <contents>You have deactivated the industry condition.
(Popup from action framework)</contents>
                                    </template>
                                </components>
                            </popup>
                        </action>
                    </actions>
                    <events>
                        <event>condition.deactivated</event>
                    </events>
                    <conditions>
                        <condition>Industry</condition>
                    </conditions>
                </action>
                <action>
                    <actions>
                        <action type="showPopup">
                            <popup title="Subscription to condition activation is working!" width="90%">
                                <components>
                                    <template multiple="false" uniqueid="sk-3Qtp-889">
                                        <contents>You have activated the industry condition.
(Popup from action framework)</contents>
                                    </template>
                                </components>
                            </popup>
                        </action>
                    </actions>
                    <events>
                        <event>condition.activated</event>
                    </events>
                    <conditions>
                        <condition>Industry</condition>
                    </conditions>
                </action>
                <action>
                    <actions>
                        <action type="showPopup">
                            <popup title="Subscription to condition change is working!" width="90%">
                                <components>
                                    <template multiple="false" uniqueid="sk-3Qtp-972">
                                        <contents>You have modified the industry condition.
(Popup from action framework)</contents>
                                    </template>
                                </components>
                            </popup>
                        </action>
                    </actions>
                    <events>
                        <event>condition.valueChanged</event>
                    </events>
                    <conditions>
                        <condition>Industry</condition>
                    </conditions>
                </action>
            </actions>
        </model>
    </models>
    <components>
        <filterset model="Account" searchmethod="server" searchbox="true" uniqueid="sk-3Qtp-397">
            <filters>
                <filter type="multiselect" createfilteroffoption="true" affectcookies="true" autocompthreshold="25" conditionsource="manual" filtermethod="server" labelmode="auto" condition="Industry" filteroffoptionlabel="No Industries Selected">
                    <sources>
                        <source type="metadata" effectsbehavior="justdefault"/>
                    </sources>
                </filter>
            </filters>
        </filterset>
        <basicfieldeditor showheader="true" showsavecancel="true" showerrorsinline="true" model="Account" uniqueid="sk-3Qtp-338" mode="read">
            <columns>
                <column width="50%">
                    <sections>
                        <section title="Section B" collapsible="no" showheader="false">
                            <fields>
                                <field uniqueid="sk-3Qtp-354" id="Name"/>
                                <field uniqueid="sk-3Qtp-353" id="Id"/>
                            </fields>
                        </section>
                    </sections>
                </column>
                <column width="50%">
                    <sections>
                        <section title="Section A" collapsible="no" showheader="false">
                            <fields>
                                <field uniqueid="sk-3Qtp-368" id="AnnualRevenue"/>
                                <field uniqueid="sk-3Qtp-355" id="Industry"/>
                            </fields>
                        </section>
                    </sections>
                </column>
            </columns>
        </basicfieldeditor>
    </components>
    <resources>
        <labels/>
        <javascript>
            <jsitem location="inline" name="newInlineJS" cachelocation="false" url="">(function(skuid){
var $ = skuid.$;
$(document.body).one('pageload',function(){

        skuid.events.subscribe('condition.valueChanged',function(evnt){
            alert('You have modified the ' + evnt.conditionName + ' condition (Alert from Javascript).');
            });
        skuid.events.subscribe('condition.deactivated',function(evnt){
            alert('You have deactivated the ' + evnt.conditionName + ' condition (Alert from Javascript).');
            });
        skuid.events.subscribe('condition.activated',function(evnt){
            alert('You have activated the ' + evnt.conditionName + ' condition (Alert from Javascript).');
            });            
});
})(skuid);</jsitem>
        </javascript>
        <css/>
        <actionsequences uniqueid="sk-3Qtp-265"/>
    </resources>
    <styles>
        <styleitem type="background" bgtype="none"/>
    </styles>
</skuidpage>
Photo of Shmuel Kamensky

Shmuel Kamensky, Champion

  • 4,328 Points 4k badge 2x thumb

Posted 5 months ago

  • 1
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Thank you for bringing this to our attention. I have alerted our development team of what you are seeing. What I would like to bring to your attention is the ability to set an action based on "Resetting the model." The page below shows the pop up occur when the filter is "unchecked", which might be what you're looking for.

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="false" useviewportmeta="true" showheader="false">
    <models>
        <model id="Account" limit="1" query="true" createrowifnonefound="false" datasource="salesforce" sobject="Account">
            <fields>
                <field id="Name"/>
                <field id="Id"/>
                <field id="Industry"/>
                <field id="AnnualRevenue"/>
            </fields>
            <conditions>
                <condition type="multiple" value="" field="Industry" operator="in" enclosevalueinquotes="true" state="filterableoff" inactive="true" name="Industry">
                    <values>
                        <value/>
                    </values>
                </condition>
            </conditions>
            <actions>
                <action>
                    <actions>
                        <action type="showPopup">
                            <popup title="Subscription to condition deactivation is working!" width="90%">
                                <components>
                                    <template multiple="false" uniqueid="sk-3Qtp-703">
                                        <contents>You have deactivated the industry condition.
(Popup from action framework)

MODEL CONDITION DEACTIVATED</contents>
                                    </template>
                                </components>
                            </popup>
                        </action>
                    </actions>
                    <events>
                        <event>condition.deactivated</event>
                    </events>
                    <conditions>
                        <condition>Industry</condition>
                    </conditions>
                </action>
                <action>
                    <actions>
                        <action type="showPopup">
                            <popup title="Subscription to condition activation is working!" width="90%">
                                <components>
                                    <template multiple="false" uniqueid="sk-3Qtp-889">
                                        <contents>You have activated the industry condition.
(Popup from action framework)

MODEL CONDITION ACTIVATED</contents>
                                    </template>
                                </components>
                            </popup>
                        </action>
                    </actions>
                    <events>
                        <event>condition.activated</event>
                    </events>
                    <conditions>
                        <condition>Industry</condition>
                    </conditions>
                </action>
                <action>
                    <actions>
                        <action type="showPopup">
                            <popup title="Subscription to condition change is working!" width="90%">
                                <components>
                                    <template multiple="false" uniqueid="sk-3Qtp-972">
                                        <contents>You have modified the industry condition.
(Popup from action framework)

MODEL CONDITION CHANGED</contents>
                                    </template>
                                </components>
                            </popup>
                        </action>
                    </actions>
                    <events>
                        <event>condition.valueChanged</event>
                    </events>
                    <conditions>
                        <condition>Industry</condition>
                    </conditions>
                </action>
                <action>
                    <actions>
                        <action type="showPopup">
                            <popup title="New Popup" width="90%">
                                <components>
                                    <template multiple="false" uniqueid="sk-3RRV-249">
                                        <contents>MODEL CONDITION RESET</contents>
                                    </template>
                                </components>
                            </popup>
                        </action>
                    </actions>
                    <events>
                        <event>condition.reset</event>
                    </events>
                </action>
            </actions>
        </model>
    </models>
    <components>
        <buttonset model="Account" uniqueid="sk-3RLh-545">
            <buttons>
                <button type="multi" label="ACTIVATE MODEL CONDITION" uniqueid="sk-3RLh-552">
                    <actions>
                        <action type="activateCondition" model="Account" condition="Industry"/>
                    </actions>
                </button>
                <button type="multi" label="DEACTIVATE MODEL CONDITION" uniqueid="sk-3RLh-556">
                    <actions>
                        <action type="deactivateCondition" model="Account" condition="Industry"/>
                    </actions>
                </button>
                <button type="multi" label="ACTIVATE MODEL CONDITION and set value" uniqueid="sk-3RLh-926">
                    <actions>
                        <action type="setCondition" model="Account" condition="Industry" value="Education"/>
                    </actions>
                </button>
                <button type="multi" label="DEACTIVATE FILTERABLE MODEL CONDITIONS" uniqueid="sk-3RLh-1029">
                    <actions>
                        <action type="deactivateFilterableConditions">
                            <models>
                                <model>Account</model>
                            </models>
                        </action>
                    </actions>
                </button>
            </buttons>
        </buttonset>
        <filterset model="Account" searchmethod="server" searchbox="true" uniqueid="sk-3Qtp-397" emptysearchbehavior="query">
            <filters>
                <filter type="multiselect" createfilteroffoption="true" affectcookies="true" autocompthreshold="25" conditionsource="manual" filtermethod="server" labelmode="auto" condition="Industry" filteroffoptionlabel="No Industries Selected">
                    <sources>
                        <source type="metadata" effectsbehavior="justdefault"/>
                    </sources>
                </filter>
            </filters>
            <searchfields/>
        </filterset>
        <basicfieldeditor showheader="true" showsavecancel="true" showerrorsinline="true" model="Account" uniqueid="sk-3Qtp-338" mode="read">
            <columns>
                <column width="50%">
                    <sections>
                        <section title="Section B" collapsible="no" showheader="false">
                            <fields>
                                <field uniqueid="sk-3Qtp-354" id="Name"/>
                                <field uniqueid="sk-3Qtp-353" id="Id"/>
                            </fields>
                        </section>
                    </sections>
                </column>
                <column width="50%">
                    <sections>
                        <section title="Section A" collapsible="no" showheader="false">
                            <fields>
                                <field uniqueid="sk-3Qtp-368" id="AnnualRevenue"/>
                                <field uniqueid="sk-3Qtp-355" id="Industry"/>
                            </fields>
                        </section>
                    </sections>
                </column>
            </columns>
        </basicfieldeditor>
    </components>
    <resources>
        <labels/>
        <javascript>
            <jsitem location="inline" name="newInlineJS" cachelocation="false" url="">(function(skuid){
var $ = skuid.$;
$(document.body).one('pageload',function(){

        skuid.events.subscribe('condition.valueChanged',function(evnt){
            alert('You have modified the ' + evnt.conditionName + ' condition (Alert from Javascript).');
            });
        skuid.events.subscribe('condition.deactivated',function(evnt){
            alert('You have deactivated the ' + evnt.conditionName + ' condition (Alert from Javascript).');
            });
        skuid.events.subscribe('condition.activated',function(evnt){
            alert('You have activated the ' + evnt.conditionName + ' condition (Alert from Javascript).');
            });            
});
})(skuid);</jsitem>
        </javascript>
        <css/>
        <actionsequences uniqueid="sk-3Qtp-265"/>
    </resources>
    <styles>
        <styleitem type="background" bgtype="none"/>
    </styles>
</skuidpage>
Photo of Shmuel Kamensky

Shmuel Kamensky, Champion

  • 4,328 Points 4k badge 2x thumb
Yes, reset covers what I need. Thanks for the assist!
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
My pleasure! Glad this could provide some help for you!