browse make(..) now support lists of strings (still untested) + started fixing browse.html (hate JS module systems)...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2016-01-14 21:42:25 +03:00
parent 8f3bbeb2b3
commit 7b63f5e3c2
2 changed files with 39 additions and 21 deletions

View File

@ -106,7 +106,6 @@ body.dark {
<script src="../../ext-lib/jquery-ui.js"></script> <script src="../../ext-lib/jquery-ui.js"></script>
<script src="../jli.js"></script> <script src="../jli.js"></script>
<script src="../toggler.js"></script>
<script src="../../ext-lib/require.js"></script> <script src="../../ext-lib/require.js"></script>
@ -161,11 +160,22 @@ TREE.dir_c.dir_b.tree = TREE
var use_disabled = true var use_disabled = true
var show_files = false var show_files = false
requirejs(['../keyboard', '../object', './browse'], function(k, o, br){ requirejs(['../keyboard', '../object', '../toggler', './browse'], function(k, o, t, br){
keyboard = k keyboard = k
object = o object = o
toggler = t
browser = br browser = br
themeToggler = toggler.CSSClassToggler('body',
[
'none',
'light',
'dark',
],
function(state){
$('#theme').text(state)
})
// Tree demo... // Tree demo...
b = browser.Browser($('.container.tree'), { b = browser.Browser($('.container.tree'), {
path: '/dir_a/tree/dir_c/', path: '/dir_a/tree/dir_c/',
@ -356,15 +366,6 @@ $(function(){
var themeToggler = CSSClassToggler('body',
[
'none',
'light',
'dark',
],
function(state){
$('#theme').text(state)
})
function toggleDisabled(){ function toggleDisabled(){
use_disabled = !use_disabled use_disabled = !use_disabled

View File

@ -755,13 +755,32 @@ var BrowserPrototype = {
// - [str, ...] // - [str, ...]
// - DOM/jQuery // - DOM/jQuery
var make = function(p, traversable, disabled){ var make = function(p, traversable, disabled){
p = p + '' // array of str...
if(p.constructor === Array){
// XXX check if traversable...
p = $(p.map(function(t){
return $('<span>')
.addClass('text')
.text(t)[0]
}))
// trailing '/' -- dir... // jQuery or dom...
var dir = /[\\\/]\s*$/ } else if(p instanceof jQuery){
traversable = dir.test(p) && traversable == null ? true : traversable // XXX disable search???
traversable = traversable == null ? false : traversable console.warn('jQuery objects as browse list elements not yet supported.')
p = p.replace(dir, '')
// str and other stuff...
} else {
p = p + ''
// trailing '/' -- dir...
var dir = /[\\\/]\s*$/
traversable = dir.test(p) && traversable == null ? true : traversable
traversable = traversable == null ? false : traversable
p = $('<span>')
.addClass('text')
.text(p.replace(dir, ''))
}
interactive = true interactive = true
@ -781,10 +800,8 @@ var BrowserPrototype = {
that.push($(this).find('.text').text()) that.push($(this).find('.text').text())
} }
}) })
// XXX add support for multiple .test blocks... // append text elements...
.append($('<span>') .append(p)
.addClass('text')
.text(p))
if(!traversable){ if(!traversable){
res.addClass('not-traversable') res.addClass('not-traversable')