<link rel="import" href="../base-ajax-json-alasql-datalet/base-ajax-json-alasql-datalet.html"> <dom-module id="scatterplot-datalet"> <template> <link rel="stylesheet" href="../../bower_components/charts-d3/dist/charts-d3.min.css"> <style is="custom-style"> :host ::content #scatterplot-placeholder { width: 100%; height: 70%; background: #ffffff; position: relative; } </style> <div id="scatterplot-placeholder"></div> <base-ajax-json-alasql-datalet data-url="{{dataUrl}}" fields="{{fields}}" data="{{data}}" title="{{title}}" description="{{description}}" export_menu="{{export_menu}}"></base-ajax-json-alasql-datalet> </template> <script src="../shared_js/d3.js"></script> <script type="text/javascript" src="../../bower_components/charts-d3/dist/charts-d3.min.js"></script> <script> var ScatterplotBehavior = { presentData: function () { console.log(this.data); var self =this; var data = []; for (var j = 0; j < this.data[0]["data"].length; j++) { point = [this.data[0].data[j], this.data[1].data[j]]; if(this.data.length == 3){ point.push(this.data[2].data[j]) } data.push(point); } this._component.legend = false; var conf = { // width: 500, // height: 500, x:{ label: self._component.yAxisLabel }, y:{ label: self._component.yAxisLabel }, dot: { // color: 'red' } }; var plot = new D3ScatterPlot("#scatterplot-placeholder", data, conf); } }; ScatterplotDatalet = Polymer({ is: 'scatterplot-datalet', properties: { data: { type: Array, value: undefined }, xAxisLabel: { type: String, value: "" }, yAxisLabel: { type: String, value: "" }, behavior : { type : Object, value : {} }, /** * Control the export menu * xxxx BITMASK. FROM RIGHT : HTML, PNG, RTF, MY SPACE (eg. 1111 show all, 0000 hide all) * * @attribute export_menu * @type Number * @default 15 */ export_menu : { type : Number, value : 15 // xxxx BITMASK. FROM RIGHT : HTML, PNG, RTF, MY SPACE (eg. 1111 show all, 0000 hide all) } }, /** * 'ready' callback extend the scatterchartComponentBehavior with HighchartsComponentBehavior and scatterchartBehavior * and run the Datalet workcycle. * * @method ready */ ready: function(){ this.behavior = $.extend(true, {}, BaseDataletBehavior, WorkcycleBehavior, AjaxJsonAlasqlBehavior, ScatterplotBehavior); this.async(function(){this.behavior.init(this)},0); } }); </script> </dom-module>