{"version":3,"sources":["webpack:///./src/app/@standalone/masscomm-attachments/masscomm-attachments.module.ts","webpack:///./src/app/@standalone/masscomm-attachments/masscomm-attachment.ts","webpack:///./src/app/@standalone/masscomm-attachments/masscomm-attachments.component.html","webpack:///./src/app/@standalone/masscomm-attachments/masscomm-attachments.config.ts","webpack:///./src/app/@standalone/masscomm-attachments/masscomm-attachments.component.ts","webpack:///./src/app/@standalone/masscomm-attachments/masscomm-attachments.component.scss","webpack:///./src/app/@standalone/masscomm-attachments/masscomm-attachments.service.ts"],"names":["shared_module_1","__webpack_require__","core_1","masscomm_attachments_component_1","router_1","masscomm_attachments_service_1","MasscommAttachmentsModule","__decorate","NgModule","imports","SharedModule","RouterModule","forChild","path","component","MasscommAttachmentsComponent","declarations","providers","MasscommAttachmentsService","exports","MassCommAttachment","name","url","this","Object","defineProperty","prototype","ext","split","pop","module","ATTACHMENT_CONFIG","tableOptions","rowClickeable","columnsDefinition","label","flex_xs","flex_gt_xs","cellTemplate","sortable","sortKey","asc","noDataMessage","fsr_loading_service_1","masscomm_attachment_1","masscomm_attachments_config_1","_loadingService","_attachmentsService","ngOnInit","JSON","parse","stringify","attachments","$global","map","f","totalItems","length","pageSize","orderAsc","sort","stop","onSortingChange","download","attachment","_this","start","downloadAttachment","subscribe","setTimeout","error","callback","data","param","a","b","Component","selector","LoadingService","rxjs_1","device_service_1","_device","fileName","Observable","observer","next","complete","Injectable","DeviceService"],"mappings":"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","file":"21.736b8edccf87244c581d.js","sourcesContent":["import { LoadingService } from './../../shared/components/fsr-loading/fsr-loading.service';\r\nimport { SharedModule } from './../../shared/shared.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { MasscommAttachmentsComponent } from './masscomm-attachments.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MasscommAttachmentsService } from './masscomm-attachments.service';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild([{\r\n path: '',\r\n component: MasscommAttachmentsComponent\r\n }])\r\n ],\r\n declarations: [MasscommAttachmentsComponent],\r\n providers: [MasscommAttachmentsService]\r\n})\r\nexport class MasscommAttachmentsModule { }\r\n","export class MassCommAttachment {\r\n\r\n constructor(public name: string, public url: string) {}\r\n\r\n public get fileExt(): string {\r\n const ext = this.name.split('.').pop();\r\n return ext ? ext : 'file';\r\n }\r\n}","module.exports = \"
\\r\\n
\\r\\n attach_file\\r\\n

Communication Attachments

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\"","export const ATTACHMENT_CONFIG = {\r\n tableOptions: {\r\n rowClickeable: false,\r\n columnsDefinition: [\r\n {\r\n label: 'Type',\r\n flex_xs: 20,\r\n flex_gt_xs: 10,\r\n cellTemplate:\r\n `
\r\n \r\n
`\r\n },\r\n {\r\n label: 'Name',\r\n flex_xs: 60,\r\n flex_gt_xs: 80,\r\n sortable: true,\r\n sortKey: 'name',\r\n asc: true,\r\n cellTemplate:\r\n `
{{ data.name }}
`\r\n },\r\n {\r\n label: 'Download',\r\n flex_xs: 20,\r\n flex_gt_xs: 10,\r\n cellTemplate:\r\n `
\r\n file_download\r\n
`\r\n }\r\n ],\r\n noDataMessage: \"The attachment you are attempting to open is no longer available.\"\r\n }\r\n};\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LoadingService } from '../../shared/components/fsr-loading/fsr-loading.service';\r\nimport { DeviceService } from '../../shared/services/device.service';\r\nimport { MassCommAttachment } from './masscomm-attachment';\r\nimport { ATTACHMENT_CONFIG } from './masscomm-attachments.config';\r\nimport { MasscommAttachmentsService } from './masscomm-attachments.service';\r\n\r\n@Component({\r\n selector: 'fsr-masscomm-attachments',\r\n templateUrl: './masscomm-attachments.component.html',\r\n styleUrls: ['./masscomm-attachments.component.scss']\r\n})\r\nexport class MasscommAttachmentsComponent implements OnInit {\r\n\r\n attachments: MassCommAttachment[];\r\n tableOptions: any;\r\n totalItems: number;\r\n pageSize: number;\r\n orderAsc: boolean;\r\n\r\n constructor(private _loadingService: LoadingService,\r\n private _attachmentsService: MasscommAttachmentsService) { }\r\n\r\n ngOnInit() {\r\n this.tableOptions = JSON.parse(JSON.stringify(ATTACHMENT_CONFIG.tableOptions));\r\n this.attachments = $global.attachments.map(f => new MassCommAttachment(f.name, f.url));\r\n this.totalItems = this.attachments.length;\r\n this.pageSize = 1;\r\n this.orderAsc = true;\r\n this.sort();\r\n this._loadingService.stop('masscomm-attachments');\r\n }\r\n\r\n onSortingChange() {\r\n this.orderAsc = !this.orderAsc;\r\n this.sort();\r\n }\r\n\r\n download(attachment: MassCommAttachment): void {\r\n if (!attachment.url) {\r\n return;\r\n }\r\n\r\n this._loadingService.start('attachmentDownload', 'DOWNLOADING FILE...', true);\r\n this._attachmentsService.downloadAttachment(attachment.url, attachment.name)\r\n .subscribe(() => {\r\n setTimeout(() => {\r\n this._loadingService.stop('attachmentDownload');\r\n }, 2000);\r\n }, error => {\r\n this._loadingService.stop('attachmentDownload');\r\n });\r\n }\r\n\r\n callback(data: any) {\r\n this[data.name](data.param);\r\n }\r\n\r\n private sort(): void {\r\n this.attachments = this.orderAsc ? this.attachments.sort((a, b) => (a.name > b.name) ? 1 : -1)\r\n : this.attachments.sort((a, b) => (a.name > b.name) ? -1 : 1);\r\n }\r\n}\r\n","module.exports = \".standalone {\\n display: block;\\n margin: 0;\\n padding: 0;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background-color: #eaeff3;\\n color: white;\\n font-family: Roboto, 'Helvetica Neue', sans-serif; }\\n .standalone header {\\n display: flex;\\n align-items: center;\\n background: #0076a2;\\n height: 70px;\\n width: 100%;\\n padding-left: 20px; }\\n .standalone .page-content {\\n padding: 40px;\\n background-color: #eaeff3;\\n overflow: auto;\\n height: calc(100vh - (70px + 65px)); }\\n .standalone footer {\\n background: #0076a2;\\n position: fixed;\\n width: 100%;\\n bottom: 0;\\n height: 65px;\\n text-align: center;\\n line-height: 65px; }\\n .masscomm-attachments h2 {\\n font-size: 18px; }\\n .masscomm-attachments .table-container ::ng-deep table thead td .sortable-column .sort-icon {\\n position: absolute; }\\n .masscomm-attachments .table-container ::ng-deep table tbody tr {\\n padding: 5px 25px !important; }\\n .masscomm-attachments .table-container ::ng-deep table tbody .name-col {\\n font-weight: bold; }\\n .masscomm-attachments .table-container ::ng-deep table tbody .download-btn {\\n width: 70px;\\n text-align: center; }\\n .masscomm-attachments .table-container ::ng-deep table tbody .download-btn.disabled {\\n opacity: 0.2; }\\n .masscomm-attachments .table-container ::ng-deep table tbody .download-btn.disabled mat-icon {\\n cursor: not-allowed !important; }\\n .masscomm-attachments .table-container ::ng-deep table tbody .cell-extension-image {\\n height: 32px; }\\n @media (max-width: 600px) {\\n .masscomm-attachments .page-content {\\n padding: 20px !important; }\\n .masscomm-attachments .page-content .table-container ::ng-deep .name-col {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n width: 170px !important; } }\\n @media (min-width: 601px) {\\n .masscomm-attachments .table-container {\\n max-height: 100vh; } }\\n\"","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DeviceService } from '../../shared/services/device.service';\r\n\r\n@Injectable()\r\nexport class MasscommAttachmentsService {\r\n\r\n constructor(private _device: DeviceService) { }\r\n\r\n downloadAttachment(url: string, fileName: string) {\r\n return new Observable((observer: any) => {\r\n this._device.download(url, fileName);\r\n observer.next(true);\r\n observer.complete();\r\n });\r\n }\r\n}\r\n"],"sourceRoot":""}