Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. google.charts.load('current', {'packages':['corechart']});
  3.  
  4. google.charts.setOnLoadCallback(draw_chart);
  5.  
  6. var p_int = 0;
  7.  
  8. var data = [
  9.        
  10.     ['X', 'Evolutia XYZ'],
  11.     [2, 2],
  12.     [3, 5],
  13.     [7, 15],
  14.     [10, 20],
  15.    
  16. ];
  17.  
  18. function draw_chart() {
  19.    
  20.     var data_obj = new google.visualization.arrayToDataTable(data);
  21.    
  22.     var options = {
  23.        
  24.         title: 'Grafic de test',
  25.         hAxis: {title: 'Axa X'},
  26.         vAxis: {title: 'Axa Y'},
  27.         legend: {position: 'top'}
  28.        
  29.     };
  30.    
  31.     /*
  32.     TODO:
  33.     - de adaugat optiuni care sa stilizeze axele graficului
  34.     - de adaugat optiiuni care sa stilizeze legenda
  35.     */
  36.    
  37.     var chart_el = document.getElementById('chart');
  38.    
  39.     var chart_obj = new google.visualization.AreaChart(chart_el);
  40.    
  41.     chart_obj.draw(data_obj, options);
  42.    
  43. }
  44.  
  45. document.getElementById('adaugare').onclick = function(event) {
  46.    
  47.     event.preventDefault();
  48.    
  49.     adaugare_punct();  
  50.     adaugare_istoric();
  51.    
  52. }
  53.  
  54. // document.getElementById('stergere').onclick = function(event) {
  55.    
  56. //  event.preventDefault();
  57.  
  58. //  stergere_element_istoric();
  59.    
  60. // }
  61.  
  62. function adaugare_punct() {
  63.    
  64.     var x_val = Number(document.getElementById('x').value);
  65.     var y_val = Number(document.getElementById('y').value);
  66.    
  67.     /*
  68.     TODO:
  69.     - de verificat ca ambele campuri au valori non-empty
  70.     - de verificat ca valorile sunt de tip number
  71.     - daca sunt probleme, trebuie afisat un mesaj de eroare si oprita re-desenarea graficului
  72.     */
  73.    
  74.     var new_array = [x_val, y_val];
  75.    
  76.     // START - determinam index-ul la care trebuie adaugat in array noua pereche de valori
  77.    
  78.     var add_index = data.length;
  79.    
  80.     for (i in data) {
  81.        
  82.         var c_array = data[i];
  83.         var c_x = c_array[0];
  84.        
  85.         if (c_x > x_val) {
  86.            
  87.             add_index = i;
  88.             break;
  89.            
  90.         }
  91.        
  92.     }
  93.    
  94.     // END - determinam index-ul la care trebuie adaugat in array noua pereche de valori
  95.    
  96.     data.splice(add_index, 0, new_array);
  97.    
  98.     draw_chart();
  99.    
  100.    
  101. }
  102.  
  103. function adaugare_istoric() {
  104.     /*
  105.     TODO:
  106.     - de creat un nou div, in care sa pastrez istoricul punctelor care au fost adaugate
  107.     - de adaugat in dreptul fiecarei perechi de puncte nou adaugate un eventual link de delete
  108.     */
  109.    
  110.     var x_val = Number(document.getElementById('x').value);
  111.     var y_val = Number(document.getElementById('y').value);
  112.  
  113.     var para = document.createElement("P");
  114.     para.setAttribute("id",p_int);                      // Create a <p> node
  115.     var t = document.createTextNode("x: " + x_val + " y: " + y_val);      // Create a text node
  116.     para.appendChild(t);                                          // Append the text to <p>
  117.     var ah = document.createElement("A");
  118.     ah.setAttribute("href","#");
  119.     ah.setAttribute("id","stergere");
  120.     ah.setAttribute("onclick","javascript:stergere_element_istoric(this)");
  121.     var linkText = document.createTextNode("Stergere");
  122.     ah.appendChild(linkText);
  123.     para.appendChild(ah);
  124.     document.getElementById("istoric").appendChild(para);           // Append <p> to <div> with id="myDIV"
  125.  
  126.     p_int++;
  127. }
  128.  
  129. function stergere_element_istoric(e) {
  130.  
  131.     e.parentNode.parentNode.removeChild(e.parentNode);
  132.  
  133.  
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement