universal_bot-ts
59 строк · 2.5 Кб
1import {TemplateCardTypes, Buttons} from '../../../../../src';
2import {UserButton} from './UserButton';
3
4export class UserCard extends TemplateCardTypes {
5/**
6* Получение массива для отображения карточки/изображения
7*
8* @param isOne True, если отобразить только 1 картинку.
9* @return {Promise<Object[]>}
10*/
11public async getCard(isOne: boolean): Promise<object | object[]> {
12let object: object[] = [];
13let countImage = this.images.length;
14if (countImage > 7) {
15countImage = 7;
16}
17const userButton = new UserButton();
18if (countImage) {
19if (countImage === 1 || isOne) {
20if (!this.images[0].imageToken) {
21if (this.images[0].imageDir) {
22this.images[0].imageToken = this.images[0].imageDir;
23}
24}
25if (this.images[0].imageToken) {
26/*
27* Заполняем object необходимыми данными
28*/
29// Получаем возможные кнопки у карточки
30const btn = this.images[0].button.getButtons(Buttons.T_USER_APP_BUTTONS, userButton);
31if (btn) {
32// Добавляем кнопки к карточке
33object = Object.assign({}, object, btn[0]);
34}
35}
36} else {
37this.images.forEach((image) => {
38if (!image.imageToken) {
39if (image.imageDir) {
40image.imageToken = image.imageDir;
41}
42}
43const element = {};
44/*
45* Заполняем element необходимыми данными
46*/
47// Получаем возможные кнопки у карточки
48const btn = image.button.getButtons(Buttons.T_USER_APP_BUTTONS, userButton);
49if (btn) {
50// Добавляем кнопки к карточке
51object = Object.assign({}, object, btn[0]);
52}
53object.push(element);
54})
55}
56}
57return object;
58}
59}
60