colorpicker: invoke callback on first color change
This commit is contained in:
parent
761f6a5085
commit
fad03fb7c9
|
@ -520,57 +520,39 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSaturationMouseDown(event) {
|
function onSaturationMouseDown(event) {
|
||||||
if (event.button === 0) {
|
if (captureMouse(event, 'saturation')) {
|
||||||
setFromSaturationElement(event);
|
setFromSaturationElement(event);
|
||||||
dragging.saturation = true;
|
|
||||||
captureMouse();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSaturationMouseUp(event) {
|
function onSaturationMouseUp(event) {
|
||||||
if (event.button === 0) {
|
releaseMouse(event, 'saturation');
|
||||||
dragging.saturation = false;
|
|
||||||
releaseMouse();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onHueKnobMouseDown(event) {
|
function onHueKnobMouseDown(event) {
|
||||||
if (event.button === 0) {
|
captureMouse(event, 'hue');
|
||||||
dragging.hue = true;
|
|
||||||
captureMouse();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onOpacityKnobMouseDown(event) {
|
function onOpacityKnobMouseDown(event) {
|
||||||
if (event.button === 0) {
|
captureMouse(event, 'opacity');
|
||||||
dragging.opacity = true;
|
|
||||||
captureMouse();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onHueMouseDown(event) {
|
function onHueMouseDown(event) {
|
||||||
if (event.button === 0) {
|
if (captureMouse(event, 'hue')) {
|
||||||
dragging.hue = true;
|
|
||||||
setFromHueElement(event);
|
setFromHueElement(event);
|
||||||
captureMouse();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onOpacityMouseDown(event) {
|
function onOpacityMouseDown(event) {
|
||||||
if (event.button === 0) {
|
if (captureMouse(event, 'opacity')) {
|
||||||
dragging.opacity = true;
|
|
||||||
setFromOpacityElement(event);
|
setFromOpacityElement(event);
|
||||||
captureMouse();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onMouseUp(event) {
|
function onMouseUp(event) {
|
||||||
if (event.button === 0) {
|
if (releaseMouse(event, ['saturation', 'hue', 'opacity']) &&
|
||||||
releaseMouse();
|
!event.target.closest('.codemirror-colorview, .colorpicker-popup, .CodeMirror')) {
|
||||||
dragging.saturation = dragging.hue = dragging.opacity = false;
|
hide();
|
||||||
if (!event.target.closest('.codemirror-colorview, .colorpicker-popup, .CodeMirror')) {
|
|
||||||
hide();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -640,16 +622,36 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function captureMouse() {
|
function captureMouse({button}, mode) {
|
||||||
|
if (button !== 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
document.addEventListener('mouseup', onMouseUp);
|
document.addEventListener('mouseup', onMouseUp);
|
||||||
document.addEventListener('mousemove', onMouseMove);
|
document.addEventListener('mousemove', onMouseMove);
|
||||||
|
if (!mode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (const m of (Array.isArray(mode) ? mode : [mode])) {
|
||||||
|
dragging[m] = true;
|
||||||
|
}
|
||||||
userActivity = performance.now();
|
userActivity = performance.now();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function releaseMouse() {
|
function releaseMouse(event, mode) {
|
||||||
|
if (event && event.button !== 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
document.removeEventListener('mouseup', onMouseUp);
|
document.removeEventListener('mouseup', onMouseUp);
|
||||||
document.removeEventListener('mousemove', onMouseMove);
|
document.removeEventListener('mousemove', onMouseMove);
|
||||||
|
if (!mode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (const m of (Array.isArray(mode) ? mode : [mode])) {
|
||||||
|
dragging[m] = false;
|
||||||
|
}
|
||||||
userActivity = performance.now();
|
userActivity = performance.now();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTouchPosition(event) {
|
function getTouchPosition(event) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user