Rules are probably best described by using examples. This chapter contains numerous real world samples.
...
Show/Hide Manager Approval
You have a flow and the first form has a Section for manager approval. The Section is hidden by default. Here is an example of a rule that makes the section visible in the second step of the flow which is a linked activity assigned the manager role.
Code Block |
---|
if (form.load) { var an = _data.getParameter ("flow.activity.name"); if (an === 'Manager' || an === 'VP'){ ManagerApproval.visible = true; } else { ManagerApproval.visible = false; } } |
...
Code Block |
---|
/ Calculate Hospital Stay Duration if (A.value !== '' && D.value !== '') { var da = A.value.split('-'); var Ams = new Date(da[0],da[1],da[2]); da = D.value.split('-'); var Dms = new Date(da[0],da[1],da[2]); if (Ams > Dms) { Days.value = 'Discharge date must be after Admission Date'; } else { Days.value = (Dms - Ams) / (1000*60*60*24) + ' days'; } } |
Duration
...
Between Date
...
and Time
...
Here is a rule example to calculate the time difference between two Date/Time values in hours:minutes format :
Code Block |
---|
if (StartDateTime.value !== '' && EndDateTime.value !== '') { var d = StartDateTime.value.split('-'); var d1 = d[2].split('T'); var t = d1[1].split('Z')[0]; var t1 = t.split(':'); var startDate = new Date(d[0],d[1],d1[0], t1[0], t1[1], t1[2]); d = EndDateTime.value.split('-'); d1 = d[2].split('T'); t = d1[1].split('Z')[0]; var t1 = t.split(':'); var endDate = new Date(d[0],d[1],d1[0], t1[0], t1[1], t1[2]); var diff = endDate.getTime() - startDate.getTime(); var hours = Math.floor(diff / 1000 / 60 / 60); diff -= hours * 1000 * 60 * 60; var minutes = Math.floor(diff / 1000 / 60); TimeToComplete.value = (hours < 9 ? "0" : "") + hours + ":" + (minutes < 9 ? "0" : "") + minutes; } |
...