We are currently performing maintenance on Appian Community. As a result, discussions posts and replies are temporarily unavailable. We appreciate your patience.
I have a dynamic link in my code and I want to increment the link as soon as we click on that link icon and value should display below that icon.
For Example: initially icon link value should be 0 and once I click on that icon link value should get updated to 1.
Can you help me how to achieve this?
a!localVariables( local!pagingInfoWell: a!pagingInfo( startIndex: 1, batchSize: 4, sort: a!sortInfo( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id', ascending: false() ) ), local!pagingInfoImproved: a!pagingInfo( startIndex: 1, batchSize: 4, sort: a!sortInfo( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id', ascending: false() ) ), local!refresh: a!refreshVariable( value: cons!RB_RETRO_REFRESH_COUNT, refreshAlways: true() ), local!retroNotesWell: a!refreshVariable( value: a!queryRecordType( recordType: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note', filters: { a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5f705a6f-3227-4951-a62a-97cf0e65058c}sprintId', operator: "=", value: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'], applyWhen: a!isNotNullOrEmpty( ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'] ) ), a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{409d2341-43ff-4832-8396-bf239126f79c}type', operator: "=", value: cons!RB_INT_NOTE_TYPE_ONE ), a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{ac904959-69dc-4c3a-9546-fe8e7c7e6bab}engagementId', operator: "=", value: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'], applyWhen: a!isNotNullOrEmpty( ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'] ) ) }, pagingInfo: local!pagingInfoWell ).data, refreshOnVarChange: local!refresh ), local!retroNotesImproved: a!refreshVariable( value: a!queryRecordType( recordType: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note', filters: { a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5f705a6f-3227-4951-a62a-97cf0e65058c}sprintId', operator: "=", value: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'], applyWhen: a!isNotNullOrEmpty( ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'] ) ), a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{409d2341-43ff-4832-8396-bf239126f79c}type', operator: "=", value: cons!RB_INT_NOTE_TYPE_TWO ), a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{ac904959-69dc-4c3a-9546-fe8e7c7e6bab}engagementId', operator: "=", value: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'], applyWhen: a!isNotNullOrEmpty( ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'] ) ) }, pagingInfo: local!pagingInfoImproved ).data, refreshOnVarChange: local!refresh ), local!whatWentWellSelections, local!rbCount: rule!RB_QR_GetCountByFilters( retroId: reject( fn!isnull, append( index( local!retroNotesImproved, 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id', null ), index( local!retroNotesWell, 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id', null ) ) ), engagementId: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'], sprintId: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'] ), a!forEach( items: local!retroNotesWell, expression: { a!cardLayout( contents: { a!richTextDisplayField( value: { a!richTextIcon( icon: "thumbs-up", size: "MEDIUM_PLUS", link: a!dynamicLink( value: fv!item, saveInto: { a!save( local!whatWentWellSelections, if( contains( tointeger(local!whatWentWellSelections), tointeger( fv!item['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'] ) ), remove( local!whatWentWellSelections, wherecontains( tointeger( fv!item['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'] ), tointeger(local!whatWentWellSelections) ) ), append( local!whatWentWellSelections, tointeger( fv!item['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'] ) ) ) ), } ), linkStyle: "STANDALONE" ), a!richTextItem( text: count( index(local!rbCount, wherecontains( fv!item.['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'], tointeger(index(local!rbCount,'recordType!{e41e7a6a-3d1c-489c-b9b3-2393b0c24649}RB Count.fields.{783a6d9f-3247-4c2a-b996-a164b0e3a478}retroId',null)) ),null)) ), a!richTextItem( text: tointeger(index( local!rbCount, wherecontains( fv!item.['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'], tointeger( index( local!rbCount, 'recordType!{e41e7a6a-3d1c-489c-b9b3-2393b0c24649}RB Count.fields.{783a6d9f-3247-4c2a-b996-a164b0e3a478}retroId' ), null ) ), 'recordType!{e41e7a6a-3d1c-489c-b9b3-2393b0c24649}RB Count.fields.{f8b4ae26-9b55-4755-937b-439a600b8f1b}count', 0 )) ), char(9), a!richTextItem( text: fv!item['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{32600b7b-0598-4d83-aee3-e051f27824c7}comment'], color: cons!RB_TXT_PRIMARY_COLOR_HEX_CODE, size: "MEDIUM", style: "EMPHASIS" ), }, align: "CENTER" ) }, style: "SUCCESS", shape: "ROUNDED", marginAbove: "STANDARD", marginBelow: "LESS", showBorder: false(), showShadow: true() ) } ), )
Discussion posts and replies are publicly visible
In general that would require a simple local variable that you initialise with zero. In the dynamic link, you assign the value of the local variable + 1 and save it into local variable.
a!localVariables( local!pagingInfoWell: a!pagingInfo( startIndex: 1, batchSize: 4, sort: a!sortInfo( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id', ascending: false() ) ), local!pagingInfoImproved: a!pagingInfo( startIndex: 1, batchSize: 4, sort: a!sortInfo( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id', ascending: false() ) ), local!refresh: a!refreshVariable( value: cons!RB_RETRO_REFRESH_COUNT, refreshAlways: true() ), local!retroNotesWell: a!refreshVariable( value: a!queryRecordType( recordType: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note', filters: { a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5f705a6f-3227-4951-a62a-97cf0e65058c}sprintId', operator: "=", value: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'], applyWhen: a!isNotNullOrEmpty( ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'] ) ), a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{409d2341-43ff-4832-8396-bf239126f79c}type', operator: "=", value: cons!RB_INT_NOTE_TYPE_ONE ), a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{ac904959-69dc-4c3a-9546-fe8e7c7e6bab}engagementId', operator: "=", value: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'], applyWhen: a!isNotNullOrEmpty( ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'] ) ) }, pagingInfo: local!pagingInfoWell ).data, refreshOnVarChange: local!refresh ), local!retroNotesImproved: a!refreshVariable( value: a!queryRecordType( recordType: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note', filters: { a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5f705a6f-3227-4951-a62a-97cf0e65058c}sprintId', operator: "=", value: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'], applyWhen: a!isNotNullOrEmpty( ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'] ) ), a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{409d2341-43ff-4832-8396-bf239126f79c}type', operator: "=", value: cons!RB_INT_NOTE_TYPE_TWO ), a!queryFilter( field: 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{ac904959-69dc-4c3a-9546-fe8e7c7e6bab}engagementId', operator: "=", value: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'], applyWhen: a!isNotNullOrEmpty( ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'] ) ) }, pagingInfo: local!pagingInfoImproved ).data, refreshOnVarChange: local!refresh ), local!whatWentWellSelections, local!rbCount: rule!RB_QR_GetCountByFilters( retroId: reject( fn!isnull, append( index( local!retroNotesImproved, 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id', null ), index( local!retroNotesWell, 'recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id', null ) ) ), engagementId: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{8c7bbaa9-a769-43ad-8c66-8f26d232810a}engagementId'], sprintId: ri!RB_Sprint['recordType!{2ed51fe2-f404-4c83-9f98-acc7118706b6}RB Sprints.fields.{e1c08089-7001-47b5-acb3-3bc34ed6f430}id'] ), local!finalCount:0, a!forEach( items: local!retroNotesWell, expression: { a!cardLayout( contents: { a!richTextDisplayField( value: { a!richTextIcon( icon: "thumbs-up", size: "MEDIUM_PLUS", link: a!dynamicLink( value: tointeger(local!finalCount) +1, saveInto: { local!finalCount, a!save( local!whatWentWellSelections, if( contains( tointeger(local!whatWentWellSelections), tointeger( fv!item['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'] ) ), remove( local!whatWentWellSelections, wherecontains( tointeger( fv!item['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'] ), tointeger(local!whatWentWellSelections) ) ), append( local!whatWentWellSelections, tointeger( fv!item['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'] ) ) ) ), } ), linkStyle: "STANDALONE" ), a!richTextItem( text: count( index(local!rbCount, wherecontains( fv!item.['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'], tointeger(index(local!rbCount,'recordType!{e41e7a6a-3d1c-489c-b9b3-2393b0c24649}RB Count.fields.{783a6d9f-3247-4c2a-b996-a164b0e3a478}retroId',null)) ),null)) ), a!richTextItem( text: tointeger(index( local!rbCount, wherecontains( fv!item.['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{5021c120-a5cf-4752-85fe-a3268542bc23}id'], tointeger( index( local!rbCount, 'recordType!{e41e7a6a-3d1c-489c-b9b3-2393b0c24649}RB Count.fields.{783a6d9f-3247-4c2a-b996-a164b0e3a478}retroId' ), null ) ), 'recordType!{e41e7a6a-3d1c-489c-b9b3-2393b0c24649}RB Count.fields.{f8b4ae26-9b55-4755-937b-439a600b8f1b}count', 0 )) ), char(9), a!richTextItem( text: fv!item['recordType!{78f32b7c-4150-4c84-baf2-6b2d421a715d}RB Retro Note.fields.{32600b7b-0598-4d83-aee3-e051f27824c7}comment'], color: cons!RB_TXT_PRIMARY_COLOR_HEX_CODE, size: "MEDIUM", style: "EMPHASIS" ), }, align: "CENTER" ) }, style: "SUCCESS", shape: "ROUNDED", marginAbove: "STANDARD", marginBelow: "LESS", showBorder: false(), showShadow: true() ) } ), )
I tried the above code by incrementing to +1 . But it's not updating
I do not see any obvious reason for it to not work.
Could it be that you created the local first without assigning a value (zero)? In Appian, trying to add 1 to NULL evaluates to NULL. To make sure this is not the case, refresh the interface by clicking the "TEST" button.
Simple example:
a!localVariables( local!finalCount: 0, a!linkField( links: a!dynamicLink( label: "+1", value: tointeger(local!finalCount) +1, saveInto: local!finalCount ), instructions: local!finalCount ) )