row action icon conditional rendering remnant div

  • 5
  • Problem
  • Updated 3 years ago
  • Acknowledged
Conditional Rendering almost works using a field on row. Just doesn't fully remove it.

Photo of mB Pat Vachon

mB Pat Vachon, Champion

  • 42,764 Points 20k badge 2x thumb

Posted 3 years ago

  • 5
Photo of Matt Sones

Matt Sones, Champion

  • 31,500 Points 20k badge 2x thumb
I've noticed the same.
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,106 Points 10k badge 2x thumb
Ran in to the same issue today.  There hasn't been a reply/acknowledgement from Skuid here so opened up a new issue with repro to "bump" this one.

https://community.skuidify.com/skuid/topics/unknown-icon-remains-after-rendering-away-table-row-action?rfm=1&topic_submit=true
(Edited)
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,106 Points 10k badge 2x thumb
This reply was created from a merged topic originally titled Unknown icon remains after rendering away table row action.

This was originally reported at https://community.skuidify.com/skuid/topics/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>
Photo of JD Bell

JD Bell, Senior Product Engineer

  • 2,996 Points 2k badge 2x thumb
We've added this issue to our bug tracker. This issue doesn't present itself when using image based icons (as in Classic), but when themes use font based icons (as in Modern, etc), the unknown font symbol appears.

We'll address this one in an upcoming release.
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,106 Points 10k badge 2x thumb
Thanks JD!
Photo of Ben Hubbard

Ben Hubbard, Employee

  • 12,490 Points 10k badge 2x thumb
This fix has been made and is planned for Banzai Update 9
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,106 Points 10k badge 2x thumb
Thank you!
Photo of Ben Hubbard

Ben Hubbard, Employee

  • 12,490 Points 10k badge 2x thumb
This fix is now available from skuid.com/releases in either the Banzai Update 9 release or the Rockaway Release.
Photo of mB Roman Melnik

mB Roman Melnik

  • 2,802 Points 2k badge 2x thumb
Thanks Ben! This has been bugging me too :)
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,106 Points 10k badge 2x thumb
Tested and confirmed with Skuid 8.8.  Thank you!