some tweaking...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2019-07-04 19:17:01 +03:00
parent 515796fc05
commit 751038ad1d

View File

@ -1141,6 +1141,7 @@ var BaseBrowserPrototype = {
// //
// NOTE: .clearCache(true) will yield a state that would require at // NOTE: .clearCache(true) will yield a state that would require at
// least a .update() call to be usable... // least a .update() call to be usable...
// XXX should we use .hasOwnProperty(..)???
clearCache: function(title){ clearCache: function(title){
if(title == null || title === true){ if(title == null || title === true){
Object.keys(this) Object.keys(this)
@ -1180,6 +1181,7 @@ var BaseBrowserPrototype = {
// XXX for some odd reason this is sorted wrong... // XXX for some odd reason this is sorted wrong...
// ...keys that are numbers for some reason are first and sorted // ...keys that are numbers for some reason are first and sorted
// by value and not by position... // by value and not by position...
// XXX should we use .hasOwnProperty(..)???
__item_index_cache: null, __item_index_cache: null,
get index(){ get index(){
return (this.__item_index_cache = return (this.__item_index_cache =
@ -3527,28 +3529,35 @@ var BaseBrowserPrototype = {
var that = this var that = this
// XXX move this out... // XXX move this out...
// this can be merged into BaseBrowser or live in a separate mixin... // this can be merged into BaseBrowser or live in a separate mixin...
var getRoot = function(e){ var getRoot = function(o, attr){
var cur = e var cur = o
while(cur.source){ while(cur.source
&& (!attr
|| !cur.hasOwnProperty(attr))){
cur = cur.source } cur = cur.source }
return e } return cur }
return { return {
__proto__: this, __proto__: this,
source: this, source: this,
// keep the DOM data in one place...
get dom(){ get dom(){
return getRoot(this).dom }, return getRoot(this, '__dom').dom },
set dom(value){ set dom(value){
getRoot(this).dom = value }, getRoot(this, '__dom').dom = value },
get container(){ get container(){
return getRoot(this).container }, return getRoot(this, '__container').container },
set container(value){ set container(value){
getRoot(this).container = value }, getRoot(this, '__container').container = value },
// XXX do we need to isolate caches???
// XXX
end: function(){ end: function(){
return this.source }, return this.source },
}.run(function(){ }.run(function(){
// XXX do we need to copy other sections???
this.items = this.items =
action instanceof Array ? action instanceof Array ?
action action