svghmi/svghmi.js
branchsvghmi
changeset 2970 4a9b0df0602a
parent 2960 5ad82541b46e
child 3000 a9a45977bac0
equal deleted inserted replaced
2969:88988edb2e93 2970:4a9b0df0602a
   245     if(new_val != undefined && old_val != new_val)
   245     if(new_val != undefined && old_val != new_val)
   246         send_hmi_value(index, new_val);
   246         send_hmi_value(index, new_val);
   247     return new_val;
   247     return new_val;
   248 }
   248 }
   249 
   249 
       
   250 quotes = {"'":null, '"':null};
       
   251 
   250 function change_hmi_value(index, opstr) {
   252 function change_hmi_value(index, opstr) {
   251     let op = opstr[0];
   253     let op = opstr[0];
   252     let given_val = opstr.slice(1);
   254     let given_val;
   253     let old_val = cache[index]
   255     if(opstr.length < 2) 
       
   256         return undefined; // TODO raise
       
   257     if(opstr[1] in quotes){
       
   258         if(opstr.length < 3) 
       
   259             return undefined; // TODO raise
       
   260         if(opstr[opstr.length-1] == opstr[1]){
       
   261             given_val = opstr.slice(2,opstr.length-1);
       
   262         }
       
   263     } else {
       
   264         given_val = Number(opstr.slice(1));
       
   265     }
       
   266     let old_val = cache[index];
   254     let new_val;
   267     let new_val;
   255     switch(op){
   268     switch(op){
   256       case "=":
   269       case "=":
   257         eval("new_val"+opstr);
   270         new_val = given_val;
   258         break;
   271         break;
   259       case "+":
   272       case "+":
       
   273         new_val = old_val + given_val;
       
   274         break;
   260       case "-":
   275       case "-":
       
   276         new_val = old_val - given_val;
       
   277         break;
   261       case "*":
   278       case "*":
       
   279         new_val = old_val * given_val;
       
   280         break;
   262       case "/":
   281       case "/":
   263         if(old_val != undefined)
   282         new_val = old_val / given_val;
   264             new_val = eval("old_val"+opstr);
       
   265         break;
   283         break;
   266     }
   284     }
   267     if(new_val != undefined && old_val != new_val)
   285     if(new_val != undefined && old_val != new_val)
   268         send_hmi_value(index, new_val);
   286         send_hmi_value(index, new_val);
       
   287     // TODO else raise
   269     return new_val;
   288     return new_val;
   270 }
   289 }
   271 
   290 
   272 var current_visible_page;
   291 var current_visible_page;
   273 var current_subscribed_page;
   292 var current_subscribed_page;