svghmi/widget_jsontable.ysl2
branchsvghmi
changeset 3241 fe945f1f48b7
parent 3232 7bdb766c2a4d
child 3320 9fe5b4a04acc
equal deleted inserted replaced
3238:8a9d4c794cba 3241:fe945f1f48b7
     1 // widget_jsontable.ysl2
     1 // widget_jsontable.ysl2
       
     2 
       
     3 widget_desc("JsonTable") {
       
     4     longdesc
       
     5     || 
       
     6     Send given variables as POST to http URL argument, spread returned JSON in
       
     7     SVG sub-elements of "data" labeled element.
       
     8     
       
     9     Documentation to be written. see svbghmi exemple.
       
    10     ||
       
    11 
       
    12     shortdesc > Http POST variables, spread JSON back
       
    13 
       
    14     arg name="url" accepts="string" >  
       
    15 
       
    16     path name="edit" accepts="HMI_INT, HMI_REAL, HMI_STRING" > single variable to edit
       
    17     
       
    18 }
     2 
    19 
     3 widget_class("JsonTable")
    20 widget_class("JsonTable")
     4     ||
    21     ||
     5         // arbitrary defaults to avoid missing entries in query
    22         // arbitrary defaults to avoid missing entries in query
     6         cache = [0,0,0];
    23         cache = [0,0,0];
   260 }
   277 }
   261 
   278 
   262 }
   279 }
   263 
   280 
   264 widget_defs("JsonTable") {
   281 widget_defs("JsonTable") {
   265     param "hmi_element";
       
   266     labels("data");
   282     labels("data");
   267     const "data_elt", "$result_svg_ns//*[@id = $hmi_element/@id]/*[@inkscape:label = 'data']";
   283     const "data_elt", "$result_svg_ns//*[@id = $hmi_element/@id]/*[@inkscape:label = 'data']";
   268     |     visible: «count($data_elt/*[@inkscape:label])»,
   284     |     visible: «count($data_elt/*[@inkscape:label])»,
   269     |     spread_json_data: function(janswer) {
   285     |     spread_json_data: function(janswer) {
   270     |         let [range,position,jdata] = janswer;
   286     |         let [range,position,jdata] = janswer;