/
nylon.chat.js
49 lines (46 loc) · 1.36 KB
/
nylon.chat.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
(function(nylon) {
var exports = {};
exports.Module = function() {
var self = this;
// var exports = {};
var panel;
var newMessage = function( tag, message ) {
var p = document.createElement( "p" );
p.innerHTML = message.name + " : " + message.text;
panel.appendChild( p );
};
var clearMessage = function() {
var e;
while(e = panel.firstChild) {
panel.removeChild(e);
}
};
self.addControl = function( form, element ){
var name = form["sendName"].value;
var text = form["sendText"].value;
var button = form["sendButton"];
var clear = form["clearButton"];
panel = element;
button.addEventListener('click', function() {
var mes = { name: form["sendName"].value, text: form["sendText"].value };
newMessage( "", mes );
self.emit("chat_send|broadcast", mes );
});
clear.addEventListener( 'click', function() {
self.emit( "chat_clear|broadcast" );
clearMessage();
});
}
self.setMessage = function( flag, element ) {
if( flag == true ) self.on( "chat_send", newMessage );
else self.removeListener( "chat_send", newMessage );
if( flag == true ) self.on( "chat_clear", clearMessage );
else self.removeListener( "chat_clear", clearMessage );
}
}
exports.create = function() {
exports.Module.prototype = new nylon();
return new exports.Module();
};
nylon.chat = exports;
})( nylon );