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...