Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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"}];
- array=array.sort(function(a,b){ return a['id'] > b['id'] ? 1 : -1; });
- console.log(array);
- var new_array=[];
- function display_date(){
- var i=0;
- var j=1;
- do{
- document.getElementById('date').innerHTML+='<td>2019-05-'+j+'</td>';
- i++;
- j++;
- }while(i<31);
- }
- var start_month=1;
- var end_month=31;
- var one_day_width=61;
- var status_color={
- 'pending':' #FF8C00',
- 'new':' #FFFF00',
- 'completed':'#00FF11'
- };
- var style_child_task={
- 'height':'120px',
- 'position':'absolute',
- 'paddingTop':'1px',
- 'border':'1px solid black'
- };
- var style_main_task={
- 'position':'absolute',
- 'height':'400px',
- 'border':'1px solid black',
- 'backgroundColor':'#A8A8A8'
- }
- var style_para_main={
- 'height':'120px',
- 'backgroundColor':'lightskyblue',
- 'border':'1px solid black'
- }
- function set_styles(styles, element){
- for(var style in styles){
- let style_value=styles[style];
- element.style[style]=style_value;
- }
- }
- function count_day_spacing(i){
- var temp=array[i]['start_time'];
- var start=temp.charAt(temp.length-2)+temp.charAt(temp.length-1);
- var time= start-start_month;
- var spacing=one_day_width*time;
- return spacing-2;
- }
- function count_width(i){
- var temp=array[i]['start_time'];
- var start=temp.charAt(temp.length-2)+temp.charAt(temp.length-1);
- temp=array[i]['end_time'];
- var end=temp.charAt(temp.length-2)+temp.charAt(temp.length-1);
- start=parseInt(start);
- end=parseInt(end);
- var time= end-start;
- var days=(one_day_width*time)+one_day_width;
- return days;
- }
- function set_color(i){
- var temp=document.getElementById(array[i]['id'])
- temp.style.backgroundColor=status_color[array[i]['status']]||'#FFFFE0';
- }
- function create_paragraph(i){
- var para = document.createElement("p");
- var text_child=document.createTextNode(array[i]['name']);
- var temp_id= document.getElementById(array[i]['id']);
- para.appendChild(text_child);
- temp_id.appendChild(para);
- para = document.createElement("p");
- text_child=document.createTextNode(array[i]['assignee']);
- para.appendChild(text_child);
- temp_id.appendChild(para);
- }
- function kid_task_spacing(i,id){
- var space_minus=document.getElementById(id).offsetLeft;
- return count_day_spacing(i)-space_minus;
- }
- function display_kid_task(){
- var i=0
- var max=array.length;
- do{
- if(array[i]['parent_id']==null || array[i]['parent_id']==""){}
- else{
- var id=array[i]['parent_id'];
- if(document.getElementById(id)!=null){
- var temp_create=document.getElementById(id);
- var temp_div_create=document.createElement("div");
- temp_div_create.id=array[i]['id'];
- temp_div_create.setAttribute('class','task');
- temp_div_create.style.marginLeft=kid_task_spacing(i,id)+'px';
- temp_div_create.style.width=count_width(i)+'px';
- set_styles(style_child_task,temp_div_create);
- temp_create.appendChild(temp_div_create);
- create_paragraph(i)
- set_color(i);
- }
- }
- i++;
- }while(i<max);
- }
- function fix_positions(){
- var parent_id=document.getElementById('10').clientHeight;
- var top= parent_id;
- document.getElementById('29').style.top=top+'px';
- document.getElementById('29').style.height='650px';
- document.getElementById("34").style.height="370px"
- }
- function width_of_main_task(i){
- return count_width(i)-2;
- }
- function create_paragraph_main_task(i){
- var child_id=document.getElementById(array[i]['id']);
- var para=document.createElement("div");
- para.style.width=width_of_main_task(i)+'px';
- set_styles(style_para_main,para);
- var text_node=document.createTextNode(array[i]['name']+"<br>");
- var text_node2=document.createTextNode(array[i]['assignee']);
- para.appendChild(text_node);
- para.appendChild(text_node2);
- child_id.appendChild(para);
- }
- function display_main_task(){
- var i=0, j=0;
- var max=array.length;
- do{
- if(array[i]['parent_id']==null || array[i]['parent_id']==""){
- j++;
- var output_id=document.getElementById("main_output");
- var create_main_task=document.createElement("div");
- create_main_task.id=array[i]['id'];
- create_main_task.style.marginLeft=count_day_spacing(i)+'px';
- create_main_task.style.zIndex=j;
- set_styles(style_main_task,create_main_task);
- output_id.appendChild(create_main_task);
- create_paragraph_main_task(i);
- }
- i++;
- }while(i<max);
- display_kid_task();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement