{"version":3,"file":"dashboardService.js","sourceRoot":"","sources":["../../../../src/modules/services/applicationcore/dashboardService.ts"],"names":[],"mappings":"AAAA,IAAO,QAAQ,CAwHd;AAxHD,WAAO,QAAQ;IACX,IAAc,eAAe,CAqH5B;IArHD,WAAc,eAAe;QACzB;YAGI,0BAAoB,SAAuC,EAAU,GAA4C,EACrG,EAAgB,EAAU,QAA4B,EAAS,KAAsB,EAAQ,cAA0D;gBAD/I,cAAS,GAAT,SAAS,CAA8B;gBAAU,QAAG,GAAH,GAAG,CAAyC;gBACrG,OAAE,GAAF,EAAE,CAAc;gBAAU,aAAQ,GAAR,QAAQ,CAAoB;gBAAS,UAAK,GAAL,KAAK,CAAiB;gBAAQ,mBAAc,GAAd,cAAc,CAA4C;YACnK,CAAC;YAED,wCAAa,GAAb;gBACI,OAAO,IAAI,CAAC,SAAS,CAA4C,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,gBAAgB,EAAE,EACrG,EAAE;oBACK,KAAK,EAAE;wBACH,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE;4BACT,QAAQ,EAAE,MAAM,CAAC,0BAA0B,CAAC,oBAAoB;yBACnE;qBACJ;iBACJ,CAAC,CAAC;YACX,CAAC;YAGD,kCAAO,GAAP,UAAQ,WAAmB,EAAE,aAA6D;gBACtF,OAAO,IAAI,CAAC,SAAS,CAA4C,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,wBAAwB,EAAE;oBAC1G,WAAW,EAAE,WAAW;oBACxB,aAAa,EAAE,aAAa;iBAC/B,EAAE;oBACK,KAAK,EAAE;wBACH,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,KAAK;wBACd,WAAW,EAAE;4BACT,QAAQ,EAAE,MAAM,CAAC,0BAA0B,CAAC,oBAAoB;yBACnE;qBACJ;iBACJ,CAAC,CAAC;YACX,CAAC;YAED,6CAAkB,GAAlB,UAAmB,UAAkB,EAAE,aAA6D;gBAApG,iBAkEC;gBAjEE;;;;;;;;;;;0BAWU;gBACL,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAEvC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,oCAAoC,CAAC;gBAElE,IAAI,YAAY,GAAmD;oBAC/D,OAAO,EAAE,EAAE;iBACd,CAAA;gBACD,YAAY,GAAG,aAAa,CAAC;gBAE7B,GAAG,IAAI,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;gBAE7D,GAAG,IAAI,cAAc,GAAG,UAAU,CAAC;gBAEnC,OAAO,IAAI,CAAC,KAAK,CAAC;oBACd,MAAM,EAAE,KAAK;oBACb,YAAY,EAAE,aAAa;oBAC3B,GAAG,EAAE,GAAG;iBACX,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;oBACb,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAK,UAAU,GAAG,MAAM,CAAC;oBACxE,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;oBAE3F,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,iBAAiB;wBACxE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACpD,CAAC;yBAAM,CAAC,CAAC,qBAAqB;wBAC1B,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;wBACnD,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC;wBAC3B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBAChC,WAAW,CAAC,KAAK,EAAE,CAAC;wBACpB,WAAW,CAAC,MAAM,EAAE,CAAC;oBACzB,CAAC;oBAED,KAAI,CAAC,QAAQ,CAAC;wBACV,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,4BAA4B,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACnG,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,aAAa;oBACnB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC5E,IAAI,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBACnD,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAEhC,kDAAkD;oBAClD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,CAAgB;wBAChD,IAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAEhC,KAAI,CAAC,QAAQ,CAAC;4BACV,KAAI,CAAC,cAAc,CAAC,qBAAqB,CAA6C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC5G,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;oBAEH,kCAAkC;oBAClC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;YAEX,CAAC;YAID,oCAAS,GAAT;gBACI,OAAO,IAAI,CAAC,SAAS,CAAwC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,YAAY,EAAE,EAC7F,CAAC,CAAC;YACP,CAAC;YAED,4CAAiB,GAAjB;gBACI,OAAO,IAAI,CAAC,SAAS,CAA4C,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,iCAAiC,EAAE,EACtH,CAAC,CAAC;YACP,CAAC;YAjHM,wBAAO,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAC,OAAO,EAAC,gBAAgB,CAAC,CAAC;YAkHrF,uBAAC;SAAA,AAnHD,IAmHC;QAnHY,gCAAgB,mBAmH5B,CAAA;IACL,CAAC,EArHa,eAAe,GAAf,wBAAe,KAAf,wBAAe,QAqH5B;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;AACjG,CAAC,EAxHM,QAAQ,KAAR,QAAQ,QAwHd","sourcesContent":["module services {\r\n export module applicationcore {\r\n export class dashboardService implements interfaces.applicationcore.IDashboardService {\r\n static $inject = [\"$resource\", \"ENV\", \"$q\", \"$timeout\",\"$http\",\"generalService\"];\r\n\r\n constructor(private $resource: ng.resource.IResourceService, private ENV: interfaces.applicationcore.serverConfig,\r\n private $q: ng.IQService, private $timeout: ng.ITimeoutService,private $http: ng.IHttpService,public generalService: interfaces.applicationcore.IGeneralService) {\r\n }\r\n\r\n nvd3Dashboard(): ng.resource.IResourceClass {\r\n return this.$resource(this.ENV.DSP_URL + \"NVD3Dashboards\", {\r\n }, {\r\n query: {\r\n method: 'GET',\r\n isArray: true,\r\n interceptor: {\r\n response: config.appResourceNVD3Interceptor.parseResponseOptions\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n getData(dashboardId: number, connectSearch: interfaces.applicationcore.IFilterSearchObject): ng.resource.IResourceClass {\r\n return this.$resource(this.ENV.DSP_URL + \"NVD3Dashboards/GetData\", {\r\n dashboardId: dashboardId,\r\n connectSearch: connectSearch\r\n }, {\r\n query: {\r\n method: 'GET',\r\n isArray: false,\r\n interceptor: {\r\n response: config.appResourceNVD3Interceptor.parseResponseOptions\r\n }\r\n }\r\n });\r\n }\r\n\r\n getDashboardReport(reportCode: string, connectSearch: interfaces.applicationcore.IFilterSearchObject): ng.IPromise {\r\n /* return this.$resource(this.ENV.DSP_URL + \"NVD3Dashboards/GetData\", {\r\n reportCode: reportCode,\r\n connectSearch: connectSearch\r\n }, {\r\n query: {\r\n method: 'GET',\r\n isArray: false,\r\n interceptor: {\r\n response: config.appResourceNVD3Interceptor.parseResponseOptions\r\n }\r\n }\r\n });*/\r\n var pdfDownload = document.createElement(\"a\");\r\n document.body.appendChild(pdfDownload);\r\n \r\n var url = this.ENV.DSP_URL + 'NVD3Dashboards/GetDashboardReport?';\r\n \r\n var searchObject: interfaces.applicationcore.IFilterSearchObject = {\r\n filters: []\r\n }\r\n searchObject = connectSearch;\r\n \r\n url += 'connectSearch=' + btoa(JSON.stringify(searchObject));\r\n \r\n url += \"&reportCode=\" + reportCode;\r\n \r\n return this.$http({\r\n method: 'GET',\r\n responseType: 'arraybuffer',\r\n url: url,\r\n }).then((response) => {\r\n var filename = response.headers()['x-filename'] || reportCode + '.xls';\r\n var fileBlob = new Blob([response.data as BlobPart], { type: 'application/octet-stream' });\r\n \r\n if (navigator.appVersion.toString().indexOf('.NET') > 0) { // for IE browser\r\n window.navigator.msSaveBlob(fileBlob, filename);\r\n } else { // for other browsers\r\n var fileURL = window.URL.createObjectURL(fileBlob);\r\n pdfDownload.href = fileURL;\r\n pdfDownload.download = filename;\r\n pdfDownload.click();\r\n pdfDownload.remove();\r\n }\r\n \r\n this.$timeout(() => {\r\n this.generalService.displayMessage(\"Your download has started.\", Enum.EnumMessageType.Success);\r\n });\r\n }).catch((errorResponse) => {\r\n var fileBlob = new Blob([errorResponse.data], { type: 'application/json' });\r\n var fileURL = window.URL.createObjectURL(fileBlob);\r\n const reader = new FileReader();\r\n \r\n // This fires after the blob has been read/loaded.\r\n reader.addEventListener('loadend', (e: ProgressEvent) => {\r\n const text = e.target['result'];\r\n \r\n this.$timeout(() => {\r\n this.generalService.displayMessageHandler(JSON.parse(text));\r\n });\r\n });\r\n \r\n // Start reading the blob as text.\r\n reader.readAsText(fileBlob);\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n dashboard(): ng.resource.IResourceClass {\r\n return this.$resource(this.ENV.DSP_URL + \"Dashboards\", {\r\n });\r\n }\r\n\r\n dashboardDropdown(): ng.resource.IResourceClass {\r\n return this.$resource(this.ENV.DSP_URL + \"Dashboards/GetDashboardDropdown\", {\r\n });\r\n }\r\n }\r\n }\r\n angular.module(\"app\").service(\"dashboardService\", services.applicationcore.dashboardService);\r\n}"]}