Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 6.57 KB | None | 0 0
  1. ### PUT THIS IN INDEX.HTML ###
  2. <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" />
  3.  
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  5. <meta name="format-detection" content="telephone=no">
  6. <meta name="msapplication-tap-highlight" content="no">
  7. <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
  8. <!-- Bootstrap library -->
  9. <link rel="stylesheet" href="https://bootswatch.com/paper/bootstrap.min.css">
  10.  
  11. <!-- jQuery library -->
  12. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  13.  
  14. <!-- Latest compiled JavaScript -->
  15. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  16.  
  17. <script type="text/javascript" src="scripts/fabric.js"></script>
  18. <script type="text/javascript" src="scripts/socket.io.js"></script>
  19. <script type="text/javascript" src="scripts/controller.js"></script>
  20. <script type="text/javascript" src="cordova.js"></script>
  21. <script type="text/javascript" src="scripts/index.js"></script>
  22.  
  23.  
  24. ### FOR LOGIN ###
  25. <script>
  26. $.support.cors = true;
  27. $(document).ready(function(e) {
  28.     $("form").submit(function(e) {
  29.  
  30.         e.preventDefault();
  31.  
  32.         // just make username and password string equal the same as form
  33.         var username = $('#username').val();
  34.         var password = $('#password').val();
  35.  
  36.         $.ajax({
  37.           crossDomain: true,
  38.             url: "http://drawchat.online/mobilelogin",
  39.             type: "POST",
  40.             data: {
  41.                 "username": username,
  42.                 "password": password
  43.             },
  44.             statusCode: {
  45.               200: function() {
  46.                 $(location).attr('href', 'profile.html');
  47.               }
  48.             },
  49.             cache: false
  50.         });
  51.     });
  52. });
  53. </script>
  54.  
  55. ### CANVASES ###
  56. ### name top canvas to canvas1 and bottom canvas to canvas2 ###
  57.  
  58. <script>
  59. var userid;
  60.  
  61. function controller($log, $scope, $cookies, $state, $stateParams) {
  62.     var vm = this;
  63.     vm.historyLog = [];
  64.  
  65.     var socket = io.connect('http://54.89.105.34:80/main-namespace');
  66.  
  67.     vm.canvasSettings = { fill: false, stroke: 'green', opacity: 1 };
  68.     vm.buttonOneEnabled = false;
  69.     vm.buttonTwoEnabled = false;
  70.     var canvas2Div = document.getElementById('canvas1div');
  71.     var canvas1Div = document.getElementById('canvas2div');
  72.     var canvas2 = new fabric.Canvas('canvas1', { isDrawingMode: true });
  73.     var canvas1 = new fabric.Canvas('canvas2', { isDrawingMode: true });
  74.  
  75.     vm.pathCreatedHandler = pathCreatedHandler;
  76.  
  77.     canvas2.setWidth(canvas2Div.clientWidth);
  78.     canvas2.setHeight(canvas2.getWidth());
  79.  
  80.  
  81.     canvas1.setWidth(canvas1Div.clientWidth);
  82.     canvas1.setHeight(canvas1.getWidth());
  83.  
  84.     canvas1.renderAll();
  85.     canvas2.renderAll();
  86.  
  87.     canvas1.backgroundColor = "white";
  88.     canvas1.renderAll();
  89.  
  90.     canvas2.backgroundColor = "white";
  91.     canvas2.renderAll();
  92.  
  93.     vm.userOne = {
  94.         lineHistory: [],
  95.         id: null
  96.     };
  97.     vm.userTwo = {
  98.         lineHistory: [],
  99.         id: null
  100.     };
  101.  
  102.     vm.canvas = canvas1;
  103.     vm.canvasTwo = canvas2;
  104.  
  105.     vm.canvas.on({ 'path:created': vm.pathCreatedHandler });
  106.     vm.canvasTwo.on({ 'path:created': vm.pathCreatedHandler });
  107.  
  108.     vm.canvasTwo.isDrawingMode = false;
  109.     vm.canvas.isDrawingMode = true;
  110.     vm.canvasTwo.selectable = false;
  111.  
  112.     var x = false;
  113.     var userNum = 0;
  114.  
  115.     socket.on('joined-room', function (data) {
  116.  
  117.         if (!x) {
  118.             socket.id = socket.id.substr(16);
  119.  
  120.             vm.roomNumber = data.roomNumber;
  121.  
  122.             console.log("user1: " + data.user.id);
  123.             console.log("user1: " + socket.id);
  124.             console.log("canvas: " + data.user.canvas);
  125.  
  126.             if (data.user.canvas === 1) { // user 1
  127.                 console.log("you are host");
  128.                 vm.userOne.id = data.user.id;
  129.                 vm.userOne.name = data.user.name;
  130.                 vm.userOne.userId = data.user.userId;
  131.                 userNum = 0;
  132.             }
  133.             if (data.user.canvas === 2) { // user 2
  134.                 console.log("you are not host");
  135.                 vm.userOne.id = data.user.id;
  136.                 vm.userOne.name = data.user.name;
  137.                 vm.userOne.userId = data.user.userId;
  138.                 userNum = 1;
  139.  
  140.                 socket.emit('get-existing-user', { id: socket.id, roomNumber: data.roomNumber }, function (error, user) {
  141.                     console.log(user.id);
  142.                     vm.userTwo.id = user.id;
  143.                     vm.userTwo.name = user.name;
  144.                     vm.userTwo.userId = user.userId;
  145.                     // if two users exist then save it to the chat history
  146.                     if (vm.userOne.name && vm.userTwo.name) {
  147.                        socket.emit('save-users', { users: [vm.userOne, vm.userTwo] });
  148.                     }
  149.                 });
  150.             }
  151.         }
  152.         if (x) {
  153.             socket.emit('get-existing-user', { id: socket.id, roomNumber: data.roomNumber }, function (error, user) {
  154.                 console.log(data.user.id);
  155.                 vm.userTwo.id = data.user.id;
  156.                 vm.userTwo.name = data.user.name;
  157.                 vm.userTwo.userId = data.user.userId;
  158.                 // if two users exist then save it to the chat history
  159.                 if (vm.userOne.name && vm.userTwo.name) {
  160.                    socket.emit('save-users', { users: [vm.userOne, vm.userTwo] });
  161.                 }
  162.             });
  163.         }
  164.         x = true;
  165.     });
  166.  
  167.     socket.on('draw', function (data) {
  168.  
  169.         if (data.id === vm.userTwo.id) {
  170.             if (data.path === null) {
  171.                 vm.canvasTwo.clear();
  172.             } else {
  173.                 fabric.util.enlivenObjects([data.path], function (objects) {
  174.                     objects.forEach(function (o) {
  175.                         o.selectable = false;
  176.                         vm.canvasTwo.add(o);
  177.                     });
  178.                 });
  179.             }
  180.         }
  181.     });
  182.  
  183.     function pathCreatedHandler(evt) {
  184.  
  185.         var path = evt.path;
  186.         path.set(vm.canvasSettings);
  187.         socket.emit('draw', {
  188.             path: path,
  189.             roomNumber: vm.roomNumber,
  190.             id: socket.id
  191.         });
  192.     }
  193.  
  194.     vm.clearCanvas = function () {
  195.         socket.emit('draw', {
  196.             path: null,
  197.             roomNumber: vm.roomNumber,
  198.             id: socket.id.substr(16)
  199.         });
  200.     };
  201. }
  202. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement