@@ -16,25 +16,47 @@ FusionChartsStatic.decorators = [
1616FusionChartsStatic . ctorParameters = function ( ) { return [ ] ; } ;
1717var FusionChartsService = ( function ( ) {
1818 function FusionChartsService ( FCStatic ) {
19- /* TODO: Need to remove this when FusionCharts becomes ES6 modules */
20- if ( FCStatic . core && FCStatic . core . getCurrentRenderer &&
21- FCStatic . core . getCurrentRenderer ( ) === 'javascript' ) {
22- this . _fusionchartsStatice = FCStatic . core ;
19+ var fcRoot ;
20+ if ( FusionChartsService . isFCRootSet ( ) ) {
21+ fcRoot = FusionChartsService . getFCRoot ( ) ;
2322 }
2423 else {
25- this . _fusionchartsStatice = FCStatic . core ( ) ;
24+ fcRoot = {
25+ core : FCStatic . core ,
26+ modules : FCStatic . modules
27+ } ;
2628 }
27- if ( FCStatic && FCStatic . modules ) {
28- FCStatic . modules . forEach ( function ( FusionChartsModules ) {
29- FusionChartsModules ( FCStatic . core ) ;
29+ this . resolveFusionCharts ( fcRoot . core , fcRoot . modules ) ;
30+ }
31+ FusionChartsService . setFCRoot = function ( fcRoot ) {
32+ FusionChartsService . _fcRoot = fcRoot ;
33+ } ;
34+ FusionChartsService . getFCRoot = function ( ) {
35+ return FusionChartsService . _fcRoot ;
36+ } ;
37+ FusionChartsService . isFCRootSet = function ( ) {
38+ return ! ! FusionChartsService . _fcRoot ;
39+ } ;
40+ FusionChartsService . prototype . resolveFusionCharts = function ( core , modules ) {
41+ if ( core && core . getCurrentRenderer &&
42+ core . getCurrentRenderer ( ) === 'javascript' ) {
43+ this . _fusionchartsStatice = core ;
44+ }
45+ else {
46+ this . _fusionchartsStatice = core ( ) ;
47+ }
48+ if ( modules ) {
49+ modules . forEach ( function ( FusionChartsModules ) {
50+ FusionChartsModules ( core ) ;
3051 } ) ;
3152 }
32- }
53+ } ;
3354 FusionChartsService . prototype . getFusionChartsStatic = function ( ) {
3455 return this . _fusionchartsStatice ;
3556 } ;
3657 return FusionChartsService ;
3758} ( ) ) ;
59+ FusionChartsService . _fcRoot = null ;
3860FusionChartsService . decorators = [
3961 { type : _angular_core . Injectable } ,
4062] ;
@@ -306,6 +328,7 @@ FusionChartsPipe.ctorParameters = function () { return []; };
306328var FusionChartsModule = ( function ( ) {
307329 function FusionChartsModule ( ) {
308330 }
331+ // Keep this for backward compatible
309332 FusionChartsModule . forRoot = function ( fcCore ) {
310333 var fcModules = [ ] ;
311334 for ( var _i = 1 ; _i < arguments . length ; _i ++ ) {
@@ -322,6 +345,16 @@ var FusionChartsModule = (function () {
322345 } ]
323346 } ;
324347 } ;
348+ FusionChartsModule . fcRoot = function ( fcCore ) {
349+ var fcModules = [ ] ;
350+ for ( var _i = 1 ; _i < arguments . length ; _i ++ ) {
351+ fcModules [ _i - 1 ] = arguments [ _i ] ;
352+ }
353+ FusionChartsService . setFCRoot ( {
354+ core : fcCore ,
355+ modules : fcModules
356+ } ) ;
357+ } ;
325358 return FusionChartsModule ;
326359} ( ) ) ;
327360FusionChartsModule . decorators = [
@@ -335,6 +368,10 @@ FusionChartsModule.decorators = [
335368 FusionChartsComponent ,
336369 FusionChartsDirective ,
337370 FusionChartsPipe
371+ ] ,
372+ providers : [
373+ FusionChartsService ,
374+ FusionChartsStatic
338375 ]
339376 } , ] } ,
340377] ;
0 commit comments