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:
- Create page using sample XML below
- Preview page
- 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>