Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

rd3.js 4.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. rglob = window.rglob || {}
  2. {
  3. let $ = window.$j || $
  4. function jwalk(n){
  5. // class="wtest" data-wnum="0">
  6. var j = $(`[data-wnum]`)
  7. var i,k,v
  8. for (v of j){
  9. clog(v)
  10. }
  11. // j = $j(`[data-wnum]`)
  12. }
  13. okey_fns = {
  14. get_node_info(n,nth,d=-1){
  15. let i = [...n.classList].sort()
  16. if (i.length){
  17. i.unshift("")
  18. }
  19. return {nth,has_id:!!n.id,id:n.id,tag:n.nodeName,cls:i,cls_name:i.join("."),depth:d}
  20. },
  21. // get_node_info
  22. node_key(o,n){
  23. o.cls_name
  24. o.tag
  25. o.has_id
  26. o.nth
  27. // var key = `${o.tag}:nth[${o.nth}]:id[${o.has_id ? 1 : 0 }]${o.cls_name}`
  28. var key = `${o.tag}${o.has_id ? ":ID" : "" }${o.cls_name}`
  29. // var key = `${o.tag}:nth[${o.nth}]${o.has_id ? "#"+n.id : "" }${o.cls_name}`
  30. return key
  31. },
  32. nk_d(o,n){
  33. // var key = `${o.tag}:nth[${o.nth}]:id[${o.has_id ? 1 : 0 }]${o.cls_name}`
  34. var key = `${o.tag}${o.has_id ? ":ID" : "" }:d[${o.depth}]${o.cls_name}`
  35. // var key = `${o.tag}:nth[${o.nth}]${o.has_id ? "#"+n.id : "" }${o.cls_name}`
  36. return key
  37. },
  38. node_key_full(o,n){
  39. o.cls_name
  40. o.tag
  41. o.has_id
  42. o.nth
  43. // var key = `${o.tag}:nth[${o.nth}]:id[${o.has_id ? 1 : 0 }]${o.cls_name}`
  44. // var key = `${o.tag}:nth[${o.nth}]${o.has_id ? ":ID" : "" }${o.cls_name}`
  45. var key = `${o.tag}:nth[${o.nth}]${o.has_id ? "#"+n.id : "" }${o.cls_name}`
  46. return key
  47. // clog(["node_key",this,arguments])
  48. },
  49. node_path_key(){
  50. clog(["node_path_key",this,arguments])
  51. },
  52. node_path_key2(){
  53. clog(["node_path_key2",this,arguments])
  54. },
  55. }
  56. // clog(z)
  57. class jtree{
  58. constructor(){
  59. // clog("can_u_redef")
  60. this.z=1
  61. }
  62. add_elem(){
  63. }
  64. // generate
  65. }
  66. // window.can_u_redef = can_u_redef
  67. function rwalk_elems_start1(n_,d_=0,g_={}){
  68. var ig = {
  69. children:$(".inner-set").parent(),
  70. }
  71. var fake_n = {
  72. classList:[],
  73. }
  74. var g = {
  75. tcnt:0,
  76. }
  77. // rwalk_elems_start(...[{},,,,,ig])
  78. return rwalk_elems(...[fake_n,,,,,,ig])
  79. }
  80. function rwalk_elems_start(n_,d_=0,g_={}){
  81. var g = {
  82. col_indx:0,
  83. }
  84. var j = $(`.wtest`)
  85. rwalk_elems(n,0,[],g)
  86. }
  87. function gdef(){
  88. clog("gdef")
  89. // Request Body
  90. // REQUEST BODY
  91. return {
  92. tcnt:0,
  93. nk_:{},
  94. nk:{},
  95. nk_d:{},
  96. a_nk:{},
  97. a_nk_d:{},
  98. nk_full:{},
  99. dflt:{
  100. get _my_data(){
  101. clog("mydata",[this],arguments)
  102. return "..."
  103. // my_data("pfx get k1")
  104. },
  105. set _my_data2(v){
  106. clog("set mydata2",arguments)
  107. }
  108. },
  109. }
  110. }
  111. function it1(o) {
  112. // body...
  113. var i,k,v
  114. clog("")
  115. clog("oe:")
  116. for (k of Object.entries(o)){
  117. clog(k)
  118. }
  119. clog("")
  120. try {
  121. clog("in:")
  122. for (k in o){
  123. clog(k)
  124. }
  125. } catch(err){clog("in err:",err)}
  126. clog("")
  127. try {
  128. clog("of:")
  129. for (k of o){
  130. clog(k)
  131. }
  132. } catch(err){clog("of err:",err)}
  133. clog("")
  134. }
  135. function nk_ink_a(o,nk){
  136. }
  137. function get_nk_a(ao,nk_s){
  138. var i,k,v
  139. var ret = ""
  140. for (v of ao){
  141. ret += "> " + v.nks[nk_s]
  142. }
  143. return ret
  144. }
  145. function nk_ink0(o,nk){
  146. if (nk in o){} else {
  147. o[nk] = {
  148. cnt:0,
  149. }
  150. }
  151. o[nk].cnt++
  152. }
  153. function nk_sto(nko,n,ao,g){
  154. // clog("nk_sto:",nko,[n],ao,g)
  155. // var nks = {
  156. // }
  157. var nk = okey_fns.node_key(nko)
  158. var nk_d = okey_fns.nk_d(nko)
  159. nk_ink0(g.nk,nk)
  160. nk_ink0(g.nk_d,nk_d)
  161. // nk_ink_a(g.nk_d,nk_d)
  162. var ao0 = {n,nko,nks:{nk,nk_d}}
  163. var a_nk = get_nk_a(ao,"nk")
  164. var a_nk_d = get_nk_a(ao,"nk_d")
  165. ao0.nks.a_nk = a_nk
  166. ao0.nks.a_nk_d = a_nk_d
  167. nk_ink0(g.a_nk,a_nk)
  168. nk_ink0(g.a_nk_d,a_nk_d)
  169. let ret = [...ao,ao0]
  170. // g.nk
  171. // clog("nk_sto:",nko,[n],ao,g)
  172. // clog("nk_sto:",nko,[n],ret,g)
  173. return ret
  174. }
  175. // function rwalk_elems(n,d=0,s,g={},ao=[],nth=0,ig={}){
  176. function rwalk_elems(n,d=0,s,g=gdef(),ao=[],nth=0,ig={}){
  177. var children = ig.children || n.children
  178. /*
  179. if (g.tcnt > 10000){
  180. clog("g.tcnt",g,d,nth)
  181. return
  182. }
  183. if (rglob.br1 || rglob.br0){
  184. clog("br",rglob)
  185. return
  186. }
  187. if (ig.children){
  188. // children = ig.children
  189. }
  190. */
  191. // clog(ig,nth)
  192. var v
  193. g.tcnt++
  194. /*
  195. if (Number.isInteger(g.tcnt / 100)){
  196. clog("walker rt2:",g.tcnt,g.tcnt / 100)
  197. }
  198. */
  199. // while
  200. var nko = okey_fns.get_node_info(n,nth,d)
  201. // var ao2 = [...ao]
  202. // var ao2 = [...ao,{n,nko}]
  203. var ao2 = nk_sto(nko,n,ao,g)
  204. // var node_key = okey_fns.node_key(nko)
  205. // var ci = [...child_info(n)]
  206. // clog(".",[n],n.dataset.wnum,ci,ao)
  207. // clog(".",[n],n.dataset.wnum,nth)
  208. // clog(".",[n],n.dataset.wnum,nth,ao,nko)
  209. // clog(".",[n],n.dataset.wnum,nth,ao,nko,node_key)
  210. // clog(".",[n],nth,ao,nko,node_key)
  211. var cnt = 0
  212. do {
  213. for (v of children){
  214. /*
  215. if (g.tcnt > 1000){
  216. clog("g.tcnt",g,d,nth)
  217. return
  218. }
  219. if (rglob.br0){
  220. clog("br..",rglob)
  221. return
  222. }
  223. */
  224. cnt += 1
  225. rwalk_elems(v,d+1,s,g,ao2,cnt)
  226. }
  227. // n1 = n1.nextElementSibling
  228. // } while (n1)
  229. } while (0)
  230. // if (v.nextElementSibling)
  231. if (d==0){
  232. return {g}
  233. }
  234. }
  235. function iwalk_elms(n) {
  236. // body...
  237. // d
  238. var stackx= {
  239. }
  240. var vn = n
  241. while (1){
  242. // if (n.children)
  243. // for (v of n.children){
  244. // }
  245. }
  246. }
  247. function cit(){
  248. var j = $(`.wtest`)
  249. for (v of child_info(j[0])){
  250. clog(".",v)
  251. }
  252. }
  253. window.okey_fns = okey_fns
  254. // rwalk_elems_start1()
  255. // children
  256. // nextElementSibling
  257. // parentElement
  258. }