uploadCtrl.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. app.controller('uploadCtrl', function ($scope, $http,video,notify) {
  2. $scope.profesor="";
  3. $scope.texto1="";
  4. $scope.texto2="";
  5. $scope.video = video;
  6. $scope.diapos = [];
  7. $scope.profesores = [];
  8. var canvas = document.getElementById('c');
  9. var container = canvas.parentNode;
  10. var ctx = canvas.getContext('2d');
  11. var dpr = window.devicePixelRatio || 1;
  12. var img = new Image();
  13. var diapos = [];
  14. img.src="https://curso.especificosba.com.ar/diapo/EBA/1.png"; //Cargo la imagen inicial, a espera de informacion
  15. img.onload=function(){ //Cuando una imagen carga en mi obj imagen, quiero que se dibuje en canvas
  16. ctx.drawImage(img,0,0,canvas.width, canvas.height);
  17. }
  18. $scope.updateDiapos = function(d) {
  19. diapos = JSON.parse(d);
  20. parseMessage(diapos[0]);
  21. }
  22. function getProf(){
  23. $http.get("https://plataforma.especificosba.com.ar/back/getAllProfesores.php?auth_token=4b494d6c7ffc74d387d8cfdef8ca1691").then(
  24. function(data){
  25. $scope.profesores = data.data;
  26. },
  27. function(data){
  28. });
  29. }
  30. function respondCanvas(){
  31. canvas.setAttribute('width', container.offsetWidth);
  32. canvas.setAttribute('height', container.offsetWidth/4*3);
  33. }
  34. getProf();
  35. respondCanvas();
  36. if (!String.prototype.format) {
  37. String.prototype.format = function() {
  38. var args = arguments;
  39. return this.replace(/{(\d+)}/g, function(match, number) {
  40. return ( typeof args[number] != 'undefined' ? args[number] : match );
  41. });
  42. };
  43. }
  44. function parseMessage(msg){
  45. if (msg==undefined)
  46. return;
  47. switch(msg.type){
  48. case "draw":
  49. drawOnCanvas(msg.points,msg.color);
  50. break;
  51. case "clean":
  52. ctx.drawImage(img,0,0,canvas.width, canvas.height);
  53. break;
  54. case "diapo":
  55. img.src="https://curso.especificosba.com.ar/diapo/{0}/{1}.png".format(msg.PDF,msg.slide);
  56. break;
  57. }
  58. }
  59. function drawOnCanvas(points,color) {
  60. if(points.length==0) return;
  61. ctx.strokeStyle = color;
  62. ctx.beginPath();
  63. ctx.moveTo(points[0].x, points[0].y);
  64. for(var i=1; i<points.length; i++) {
  65. ctx.lineTo(points[i].x, points[i].y);
  66. }
  67. ctx.stroke();
  68. }
  69. $scope.post = function() {
  70. var data = {
  71. prof: $scope.profesor,
  72. texto1: $scope.texto1,
  73. texto2: $scope.texto2,
  74. id: $scope.video._id,
  75. diapos: diapos
  76. };
  77. $http.post('/back/upload/', data)
  78. .success(function(data,state) {
  79. notify({message:data.status,classes:"alert"});
  80. })
  81. .error(function(data) {
  82. notify({message:data.status,classes:"alert alert-danger"});
  83. });
  84. };
  85. });