Skip to main content

Hi Skuid.

I have a queue component that is running it’s click action multiple times.



Help?

I have no actions on any of the models.

Oh, and I’m on 9.5.14.


There are 6 rows in the model.

Clicking on item X runs the click action Y times:
X   Y
1   7
2   6
3   5
4   4
5   3
6   2


I just started having this happen: I have Nav components that open a URL in a new browser window. Now when I click them, it opens 3 browser windows in chrome. I did not recently update Skuid. I ha s been running 10.0.5 for a while.


Perhaps this is a chrome problem?


Hi Matt,


I have been able to use the XML below to reproduce the behavior you’re describing, but only when the model is a UI-only model - using a model on Account, the Queue running the snippet works as expected. You can use the table to add rows to the UI only model, then click one of the queue items to see the console log.


I also added a button that will adopt records from a non un-only model (in this case, the Account model) into the ui-only model. If you do this, then click on a queue item, the issue doesn’t happen. It seems like because the UI-only rows are only given the fields we choose to create for them, there may be some metadata missing that the Queue uses for context.


I will continue researching this, and will let you know what I find&#46; <skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">    <models>
<fields>
<field id="Id"/>
<field id="Name"/>
</fields>
<conditions/>
<actions/>
</model>
<model id="UI" query="true" createrowifnonefound="true" datasource="Ui-Only" processonclient="true">
<fields>
<field id="Name" displaytype="TEXT" label="Name"/>
<field id="Id" displaytype="UUID" label="Id" ogdisplaytype="TEXT"/>
</fields>
<conditions/>
<actions/>
</model>
</models>
<components>
<buttonset model="UI" uniqueid="sk-s67UV-252">
<buttons>
<button type="multi" label="Adopt account rows into UI model" uniqueid="sk-s67kH-256">
<actions>
<action type="adoptRows" sourcemodel="Acc" targetmodel="UI" affectedrows="all"/>
</actions>
</button>
</buttons>
</buttonset>
<queue model="UI" tagrendertype="template" searchbox="true" tokenizesearch="true" showsearchbydefault="true" uniqueid="sk-s423n-94">
<rendertemplate>{{Name}}</rendertemplate>
<interactions>
<interaction type="tap">
<action type="custom" snippet="newSnippet"/>
</interaction>
</interactions>
</queue>
<skootable showconditions="true" showsavecancel="true" showerrorsinline="true" searchmethod="server" searchbox="true" showexportbuttons="false" pagesize="10" alwaysresetpagination="false" createrecords="true" model="UI" buttonposition="" mode="read" allowcolumnreordering="true" responsive="true" uniqueid="sk-s549s-209">
<fields>
<field id="Name" hideable="true" uniqueid="fi-s55NV-223"/>
<field id="Id" hideable="true" uniqueid="fi-s6huc-278"/>
</fields>
<rowactions>
<action type="edit"/>
<action type="delete"/>
</rowactions>
<massactions usefirstitemasdefault="true">
<action type="massupdate"/>
<action type="massdelete"/>
</massactions>
<views>
<view type="standard"/>
</views>
</skootable>
</components>
<resources>
<labels/>
<javascript>
<jsitem location="inlinesnippet" name="newSnippet" cachelocation="false">var params = argumentse0],
$ = skuid&#46;$;
console&#46;log(arguments);</jsitem>
</javascript>
<css/>
</resources>
<styles>
<styleitem type="background" bgtype="none"/>
</styles>
</skuidpage>

  


Hi Raymond, is this happening across the board for nav components that open URLs in a new window? 


Matt, I wanted to let you know that we have identified this as a product issue, and it’s currently being worked on. I’m hoping a fix for this will be available soon, but I don’t have an ETA yet. Thank you for taking the time to demonstrate the issue. 


I think it is a coincidence. I think it is my track pad giving me problems. It is happening on multiple sites. Just happened to start at the same time as Matt’s problem. Disregard. Thanks!


another one of those times a software issue turns out to be a hardware issue… 😉


any word on this? Thanks


Hi Arne-Per,

I’m just seeing your request for an update. It looks like this was resolved in mid-November, shortly after Millau was first released. The fix should have been in 10.0.12+ and 11.x versions. Are you still experiencing the issue? If so, please let me know which version of Skuid is involved, and any other details about your scenario. 


I’ve still been experiencing this problem on 10.0.15.


Still seeing it in 11.1.6


Matt and Arne-per, I’m revisiting the repro page I used in October to verify this issue in 10.0.19, and I can’t seem to reproduce the issue. My page has a queue on a UI-only model, and clicking on a queue item runs a snippet that runs a console.log(‘hello’); 

If I’m remembering right, the snippet would run multiple times, depending on which row you clicked on. I’ve tried different configurations on the page, but the snippet’s only running once per click. 

Matt, if you’re still seeing the behavior in your versions, do you have any way to spin up a sandbox or dev environment to test your affected pages in 10.0.19?

Arne-Per, are you able to provide more detail about your scenario? The screenshot is helpful, but it would be helpful to also see the queue’s action sequence and the snippet that’s running too many times. 


HI Mark,

Yes the queue interaction is ‘click’ and the action is a simple page include update


Mark,

Upgraded a dev environment to 10.0.19. Still seeing the same behavior:



Thank you for taking the time to demonstrate your scenario. Is the getAvailableFields snippet being run on pageload, or when a queue item is clicked?


Arne-Per,

In your scenario, you have a queue interaction that updates a page include, correct? When a user does this, is the issue that they’re seeing multiple copies of the page include? Is it always the same number of duplicates, or is it different depending on how far down in the queue they clicked?
Also, can you tell me what the Queue’s model is like? Is it a UI-only model, or is it attached to a Salesforce object?

Thanks. I’m looking for more details since I haven’t yet been able to reproduce the behavior in 10.0.19 or 11.1.6, and I’m hoping to find out what you and Matt Sones have in common. 


getAvailableFields runs on pageload: 


(function(skuid){<br>var $ = skuid.$;<br>$(document.body).one('pageload',function(){<br>skuid.snippet.getSnippet('getAvailableFields')();<br>});<br>})(skuid);


And it also runs when the SignatureFields model (the table’s model) is saved.


It may be that everywhere I’ve experienced this it’s on a page that’s being included on another page? Perhaps try including your test page in anther page and see what happens?


Mark- no matter where in queue. It is the number of clicks that causes the commensurate number page include instances


So here is a reduced example. and video of original. In the small test the addEventListener is added, It could be that the included page is so small that it doesn’t allow for the the listener to be updated which is why it infact works with larger included page. Thanks for continuing to look at it.


















condition.valueChanged













{{Name}}:
{{Make __c}}:{{Description_from_DIS__ c}}





























{{Model.label}}


This is a Very sparse test























var params = argumentst0],
$ = skuid.$;



.bang2 field {
text-align: center;
}
.nx-actionselect-dropdown-item {
padding-right:50px;
}

















______




















{{Name}} we are ttest

{{Model.label}}

Arne-Per,

Thank you for providing your test pages. I’m not seeing any strange behavior when trying these two test pages, unfortunately. I also don’t see any eventlisteners or error messages about them. In your Queue’s display template, can you try changing this

{{Name}}:
{{Make__c}}:{{Description_from_DIS__c}}

to this:
{{{Name}}}:
{{{Make__c}}}:{{{Description_from_DIS__c}}}

and let me know if that makes a difference?

Is there any script happening in the Queue actions? 



Matt, I did try your suggestion, but still haven’t seen the behavior you’re showing. I’m wondering if there’s something in your script that’s operating more times than you’re expecting. Have you tried to reproduce the issue with a very simple console.log, or something like that?


Mark, I’ll try but the picture in the post is the error I get using the sample pages. No script happening . Why the {{{}}}}?


Reply