UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

1 lines 1.76 kB
import{__extends}from"tslib";import"../../../CommonImports";import"../../../Core/core.css";import*as React from"react";import*as DateUtil from"../../../Utilities/Date";import{Time}from"../Time/Time";var Ago=function(o){function r(t){var e=o.call(this,t)||this;return e.getTimeString=function(){var t;return DateUtil.ago(e.props.date,e.props.format,null!=(t=e.props.currentDate)?t:new Date,e.props.locale)},e.getNextInterval=function(){return r.agoNextInterval(e.props.date,e.props.format)},e.state={tooltipProps:{}},e}return __extends(r,o),r.getDerivedStateFromProps=function(t){return{tooltipProps:void 0===t.tooltipProps?{renderContent:function(){return DateUtil.tooltipString(t.date,void 0,t.tooltipTimeFormat)}}:t.tooltipProps}},r.prototype.render=function(){return React.createElement(Time,{ariaLabel:this.props.ariaLabel||DateUtil.tooltipString(this.props.date),className:this.props.className,dateTime:this.props.date,getNextInterval:this.getNextInterval,getTimeString:this.getTimeString,tabIndex:this.props.tabIndex,tooltipProps:this.state.tooltipProps})},r.agoNextInterval=function(t,e,o){o=o||new Date,e=e||DateUtil.AgoFormat.Compact;var r,i=o.getTime()-t.getTime();return i<2*DateUtil.minute?r=2*DateUtil.minute-i:i<59*DateUtil.minute&&e===DateUtil.AgoFormat.Compact?r=DateUtil.minute-i%DateUtil.minute:o.toDateString()===t.toDateString()&&e===DateUtil.AgoFormat.Compact?r=DateUtil.hour-i%DateUtil.hour:e===DateUtil.AgoFormat.Extended&&o.toDateString()===t.toDateString()||i<DateUtil.week&&o.getDay()!==t.getDay()?((e=new Date(o)).setDate(o.getDate()+1),e.setHours(0,0,0),r=e.getTime()-o.getTime()):o.getFullYear()===t.getFullYear()&&(r=new Date(o.getFullYear()+1,0,1).getTime()-o.getTime()),r=!r||r>DateUtil.week?-1:r},r}(React.Component);export{Ago};