Advertisement
JennyDi

01

Feb 20th, 2021
645
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.  
  3.    let author = document.getElementById("creator");
  4.    let title = document.getElementById("title");
  5.    let category = document.getElementById("category");
  6.    let content = document.getElementById("content");
  7.  
  8.    let btnCreate = document.getElementsByClassName("create")[0];
  9.    let posts = document.querySelector('main section');
  10.          
  11.    btnCreate.addEventListener('click', (e) => {
  12.       e.preventDefault();
  13.       let article = createElement('article');
  14.       let h1 = createElement('h1', title.value)
  15.  
  16.       let pCategory = createElement('p', 'Category:');
  17.       let strongCat = createElement('strong', category.value);
  18.       pCategory.appendChild(strongCat);
  19.  
  20.       let pAuth = createElement('p', 'Creator:');
  21.       let strongAuth = createElement('strong', author.value);
  22.       pAuth.appendChild(strongAuth);
  23.  
  24.       let pContent = createElement('p', content.value);
  25.      
  26.       let div = createElement('div');
  27.       div.setAttribute('class', 'buttons');
  28.       let btnDelete = createElement('button', 'Delete'); //
  29.       btnDelete.setAttribute('class', 'btn delete');
  30.       let btnArchive = createElement('button', 'Archive'); //
  31.       btnArchive.setAttribute('class', 'btn archive');
  32.       div.appendChild(btnDelete);
  33.       div.appendChild(btnArchive);
  34.  
  35.       article.appendChild(h1);
  36.       article.appendChild(pCategory);
  37.       article.appendChild(pAuth);
  38.       article.appendChild(pContent);
  39.       article.appendChild(div);
  40.       posts.appendChild(article);
  41.  
  42.       btnDelete.addEventListener('click', ()=> {
  43.          article.remove();
  44.       })
  45.  
  46.       btnArchive.addEventListener('click', ()=> {
  47.          let ol = document.querySelector('.archive-section').children[1];
  48.          let li = createElement('li', article.children[0].textContent);
  49.          ol.appendChild(li);
  50.          Array.from(ol.children)
  51.          .sort((a, b) => (a.textContent).localeCompare(b.textContent))
  52.          .forEach(li => ol.appendChild(li));
  53.  
  54.          article.remove();
  55.       })
  56.  
  57.    })
  58.  
  59.    function createElement(type, text, attributes = []) {
  60.       let element = document.createElement(type);
  61.       if (text) {
  62.           element.textContent = text;
  63.       }
  64.       attributes
  65.           .map(attr => attr.split('='))
  66.           .forEach(([ name, value ]) => {
  67.               element.setAttribute(name, value);
  68.           })
  69.       return element;
  70.   }
  71. }
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement