Mind.js предоставляет гибкие инструменты для визуализации и кастомизации интерфейса интерактивных карт разума. Основной акцент делается на динамическом управлении стилями элементов карты, что позволяет создавать как минималистичные, так и визуально насыщенные структуры.
Каждый узел (node) карты может быть представлен с индивидуальными
параметрами отображения. Mind.js использует объект style,
который содержит свойства CSS-подобного формата:
const nodeStyle = {
color: "#ffffff",
backgroundColor: "#007acc",
borderColor: "#005fa3",
borderWidth: 2,
fontSize: 14,
fontWeight: "bold",
padding: 8,
borderRadius: 6
};
Ключевые моменты:
color – цвет текста.backgroundColor – заливка узла.borderColor и borderWidth – параметры
обводки, позволяют выделять узлы на фоне других.fontSize и fontWeight – управление
типографикой, важное для визуального восприятия и иерархии.padding и borderRadius – влияют на форму и
пространство вокруг текста.Эти параметры можно задавать как для отдельного узла, так и для всех
узлов глобально через объект theme.
Mind.js поддерживает глобальные темы, позволяя задавать единый стиль для всей карты. Структура темы включает узлы, линии и фон:
const theme = {
node: {
color: "#333333",
backgroundColor: "#e0e0e0",
borderColor: "#999999",
fontSize: 12,
borderRadius: 4
},
line: {
color: "#666666",
width: 2,
style: "solid"
},
background: "#f9f9f9"
};
Особенности:
node – базовые свойства для всех узлов карты, упрощает
поддержку единообразного дизайна.line – стили соединительных линий, включая тип линии
(solid, dashed, dotted) и
толщину.background – фон всей карты, полезен для выделения
контента и улучшения контрастности.Mind.js позволяет изменять тему или отдельные стили в
процессе работы карты. Это реализуется через методы
updateNodeStyle и applyTheme:
mind.updateNodeStyle("node-1", { backgroundColor: "#ffcc00", fontWeight: "bold" });
mind.applyTheme(customTheme);
updateNodeStyle(id, style) – применяет новый стиль к
конкретному узлу по его идентификатору.applyTheme(theme) – обновляет внешний вид всей карты
мгновенно, сохраняя взаимодействие и структуру.Такой подход особенно полезен для динамических интерфейсов, где визуальная структура зависит от состояния данных.
Структура Mind.js поддерживает наследование стилей: дочерние узлы по умолчанию получают свойства родительского узла, если для них не указаны собственные. Это позволяет создавать иерархически согласованные визуальные схемы без дублирования кода.
const parentNodeStyle = { backgroundColor: "#a0c4ff", color: "#000000" };
const childNodeStyle = { fontSize: 12 }; // наследует backgroundColor и color от родителя
Помимо статических стилей, Mind.js позволяет использовать темы, зависящие от состояния узлов:
hoverStyle – стиль при наведении курсора.selectedStyle – стиль выбранного узла.collapsedStyle – стиль свернутого узла.const nodeInteractiveStyles = {
hoverStyle: { backgroundColor: "#ffd700" },
selectedStyle: { borderColor: "#ff0000", borderWidth: 3 }
};
Это делает интерфейс карты более отзывчивым и понятным для восприятия сложных структур.
Mind.js позволяет интегрировать кастомные шрифты и иконки в узлы:
icon – добавляет графический элемент рядом с
текстом.fontFamily – настраивает семейство шрифта для улучшения
читаемости.const customNodeStyle = {
fontFamily: "Arial, sans-serif",
icon: "⭐"
};
Комбинация иконок и цветовых акцентов помогает визуально разделять категории узлов.
Mind.js предоставляет мощный инструмент для тонкой настройки визуального представления карт разума, сочетая гибкость CSS-подобных стилей и удобство работы с иерархическими структурами данных.