59 lines
1.6 KiB
CoffeeScript
59 lines
1.6 KiB
CoffeeScript
context = window
|
|
RecordingStore = @RecordingStore
|
|
@SessionRecordingStatus = React.createClass({
|
|
mixins: [Reflux.listenTo(@RecordingStore, "onRecordingChanged")]
|
|
|
|
onRecordingChanged: (details) ->
|
|
console.log("SessionRecordingStatus RECORDING CHANGED ", details)
|
|
|
|
@setState(details)
|
|
|
|
getInitialState: () ->
|
|
{
|
|
isRecording: false,
|
|
cause: "",
|
|
events:[]
|
|
}
|
|
|
|
render: () ->
|
|
|
|
classes = classNames({
|
|
'session-recording-status' : true
|
|
'has-details' : @state.detail?
|
|
})
|
|
|
|
modelState = RecordingStore.recordingModel?.getState()
|
|
#if @state.isRecording == false
|
|
# return null
|
|
if this.state.isRecording
|
|
recording = `<span className="recording-on">Recording</span>`
|
|
else
|
|
recording = `<span className="recording-off">Not Recording</span>`
|
|
|
|
cause = `<span className="cause">cause={this.state.cause}</span>`
|
|
|
|
console.log("modelState ", modelState, modelState?.waitingOnClientStop, modelState?.waitingOnServerStop)
|
|
|
|
waitingOnClientStop = null
|
|
waitingOnServerStop = null
|
|
if modelState?
|
|
if modelState.waitingOnClientStop
|
|
waitingOnClientStop = `<span className="cause">clientStopping</span>`
|
|
if modelState.waitingOnServerStop
|
|
waitingOnServerStop = `<span className="cause">serverStopping</span>`
|
|
|
|
events = []
|
|
for event in @state.events
|
|
events.push(`<li key={event[0]}>{event[0]}</li>`)
|
|
body = `<div className="msg">{recording} {cause} {waitingOnClientStop} {waitingOnServerStop}</div>`
|
|
|
|
`<div className={classes}>
|
|
{body}
|
|
<ul className="recording-events">
|
|
{events}
|
|
</ul>
|
|
</div>`
|
|
|
|
componentDidMount: () ->
|
|
|
|
}) |