Created
October 7, 2016 18:24
-
-
Save Borgaard/b60cd19978b85943584088b337db3942 to your computer and use it in GitHub Desktop.
fixed votes!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
firebase.initializeApp(config); | |
var messageAppReference = firebase.database(); | |
$(document).ready(function(){ | |
$('#message-form').submit(function(event){ | |
event.preventDefault(); | |
console.log("ALLO??!?!") | |
var message = $('#message').val(); | |
$('#message').val(''); | |
//create section for messages in db | |
var messageReference = messageAppReference.ref('messages'); | |
messageReference.push({ | |
message: message, | |
votes: 0 | |
}); | |
}); | |
messageClass.getPosts(); | |
}); | |
var messageClass = (function(){ | |
function getPosts(){ | |
messageAppReference.ref('messages').on('value', function(results) { | |
var $messageBoard = $('.message-board'); | |
var messages = []; | |
var allMsgs = results.val(); | |
for (var msg in allMsgs) { | |
var message = allMsgs[msg].message; | |
var votes = allMsgs[msg].votes; | |
var $messageListElement = $('<li>'); | |
var $deleteElement = $('<i class="fa fa-trash pull-right delete"></i>'); | |
$deleteElement.on('click', function(e){ | |
var id = $(e.target.parentNode).data('id'); | |
deleteMessage(id); | |
}); | |
var $upVoteElement = $('<i class="fa fa-thumbs-up pull-right"></i>'); | |
$upVoteElement.on('click', function(e){ | |
var id = $(e.target.parentNode).data('id'); | |
updateMessage(id, ++allMsgs[id].votes); //votes variable stores value independent of node id. this change targets the id. | |
}); | |
var $downVoteElement = $('<i class="fa fa-thumbs-down pull-right"></i>'); | |
$downVoteElement.on('click', function(e){ | |
var id = $(e.target.parentNode).data('id'); | |
updateMessage(id, --allMsgs[id].votes); | |
}); | |
$messageListElement.attr('data-id', msg); | |
$messageListElement.html(message); | |
$messageListElement.append($deleteElement); | |
$messageListElement.append($upVoteElement); | |
$messageListElement.append($downVoteElement); | |
$messageListElement.append('<div class="pull-right">' +votes+ '</div>'); | |
messages.push($messageListElement); | |
} | |
$messageBoard.empty(); | |
for (var i in messages) { | |
$messageBoard.append(messages[i]); | |
} | |
}); | |
} | |
function updateMessage(id, votes) { | |
var messageReference = messageAppReference.ref('messages').child(id); | |
messageReference.update({ | |
votes: votes | |
}); | |
} | |
function deleteMessage(id){ | |
var messageReference = messageAppReference.ref('messages').child(id); | |
messageReference.remove(); | |
} | |
return { | |
getPosts: getPosts | |
}; | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment