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="../jli.js"></script>
<script src="../toggler.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 show_files = false
requirejs(['../keyboard', '../object', './browse'], function(k, o, br){
requirejs(['../keyboard', '../object', '../toggler', './browse'], function(k, o, t, br){
keyboard = k
object = o
toggler = t
browser = br
themeToggler = toggler.CSSClassToggler('body',
[
'none',
'light',
'dark',
],
function(state){
$('#theme').text(state)
})
// Tree demo...
b = browser.Browser($('.container.tree'), {
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(){
use_disabled = !use_disabled

View File

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