Files
meanTorrent/modules/chat/client/controllers/chat.client.controller.js
Ryan Hutchison ef3a3f9548 formatting reboot (space-2 and consistency)
JSCS fixes

update editorconfig
2015-07-31 10:04:02 -04:00

44 lines
1.1 KiB
JavaScript

'use strict';
// Create the 'chat' controller
angular.module('chat').controller('ChatController', ['$scope', '$location', 'Authentication', 'Socket',
function ($scope, $location, Authentication, Socket) {
// Create a messages array
$scope.messages = [];
// If user is not signed in then redirect back home
if (!Authentication.user) {
$location.path('/');
}
// Make sure the Socket is connected
if (!Socket.socket) {
Socket.connect();
}
// Add an event listener to the 'chatMessage' event
Socket.on('chatMessage', function (message) {
$scope.messages.unshift(message);
});
// Create a controller method for sending messages
$scope.sendMessage = function () {
// Create a new message object
var message = {
text: this.messageText
};
// Emit a 'chatMessage' message event
Socket.emit('chatMessage', message);
// Clear the message text
this.messageText = '';
};
// Remove the event listener when the controller instance is destroyed
$scope.$on('$destroy', function () {
Socket.removeListener('chatMessage');
});
}
]);