diff --git a/ui (gen4)/lib/widget/browse.html b/ui (gen4)/lib/widget/browse.html index c4a4e0a2..6ea5fe37 100755 --- a/ui (gen4)/lib/widget/browse.html +++ b/ui (gen4)/lib/widget/browse.html @@ -106,7 +106,6 @@ body.dark { - @@ -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 diff --git a/ui (gen4)/lib/widget/browse.js b/ui (gen4)/lib/widget/browse.js index 74965d10..563b1de6 100755 --- a/ui (gen4)/lib/widget/browse.js +++ b/ui (gen4)/lib/widget/browse.js @@ -755,13 +755,32 @@ var BrowserPrototype = { // - [str, ...] // - DOM/jQuery 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 $('') + .addClass('text') + .text(t)[0] + })) - // trailing '/' -- dir... - var dir = /[\\\/]\s*$/ - traversable = dir.test(p) && traversable == null ? true : traversable - traversable = traversable == null ? false : traversable - p = p.replace(dir, '') + // 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 = $('') + .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($('') - .addClass('text') - .text(p)) + // append text elements... + .append(p) if(!traversable){ res.addClass('not-traversable')