Queue item not given nx-queue-item-selected when item action is none

  • 1
  • Idea
  • Updated 2 years ago
When a Queue Item Action set to "None", after clicking an item in  queue, the class 'nx-queue-item-selected' is not added to the nx-queue-item.  The item is being selected, it's just there is no action to take when its selected.

Notes
1) A workaround is to set the action to Run Snippet leaving the snippet name blank. This is not a viable long term solution as when the "next developer" looks at this page and config, he/she will think "Someone forgot to specify the Snippet name."
2) There is another issue related to Queue item selection at https://community.skuid.com/skuid/topics/selected-property-of-queue-items-not-being-set?rfm=1&to...


Steps to reproduce:
1) Create page using XML below
2) Preview page
3) Click any item in queue

Expected Behavior
Queue Item is given the nx-queue-item-selected class

Actual Behavior
nx-queue-item-selected not applied

Sample Page
<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" showheader="true" tabtooverride="Account">   <models>
      <model id="Account" limit="100" query="true" createrowifnonefound="false" sobject="Account">
         <fields>
            <field id="Name"/>
            <field id="CreatedDate"/>
         </fields>
         <conditions/>
         <actions/>
      </model>
   </models>
   <components>
      <pagetitle model="Account" uniqueid="sk-1_HBaC-68">
         <maintitle>
            <template>{{Model.labelPlural}}</template>
         </maintitle>
         <subtitle>
            <template>Home</template>
         </subtitle>
         <actions>
            <action type="savecancel"/>
         </actions>
      </pagetitle>
      <queue tagrendertype="template" querystring="id={{Id}}" defaultitemparameter="id" clickactiontype="none" searchbox="true" tokenizesearch="true" uniqueid="sk-1_HD7X-81" model="Account">
         <rendertemplate>{{{Name}}}</rendertemplate>
      </queue>
   </components>
   <resources>
      <labels/>
      <css/>
      <javascript/>
   </resources>
   <styles>
      <styleitem type="background" bgtype="none"/>
   </styles>
</skuidpage>
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb

Posted 2 years ago

  • 1
Photo of Karen Waldschmitt

Karen Waldschmitt, Official Rep

  • 8,220 Points 5k badge 2x thumb
Barry~

The team looked at this and believe that we should retain current functionality of the Do Nothing action type. This feature allows the user to explicitly ignore a click on a queue, thus allowing an on-click "row action" to be defined via snippet. Basically allowing you to say, "don't worry about it,
I've got your click event covered". Additionally, a cleaner way to add the item-selected flag to nx-queue-item class would be an empty call to the action framework. I.E. set the action type to "Run Multiple Actions" and don't give it an action.

Thanks!
Karen
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Hi Karen -

Thanks for looking in to this.  I think there is possibly some confusion over what I was asking for here.

I agree that having a "Do Nothing" option is needed and should remain.  What I was getting at is that the "selection" of an item in the queue is still occurring even though there is nothing to do when it's selected.  Since the user is "selecting" the queue item, it should receive the nx-queue-item-selected class so that it is properly decorated using the CSS (it should also be marked as selected as mentioned at https://community.skuid.com/skuid/topics/selected-property-of-queue-items-not-being-set?rfm=1&to...).  The key here is that the item is being selected, it's just that when it is selected, there is no action to take.

Unfortunately, setting to "Run Multiple Actions" and leaving the actions list empty is very misleading and results in very poor "documentation".  While technically it accomplishes what I'm after (similar to Run Snippet with no snippet), when another page developer is looking at the page, they will see "Run With Multiple Actions" and no actions and think "Why are there no actions, something isn't right here."  Since there is no way currently to "document" a Skuid page (there is a community post somewhere asking for this), the configuration of a page needs to be self-documenting.  Having "Do Nothing" apply the nx-queue-item-selected class would allow the CSS to be applied since the user is selecting the item while not taking action for the "click" itself.

To provide more clarity, here is my use case.

In the screen shot below, you'll see a queue on the left and queue on the right.  The buttons in the middle move items from left to right (they can also use drag-and-drop).  If I set the queue on the left to "Do Nothing", the item doesn't highlight so the user has no "context" over which item "Move Selected" will actually move.  I don't want the item to move when they select/click the item, I only want it to indicate it's selected.  

Look forward to your thoughts.  Thanks!

Photo of Karen Waldschmitt

Karen Waldschmitt, Official Rep

  • 8,220 Points 5k badge 2x thumb
Barry~

Thanks for explaining your use case, that helps clarify a lot. We will add this as an enhancement for the devs to consider for a future release. We will update this post when that is available. 

Thanks!
Karen
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Thanks Karen!
Photo of Karen Waldschmitt

Karen Waldschmitt, Official Rep

  • 8,220 Points 5k badge 2x thumb
Hi community~

If this is something you'd like to see, vote it up on this new post

Thanks!
Karen
Photo of Karen Waldschmitt

Karen Waldschmitt, Official Rep

  • 8,220 Points 5k badge 2x thumb
Hi community~

If this is something you'd like to see, vote it up on this new post

Thanks!
Karen