Pārlūkot izejas kodu

HUE-5726 [core] Sandbox the old D3 with nvd3 to support the new d3 v4

Enrico Berti 8 gadi atpakaļ
vecāks
revīzija
d0bcf72
33 mainītis faili ar 402 papildinājumiem un 400 dzēšanām
  1. 0 1
      apps/beeswax/src/beeswax/templates/create_database.mako
  2. 0 1
      apps/beeswax/src/beeswax/templates/create_table_manually.mako
  3. 0 1
      apps/beeswax/src/beeswax/templates/import_wizard_choose_delimiter.mako
  4. 0 1
      apps/beeswax/src/beeswax/templates/import_wizard_choose_file.mako
  5. 0 1
      apps/beeswax/src/beeswax/templates/import_wizard_define_columns.mako
  6. 0 1
      apps/metastore/src/metastore/templates/describe_partitions.mako
  7. 1 1
      desktop/core/src/desktop/static/desktop/js/hue.colors.js
  8. 45 45
      desktop/core/src/desktop/static/desktop/js/ko.charts.js
  9. 1 1
      desktop/core/src/desktop/static/desktop/js/nv.d3.datamaps.js
  10. 16 16
      desktop/core/src/desktop/static/desktop/js/nv.d3.growingDiscreteBar.js
  11. 6 6
      desktop/core/src/desktop/static/desktop/js/nv.d3.growingDiscreteBarChart.js
  12. 22 22
      desktop/core/src/desktop/static/desktop/js/nv.d3.growingMultiBar.js
  13. 6 6
      desktop/core/src/desktop/static/desktop/js/nv.d3.growingMultiBarChart.js
  14. 28 28
      desktop/core/src/desktop/static/desktop/js/nv.d3.growingPie.js
  15. 4 4
      desktop/core/src/desktop/static/desktop/js/nv.d3.growingPieChart.js
  16. 147 147
      desktop/core/src/desktop/static/desktop/js/nv.d3.js
  17. 4 4
      desktop/core/src/desktop/static/desktop/js/nv.d3.legend.js
  18. 4 4
      desktop/core/src/desktop/static/desktop/js/nv.d3.lineWithBrushChart.js
  19. 8 8
      desktop/core/src/desktop/static/desktop/js/nv.d3.multiBarWithBrushChart.js
  20. 22 22
      desktop/core/src/desktop/static/desktop/js/nv.d3.scatter.js
  21. 12 12
      desktop/core/src/desktop/static/desktop/js/nv.d3.scatterChart.js
  22. 17 17
      desktop/core/src/desktop/static/desktop/js/nv.d3.sunburst.js
  23. 2 2
      desktop/core/src/desktop/static/desktop/js/nv.d3.sunburstChart.js
  24. 8 8
      desktop/core/src/desktop/static/desktop/js/nv.d3.tooltip.js
  25. 26 26
      desktop/core/src/desktop/static/desktop/js/nv.d3.utils.js
  26. 0 1
      desktop/core/src/desktop/templates/assist_m.mako
  27. 0 1
      desktop/core/src/desktop/templates/common_dashboard.mako
  28. 7 3
      desktop/core/src/desktop/templates/common_header.mako
  29. 7 3
      desktop/core/src/desktop/templates/common_header_m.mako
  30. 9 4
      desktop/core/src/desktop/templates/responsive.mako
  31. 0 1
      desktop/libs/indexer/src/indexer/templates/importer.mako
  32. 0 1
      desktop/libs/indexer/src/indexer/templates/indexer.mako
  33. 0 1
      desktop/libs/notebook/src/notebook/templates/editor_components.mako

+ 0 - 1
apps/beeswax/src/beeswax/templates/create_database.mako

@@ -31,7 +31,6 @@ ${layout.metastore_menubar()}
 
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/routie-0.3.0.min.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>

+ 0 - 1
apps/beeswax/src/beeswax/templates/create_table_manually.mako

@@ -30,7 +30,6 @@ ${ layout.metastore_menubar() }
 
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
 <script src="${ static('metastore/js/metastore.ko.js') }"></script>

+ 0 - 1
apps/beeswax/src/beeswax/templates/import_wizard_choose_delimiter.mako

@@ -30,7 +30,6 @@ ${ layout.metastore_menubar() }
 
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
 <script src="${ static('metastore/js/metastore.ko.js') }"></script>

+ 0 - 1
apps/beeswax/src/beeswax/templates/import_wizard_choose_file.mako

@@ -29,7 +29,6 @@ ${ layout.metastore_menubar() }
 
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
 <script src="${ static('metastore/js/metastore.ko.js') }"></script>

+ 0 - 1
apps/beeswax/src/beeswax/templates/import_wizard_define_columns.mako

@@ -30,7 +30,6 @@ ${ layout.metastore_menubar() }
 
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
 <script src="${ static('metastore/js/metastore.ko.js') }"></script>

+ 0 - 1
apps/metastore/src/metastore/templates/describe_partitions.mako

@@ -28,7 +28,6 @@ ${ components.menubar() }
 
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
 <script src="${ static('metastore/js/metastore.ko.js') }"></script>

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/hue.colors.js

@@ -151,7 +151,7 @@ var HueColors = {
   },
 
   d3Scale: function () {
-    return d3.scale.category20().range().concat(d3.scale.category20b().range().concat(d3.scale.category20c().range()));
+    return d3v3.scale.category20().range().concat(d3v3.scale.category20b().range().concat(d3v3.scale.category20c().range()));
   },
   cuiD3Scale: function (swatch) {
     var colors = this.getCUIChartColors().map(function (c) {

+ 45 - 45
desktop/core/src/desktop/static/desktop/js/ko.charts.js

@@ -68,7 +68,7 @@
                   return '<h3>' + hueUtils.htmlEncode(key) + '</h3><p>' + y + '</p>'
                 });
 
-            var _d3 = ($(element).find("svg").length > 0) ? d3.select($(element).find("svg")[0]) : d3.select($(element)[0]).append("svg");
+            var _d3 = ($(element).find("svg").length > 0) ? d3v3.select($(element).find("svg")[0]) : d3v3.select($(element)[0]).append("svg");
 
             _d3.datum(_data)
                 .transition().duration(150)
@@ -112,7 +112,7 @@
 
             return _chart;
           }, function () {
-            var _d3 = ($(element).find("svg").length > 0) ? d3.select($(element).find("svg")[0]) : d3.select($(element)[0]).append("svg");
+            var _d3 = ($(element).find("svg").length > 0) ? d3v3.select($(element).find("svg")[0]) : d3v3.select($(element)[0]).append("svg");
             _d3.selectAll(".nv-slice").on("click",
                 function (d, i) {
                   if (typeof _options.onClick != "undefined") {
@@ -132,7 +132,7 @@
       });
       var _chart = $(element).data("chart");
       if (_chart) {
-        var _d3 = d3.select($(element).find("svg")[0]);
+        var _d3 = d3v3.select($(element).find("svg")[0]);
         _d3.datum(_data)
               .transition().duration(150)
               .each("end", _options.onComplete != null ? _options.onComplete : void(0))
@@ -189,7 +189,7 @@
         }
         else {
           window.setTimeout(function () {
-          var _d3 = d3.select($(element).find("svg")[0]);
+          var _d3 = d3v3.select($(element).find("svg")[0]);
           _d3.datum(_datum)
             .transition().duration(150)
             .each("end", function () {
@@ -289,7 +289,7 @@
           else {
             _chart.disableSelection();
           }
-          var _d3 = d3.select($(element).find("svg")[0]);
+          var _d3 = d3v3.select($(element).find("svg")[0]);
           _d3.datum(_datum)
             .transition().duration(150)
             .each("end", function () {
@@ -341,9 +341,9 @@
       var _chart = $(element).data("chart");
       if (_chart) {
         window.setTimeout(function () {
-          var _d3 = d3.select($(element).find("svg")[0]);
+          var _d3 = d3v3.select($(element).find("svg")[0]);
           if (_datum.length > 0 && _datum[0].values.length > 0 && typeof _datum[0].values[0].x.isValid === 'function'){
-            _chart.xAxis.tickFormat(function(d) { return d3.time.format("%Y-%m-%d %H:%M:%S")(new Date(d)); })
+            _chart.xAxis.tickFormat(function(d) { return d3v3.time.format("%Y-%m-%d %H:%M:%S")(new Date(d)); })
             _chart.onChartUpdate(function () {
               _d3.selectAll("g.nv-x.nv-axis g text").each(function (d){
                 insertLinebreaks(d, this);
@@ -940,17 +940,17 @@
           nv.addGraph(function () {
             var _chart = nv.models.scatterChart()
                 .transitionDuration(350)
-                .color(d3.scale.category10().range());
+                .color(d3v3.scale.category10().range());
 
             _chart.tooltipContent(function (key, x, y, obj) {
               return '<h3>' + key + '</h3><div class="center">' + obj.point.size + '</div>';
             });
 
-            _chart.xAxis.tickFormat(d3.format('.02f'));
-            _chart.yAxis.tickFormat(d3.format('.02f'));
+            _chart.xAxis.tickFormat(d3v3.format('.02f'));
+            _chart.yAxis.tickFormat(d3v3.format('.02f'));
             _chart.scatter.onlyCircles(true);
 
-            var _d3 = ($(element).find("svg").length > 0) ? d3.select($(element).find("svg")[0]) : d3.select($(element)[0]).append("svg");
+            var _d3 = ($(element).find("svg").length > 0) ? d3v3.select($(element).find("svg")[0]) : d3v3.select($(element)[0]).append("svg");
             _d3.datum(_datum)
                 .transition().duration(150)
                 .each("end", options.onComplete != null ? options.onComplete : void(0))
@@ -976,7 +976,7 @@
   };
 
   var insertLinebreaks = function (d, ref) {
-    var _el = d3.select(ref);
+    var _el = d3v3.select(ref);
     var _mom = moment(d);
     if (_mom != null && _mom.isValid()) {
       var _words = _mom.format("HH:mm:ss YYYY-MM-DD").split(" ");
@@ -1027,7 +1027,7 @@
         });
         _chart.xAxis.showMaxMin(false);
         if (isTimeline){
-          _chart.xAxis.tickFormat(function(d) { return d3.time.format("%Y-%m-%d %H:%M:%S")(new Date(d)); })
+          _chart.xAxis.tickFormat(function(d) { return d3v3.time.format("%Y-%m-%d %H:%M:%S")(new Date(d)); })
           _chart.onChartUpdate(function () {
             _d3.selectAll("g.nv-x.nv-axis g text").each(function (d){
               insertLinebreaks(d, this);
@@ -1036,9 +1036,9 @@
         }
 
         _chart.yAxis
-            .tickFormat(d3.format(",0f"));
+            .tickFormat(d3v3.format(",0f"));
 
-        var _d3 = ($(element).find("svg").length > 0) ? d3.select($(element).find("svg")[0]) : d3.select($(element)[0]).append("svg");
+        var _d3 = ($(element).find("svg").length > 0) ? d3v3.select($(element).find("svg")[0]) : d3v3.select($(element)[0]).append("svg");
         _d3.datum(_datum)
             .transition().duration(150)
             .each("end", function () {
@@ -1066,7 +1066,7 @@
 
         return _chart;
       }, function () {
-        var _d3 = ($(element).find("svg").length > 0) ? d3.select($(element).find("svg")[0]) : d3.select($(element)[0]).append("svg");
+        var _d3 = ($(element).find("svg").length > 0) ? d3v3.select($(element).find("svg")[0]) : d3v3.select($(element)[0]).append("svg");
         _d3.selectAll(".nv-line").on("click",
             function (d, i) {
               if (typeof options.onClick != "undefined") {
@@ -1120,7 +1120,7 @@
           options.onSelectRange(from, to);
         });
         _chart.staggerLabels(true);
-        _chart.xAxis.tickFormat(d3.time.format("%Y-%m-%d %H:%M:%S"));
+        _chart.xAxis.tickFormat(d3v3.time.format("%Y-%m-%d %H:%M:%S"));
         _chart.multibar.hideable(true);
         _chart.multibar.stacked(typeof options.stacked != "undefined" ? options.stacked : false);
         _chart.onStateChange(options.onStateChange);
@@ -1192,7 +1192,7 @@
             _chart.hideSelection();
           }
           else {
-            _chart.xAxis.showMaxMin(false).tickFormat(d3.format(",0f"));
+            _chart.xAxis.showMaxMin(false).tickFormat(d3v3.format(",0f"));
           }
           _chart.staggerLabels(true);
           _chart.multibar.hideable(true);
@@ -1210,11 +1210,11 @@
       _chart.transitionDuration(0);
 
       _chart.yAxis
-        .tickFormat(d3.format("s"));
+        .tickFormat(d3v3.format("s"));
 
       $(element).data("chart", _chart);
 
-      var _d3 = ($(element).find("svg").length > 0) ? d3.select($(element).find("svg")[0]) : d3.select($(element)[0]).append("svg");
+      var _d3 = ($(element).find("svg").length > 0) ? d3v3.select($(element).find("svg")[0]) : d3v3.select($(element)[0]).append("svg");
       _d3.datum(_datum)
         .transition().duration(150)
         .each("end", function () {
@@ -1265,7 +1265,7 @@
 
       return _chart;
     }, function () {
-      var _d3 = ($(element).find("svg").length > 0) ? d3.select($(element).find("svg")[0]) : d3.select($(element)[0]).append("svg");
+      var _d3 = ($(element).find("svg").length > 0) ? d3v3.select($(element).find("svg")[0]) : d3v3.select($(element)[0]).append("svg");
       _d3.selectAll(".nv-bar").on("click",
         function (d, i) {
           if (typeof options.onClick != "undefined") {
@@ -1286,14 +1286,14 @@
 
       var _w = $(element).width(),
           _h = 300,
-          _x = d3.scale.linear().range([0, _w]),
-          _y = d3.scale.linear().range([0, _h]);
+          _x = d3v3.scale.linear().range([0, _w]),
+          _y = d3v3.scale.linear().range([0, _h]);
 
       if ($(element).find("svg").length > 0) {
         $(element).find("svg").empty();
       }
 
-      var _tip = d3.tip()
+      var _tip = d3v3.tip()
           .attr("class", "d3-tip")
           .html(function (d) {
             if (d.depth == 0) {
@@ -1309,20 +1309,20 @@
           .offset([-12, 0])
 
 
-      var _svg = ($(element).find("svg.tip").length > 0) ? d3.select($(element).find("svg.tip")[0]) : d3.select($(element)[0]).append("svg");
+      var _svg = ($(element).find("svg.tip").length > 0) ? d3v3.select($(element).find("svg.tip")[0]) : d3v3.select($(element)[0]).append("svg");
       _svg.attr("class", "tip")
           .style("height", "0px")
       _svg.call(_tip);
 
 
-      var _vis = ($(element).find("svg").length > 0) ? d3.select($(element).find("svg")[0]) : d3.select($(element)[0]).append("svg");
+      var _vis = ($(element).find("svg").length > 0) ? d3v3.select($(element).find("svg")[0]) : d3v3.select($(element)[0]).append("svg");
       _vis.attr("class", "partitionChart")
           .style("width", _w + "px")
           .style("height", _h + "px")
           .attr("width", _w)
           .attr("height", _h);
 
-      var _partition = d3.layout.partition()
+      var _partition = d3v3.layout.partition()
           .value(function (d) {
             return d.size;
           });
@@ -1339,14 +1339,14 @@
             }
 
             if (this.__data__.parent == undefined) return;
-            d3.select(this).select("rect").classed("mouseover", true)
+            d3v3.select(this).select("rect").classed("mouseover", true)
           })
           .on("mouseout", function (d, i) {
             if (element.querySelectorAll("rect")[i].getBBox().height < MIN_HEIGHT_FOR_TOOLTIP || d.depth == 0) {
               _tip.attr("class", "d3-tip").show(d);
               _tip.hide();
             }
-            d3.select(this).select("rect").classed("mouseover", false)
+            d3v3.select(this).select("rect").classed("mouseover", false)
           });
 
       if (typeof _options.zoomable == "undefined" || _options.zoomable) {
@@ -1412,7 +1412,7 @@
             }
           });
 
-      d3.select(window)
+      d3v3.select(window)
           .on("click", function () {
             click(_data);
           });
@@ -1428,7 +1428,7 @@
 
         var t = g.transition()
             .delay(250)
-            .duration(d3.event.altKey ? 7500 : 750)
+            .duration(d3v3.event.altKey ? 7500 : 750)
             .attr("transform", function (d) {
               return "translate(" + _x(d.y) + "," + _y(d.x) + ")";
             });
@@ -1445,7 +1445,7 @@
               return d.dx * _ky > 12 ? 1 : 0;
             });
 
-        d3.event.stopPropagation();
+        d3v3.event.stopPropagation();
       }
 
       function transform(d) {
@@ -1500,7 +1500,7 @@
       var content = html.apply(this, args),
           poffset = offset.apply(this, args),
           dir = direction.apply(this, args),
-          nodel = d3.select(node), i = 0,
+          nodel = d3v3.select(node), i = 0,
           coords
 
       nodel.html(content)
@@ -1520,7 +1520,7 @@
     //
     // Returns a tip
     tip.hide = function () {
-      nodel = d3.select(node)
+      nodel = d3v3.select(node)
       nodel.style({ opacity: 0, "pointer-events": "none" })
       return tip
     }
@@ -1533,10 +1533,10 @@
     // Returns tip or attribute value
     tip.attr = function (n, v) {
       if (arguments.length < 2 && typeof n === "string") {
-        return d3.select(node).attr(n)
+        return d3v3.select(node).attr(n)
       } else {
         var args = Array.prototype.slice.call(arguments)
-        d3.selection.prototype.attr.apply(d3.select(node), args)
+        d3v3.selection.prototype.attr.apply(d3v3.select(node), args)
       }
 
       return tip
@@ -1550,10 +1550,10 @@
     // Returns tip or style property value
     tip.style = function (n, v) {
       if (arguments.length < 2 && typeof n === "string") {
-        return d3.select(node).style(n)
+        return d3v3.select(node).style(n)
       } else {
         var args = Array.prototype.slice.call(arguments)
-        d3.selection.prototype.style.apply(d3.select(node), args)
+        d3v3.selection.prototype.style.apply(d3v3.select(node), args)
       }
 
       return tip
@@ -1567,7 +1567,7 @@
     // Returns tip or direction
     tip.direction = function (v) {
       if (!arguments.length) return direction
-      direction = v == null ? v : d3.functor(v)
+      direction = v == null ? v : d3v3.functor(v)
 
       return tip
     }
@@ -1579,7 +1579,7 @@
     // Returns offset or
     tip.offset = function (v) {
       if (!arguments.length) return offset
-      offset = v == null ? v : d3.functor(v)
+      offset = v == null ? v : d3v3.functor(v)
 
       return tip
     }
@@ -1591,7 +1591,7 @@
     // Returns html value or tip
     tip.html = function (v) {
       if (!arguments.length) return html
-      html = v == null ? v : d3.functor(v)
+      html = v == null ? v : d3v3.functor(v)
 
       return tip
     }
@@ -1608,7 +1608,7 @@
       return " "
     }
 
-    var direction_callbacks = d3.map({
+    var direction_callbacks = d3v3.map({
           n: direction_n,
           s: direction_s,
           e: direction_e,
@@ -1686,7 +1686,7 @@
     }
 
     function initNode() {
-      var node = d3.select(document.createElement("div"))
+      var node = d3v3.select(document.createElement("div"))
       node.style({
         position: "absolute",
         opacity: 0,
@@ -1721,7 +1721,7 @@
     //
     // Returns an Object {n, s, e, w, nw, sw, ne, se}
     function getScreenBBox() {
-      var targetel = target || d3.event.target,
+      var targetel = target || d3v3.event.target,
           bbox = {},
           matrix = targetel.getScreenCTM(),
           tbbox = targetel.getBBox(),
@@ -1759,7 +1759,7 @@
   };
 
   if (typeof d3 !== 'undefined') {
-    d3.tip = tipBuilder;
+    d3v3.tip = tipBuilder;
   }
 
 })();

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/nv.d3.datamaps.js

@@ -18,7 +18,7 @@
   var svg;
 
   //save off default references
-  var d3 = window.d3, topojson = window.topojson;
+  var d3 = window.d3v3, topojson = window.topojson;
 
   var defaultOptions = {
     scope: 'world',

+ 16 - 16
desktop/core/src/desktop/static/desktop/js/nv.d3.growingDiscreteBar.js

@@ -25,19 +25,19 @@ nv.models.growingDiscreteBar = function() {
     , width = 960
     , height = 500
     , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one
-    , x = d3.scale.ordinal()
-    , y = d3.scale.linear()
+    , x = d3v3.scale.ordinal()
+    , y = d3v3.scale.linear()
     , getX = function(d) { return d.x }
     , getY = function(d) { return d.y }
     , forceY = [0] // 0 is forced by default.. this makes sense for the majority of bar graphs... user can always do chart.forceY([]) to remove
     , color = nv.utils.defaultColor()
     , showValues = false
-    , valueFormat = d3.format(',.2f')
+    , valueFormat = d3v3.format(',.2f')
     , xDomain
     , yDomain
     , xRange
     , yRange
-    , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout')
+    , dispatch = d3v3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout')
     , rectClass = 'discreteBar'
     , selectBars = null
     ;
@@ -58,7 +58,7 @@ nv.models.growingDiscreteBar = function() {
     selection.each(function(data) {
       var availableWidth = width - margin.left - margin.right,
           availableHeight = height - margin.top - margin.bottom,
-          container = d3.select(this);
+          container = d3v3.select(this);
 
 
       //add series index to each data point for reference
@@ -81,10 +81,10 @@ nv.models.growingDiscreteBar = function() {
               })
             });
 
-      x   .domain(xDomain || d3.merge(seriesData).map(function(d) { return d.x }))
+      x   .domain(xDomain || d3v3.merge(seriesData).map(function(d) { return d.x }))
           .rangeBands(xRange || [0, availableWidth], .1);
 
-      y   .domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) { return d.y }).concat(forceY)));
+      y   .domain(yDomain || d3v3.extent(d3v3.merge(seriesData).map(function(d) { return d.y }).concat(forceY)));
 
 
       // If showValues, pad the Y axis range to account for label height
@@ -143,7 +143,7 @@ nv.models.growingDiscreteBar = function() {
         $(selected).each(function(cnt, item){
           bars.each(function(d, i) {
             if (d.x == item) {
-              d3.select(this).classed('selected', true);
+              d3v3.select(this).classed('selected', true);
             }
           });
         });
@@ -155,7 +155,7 @@ nv.models.growingDiscreteBar = function() {
               return 'translate(' + (x(getX(d,i)) + x.rangeBand() * .05 ) + ', ' + y(0) + ')'
           })
           .on('mouseover', function(d,i) { //TODO: figure out why j works above, but not here
-            d3.select(this).classed('hover', true);
+            d3v3.select(this).classed('hover', true);
             dispatch.elementMouseover({
               value: getY(d,i),
               point: d,
@@ -163,18 +163,18 @@ nv.models.growingDiscreteBar = function() {
               pos: [x(getX(d,i)) + (x.rangeBand() * (d.series + .5) / data.length), y(getY(d,i))],  // TODO: Figure out why the value appears to be shifted
               pointIndex: i,
               seriesIndex: d.series,
-              e: d3.event
+              e: d3v3.event
             });
           })
           .on('mouseout', function(d,i) {
-            d3.select(this).classed('hover', false);
+            d3v3.select(this).classed('hover', false);
             dispatch.elementMouseout({
               value: getY(d,i),
               point: d,
               series: data[d.series],
               pointIndex: i,
               seriesIndex: d.series,
-              e: d3.event
+              e: d3v3.event
             });
           })
           .on('click', function(d,i) {
@@ -185,9 +185,9 @@ nv.models.growingDiscreteBar = function() {
               pos: [x(getX(d,i)) + (x.rangeBand() * (d.series + .5) / data.length), y(getY(d,i))],  // TODO: Figure out why the value appears to be shifted
               pointIndex: i,
               seriesIndex: d.series,
-              e: d3.event
+              e: d3v3.event
             });
-            d3.event.stopPropagation();
+            d3v3.event.stopPropagation();
           })
           .on('dblclick', function(d,i) {
             dispatch.elementDblClick({
@@ -197,9 +197,9 @@ nv.models.growingDiscreteBar = function() {
               pos: [x(getX(d,i)) + (x.rangeBand() * (d.series + .5) / data.length), y(getY(d,i))],  // TODO: Figure out why the value appears to be shifted
               pointIndex: i,
               seriesIndex: d.series,
-              e: d3.event
+              e: d3v3.event
             });
-            d3.event.stopPropagation();
+            d3v3.event.stopPropagation();
           });
 
       barsEnter.append('rect')

+ 6 - 6
desktop/core/src/desktop/static/desktop/js/nv.d3.growingDiscreteBarChart.js

@@ -41,7 +41,7 @@ nv.models.growingDiscreteBarChart = function() {
     , x
     , y
     , noData = "No Data Available."
-    , dispatch = d3.dispatch('tooltipShow', 'tooltipHide', 'beforeUpdate')
+    , dispatch = d3v3.dispatch('tooltipShow', 'tooltipHide', 'beforeUpdate')
     , transitionDuration = 250
     , selectBars = null
     ;
@@ -54,7 +54,7 @@ nv.models.growingDiscreteBarChart = function() {
     ;
   yAxis
     .orient((rightAlignYAxis) ? 'right' : 'left')
-    .tickFormat(d3.format(',.1f'))
+    .tickFormat(d3v3.format(',.1f'))
     ;
 
   //============================================================
@@ -79,7 +79,7 @@ nv.models.growingDiscreteBarChart = function() {
 
   function chart(selection) {
     selection.each(function(data) {
-      var container = d3.select(this),
+      var container = d3v3.select(this),
           that = this;
 
       var availableWidth = (width  || parseInt(container.style('width')) || 960)
@@ -197,7 +197,7 @@ nv.models.growingDiscreteBarChart = function() {
 
           g.select('.nv-x.nv-axis')
               .attr('transform', 'translate(0,' + (y.range()[0] + ((discretebar.showValues() && y.domain()[0] < 0) ? 16 : 0)) + ')');
-          //d3.transition(g.select('.nv-x.nv-axis'))
+          //d3v3.transition(g.select('.nv-x.nv-axis'))
           g.select('.nv-x.nv-axis').transition()
               .call(xAxis);
 
@@ -209,7 +209,7 @@ nv.models.growingDiscreteBarChart = function() {
             xTicks
                 .selectAll('text')
                 .attr('transform', function(d,i,j) {
-                  var self = d3.select(this),
+                  var self = d3v3.select(this),
                     textLength = self.node().getComputedTextLength(),
                     text = self.text();
                   while (textLength > rangeBand*2 && text.length > 0) {
@@ -293,7 +293,7 @@ nv.models.growingDiscreteBarChart = function() {
   chart.xAxis = xAxis;
   chart.yAxis = yAxis;
 
-  d3.rebind(chart, discretebar, 'x', 'y', 'xDomain', 'yDomain', 'xRange', 'yRange', 'forceX', 'forceY', 'id', 'showValues', 'valueFormat');
+  d3v3.rebind(chart, discretebar, 'x', 'y', 'xDomain', 'yDomain', 'xRange', 'yRange', 'forceX', 'forceY', 'id', 'showValues', 'valueFormat');
 
   chart.options = nv.utils.optionsFunc.bind(chart);
 

+ 22 - 22
desktop/core/src/desktop/static/desktop/js/nv.d3.growingMultiBar.js

@@ -24,8 +24,8 @@ nv.models.growingMultiBar = function() {
   var margin = {top: 0, right: 0, bottom: 0, left: 0}
     , width = 960
     , height = 500
-    , x = d3.scale.ordinal()
-    , y = d3.scale.linear()
+    , x = d3v3.scale.ordinal()
+    , y = d3v3.scale.linear()
     , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one
     , getX = function(d) { return d.x }
     , getY = function(d) { return d.y }
@@ -44,7 +44,7 @@ nv.models.growingMultiBar = function() {
     , yRange
     , groupSpacing = 0.1
     , selectBars = null
-    , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout')
+    , dispatch = d3v3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout')
     ;
 
   //============================================================
@@ -64,7 +64,7 @@ nv.models.growingMultiBar = function() {
     selection.each(function(data) {
       var availableWidth = width - margin.left - margin.right,
           availableHeight = height - margin.top - margin.bottom,
-          container = d3.select(this);
+          container = d3v3.select(this);
 
       if(hideable && data.length) hideable = [{
         values: data[0].values.map(function(d) {
@@ -77,7 +77,7 @@ nv.models.growingMultiBar = function() {
       )}];
 
       if (stacked)
-        data = d3.layout.stack()
+        data = d3v3.layout.stack()
                  .offset(stackOffset)
                  .values(function(d){ return d.values })
                  .y(getY)
@@ -124,11 +124,11 @@ nv.models.growingMultiBar = function() {
               })
             });
 
-      x   .domain(xDomain || d3.merge(seriesData).map(function(d) { return d.x }))
+      x   .domain(xDomain || d3v3.merge(seriesData).map(function(d) { return d.x }))
           .rangeBands(xRange || [0, availableWidth], groupSpacing);
 
-      //y   .domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) { return d.y + (stacked ? d.y1 : 0) }).concat(forceY)))
-      y   .domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) { return stacked ? (d.y > 0 ? d.y1 : d.y1 + d.y ) : d.y }).concat(forceY)))
+      //y   .domain(yDomain || d3v3.extent(d3v3.merge(seriesData).map(function(d) { return d.y + (stacked ? d.y1 : 0) }).concat(forceY)))
+      y   .domain(yDomain || d3v3.extent(d3v3.merge(seriesData).map(function(d) { return stacked ? (d.y > 0 ? d.y1 : d.y1 + d.y ) : d.y }).concat(forceY)))
           .range(yRange || [availableHeight, 0]);
 
       // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point
@@ -212,7 +212,7 @@ nv.models.growingMultiBar = function() {
           $(selected.rangeValues).each(function(cnt, item){
             bars.each(function(d, i) {
               if (parseInt(d.x) >= parseInt(item.from) && parseInt(d.x_end) <= parseInt(item.to)) {
-                d3.select(this).classed('selected', true);
+                d3v3.select(this).classed('selected', true);
               }
             });
           });
@@ -228,18 +228,18 @@ nv.models.growingMultiBar = function() {
             bars.each(function(d, i) {
               if (_pivotField != null){
                 if ((Array.isArray(_pivotField) ? ko.toJSON(d.obj.fq_fields) == ko.toJSON(_pivotField) : d.obj.fq_fields == _pivotField) && (item.values ? ko.toJSON(d.obj.fq_values) == ko.toJSON(item.values) : d.obj.fq_values == item)){
-                  d3.select(this).classed('selected', true);
+                  d3v3.select(this).classed('selected', true);
                 }
               }
               else {
                 if (d.x instanceof Date){
                   if (moment(d.x).utc().format("YYYY-MM-DD[T]HH:mm:ss[Z]") == item) {
-                    d3.select(this).classed('selected', true);
+                    d3v3.select(this).classed('selected', true);
                   }
                 }
                 else {
                   if (d.x == item) {
-                    d3.select(this).classed('selected', true);
+                    d3v3.select(this).classed('selected', true);
                   }
                 }
               }
@@ -264,7 +264,7 @@ nv.models.growingMultiBar = function() {
           .style('stroke', function(d,i,j){ return color(d, j, i); });
       barsEnter
           .on('mouseover', function(d,i) {
-            d3.select(this).classed('hover', true);
+            d3v3.select(this).classed('hover', true);
             dispatch.elementMouseover({
               value: getY(d,i),
               point: d,
@@ -272,18 +272,18 @@ nv.models.growingMultiBar = function() {
               pos: [x(getX(d,i)) + (x.rangeBand() * (stacked ? data.length / 2 : d.series + .5) / data.length), y(getY(d,i) + (stacked ? d.y0 : 0))],  // TODO: Figure out why the value appears to be shifted
               pointIndex: i,
               seriesIndex: d.series,
-              e: d3.event
+              e: d3v3.event
             });
           })
           .on('mouseout', function(d,i) {
-            d3.select(this).classed('hover', false);
+            d3v3.select(this).classed('hover', false);
             dispatch.elementMouseout({
               value: getY(d,i),
               point: d,
               series: data[d.series],
               pointIndex: i,
               seriesIndex: d.series,
-              e: d3.event
+              e: d3v3.event
             });
           })
           .on('click', function(d,i) {
@@ -294,9 +294,9 @@ nv.models.growingMultiBar = function() {
               pos: [x(getX(d,i)) + (x.rangeBand() * (stacked ? data.length / 2 : d.series + .5) / data.length), y(getY(d,i) + (stacked ? d.y0 : 0))],  // TODO: Figure out why the value appears to be shifted
               pointIndex: i,
               seriesIndex: d.series,
-              e: d3.event
+              e: d3v3.event
             });
-            d3.event.stopPropagation();
+            d3v3.event.stopPropagation();
           })
           .on('dblclick', function(d,i) {
             dispatch.elementDblClick({
@@ -306,9 +306,9 @@ nv.models.growingMultiBar = function() {
               pos: [x(getX(d,i)) + (x.rangeBand() * (stacked ? data.length / 2 : d.series + .5) / data.length), y(getY(d,i) + (stacked ? d.y0 : 0))],  // TODO: Figure out why the value appears to be shifted
               pointIndex: i,
               seriesIndex: d.series,
-              e: d3.event
+              e: d3v3.event
             });
-            d3.event.stopPropagation();
+            d3v3.event.stopPropagation();
           });
       bars
           .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive'})
@@ -318,8 +318,8 @@ nv.models.growingMultiBar = function() {
       if (barColor) {
         if (!disabled) disabled = data.map(function() { return true });
         bars
-          .style('fill', function(d,i,j) { return d3.rgb(barColor(d,i)).darker(  disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i]  })[j]   ).toString(); })
-          .style('stroke', function(d,i,j) { return d3.rgb(barColor(d,i)).darker(  disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i]  })[j]   ).toString(); });
+          .style('fill', function(d,i,j) { return d3v3.rgb(barColor(d,i)).darker(  disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i]  })[j]   ).toString(); })
+          .style('stroke', function(d,i,j) { return d3v3.rgb(barColor(d,i)).darker(  disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i]  })[j]   ).toString(); });
       }
 
 

+ 6 - 6
desktop/core/src/desktop/static/desktop/js/nv.d3.growingMultiBarChart.js

@@ -50,7 +50,7 @@ nv.models.growingMultiBarChart = function() {
     , state = { stacked: false }
     , defaultState = null
     , noData = "No Data Available."
-    , dispatch = d3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState')
+    , dispatch = d3v3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState')
     , controlWidth = function() { return showControls ? 180 : 0 }
     , transitionDuration = 250
     , selectBars = null
@@ -69,7 +69,7 @@ nv.models.growingMultiBarChart = function() {
     ;
   yAxis
     .orient((rightAlignYAxis) ? 'right' : 'left')
-    .tickFormat(d3.format(',.1f'))
+    .tickFormat(d3v3.format(',.1f'))
     ;
 
   controls.updateState(false);
@@ -95,7 +95,7 @@ nv.models.growingMultiBarChart = function() {
 
   function chart(selection) {
     selection.each(function(data) {
-      var container = d3.select(this),
+      var container = d3v3.select(this),
           that = this;
 
       var availableWidth = (width  || parseInt(container.style('width')) || 960)
@@ -180,7 +180,7 @@ nv.models.growingMultiBarChart = function() {
 
         if (multibar.barColor())
           data.forEach(function(series,i) {
-            series.color = d3.rgb('#ccc').darker(i * 1.5).toString();
+            series.color = d3v3.rgb('#ccc').darker(i * 1.5).toString();
           })
 
         g.select('.nv-legendWrap')
@@ -281,7 +281,7 @@ nv.models.growingMultiBarChart = function() {
                     return  getTranslate(0, (j % 2 == 0 ? staggerUp : staggerDown));
                   });
 
-              var totalInBetweenTicks = d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;
+              var totalInBetweenTicks = d3v3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;
               g.selectAll(".nv-x.nv-axis .nv-axisMaxMin text")
                 .attr("transform", function(d,i) {
                     return getTranslate(0, (i === 0 || totalInBetweenTicks % 2 !== 0) ? staggerDown : staggerUp);
@@ -420,7 +420,7 @@ nv.models.growingMultiBarChart = function() {
   chart.xAxis = xAxis;
   chart.yAxis = yAxis;
 
-  d3.rebind(chart, multibar, 'x', 'y', 'xDomain', 'yDomain', 'xRange', 'yRange', 'forceX', 'forceY', 'clipEdge',
+  d3v3.rebind(chart, multibar, 'x', 'y', 'xDomain', 'yDomain', 'xRange', 'yRange', 'forceX', 'forceY', 'clipEdge',
    'id', 'stacked', 'stackOffset', 'delay', 'barColor','groupSpacing');
 
   chart.options = nv.utils.optionsFunc.bind(chart);

+ 28 - 28
desktop/core/src/desktop/static/desktop/js/nv.d3.growingPie.js

@@ -28,7 +28,7 @@ nv.models.growingPie = function() {
     , getDescription = function(d) { return d.description }
     , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one
     , color = nv.utils.defaultColor()
-    , valueFormat = d3.format(',.2f')
+    , valueFormat = d3v3.format(',.2f')
     , showLabels = true
     , pieLabelsOutside = true
     , donutLabelsOutside = false
@@ -40,7 +40,7 @@ nv.models.growingPie = function() {
     , endAngle = false
     , donutRatio = 0.5
     , selectSlices = null
-    , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout')
+    , dispatch = d3v3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout')
     ;
 
   //============================================================
@@ -52,7 +52,7 @@ nv.models.growingPie = function() {
           availableHeight = height - margin.top - margin.bottom,
           radius = Math.min(availableWidth, availableHeight) / 2,
           arcRadius = radius-(radius / 5),
-          container = d3.select(this);
+          container = d3v3.select(this);
 
 
       //------------------------------------------------------------
@@ -79,7 +79,7 @@ nv.models.growingPie = function() {
               dispatch.chartClick({
                   data: d,
                   index: i,
-                  pos: d3.event,
+                  pos: d3v3.event,
                   id: id
               });
           });
@@ -93,12 +93,12 @@ nv.models.growingPie = function() {
 
       var arcNormal = function() {
         updateVariables();
-        return d3.svg.arc().outerRadius(arcRadius);
+        return d3v3.svg.arc().outerRadius(arcRadius);
       }
 
       var arcOver = function() {
         updateVariables();
-        return d3.svg.arc().outerRadius(arcRadius + 10);
+        return d3v3.svg.arc().outerRadius(arcRadius + 10);
       }
 
       if (startAngle) arcNormal().startAngle(startAngle)
@@ -106,7 +106,7 @@ nv.models.growingPie = function() {
       if (donut) arcNormal().innerRadius(radius * donutRatio);
 
       // Setup the Pie chart and choose the data element
-      var pie = d3.layout.pie()
+      var pie = d3v3.layout.pie()
           .sort(null)
           .value(function(d) { return d.disabled ? 0 : getY(d) });
 
@@ -124,8 +124,8 @@ nv.models.growingPie = function() {
         $(selected).each(function(cnt, item){
           slices.each(function(d, i) {
             if ((typeof d.data.obj.from != "undefined" && d.data.obj.from == item) || d.data.obj.value == item) {
-              d3.select(this).classed('selected', true);
-              d3.select(this).select("path").transition().duration(100).attr("d", arcOver());
+              d3v3.select(this).classed('selected', true);
+              d3v3.select(this).select("path").transition().duration(100).attr("d", arcOver());
             }
           });
         });
@@ -134,22 +134,22 @@ nv.models.growingPie = function() {
       var ae = slices.enter().append('g')
               .attr('class', 'nv-slice')
               .on('mouseover', function(d,i){
-                d3.select(this).select("path").transition().duration(100).attr("d", arcOver());
-                d3.select(this).classed('hover', true);
+                d3v3.select(this).select("path").transition().duration(100).attr("d", arcOver());
+                d3v3.select(this).classed('hover', true);
                 dispatch.elementMouseover({
                     label: getX(d.data),
                     value: getY(d.data),
                     point: d.data,
                     pointIndex: i,
-                    pos: [d3.event.pageX, d3.event.pageY],
+                    pos: [d3v3.event.pageX, d3v3.event.pageY],
                     id: id
                 });
               })
               .on('mouseout', function(d,i){
-                if (!d3.select(this).classed('selected')){
-                  d3.select(this).select("path").transition().duration(100).attr("d", arcNormal());
+                if (!d3v3.select(this).classed('selected')){
+                  d3v3.select(this).select("path").transition().duration(100).attr("d", arcNormal());
                 }
-                d3.select(this).classed('hover', false);
+                d3v3.select(this).classed('hover', false);
                 dispatch.elementMouseout({
                     label: getX(d.data),
                     value: getY(d.data),
@@ -159,28 +159,28 @@ nv.models.growingPie = function() {
                 });
               })
               .on('click', function(d,i) {
-                d3.select(this).select("path").transition().duration(100).attr("d", arcOver());
+                d3v3.select(this).select("path").transition().duration(100).attr("d", arcOver());
                 dispatch.elementClick({
                     label: getX(d.data),
                     value: getY(d.data),
                     point: d.data,
                     index: i,
-                    pos: d3.event,
+                    pos: d3v3.event,
                     id: id
                 });
-                d3.event.stopPropagation();
+                d3v3.event.stopPropagation();
               })
               .on('dblclick', function(d,i) {
-                d3.select(this).select("path").transition().duration(100).attr("d", arcNormal());
+                d3v3.select(this).select("path").transition().duration(100).attr("d", arcNormal());
                 dispatch.elementDblClick({
                     label: getX(d.data),
                     value: getY(d.data),
                     point: d.data,
                     index: i,
-                    pos: d3.event,
+                    pos: d3v3.event,
                     id: id
                 });
-                d3.event.stopPropagation();
+                d3v3.event.stopPropagation();
               });
 
         slices
@@ -198,16 +198,16 @@ nv.models.growingPie = function() {
 
         if (showLabels) {
           // This does the normal label
-          var labelsArc = d3.svg.arc().innerRadius(0);
+          var labelsArc = d3v3.svg.arc().innerRadius(0);
 
           if (pieLabelsOutside){ labelsArc = arcNormal(); }
 
-          if (donutLabelsOutside) { labelsArc = d3.svg.arc().outerRadius(arc().outerRadius()); }
+          if (donutLabelsOutside) { labelsArc = d3v3.svg.arc().outerRadius(arc().outerRadius()); }
 
           pieLabels.enter().append("g").classed("nv-label",true)
             .each(function(d,i) {
                 if (d.value > 0) {
-                  var group = d3.select(this);
+                  var group = d3v3.select(this);
 
                   group
                     .attr('transform', function(d) {
@@ -297,7 +297,7 @@ nv.models.growingPie = function() {
                     var labelTypes = {
                       "key": getX(d.data),
                       "value": getY(d.data),
-                      "percent": d3.format('%')(percent)
+                      "percent": d3v3.format('%')(percent)
                     };
                     return (d.value && percent > labelThreshold) ? labelTypes[labelType] : '';
                   }
@@ -318,7 +318,7 @@ nv.models.growingPie = function() {
           a.endAngle = isNaN(a.endAngle) ? 0 : a.endAngle;
           a.startAngle = isNaN(a.startAngle) ? 0 : a.startAngle;
           if (!donut) a.innerRadius = 0;
-          var i = d3.interpolate(this._current, a);
+          var i = d3v3.interpolate(this._current, a);
           this._current = i(0);
           return function(t) {
             return arcNormal()(i(t));
@@ -327,7 +327,7 @@ nv.models.growingPie = function() {
 
         function tweenPie(b) {
           b.innerRadius = 0;
-          var i = d3.interpolate({startAngle: 0, endAngle: 0}, b);
+          var i = d3v3.interpolate({startAngle: 0, endAngle: 0}, b);
           return function(t) {
               return arcNormal()(i(t));
           };
@@ -380,7 +380,7 @@ nv.models.growingPie = function() {
 
   chart.y = function(_) {
     if (!arguments.length) return getY;
-    getY = d3.functor(_);
+    getY = d3v3.functor(_);
     return chart;
   };
 

+ 4 - 4
desktop/core/src/desktop/static/desktop/js/nv.d3.growingPieChart.js

@@ -38,7 +38,7 @@ nv.models.growingPieChart = function() {
     , defaultState = null
     , noData = "No Data Available."
     , selectSlices = null
-    , dispatch = d3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState')
+    , dispatch = d3v3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState')
     ;
 
   //============================================================
@@ -64,7 +64,7 @@ nv.models.growingPieChart = function() {
   function chart(selection) {
     selection.each(function(data) {
 
-      var container = d3.select(this),
+      var container = d3v3.select(this),
           that = this;
 
       var availableWidth = (width || parseInt(container.style('width')) || 960)
@@ -179,7 +179,7 @@ nv.models.growingPieChart = function() {
 
       selectSlices = pie.selectSlices;
 
-      d3.transition(pieWrap).call(pie);
+      d3v3.transition(pieWrap).call(pie);
 
       //------------------------------------------------------------
 
@@ -249,7 +249,7 @@ nv.models.growingPieChart = function() {
   chart.dispatch = dispatch;
   chart.pie = pie;
 
-  d3.rebind(chart, pie, 'valueFormat', 'values', 'x', 'y', 'description', 'id', 'showLabels', 'donutLabelsOutside', 'pieLabelsOutside', 'labelType', 'donut', 'donutRatio', 'labelThreshold');
+  d3v3.rebind(chart, pie, 'valueFormat', 'values', 'x', 'y', 'description', 'id', 'showLabels', 'donutLabelsOutside', 'pieLabelsOutside', 'labelType', 'donut', 'donutRatio', 'labelThreshold');
   chart.options = nv.utils.optionsFunc.bind(chart);
 
   chart.margin = function(_) {

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 147 - 147
desktop/core/src/desktop/static/desktop/js/nv.d3.js


+ 4 - 4
desktop/core/src/desktop/static/desktop/js/nv.d3.legend.js

@@ -29,7 +29,7 @@ nv.models.legend = function() {
     , rightAlign = true
     , updateState = true   //If true, legend will update data.disabled and trigger a 'stateChange' dispatch.
     , radioButtonMode = false   //If true, clicking legend items will cause it to behave like a radio button. (only one can be selected at a time)
-    , dispatch = d3.dispatch('legendClick', 'legendDblclick', 'legendMouseover', 'legendMouseout', 'stateChange')
+    , dispatch = d3v3.dispatch('legendClick', 'legendDblclick', 'legendMouseover', 'legendMouseout', 'stateChange')
     ;
 
   //============================================================
@@ -38,7 +38,7 @@ nv.models.legend = function() {
   function chart(selection) {
     selection.each(function(data) {
       var availableWidth = width - margin.left - margin.right,
-          container = d3.select(this);
+          container = d3v3.select(this);
 
       //------------------------------------------------------------
       // Setup containers and skeleton of chart
@@ -134,7 +134,7 @@ nv.models.legend = function() {
 
         var seriesWidths = [];
         series.each(function(d,i) {
-              var legendText = d3.select(this).select('text');
+              var legendText = d3v3.select(this).select('text');
               var nodeTextLength;
               try {
                 nodeTextLength = legendText.getComputedTextLength();
@@ -202,7 +202,7 @@ nv.models.legend = function() {
             xpos;
         series
             .attr('transform', function(d, i) {
-              var length = d3.select(this).select('text').node().getComputedTextLength() + 28;
+              var length = d3v3.select(this).select('text').node().getComputedTextLength() + 28;
               xpos = newxpos;
 
               if (width < margin.left + margin.right + xpos + length) {

+ 4 - 4
desktop/core/src/desktop/static/desktop/js/nv.d3.lineWithBrushChart.js

@@ -32,7 +32,7 @@ nv.models.lineWithBrushChart = function() {
     , legend = nv.models.legend()
     , controls = nv.models.legend()
     , interactiveLayer = nv.interactiveGuideline()
-    , brush = d3.svg.brush()
+    , brush = d3v3.svg.brush()
     ;
 
   var margin = {top: 30, right: 20, bottom: 50, left: 60}
@@ -55,7 +55,7 @@ nv.models.lineWithBrushChart = function() {
     , state = {}
     , defaultState = null
     , noData = 'No Data Available.'
-    , dispatch = d3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState', 'brush')
+    , dispatch = d3v3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState', 'brush')
     , controlWidth = function() { return showControls ? (selectionHidden ? 240 : 300) : 0 }
     , transitionDuration = 250
     , extent
@@ -99,7 +99,7 @@ nv.models.lineWithBrushChart = function() {
 
   function chart(selection) {
     selection.each(function(data) {
-      var container = d3.select(this),
+      var container = d3v3.select(this),
           that = this;
 
       var availableWidth = (width  || parseInt(container.style('width')) || 960)
@@ -495,7 +495,7 @@ nv.models.lineWithBrushChart = function() {
   chart.yAxis = yAxis;
   chart.interactiveLayer = interactiveLayer;
 
-  d3.rebind(chart, lines, 'defined', 'isArea', 'x', 'y', 'size', 'xScale', 'yScale', 'xDomain', 'yDomain', 'xRange', 'yRange'
+  d3v3.rebind(chart, lines, 'defined', 'isArea', 'x', 'y', 'size', 'xScale', 'yScale', 'xDomain', 'yDomain', 'xRange', 'yRange'
     , 'forceX', 'forceY', 'interactive', 'clipEdge', 'clipVoronoi', 'useVoronoi','id', 'interpolate');
 
   chart.options = nv.utils.optionsFunc.bind(chart);

+ 8 - 8
desktop/core/src/desktop/static/desktop/js/nv.d3.multiBarWithBrushChart.js

@@ -32,7 +32,7 @@ nv.models.multiBarWithBrushChart = function() {
     , yAxis = nv.models.axis()
     , legend = nv.models.legend()
     , controls = nv.models.legend()
-    , brush = d3.svg.brush()
+    , brush = d3v3.svg.brush()
     ;
 
   var margin = {top: 30, right: 20, bottom: 50, left: 60}
@@ -57,7 +57,7 @@ nv.models.multiBarWithBrushChart = function() {
     , state = { stacked: false, selectionEnabled: false }
     , defaultState = null
     , noData = "No Data Available."
-    , dispatch = d3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState', 'brush')
+    , dispatch = d3v3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState', 'brush')
     , controlWidth = function() { return showControls ? (selectionHidden ? 240 : 300) : 0 }
     , transitionDuration = 250
     , extent
@@ -82,7 +82,7 @@ nv.models.multiBarWithBrushChart = function() {
     ;
   yAxis
     .orient((rightAlignYAxis) ? 'right' : 'left')
-    .tickFormat(d3.format(',.1f'))
+    .tickFormat(d3v3.format(',.1f'))
     ;
 
   controls.updateState(false);
@@ -108,7 +108,7 @@ nv.models.multiBarWithBrushChart = function() {
 
   function chart(selection) {
     selection.each(function(data) {
-      var container = d3.select(this),
+      var container = d3v3.select(this),
           that = this;
 
       var availableWidth = (width  || parseInt(container.style('width')) || 960)
@@ -206,7 +206,7 @@ nv.models.multiBarWithBrushChart = function() {
 
         if (multibar.barColor())
           data.forEach(function(series,i) {
-            series.color = d3.rgb('#ccc').darker(i * 1.5).toString();
+            series.color = d3v3.rgb('#ccc').darker(i * 1.5).toString();
           })
 
         try {
@@ -365,7 +365,7 @@ nv.models.multiBarWithBrushChart = function() {
               xTicks
                 .selectAll("text")
                 .attr('transform', function(d,i,j) {
-                    var self = d3.select(this),
+                    var self = d3v3.select(this),
                       textLength = self.node().getComputedTextLength(),
                       text = self.text();
                     while (textLength > rangeBand && text.length > 0) {
@@ -376,7 +376,7 @@ nv.models.multiBarWithBrushChart = function() {
                     return  getTranslate(0, (j % 2 == 0 ? staggerUp : staggerDown));
                   });
 
-              var totalInBetweenTicks = d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;
+              var totalInBetweenTicks = d3v3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;
               g.selectAll(".nv-x.nv-axis .nv-axisMaxMin text")
                 .attr("transform", function(d,i) {
                     return getTranslate(0, (i === 0 || totalInBetweenTicks % 2 !== 0) ? staggerDown : staggerUp);
@@ -551,7 +551,7 @@ nv.models.multiBarWithBrushChart = function() {
   chart.yAxis = yAxis;
   chart.LABELS = LABELS;
 
-  d3.rebind(chart, multibar, 'x', 'y', 'xDomain', 'yDomain', 'xRange', 'yRange', 'forceX', 'forceY', 'clipEdge',
+  d3v3.rebind(chart, multibar, 'x', 'y', 'xDomain', 'yDomain', 'xRange', 'yRange', 'forceX', 'forceY', 'clipEdge',
    'id', 'stacked', 'stackOffset', 'delay', 'barColor','groupSpacing');
 
   chart.options = nv.utils.optionsFunc.bind(chart);

+ 22 - 22
desktop/core/src/desktop/static/desktop/js/nv.d3.scatter.js

@@ -25,9 +25,9 @@ nv.models.scatter = function() {
     , height       = 500
     , color        = nv.utils.defaultColor() // chooses color
     , id           = Math.floor(Math.random() * 100000) //Create semi-unique ID incase user doesn't select one
-    , x            = d3.scale.linear()
-    , y            = d3.scale.linear()
-    , z            = d3.scale.linear() //linear because d3.svg.shape.size is treated as area
+    , x            = d3v3.scale.linear()
+    , y            = d3v3.scale.linear()
+    , z            = d3v3.scale.linear() //linear because d3v3.svg.shape.size is treated as area
     , getX         = function(d) { return d.x } // accessor to get the x value
     , getY         = function(d) { return d.y } // accessor to get the y value
     , getSize      = function(d) { return d.size || 1} // accessor to get the point size
@@ -51,7 +51,7 @@ nv.models.scatter = function() {
     , sizeDomain   = null // Override point size domain
     , sizeRange    = null
     , singlePoint  = false
-    , dispatch     = d3.dispatch('elementClick', 'elementMouseover', 'elementMouseout')
+    , dispatch     = d3v3.dispatch('elementClick', 'elementMouseover', 'elementMouseout')
     , useVoronoi   = true
     ;
 
@@ -74,7 +74,7 @@ nv.models.scatter = function() {
     selection.each(function(data) {
       var availableWidth = width - margin.left - margin.right,
           availableHeight = height - margin.top - margin.bottom,
-          container = d3.select(this);
+          container = d3v3.select(this);
 
       //add series index to each data point for reference
       data.forEach(function(series, i) {
@@ -88,7 +88,7 @@ nv.models.scatter = function() {
 
       // remap and flatten the data for use in calculating the scales' domains
       var seriesData = (xDomain && yDomain && sizeDomain) ? [] : // if we know xDomain and yDomain and sizeDomain, no need to calculate.... if Size is constant remember to set sizeDomain to speed up performance
-            d3.merge(
+            d3v3.merge(
               data.map(function(d) {
                 return d.values.map(function(d,i) {
                   return { x: getX(d,i), y: getY(d,i), size: getSize(d,i) }
@@ -96,7 +96,7 @@ nv.models.scatter = function() {
               })
             );
 
-      x   .domain(xDomain || d3.extent(seriesData.map(function(d) { return d.x; }).concat(forceX)))
+      x   .domain(xDomain || d3v3.extent(seriesData.map(function(d) { return d.x; }).concat(forceX)))
 
       if (padData && data[0])
         x.range(xRange || [(availableWidth * padDataOuter +  availableWidth) / (2 *data[0].values.length), availableWidth - availableWidth * (1 + padDataOuter) / (2 * data[0].values.length)  ]);
@@ -104,10 +104,10 @@ nv.models.scatter = function() {
       else
         x.range(xRange || [0, availableWidth]);
 
-      y   .domain(yDomain || d3.extent(seriesData.map(function(d) { return d.y }).concat(forceY)))
+      y   .domain(yDomain || d3v3.extent(seriesData.map(function(d) { return d.y }).concat(forceY)))
           .range(yRange || [availableHeight, 0]);
 
-      z   .domain(sizeDomain || d3.extent(seriesData.map(function(d) { return d.size }).concat(forceSize)))
+      z   .domain(sizeDomain || d3v3.extent(seriesData.map(function(d) { return d.size }).concat(forceSize)))
           .range(sizeRange || [16, 256]);
 
       // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point
@@ -172,12 +172,12 @@ nv.models.scatter = function() {
 
         var eventElements;
 
-        var vertices = d3.merge(data.map(function(group, groupIndex) {
+        var vertices = d3v3.merge(data.map(function(group, groupIndex) {
             return group.values
               .map(function(point, pointIndex) {
                 // *Adding noise to make duplicates very unlikely
                 // *Injecting series and point index for reference
-                /* *Adding a 'jitter' to the points, because there's an issue in d3.geom.voronoi.
+                /* *Adding a 'jitter' to the points, because there's an issue in d3v3.geom.voronoi.
                 */
                 var pX = getX(point,pointIndex);
                 var pY = getY(point,pointIndex);
@@ -229,14 +229,14 @@ nv.models.scatter = function() {
             vertices.push([x.range()[1] + 20, y.range()[1] - 20, null, null]);
           }
 
-          var bounds = d3.geom.polygon([
+          var bounds = d3v3.geom.polygon([
               [-10,-10],
               [-10,height + 10],
               [width + 10,height + 10],
               [width + 10,-10]
           ]);
 
-          var voronoi = d3.geom.voronoi(vertices).map(function(d, i) {
+          var voronoi = d3v3.geom.voronoi(vertices).map(function(d, i) {
               return {
                 'data': bounds.clip(d),
                 'series': vertices[i][2],
@@ -383,7 +383,7 @@ nv.models.scatter = function() {
             .attr('cy', function(d,i) { return nv.utils.NaNtoZero(y(getY(d,i))) })
             .remove();
         points.each(function(d,i) {
-          d3.select(this)
+          d3v3.select(this)
             .classed('nv-point', true)
             .classed('nv-point-' + i, true)
             .classed('hover',false)
@@ -405,7 +405,7 @@ nv.models.scatter = function() {
               return 'translate(' + x0(getX(d,i)) + ',' + y0(getY(d,i)) + ')'
             })
             .attr('d',
-              d3.svg.symbol()
+              d3v3.svg.symbol()
                 .type(getShape)
                 .size(function(d,i) { return z(getSize(d,i)) })
             );
@@ -417,7 +417,7 @@ nv.models.scatter = function() {
             })
             .remove();
         points.each(function(d,i) {
-          d3.select(this)
+          d3v3.select(this)
             .classed('nv-point', true)
             .classed('nv-point-' + i, true)
             .classed('hover',false)
@@ -429,7 +429,7 @@ nv.models.scatter = function() {
               return 'translate(' + x(getX(d,i)) + ',' + y(getY(d,i)) + ')'
             })
             .attr('d',
-              d3.svg.symbol()
+              d3v3.svg.symbol()
                 .type(getShape)
                 .size(function(d,i) { return z(getSize(d,i)) })
             );
@@ -457,11 +457,11 @@ nv.models.scatter = function() {
   //------------------------------------------------------------
   chart.clearHighlights = function() {
       //Remove the 'hover' class from all highlighted points.
-      d3.selectAll(".nv-chart-" + id + " .nv-point.hover").classed("hover",false);
+      d3v3.selectAll(".nv-chart-" + id + " .nv-point.hover").classed("hover",false);
   };
 
   chart.highlightPoint = function(seriesIndex,pointIndex,isHoverOver) {
-      d3.select(".nv-chart-" + id + " .nv-series-" + seriesIndex + " .nv-point-" + pointIndex)
+      d3v3.select(".nv-chart-" + id + " .nv-series-" + seriesIndex + " .nv-point-" + pointIndex)
           .classed("hover",isHoverOver);
   };
 
@@ -486,19 +486,19 @@ nv.models.scatter = function() {
 
   chart.x = function(_) {
     if (!arguments.length) return getX;
-    getX = d3.functor(_);
+    getX = d3v3.functor(_);
     return chart;
   };
 
   chart.y = function(_) {
     if (!arguments.length) return getY;
-    getY = d3.functor(_);
+    getY = d3v3.functor(_);
     return chart;
   };
 
   chart.size = function(_) {
     if (!arguments.length) return getSize;
-    getSize = d3.functor(_);
+    getSize = d3v3.functor(_);
     return chart;
   };
 

+ 12 - 12
desktop/core/src/desktop/static/desktop/js/nv.d3.scatterChart.js

@@ -33,8 +33,8 @@ nv.models.scatterChart = function() {
     , width        = null
     , height       = null
     , color        = nv.utils.defaultColor()
-    , x            = d3.fisheye ? d3.fisheye.scale(d3.scale.linear).distortion(0) : scatter.xScale()
-    , y            = d3.fisheye ? d3.fisheye.scale(d3.scale.linear).distortion(0) : scatter.yScale()
+    , x            = d3v3.fisheye ? d3v3.fisheye.scale(d3v3.scale.linear).distortion(0) : scatter.xScale()
+    , y            = d3v3.fisheye ? d3v3.fisheye.scale(d3v3.scale.linear).distortion(0) : scatter.yScale()
     , xPadding     = 0
     , yPadding     = 0
     , showDistX    = false
@@ -43,7 +43,7 @@ nv.models.scatterChart = function() {
     , showXAxis    = true
     , showYAxis    = true
     , rightAlignYAxis = false
-    , showControls = !!d3.fisheye
+    , showControls = !!d3v3.fisheye
     , fisheye      = 0
     , pauseFisheye = false
     , tooltips     = true
@@ -52,7 +52,7 @@ nv.models.scatterChart = function() {
     , tooltip      = null
     , state = {}
     , defaultState = null
-    , dispatch     = d3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState')
+    , dispatch     = d3v3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState')
     , noData       = "No Data Available."
     , transitionDuration = 250
     ;
@@ -116,7 +116,7 @@ nv.models.scatterChart = function() {
 
   function chart(selection) {
     selection.each(function(data) {
-      var container = d3.select(this),
+      var container = d3v3.select(this),
           that = this;
 
       var availableWidth = (width  || parseInt(container.style('width')) || 960)
@@ -344,7 +344,7 @@ nv.models.scatterChart = function() {
 
 
 
-      if (d3.fisheye) {
+      if (d3v3.fisheye) {
         g.select('.nv-background')
             .attr('width', availableWidth)
             .attr('height', availableHeight);
@@ -365,7 +365,7 @@ nv.models.scatterChart = function() {
 
         g.select('.nv-point-paths').style('pointer-events', 'none' );
 
-        var mouse = d3.mouse(this);
+        var mouse = d3v3.mouse(this);
         x.distortion(fisheye).focus(mouse[0]);
         y.distortion(fisheye).focus(mouse[1]);
 
@@ -420,9 +420,9 @@ nv.models.scatterChart = function() {
       });
 
       scatter.dispatch.on('elementMouseover.tooltip', function(e) {
-        d3.select('.nv-chart-' + scatter.id() + ' .nv-series-' + e.seriesIndex + ' .nv-distx-' + e.pointIndex)
+        d3v3.select('.nv-chart-' + scatter.id() + ' .nv-series-' + e.seriesIndex + ' .nv-distx-' + e.pointIndex)
             .attr('y1', function(d,i) { return e.pos[1] - availableHeight;});
-        d3.select('.nv-chart-' + scatter.id() + ' .nv-series-' + e.seriesIndex + ' .nv-disty-' + e.pointIndex)
+        d3v3.select('.nv-chart-' + scatter.id() + ' .nv-series-' + e.seriesIndex + ' .nv-disty-' + e.pointIndex)
             .attr('x2', e.pos[0] + distX.size());
 
         e.pos = [e.pos[0] + margin.left, e.pos[1] + margin.top];
@@ -468,9 +468,9 @@ nv.models.scatterChart = function() {
   scatter.dispatch.on('elementMouseout.tooltip', function(e) {
     dispatch.tooltipHide(e);
 
-    d3.select('.nv-chart-' + scatter.id() + ' .nv-series-' + e.seriesIndex + ' .nv-distx-' + e.pointIndex)
+    d3v3.select('.nv-chart-' + scatter.id() + ' .nv-series-' + e.seriesIndex + ' .nv-distx-' + e.pointIndex)
         .attr('y1', 0);
-    d3.select('.nv-chart-' + scatter.id() + ' .nv-series-' + e.seriesIndex + ' .nv-disty-' + e.pointIndex)
+    d3v3.select('.nv-chart-' + scatter.id() + ' .nv-series-' + e.seriesIndex + ' .nv-disty-' + e.pointIndex)
         .attr('x2', distY.size());
   });
   dispatch.on('tooltipHide', function() {
@@ -494,7 +494,7 @@ nv.models.scatterChart = function() {
   chart.distX = distX;
   chart.distY = distY;
 
-  d3.rebind(chart, scatter, 'id', 'interactive', 'pointActive', 'x', 'y', 'shape', 'size', 'xScale', 'yScale', 'zScale', 'xDomain', 'yDomain', 'xRange', 'yRange', 'sizeDomain', 'sizeRange', 'forceX', 'forceY', 'forceSize', 'clipVoronoi', 'clipRadius', 'useVoronoi');
+  d3v3.rebind(chart, scatter, 'id', 'interactive', 'pointActive', 'x', 'y', 'shape', 'size', 'xScale', 'yScale', 'zScale', 'xDomain', 'yDomain', 'xRange', 'yRange', 'sizeDomain', 'sizeRange', 'forceX', 'forceY', 'forceSize', 'clipVoronoi', 'clipRadius', 'useVoronoi');
   chart.options = nv.utils.optionsFunc.bind(chart);
   
   chart.margin = function(_) {

+ 17 - 17
desktop/core/src/desktop/static/desktop/js/nv.d3.sunburst.js

@@ -55,21 +55,21 @@ nv.models.sunburst = function () {
   }
     , groupColorByParent = true
     , duration = 500
-    , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMousemove', 'elementMouseover', 'elementMouseout', 'renderEnd');
+    , dispatch = d3v3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMousemove', 'elementMouseover', 'elementMouseout', 'renderEnd');
 
   //============================================================
   // aux functions and setup
   //------------------------------------------------------------
 
-  var x = d3.scale.linear().range([0, 2 * Math.PI]);
-  var y = d3.scale.sqrt();
+  var x = d3v3.scale.linear().range([0, 2 * Math.PI]);
+  var y = d3v3.scale.sqrt();
 
-  var partition = d3.layout.partition().sort(sort);
+  var partition = d3v3.layout.partition().sort(sort);
 
   var node, availableWidth, availableHeight, radius;
   var prevPositions = {};
 
-  var arc = d3.svg.arc()
+  var arc = d3v3.svg.arc()
     .startAngle(function (d) {
       return Math.max(0, Math.min(2 * Math.PI, x(d.x)))
     })
@@ -116,9 +116,9 @@ nv.models.sunburst = function () {
 
   // When zooming: interpolate the scales.
   function arcTweenZoom(e, i) {
-    var xd = d3.interpolate(x.domain(), [node.x, node.x + node.dx]),
-      yd = d3.interpolate(y.domain(), [node.y, 1]),
-      yr = d3.interpolate(y.range(), [node.y ? 20 : 0, radius]);
+    var xd = d3v3.interpolate(x.domain(), [node.x, node.x + node.dx]),
+      yd = d3v3.interpolate(y.domain(), [node.y, 1]),
+      yr = d3v3.interpolate(y.range(), [node.y ? 20 : 0, radius]);
 
     if (i === 0) {
       return function () {
@@ -136,7 +136,7 @@ nv.models.sunburst = function () {
   }
 
   function arcTweenUpdate(d) {
-    var ipo = d3.interpolate({x: d.x0, dx: d.dx0, y: d.y0, dy: d.dy0}, d);
+    var ipo = d3v3.interpolate({x: d.x0, dx: d.dx0, y: d.y0, dy: d.dy0}, d);
 
     return function (t) {
       var b = ipo(t);
@@ -200,7 +200,7 @@ nv.models.sunburst = function () {
         if (e.x >= d.x && e.x < (d.x + d.dx)) {
           if (e.depth >= d.depth) {
             // get a selection of the associated text element
-            var parentNode = d3.select(this.parentNode);
+            var parentNode = d3v3.select(this.parentNode);
             var arcText = parentNode.select('text');
 
             // fade in the text element and recalculate positions
@@ -248,7 +248,7 @@ nv.models.sunburst = function () {
     renderWatch.reset();
 
     selection.each(function (data) {
-      container = d3.select(this);
+      container = d3v3.select(this);
       availableWidth = nv.utils.availableWidth(width, container, margin);
       availableHeight = nv.utils.availableHeight(height, container, margin);
       radius = Math.min(availableWidth, availableHeight) / 2;
@@ -256,7 +256,7 @@ nv.models.sunburst = function () {
       y.range([0, radius]);
 
       // Setup containers and skeleton of chart
-      var wrap = container.select('g.nvd3.nv-wrap.nv-sunburst');
+      var wrap = container.select('g.nvd3v3.nv-wrap.nv-sunburst');
       if (!wrap[0][0]) {
         wrap = container.append('g')
           .attr('class', 'nvd3 nv-wrap nv-sunburst nv-chart-' + id)
@@ -269,7 +269,7 @@ nv.models.sunburst = function () {
         dispatch.chartClick({
           data: d,
           index: i,
-          pos: d3.event,
+          pos: d3v3.event,
           id: id
         });
       });
@@ -310,15 +310,15 @@ nv.models.sunburst = function () {
           })
         })
         .on('mouseover', function (d, i) {
-          d3.select(this).classed('hover', true).style('opacity', 0.8);
+          d3v3.select(this).classed('hover', true).style('opacity', 0.8);
           dispatch.elementMouseover({
             data: d,
-            color: d3.select(this).style("fill"),
+            color: d3v3.select(this).style("fill"),
             percent: computeNodePercentage(d)
           });
         })
         .on('mouseout', function (d, i) {
-          d3.select(this).classed('hover', false).style('opacity', 1);
+          d3v3.select(this).classed('hover', false).style('opacity', 1);
           dispatch.elementMouseout({
             data: d
           });
@@ -333,7 +333,7 @@ nv.models.sunburst = function () {
       ///makes it work ... a cG.selectAll('path') doesn't.
       ///Without iteration the data (in the element) didn't update.
       cG.each(function (d) {
-        d3.select(this).select('path')
+        d3v3.select(this).select('path')
           .transition()
           .duration(duration)
           .attrTween('d', arcTweenUpdate);

+ 2 - 2
desktop/core/src/desktop/static/desktop/js/nv.d3.sunburstChart.js

@@ -33,7 +33,7 @@ nv.models.sunburstChart = function () {
     , defaultState = null
     , noData = null
     , duration = 250
-    , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd');
+    , dispatch = d3v3.dispatch('stateChange', 'changeState', 'renderEnd');
 
 
   //============================================================
@@ -58,7 +58,7 @@ nv.models.sunburstChart = function () {
     renderWatch.models(sunburst);
 
     selection.each(function (data) {
-      var container = d3.select(this);
+      var container = d3v3.select(this);
 
       nv.utils.initSVG(container);
 

+ 8 - 8
desktop/core/src/desktop/static/desktop/js/nv.d3.tooltip.js

@@ -74,7 +74,7 @@ nv.models.tooltip = function () {
       return '';
     }
 
-    var table = d3.select(document.createElement("table"));
+    var table = d3v3.select(document.createElement("table"));
     if (headerEnabled) {
       var theadEnter = table.selectAll("thead")
         .data([d])
@@ -129,14 +129,14 @@ nv.models.tooltip = function () {
     }).append("td")
       .classed("percent", true)
       .html(function (p, i) {
-        return "(" + d3.format('%')(p.percent) + ")"
+        return "(" + d3v3.format('%')(p.percent) + ")"
       });
 
     trowEnter.selectAll("td").each(function (p) {
       if (p.highlight) {
-        var opacityScale = d3.scale.linear().domain([0, 1]).range(["#fff", p.color]);
+        var opacityScale = d3v3.scale.linear().domain([0, 1]).range(["#fff", p.color]);
         var opacity = 0.6;
-        d3.select(this)
+        d3v3.select(this)
           .style("border-bottom-color", opacityScale(opacity))
           .style("border-top-color", opacityScale(opacity))
         ;
@@ -160,8 +160,8 @@ nv.models.tooltip = function () {
    */
   var position = function () {
     var pos = {
-      left: d3.event !== null ? d3.event.clientX : 0,
-      top: d3.event !== null ? d3.event.clientY : 0
+      left: d3v3.event !== null ? d3v3.event.clientX : 0,
+      top: d3v3.event !== null ? d3v3.event.clientY : 0
     };
 
     if (getComputedStyle(document.body).transform != 'none') {
@@ -263,7 +263,7 @@ nv.models.tooltip = function () {
         // using tooltip.style('transform') returns values un-usable for tween
         var old_translate = 'translate(' + lastPosition.left + 'px, ' + lastPosition.top + 'px)';
         var new_translate = 'translate(' + Math.round(left) + 'px, ' + Math.round(top) + 'px)';
-        var translateInterpolator = d3.interpolateString(old_translate, new_translate);
+        var translateInterpolator = d3v3.interpolateString(old_translate, new_translate);
         var is_hidden = tooltip.style('opacity') < 0.1;
 
         tooltip
@@ -293,7 +293,7 @@ nv.models.tooltip = function () {
       // Create new tooltip div if it doesn't exist on DOM.
 
       var data = [1];
-      tooltip = d3.select(document.body).select('#' + id).data(data);
+      tooltip = d3v3.select(document.body).select('#' + id).data(data);
 
       tooltip.enter().append('div')
         .attr("class", "nvtooltip " + (classes ? classes : "xy-tooltip"))

+ 26 - 26
desktop/core/src/desktop/static/desktop/js/nv.d3.utils.js

@@ -102,7 +102,7 @@ nv.utils.getColor = function (color) {
 
     //if passed an array, turn it into a color scale
   } else if (nv.utils.isArray(color)) {
-    var color_scale = d3.scale.ordinal().range(color);
+    var color_scale = d3v3.scale.ordinal().range(color);
     return function (d, i) {
       var key = i === undefined ? d : i;
       return d.color || color_scale(key);
@@ -123,7 +123,7 @@ nv.utils.getColor = function (color) {
  */
 nv.utils.defaultColor = function () {
   // get range of the scale so we'll turn it into our own function.
-  return nv.utils.getColor(d3.scale.category20().range());
+  return nv.utils.getColor(d3v3.scale.category20().range());
 };
 
 
@@ -136,7 +136,7 @@ nv.utils.customTheme = function (dictionary, getKey, defaultColors) {
   getKey = getKey || function (series) {
       return series.key
     };
-  defaultColors = defaultColors || d3.scale.category20().range();
+  defaultColors = defaultColors || d3v3.scale.category20().range();
 
   // start at end of default color list and walk back to index 0
   var defIndex = defaultColors.length;
@@ -168,24 +168,24 @@ nv.utils.customTheme = function (dictionary, getKey, defaultColors) {
 nv.utils.pjax = function (links, content) {
 
   var load = function (href) {
-    d3.html(href, function (fragment) {
-      var target = d3.select(content).node();
+    d3v3.html(href, function (fragment) {
+      var target = d3v3.select(content).node();
       target.parentNode.replaceChild(
-        d3.select(fragment).select(content).node(),
+        d3v3.select(fragment).select(content).node(),
         target);
       nv.utils.pjax(links, content);
     });
   };
 
-  d3.selectAll(links).on("click", function () {
+  d3v3.selectAll(links).on("click", function () {
     history.pushState(this.href, this.textContent, this.href);
     load(this.href);
-    d3.event.preventDefault();
+    d3v3.event.preventDefault();
   });
 
-  d3.select(window).on("popstate", function () {
-    if (d3.event.state) {
-      load(d3.event.state);
+  d3v3.select(window).on("popstate", function () {
+    if (d3v3.event.state) {
+      load(d3v3.event.state);
     }
   });
 };
@@ -224,7 +224,7 @@ nv.utils.NaNtoZero = function (n) {
 /*
  Add a way to watch for d3 transition ends to d3
  */
-d3.selection.prototype.watchTransition = function (renderWatch) {
+d3v3.selection.prototype.watchTransition = function (renderWatch) {
   var args = [this].concat([].slice.call(arguments, 1));
   return renderWatch.transition.apply(renderWatch, args);
 };
@@ -371,7 +371,7 @@ nv.utils.state = function () {
   var init = null;
   var changed = null;
 
-  this.dispatch = d3.dispatch('change', 'set');
+  this.dispatch = d3v3.dispatch('change', 'set');
 
   this.dispatch.on('set', function (state) {
     _setState(state, true);
@@ -444,7 +444,7 @@ nv.utils.state = function () {
  */
 nv.utils.optionsFunc = function (args) {
   if (args) {
-    d3.map(args).forEach((function (key, value) {
+    d3v3.map(args).forEach((function (key, value) {
       if (nv.utils.isFunction(this[key])) {
         this[key](value);
       }
@@ -539,14 +539,14 @@ nv.utils.initOptions = function (chart) {
 
 /*
  Inherit options from a D3 object
- d3.rebind makes calling the function on target actually call it on source
+ d3v3.rebind makes calling the function on target actually call it on source
  Also use _d3options so we can track what we inherit for documentation and chained inheritance
  */
 nv.utils.inheritOptionsD3 = function (target, d3_source, oplist) {
   target._d3options = oplist.concat(target._d3options || []);
   oplist.unshift(d3_source);
   oplist.unshift(target);
-  d3.rebind.apply(this, oplist);
+  d3v3.rebind.apply(this, oplist);
 };
 
 
@@ -561,15 +561,15 @@ nv.utils.arrayUnique = function (a) {
 
 
 /*
- Keeps a list of custom symbols to draw from in addition to d3.svg.symbol
+ Keeps a list of custom symbols to draw from in addition to d3v3.svg.symbol
  Necessary since d3 doesn't let you extend its list -_-
  Add new symbols by doing nv.utils.symbols.set('name', function(size){...});
  */
-nv.utils.symbolMap = d3.map();
+nv.utils.symbolMap = d3v3.map();
 
 
 /*
- Replaces d3.svg.symbol so that we can look both there and our own map
+ Replaces d3v3.svg.symbol so that we can look both there and our own map
  */
 nv.utils.symbol = function () {
   var type,
@@ -578,8 +578,8 @@ nv.utils.symbol = function () {
   function symbol(d, i) {
     var t = type.call(this, d, i);
     var s = size.call(this, d, i);
-    if (d3.svg.symbolTypes.indexOf(t) !== -1) {
-      return d3.svg.symbol().type(t).size(s)();
+    if (d3v3.svg.symbolTypes.indexOf(t) !== -1) {
+      return d3v3.svg.symbol().type(t).size(s)();
     } else {
       return nv.utils.symbolMap.get(t)(s);
     }
@@ -587,12 +587,12 @@ nv.utils.symbol = function () {
 
   symbol.type = function (_) {
     if (!arguments.length) return type;
-    type = d3.functor(_);
+    type = d3v3.functor(_);
     return symbol;
   };
   symbol.size = function (_) {
     if (!arguments.length) return size;
-    size = d3.functor(_);
+    size = d3v3.functor(_);
     return symbol;
   };
   return symbol;
@@ -601,7 +601,7 @@ nv.utils.symbol = function () {
 
 /*
  Inherit option getter/setter functions from source to target
- d3.rebind makes calling the function on target actually call it on source
+ d3v3.rebind makes calling the function on target actually call it on source
  Also track via _inherited and _d3options so we can track what we inherit
  for documentation generation purposes and chained inheritance
  */
@@ -614,7 +614,7 @@ nv.utils.inheritOptions = function (target, source) {
   var args = ops.concat(calls).concat(inherited).concat(d3ops);
   args.unshift(source);
   args.unshift(target);
-  d3.rebind.apply(this, args);
+  d3v3.rebind.apply(this, args);
   // pass along the lists to keep track of them, don't allow duplicates
   target._inherited = nv.utils.arrayUnique(ops.concat(calls).concat(inherited).concat(ops).concat(target._inherited || []));
   target._d3options = nv.utils.arrayUnique(d3ops.concat(target._d3options || []));
@@ -695,7 +695,7 @@ nv.utils.noData = function (chart, container) {
  */
 nv.utils.wrapTicks = function (text, width) {
   text.each(function () {
-    var text = d3.select(this),
+    var text = d3v3.select(this),
       words = text.text().split(/\s+/).reverse(),
       word,
       line = [],

+ 0 - 1
desktop/core/src/desktop/templates/assist_m.mako

@@ -25,7 +25,6 @@ ${ commonheader_m(_('Assist'), 'assist', user, request) | n,unicode }
 
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
 <script src="${ static('metastore/js/metastore.ko.js') }"></script>

+ 0 - 1
desktop/core/src/desktop/templates/common_dashboard.mako

@@ -264,7 +264,6 @@
   <script src="${ static('desktop/ext/js/leaflet/leaflet.markercluster.js') }" type="text/javascript" charset="utf-8"></script>
   <script src="${ static('desktop/ext/js/leaflet/leaflet.zoombox.js') }" type="text/javascript" charset="utf-8"></script>
 
-  <script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
   <script src="${ static('desktop/js/nv.d3.js') }" type="text/javascript" charset="utf-8"></script>
   <script src="${ static('desktop/ext/js/topojson.v1.min.js') }" type="text/javascript" charset="utf-8"></script>
   <script src="${ static('desktop/ext/js/topo/world.topo.js') }" type="text/javascript" charset="utf-8"></script>

+ 7 - 3
desktop/core/src/desktop/templates/common_header.mako

@@ -112,8 +112,8 @@ if USE_NEW_EDITOR.get():
   <script src="${ static('desktop/js/hue.utils.js') }"></script>
   <script src="${ static('desktop/ext/js/jquery/jquery-2.1.1.min.js') }"></script>
   <script src="${ static('desktop/js/jquery.migration.js') }"></script>
-  <script src="${ static('desktop/js/jquery.hiveautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
-  <script src="${ static('desktop/js/jquery.hdfsautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/js/jquery.hiveautocomplete.js') }"></script>
+  <script src="${ static('desktop/js/jquery.hdfsautocomplete.js') }"></script>
   <script src="${ static('desktop/js/jquery.filechooser.js') }"></script>
   <script src="${ static('desktop/js/jquery.selector.js') }"></script>
   <script src="${ static('desktop/js/jquery.delayedinput.js') }"></script>
@@ -133,13 +133,17 @@ if USE_NEW_EDITOR.get():
   <script src="${ static('desktop/ext/js/jquery/plugins/jquery.form.js') }"></script>
   <script src="${ static('desktop/js/jquery.nicescroll.js') }"></script>
   <script src="${ static('desktop/js/jquery.datatables.sorting.js') }"></script>
+  <script src="${ static('desktop/ext/js/d3.v3.js') }"></script>
+  <script type="text/javascript">
+    window.d3v3 = d3;
+  </script>
   <script src="${ static('desktop/ext/js/bootstrap.min.js') }"></script>
   <script src="${ static('desktop/ext/js/bootstrap-better-typeahead.min.js') }"></script>
   <script src="${ static('desktop/js/hue.colors.js') }"></script>
   <script src="${ static('desktop/ext/js/fileuploader.js') }"></script>
   <script src="${ static('desktop/ext/js/filesize.min.js') }"></script>
   <script src="${ static('desktop/js/popover-extra-placements.js') }"></script>
-  <script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/moment-with-locales.min.js') }"></script>
   <script src="${ static('desktop/ext/js/knockout.min.js') }"></script>
   <script src="${ static('desktop/ext/js/knockout-mapping.min.js') }"></script>
   <script src="${ static('desktop/ext/js/knockout.validation.min.js') }"></script>

+ 7 - 3
desktop/core/src/desktop/templates/common_header_m.mako

@@ -62,7 +62,7 @@ if USE_NEW_EDITOR.get():
     }
   </style>
 
-  <script type="text/javascript" charset="utf-8">
+  <script type="text/javascript">
 
     var LOGGED_USERNAME = '${ user.username }';
     var IS_S3_ENABLED = '${ is_s3_enabled }' === 'True';
@@ -153,9 +153,13 @@ if USE_NEW_EDITOR.get():
   <script src="${ static('desktop/ext/js/jquery/plugins/jquery.touchSwipe.min.js') }"></script>
   <script src="${ static('desktop/ext/js/bootstrap.min.js') }"></script>
   <script src="${ static('desktop/ext/js/bootstrap-better-typeahead.min.js') }"></script>
-  <script src="${ static('desktop/ext/js/moment-with-locales.min.js') }" type="text/javascript" charset="utf-8"></script>
+  <script src="${ static('desktop/ext/js/moment-with-locales.min.js') }"></script>
+  <script src="${ static('desktop/ext/js/d3.v3.js') }"></script>
+  <script type="text/javascript">
+    window.d3v3 = d3;
+  </script>
 
-  <script type="text/javascript" charset="utf-8">
+  <script type="text/javascript">
 
     moment.locale(window.navigator.userLanguage || window.navigator.language);
     localeFormat = function (time) {

+ 9 - 4
desktop/core/src/desktop/templates/responsive.mako

@@ -459,8 +459,8 @@ ${ hueIcons.symbols() }
 
 <script src="${ static('desktop/js/jquery.nicescroll.js') }"></script>
 
-<script src="${ static('desktop/js/jquery.hiveautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
-<script src="${ static('desktop/js/jquery.hdfsautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
+<script src="${ static('desktop/js/jquery.hiveautocomplete.js') }"></script>
+<script src="${ static('desktop/js/jquery.hdfsautocomplete.js') }"></script>
 <script src="${ static('desktop/js/jquery.filechooser.js') }"></script>
 <script src="${ static('desktop/js/jquery.selector.js') }"></script>
 <script src="${ static('desktop/js/jquery.delayedinput.js') }"></script>
@@ -472,6 +472,11 @@ ${ hueIcons.symbols() }
 <script src="${ static('desktop/js/jquery.tableextender.js') }"></script>
 <script src="${ static('desktop/js/jquery.tableextender2.js') }"></script>
 
+<script src="${ static('desktop/ext/js/d3.v3.js') }"></script>
+<script type="text/javascript">
+  window.d3v3 = d3;
+</script>
+
 <script src="${ static('desktop/ext/js/knockout.min.js') }"></script>
 <script src="${ static('desktop/js/hue.colors.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
@@ -505,7 +510,7 @@ ${ hueIcons.symbols() }
 <script src="${ static('desktop/js/hue.json.js') }"></script>
 <script src="${ static('notebook/js/notebook.ko.js') }"></script>
 
-<script type="text/javascript" charset="utf-8">
+<script type="text/javascript">
 (function () {
     var proxiedKORegister = ko.components.register;
     var LOADED_COMPONENTS = [];
@@ -527,7 +532,7 @@ ${ assist.assistPanel() }
 
 <iframe id="zoomDetectFrame" style="width: 250px; display: none" ></iframe>
 
-<script type="text/javascript" charset="utf-8">
+<script type="text/javascript">
   (function () {
     var proxiedKORegister = ko.components.register;
     var LOADED_COMPONENTS = [];

+ 0 - 1
desktop/libs/indexer/src/indexer/templates/importer.mako

@@ -41,7 +41,6 @@ ${ commonheader(_("Importer"), "indexer", user, request, "60px") | n,unicode }
 <script src="${ static('desktop/js/jquery.hiveautocomplete.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
 <script src="${ static('metastore/js/metastore.ko.js') }"></script>

+ 0 - 1
desktop/libs/indexer/src/indexer/templates/indexer.mako

@@ -28,7 +28,6 @@ ${ commonheader(_("Solr Indexes"), "search", user, request, "60px") | n,unicode
 
 <script src="${ static('desktop/ext/js/jquery/plugins/jquery-ui-1.10.4.custom.min.js') }"></script>
 <script src="${ static('desktop/js/jquery.huedatatable.js') }"></script>
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/selectize.min.js') }"></script>
 <script src="${ static('desktop/js/apiHelper.js') }"></script>
 <script src="${ static('metastore/js/metastore.ko.js') }"></script>

+ 0 - 1
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -125,7 +125,6 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 <script src="${ static('desktop/ext/js/leaflet/leaflet.markercluster.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/leaflet/leaflet.heat.js') }" type="text/javascript" charset="utf-8"></script>
 
-<script src="${ static('desktop/ext/js/d3.v3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/js/nv.d3.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/topojson.v1.min.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/topo/world.topo.js') }" type="text/javascript" charset="utf-8"></script>

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels