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.

ev_inc.js 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. clog=console.log
  2. function eval_txtarea(){
  3. var exe = $(".eval_txt")[0].value
  4. // if ()
  5. var is_empty = exe.replace(/\s/g,"")
  6. if (!is_empty){return}
  7. var r = {
  8. exe
  9. }
  10. // r.exe = exe
  11. try {
  12. exe = exe.replace(/[“”]/g,'"')
  13. exe = exe.replace(/[’‘]/g,"'")
  14. // eval($(".eval_txt")[0].value)
  15. r.result = eval(exe)
  16. r.status = 0
  17. } catch (err){
  18. r.err=err
  19. r.result = err
  20. console.error(err)
  21. // clog(err + "...")
  22. // $(".eval_result")[0].innerHTML=err+""
  23. r.status = "error"
  24. }
  25. glob_u.data.eval_history.unshift(r)
  26. $(".eval_txt")[0].value = ""
  27. glob_u.data.eval_tmp = ""
  28. glob_u.data.eval_index = -1
  29. $(".eval_result")[0].innerHTML =r.result
  30. }
  31. function set_text_area(index){
  32. if(index == -1){
  33. $(".eval_txt")[0].value = glob_u.data.eval_tmp
  34. } else {
  35. var o = glob_u.data.eval_history[index]
  36. $(".eval_txt")[0].value = o.exe
  37. if (o.status == "err"){
  38. } else {
  39. }
  40. $(".eval_result")[0].innerHTML = `[${index}] result when run:\n` + o.result
  41. }
  42. }
  43. function mv_eval_index(chr){
  44. // if (chr == "b")
  45. var eval_len = glob_u.data.eval_index.length
  46. switch (chr){
  47. case "b":
  48. if (glob_u.data.eval_index >= eval_len-1){
  49. // no_further
  50. clog("no_further +")
  51. } else if(glob_u.data.eval_index == -1) {
  52. glob_u.data.eval_tmp = $(".eval_txt")[0].value
  53. glob_u.data.eval_index += 1
  54. set_text_area(glob_u.data.eval_index)
  55. } else {
  56. glob_u.data.eval_index += 1
  57. set_text_area(glob_u.data.eval_index)
  58. }
  59. break
  60. case "f":
  61. if (glob_u.data.eval_index == 0){
  62. glob_u.data.eval_index -= 1
  63. set_text_area(glob_u.data.eval_index)
  64. $(".eval_result")[0].innerHTML = ""
  65. } else if (glob_u.data.eval_index == -1){
  66. clog("no_further -")
  67. } else{
  68. glob_u.data.eval_index -= 1
  69. set_text_area(glob_u.data.eval_index)
  70. }
  71. break
  72. }
  73. }
  74. function _evl_btn_h(event,node){
  75. clog("_evl_btn_h",event,node,[event,node])
  76. // clog(node.dataset.)
  77. switch (node.dataset.ev_type){
  78. case "b":
  79. clog("case b")
  80. mv_eval_index(node.dataset.ev_type)
  81. break
  82. case "f":
  83. clog("case f")
  84. mv_eval_index(node.dataset.ev_type)
  85. break
  86. case "e":
  87. clog("case e")
  88. eval_txtarea()
  89. break
  90. case "keyup":
  91. if (event.keyCode == 13){
  92. eval_txtarea()
  93. }
  94. clog("case keydown")
  95. break
  96. }
  97. }
  98. function _eval_h(event,node){
  99. clog("_eval_h",event,node)
  100. }
  101. function _eval_h2(event,node){
  102. clog([event,node,this])
  103. $(".eval_result")[0].innerHTML +="."
  104. try {
  105. // eval($(".eval_txt")[0].value)
  106. clog("e",eval(node.value))
  107. } catch (err){
  108. console.error(err)
  109. clog(err + "...")
  110. $(".eval_result")[0].innerHTML=err+""
  111. }
  112. $(".eval_result")[0].innerHTML += event.code+ " : " + (event.shiftKey+0) + " : " + (event.altKey+0)
  113. }
  114. function add_xtra_shortcut(){
  115. window.m=msto
  116. }
  117. glob_u.cb.ws.reg_cb(add_xtra_shortcut,"WS_MSTO_INITED","add_xtra_shortcut")
  118. glob_u.data.eval_history = []
  119. glob_u.data.eval_index = -1
  120. glob_u.data.eval_tmp = ""