azure-devops-ui
Version:
React components for building web UI in Azure DevOps
27 lines (26 loc) • 1.05 kB
JavaScript
import "../../CommonImports";
import "../../Core/core.css";
import * as React from "react";
import { getItemsValue } from '../../Utilities/Provider';
import { UncheckedObserver } from "./Observer";
export class ItemsObserver extends React.Component {
constructor() {
super(...arguments);
this.onItemsChanged = (value, action) => {
const { getUnselectableRanges, items, selection } = this.props;
selection.onItemsChanged(value, action);
selection.unselectableRanges = getUnselectableRanges(getItemsValue(items));
return false;
};
}
componentDidMount() {
this.props.selection.unselectableRanges = this.props.getUnselectableRanges(getItemsValue(this.props.items));
}
render() {
const itemsObservable = {
observableValue: this.props.items,
filter: this.onItemsChanged
};
return React.createElement(UncheckedObserver, { itemsObservable: itemsObservable }, this.props.children);
}
}