├── index.html └── main.js /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Issue Tracker: 8 | 9 | 10 | 11 | 12 |
13 |

Issue Tracker:

14 |
15 |

Add New Issue:

16 |
17 |
18 | 19 | 20 |
21 |
22 | 23 | 28 |
29 |
30 | 31 | 32 |
33 | 34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | document.getElementById('issueInputForm').addEventListener('submit', submitIssue); 2 | 3 | function submitIssue(e) { 4 | const getInputValue = id => document.getElementById(id).value; 5 | const description = getInputValue('issueDescription'); 6 | const severity = getInputValue('issueSeverity'); 7 | const assignedTo = getInputValue('issueAssignedTo'); 8 | const id = Math.floor(Math.random()*100000000) + ''; 9 | const status = 'Open'; 10 | 11 | const issue = { id, description, severity, assignedTo, status }; 12 | let issues = []; 13 | if (localStorage.getItem('issues')){ 14 | issues = JSON.parse(localStorage.getItem('issues')); 15 | } 16 | issues.push(issue); 17 | localStorage.setItem('issues', JSON.stringify(issues)); 18 | 19 | document.getElementById('issueInputForm').reset(); 20 | fetchIssues(); 21 | e.preventDefault(); 22 | } 23 | 24 | const closeIssue = id => { 25 | const issues = JSON.parse(localStorage.getItem('issues')); 26 | const currentIssue = issues.find(issue => issue.id === id); 27 | currentIssue.status = 'Closed'; 28 | localStorage.setItem('issues', JSON.stringify(issues)); 29 | fetchIssues(); 30 | } 31 | 32 | const deleteIssue = id => { 33 | const issues = JSON.parse(localStorage.getItem('issues')); 34 | const remainingIssues = issues.filter( issue.id !== id ) 35 | localStorage.setItem('issues', JSON.stringify(remainingIssues)); 36 | } 37 | 38 | const fetchIssues = () => { 39 | const issues = JSON.parse(localStorage.getItem('issues')); 40 | const issuesList = document.getElementById('issuesList'); 41 | issuesList.innerHTML = ''; 42 | 43 | for (var i = 0; i < issues.length; i++) { 44 | const {id, description, severity, assignedTo, status} = issues[i]; 45 | 46 | issuesList.innerHTML += `
47 |
Issue ID: ${id}
48 |

${status}

49 |

${description}

50 |

${severity}

51 |

${assignedTo}

52 | Close 53 | Delete 54 |
`; 55 | } 56 | } 57 | --------------------------------------------------------------------------------