Skip to main content
Nintex Community Menu Bar
Question

snippet to execute each time UI field's value is changed (without saving)

  • July 10, 2024
  • 4 replies
  • 0 views
  • Translate

Forum|alt.badge.img+13

Hi,

Is it possible for an In-Line Js Snippet to execute each time a UI-Only field’s value is changed (without saving ofc, as Ui -only field won’t keep value…)

So each time Ui-Only field named : paid_percentage is changed for this inline-snippet to run

var params = arguments[0],   $ = skuid.$;var model = skuid.$M(‘FundingPerformance’);
var row = model.getFirstRow();
var dateVar = row.Effective_Balance_Date__c;
var daystoadd = row.days_to_add;
var newdate = row.Date_percentage_reached;
//convert from Salesforce date to Javascript date
var jsDate = skuid.time.parseSFDate(dateVar);
//add days
jsDate.setDate(jsDate.getDate() + daystoadd);
//convert from Javascript date back to Salesforce date
var daysAdded = skuid.time.getSFDate(jsDate);
model.updateRow(row,{Date_percentage_reached : daysAdded});


Thx

Did this topic help you find an answer to your question?

4 replies

Forum|alt.badge.img+4
  • 31 replies
  • July 10, 2024

you’d create a custom renderer and add an onchange handler to the field.

Translate

Forum|alt.badge.img+3

Hi Dave

As Mordechai already wrote, a Custom Field Renderer is the way to go.

It should look something like this:

var field = arguments[0],    value = arguments[1],
    $ = skuid.$;
    
    field.element.append(
    skuid.ui.renderers.TEXT.edit({
        inputType: ‘text’,
        value : field.row[field.id],
        onChange : function( value ) {
        //Your Action here
       // To run your Snippet use 
       // skuid.snippet.getSnippet(‘SnipetName’)();
            console.log(“On Change Event”);
        }
}));

Make sure to change “TEXT” to whatever Type your UI Only Field is.

Translate

Forum|alt.badge.img+3

This would be an easier version of this code: 

var field = arguments[0], 

    value = arguments[1], 

    model = field.model, 

    row = field.row, 

$ = skuid.$; 


field.element.change(function(){ 

    //some actions after the value of the element has changed 

}); 

skuid.ui.fieldRenderers[field.metadata.displaytype]field.mode;


Translate

Forum|alt.badge.img+13
  • Author
  • Scholar
  • 511 replies
  • July 10, 2024

Thank you Chris, I just tried the easier version with added Action: skuid.snippet.getSnippet(‘SnipetName’)();

And it works like a Charm 🙂

Thx!

Translate

Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie Settings