CGI-WebToolkit
view release on metacpan or search on metacpan
t/private/javascripts/jscolor.js view on Meta::CPAN
return jscolor.picker && jscolor.picker.owner == THIS
}
function blurTarget() {
if(valueElement == target) THIS.importColor()
if(THIS.pickerOnfocus) THIS.hidePicker()
}
function blurValue() {
if(valueElement != target) THIS.importColor()
}
function setPad(e) {
var posM = jscolor.getMousePos(e)
var x = posM[0]-posPad[0]
var y = posM[1]-posPad[1]
switch(modeID) {
case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break
case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break
}
}
function setSld(e) {
var posM = jscolor.getMousePos(e)
var y = posM[1]-posPad[1]
switch(modeID) {
case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break
case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break
}
}
var THIS = this
var modeID = this.pickerMode.toLowerCase()=='hvs' ? 1 : 0
var abortBlur = false
var
valueElement = jscolor.fetchElement(this.valueElement),
styleElement = jscolor.fetchElement(this.styleElement)
var
holdPad = false,
holdSld = false
var
posPad,
posSld
var
leaveValue = 1<<0,
leaveStyle = 1<<1,
leavePad = 1<<2,
leaveSld = 1<<3
// target
jscolor.addEvent(target, 'focus', function() {
if(THIS.pickerOnfocus) THIS.showPicker()
})
jscolor.addEvent(target, 'blur', function() {
if(!abortBlur) {
setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false }, 0)
} else {
abortBlur = false
}
})
// valueElement
if(valueElement) {
var updateField = function() {
THIS.fromString(valueElement.value, leaveValue)
}
jscolor.addEvent(valueElement, 'keyup', updateField)
jscolor.addEvent(valueElement, 'input', updateField)
jscolor.addEvent(valueElement, 'blur', blurValue)
valueElement.setAttribute('autocomplete', 'off')
}
// styleElement
if(styleElement) {
styleElement.jscStyle = {
backgroundColor : styleElement.style.backgroundColor,
color : styleElement.style.color
}
}
// require images
switch(modeID) {
case 0: jscolor.requireImage('hs.png'); break
case 1: jscolor.requireImage('hv.png'); break
}
jscolor.requireImage('cross.gif');
jscolor.requireImage('arrow.gif');
this.importColor()
}
}
jscolor.install()
( run in 1.681 second using v1.01-cache-2.11-cpan-39bf76dae61 )