/** * leaui mind map plugin * copyright leaui * leaui.com */ var LEAUI_MIND = {}; tinymce.PluginManager.add('leaui_mindmap', function(editor, url) { function showDialog() { var dom = editor.dom; var content = editor.selection.getContent(); // get images and attrs var p = //g; var images = content.match(p); var newNode = document.createElement("p"); LEAUI_MIND = {}; for(var i in images) { newNode.innerHTML = images[i]; var imgElm = newNode.firstChild; if(imgElm && imgElm.nodeName == "IMG") { LEAUI_MIND.json = dom.getAttrib(imgElm, 'data-mind-json'); break; } } function GetTheHtml(){ var lang = editor.settings.language; var u = url + '/mindmap/index.html?i=1'; var html = ''; return html; } var w = window.innerWidth - 10; var h = window.innerHeight - 150; win = editor.windowManager.open({ title: "Mind Map", width : w, height : h, html: GetTheHtml(), buttons: [ { text: 'Cancel', onclick: function() { this.parent().parent().close(); } }, { text: 'Insert', subtype: 'primary', onclick: function(e) { var me = this; var _iframe = document.getElementById('leauiMindMapIfr').contentWindow; var km = _iframe.km; // window.km= km; // return km.exportData('png').then(function(data) { var json = JSON.stringify(km.exportJson()); json = json.replace(/'/g, "Ж"); // console.log(json); var img = ''; editor.insertContent(img); me.parent().parent().close(); }); return; } }] }); } editor.addButton('leaui_mindmap', { // image: url + '/icon.png', icon: 'mind', tooltip: 'Insert/edit mind map', onclick: showDialog, stateSelector: 'img[data-mind-json]' }); });