Forum Replies Created
-
AuthorPosts
-
Amal Vellappillil
ParticipantGlad you are able to look into this and possibly skip duplicate calls to presaveaction method. It would be nice if the library could handle the logic than users remembering the little quirk and do the workaround on each and every form.
Amal Vellappillil
ParticipantSounds good to me 🙂
Amal Vellappillil
ParticipantHi Alex,
I have a suggestion/enhancement request. I noticed that it would be very helpful to have all the field names available as intellisense in Ace editor. So I added this to your “aceAutocomplete” function inside DFFS_backend js file.
var fieldNamesCompleter = { getCompletions: function(editor, session, pos, prefix, callback) { var wordList = spjs.dffs.data.listFieldsArr.map((f) => f.fin + "|" + f.disp + "|" + f.type); callback(null, wordList.map((word) => { var wordArr = word.split("|"); return { caption: wordArr[1] + " - " + wordArr[2], value: wordArr[0], meta: "listField" }; })); } } a.completers.push(fieldNamesCompleter);
This code was added inside the else block where you are setting enableBasicAutocompletion: true. You can use this as is or modify to your willing to adapt to your coding styles. I hope this gets added to the future versions of DFFS.
Thank you,
Amal VellappillilAmal Vellappillil
ParticipantSo I put debugger at the top of the presaveaction function and sure enough it got hit twice. So I still dont understand what is causing it to be called twice, but the workaround you mentioned skips the item creation the second time around.
Thank you so much for the workaround and tips on debugging.
Amal Vellappillil
ParticipantHi Alex,
Thank you for the quick turn around. I will give it a go.
– Amal Vellappillil
Amal Vellappillil
ParticipantHi Alex,
That would be awesome!
Thank you,
Amal VellappillilAmal Vellappillil
ParticipantSee attachment below. Hope it helps.
Attachments:
Amal Vellappillil
Participanttry this
{ReleaseDate['MMMM dd, yyyy']}
Amal Vellappillil
ParticipantThank you for taking the time to explain the difference.
Amal Vellappillil
ParticipantHi Alex,
Thank you so much for the snippet.
Just out of curiosity. What is the difference between the way you have it vs comparing between beforeProperties and getFieldValue?spjs.dffs.beforeProperties[fin] !== getFieldValue(fin)
-Amal Vellappillil
Amal Vellappillil
ParticipantHi Alex,
Thank you for getting back so quickly. I will use this workaround till a proper fix is released.
Thank you,
Amal VellappillilAmal Vellappillil
ParticipantAwesome. Thank you so much for all the clarifications and directions.
Stay safe.
Amal Vellappillil
ParticipantHi Alex,
Thank you very much for clarifying the fact about JS in “Run these functions/evaluate these rules” does not have an impact on rule validation.
I have been using a generic version of what you had mentioned in your post with another list. I just thought about asking this question and see if there was a better way of getting this done. Here is the sample code. Just putting it out there just in case if it is helpful for others.
function queueEmailToBeSent(ruleID) { var initval, val, rule; jQspjs.each(spjs.dffs.ruleObj.ruleArr, function (k, v) { if (v.friendlyName === ruleID) { rule = v; } }); if (!jQspjs.isEmptyObject(rule)) { var field = rule.triggerField; var type = spjs.dffs.fieldtype[field]; initVal = spjs.dffs.beforeProperties[field]; val = getFieldValue(field); if (type === "SPFieldBoolean") { if (val !== initVal && val) { spjs.dffs.handleEmailTemplate(ruleID, true); } else { spjs.dffs.handleEmailTemplate(ruleID, false); } } else { if (val !== initVal && !jQspjs.isEmptyObject(val)) { spjs.dffs.handleEmailTemplate(ruleID, true); } else { spjs.dffs.handleEmailTemplate(ruleID, false); } } } }
As a follow up can you answer these as well?
1. Is it possible to find out if a rule is validated or not using JS?
2. Is it possible to manually evaluate a rule from within JS?Thank you for all your help.
Amal Vellappillil
ParticipantThank you for the confirmation Alex.
Amal Vellappillil
ParticipantI meant like if all the required fields are filled or if the user entered text in a number field etc (all the out of the box validations).
-
AuthorPosts