private parseCategorySet()

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();
    }