25f258c7fdfbdf417a917fcd00fff78d698def9b chmalee Fri Aug 30 12:01:24 2024 -0700 Big run through of changes to accomodate jquery 3.7.1 upgrade. Most of the changes are replacing the event methods with a change to .on(event, function(..)). A couple more changes are removing calls to jquery.type(). Also fixes various plugins and styles diff --git src/hg/js/jquery.imgareaselect.js src/hg/js/jquery.imgareaselect.js index 48befe9..a012767 100644 --- src/hg/js/jquery.imgareaselect.js +++ src/hg/js/jquery.imgareaselect.js @@ -92,35 +92,35 @@ top: viewY(selection.y1) + 'px', width: Math.max(selection.width - options.borderWidth * 2, 0) + 'px', height: Math.max(selection.height - options.borderWidth * 2, 0) + 'px' }); $outLeft.css({ left: left + 'px', top: top + 'px', width: selection.x1 + 'px', height: imgHeight + 'px' }); $outTop.css({ left: left + selection.x1 + 'px', top: top + 'px', width: selection.width + 'px', height: selection.y1 + 'px' }); $outRight.css({ left: left + selection.x2 + 'px', top: top + 'px', width: imgWidth - selection.x2 + 'px', height: imgHeight + 'px' }); $outBottom.css({ left: left + selection.x1 + 'px', top: top + selection.y2 + 'px', width: selection.width + 'px', height: imgHeight - selection.y2 + 'px' }); if (resetKeyPress !== false) { if (jQuery.imgAreaSelect.keyPress != docKeyPress) - jQuery(document).unbind(jQuery.imgAreaSelect.keyPress, + jQuery(document).off(jQuery.imgAreaSelect.keyPress, jQuery.imgAreaSelect.onKeyPress); if (options.keys) - jQuery(document).bind(jQuery.imgAreaSelect.keyPress, + jQuery(document).on(jQuery.imgAreaSelect.keyPress, jQuery.imgAreaSelect.onKeyPress = docKeyPress); } } function areaMouseMove(event) { if (!adjusted) { adjust(); adjusted = true; $a.one('mouseout', function () { adjusted = false; }); } x = selX(evX(event)) - selection.x1; y = selY(evY(event)) - selection.y1; @@ -143,64 +143,64 @@ } function areaMouseDown(event) { if (event.which > 1 || event.button > 1) return true; selection.event = event; adjust(); if (options.resizable && resize.length > 0) { jQuery('body').css('cursor', resize.join('') + '-resize'); x1 = viewX(resize[H] == 'w' ? selection.x2 : selection.x1); y1 = viewY(resize[V] == 'n' ? selection.y2 : selection.y1); - jQuery(document).mousemove(selectingMouseMove); - $border2.unbind('mousemove', areaMouseMove); + jQuery(document).on("mousemove", selectingMouseMove); + $border2.off('mousemove', areaMouseMove); jQuery(document).one('mouseup', function (event) { selection.event = event; resize = [ ]; jQuery('body').css('cursor', ''); if (options.autoHide) $a.add($o).hide(); options.onSelectEnd(img, selection, event); - jQuery(document).unbind('mousemove', selectingMouseMove); - $border2.mousemove(areaMouseMove); + jQuery(document).off('mousemove', selectingMouseMove); + $border2.on("mousemove", areaMouseMove); }); } else if (options.movable) { moveX = selection.x1 + left; moveY = selection.y1 + top; startX = evX(event); startY = evY(event); - jQuery(document).mousemove(movingMouseMove) + jQuery(document).on("mousemove", movingMouseMove) .one('mouseup', function (event) { selection.event = event; options.onSelectEnd(img, selection, event); - jQuery(document).unbind('mousemove', movingMouseMove); + jQuery(document).off('mousemove', movingMouseMove); }); } else - jQuery(img).mousedown(event); + jQuery(img).on("mousedown", event); return false; } function aspectRatioXY() { x2 = Math.max(left, Math.min(left + imgWidth, x1 + Math.abs(y2 - y1) * aspectRatio * (x2 >= x1 ? 1 : -1))); y2 = Math.round(Math.max(top, Math.min(top + imgHeight, y1 + Math.abs(x2 - x1) / aspectRatio * (y2 >= y1 ? 1 : -1)))); x2 = Math.round(x2); } function aspectRatioYX() { @@ -336,57 +336,57 @@ } } found = found || event.shiftKey || event.metaKey || event.altKey || event.ctrlKey; if(!found) { return false; } } resize = [ ]; update(); $a.add($o).show(); $o.css('cursor', "crosshair"); // Outside of borders (needed for dragging right) $a.css('cursor', "crosshair"); // Inside borders (needed for dragging left) - jQuery(document).unbind('mouseup', cancelSelection) - .mousemove(selectingMouseMove); - $border2.unbind('mousemove', areaMouseMove); + jQuery(document).off('mouseup', cancelSelection) + .on("mousemove", selectingMouseMove); + $border2.off('mousemove', areaMouseMove); options.onSelectStart(img, selection); jQuery(document).one('mouseup', function (event) { selection.event = event; if (options.autoHide || (selection.width * selection.height == 0)) $a.add($o).hide(); options.onSelectEnd(img, selection, event); //$o.css('cursor', ""); // Not even necessary //$a.css('cursor', ""); - jQuery(document).unbind('mousemove', selectingMouseMove); - $border2.mousemove(areaMouseMove); + jQuery(document).off('mousemove', selectingMouseMove); + $border2.on("mousemove", areaMouseMove); }); } function cancelSelection(event) { // The default behavior of imgareaselect is to cancel selection if the user let's go of the mouse before // moving it; we change the behavior so we can treat this as a single click, centering event. selection.event = event; - jQuery(document).unbind('mousemove', startSelection); + jQuery(document).off('mousemove', startSelection); $a.add($o).hide(); selection.x1 = selection.x2 = selX(startX = x1 = x2 = evX(event)); selection.y1 = selection.y2 = selY(startY = y1 = y2 = evY(event)); options.onSelectChange(img, selection); options.onSelectEnd(img, selection, event); } function imgMouseDown(event) { if (event.which > 1 || event.button > 1) return true; jQuery(document).one('mousemove', startSelection) .one('mouseup', cancelSelection); @@ -512,41 +512,41 @@ $o.addClass(options.classPrefix + '-outer'); $area.addClass(options.classPrefix + '-selection'); $border1.addClass(options.classPrefix + '-border1'); $border2.addClass(options.classPrefix + '-border2'); $a.css({ borderWidth: options.borderWidth + 'px' }); $area.css({ backgroundColor: options.selectionColor, opacity: options.selectionOpacity }); $border1.css({ borderStyle: 'solid', borderColor: options.borderColor1 }); $border2.css({ borderStyle: 'dashed', borderColor: options.borderColor2 }); $o.css({ opacity: options.outerOpacity, backgroundColor: options.outerColor }); aspectRatio = options.aspectRatio && (d = options.aspectRatio.split(/:/)) ? d[0] / d[1] : null; if (options.disable || options.enable === false) { - $a.unbind('mousemove', areaMouseMove).unbind('mousedown', areaMouseDown); - jQuery(img).add($o).unbind('mousedown', imgMouseDown); - jQuery(window).unbind('resize', windowResize); + $a.off('mousemove', areaMouseMove).off('mousedown', areaMouseDown); + jQuery(img).add($o).off('mousedown', imgMouseDown); + jQuery(window).off('resize', windowResize); } else if (options.enable || options.disable === false) { if (options.resizable || options.movable) - $a.mousemove(areaMouseMove).mousedown(areaMouseDown); + $a.on("mousemove", areaMouseMove).on("mousedown", areaMouseDown); if (!options.persistent) - jQuery(img).add($o).mousedown(imgMouseDown); - jQuery(window).resize(windowResize); + jQuery(img).add($o).on("mousedown", imgMouseDown); + jQuery(window).on("resize", windowResize); } jQuery(options.parent).append($o.add($a)); options.enable = options.disable = undefined; }; jQuery.imgAreaSelect.keyPress = 'keypress'; $a.add($o).css({ display: 'none', position: fixed ? 'fixed' : 'absolute', overflow: 'hidden', zIndex: zIndex > 0 ? zIndex : '0' }); $area.css({ borderStyle: 'solid' }); initOptions = {