{"version":3,"file":"ngx-custom-ssrs-reportviewer.mjs","sources":["../../../projects/reportviewer/src/lib/reportviewer.component.ts","../../../projects/reportviewer/src/lib/reportviewer.module.ts","../../../projects/reportviewer/src/public-api.ts","../../../projects/reportviewer/src/ngx-custom-ssrs-reportviewer.ts"],"sourcesContent":["import { Component, OnChanges, Input, Output, EventEmitter, SimpleChanges, ViewEncapsulation  } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n  selector: 'ssrs-reportviewer',\r\n  template: `\r\n  <div class=\"iframe-container\">\r\n    <iframe [src]=\"source\" scrolling=\"no\"></iframe>\r\n  </div>\r\n  `,\r\n  styles: [`\r\n  .iframe-container {\r\n    overflow: hidden;\r\n    padding-top: 56.25%;\r\n    position: relative;\r\n  }\r\n  \r\n  .iframe-container iframe {\r\n     border: 0;\r\n     height: 100%;\r\n     left: 0;\r\n     position: absolute;\r\n     top: 0;\r\n     width: 100%;\r\n  }\r\n  \r\n  /* 4x3 Aspect Ratio */\r\n  .iframe-container-4x3 {\r\n    padding-top: 75%;\r\n  }\r\n  `],\r\n  encapsulation: ViewEncapsulation.ShadowDom\r\n})\r\nexport class ReportViewerComponent implements OnChanges {\r\n\r\n  @Input()\r\n  reporturl: string;\r\n  @Input()\r\n  reportserver: string;\r\n  @Input()\r\n  showparameters?: string = \"false\";\r\n  @Input()\r\n  parameters?: any;\r\n  @Input()\r\n  language?: string = \"en-us\";\r\n  @Input()\r\n  width?: number = 100;\r\n  @Input()\r\n  height?: number = 100;\r\n  @Input()\r\n  toolbar?: string = \"true\";\r\n\r\n  @Output('error') onError = new EventEmitter<any>();\r\n  constructor(private sanitizer: DomSanitizer) { }\r\n\r\n\r\n  source: SafeResourceUrl;\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    if(!this.reporturl){\r\n      this.onError.emit(\"Src cannot be null\");\r\n    }\r\n\r\n    if ('reporturl' in changes) {\r\n      this.source = this.sanitizer\r\n      .bypassSecurityTrustResourceUrl(this.buildReportUrl());\r\n    }\r\n  }\r\n\r\n  public buildParameterString(): string {\r\n\r\n    var parameterString = \"\";\r\n\r\n    for (var param in this.parameters) {\r\n      if (param) {\r\n        if (this.parameters[param] instanceof Array === true) {\r\n          for (var arrayParam in this.parameters[param]) {\r\n            if (arrayParam) {\r\n              parameterString += \"&\" + param + \"=\" + this.parameters[param][arrayParam];\r\n            }\r\n          }\r\n        }\r\n        if (this.parameters[param] != null && this.parameters[param] instanceof Array === false) {\r\n          parameterString += \"&\" + param + \"=\" + this.parameters[param];\r\n        }\r\n        if (this.parameters[param] == null) {\r\n          parameterString += \"&\" + param + \":isnull=true\";\r\n        }\r\n      }\r\n    }\r\n    return parameterString;\r\n  }\r\n\r\n  public buildReportUrl() : string {\r\n    if (!this.reporturl) {\r\n      return;\r\n    }\r\n    var parameters = this.buildParameterString();\r\n    return this.reportserver + '?/'\r\n      + this.reporturl + '&rs:Embed=true'\r\n      + '&rc:Parameters=' + this.showparameters\r\n      + parameters\r\n      + '&rs:ParameterLanguage=' + this.language + \"&rc:Toolbar=\" + this.toolbar; \r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportViewerComponent } from './reportviewer.component';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [ReportViewerComponent],\r\n  imports: [\r\n  ],\r\n  exports: [ReportViewerComponent]\r\n})\r\nexport class ReportViewerModule { }\r\n","/*\r\n * Public API Surface of reportviewer\r\n */\r\n\r\nexport * from './lib/reportviewer.component';\r\nexport * from './lib/reportviewer.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}