mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-11-01 11:50:07 +00:00
reworked some of the sort.js structure via meta-functions, now more modular...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
4ec15362a5
commit
f571999944
61
ui/sort.js
61
ui/sort.js
@ -159,23 +159,32 @@ function imageXPStyleFileNameCmp(a, b, get, data){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function chainCmp(a, b, cmp_chain, get, data){
|
// Generate a cmp function that will use all the cmp's in cmp_chain in
|
||||||
var res
|
// sequence if the previous returns 0 (equal).
|
||||||
for(var i=0; i < cmp_chain.length; i++){
|
//
|
||||||
res = cmp_chain[i](a, b, get, data)
|
function chainCmp(cmp_chain){
|
||||||
if(res != 0){
|
return function(a, b, get, data){
|
||||||
return res
|
var res
|
||||||
|
for(var i=0; i < cmp_chain.length; i++){
|
||||||
|
res = cmp_chain[i](a, b, get, data)
|
||||||
|
if(res != 0){
|
||||||
|
return res
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return res
|
||||||
}
|
}
|
||||||
return res
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function imageDateOrSeqOrNameCmp(a, b, get, data){
|
// Sort action generator...
|
||||||
return chainCmp(a, b, [
|
//
|
||||||
imageDateCmp,
|
function sortVia(cmp){
|
||||||
imageSeqOrNameCmp
|
if(cmp.constructor.name == 'Array'){
|
||||||
], get, data)
|
cmp = chainCmp(cmp)
|
||||||
|
}
|
||||||
|
return function(reverse){
|
||||||
|
return sortImages(cmp, reverse)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -224,21 +233,15 @@ function sortImages(cmp, reverse){
|
|||||||
|
|
||||||
|
|
||||||
// shorthands...
|
// shorthands...
|
||||||
function sortImagesByDate(reverse){
|
var sortImagesByDate = sortVia(imageDateCmp)
|
||||||
return sortImages(imageDateCmp, reverse)
|
var sortImagesByFileName = sortVia(imageNameCmp)
|
||||||
}
|
var sortImagesByFileSeqOrName = sortVia(imageSeqOrNameCmp)
|
||||||
function sortImagesByDateOrSeqOrName(reverse){
|
var sortImagesByFileNameXPStyle = sortVia(imageXPStyleFileNameCmp)
|
||||||
return sortImages(imageDateOrSeqOrNameCmp, reverse)
|
|
||||||
}
|
var sortImagesByDateOrSeqOrName = sortVia(chainCmp([
|
||||||
function sortImagesByFileName(reverse){
|
imageDateCmp,
|
||||||
return sortImages(imageNameCmp, reverse)
|
imageSeqOrNameCmp
|
||||||
}
|
]))
|
||||||
function sortImagesByFileSeqOrName(reverse){
|
|
||||||
return sortImages(imageSeqOrNameCmp, reverse)
|
|
||||||
}
|
|
||||||
function sortImagesByFileNameXPStyle(reverse){
|
|
||||||
return sortImages(imageXPStyleFileNameCmp, reverse)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Sort images by name while taking into account sequence overflows
|
// Sort images by name while taking into account sequence overflows
|
||||||
@ -413,8 +416,8 @@ function sortImagesDialog(){
|
|||||||
|
|
||||||
cfg = {}
|
cfg = {}
|
||||||
cfg[alg] = [
|
cfg[alg] = [
|
||||||
'Date'+
|
'Date |'+
|
||||||
'| fall back to file sequence then\n'+
|
'fall back to file sequence then\n'+
|
||||||
'file name when the earlier is equal.',
|
'file name when the earlier is equal.',
|
||||||
'Sequence number',
|
'Sequence number',
|
||||||
'Sequence number with overflow',
|
'Sequence number with overflow',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user