Exemplo n.º 1
0
	function refresh() {
		var search = $( "#quickOpenSearch" ).val();
		var val = $( "#quickOpenFile" ).val();

		//populate with recent files
		recentFiles = recent.getRecent();
		var items = util.clone(recentFiles);

		for(var i in items) {
			if(items[i].file.indexOf(search)==-1) {
				delete items[i];
			}
		}

		//TODO add tree items

		//clear old options
		$('#quickOpenFile').children('option').remove();

		//create select items
		items.forEach(function(item){
			$('#quickOpenFile').append('<option value="'+item.site+'/'+item.file+'">'+item.domain+'/'+item.file+'</option>');
		});

		//select last item
		var selected = $('#quickOpenFile').val(val);

		//or first one
		if(!$('#quickOpenFile option:selected').length){
			$('#quickOpenFile').children(':first').prop('selected', true);
		}
	}
Exemplo n.º 2
0
function newTab (e, ui) {
	//show new tab page
	var tab = $(ui.tab);

	if(!tab.attr('data-newtab')){
		return;
	}

	tab.addClass('closable');

	var editors = require('app/editors');
	var panelId = tab.attr( "aria-controls" );
	var panel = $( "#"+panelId );

	panel.append('\
			<div class="newTab">\
				<div class="column">\
					<h5>Create</h5>\
					<ul class="fileTypes"></ul>\
				</div>\
				<div class="column">\
					<h5>Recent</h5>\
					<ul class="recentFiles"></ul>\
				</div>\
				<div class="column">\
					<h5>Other</h5>\
					<ul class="other">\
						<li><a href="#" class="site">New Site</a></li>\
						<li><a href="#" class="preview">Preview</a></li>\
						<li><a href="#" class="ssh">SSH</a></li>\
						<li><a href="#" class="diff">File Compare</a></li>\
						<li><a href="#" class="preferences">Preferences</a></li>\
					</ul>\
				</div>\
			</div>\
			<br style="clear: both">\
		');

	//new files
	var HTML = '';
	for (var i in modes) {
		if (modes.hasOwnProperty(i)) {
			HTML += '<li class="'+modes[i][0]+'"><a href="#" data-filetype="'+modes[i][2][0]+'" class="newfile file-' + modes[i][2][0] + '">' + modes[i][1] + '</a></li>';
		}
	}

	panel.find('ul.fileTypes').append(HTML);

	panel.find('a.newfile').click(function() {
		var tabpanel = $(ui.tab.closest('.ui-tabs'));
		var prefs = preferences.get_prefs();

		var content = '';
		if( prefs.defaultCode && prefs.defaultCode[this.dataset.filetype] ){
			content = prefs.defaultCode[this.dataset.filetype];
		}

		close(ui.tab);
		editors.create("untitled."+this.dataset.filetype, content, null, {tabpanel: tabpanel});
	});

	//recent files
	var recentFiles = recent.getRecent();
	HTML = '';
	for (i in recentFiles) {
		if (recentFiles.hasOwnProperty(i)) {
			HTML += '<li><a href="#" title="'+recentFiles[i].file+'" data-file="'+recentFiles[i].file+'" data-site="'+recentFiles[i].site+'" class="openfile">' + util.basename(recentFiles[i].file)+ '</a></li>';
		}
	}

	panel.find('ul.recentFiles').append(HTML);

	panel.find('a.openfile').click(function() {
		var tabpanel = $(ui.tab.closest('.ui-tabs'));
		close(ui.tab);
		open($(this).data('file'), $(this).data('site'), {tabpanel: tabpanel});
	});

	$(this).trigger("tabsactivate", [{newTab:ui.tab}]);
}