Trascina una casella di selezione sul grafico, quindi raccogli le righe selezionate in JSON e inviale a un server localhost in html/javascript land
Uso lo scheduler per accumulare lo spam inutile di eventi indesiderati, cancellando costantemente la coda per impedire l'attivazione della sfilza di eventi spam.
// This is the row state handler
f = Function({x},
try(s << Clear Schedule);
//wait(2);
if(Is Empty(last_array),last_array = -1);
current_array = summary_jmp_table << get selected rows();
/**/
// These "If" conditions stop it from needlessly spamming events out to the server that's going to draw an interactive app
// Can't just compare 2 arrays to see if they are exactly the same. It tries to compare every number in the 2 arrays by index position, so the SUM of that is used to tell if they are different.
if((length(current_array) >0) & (sum(current_array) != sum(last_array)) & (global_iframe_counter>0) ,
//show("we have a go");
s = Schedule(.225,
//json = As JSON Expr(current_array);
json = sel_rows_2_JSON(); //a function that gets selected rows and bundles them up into JSON to send my data request
request = New HTTP Request(
URL("localhost:8088/jmp_data"),
Method("Post"),
Timeout( .001 ),
JSON(json),
);
//data=request << Send;
//show(data);
//wait(0);
try(s << Stop);
try(s << Clear Schedule);
//wait(0);
last_array = current_array;
// saves the last array, this stops it from spamming out events for no reason when you hover over points on a graph.
//I don't know WHY hover fires a row state event, but it does.
data=request << Send;
), // end schedule
//show("didn't meet IF condition somehow");
); // end if
);// end function f