{"version":3,"sources":["D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstract.component.html","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstract.component.ts","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractDetails.component.html","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractDetails.component.ts","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractForm.component.html","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractForm.component.ts","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractInfo.component.html","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractInfo.component.ts","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractListSubmitter.component.html","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractListSubmitter.component.ts","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/app.component.css","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/approver.component.html","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/approver.component.ts","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/reviewDetails4Submission.component.html","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/reviewDetails4Submission.component.ts","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/submitter.module.ts","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/userDetails.component.html","D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/userDetails.component.ts"],"names":[],"mappings":"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","file":"submitter.module.chunk.js","sourcesContent":["module.exports = \"<div style=\\\"color:navy;background-color:lightblue;border-radius: 0.25em 0.25em;font-weight:bold;margin:5px; padding:10px;\\\">\\r\\n Submission Home\\r\\n <a [routerLink]=\\\"['/admin']\\\" style=\\\"float:right;color:navy\\\" *ngIf=\\\"isPreview\\\"><< Back to Admin Home</a>\\r\\n</div>\\r\\n\\r\\n<div style=\\\"margin:auto;width:90%\\\">\\r\\n <div [innerHTML]=\\\"submissionDesc\\\"></div><br/>\\r\\n <div *ngIf=\\\"eventContacts\\\">If you have any questions, please email <a href=\\\"mailto:{{eventContacts}}\\\">{{eventContacts}}</a></div><br/>\\r\\n <div *ngIf=\\\"toShow; else elseBlock\\\">\\r\\n <a [routerLink]=\\\"['abstractForm']\\\" [queryParams]=\\\"{preview:isPreview}\\\" class=\\\"btn btn-success\\\"><strong>Add a new submission</strong></a>\\r\\n </div>\\r\\n <br/>\\r\\n <ng-template #elseBlock>\\r\\n <p><strong>This submission has been closed</strong></p>\\r\\n </ng-template>\\r\\n <abstract-list-submitter [toShow]=\\\"toShow\\\"></abstract-list-submitter>\\r\\n <br />\\r\\n\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstract.component.html\n// module id = ../../../../../src/app/submitter/abstract.component.html\n// module chunks = submitter.module","import { AbstractService } from '../common/abstract.service';\r\nimport { Component, OnInit, AfterViewInit, DoCheck } from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray, FormsModule } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'abstract',\r\n templateUrl: './abstract.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\n\r\nexport class abstractComponent implements OnInit {\r\n\tconstructor(\r\n private abstractService: AbstractService,\r\n private router: Router,\r\n\r\n ){}\r\n\r\n eventInfo:any = [];\r\n submissionDesc:string;\r\n deadline:string;\r\n toShow:boolean = true;\r\n theDeadline:Date;\r\n isPreview: number = 0;\r\n eventContacts: string;\r\n reviewData: any;\r\n\r\n getEventInfo(): void {\r\n let today: Date = new Date();\r\n let theDate: Date = new Date(today.setDate(today.getDate() - 1));\r\n \r\n this.abstractService.getEventInfo()\r\n .subscribe(async eventInfo => {\r\n await(this.eventInfo = eventInfo);\r\n //console.log(this.eventInfo);\r\n try {\r\n this.submissionDesc = this.eventInfo[0].SubmissionDescHTML;\r\n this.deadline = this.eventInfo[0].SubmissionEndDate;\r\n //console.log(this.deadline);\r\n if (this.deadline && this.deadline != \"\") {\r\n this.theDeadline = new Date(this.deadline);\r\n //console.log(theDate);\r\n //console.log(this.theDeadline);\r\n if (theDate > this.theDeadline) {\r\n this.toShow = false;\r\n sessionStorage.setItem(\"readonly\", \"true\");\r\n }\r\n else {\r\n sessionStorage.setItem(\"readonly\", \"false\");\r\n }\r\n }\r\n else {\r\n sessionStorage.setItem(\"readonly\", \"false\");\r\n }\r\n }\r\n finally { }\r\n });\r\n }\r\n\r\n ngOnInit():void {\r\n var theURL = window.location.search.split('preview=');\r\n //console.log(theURL);\r\n if (theURL.length > 1 && theURL[1].toLowerCase().trim() == '1') {\r\n this.isPreview = 1;\r\n }\r\n this.getEventInfo();\r\n if (sessionStorage.getItem(\"eventContacts\"))\r\n this.eventContacts = sessionStorage.getItem(\"eventContacts\");\r\n \r\n }\r\n\r\n getReviewData(sid: string): any {\r\n this.abstractService.getAllScores4Submission(sid)\r\n .subscribe(async reviewData => {\r\n if (reviewData.length > 0) {\r\n await (this.reviewData = reviewData);\r\n //console.log(reviewData);\r\n }\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstract.component.ts","module.exports = \"<div>\\r\\n <div style=\\\"background-color:lightblue;width:auto;border-radius: 0.5em 0.5em; font-weight:bold; padding:10px\\\">Update Submission</div>\\r\\n <br/>\\r\\n <form #abstractForm=\\\"ngForm\\\">\\r\\n\\r\\n <div *ngIf=\\\"abstractDetails; let abstractDetails; else loading\\\">\\r\\n <div class=\\\"container\\\" style=\\\"background-color:whitesmoke;width:80%\\\">\\r\\n <div *ngFor=\\\"let theField of abstractFields\\\">\\r\\n <span *ngIf=\\\"theField.inSubmitterForm !== 'n' && theField.pageNumber == currentPageNumber\\\">\\r\\n <!-- <dynamic-field [theField]=\\\"theField\\\" [theFormData]=\\\"abstractFormData\\\"\\r\\n [theLovValues]=\\\"getLovsByType(theField.model)\\\"\\r\\n [theFieldValue]=\\\"abstractDetails[theField.model]\\\"\\r\\n [uploader]=\\\"uploader\\\"\\r\\n class=\\\"row\\\">\\r\\n </dynamic-field>-->\\r\\n <span [ngSwitch]=\\\"theField.model\\\">\\r\\n <span *ngSwitchCase=\\\"'SubSESSIONLOVID'\\\">\\r\\n <dynamic-field [theField]=\\\"theField\\\" [theFormData]=\\\"abstractFormData\\\"\\r\\n [theLovValues]=\\\"subLovs\\\"\\r\\n [theFieldValue]=\\\"abstractDetails[theField.model]\\\"\\r\\n [uploader]=\\\"uploader\\\"\\r\\n class=\\\"row mt-3\\\" style=\\\"margin:5px\\\">\\r\\n </dynamic-field>\\r\\n </span>\\r\\n <span *ngSwitchCase=\\\"'SESSIONLOVID'\\\">\\r\\n <dynamic-field [theField]=\\\"theField\\\" [theFormData]=\\\"abstractFormData\\\"\\r\\n [theLovValues]=\\\"getLovsByType(theField.model)\\\"\\r\\n [theFieldValue]=\\\"abstractDetails[theField.model]\\\"\\r\\n [uploader]=\\\"uploader\\\"\\r\\n (childLovs)=\\\"setChildLovs($event)\\\"\\r\\n class=\\\"row mt-3\\\">\\r\\n </dynamic-field>\\r\\n </span>\\r\\n <span *ngSwitchDefault>\\r\\n <dynamic-field [theField]=\\\"theField\\\" [theFormData]=\\\"abstractFormData\\\"\\r\\n [theLovValues]=\\\"getLovsByType(theField.model)\\\"\\r\\n [theFieldValue]=\\\"abstractDetails[theField.model]\\\"\\r\\n [uploader]=\\\"uploader\\\"\\r\\n class=\\\"row mt-3\\\">\\r\\n </dynamic-field>\\r\\n </span>\\r\\n </span>\\r\\n </span>\\r\\n </div>\\r\\n\\r\\n <ng-template #loading>\\r\\n <div style=\\\"margin:auto;width:50%;\\\">\\r\\n <img src=\\\"assets/img/loading.png\\\" width=\\\"80\\\" height=\\\"80\\\" />\\r\\n </div>\\r\\n </ng-template>\\r\\n <br /><br />\\r\\n\\r\\n </div>\\r\\n </div>\\r\\n <div class=\\\"container\\\" style=\\\"margin:auto;width:60%;\\\">\\r\\n <div class=\\\"row\\\" style=\\\"margin-top:10px;\\\">\\r\\n <div class=\\\"col-sm-3\\\"></div>\\r\\n <div class=\\\"col-sm-9\\\">\\r\\n <div *ngIf=\\\"currentPageNumber < pageCount; else elseButtonBlock\\\">\\r\\n <span *ngIf=\\\"currentPageNumber > 1\\\">\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"goPrevious()\\\" [disabled]=\\\"!abstractForm.form.valid\\\"><< Previous</button> \\r\\n </span>\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"goNext()\\\" [disabled]=\\\"!abstractForm.form.valid\\\">>> Save and Continue</button> \\r\\n\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"cancelSubmit()\\\">Cancel</button>\\r\\n </div>\\r\\n <ng-template #elseButtonBlock>\\r\\n <span *ngIf=\\\"currentPageNumber > 1\\\">\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"goPrevious()\\\" [disabled]=\\\"!abstractForm.form.valid\\\"><< Previous</button> \\r\\n </span>\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"saveData()\\\" [disabled]=\\\"!abstractForm.form.valid\\\">Submit</button> \\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"cancelSubmit()\\\">Cancel</button>\\r\\n </ng-template>\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n</form> \\r\\n <!---\\r\\n <div *ngIf=\\\"payLoad\\\" class=\\\"form-row\\\">\\r\\n <strong>Saved the following values</strong><br>{{payLoad}}\\r\\n </div>-->\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractDetails.component.html\n// module id = ../../../../../src/app/submitter/abstractDetails.component.html\n// module chunks = submitter.module","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray } from '@angular/forms';\r\n\r\nimport { Router, RouterLinkActive, ActivatedRoute } from '@angular/router';\r\nimport { AbstractService } from '../common/abstract.service';\r\nimport { FileUploader } from 'ng2-file-upload';\r\nimport { environment } from '../../environments/environment';\r\nimport { FileItem, ParsedResponseHeaders } from \"ng2-file-upload\";\r\n\r\nconst serverURL: string = environment.apiUrl + 'api/MDA/PostFiles/';\r\n\r\n\r\n@Component({\r\n\tselector: 'abstract-details',\r\n\ttemplateUrl: './abstractDetails.component.html',\r\n\tstyleUrls: ['./app.component.css']\r\n})\r\n\r\nexport class abstractDetailsComponent implements OnInit, OnDestroy {\r\n\tabstractFields: any;\r\n\tlovs: any = [];\r\n\teventInfo: any = [];\r\n\tabstractFormData: any = {};\r\n\tabstractDetails: any;\r\n\tuid: string;\r\n\ttheID: string;\r\n private sub: any;\r\n subLovs: any = [];\r\n currentPageNumber: number = 1;\r\n pageCount: number = 1;\r\n pageArray: any = [1, 2, 3];\r\n fileUploaded: any = [];\r\n approverID: string;\r\n\r\n\t//public uploader: FileUploader = new FileUploader({ url: serverURL + sessionStorage.getItem(\"eventId\") });\r\n public uploader: FileUploader = new FileUploader({\r\n url: serverURL + sessionStorage.getItem(\"eventId\"),\r\n authToken: 'Bearer ' + sessionStorage.getItem('access_token')\r\n });\r\n\tconstructor(\r\n\t\tprivate abstractService: AbstractService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n\t) { }\r\n\r\n public setChildLovs(thechildlovs: any): void {\r\n console.log(thechildlovs);\r\n this.subLovs = thechildlovs;\r\n }\r\n\r\n formValidationLastpage(): boolean {\r\n for (var theField of this.abstractFields) {\r\n if (theField.required == 'y') {\r\n var theValue = this.abstractFormData[theField.model];\r\n if (!theValue || theValue == \"\") {\r\n alert(theField.label + \" is required.\");\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n formValidation(): boolean {\r\n /*\r\n var curFields = [];\r\n for (var theF of this.abstractFields.filter(p => p.pageNumber == this.currentPageNumber))\r\n curFields.push(theF);\r\n for (var theField of curFields) {\r\n if (theField.required == 'y') {\r\n var theValue = this.abstractFormData[theField.model];\r\n if (!theValue || theValue == \"\") {\r\n alert(theField.label + \" is required.\");\r\n return false;\r\n }\r\n }\r\n\r\n }*/\r\n return true;\r\n }\r\n\r\n goNext(): void {\r\n if (this.formValidation()) {\r\n this.saveData();\r\n this.currentPageNumber < this.pageCount ? this.currentPageNumber++ : this.pageCount;\r\n }\r\n }\r\n\r\n goPrevious(): void {\r\n this.currentPageNumber > 1 ? this.currentPageNumber-- : 1;\r\n }\r\n\r\n getEventFields(): void {\r\n this.abstractService.getEventFields4Form()\r\n .subscribe(async abstractFields => {\r\n await (this.abstractFields = abstractFields);\r\n //console.log(this.abstractFields.length - 1);\r\n //console.log(this.abstractFields[this.abstractFields.length - 1]);\r\n this.pageCount = this.abstractFields[this.abstractFields.length - 1].pageNumber;\r\n });\r\n\r\n }\r\n\t\r\n\tgetLovs(): void {\r\n\t\tthis.abstractService.getEventLovs()\r\n .subscribe(async lovs => await(this.lovs = lovs));\r\n\r\n\t}\r\n\r\n\tgetEventInfo(): void {\r\n\t\tvar eventId = sessionStorage.getItem('eventId');\r\n\t\tthis.abstractFormData['eventid'] = eventId;\r\n\t}\r\n\r\n\tgetLovsByType(lovtypename: string): any {\r\n\t\tif (!lovtypename) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet lovtypenamelowercase: string = lovtypename.toLowerCase();\r\n\t\t\tlet lovtypenameonly: string = lovtypenamelowercase.replace(\"lovid\", '');\r\n\t\t\treturn this.lovs.filter(p => p.lovtypename == lovtypenameonly);\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tgetAbstractDetails(uid: string): void {\r\n\t\tconsole.log(\"in getAbstractDetails\" + uid);\r\n\t\tthis.abstractService.getAbstractDetails(uid)\r\n .subscribe(async abstractDetails => {\r\n\t\t\t\tif (abstractDetails.length > 0) {\r\n\t\t\t\t\tawait(this.abstractDetails = abstractDetails[0]);\r\n\t\t\t\t\tthis.abstractFormData = abstractDetails[0];\r\n this.theID = abstractDetails[0][\"id\"];\r\n this.approverID = abstractDetails[0].Approver_1_ID;\r\n\t\t\t\t\t//console.log(\"thedetails: \" + this.abstractDetails);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.getEventFields();\r\n\t\tthis.getLovs();\r\n\t\tthis.getEventInfo();\r\n this.abstractFormData = {};\r\n let uid: string;\r\n\t\t//let uid: string = window.location.search.split('uid=')[1];\r\n this.sub = this.route.params.subscribe(params => {\r\n uid = params['uid'];\r\n if (uid != null && uid != \"\") {\r\n\t\t\t this.uid = uid;\r\n\t\t\t this.getAbstractDetails(uid);\r\n\t\t }\r\n })\r\n this.uploader.onErrorItem = (item, response, status, headers) => this.onErrorItem(item, response, status, headers);\r\n this.uploader.onSuccessItem = (item, response, status, headers) => this.onSuccessItem(item, response, status, headers);\r\n \r\n\t}\r\n \r\n\r\n onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\r\n let data = response;\r\n console.log(status);//success server response\r\n if (status != 200)\r\n alert(\"Your file, \" + item.file.name + \", is not uploaded correctly, please try again. Error code: \" + status);\r\n /*\r\n else {\r\n alert(\"Your file, \" + item.file.name + \", is uploaded, please click on each file after submission to make sure they are all uploaded successfully.\");\r\n }*/\r\n\r\n }\r\n\r\n onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\r\n let error = response; //error server response\r\n alert(\"Your file, \" + item.file.name + \", is not uploaded correctly, please try again. Error code: \" + status);\r\n console.log(error);\r\n }\r\n\r\n\r\n\r\n uploadFiles(): void {\r\n console.log(this.fileUploaded);\r\n if (!this.theID || isNaN(+this.theID)) {\r\n alert(\"File upload failed. Error: Submission ID is not valid. Please try again.\");\r\n }\r\n var eventID = sessionStorage.getItem(\"eventId\");\r\n if (!eventID || isNaN(+eventID)) {\r\n alert(\"File upload failed. Error: Event ID is not valid. Please try again.\");\r\n }\r\n for (let item of this.uploader.queue) {\r\n if (this.fileUploaded.indexOf(item.file.name) < 0) {\r\n //item.file.name = this.theID + '_' + this.abstractService.removeSpecialChars(item.file.name);\r\n item.file.name = this.theID + '_' + item.file.name;\r\n\r\n console.log(item.file.name);\r\n item.upload();\r\n this.fileUploaded.push(item.file.name);\r\n }\r\n }\r\n }\r\n\r\n\r\n saveData(): void {\r\n //if last page, mark it as 'submitted', else 'pending' as default\r\n this.abstractFormData.tablename = 'aat_abstract.abstract';\r\n if (this.currentPageNumber == this.pageCount) {\r\n if (this.formValidationLastpage()) {\r\n let today: Date = new Date();\r\n this.abstractFormData.effectivedate = today;\r\n this.abstractFormData.submissionStatus = \"submitted\";\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n this.abstractService.addUpdateJsonData(this.abstractFormData).subscribe();\r\n\r\n this.uploadFiles();\r\n var approvalNeeded = sessionStorage.getItem('2ndApproval');\r\n if (approvalNeeded && approvalNeeded == 'y') {\r\n console.log(\"in seconderApproval\");\r\n var Approver_1_ID = this.abstractFormData.Approver_1_ID;\r\n //console.log(this.approverID);\r\n //console.log(Approver_1_ID);\r\n if (Approver_1_ID && Approver_1_ID != this.approverID) {\r\n //console.log(Approver_1_ID);\r\n this.abstractService.getMDAEmployee(Approver_1_ID)\r\n .subscribe(peopleDetails => {\r\n if (peopleDetails.length > 0)\r\n var appEmail = peopleDetails[0].MAIL;\r\n //console.log(this.uid);\r\n this.sendEmail2Approver(appEmail, this.uid);\r\n });\r\n this.approverID = Approver_1_ID;\r\n }\r\n\r\n }\r\n if (this.currentPageNumber == this.pageCount) {\r\n this.router.navigateByUrl(\"/submitter/abstractInfo/\" + this.uid);\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n sendEmail2Approver(theEmail: string, uid: string): void {\r\n let eventName = sessionStorage.getItem('eventName');\r\n let theLink = environment.redirectUri;\r\n let theEmailObj: any = {};\r\n theEmailObj['to'] = encodeURI(theEmail);\r\n theEmailObj['from'] = encodeURI('atssupport@mdanderson.org');\r\n theEmailObj['subject'] = sessionStorage.getItem('eventTitle').toUpperCase() + ' Submission - Approval Needed';\r\n\r\n theEmailObj['message'] = \"The submission below are pending for your approval .<br/><br/>\"\r\n + \"You can go to the link below to review this submission.<br/><br/>\"\r\n + \"<a href='\" + environment.redirectUri + \"/submitter/secondApproval/\" + uid + \"?event=\" + eventName + \"'>\" + sessionStorage.getItem('eventTitle').toUpperCase()\r\n + \" Online Submission</a><br/><br/>\";\r\n\r\n //console.log(theEmailObj);\r\n this.abstractService.sendEmail(theEmailObj);\r\n\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n cancelSubmit() {\r\n if (confirm(\"Are you sure that you would like to cancel this form without saving?\")) {\r\n this.router.navigate([\"/submitter\"]);\r\n }\r\n }\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractDetails.component.ts","module.exports = \"<div class=\\\".justify-content-center\\\">\\r\\n <div style=\\\"color:navy;background-color:lightblue;border-radius: 0.25em 0.25em;font-weight:bold;margin:5px; padding:10px;\\\">\\r\\n New Submission\\r\\n <a [routerLink]=\\\"['/admin']\\\" style=\\\"float:right;color:navy\\\" *ngIf=\\\"preview\\\"><< Back to Admin Home</a>\\r\\n </div>\\r\\n\\r\\n\\r\\n <div *ngIf=\\\"userDetails\\\" style=\\\"margin-top:20px;\\\" class=\\\"container\\\">\\r\\n <div class=\\\"row\\\">\\r\\n <div class=\\\"col-sm-3\\\" style=\\\"color:navy;font-weight:bold;;vertical-align:central;text-align:right;display: block;\\\">Submitter Details</div>\\r\\n <div class=\\\"col-sm-9\\\" *ngIf=\\\"userDetails['EMPLOYEEID']; else externalUserTemplate\\\">\\r\\n <table style=\\\"background-color:aliceblue;margin:5px;font-size:small\\\" cellpadding=\\\"2\\\">\\r\\n <tr>\\r\\n <td>Name</td>\\r\\n <td>{{userDetails['LAST_NAME'] + ', ' + userDetails['FIRST_NAME']}}</td>\\r\\n </tr>\\r\\n <tr>\\r\\n <td>Employee ID</td>\\r\\n <td>{{userDetails['EMPLOYEEID']}}</td>\\r\\n </tr>\\r\\n <tr>\\r\\n <td>Title</td>\\r\\n <td>{{userDetails['TITLE'] + ', ' + userDetails['DEPARTMENT']}}</td>\\r\\n </tr>\\r\\n <tr>\\r\\n <td valign=\\\"top\\\">Contact</td>\\r\\n <td>\\r\\n {{userDetails['MAIL']}}<br />\\r\\n {{userDetails['TELEPHONENUMBER']}}<br />\\r\\n {{userDetails['OFFICELOCATION']}}<br />\\r\\n </td>\\r\\n </tr>\\r\\n </table>\\r\\n\\r\\n </div>\\r\\n\\r\\n <ng-template #externalUserTemplate>\\r\\n <div style=\\\"background-color:aliceblue;\\\">\\r\\n <a [routerLink]=\\\"['/newUser']\\\" class=\\\"btn btn-primary btn-sm\\\"><strong>Update Your Profile</strong></a><br />\\r\\n {{userDetails['LastName'] + ', ' + userDetails['FirstName']}}\\r\\n <span *ngIf=\\\"userDetails['Degrees']\\\">\\r\\n , {{userDetails.Degrees}}\\r\\n </span>\\r\\n <br />\\r\\n {{userDetails['Email']}}<br />\\r\\n <span *ngIf=\\\"userDetails['Position']\\\">\\r\\n {{userDetails['Position']}}, \\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Institution']\\\">\\r\\n {{userDetails['Institution']}}<br />\\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Phone']\\\">\\r\\n {{userDetails['CountryCode']}}-{{userDetails['Phone']}}<br />\\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['StreetAddress']\\\">\\r\\n {{userDetails['StreetAddress']}}, \\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['City']\\\">\\r\\n {{userDetails['City']}}, \\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['State']\\\">\\r\\n {{userDetails['State']}}, \\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Country']\\\">\\r\\n {{userDetails['Country']}}\\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Zipcode']\\\">\\r\\n , {{userDetails['Zipcode']}}<br />\\r\\n </span><br />\\r\\n <!-- <a href=\\\"newUser\\\"><strong>Update Your Profile</strong></a><br/>-->\\r\\n </div>\\r\\n\\r\\n </ng-template>\\r\\n </div>\\r\\n </div>\\r\\n\\r\\n <form #abstractForm=\\\"ngForm\\\">\\r\\n \\r\\n <div class=\\\"container\\\" *ngIf=\\\"abstractFields; else loading\\\">\\r\\n <div *ngFor=\\\"let theField of abstractFields\\\">\\r\\n <span *ngIf=\\\"theField.inSubmitterForm !== 'n' && theField.pageNumber == currentPageNumber\\\">\\r\\n <span [ngSwitch]=\\\"theField.model\\\">\\r\\n <span *ngSwitchCase=\\\"'SubSESSIONLOVID'\\\">\\r\\n <dynamic-field [theField]=\\\"theField\\\" [theFormData]=\\\"abstractFormData\\\" [theFieldValue]=\\\"abstractDetails[theField.model]\\\"\\r\\n [theLovValues]=\\\"subLovs\\\"\\r\\n [uploader]=\\\"uploader\\\"\\r\\n class=\\\"row mt-3\\\" style=\\\"margin:5px\\\">\\r\\n </dynamic-field>\\r\\n </span>\\r\\n <span *ngSwitchCase=\\\"'SESSIONLOVID'\\\">\\r\\n <dynamic-field [theField]=\\\"theField\\\" [theFormData]=\\\"abstractFormData\\\" [theFieldValue]=\\\"abstractDetails[theField.model]\\\"\\r\\n [theLovValues]=\\\"getLovsByType(theField.model)\\\"\\r\\n [uploader]=\\\"uploader\\\"\\r\\n (childLovs)=\\\"setChildLovs($event)\\\"\\r\\n class=\\\"row mt-3\\\">\\r\\n </dynamic-field>\\r\\n </span>\\r\\n <span *ngSwitchDefault>\\r\\n <dynamic-field [theField]=\\\"theField\\\" [(theFormData)]=\\\"abstractFormData\\\" [theFieldValue]=\\\"abstractDetails[theField.model]\\\"\\r\\n [theLovValues]=\\\"getLovsByType(theField.model)\\\"\\r\\n [uploader]=\\\"uploader\\\"\\r\\n class=\\\"row mt-3\\\">\\r\\n </dynamic-field>\\r\\n </span>\\r\\n </span>\\r\\n </span>\\r\\n </div>\\r\\n </div>\\r\\n <ng-template #loading>\\r\\n <div style=\\\"margin:auto;width:40%;color:navy;font-family:'Book Antiqua';font-size:x-large;font-weight:300;\\\">\\r\\n <img src=\\\"assets/img/loading.png\\\" height=\\\"80\\\" width=\\\"80\\\" />\\r\\n Loading.....\\r\\n </div>\\r\\n </ng-template>\\r\\n <!--\\r\\n <div *ngIf=\\\"uploader.queue.length\\\" class=\\\"container\\\">\\r\\n <div class=\\\"row\\\">\\r\\n <div class=\\\"col-sm-3\\\">Files to be uploaded - Total {{ uploader?.queue?.length }}</div>\\r\\n <div class=\\\"col-sm-9\\\">\\r\\n <table>\\r\\n <tr *ngFor=\\\"let item of uploader.queue\\\">\\r\\n <td>{{item.file.name}}</td>\\r\\n <td>\\r\\n <button type=\\\"button\\\"\\r\\n (click)=\\\"item.remove()\\\">\\r\\n <span class=\\\"glyphicon glyphicon-trash\\\"></span> Remove\\r\\n </button>\\r\\n </td>\\r\\n </tr>\\r\\n </table>\\r\\n </div>\\r\\n </div>\\r\\n <div class=\\\"row\\\">\\r\\n Queue progress:\\r\\n <div class=\\\"progress\\\" style=\\\"\\\">\\r\\n <div class=\\\"progress-bar\\\" role=\\\"progressbar\\\" [ngStyle]=\\\"{ 'width': uploader.progress + '%' }\\\"></div>\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n -->\\r\\n\\r\\n <div class=\\\"container\\\">\\r\\n <div class=\\\"row\\\" style=\\\"margin-top:10px;\\\">\\r\\n <div class=\\\"col-sm-3\\\"></div>\\r\\n <div class=\\\"col-sm-9\\\">\\r\\n <div *ngIf=\\\"currentPageNumber < pageCount; else elseButtonBlock\\\">\\r\\n <span *ngIf=\\\"currentPageNumber > 1\\\">\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"goPrevious()\\\" [disabled]=\\\"!abstractForm.form.valid\\\"><< Previous</button> \\r\\n </span>\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"goNext()\\\" [disabled]=\\\"!abstractForm.form.valid\\\">>> Save and Continue</button> \\r\\n\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"cancelSubmit()\\\">Cancel</button>\\r\\n </div>\\r\\n <ng-template #elseButtonBlock>\\r\\n <span *ngIf=\\\"currentPageNumber > 1\\\">\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"goPrevious()\\\" [disabled]=\\\"!abstractForm.form.valid\\\"><< Previous</button> \\r\\n </span>\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"submitData()\\\" [disabled]=\\\"!abstractForm.form.valid\\\">Submit</button> \\r\\n <button type=\\\"button\\\" class=\\\"btn btn-success\\\" (click)=\\\"cancelSubmit()\\\">Cancel</button>\\r\\n </ng-template>\\r\\n </div>\\r\\n </div>\\r\\n </div>\\r\\n </form>\\r\\n\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractForm.component.html\n// module id = ../../../../../src/app/submitter/abstractForm.component.html\n// module chunks = submitter.module","import { Component, OnInit, AfterViewInit, DoCheck, OnDestroy, NgZone, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray, FormsModule, NgForm } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AbstractService } from '../common/abstract.service';\r\nimport { FileUploader } from 'ng2-file-upload';\r\nimport { FileItem, ParsedResponseHeaders } from \"ng2-file-upload\";\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\n\r\nimport { environment } from '../../environments/environment';\r\nimport {v4 as uuid} from 'uuid';\r\nimport { timer } from 'rxjs/observable/timer';\r\n\r\n//import {server, message, SMTP} from 'emailjs/email';\r\n\r\ndeclare var require: any;\r\nconst serverURL: string = environment.apiUrl + 'api/MDA/PostFiles/';\r\n\r\n@Component({\r\n selector: 'abstract-form',\r\n templateUrl: './abstractForm.component.html',\r\n styleUrls: [ './app.component.css' ]\r\n})\r\n\r\nexport class abstractFormComponent implements OnInit, DoCheck, OnDestroy, AfterViewInit{\r\n abstractFields: any;\r\n abstractFieldsByPaging: any = {};\r\n lovs: any = [];\r\n subLovs: any = [];\r\n eventInfo: any = [];\r\n abstractFormData: any = {};\r\n abstractDetails: any = {};\r\n uid: string;\r\n userDetails: any;\r\n username: any;\r\n submitterName:string;\r\n email: string;\r\n confirmationEmailJson: any = {};\r\n sub: any;\r\n sub1: any;\r\n preview: boolean = false;\r\n currentPageNumber: number = 1;\r\n pageCount: number = 1;\r\n pageArray: any = [1,2,3];\r\n theID: string;\r\n fileuploaded: any = [];\r\n myFormSubscribe: any;\r\n\r\n public uploader: FileUploader = new FileUploader({\r\n url: serverURL + sessionStorage.getItem(\"eventId\"),\r\n authToken: 'Bearer ' + sessionStorage.getItem('access_token')\r\n });\r\n //@ViewChild('abstractForm') absForm:NgForm;\r\n \r\n constructor(\r\n private abstractService: AbstractService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private ngZone: NgZone\r\n ) { }\r\n\r\n \r\n \r\n goNext(): void {\r\n if (this.formValidation()) {\r\n this.currentPageNumber < this.pageCount ? this.currentPageNumber++ : this.pageCount;\r\n this.abstractDetails = JSON.parse(JSON.stringify(this.abstractFormData));\r\n //console.log(this.theID);\r\n if (!this.theID)\r\n this.saveData();\r\n else\r\n this.updateData();\r\n }\r\n\r\n }\r\n\r\n goPrevious(): void {\r\n this.currentPageNumber > 1 ? this.currentPageNumber-- : 1;\r\n //this.updateData();\r\n }\r\n\r\n //for the last page\r\n submitData(): void {\r\n if (this.formValidationLastpage()) {\r\n let today: Date = new Date();\r\n\r\n this.abstractFormData.effectivedate = today;\r\n this.abstractFormData.submissionStatus = \"submitted\";\r\n if (this.pageCount == 1)\r\n this.saveData();\r\n else\r\n this.updateData();\r\n this.updateDataLast();\r\n var theUid = this.abstractFormData.UNIQUEID;\r\n this.router.navigateByUrl(\"/submitter/abstractInfo/\" + theUid);\r\n }\r\n }\r\n\r\n getEventFields(): void {\r\n this.abstractService.getEventFields4Form()\r\n .subscribe(async abstractFields => {\r\n await (this.abstractFields = abstractFields);\r\n //console.log(this.abstractFields.length - 1);\r\n //console.log(this.abstractFields[this.abstractFields.length - 1]);\r\n this.pageCount = this.abstractFields[this.abstractFields.length - 1].pageNumber; \r\n });\r\n \r\n }\r\n\r\n getLovs(): void {\r\n this.abstractService.getEventLovs()\r\n\t\t.subscribe(lovs => this.lovs = lovs); \r\n }\r\n\r\n public setChildLovs(thechildlovs: any): void {\r\n console.log(thechildlovs);\r\n this.subLovs = thechildlovs;\r\n }\r\n\r\n\r\n getEventInfo(): void {\r\n\t var eventId = sessionStorage.getItem('eventId');\r\n\t this.abstractFormData['eventid'] = eventId ;\r\n }\r\n\r\n getLovsByType(lovtypename: string): any {\r\n\t if (!lovtypename) {\r\n\t\t return null;\r\n\t }\r\n\t else {\r\n\t\t let lovtypenamelowercase: string = lovtypename.toLowerCase();\r\n\t\t let lovtypenameonly: string = lovtypenamelowercase.replace(\"lovid\", '');\r\n\t\t return this.lovs.filter(p => p.lovtypename == lovtypenameonly);\r\n\t\t \r\n\t }\r\n\r\n }\r\n\r\n getAbstractDetails(uid: string): void {\r\n\t console.log(\"in getAbstractDetails\" + uid);\r\n\t this.abstractService.getAbstractDetails(uid)\r\n .subscribe(async abstractDetails => {\r\n\t\t\t if (abstractDetails.length > 0) {\r\n\t\t\t\t await(this.abstractDetails = abstractDetails[0]);\r\n\t\t\t\t this.abstractFormData = abstractDetails[0];\r\n\t\t\t\t //console.log(\"thedetails: \" + this.abstractDetails);\r\n\t\t\t }\r\n\t\t });\r\n }\r\n\r\n\r\n getUserDetails(): void {\r\n\t let myKey: string = \"userDetails\";\r\n\t var theUserID = sessionStorage.getItem(\"userID\");\r\n\t //console.log(myKey);\r\n\t //console.log(sessionStorage.getItem(myKey));\r\n if (sessionStorage.getItem(myKey) != null) {\r\n\r\n this.userDetails = JSON.parse(sessionStorage.getItem(myKey));\r\n //this.userDetails = this.userDetails.filter(a => a);\r\n //console.log(this.userDetails);\r\n //for internal users\r\n if (this.userDetails['EMPLOYEEID']) {\r\n this.abstractFormData['submitterid'] = this.userDetails['EMPLOYEEID'];\r\n this.username = this.userDetails['MYID'];\r\n this.email = this.userDetails['MAIL'];\r\n this.submitterName = this.userDetails.FIRST_NAME + ' ' + this.userDetails.LAST_NAME;\r\n }\r\n //for external users\r\n else {\r\n if (theUserID) {\r\n this.abstractFormData['submitterid'] = theUserID;\r\n }\r\n else if (this.userDetails['ID']) {\r\n this.abstractFormData['submitterid'] = this.userDetails['ID'];\r\n }\r\n this.username = this.userDetails['Email'];\r\n this.email = this.userDetails['Email'];\r\n this.submitterName = this.userDetails.firstname + ' ' + this.userDetails.lastname;\r\n }\r\n }\r\n else {\r\n var theEmail = sessionStorage.getItem('username');\r\n if (!theEmail.endsWith(\"@mdanderson.org\")) {\r\n this.router.navigate(['/newUser']);\r\n }\r\n else {\r\n alert(\"Your user information is missing, please contact atssupport for help.\");\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\t //console.log(sessionStorage);\r\n\t //console.log(sessionStorage.getItem(\"userDetails\"));\r\n\t //console.log(sessionStorage.getItem(\"username\"));\r\n this.getEventFields();\r\n \r\n var theURL = window.location.search.split('preview=');\r\n //console.log(theURL);\r\n if (theURL.length > 1 && theURL[1].toLowerCase().trim() == '1') {\r\n this.abstractService.getEventLovsNoCache().subscribe(async lovs => { await (this.lovs = lovs) });\r\n this.preview = true;\r\n }\r\n else\r\n this.getLovs();\r\n \r\n\t this.getEventInfo();\r\n\t this.getUserDetails();\r\n\t\r\n\r\n let uid: string;\r\n this.sub = this.route.params.subscribe(params => {\r\n uid = params['uid'];\r\n if (uid != null && uid != \"\") {\r\n this.uid = uid;\r\n this.getAbstractDetails(uid);\r\n }\r\n })\r\n\r\n this.uploader.onErrorItem = (item, response, status, headers) => this.onErrorItem(item, response, status, headers);\r\n this.uploader.onSuccessItem = (item, response, status, headers) => this.onSuccessItem(item, response, status, headers);\r\n\r\n } \r\n\r\n\r\n onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\r\n let data = response;\r\n console.log(status);//success server response\r\n if (status != 200)\r\n alert(\"Your file, \" + item.file.name + \", is not uploaded correctly, please try again. Error code: \" + status);\r\n /*\r\n else {\r\n alert(\"Your file, \" + item.file.name + \", is uploaded, please click on each file after submission to make sure they are all uploaded successfully.\");\r\n }*/\r\n\r\n }\r\n\r\n onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\r\n let error = response; //error server response\r\n alert(\"Your file, \" + item.file.name + \", is not uploaded correctly, please try again. Error code: \" + status);\r\n console.log(error);\r\n }\r\n \r\n ngDoCheck() {\r\n\t if (this.userDetails == null)\r\n\t\t this.getUserDetails();\r\n\t\t //this.abstractFormData['submitterid'] = sessionStorage.getItem(\"userID\");\r\n\r\n }\r\n\r\n formValidationLastpage() : boolean {\r\n for (var theField of this.abstractFields) {\r\n if (theField.required == 'y') {\r\n var theValue = this.abstractFormData[theField.model];\r\n if (!theValue || theValue == \"\") {\r\n alert(theField.label + \" is required.\");\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n formValidation(): boolean {\r\n /*\r\n var curFields = [];\r\n for (var theF of this.abstractFields.filter(p => p.pageNumber == this.currentPageNumber))\r\n curFields.push(theF);\r\n for (var theField of curFields) {\r\n //console.log(theField);\r\n if (theField.required == 'y') {\r\n //console.log(theField.model);\r\n //console.log(this.abstractFormData);\r\n var theValue = this.abstractFormData[theField.model];\r\n //console.log(theValue);\r\n if (!theValue || theValue == \"\") {\r\n alert(theField.label + \" is required.\");\r\n return false;\r\n }\r\n }\r\n\r\n }*/\r\n return true;\r\n }\r\n\r\n\r\n saveData(): void {\r\n\t let result: string;\r\n\t //console.log(\"in saveData\" + this.abstractFormData);\r\n /*\r\n for (var theField of this.abstractFields) {\r\n //console.log(theField);\r\n if (theField.required == 'y') {\r\n var theValue = this.abstractFormData[theField.model];\r\n console.log(theValue);\r\n if(!theValue || theValue == \"\") {\r\n alert(theField.label + \" is required.\");\r\n return;\r\n } \r\n }\r\n\r\n }*/\r\n this.abstractFormData.UNIQUEID = uuid();\r\n this.abstractFormData.tablename = \"aat_abstract.abstract\";\r\n \r\n this.abstractService.addUpdateJsonData(this.abstractFormData).subscribe(async theResult => {\r\n await (result = theResult);\r\n console.log(result[\"id\"]);\r\n this.theID = result[\"id\"];\r\n this.abstractFormData.id = this.theID;\r\n this.uploadFiles();\r\n //this.router.navigate([\"/submitter\"]);\r\n })\r\n\r\n //this.router.navigate([\"/submitter\"]);\r\n } \r\n\r\n \r\n updateData(): void {\r\n console.log(\"in updateData\");\r\n //console.log(this.abstractFormData);\r\n \r\n if (!this.abstractFormData.tablename)\r\n this.abstractFormData.tablename = 'aat_abstract.abstract';\r\n\r\n this.abstractService.addUpdateJsonData(this.abstractFormData).subscribe();\r\n this.uploadFiles();\r\n\r\n //this.router.navigate([\"/submitter\"]);\r\n }\r\n\r\n\r\n updateDataLast(): void {\r\n this.sendEmail();\r\n\r\n //if seconderApprovalNeeded\r\n var approvalNeeded = sessionStorage.getItem('2ndApproval');\r\n if (approvalNeeded && approvalNeeded == 'y') {\r\n console.log(approvalNeeded);\r\n var Approver_1_ID = this.abstractFormData.Approver_1_ID;\r\n\r\n if (Approver_1_ID) {\r\n this.abstractService.getMDAEmployee(Approver_1_ID)\r\n .subscribe(peopleDetails => {\r\n if (peopleDetails.length > 0)\r\n var appEmail = peopleDetails[0].MAIL;\r\n this.sendEmail2Approver(appEmail, this.abstractFormData.UNIQUEID);\r\n });\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n uploadFiles(): void {\r\n console.log(this.fileuploaded);\r\n if (!this.theID || isNaN(+this.theID)) {\r\n alert(\"File upload failed. Error: Submission ID is not valid. Please try again.\");\r\n }\r\n var eventID = sessionStorage.getItem(\"eventId\");\r\n if (!eventID || isNaN(+eventID)) {\r\n alert(\"File upload failed. Error: Event ID is not valid. Please try again.\");\r\n }\r\n for (let item of this.uploader.queue) {\r\n if (this.fileuploaded.indexOf(item.file.name) < 0) {\r\n item.file.name = this.theID + '_' + item.file.name;\r\n console.log(item.file.name);\r\n item.upload();\r\n \r\n this.uploader.response.subscribe(res => {\r\n var response = res;\r\n console.log(response);\r\n },\r\n (Error) => {\r\n console.error('error caught in component')\r\n\r\n });\r\n this.fileuploaded.push(item.file.name);\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n sendEmail(): void {\r\n let eventName = sessionStorage.getItem('eventName');\r\n let eventContacts = sessionStorage.getItem(\"eventContacts\");\r\n this.confirmationEmailJson['to'] = encodeURI(this.email);\r\n if (eventContacts)\r\n this.confirmationEmailJson['cc'] = encodeURI(eventContacts);\r\n\t this.confirmationEmailJson['from'] = encodeURI('atssupport@mdanderson.org');\r\n\t this.confirmationEmailJson['subject'] = sessionStorage.getItem('eventTitle').toUpperCase() + ' Submission Confirmation';\r\n \r\n\t this.confirmationEmailJson['message'] = \"Thank you for your submission.<br/><br/>\"\r\n\t\t + \"You can go to the link below to view or update your submission.<br/><br/>\" +\r\n \"<a href='\" + environment.redirectUri + \"/submitter?event=\" + eventName + \"'>\" + sessionStorage.getItem('eventTitle').toUpperCase() + \" Online Submission</a><br/><br/>\" +\r\n\t\t \"Your username: \" + this.username + \"<br/><br/>\";\r\n\t //this.confirmationEmailJson['message'] = \"Hello\";\r\n\t this.abstractService.sendEmail(this.confirmationEmailJson);\r\n\r\n }\r\n\r\n sendEmail2Approver(theEmail:string, uid:string): void {\r\n \t let eventName = sessionStorage.getItem('eventName');\r\n let theLink = environment.redirectUri;\r\n let theEmailObj: any = {};\r\n\t theEmailObj['to'] = encodeURI(theEmail);\r\n theEmailObj['from'] = encodeURI('atssupport@mdanderson.org');\r\n theEmailObj['subject'] = sessionStorage.getItem('eventTitle').toUpperCase() + ' Submission - Approval Needed';\r\n \r\n theEmailObj['message'] = \"The submission below is pending for your approval.<br/><br/>\"\r\n + \"Submitted by: \" + this.submitterName + \"<br/><br/>\"\r\n + \"You can go to the link below to review this submission.<br/><br/>\"\r\n + \"<a href='\" + environment.redirectUri + \"/submitter/secondApproval/\" + uid + \"?event=\" + eventName + \"'>\" + sessionStorage.getItem('eventTitle').toUpperCase()\r\n + \" Online Submission</a><br/><br/>\";\r\n\r\n //console.log(theEmailObj);\r\n this.abstractService.sendEmail(theEmailObj);\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n //this.myFormSubscribe.unsubscribe();\r\n }\r\n\r\n //auto save\r\n \r\n ngAfterViewInit() {\r\n /*\r\n var mytimer = timer(10000, 10000);\r\n //this.subscription = mytimer.subscribe(x => this.autoSaveContent());\r\n this.myFormSubscribe = mytimer.subscribe(formData => {\r\n console.log(\"in saving data\");\r\n //console.log(formData);\r\n if (!this.abstractFormData.UNIQUEID && !this.theID)\r\n this.saveData();\r\n else\r\n this.updateData();\r\n });\r\n */\r\n }\r\n\r\n cancelSubmit() {\r\n /*\r\n this.ngZone.run(() => {\r\n var theUid = \"70f1066d-fcda-4e84-8037-259547e38db3\";\r\n //this.router.navigate([\"/submitter\", \"abstractInfo\"], { queryParams: { uid: theUid } });\r\n this.router.navigateByUrl(\"submitter/abstractInfo/\" + theUid);\r\n\r\n });*/\r\n if (confirm(\"Are you sure that you would like to cancel this form without saving?\")) {\r\n this.router.navigate([\"/submitter\"]);\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractForm.component.ts","module.exports = \"<div style=\\\"margin:auto;width:99%\\\">\\r\\n \\r\\n <form #abstractForm=\\\"ngForm\\\">\\r\\n <div *ngIf=\\\"abstractDetails; let abstractDetails; else loading\\\">\\r\\n <table style=\\\"border-radius:10px;margin:auto\\\" cellpadding=\\\"5\\\" width=\\\"80%\\\">\\r\\n <tr><td colspan=\\\"2\\\" style=\\\"background-color:lightblue;width:auto;border-radius: 0.5em 0.5em; font-weight:bold; padding:10px\\\">Review Your Submission</td></tr>\\r\\n <tr *ngFor=\\\"let theField of abstractFields\\\">\\r\\n <span *ngIf=\\\"theField.inSubmitterForm !== 'n'\\\">\\r\\n <dynamic-field-Readonly [theField]=\\\"theField\\\" [theFormData]=\\\"abstractFormData\\\"\\r\\n [theLovValues]=\\\"getLovsByType(theField.model)\\\"\\r\\n [theFieldValue]=\\\"abstractDetails[theField.model]\\\"\\r\\n class=\\\"row\\\" style=\\\"margin:5px;\\\">\\r\\n </dynamic-field-Readonly>\\r\\n </span>\\r\\n </tr>\\r\\n <tr>\\r\\n <td colspan=\\\"2\\\" align=\\\"center\\\">\\r\\n <a *ngIf=\\\"readonly!='true'\\\" [routerLink]=\\\"['/submitter/abstractDetails', abstractDetails['uid']]\\\" class=\\\"btn btn-primary\\\"><strong>Edit</strong></a> \\r\\n <a [routerLink]=\\\"['/submitter']\\\" class=\\\"btn btn-primary\\\"><strong>Done</strong></a>\\r\\n </td>\\r\\n </tr>\\r\\n </table>\\r\\n </div>\\r\\n <ng-template #loading>\\r\\n <div style=\\\"margin:auto;width:30%;align-content:center;text-align:center\\\">\\r\\n <img src=\\\"assets/img/loading.png\\\" width=\\\"80\\\" height=\\\"80\\\"/>\\r\\n </div>\\r\\n </ng-template>\\r\\n \\r\\n <br />\\r\\n\\r\\n </form>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractInfo.component.html\n// module id = ../../../../../src/app/submitter/abstractInfo.component.html\n// module chunks = submitter.module","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray } from '@angular/forms';\r\n\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AbstractService } from '../common/abstract.service';\r\n\r\n@Component({\r\n\tselector: 'abstract-info',\r\n\ttemplateUrl: './abstractInfo.component.html',\r\n\tstyleUrls: ['./app.component.css']\r\n})\r\n\r\nexport class abstractInfoComponent implements OnInit {\r\n\tabstractFields: any;\r\n\tlovs: any = [];\r\n\teventInfo: any = [];\r\n\tabstractFormData: any = {};\r\n\tabstractDetails: any;\r\n\tuid: string;\r\n sub: any;\r\n readonly: string = sessionStorage.getItem(\"readonly\");\r\n\r\n\tconstructor(\r\n\t\tprivate abstractService: AbstractService,\r\n private router: Router,\r\n private route:ActivatedRoute\r\n\t) { }\r\n\r\n\r\n\tgetEventFields(): void {\r\n\t\tthis.abstractService.getEventFields4Form()\r\n .subscribe(async abstractFields => await( this.abstractFields = abstractFields));\r\n\r\n\t}\r\n\r\n\tgetLovs(): void {\r\n\t\tthis.abstractService.getEventLovs()\r\n .subscribe(async lovs => await( this.lovs = lovs));\r\n\r\n\t}\r\n\r\n\tgetEventInfo(): void {\r\n\t\tvar eventId = sessionStorage.getItem('eventId');\r\n\t\tthis.abstractFormData['eventid'] = eventId;\r\n\t}\r\n\r\n\tgetLovsByType(lovtypename: string): any {\r\n\t\tif (!lovtypename) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet lovtypenamelowercase: string = lovtypename.toLowerCase();\r\n\t\t\tlet lovtypenameonly: string = lovtypenamelowercase.replace(\"lovid\", '');\r\n\t\t\treturn this.lovs.filter(p => p.lovtypename == lovtypenameonly);\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n delay(ms: number) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n}\r\n\r\n getAbstractDetails(uid: string): void {\r\n this.delay(30000);\r\n\t\tconsole.log(\"in getAbstractDetails\" + uid);\r\n\t\tthis.abstractService.getAbstractDetailsReadOnly(uid)\r\n\t\t\t.subscribe(async abstractDetails => {\r\n\t\t\t\tif (abstractDetails.length > 0) {\r\n\t\t\t\t\tawait(this.abstractDetails = abstractDetails[0]);\r\n\t\t\t\t\tthis.abstractFormData = abstractDetails[0];\r\n\t\t\t\t\tconsole.log(\"thedetails: \");\r\n\t\t\t\t\t//console.log(this.abstractDetails);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n ngOnInit(): void {\r\n alert(\"If you have uploaded files, please click on each of the file link to make sure they are uploaded successfully.\")\r\n\r\n\t\tthis.getEventFields();\r\n\t\tthis.getLovs();\r\n this.getEventInfo();\r\n console.log(this.readonly);\r\n\t\t//this.abstractFormData = {};\r\n /*\r\n\t\tlet uid: string = window.location.search.split('uid=')[1];\r\n\t\tif (uid != null && uid != \"\") {\r\n\t\t\tthis.uid = uid;\r\n\t\t\tthis.getAbstractDetails(uid);\r\n }\r\n */\r\n let uid: string;\r\n this.sub = this.route.params.subscribe(params => {\r\n uid = params['uid'];\r\n if (uid != null && uid != \"\") {\r\n this.uid = uid;\r\n this.getAbstractDetails(uid);\r\n }\r\n })\r\n\r\n\r\n\r\n\t}\r\n \r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractInfo.component.ts","module.exports = \"<div>\\r\\n <!--\\r\\n <form #abstractForm=\\\"ngForm\\\">\\r\\n Don't see your submssion? try <button type=\\\"submit\\\" (click)=\\\"getAbstracts()\\\">Refresh</button>\\r\\n </form>\\r\\n -->\\r\\n <div *ngIf=\\\"abstracts; else loading\\\">\\r\\n <div *ngIf=\\\"abstracts.length>0\\\">\\r\\n <p style=\\\"color:darkred\\\"><strong>Your existing submissions</strong> </p>\\r\\n <p>Your saved submissions are listed below, please click on the \\\"eye\\\" icon to review. <br/>\\r\\n You can also edit your submission from the view page by clicking on the 'Edit' button from the bottom of the page before the deadline. <br/>\\r\\n Your submissions will be readonly after the deadline.\\r\\n </p>\\r\\n <p style=\\\"color:darkred;font-weight:bold\\\">If you have uploaded files, please click on each of the file link to make sure they are uploaded successfully.</p>\\r\\n <table border=\\\"1\\\" cellpadding=\\\"10\\\">\\r\\n <tr style=\\\"color:navy;background-color:lightsteelblue\\\">\\r\\n <th></th>\\r\\n <th>ID</th>\\r\\n <th *ngFor=\\\"let theField of listFields\\\">{{theField.label}}</th>\\r\\n <th>Creation Date</th>\\r\\n <th>Submission Date</th>\\r\\n <!-- <th *ngIf=\\\"toShow\\\">Delete</th>-->\\r\\n <th *ngIf=\\\"showComments == 'y'\\\">Review Comments</th>\\r\\n\\r\\n </tr>\\r\\n <tr *ngFor=\\\"let theAbstract of abstracts | orderby:{property: 'id', direction: 1}\\\">\\r\\n <td><a [routerLink]=\\\"['abstractInfo',theAbstract['uid']]\\\" title=\\\"view\\\"><i class=\\\"fa fa-eye\\\" style=\\\"font-size:24px\\\"></i></a></td>\\r\\n <td>{{theAbstract['id']}}</td>\\r\\n\\r\\n <td *ngFor=\\\"let fieldData of listFields\\\">\\r\\n <span [innerHTML]=\\\"theAbstract[fieldData.model]\\\"></span>\\r\\n </td>\\r\\n <td>{{theAbstract[\\\"creationdate\\\"] | date}}</td>\\r\\n <td>{{theAbstract[\\\"submissiondate\\\"] | date}}</td>\\r\\n <!-- <td *ngIf=\\\"toShow\\\"><input type=\\\"button\\\" (click)=\\\"deleteRecord(theAbstract['id'], theAbstract['creationdate'])\\\" value=\\\"Delete\\\" class=\\\"btn-sm btn-primary\\\" title=\\\"delete\\\" /> </td>\\r\\n -->\\r\\n <td *ngIf=\\\"showComments == 'y'\\\"><a href=\\\"javascript:void()\\\" (click)=\\\"openDialog(theAbstract.id)\\\" class=\\\"btn btn-primary btn-sm\\\" style=\\\"align-content:center;align-items:center;width:95%\\\">View</a></td>\\r\\n\\r\\n </tr>\\r\\n </table>\\r\\n </div>\\r\\n\\r\\n <div *ngIf=\\\"showAddNewLink()\\\">\\r\\n <p><a [routerLink]=\\\"['/abstract']\\\">Add a new submission</a></p>\\r\\n </div>\\r\\n </div>\\r\\n <ng-template #loading>\\r\\n <div style=\\\"margin:auto;width:40%;color:navy;font-family:'Book Antiqua';font-size:x-large;font-weight:300;\\\">\\r\\n <img src=\\\"assets/img/loading.png\\\" height=\\\"80\\\" width=\\\"80\\\" />\\r\\n Loading.....\\r\\n </div>\\r\\n </ng-template>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractListSubmitter.component.html\n// module id = ../../../../../src/app/submitter/abstractListSubmitter.component.html\n// module chunks = submitter.module","import { Component, OnInit, DoCheck,Input } from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray } from '@angular/forms';\r\n\r\nimport { Router } from '@angular/router';\r\nimport { AbstractService } from '../common/abstract.service';\r\nimport { OrderByPipe } from '../common/orderby.pipe';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MatDialog, MatDialogRef } from '@angular/material';\r\nimport { reviewDetails4SubmissionComponent } from './reviewDetails4Submission.component';\r\n\r\n\r\n@Component({\r\n selector: 'abstract-list-submitter',\r\n templateUrl: './abstractListSubmitter.component.html',\r\n styleUrls: [ './app.component.css' ]\r\n})\r\n\r\nexport class abstractListSubmitterComponent implements OnInit, DoCheck{\r\n abstracts: any;\r\n abstractFields: any;\r\n userID: string;\r\n eventID: string;\r\n eventName: string;\r\n lovs: any = [];\r\n eventInfo: any;\r\n abstractFormData: any;\r\n listFields:any = [];\r\n showComments: string;\r\n //readonly: string = sessionStorage.getItem(\"readonly\");\r\n @Input() toShow: boolean;\r\n\r\n constructor(\r\n private abstractService: AbstractService,\r\n private router: Router,\r\n public dialog: MatDialog\r\n\r\n\t//private datePipe: DatePipe\r\n ){}\r\n\r\n\r\n dialogRef: any;\r\n\r\n openDialog(sid: string) {\r\n this.dialogRef = this.dialog.open(reviewDetails4SubmissionComponent,\r\n {\r\n data: { sid: sid },\r\n height: window.innerHeight - 140 + 'px',\r\n //height: '700px',\r\n //panelClass: 'center-modal'\r\n }\r\n );\r\n this.dialogRef.afterClosed().subscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.dialogRef)\r\n this.dialogRef.close();\r\n }\r\n\r\n\r\n getAbstracts(): void {\r\n\t this.abstractService.getAbstracts4Submitter(this.userID)\r\n\t\t .subscribe(async abstracts => { await (this.abstracts = abstracts) });\r\n \r\n }\r\n\r\n getEventFields(): void {\r\n\t this.abstractService.getEventFields4Form(this.eventName)\r\n\t\t .subscribe(abstractFields => {\r\n this.abstractFields = abstractFields;\r\n this.listFields = abstractFields.filter(p => p.inSubmitterList == 'y');\r\n });\r\n }\r\n\r\n getLovs(): void {\r\n this.abstractService.getEventLovs(this.eventName)\r\n .subscribe(lovs => this.lovs = lovs);\r\n \r\n }\r\n\r\n getEventInfo(): void {\r\n this.abstractService.getEventInfo(this.eventName)\r\n .subscribe(eventInfo => {\r\n this.eventInfo = eventInfo;\r\n if (eventInfo && eventInfo.length > 0) {\r\n this.showComments = eventInfo[0].showReviewComments;\r\n console.log(this.showComments);\r\n }\r\n });\r\n \r\n }\r\n\r\n getLovsByType(lovtypename: string): any {\r\n\t if (!lovtypename) {\r\n\t\t return null;\r\n\t }\r\n\t else {\r\n\t\t let lovtypenamelowercase: string = lovtypename.toLowerCase();\r\n\t\t let lovtypenameonly: string = lovtypenamelowercase.replace(\"lovid\", '');\r\n\t\t return this.lovs.filter(p => p.lovtypename == lovtypenameonly);\r\n\t\t \r\n\t }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\t //this.userID = this.abstractService.getUserID();\r\n \r\n\t this.eventID = sessionStorage.getItem('eventId');\r\n\t this.eventName = sessionStorage.getItem('eventName');\r\n\t this.userID = sessionStorage.getItem(\"userID\");\r\n\t console.log(this.eventID);\r\n\t console.log(this.userID);\r\n\t this.getAbstracts();\r\n\t this.getEventFields();\r\n this.getLovs();\r\n\t this.getEventInfo();\r\n\t this.abstractFormData = {};\r\n }\r\n\r\n ngDoCheck() {\r\n\t if (this.userID == null) {\r\n\t\t this.userID = sessionStorage.getItem(\"userID\");\r\n\t\t if (this.userID)\r\n\t\t\t this.getAbstracts();\r\n\t }\r\n }\r\n\r\n showAddNewLink(): boolean {\r\n\t if (window.location.href.indexOf(\"abstractListSubmitter\") >= 0)\r\n\t\t return true;\r\n\t else\r\n\t\t return false;\r\n }\r\n\r\n deleteRecord(theID: string, creationdate:string): void {\r\n\t var theResult: any;\r\n\r\n\t //var theDate = new Date(creationdate);\r\n\t //var theFormatedDate = this.datePipe.transform(theDate, 'yyyy-MM-dd');\r\n\t var theDate = creationdate.replace(\"T00:00:00\", \"\");\r\n\t if (confirm(\"Are you sure to delete the record \" + theID + \" that you submitted on \" + theDate + '?')) {\r\n\t\t this.abstractService.deleteRecord('aat_abstract.Abstract', theID).subscribe(result => theResult = result);\r\n\t this.abstracts = this.abstracts.filter(item => item[\"id\"] !== theID);\r\n\t console.log(theResult);\r\n\t } \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/abstractListSubmitter.component.ts","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".ng-valid[required], .ng-valid.required {\\r\\n border-left: 5px solid #42A948; /* green */\\r\\n}\\r\\n\\r\\n.ng-invalid:not(form) {\\r\\n border-left: 5px solid #a94442; /* red */\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/app.component.css\n// module id = ../../../../../src/app/submitter/app.component.css\n// module chunks = submitter.module","module.exports = \"<div>\\r\\n <form #abstractForm=\\\"ngForm\\\">\\r\\n <div *ngIf=\\\"abstractDetails && employeeData && abstractFields\\\">\\r\\n <div *ngIf=\\\"show; else notshowing\\\">\\r\\n <div *ngIf=\\\"status\\\" style=\\\"background-color:lightblue;width:auto;border-radius: 0.5em 0.5em; font-weight:bold; padding:10px\\\">This submission is <strong>{{status_1 | uppercase}}</strong>.</div>\\r\\n <br />\\r\\n <table>\\r\\n <tr *ngFor=\\\"let theField of abstractFields\\\" class=\\\"form-row\\\">\\r\\n <dynamic-field-Readonly [theField]=\\\"theField\\\" [theFormData]=\\\"abstractDetails\\\"\\r\\n [theLovValues]=\\\"getLovsByType(theField.model)\\\"\\r\\n [theFieldValue]=\\\"abstractDetails[theField.model]\\\">\\r\\n </dynamic-field-Readonly>\\r\\n\\r\\n\\r\\n </tr>\\r\\n </table>\\r\\n </div>\\r\\n <ng-template #notshowing>\\r\\n <p style=\\\"color:darkred\\\"><strong>You are not authorized to view this page.</strong></p>\\r\\n If you need assistance, please email technical support as shown below.\\r\\n </ng-template>\\r\\n <br />\\r\\n <div *ngIf=\\\"show && status != 'n' && status != 'y'\\\">\\r\\n <strong>Comments:</strong><br />\\r\\n\\r\\n <quill-editor [(ngModel)]=\\\"abstractData['Approval_1_Comments']\\\"\\r\\n id=\\\"comments\\\" type=\\\"text\\\" name=\\\"comments\\\" rows=\\\"10\\\" cols=\\\"100\\\">\\r\\n </quill-editor><br />\\r\\n <button type=\\\"submit\\\" (click)=\\\"saveData('y')\\\" class=\\\"btn btn-success\\\" [disabled]=\\\"!show\\\">Approve</button>\\r\\n <button type=\\\"submit\\\" (click)=\\\"saveData('n')\\\" class=\\\"btn btn-success\\\" [disabled]=\\\"!show\\\">Reject</button>\\r\\n <button type=\\\"submit\\\" (click)=\\\"closeForm()\\\" class=\\\"btn btn-success\\\" [disabled]=\\\"!show\\\">Close</button>\\r\\n </div>\\r\\n <div style=\\\"margin:auto;width:90%\\\">\\r\\n <ng-template #loading><img src=\\\"assets/img/loading.png\\\" /></ng-template>\\r\\n </div>\\r\\n <br />\\r\\n </div>\\r\\n <div style=\\\"margin:auto;width:90%\\\">\\r\\n <ng-template #loading><img src=\\\"assets/img/loading.png\\\" /></ng-template>\\r\\n </div>\\r\\n <br />\\r\\n\\r\\n\\r\\n </form>\\r\\n <!---\\r\\n <div *ngIf=\\\"payLoad\\\" class=\\\"form-row\\\">\\r\\n <strong>Saved the following values</strong><br>{{payLoad}}\\r\\n </div>-->\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/approver.component.html\n// module id = ../../../../../src/app/submitter/approver.component.html\n// module chunks = submitter.module","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray } from '@angular/forms';\r\n\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AbstractService } from '../common/abstract.service';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n\tselector: 'abstract-approver',\r\n\ttemplateUrl: './approver.component.html',\r\n\tstyleUrls: ['./app.component.css']\r\n})\r\n\r\nexport class approverComponent implements OnInit {\r\n\tabstractFields: any;\r\n\tlovs: any = [];\r\n\teventInfo: any = [];\r\n\tabstractData: any = {};\r\n\tabstractDetails: any;\r\n\tuid: string;\r\n userID: string;\r\n show: any;\r\n status: string;\r\n status_1: string;\r\n submitterID: string;\r\n approver_db: string;\r\n approver_login: string;\r\n employeeData: any;\r\n\r\n\tconstructor(\r\n\t\tprivate abstractService: AbstractService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private absService: AbstractService\r\n ) {\r\n this.route.params.subscribe(params => this.uid = params.uid);\r\n }\r\n\r\n\r\n\tgetEventFields(): void {\r\n\t\tthis.abstractService.getEventFields4Form()\r\n .subscribe(async abstractFields => await( this.abstractFields = abstractFields));\r\n\r\n\t}\r\n\r\n\tgetLovs(): void {\r\n\t\tthis.abstractService.getEventLovs()\r\n .subscribe(async lovs => await( this.lovs = lovs));\r\n\r\n\t}\r\n\r\n\tgetEventInfo(): void {\r\n\t\tvar eventId = sessionStorage.getItem('eventId');\r\n\t\t//this.abstractFormData['eventid'] = eventId;\r\n\t}\r\n\r\n\tgetLovsByType(lovtypename: string): any {\r\n\t\tif (!lovtypename) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet lovtypenamelowercase: string = lovtypename.toLowerCase();\r\n\t\t\tlet lovtypenameonly: string = lovtypenamelowercase.replace(\"lovid\", '');\r\n\t\t\treturn this.lovs.filter(p => p.lovtypename == lovtypenameonly);\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tgetAbstractDetails(uid: string): void {\r\n console.log(\"in getAbstractDetails\" + uid);\r\n\t\tthis.abstractService.getAbstractDetailsReadOnly(uid)\r\n\t\t\t.subscribe(async abstractDetails => {\r\n\t\t\t\tif (abstractDetails.length > 0) {\r\n\t\t\t\t\tawait(this.abstractDetails = abstractDetails[0]);\r\n //this.abstractFormData = abstractDetails[0];\r\n //console.log(this.abstractDetails);\r\n this.userID = sessionStorage.getItem('userID');\r\n this.status = abstractDetails[0].Approval_1_Status;\r\n //this.submitterID = abstractDetails[0].submitterid;\r\n this.abstractData[\"Approval_1_Comments\"] = abstractDetails[0].Approval_1_Comments;\r\n this.submitterID = abstractDetails[0].submitterid;\r\n if (this.status) {\r\n this.status = this.status.toLowerCase().trim();\r\n if (this.status == 'y')\r\n this.status_1 = \"approved\";\r\n else if (this.status == 'n')\r\n this.status_1 = \"rejected\";\r\n else\r\n this.status_1 = \"pending for approval\";\r\n }\r\n this.approver_db = abstractDetails[0].Approver_1_ID.toString().trim();\r\n if (this.userID) {\r\n this.employeeData = [];\r\n this.approver_login = this.userID.toString().trim();\r\n if (this.approver_login == this.approver_db)\r\n this.show = true;\r\n else {\r\n this.show = false;\r\n }\r\n }\r\n else {\r\n this.getUserID(this.approver_db);\r\n }\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n getUserID(approver_db:string) : void {\r\n let email: string = sessionStorage.getItem(\"useremail\");\r\n let username: string;\r\n\r\n if (email && sessionStorage.getItem('userID') == null) {\r\n //if mda user, get employee information\r\n let theIndex: number = email.indexOf(\"mdanderson.org\") - 1;\r\n\r\n if (theIndex > 0) {\r\n username = email.substr(0, theIndex);\r\n sessionStorage.setItem(\"username\", username);\r\n this.absService.getMDAEmployee(username).subscribe(async employeeData => {\r\n await (this.employeeData = employeeData);\r\n if (this.employeeData != null && this.employeeData.length > 0) {\r\n this.approver_login = this.employeeData[0][\"EMPLOYEEID\"].toString().trim();\r\n if (this.approver_login == approver_db)\r\n this.show = true;\r\n else\r\n this.show = false;\r\n }\r\n else\r\n this.show = false;\r\n });\r\n }\r\n else {\r\n this.show = false;\r\n this.employeeData = [];\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.getEventFields();\r\n\t\tthis.getLovs();\r\n\t\tthis.getEventInfo();\r\n\t\tthis.abstractData = {};\r\n \r\n\t\tif (this.uid != null && this.uid != \"\") {\r\n\t\t\tthis.getAbstractDetails(this.uid);\r\n\t\t}\r\n\r\n }\r\n\r\n saveData(flag: string, comments: string): void {\r\n if (flag == 'y') {\r\n confirm(\"Are you sure that you want to APPROVE this?\");\r\n this.status = \"y\";\r\n this.status_1 = \"approved\";\r\n }\r\n else {\r\n confirm(\"Are you sure that you want to REJECT this?\");\r\n this.status = \"n\";\r\n this.status_1 = \"rejected\";\r\n }\r\n this.abstractData.id = this.abstractDetails.id;\r\n if (flag != null && flag != \"\") {\r\n this.abstractData[\"Approval_1_Status\"] = flag;\r\n }\r\n this.abstractData.tablename = 'aat_abstract.abstract';\r\n this.abstractService.addUpdateJsonData(this.abstractData).subscribe();\r\n alert(\"Your feedback is saved, you can close your window now\");\r\n this.abstractService.getMDAEmployee(this.submitterID)\r\n .subscribe(peopleDetails => {\r\n if (peopleDetails.length > 0) {\r\n var theEmail = peopleDetails[0].MAIL;\r\n this.sendEmail(theEmail);\r\n }\r\n });\r\n this.sendEmail2Approver();\r\n //this.router.navigate(['abstractInfo?uid=' + this.uid]);\r\n //this.router.navigateByUrl('abstractInfo?uid=' + this.uid);\r\n }\r\n\r\n closeForm(): void {\r\n window.open('','_self').close();\r\n }\r\n \r\n sendEmail(theEmail:string): void {\r\n let eventName = sessionStorage.getItem('eventName');\r\n let theEmailObj: any = {};\r\n let theFullName = sessionStorage.getItem('fullname');\r\n\r\n theEmailObj['to'] = encodeURI(theEmail);\r\n theEmailObj['from'] = encodeURI('atssupport@mdanderson.org');\r\n theEmailObj['subject'] = sessionStorage.getItem('eventTitle').toUpperCase() + ' Submission Approval Status';\r\n\r\n theEmailObj['message'] = \"Your submission has been \" + this.status_1 + \" by \" + theFullName + \".<br/>\"\r\n + \"You can go to the link below to see or update your submission.<br/><br/>\" +\r\n \"<a href='\" + environment.redirectUri + \"/submitter?event=\" + eventName + \"'>\" + sessionStorage.getItem('eventTitle').toUpperCase() + \" Online Submission</a><br/><br/>\";\r\n //this.confirmationEmailJson['message'] = \"Hello\";\r\n this.abstractService.sendEmail(theEmailObj);\r\n\r\n }\r\n \r\n sendEmail2Approver(): void {\r\n let eventName = sessionStorage.getItem('eventName');\r\n let theEmail = sessionStorage.getItem('useremail');\r\n let theLink = environment.redirectUri;\r\n let theEmailObj: any = {};\r\n\r\n theEmailObj['to'] = encodeURI(theEmail);\r\n theEmailObj['from'] = encodeURI('atssupport@mdanderson.org');\r\n theEmailObj['subject'] = sessionStorage.getItem('eventTitle').toUpperCase() + ' Submission - Thank you for your feedback';\r\n\r\n theEmailObj['message'] = \"Thank you for your feedback. The submission below has been \" + this.status_1 + \" by you. <br/><br/>\"\r\n + \"You can go to the link below to review this submission.<br/><br/>\"\r\n + \"<a href='\" + environment.redirectUri + \"/submitter/secondApproval/\" + this.uid + \"?event=\" + eventName + \"'>\" + sessionStorage.getItem('eventTitle').toUpperCase()\r\n + \" Online Submission</a><br/><br/>\";\r\n\r\n console.log(theEmailObj);\r\n this.abstractService.sendEmail(theEmailObj);\r\n\r\n }\r\n \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/approver.component.ts","module.exports = \"<mat-dialog-content>\\r\\n\\r\\n <!--<div *ngIf=\\\"abstractDetails;abstractData\\\">-->\\r\\n <div *ngIf=\\\"reviewData; let reviewData; else loading\\\" >\\r\\n <table border=\\\"1\\\" cellpadding=\\\"10\\\">\\r\\n <tr style=\\\"background-color:lightsteelblue\\\">\\r\\n <th>Score</th>\\r\\n <th>Comments</th>\\r\\n </tr>\\r\\n <tr *ngFor=\\\"let theReview of reviewData \\\">\\r\\n <td>{{theReview['scores']}}</td>\\r\\n <td style=\\\"width:95%;white-space: pre-wrap;\\\" [innerHTML]=\\\"theReview['comments']\\\"></td>\\r\\n </tr>\\r\\n </table>\\r\\n </div>\\r\\n\\r\\n <ng-template #loading>Loading Data...</ng-template>\\r\\n\\r\\n\\r\\n</mat-dialog-content>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/reviewDetails4Submission.component.html\n// module id = ../../../../../src/app/submitter/reviewDetails4Submission.component.html\n// module chunks = submitter.module","import { Component, OnInit, HostBinding, Inject} from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray } from '@angular/forms';\r\n\r\nimport { Router } from '@angular/router';\r\nimport { AbstractService } from '../common/abstract.service';\r\nimport { slideInOutAnimation } from '../animations';\r\nimport { MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n\r\n@Component({\r\n\tselector: 'review-details-submission',\r\n\ttemplateUrl: './reviewDetails4Submission.component.html',\r\n\tstyleUrls: ['../app.component.css'],\r\n animations: [slideInOutAnimation]\r\n})\r\n\r\nexport class reviewDetails4SubmissionComponent implements OnInit {\r\n\t//@HostBinding('@slideInOutAnimation') slideInOutAnimation = '';\r\n\r\n reviewData:any = [];\r\n loading: any;\r\n\tconstructor(\r\n\t\tprivate abstractService: AbstractService,\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n\t) { }\r\n\r\n\r\n\t\r\n\tgetReviewData(sid: string): any {\r\n this.abstractService.getReviewComments4Submitter(sid)\r\n\t\t\t.subscribe(async reviewData => {\r\n\t\t\t\tif (reviewData.length > 0) {\r\n\t\t\t\t\tawait (this.reviewData = reviewData);\r\n console.log(reviewData);\r\n\t\t\t\t} \r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n let sid: string;\r\n //sid = window.location.search.split('sid=')[1];\r\n sid = this.data.sid;\r\n\t\tif (sid != null && sid != \"\") {\r\n\t\t this.getReviewData(sid);\r\n }\r\n\t}\r\n\t\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/reviewDetails4Submission.component.ts","import {ModuleWithProviders, NgModule, ErrorHandler, Injectable, Injector, Pipe, PipeTransform } from '@angular/core';\r\n//import { HttpModule, RequestOptions } from '@angular/http';\r\nimport { FormsModule, NgForm, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { abstractComponent } from './abstract.component';\r\nimport { abstractFormComponent } from './abstractForm.component';\r\nimport { abstractListSubmitterComponent } from './abstractListSubmitter.component';\r\nimport {userDetailsComponent} from './userDetails.component';\r\nimport { abstractDetailsComponent } from './abstractDetails.component';\r\nimport { abstractInfoComponent } from './abstractInfo.component';\r\n//import { HttpClientModule } from '@angular/common/http';\r\nimport { FileDropDirective, FileSelectDirective, FileUploadModule } from 'ng2-file-upload';\r\nimport { approverComponent } from './approver.component';\r\n//import { addNewUserComponent } from '../externalUsers/addNewUser.component';\r\nimport { countryService } from '../common/country.service';\r\n//import { OrderByPipe } from '../common/orderby.pipe';\r\nimport {AbstractServicePromise} from '../common/abstract2Promise.service';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n//import { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { commonModule } from '../common/common.module';\r\nimport { reviewDetails4SubmissionComponent } from './reviewDetails4Submission.component';\r\nimport { MatDialogModule, MatDialogRef, MatDialog } from '@angular/material';\r\nimport { QuillModule } from 'ngx-quill';\r\n\r\nconst submitterRouting: ModuleWithProviders = RouterModule.forChild([\r\n { path: '', component: abstractComponent },\r\n { path: 'abstract', component: abstractComponent },\r\n //{ path: 'newUser', component: addNewUserComponent },\r\n { path: 'abstractDetails/:uid', component: abstractDetailsComponent },\r\n { path: 'abstractForm', component: abstractFormComponent },\r\n { path: 'abstractInfo/:uid', component: abstractInfoComponent },\r\n { path: 'secondApproval/:uid', component: approverComponent},\r\n { path: 'abstractListSubmitter', component: abstractListSubmitterComponent },\r\n { path: 'reviewDetails4Submission', component: reviewDetails4SubmissionComponent },\r\n\r\n]);\r\n\r\n@NgModule({\r\n entryComponents: [reviewDetails4SubmissionComponent],\r\n\r\n\tdeclarations: [\r\n\t\tabstractComponent,\r\n\t\tabstractFormComponent,\r\n\t\tabstractDetailsComponent,\r\n\t\tabstractInfoComponent,\r\n\t\tabstractListSubmitterComponent,\r\n userDetailsComponent,\r\n approverComponent,\r\n //addNewUserComponent,\r\n reviewDetails4SubmissionComponent\r\n //OrderByPipe,\r\n\t\t//,FileDropDirective, FileSelectDirective, FileUploadModule\r\n\t],\r\n imports: [submitterRouting, CommonModule, commonModule, FormsModule, ReactiveFormsModule, MatDialogModule, QuillModule],\r\n\r\n\tproviders: [],\r\n\tbootstrap: []\r\n})\r\nexport class SubmitterModule {\r\n\t\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/submitter.module.ts","module.exports = \"<div>\\r\\n <form #abstractForm=\\\"ngForm\\\" >\\r\\n <!--{{abstractFormData | json}}-->\\r\\n \\r\\n <div *ngIf=\\\"userDetails\\\">\\r\\n <strong>Submitter Details</strong>\\r\\n <span *ngIf=\\\"userDetails['EMPLOYEEID']; else externalUserTemplate\\\">\\r\\n <table>\\r\\n <tr>\\r\\n <th>Name</th>\\r\\n <td>{{userDetails['LAST_NAME'] + ', ' + userDetails['FIRST_NAME']}}</td>\\r\\n </tr>\\r\\n <tr>\\r\\n <th>Employee ID</th>\\r\\n <td>{{userDetails['EMPLOYEEID']}}</td>\\r\\n </tr>\\r\\n <tr>\\r\\n <th>Title</th>\\r\\n <td>{{userDetails['TITLE'] + ', ' + userDetails['DEPARTMENT']}}</td>\\r\\n </tr>\\r\\n <tr>\\r\\n <th valign=\\\"top\\\">Contact</th>\\r\\n <td>\\r\\n {{userDetails['MAIL']}}<br />\\r\\n {{userDetails['TELEPHONENUMBER']}}<br />\\r\\n {{userDetails['OFFICELOCATION']}}<br />\\r\\n </td>\\r\\n </tr>\\r\\n </table>\\r\\n </span>\\r\\n <ng-template #externalUserTemplate>\\r\\n <a href=\\\"newUser\\\"><strong>Update Your Profile</strong></a><br />\\r\\n {{userDetails['LastName'] + ', ' + userDetails['FirstName']}}<br/>\\r\\n {{userDetails['Email']}}<br/>\\r\\n <span *ngIf =\\\"userDetails['Position']\\\">\\r\\n {{userDetails['Position']}}<br/>\\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Institution']\\\">\\r\\n {{userDetails['Institution']}}<br/>\\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Phone']\\\">\\r\\n {{userDetails['CountryCode']}}-{{userDetails['Phone']}}<br/>\\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Street']\\\">\\r\\n {{userDetails['Street']}}<br/>\\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['City']\\\">\\r\\n {{userDetails['City']}}, \\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['State']\\\">\\r\\n {{userDetails['State']}}, \\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Country']\\\">\\r\\n {{userDetails['Country']}}\\r\\n </span>\\r\\n <span *ngIf=\\\"userDetails['Zipcode']\\\">\\r\\n , {{userDetails['Zipcode']}}<br/>\\r\\n </span><br/>\\r\\n <!-- <a href=\\\"newUser\\\"><strong>Update Your Profile</strong></a><br/>-->\\r\\n </ng-template>\\r\\n </div>\\r\\n</form>\\r\\n\\r\\n \\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/userDetails.component.html\n// module id = ../../../../../src/app/submitter/userDetails.component.html\n// module chunks = submitter.module","import { Component, OnInit, AfterViewInit, DoCheck } from '@angular/core';\r\nimport { FormGroup, FormControl, FormArray, FormsModule } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { AbstractService } from '../common/abstract.service';\r\nimport { FileUploader } from 'ng2-file-upload';\r\n//import {server, message, SMTP} from 'emailjs/email';\r\n\r\ndeclare var require: any;\r\nconst serverURL: string = 'https://acadtech-dev.mdanderson.edu/sapps/AbstractSubmission/api/MDA/PostFiles/'\r\n\r\n@Component({\r\n selector: 'user-details',\r\n templateUrl: './userDetails.component.html',\r\n styleUrls: [ './app.component.css' ]\r\n})\r\n\r\nexport class userDetailsComponent implements OnInit, DoCheck{\r\n\r\n userDetails: any;\r\n username: any;\r\n email: string;\r\n confirmationEmailJson: any = {};\r\n abstractFormData:any;\r\n\r\n constructor(\r\n private abstractService: AbstractService,\r\n private router: Router\r\n ){}\r\n \r\n \r\n getUserDetails(): void {\r\n\t let myKey: string = \"userDetails\";\r\n\t var theUserID = sessionStorage.getItem(\"userID\");\r\n\t //console.log(myKey);\r\n\t //console.log(sessionStorage.getItem(myKey));\r\n\t if (sessionStorage.getItem(myKey) != null) {\r\n\r\n\t\t this.userDetails = JSON.parse(sessionStorage.getItem(myKey));\r\n\t\t //this.userDetails = this.userDetails.filter(a => a);\r\n\t\t //console.log(this.userDetails);\r\n //for internal users\r\n\t\t if (this.userDetails['EMPLOYEEID']) {\r\n\t\t\t this.abstractFormData['submitterid'] = this.userDetails['EMPLOYEEID'];\r\n\t\t\t this.username = this.userDetails['MYID'];\r\n\t\t\t this.email = this.userDetails['MAIL'];\r\n\r\n\t\t }\r\n //for external users\r\n else {\r\n\t\t\t if (theUserID) {\r\n\t\t\t\t this.abstractFormData['submitterid'] = theUserID;\r\n\t\t\t }\r\n\t\t\t else if (this.userDetails['ID']) {\r\n\t\t\t\t this.abstractFormData['submitterid'] = this.userDetails['ID'];\r\n\t\t\t }\r\n\t\t this.username = this.userDetails['Email'];\r\n\t\t\t this.email = this.userDetails['Email'];\r\n\t\t }\r\n\t }\r\n }\r\n\r\n ngOnInit(): void {\r\n\t //console.log(sessionStorage.getItem(\"userDetails\"));\r\n\t //console.log(sessionStorage.getItem(\"username\"));\r\n \r\n\t this.getUserDetails();\r\n\t\r\n } \r\n\r\n \r\n ngDoCheck() {\r\n\t if (this.userDetails == null)\r\n\t\t this.getUserDetails();\r\n\t\t //this.abstractFormData['submitterid'] = sessionStorage.getItem(\"userID\");\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/ADOS-Agent-2-D1PWLATSTFS/_work/52/s/AAT Abstract Submission/Client/src/app/submitter/userDetails.component.ts"],"sourceRoot":"webpack:///"}