mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-31 19:30:07 +00:00
some refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
f28acbc09d
commit
90fb7d4f60
162
ui/data4.js
162
ui/data4.js
@ -144,7 +144,9 @@ var DataPrototype = {
|
|||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
// util methods...
|
|
||||||
|
|
||||||
|
// Util methods...
|
||||||
|
|
||||||
// Compact a sparse list...
|
// Compact a sparse list...
|
||||||
compactSparseList: function(list){
|
compactSparseList: function(list){
|
||||||
@ -184,77 +186,8 @@ var DataPrototype = {
|
|||||||
return gid
|
return gid
|
||||||
},
|
},
|
||||||
|
|
||||||
// This is signature compatible with .getImage(..), see it for more
|
|
||||||
// info...
|
|
||||||
//
|
|
||||||
// XXX do we need more specific focus operations like:
|
|
||||||
// .focusImageOffset(offset)
|
|
||||||
// XXX reference impelementation:
|
|
||||||
// return this.focusImage('current', offset)
|
|
||||||
// .focusRibbonOffset(offset)
|
|
||||||
// XXX reference impelementation:
|
|
||||||
// var c = this.getRibbonOrder()
|
|
||||||
// var t = c+offset
|
|
||||||
// return this.focusImage('current', (t < c ? 'after' : 'before'), t)
|
|
||||||
focusImage: function(target, mode, list){
|
|
||||||
var current = this.getImage(target, mode, list)
|
|
||||||
if(this.order.indexOf(current) >= 0){
|
|
||||||
this.current = current
|
|
||||||
}
|
|
||||||
return this
|
|
||||||
},
|
|
||||||
// This is signature compatible with .getRibbon(..), see it for more
|
|
||||||
// info...
|
|
||||||
setBase: function(target, offset){
|
|
||||||
var base = this.getRibbon(target, offset)
|
|
||||||
if(base in this.ribbons){
|
|
||||||
this.base = base
|
|
||||||
}
|
|
||||||
return this
|
|
||||||
},
|
|
||||||
|
|
||||||
// Create empty ribbon...
|
// Introspection...
|
||||||
//
|
|
||||||
// XXX above/below/at...
|
|
||||||
// XXX do we remove ribbons and how...
|
|
||||||
// XXX test
|
|
||||||
newRibbon: function(target, mode){
|
|
||||||
var gid = this.newGid('R')
|
|
||||||
var i = this.getRibbonOrder(target)
|
|
||||||
|
|
||||||
this.ribbon_order.splice(i, 0, gid)
|
|
||||||
this.ribbons[gid] = []
|
|
||||||
|
|
||||||
// XXX should we return this or gid???
|
|
||||||
return this
|
|
||||||
},
|
|
||||||
// Merge ribbons
|
|
||||||
//
|
|
||||||
// .mergeRibbons('all')
|
|
||||||
// .mergeRibbons(ribbon, ribbon, ...)
|
|
||||||
// -> data
|
|
||||||
// If 'all' is the first argumet, this will merge all the ribbons.
|
|
||||||
//
|
|
||||||
// This will merge the ribbons into the first.
|
|
||||||
//
|
|
||||||
// XXX we should update .base
|
|
||||||
// XXX test
|
|
||||||
mergeRibbons: function(target, other){
|
|
||||||
var targets = target == 'all' ? this.ribbon_order : arguments
|
|
||||||
var base = arguments[0]
|
|
||||||
|
|
||||||
for(var i=1; i < arguments.length; i++){
|
|
||||||
var r = arguments[i]
|
|
||||||
this.makeSparseImages(this.ribbons[r], this.ribbons[base])
|
|
||||||
|
|
||||||
delete this.ribbons[r]
|
|
||||||
this.ribbon_order.splice(this.ribbon_order.indexOf(r), 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// XXX we should update .base
|
|
||||||
|
|
||||||
return this
|
|
||||||
},
|
|
||||||
|
|
||||||
// Get image
|
// Get image
|
||||||
//
|
//
|
||||||
@ -625,6 +558,82 @@ var DataPrototype = {
|
|||||||
return this.ribbon_order.indexOf(this.getRibbon(target, offset))
|
return this.ribbon_order.indexOf(this.getRibbon(target, offset))
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Edit methods...
|
||||||
|
|
||||||
|
// This is signature compatible with .getImage(..), see it for more
|
||||||
|
// info...
|
||||||
|
//
|
||||||
|
// XXX do we need more specific focus operations like:
|
||||||
|
// .focusImageOffset(offset)
|
||||||
|
// XXX reference impelementation:
|
||||||
|
// return this.focusImage('current', offset)
|
||||||
|
// .focusRibbonOffset(offset)
|
||||||
|
// XXX reference impelementation:
|
||||||
|
// var c = this.getRibbonOrder()
|
||||||
|
// var t = c+offset
|
||||||
|
// return this.focusImage('current', (t < c ? 'after' : 'before'), t)
|
||||||
|
focusImage: function(target, mode, list){
|
||||||
|
var current = this.getImage(target, mode, list)
|
||||||
|
if(this.order.indexOf(current) >= 0){
|
||||||
|
this.current = current
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
},
|
||||||
|
// This is signature compatible with .getRibbon(..), see it for more
|
||||||
|
// info...
|
||||||
|
setBase: function(target, offset){
|
||||||
|
var base = this.getRibbon(target, offset)
|
||||||
|
if(base in this.ribbons){
|
||||||
|
this.base = base
|
||||||
|
}
|
||||||
|
return this
|
||||||
|
},
|
||||||
|
|
||||||
|
// Create empty ribbon...
|
||||||
|
//
|
||||||
|
// XXX above/below/at...
|
||||||
|
// XXX do we remove ribbons and how...
|
||||||
|
// XXX test
|
||||||
|
newRibbon: function(target, mode){
|
||||||
|
var gid = this.newGid('R')
|
||||||
|
var i = this.getRibbonOrder(target)
|
||||||
|
|
||||||
|
this.ribbon_order.splice(i, 0, gid)
|
||||||
|
this.ribbons[gid] = []
|
||||||
|
|
||||||
|
// XXX should we return this or gid???
|
||||||
|
return this
|
||||||
|
},
|
||||||
|
// Merge ribbons
|
||||||
|
//
|
||||||
|
// .mergeRibbons('all')
|
||||||
|
// .mergeRibbons(ribbon, ribbon, ...)
|
||||||
|
// -> data
|
||||||
|
// If 'all' is the first argumet, this will merge all the ribbons.
|
||||||
|
//
|
||||||
|
// This will merge the ribbons into the first.
|
||||||
|
//
|
||||||
|
// XXX we should update .base
|
||||||
|
// XXX test
|
||||||
|
mergeRibbons: function(target, other){
|
||||||
|
var targets = target == 'all' ? this.ribbon_order : arguments
|
||||||
|
var base = arguments[0]
|
||||||
|
|
||||||
|
for(var i=1; i < arguments.length; i++){
|
||||||
|
var r = arguments[i]
|
||||||
|
this.makeSparseImages(this.ribbons[r], this.ribbons[base])
|
||||||
|
|
||||||
|
delete this.ribbons[r]
|
||||||
|
this.ribbon_order.splice(this.ribbon_order.indexOf(r), 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
// XXX we should update .base
|
||||||
|
|
||||||
|
return this
|
||||||
|
},
|
||||||
|
|
||||||
// Sort images in ribbons via .order...
|
// Sort images in ribbons via .order...
|
||||||
//
|
//
|
||||||
// NOTE: this sorts in-place
|
// NOTE: this sorts in-place
|
||||||
@ -738,6 +747,10 @@ var DataPrototype = {
|
|||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Data-level edit methods...
|
||||||
|
|
||||||
// Split data into 2 or more sections...
|
// Split data into 2 or more sections...
|
||||||
//
|
//
|
||||||
// NOTE: this might result in empty ribbons, if no images are in a
|
// NOTE: this might result in empty ribbons, if no images are in a
|
||||||
@ -848,13 +861,12 @@ var DataPrototype = {
|
|||||||
return res
|
return res
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// JSON serialization...
|
// JSON serialization...
|
||||||
//
|
|
||||||
// NOTE: this loads in-place, use .fromJSON(..) to create new data...
|
// NOTE: this loads in-place, use .fromJSON(..) to create new data...
|
||||||
// XXX check if we need more version checking...
|
|
||||||
convertDataGen3: function(data){
|
convertDataGen3: function(data){
|
||||||
// XXX check for earlier versions...
|
|
||||||
// XXX do we need to do more here???
|
|
||||||
data = data.version == null ? convertDataGen1(data) : data
|
data = data.version == null ? convertDataGen1(data) : data
|
||||||
var that = this
|
var that = this
|
||||||
var res = {}
|
var res = {}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user