diff options
author | Morris Jobke <morris.jobke@gmail.com> | 2013-05-14 06:16:30 -0700 |
---|---|---|
committer | Morris Jobke <morris.jobke@gmail.com> | 2013-05-14 06:16:30 -0700 |
commit | 784f117ec27f27837bbacde199122deaace5f4c6 (patch) | |
tree | bd3559b489f949176448f785d510a48580ae7b1e | |
parent | 2b84da9793342e63ddad6d6126a839430ea6b401 (diff) | |
parent | 591b383f2dd1601009382152079e004034c4258d (diff) | |
download | nextcloud-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.js | 7 | ||||
-rw-r--r-- | core/js/js.js | 20 |
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 |