Refreshing a Grid from two different scenarios

I have an interface that gets data via an integration and then filters those results:

  local!caseCommentsResult: rule!UWM_Get_Case_Comments(caseId: ri!caseId),
  local!caseComments: local!caseCommentsResult.result.body,
  local!filteredActivities: a!forEach(
    items: local!caseComments,
    expression: if(
      tostring(fv!item.commentType) = "CASE_NOTE",
      fv!item,
      null
    )
  ),

And it is displayed in a grid:

a!columnLayout(
        contents: {
          a!localVariables(
            local!pageSize: 25,
            {
              a!gridField_23r3(
                emptyGridMessage: "No comments available",
                data: local!filteredNonNullActivities,


I want the grid to refresh on two different scenarios - 
1.  on RECORD_ACTION  (adding a new row)
2.  when a row is edited by direct integration call

I've tried various different scenarios of local variables but cannot figure out how to get the refresh to work with both these scenarios, especially since something like this

local!isCommentAdded: a!refreshVariable(
value: true,
refreshAfter: "RECORD_ACTION"
),

Always sets the value to true, there is no actual change in value of that variable to work with.

Here is my best attempt -

  local!editCompleted : false,
  local!isCommentUpdated: a!refreshVariable(
    value: local!editCompleted,
    refreshOnReferencedVarChange: local!editCompleted
  ),
  local!isCommentAdded: a!refreshVariable(
    value: true,
    refreshAfter: "RECORD_ACTION"
  ),
  local!isRefreshNeeded: if(
    or(
      local!isCommentUpdated,
      local!isCommentAdded
    ),
    true,
    false
  ),
  
    local!caseCommentsResult: a!refreshVariable(
    value: rule!UWM_Get_Case_Comments(caseId: ri!caseId),
    refreshOnReferencedVarChange: local!isRefreshNeeded
  ),



But because "isCommentAdded" is always true there is no change for caseCommentsResult to act upon.


  Discussion posts and replies are publicly visible

Parents Reply
  • +1
    Certified Lead Developer
    in reply to nancyb0004
    There is a refresh for record actions, but I need to test two scenarios :  when a record action happens OR when a seemingly non related integration call is made from the interface

    Time for a quick sanity check here - why are you bending over backwards to combine the refresh conditions into other local variables instead of just adding multiple refresh conditions to the original query's local variable?  Stefan's most recent example shows how you can easily make a single variable observe both a refresh counter as well as the "RECORD_ACTION", and you can add other condition(s) as needed there too.

Children
No Data