in packages/attribute-slicer-powerbi/src/visual-utils/buildContainsFilter.ts [37:77]
export default function buildContainsFilter(
source: powerbiVisualsApi.DataViewMetadataColumn,
searchVal: any,
) {
"use strict";
let filter: AdvancedFilter;
if (source) {
const sourceType = source.type;
// Only support "contains" with text columns
const target = buildColumnTarget(source);
if (searchVal) {
if (sourceType.text) {
filter = new AdvancedFilter(target, "And", {
operator: <AdvancedFilterConditionOperators>"Contains",
value: searchVal,
});
} else {
if (sourceType.numeric) {
filter = new AdvancedFilter(target, "And", {
operator: <AdvancedFilterConditionOperators>"Is",
value: searchVal,
});
} else if (sourceType.bool) {
filter = new AdvancedFilter(target, "Or", [
{
operator: <AdvancedFilterConditionOperators>"Is",
value: "1",
},
{
operator: <AdvancedFilterConditionOperators>"Is",
value: "true",
},
]);
}
}
}
}
return filter;
}