From d731b035148a219595873f2a91ddda6b17c26e64 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Fri, 15 Mar 2019 04:21:33 +0300 Subject: [PATCH] ... Signed-off-by: Alex A. Naanou --- ui (gen4)/lib/widget/browse2.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ui (gen4)/lib/widget/browse2.js b/ui (gen4)/lib/widget/browse2.js index c61dd6bd..a5c3d146 100755 --- a/ui (gen4)/lib/widget/browse2.js +++ b/ui (gen4)/lib/widget/browse2.js @@ -735,6 +735,7 @@ var BaseBrowserPrototype = { // XXX add path support... // XXX add literal item support (???) // XXX do not get .subtree elements of a .collapsed item... + // XXX skip .noniterable items... get: function(key, _){ key = key == null ? 0 : key @@ -746,13 +747,15 @@ var BaseBrowserPrototype = { .map(function(e, i){ return [e, i] }) .compact() + var i = 0 + var v = 0 var offset = 0 do { // direct match... // XXX this is messed up on the second+ iteration... - if(sublists.length == 0 || key - offset < sublists[0][1]){ + if(sublists.length == 0 || key - offset - i < sublists[0][1]){ return items[key - offset] } @@ -765,7 +768,7 @@ var BaseBrowserPrototype = { // nested... } else { - var res = key - i == 1 ? + var res = key - offset == 1 ? sublist : sublist.sublist instanceof Browser ? sublist.sublist.get(key - i - offset, true) @@ -780,8 +783,8 @@ var BaseBrowserPrototype = { offset += (sublist.sublist || sublist.value).length - // XXX not sure about this... - } while(items.length > key - (i + offset)) + // XXX this is wrong... + } while(true) return undefined