/** * angular-dc * @version v0.0.4 - 2014-10-06 * @link https://github.com/tardyp/angular-dc * @author Tom Neyland <> * @license Apache License, http://www.opensource.org/licenses/Apache */ !function(a,b){"function"==typeof define&&define.amd?define(["angular","dc","lodash","d3"],function(c,d,e,f){return a.returnExportsGlobal=b(c,d,e,f)}):"object"==typeof exports?module.exports=b():a.angularDc=b(a.angular,a.dc,a._,a.d3)}(this,function(a,b,c,d){"use strict";var e=a.module("angularDc",[]);return e.directive("dcChart",["$timeout",function(e){function f(a,d,e,f){var i=d[0],j=e.dcChart,k=e.dcChartGroup||void 0,l=b[j],m=l(i,k),n=g(m);f=h(a,e,n),"options"in f&&(f=c.merge(f,f.options),f.options=void 0),"name"in f&&(a[f.name]=m,f.name=void 0),m.options(f);var o=c({renderlet:f.onRenderlet,preRender:f.onPreRender,postRender:f.onPostRender,preRedraw:f.onPreRedraw,postRedraw:f.onPostRedraw,filtered:f.onFiltered,zoomed:f.onZoomed}).omit(c.isUndefined);return o.each(function(a,b){m.on(b,a)}),c.isFunction(f.postSetupChart)&&f.postSetupChart(m,f),m}function g(a){return c(a).functions().extend(i).map(function(a){return"dc"+a.charAt(0).toUpperCase()+a.substring(1)}).value()}function h(a,b,d){return c(b.$attr).keys().intersection(d).map(function(c){var d=a.$eval(b[c]);return"dc"===c.substring(0,2)&&(c=c.charAt(2).toLowerCase()+c.substring(3)),[c,d]}).zipObject().value()}var i=["name","onRenderlet","onFiltered","onPostRedraw","onPostRender","onPreRedraw","onPreRender","onZoomed","postSetupChart"];return{restrict:"A",link:function(g,h,i){var j=!1;g.dc=b,g.d3=d,g.DateTime=function(a,b,c,d,e,f){return new Date(a,b,c,d,e,f)},g.Date=function(a,b,c){return new Date(a,b,c)};var k=g.$watch(function(){var a=c(i.$attr).keys().filter(function(a){return"dc"===a.substring(0,2)&&"dcChart"!==a&&"dcChartGroup"!==a}).map(function(a){try{var b=g.$eval(i[a]);if(c.isUndefined(b))throw Error(i[a]+" is undefined");return b}catch(d){if(j)throw console.log("unable to eval"+a+":"+i[a]),d;return void 0}});return a.any(c.isUndefined)?void 0:a.value()},function(d){if(!c.isUndefined(d)){k();var e=f(g,h,i),j=a.element(h[0].querySelector("a.reset"));j.on("click",function(){e.filterAll(),b.redrawAll()}),j.attr("href","javascript:;"),j.css("display","none"),e.render()}});e(function(){j=!0},2e3)}}}]),e.directive("dcSelect",[function(){return{restrict:"E",scope:{dcDimension:"=",allLabel:"@"},template:'