powerbi-visuals-utils-dataviewutils
Version:
44 lines • 1.46 kB
JavaScript
export function getMeasureIndexOfRole(grouped, roleName) {
if (!grouped || !grouped.length) {
return -1;
}
const firstGroup = grouped[0];
if (firstGroup.values && firstGroup.values.length > 0) {
for (let i = 0, len = firstGroup.values.length; i < len; ++i) {
const value = firstGroup.values[i];
if (value && value.source) {
if (hasRole(value.source, roleName)) {
return i;
}
}
}
}
return -1;
}
export function getCategoryIndexOfRole(categories, roleName) {
if (categories && categories.length) {
for (let i = 0, ilen = categories.length; i < ilen; i++) {
if (hasRole(categories[i].source, roleName)) {
return i;
}
}
}
return -1;
}
export function hasRole(column, name) {
const roles = column.roles;
return roles && roles[name];
}
export function hasRoleInDataView(dataView, name) {
return dataView != null
&& dataView.metadata != null
&& dataView.metadata.columns
&& dataView.metadata.columns.some((c) => c.roles && c.roles[name] !== undefined); // any is an alias of some
}
export function hasRoleInValueColumn(valueColumn, name) {
return valueColumn
&& valueColumn.source
&& valueColumn.source.roles
&& (valueColumn.source.roles[name] === true);
}
//# sourceMappingURL=dataRoleHelper.js.map