svghmi/svghmi.js
branchsvghmi
changeset 3098 5823b73b132f
parent 3082 20a5eb6a02e6
child 3118 e704b0487515
equal deleted inserted replaced
3097:a098b2dd9dff 3098:5823b73b132f
   265     return new_val;
   265     return new_val;
   266 }
   266 }
   267 
   267 
   268 const quotes = {"'":null, '"':null};
   268 const quotes = {"'":null, '"':null};
   269 
   269 
   270 function change_hmi_value(index, opstr) {
   270 function eval_operation_string(old_val, opstr) {
   271     let op = opstr[0];
   271     let op = opstr[0];
   272     let given_val;
   272     let given_val;
   273     if(opstr.length < 2) 
   273     if(opstr.length < 2) 
   274         return undefined; // TODO raise
   274         return undefined;
   275     if(opstr[1] in quotes){
   275     if(opstr[1] in quotes){
   276         if(opstr.length < 3) 
   276         if(opstr.length < 3) 
   277             return undefined; // TODO raise
   277             return undefined;
   278         if(opstr[opstr.length-1] == opstr[1]){
   278         if(opstr[opstr.length-1] == opstr[1]){
   279             given_val = opstr.slice(2,opstr.length-1);
   279             given_val = opstr.slice(2,opstr.length-1);
   280         }
   280         }
   281     } else {
   281     } else {
   282         given_val = Number(opstr.slice(1));
   282         given_val = Number(opstr.slice(1));
   283     }
   283     }
   284     let old_val = cache[index];
       
   285     let new_val;
   284     let new_val;
   286     switch(op){
   285     switch(op){
   287       case "=":
   286       case "=":
   288         new_val = given_val;
   287         new_val = given_val;
   289         break;
   288         break;
   298         break;
   297         break;
   299       case "/":
   298       case "/":
   300         new_val = old_val / given_val;
   299         new_val = old_val / given_val;
   301         break;
   300         break;
   302     }
   301     }
       
   302     return new_val;
       
   303 }
       
   304 
       
   305 /*
       
   306 function change_hmi_value(index, opstr) {
       
   307     let old_val = cache[index];
       
   308     let new_val = eval_operation_string(old_val, opstr);
   303     if(new_val != undefined && old_val != new_val)
   309     if(new_val != undefined && old_val != new_val)
   304         send_hmi_value(index, new_val);
   310         send_hmi_value(index, new_val);
   305     // TODO else raise
   311     // TODO else raise
   306     return new_val;
   312     return new_val;
   307 }
   313 }
       
   314 */
   308 
   315 
   309 var current_visible_page;
   316 var current_visible_page;
   310 var current_subscribed_page;
   317 var current_subscribed_page;
   311 var current_page_index;
   318 var current_page_index;
   312 
   319