Skip to content

Commit

Permalink
added resize to fix issue n3-charts#13
Browse files Browse the repository at this point in the history
  • Loading branch information
hellsan631 committed Aug 12, 2015
1 parent 252f589 commit 7d58ff5
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 1 deletion.
28 changes: 28 additions & 0 deletions dist/pie-chart.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
function link($scope, element, attrs, ctrl) {
var dim = $utils.getDefaultMargins();
var svg;
var promise;

var updateDimensions = function(dimensions) {
dimensions.width = element[0].parentElement.offsetWidth || 900;
Expand Down Expand Up @@ -59,6 +60,33 @@
.updateLegend(svg, data, dimensions, options);
};

var redraw = function(){
var redrawData = $utils.addDataForGauge($scope.data, $scope.options);

$utils.clean(element[0]);
updateDimensions(dim);
svg = $utils.bootstrap(element[0], dim);

$utils
.draw(svg)
.updatePaths(svg, redrawData, dim, $scope.options)
.addLegend(svg)
.updateLegend(svg, redrawData, dim, $scope.options);

};

var resizeWindow = function(){
if (promise) {
$timeout.cancel(promise);
}

promise = $timeout(redraw, 1);

return promise;
};

$window.addEventListener('resize', resizeWindow);

$scope.$watch('data', function(newValue, oldValue) {
newValue = $utils.addDataForGauge(newValue, $scope.options);

Expand Down
2 changes: 1 addition & 1 deletion dist/pie-chart.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 28 additions & 0 deletions lib/pie-chart.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
function link($scope, element, attrs, ctrl) {
var dim = $utils.getDefaultMargins();
var svg;
var promise;

var updateDimensions = function(dimensions) {
dimensions.width = element[0].parentElement.offsetWidth || 900;
Expand Down Expand Up @@ -56,6 +57,33 @@
.updateLegend(svg, data, dimensions, options);
};

var redraw = function(){
var redrawData = $utils.addDataForGauge($scope.data, $scope.options);

$utils.clean(element[0]);
updateDimensions(dim);
svg = $utils.bootstrap(element[0], dim);

$utils
.draw(svg)
.updatePaths(svg, redrawData, dim, $scope.options)
.addLegend(svg)
.updateLegend(svg, redrawData, dim, $scope.options);

};

var resizeWindow = function(){
if (promise) {
$timeout.cancel(promise);
}

promise = $timeout(redraw, 1);

return promise;
};

$window.addEventListener('resize', resizeWindow);

$scope.$watch('data', function(newValue, oldValue) {
newValue = $utils.addDataForGauge(newValue, $scope.options);

Expand Down

0 comments on commit 7d58ff5

Please sign in to comment.