From fa61d33f67413844a3e09cd2b1931c211d539a1e Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Wed, 27 Feb 2019 06:47:41 +0300 Subject: [PATCH] added default/shorthand elements... Signed-off-by: Alex A. Naanou --- ui (gen4)/lib/widget/browse2.html | 1 + ui (gen4)/lib/widget/browse2.js | 35 ++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/ui (gen4)/lib/widget/browse2.html b/ui (gen4)/lib/widget/browse2.html index c677ae92..75dc318d 100755 --- a/ui (gen4)/lib/widget/browse2.html +++ b/ui (gen4)/lib/widget/browse2.html @@ -109,6 +109,7 @@ requirejs([ make('a'), 'b') make('---') + make('...') make('e') // embeded browser... make(browser.Browser(function(make){ diff --git a/ui (gen4)/lib/widget/browse2.js b/ui (gen4)/lib/widget/browse2.js index f1c848da..e77fcf8c 100755 --- a/ui (gen4)/lib/widget/browse2.js +++ b/ui (gen4)/lib/widget/browse2.js @@ -930,16 +930,26 @@ var BrowserPrototype = { return null } - // XXX handle special items... - // XXX + // item shorthands... + if(item.value in options.elementShorthand){ + var text = null + item = options.elementShorthand[item.value] - var text = JSON.stringify(item.value) + var elem = $(item.html)[0] + elem.classList.add(...item['class'].split(/\s+/)) + + return elem + } + + // normal items... var elem = document.createElement('div') + var text = JSON.stringify(item.value || item) + // classes... elem.classList.add(...['item'] // user classes... - .concat(item.cls || []) + .concat(item['class'] || item.cls || []) // special classes... .concat([ 'selected', @@ -957,14 +967,15 @@ var BrowserPrototype = { elem.setAttribute('value', text) // values... - ;(item.value instanceof Array ? item.value : [item.value]) - // XXX handle $keys and other stuff... - .map(function(v){ - var value = document.createElement('span') - value.classList.add('text') - value.innerHTML = v || item || '' - elem.appendChild(value) - }) + text + && (item.value instanceof Array ? item.value : [item.value]) + // XXX handle $keys and other stuff... + .map(function(v){ + var value = document.createElement('span') + value.classList.add('text') + value.innerHTML = v || item || '' + elem.appendChild(value) + }) // events... // XXX revise signature...