Unknown icon remains after rendering away table row action

This was originally reported at https://community.skuid.com/t/row-action-icon-conditional-rendering-remnant-div but there has been no reply or acknowledgement of the issue so opening a new issue along with a repro of the problem.

When a table row action is rendered away based on conditional rendering, the icon the div for the icon that existed is not completely hidden/removed leaving an “unknown icon” image.

Steps to reproduce:

  1. Create page using sample XML below
  2. Preview page
  3. Click “Clear Row” button

Expected Behavior
“Flag for delete” row icon is removed completely

Actual Behavior
“X” icon disappears but “?” mark remains (likely due to sk-icon-delete class still applied to DIV while sk-icon, etc. were removed resulting in not finding the icon, etc.)

Sample Page XML

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" showheader="true" tabtooverride="Account">   <models>
      <model id="Account" limit="100" query="true" createrowifnonefound="false" sobject="Account" adapter="" type="">
         <fields>
            <field id="Name"/>
            <field id="CreatedDate"/>
         </fields>
         <conditions/>
         <actions/>
      </model>
      <model id="Tracker" limit="1" query="false" createrowifnonefound="true" adapter="" type="" sobject="Account">
         <fields>
            <field id="Mode" uionly="true" displaytype="TEXT" label="Mode" defaultValue="Bar"/>
         </fields>
         <conditions/>
         <actions/>
      </model>
   </models>
   <components>
      <pagetitle model="Account" uniqueid="sk-2Q5m2_-66">
         <maintitle>Mode Is {{$Model.Tracker.data.0.Mode}}</maintitle>
         <subtitle>
            <template>Home</template>
         </subtitle>
         <actions>
            <action type="multi" label="Clear Rows">
               <actions>
                  <action type="emptyModelData" fieldmodel="Tracker" field="Mode" enclosevalueinquotes="true" value="Foo">
                     <models>
                        <model>Tracker</model>
                     </models>
                  </action>
               </actions>
            </action>
         </actions>
      </pagetitle>
      <skootable showconditions="true" showsavecancel="false" searchmethod="server" searchbox="false" showexportbuttons="false" pagesize="10" createrecords="false" model="Account" mode="edit" uniqueid="sk-2Q5m2_-67" emptysearchbehavior="query">
         <fields>
            <field id="Name" allowordering="true" valuehalign="" type=""/>
            <field id="CreatedDate" allowordering="true" valuehalign="" type=""/>
         </fields>
         <rowactions>
            <action type="delete">
               <renderconditions logictype="and">
                  <rendercondition type="fieldvalue" enclosevalueinquotes="false" fieldmodel="Tracker" sourcetype="modelproperty" nosourcerowbehavior="skipandnorender" sourceproperty="hasRows"/>
               </renderconditions>
            </action>
         </rowactions>
         <massactions usefirstitemasdefault="true"/>
         <views>
            <view type="standard"/>
         </views>
         <actions defaultlabel="Global Actions" defaulticon="sk-icon-magic" usefirstitemasdefault="true"/>
         <searchfields/>
      </skootable>
   </components>
   <resources>
      <labels/>
      <css/>
      <javascript/>
   </resources>
   <styles>
      <styleitem type="background" bgtype="none"/>
   </styles>
</skuidpage>