-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathangular-dimple.min.js
2 lines (2 loc) · 9.47 KB
/
angular-dimple.min.js
1
2
// Copied from: https://raw.githubusercontent.com/schulzetenberg/angular-dimple/custom/dist/angular-dimple.min.js
angular.module("angular-dimple",["angular-dimple.graph","angular-dimple.legend","angular-dimple.x","angular-dimple.y","angular-dimple.r","angular-dimple.line","angular-dimple.bar","angular-dimple.stacked-bar","angular-dimple.area","angular-dimple.stacked-area","angular-dimple.scatter-plot","angular-dimple.ring"]).constant("MODULE_VERSION","0.0.1").value("defaults",{foo:"bar"}),angular.module("angular-dimple.area",[]).directive("area",[function(){return{restrict:"E",replace:!0,require:["area","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){if(c.value)area=g.addSeries([c.field],dimple.plot.area),f.filter(c),area.lineMarkers=!1;else{var b=dimple.getUniqueValues(a.data,c.field);angular.forEach(b,function(a){area=g.addSeries([c.field],dimple.plot.area),f.filter(c),area.lineMarkers=!1})}f.draw()}var f=d[1],g=(d[0],f.getChart());a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]),angular.module("angular-dimple.bar",[]).directive("bar",[function(){return{restrict:"E",replace:!0,require:["bar","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){bar=g.addSeries([c.field],dimple.plot.bar),f.filter(c),f.draw()}var f=d[1],g=(d[0],f.getChart());a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]),angular.module("angular-dimple.graph",[]).directive("graph",["$window",function(a){return{restrict:"E",replace:!0,scope:{data:"=",color:"="},require:["graph"],transclude:!0,link:function(b,c,d,e,f){var g=e[0];g._createChart(),b.dataReady=!1,b.filters=[];var h,i=g.getChart();h=d.transition?d.transition:750,b.$watch("data",function(a,c){a&&(b.dataReady=!0,g.setData(),i.draw(h))}),f(b,function(a){c.append(a)}),b.onResize=function(){if(g.getAutoresize()){var a=g.getChart();a&&a.draw(0,!0)}},angular.element(a).bind("resize",function(){b.onResize()})},controller:["$scope","$element","$attrs",function(a,b,c){var d,e,f,g=[null],h=!1,i=(1e9*Math.random()).toString(36).replace(".","_");b.append('<div class="dimple-graph" id="dng-'+i+'"></div>'),this._createChart=function(){var b=c.width?c.width:"100%",e=c.height?c.height:"100%";h=!!c.autoresize&&"true"===c.autoresize.toLowerCase();var f=dimple.newSvg("#dng-"+i,b,e),g=a.data;if(d=new dimple.chart(f,g),c.margin){var j=c.margin.split(",").map(Number);d.setMargins(j[0],j[1],j[2],j[3])}else d.setMargins(60,60,20,40);var k="false"===c.autoStyle;if(d.noFormats=k,c.color)for(var l=a.color,m=0;m<l.length;m++)d.assignColor(l[m].name,l[m].fill,l[m].stroke,l[m].opacity);else d.defaultColors=[new dimple.color("#80B1D3"),new dimple.color("#FB8072"),new dimple.color("#FDB462"),new dimple.color("#B3DE69"),new dimple.color("#FFED6F"),new dimple.color("#BC80BD"),new dimple.color("#8DD3C7"),new dimple.color("#CCEBC5"),new dimple.color("#FFFFB3"),new dimple.color("#BEBADA"),new dimple.color("#FCCDE5"),new dimple.color("#D9D9D9"),new dimple.color("#7171C6"),new dimple.color("#8E388E"),new dimple.color("#388E8E"),new dimple.color("#DCC7AA"),new dimple.color("#838B83"),new dimple.color("#71C671"),new dimple.color("#8E8E38")]},this.getAutoresize=function(){return h},this.getChart=function(){return d},this.setData=function(){null!==g[0]?d.data=dimple.filterData(a.data,f,g):d.data=a.data},this.setLegend=function(a){e=a},this.legendExists=function(){return Boolean(e)},this.draw=function(){d.draw()},this.legend=function(b){b.field&&(f=b.field,d.legends=[],g=dimple.getUniqueValues(a.data,f),e.shapes.selectAll("rect").style("cursor","pointer").on("click",function(b){var c=!1,e=[];g.forEach(function(a){a===b.aggField.slice(-1)[0]?c=!0:e.push(a)}),c?d3.select(this).style("opacity",.2):(e.push(b.aggField.slice(-1)[0]),d3.select(this).style("opacity",.8)),g=e,d.data=dimple.filterData(a.data,f,g),d.draw(500)}))},this.getID=function(){return i},this.filter=function(b){if(void 0!==b.value&&a.filters.push(b.value),a.filters.length&&(d.data=dimple.filterData(a.data,b.field,a.filters)),b.filter){var c=b.filter.split(":"),e=c[0],f=[c[1]];d.data=dimple.filterData(a.data,e,f)}}}]}}]),angular.module("angular-dimple.legend",[]).directive("graphLegend",[function(){return{restrict:"E",replace:!0,require:["graphLegend","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){var a=c.left?c.left:"10%",b=c.top?c.top:"4%",d=c.height?c.height:"10%",e=c.width?c.width:"90%",h=c.position?c.position:"left",i=g.addLegend(a,b,e,d,h);f.setLegend(i)}var f=d[1],g=f.getChart();a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]),angular.module("angular-dimple.line",[]).directive("line",[function(){return{restrict:"E",replace:!0,require:["line","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){line=g.addSeries([c.field],dimple.plot.line),f.filter(c),line.lineMarkers=!1,f.draw();var a=f.legendExists();a&&f.legend(c)}var f=d[1],g=f.getChart();a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]),angular.module("angular-dimple.r",[]).directive("r",[function(){return{restrict:"E",replace:!0,require:["r","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){r=g.addMeasureAxis("p",c.field),c.title&&"null"!==c.title?r.title=c.title:"null"==c.title&&(r.title=null)}var f=d[1],g=f.getChart();a.$watch("data",function(a,b){a&&e()})}}}]),angular.module("angular-dimple.ring",[]).directive("ring",[function(){return{restrict:"E",replace:!0,require:["ring","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){var a;ring=g.addSeries([c.field],dimple.plot.pie),c.thickness&&!c.diameter?(a=100-c.thickness+"%",ring.innerRadius=a):c.thickness&&c.diameter?(a=c.diameter-c.thickness+"%",ring.innerRadius=a):ring.innerRadius="50%",c.diameter&&(ring.outerRadius=c.diameter+"%"),f.filter(c),f.draw();var b=f.legendExists();b&&f.legend(c)}var f=d[1],g=(d[0],f.getChart());a.$watch("data",function(a,b){a&&e()})}}}]),angular.module("angular-dimple.scatter-plot",[]).directive("scatterPlot",[function(){return{restrict:"E",replace:!0,require:["scatterPlot","^graph"],controller:[function(){}],link:function(a,b,c,d){function e(){var a=[];c.series&&a.push(c.series),a.push(c.field),(c.label||""===c.label)&&a.push(c.label),scatterPlot=g.addSeries(a,dimple.plot.bubble),scatterPlot.aggregate=dimple.aggregateMethod.avg,f.filter(c),f.draw();var b=f.legendExists();b&&f.legend(c)}var f=d[1],g=f.getChart();a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]),angular.module("angular-dimple.stacked-area",[]).directive("stackedArea",[function(){return{restrict:"E",replace:!0,require:["stackedArea","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){c.series?area=g.addSeries([c.series],dimple.plot.area):area=g.addSeries([c.field],dimple.plot.area),f.filter(c),area.lineMarkers=!1,f.draw();var a=f.legendExists();a&&f.legend(c)}var f=d[1],g=(d[0],f.getChart());a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]),angular.module("angular-dimple.stacked-bar",[]).directive("stackedBar",[function(){return{restrict:"E",replace:!0,require:["stackedBar","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){c.series?bar=g.addSeries([c.series],dimple.plot.bar):bar=g.addSeries([c.field],dimple.plot.bar),f.filter(c),f.draw();var a=f.legendExists();a&&f.legend(c)}var f=d[1],g=(d[0],f.getChart());a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]),angular.module("angular-dimple.x",[]).directive("x",[function(){return{restrict:"E",replace:!0,require:["x","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){c.groupBy?("Measure"==c.type?x=g.addMeasureAxis("x",[c.groupBy,c.field]):"Percent"==c.type?x=g.addPctAxis("x",c.field):"Time"==c.type?(c.input?x=g.addTimeAxis("x",c.field,c.input):x=g.addTimeAxis("x",c.field),c.format&&(x.tickFormat=c.format)):x=g.addCategoryAxis("x",[c.groupBy,c.field]),c.orderBy&&x.addGroupOrderRule(c.orderBy)):("Measure"==c.type?x=g.addMeasureAxis("x",c.field):"Percent"==c.type?x=g.addPctAxis("x",c.field):"Time"==c.type?(c.input?x=g.addTimeAxis("x",c.field,c.input):x=g.addTimeAxis("x",c.field),c.format&&(x.tickFormat=c.format)):x=g.addCategoryAxis("x",c.field),c.orderBy&&x.addOrderRule(c.orderBy)),h&&(x.hidden=!0),c.title&&"null"!==c.title?x.title=c.title:"null"==c.title&&(x.title=null)}var f=d[1],g=f.getChart(),h=!!c.hide&&"true"===c.hide.toLowerCase();a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]),angular.module("angular-dimple.y",[]).directive("y",[function(){return{restrict:"E",replace:!0,require:["y","^graph"],controller:["$scope","$element","$attrs",function(a,b,c){}],link:function(a,b,c,d){function e(){c.groupBy?("Category"==c.type?y=g.addCategoryAxis("y",c.field):"Percent"==c.type?y=g.addPctAxis("y",c.field):"Time"==c.type?(c.input?y=g.addTimeAxis("y",c.field,c.input):y=g.addTimeAxis("y",c.field),c.format&&(y.tickFormat=c.format)):y=g.addMeasureAxis("y",c.field),c.orderBy&&y.addGroupOrderRule(c.orderBy)):("Category"==c.type?y=g.addCategoryAxis("y",c.field):"Percent"==c.type?y=g.addPctAxis("y",c.field):"Time"==c.type?(c.input?y=g.addTimeAxis("y",c.field,c.input):y=g.addTimeAxis("y",c.field),c.format&&(y.tickFormat=c.format)):y=g.addMeasureAxis("y",c.field),c.orderBy&&y.addOrderRule(c.orderBy)),h&&(y.hidden=!0),c.title&&"null"!==c.title?y.title=c.title:"null"==c.title&&(y.title=null)}var f=d[1],g=f.getChart(),h=!!c.hide&&"true"===c.hide.toLowerCase();a.$watch("dataReady",function(a,b){a===!0&&e()})}}}]);