You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

jsync_dep.js 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. // window.w = window.w || {}
  2. // w.clog = console.log
  3. var clog = console.log
  4. // var clog = w.clog
  5. // clog("??")
  6. function nop(){}
  7. window.glob_u = window.glob_u || {
  8. cb:{},
  9. fns:{},
  10. cls:{},
  11. tvar:{},
  12. data:{},
  13. prom:{},
  14. rrefs:{},
  15. xj:{},
  16. templates:{},
  17. }
  18. glob_u.fns.gen_sort_attr = function gen_sort_attr(attr){
  19. return function gsort(a0,a1){
  20. if (a0[attr] > a1[attr]){
  21. return 1
  22. } else if (a0[attr] < a1[attr]){
  23. return -1
  24. } else {
  25. return 0
  26. }
  27. }
  28. }
  29. glob_u.fns.find_attr = function find_attr(elm,indx,arr){
  30. if (elm && elm[this.attr] == this.val){
  31. return 1
  32. }
  33. }
  34. glob_u.fns.splice_out = function splice_out(arr,elm){
  35. let i = arr.indexOf(elm)
  36. if (i != -1){
  37. return arr.splice(i,1)
  38. }
  39. }
  40. function jclone(obj){
  41. return Array.isArray(obj) ? $.extend(true,[],obj) : $.extend(true,{},obj)
  42. }
  43. function jx(obj){
  44. return JSON.parse(JSON.stringify(obj))
  45. }
  46. function jclone_rval(obj){
  47. if (typeof(obj) != "object"){
  48. return obj
  49. } else if (Array.isArray(obj)) {
  50. return $.extend(true,[],obj)
  51. } else {
  52. return $.extend(true,{},obj)
  53. }
  54. }
  55. // window.jc = jclone
  56. window.jc = jclone_rval
  57. // TODO:JFI eventually merge
  58. // j9\dev_dep\misc_dev.js
  59. glob_u.fns.gen_ord_decs = function(ord,cb_prefix){
  60. var reg_cb = function(cb,key_name,cb_name,override_level,push){
  61. return ord.reg_cb(cb,cb_prefix+key_name,cb_name,override_level,push)
  62. }
  63. var run_cbs_lz = function(key,arg_obj,lazy=1){
  64. if (lazy && cb_prefix+key in ord.cb_sto){
  65. return ord.run_cbs(cb_prefix+key,arg_obj)
  66. }
  67. }
  68. var run_cbs = function(key,arg_obj){
  69. return ord.run_cbs(cb_prefix+key,arg_obj)
  70. // split out later maybe?
  71. }
  72. function req_batch_run(key,arg_obj,combine){
  73. return ord.req_batch_run(cb_prefix+key,arg_obj)
  74. }
  75. reg_cb.ord = ord
  76. reg_cb.cb_prefix = cb_prefix
  77. run_cbs.ord = ord
  78. run_cbs.cb_prefix = cb_prefix
  79. run_cbs_lz.ord = ord
  80. run_cbs_lz.cb_prefix = cb_prefix
  81. return {reg_cb,run_cbs,run_cbs_lz,req_batch_run}
  82. }
  83. // duplicated in jdev0
  84. glob_u.fns.merge_partial_template = function merge_partial_template(main,template){
  85. let t = $.extend(true,{},template,main)
  86. return $.extend(true,main,t)
  87. }