Mercurial > defr > drupal > scald > dnd
view js/jquery.fieldselection.js @ 47:cbfe386cb51b
Add a function to refresh opened libraries.
The source URL of each libraries is now tracked, which allows for auto
refreshing the libraries based on various events. The obvious use
case is to refresh the library when an atom has been added to Scald,
for example via a Popups dialog.
author | Franck Deroche <defr@ows.fr> |
---|---|
date | Mon, 15 Feb 2010 14:08:04 +0000 |
parents | bb68dc3ad56f |
children |
line wrap: on
line source
/* * jQuery plugin: fieldSelection - v0.1.0 - last change: 2006-12-16 * (c) 2006 Alex Brem <alex@0xab.cd> - http://blog.0xab.cd */ (function() { var fieldSelection = { getSelection: function() { var e = this.jquery ? this[0] : this; return ( /* mozilla / dom 3.0 */ ('selectionStart' in e && function() { var l = e.selectionEnd - e.selectionStart; return { start: e.selectionStart, end: e.selectionEnd, length: l, text: e.value.substr(e.selectionStart, l) }; }) || /* exploder */ (document.selection && function() { e.focus(); var r = document.selection.createRange(); if (r == null) { return { start: 0, end: e.value.length, length: 0 } } var re = e.createTextRange(); var rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); return { start: rc.text.length, end: rc.text.length + r.text.length, length: r.text.length, text: r.text }; }) || /* browser not supported */ function() { return { start: 0, end: e.value.length, length: 0 }; } )(); }, replaceSelection: function() { var e = this.jquery ? this[0] : this; var text = arguments[0] || ''; return ( /* mozilla / dom 3.0 */ ('selectionStart' in e && function() { e.value = e.value.substr(0, e.selectionStart) + text + e.value.substr(e.selectionEnd, e.value.length); return this; }) || /* exploder */ (document.selection && function() { e.focus(); document.selection.createRange().text = text; return this; }) || /* browser not supported */ function() { e.value += text; return this; } )(); } }; jQuery.each(fieldSelection, function(i) { jQuery.fn[i] = this; }); })();