Advertisement
Guest User

small functions

a guest
May 23rd, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.    
  2. var array=[{"name":"Import danych do bazy danych","start_time":"2019-05-08","end_time":"2019-05-10","status":"new","parent_id":34,"id":36,"assignee":"Bartłomiej Nowak"},{"name":"Utworzenie modeli bazy danych","start_time":"2019-05-07","end_time":"2019-05-08","status":"new","parent_id":34,"id":35,"assignee":"Justyna Malik"},{"name":"Utworzenie repozytorium git","start_time":"2019-05-06","end_time":"2019-05-06","status":"new","parent_id":29,"id":33,"assignee":"Justyna Malik"},{"name":"Sortowanie bąbelkowe","start_time":"2019-05-01","end_time":"2019-05-02","status":"completed","parent_id":10,"id":11,"assignee":"Jan Kowalski"},{"name":"Sortowanie przez scalanie","start_time":"2019-05-02","end_time":"2019-05-03","status":"pending","parent_id":10,"id":12,"assignee":"Jan Kowalski"},{"name":"Sortowanie mergsort","start_time":"2019-05-04","end_time":"2019-05-05","status":"new","parent_id":10,"id":14,"assignee":"Bartłomiej Nowak"},{"name":"Migracja systemu zadań","start_time":"2019-05-06","end_time":"2019-05-24","status":"new","parent_id":"","id":29,"assignee":"Jan Kowalski"},{"name":"Wyświetlanie zadań na osi czasu","start_time":"2019-05-07","end_time":"2019-05-10","status":"new","parent_id":"29","id":32,"assignee":"Bartłomiej Nowak"},{"name":"Sortowanie zadań wg. czasu wykonania","start_time":"2019-05-06","end_time":"2019-05-07","status":"new","parent_id":29,"id":31,"assignee":"Bartłomiej Nowak"},{"name":"Utowrzenie endpointów dla aplikacji web","start_time":"2019-05-10","end_time":"2019-05-10","status":"new","parent_id":34,"id":"37","assignee":"Justyna Malik"},{"name":"Sortowanie quicksort","start_time":"2019-05-03","end_time":"2019-05-04","status":"new","parent_id":10,"id":13,"assignee":"Bartłomiej Nowak"},{"name":"Integracja z Django","start_time":"2019-05-07","end_time":"2019-05-24","status":"new","parent_id":29,"id":34,"assignee":"Bartłomiej Nowak"},{"name":"Algorytmy sortujące","start_time":"2019-05-01","end_time":"2019-05-06","status":"pending","parent_id":null,"id":10,"assignee":"Jan Kowalski"}];
  3. array=array.sort(function(a,b){ return a['id'] > b['id'] ? 1 : -1; });
  4. console.log(array);
  5. var new_array=[];
  6. function display_date(){
  7.     var i=0;
  8.     var j=1;
  9.     do{
  10.         document.getElementById('date').innerHTML+='<td>2019-05-'+j+'</td>';
  11.         i++;
  12.         j++;
  13.     }while(i<31);
  14. }
  15. var start_month=1;
  16. var end_month=31;
  17. var one_day_width=61;
  18. var status_color={
  19.     'pending':' #FF8C00',
  20.     'new':' #FFFF00',
  21.     'completed':'#00FF11'
  22. };
  23. var style_child_task={
  24.     'height':'120px',
  25.     'position':'absolute',
  26.     'paddingTop':'1px',
  27.     'border':'1px solid black'
  28. };
  29.  
  30. var style_main_task={
  31.     'position':'absolute',
  32.     'height':'400px',
  33.     'border':'1px solid black',
  34.     'backgroundColor':'#A8A8A8'
  35. }
  36.  
  37. var style_para_main={
  38.     'height':'120px',
  39.     'backgroundColor':'lightskyblue',
  40.     'border':'1px solid black'
  41. }
  42.  
  43. function set_styles(styles, element){
  44.     for(var style in styles){
  45.         let style_value=styles[style];
  46.         element.style[style]=style_value;
  47.     }
  48. }
  49. function count_day_spacing(i){
  50.     var temp=array[i]['start_time'];
  51.     var start=temp.charAt(temp.length-2)+temp.charAt(temp.length-1);
  52.     var time= start-start_month;
  53.     var spacing=one_day_width*time;
  54.     return spacing-2;
  55. }
  56. function count_width(i){
  57.     var temp=array[i]['start_time'];
  58.     var start=temp.charAt(temp.length-2)+temp.charAt(temp.length-1);
  59.     temp=array[i]['end_time'];
  60.     var end=temp.charAt(temp.length-2)+temp.charAt(temp.length-1);
  61.     start=parseInt(start);
  62.     end=parseInt(end);
  63.     var time= end-start;
  64.     var days=(one_day_width*time)+one_day_width;
  65.     return days;
  66. }
  67.  
  68. function set_color(i){
  69.     var temp=document.getElementById(array[i]['id'])
  70.     temp.style.backgroundColor=status_color[array[i]['status']]||'#FFFFE0';
  71. }
  72.  
  73. function create_paragraph(i){
  74.     var para = document.createElement("p");
  75.     var text_child=document.createTextNode(array[i]['name']);
  76.     var temp_id= document.getElementById(array[i]['id']);
  77.     para.appendChild(text_child);
  78.     temp_id.appendChild(para);
  79.     para = document.createElement("p");
  80.     text_child=document.createTextNode(array[i]['assignee']);
  81.     para.appendChild(text_child);
  82.     temp_id.appendChild(para);
  83.  
  84. }
  85. function kid_task_spacing(i,id){
  86.     var space_minus=document.getElementById(id).offsetLeft;
  87.     return count_day_spacing(i)-space_minus;
  88. }
  89.  
  90. function display_kid_task(){
  91.     var i=0
  92.     var max=array.length;
  93.     do{
  94.         if(array[i]['parent_id']==null || array[i]['parent_id']==""){}
  95.         else{
  96.             var id=array[i]['parent_id'];
  97.                 if(document.getElementById(id)!=null){
  98.                     var temp_create=document.getElementById(id);
  99.                     var temp_div_create=document.createElement("div");
  100.                     temp_div_create.id=array[i]['id'];
  101.                     temp_div_create.setAttribute('class','task');
  102.                     temp_div_create.style.marginLeft=kid_task_spacing(i,id)+'px';
  103.                     temp_div_create.style.width=count_width(i)+'px';
  104.                     set_styles(style_child_task,temp_div_create);
  105.                     temp_create.appendChild(temp_div_create);
  106.                     create_paragraph(i)
  107.                     set_color(i);
  108.                 }
  109.         }
  110.         i++;
  111.     }while(i<max);
  112. }
  113.  
  114. function fix_positions(){
  115.     var parent_id=document.getElementById('10').clientHeight;
  116.     var top= parent_id;
  117.     document.getElementById('29').style.top=top+'px';
  118.     document.getElementById('29').style.height='650px';
  119.     document.getElementById("34").style.height="370px"
  120. }
  121. function width_of_main_task(i){
  122.     return count_width(i)-2;
  123. }
  124.  
  125. function create_paragraph_main_task(i){
  126.     var child_id=document.getElementById(array[i]['id']);
  127.     var para=document.createElement("div");
  128.     para.style.width=width_of_main_task(i)+'px';
  129.     set_styles(style_para_main,para);
  130.     var text_node=document.createTextNode(array[i]['name']+"<br>");
  131.     var text_node2=document.createTextNode(array[i]['assignee']);
  132.     para.appendChild(text_node);
  133.     para.appendChild(text_node2);
  134.     child_id.appendChild(para);
  135. }
  136.  
  137. function display_main_task(){
  138.     var i=0, j=0;
  139.     var max=array.length;
  140.     do{
  141.         if(array[i]['parent_id']==null || array[i]['parent_id']==""){
  142.             j++;
  143.             var output_id=document.getElementById("main_output");
  144.             var create_main_task=document.createElement("div");
  145.             create_main_task.id=array[i]['id'];
  146.             create_main_task.style.marginLeft=count_day_spacing(i)+'px';
  147.             create_main_task.style.zIndex=j;
  148.             set_styles(style_main_task,create_main_task);
  149.             output_id.appendChild(create_main_task);
  150.             create_paragraph_main_task(i);
  151.         }
  152.         i++;
  153.     }while(i<max);
  154.     display_kid_task();
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement