mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-30 10:50:08 +00:00
added a generic flat list constructor...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
aaabdaed69
commit
8e755ded9f
@ -60,6 +60,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.container.flat2 {
|
||||||
|
left: 500px;
|
||||||
|
top: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -145,9 +151,10 @@ TREE.dir_c.dir_b.tree = TREE
|
|||||||
var use_disabled = true
|
var use_disabled = true
|
||||||
var show_files = false
|
var show_files = false
|
||||||
|
|
||||||
requirejs(['../lib/keyboard', '../object', './browse-dialog'], function(k, o, browser){
|
requirejs(['../lib/keyboard', '../object', './browse-dialog'], function(k, o, b){
|
||||||
keyboard = k
|
keyboard = k
|
||||||
object = o
|
object = o
|
||||||
|
browser = b
|
||||||
|
|
||||||
// Tree demo...
|
// Tree demo...
|
||||||
b = browser.Browser($('.container.tree'), {
|
b = browser.Browser($('.container.tree'), {
|
||||||
@ -207,6 +214,10 @@ requirejs(['../lib/keyboard', '../object', './browse-dialog'], function(k, o, br
|
|||||||
if(use_disabled && k == 'option 4'){
|
if(use_disabled && k == 'option 4'){
|
||||||
e.addClass('disabled')
|
e.addClass('disabled')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(k == 'option 3'){
|
||||||
|
e.on('open', function(){ alert('openning: option 3!') })
|
||||||
|
}
|
||||||
return k
|
return k
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -214,6 +225,13 @@ requirejs(['../lib/keyboard', '../object', './browse-dialog'], function(k, o, br
|
|||||||
console.log('OPEN:', path)
|
console.log('OPEN:', path)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
f = browser.makeList($('.container.flat2'), {
|
||||||
|
'option 1': function(_, p){ console.log('option:', p) },
|
||||||
|
'option 2': function(_, p){ console.log('option:', p) },
|
||||||
|
'option 3': function(_, p){ console.log('option:', p) },
|
||||||
|
'option 4': function(_, p){ console.log('option:', p) },
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
$(function(){
|
$(function(){
|
||||||
@ -329,6 +347,9 @@ Files: <button id="theme" onclick="toggleFiles()">toggle</button>
|
|||||||
<div class="container flat">
|
<div class="container flat">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="container flat2">
|
||||||
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
<!-- vim:set ts=4 sw=4 : -->
|
<!-- vim:set ts=4 sw=4 : -->
|
||||||
|
|||||||
@ -828,13 +828,19 @@ var BrowserPrototype = {
|
|||||||
|
|
||||||
// Open action...
|
// Open action...
|
||||||
//
|
//
|
||||||
|
// XXX do we need to pass this to the event???
|
||||||
open: function(path){
|
open: function(path){
|
||||||
path = path || this.path
|
path = path || this.path
|
||||||
var m = this.options.open
|
var m = this.options.open
|
||||||
var res = m ? m.apply(this, arguments) : path
|
var res = m ? m.apply(this, arguments) : path
|
||||||
|
var elem = this.select('!')
|
||||||
|
|
||||||
|
// XXX do we need to pass this to the event???
|
||||||
this.trigger('open', path)
|
this.trigger('open', path)
|
||||||
elem.trigger('open')
|
if(elem.length > 0){
|
||||||
|
// XXX do we need to pass this to the event???
|
||||||
|
elem.trigger('open', path)
|
||||||
|
}
|
||||||
|
|
||||||
return res
|
return res
|
||||||
},
|
},
|
||||||
@ -914,6 +920,45 @@ object.makeConstructor('Browser',
|
|||||||
BrowserPrototype)
|
BrowserPrototype)
|
||||||
|
|
||||||
|
|
||||||
|
// Construct a flat list selector...
|
||||||
|
//
|
||||||
|
// makeList(<elem>, <list>)
|
||||||
|
// -> browser
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// <list> format:
|
||||||
|
// {
|
||||||
|
// <text>: <callback>,
|
||||||
|
// ...
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// XXX should this be an object???
|
||||||
|
var makeList =
|
||||||
|
module.makeList = function(elem, list){
|
||||||
|
return browser.Browser(elem, {
|
||||||
|
data: list,
|
||||||
|
|
||||||
|
traversable: false,
|
||||||
|
flat: true,
|
||||||
|
|
||||||
|
list: function(path, make){
|
||||||
|
var that = this
|
||||||
|
return Object.keys(this.options.data)
|
||||||
|
.map(function(k){
|
||||||
|
// make the element...
|
||||||
|
var e = make(k)
|
||||||
|
.on('open', function(){
|
||||||
|
return that.options.data[k].apply(this, arguments)
|
||||||
|
})
|
||||||
|
|
||||||
|
return k
|
||||||
|
})
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* vim:set ts=4 sw=4 : */
|
* vim:set ts=4 sw=4 : */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user