Firebase Create Shell with Save working 2

by thvinic

HTML

<script src="https://www.gstatic.com/firebasejs/3.3.0/firebase.js"></script>
<div id="content-creator">
  <label>Title</label><br/>
  <input type="text" placeholder="Title" name="title" id="title" style="width: 100%"><br/>
  <label>Body</label><br/>
  <textarea name="body" id="body" rows="5" placeholder="Body Text" style="width: 100%"></textarea><br/>
  <button id="submit-button">
    Submit
  </button>
</div>

<hr/>

<div id="content">
</div>

JavaScript

var version = 'v4'

var config = {
    apiKey: "AIzaSyAPUlB0CgQSoqbNBLvGwD42LPb8tm_7Rgs",
    authDomain: "classificados-anunciarbr.firebaseapp.com",
    databaseURL: "https://classificados-anunciarbr-default-rtdb.firebaseio.com",
    projectId: "classificados-anunciarbr",
    storageBucket: "classificados-anunciarbr.appspot.com",
    messagingSenderId: "167012349038",
    appId: "1:167012349038:web:6d422db529c72b1316a27f",
    measurementId: "G-3JTHR8CQLD"
};

firebase.initializeApp(config);

 var limit = 5;
 var count = 0;
 var trueData = 3;
 var flag = true;
var articles = [];

firebase.database().ref('/'+ version  + '/article_group/article_list')
  .orderByChild('published').limitToLast(limit).startAt(1)
	.on('child_added', function(data) {
    
  	firebase.database().ref('/'+ version  +'/article_group/article/' + data.key)
      .on('value', function(articleData) {
      	count ++;
        articles.push({
        	id: data.key,
          published: data.val().published,
          data: articleData.val()
        });
      	articles.sort(function(a, b) {
          return a.published < b.published
        });
        producer();
      	
      }, function(err) {
      	count ++;
      	showError(err);
        producer()
      });
  }, function(err) {
    alert(err);
  })
  
function producer() {
  console.log(count, trueData)
  if (count === trueData && flag) {
    for (var i in articles) {
      createArticle(articles[i].id, articles[i].published, articles[i].data)
    }
    flag = false
  }
}
  
function showError(err) {
	var el = document.createElement('div');
  el.innerHTML = err.message
  document.getElementById('content').appendChild(el)
}
  
function createArticle(id, published, data) {
  console.log(id)
	var el = document.createElement('div');
  var title = document.createElement('h1');
  var body = document.createElement('p');
  var byline = document.createElement('span');
  title.innerHTML = data.title;
  body.innerHTML = data.body;
  byline.innerHTML...