To-Do-List 1.22

by velo_ninja

HTML

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dynamic Divs</title>
    <style>
    </style>

    <script>
    	let counterItem = 0;
      
      function createDiv(id, title, color) {
        const div = document.createElement('div');
        div.id = id;
        div.classList.add('cell');
        div.textContent = title;
        div.style.backgroundColor = color;
        div.style.borderColor = color;
        div.style.borderRadius = '2px';
        div.style.display = 'flex';
        div.style.alignItems = 'center';
        div.style.justifyContent = 'center';
        return div;
      }

      function createRow(basicData, parentElement) {      
        const row = document.createElement('div');
        row.classList.add('row');
        for (let i = 0; i < basicData.ids.length; i++) {
          const div = createDiv(basicData.ids[i], basicData.titles[i], basicData.colors[i]);
          div.style.flexBasis = `${basicData.percentages[i]}%`;
          if(div.id==='divCounter') {div.textContent = counterItem; counterItem++}      
          if (parentElement) {parentElement.appendChild(div);}
          else {row.appendChild(div);}
        }
        if (!parentElement) {return row;}
      }

      function generateRows(data) {
        const body = document.body;
        for (const [key, value] of Object.entries(data)) {
          const row = createRow(value);
          body.appendChild(row);
        }
      }


      function createRepeatedBlocks(data1, data2) {
        let divMain, divTask, divNote;
        for (const key in data1) {
          const rowData = data1[key]; 

          console.log(rowData)




          for (let i = 0; i < rowData.ids.length; i++) {
            const divId = rowData.ids[i] + '_' + i;
            let title = rowData.titles[i];


            const div = createDiv(divId, title, rowData.colors[i]);
            if (rowData.ids[i]...