ChatScreen

Свойства

screen (ChatiumJsonChatScreen): Данные чата, включая URL-адреса для получения сообщений, изменения, маркировки прочитанного, а также данные для работы с сокетами.

Состояния

  • store (ChatScreenStore):
    Основное состояние компонента, в которое сохраняются данные чата, такие как сообщения, последний идентификатор изменений, последнее время прочтения и сокет.
  • text (string):
    Текущее текстовое значение сообщения, которое вводит пользователь.
  • files (File[]):
    Массив файлов, которые пользователь прикрепил к сообщению.
  • replyMessage (Message | null):
    Сообщение, на которое отвечает пользователь.
  • footerFocusTrigger (boolean):
    Триггер, который используется для установки фокуса на поле ввода в футере чата.

События

  • submitHandler:
    Обработчик отправки сообщения. При отправке сообщение добавляется в список сообщений, и если оно успешно отправлено, его статус изменяется на "отправлено".
  • pasteHandler (ClipboardEvent):
    Обработчик вставки файлов через буфер обмена. Если вставлены файлы, они добавляются к текущему массиву файлов.
  • uploaderCancelHandler:
    Обработчик отмены загрузки файлов. Убирает прикрепленные файлы и сбрасывает состояние.
  • fileInputHandler (newFiles: File[]):
    Обработчик для добавления файлов через инпут. Добавляет новые файлы к текущему массиву прикрепленных файлов.
  • replyMessageHandler (message: Message):
    Устанавливает сообщение, на которое пользователь отвечает, в качестве reply.
  • removeReplyMessageHandler:
    Убирает сообщение для ответа reply, сбрасывая текущее reply-сообщение.
  • fetchMessages:
    Функция для загрузки сообщений с сервера через API, используя URL, указанный в screen.chat.messages_get_url.
  • fetchChanges:
    Функция для получения изменений сообщений (например, новые сообщения или изменения существующих) через API по URL messages_changes_url.
  • fetchLastRead:
    Функция для получения последнего времени прочтения сообщений.
  • markAsRead (messageId: string):
    Отправляет запрос для отметки сообщения как прочитанного.
  • messagesSocketHandler:
    Обработчик для веб-сокетов, который вызывается при изменении сообщений (например, новое сообщение или изменение).
  • lastReadSocketHandler:
    Обработчик для веб-сокета, который срабатывает при изменении состояния прочитанности сообщений.

Веб-сокеты

Компонент подключается к веб-сокетам для получения изменений сообщений и состояния прочитанности. Эти сокеты управляются через функцию subscribeToSocket, которая вызывается для каждого сокета, переданного через props.screen.

❤️ Made with love on Chatium

ООО "Чатиум"

Информация о компании