"Remove All rows in Model" action breaks conditional rendering on Button Set Buttons

After “Remove All rows in Model” action has been invoked on a model, conditional rendering statements for buttons in a Button Set based on that model no longer update correctly.

Steps to reproduce:

  1. Create page using XML below
  2. Preview page

Actual Behavior = Expected Behavior
“Page Title : Account.Name != None - blank value” not visible
“Button Set : Account.Name != None - blank value” not visible

  1. Click “Empty Account Model & Create New Row”

Expected Behavior = Actual Behavior
“Page Title : Account.Name != None - blank value” not visible
“Button Set : Account.Name != None - blank value” not visible

  1. Input text in to “Account Name” field

Expected Behavior
Page title button should be visible
Button Set button should be visible

Actual Behavior
Page title button is visible
Button Set button is NOT visible

  1. Refresh page
  2. Input text in to “Account Name” field

Expected Behavior = Actual Behavior
Both buttons are visible

  1. Click “Empty Account Model & Create New Row”

Expected Behavior
Both Buttons Disappear

Actual Behavior
Page Title disappears
Button Set is still visible

Sample Page XML

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" useviewportmeta="true" showsidebar="true" showheader="true" tabtooverride="Account">    <models>
        <model id="Account" limit="1" query="false" createrowifnonefound="true" datasource="salesforce" sobject="Account" type="">
            <fields>
                <field id="Name"/>
                <field id="CreatedDate"/>
            </fields>
            <conditions>
                <condition type="fieldvalue" value="" enclosevalueinquotes="true" state="filterableoff" inactive="true" name="Id" field="Id"/>
            </conditions>
            <actions/>
        </model>
    </models>
    <components>
        <pagetitle uniqueid="sk-gsrLr-127" model="Account">
            <maintitle>
                <template>{{Name}}</template>
            </maintitle>
            <subtitle>
                <template>{{Model.label}}</template>
            </subtitle>
            <actions>
                <action type="multi" label="Empty Account Model &amp;amp; Create New Row">
                    <actions>
                        <action type="emptyModelData" model="Account" affectedrows="all">
                            <models>
                                <model>Account</model>
                            </models>
                        </action>
                        <action type="createRow" model="Account" appendorprepend="prepend" defaultmodefornewitems="edit" affectedrows="all"/>
                    </actions>
                </action>
            </actions>
        </pagetitle>
        <basicfieldeditor showheader="true" showsavecancel="true" showerrorsinline="true" model="Account" buttonposition="" uniqueid="sk-gh0UC-96" mode="edit">
            <columns>
                <column width="100%">
                    <sections>
                        <section title="Section A" collapsible="no">
                            <fields>
                                <field id="Name" valuehalign="" type=""/>
                            </fields>
                        </section>
                    </sections>
                </column>
            </columns>
            <renderconditions logictype="and"/>
        </basicfieldeditor>
        <pagetitle uniqueid="sk-gygB9-126" model="Account">
            <actions>
                <action type="multi" label="Page Title : Account.Name != None - blank value">
                    <renderconditions logictype="and">
                        <rendercondition type="blank" operator="!=" fieldmodel="Account" sourcetype="fieldvalue" field="Name" value="null" enclosevalueinquotes="false"/>
                    </renderconditions>
                    <enableconditions/>
                </action>
            </actions>
            <subtitle>{{Model.label}}</subtitle>
            <maintitle>{{Name}}</maintitle>
        </pagetitle>
        <buttonset model="Account" uniqueid="sk-gkKI9-142">
            <buttons>
                <button type="multi" label="Button Set : Account.Name != None - blank value">
                    <renderconditions logictype="and">
                        <rendercondition type="blank" operator="!=" fieldmodel="Account" sourcetype="fieldvalue" field="Name" value="null" enclosevalueinquotes="false"/>
                    </renderconditions>
                    <enableconditions/>
                </button>
            </buttons>
        </buttonset>
    </components>
    <resources>
        <labels/>
        <css/>
        <javascript/>
    </resources>
    <styles>
        <styleitem type="background" bgtype="none"/>
    </styles>
</skuidpage>

This is a bug. We’ll notify when a fix is released.

Thanks for confirming Stephen!

Can you update status of this issue to “Acknowledged” please?

Yes. Consider it done.

Thank you!

Looking forward to fix.  thanks.

Any updates

It has been marked as a bug, a reproduction page has been made, and our dev team has been notified of the problem.

Hello Skuid Community ~

Thank you for your thoughtful suggestion! Skuid listened to your concern and has implemented your idea in the new Brooklyn Update 1 - Iteration 4 release which is now available on the Skuid Releases page.

As a reminder, Salesforce does NOT allow reverting back to prior versions of managed packages. Skuid always recommends installing new versions in a non-business critical sandbox environment to test all mission critical functionality before installing  into a production environment. We also recommend that you update out of date themes when you upgrade.

Tested and confirmed as resolved with 9.5.4.  Thank you!

Our pleasure!