jsMind创建思维导图基本使用

jsMind 是一个用于显示和编辑思维导图的纯 JavaScript 类库。它基于 Canvas 和 SVG 进行设计,能够在现代浏览器中高效地运行。jsMind 以 BSD 协议开源,这意味着可以在遵守该协议的前提下,将其嵌入到任何项目中使用。

基本使用
安装:
npm install jsmind
引入:
import 'jsmind/style/jsmind.css';
import jsMind from 'jsmind';
简单的数据示例:

创建容器:

<html><body><div id="jsmind_container" style="width: 800px; height: 500px;"></div></body>
</html>

构建数据:

var mind = {"meta": {"name": "example","author": "hizzgdev","version": "0.2"},"format": "node_tree","data": {"id": "root","topic": "jsMind","children": [{"id": "sub1", "topic": "sub1"},{"id": "sub2", "topic": "sub2"}]}
};
展示:

使用 jsMind 的构造函数初始化思维导图,并调用 show 方法展示思维导图。以下是代码示例:

var options = {container: 'jsmind_container',theme: 'primary',editable: true,
};
var jm = new jsMind(options);
jm.show(mind);
jsMind 对象

jsMind 提供了对思维导图进行操控的一系列 API,这些 API 都是基于 jsMind 对象处理的,一般情况下可以使用下面的代码获取 jsMind 对象:

基本使用:

/*
方法1:创建思维导图时即可获得 jsMind 对象
*/
var jm = new jsMind(options);
​
/*
方法2:当前页面已存在一个思维导图时可直接获得此 jsMind 对象当在一个页面里创建了多个 jsMind 时,此方法获得的是最后创建的那个对象
*/
var jm = jsMind.current;
options 对象
layout:
  • hspace:节点之间的水平间距

  • vspace:节点之间的垂直间距

  • pspace:节点与连接线之间的水平间距(用于容纳节点收缩/展开控制器)

  • cousin_space:相邻节点的子节点之间的额外的垂直间距

view:
  • engine:思维导图各节点之间线条的绘制引擎

  • hmargin:思维导图距容器外框的最小水平距离

  • vmargin:思维导图距容器外框的最小垂直距离

  • line_width:思维导图线条的粗细

  • line_color:思维导图线条的颜色

  • custom_line_render:自定义的线条渲染方法

  • draggable:当容器不能完全容纳思维导图时,是否允许拖动画布代替鼠标滚动

  • hide_scrollbars_when_draggable:当设置 draggable = true 时,是否隐藏滚动条

  • node_overflow:节点文本过长时的样式

  • zoom:配置缩放

    • min:最小的缩放比例

    • max:最大的缩放比例

    • step:缩放比例间隔

  • custom_node_render:自定义的节点渲染方法

样式修改
data 数据修改基本样式

可为每一个节点设置单独的样式,目前 jsMind 支持以下自定义样式:

  • background-color: 节点的背景颜色,如 #1abc9c, blue

  • foreground-color: 节点的文本颜色,如 #1abc9c, blue

  • width: 节点的宽度(px),如 400

  • height: 节点的高度(px),如 400

  • font-size: 节点的文本字体大小(px),如 32

  • font-weight: 节点的文本重量,如 bold

  • font-style: 节点的文本样式,如 italic

  • background-image: 节点的背景图片,可使用 url,如 http://fakeurl.com/fake-picture.png,或 data url 形式,如 data:image/png;base64,...

  • background-rotation: 节点的背景图片旋转角度,如 30

  • leading-line-color: 节点的引导线颜色,如 #1abc9c, blue

let data = {'width': 400, 'leading-line-color': '#33ff33'}
jm.add_node(....., data)
借助 data 数据中的 topic 属性

topic 可使用 字符串模板编写 html

let data = [{id: 'root',isroot: true,'font-size': 14,height: 34,'background-image': iconList.root.bg,topic: `<div style="padding:0 12px 4px;color:${iconList.root.color}"><img src='${iconList.root.icon}' style='width:12px;height:12px'/>平台</div>`}
];
销毁重建
document.getElementById('jsmind_container').innerHTML = '';
this.jm = null; // 释放引用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147839.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

pr视频剪辑、福昕剪辑……四款剪辑视频大比拼

最近入了视频剪辑的坑&#xff0c;我最近在尝试不同的视频剪辑软件&#xff0c;想找到最适合我的那一款。今天&#xff0c;我就来跟大家分享一下我使用福昕视频剪辑、爱拍视频剪辑、Adobe Premiere&#xff08;简称PR&#xff09;和Shotcut这四款软件时的一些体验和感受。希望我…

FPGA_传递参数的方式

FPGA Verilog 调用模块后带有 “ #()” 的含义 最后4个LED闪烁控制模块的例化,它们的源码都是 led_controller.v 模块&#xff0c;但它们的名称不一样,分别为“uut_led_controller_clk12m5 ”&#xff0c;“uut_led_controller_clk25m”&#xff0c;“uut_ledcontroller clk50…

Pandas -----------------------基础知识(二)

dataframe读写数据操作 import pandas as pd# 准备数据(字典) data [[1, 张三, 1999-3-10, 18],[2, 李四, 2002-3-10, 15],[3, 王五, 1990-3-10, 33],[4, 隔壁老王, 1983-3-10, 40] ]df pd.DataFrame(data, columns[id, name, birthday, age]) df写到csv文件中 &#xff0c;…

Azure Pipeline 常用任务记录

各种任务的查询&#xff1a; 任务查询 下载类 1 DownloadPackage1 从 Azure Artifacts 中的包管理源下载包 2 DownloadSecureFile1 下载安全文件&#xff0c;这里的安全文件在Library中上传&#xff0c;默认的位置会传到$(Agent.TempDirectory) 3 DownloadBuildArtifacts1…

shopify主题开发中给产品页设置多个模板

在shopify开发中&#xff0c;有时候商家可能需要为不同的产品去设置自己想要的产品页模板。下面主要教大家如何为产品类型页面设置多个模板&#xff0c;大家只要按照下面几个步骤就可以轻松实现产品的定制化页面&#xff1a; 1、首先在定制器创建产品模板 进入商品自定义页面…

【LangChain系列】实战案例5:用LangChain实现灵活的Agents+RAG,该查时查,不该查时就别查

目前为止&#xff0c;我们实现的RAG练习中&#xff0c;答案都是全部来源于检索到的文本内容。而检索过程可能在某些情况下是不需要的。 如何优化这个过程&#xff0c;让我们的RAG程序在必要时才去检索&#xff0c;不必要时&#xff0c;直接使用大模型原有数据来回答呢&#xf…

M2型TAM靶向肽CRV; Ahx-CRVLRSGSC ;

【M2型TAM靶向肽CRV 简介】 M2型TAM靶向肽CRV是一种用于靶向肿瘤相关巨噬细胞&#xff08;TAMs&#xff09;中M2型亚群的多肽。这种多肽序列为CRVLRSGSC&#xff0c;包含一对二硫键&#xff0c;其三字母代码为Cys-Arg-Val-Leu-Arg-Ser-Gly-Ser-Cys&#xff08;Cys-Cys&#xff…

什么是json?

JSON简介:JSON的全称为JavaScript Object Nation(JavaScript 对象表示语法)&#xff0c;基于 ECMAScript&#xff0c;存放的是的类似于键值对&#xff0c;本质上来说是javascript的数据类型&#xff0c;是一种轻量级的数据交互格式&#xff0c;简单来说呢&#xff0c;json就是一…

万博智云CEO王嘉在华为全联接大会:以创新云应用场景,把握增长机遇

一、大会背景 2024年9月19-21日&#xff0c;第九届华为全联接大会将在上海世博展览馆和上海世博中心举办。作为华为的旗舰盛会&#xff0c;本次大会以“共赢行业智能化”为主题邀请了众多思想领袖、商业精英、技术专家、合作伙伴、开发者等业界同仁&#xff0c;从战略、产业、…

NS2159 1A 线性锂离子电池充电管理IC

1 特性 ● 输入电压范围 4.5V-26V ● 输入过压保护电压 6.0V ● 用于单节锂离子电池线性工作模式充电 ● 支持 0V 电池电压充电 ● 涓流/恒流/恒压三段式充电 ● 内部预设 4.2V 充电浮充电压 ● 1A 可编程充电电流 ● C/10 充电终止功能 ● 内置自动复充功能 ● 内置过温保护功…

51单片机-DA(数字转模拟)(呼吸灯)

作者&#xff1a;Whappy 个人理解&#xff1a;将电压或电流信号进行等分或不等分&#xff08;高电平的电压范围和低电平的范围&#xff0c;如0-5v&#xff0c;0-1.8位低电平&#xff0c;3.8-5v为高电平&#xff09;&#xff0c;同样也是通过采样&#xff0c;量化等操作将不连续…

智能创造的幕后推手:AIGC浪潮下看AI训练师如何塑造智能未来

文章目录 一、AIGC时代的算法与模型训练概览二、算法与模型训练的关键环节三、AI训练师的角色与职责四、AI训练师的专业技能与素养五、AIGC算法与模型训练的未来展望《AI训练师手册&#xff1a;算法与模型训练从入门到精通》亮点内容简介作者简介谷建阳 目录 《医学统计学从入门…

2024图纸加密软件最佳选择!10款超好用的图纸加密软件推荐!

随着企业对数据安全的重视不断提升&#xff0c;尤其是在涉及重要设计图纸等机密文件的管理上&#xff0c;选择一款高效且安全的图纸加密软件显得尤为重要。2024年&#xff0c;我们精选了10款超好用的图纸加密软件&#xff0c;帮助企业保护知识产权与机密数据的安全。 1.安秉图纸…

多语言文本 AI 情感分析 API 数据接口

多语言文本 AI 情感分析 API 数据接口 AI / 文本处理 AI 模型快速分析文本情感倾向 多语言文本 / 情感分析。 1. 产品功能 支持多语言文本情感分析&#xff1b;基于特定 AI 模型&#xff0c;快速识别文本情感倾向&#xff1b;适用于评论分析、舆情监控等场景&#xff1b;全接…

2024/9/23 leetcode 148题 排序链表

目录 148.排序链表 题目描述 题目链接 解题思路与代码 148.排序链表 题目描述 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4]示例 2&#xff1a; 输入&am…

【Python】入门学习1:开发前的准备

准备工作&#xff1a; 1、电脑系统&#xff1a;windows 64位&#xff1b; 2、python学习所需工具&#xff1a;“解释器、编译器”&#xff1b; &#xff08;1&#xff09;python 解释器&#xff1a;解释代码的&#xff0c;把 python 计算机语言翻译给计算机认识&#xff1b;…

双通道隔离驱动之选,SLMi823x系列SLMi8235BDCG-DG可编程死区满足您需求

SLMi823x系列SLMi8235BDCG-DG双通道死区可编程的隔离驱动器。SLMi823x系列SLMi8235BDCG-DG配置为双输入&#xff0c;双输出驱动器。另外&#xff0c;SLMi823x系列SLMi8235BDCG-DG峰值输出电流为 4.0A。 所有输出驱动器的 VDDA/B 电源电压最高到40V。3V 至 18V 的 VDDI 宽范围输…

git用ssh来拉去代码

参考资料 5分钟 git配置ssh_哔哩哔哩_bilibili Git怎么使用SSH从GitLab上拉取代码_gitlab ssh-CSDN博客 gitlab怎么配置通过ssh来拉取代码_gitlab ssh 拉代码-CSDN博客 执行的命令:(需要在你本地.ssh文件夹下执行) ssh-keygen -t rsa -b 4096 -C "你的邮箱" ss…

PHPstorm 安装汉化包失败解决方法

错误信息&#xff1a; Plugin "chinese (Simplified) Language Pack/中文语言包" was not installed: invalid filename returned by a server 原因 &#xff1a;官方的包和软件的版本不对应&#xff0c;下载对应的汉化包就行了 官网汉化包&#xff1a; Chinese (…

Linux C——网络编程

本案例运行环境&#xff1a;Ubuntu 12.04.1 LTS 1、基本概念 网络的七层模型&#xff1a; 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 其中&#xff1a;1、2、3层主要面向通过网络端到端的数据流&#xff0c; 4、5、6、7层定义了程序的功能 …