let Globalx = {}; function main() { Globalx.num = 0; Globalx.index = 0; Globalx.parts = ["data", "setting", "output"] Globalx.parts.map( function( value ){ set_globalx_editor(value) } ) editor_func("data"); make_ul_for_menu('data' , '#data-side') menux( "data" ) $('#down-download').on('click', {part: "data"}, handleDownload) $( Globalx['data'].textarea_sel ).val(""); editor_func("setting"); make_ul_for_menu("setting" , '#setting-side') editor_func("output"); make_ul_for_menu("output" , '#output-side') } function set_globalx_editor(part) { Globalx[part] = { editor_id: `${part}-editor`, editor: null, textarea_sel: `textarea[name=${part}-editor-t`, /**/ menu_id: `${part}-menu2`, bookmark_id: `${part}-bookmark`, bookmark_op_id: `${part}-bookmark_op`, item_name: "", /**/ bookmarks: [], bookmark_displayname_max_length: 18, key_indicate_file: false, key: '/', key_sel: `#${part}-filelist_key`, download_sel: `#${part}-download_sel` } Globalx[part].menu_sel = `#${Globalx[part].menu_id}` Globalx[part].bookmark_sel = `#${Globalx[part].bookmark_id}` Globalx[part].bookmark_op_sel = `#${Globalx[part].bookmark_op_id}` Globalx[part].bookmark_mgr = new BookmarkMgr( Globalx[part].bookmark_displayname_max_length ) $( '#bookmark_displayname' ).prop( 'maxlength' , Globalx[part].bookmark_displayname_max_length) $('#bookmarkDlg').dialog({ autoOpen: false, modal: true, buttons: { "OK": function() { part = Globalx.parts[ Globalx.index ] Globalx[part].bookmark_mgr.add( $( '#bookmark_path' ).val() , $( '#bookmark_displayname' ).val() ) $(this).dialog("close")}, "Cancel": function() { $(this).dislog("close") } } }) } function editor_func(part) { console.log(`Globalx[#{name}].editor_id=` + Globalx[part].editor_id ) let editor = ace.edit( Globalx[part].editor_id ) console.log( editor ) editor.setTheme("ace/theme/monokai"); editor.setFontSize(14); editor.getSession().setMode("ace/mode/markdown"); editor.getSession().setUseWrapMode(true); editor.getSession().setTabSize(2); Globalx[part].editor = editor; let textarea = $( Globalx[part].textarea_sel ); console.log( "textarea=" + textarea ) Globalx[part].textarea = textarea; editor.getSession().on("change", function () { Globalx[part].textarea.val(editor.getSession().getValue()); }); } main()