UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

26 lines (25 loc) 1.13 kB
import { arrayEquals } from '../Util'; export function updateFilterToSelection(values, items, filter, filterItemKey) { const selectedValues = []; for (let rangeIndex = 0; rangeIndex < values.length; rangeIndex++) { for (let i = values[rangeIndex].beginIndex; i <= values[rangeIndex].endIndex; i++) { selectedValues.push(items[i].data !== undefined ? items[i].data : items[i].id); } } const currentState = filter.getFilterItemState(filterItemKey); let changesToSet = false; if (currentState) { changesToSet = !arrayEquals(currentState.value, selectedValues) && (selectedValues.length || currentState.value); } else { changesToSet = !!selectedValues.length; } if (changesToSet) { if (filterItemKey === "keyword") { filter.setFilterItemState(filterItemKey, { value: selectedValues[0] }); } else { filter.setFilterItemState(filterItemKey, { value: selectedValues, operator: currentState === null || currentState === void 0 ? void 0 : currentState.operator }); } } }