Advertisement
Silviya7

SpringPlannung

Jun 6th, 2024 (edited)
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.    
  3.     const btnAdd=document.getElementById('create-task-btn');
  4.  
  5.  
  6.     let tasks={};
  7.  
  8.     //input fields
  9.     const InputTitle= document.getElementById('title');
  10.     const InputDescription=document.getElementById('description');
  11.     const InputLabel= document.getElementById('label');
  12.     const InputPoints= document.getElementById('points');
  13.     const InputAssignee= document.getElementById('assignee');
  14.  
  15.     const ElSection= document.getElementById('tasks-section');
  16.     const DeleteTaskBtn= document.getElementById('delete-task-btn');
  17.     const CreateTaskBtn= document.getElementById('create-task-btn');
  18.  
  19.     btnAdd.addEventListener('click',()=>{
  20.  
  21.         if(InputTitle.value =='' ||
  22.         InputDescription.value =='' ||
  23.         InputPoints.value == '' ||
  24.         InputAssignee.value ==''){
  25.             return;
  26.         }
  27.  
  28.          const ElTotalPoints=document.getElementById('total-sprint-points');//  Total Points 0pts
  29.          let ArrTotal=ElTotalPoints.textContent.trim().split(' ');
  30.          let ArrPoints1=ArrTotal[2].replace('pts','');
  31.          
  32.         let currentpoints =Number(ArrPoints1);
  33.  
  34.          ElTotalPoints.textContent=`Total Points ${++currentpoints}pts`
  35.  
  36.         const divFeature= document.createElement('div');
  37.         if(InputLabel.value=='High Priority Bug'){
  38.             divFeature.classList.add('task-card-label', 'high-priority');
  39.         }
  40.         else if(InputLabel.value=='Feature'){
  41.             divFeature.classList.add('task-card-label', 'feature');
  42.         }
  43.         else if(InputLabel.value=='Low Priority Bug'){
  44.             divFeature.classList.add('task-card-label', 'low-priority');
  45.         }
  46.            
  47.      
  48.         divFeature.textContent=InputLabel.value;
  49.  
  50.         const Elh3=document.createElement('h3');
  51.         Elh3.classList.add('task-card-title');
  52.         Elh3.textContent=InputTitle.value;
  53.  
  54.         const Elp=document.createElement('p');
  55.         Elp.classList.add('task-card-description');
  56.         Elp.textContent=InputDescription.value;
  57.  
  58.         const Pointsdiv=document.createElement('div');
  59.         Pointsdiv.classList.add('task-card-points');
  60.         Pointsdiv.textContent=`Estimated at ${InputPoints.value} pts`;
  61.  
  62.         const Assigneediv=document.createElement('div');
  63.         Assigneediv.classList.add('task-card-assignee');
  64.         Assigneediv.textContent=`Assigned to: ${InputAssignee.value}`;
  65.  
  66.         const BtnDelete= document.createElement('button');
  67.         BtnDelete.textContent=`Delete`;
  68.  
  69.         const divBtns= document.createElement('div');
  70.         divBtns.classList.add('task-card-actions');
  71.         divBtns.appendChild(BtnDelete);
  72.  
  73.         const ElArticle= document.createElement('article');
  74.         ElArticle.classList.add('task-card');
  75.        
  76.  
  77.         let taskid=Object.keys(tasks).length+1;
  78.         tasks[taskid]={
  79.             tasktitle:InputTitle.value,
  80.             taskdesc:InputDescription.value,
  81.             tasklabel:InputLabel.value,
  82.             taskdescr:InputPoints.value,
  83.             taskasignee: InputAssignee.value
  84.  
  85.         }
  86.  
  87.         ElArticle.id=taskid;
  88.         ElArticle.appendChild(divFeature);
  89.         ElArticle.appendChild(Elh3);
  90.         ElArticle.appendChild(Elp);
  91.         ElArticle.appendChild(Pointsdiv);
  92.         ElArticle.appendChild(Assigneediv);
  93.         ElArticle.appendChild(divBtns);
  94.  
  95.         ElSection.appendChild(ElArticle);
  96.  
  97.      InputTitle.value='';
  98.      InputDescription.value='';
  99.      InputPoints.value= '';
  100.      InputAssignee.value='';  
  101.        
  102.  
  103.         BtnDelete.addEventListener('click',(e)=>{
  104.            const taskId=e.target.parentNode.parentNode.getAttribute('id');
  105.            document.getElementById('task-id').value=taskid;
  106.  
  107.             InputTitle.value=Elh3.textContent;
  108.             InputDescription.value=Elp.textContent;
  109.             let points=Pointsdiv.textContent.split(' ');
  110.             InputPoints.value=points[2];
  111.             InputAssignee.value= Assigneediv.textContent.substring(13);
  112.  
  113.             InputTitle.removeAttribute('disabled');
  114.             InputDescription.removeAttribute('disabled');
  115.             InputPoints.removeAttribute('disabled');
  116.             InputAssignee.removeAttribute('disabled');
  117.             DeleteTaskBtn.removeAttribute('disabled');
  118.             CreateTaskBtn.setAttribute('disabled','disabled');
  119.          });
  120.     });
  121.  
  122.     DeleteTaskBtn.addEventListener('click',()=>{
  123.         const taskId = document.getElementById('task-id').value;//hidden field
  124.      
  125.         const taskToRemove = document.getElementById(taskId);
  126.         taskToRemove.remove();
  127.         InputTitle.value='';
  128.         InputDescription.value='';
  129.         InputPoints.value= '';
  130.         InputAssignee.value='';
  131.         DeleteTaskBtn.setAttribute('disabled','disabled');
  132.         CreateTaskBtn.removeAttribute('disabled');
  133.  
  134.         InputTitle.removeAttribute('disabled');
  135.         InputDescription.removeAttribute('disabled');
  136.         InputPoints.removeAttribute('disabled');
  137.         InputAssignee.removeAttribute('disabled');
  138.  
  139.         const ElTotalPoints=document.getElementById('total-sprint-points');//  Total Points 0pts
  140.         let ArrTotal=ElTotalPoints.textContent.trim().split(' ');
  141.         let ArrPoints1=ArrTotal[2].replace('pts','');
  142.        
  143.        let currentpoints =Number(ArrPoints1);
  144.  
  145.         ElTotalPoints.textContent=`Total Points ${--currentpoints}pts`
  146.      
  147.    
  148.     })
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement