summaryrefslogtreecommitdiffstats
path: root/apps/files_texteditor
diff options
context:
space:
mode:
authorTom Needham <needham.thomas@gmail.com>2012-01-09 21:16:41 +0000
committerTom Needham <needham.thomas@gmail.com>2012-01-09 21:16:41 +0000
commit27d9cbd8c0f53b1859716b32aa5ca33eee4749a5 (patch)
treed67ebdcc6ce214fee6ff10c1ef472ba809eb367c /apps/files_texteditor
parent6c78cd2765cf7ee22ea988fe9ed70af6ad191073 (diff)
downloadnextcloud-server-27d9cbd8c0f53b1859716b32aa5ca33eee4749a5.tar.gz
nextcloud-server-27d9cbd8c0f53b1859716b32aa5ca33eee4749a5.zip
Added 'Go to line' functionality
Diffstat (limited to 'apps/files_texteditor')
-rw-r--r--apps/files_texteditor/css/style.css10
-rw-r--r--apps/files_texteditor/js/editor.js28
2 files changed, 28 insertions, 10 deletions
diff --git a/apps/files_texteditor/css/style.css b/apps/files_texteditor/css/style.css
index 6d730af7262..cf24950232f 100644
--- a/apps/files_texteditor/css/style.css
+++ b/apps/files_texteditor/css/style.css
@@ -12,11 +12,6 @@
left: 160px;
display: none;
}
-#editor_close{
- margin-left: auto;
- margin-right: 170px;
- display: block;
-}
#editor_save{
margin-left: 7px;
float: left;
@@ -24,4 +19,7 @@
#saving_icon{
margin-top: 3px;
float: left;
-} \ No newline at end of file
+}
+#gotolineval{
+ width: 30px;
+}
diff --git a/apps/files_texteditor/js/editor.js b/apps/files_texteditor/js/editor.js
index 2934dcf8bb3..081ecb75a87 100644
--- a/apps/files_texteditor/js/editor.js
+++ b/apps/files_texteditor/js/editor.js
@@ -60,26 +60,36 @@ function showControls(filename,writeperms){
// Load the new toolbar.
var savebtnhtml;
if(writeperms=="true"){
- var savebtnhtml = '<button id="editor_save">'+t('files_texteditor','Save')+'</button>';
+ var editorcontrols = '<button id="editor_save">'+t('files_texteditor','Save')+'</button><div class="separator"></div><button id="gotolinebtn">Go to line:</button><input type="text" id="gotolineval">';
}
var html = '<button id="editor_close">X</button>';
$('#controls').append(html);
$('#editorbar').fadeIn('slow');
var breadcrumbhtml = '<div class="crumb svg" id="breadcrumb_file" style="background-image:url(&quot;../core/img/breadcrumb.png&quot;)"><p>'+filename+'</p></div>';
- $('.actions').before(breadcrumbhtml).before(savebtnhtml);
+ $('.actions').before(breadcrumbhtml).before(editorcontrols);
});
}
function bindControlEvents(){
$("#editor_save").die('click',doFileSave).live('click',doFileSave);
$('#editor_close').die('click',hideFileEditor).live('click',hideFileEditor);
+ $('#gotolinebtn').die('click', goToLine).live('click', goToLine);
}
+// returns true or false if the editor is in view or not
function editorIsShown(){
// Not working as intended. Always returns true.
return is_editor_shown;
}
+// Moves the editor view to the line number speificed in #gotolineval
+function goToLine(){
+ // Go to the line specified
+ window.aceEditor.gotoLine($('#gotolineval').val());
+
+}
+
+// Tries to save the file.
function doFileSave(){
if(editorIsShown()){
// Get file path
@@ -110,10 +120,12 @@ function doFileSave(){
}
};
+// Gives the editor focus
function giveEditorFocus(){
window.aceEditor.focus();
};
+// Loads the file editor. Accepts two parameters, dir and filename.
function showFileEditor(dir,filename){
if(!editorIsShown()){
// Loads the file editor and display it.
@@ -154,11 +166,17 @@ function showFileEditor(dir,filename){
}
}
+// Fades out the editor.
function hideFileEditor(){
// Fade out controls
$('#editor_close').fadeOut('slow');
// Fade out the save button
$('#editor_save').fadeOut('slow');
+ // Goto line items
+ $('#gotolinebtn').fadeOut('slow');
+ $('#gotolineval').fadeOut('slow');
+ // Fade out separators
+ $('.separator').fadeOut('slow');
// Fade out breadcrumb
$('#breadcrumb_file').fadeOut('slow', function(){ $(this).remove();});
// Fade out editor
@@ -176,7 +194,8 @@ function hideFileEditor(){
// Keyboard Shortcuts
var ctrlBtn = false;
-
+
+// returns true if ctrl+s or cmd+s is being pressed
function checkForSaveKeyPress(e){
if(e.which == 17 || e.which == 91) ctrlBtn=true;
if(e.which == 83 && ctrlBtn == true) {
@@ -187,6 +206,7 @@ function checkForSaveKeyPress(e){
}
}
+// resizes the editor window
$(window).resize(function() {
setEditorSize();
});
@@ -213,7 +233,7 @@ $(document).ready(function(){
showFileEditor(dir,file);
});
}
- // Binds the file save and close editor events
+ // Binds the file save and close editor events, and gotoline button
bindControlEvents();
// Binds the save keyboard shortcut events