notes and some tweaking...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2019-01-24 06:12:04 +03:00
parent 3ae2014338
commit 21ebcb2b58

View File

@ -145,21 +145,25 @@ var BaseBrowserPrototype = {
list: function(make, options){ list: function(make, options){
throw new Error('.list(..): Not implemented.') }, throw new Error('.list(..): Not implemented.') },
// Make .items... // Make .items...
// //
// .make() // .make()
// -> this // -> this
// //
// XXX should this reset .items or update them???
// ...seems that assigning an ID to an item and recycling would
// be nice, not sure yet how to organize this...
// XXX revise options handling for .list(..) // XXX revise options handling for .list(..)
make: function(options){ make: function(options){
var items = this.items = [] var items = this.items = []
var make = function(item, opts){ var make = function(value, opts){
items.push(Object.assign( items.push(Object.assign(
{}, {},
options || {}, options || {},
opts || {}, opts || {},
{item: item})) {value: value}))
return make return make
}.bind(this) }.bind(this)
make.__proto__ = Items make.__proto__ = Items
@ -182,11 +186,12 @@ var BaseBrowserPrototype = {
renderList: function(items, options){ renderList: function(items, options){
return items }, return items },
// Render nested list... // Render nested list...
renderSubList: function(items, options){ renderSubList: function(item, rendered, options){
return items }, return rendered },
// Render list item... // Render list item...
renderItem: function(item, options){ renderItem: function(item, options){
return item }, return item },
// Render state... // Render state...
// //
// .render() // .render()
@ -201,9 +206,9 @@ var BaseBrowserPrototype = {
var items = this.items var items = this.items
.map(function(item){ .map(function(item){
return item.render ? return item.render ?
that.renderSubList(item.render(context, options), options) that.renderSubList(item, item.render(context, options), options)
: item.item.render ? : item.value.render ?
that.renderSubList(item.item.render(context, options), options) that.renderSubList(item, item.value.render(context, options), options)
: that.renderItem(item) }) : that.renderItem(item) })
// determine the render mode... // determine the render mode...
@ -214,6 +219,7 @@ var BaseBrowserPrototype = {
: items : items
}, },
// Update state (make then render)... // Update state (make then render)...
// //
// .update() // .update()
@ -266,18 +272,22 @@ var BrowserPrototype = {
// Render main list... // Render main list...
// XXX update dom... // XXX update dom...
renderList: function(items, options){ renderList: function(items, options){
// XXX save link to dom...
this.dom = null
return items }, return items },
// Render nested list... // Render nested list...
renderSubList: function(items, options){ // XXX save link to dom (???)
// XXX save link to dom... renderSubList: function(item, rendered, options){
return items }, return rendered },
// Render list item... // Render list item...
// XXX save link to dom in item.dom (???)
renderItem: function(item, options){ renderItem: function(item, options){
// XXX save link to dom...
return item }, return item },
// save the rendered state to .dom
render: function(context, options){
this.dom = object.parent(BrowserPrototype.render, this).call(this, context, options)
return this.dom
},
filter: function(){}, filter: function(){},