diff --git a/src/app/app.component.html b/src/app/app.component.html
index bb0005a..5a36b8b 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -29,8 +29,8 @@
Update the filter below to update the dashboard.
diff --git a/src/app/pentaho-dashboard/package.json b/src/app/pentaho-dashboard/package.json
index 7f20b38..ab1fb3e 100644
--- a/src/app/pentaho-dashboard/package.json
+++ b/src/app/pentaho-dashboard/package.json
@@ -1,6 +1,6 @@
{
"name": "pentaho-dashboard",
- "version": "1.0.3",
+ "version": "1.0.4",
"description": "Pentaho dashboards library for Angular.",
"main": "index.js",
"scripts": {
diff --git a/src/app/pentaho-dashboard/src/app/pentaho-dashboard/pentaho-dashboard.component.ts b/src/app/pentaho-dashboard/src/app/pentaho-dashboard/pentaho-dashboard.component.ts
index a08e5df..9ea0537 100644
--- a/src/app/pentaho-dashboard/src/app/pentaho-dashboard/pentaho-dashboard.component.ts
+++ b/src/app/pentaho-dashboard/src/app/pentaho-dashboard/pentaho-dashboard.component.ts
@@ -27,6 +27,9 @@ export class PentahoDashboardComponent implements AfterViewInit {
@Input('masterHtmlElementIds')
private masterHtmlElementIds : string[] = [];
+ @Input('setDefaults')
+ private setDefaults : boolean = true;
+
constructor(private pentahoDashboardService: PentahoDashboardService) {
}
@@ -40,7 +43,7 @@ export class PentahoDashboardComponent implements AfterViewInit {
this.pentahoDashboardService.renderDashboardDependingOnDashboard(this.pentahoPath, this.id, this.params, this.masterDashboardId, this.masterDashboardParams);
}
else if (this.masterHtmlElementIds != []) {
- this.pentahoDashboardService.renderDashboardDependingOnHtmlElement(this.pentahoPath, this.id, this.params, this.masterHtmlElementIds);
+ this.pentahoDashboardService.renderDashboardDependingOnHtmlElement(this.pentahoPath, this.id, this.params, this.masterHtmlElementIds, this.setDefaults);
}
else {
this.pentahoDashboardService.renderDashboard(this.pentahoPath, this.id);
diff --git a/src/app/pentaho-dashboard/src/app/shared/pentaho-dashboard.service.ts b/src/app/pentaho-dashboard/src/app/shared/pentaho-dashboard.service.ts
index 14a2f4a..f6b8b28 100644
--- a/src/app/pentaho-dashboard/src/app/shared/pentaho-dashboard.service.ts
+++ b/src/app/pentaho-dashboard/src/app/shared/pentaho-dashboard.service.ts
@@ -132,13 +132,14 @@ export class PentahoDashboardService {
path: string,
htmlId:string,
params: string[],
- masterHtmlElementIds: string[]) {
+ masterHtmlElementIds: string[],
+ setDefaults: boolean) {
var dashboardScriptElement = this.createDashboardScriptElement();
var jsCode = "";
jsCode += this.getJsCodeRequireStart([path]);
- jsCode += this.getJsCodeForDashboardDependingOnHtmlElement(htmlId, params, masterHtmlElementIds);
+ jsCode += this.getJsCodeForDashboardDependingOnHtmlElement(htmlId, params, masterHtmlElementIds, setDefaults);
jsCode += this.getJsCodeRequireEnd();
dashboardScriptElement.innerHTML = jsCode;
@@ -176,13 +177,17 @@ export class PentahoDashboardService {
masterParams: string[]):string {
var jsCode = ", function(MasterDashboard, Dashboard) { ";
+
jsCode += "var currentDashboard = new Dashboard(\"" + htmlId + "\"); ";
jsCode += "currentDashboard.render(); ";
+
jsCode += "var masterDashboard = new MasterDashboard(\"" + masterDashboardHtmlId + "\"); ";
jsCode += "masterDashboard.render(); ";
+
for (let i in masterParams) {
jsCode += "masterDashboard.on(\"cdf " + masterParams[i] + ":fireChange\", function (evt) { currentDashboard.fireChange(\"" + params[i] + "\", evt.value); }); ";
}
+
jsCode += "} ";
return jsCode;
@@ -191,15 +196,22 @@ export class PentahoDashboardService {
private getJsCodeForDashboardDependingOnHtmlElement(
htmlId:string,
params: string[],
- masterHtmlElementIds: string[]):string {
+ masterHtmlElementIds: string[],
+ setDefaults: boolean):string {
var jsCode = ", function(Dashboard) { ";
+
jsCode += "var currentDashboard = new Dashboard(\"" + htmlId + "\"); ";
jsCode += "currentDashboard.render(); ";
+
for (let i in masterHtmlElementIds) {
jsCode += "var htmlElement" + i + " = document.getElementById(\"" + masterHtmlElementIds[i] + "\"); ";
jsCode += "htmlElement" + i + ".addEventListener(\"change\", function() { currentDashboard.fireChange(\"" + params[i] + "\", this.value); }); ";
+ if (setDefaults) {
+ jsCode += "currentDashboard.setParameter(\"" + params[i] + "\", htmlElement"+ i +".value); ";
+ }
}
+
jsCode += "} ";
return jsCode;