mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 19:30:07 +00:00 
			
		
		
		
	fixed bug -- now marks/tags/bookmarks are maintained in correct order while shifting images left/right...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									a402e4671a
								
							
						
					
					
						commit
						6869baef54
					
				| @ -162,6 +162,11 @@ function setupBookmarks(viewer){ | |||||||
| 			BOOKMARKS = fastSortGIDsByOrder(BOOKMARKS) | 			BOOKMARKS = fastSortGIDsByOrder(BOOKMARKS) | ||||||
| 			bookmarksUpdated() | 			bookmarksUpdated() | ||||||
| 		}) | 		}) | ||||||
|  | 		.on('horizontalShiftedImage', function(evt, gid, direction){ | ||||||
|  | 			if(shiftGIDToOrderInList(gid, direction, BOOKMARKS)){ | ||||||
|  | 				bookmarksUpdated() | ||||||
|  | 			} | ||||||
|  | 		}) | ||||||
| } | } | ||||||
| SETUP_BINDINGS.push(setupBookmarks) | SETUP_BINDINGS.push(setupBookmarks) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1230,11 +1230,11 @@ button:hover { | |||||||
| } | } | ||||||
| .small.viewer:not(.single-image-mode) .mark:after, | .small.viewer:not(.single-image-mode) .mark:after, | ||||||
| .small.viewer:not(.single-image-mode) .marked.image:after { | .small.viewer:not(.single-image-mode) .marked.image:after { | ||||||
|   -webkit-transform: rotate(0deg) scaleY(1.8) scaleX(1.8); |   -webkit-transform: rotate(0deg) scaleY(1.5) scaleX(1.5); | ||||||
|   -moz-transform: rotate(0deg) scaleY(1.8) scaleX(1.8); |   -moz-transform: rotate(0deg) scaleY(1.5) scaleX(1.5); | ||||||
|   -o-transform: rotate(0deg) scaleY(1.8) scaleX(1.8); |   -o-transform: rotate(0deg) scaleY(1.5) scaleX(1.5); | ||||||
|   -ms-transform: rotate(0deg) scaleY(1.8) scaleX(1.8); |   -ms-transform: rotate(0deg) scaleY(1.5) scaleX(1.5); | ||||||
|   transform: rotate(0deg) scaleY(1.8) scaleX(1.8); |   transform: rotate(0deg) scaleY(1.5) scaleX(1.5); | ||||||
| } | } | ||||||
| /********************************************************* Overlay ***/ | /********************************************************* Overlay ***/ | ||||||
| .overlay-block { | .overlay-block { | ||||||
|  | |||||||
| @ -1283,7 +1283,7 @@ button:hover { | |||||||
| 
 | 
 | ||||||
| .small.viewer:not(.single-image-mode) .mark:after, | .small.viewer:not(.single-image-mode) .mark:after, | ||||||
| .small.viewer:not(.single-image-mode) .marked.image:after { | .small.viewer:not(.single-image-mode) .marked.image:after { | ||||||
| 	.scale(1.8); | 	.scale(1.5); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -728,6 +728,12 @@ function makeDeferredsQ(first){ | |||||||
| 
 | 
 | ||||||
| /**************************************************** JS utilities ***/ | /**************************************************** JS utilities ***/ | ||||||
| 
 | 
 | ||||||
|  | // return 1, -1, or 0 depending on sign of x
 | ||||||
|  | function sign(x){ | ||||||
|  | 	return (x > 0) - (x < 0) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| String.prototype.capitalize = function(){ | String.prototype.capitalize = function(){ | ||||||
| 	return this[0].toUpperCase() + this.slice(1) | 	return this[0].toUpperCase() + this.slice(1) | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										29
									
								
								ui/marks.js
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								ui/marks.js
									
									
									
									
									
								
							| @ -235,6 +235,30 @@ function makeMarkUpdater(img_class, mark_class, test){ | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | // NOTE: this supports only shifts by one position...
 | ||||||
|  | function shiftGIDToOrderInList(gid, direction, list){ | ||||||
|  | 	var gid_o = DATA.order.indexOf(gid) | ||||||
|  | 	var gid_m = list.indexOf(gid) | ||||||
|  | 
 | ||||||
|  | 	var a_m = gid_m + (direction == 'next' ? 1 : -1) | ||||||
|  | 	if(a_m < 0 || a_m >= list.length){ | ||||||
|  | 		return false | ||||||
|  | 	} | ||||||
|  | 	var a_gid = list[a_m] | ||||||
|  | 	var a_o = DATA.order.indexOf(a_gid) | ||||||
|  | 
 | ||||||
|  | 	// if relative positions of cur and adjacent gids in list 
 | ||||||
|  | 	// are different to that in DATA.order, then replace the gids
 | ||||||
|  | 	// in list...
 | ||||||
|  | 	if(sign(a_m - gid_m) != sign(a_o - gid_o)){ | ||||||
|  | 		list[a_m] = gid | ||||||
|  | 		list[gid_m] = a_gid | ||||||
|  | 		return true | ||||||
|  | 	} | ||||||
|  | 	return false | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| /********************************************************************** | /********************************************************************** | ||||||
| *  | *  | ||||||
| @ -742,6 +766,11 @@ function setupMarks(viewer){ | |||||||
| 			MARKED = fastSortGIDsByOrder(MARKED) | 			MARKED = fastSortGIDsByOrder(MARKED) | ||||||
| 			marksUpdated() | 			marksUpdated() | ||||||
| 		}) | 		}) | ||||||
|  | 		.on('horizontalShiftedImage', function(evt, gid, direction){ | ||||||
|  | 			if(shiftGIDToOrderInList(gid, direction, MARKED)){ | ||||||
|  | 				marksUpdated() | ||||||
|  | 			} | ||||||
|  | 		}) | ||||||
| 		.on('baseURLChanged', function(){ | 		.on('baseURLChanged', function(){ | ||||||
| 			invalidateMarksCache() | 			invalidateMarksCache() | ||||||
| 		}) | 		}) | ||||||
|  | |||||||
							
								
								
									
										11
									
								
								ui/tags.js
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								ui/tags.js
									
									
									
									
									
								
							| @ -537,6 +537,17 @@ function setupUnsortedTagHandler(viewer){ | |||||||
| 			} | 			} | ||||||
| 			tagsUpdated() | 			tagsUpdated() | ||||||
| 		}) | 		}) | ||||||
|  | 		.on('horizontalShiftedImage', function(evt, gid, direction){ | ||||||
|  | 			var updated = false | ||||||
|  | 			for(var tag in TAGS){ | ||||||
|  | 				if(TAGS[tag].indexOf(gid) >= 0){ | ||||||
|  | 					updated = shiftGIDToOrderInList(gid, direction, TAGS[tag]) | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			if(updated){ | ||||||
|  | 				tagsUpdated() | ||||||
|  | 			} | ||||||
|  | 		}) | ||||||
| } | } | ||||||
| SETUP_BINDINGS.push(setupUnsortedTagHandler) | SETUP_BINDINGS.push(setupUnsortedTagHandler) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user