is it possible to deactivate filter when the value is BLANK

  • 2
  • Problem
  • Updated 2 years ago
  • Solved
I'm trying 'Use  a Field Editor as a Custom Filter' in http://help.skuid.com/m/models-conditions-filters/l/476206-model-actions page. 

Here's the page XML,
<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" showheader="true">    <models>
        <model id="OppRow" limit="" query="false" createrowifnonefound="true" adapter="salesforce" type="" sobject="Opportunity" doclone="" unloadwarningifunsavedchanges="false">
            <fields>
                <field id="Name"/>
                <field id="StageName"/>
                <field id="PartnerAccountId"/>
                <field id="PartnerAccount.Name"/>
                <field id="CloseDate"/>
                <field id="Amount"/>
                <field id="ClosedDate_StartDate_UI" uionly="true" displaytype="DATE" label="Start Date"/>
                <field id="ClosedDate_EndDate_UI" uionly="true" displaytype="DATE" label="End Date"/>
                <field id="AmountMin_UI" uionly="true" displaytype="CURRENCY" label="Greater Than" precision="9" scale="2"/>
                <field id="AmountMax_UI" uionly="true" displaytype="CURRENCY" label="Less than" precision="9" scale="2"/>
                <field id="Account.Name"/>
                <field id="AccountId"/>
                <field id="AccountName_UI" uionly="true" displaytype="TEXT" label="Account"/>
            </fields>
            <conditions/>
            <actions>
                <action>
                    <actions>
                        <action type="setCondition" model="Opportunity" condition="Name" value="{{Name}}"/>
                    </actions>
                    <events>
                        <event>row.updated</event>
                    </events>
                    <fields>
                        <field>Name</field>
                    </fields>
                </action>
                <action>
                    <actions>
                        <action type="setCondition" model="Opportunity" condition="Account.Name" value="{{AccountName_UI}}"/>
                    </actions>
                    <events>
                        <event>row.updated</event>
                    </events>
                    <fields>
                        <field>AccountName_UI</field>
                    </fields>
                </action>
                <action>
                    <actions>
                        <action type="setCondition" model="Opportunity" condition="CloseDate" value="{{ClosedDate_StartDate_UI}}"/>
                    </actions>
                    <events>
                        <event>row.updated</event>
                    </events>
                    <fields>
                        <field>ClosedDate_StartDate_UI</field>
                    </fields>
                </action>
                <action>
                    <actions>
                        <action type="setCondition" model="Opportunity" condition="CloseDate1" value="{{ClosedDate_EndDate_UI}}"/>
                    </actions>
                    <events>
                        <event>row.updated</event>
                    </events>
                    <fields>
                        <field>ClosedDate_EndDate_UI</field>
                    </fields>
                </action>
                <action>
                    <actions>
                        <action type="setCondition" model="Opportunity" condition="Amount" value="{{AmountMin_UI}}"/>
                    </actions>
                    <events>
                        <event>row.updated</event>
                    </events>
                    <fields>
                        <field>AmountMin_UI</field>
                    </fields>
                </action>
                <action>
                    <actions>
                        <action type="setCondition" model="Opportunity" condition="Amount1" value="{{AmountMax_UI}}"/>
                    </actions>
                    <events>
                        <event>row.updated</event>
                    </events>
                    <fields>
                        <field>AmountMax_UI</field>
                    </fields>
                </action>
                <action>
                    <actions>
                        <action type="requeryModel" model="Opportunity" behavior="standard"/>
                    </actions>
                    <events>
                        <event>row.updated</event>
                    </events>
                </action>
            </actions>
        </model>
        <model id="Opportunity" limit="20" query="true" createrowifnonefound="false" adapter="salesforce" type="" orderby="CreatedDate" sobject="Opportunity">
            <fields>
                <field id="Name"/>
                <field id="AccountId"/>
                <field id="Account.Name"/>
                <field id="CloseDate"/>
                <field id="Amount"/>
            </fields>
            <conditions>
                <condition type="fieldvalue" value="" enclosevalueinquotes="true" field="Name" state="filterableoff" inactive="true" name="Name" operator="contains"/>
                <condition type="fieldvalue" value="" enclosevalueinquotes="true" field="Account.Name" state="filterableoff" inactive="true" name="Account.Name" operator="contains"/>
                <condition type="fieldvalue" value="" enclosevalueinquotes="false" field="CloseDate" operator="gt" state="filterableoff" inactive="true" name="CloseDate"/>
                <condition type="fieldvalue" value="" enclosevalueinquotes="false" field="CloseDate" operator="lt" state="filterableoff" inactive="true" name="CloseDate1"/>
                <condition type="fieldvalue" value="0.0" enclosevalueinquotes="false" field="Amount" operator="gt" state="filterableoff" inactive="true" name="Amount"/>
                <condition type="fieldvalue" value="0.0" enclosevalueinquotes="false" field="Amount" operator="lt" state="filterableoff" inactive="true" name="Amount1"/>
            </conditions>
            <actions/>
        </model>
    </models>
    <components>
        <pagetitle model="OppRow" uniqueid="sk-3xlL2P-501">
            <maintitle>Opportunities</maintitle>
            <subtitle>Home</subtitle>
            <actions/>
            <renderconditions logictype="and"/>
        </pagetitle>
        <grid uniqueid="sk-3xjBDV-285" columngutter="0px">
            <divisions>
                <division behavior="specified" verticalalign="top" width="25%">
                    <components>
                        <basicfieldeditor showheader="true" showsavecancel="false" showerrorsinline="true" model="OppRow" buttonposition="" uniqueid="sk-3xjGjW-298" mode="read" layout="">
                            <columns layoutmode="fixed">
                                <column width="100%">
                                    <sections>
                                        <section title="Filter Opportunities By" collapsible="no">
                                            <fields>
                                                <field id="Name" valuehalign="" type=""/>
                                                <field id="AccountName_UI" valuehalign="" type=""/>
                                            </fields>
                                        </section>
                                        <section title="Closing Between" collapsible="no">
                                            <fields>
                                                <field id="ClosedDate_StartDate_UI"/>
                                                <field id="ClosedDate_EndDate_UI"/>
                                            </fields>
                                        </section>
                                        <section title="Amount" collapsible="no">
                                            <fields>
                                                <field id="AmountMin_UI"/>
                                                <field id="AmountMax_UI"/>
                                            </fields>
                                        </section>
                                    </sections>
                                </column>
                            </columns>
                        </basicfieldeditor>
                    </components>
                </division>
                <division behavior="specified" verticalalign="top" width="75%">
                    <components>
                        <skootable showconditions="true" showsavecancel="false" showerrorsinline="true" searchmethod="server" searchbox="false" showexportbuttons="false" pagesize="10" createrecords="false" model="Opportunity" buttonposition="" mode="read" uniqueid="sk-3xkEy5-368" instantfilters="false" emptysearchbehavior="query">
                            <fields>
                                <field id="Name" valuehalign="" type=""/>
                                <field id="Account.Name" valuehalign="" type=""/>
                                <field id="CloseDate" valuehalign="" type=""/>
                                <field id="Amount" decimalplaces="" valuehalign="" type=""/>
                            </fields>
                            <rowactions>
                                <action type="edit"/>
                                <action type="delete"/>
                            </rowactions>
                            <massactions usefirstitemasdefault="true">
                                <action type="massupdate"/>
                                <action type="massdelete"/>
                            </massactions>
                            <views>
                                <view type="standard"/>
                            </views>
                            <searchfields/>
                        </skootable>
                    </components>
                </division>
            </divisions>
            <styles>
                <styleitem type="background" bgtype="none"/>
            </styles>
        </grid>
    </components>
    <resources>
        <labels/>
        <javascript/>
        <css/>
    </resources>
    <styles>
        <styleitem type="background" bgtype="none"/>
    </styles>
</skuidpage>


Problem :
  It is working fine, when i give value to 'Start Date'. But, when i clear the value, the Opportunity List Table is getting emptied. i expect to get complete list of Opps.
  I dont think Model is getting re-queried. 

I think there should be a way to 'Deactivate the filter', based on value of 'Row Update'.

Can someone try this & share any out of the box solution... as i fully aware that i can do this with snippet.
Photo of Nepz Solutions

Nepz Solutions

  • 442 Points 250 badge 2x thumb

Posted 2 years ago

  • 2
Photo of Gregg Baxter

Gregg Baxter, Official Rep

  • 3,080 Points 3k badge 2x thumb
Hi Sankaran

You have a model action that fires off on the OppRow model based on Row in Model Updated and when this happens there is no date value set.

ciao
Photo of Nepz Solutions

Nepz Solutions

  • 442 Points 250 badge 2x thumb
Thanks Gregg.. i completely understand that, my question is 'is it possible to prevent that action when there's no date value set, so that i can see all Opp rows' ?
(Edited)
Photo of Gregg Baxter

Gregg Baxter, Official Rep

  • 3,080 Points 3k badge 2x thumb
Hi Sankran 

I checked your page again and it is rendering the complete list once you clear the date field?

You might want to try model action logic branch to test if a field has a value before performing the action.

Hope this helps.

This conversation is no longer open for comments or replies.