MCPcopy Index your code
hub / github.com/TruthHun/BookStack / drawMindMap

Function drawMindMap

static/mind-map/mindmap.min.js:47–161  ·  view source on GitHub ↗
(div)

Source from the content-addressed store, hash-verified

45}
46
47function drawMindMap(div) {
48 //各参数解析开始
49 var lang = $(div).find(".mindmapoption").text();
50 var sizeps = lang.match(/size:(mindmap-sm|mindmap-md|mindmap-lg)(?= )/i);
51 var Templateps = lang.match(/Template:(fresh-blue|filetree|fish-bone|right|structure|tianpan)(?= )/i);
52 var Themeps = lang.match(/Theme:(classic|classic-compact|fish|fresh-blue|fresh-blue-compat|fresh-green|fresh-green-compat|fresh-pink|fresh-pink-compat|fresh-purple|fresh-purple-compat|fresh-red|fresh-red-compat|fresh-soil|fresh-soil-compat|snow|snow-compact|tianpan|tianpan-compact|wire)(?= )/i);
53 var protocolps=lang.match(/protocol:(json|text|markdown|list)(?= )/i);
54 var tmpshowps=lang.match(/tmpshow:(true)(?= )/i);
55 var size=(sizeps!== null)?sizeps[1]:"mindmap-md";
56 var Theme=(Themeps!== null)?Themeps[1]:"fresh-blue";
57 var protocol=(protocolps!== null)?protocolps[1]:"markdown";
58 var Template=(Templateps!== null)?Templateps[1]:"default";
59 var tmpshow=(tmpshowps!== null)?"":"style=\"display:none;\"";
60 //参数解析结束
61 var markdownText = $(div).find(".mindmaptmp").text().trim();
62 if (protocol == "list") {
63 var ulElement = $(div).find(".mindmaptmp").find(">ul:first");
64 var mmData = {
65 "root": {}
66 };
67 var minder = new kityminder.Minder({
68 renderTo: div
69 });
70 try {
71 mmData.root = li2jsonData(ulElement.children("li:first"));
72 mmData.template = Template;
73 mmData.theme = Theme;
74 minder.importData('json', JSON.stringify(mmData));
75 minder.disable();
76 /* minder.setTemplate(Template);
77 minder.setTheme(Theme); */
78 minder.execCommand('hand');
79 } catch (e) {
80 console.log(e);
81 }
82
83 $(ulElement).hide();
84 } else {
85 var minder = new kityminder.Minder({
86 renderTo: div
87 });
88 var markdownText = $(div).find(".mindmaptmp").text().trim();
89 try {
90 minder.importData('json', markdownText);
91 minder.disable();
92 //以下两句,在运行时没什么效果,包含useTemplate
93 /*minder.setTemplate(Template);
94 minder.setTheme(Theme); */
95 //绑定双击事件,当双击空白处时,脑图由抓手和选区间切换,当双击节点时,显示备注。
96 minder.on('dblclick',function() {
97 var node = minder.getSelectedNode();
98 if (node) {
99 var tt = node.getData().note;
100 if(tt){
101 var note = $("#ModalNote").find(".modal-body");
102 $("#ModalNote").find(".modal-header h1").text("【"+node.getText()+"】备注");
103 //建议备注的这里使用markdown语法编写,再调用marked.js解析如无需解析的,可使用
104 //note.html(tt);

Callers 2

load_docFunction · 0.85
editormd.jsFile · 0.85

Calls 5

li2jsonDataFunction · 0.85
markedFunction · 0.85
dataURLtoBlobFunction · 0.85
textMethod · 0.80
$Function · 0.50

Tested by

no test coverage detected