Skip to content

Commit 2bcb2b3

Browse files
Merge pull request #58 from munirathinaraoSF4993/master
feature(REPORT-534398): Bold Reports 14.1 Release changes
2 parents e6ffb70 + e3b4f64 commit 2bcb2b3

63 files changed

Lines changed: 661 additions & 363 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎angular.json‎

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@
2020
"outputPath": "dist",
2121
"index": "src/index.html",
2222
"main": "src/main.ts",
23-
"polyfills": [
24-
"zone.js"
25-
],
26-
"tsConfig": "tsconfig.app.json",
23+
"polyfills": "src/polyfills.ts",
24+
"tsConfig": "src/tsconfig.app.json",
2725
"assets": [
2826
"src/favicon.ico",
2927
"src/assets",
@@ -38,17 +36,13 @@
3836
"styles": [
3937
"src/styles.scss"
4038
],
41-
"scripts": [
42-
"./node_modules/jquery/dist/jquery.js"
43-
],
39+
"scripts": [],
4440
"allowedCommonJsDependencies": [
4541
"bootstrap",
46-
"prismjs",
47-
"@boldreports/javascript-reporting-controls/Scripts/v2.0/common/bold.reports.common.min",
48-
"@boldreports/javascript-reporting-controls/Scripts/v2.0/common/bold.reports.widgets.min",
49-
"@boldreports/javascript-reporting-controls/Scripts/v2.0/bold.report-viewer.min",
50-
"@boldreports/javascript-reporting-controls/Scripts/v2.0/bold.report-designer.min",
51-
"codemirror/lib/codemirror",
42+
"@boldreports/javascript-reporting-controls/Scripts/bold.report-viewer.min",
43+
"@boldreports/javascript-reporting-controls/Scripts/data-visualization/ej.bulletgraph.min",
44+
"@boldreports/javascript-reporting-controls/Scripts/data-visualization/ej.chart.min",
45+
"@boldreports/javascript-reporting-controls/Scripts/bold.report-designer.min",
5246
"codemirror/addon/hint/show-hint",
5347
"codemirror/addon/hint/sql-hint",
5448
"codemirror/mode/sql/sql",
@@ -78,12 +72,8 @@
7872
"maximumError": "30mb"
7973
}
8074
]
81-
},
82-
"development": {
83-
"outputHashing": "all"
8475
}
85-
},
86-
"defaultConfiguration": "production"
76+
}
8777
},
8878
"serve": {
8979
"builder": "@angular-devkit/build-angular:dev-server",
@@ -106,11 +96,8 @@
10696
"builder": "@angular-devkit/build-angular:karma",
10797
"options": {
10898
"main": "src/test.ts",
109-
"polyfills": [
110-
"zone.js",
111-
"zone.js/testing"
112-
],
113-
"tsConfig": "tsconfig.spec.json",
99+
"polyfills": "src/polyfills.ts",
100+
"tsConfig": "src/tsconfig.spec.json",
114101
"karmaConfig": "src/karma.conf.js",
115102
"styles": [
116103
"src/styles.scss"
@@ -126,8 +113,8 @@
126113
"builder": "@angular-devkit/build-angular:tslint",
127114
"options": {
128115
"tsConfig": [
129-
"tsconfig.app.json",
130-
"tsconfig.spec.json"
116+
"src/tsconfig.app.json",
117+
"src/tsconfig.spec.json"
131118
],
132119
"exclude": [
133120
"**/node_modules/**",
@@ -166,5 +153,6 @@
166153
}
167154
}
168155
}
169-
}
156+
},
157+
"defaultProject": "reports-cli"
170158
}

‎build/router.js‎

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,22 @@ const fs = require("fs");
33

44
let importTemplate = `import { {{component}} } from '{{path}}';`;
55
let childRouterTemplate = `{ path: '{{path}}', component: {{component}} }`;
6-
let routerTempalte = `{
6+
let routerTemplate = `{
77
path: '',
88
component: {{component}},
99
children: [
1010
{{childRoute}}
1111
]
1212
}`;
1313

14-
let importStatements = [`import { BrowserModule } from '@angular/platform-browser';
15-
import { Type, ModuleWithProviders, NgModule } from '@angular/core';
16-
import { BoldReportsModule } from '@boldreports/angular-reporting-components';
17-
import { Routes, RouterModule } from '@angular/router';
14+
let importStatements = [`import { Routes, provideRouter, withHashLocation } from '@angular/router';
1815
import { AppComponent } from './app.component';
1916
import { PreviewComponent } from './preview/preview.component';
2017
import { HeaderComponent } from './header/header.component';
2118
import { SidebarComponent } from './sidebar/sidebar.component';
2219
import { MainContentComponent } from './main-content/main-content.component';`];
23-
let moduleTemplate = `@NgModule({
24-
declarations: components,
25-
imports: [
26-
BrowserModule,
27-
BoldReportsModule,
28-
RouterModule.forRoot(routes, { useHash: true })
29-
],
30-
exports: [RouterModule],
31-
})
20+
let moduleTemplate = `export const appRoutingProviders = provideRouter(routes, withHashLocation());`;
3221

33-
export class AppRouterModule { }
34-
`
3522
let components = ['AppComponent', 'PreviewComponent', 'HeaderComponent', 'SidebarComponent', 'MainContentComponent'];
3623
let routes = [];
3724
let childRoutes = [];
@@ -40,9 +27,9 @@ let previewChildRoutes = [];
4027
gulp.task('generate-router', (done) => {
4128
let samples = JSON.parse(fs.readFileSync('./src/app/components/samples.json', 'utf8')).samples;
4229
let defaultSampleData = samples[0];
43-
let initilaReportRouterPath = defaultSampleData.routerPath ? defaultSampleData.basePath + '/' + defaultSampleData.routerPath : defaultSampleData.basePath;
30+
let initilaReportRouterPath = defaultSampleData.routerPath ? defaultSampleData.basePath + '/' + defaultSampleData.routerPath : defaultSampleData.basePath;
4431

45-
//Initila routing
32+
//Initial routing
4633
routes.push(`{ path: '', redirectTo: '${initilaReportRouterPath}/', pathMatch: 'full' }`);
4734

4835
for (let i = 0; i < samples.length; i++) {
@@ -65,19 +52,16 @@ gulp.task('generate-router', (done) => {
6552
components.push('RDLCComponent');
6653
previewChildRoutes.push(childRouterTemplate.replace('{{path}}', `report-designer/rdlc/`).replace('{{component}}', 'RDLCComponent'));
6754

68-
routes.push(routerTempalte.replace('{{component}}', `AppComponent`).replace('{{childRoute}}', childRoutes.join(',\n\ ')));
69-
routes.push(routerTempalte.replace('{{component}}', `PreviewComponent`).replace('{{childRoute}}', previewChildRoutes.join(',\n\ ')));
55+
routes.push(routerTemplate.replace('{{component}}', `AppComponent`).replace('{{childRoute}}', childRoutes.join(',\n\ ')));
56+
routes.push(routerTemplate.replace('{{component}}', `PreviewComponent`).replace('{{childRoute}}', previewChildRoutes.join(',\n\ ')));
7057

7158
//re-routing
7259
routes.push(`{ path: '**', redirectTo: '${initilaReportRouterPath}/' }`);
7360
let importContent = importStatements.join('\n');
74-
let componentContent = `const components: any[] | Type<any> | ModuleWithProviders<{}> = [
75-
${components.join(',\n ')}
76-
];`;
7761
let routerContent = `const routes: Routes = [
7862
${routes.join(',\n\ ')}
7963
];`;
80-
let Content = importContent + '\n\r' + componentContent + '\n\r' + routerContent + '\n\r' + moduleTemplate;
64+
let Content = importContent + '\n\r' + routerContent + '\n\r' + moduleTemplate;
8165
fs.writeFileSync('./src/app/common/app.routing.module.ts', Content, 'utf8');
8266
done();
8367
});

‎build/serve.js‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
const gulp = require("gulp");
2-
const { exec } = require('shelljs');
3-
var argv = require('yargs').argv;
1+
import yargs from 'yargs';
2+
import { hideBin } from 'yargs/helpers';
3+
import gulp from 'gulp';
4+
import shelljs from 'shelljs';
5+
import runSequence from 'gulp4-run-sequence';
6+
const argv = yargs(hideBin(process.argv)).parse();
7+
const { exec } = shelljs;
48
const ngCli = "node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng";
5-
const runSequence = require('gulp4-run-sequence');
6-
79
gulp.task('serve', (done) => {
810
runSequence('update-extensions-export', 'generate-router', () => {
9-
exec(`${ngCli} serve --open --port ${argv?.port || ''}`);
11+
const portArg = argv.port ? `--port ${argv.port}` : '';
12+
exec(`${ngCli} serve --open ${portArg}`);
1013
done();
1114
});
1215
});

‎package.json‎

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,13 @@
88
"serve": "gulp serve"
99
},
1010
"dependencies": {
11-
"@angular/animations": "21.2.17",
12-
"@angular/common": "21.2.17",
13-
"@angular/compiler": "21.2.17",
14-
"@angular/core": "21.2.17",
15-
"@angular/forms": "21.2.17",
16-
"@angular/platform-browser": "21.2.17",
17-
"@angular/platform-browser-dynamic": "21.2.17",
18-
"@angular/router": "21.2.17",
11+
"@angular/animations": "22.0.5",
12+
"@angular/common": "22.0.5",
13+
"@angular/compiler": "22.0.5",
14+
"@angular/core": "22.0.5",
15+
"@angular/forms": "22.0.5",
16+
"@angular/platform-browser": "22.0.5",
17+
"@angular/router": "22.0.5",
1918
"@boldreports/angular-reporting-components": "14.1.12",
2019
"@boldreports/javascript-reporting-controls": "14.1.12",
2120
"@boldreports/javascript-reporting-extensions": "14.1.12",
@@ -32,16 +31,17 @@
3231
"prismjs": "1.30.0",
3332
"rxjs": "6.6.0",
3433
"shelljs": "0.8.5",
35-
"tslib": "2.0.0",
36-
"zone.js": "0.15.1"
34+
"tslib": "2.6.3",
35+
"zone.js": "0.16.2"
3736
},
3837
"devDependencies": {
39-
"@angular-devkit/build-angular": "21.2.7",
40-
"@angular/cli": "21.2.7",
41-
"@angular/compiler-cli": "21.2.17",
38+
"@angular-devkit/build-angular": "22.0.5",
39+
"@angular/build": "22.0.5",
40+
"@angular/cli": "22.0.5",
41+
"@angular/compiler-cli": "22.0.5",
4242
"@types/jasmine": "2.8.8",
4343
"@types/jasminewd2": "2.0.3",
44-
"@types/jquery": "3.3.29",
44+
"@types/jquery": "4.0.1",
4545
"@types/node": "8.9.4",
4646
"codelyzer": "6.0.0",
4747
"gulp": "^4.0.2",
@@ -56,8 +56,8 @@
5656
"protractor": "7.0.0",
5757
"require-dir": "1.2.0",
5858
"ts-node": "8.3.0",
59-
"tslint": "6.1.0",
60-
"typescript": "5.9.3",
59+
"tslint": "6.1.3",
60+
"typescript": "6.0.3",
6161
"typo-js": "1.0.3"
6262
}
6363
}

‎src/app/common/app.component.ts‎

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,34 @@
1-
import { Component, ViewChild, OnInit, HostListener } from '@angular/core';
1+
import { ChangeDetectorRef, Component, ViewChild, OnInit, HostListener } from '@angular/core';
2+
import { CommonModule } from '@angular/common';
23
import { Subscription } from 'rxjs';
34
import 'bootstrap';
45
import { RouterService } from './router.service';
56
import samples from '../components/samples.json';
67
import { MainContentComponent } from './main-content/main-content.component';
78
import { SidebarComponent } from './sidebar/sidebar.component';
9+
import { HeaderComponent } from './header/header.component';
810
import { Title, Meta } from '@angular/platform-browser';
911

1012
const data = samples;
1113
type sampleInfo = typeof data;
1214

1315
@Component({
1416
selector: 'ej-main',
17+
standalone: true,
18+
imports: [CommonModule, HeaderComponent, SidebarComponent, MainContentComponent],
1519
templateUrl: './app.component.html',
16-
styleUrls: ['./app.component.scss'],
17-
standalone: false
20+
styleUrls: ['./app.component.scss']
1821
})
1922
export class AppComponent implements OnInit {
2023
tocSlideLeft = false;
2124
enableOverlay = false;
2225
tocMobileSlideLeft = false;
2326
private subscriptions = new Subscription();
24-
@ViewChild('body', { static: true }) body: MainContentComponent;
25-
@ViewChild('sidebar', { static: true }) sidebar: SidebarComponent;
26-
constructor(private routerService: RouterService, private titleService: Title, private meta: Meta) { }
27+
@ViewChild('body', { static: true }) body!: MainContentComponent;
28+
@ViewChild('sidebar', { static: true }) sidebar!: SidebarComponent;
29+
constructor(private routerService: RouterService, private titleService: Title, private meta: Meta, private cdr: ChangeDetectorRef) { }
2730
ngOnInit(): void {
28-
let sampleData: sampleInfo['samples'][0];
31+
let sampleData!: sampleInfo['samples'][0];
2932
this.subscriptions.add(this.routerService.sampleUrl.subscribe((url) => {
3033
if (url === '/') {
3134
sampleData = data.samples[0];
@@ -37,9 +40,9 @@ export class AppComponent implements OnInit {
3740
if (!sampleData) {
3841
sampleData = data.samples[0];
3942
}
40-
this.sidebar.selectedPath = sampleData.routerPath;
4143
this.body.loadSourceCode(sampleData);
4244
this.updateMetaData(sampleData);
45+
this.cdr.markForCheck();
4346
}));
4447
let bannerData = data.banner;
4548
this.subscriptions.add(this.routerService.navEnd.subscribe(() => {
@@ -64,9 +67,9 @@ export class AppComponent implements OnInit {
6467
this.meta.updateTag({ name: 'description', property: 'og:description', content: sampleData.metaData.description });
6568
}
6669

67-
@HostListener('window:resize')
68-
onResize(): void {
69-
let sampleData: sampleInfo['samples'][0];
70+
@HostListener('window:resize', ['$event'])
71+
onResize(event?: Event): void {
72+
let sampleData!: sampleInfo['samples'][0];
7073
this.subscriptions.add(this.routerService.sampleUrl.subscribe((url) => {
7174
if (url === '/') {
7275
sampleData = data.samples[0];
@@ -91,7 +94,7 @@ export class AppComponent implements OnInit {
9194
}
9295

9396
private setReportsHeight(sampleData: sampleInfo['samples'][0]): void {
94-
let style: HTMLElement = document.getElementById('reports-style');
97+
let style: HTMLElement | null = document.getElementById('reports-style');
9598
if (!style) {
9699
style = document.createElement('style');
97100
style.id = 'reports-style';

‎src/app/common/header/header.component.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@
2020
<!-- <a class="ej-sb-button nav-link bold-schedule-demo" href="https://www.boldreports.com/schedule-free-demo" target="_blank" rel="noreferrer">Schedule
2121
Free Demo</a> -->
2222
<a class="ej-sb-button nav-link product-detail" href="https://www.boldreports.com/embedded-reporting/angular-report-viewer" target="_blank" rel="noreferrer">Product Detail</a>
23-
<a class="ej-sb-button nav-link try-it-free" href="https://app.boldid.net/register/reports/enterprise?evaluation=v2&leadsource=demos.boldreports.com&gclid=&referrerroriginurl=https://demos.boldreports.com/pricing&secondaryreferraloriginurl=https://demos.boldreports.com/&host=server&quantity=1" target="_blank" rel="noreferrer">Try it Free</a>
23+
<a class="ej-sb-button nav-link try-it-free" href="https://www.boldreports.com/register/reports?evaluation=v2" rel="noreferrer">Try it Free</a>
2424
</div>
2525
</div>

‎src/app/common/header/header.component.ts‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
import { Component, Output, EventEmitter, Inject } from '@angular/core';
2+
import { CommonModule, DOCUMENT } from '@angular/common';
23
import samples from '../../components/samples.json';
34
import { Router } from '@angular/router';
4-
import { DOCUMENT } from '@angular/common';
55
import { RouterService } from '../router.service';
66

77
const data = samples;
88

99
@Component({
1010
selector: 'ej-header',
11+
standalone: true,
12+
imports: [CommonModule],
1113
templateUrl: './header.component.html',
12-
styleUrls: ['./header.component.scss'],
13-
standalone: false
14+
styleUrls: ['./header.component.scss']
1415
})
1516
export class HeaderComponent {
1617
platforms: string[];
1718
platformName = data.platform;
18-
document;
19-
constructor(private routerService: RouterService, private router: Router, @Inject(DOCUMENT) document) {
19+
document: Document;
20+
constructor(private routerService: RouterService, private router: Router, @Inject(DOCUMENT) document: Document) {
2021
this.document = document;
2122
this.platforms = Object.keys(data.otherPlatforms);
2223
}
@@ -40,7 +41,7 @@ export class HeaderComponent {
4041
}
4142
platformSamplePath = this.getRouterPath(this.platformName, platform, sampleName);
4243
const reportPath = routerData.reportRouterPath ? (platformBasePath + '/' + platformSamplePath) : platformSamplePath;
43-
window.open(this.document.location.origin + "/" + data.otherPlatforms[platform] + reportPath, '_self');
44+
window.open(this.document.location.origin + "/" + (data.otherPlatforms as Record<string, string>)[platform] + reportPath, '_self');
4445
}
4546

4647
private getRouterPath(curPlatform: string, targetplatform: string, sampleName: string): string {

‎src/app/common/main-content/main-content.component.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ <h1 class="ej-title" #title></h1>
7878
<div class="cnt-text cnt-text-3" #features[2]></div>
7979
</div>
8080
</div>
81-
<a class="free-trial-url" target="_blank" rel="noreferrer" #freeTrialUrl>
81+
<a class="free-trial-url" target="_blank" rel="noreferrer" [href]="data.banner.freeTrialUrl">
8282
<div class="free-trial">TRY IT FOR FREE</div>
8383
</a>
8484
</div>

0 commit comments

Comments
 (0)