Skip to content

Базовая конфигурация

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

javascript
import 'texditor/styles/theme.css';
import Texditor from 'texditor';
import data from "./data.json";

const editor = new Texditor({
  // Уникальный идентификатор экземпляра редактора
  handle: "texditor",
  // Строка или объект с подготовленными данными редактора в формате JSON (например, data.json).
  content: data,
  // Массив сущностей блока (по умолчанию только параграф)
  block: [],
  // Массив сущностей действий блока (по умолчанию не используются)
  actions: [],
  // Массив сущностей инструментов (по умолчанию используются все)
  tools: [];
  // Массив сущностей расширений  в верхней части редактора (по умолчание не используются)
  extensions: [];
  // Максимальное количество блоков (по умолчанию 0 - без ограничений)
  maxBlocks: 0;
  // Код блока по умолчанию
  defaultBlock: 'p';
  // Текущий язык
  locale: 'ru';
  // Язык по умолчанию
  defaultLocale: 'en';
  // Список объектов с локализацией
  locales: [];
  // Фиксирует панель расширений в верхней части окна браузера
  extensionsFixed: boolean;
  // Дополнительные стили панели расширений в режиме фиксации
  extensionsFixedStyle: false;
  // Показывает текст кнопок расширения
  extensionVisibleTitle: false;
  // Автоматическая фокусировка на первый элемент редактора
  autofocus: false;
  // Задержка перед автоматической фокусировкой
  autofocusDelay: 0;
  // Зона в которой следует активировать виртуальное выделение блоков
  selectionZoneElement: document.body;
  // Активирует горячие клавиши для работы с историей редактора
  historyShortcuts: boolean;
  // Событие при полном монтировании редактора в DOM
  onReady: (evt) => {
    document.getElementById("saveButton")?.click();
  },
  // Любое событие изменения редактора
  onChange: (evt) => {
    console.log(evt);
  }
});

/* Сохранение */
const output = editor.save();
// Или равносильный метод
const content = editor.getContent();

// Использование событий
editor.events.on('focus', (evt) => {
  //..
});


// Пример удаления блока
const index = 7; // -1 расчет от текущего блока
editor.blockManger.removeBlock(index);
json
[
  {
    "type": "h1",
    "data": [
      "Заогловок H1 c",
      {
        "type": "a",
        "attr": {
          "href": "https://priveted.com",
          "target": "_blank"
        },
        "data": ["салкой"]
      }
    ]
  },
  {
    "type": "h2",
    "data": ["2 заголовок"]
  },
  {
    "type": "h3",
    "data": ["3 заголовок"]
  },
  {
    "type": "p",
    "data": [
      "Текст с ",
      {
        "type": "a",
        "attr": {
          "href": "https://priveted.com"
        },
        "data": ["сылкой"]
      }
    ]
  },
  {
    "type": "code",
    "data": ["Текст кода. <p>Параграф работать не будет\n </p>"]
  }
]

Чтобы ознакомиться с дополнительными параметрами, перейдите к API.

dev@priveted.com | priveted.com