_handleTypingEvent()

in src/components/Chat/ChatSession.js [480:510]


  _handleTypingEvent(dataInput) {
    var data = dataInput.data;
    if (this._isRoundtripMessage(data)) {
      return;
    }
    var incomingTypingParticipant = modelUtils.createTypingParticipant(
      data,
      this.thisParticipant.participantId
    );
    incomingTypingParticipant.callback = setTimeout(() => {
      this._removeTypingParticipant(
        incomingTypingParticipant.participantId
      );
    }, 12 * 1000);
    var newTypingParticipants = [];
    for (var i = 0; i < this.typingParticipants.length; i++) {
      var existingParticipantTyping = this.typingParticipants[i];
      if (
        existingParticipantTyping.participantId ===
        incomingTypingParticipant.participantId
      ) {
        clearTimeout(existingParticipantTyping.callback);
      } else {
        newTypingParticipants.push(existingParticipantTyping);
      }
    }
    newTypingParticipants.push(incomingTypingParticipant);
    this._updateTypingParticipants(newTypingParticipants);
    console.log("this.typingParticipants");
    console.log(this.typingParticipants);
  }