Hi All,
i have 2 interfaces, where Interface 2 is called inside interface1,
the interface 2 works great when tested separate, but when called inside Interface1, it doesn't refresh or show up proper values, what can be done to overcome this.
Thanks in advance
--------------Main Interface----------- a!columnLayout( contents: { a!cardLayout( contents: { rule!CMP_DonutChart( programid: ri!programId, dcselectedRole: tostring(local!selectedRole) ) } ) }, width: "NARROW" ) ---------Doughnut chart code----------------- load( a!localVariables( local!loggedUser:loggedInUser(), local!filtercollapseNav: false, local!dcselectedrole : a!refreshVariable( value:ri!dcselectedRole, refreshOnReferencedVarChange: true, refreshOnVarChange: {ri!dcselectedRole,ri!programid} ), /**Donut Data for Super Admin**/ local!gaugedataActuals: a!refreshVariable( value:rule!CMP_getProgramNomineeSeatsFilled( programid: ri!programid ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugedataTargets:a!refreshVariable( value:rule!CMP_getProgramTotalCapacity( programid: ri!programid ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugepercentage:a!refreshVariable( value:if(tointeger(local!gaugedataTargets) <> 0, (tointeger(local!gaugedataActuals)/tointeger(local!gaugedataTargets)) * 100, 0), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), /**Donut Data for Nominator**/ local!gaugedataTargetsNominator: a!refreshVariable( value:if(local!dcselectedrole=cons!CMP_NOMINATOR_GROUP_VALUES[1], rule!CMP_getProgramNominatorCapacity( programid: ri!programid, nominatorEID: user(loggedInUser(),"username") ), 0 ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugedataActualsNominator: a!refreshVariable( value: if(local!dcselectedrole=cons!CMP_NOMINATOR_GROUP_VALUES[1], rule!CMP_getGridNomineeListByNominatorEID( programid:ri!programid, NominatorEID: user(loggedInUser(),"username") ), 0), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugepercentageNominator: a!refreshVariable( value: if(local!dcselectedrole=cons!CMP_NOMINATOR_GROUP_VALUES[1], if (tointeger(local!gaugedataActualsNominator) <> 0, (tointeger(local!gaugedataActualsNominator)/tointeger(local!gaugedataTargetsNominator)) * 100,0),0 ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), /**Donut Data for SBG HR VP**/ local!gaugedataActualsSBG: a!refreshVariable( value: rule!CMP_getActualsforSBGHRVP( programid: ri!programid, /*sbg: if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[2])), */ /*"CORP", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[3])), */ /*"HBT", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[5])), */ /*"PMT", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[4])), */ /*"HCE", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[6])), */ /*"SPS", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[1])), */ /*"AERO", null*/ /*)*/ /*)*/ /*) */ /*)*/ /*)*/ /*)*/ sbg: rule!CMP_determineUserRoleSbg( Role: local!dcselectedrole ) ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugedataTargetsSBG: a!refreshVariable( value: rule!CMP_getTargetsforSBGHRVP( programid:ri!programid, /*sbg: if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[2])), */ /*"CORP", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[3])), */ /*"HBT", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[5])), */ /*"PMT", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[4])), */ /*"HCE", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[6])), */ /*"SPS", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_HR_VPs[1])), */ /*"AERO", null*/ /*)*/ /*)*/ /*) */ /*)*/ /*)*/ /*)*/ sbg:rule!CMP_determineUserRoleSbg( Role : local!dcselectedrole ) ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugepercentageSBG: a!refreshVariable( value:if (tointeger(local!gaugedataTargetsSBG) <> 0, (tointeger(local!gaugedataActualsSBG)/tointeger(local!gaugedataTargetsSBG)) * 100,0), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), /**Donut Data for SBG CL**/ local!gaugedataActualsSBGCL: a!refreshVariable( value: rule!CMP_getActualsforSBGHRVP( programid: ri!programid, sbg:rule!CMP_determineUserRoleSbg( Role: local!dcselectedrole ) ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugedataTargetsSBGCL: a!refreshVariable( value: rule!CMP_getTargetsforSBGHRVP( programid:ri!programid, /*sbg:if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[2])), */ /*"CORP", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[3])), */ /*"HBT", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[5])), */ /*"PMT", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[4])), */ /*"HCE", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[6])), */ /*"SPS", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[1])), */ /*"AERO", null*/ /*)*/ /*)*/ /*) */ /*)*/ /*)*/ /*)*/ sbg: rule!CMP_determineUserRoleSbg( Role:local!dcselectedrole ) ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugepercentageSBGCL: a!refreshVariable( value: if (tointeger(local!gaugedataTargetsSBGCL) <> 0,(tointeger(local!gaugedataActualsSBGCL)/tointeger(local!gaugedataTargetsSBGCL)) * 100,0), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), /**Donut Data for HRG Nominator**/ local!gaugedataActualsHRG: a!refreshVariable( value:rule!CMP_getActualsHRGNominator( programid: ri!programid, hrgeid:user(loggedInUser(),"username") ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugedataTargetsHRG: a!refreshVariable( value: rule!CMP_getTargetsHRGNominator( programid:ri!programid, hrgeid: user(loggedInUser(),"username") ), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), local!gaugepercentageHRG: a!refreshVariable( value: if(tointeger(local!gaugedataTargetsHRG)<>0, (tointeger(local!gaugedataActualsHRG)/tointeger(local!gaugedataTargetsHRG)) * 100, 0), refreshOnReferencedVarChange:true, refreshOnVarChange: {local!dcselectedrole,ri!programid} ), { a!textField( value: local!dcselectedrole ), a!textField( value: local!gaugedataTargetsSBGCL ), a!textField( value: local!gaugedataActualsSBGCL ), a!textField( value: local!gaugedataActuals ), a!textField( value: local!gaugedataTargets ), /*a!textField(*/ /*value:{*/ /*if(isusermemberofgroup(loggedInUser(), cons!CMP_GRP_ALL_SBG_HR_VPs[2]), */ /*"CORP", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[2])), */ /*"CORP", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[3])), */ /*"HBT", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[5])), */ /*"PMT", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[4])), */ /*"HCE", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[6])), */ /*"SPS", */ /*if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs[1])), */ /*"AERO", null*/ /*)*/ /*)*/ /*) */ /*)*/ /*)*/ /*)*/ /*)*/ /*}*/ /*),*/ /*a!dropdownField(*/ /*label: "Roles",*/ /*placeholderLabel: "--Select Role--",*/ /*choiceLabels: local!userGroups,*/ /*choiceValues: local!userGroups,*/ /*value: local!dcselectedrole,*/ /*saveInto: {*/ /*local!dcselectedrole,*/ /*if(local!dcselectedrole=cons!CMP_NOMINATOR_GROUP_VALUES[1],*/ /*a!save(*/ /*local!qeGridNominatorEid,*/ /*local!loggedUser*/ /*),*/ /*if(local!dcselectedrole=cons!CMP_NOMINATOR_GROUP_VALUES[2],*/ /*a!save(*/ /*local!qeGridHRGEid,*/ /*local!loggedUser*/ /*),*/ /*a!save(*/ /*local!qeGridNominatorSBG,*/ /*rule!CMP_determineUserRoleSbg(*/ /*Role: tostring(local!dcselectedrole)*/ /*)*/ /*)*/ /*)*/ /*)*/ /*},*/ /*disabled:if(count(local!CurrentUserRoles)=1,true,false)*/ /*),*/ /**/ /**/ a!richTextDisplayField( value: a!richTextIcon( icon: if( local!filtercollapseNav, "angle-double-left", "angle-double-right" ), caption: if( local!filtercollapseNav, "Expand Filter", "Collapse Filter" ), link: a!dynamicLink( value: not( local!filtercollapseNav ), saveInto: local!filtercollapseNav ), linkStyle: "STANDALONE", color: "SECONDARY", size: "MEDIUM" ), align: "CENTER" ), if(local!filtercollapseNav, {}, if(local!dcselectedrole=getgroupnames(togroup(cons!CMP_GRP_SUPERADMIN)), a!cardLayout( marginBelow: "STANDARD", contents: { a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { /*"Seats Filled-Super Admin"*/ "Seats Filled" }, size: "STANDARD", style: { "STRONG" } ) }, align: "LEFT" ), a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { local!gaugedataActuals & " Nominee out of " & local!gaugedataTargets & " Capacity" }, size: "SMALL", style: { "PLAIN" } ) }, align: "LEFT" ), a!gaugeField( label: "", percentage: local!gaugepercentage, primaryText: local!gaugedataActuals, secondaryText: "of " & local!gaugedataTargets, size: "SMALL", align: "CENTER" /*showWhen:isusermemberofgroups(ri!user,cons!LMP_COUNTRY_GROUPS)*/ ) } ), if(local!dcselectedrole=cons!CMP_NOMINATOR_GROUP_VALUES[1], a!cardLayout( marginBelow: "STANDARD", contents: { a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { /*"Seats Filled-Nominator"*/ "Seats Filled" }, size: "STANDARD", style: { "STRONG" } ) }, align: "LEFT" ), a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { local!gaugedataActualsNominator & " Nominee out of " & local!gaugedataTargetsNominator & " Capacity" }, size: "SMALL", style: { "PLAIN" } ) }, align: "LEFT" ), a!gaugeField( label: "", percentage: local!gaugepercentageNominator, primaryText: local!gaugedataActualsNominator, secondaryText: "of " & local!gaugedataTargetsNominator, size: "SMALL", align: "CENTER" ) } ), if(contains(getgroupnames(cons!CMP_GRP_ALL_SBG_HR_VPs),local!dcselectedrole), a!cardLayout( marginBelow: "STANDARD", contents: { a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { /*"Seats Filled-SBG_HRVP"*/ "Seats Filled" }, size: "STANDARD", style: { "STRONG" } ) }, align: "LEFT" ), a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { local!gaugedataActualsSBG & " Nominee out of " & local!gaugedataTargetsSBG & " Capacity" }, size: "SMALL", style: { "PLAIN" } ) }, align: "LEFT" ), a!gaugeField( label: "", percentage: local!gaugepercentageSBG, primaryText: local!gaugedataActualsSBG, secondaryText: "of " & local!gaugedataTargetsSBG, size: "SMALL", align: "CENTER" ) } ), if(contains(getgroupnames(togroup(cons!CMP_GRP_ALL_SBG_CLs)),local!dcselectedrole), a!cardLayout( marginBelow: "STANDARD", contents: { a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { /*"Seats Filled- SBG CL"*/ "Seats Filled" }, size: "STANDARD", style: { "STRONG" } ) }, align: "LEFT" ), a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { local!gaugedataActualsSBGCL & " Nominee out of " & local!gaugedataTargetsSBGCL & " Capacity" }, size: "SMALL", style: { "PLAIN" } ) }, align: "LEFT" ), a!gaugeField( label: "", percentage: local!gaugepercentageSBGCL, primaryText: local!gaugedataActualsSBGCL, secondaryText: "of " & local!gaugedataTargetsSBGCL, size: "SMALL", align: "CENTER" /*showWhen:isusermemberofgroups(ri!user,cons!LMP_COUNTRY_GROUPS)*/ ) } ), if(local!dcselectedrole=cons!CMP_NOMINATOR_GROUP_VALUES[2], a!cardLayout( marginBelow: "STANDARD", contents: { a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { /*"Seats Filled-else"*/ "Seats Filled" }, size: "STANDARD", style: { "STRONG" } ) }, align: "LEFT" ), a!richTextDisplayField( labelposition: "COLLAPSED", value: { a!richTextItem( text: { local!gaugedataActualsHRG & " Nominee out of " & local!gaugedataTargetsHRG & " Capacity" }, size: "SMALL", style: { "PLAIN" } ) }, align: "LEFT" ), a!gaugeField( label: "", percentage: local!gaugepercentageHRG, primaryText: local!gaugedataActualsHRG, secondaryText: "of " & local!gaugedataTargetsHRG, size: "SMALL", align: "CENTER" /*showWhen:isusermemberofgroups(ri!user,cons!LMP_COUNTRY_GROUPS)*/ ) } ), null ) ) ) ) ) ) } ) )
Discussion posts and replies are publicly visible
My main question - are the refresh variables necessary? It seems like most of them are just updating on referenced variables changing, but this seems unnecessary to me. Also can you describe the purpose of this variable?
local!dcselectedrole : a!refreshVariable( value:ri!dcselectedRole, refreshOnReferencedVarChange: true, refreshOnVarChange: {ri!dcselectedRole,ri!programid} ),
You have the value here set to be ri!dcselectedRole, but it's also updating when ri!dcselectedRole changes. This seems unnecessary to me, because you should be able to reference ri!dcselectedRole directly anywhere you need to use it.
To be honest, I'm not certain that all the refresh variables are the issue, but I fear that the added complexity you have with all of them could be masking the issue here.
I'm willing to bet your use of load() in the child chart interface is causing your problems - remove that and re-test. The interface should start with a!localVariables.
Yeah the load() is definitely unnecessary, but I'm also not sure that's causing the issue because there aren't any variables defined in that load function.