in src/converter/data/dataConverter.ts [986:1026]
private parseCategorySet(
columnValues: IColumnValues,
defaultCategoryName: string,
): ICategoryHyperlink[] {
const categorySet: ICategoryHyperlink[] = [];
if (columnValues[categoryColumn.name]) {
const hyperlinks: string[] = this.getValuesByColumnName(columnValues, hyperlinkColumn.name);
const sortOrders: DataRepresentationAxisValueType[] = this.getValuesByColumnName(columnValues, sortOrderColumn.name);
const images: string[] = this.getValuesByColumnName(columnValues, imageColumn.name);
Object.keys(columnValues[categoryColumn.name]).forEach((categoryName: string, categoryIndex: number) => {
const category: IColumnValue = columnValues[categoryColumn.name][categoryName];
const hyperlink: string = hyperlinks[categoryIndex] || null;
const sortOrder: DataRepresentationAxisValueType = sortOrders[categoryIndex] || null;
const image: string = images[categoryIndex] || null;
if (category && category.value !== undefined && category.value !== null) {
categorySet.push({
hyperlink,
image,
name: category.value,
sortOrder,
});
} else if (category
&& categorySet[0] !== undefined
&& categorySet[0] !== null
&& defaultCategoryName
) {
categorySet.push({
hyperlink,
image,
name: defaultCategoryName,
sortOrder,
});
}
});
}
return categorySet.reverse();
}