{"version":3,"sources":["../../src/pages/client-tab/client-tab.ts","../../src/components/client-details/client-details.ts","../../node_modules/file-saver/dist/FileSaver.min.js","../../src/pages/client-tab/client-tab.module.ts","../../node_modules/ngx-clipboard/dist/src/clipboard.service.js","../../node_modules/ngx-clipboard/dist/src/clipboard.directive.js","../../node_modules/ngx-window-token/dist/ngx-window-token.js","../../node_modules/ngx-clipboard/dist/ngx-clipboard.js","../../src/models/client.ts","../../node_modules/ngx-clipboard/dist/src/ngx-clipboard.js","../../node_modules/ngx-window-token/dist/src/ngx-window-token.js","../../src/models/groupings.ts","../../src/pages/add-note/add-note.ts","../../src/pages/response-note/response-note.ts"],"names":[],"mappings":"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","file":"3.54ffd1f23ab12b22abbf.chunk.js","sourcesContent":["import { Component, SimpleChanges } from '@angular/core';\r\nimport { IonicPage, NavController, App, NavParams, ViewController, ModalController, AlertController, ActionSheetController, LoadingController, ToastController } from 'ionic-angular';\r\nimport { ClientCreatePage } from '../client-create/client-create';\r\nimport { Searchbar } from 'ionic-angular';\r\nimport { ViewChild } from '@angular/core';\r\n\r\n\r\nimport { Items } from '../../providers/providers';\r\n\r\n\r\nimport { Client } from '../../models/client';\r\nimport { UserData } from '../../models/user';\r\nimport { UserAccount } from '../../models/account';\r\nimport { Grouping } from '../../models/groupings';\r\nimport { environment } from '../../environment/environment';\r\n\r\n\r\n/**\r\n * Generated class for the ClientTabPage page.\r\n *\r\n * See http://ionicframework.com/docs/components/#navigation for more info\r\n * on Ionic pages and navigation.\r\n */\r\n\r\n@IonicPage({\r\n name: 'clients',\r\n segment: 'clients',\r\n priority: 'high'\r\n})\r\n@Component({\r\n selector: 'page-client-tab',\r\n templateUrl: 'client-tab.html',\r\n})\r\nexport class ClientTabPage {\r\n\r\n currentItems: any[];\r\n schedules=[];\r\n responseData: any;\r\n administer: string;\r\n client: Client;\r\n index: any;\r\n userAccountData: UserAccount;\r\n text: string = 'noClientSelected';\r\n setGroup: boolean = false;\r\n @ViewChild('searchbar') searchbar:Searchbar;\r\n actionSheet: any;\r\n groupings: any[];\r\n groupings_array: any[];\r\n client_selected: any[] = [];\r\n userData: UserData;\r\n page_search: string = '';\r\n menu_search: string = '';\r\n show_result: boolean = false;\r\n displayList: Client[];\r\n inactive_placeholder: string = '';\r\n updatingStatus: boolean = false;\r\n sort: string = 'last_assessment';\r\n direction: string = 'DESC';\r\n page_count: number = 0;\r\n current_page: number = 1;\r\n group_id: string = '';\r\n group_name: string = '';\r\n no_email: any[];\r\n highlight_no_email: boolean = false;\r\n getGroupingId: string = '';\r\n getGroupingName: string = '';\r\n review_status: boolean = false;\r\n reviewCount: number = 0;\r\n duplicate_status: boolean = false;\r\n duplicateCount: number = 0;\r\n hasInsightUpgrade: boolean = false;\r\n novoNote: boolean = false;\r\n novoNoteURL: string = '';\r\n imagePath: string = environment.imagePath;\r\n logoutRedirection: string = environment.logoutRedirection;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, \r\n public modalCtrl: ModalController, public items: Items, public viewCtrl: ViewController, public alertCtrl: AlertController,\r\n public actionSheetCtrl: ActionSheetController, public loading: LoadingController, public app: App, public toastCtrl: ToastController) {\r\n this.items.isAuthenticated().then(isAuthenticated => {\r\n console.log(isAuthenticated)\r\n if (!isAuthenticated) {\r\n var rememberMe = localStorage.getItem('rememberMe');\r\n var promoLastShown = localStorage.getItem('promoLastShown');\r\n localStorage.clear();\r\n localStorage.setItem('rememberMe',rememberMe);\r\n localStorage.setItem('promoLastShown',promoLastShown);\r\n\r\n let toast = this.toastCtrl.create({\r\n message: 'You have been logged out- session expired',\r\n duration: 5000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n \r\n this.navCtrl.setRoot('login');\r\n }\r\n });\r\n \r\n let isAdminestering = this.items.isAdminestering();\r\n\r\n if (isAdminestering) {\r\n this.navCtrl.push('assessment-stop', { isAdminister: true });\r\n }\r\n this.userData = JSON.parse(localStorage.getItem('userData'));\r\n const isUserDataLoaded = sessionStorage.getItem('isUserDataLoaded');\r\n \r\n this.hasInsightUpgrade = environment.hasInsightUpgrade\r\n this.novoNote = environment.novoNote\r\n\r\n if (this.userData) {\r\n this.novoNoteURL = this.userData.novonote_url\r\n }\r\n\r\n if (!isUserDataLoaded) {\r\n console.log('Reget user data')\r\n this.items.getUserDetails().subscribe(res => {\r\n if (res) {\r\n sessionStorage.setItem('isUserDataLoaded', 'true');\r\n localStorage.setItem('userData', JSON.stringify(res));\r\n this.userData = JSON.parse(localStorage.getItem('userData'));\r\n this.novoNoteURL = this.userData.novonote_url\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n}\r\n\r\n ionViewDidLoad() {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n\r\n \r\n if (this.navParams.get('client')) {\r\n this.client = this.navParams.get('client');\r\n console.log(this.client)\r\n this.text = 'clientSelected'\r\n } else {\r\n this.text = 'noClientSelected'\r\n }\r\n \r\n if (this.navParams.get('groupingId')) {\r\n this.getGroupingId = this.navParams.get('groupingId')\r\n this.getGroupingName = this.navParams.get('groupingName')\r\n }\r\n\r\n this.getGroupings();\r\n this.getReviewCount();\r\n this.getDuplicateCount();\r\n this.getClientList(loading)\r\n \r\n }\r\n\r\n logout(){\r\n var rememberMe = localStorage.getItem('rememberMe');\r\n var promoLastShown = localStorage.getItem('promoLastShown');\r\n localStorage.clear();\r\n localStorage.setItem('rememberMe',rememberMe);\r\n localStorage.setItem('promoLastShown',promoLastShown);\r\n setTimeout(() => this.backToWelcome(), 1000);\r\n }\r\n\r\n backToWelcome(){\r\n if (this.logoutRedirection != '') {\r\n window.top.location.href = this.logoutRedirection;\r\n } else {\r\n const root = this.app.getRootNav();\r\n root.popToRoot();\r\n }\r\n}\r\n\r\n toBoolean(val) {\r\n return val === '1' ? true : false\r\n }\r\n\r\n sortList(sort, direction) {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n this.sort = sort\r\n this.direction = direction\r\n this.getClientList(loading)\r\n }\r\n\r\n addToSelectArray(client) {\r\n if (client.selected) {\r\n this.client_selected.push(client.id)\r\n } else {\r\n const index = this.client_selected.indexOf(client.id);\r\n if (index > -1) { // only splice array when item is found\r\n this.client_selected.splice(index, 1); // 2nd parameter means remove one item only\r\n }\r\n }\r\n console.log(this.client_selected)\r\n }\r\n\r\n onCancel() {\r\n this.menu_search = ''\r\n this.onInput()\r\n }\r\n\r\n onInput() {\r\n var menu_search = this.menu_search.trim()\r\n\r\n if (menu_search.length < 3) {\r\n this.displayList = [];\r\n this.show_result = false;\r\n } else { \r\n this.items.getClientSmallList(this.menu_search).subscribe(res => {\r\n if (res) {\r\n this.displayList = res;\r\n this.show_result = true;\r\n return this.displayList;\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n } \r\n }\r\n\r\n selectClient(item) {\r\n this.navCtrl.push('clients', { clientId: item.id, client: item })\r\n\r\n }\r\n\r\n // ionViewDidEnter() {\r\n // setTimeout(()=>{\r\n // this.searchbar.setFocus();\r\n // }, 2000);\r\n // }\r\n\r\n getGroupings() {\r\n this.groupings_array = [];\r\n this.items.getGroupings().subscribe(res => {\r\n if (res) {\r\n this.groupings = res;\r\n\r\n if (this.groupings.length > 0) {\r\n this.groupings.forEach(item => {\r\n let grp = {\r\n id: item.Grouping.id,\r\n name: item.Grouping.name,\r\n selected: false\r\n };\r\n\r\n this.groupings_array.push(grp);\r\n\r\n if (this.getGroupingId) {\r\n this.filterGroup(this.getGroupingId, this.getGroupingName, true)\r\n }\r\n });\r\n }\r\n }\r\n },\r\n err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getReviewCount() {\r\n this.items.getClientsToReviewCount().subscribe(res => {\r\n if (res) {\r\n this.reviewCount = res.result\r\n }\r\n },\r\n err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getDuplicateCount() {\r\n this.items.getClientsDuplicateCount().subscribe(res => {\r\n if (res) {\r\n this.duplicateCount = res.result\r\n }\r\n },\r\n err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n getClientReportUrl (client_id) {\r\n var popup = window.open('', \"_blank\");\r\n this.items.getClientReportURL(client_id).subscribe(data => {\r\n if (data) {\r\n popup.location.href = data.url\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n \r\n /**\r\n * Prompt the user to add a new item. This shows our ItemCreatePage in a\r\n * modal and then adds the new item to our data source if the user created one.\r\n */\r\n addClient() {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n\r\n this.items.getAccountDetails().subscribe(res => {\r\n if (res) {\r\n this.userAccountData = res;\r\n if (parseInt(this.userAccountData.max_clients) - this.userAccountData.client_count < 4 ||\r\n this.userAccountData.client_count > parseInt(this.userAccountData.max_clients)) {\r\n this.presentAlert();\r\n loading.dismiss()\r\n }\r\n else {\r\n let addModal = this.modalCtrl.create(ClientCreatePage,{ userData: this.userAccountData }, { cssClass: \"add-client-modal\" });\r\n addModal.onDidDismiss(item => {\r\n if (item) {\r\n if (item.dismiss === 'done') {\r\n this.items.addClientStatic(item.form).subscribe(res => {\r\n let client = res.json().data.client\r\n console.log(client);\r\n if (res) {\r\n this.clientSelected(client, client.id)\r\n this.getClientList(loading)\r\n }\r\n }, err => {\r\n loading.dismiss()\r\n console.error('ERROR', err);\r\n });\r\n\r\n }\r\n }\r\n })\r\n loading.dismiss()\r\n addModal.present();\r\n }\r\n }\r\n }, err => {\r\n loading.dismiss()\r\n console.error('ERROR', err);\r\n });\r\n }\r\n\r\n editClient(client, index) {\r\n \r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading', showBackdrop: false });\r\n loading.present()\r\n this.items.getClientNotesAndResponses(client.id).subscribe(res => {\r\n if (res) {\r\n client.user = res.user;\r\n client.assigned_users = res.assigned_users;\r\n client.assigned_groups = res.assigned_groups;\r\n client.groupings = res.groupings;\r\n client.practitioners = res.practitioners;\r\n \r\n this.userData = JSON.parse(localStorage.getItem('userData'));\r\n let addModal = this.modalCtrl.create(ClientCreatePage, { client: client, userData: this.userData }, { cssClass: \"add-client-modal\" });\r\n addModal.onDidDismiss(item => {\r\n if (item) {\r\n if (item.dismiss === 'done') {\r\n let seq = this.items.editClient(item.form, client.id).share();\r\n seq\r\n .map(res => res.json().data.client)\r\n .subscribe(res => {\r\n let toast = this.toastCtrl.create({\r\n message: 'Client information updated',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n \r\n this.getClientList(loading)\r\n }, err => {\r\n console.error('ERROR', err);\r\n loading.dismiss()\r\n });\r\n } else if (item.dismiss === 'inactive') {\r\n client.inactive = 1\r\n let seq = this.items.editClient(client, client.id).share();\r\n seq\r\n .map(res => res.json().data.client)\r\n .subscribe(res => {\r\n let toast = this.toastCtrl.create({\r\n message: 'Client information updated',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n \r\n this.getClientList(loading)\r\n }, err => {\r\n console.error('ERROR', err);\r\n loading.dismiss()\r\n });\r\n //\r\n } else if (item.dismiss === 'delete') {\r\n client.active = \"0\";\r\n let seq = this.items.deleteClientStatic(client, client.id).share();\r\n seq\r\n .map(res => res.json().data.client)\r\n .subscribe(res => { \r\n this.getClientList(loading, null, false, this.current_page, true)\r\n }, err => {\r\n console.error('ERROR', err);\r\n loading.dismiss()\r\n });\r\n } else {\r\n loading.dismiss()\r\n }\r\n } else {\r\n loading.dismiss()\r\n }\r\n })\r\n addModal.present();\r\n }\r\n },\r\n err => {\r\n loading.dismiss()\r\n console.log(err);\r\n });\r\n }\r\n\r\n changeStatus(client, index) { \r\n if (!this.updatingStatus) {\r\n this.updatingStatus = true\r\n let status = client.inactive == '1' ? '0' : '1';\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n \r\n this.items.clientChangeStatus(client.id, status).subscribe((resp) => {\r\n if (resp) {\r\n let toast = this.toastCtrl.create({\r\n message: 'Clients status updated',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n \r\n this.currentItems[index].inactive = status\r\n loading.dismiss()\r\n this.updatingStatus = false\r\n } else {\r\n loading.dismiss()\r\n this.updatingStatus = false\r\n } \r\n \r\n }, (err) => {\r\n let toast = this.toastCtrl.create({\r\n message: 'Failed to set client status',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n loading.dismiss()\r\n this.updatingStatus = false\r\n })\r\n }\r\n }\r\n\r\n setGroupBulk() {\r\n var processed = 0\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n this.client_selected = []\r\n\r\n if (this.setGroup) {\r\n this.groupings_array.forEach((item, index, array) => {\r\n this.groupings_array[index].selected = false\r\n });\r\n\r\n if (this.currentItems.length > 0) {\r\n this.currentItems.forEach((item, index, array) => {\r\n processed++\r\n this.currentItems[index].selected = false\r\n \r\n if (processed == array.length) {\r\n this.setGroup = this.setGroup ? false : true\r\n loading.dismiss()\r\n }\r\n });\r\n }\r\n } else {\r\n this.setGroup = this.setGroup ? false : true\r\n loading.dismiss()\r\n }\r\n }\r\n\r\n setGrouping(grouping) {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n\r\n if (this.client_selected.length == 0) {\r\n let toast = this.toastCtrl.create({\r\n message: 'You need to select at least one client',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n loading.dismiss()\r\n return;\r\n }\r\n\r\n this.items.setClientGrouping(this.client_selected, grouping.id, grouping.selected).subscribe((resp) => {\r\n if (resp) {\r\n let toast = this.toastCtrl.create({\r\n message: 'Clients grouping updated',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n }\r\n \r\n this.getClientList(loading, null, true)\r\n \r\n }, (err) => {\r\n let toast = this.toastCtrl.create({\r\n message: 'Failed to set clients grouping',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n loading.dismiss()\r\n })\r\n }\r\n\r\n addNewClient(client: any){\r\n this.currentItems = this.items.getClients();\r\n this.client = this.currentItems[this.currentItems.length - 1];\r\n this.text = \"clientSelected\";\r\n console.log('addNewClient');\r\n }\r\n\r\n clientSelected(item,index){\r\n if (this.setGroup) {\r\n this.setGroupBulk()\r\n }\r\n this.client = item;\r\n this.text = \"clientSelected\";\r\n this.client.scheduleList = this.filterSchedules(item.id);\r\n this.index = index;\r\n \r\n }\r\n\r\n sendEmail() {\r\n this.no_email = [];\r\n this.currentItems.forEach((item) => {\r\n if (item.email === '') {\r\n this.no_email.push(item)\r\n }\r\n });\r\n\r\n if (this.no_email.length > 0) {\r\n let title = \"Send Group Email Confirmation\";\r\n let text_footer = \"Would you like to send the email to the \" + (this.currentItems.length - this.no_email.length) + \" client(s) in the group with a valid email address now or update the client(s) without valid email before sending?\" ;\r\n let text = \"At least one of the clients in this group does not have a valid email address.\"\r\n let modal = this.modalCtrl.create('ModalPopupPage', { title: title, text: text, text_footer: text_footer, clients: this.no_email });\r\n modal.onDidDismiss(item => {\r\n if (item) {\r\n if (item.action === 'email') {\r\n this.emailAssessmentGroup()\r\n } else {\r\n this.highlight_no_email = true\r\n }\r\n }\r\n })\r\n modal.present();\r\n } else {\r\n this.emailAssessmentGroup()\r\n }\r\n }\r\n\r\n emailAssessmentGroup() {\r\n let group = { id: this.group_id, name: this.group_name };\r\n let modal = this.modalCtrl.create('EmailPage', { group: group });\r\n modal.onDidDismiss(data => {\r\n if (data) {\r\n if (data.dismiss == 'Create') {\r\n let toast = this.toastCtrl.create({\r\n message: 'Assessment email sent',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n }\r\n }\r\n })\r\n modal.present();\r\n }\r\n\r\n filterSchedules(clientId){\r\n return this.schedules.filter((item) => { \r\n return item.client_id === clientId; })\r\n }\r\n\r\n filterClients() {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n \r\n this.getClientList(loading)\r\n }\r\n\r\n reviewToggle(review_status) {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n\r\n this.page_search = ''\r\n this.group_id = ''\r\n this.duplicate_status = false;\r\n this.review_status = review_status;\r\n this.sort = 'last_assessment';\r\n this.direction = 'DESC';\r\n \r\n this.getClientList(loading)\r\n }\r\n\r\n duplicateToggle(duplicate_status) {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n\r\n this.page_search = ''\r\n this.group_id = ''\r\n this.duplicate_status = duplicate_status;\r\n this.review_status = false;\r\n\r\n if (duplicate_status) {\r\n this.sort = '';\r\n this.direction = '';\r\n } else {\r\n this.sort = 'last_assessment';\r\n this.direction = 'DESC';\r\n }\r\n \r\n this.getClientList(loading)\r\n }\r\n\r\n setClientInactiveAll() {\r\n let prompt = this.alertCtrl.create({\r\n title: 'Set Client Status',\r\n message: \"Are you sure you want to set all suggested clients (\" + this.reviewCount + \" clients) status to inactive?\",\r\n buttons: [\r\n {\r\n text: 'Cancel',\r\n handler: data => {\r\n\r\n }\r\n },\r\n {\r\n text: 'OK',\r\n handler: data => {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n\r\n this.items.setClientInactiveAll().subscribe(res => {\r\n if (res) {\r\n this.presentToast(\"Successfully updated client status\");\r\n this.getClientList(loading)\r\n this.getReviewCount()\r\n } else {\r\n loading.dismiss()\r\n }\r\n },\r\n err => {\r\n this.presentToast(\"Error updating client status\");\r\n loading.dismiss()\r\n });\r\n }\r\n }\r\n ]\r\n });\r\n prompt.present();\r\n \r\n }\r\n\r\n resetClients() {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n\r\n this.page_search = ''\r\n this.group_id = ''\r\n this.review_status = false;\r\n this.highlight_no_email = false;\r\n \r\n this.getClientList(loading)\r\n }\r\n\r\n getClientList(loading = null, client = null, select = false, page = 1, removed = false) {\r\n this.current_page = page;\r\n var querystring = '?page=' + page\r\n\r\n if (this.page_search != '') {\r\n querystring += '&keyword=' + this.page_search\r\n }\r\n \r\n if (this.sort != '') {\r\n querystring += '&sort=' + this.sort\r\n }\r\n \r\n if (this.direction != '') {\r\n querystring += '&direction=' + this.direction\r\n }\r\n \r\n if (this.group_id != '') {\r\n querystring += '&group_id=' + this.group_id\r\n }\r\n \r\n if (this.review_status) {\r\n querystring += '&suggestion=true'\r\n }\r\n \r\n if (this.duplicate_status) {\r\n querystring += '&duplicate=true'\r\n }\r\n\r\n this.items.getClientListPaged(querystring).subscribe(res => {\r\n if (res) {\r\n this.currentItems = res.Clients;\r\n this.page_count = res.pages;\r\n console.log(this.currentItems)\r\n\r\n if (select) {\r\n this.currentItems.forEach((item) => {\r\n if (this.client_selected.indexOf(item.id) !== -1) {\r\n item.selected = true\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (loading) {\r\n loading.dismiss()\r\n }\r\n \r\n if (client) {\r\n this.client = client\r\n this.text = \"clientSelected\";\r\n }\r\n\r\n if (removed) {\r\n this.text = \"noClientSelected\"\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n if (loading) {\r\n loading.dismiss()\r\n }\r\n });\r\n }\r\n\r\n goToPage (page) {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n \r\n this.getClientList(loading, null, false, page)\r\n }\r\n\r\n filterGroup(groupId, groupName, highlight_no_email = false) {\r\n this.group_id = groupId\r\n this.group_name = groupName\r\n this.highlight_no_email = highlight_no_email\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n \r\n this.getClientList(loading)\r\n } \r\n\r\n presentToast(msg) {\r\n let toast = this.toastCtrl.create({\r\n message: msg,\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n } \r\n\r\n addGrouping() {\r\n let prompt = this.alertCtrl.create({\r\n title: 'Client Group',\r\n message: \"Create new client group\",\r\n inputs: [\r\n {\r\n name: 'groupName',\r\n placeholder: 'Enter group name'\r\n }\r\n ],\r\n buttons: [\r\n {\r\n text: 'Cancel',\r\n handler: data => {\r\n\r\n }\r\n },\r\n {\r\n text: 'OK',\r\n handler: data => {\r\n if (data.groupName.trim == '') {\r\n this.presentToast(\"Please insert the new client group name\")\r\n } else {\r\n let grouping = new Grouping(data.groupName);\r\n this.items.addGrouping(grouping).subscribe((resp) => {\r\n this.presentToast(\"Group successfully created\");\r\n this.getGroupings();\r\n }, (err) => {\r\n this.presentToast(\"Error creating group\");\r\n })\r\n }\r\n }\r\n }\r\n ]\r\n });\r\n prompt.present();\r\n }\r\n\r\n calculateAge(birthday) {\r\n if (birthday) {\r\n\r\n var timeDiff = Math.abs(Date.now() - Date.parse(birthday));\r\n //Used Math.floor instead of Math.ceil\r\n //so 26 years and 140 days would be considered as 26, not 27.\r\n return Math.floor((timeDiff / (1000 * 3600 * 24)) / 365);\r\n }\r\n }\r\n\r\n updateClient(client){\r\n if(client.active == \"0\"){\r\n let toast = this.toastCtrl.create({\r\n message: 'Client deleted',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n this.deleteClient(client);\r\n }else{\r\n // let toast = this.toastCtrl.create({\r\n // message: 'Client information updated',\r\n // duration: 3000,\r\n // position: 'top'\r\n // });\r\n // toast.present();\r\n this.getClientList(null, client)\r\n }\r\n if(client.deleteSchedule == \"0\"){\r\n this.items.getSchedules().subscribe(res => {\r\n if (res) {\r\n this.schedules = res;\r\n //this.client.scheduleList = this.filterSchedules(this.currentItems[index].id);\r\n }\r\n },\r\n err => {\r\n console.log(err);\r\n });\r\n }\r\n \r\n }\r\n\r\n goBackToFront(client){\r\n this.text = \"noClientSelected\"\r\n \r\n }\r\n\r\n deleteClient(client){\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading' });\r\n loading.present()\r\n \r\n this.getClientList(loading, null, false, 1, true)\r\n \r\n }\r\n\r\n goToClientsPage(){\r\n this.navCtrl.push('clients');\r\n }\r\n \r\n goToHomePage(){\r\n this.navCtrl.push('home');\r\n }\r\n \r\n goToAssessmentsPage(){\r\n this.navCtrl.push('assessments');\r\n }\r\n\r\n goToInsightPage() {\r\n this.navCtrl.push('insights');\r\n }\r\n \r\n goToAccountsPage(){\r\n this.navCtrl.push('account');\r\n }\r\n\r\n presentAlert() {\r\n let alert = this.alertCtrl.create({\r\n title: parseInt(this.userAccountData.max_clients) - this.userAccountData.client_count + ' clients left on your limit',\r\n subTitle: 'You are currently on the ' + this.userAccountData.chargebee_plan + ' Plan, which allows you to add ' + this.userAccountData.max_clients + ' clients. You have added ' + this.userAccountData.client_count + ' clients so far. ' + 'Would you like to upgrade your limit?',\r\n buttons: [\r\n {\r\n text: 'Later',\r\n handler: data => {\r\n if (this.userAccountData.client_count <= parseInt(this.userAccountData.max_clients)) {\r\n let addModal = this.modalCtrl.create(ClientCreatePage,{ userData: this.userAccountData }, { cssClass: \"add-client-modal\" });\r\n addModal.onDidDismiss(item => {\r\n if (item) {\r\n if (item.dismiss === 'done') {\r\n this.items.addClientStatic(item.form).subscribe(res => {\r\n let client = res.json().data.client\r\n if (res) {\r\n this.clientSelected(client, client.id)\r\n this.getClientList()\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n }\r\n })\r\n addModal.present();\r\n }\r\n }\r\n },\r\n {\r\n text: 'Upgrade',\r\n handler: data => { \r\n this.navCtrl.push('account');\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/client-tab/client-tab.ts","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ModalController, AlertController, LoadingController, NavController, ToastController } from 'ionic-angular';\r\nimport { Client } from '../../models/client';\r\nimport { ClientCreatePage } from '../../pages/client-create/client-create';\r\nimport { AddNotePage } from '../../pages/add-note/add-note';\r\nimport { ResponseNotePage } from '../../pages/response-note/response-note';\r\nimport { Items } from '../../providers/providers';\r\nimport { SimpleChanges } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as moment from 'moment';\r\nimport { UserData } from '../../models/user';\r\nimport { UserAccount } from '../../models/account';\r\nimport { Assessment } from '../../models/assessment';\r\nimport { saveAs } from 'file-saver';\r\nimport { InternalNgModuleRef } from '@angular/core/src/linker/ng_module_factory';\r\n\r\n/**\r\n * Generated class for the ClientDetailsComponent component.\r\n *\r\n * See https://angular.io/docs/ts/latest/api/core/index/ComponentMetadata-class.html\r\n * for more info on Angular Components.\r\n */\r\n@Component({\r\n selector: 'client-details',\r\n templateUrl: 'client-details.html'\r\n})\r\nexport class ClientDetailsComponent {\r\n\r\n @Input() client: Client;\r\n @Input() text: string;\r\n @Output() updateClient: EventEmitter = new EventEmitter();\r\n @Output() addNewClient: EventEmitter = new EventEmitter();\r\n @Output() goBackToFront: EventEmitter = new EventEmitter();\r\n clientNotes: any[];\r\n pastResults: any[];\r\n groupedPastResults: any[];\r\n clientSchedules: any[] = [];\r\n sentLogs: any[];\r\n futureLogs: any[];\r\n pdfLink: any;\r\n assigned_users: any[];\r\n assigned_groups: any[];\r\n userData: UserData;\r\n userAccountData: UserAccount;\r\n currentItems: Client[];\r\n assessments: Assessment[];\r\n better_access:boolean = false;\r\n clientId:string;\r\n user: any[];\r\n scheduleCount: number = 1;\r\n isHovered: boolean[] = [];\r\n\r\n constructor(public navCtrl: NavController, public modalCtrl: ModalController, public items: Items,\r\n public alertCtrl: AlertController, public loading: LoadingController, public toastCtrl: ToastController) {\r\n // disable better access\r\n // this.checkBetterAccess();\r\n console.log('in');\r\n \r\n }\r\n \r\n checkToday(date) {\r\n var inputDate = new Date(date);\r\n var todaysDate = new Date();\r\n\r\n if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n parseInt(string) {\r\n return parseInt(string)\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n for (let propName in changes) {\r\n if (propName === 'client') {\r\n let client = changes['client'].currentValue;\r\n if (typeof client === 'undefined') {\r\n //do nothing\r\n } else {\r\n this.getClientDetail(client)\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n toggleAccordion(item) {\r\n if (item.responses.length > 1) {\r\n item.open = !item.open;\r\n \r\n this.groupedPastResults.forEach(function(group, index) {\r\n this.isHovered[index] = group.open === undefined ? false : group.open\r\n }, this);\r\n \r\n console.log(this.isHovered)\r\n }\r\n }\r\n\r\n restoreState() {\r\n this.groupedPastResults.forEach(function(group, index) {\r\n group.open = this.isHovered[index] === undefined ? false : this.isHovered[index]\r\n }, this);\r\n\r\n console.log(this.isHovered)\r\n }\r\n\r\n getClientDetail(client) {\r\n var id = client.id ? client.id : client.clientId;\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading', showBackdrop: false });\r\n loading.present()\r\n this.items.getClientNotesAndResponses(id).subscribe(res => {\r\n if (res) {\r\n this.client = res;\r\n this.user = res.user;\r\n this.clientNotes = res.notes;\r\n this.pastResults = res.responses;\r\n this.groupedPastResults = res.grouped_responses;\r\n //this.clientSchedules = client.scheduleList;\r\n this.sentLogs = res.schedules.sent;\r\n this.clientSchedules = res.aschedules;\r\n this.futureLogs = res.schedules.scheduled;\r\n this.client.user = res.user;\r\n this.client.assigned_users = res.assigned_users;\r\n this.client.assigned_groups = res.assigned_groups;\r\n this.client.groupings = res.groupings;\r\n this.client.practitioners = res.practitioners;\r\n this.clientId = client.id;\r\n this.scheduleCount = 0\r\n if (this.clientSchedules) {\r\n this.clientSchedules.forEach(function(schedule) {\r\n schedule.expired = this.isExpired(schedule.next_send);\r\n schedule.client = client;\r\n if ((schedule.start_date != null && schedule.status == 0 && !schedule.expired) || schedule.start_date != null && (schedule.status == 3 || schedule.expired) || schedule.start_date != null && schedule.repeat_cycle != 0 && schedule.status == 2) {\r\n this.scheduleCount++;\r\n }\r\n }, this);\r\n }\r\n this.restoreState()\r\n console.log(this.clientSchedules);\r\n }\r\n loading.dismiss()\r\n },\r\n err => {\r\n loading.dismiss()\r\n console.log(err);\r\n });\r\n }\r\n\r\n backToFront() {\r\n this.goBackToFront.emit(this.client)\r\n }\r\n\r\n checkBetterAccess() { \r\n this.items.checkBetterAccess().subscribe(res => {\r\n this.better_access = res == '1' ? true : false;\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n\r\n administer() {\r\n //let client = { clientId: this.client.id, clientName: this.client.first_name + \" \" + this.client.last_name, clientEmail: this.client.email };\r\n let client = { clientId: this.client.id, clientFirstName: this.client.first_name, clientLastName:this.client.last_name, clientEmail: this.client.email, clientName: this.client.first_name + ' ' + this.client.last_name, informantName1: this.client.informant_name_1, informantEmail1: this.client.informant_email_1, informantName2: this.client.informant_name_2, informantEmail2: this.client.informant_email_2 };\r\n let modal = this.modalCtrl.create('SelectAssessmentPage', { client: client });\r\n modal.present();\r\n }\r\n\r\n copyAssessment() {\r\n let client = { clientId: this.client.id, clientFirstName: this.client.first_name, clientLastName:this.client.last_name, clientEmail: this.client.email, clientName: this.client.first_name + ' ' + this.client.last_name, informantName1: this.client.informant_name_1, informantEmail1: this.client.informant_email_1, informantName2: this.client.informant_name_2, informantEmail2: this.client.informant_email_2 };\r\n let modal = this.modalCtrl.create('EmailPage', { client: client, isCopy: true });\r\n modal.onDidDismiss(data => {\r\n //this.viewCtrl.dismiss();\r\n })\r\n modal.present();\r\n }\r\n\r\n emailAssessment() {\r\n let client = { clientId: this.client.id, clientFirstName: this.client.first_name, clientLastName:this.client.last_name, clientEmail: this.client.email, clientName: this.client.first_name + ' ' + this.client.last_name, informantName1: this.client.informant_name_1, informantEmail1: this.client.informant_email_1, informantName2: this.client.informant_name_2, informantEmail2: this.client.informant_email_2 };\r\n let modal = this.modalCtrl.create('EmailPage', { client: client });\r\n modal.onDidDismiss(data => {\r\n if (data.dismiss == 'create') {\r\n let toast = this.toastCtrl.create({\r\n message: 'Assessment email sent',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n this.getClientDetail(this.client)\r\n }\r\n })\r\n modal.present();\r\n }\r\n\r\n scheduleAssessment() {\r\n let client = { clientId: this.client.id, clientFirstName: this.client.first_name, clientLastName:this.client.last_name, clientEmail: this.client.email, clientName: this.client.first_name + ' ' + this.client.last_name, informantName1: this.client.informant_name_1, informantEmail1: this.client.informant_email_1, informantName2: this.client.informant_name_2, informantEmail2: this.client.informant_email_2 };\r\n let modal = this.modalCtrl.create('SchedulePage', { client: client });\r\n modal.onDidDismiss(data => {\r\n if (data.dismiss == 'create') {\r\n let toast = this.toastCtrl.create({\r\n message: 'New scheduler created',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n this.getClientDetail(this.client)\r\n }\r\n })\r\n modal.present();\r\n }\r\n\r\n responseNote(responseId, body, type, title = '') {\r\n let modal = this.modalCtrl.create(ResponseNotePage, { body: body, type: type, title: title, id: responseId }, { cssClass: \"edit-note-modal\" });\r\n modal.onDidDismiss(data => {\r\n console.log(data)\r\n if (data) {\r\n if (data.action === 'done') {\r\n let body: any;\r\n body = { notes: data.item }\r\n this.items.responseNote(responseId, body).subscribe((resp) => {\r\n if (resp) {\r\n let toast = this.toastCtrl.create({\r\n message: 'New note created',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n this.getClientDetail(this.client)\r\n this.updateClient.emit(this.client);\r\n }\r\n\r\n }, (err) => {\r\n\r\n })\r\n }\r\n }\r\n })\r\n \r\n modal.present();\r\n }\r\n\r\n addNote(clientId) {\r\n let modal = this.modalCtrl.create(AddNotePage, { clientId: clientId });\r\n modal.onDidDismiss(data => {\r\n if (data) {\r\n let item = data.item;\r\n\r\n if (data.action == 'save') {\r\n let seq = this.items.addNote({ clientId: clientId, title: item.title, body: item.body }).share();\r\n seq\r\n .map(res => res.json().data.note)\r\n .subscribe(res => {\r\n let toast = this.toastCtrl.create({\r\n message: 'New note created',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n this.clientNotes.push(res);\r\n this.updateClient.emit(this.client);\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n }\r\n })\r\n \r\n modal.present();\r\n }\r\n\r\n noteSelected(note, indexValue) {\r\n console.log('edit');\r\n let modal = this.modalCtrl.create(AddNotePage, { note: note });\r\n modal.onDidDismiss(data => {\r\n if (data) {\r\n let item = data.item;\r\n if (data.action == 'save') {\r\n let obj = { title: item.title, body: item.body, client_id: note.client_id, id: note.id }\r\n let seq = this.items.editNote(obj).share();\r\n seq\r\n .map(res => res.json().data.note)\r\n .subscribe(res => {\r\n this.clientNotes[indexValue] = res;\r\n let toast = this.toastCtrl.create({\r\n message: 'Note updated',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n } else if (data.action == 'delete') {\r\n let toast = this.toastCtrl.create({\r\n message: 'Note removed',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n this.clientNotes.splice(indexValue, 1);\r\n }\r\n }\r\n })\r\n modal.present();\r\n }\r\n\r\n /**\r\n * Prompt the user to add a new item. This shows our ItemCreatePage in a\r\n * modal and then adds the new item to our data source if the user created one.\r\n */\r\n addClient() {\r\n this.items.getAccountDetails().subscribe(res => {\r\n if (res) {\r\n this.userAccountData = res;\r\n if (parseInt(this.userAccountData.max_clients) - this.userAccountData.client_count < 4 ||\r\n this.userAccountData.client_count > parseInt(this.userAccountData.max_clients)) {\r\n this.presentAlert();\r\n }\r\n else {\r\n let addModal = this.modalCtrl.create(ClientCreatePage, { userData: this.userAccountData }, { cssClass: \"add-client-modal\" });\r\n addModal.onDidDismiss(item => {\r\n if (item) {\r\n if (item.dismiss === 'done') {\r\n this.items.addClient(item.form).subscribe(res => {\r\n if (res) {\r\n console.log('asdas');\r\n // this.currentItems = this.items.getClients();\r\n // this.client = this.currentItems[this.currentItems.length - 1];//select the last added client.\r\n this.addNewClient.emit()\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n\r\n }\r\n }\r\n })\r\n addModal.present();\r\n }\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n\r\n editClient(client) {\r\n this.userData = JSON.parse(localStorage.getItem('userData'));\r\n let addModal = this.modalCtrl.create(ClientCreatePage, { client: client, userData: this.userData }, { cssClass: \"add-client-modal\" });\r\n addModal.onDidDismiss(item => {\r\n if (item) {\r\n if (item.dismiss === 'done') {\r\n let seq = this.items.editClient(item.form, client.id).share();\r\n seq\r\n .map(res => res.json().data.client)\r\n .subscribe(res => {\r\n this.client = res;\r\n this.updateClient.emit(this.client);\r\n this.getClientDetail(this.client)\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n } else if (item.dismiss === 'inactive') {\r\n client.inactive = 1;\r\n let seq = this.items.editClient(client, client.id).share();\r\n seq\r\n .map(res => res.json().data.client)\r\n .subscribe(res => {\r\n this.client = res;\r\n this.updateClient.emit(this.client);\r\n this.getClientDetail(this.client)\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n } else if (item.dismiss === 'delete') {\r\n client.active = \"0\";\r\n let seq = this.items.deleteClientStatic(client, client.id).share();\r\n seq\r\n .map(res => res.json().data.client)\r\n .subscribe(res => {\r\n this.client = res;\r\n this.updateClient.emit(this.client);\r\n this.backToFront()\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n }\r\n })\r\n addModal.present();\r\n }\r\n\r\n editSchedule(schedule) {\r\n let addModal = this.modalCtrl.create('SchedulePage', { client: schedule.client, scheduledAssessment: schedule.assessments, schedule: schedule });\r\n addModal.onDidDismiss(item => {\r\n if (item) {\r\n if (item.dismiss === 'delete') {\r\n this.client.deleteSchedule = \"0\";\r\n let seq = this.items.deleteScheduleAssessments(schedule.id).share();\r\n seq\r\n .map(res => res.json().data.client)\r\n .subscribe(res => {\r\n let index = this.clientSchedules.findIndex(result => result.id === schedule.id);\r\n if (index > -1) {\r\n this.clientSchedules.splice(index, 1);\r\n this.scheduleCount = this.scheduleCount - 1\r\n //this.client.scheduleList = this.clientSchedules;\r\n }\r\n this.updateClient.emit(this.client);\r\n let toast = this.toastCtrl.create({\r\n message: 'Scheduler removed',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n } else if(item.dismiss == 'edit') {\r\n let toast = this.toastCtrl.create({\r\n message: 'Scheduler updated',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n this.getClientDetail(this.client)\r\n }\r\n }\r\n })\r\n addModal.present();\r\n }\r\n\r\n deleteSchedule(schedule) {\r\n const prompt = this.alertCtrl.create({\r\n title: 'Delete Schedule',\r\n message: \"Delete this schedule?\",\r\n buttons: [\r\n {\r\n text: 'Delete',\r\n handler: data => {\r\n this.client.deleteSchedule = \"0\";\r\n let seq = this.items.deleteScheduleAssessments(schedule.id).share();\r\n seq\r\n .map(res => res.json().data.client)\r\n .subscribe(res => {\r\n let index = this.clientSchedules.findIndex(result => result.id === schedule.id);\r\n if (index > -1) {\r\n this.clientSchedules.splice(index, 1);\r\n this.scheduleCount = this.scheduleCount - 1\r\n //this.client.scheduleList = this.clientSchedules;\r\n }\r\n this.updateClient.emit(this.client);\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n },\r\n {\r\n text: 'Cancel',\r\n handler: data => {\r\n console.log('Saved clicked');\r\n }\r\n }\r\n ]\r\n });\r\n prompt.present();\r\n }\r\n\r\n viewSentLogs() {\r\n let modal = this.modalCtrl.create('SentLogsPage', { sentLogs: this.sentLogs });\r\n modal.present();\r\n }\r\n\r\n viewFutureLogs() {\r\n let modal = this.modalCtrl.create('FutureLogsPage', { futureLogs: this.futureLogs });\r\n modal.present();\r\n }\r\n\r\n getFormatedDate(date) {\r\n return moment(date).format(\"MMM Do YY\");\r\n }\r\n\r\n getFormatedDOB(date) {\r\n return moment(date).format(\"DD/MM/YYYY\");\r\n }\r\n\r\n itemSelected(item) {\r\n item.view_count = item.view_count + 1\r\n var popup = window.open('', \"_blank\");\r\n this.items.getReportURL(item.id).subscribe(data => {\r\n if (data) {\r\n popup.location.href = data.url\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n\r\n }\r\n\r\n downloadAssessment(item){\r\n console.log(item)\r\n this.items.getResultPDF(item.id).subscribe(data => {\r\n if (data) {\r\n saveAs(data, this.client.first_name + '_' + this.client.last_name + '_' + item.assessment_short_name + '_' + item.created.substring(0, 10) + '.pdf')\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n refreshAssessments() {\r\n let loading = this.loading.create({ spinner: 'circles', content: \"Loading...\", cssClass: 'activity-detail-loading', showBackdrop: false });\r\n loading.present()\r\n this.items.getClientNotesAndResponses(this.client.id).subscribe(res => {\r\n if (res) {\r\n this.pastResults = res.responses;\r\n this.groupedPastResults = res.grouped_responses;\r\n }\r\n loading.dismiss()\r\n },\r\n err => {\r\n loading.dismiss()\r\n console.log(err);\r\n });\r\n }\r\n \r\n\r\n preadminister(assessmentId, action = 'assessment'){\r\n // this.items.getAccountDetails().subscribe(res => {\r\n // if (res) {\r\n // this.userAccountData = res;\r\n // if (parseInt(this.userAccountData.max_assessments) - parseInt(this.userAccountData.monthly_administered_assessments) < 4 ||\r\n // parseInt(this.userAccountData.monthly_administered_assessments) > parseInt(this.userAccountData.max_assessments)) {\r\n // this.presentAssessmentAlert(assessmentId);\r\n // } else {\r\n // this.items.getClientNotesAndResponses(this.clientId).subscribe(res => {\r\n // if (res) {\r\n // if (res.better_access === '1' && this.better_access) {\r\n let createSession = this.modalCtrl.create('CreateSessionPage', { clientId: this.clientId, manage: false });\r\n // createSession.onDidDismiss( data => {\r\n // if (data) {\r\n // if (data.dismiss === 'done') {\r\n // let loading = this.loading.create({ spinner: 'hide', content: ``, duration: 5000, cssClass: 'activity-detail-loading', showBackdrop: false, dismissOnPageChange: true });\r\n // loading.present();\r\n // this.items.addSession(data.form).subscribe(res => {\r\n // if (res) {\r\n // loading.dismissAll();\r\n // if (action == 'email') {\r\n // this.emailAgain(assessmentId);\r\n // } else if (action == 'send') {\r\n // this.emailAssessment();\r\n // } else {\r\n // this.doAgain(assessmentId);\r\n // }\r\n // }\r\n // },\r\n // err => {\r\n // loading.dismissAll();\r\n // console.log(err);\r\n // });\r\n // } else if (data.dismiss === 'skip') {\r\n // if (action == 'email') {\r\n // this.emailAgain(assessmentId);\r\n // } else if (action == 'send') {\r\n // this.emailAssessment();\r\n // } else {\r\n // this.doAgain(assessmentId);\r\n // }\r\n // }\r\n // }\r\n // });\r\n // createSession.present();\r\n // } else {\r\n if (action == 'email') {\r\n this.emailAgain(assessmentId);\r\n } else if (action == 'send') {\r\n this.emailAssessment();\r\n } else {\r\n this.doAgain(assessmentId);\r\n }\r\n // }\r\n // }\r\n // },\r\n // err => {\r\n // console.log(err);\r\n // });\r\n // }\r\n // }\r\n // }, err => {\r\n // console.error('ERROR', err);\r\n // });\r\n }\r\n\r\n doAgain(assessmentId) {\r\n var assessment = [];\r\n assessment.push(this.getAssessmentForId(assessmentId));\r\n this.navCtrl.push('administer', { clientName: this.client.first_name + \" \" + this.client.last_name, assessments: assessment, clientId: this.client.id,index:0, client: this.client })\r\n }\r\n\r\n //added on 26/09/2020\r\n emailAgain(assessmentId){\r\n let client = { clientId: this.client.id, clientName: this.client.first_name + \" \" + this.client.last_name, clientEmail: this.client.email };\r\n var assessment = this.getAssessmentForId(assessmentId);\r\n let modal = this.modalCtrl.create('EmailPage', { client: client, assessment: assessment });\r\n modal.onDidDismiss(data => {\r\n let toast = this.toastCtrl.create({\r\n message: 'Assessment email sent',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n })\r\n modal.present();\r\n }\r\n\r\n editItem(assessmentId,reportId){\r\n var assessment = this.getAssessmentForId(assessmentId);\r\n let modal = this.modalCtrl.create('EditResultPage', {assessment: assessment,reportId: reportId, callback: this.getData, clientId: this.client.id}, { cssClass: \"edit-result-modal\" });\r\n modal.present();\r\n }\r\n getData = (data,date) => {\r\n return new Promise((resolve, reject) => {\r\n if (date == 'rescore') {\r\n let toast = this.toastCtrl.create({\r\n message: 'Assessment rescored',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n resolve();\r\n } else if (date == 'reassign') {\r\n let toast = this.toastCtrl.create({\r\n message: 'Assessment reassigned',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n this.refreshAssessments();\r\n resolve();\r\n } else {\r\n this.groupedPastResults.forEach(function(group) {\r\n let i = -1\r\n group.responses.forEach(function(response, index) {\r\n if (response.id == data) {\r\n i = index\r\n }\r\n });\r\n if (i > -1) {\r\n if (date == null) {\r\n group.responses.splice(i, 1);\r\n resolve();\r\n } else {\r\n group.responses[i].local_time = moment(date).format(\"YYYY-MM-DD h:mm A\")\r\n }\r\n }\r\n }, this);\r\n }\r\n });\r\n };\r\n\r\n getGroupedData = (data,date) => {\r\n return new Promise((resolve, reject) => {\r\n let index = this.pastResults.findIndex(result => result.id === data);\r\n if (date == 'rescore') {\r\n let toast = this.toastCtrl.create({\r\n message: 'Assessment rescored',\r\n duration: 3000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n resolve();\r\n } else if (index > -1 && date == null) {\r\n this.pastResults.splice(index, 1);\r\n resolve();\r\n }else{\r\n this.pastResults[index].local_time = moment(date).format(\"YYYY-MM-DD h:mm A\")\r\n }\r\n });\r\n };\r\n\r\n //assessments are stored in local storage on the main page so they should be available here\r\n getAssessmentForId(assessmentId){\r\n var data = localStorage.getItem(\"assessments\");\r\n if(data){\r\n var assessments = JSON.parse(data);\r\n return assessments.find(x => x.id == assessmentId);\r\n }\r\n \r\n }\r\n\r\n getRepeatCycle(val) {\r\n switch (val) {\r\n case \"1\": {\r\n return \"day\";\r\n }\r\n case \"2\": {\r\n return \"week\";\r\n }\r\n case \"3\": {\r\n return \"fortnight\";\r\n }\r\n case \"4\": {\r\n return \"month\";\r\n }\r\n case \"5\": {\r\n return \"3 months\";\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n deleteReport(item) {\r\n let prompt = this.alertCtrl.create({\r\n // title: 'Enter Password',\r\n message: \"Are you sure you want to delete this report?\",\r\n buttons: [\r\n {\r\n text: 'Cancel',\r\n handler: data => {\r\n }\r\n },\r\n {\r\n text: 'Yes',\r\n handler: data => {\r\n this.items.deleteReport(item).subscribe((resp) => {\r\n if (resp) {\r\n let index = this.pastResults.findIndex(result => result.id === item);\r\n if (index > -1) {\r\n this.pastResults.splice(index, 1);\r\n }\r\n }\r\n // var filtered = this.pastResults.filter(function(el) { return el.id != item; }); \r\n // this.pastResults = filtered;\r\n }, (err) => {\r\n\r\n })\r\n\r\n }\r\n }\r\n ]\r\n });\r\n prompt.present();\r\n }\r\n\r\n presentAlert() {\r\n let alert = this.alertCtrl.create({\r\n title: parseInt(this.userAccountData.max_clients) - this.userAccountData.client_count + ' clients left on your limit',\r\n subTitle: 'You are currently on the ' + this.userAccountData.chargebee_plan + ' Plan, which allows you to add ' + this.userAccountData.max_clients + ' clients. You have added ' + this.userAccountData.client_count + ' clients so far. ' + 'Would you like to upgrade your limit?',\r\n buttons: [\r\n {\r\n text: 'Later',\r\n handler: data => {\r\n if (this.userAccountData.client_count <= parseInt(this.userAccountData.max_clients)) {\r\n let addModal = this.modalCtrl.create(ClientCreatePage, { userAccount: this.userAccountData }, { cssClass: \"add-client-modal\" });\r\n addModal.onDidDismiss(item => {\r\n if (item.dismiss === 'done') {\r\n this.items.addClient(item.form).subscribe(res => {\r\n if (res) {\r\n console.log('asdas');\r\n // this.currentItems = this.items.getClients();\r\n // this.client = this.currentItems[this.currentItems.length - 1];//select the last added client.\r\n this.addNewClient.emit()\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n })\r\n addModal.present();\r\n }\r\n }\r\n },\r\n {\r\n text: 'Upgrade',\r\n handler: data => {\r\n this.navCtrl.push('account');\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n\r\n //added to show the age but it's not required as the label is changed to DOB\r\n getAge(date){\r\n return moment().diff(date, 'years');\r\n }\r\n\r\n isExpired(next) {\r\n var expired = new Date(next) < new Date(new Date().toDateString());\r\n return expired;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/client-details/client-details.ts","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open(\"GET\",b),e.responseType=\"blob\",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error(\"could not download file\")},e.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(a,b,d,e){if(e=e||open(\"\",\"_blank\"),e&&(e.document.title=e.document.body.innerText=\"downloading...\"),\"string\"==typeof a)return c(a,b,d);var g=\"application/octet-stream\"===a.type,h=/constructor/i.test(f.HTMLElement)||f.safari,i=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((i||g&&h)&&\"object\"==typeof FileReader){var j=new FileReader;j.onloadend=function(){var a=j.result;a=i?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),e?e.location.href=a:location=a,e=null},j.readAsDataURL(a)}else{var k=f.URL||f.webkitURL,l=k.createObjectURL(a);e?e.location=l:location.href=l,e=null,setTimeout(function(){k.revokeObjectURL(l)},4E4)}});f.saveAs=a.saveAs=a,\"undefined\"!=typeof module&&(module.exports=a)});\n\n//# sourceMappingURL=FileSaver.min.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/file-saver/dist/FileSaver.min.js\n// module id = 1013\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { IonicPageModule } from 'ionic-angular';\r\nimport { ClientTabPage } from './client-tab';\r\nimport {ClientDetailsComponent} from '../../components/client-details/client-details';\r\n//import ComponentsModule from '../../components/components.module'\r\n\r\n@NgModule({\r\n declarations: [\r\n ClientTabPage,\r\n ClientDetailsComponent\r\n ],\r\n //exports: [ClientDetailsComponent],\r\n imports: [\r\n IonicPageModule.forChild(ClientTabPage),\r\n ],\r\n entryComponents: [\r\n ClientTabPage\r\n ]\r\n})\r\nexport class ClientTabPageModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/client-tab/client-tab.module.ts","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { Inject, Injectable, Optional, SkipSelf } from \"@angular/core\";\nimport { DOCUMENT } from \"@angular/platform-browser\";\nimport { WINDOW } from \"ngx-window-token\";\nvar ClipboardService = (function () {\n function ClipboardService(document, window) {\n this.document = document;\n this.window = window;\n }\n Object.defineProperty(ClipboardService.prototype, \"isSupported\", {\n get: /**\n * @return {?}\n */\n function () {\n return !!this.document.queryCommandSupported && !!this.document.queryCommandSupported('copy');\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} element\n * @return {?}\n */\n ClipboardService.prototype.isTargetValid = /**\n * @param {?} element\n * @return {?}\n */\n function (element) {\n if (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement) {\n if (element.hasAttribute('disabled')) {\n // tslint:disable-next-line:max-line-length\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n return true;\n }\n throw new Error('Target should be input or textarea');\n };\n /**\n * copyFromInputElement\n * @param {?} targetElm\n * @return {?}\n */\n ClipboardService.prototype.copyFromInputElement = /**\n * copyFromInputElement\n * @param {?} targetElm\n * @return {?}\n */\n function (targetElm) {\n try {\n this.selectTarget(targetElm);\n var /** @type {?} */ re = this.copyText();\n this.clearSelection(targetElm, this.window);\n return re;\n }\n catch (/** @type {?} */ error) {\n return false;\n }\n };\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n * @param {?} content\n * @return {?}\n */\n ClipboardService.prototype.copyFromContent = /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n * @param {?} content\n * @return {?}\n */\n function (content) {\n if (!this.tempTextArea) {\n this.tempTextArea = this.createTempTextArea(this.document, this.window);\n this.document.body.appendChild(this.tempTextArea);\n }\n this.tempTextArea.value = content;\n return this.copyFromInputElement(this.tempTextArea);\n };\n /**\n * @return {?}\n */\n ClipboardService.prototype.destroy = /**\n * @return {?}\n */\n function () {\n if (this.tempTextArea) {\n this.document.body.removeChild(this.tempTextArea);\n this.tempTextArea = undefined;\n }\n };\n /**\n * @param {?} inputElement\n * @return {?}\n */\n ClipboardService.prototype.selectTarget = /**\n * @param {?} inputElement\n * @return {?}\n */\n function (inputElement) {\n inputElement.select();\n inputElement.setSelectionRange(0, inputElement.value.length);\n return inputElement.value.length;\n };\n /**\n * @return {?}\n */\n ClipboardService.prototype.copyText = /**\n * @return {?}\n */\n function () {\n return this.document.execCommand('copy');\n };\n /**\n * @param {?} inputElement\n * @param {?} window\n * @return {?}\n */\n ClipboardService.prototype.clearSelection = /**\n * @param {?} inputElement\n * @param {?} window\n * @return {?}\n */\n function (inputElement, window) {\n // tslint:disable-next-line:no-unused-expression\n inputElement && inputElement.blur();\n window.getSelection().removeAllRanges();\n };\n /**\n * @param {?} doc\n * @param {?} window\n * @return {?}\n */\n ClipboardService.prototype.createTempTextArea = /**\n * @param {?} doc\n * @param {?} window\n * @return {?}\n */\n function (doc, window) {\n var /** @type {?} */ isRTL = doc.documentElement.getAttribute('dir') === 'rtl';\n var /** @type {?} */ ta;\n ta = doc.createElement('textarea');\n // Prevent zooming on iOS\n ta.style.fontSize = '12pt';\n // Reset box model\n ta.style.border = '0';\n ta.style.padding = '0';\n ta.style.margin = '0';\n // Move element out of screen horizontally\n ta.style.position = 'absolute';\n ta.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var /** @type {?} */ yPosition = window.pageYOffset || doc.documentElement.scrollTop;\n ta.style.top = yPosition + 'px';\n ta.setAttribute('readonly', '');\n return ta;\n };\n ClipboardService.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n ClipboardService.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },\n { type: undefined, decorators: [{ type: Inject, args: [WINDOW,] },] },\n ]; };\n return ClipboardService;\n}());\nexport { ClipboardService };\nfunction ClipboardService_tsickle_Closure_declarations() {\n /** @type {!Array<{type: !Function, args: (undefined|!Array)}>} */\n ClipboardService.decorators;\n /**\n * @nocollapse\n * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>)})>}\n */\n ClipboardService.ctorParameters;\n /** @type {?} */\n ClipboardService.prototype.tempTextArea;\n /** @type {?} */\n ClipboardService.prototype.document;\n /** @type {?} */\n ClipboardService.prototype.window;\n}\n/**\n * @param {?} doc\n * @param {?} win\n * @param {?} parentDispatcher\n * @return {?}\n */\nexport function CLIPBOARD_SERVICE_PROVIDER_FACTORY(doc, win, parentDispatcher) {\n return parentDispatcher || new ClipboardService(doc, win);\n}\nexport var /** @type {?} */ CLIPBOARD_SERVICE_PROVIDER = {\n deps: [/** @type {?} */ (DOCUMENT), /** @type {?} */ (WINDOW), [new Optional(), new SkipSelf(), ClipboardService]\n ],\n provide: ClipboardService,\n useFactory: CLIPBOARD_SERVICE_PROVIDER_FACTORY\n};\n//# sourceMappingURL=clipboard.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ngx-clipboard/dist/src/clipboard.service.js\n// module id = 894\n// module chunks = 3 4 5","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { Directive, EventEmitter, HostListener, Input, Output } from \"@angular/core\";\nimport { ClipboardService } from \"./clipboard.service\";\nvar ClipboardDirective = (function () {\n function ClipboardDirective(clipboardSrv) {\n this.clipboardSrv = clipboardSrv;\n this.cbOnSuccess = new EventEmitter();\n this.cbOnError = new EventEmitter();\n }\n /**\n * @return {?}\n */\n ClipboardDirective.prototype.ngOnInit = /**\n * @return {?}\n */\n function () { };\n /**\n * @return {?}\n */\n ClipboardDirective.prototype.ngOnDestroy = /**\n * @return {?}\n */\n function () {\n this.clipboardSrv.destroy();\n };\n /**\n * @param {?} event\n * @return {?}\n */\n ClipboardDirective.prototype.onClick = /**\n * @param {?} event\n * @return {?}\n */\n function (event) {\n if (!this.clipboardSrv.isSupported) {\n this.handleResult(false, undefined);\n }\n else if (this.targetElm && this.clipboardSrv.isTargetValid(this.targetElm)) {\n this.handleResult(this.clipboardSrv.copyFromInputElement(this.targetElm), this.targetElm.value);\n }\n else if (this.cbContent) {\n this.handleResult(this.clipboardSrv.copyFromContent(this.cbContent), this.cbContent);\n }\n };\n /**\n * Fires an event based on the copy operation result.\n * @param {?} succeeded\n * @param {?} copiedContent\n * @return {?}\n */\n ClipboardDirective.prototype.handleResult = /**\n * Fires an event based on the copy operation result.\n * @param {?} succeeded\n * @param {?} copiedContent\n * @return {?}\n */\n function (succeeded, copiedContent) {\n if (succeeded) {\n this.cbOnSuccess.emit({ isSuccess: true, content: copiedContent });\n }\n else {\n this.cbOnError.emit({ isSuccess: false });\n }\n };\n ClipboardDirective.decorators = [\n { type: Directive, args: [{\n // tslint:disable-next-line:directive-selector\n selector: '[ngxClipboard]'\n },] },\n ];\n /** @nocollapse */\n ClipboardDirective.ctorParameters = function () { return [\n { type: ClipboardService, },\n ]; };\n ClipboardDirective.propDecorators = {\n \"targetElm\": [{ type: Input, args: ['ngxClipboard',] },],\n \"cbContent\": [{ type: Input },],\n \"cbOnSuccess\": [{ type: Output },],\n \"cbOnError\": [{ type: Output },],\n \"onClick\": [{ type: HostListener, args: ['click', ['$event.target'],] },],\n };\n return ClipboardDirective;\n}());\nexport { ClipboardDirective };\nfunction ClipboardDirective_tsickle_Closure_declarations() {\n /** @type {!Array<{type: !Function, args: (undefined|!Array)}>} */\n ClipboardDirective.decorators;\n /**\n * @nocollapse\n * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>)})>}\n */\n ClipboardDirective.ctorParameters;\n /** @type {!Object)}>>} */\n ClipboardDirective.propDecorators;\n /** @type {?} */\n ClipboardDirective.prototype.targetElm;\n /** @type {?} */\n ClipboardDirective.prototype.cbContent;\n /** @type {?} */\n ClipboardDirective.prototype.cbOnSuccess;\n /** @type {?} */\n ClipboardDirective.prototype.cbOnError;\n /** @type {?} */\n ClipboardDirective.prototype.clipboardSrv;\n}\n//# sourceMappingURL=clipboard.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ngx-clipboard/dist/src/clipboard.directive.js\n// module id = 898\n// module chunks = 3 4 5","export { WindowTokenModule, WINDOW } from './src/ngx-window-token';\n//# sourceMappingURL=ngx-window-token.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ngx-window-token/dist/ngx-window-token.js\n// module id = 899\n// module chunks = 3 4 5","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { ClipboardModule, ClipboardDirective, ClipboardService } from \"./src/ngx-clipboard\";\n//# sourceMappingURL=ngx-clipboard.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ngx-clipboard/dist/ngx-clipboard.js\n// module id = 904\n// module chunks = 3 4 5","export class Client {\r\n\r\n id: string;\r\n first_name: string;\r\n last_name: string;\r\n sex_id: string;\r\n better_access: string;\r\n date_of_birth:string;\r\n active:string;\r\n inactive:string;\r\n deleteSchedule:string;\r\n email:string;\r\n informant_name_1:string;\r\n informant_email_1:string;\r\n informant_name_2:string;\r\n informant_email_2:string;\r\n notes: [\r\n {\r\n id: string;\r\n client_id: string;\r\n title: string;\r\n body: string;\r\n created: string;\r\n modified: string;\r\n added: string\r\n }\r\n];\r\nresponses: [\r\n {\r\n id: string;\r\n client_id: string;\r\n assessment_id: string;\r\n local_time: string;\r\n answers: string;\r\n time_taken:string;\r\n score: string;\r\n sensitivity: string;\r\n specificity: string;\r\n interpretation: string;\r\n created: string;\r\n added: string;\r\n assessment_short_name: string;\r\n }\r\n];\r\ngrouped_responses: [\r\n {\r\n assessment_name: string;\r\n assessment_short_name: string;\r\n responses: [\r\n {\r\n id: string;\r\n client_id: string;\r\n assessment_id: string;\r\n local_time: string;\r\n answers: string;\r\n time_taken:string;\r\n score: string;\r\n sensitivity: string;\r\n specificity: string;\r\n interpretation: string;\r\n created: string;\r\n added: string;\r\n assessment_short_name: string;\r\n }\r\n ]\r\n }\r\n];\r\nResponse: [\r\n {\r\n id: string;\r\n client_id: string;\r\n assessment_id: string;\r\n local_time: string;\r\n answers: string;\r\n time_taken:string;\r\n score: string;\r\n sensitivity: string;\r\n specificity: string;\r\n interpretation: string;\r\n created: string;\r\n added: string;\r\n assessment_short_name: string;\r\n }\r\n];\r\nGrouping: any[\r\n];\r\nscheduleList: any[\r\n \r\n];\r\npractitioners: any[];\r\ngroupings: any[];\r\nassigned_users: any[];\r\nassigned_groups: any[];\r\naschedules: any[];\r\nschedules: {\r\n sent: any[];\r\n scheduled: any[];\r\n}\r\nuser:any[];\r\nselected:false;\r\nlast_assessment: string;\r\nself_create: string;\r\ngroup_names: string;\r\n\r\n constructor(){\r\n// constructor(public id: string,\r\n// public first_name: string,\r\n// public last_name: string,\r\n// public sex_id: string,\r\n// public date_of_birth:string) { \r\n }\r\n \r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/models/client.ts","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { ClipboardDirective } from \"./clipboard.directive\";\nimport { CLIPBOARD_SERVICE_PROVIDER } from \"./clipboard.service\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { WindowTokenModule } from \"ngx-window-token\";\nexport { ClipboardDirective } from \"./clipboard.directive\";\nexport { ClipboardService, CLIPBOARD_SERVICE_PROVIDER_FACTORY, CLIPBOARD_SERVICE_PROVIDER } from \"./clipboard.service\";\nvar ClipboardModule = (function () {\n function ClipboardModule() {\n }\n ClipboardModule.decorators = [\n { type: NgModule, args: [{\n imports: [CommonModule, WindowTokenModule],\n // tslint:disable-next-line:object-literal-sort-keys\n declarations: [ClipboardDirective],\n exports: [ClipboardDirective],\n providers: [CLIPBOARD_SERVICE_PROVIDER]\n },] },\n ];\n /** @nocollapse */\n ClipboardModule.ctorParameters = function () { return []; };\n return ClipboardModule;\n}());\nexport { ClipboardModule };\nfunction ClipboardModule_tsickle_Closure_declarations() {\n /** @type {!Array<{type: !Function, args: (undefined|!Array)}>} */\n ClipboardModule.decorators;\n /**\n * @nocollapse\n * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>)})>}\n */\n ClipboardModule.ctorParameters;\n}\n//# sourceMappingURL=ngx-clipboard.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ngx-clipboard/dist/src/ngx-clipboard.js\n// module id = 911\n// module chunks = 3 4 5","import { NgModule } from '@angular/core';\nimport { InjectionToken } from '@angular/core';\nexport var /** @type {?} */ WINDOW = new InjectionToken('WindowToken');\n/**\n * @return {?}\n */\nexport function _window() {\n return window;\n}\nvar WindowTokenModule = (function () {\n function WindowTokenModule() {\n }\n return WindowTokenModule;\n}());\nexport { WindowTokenModule };\nWindowTokenModule.decorators = [\n { type: NgModule, args: [{\n providers: [{\n provide: WINDOW,\n useFactory: _window\n }]\n },] },\n];\n/**\n * @nocollapse\n */\nWindowTokenModule.ctorParameters = function () { return []; };\nfunction WindowTokenModule_tsickle_Closure_declarations() {\n /** @type {?} */\n WindowTokenModule.decorators;\n /**\n * @nocollapse\n * @type {?}\n */\n WindowTokenModule.ctorParameters;\n}\n//# sourceMappingURL=ngx-window-token.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ngx-window-token/dist/src/ngx-window-token.js\n// module id = 912\n// module chunks = 3 4 5","export class Grouping {\r\n id: string;\r\n practice_id: string;\r\n name: string;\r\n description: string;\r\n created: string;\r\n modified: string;\r\n\r\n constructor(name) {\r\n this.name = name;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/models/groupings.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, AlertController, NavController, NavParams, ViewController } from 'ionic-angular';\r\nimport { Validators, FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Items } from '../../providers/providers';\r\n\r\n/**\r\n * Generated class for the AddNotePage page.\r\n *\r\n * See http://ionicframework.com/docs/components/#navigation for more info\r\n * on Ionic pages and navigation.\r\n */\r\n\r\n@IonicPage()\r\n@Component({\r\n selector: 'page-add-note',\r\n templateUrl: 'add-note.html',\r\n})\r\nexport class AddNotePage {\r\n\r\n note: { title: string, body: string, client_id: string} = {\r\n title: 'New Note',\r\n body: '',\r\n client_id: ''\r\n };\r\n\r\n submitClient: boolean = false;\r\n isReadyToSave: boolean;\r\n id: any = '';\r\n\r\n form: FormGroup;\r\n\r\n constructor(public navCtrl: NavController, public alertCtrl: AlertController, public viewCtrl: ViewController, public items: Items, formBuilder: FormBuilder, public navParams: NavParams) {\r\n if (this.navParams.data.note) {\r\n this.note.body = this.navParams.data.note.body;\r\n this.note.title = this.navParams.data.note.title;\r\n this.id = this.navParams.data.note.id;\r\n }\r\n this.form = formBuilder.group({\r\n title: [this.note.title],\r\n body: [this.note.body, Validators.required]\r\n });\r\n\r\n // Watch the form for changes, and\r\n this.form.valueChanges.subscribe((v) => {\r\n this.isReadyToSave = this.form.valid;\r\n });\r\n }\r\n\r\n ionViewDidLoad() {\r\n //console.log('inside ionViewDidLoad AddNotePage');\r\n \r\n }\r\n\r\n cancel() {\r\n var ret = {\r\n action: 'cancel',\r\n item: null\r\n };\r\n this.viewCtrl.dismiss(ret);\r\n }\r\n\r\n /**\r\n * The user is done and wants to create the item, so return it\r\n * back to the presenter.\r\n */\r\n done() {\r\n if (!this.form.valid) { return; }\r\n var ret = {\r\n action: 'save',\r\n item: this.form.value\r\n };\r\n this.viewCtrl.dismiss(ret);\r\n }\r\n\r\n // delete() {\r\n // if (this.id) {\r\n // let seq = this.items.deleteNote(this.id).share();\r\n // seq\r\n // .map(res => res.json().data.note)\r\n // .subscribe(res => {\r\n // this.viewCtrl.dismiss();\r\n // }, err => {\r\n // console.error('ERROR', err);\r\n // });\r\n // }\r\n // }\r\n\r\n delete() {\r\n let prompt = this.alertCtrl.create({\r\n message: \"Are you sure you want to delete this client note?\",\r\n buttons: [\r\n {\r\n text: 'Cancel',\r\n handler: data => {\r\n }\r\n },\r\n {\r\n text: 'Yes',\r\n handler: data => {\r\n this.items.deleteNote(this.id).subscribe((resp) => {\r\n if (resp) {\r\n var ret = {\r\n action: 'delete',\r\n item: null\r\n };\r\n this.viewCtrl.dismiss(ret);\r\n }\r\n }, (err) => {\r\n\r\n })\r\n\r\n }\r\n }\r\n ]\r\n });\r\n prompt.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/add-note/add-note.ts","import { Component } from '@angular/core';\r\nimport {Inject} from \"@angular/core\";\r\nimport {DOCUMENT} from \"@angular/platform-browser\";\r\nimport { IonicPage, AlertController, NavController, NavParams, ViewController } from 'ionic-angular';\r\nimport { Validators, FormBuilder, FormGroup, FormControl } from '@angular/forms';\r\nimport { Items } from '../../providers/providers';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\n\r\n/**\r\n * Generated class for the AddNotePage page.\r\n *\r\n * See http://ionicframework.com/docs/components/#navigation for more info\r\n * on Ionic pages and navigation.\r\n */\r\n\r\n@IonicPage()\r\n@Component({\r\n selector: 'page-response-note',\r\n templateUrl: 'response-note.html',\r\n})\r\nexport class ResponseNotePage {\r\n\r\n note: { title: string, body: string} = {\r\n title: 'Note',\r\n body: ''\r\n };\r\n\r\n submitClient: boolean = false;\r\n isReadyToSave: boolean;\r\n id: any = '';\r\n type: string = 'note'\r\n title: string = 'Update Note'\r\n tooltipEvent: 'click' | 'press' = 'click';\r\n showArrow: boolean = true;\r\n duration: number = 5000;\r\n position: string = 'top';\r\n copyUrlText: string;\r\n form: FormGroup;\r\n item: FormControl;\r\n\r\n constructor(private clipboardService: ClipboardService, public navCtrl: NavController, public alertCtrl: AlertController, public viewCtrl: ViewController, public items: Items, private formBuilder: FormBuilder, public navParams: NavParams,@Inject(DOCUMENT) dom: Document) {\r\n this.type = this.navParams.data.type;\r\n this.note.body = this.navParams.data.body;\r\n this.copyUrlText = this.cleanHtml(this.navParams.data.body);\r\n this.title = this.navParams.data.title;\r\n this.id = this.navParams.data.id;\r\n this.form = formBuilder.group({\r\n title: [this.note.title],\r\n body: [this.note.body, Validators.required]\r\n });\r\n\r\n // Watch the form for changes, and\r\n this.form.valueChanges.subscribe((v) => {\r\n this.isReadyToSave = this.form.valid;\r\n });\r\n }\r\n\r\n ionViewWillLoad() {\r\n this.item = this.formBuilder.control(this.navParams.data.body.replace(/(?:\\r\\n|\\r|\\n)/g, '
'));\r\n }\r\n\r\n ionViewDidLoad() {\r\n // const el = document.querySelectorAll('.modal-wrapper');\r\n // const elements = Array.from(el);\r\n\r\n // elements.forEach(element => {\r\n // setHeightWithImportant(element as HTMLElement, '100vh');\r\n // });\r\n\r\n // function setHeightWithImportant(element: HTMLElement, height: string) {\r\n // element.style.setProperty('max-height', height, 'important');\r\n // }\r\n }\r\n\r\n cleanHtml(input) {\r\n // Replace
and
with newline\r\n let output = input.replace(//gi, '\\n');\r\n \r\n // Remove all other HTML tags\r\n output = output.replace(/<\\/?[^>]+(>|$)/g, '');\r\n\r\n output = output.replace(\" \", \" \")\r\n\r\n return output;\r\n }\r\n\r\n updateCopyUrlText () {\r\n this.copyUrlText = this.cleanHtml(this.item.value);\r\n this.clipboardService.copyFromContent(this.copyUrlText);\r\n }\r\n\r\n cancel() {\r\n var ret = {\r\n action: 'cancel',\r\n item: null\r\n };\r\n this.viewCtrl.dismiss(ret);\r\n }\r\n\r\n /**\r\n * The user is done and wants to create the item, so return it\r\n * back to the presenter.\r\n */\r\n done() {\r\n if (!this.form.valid) { return; }\r\n var ret = {\r\n action: 'done',\r\n item: this.item.value\r\n };\r\n this.viewCtrl.dismiss(ret);\r\n }\r\n\r\n itemSelected() {\r\n var popup = window.open('', \"_blank\");\r\n this.items.getReportURL(this.id).subscribe(data => {\r\n if (data) {\r\n popup.location.href = data.url\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n\r\n }\r\n\r\n // delete() {\r\n // if (this.id) {\r\n // let seq = this.items.deleteNote(this.id).share();\r\n // seq\r\n // .map(res => res.json().data.note)\r\n // .subscribe(res => {\r\n // this.viewCtrl.dismiss();\r\n // }, err => {\r\n // console.error('ERROR', err);\r\n // });\r\n // }\r\n // }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/response-note/response-note.ts"],"sourceRoot":""}