azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 755 B
JavaScript
import"../../CommonImports";import"../../Core/core.css";import*as React from"react";import{Observer}from"./Observer";class ReadyableArrayObserver extends React.Component{constructor(){super(...arguments),this.loaded=!1,this.handleLoaded=()=>{this.props.data.ready.value&&!this.loaded&&(this.props.onReady&&this.props.onReady(),this.loaded=!0)}}render(){const{dataComponent:a,loadingComponent:t,zeroDataComponent:o}=this.props;return React.createElement(Observer,{data:this.props.data,onUpdate:this.handleLoaded,ready:this.props.data.ready},e=>e.ready?e.data.length?a(e.data):o?o():null:t?t():null)}componentDidUpdate(e){e.data!==this.props.data&&(this.loaded=!1,this.handleLoaded())}componentDidMount(){this.handleLoaded()}}export{ReadyableArrayObserver};