rglob = window.rglob || {} { let $ = window.$j || $ function jwalk(n){ // class="wtest" data-wnum="0"> var j = $(`[data-wnum]`) var i,k,v for (v of j){ clog(v) } // j = $j(`[data-wnum]`) } okey_fns = { get_node_info(n,nth,d=-1){ let i = [...n.classList].sort() if (i.length){ i.unshift("") } return {nth,has_id:!!n.id,id:n.id,tag:n.nodeName,cls:i,cls_name:i.join("."),depth:d} }, // get_node_info node_key(o,n){ o.cls_name o.tag o.has_id o.nth // var key = `${o.tag}:nth[${o.nth}]:id[${o.has_id ? 1 : 0 }]${o.cls_name}` var key = `${o.tag}${o.has_id ? ":ID" : "" }${o.cls_name}` // var key = `${o.tag}:nth[${o.nth}]${o.has_id ? "#"+n.id : "" }${o.cls_name}` return key }, nk_d(o,n){ // var key = `${o.tag}:nth[${o.nth}]:id[${o.has_id ? 1 : 0 }]${o.cls_name}` var key = `${o.tag}${o.has_id ? ":ID" : "" }:d[${o.depth}]${o.cls_name}` // var key = `${o.tag}:nth[${o.nth}]${o.has_id ? "#"+n.id : "" }${o.cls_name}` return key }, node_key_full(o,n){ o.cls_name o.tag o.has_id o.nth // var key = `${o.tag}:nth[${o.nth}]:id[${o.has_id ? 1 : 0 }]${o.cls_name}` // var key = `${o.tag}:nth[${o.nth}]${o.has_id ? ":ID" : "" }${o.cls_name}` var key = `${o.tag}:nth[${o.nth}]${o.has_id ? "#"+n.id : "" }${o.cls_name}` return key // clog(["node_key",this,arguments]) }, node_path_key(){ clog(["node_path_key",this,arguments]) }, node_path_key2(){ clog(["node_path_key2",this,arguments]) }, } // clog(z) class jtree{ constructor(){ // clog("can_u_redef") this.z=1 } add_elem(){ } // generate } // window.can_u_redef = can_u_redef function rwalk_elems_start1(n_,d_=0,g_={}){ var ig = { children:$(".inner-set").parent(), } var fake_n = { classList:[], } var g = { tcnt:0, } // rwalk_elems_start(...[{},,,,,ig]) return rwalk_elems(...[fake_n,,,,,,ig]) } function rwalk_elems_start(n_,d_=0,g_={}){ var g = { col_indx:0, } var j = $(`.wtest`) rwalk_elems(n,0,[],g) } function gdef(){ clog("gdef") // Request Body // REQUEST BODY return { tcnt:0, nk_:{}, nk:{}, nk_d:{}, a_nk:{}, a_nk_d:{}, nk_full:{}, dflt:{ get _my_data(){ clog("mydata",[this],arguments) return "..." // my_data("pfx get k1") }, set _my_data2(v){ clog("set mydata2",arguments) } }, } } function it1(o) { // body... var i,k,v clog("") clog("oe:") for (k of Object.entries(o)){ clog(k) } clog("") try { clog("in:") for (k in o){ clog(k) } } catch(err){clog("in err:",err)} clog("") try { clog("of:") for (k of o){ clog(k) } } catch(err){clog("of err:",err)} clog("") } function nk_ink_a(o,nk){ } function get_nk_a(ao,nk_s){ var i,k,v var ret = "" for (v of ao){ ret += "> " + v.nks[nk_s] } return ret } function nk_ink0(o,nk){ if (nk in o){} else { o[nk] = { cnt:0, } } o[nk].cnt++ } function nk_sto(nko,n,ao,g){ // clog("nk_sto:",nko,[n],ao,g) // var nks = { // } var nk = okey_fns.node_key(nko) var nk_d = okey_fns.nk_d(nko) nk_ink0(g.nk,nk) nk_ink0(g.nk_d,nk_d) // nk_ink_a(g.nk_d,nk_d) var ao0 = {n,nko,nks:{nk,nk_d}} var a_nk = get_nk_a(ao,"nk") var a_nk_d = get_nk_a(ao,"nk_d") ao0.nks.a_nk = a_nk ao0.nks.a_nk_d = a_nk_d nk_ink0(g.a_nk,a_nk) nk_ink0(g.a_nk_d,a_nk_d) let ret = [...ao,ao0] // g.nk // clog("nk_sto:",nko,[n],ao,g) // clog("nk_sto:",nko,[n],ret,g) return ret } // function rwalk_elems(n,d=0,s,g={},ao=[],nth=0,ig={}){ function rwalk_elems(n,d=0,s,g=gdef(),ao=[],nth=0,ig={}){ var children = ig.children || n.children /* if (g.tcnt > 10000){ clog("g.tcnt",g,d,nth) return } if (rglob.br1 || rglob.br0){ clog("br",rglob) return } if (ig.children){ // children = ig.children } */ // clog(ig,nth) var v g.tcnt++ /* if (Number.isInteger(g.tcnt / 100)){ clog("walker rt2:",g.tcnt,g.tcnt / 100) } */ // while var nko = okey_fns.get_node_info(n,nth,d) // var ao2 = [...ao] // var ao2 = [...ao,{n,nko}] var ao2 = nk_sto(nko,n,ao,g) // var node_key = okey_fns.node_key(nko) // var ci = [...child_info(n)] // clog(".",[n],n.dataset.wnum,ci,ao) // clog(".",[n],n.dataset.wnum,nth) // clog(".",[n],n.dataset.wnum,nth,ao,nko) // clog(".",[n],n.dataset.wnum,nth,ao,nko,node_key) // clog(".",[n],nth,ao,nko,node_key) var cnt = 0 do { for (v of children){ /* if (g.tcnt > 1000){ clog("g.tcnt",g,d,nth) return } if (rglob.br0){ clog("br..",rglob) return } */ cnt += 1 rwalk_elems(v,d+1,s,g,ao2,cnt) } // n1 = n1.nextElementSibling // } while (n1) } while (0) // if (v.nextElementSibling) if (d==0){ return {g} } } function iwalk_elms(n) { // body... // d var stackx= { } var vn = n while (1){ // if (n.children) // for (v of n.children){ // } } } function cit(){ var j = $(`.wtest`) for (v of child_info(j[0])){ clog(".",v) } } window.okey_fns = okey_fns // rwalk_elems_start1() // children // nextElementSibling // parentElement }