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