function make_ul_for_menu( part, sel ) { let content = `` let v = $(sel).append( content ) } function set_globalx_item_name( part, item_name ) { Globalx[part].item_name = item_name let dl = $( '#download' ) dl.attr('download' , Globalx[part].item_name) dl.removeAttr('href') } function menu_action( part, item_name , up_flag = false ) { if( Globalx[part].key != '/' ){ } let realData = get_filelist( Globalx.num ) Globalx[part].key_indicate_file = false; if( up_flag ){ set_globalx_item_name(part, "") Globalx[part].editor.getSession().setValue( "" ); $( Globalx[part].textarea_sel ).val( "" ); if( Globalx[part].key != '/' ){ let array = Globalx[part].key.split("/") array.pop() if( array.length > 1 ){ Globalx[part].key_type = false; set_globalx_item_name( part, array[array.length - 1] ) Globalx[part].key = array.join('/') $( Globalx[part].menu_sel ).empty() } else { Globalx[part].key = '/' set_globalx_item_name( part, "" ) } } } else{ if( Globalx[part].key == '/' ){ Globalx[part].key = Globalx[part].key + item_name } else{ Globalx[part].key = Globalx[part].key + '/' + item_name } } set_globalx_item_name(part, item_name) const bookmark_cb = $( Globalx[part].bookmark_op_sel ) if( Globalx[part].bookmarks.indexOf( Globalx[part].key ) >= 0 ){ bookmark_cb.prop('checked', true) } else{ bookmark_cb.prop('checked', false) } $( Globalx[part].key_sel ).val( Globalx[part].key ) $( Globalx[part].menu_sel ).empty() make_menu_item_list(part, realData) if( realData[Globalx[part].key].length == 0 ){ Globalx[part].key_indicate_file = true; get_content( Globalx[part].key , function(content) { Globalx[part].editor.getSession().setValue( content ); $( Globalx[part].textarea_sel ).val( content ); }); } } function make_menu_item_list( part, realData ) { let content = null let ary = realData[ Globalx[part].key ] let name = '..(Up)' content = `
  • ${name}
  • `; $( Globalx[part].menu_sel ).append(content); ary.map( function( item_name ){ content = `
  • ${item_name}
  • `; $( Globalx[part].menu_sel ).append(content); }) } async function get_filelist_async( num ) { let realData = get_filelist( Globalx.num ) if( realData === undefined ){ await get_filelist_from_remote() realData = get_filelist( Globalx.num ) } return realData } function menux( part ) { get_filelist_async( Globalx.num ).then( (data) => { make_menu_item_list( part, data ) $( Globalx[part].menu_sel ).menu({ classes: { "ui-menu": "highlight" } }) }) } function contextmenux0( menu_sel ) { $( menu_sel ).contextmenu({ delegate: ".hasmenu", menu: [ {title: "Copy", cmd: "copy", uiIcon: "ui-icon-copy"}, {title: "----"}, {title: "More", childern: [ {title: "Sub 1", cmd: "sub1"}, {title: "Sub 2", cmd: "sub1"} ]} ], select: function(event, ui) { alert("select " + ui.cmd + " on " + ui.target.text()); } }); } function bookmark_op(part) { if( $( Globalx[part].bookmark_op_sel ).is(':checked') == true ){ add_bookmark(part) } else{ remove_bookmark(part) } } function add_bookmark( part ) { $( '#bookmark_displayname' ).val( Globalx[part].bookmark_mgr.get_restricted_display_name( Globalx[part].key ) ) $( '#bookmark_path' ).val( Globalx[part].key ) $('#bookmarkDlg').dialog("open") } function register_bookmark_( part , path, displayname ) { Globalx[part].bookmark_mgr.add( path , displayname ) rebuild_bookmark_menu( part ) } function remove_bookmark(part) { Globalx[part].bookmark_mgr.remove( Globalx[part].key ) rebuild_bookmark_menu(part) } function rebuild_bookmark_menu(part) { $( Globalx[part].bookmark_sel ).empty() const mgr = Globalx[part].bookmark_mgr const array = mgr.get_paths() array.map( function( path ){ const display_name = mgr.display_name( path ) content = `
  • ${display_name}
  • `; $( Globalx[part].bookmark_sel ).append(content); }) } function bookmark_action( part, key ) { if( key === null || key === "" ){ alert("illeagal key=" + key ) return } if(key === Globalx[part].key){ return } let realData = get_filelist( Globalx.num ) Globalx[part].key = key Globalx[part].key_indicate_file = false; set_globalx_item_name( part, key ) $( Globalx[part].key_sel ).val( key ) if( realData[Globalx[part].key].length == 0 ){ Globalx[part].key_indicate_file = true; get_content( Globalx[part].key , function(content) { Globalx[part].editor.getSession().setValue( content ); $( Globalx[part].textarea_sel ).val( content ); }); } else{ Globalx[part].key_indicate_file = false Globalx[part].editor.getSession().setValue( "" ); $( Globalx[part].textarea_sel ).val( "" ); } const bookmark_cb = $( Globalx[part].bookmark_op_sel ) bookmark_cb.prop('checked', true) $( Globalx[part].menu_sel ).empty() make_menu_item_list(part, realData) }