telerik-report-viewer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { TelerikReportViewerComponent } from './telerik-report-viewer.component';
4
+
5
+ describe('TelerikAngularReportViewerComponent', () => {
6
+ let component: TelerikReportViewerComponent;
7
+ let fixture: ComponentFixture<TelerikReportViewerComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [TelerikReportViewerComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(TelerikReportViewerComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,96 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ declare let $: any;
3
+
4
+ @Component({
5
+ selector: 'telerik-report-viewer',
6
+ standalone: true,
7
+ imports: [],
8
+ template: `<div id="reportViewer1">
9
+ Please wait, your report is loading
10
+ </div> `,
11
+ styles: [
12
+ `
13
+ #reportViewer1 {
14
+ position: absolute;
15
+ left: 5px;
16
+ right: 5px;
17
+ top: 5px;
18
+ bottom: 5px;
19
+ overflow: hidden;
20
+ font-family: Verdana, Arial;
21
+ min-height: 100vh;
22
+ }
23
+ `,
24
+ ],
25
+ })
26
+ export class TelerikReportViewerComponent {
27
+ @Input({ required: true }) serverUrl!: string;
28
+ @Input({ required: true }) reportSrc!: string;
29
+ @Input() serverUserName?: string;
30
+ @Input() serverPassword?: string;
31
+
32
+ @Input() reportName!: string;
33
+ @Input() scale: number = 1.0;
34
+ @Input() templateUrl?: string;
35
+
36
+ @Output() renderComplete = new EventEmitter<void>();
37
+
38
+ @Output() fileLoaded = new EventEmitter<void>();
39
+ @Output() renderingBegin = new EventEmitter<void>();
40
+ @Output() renderingEnd = new EventEmitter<void>();
41
+ @Output() exportBegin = new EventEmitter<void>();
42
+ @Output() exportEnd = new EventEmitter<void>();
43
+ @Output() error = new EventEmitter<string>();
44
+ @Output() pageReady = new EventEmitter<void>();
45
+
46
+ ngAfterViewInit() {
47
+ this.initReportViewer();
48
+ }
49
+
50
+ initReportViewer() {
51
+ if (!this.serverUrl || !this.reportSrc) {
52
+ console.error(
53
+ 'Missing required input values for the report viewer, Kindly add them.'
54
+ );
55
+ return;
56
+ }
57
+
58
+ const reportViewerConfig: any = {
59
+ reportServer: {
60
+ url: this.serverUrl,
61
+ },
62
+ reportSource: {
63
+ report: this.reportSrc,
64
+ },
65
+ scale: this.scale,
66
+ renderingBegin: () => {
67
+ this.renderingBegin.emit();
68
+ },
69
+ renderingEnd: () => {
70
+ this.renderingBegin.emit();
71
+ },
72
+ exportBegin: () => {
73
+ this.exportBegin.emit();
74
+ },
75
+ exportEnd: () => {
76
+ this.exportEnd.emit();
77
+ },
78
+ error: (errorMessage: any) => {
79
+ this.error.emit(errorMessage);
80
+ },
81
+ pageReady: () => {
82
+ this.pageReady.emit();
83
+ },
84
+ };
85
+
86
+ if (this.serverUserName && this.serverPassword) {
87
+ reportViewerConfig.reportServer.username = this.serverUserName;
88
+ reportViewerConfig.reportServer.password = this.serverPassword;
89
+ }
90
+
91
+ if (this.templateUrl) {
92
+ reportViewerConfig.templateUrl = this.templateUrl;
93
+ }
94
+ $('#reportViewer1').telerik_ReportViewer(reportViewerConfig);
95
+ }
96
+ }
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of telerik-angular-report-viewer
3
+ */
4
+
5
+ export * from './lib/telerik-report-viewer.component';
@@ -0,0 +1,15 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "../../tsconfig.json",
5
+ "compilerOptions": {
6
+ "outDir": "../../out-tsc/lib",
7
+ "declaration": true,
8
+ "declarationMap": true,
9
+ "inlineSources": true,
10
+ "types": []
11
+ },
12
+ "exclude": [
13
+ "**/*.spec.ts"
14
+ ]
15
+ }
@@ -0,0 +1,11 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "./tsconfig.lib.json",
5
+ "compilerOptions": {
6
+ "declarationMap": false
7
+ },
8
+ "angularCompilerOptions": {
9
+ "compilationMode": "partial"
10
+ }
11
+ }
@@ -0,0 +1,15 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "../../tsconfig.json",
5
+ "compilerOptions": {
6
+ "outDir": "../../out-tsc/spec",
7
+ "types": [
8
+ "jasmine"
9
+ ]
10
+ },
11
+ "include": [
12
+ "**/*.spec.ts",
13
+ "**/*.d.ts"
14
+ ]
15
+ }