Skip to content

Commit 7f6427a

Browse files
committed
Changed service and added fcRoot method
1 parent d16c992 commit 7f6427a

16 files changed

+193
-69
lines changed

README.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,11 @@ import { FusionChartsModule } from 'angular2-fusioncharts';
2121

2222
// Import FusionCharts library
2323
import * as FusionCharts from 'fusioncharts';
24-
// Load FusionCharts Charts module
25-
let Charts = require('fusioncharts/fusioncharts.charts');
24+
import * as Charts from 'fusioncharts/fusioncharts.charts';
25+
import * as FintTheme from 'fusioncharts/themes/fusioncharts.theme.fint';
2626

27-
// Create FusionCharts provider function
28-
export function FusionChartsProvider () {
29-
// Resolve charts dependency
30-
Charts(FusionCharts);
31-
32-
return FusionCharts;
33-
}
27+
// Pass the fusioncharts library
28+
FusionChartsModule.fcRoot(FusionCharts, Charts, FintTheme);
3429

3530
@NgModule({
3631
declarations: [
@@ -40,8 +35,7 @@ export function FusionChartsProvider () {
4035
imports: [
4136
BrowserModule,
4237
// Specify FusionChartsModule as import
43-
// and pass FusionChartsProvider as a dependency
44-
FusionChartsModule.forRoot(FusionChartsProvider)
38+
FusionChartsModule
4539
],
4640
providers: [],
4741
bootstrap: [AppComponent]

dist/dist/index.js

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,48 @@ FusionChartsStatic.decorators = [
1616
FusionChartsStatic.ctorParameters = function () { return []; };
1717
var 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+
console.log(FCStatic);
20+
var fcRoot;
21+
if (FusionChartsService.isFCRootSet()) {
22+
fcRoot = FusionChartsService.getFCRoot();
2323
}
2424
else {
25-
this._fusionchartsStatice = FCStatic.core();
25+
fcRoot = {
26+
core: FCStatic.core,
27+
modules: FCStatic.modules
28+
};
2629
}
27-
if (FCStatic && FCStatic.modules) {
28-
FCStatic.modules.forEach(function (FusionChartsModules) {
29-
FusionChartsModules(FCStatic.core);
30+
this.resolveFusionCharts(fcRoot.core, fcRoot.modules);
31+
}
32+
FusionChartsService.setFCRoot = function (fcRoot) {
33+
FusionChartsService._fcRoot = fcRoot;
34+
};
35+
FusionChartsService.getFCRoot = function () {
36+
return FusionChartsService._fcRoot;
37+
};
38+
FusionChartsService.isFCRootSet = function () {
39+
return !!FusionChartsService._fcRoot;
40+
};
41+
FusionChartsService.prototype.resolveFusionCharts = function (core, modules) {
42+
if (core && core.getCurrentRenderer &&
43+
core.getCurrentRenderer() === 'javascript') {
44+
this._fusionchartsStatice = core;
45+
}
46+
else {
47+
this._fusionchartsStatice = core();
48+
}
49+
if (modules) {
50+
modules.forEach(function (FusionChartsModules) {
51+
FusionChartsModules(core);
3052
});
3153
}
32-
}
54+
};
3355
FusionChartsService.prototype.getFusionChartsStatic = function () {
3456
return this._fusionchartsStatice;
3557
};
3658
return FusionChartsService;
3759
}());
60+
FusionChartsService._fcRoot = null;
3861
FusionChartsService.decorators = [
3962
{ type: _angular_core.Injectable },
4063
];
@@ -306,6 +329,7 @@ FusionChartsPipe.ctorParameters = function () { return []; };
306329
var FusionChartsModule = (function () {
307330
function FusionChartsModule() {
308331
}
332+
// Keep this for backward compatible
309333
FusionChartsModule.forRoot = function (fcCore) {
310334
var fcModules = [];
311335
for (var _i = 1; _i < arguments.length; _i++) {
@@ -322,6 +346,16 @@ var FusionChartsModule = (function () {
322346
}]
323347
};
324348
};
349+
FusionChartsModule.fcRoot = function (fcCore) {
350+
var fcModules = [];
351+
for (var _i = 1; _i < arguments.length; _i++) {
352+
fcModules[_i - 1] = arguments[_i];
353+
}
354+
FusionChartsService.setFCRoot({
355+
core: fcCore,
356+
modules: fcModules
357+
});
358+
};
325359
return FusionChartsModule;
326360
}());
327361
FusionChartsModule.decorators = [
@@ -335,6 +369,10 @@ FusionChartsModule.decorators = [
335369
FusionChartsComponent,
336370
FusionChartsDirective,
337371
FusionChartsPipe
372+
],
373+
providers: [
374+
FusionChartsService,
375+
FusionChartsStatic
338376
]
339377
},] },
340378
];

dist/dist/index.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ import { FusionChartsStatic } from './src/fusioncharts.service';
66
export { FusionChartsComponent, FusionChartsDirective, FusionChartsPipe, FusionChartsStatic };
77
export declare class FusionChartsModule {
88
static forRoot(fcCore?: any, ...fcModules: any[]): ModuleWithProviders;
9+
static fcRoot(fcCore?: any, ...fcModules: any[]): void;
910
}

0 commit comments

Comments
 (0)