summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <morris.jobke@gmail.com>2013-05-14 06:16:30 -0700
committerMorris Jobke <morris.jobke@gmail.com>2013-05-14 06:16:30 -0700
commit784f117ec27f27837bbacde199122deaace5f4c6 (patch)
treebd3559b489f949176448f785d510a48580ae7b1e
parent2b84da9793342e63ddad6d6126a839430ea6b401 (diff)
parent591b383f2dd1601009382152079e004034c4258d (diff)
downloadnextcloud-server-784f117ec27f27837bbacde199122deaace5f4c6.tar.gz
nextcloud-server-784f117ec27f27837bbacde199122deaace5f4c6.zip
Merge pull request #3330 from owncloud/preselect_filename_on_rename
peselect filename without extension on rename
-rw-r--r--apps/files/js/filelist.js7
-rw-r--r--core/js/js.js20
2 files changed, 27 insertions, 0 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index b1e9a885063..c24d1fd8244 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -191,6 +191,13 @@ var FileList={
td.children('a.name').hide();
td.append(form);
input.focus();
+ //preselect input
+ var len = input.val().lastIndexOf('.');
+ if (len === -1) {
+ len = input.val().length;
+ }
+ input.selectRange(0,len);
+
form.submit(function(event){
event.stopPropagation();
event.preventDefault();
diff --git a/core/js/js.js b/core/js/js.js
index d85e6d88f8a..3cb4d3dd151 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -767,6 +767,26 @@ OC.set=function(name, value) {
context[tail]=value;
};
+/**
+ * select a range in an input field
+ * @link http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area
+ * @param {type} start
+ * @param {type} end
+ */
+$.fn.selectRange = function(start, end) {
+ return this.each(function() {
+ if (this.setSelectionRange) {
+ this.focus();
+ this.setSelectionRange(start, end);
+ } else if (this.createTextRange) {
+ var range = this.createTextRange();
+ range.collapse(true);
+ range.moveEnd('character', end);
+ range.moveStart('character', start);
+ range.select();
+ }
+ });
+};
/**
* Calls the server periodically every 15 mins to ensure that session doesnt