mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-11-01 11:50:07 +00:00
fixed a bug in cropDataTo(..) that prevented the correct image getting focused if the current image was not in the crop and before the first in the first cropped ribbon (i.e. getGIDBefore(..) returned null)...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
caa856be79
commit
73f99faa23
@ -78,7 +78,7 @@ function makeCroppedData(gids, keep_ribbons, keep_unloaded_gids){
|
|||||||
function cropDataTo(gids, keep_ribbons, keep_unloaded_gids){
|
function cropDataTo(gids, keep_ribbons, keep_unloaded_gids){
|
||||||
var prev_state = DATA
|
var prev_state = DATA
|
||||||
var cur = DATA.current
|
var cur = DATA.current
|
||||||
var r = getRibbonIndex()
|
var r = keep_ribbons ? getRibbonIndex() : 0
|
||||||
|
|
||||||
var new_data = makeCroppedData(gids, keep_ribbons, keep_unloaded_gids)
|
var new_data = makeCroppedData(gids, keep_ribbons, keep_unloaded_gids)
|
||||||
|
|
||||||
@ -91,8 +91,8 @@ function cropDataTo(gids, keep_ribbons, keep_unloaded_gids){
|
|||||||
CROP_STACK.push(prev_state)
|
CROP_STACK.push(prev_state)
|
||||||
DATA = new_data
|
DATA = new_data
|
||||||
|
|
||||||
cur = getGIDBefore(cur, keep_ribbons ? r : 0)
|
cur = getGIDBefore(cur, r)
|
||||||
cur = cur == null ? gids[0] : cur
|
cur = cur == null ? DATA.ribbons[r][0] : cur
|
||||||
DATA.current = cur
|
DATA.current = cur
|
||||||
|
|
||||||
reloadViewer()
|
reloadViewer()
|
||||||
|
|||||||
@ -1387,15 +1387,16 @@ function getCommonSubArray(L1, L2){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Load count images around a given image/gid into the given ribbon.
|
||||||
|
//
|
||||||
function loadImagesAround(count, gid, ribbon, data){
|
function loadImagesAround(count, gid, ribbon, data){
|
||||||
// default values...
|
// default values...
|
||||||
data = data == null ? DATA : data
|
data = data == null ? DATA : data
|
||||||
gid = gid == null ? getImageGID() : gid
|
|
||||||
ribbon = ribbon == null ? getRibbonIndex() : ribbon
|
ribbon = ribbon == null ? getRibbonIndex() : ribbon
|
||||||
ribbon = typeof(ribbon) != typeof(123) ? getRibbonIndex(ribbon) : ribbon
|
ribbon = typeof(ribbon) != typeof(123) ? getRibbonIndex(ribbon) : ribbon
|
||||||
count = count == null ? Math.round(LOAD_SCREENS * getScreenWidthInImages()) : count
|
count = count == null ? Math.round(LOAD_SCREENS * getScreenWidthInImages()) : count
|
||||||
// get a gid that exists in the current ribbon...
|
// get a gid that exists in the current ribbon...
|
||||||
gid = data.ribbons[ribbon].indexOf(gid) < 0 ? getGIDBefore(gid, ribbon, null, data) : gid
|
gid = getGIDBefore(gid, ribbon, null, data)
|
||||||
|
|
||||||
var ribbon_elem = getRibbon(ribbon)
|
var ribbon_elem = getRibbon(ribbon)
|
||||||
|
|
||||||
@ -1655,7 +1656,7 @@ function reloadViewer(images_per_screen){
|
|||||||
// ...if the image is not loaded the focusingImage event handlers
|
// ...if the image is not loaded the focusingImage event handlers
|
||||||
// will mess things up...
|
// will mess things up...
|
||||||
// XXX need to call these when and only when current image is loaded...
|
// XXX need to call these when and only when current image is loaded...
|
||||||
focusImage($('.image').filter('[gid="'+JSON.stringify(current)+'"]'))
|
focusImage(getImage(current))
|
||||||
|
|
||||||
fitNImages(w)
|
fitNImages(w)
|
||||||
centerRibbons('css')
|
centerRibbons('css')
|
||||||
|
|||||||
@ -480,6 +480,8 @@ function rollRibbon(n, ribbon, extend, no_compensate_shift){
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function focusImage(image){
|
function focusImage(image){
|
||||||
|
image = typeof(image) == typeof('str') ? getImage(image) : image
|
||||||
|
|
||||||
image.closest('.viewer').find('.current.image').removeClass('current')
|
image.closest('.viewer').find('.current.image').removeClass('current')
|
||||||
image.addClass('current')
|
image.addClass('current')
|
||||||
$('.viewer').trigger('focusingImage', [image])
|
$('.viewer').trigger('focusingImage', [image])
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user