Кастомизация разметки и работы компонента чат

В компоненте as.messages предусмотрены JS коллбеки, через которые можно менять разметку отдельных элементов чата. 

Все они возвращают строку. Если функция определена, то она будет использована вместо стандартной разметки.

В выходной разметке можно использовать также дополнительные компоненты (формы, таблицы), тем самым получая еще больше гибкости по функциональности чата. 

Пример использования кастом разметки (используется специальный коллбек  as.messagesInitCallback, т.к. компонент as.messages загружается асинхронно): 

$(function(){
  as.messagesInitCallback = function(){
    console.log("X111111111111111")
	as.messages.makeup.getRoomToolbar = function(cont, params, data){
	    var res = "XXXXXXXXXXXXXX";		
		return res;
	}
  }
});

Коллбеки после загрузки списка комнат и после загрузки сообщений комнаты

as.messagescallbacks["{typeCode}_getRoom"]=function(cont, params, data){}

as.messagescallbacks["{typeCode}_getRooms"]=function(cont, params, data){}

typeCode берется из атрибута data-code от as-messages (по умолчанию userChat). 

Расширение формата данных, передаваемых для чата с сервера

Вы можете использовать специальные поля json с последующей обработкой в коллбеках (через JSON.parse). 

В каких местах добавляется в модель поле json: 

Процедура as_msg_getRoom:

Процедура as_msg_getRooms

Страница-источник на сайте falconspace.ru