UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

1 lines 884 B
import"../../CommonImports";import"../../Core/core.css";import*as React from"react";import{shimRef}from"../../Util";class Measure extends React.Component{constructor(){super(...arguments),this.childRef=React.createRef(),this.lastWidth=-1,this.lastHeight=-1,this.onResize=()=>{var e=this.childRef.current;e&&(e=e.getBoundingClientRect(),this.lastWidth==e.width&&this.lastHeight==e.height||(this.props.onMeasure&&this.props.onMeasure(e.width,e.height),this.lastWidth=e.width,this.lastHeight=e.height))}}render(){var e=React.Children.only(this.props.children);return this.childRef=shimRef(e),React.cloneElement(e,Object.assign(Object.assign({},e.props),{ref:this.childRef}))}componentDidMount(){window.addEventListener("resize",this.onResize),this.onResize()}componentDidUpdate(){this.onResize()}componentWillUnmount(){window.removeEventListener("resize",this.onResize)}}export{Measure};