umbot
Version:
Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф
56 lines (55 loc) • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cardProcessing = cardProcessing;
const index_1 = require("../../../index");
const Button_1 = require("./Button");
function getElement(image, countImage = 1) {
if (!image.imageToken) {
if (index_1.Text.isUrl(image.imageDir || '')) {
image.imageToken = image.imageDir;
}
}
let element = {
Columns: countImage,
Rows: 6,
};
if (image.imageToken) {
element.Image = image.imageToken;
}
const btn = image.button?.getButtons(Button_1.buttonProcessing) || null;
if (btn?.Buttons !== undefined) {
element = { ...element, ...btn.Buttons[0] };
element.Text = `<font color=#000><b>${image.title}</b></font><font color=#000>${image.desc}</font>`;
}
return element;
}
/**
* Получает карточку для отображения в Viber.
* @param cardInfo Информация о карточке
* @returns {IViberCard[] | IViberCard} Одна карточка, массив карточек или пустой массив, если нечего отобразить
*/
function cardProcessing(cardInfo) {
const objects = [];
let countImage = cardInfo.images.length;
if (countImage > 7) {
countImage = 7;
}
if (countImage) {
if (countImage === 1 || cardInfo.showOne) {
if (!cardInfo.images[0].imageToken && cardInfo.images[0].imageDir) {
cardInfo.images[0].imageToken = cardInfo.images[0].imageDir;
}
if (cardInfo.images[0].imageToken) {
return getElement(cardInfo.images[0]);
}
}
else {
cardInfo.images.forEach((image) => {
if (objects.length <= countImage) {
objects.push(getElement(image, countImage));
}
});
}
}
return objects;
}