mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-11-01 11:50:07 +00:00
slight improvement in nextImageInOrder/prevImageInOrder actions... (started before the prev commit)
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
440eedbb36
commit
32211cbbe3
@ -354,7 +354,7 @@ module.ImagesPrototype = {
|
|||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
filter: function(func){
|
filter: function(func){
|
||||||
var res = this.constructor()
|
var res = new this.constructor()
|
||||||
var i = 0
|
var i = 0
|
||||||
for(var key in this){
|
for(var key in this){
|
||||||
// reject non images...
|
// reject non images...
|
||||||
|
|||||||
@ -14,6 +14,8 @@ console.log('>>> objects')
|
|||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
// XXX BUG: if the constructor is called from it's instance this will
|
||||||
|
// return the instance and not a new object...
|
||||||
var makeConstructor =
|
var makeConstructor =
|
||||||
module.makeConstructor =
|
module.makeConstructor =
|
||||||
function makeConstructor(name, a, b){
|
function makeConstructor(name, a, b){
|
||||||
|
|||||||
@ -367,7 +367,8 @@ actions.Actions({
|
|||||||
lastGlobalImage: ['Navigate/Last globally image',
|
lastGlobalImage: ['Navigate/Last globally image',
|
||||||
function(){ this.lastImage(true) }],
|
function(){ this.lastImage(true) }],
|
||||||
|
|
||||||
// XXX skip unloaded images...
|
// XXX skip unloaded images... (groups?)
|
||||||
|
// XXX the next two are almost identical...
|
||||||
prevImage: ['Navigate/Previous image',
|
prevImage: ['Navigate/Previous image',
|
||||||
function(a){
|
function(a){
|
||||||
// keep track of traverse direction...
|
// keep track of traverse direction...
|
||||||
@ -399,11 +400,50 @@ actions.Actions({
|
|||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
|
|
||||||
// XXX skip unloaded images...
|
// XXX skip unloaded images... (groups?)
|
||||||
|
// XXX the next two are almost identical...
|
||||||
prevImageInOrder: ['Navigate/Previous image in order',
|
prevImageInOrder: ['Navigate/Previous image in order',
|
||||||
function(){ this.prevImage(this.data.getImages(this.data.order)) }],
|
function(){
|
||||||
|
// NOTE: this used to be algorithmically substantially slower
|
||||||
|
// than the code below but after .makeSparseImages(..)
|
||||||
|
// got updated the difference is far less...
|
||||||
|
// ...since I've already spent the time to write and
|
||||||
|
// debug the long version and it gives a small advantage
|
||||||
|
// I'll keep it for now...
|
||||||
|
// (~15-20% @ 10K images, e.g 50ms vs 80ms on average)
|
||||||
|
//this.prevImage(this.data.getImages('loaded'))
|
||||||
|
|
||||||
|
var c = {}
|
||||||
|
// get prev images for each ribbon...
|
||||||
|
for(var r in this.data.ribbons){
|
||||||
|
var i = this.data.getImageOrder('prev', r)
|
||||||
|
if(i >= 0){
|
||||||
|
c[i] = r
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.prevImage(c[Math.max.apply(null, Object.keys(c))])
|
||||||
|
}],
|
||||||
nextImageInOrder: ['Navigate/Next image in order',
|
nextImageInOrder: ['Navigate/Next image in order',
|
||||||
function(){ this.nextImage(this.data.getImages(this.data.order)) }],
|
function(){
|
||||||
|
// NOTE: this used to be algorithmically substantially slower
|
||||||
|
// than the code below but after .makeSparseImages(..)
|
||||||
|
// got updated the difference is far less...
|
||||||
|
// ...since I've already spent the time to write and
|
||||||
|
// debug the long version and it gives a small advantage
|
||||||
|
// I'll keep it for now...
|
||||||
|
// (~15-20% @ 10K images)
|
||||||
|
//this.nextImage(this.data.getImages('loaded'))
|
||||||
|
|
||||||
|
var c = {}
|
||||||
|
// get next images for each ribbon...
|
||||||
|
for(var r in this.data.ribbons){
|
||||||
|
var i = this.data.getImageOrder('next', r)
|
||||||
|
if(i >= 0){
|
||||||
|
c[i] = r
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.nextImage(c[Math.min.apply(null, Object.keys(c))])
|
||||||
|
}],
|
||||||
|
|
||||||
// XXX should these be here???
|
// XXX should these be here???
|
||||||
prevTagged: ['Navigate/Previous image tagged with tag',
|
prevTagged: ['Navigate/Previous image tagged with tag',
|
||||||
@ -3576,7 +3616,8 @@ var FileSystemLoaderActions = actions.Actions({
|
|||||||
// NOTE: all ribbon gids will change here...
|
// NOTE: all ribbon gids will change here...
|
||||||
var cur = that.data.current
|
var cur = that.data.current
|
||||||
// XXX this does not seem to work...
|
// XXX this does not seem to work...
|
||||||
that.data = new_data.join(that.data)
|
//that.data = new_data.join(that.data)
|
||||||
|
that.data = new_data.join('top', that.data)
|
||||||
that.data.current = cur
|
that.data.current = cur
|
||||||
|
|
||||||
that.images.join(new_images)
|
that.images.join(new_images)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user