Comparing version 0.0.7 to 0.0.8
{ | ||
"name": "trollbox", | ||
"version": "0.0.7", | ||
"version": "0.0.8", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "trollbox.js", |
@@ -11,2 +11,3 @@ (function (root) { | ||
var ref = null | ||
var db = null | ||
@@ -38,40 +39,29 @@ function Trollbox (config) { | ||
_config.user = _config.user || 'anon' | ||
var alreadyExists = false | ||
ref = initFirebase(_config) | ||
config = _config | ||
if (config) { | ||
config.channel = _config.channel | ||
config.user = _config.user | ||
alreadyExists = true | ||
} else { | ||
config = _config | ||
ref = initFirebase(config) | ||
} | ||
renderBox(config.container) | ||
const post = function (message) { | ||
ref.push().set({ | ||
user: config.user, | ||
message: message, | ||
date: (Date.now() / 1e3) | 0 | ||
}) | ||
} | ||
bindForm(post) | ||
if (alreadyExists) { | ||
return false | ||
} | ||
ref.off('child_added', onMessage) | ||
ref.limitToFirst(100) | ||
.on('child_added', onMessage) | ||
} | ||
const onMessage = function (snapshot) { | ||
const value = snapshot.val() | ||
function post (message) { | ||
ref.push().set({ | ||
user: config.user, | ||
message: message, | ||
date: (Date.now() / 1e3) | 0 | ||
}) | ||
} | ||
if (typeof value !== 'object') { | ||
return false | ||
} | ||
function onMessage (snapshot) { | ||
const value = snapshot.val() | ||
addLog(value.user, value.message) | ||
if (typeof value !== 'object') { | ||
return false | ||
} | ||
ref.limitToFirst(100).on('child_added', onMessage) | ||
addLog(value.user, value.message) | ||
} | ||
@@ -82,4 +72,7 @@ | ||
var app = window.firebase.initializeApp(config.firebase) | ||
var db = app.database() | ||
if (!db) { | ||
var app = window.firebase.initializeApp(config.firebase) | ||
db = app.database() | ||
} | ||
var ref = db.ref(`trollbox/${channel}`) | ||
@@ -112,14 +105,17 @@ | ||
function bindForm (postFn) { | ||
function bindForm (post) { | ||
const form = document.querySelector('.TrollboxForm') | ||
form.addEventListener('submit', function (event) { | ||
event.preventDefault() | ||
const input = event.target.message | ||
const message = input.value | ||
postFn(message) | ||
input.value = '' | ||
}) | ||
form.removeEventListener('submit', onSubmit) | ||
form.addEventListener('submit', onSubmit) | ||
} | ||
function onSubmit (event) { | ||
event.preventDefault() | ||
const input = event.target.message | ||
const message = input.value | ||
post(message) | ||
input.value = '' | ||
} | ||
function addLog (user, message) { | ||
@@ -126,0 +122,0 @@ if (!(user && message)) { |
8268
202