mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 10:20:08 +00:00
updated todo, added general manupulation functions: reverseRibbons, sortImages, reverseImageOrder and helpers: jQuery.fn.reverseChildren and jQuery.fn.sortChildren...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
533c13faff
commit
db736cea92
21
ui/TODO.otl
21
ui/TODO.otl
@ -198,6 +198,27 @@ Priority work
|
||||
[_] 0% 1.0
|
||||
|
||||
|
||||
[_] 33% Main workflow
|
||||
[_] 33% image viewing
|
||||
[X] viewer
|
||||
[_] select source
|
||||
[_] slideshow
|
||||
[X] 100% ribbon sorting
|
||||
[X] ribbon navigation
|
||||
[X] shift image between ribbons
|
||||
[_] 0% metadata
|
||||
[_] tag filtering
|
||||
[_] tag editing
|
||||
[_] EXIF/IPTC
|
||||
[_] 0% image/export export
|
||||
[_] JSON
|
||||
[_] XMP metadata
|
||||
[_] fav dirs
|
||||
[_] file list
|
||||
[_] image set
|
||||
|
||||
|
||||
|
||||
Goals:
|
||||
main ribbon always consistent
|
||||
fast sorting via several simple passes
|
||||
|
||||
@ -15,7 +15,8 @@ var BACKGROUND_MODES = [
|
||||
// ...this effectively makes the modes independant...
|
||||
// NOTE: null represent the default value (no class set)...
|
||||
// NOTE: these will change if changed in runtime...
|
||||
var NORMAL_MODE_BG = 'dark'
|
||||
//var NORMAL_MODE_BG = 'dark'
|
||||
var NORMAL_MODE_BG = null
|
||||
var SINGLE_IMAGE_MODE_BG = 'black'
|
||||
|
||||
|
||||
@ -40,6 +41,21 @@ var MOVE_DELTA = 50
|
||||
/********************************************************** Helpers **/
|
||||
|
||||
|
||||
jQuery.fn.reverseChildren = function(){
|
||||
return $(this).each(function(_, e){
|
||||
return $(e).append($(e).children().detach().get().reverse())
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
jQuery.fn.sortChildren = function(func){
|
||||
return $(this).each(function(_, e){
|
||||
return $(e).append($(e).children().detach().get().sort(func))
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
function getImageOrder(img){
|
||||
// XXX HACK need to parseInt this because '13' is less than '2'...
|
||||
// ...figure a way out of this!!!
|
||||
@ -50,6 +66,12 @@ function setImageOrder(img, order){
|
||||
}
|
||||
|
||||
|
||||
function cmpImageOrder(a, b){
|
||||
return getImageOrder(a) - getImageOrder(b)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// this will create a function that will add/remove a css_class to elem
|
||||
// calling the optional callbacks before and/or after.
|
||||
@ -1001,6 +1023,7 @@ function createRibbon(direction){
|
||||
// XXX this uses jquery animation...
|
||||
// XXX one way to optimise this is to add the lesser ribbon to the
|
||||
// greater disregarding their actual order...
|
||||
// XXX think about using $(...).sortChildren(...) / sortImages()
|
||||
function mergeRibbons(direction, get_order){
|
||||
if(get_order == null){
|
||||
get_order = getImageOrder
|
||||
@ -1079,6 +1102,46 @@ var shiftImageUp = function(){ return shiftImage('prev') }
|
||||
|
||||
|
||||
|
||||
// reverse the ribbon order...
|
||||
function reverseRibbons(){
|
||||
var ribbons = $('.ribbon')
|
||||
var field = $('.field')
|
||||
var scale = getElementScale(field)
|
||||
// get current ribbon index...
|
||||
var cur = ribbons.index($('.current.ribbon'))
|
||||
|
||||
// reverse...
|
||||
field.reverseChildren()
|
||||
|
||||
// compensate for offset cange...
|
||||
$('.current.image').click()
|
||||
}
|
||||
|
||||
|
||||
|
||||
// sort all images in all ribbons...
|
||||
// NOTE: this will only align three ribbons...
|
||||
function sortImages(){
|
||||
$('.ribbon').sortChildren(cmpImageOrder)
|
||||
|
||||
// compensate for offset cange...
|
||||
$('.current.image').click()
|
||||
}
|
||||
|
||||
|
||||
|
||||
// this will reverse the order of images in all ribbons by reversing
|
||||
// id attr and resorting...
|
||||
function reverseImageOrder(){
|
||||
// reverse ID order...
|
||||
$($('.image').get().sort(cmpImageOrder).reverse())
|
||||
.each(function(i, e){$(e).attr({'id': i})})
|
||||
// resort the images...
|
||||
sortImages()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*********************************************************************/
|
||||
// vim:set ts=4 sw=4 nowrap :
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user