callback: function(key, opt){
			var panel = $(this).closest("[role=tabpanel]");
			var tab = $("[role=tab][aria-controls="+panel.attr('id')+"]");
			var editor = tabs.getEditor(tab);

			switch(key) {
				case 'find':
					editor.exec('find', editor);
				break;
				case 'findPrev':
					editor.exec('findprevious', editor);
				break;
				case 'findNext':
					editor.exec('findnext', editor);
				break;
				case 'replace':
					editor.exec('replace', editor);
				break;
				case 'replaceAll':
					editor.exec('replaceall', editor);
				break;
				case 'selectAll':
					editor.selectAll();
				break;
				case 'undo':
					editor.redo();
				break;
				case 'redo':
					editor.undo();
				break;
			}
		},
Example #2
0
		.on('dnd_move.vakata', function (e, data) {
			var t = $(data.event.target);
			if(!t.closest('.jstree').length) {
				if(t.closest('.editor').length) {
					var pos = $(data.helper).position();
					data.helper.find('.jstree-icon').removeClass('jstree-er').addClass('jstree-ok');

					var panel = t.closest('.ui-tabs-panel')[0];
					var id = $(panel).attr('id');
					var tab = $('li[aria-controls='+id+']')[0];
					var editor = tabs.getEditor(tab);
					editor.focus();

					//move caret with mouse
					var coords = editor.renderer.pixelToScreenCoordinates(pos.left, pos.top-10);

					editor.moveCursorToPosition(coords); // buggy in ace
					/*
					editor.selection.setSelectionRange({
						start: coords,
						end: coords
					});
					*/
				}
				else {
					data.helper.find('.jstree-icon').removeClass('jstree-ok').addClass('jstree-er');
				}
			}
		})
Example #3
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);

					if( editor ){
						editor.setValue(tab.data('original'));
					}
				},
Example #4
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);
					var content = editor.getValue();
					var filename = util.basename(tab.attr('data-file'));
					var blob = new Blob([content]);
					var evt = document.createEvent("HTMLEvents");
					evt.initEvent("click");

					var a = document.createElement('a');
					a.download = filename;
					a.href = URL.createObjectURL(blob);
					a.dispatchEvent(evt);
				},
Example #5
0
		.on('dnd_stop.vakata', function (e, data) {
			var t = $(data.event.target);
			if(!t.closest('.jstree').length) {
				if(t.closest('.editor').length) {
					//$(data.element).clone().appendTo(t.closest('.drop'));
					// node data:
					/*
					console.log(data);
					if(data.data.jstree && data.data.origin) {
						console.log(data.data.origin.get_node(data.element));
					}
					*/

					var panel = t.closest('.ui-tabs-panel')[0];
					var id = $(panel).attr('id');
					var tab = $('li[aria-controls='+id+']')[0];
					var editor = tabs.getEditor(tab);
					editor.focus();

					var nodes = data.data.nodes;
					if (nodes) {
						var node;
						var html = '';

						for( i=0; i<nodes.length; i++ ){
							node = nodes[i];
							n = getNode(node);

							var from = $(tab).data('file');
							var to = node;
							var path = '';

							if( from ){
								path = util.relative(util.dirname(from), to);
							}else{
								path = '/'+to;
							}

							if(n.data.link)
								path = n.data.link;

							switch( util.fileExtension(n.text) ){
								case 'jpg':
								case 'jpeg':
								case 'gif':
								case 'png':
								case 'svg':
									html+='<img src="'+path+'" />\n';
								break;
								case 'css':
									html+='<link type="text/css" rel="stylesheet" href="'+path+'">\n';
								break;
								case 'js':
									html+='<script type="text/javascript" src="'+path+'"></script>\n';
								break;
								default:
									var pos = editor.getCursorPosition();
									var state = editor.getSession().getState(pos.row, pos.column);

									if( state.substring(0,3)==='php' ){
										html+='require("'+path+'");\n';
									}else{
										html+='<a href="'+path+'">'+node+'</a>\n';
									}
								break;
							}
						}

						editor.insert(html);
					}
				}
			}
		});
Example #6
0
	handler: function () {
		var tab = $('.ui-layout-center .ui-tabs-active');
		var editor = tabs.getEditor(tab);
		editor.commands.exec('replaceInSelection', editor, ["    ", "\t"]);
	},
Example #7
0
	handler: function () {
		var tab = $('.ui-layout-center .ui-tabs-active');
		var editor = tabs.getEditor(tab);
		editor.commands.exec('prependLineSelection', editor, ['//']);
	},
Example #8
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);
					//editor.commands.exec('beautify', editor);
					editor.commands.exec('applySourceFormatting', editor);
				},
Example #9
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);
					editor.commands.exec('addSemicolon', editor);
				},
Example #10
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);
					editor.moveLinesDown();
				},
Example #11
0
	handler: function () {
		var tab = $('.ui-layout-center .ui-tabs-active');
		var editor = tabs.getEditor(tab);
		editor.commands.exec('wrapSelection', editor, ['<!--', '-->']);
	},
Example #12
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);
					editor.jumpToMatching(true);
					editor.focus();
				},
Example #13
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);
					editor.toggleCommentLines();
				},
Example #14
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);
					editor.commands.exec('clearBreakpoints', editor);
				},
Example #15
0
				handler: function () {
					var tab = $('.ui-layout-center .ui-tabs-active');
					var editor = tabs.getEditor(tab);
					editor.commands.exec('gotoLinePrompt', editor);
				},
Example #16
0
	handler: function () {
		var tab = $('.ui-layout-center .ui-tabs-active');
		var editor = tabs.getEditor(tab);
		editor.commands.exec('selectionToLowercase', editor);
	},