UNPKG

ngx-ssrs-reportviewer-v2

Version:
115 lines (109 loc) 5.5 kB
import * as i0 from '@angular/core'; import { EventEmitter, Component, ViewEncapsulation, Input, Output, NgModule } from '@angular/core'; import * as i1 from '@angular/platform-browser'; class ReportViewerComponent { constructor(sanitizer) { this.sanitizer = sanitizer; this.showparameters = "false"; this.language = "en-us"; this.width = 100; this.height = 100; this.toolbar = "true"; this.onError = new EventEmitter(); } ngOnChanges(changes) { if (!this.reporturl) { this.onError.emit("Src cannot be null"); } if ('reporturl' in changes) { this.source = this.sanitizer .bypassSecurityTrustResourceUrl(this.buildReportUrl()); } } buildParameterString() { var parameterString = ""; for (var param in this.parameters) { if (param) { if (this.parameters[param] instanceof Array === true) { for (var arrayParam in this.parameters[param]) { if (arrayParam) { parameterString += "&" + param + "=" + this.parameters[param][arrayParam]; } } } if (this.parameters[param] != null && this.parameters[param] instanceof Array === false) { parameterString += "&" + param + "=" + this.parameters[param]; } if (this.parameters[param] == null) { parameterString += "&" + param + ":isnull=true"; } } } return parameterString; } buildReportUrl() { if (!this.reporturl) { return; } var parameters = this.buildParameterString(); return this.reportserver + '?/' + this.reporturl + '&rs:Embed=true' + '&rc:Parameters=' + this.showparameters + parameters + '&rs:ParameterLanguage=' + this.language + "&rc:Toolbar=" + this.toolbar; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ReportViewerComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ReportViewerComponent, isStandalone: false, selector: "ssrs-reportviewer", inputs: { reporturl: "reporturl", reportserver: "reportserver", showparameters: "showparameters", parameters: "parameters", language: "language", width: "width", height: "height", toolbar: "toolbar" }, outputs: { onError: "error" }, usesOnChanges: true, ngImport: i0, template: ` <div class="iframe-container"> <iframe [src]="source" scrolling="no"></iframe> </div> `, isInline: true, styles: [".iframe-container{overflow:hidden;padding-top:56.25%;position:relative}.iframe-container iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.iframe-container-4x3{padding-top:75%}\n"], encapsulation: i0.ViewEncapsulation.ShadowDom }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ReportViewerComponent, decorators: [{ type: Component, args: [{ selector: 'ssrs-reportviewer', template: ` <div class="iframe-container"> <iframe [src]="source" scrolling="no"></iframe> </div> `, encapsulation: ViewEncapsulation.ShadowDom, standalone: false, styles: [".iframe-container{overflow:hidden;padding-top:56.25%;position:relative}.iframe-container iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.iframe-container-4x3{padding-top:75%}\n"] }] }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { reporturl: [{ type: Input }], reportserver: [{ type: Input }], showparameters: [{ type: Input }], parameters: [{ type: Input }], language: [{ type: Input }], width: [{ type: Input }], height: [{ type: Input }], toolbar: [{ type: Input }], onError: [{ type: Output, args: ['error'] }] } }); class ReportViewerModule { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ReportViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: ReportViewerModule, declarations: [ReportViewerComponent], exports: [ReportViewerComponent] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ReportViewerModule }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ReportViewerModule, decorators: [{ type: NgModule, args: [{ declarations: [ReportViewerComponent], imports: [], exports: [ReportViewerComponent] }] }] }); /* * Public API Surface of reportviewer */ /** * Generated bundle index. Do not edit. */ export { ReportViewerComponent, ReportViewerModule }; //# sourceMappingURL=ngx-ssrs-reportviewer-v2.mjs.map