TypeScript

by Alexey_U

HTML

<div id="app">
<div class="left">
  <div class="first">
    <div class="header">Dynamic Items</div>
    <div class="scrollable">
      <div id="items">
        <div class="item">Predefined</div>
      </div>      
    </div>
  </div>
  <div class="second">
    <div class="header">Fixed Items</div>
    <div class="items">
      <div class="item">Fixed Item 1</div>
      <div class="item">Fixed Item 2</div>
      <div class="item">Fixed Item 3</div>
    </div>
  </div>
</div>
<div class="right">
  <button id="btn">Add 5 Items</button>
</div>
</div>

CSS

/** Containers **/
.left {
  display: flex;
  flex-direction: column;
}

.first {
  overflow: auto;
}


/** Just for setup **/
html, body {
  padding: 0;
  margin: 0;
  height:100%;
}

#app {
  display: flex;  
  height: 100%;
}

.left {
  flex: 0 0 10em;
  padding: 0 1em;
}

.left > * {
  margin: 1em 0;
}

.header {
  font-weight: 800;
  text-align: center;
  border-bottom: 1px solid black;
}

.first {
  background-color: #a4daa6;
}

.second {
  background-color: red;
}

.right {
  flex: 1;
  background-color: gray;
}

TypeScript

const el = document.querySelector("#btn");
el.addEventListener('click', () => {
  for (let i=0; i<5; i++) {
  	const item = document.createElement('div');
	  item.innerHTML = 'D-Item ' + i;
  	document.querySelector("#items").appendChild(item);
  }  
}); 
 
/* document.querySelector("#app").innerHTML = greeter(user); */