Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- angular.module('coursemate')
- .controller("chatCtrl", ['$rootScope','$scope', '$http', function($rootScope, $scope, $http){
- var vm = this;
- var socket = window.io('localhost:3030/');
- vm.newMessage = undefined;
- vm.username = undefined;
- vm.messages = [];
- vm.onlinelist = [];
- vm.sendBtnDisabled = true;
- vm.connected = false;
- //socket acions
- socket.on("receive-message", function(msg){
- //socket server send message to us
- $scope.$apply(function(){
- vm.messages.push(msg);
- });
- });
- socket.on("online-list", function(list){
- //server sends us refreshed list of members
- $scope.$apply(function(){
- vm.onlinelist = list;
- });
- });
- socket.on('disconnect', function(){
- //connection failed
- vm.connected = false;
- vm.keyEventSendMessage(null);
- });
- socket.on('connect', function(){
- //connection established
- vm.connected = true;
- vm.keyEventSendMessage(null);
- });
- vm.username = undefined;
- vm.sendMessage = function(){
- //we send messsage to socket server
- var newMessage = {
- username: vm.username,
- message: vm.newMessage
- };
- socket.emit("new-message", newMessage);
- var config = {
- headers : {
- 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
- }
- }
- var data = $.param({
- user: vm.username,
- content: vm.newMessage
- });
- $http.post('app/database/database.php?req=1', data, config).success(function(data) {
- });
- vm.newMessage = undefined;
- vm.keyEventSendMessage(null);
- };
- vm.createUser = function(username){
- // we "log in" as users
- vm.username = username;
- socket.emit("new-connection", username);
- }
- vm.keyEventSendMessage = function(event){
- //fired on keyhit at message input
- if(typeof(vm.newMessage) != 'undefined' && vm.newMessage != null && vm.newMessage != '' && vm.connected){
- vm.sendBtnDisabled = false;
- if(event != null && event.keyCode == 13){
- vm.sendMessage();
- }
- }else{
- vm.sendBtnDisabled = true;
- }
- }
- $http.get('localhost:3030/api/feed').success(function(data) {
- console.log(data);
- });
- }]);
Advertisement
Add Comment
Please, Sign In to add comment