From 9ddc29275e56ccb1c97a701f0ee188d1eab46699 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Wed, 20 Dec 2017 04:39:03 +0300 Subject: [PATCH] experimenting with gen2 of browse.js Signed-off-by: Alex A. Naanou --- ui (gen4)/lib/widget/browse2.js | 68 +++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 ui (gen4)/lib/widget/browse2.js diff --git a/ui (gen4)/lib/widget/browse2.js b/ui (gen4)/lib/widget/browse2.js new file mode 100755 index 00000000..8a26ac98 --- /dev/null +++ b/ui (gen4)/lib/widget/browse2.js @@ -0,0 +1,68 @@ +/********************************************************************** +* +* +* +**********************************************************************/ +((typeof define)[0]=='u'?function(f){module.exports=f(require)}:define) +(function(require){ var module={} // make module AMD/node compatible... +/*********************************************************************/ + +var toggler = require('../toggler') +var keyboard = require('../keyboard') +var object = require('../object') +var widget = require('./widget') + + + +/*********************************************************************/ +// XXX general design: +// - each of these can take either a value or a function (constructor) +// - the function has access to Items.* and context +// - the constructor can be called from two contexts: +// - external +// called from the module or as a function... +// calls the passed constructor (passing context) +// builds the container +// - nested +// called from constructor function... +// calls constructor (if applicable) +// builds item(s) +// XXX need a way to pass container constructors (a-la ui-widgets dialog containers) +// - passing through the context (this) makes this more flexible... +// - passing via args fixes the signature which is a good thing... +// +// + +// XXX +var Items = module.items = function(){} + +// singular items... +// +// .Item(value[, make][, options]) +// -> ??? +// +var Items.Item = function(value, make, options){ +} + +var Items.Editable = function(value){} +var Items.Selected = function(value){} +var Items.Action = function(value){} +var Items.ConfirmAction = function(value){} +var Items.Empty = function(value){} +var Items.Separator = function(value){} +var Items.Spinner = function(value){} +var Items.Heading = function(value){} + +// groups... +var Items.Group = function(items){} + +// lists... +var Items.List = function(values){} +var Items.EditableList = function(values){} +var Items.EditablePinnedList = function(values){} + + + + +/********************************************************************** +* vim:set ts=4 sw=4 : */ return module })