var ide = {}; var ideSearchTimeout; $(document).on('click', '#ide_toggle', function() { ideFolderSelector(); }); $(document).on('click', '#ide_hamburger', function() { var il = $('#ide_list'); var imw = $('#ide_main_window'); if (il.is(':visible')) { il.hide(); imw.show(); } else { il.show(); imw.hide(); } }); $(document).on('click', '.ide_file', function(e) { console.log(e.target); if (!$(e.target).hasClass('ide_file_delete')) { console.log('allowed'); var sel = $(this); var file = sel.attr('file'); var status = sel.attr('status'); var location = sel.attr('location'); if (sel.attr('type') == 'folder') { if (status == 'closed') { console.log('opening'); $('.ide_file[location="' + sel.attr('file') + '"]').show(); sel.attr('status','open'); idecwd = ideocwd + '/' + file; } else { console.log('closing'); $('.ide_file[location="' + sel.attr('file') + '"]').hide(); sel.attr('status','closed'); idecwd = ideocwd; } } else { $('.ide_sidebar[status="active"]').attr('status', 'closed'); $.ajax({ url: '/manager/ide/file_open', type: 'GET', data: { location: location, timestamp: timestamp, file: file }, success: function(response) { if (response['open_app']) { if (response['files'] && response['open_app'] == 'gallery') { imageViewer({ 'files': response['files'] }); } } else { $('.ide_tab.active').removeClass('active'); if ($('.ide_tab[file="' + file + '"]').length >= 1) { $('.ide_tab[file="' + file + '"]').addClass('active'); } else { $('#ide_navbar').append(response['tab']); } $('#ide_main_window'); $('#ide_content').val(response.content); $('#ide_content').attr('file', response['file']); sel.attr('status', 'active'); ide[response['file']] = response; settingSetter({ 'app': 'ide', 'setting': 'active_tab', 'value': file }); } } }); } } }); $(document).on('change', '#ide_folder_selector', function() { var folder = $(this).val(); ideFolderSelector(folder); }); function ideFolderSelector(folder,search) { var timestamp = Date.now(); $.ajax({ url: '/manager/ide/folder_selector', type: 'POST', data: { folder: folder, timestamp: timestamp, search: search }, success: function(response) { windowMaker(response.html); ideTabPopulator(response); } }); } function ideTabPopulator(response) { console.log(response); $.each(response.tabs, function(i,v) { if (response.settings.active_tab == i) { $('.ide_tab[file="' + v.file + '"]').trigger('click'); } }); } $(document).on('keyup', '#ide_search', function() { var search = $(this).val(); var folder = $('#ide_folder_selector').val(); var timestamp = Date.now(); clearInterval(ideSearchTimeout); ideSearchTimeout = setTimeout(function() { ideFolderSelector(folder,search); $('#ide_search').focus(); },500); }); $(document).on('click', '.ide_file_delete', function() { var b = $(this); var armed = b.attr('armed'); var file = b.attr('file'); var type = b.attr('type'); if (armed == 'yes') { $.ajax({ url: '/manager/ide/file_delete', type: 'POST', data: { file: file, type: type }, success: function(response) { if (response.file) { $('.ide_close_tab[file="' + file + '"]').trigger('click'); $('.ide_file[file="' + file + '"]').remove(); } } }); } else { b.attr('armed', 'yes'); var bgcolor = b.css('background-color'); b.css({'background-color': 'red' }); setTimeout(function() { b.css({'background-color': bgcolor }); b.attr('armed', 'no'); },2000); } }); $(document).on('keyup', '#ide_content', function() { var t = $(this).val(); var file = $(this).attr('file'); ide[file]["content"] = t; }); $(document).on('click', '#ide_new', function() { $('#alert').html('