mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 10:20:08 +00:00
tweaking and refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
19b1a9b2c4
commit
5801803a73
@ -260,7 +260,9 @@ function(path){
|
|||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
module.selectElemText = function(elem){
|
var selectElemText =
|
||||||
|
module.selectElemText =
|
||||||
|
function(elem){
|
||||||
var range = document.createRange()
|
var range = document.createRange()
|
||||||
range.selectNodeContents(elem)
|
range.selectNodeContents(elem)
|
||||||
var sel = window.getSelection()
|
var sel = window.getSelection()
|
||||||
@ -269,6 +271,32 @@ module.selectElemText = function(elem){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// XXX make this global...
|
||||||
|
var getCaretOffset =
|
||||||
|
module.getCaretOffset =
|
||||||
|
function(elem){
|
||||||
|
try{
|
||||||
|
if(window.getSelection){
|
||||||
|
var r = window.getSelection().getRangeAt(0)
|
||||||
|
var pre = r.cloneRange()
|
||||||
|
pre.selectNodeContents(elem)
|
||||||
|
pre.setEnd(r.endContainer, r.endOffset)
|
||||||
|
return pre.toString().length || 0
|
||||||
|
// IE...
|
||||||
|
} else {
|
||||||
|
var r = document.selection.createRange()
|
||||||
|
var pre = document.body.createTextRange()
|
||||||
|
pre.moveToElementText(elem)
|
||||||
|
pre.setEndPoint("EndToEnd", r)
|
||||||
|
return pre.text.length || 0
|
||||||
|
}
|
||||||
|
|
||||||
|
}catch(e){
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
// NOTE: repatching a date should not lead to any side effects as this
|
// NOTE: repatching a date should not lead to any side effects as this
|
||||||
@ -413,6 +441,7 @@ if(typeof(jQuery) != typeof(undefined)){
|
|||||||
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
jQuery.fn.caretOffset = function(){ return getCaretOffset(this) }
|
||||||
|
|
||||||
|
|
||||||
var keyboard = require('lib/keyboard')
|
var keyboard = require('lib/keyboard')
|
||||||
@ -548,16 +577,8 @@ if(typeof(jQuery) != typeof(undefined)){
|
|||||||
if(!that.prop('contenteditable')){
|
if(!that.prop('contenteditable')){
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// XXX make this global...
|
|
||||||
var caretOffset = function(elem){
|
|
||||||
var range = window.getSelection().getRangeAt(0)
|
|
||||||
var preCaretRange = range.cloneRange()
|
|
||||||
preCaretRange.selectNodeContents(elem)
|
|
||||||
preCaretRange.setEnd(range.endContainer, range.endOffset)
|
|
||||||
return preCaretRange.toString().length || 0
|
|
||||||
}
|
|
||||||
|
|
||||||
var c = caretOffset(this)
|
var c = getCaretOffset(this)
|
||||||
|
|
||||||
evt.stopPropagation()
|
evt.stopPropagation()
|
||||||
|
|
||||||
@ -582,10 +603,11 @@ if(typeof(jQuery) != typeof(undefined)){
|
|||||||
&& options.multiline){
|
&& options.multiline){
|
||||||
evt.preventDefault()
|
evt.preventDefault()
|
||||||
|
|
||||||
|
// XXX this sometimes eats newline chars...
|
||||||
that.trigger('edit-commit', that.text())
|
that.trigger('edit-commit', that.text())
|
||||||
|
|
||||||
// multi-line keep keys...
|
// multi-line keep keys...
|
||||||
} else if(n == 'Enter' >= 0 && options.multiline){
|
} else if(n == 'Enter' && options.multiline){
|
||||||
return
|
return
|
||||||
|
|
||||||
// multi-line arrow keys -- keep key iff not at first/last position...
|
// multi-line arrow keys -- keep key iff not at first/last position...
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user