Перейти к содержимому

API: HTML-страницы

API: HTML-страницы

Требуется авторизация. Права наследуются от узла-родителя (nodeId).

Страницы — /api/v1/pages

МетодПутьПраво на узелОписание
GET/pages?nodeId={uuid}viewСписок страниц узла
POST/pageseditСоздать страницу
GET/pages/{id}viewСтраница с HTML
PATCH/pages/{id}editОбновить
DELETE/pages/{id}deleteУдалить

Тело создания:

{
"nodeId": "uuid",
"title": "Добро пожаловать",
"slug": "welcome",
"htmlContent": "<p>Текст</p>"
}

Обновление содержимого:

{
"htmlContent": "<h2>Заголовок</h2><p>Текст</p>",
"pageScript": "$container.find('.toggle').on('click', function () { ... });"
}

Скрипт страницы (page_script)

Поле pageScript / page_script — пользовательский JavaScript, выполняемый в браузере после отрисовки HTML и WebPart на странице.

  • Редактируется в UI страницы (секция «Скрипт страницы») или через PATCH API
  • Доступны: $ (jQuery), context (page, user), $container (jQuery-обёртка области просмотра)
  • Скрипт может вернуть функцию dispose для очистки обработчиков при уходе со страницы
  • Максимальная длина: 65 536 символов
  • Требуется право edit на страницу для изменения; выполняется у всех, кто может просматривать страницу

Пример:

$container.find('[data-toggle]').on('click', function () {
$(this).closest('.card').toggleClass('is-open');
});
return function dispose() {
$container.find('[data-toggle]').off('click');
};

Санитизация HTML

Перед сохранением контент очищается (sanitize-html): удаляются <script>, опасные атрибуты, недопустимые теги. Разрешены заголовки, списки, ссылки, таблицы, изображения.

События

  • page.created
  • page.updated
  • page.deleted

Frontend

Редактор: Quill 1.3.7 (CDN). Маршрут: #/nodes/{nodeId}/pages/{pageId}.