in src/visual.ts [332:383]
private static parseSettings(dataView: DataView, colorHelper: ColorHelper): Settings {
let settings: Settings = Settings.parse<Settings>(dataView);
if (!settings.general.enableColorbrewer) {
if (settings.general.buckets > TableHeatMap.BucketCountMaxLimit) {
settings.general.buckets = TableHeatMap.BucketCountMaxLimit;
}
if (settings.general.buckets < TableHeatMap.BucketCountMinLimit) {
settings.general.buckets = TableHeatMap.BucketCountMinLimit;
}
} else {
if (settings.general.colorbrewer === "") {
settings.general.colorbrewer = TableHeatMap.DefaultColorbrewer;
}
let colorbrewerArray: IColorArray = colorbrewer[settings.general.colorbrewer];
let minBucketNum: number = 0;
let maxBucketNum: number = 0;
for (let bucketIndex: number = TableHeatMap.BucketCountMinLimit; bucketIndex < TableHeatMap.ColorbrewerMaxBucketCount; bucketIndex++) {
if (minBucketNum === 0 && (colorbrewerArray as Object).hasOwnProperty(bucketIndex.toString())) {
minBucketNum = bucketIndex;
}
if ((colorbrewerArray as Object).hasOwnProperty(bucketIndex.toString())) {
maxBucketNum = bucketIndex;
}
}
if (settings.general.buckets > maxBucketNum) {
settings.general.buckets = maxBucketNum;
}
if (settings.general.buckets < minBucketNum) {
settings.general.buckets = minBucketNum;
}
}
if (colorHelper.isHighContrast) {
const foregroundColor: string = colorHelper.getThemeColor("foreground");
const backgroundColor: string = colorHelper.getThemeColor("background");
settings.labels.show = true;
settings.labels.fill = foregroundColor;
settings.xAxisLabels.fill = foregroundColor;
settings.yAxisLabels.fill = foregroundColor;
settings.general.enableColorbrewer = false;
settings.general.gradientStart = backgroundColor;
settings.general.gradientEnd = backgroundColor;
settings.general.stroke = foregroundColor;
settings.general.textColor = foregroundColor;
}
return settings;
}