Преглед на файлове

night coding after a short break

laxaurus преди 8 години
родител
ревизия
8d914eacd3
променени са 3 файла, в които са добавени 22 реда и са изтрити 5 реда
  1. 4 1
      src/rethink/portfolio_column_chart.py
  2. 1 1
      src/rethink/portfolio_item.py
  3. 17 3
      src/ws/client_g.html

+ 4 - 1
src/rethink/portfolio_column_chart.py

@@ -43,7 +43,8 @@ class PortfolioColumnChart():
         self.never_been_run = True
     
     def get_object_name(self):
-        return json.dumps({'account': self.pf.account, 'id': id(self), 'class': self.__class__.__name__})
+        #return json.dumps({'account': self.pf.account, 'id': id(self), 'class': self.__class__.__name__})
+        return {'account': self.pf.account, 'id': id(self), 'class': self.__class__.__name__}
     
     def ckey_to_row(self, contract_key):
         
@@ -248,6 +249,8 @@ class PortfolioColumnChartTM(PortfolioColumnChart, AbstractTableModel, AbstractP
     def event_tm_request_table_structure(self, event, request_id, target_resource, account):
         self.request_ids[request_id] = {'request_id': request_id, 'account': account}
         logging.info("[PortfolioColumnChartTM:%s] received %s content:[%s]" % (self.name, event, vars()))
+        
+        logging.info("[PortfolioColumnChartTM: self class: %s, incoming target class %s" % (self.get_object_name()['class'], target_resource['class']))
         if target_resource['class'] == self.get_object_name()['class']:
             self.get_kproducer().send_message(AbstractTableModel.EVENT_TM_TABLE_STRUCTURE_CHANGED,                                               
                                       json.dumps({'source': self.get_object_name(), 

+ 1 - 1
src/rethink/portfolio_item.py

@@ -235,7 +235,7 @@ class Portfolio(AbstractTableModel):
         AbstractTableModel.__init__(self)
         
     def get_object_name(self):
-        return json.dumps({'account': self.account, 'id': id(self), 'class': self.__class__.__name__})
+        return {'account': self.account, 'id': id(self), 'class': self.__class__.__name__}
     
     def is_contract_in_portfolio(self, contract_key):
         return self.get_portfolio_port_item(contract_key)

+ 17 - 3
src/ws/client_g.html

@@ -93,6 +93,7 @@
 	   
 
     var ws;
+    var account = 'U8379890';
 	
     function init() {
 
@@ -102,7 +103,9 @@
       // Set event handlers.
       ws.onopen = function() {
         output("onopen");
-        ws.send(JSON.stringify({'request_for': 'init_data_table', 'request_handler': ''}));
+        ws.send(JSON.stringify({event: 'event_tm_request_table_structure', target_resource:{'class': 'Portfolio'}, 'account': 'UU777'}));
+        ws.send(JSON.stringify({event: 'event_tm_request_table_structure', target_resource:{'class': 'PortfolioColumnChartTM'}, 'account': 'UU777'}));
+        
       };
       
       ws.onmessage = function(e) {
@@ -110,9 +113,14 @@
         
         //output("onmessage: " + e.data);
         d1=  JSON.parse(e.data);
+		console.log(d1.source);
+		console.log(d1);
+        
+        if (d1.source.data == 'PortfolioColumnChartTM'){
+        	console.log('skip...');
+        	return;
+        }
         if (d1.event == "event_tm_table_structure_changed"){
-
-			console.log(d1);
 			data = new google.visualization.DataTable(d1.value);
 			view = new google.visualization.DataView(data);
 
@@ -160,6 +168,12 @@
 
     }
     
+    function handleTableChartEvents(){
+    	
+    	
+    }
+    
+    
     function onSubmit() {
       var input = document.getElementById("input");
       // You can send message to the Web Socket using ws.send.