Chat

Metro 4 implements component to create simple chat.

About

In Metro 4 you can create simple chat.

Create chat

To create simple interface for your chat you must create container with role chat and set size roy you chat. That's all.


                    <div
                      data-role="chat"
                      data-width="300"
                      data-height="400"
                    ></div>
                

Options

Option Data-* Default Desc
timeFormat data-time-format %d %b %l:%M %p Message time format. More about date-time formats
name data-name John Doe Receiver name
avatar data-avatar Receiver avatar. Must be string with image source (used for img src attribute)
welcome data-welcome null Welcome message
title data-title null Chat title
width data-width 100% Chat width
height data-height auto Chat height
randomColor data-random-color false If true, messages colorized with random color from predefined colors
messages data-messages null Object with initialization messages
sendButtonTitle data-send-button-title Send Title for Send button

Events

Event Data-* Desc
onMessage(msg) data-on-message Fired when message added to chat
onSend(msg) data-on-send Fired when user click on Send button
onChatCreate data-on-chat-create Fired when chat was created

Methods

Method Desc
clear() Clear all message
add(msg) Add message to chat
addMessages(messages) Add messages to chat
delMessage(msg_id) Del message from chat
updMessage(msg) Update message on chat

Customize

You can customize chat with special attributes.

Attr Data-* Desc
clsChat data-cls-chat Class for chat component
clsName data-cls-name Class for sender or receiver name
clsTime data-cls-time Class for message time
clsInput data-cls-input Class for chat input control
clsSendButton data-cls-send-button Class for send button
clsMessageLeft data-cls-message-left Class for left message
clsMessageRight data-cls-message-right Class for right message

Message structure

Chat message is a plain object.


                    message = {
                        id,
                        name,
                        time,
                        avatar,
                        position
                    }
                
Property Type Desc
id any Message unique id
name string Sender name
time valid ECMA script datetime string Message time
avatar uri Sender avatar, used for img src attribute
position string left or right