Firebase Create Shell
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 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 = 3;
var count = 0;
var trueData = 2;
var flag = true;
var articles = [];
firebase.database().ref('/v3/article_group/article_list')
.orderByChild('published').limitToLast(limit).startAt(1)
.on('child_added', function(data) {
firebase.database().ref('/v3/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 = 'id: ' + id + '<br>Date: '+ new...