mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 18:30:09 +00:00
first version of splitData(...), still brain-dead and intested...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
1f9a58ead0
commit
ea00d8425b
58
ui/data.js
58
ui/data.js
@ -524,13 +524,14 @@ function normalizePath(url, base, mode){
|
|||||||
// Same as getImageBefore(...), but uses gids and searches in DATA...
|
// Same as getImageBefore(...), but uses gids and searches in DATA...
|
||||||
//
|
//
|
||||||
// NOTE: this uses it's own predicate...
|
// NOTE: this uses it's own predicate...
|
||||||
function getGIDBefore(gid, ribbon, search){
|
function getGIDBefore(gid, ribbon, search, data){
|
||||||
gid = gid == null ? getImageGID() : gid
|
gid = gid == null ? getImageGID() : gid
|
||||||
ribbon = ribbon == null ? getRibbonIndex() : ribbon
|
ribbon = ribbon == null ? getRibbonIndex() : ribbon
|
||||||
search = search == null ? binSearch : search
|
search = search == null ? binSearch : search
|
||||||
|
data = data == null ? DATA : data
|
||||||
//search = search == null ? match2(linSearch, binSearch) : search
|
//search = search == null ? match2(linSearch, binSearch) : search
|
||||||
ribbon = DATA.ribbons[ribbon]
|
ribbon = data.ribbons[ribbon]
|
||||||
var order = DATA.order
|
var order = data.order
|
||||||
|
|
||||||
var target = order.indexOf(gid)
|
var target = order.indexOf(gid)
|
||||||
|
|
||||||
@ -792,8 +793,55 @@ function mergeData(a, b){
|
|||||||
|
|
||||||
|
|
||||||
// XXX signature: splitData(data, gid1[, gid2[, ...]])
|
// XXX signature: splitData(data, gid1[, gid2[, ...]])
|
||||||
function splitData(data, gid){
|
// XXX this is a bit brain-dead at the moment...
|
||||||
// XXX
|
function splitData(data, gid1){
|
||||||
|
var gids = []
|
||||||
|
var res = []
|
||||||
|
var cur = 0
|
||||||
|
|
||||||
|
// build the resulting data objects...
|
||||||
|
// XXX revise...
|
||||||
|
for(var i=1; i<arguments.length; i++){
|
||||||
|
var prev = cur
|
||||||
|
cur = data.order.indexOf(arguments[i])
|
||||||
|
gids.push(arguments[i])
|
||||||
|
|
||||||
|
res.push({
|
||||||
|
version: '2.0',
|
||||||
|
current: null,
|
||||||
|
ribbons: [],
|
||||||
|
order: data.order.slice(prev, cur),
|
||||||
|
image_file: null
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// tail section...
|
||||||
|
res.push({
|
||||||
|
version: '2.0',
|
||||||
|
current: null,
|
||||||
|
ribbons: [],
|
||||||
|
order: data.order.slice(cur),
|
||||||
|
image_file: null
|
||||||
|
})
|
||||||
|
|
||||||
|
// split the ribbons...
|
||||||
|
for(var i=0; i<data.ribbons.length; i++){
|
||||||
|
var r = data.ribbons[i]
|
||||||
|
var cur = 0
|
||||||
|
|
||||||
|
// get all split positions...
|
||||||
|
// XXX revise...
|
||||||
|
for(var j=0; j<gids.length; j++){
|
||||||
|
var prev = cur
|
||||||
|
var cur = r.indexOf(getGIDBefore(gids[j], i, null, data)) + 1
|
||||||
|
|
||||||
|
// split and save the section to the corresponding data object...
|
||||||
|
res[j].ribbons.push(r.slice(prev, cur))
|
||||||
|
}
|
||||||
|
// tail section...
|
||||||
|
res[j+1].ribbons.push(r.slice(cur))
|
||||||
|
}
|
||||||
|
|
||||||
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user