umbot - v2.0.8
    Preparing search index...

    Class MarusiaCard

    MarusiaCard Класс для создания и отображения карточек в Марусе. Наследуется от TemplateCardTypes и реализует специфичную для Маруси логику.

    Основные возможности:

    • Создание больших изображений с описанием
    • Создание списков элементов
    • Поддержка кнопок для каждого элемента
    • Автоматическое ограничение длины текста
    const card = new MarusiaCard();
    card.title = 'Каталог товаров';
    card.images = [
    new Image('product1.jpg', 'Товар 1', 'Описание 1'),
    new Image('product2.jpg', 'Товар 2', 'Описание 2')
    ];
    const result = await card.getCard(false);

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    MARUSIA_CARD_BIG_IMAGE: "BigImage" = 'BigImage'

    Определяет тип карточки как большое изображение. Используется для отображения одного изображения с описанием.

    const card = new MarusiaCard();
    card.type = MarusiaCard.MARUSIA_CARD_BIG_IMAGE;
    MARUSIA_CARD_ITEMS_LIST: "ItemsList" = 'ItemsList'

    Определяет тип карточки как список элементов. Используется для отображения нескольких элементов с изображениями.

    const card = new MarusiaCard();
    card.type = MarusiaCard.MARUSIA_CARD_ITEMS_LIST;
    MARUSIA_MAX_IMAGES: 5

    Определяет максимальное количество изображений в списке. При превышении этого количества лишние изображения будут отброшены.

    const maxImages = MarusiaCard.MARUSIA_MAX_IMAGES; // 5
    
    images: Image[]

    Массив изображений или элементов для карточки. Каждый элемент может содержать изображение, заголовок, описание и кнопки.

    Image

    this.images = [
    new Image('image1.jpg', 'Заголовок 1', 'Описание 1'),
    new Image('image2.jpg', 'Заголовок 2', 'Описание 2')
    ];
    button: Buttons

    Кнопки для карточки. Используются для взаимодействия с пользователем.

    Buttons

    this.button.addBtn('Купить');
    this.button.addLink('Подробнее', 'https://example.com');
    title: null | string

    Заголовок карточки. Отображается в верхней части карточки.

    this.title = 'Название товара';
    
    isUsedGallery: boolean = false

    Флаг использования галереи изображений. true - изображения отображаются в виде галереи false - изображения отображаются как отдельные карточки

    this.isUsedGallery = true; // Включить режим галереи
    

    Methods

    • Получает карточку для отображения в Марусе.

      Процесс работы:

      1. Если isOne=true:
        • Создает карточку с большим изображением
        • Добавляет описание и кнопку
      2. Иначе:
        • Создает список элементов с заголовком
        • Добавляет кнопку в футер

      Parameters

      • isOne: boolean

        Флаг отображения только одного элемента

      Returns Promise<null | IMarusiaBigImage | IMarusiaItemsList>

      Карточка или null

      const card = new MarusiaCard();
      card.images = [
      new Image('product1.jpg', 'Товар 1', 'Описание 1'),
      new Image('product2.jpg', 'Товар 2', 'Описание 2')
      ];

      // Получить одну карточку
      const singleCard = await card.getCard(true);
      // singleCard = {
      // type: 'BigImage',
      // image_id: '123456789',
      // title: 'Товар 1',
      // description: 'Описание 1',
      // button: { text: 'Купить' }
      // }

      // Получить список
      const listCard = await card.getCard(false);
      // listCard = {
      // type: 'ItemsList',
      // header: { text: 'Каталог товаров' },
      // items: [
      // { title: 'Товар 1', description: 'Описание 1', image_id: '123456789' },
      // { title: 'Товар 2', description: 'Описание 2', image_id: '987654321' }
      // ],
      // footer: { text: 'Купить', button: { text: 'Купить' } }
      // }