Mind.js — библиотека для работы с ментальными картами и графовыми структурами в JavaScript. Основными элементами такой карты являются узлы (nodes) и связи (edges). Управление узлами включает их создание, модификацию и удаление. Этот раздел посвящен операциям изменения структуры и данных узлов.
Удаление узла производится методом removeNode(id), где
id — уникальный идентификатор узла. При удалении узла
автоматически удаляются все связи, в которых он участвует.
const mind = new Mind();
mind.addNode({ id: '1', text: 'Главная идея' });
mind.addNode({ id: '2', text: 'Второстепенная идея' });
mind.addEdge('1', '2');
mind.removeNode('2'); // Узел 2 и все связи с ним удалены
Особенности удаления:
recursive: true.recursive дочерние узлы остаются, но связь
с удаленным родителем теряется.mind.removeNode('1', { recursive: true });
Модификация узлов включает изменение текста, цвета, размера и других
параметров. Для этого используется метод
updateNode(id, properties):
mind.updateNode('1', { text: 'Обновленная идея', color: '#FF0000' });
Доступные свойства для обновления:
text — содержимое узла.color — цвет фона узла.fontSize — размер текста.shape — форма узла (rectangle,
circle, ellipse).data — произвольные пользовательские данные, связанные
с узлом.mind.updateNode('2', {
text: 'Дополнительная идея',
fontSize: 16,
data: { importance: 'high' }
});
Для изменения нескольких узлов одновременно можно использовать метод
updateNodes(nodesArray), где nodesArray —
массив объектов с id и свойствами для обновления:
mind.updateNodes([
{ id: '1', text: 'Новая главная идея', color: '#00FF00' },
{ id: '2', text: 'Новая второстепенная идея', fontSize: 14 }
]);
Это особенно удобно при работе с большим количеством данных или при динамическом обновлении карты.
mind.removeNode('obsoleteNodeId', { recursive: true });
mind.updateNodes([
{ id: 'root', color: '#FFD700', fontSize: 18 },
{ id: 'branch1', color: '#ADFF2F' },
{ id: 'branch2', color: '#1E90FF' }
]);
mind.updateNode('idea123', {
data: { priority: 5, completed: false }
});
data в узлах позволяет хранить
метаинформацию без необходимости изменения визуальной структуры.Управление узлами в Mind.js сочетает в себе гибкость и простоту.
Методы removeNode, updateNode и
updateNodes обеспечивают эффективное управление содержимым
и структурой ментальной карты, сохраняя целостность связей и
иерархии.