Skip to content

Commit d990ee8

Browse files
committed
2 parents cc78883 + aff3f25 commit d990ee8

File tree

5 files changed

+143
-23
lines changed

5 files changed

+143
-23
lines changed

dist/angular-fusioncharts.js

Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
map: '@',
4646
markers: '@',
4747
initialized: '&',
48-
datasourceDt: '=datasourceDt'
48+
datasourceDt: '=datasourceDt',
49+
datasource: '=datasource'
4950
},
5051
fcEvents = [
5152
'beforelinkeditemopen',
@@ -199,8 +200,10 @@
199200
scope: scope,
200201
link: function(scope, element, attrs) {
201202
function updateData(key, data) {
202-
scope.datasourceDt.key = data;
203-
chart.setJSONData(scope.datasourceDt);
203+
if (key) {
204+
scope.datasourceDt.key = data;
205+
chart.setJSONData(scope.datasourceDt);
206+
}
204207
}
205208

206209
function createWatchersForAttrs(datasource) {
@@ -627,7 +630,6 @@
627630
chart.setJSONData(chartConfigObject.dataSource);
628631
}
629632
}, 0);
630-
631633
// chart.setJSONData(chartConfigObject.dataSource);
632634
},
633635
createFCChart = function() {
@@ -689,6 +691,7 @@
689691
}
690692
}
691693
}
694+
692695
for (i = 0; i < attribs.length; i++) {
693696
attr = attribs[i];
694697
if (attr.match(/^on/i)) {
@@ -715,12 +718,43 @@
715718
}
716719
}
717720

718-
if (attrs.datasource) {
719-
chartConfigObject.dataSource =
720-
chartConfigObject.dataFormat === 'json'
721-
? JSON.parse(attrs.datasource)
722-
: attrs.datasource;
723-
dataStringStore.dataSource = attrs.datasource;
721+
if (chartConfigObject.dataFormat === 'json') {
722+
if (scope.datasource) {
723+
attrs.datasource = scope.datasource;
724+
chartConfigObject.dataSource = scope.datasource;
725+
dataStringStore.dataSource = scope.datasource;
726+
727+
scope.$watch(
728+
'datasource',
729+
function(newData, oldData) {
730+
if (newData !== oldData) {
731+
chartConfigObject.dataSource = scope.datasource;
732+
dataStringStore.dataSource = scope.datasource;
733+
setChartData();
734+
if (chartConfigObject.dataFormat === 'json') {
735+
setChartData();
736+
} else {
737+
if (chartConfigObject.dataFormat === 'xml') {
738+
chart.setXMLData(newData);
739+
} else if (chartConfigObject.dataFormat === 'jsonurl') {
740+
chart.setJSONUrl(newData);
741+
} else if (chartConfigObject.dataFormat === 'xmlurl') {
742+
chart.setXMLUrl(newData);
743+
}
744+
}
745+
}
746+
},
747+
true
748+
);
749+
}
750+
} else {
751+
if (attrs.datasource) {
752+
chartConfigObject.dataSource =
753+
chartConfigObject.dataFormat === 'json'
754+
? JSON.parse(attrs.datasource)
755+
: attrs.datasource;
756+
dataStringStore.dataSource = attrs.datasource;
757+
}
724758
}
725759

726760
for (observableAttr in observeConf.DCObserver) {

0 commit comments

Comments
 (0)