-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathngD3Example-common.min.js
More file actions
1 lines (1 loc) · 8.29 KB
/
ngD3Example-common.min.js
File metadata and controls
1 lines (1 loc) · 8.29 KB
1
!function(){"use strict";angular.module("ngD3Example.widgets",[])}(),angular.module("ngD3Example.widgets").run(["$templateCache",function(e){e.put("app/widgets/bar-line-chart.html","<div><div>{{::vm.title}}</div><div class=chart-content-container flex></div></div>")}]),function(){"use strict";function e(e,t){function i(e,t,i){var n=this,r=t.create(),a=e.find(".chart-content-container");n.drawChart=function(){var e=a[0],t=d3.select(e),l=e.clientHeight,c=e.clientWidth,o=i.selectOrNew(t,"svg","bar-line-chart");o.attr({width:c,height:l}),r.width(c).height(l).barSeriesValueField(n.barSeriesValueField).lineSeriesValueField(n.lineSeriesValueField).xAxisValueField(n.xAxisValueField),d3.select(o).datum(n.chartData).call(r)}}i.$inject=["$element","barLineChartFactory","chartUtils"];var n={replace:!0,bindToController:!0,controller:i,controllerAs:"vm",restrict:"EA",scope:{title:"@",barSeriesValueField:"@",lineSeriesValueField:"@",xAxisValueField:"@",chartData:"="},templateUrl:"app/widgets/bar-line-chart.html",link:function(i,n,r,a){function l(){c&&c.delay(50)}var c=t.create(function(){a.drawChart()});e.watchWindowSize(i,l),i.$watchCollection("vm.chartData",a.drawChart)}};return n}e.$inject=["viewportUtils","delayedTaskFactory"],angular.module("ngD3Example.widgets").directive("barLineChart",e)}(),function(){"use strict";function e(){function e(){function e(e){function r(){d3.select("body").selectAll("div.d3-tooltip").remove(),u=d3.select("body").append("div").attr("class","d3-tooltip")}function a(){var e=d3.mouse(s);u.style("left",e[0]+5+"px").style("top",e[1]-40+"px")}function l(e,i){var n;_.isFunction(t)&&(n=t(e,i)),_.isUndefined(n)?c():u&&u.html(n)}function c(){u&&u.remove(),_.isFunction(n)&&d3.select(this).call(n)}function o(e,t){r(),a(),l(e,t),_.isFunction(i)&&d3.select(this).call(i)}var u,s=d3.select("body").node();e.on("mouseover",o).on("touchstart",o).on("mousemove",a).on("touchmove",a).on("mouseout",c).on("touchend",c)}var t,i,n;return e.tooltipFn=function(e){return arguments.length?(t=e,this):t},e.highlightFn=function(e){return arguments.length?(i=e,this):i},e.highlightOutFn=function(e){return arguments.length?(n=e,this):n},e}var t={create:function(){return new e}};return t}angular.module("ngD3Example.widgets").factory("tooltipFactory",e)}(),function(){"use strict";function e(){function e(e,t){if(!t)return e;if(!e)return t;var i=e.split(" "),n=t.split(" "),r=_.union(i,n);return r.join(" ")}function t(e){var t=null;return e&&(t=_.startsWith(e,".")?e:"."+e,t=t.replace(/\s+/,".")),t}function i(i,n,r,a){var l=t(r),c=i.select(l?n+l:n);return c.empty()&&(c=i.append(n),r&&(a=a||{},a["class"]=a["class"]?e(a["class"],r):r),a&&c.attr(a)),c}function n(e,t){var i=1,n=_.isEmpty(e)?i:d3.max(e,function(e){return Number(e[t])});return n=_.isNull(n)||_.isUndefined(n)?i:n}function r(e,t){var i=0,n=_.isEmpty(e)?i:d3.min(e,function(e){return Number(e[t])});return n=_.isNull(n)||_.isUndefined(n)||n>0?i:n}var a={selectOrNew:i,calculateMaxValue:n,calculateMinValue:r};return a}angular.module("ngD3Example.widgets").factory("chartUtils",e)}(),function(){"use strict";function e(e,t,i){function n(){function n(t){t.each(function(t){h=i.viewportXs?5:70,f=i.viewportXs?5:70;var n=this,l=v.width-(h+f),c=v.height-(g+p),o=e.selectOrNew(n,"g","line-bar-grp").attr("transform","translate("+h+","+g+")"),u=d3.scale.ordinal().rangeRoundBands([0,l],.05).domain(t.map(function(e){return e[v.xAxisValueField]})),s=d3.svg.axis().scale(u).orient("bottom").innerTickSize(-c).outerTickSize(0).tickPadding(10),d=e.selectOrNew(o,"g","x axis");d.attr("transform","translate(0,"+c+")").call(s),d.selectAll("text").style("text-anchor","middle").attr("dy",".15em");var m=u.rangeBand(),w=e.calculateMaxValue(t,v.barSeriesValueField),x=e.calculateMaxValue(t,v.lineSeriesValueField),F=e.calculateMinValue(t,v.barSeriesValueField),V=e.calculateMinValue(t,v.lineSeriesValueField),y=d3.scale.linear().range([c,0]).domain([F,w]),S=function(e){return y(e||0)||0},b=i.viewportXs?"right":"left",A=d3.svg.axis().scale(y).orient(b).ticks(5).outerTickSize(0).tickPadding(5);a(u,S,m,t,o);var $=e.selectOrNew(o,"g","y-left").classed("axis",!0);$.call(A);var N=d3.scale.linear().range([c,0]).domain([V,x]);r(u,N,t,o);var M=i.viewportXs?"left":"right",D=d3.svg.axis().scale(N).orient(M).ticks(5),E=e.selectOrNew(o,"g","y-right").classed("axis",!0);E.attr("transform","translate("+l+",0)").call(D)})}function r(i,n,r,a){var l=t.create().tooltipFn(function(e,t){var i=e[v.lineSeriesValueField],n=e[v.xAxisValueField];return n+" : "+i}).highlightFn(function(){this.attr("r",u).classed(d,!0).transition().duration(1e3)}).highlightOutFn(function(){this.attr("r",o).classed(d,!1).transition().duration(1e3)}),c=function(e,t){return i(e[v.xAxisValueField])+i.rangeBand()/2},h=function(e){return n(isNaN(n(e[v.lineSeriesValueField]))?0:e[v.lineSeriesValueField])},f=d3.svg.line().x(c).y(h),g=e.selectOrNew(a,"g","lines-grp"),p=g.selectAll("path.line").data(r);p.enter().append("path").classed("line",!0),p.exit().remove(),g.selectAll("path.line").attr("d",f(r)).style("fill","none");var m=e.selectOrNew(a,"g","line-dots-grp"),w=m.selectAll("circle").data(r||[]);w.enter().append("circle").call(l),w.exit().remove(),m.selectAll("circle").classed(s,!0).attr("r",o).attr("cx",c).attr("cy",h)}function a(i,n,r,a,o){var u=t.create().tooltipFn(function(e){var t=e[v.barSeriesValueField],i=e[v.xAxisValueField];return i+" : "+t}).highlightFn(function(){this.classed(c,!0).transition().duration(1e3)}).highlightOutFn(function(){this.classed(c,!1).transition().duration(1e3)}),s=e.selectOrNew(o,"g","bar-chart-grp"),d=s.selectAll("g.bar-grp").data(a||[]),h=d.enter().append("g").attr("class","bar-grp");h.append("rect").attr("class",l).call(u),d.exit().remove(),d.attr("transform",function(e,t){return"translate("+i(e[v.xAxisValueField])+",0)"});var f=d.select("rect").classed(l,!0).attr("width",r);f.attr("y",function(e){return n(e[v.barSeriesValueField])}).attr("height",function(e){return Math.max(1,n(0)-n(e[v.barSeriesValueField]))})}var l="bar-rect",c="bar-rect-selected",o=4,u=8,s="line-dot",d="line-dot-selected",h=70,f=70,g=20,p=50,v={width:void 0,height:void 0,barSeriesValueField:"valueLeft",lineSeriesValueField:"valueRight",xAxisValueField:"label"};return n.width=function(e){return arguments.length?(v.width=e,this):v.width},n.height=function(e){return arguments.length?(v.height=e,this):v.height},n.barSeriesValueField=function(e){return arguments.length?(v.barSeriesValueField=e,this):v.barSeriesValueField},n.lineSeriesValueField=function(e){return arguments.length?(v.lineSeriesValueField=e,this):v.lineSeriesValueField},n.xAxisValueField=function(e){return arguments.length?(v.xAxisValueField=e,this):v.xAxisValueField},n}var r={create:function(){return new n}};return r}e.$inject=["chartUtils","tooltipFactory","$rootScope"],angular.module("ngD3Example.widgets").factory("barLineChartFactory",e)}(),function(){"use strict";angular.module("ngD3Example.core",["ngAnimate","ngAria","ngMessages","ngMaterial"])}(),function(){"use strict";function e(e,t,i){function n(t){var i=angular.element(e);return i.bind("resize",t),function(){i.unbind("resize",t)}}function r(e,t){var i=n(t);e.$on("$destroy",i)}var a={watchWindowSize:r};return i.viewportXs=t("xs"),i.$watch(function(){return t("xs")},function(e){i.viewportXs=e}),i.viewportGtXs=t("gt-xs"),i.$watch(function(){return t("gt-xs")},function(e){i.viewportGtXs=e}),i.viewportSm=t("sm"),i.$watch(function(){return t("sm")},function(e){i.viewportSm=e}),i.viewportGtSm=t("gt-sm"),i.$watch(function(){return t("gt-sm")},function(e){i.viewportGtSm=e}),i.viewportMd=t("md"),i.$watch(function(){return t("md")},function(e){i.viewportMd=e}),i.viewportGtMd=t("gt-md"),i.$watch(function(){return t("gt-md")},function(e){i.viewportGtMd=e}),i.viewportLarge=t("lg"),i.$watch(function(){return t("lg")},function(e){i.viewportLarge=e}),i.viewportGtLg=t("gt-lg"),i.$watch(function(){return t("gt-lg")},function(e){i.viewportGtLg=e}),a}e.$inject=["$window","$mdMedia","$rootScope"],angular.module("ngD3Example.core").factory("viewportUtils",e)}(),function(){"use strict";function e(e){function t(e){this.fn=e,this.promise=null}return t.prototype.delay=function(t,i){var n=this;n.promise&&n.cancel(),this.promise=e(function(){n.promise=null,n.fn.apply(n,i)},t)},t.prototype.cancel=function(){var t=this;e.cancel(t.promise),t.promise=null},{create:function(e){return new t(e)}}}e.$inject=["$timeout"],angular.module("ngD3Example.core").factory("delayedTaskFactory",e)}();