Search results
Suggest a FeaturePDF

Add Web Report Designer to an Angular application using Angular CLI

This section explains the steps required to add Web Report Designer version higher than v5.2.xx to an Angular application.

This guide applies to angular version 17.x and above. If you are using an earlier version, please refer to the Getting Started for Earlier Version.

In Angular version 20.x and above, certain filenames have been updated. For example, the file previously named app.component.ts is now renamed to app.ts.

Prerequisites

Before getting started with Bold Report Designer, make sure your development environment includes the following,

Install the Angular CLI

Angular provides the easiest way to set Angular CLI projects using Angular CLI tool. To install the CLI application globally to your machine, run the following command in Command Prompt.

npm install -g @angular/cli@latest

To learn more about angular-cli commands refer here

Create a new application

To create a new Angular application run the below command in Command Prompt.

ng new project-name

E.g : ng new reportdesignerapp

The ng new command prompts you for information about features to include in the initial app project. Add the Angular Routing to your angular application by entering y in the prompt window then press Enter key. Now, choose the CSS stylesheet format using the arrow keys and then press Enter key. The Angular CLI installs the required Angular npm packages and other dependencies.

Configure Bold Report Designer in Angular CLI

Bold Reporting packages are distributed in npm as @boldreports/angular-reporting-components.

  1. To configure the web Report Designer component, change the directory to your application’s root folder.

    cd project-name
    
    E.g : cd reportdesignerapp
  2. Run the following commands to install the Bold Reports® Angular library.

    npm install @boldreports/angular-reporting-components --save
  3. Install the typings dependencies jquery, types/jquery and boldreports/types.

    npm install --save-dev jquery
    npm install --save-dev @types/jquery
    npm install --save-dev @boldreports/types
  4. Refer the jQuery script file (jquery.js) as given in the angular.json file within the projectname > scripts section (For example, reportdesignerapp > scripts).

    {
      "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
      "projects": {
        "reportdesignerapp": {
          "root": "src",
          "outDir": "dist",
          . . .
          . . .
          "styles": [
            "src/styles.css"
          ],
          "scripts": [
            "./node_modules/jquery/dist/jquery.js"
          ],
          . . .
          . . .
        }
      }
    }
  5. Add the typings jquery, and reports.all to the tsconfig.app.json file.

    {
      ...
      ...
      "compilerOptions": {
        ...
        ...
        "baseUrl": "",
        "types": [
          "jquery",
          "reports.all"
        ]
      },
      ...
      ...
    }
  6. Register the @bold-reports/types under the typeRoots node in the tsconfig.json file.

    Css script reference

Adding CSS reference

  1. Open the angular.json file from your application’s root directory.

  2. Refer the web Report Designer component style scripts bold.report-designer.min.css under the styles node of projects section as in the below code example.

    {
      "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
      "projects": {
        "reportdesignerapp": {
          "root": "src",
          "outDir": "dist",
          . . .
          . . .
          "styles": [
            "src/styles.css",
            "./node_modules/@boldreports/javascript-reporting-controls/Content/v2.0/tailwind-light/bold.report-designer.min.css"
          ],
          "scripts": [],
          . . .
          . . .
        }
      }
    }

    In the above code snippet the tailwind-light theme is used. You can modify the theme based on your application, refer the following syntax: ./node_modules/@boldreports/javascript-reporting-controls/Content/v2.0/[theme-name]/bold.report-designer.min.css.

Adding code mirror reference

Report Designer requires the code mirror scripts and styles to edit the SQL queries and Visual Basic code functions with syntax highlighter.

  1. Run the below command, to install the code mirror dependencies.

    npm install codemirror@5.45.0
  2. Open the angular.json file from your application’s root directory and Refer the code mirror script and styles under the scripts and styles node of projects section as in the below code example.

    {
      "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
      "projects": {
        "reportdesignerapp": {
          "root": "src",
          "outDir": "dist",
          . . .
          . . .
          "styles": [
            "src/styles.css",
            "./node_modules/@boldreports/javascript-reporting-controls/Content/v2.0/tailwind-light/bold.report-designer.min.css",
            "./node_modules/codemirror/lib/codemirror.css",
            "./node_modules/codemirror/addon/hint/show-hint.css"
          ],
          "scripts": [
            "./node_modules/codemirror/lib/codemirror.js",
            "./node_modules/codemirror/addon/hint/show-hint.js",
            "./node_modules/codemirror/addon/hint/sql-hint.js",
            "./node_modules/codemirror/mode/sql/sql.js",
            "./node_modules/codemirror/mode/vb/vb.js",
            "./node_modules/jquery/dist/jquery.js"
          ],
          . . .
          . . .
        }
      }
    }

Adding Report Designer component

To add the web Report Designer component refer the following steps:

  1. Open the app.ts or app.component.ts file.

  2. You can replace the following code snippet in the app.ts or app.component.ts file.

    import { Component } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { BoldReportDesignerModule  } from '@boldreports/angular-reporting-components';
    
    //Report Designer component dependent scripts
    import '@boldreports/javascript-reporting-controls/Scripts/v2.0/common/bold.reports.common.min';
    import '@boldreports/javascript-reporting-controls/Scripts/v2.0/common/bold.reports.widgets.min';
    
    //Report Viewer and Designer component scripts
    import '@boldreports/javascript-reporting-controls/Scripts/v2.0/bold.report-viewer.min';
    import '@boldreports/javascript-reporting-controls/Scripts/v2.0/bold.report-designer.min';
    
    @Component({
      selector: 'app-root',
      imports: [CommonModule, BoldReportDesignerModule],
      templateUrl: './app.html', // or app.component.html
      styleUrls: ['./app.css'] // or app.component.css
    })
    export class AppComponent {
      public serviceUrl: string;
    
      constructor() {
        // Initialize the Report designer properties here.
      }
    }
  3. Open the app.html or app.component.html file and initialize the web Report Designer.

  4. You can replace the following code snippet in the app.html or app.component.html file.

    <bold-reportdesigner id="designer" style="position: absolute;height: 550px; width: 1250px;">
    </bold-reportdesigner>

Create Web API service

The web Report Designer requires a Web API service to process the data and file actions. You can skip this step and use our online Web API services to create, edit, and browse reports or you must create any one of the following Web API service.

Set Web API service URL

To set Web API service, open the app.ts or app.component.ts file and add the code snippet as in the constructor.

import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BoldReportDesignerModule  } from '@boldreports/angular-reporting-components';

//Report Designer component dependent scripts
import '@boldreports/javascript-reporting-controls/Scripts/v2.0/common/bold.reports.common.min';
import '@boldreports/javascript-reporting-controls/Scripts/v2.0/common/bold.reports.widgets.min';

//Report Viewer and Designer component scripts
import '@boldreports/javascript-reporting-controls/Scripts/v2.0/bold.report-viewer.min';
import '@boldreports/javascript-reporting-controls/Scripts/v2.0/bold.report-designer.min';

@Component({
  selector: 'app-root',
  imports: [CommonModule, BoldReportDesignerModule],
  templateUrl: './app.html', // or app.component.html
  styleUrls: ['./app.css'] // or app.component.css
})
export class AppComponent {
  public serviceUrl: string;

  constructor() {
    this.serviceUrl = "https://demos.boldreports.com/services/api/ReportingAPI";
  }
}

Open the app.html or app.component.html to set ServiceUrl property of web Report Designer as in the following code snippet.

<bold-reportdesigner id="designer" [serviceUrl] = "serviceUrl" style="position: absolute;height: 550px; width: 1250px;">
</bold-reportdesigner>

Serve the application

  1. Go to the workspace folder (reportdesignerapp).

  2. Launch the server by using the CLI command ng serve, with the —open option.

    ng serve --open
  3. The ng serve command launches the server and the --open option automatically opens your browser to http://localhost:4200/ report designer output

Note: You can refer to our feature tour page for the Angular Report Designer to see its innovative features. Additionally, you can view our Angular Report Designer examples which demonstrate the rendering of SSRS RDLC and RDL reports.

See Also

Production deployment