Advertisement
marcopolorez

Chart.js

Jul 28th, 2016
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. qx.Class.define("integweb.widget.Chart", {
  2.    
  3.     extend  : qx.ui.core.Widget,
  4.  
  5.     construct : function(height, width, data, chart) {
  6.  
  7.         this.base(arguments);
  8.  
  9.         this._chart  = chart;
  10.         this._data   = data;
  11.         this._height = height;
  12.         this._width  = width;
  13.  
  14.         this._createChart();
  15.  
  16.     },
  17.  
  18.     members : {
  19.  
  20.         _chart : null,
  21.         _height : null,
  22.         _width : null,
  23.         _data : null,
  24.         _hash : null,
  25.  
  26.         _createChart : function() {
  27.  
  28.             var hash = this._hash = "chart" + this.toHashCode();
  29.  
  30.  
  31.             var canvas = new qx.html.Element("div", { minWidth : '100%', minHeight : '100%' }, { id: hash });
  32.            
  33.             if ( this._height )
  34.                 this.setHeight(this._height);
  35.             else
  36.                 this.setWidth(this._width);
  37.  
  38.             this.addListener("appear", function() {
  39.  
  40.                 if ( this._data != null)       
  41.                     this._chart(this._data, hash);
  42.             });
  43.  
  44.             this.addListener("resize", function(e) {
  45.  
  46.                 var that = this;
  47.  
  48.                 if ( this._data != null) {     
  49.  
  50.                     var x = document.getElementById(hash);             
  51.                     x.style.width = e.getData().width + 'px';
  52.                     x.style.height = e.getData().height + 'px';
  53.  
  54.                     setTimeout(function(){             
  55.                         that._chart(that._data, hash);
  56.                     }, 100);
  57.  
  58.                 }
  59.  
  60.             });
  61.  
  62.             this.getContentElement().add(canvas);
  63.  
  64.         },
  65.  
  66.         draw(data) {
  67.             this._data = data;
  68.             this._chart(this._data, this._hash);
  69.         }
  70.  
  71.     }
  72.  
  73. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement