| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526 | 
							- <!doctype html>
 
- <html>
 
- <head>
 
-     <meta charset="utf-8">
 
-     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 
-     <title>jsMind</title>
 
-     <link type="text/css" rel="stylesheet" href="../style/jsmind.css" />
 
-     <style type="text/css">
 
-         li{margin-top:2px; margin-bottom:2px;}
 
-         button{width:140px;}
 
-         select{width:140px;}
 
-         #layout{width:1230px;}
 
-         #jsmind_nav{width:210px;height:600px;border:solid 1px #ccc;overflow:auto;float:left;}
 
-         .file_input{width:100px;}
 
-         button.sub{width:100px;}
 
-         #jsmind_container{
 
-             float:left;
 
-             width:1000px;
 
-             height:600px;
 
-             border:solid 1px #ccc;
 
-             background:#f4f4f4;
 
-         }
 
-     </style>
 
- </head>
 
- <body>
 
- <div id="layout">
 
-     <div id="jsmind_nav">
 
-         <div>1. Open</div>
 
-         <ol type='A'>
 
-             <li><button onclick="open_json();">open example</button></li>
 
-             <li><button onclick="open_ajax();">open remote</button></li>
 
-             <li><button onclick="prompt_info('see 6.Multi Format');">open local file</button></li>
 
-             <li><button onclick="prompt_info('see 6.Multi Format');">save local file</button></li>
 
-             <li><button onclick="screen_shot();">screenshot</button></li>
 
-         </ol>
 
-         </ol>
 
-         <div>2. Select & Toggle</div>
 
-         <ol type='A'>
 
-             <li><button onclick="select_node();">select a node</button></li>
 
-             <li><button onclick="prompt_info('please try click a node');">try click a node</button></li>
 
-             <li><button onclick="show_selected();">get the selected</button></li>
 
-         </ol>
 
-         <div>3. Edit</div>
 
-         <ol type='A'>
 
-             <li><button onclick="toggle_editable(this);">disable editable</button></li>
 
-             <li><button onclick="add_node();">add a node</button></li>
 
-             <li><button onclick="add_image_node();">add a image node</button></li>
 
-             <li><button onclick="modify_node();">modify node</button></li>
 
-             <li><button onclick="prompt_info('please try double click a node');">try double click</button></li>
 
-             <li><button onclick="move_node();">move a node</button></li>
 
-             <li><button onclick="move_to_first();">move to first</button></li>
 
-             <li><button onclick="move_to_last();">move to last</button></li>
 
-             <li><button onclick="remove_node();">remove node</button></li>
 
-         </ol>
 
-         <div>4. Style</div>
 
-         <ol type='A'>
 
-             <li><button onclick="change_text_font();">change font</button></li>
 
-             <li><button onclick="change_text_color();">change color</button></li>
 
-             <li><button onclick="change_background_color();">change bg-color</button></li>
 
-             <li><button onclick="change_background_image();">change background</button></li>
 
-         </ol>
 
-         <div>5. Theme</div>
 
-         <ol type='A'>
 
-         <li>
 
-         <select onchange="set_theme(this.value);">
 
-             <option value="">default</option>
 
-             <option value="primary">primary</option>
 
-             <option value="warning">warning</option>
 
-             <option value="danger">danger</option>
 
-             <option value="success">success</option>
 
-             <option value="info">info</option>
 
-             <option value="greensea" selected="selected">greensea</option>
 
-             <option value="nephrite">nephrite</option>
 
-             <option value="belizehole">belizehole</option>
 
-             <option value="wisteria">wisteria</option>
 
-             <option value="asphalt">asphalt</option>
 
-             <option value="orange">orange</option>
 
-             <option value="pumpkin">pumpkin</option>
 
-             <option value="pomegranate">pomegranate</option>
 
-             <option value="clouds">clouds</option>
 
-             <option value="asbestos">asbestos</option>
 
-         </select>
 
-         </li>
 
-         </ol>
 
-         <div>6. Adjusting</div>
 
-         <ol type='A'>
 
-             <li><button onclick="change_container();">resize container</button>
 
-             <button onclick="resize_jsmind();">adusting</button></li>
 
-             <li>expand/collapse</li>
 
-             <ol>
 
-                 <li><button class="sub" onclick="expand();">expand node</button></li>
 
-                 <li><button class="sub" onclick="collapse();">collapse node</button></li>
 
-                 <li><button class="sub" onclick="toggle();">toggle node</button></li>
 
-                 <li><button class="sub" onclick="expand_to_level2();">expand to level 2</button></li>
 
-                 <li><button class="sub" onclick="expand_to_level3();">expand to level 3</button></li>
 
-                 <li><button class="sub" onclick="expand_all();">expand all</button></li>
 
-                 <li><button class="sub" onclick="collapse_all();">collapse all</button></li>
 
-             </ol>
 
-             <li>zoom</li>
 
-             <button id="zoom-in-button" style="width:50px" onclick="zoomIn();">
 
-                 In
 
-             </button>
 
-             <button id="zoom-out-button" style="width:50px" onclick="zoomOut();">
 
-                 Out
 
-             </button>
 
-         </ol>
 
-         <div>7. Multi Format</div>
 
-         <ol type='A'>
 
-             <li>node_tree(default)</li>
 
-             <ol>
 
-                 <li><button class="sub" onclick="show_data();">show data</button></li>
 
-                 <li><button class="sub" onclick="save_file();">save file</button></li>
 
-                 <li><input id="file_input" class="file_input" type="file"/></li>
 
-                 <li><button class="sub" onclick="open_file();">open file</button></li>
 
-             </ol>
 
-             <li>node_array</li>
 
-             <ol>
 
-                 <li><button class="sub" onclick="get_nodearray_data();">show data</button></li>
 
-                 <li><button class="sub" onclick="save_nodearray_file();">save file</button></li>
 
-                 <li><input id="file_input_nodearray" class="file_input" type="file"/></li>
 
-                 <li><button class="sub" onclick="open_nodearray();">open file</button></li>
 
-             </ol>
 
-             <li>freemind(.mm)</li>
 
-             <ol>
 
-                 <li><button class="sub" onclick="get_freemind_data();">show data</button></li>
 
-                 <li><button class="sub" onclick="save_freemind_file();">save file</button></li>
 
-                 <li><input id="file_input_freemind" class="file_input" type="file"/></li>
 
-                 <li><button class="sub" onclick="open_freemind();">open file</button></li>
 
-             </ol>
 
-         </ol>
 
-     </div>
 
-     <div id="jsmind_container"></div>
 
-     <div style="display:none">
 
-       <input class="file" type="file" id="image-chooser" accept="image/*"/>
 
-     </div>
 
- </div>
 
- <script type="text/javascript" src="../js/jsmind.js"></script>
 
- <script type="text/javascript" src="../js/jsmind.draggable.js"></script>
 
- <script type="text/javascript" src="../js/jsmind.screenshot.js"></script>
 
- <script type="text/javascript">
 
-     var _jm = null;
 
-     function open_empty(){
 
-         var options = {
 
-             container:'jsmind_container',
 
-             theme:'greensea',
 
-             editable:true
 
-         }
 
-         _jm = jsMind.show(options);
 
-         // _jm = jsMind.show(options,mind);
 
-     }
 
-     function open_json(){
 
-         var mind = {
 
-             "meta":{
 
-                 "name":"jsMind remote",
 
-                 "author":"hizzgdev@163.com",
 
-                 "version":"0.2"
 
-             },
 
-             "format":"node_tree",
 
-             "data":{"id":"root","topic":"jsMind","children":[
 
-                 {"id":"easy","topic":"Easy","direction":"left","children":[
 
-                     {"id":"easy1","topic":"Easy to show"},
 
-                     {"id":"easy2","topic":"Easy to edit"},
 
-                     {"id":"easy3","topic":"Easy to store"},
 
-                     {"id":"easy4","topic":"Easy to embed"},
 
-                     {"id":"other3","background-image":"ant.png", "width": "100", "height": "100"}
 
-                 ]},
 
-                 {"id":"open","topic":"Open Source","direction":"right","children":[
 
-                     {"id":"open1","topic":"on GitHub", "background-color":"#eee", "foreground-color":"blue"},
 
-                     {"id":"open2","topic":"BSD License"}
 
-                 ]},
 
-                 {"id":"powerful","topic":"Powerful","direction":"right","children":[
 
-                     {"id":"powerful1","topic":"Base on Javascript"},
 
-                     {"id":"powerful2","topic":"Base on HTML5"},
 
-                     {"id":"powerful3","topic":"Depends on you"}
 
-                 ]},
 
-                 {"id":"other","topic":"test node","direction":"left","children":[
 
-                     {"id":"other1","topic":"I'm from local variable"},
 
-                     {"id":"other2","topic":"I can do everything"}
 
-                 ]}
 
-             ]}
 
-         }
 
-         _jm.show(mind);
 
-     }
 
-     function open_ajax(){
 
-         var mind_url = 'data_example.json';
 
-         jsMind.util.ajax.get(mind_url,function(mind){
 
-             _jm.show(mind);
 
-         });
 
-     }
 
-     function screen_shot(){
 
-         _jm.screenshot.shootDownload();
 
-     }
 
-     function show_data(){
 
-         var mind_data = _jm.get_data();
 
-         var mind_string = jsMind.util.json.json2string(mind_data);
 
-         prompt_info(mind_string);
 
-     }
 
-     function save_file(){
 
-         var mind_data = _jm.get_data();
 
-         var mind_name = mind_data.meta.name;
 
-         var mind_str = jsMind.util.json.json2string(mind_data);
 
-         jsMind.util.file.save(mind_str,'text/jsmind',mind_name+'.jm');
 
-     }
 
-     
 
-     function open_file(){
 
-         var file_input = document.getElementById('file_input');
 
-         var files = file_input.files;
 
-         if(files.length > 0){
 
-             var file_data = files[0];
 
-             jsMind.util.file.read(file_data,function(jsmind_data, jsmind_name){
 
-                 var mind = jsMind.util.json.string2json(jsmind_data);
 
-                 if(!!mind){
 
-                     _jm.show(mind);
 
-                 }else{
 
-                     prompt_info('can not open this file as mindmap');
 
-                 }
 
-             });
 
-         }else{
 
-             prompt_info('please choose a file first')
 
-         }
 
-     }
 
-     function select_node(){
 
-         var nodeid = 'other';
 
-         _jm.select_node(nodeid);
 
-     }
 
-     function show_selected(){
 
-         var selected_node = _jm.get_selected_node();
 
-         if(!!selected_node){
 
-             prompt_info(selected_node.topic);
 
-         }else{
 
-             prompt_info('nothing');
 
-         }
 
-     }
 
-     function get_selected_nodeid(){
 
-         var selected_node = _jm.get_selected_node();
 
-         if(!!selected_node){
 
-             return selected_node.id;
 
-         }else{
 
-             return null;
 
-         }
 
-     }
 
-     function add_node(){
 
-         var selected_node = _jm.get_selected_node(); // as parent of new node
 
-         if(!selected_node){prompt_info('please select a node first.');return;}
 
-         var nodeid = jsMind.util.uuid.newid();
 
-         var topic = '* Node_'+nodeid.substr(nodeid.length-6)+' *';
 
-         var node = _jm.add_node(selected_node, nodeid, topic);
 
-     }
 
-     var imageChooser = document.getElementById('image-chooser');
 
-     imageChooser.addEventListener('change', function (event) {
 
-         // Read file here.
 
-         var reader = new FileReader();
 
-         reader.onloadend = (function () {
 
-             var selected_node = _jm.get_selected_node();
 
-             var nodeid = jsMind.util.uuid.newid();
 
-             var topic = undefined;
 
-             var data = {
 
-                 "background-image": reader.result,
 
-                 "width": "100",
 
-                 "height": "100"};
 
-             var node = _jm.add_node(selected_node, nodeid, topic, data);
 
-             //var node = _jm.add_image_node(selected_node, nodeid, reader.result, 100, 100);
 
-         //add_image_node:function(parent_node, nodeid, image, width, height, data, idx, direction, expanded){
 
-         });
 
-         var file = imageChooser.files[0];
 
-         if (file) {
 
-             reader.readAsDataURL(file);
 
-         };
 
-     }, false);
 
-     function add_image_node(){
 
-         var selected_node = _jm.get_selected_node(); // as parent of new node
 
-         if(!selected_node){
 
-             prompt_info('please select a node first.');
 
-             return;
 
-         }
 
-         imageChooser.focus();
 
-         imageChooser.click();
 
-     }
 
-     function modify_node(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         // modify the topic
 
-         _jm.update_node(selected_id, '--- modified ---');
 
-     }
 
-     function move_to_first(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.move_node(selected_id,'_first_');
 
-     }
 
-     function move_to_last(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.move_node(selected_id,'_last_');
 
-     }
 
-     function move_node(){
 
-         // move a node before another
 
-         _jm.move_node('other','open');
 
-     }
 
-     function remove_node(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.remove_node(selected_id);
 
-     }
 
-     function change_text_font(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.set_node_font_style(selected_id, 28);
 
-     }
 
-     function change_text_color(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.set_node_color(selected_id, null, '#000');
 
-     }
 
-     function change_background_color(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.set_node_color(selected_id, '#eee', null);
 
-     }
 
-     function change_background_image(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.set_node_background_image(selected_id, 'ant.png', 100, 100);
 
-     }
 
-     function set_theme(theme_name){
 
-         _jm.set_theme(theme_name);
 
-     }
 
-     var zoomInButton = document.getElementById("zoom-in-button");
 
-     var zoomOutButton = document.getElementById("zoom-out-button");
 
-     function zoomIn() {
 
-         if (_jm.view.zoomIn()) {
 
-             zoomOutButton.disabled = false;
 
-         } else {
 
-             zoomInButton.disabled = true;
 
-         };
 
-     };
 
-     function zoomOut() {
 
-         if (_jm.view.zoomOut()) {
 
-             zoomInButton.disabled = false;
 
-         } else {
 
-             zoomOutButton.disabled = true;
 
-         };
 
-     };
 
-     function toggle_editable(btn){
 
-         var editable = _jm.get_editable();
 
-         if(editable){
 
-             _jm.disable_edit();
 
-             btn.innerHTML = 'enable editable';
 
-         }else{
 
-             _jm.enable_edit();
 
-             btn.innerHTML = 'disable editable';
 
-         }
 
-     }
 
-     // this method change size of container, perpare for adjusting jsmind
 
-     function change_container(){
 
-         var c = document.getElementById('jsmind_container');
 
-         c.style.width = '800px';
 
-         c.style.height = '500px';
 
-     }
 
-     function resize_jsmind(){
 
-         _jm.resize();
 
-     }
 
-     function expand(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.expand_node(selected_id);
 
-     }
 
-     function collapse(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.collapse_node(selected_id);
 
-     }
 
-     function toggle(){
 
-         var selected_id = get_selected_nodeid();
 
-         if(!selected_id){prompt_info('please select a node first.');return;}
 
-         _jm.toggle_node(selected_id);
 
-     }
 
-     function expand_all(){
 
-         _jm.expand_all();
 
-     }
 
-     function expand_to_level2(){
 
-         _jm.expand_to_depth(2);
 
-     }
 
-     function expand_to_level3(){
 
-         _jm.expand_to_depth(3);
 
-     }
 
-     function collapse_all(){
 
-         _jm.collapse_all();
 
-     }
 
-     function get_nodearray_data(){
 
-         var mind_data = _jm.get_data('node_array');
 
-         var mind_string = jsMind.util.json.json2string(mind_data);
 
-         prompt_info(mind_string);
 
-     }
 
-     function save_nodearray_file(){
 
-         var mind_data = _jm.get_data('node_array');
 
-         var mind_name = mind_data.meta.name;
 
-         var mind_str = jsMind.util.json.json2string(mind_data);
 
-         jsMind.util.file.save(mind_str,'text/jsmind',mind_name+'.jm');
 
-     }
 
-     
 
-     function open_nodearray(){
 
-         var file_input = document.getElementById('file_input_nodearray');
 
-         var files = file_input.files;
 
-         if(files.length > 0){
 
-             var file_data = files[0];
 
-             jsMind.util.file.read(file_data,function(jsmind_data, jsmind_name){
 
-                 var mind = jsMind.util.json.string2json(jsmind_data);
 
-                 if(!!mind){
 
-                     _jm.show(mind);
 
-                 }else{
 
-                     prompt_info('can not open this file as mindmap');
 
-                 }
 
-             });
 
-         }else{
 
-             prompt_info('please choose a file first')
 
-         }
 
-     }
 
-     function get_freemind_data(){
 
-         var mind_data = _jm.get_data('freemind');
 
-         var mind_string = jsMind.util.json.json2string(mind_data);
 
-         alert(mind_string);
 
-     }
 
-     function save_freemind_file(){
 
-         var mind_data = _jm.get_data('freemind');
 
-         var mind_name = mind_data.meta.name || 'freemind';
 
-         var mind_str = mind_data.data;
 
-         jsMind.util.file.save(mind_str,'text/xml',mind_name+'.mm');
 
-     }
 
-     
 
-     function open_freemind(){
 
-         var file_input = document.getElementById('file_input_freemind');
 
-         var files = file_input.files;
 
-         if(files.length > 0){
 
-             var file_data = files[0];
 
-             jsMind.util.file.read(file_data, function(freemind_data, freemind_name){
 
-                 if(freemind_data){
 
-                     var mind_name = freemind_name;
 
-                     if(/.*\.mm$/.test(mind_name)){
 
-                         mind_name = freemind_name.substring(0,freemind_name.length-3);
 
-                     }
 
-                     var mind = {
 
-                         "meta":{
 
-                             "name":mind_name,
 
-                             "author":"hizzgdev@163.com",
 
-                             "version":"1.0.1"
 
-                         },
 
-                         "format":"freemind",
 
-                         "data":freemind_data
 
-                     };
 
-                     _jm.show(mind);
 
-                 }else{
 
-                     prompt_info('can not open this file as mindmap');
 
-                 }
 
-             });
 
-         }else{
 
-             prompt_info('please choose a file first')
 
-         }
 
-     }
 
-     function prompt_info(msg){
 
-         alert(msg);
 
-     }
 
-     open_empty();
 
- </script>
 
- </body>
 
- </html>
 
 
  |