googleTimelineChartField() plugin component issue in implementing dynamic colors for multiple bars in multiple row

Certified Senior Developer

Requirement is to display single color for first bar in each row and for 2nd bar in each row it show change dynamically as per status of the field.

We are trying implementing timeline chart for one of the use case in which it should display 2 Bars in each row. One bar's color is fixed and another should be changing based on status. But when we try to implement logic then color is not coming properly using colors{} inside timeline chart. Output is not coming properly.

Using two different loops for two bars in each row but it's not reflecting in the chart :

googleTimelineChartField(
chartColumnData: {
{
type: "string",
id: "Name",
rowDataKey: "name"
},
{
type: "string",
id: "Title",
rowDataKey: "title"
},
{
type: "date",
id: "Start Time",
rowDataKey: "start"
},
{
type: "date",
id: "End Time",
rowDataKey: "end"
}

},
chartRowData:{
a!forEach(
items:index(local!ccatAssesment,"data",{}),
expression: {
/*Bar title*/
title:"Pre Assessment Engagement",
/*Hover screen message*/
name:if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{assessmentName}assessmentName']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{assessmentName}assessmentName'],
{}
),
/*start date*/
start:if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{engagementStartDate}engagementStartDate']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{engagementStartDate}engagementStartDate'],
{}
),
/*end date*/
end:if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{initialDocReviewDate}initialDocReviewDate']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{initialDocReviewDate}initialDocReviewDate'],
{}
),

}
),
a!forEach(
items:index(local!ccatAssesment,"data",{}),
expression: {
/*Bar title*/
title: if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{assessmentName}assessmentName']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{assessmentName}assessmentName'],
{}
),
/*Hover screen message*/
name: concat(
"Pre Assessment Engagement ",
" : ",
if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{engagementStartDate}engagementStartDate']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{engagementStartDate}engagementStartDate'],
{}
),
" - ",
if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{initialDocReviewDate}initialDocReviewDate']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{initialDocReviewDate}initialDocReviewDate'],
{}
),
char(10),
" Asesssment Start - ",
if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{revisedStartDate}revisedStartDate']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{revisedStartDate}revisedStartDate'],
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{plannedStartDate}plannedStartDate']
),
" Assessment End - ",
if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{revisedCompletionDate}revisedCompletionDate']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{revisedCompletionDate}revisedCompletionDate'],
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{plannedCompletionDate}plannedCompletionDate']
)
),
/*start date*/
start: if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{revisedStartDate}revisedStartDate']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{revisedStartDate}revisedStartDate'],
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{plannedStartDate}plannedStartDate']
),
/*end date*/
end: if(
a!isNotNullOrEmpty(
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{revisedCompletionDate}revisedCompletionDate']
),
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{revisedCompletionDate}revisedCompletionDate'],
fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{plannedCompletionDate}plannedCompletionDate']
)

}
)
},

colors: {
a!forEach(
items: index(local!ccatAssesment,"data",{}),
expression: cons!CCAT_TEXT_LIST_HEX_CODE_COLOR_PALETTE[15]
),
a!forEach(
items: index(local!ccatAssesment,"data",{}),
expression:
a!match(
value: fv!item['recordType!{54f65c9b-a3ae-4e41-bb2e-dcd7134ebe1c}CCAT VW ASSESSMENT STATUS.fields.{status}status'],
equals: "In Progress",
then: cons!CCAT_TEXT_LIST_HEX_CODE_COLOR_PALETTE[17],
equals: "Not Started",
then: cons!CCAT_TEXT_LIST_HEX_CODE_COLOR_PALETTE[18],
equals: "Overdue",
then: cons!CCAT_TEXT_LIST_HEX_CODE_COLOR_PALETTE[19],
equals: "Complete",
then: cons!CCAT_TEXT_LIST_HEX_CODE_COLOR_PALETTE[16],
default: cons!CCAT_TEXT_LIST_HEX_CODE_COLOR_PALETTE[18]
)
)
},

Please provide any suggestion.

  Discussion posts and replies are publicly visible