I had another look at the issues with this demo today. My findings
follow;
I've uploaded a refactor of the demo here;
http://shellscape.org/files/jquery-ui/image-cropper.zip
- IE7 and Firefox (3.0.7) issue present when initial cropping box is
moved to the upper right, and lower left throbber is used to resize
the box. The issue basically comprises of a background-position being
set to a negative value that is actually 'outside the viewport' of the
cropping box. Part of the issue consisted of resizable reporting a
left/top position less than zero; when multiplied by -1, resulted in
an erroneous background position. This results in portions of the
right side of the cropping box to display a transparent bg color, thus
showing the semi-trans image below. However, this is corrected by the
'stop' event on resizable, when the mouse button is depressed.
- IE7 and Firefox issue was present whereby the height/width/top/left
'log elements' were reporting values less than, and greater than the
size/position of the actual image.
- IE7 and Firefox issue was present when resizing the cropping box in
any position; The image offset was off by one pixel.
- IE7 issue was present, in the form of a script error - 'invalid
parameter', when resizing from right to left. This seems to be
resolved by checking the left and top values as evident in the demo
zip referenced.
- The resizable plugin also seems to be lagging on the firing of event
handlers when dragging a corner and moving the mouse around
erratically. Could be due to the older version of jQuery, but that's
speculative. Tests on the 1.7 branch don't produce the same delay
issues.
It would seem the main issue here is the position reporting in
resizable. Again, this isn't something I was able to reproduce with
1.7. I wasn't able to reproduce any of the original issues reported
with this in IE7, with the exception of the script error, or
'Firefox' (though a version wasn't originally specified). Both
browsers seem perform the same and exhibit the same behavior now.
With exception to some small position reporting problems in resizable,
this demo is pretty much functional. I'll leave it up to the other
team members to comment on how much further we should get into the
issue, and how much more effort should be spent on it. I hope that
helps the folks out who have been awaiting some news on this.
Thanks,
Andrew
> Those are the lines that trigger the events for the callbacks. The events
> and callbacks were split for some reason that I don't understand, but I
> believe they have been merged in trunk. We can't really delete those lines
> since they'll remove the events, which are part of our API.
>
> Unfortunately there seem to be so many bugs that I'm having trouble tracking
> this down. I'd rather not spend much more time on this since it's for a
> legacy release, I'd rather put effort toward refactoring the plugin for a
> future release.
>