86 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
|     <head>
 | |
|         
 | |
|     </head>
 | |
|     <body ng-app="stripApp" ng-controller="stripCtrl" >
 | |
|         {{data}}
 | |
|         <div class="col-12" ng-repeat="led in data" style="border-style: solid;display: table">
 | |
|             <div ng-repeat="(key, value) in led" style="width: 60px; height: 60px; background: {{key}}; display: table-cell;">
 | |
|                     {{value}}
 | |
|             </div>
 | |
|         </div>
 | |
|         <script src="node_modules/angular/angular.min.js"></script>
 | |
|         <script src="node_modules/reconnecting-websocket/dist/reconnecting-websocket-iife.min.js"></script>
 | |
|         <script>
 | |
|             var app = angular.module('stripApp',[]);
 | |
|             app.factory('socket', [function() {
 | |
|                 var stack = [];
 | |
|                 var onmessageDefer;
 | |
|                 var host = "localhost"
 | |
|                 if (window.location.hostname != ""){
 | |
|                     host = window.location.hostname
 | |
|                 }
 | |
|                 var socket = {
 | |
|                     ws: new ReconnectingWebSocket("ws://"+host+":8001", null, {debug: false, reconnectInterval: 2000}),
 | |
|                     send: function(data) {
 | |
|                         if (socket.ws.readyState == 1) {
 | |
|                             socket.ws.send(data);
 | |
|                         } else {
 | |
|                             stack.push(data);
 | |
|                         }
 | |
|                     },
 | |
|                     onmessage: function(callback) {
 | |
|                         if (socket.ws.readyState == 1) {
 | |
|                             socket.ws.onmessage = callback;
 | |
|                         } else {
 | |
|                             onmessageDefer = callback;
 | |
|                         }
 | |
|                     }
 | |
|                 };
 | |
|                 socket.ws.onopen = function(event) {
 | |
|                     for (i in stack) {
 | |
|                         socket.ws.send(stack[i]);
 | |
|                     }
 | |
|                     stack = [];
 | |
|                     if (onmessageDefer) {
 | |
|                         socket.ws.onmessage = onmessageDefer;
 | |
|                         onmessageDefer = null;
 | |
|                     }
 | |
|                 };
 | |
|                 return socket;
 | |
|             }]);
 | |
|     
 | |
|             app.controller('stripCtrl', ['$scope',  'socket', function($scope, socket) { 
 | |
|     
 | |
|                 $scope.connected = false;
 | |
|                 $scope.data = {}
 | |
|     
 | |
|                 socket.ws.addEventListener('close',function(event) { 
 | |
|                     $scope.$apply(function(){
 | |
|                         $scope.connected = false
 | |
|                     }); 
 | |
|                 });
 | |
|                 socket.ws.addEventListener('open',function(event) { 
 | |
|                     $scope.$apply(function(){
 | |
|                         socket.send(
 | |
|                             JSON.stringify({ 
 | |
|                                 'register_client_type': 1,
 | |
|                                 'client_name': "htmlstrip",
 | |
|                             })
 | |
|                         );
 | |
|                         $scope.connected = true
 | |
|                     }); 
 | |
|                 });
 | |
|                
 | |
|                 socket.onmessage(function(event) {
 | |
|                     $scope.$apply(function(){
 | |
|                         console.log(event.data)
 | |
|                         json = JSON.parse(event.data)
 | |
|                         $scope.data = json
 | |
|                     });
 | |
|                 });            
 | |
|             }]);
 | |
|         </script>
 | |
|     </body>
 | |
| </html>
 |