...
Для удобства навигации можно отображать элементы какого-либо одного типа. Для этого нужно выбрать типа элемента в выпадающем списке справа от тулбара.
Текст
В элементе типа текст можно указывать макросы в текст ${#firstName}, ${#lastName}, ${#status} и т.д. (В качестве макроса можно использовать любую строку).
Затем в обработчике диалога, перед отображением диалога,в методе preDialog( ServerContext serverContext, JSONObject chatData ) заменить макросы на необходимые значения.
...
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
JSONObject macros = new JSONObject(); macros.put( "firstName", Utils.maskBlank(cpm.getStringParam( cid, FIRST_NAME_PID ), "") ); macros.put( "lastName", Utils.maskBlank( cpm.getStringParam( cid, LAST_NAME_PID ), "" ) ); macros.put( "status", contract.getStatus() == 0 ? "Активен" : "Приостановлен" ); macros.put( "balance", balanceUtils.getBalance( new Date(), cid ).toString() ); // MACROS("macros") - строковая константа в интерфейсе DialogProcessing chatData.put( MACROS, macros ); |
Кнопка
При создании элемента с типом кнопка необходимо настроить несколько значений
Название - текст, который будет отображён на самой кнопке. Если стоит флаг "inline" - кнопка будет частью сообщения, а не создаваться отдельно в качестве клавиатуры.
По нажатию на кнопку может быть отображён какой-либо другой диалог, но это не обязательное условие.
Вложение
Вложением может быть любой файл размером не более 20мб. Вложение будет отправляться после всех остальных элементов в диалоге. Т.е сначала отправляется текст, ссылки, а затем вложения для данного диалога.