export function parseColoredInstances()

in packages/attribute-slicer-powerbi/src/state/PowerBISettings/parseColoredInstances.ts [28:54]


export function parseColoredInstances(
	createBuilder: () => powerbiVisualsApi.visuals.ISelectionIdBuilder,
	dataView: powerbiVisualsApi.DataView,
	defaultColor: (idx: number) => string,
	objName: string,
	propName: string,
): IColoredObject[] {
	const catValues = <powerbiVisualsApi.DataViewValueColumns>(
		lodashGet(dataView, "categorical.values", [])
	);
	const values = (catValues && catValues.grouped && catValues.grouped()) || [];
	if (values && values.forEach) {
		return values.map((n, i) => {
			const objs = n.objects;
			const obj = objs && objs[objName];
			const prop = obj && obj[propName];
			const defaultValColor = defaultColor(i) || "#ccc";
			return {
				name: `${n.name || ""}`,
				color: lodashGet(prop, "solid.color", defaultValColor),
				identity: createBuilder()
					.withSeries(catValues, n)
					.createSelectionId(),
			};
		});
	}
}