svghmi/svghmi.js
branchsvghmi
changeset 2914 99ba78619ffa
parent 2913 ac4328e69079
child 2916 4f3b130fd197
equal deleted inserted replaced
2909:0519fdce9a59 2914:99ba78619ffa
   237         tobinary(value)]);
   237         tobinary(value)]);
   238 
   238 
   239     cache[index] = value;
   239     cache[index] = value;
   240 };
   240 };
   241 
   241 
       
   242 function apply_hmi_value(index, new_val) {
       
   243     let old_val = cache[index]
       
   244     if(new_val != undefined && old_val != new_val)
       
   245         send_hmi_value(index, new_val);
       
   246     return new_val;
       
   247 }
       
   248 
   242 function change_hmi_value(index, opstr) {
   249 function change_hmi_value(index, opstr) {
   243     let op = opstr[0];
   250     let op = opstr[0];
   244     let given_val = opstr.slice(1);
   251     let given_val = opstr.slice(1);
   245     let old_val = cache[index]
   252     let old_val = cache[index]
   246     let new_val;
   253     let new_val;
   402     foreach_subscribe.call(this,off);
   409     foreach_subscribe.call(this,off);
   403     update_subscriptions();
   410     update_subscriptions();
   404     need_cache_apply.push(this);
   411     need_cache_apply.push(this);
   405     jumps_need_update = true;
   412     jumps_need_update = true;
   406     requestHMIAnimation();
   413     requestHMIAnimation();
   407     console.log(opstr, new_item_offset);
       
   408 }
   414 }
   409 
   415 
   410 
   416 
   411 function switch_visible_page(page_name) {
   417 function switch_visible_page(page_name) {
   412 
   418 
   458     // TODO : re-enable auto reload when not in debug
   464     // TODO : re-enable auto reload when not in debug
   459     //window.setTimeout(() => location.reload(true), 10000);
   465     //window.setTimeout(() => location.reload(true), 10000);
   460     alert("Connection closed. code:"+evt.code+" reason:"+evt.reason+" wasClean:"+evt.wasClean+".");
   466     alert("Connection closed. code:"+evt.code+" reason:"+evt.reason+" wasClean:"+evt.wasClean+".");
   461 
   467 
   462 };
   468 };
       
   469 
       
   470 var edit_callback;
       
   471 function edit_value(path, valuetype, callback, initial) {
       
   472 
       
   473     let [keypadid, xcoord, ycoord] = keypads[valuetype];
       
   474     console.log('XXX TODO : Edit value', path, valuetype, callback, initial, keypadid);
       
   475     edit_callback = callback;
       
   476 
       
   477     let [element, parent] = detachable_elements[keypadid];
       
   478     tmpgrp = document.createElement("g");
       
   479     tmpgrpattr = document.createAttribute("transform");
       
   480 
       
   481     let [xdest,ydest] = page_desc[current_visible_page].bbox;
       
   482     tmpgrpattr.value = "translate("+String(xdest-xcoord)+","+String(ydest-ycoord)+")";
       
   483     tmpgrp.setAttributeNode(tmpgrpattr);
       
   484 
       
   485     tmpgrp.appendChild(element);
       
   486     parent.appendChild(tmpgrp);
       
   487 
       
   488 };
       
   489