{"version":3,"sources":["../../src/pages/client-grouping/client-grouping.ts","../../src/pages/client-grouping/client-grouping.module.ts"],"names":[],"mappings":"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","file":"50.1590488d335f41840204.chunk.js","sourcesContent":["import { Component } from '@angular/core';\r\nimport { IonicPage, ToastController, NavController, NavParams, ViewController, AlertController, App } from 'ionic-angular';\r\n//import { AdministerPage } from '../administer/administer';\r\nimport { Client } from '../../models/client';\r\nimport { Items } from '../../providers/providers';\r\nimport { UserAccount } from '../../models/account';\r\nimport { Grouping } from '../../models/groupings';\r\n//import { AdministerPage } from '../administer/administer';\r\n/**\r\n * Generated class for the ClientGroupingPage page.\r\n *\r\n * See http://ionicframework.com/docs/components/#navigation for more info\r\n * on Ionic pages and navigation.\r\n * the tags module is from https://github.com/HsuanXyz/ionic-tags-input\r\n */\r\n\r\n\r\n@IonicPage()\r\n@Component({\r\n selector: 'page-client-grouping',\r\n templateUrl: 'client-grouping.html',\r\n})\r\nexport class ClientGroupingPage {\r\n\r\n clientId: string;\r\n clientName: string;\r\n groupName: string;\r\n group: Grouping;\r\n clients: Client[];\r\n latest: Client[];\r\n clientsTag: Client[] = [];\r\n clientNameTag = [];\r\n client: Client;\r\n selected = [];\r\n isReadyToSend: boolean;\r\n userAccountData: UserAccount;\r\n\r\n selectedClients: { first_name: string, last_name: string } = {\r\n first_name: 'First Name',\r\n last_name: 'Last Name'\r\n };\r\n\r\n constructor(public navCtrl: NavController, public toastCtrl: ToastController, public navParams: NavParams, public viewCtrl: ViewController, public items: Items, public alertCtrl: AlertController, public appCtrl: App) {\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n this.items.getClientSmallListWithLimit(500).subscribe(res => {\r\n if (res) {\r\n this.clients = res;\r\n\r\n this.latest = this.navParams.data.clients;\r\n this.group = this.navParams.data.group;\r\n this.groupName = this.group.name;\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n }\r\n\r\n getClientForId(clientId) {\r\n return this.clients.find(x => x.id == clientId);\r\n }\r\n\r\n cancel() {\r\n this.viewCtrl.dismiss(this.latest);\r\n }\r\n\r\n clientSelected(item) {\r\n this.isReadyToSend = true;\r\n var index = this.clientsTag.indexOf(item);\r\n if (index > -1) {\r\n this.clientsTag.splice(index, 1);\r\n this.clientNameTag.splice(index, 1);\r\n item.selected = false;\r\n if (this.clientsTag.length == 0) {\r\n this.isReadyToSend = false;\r\n }\r\n } else {\r\n //little hack to display the tag name\r\n // item.selected = true;\r\n this.clientsTag.push(item);\r\n this.clientNameTag.push(item.first_name + ' ' + item.last_name);\r\n item.selected = true;\r\n }\r\n\r\n }\r\n\r\n calculateAge(birthday) {\r\n if (birthday) {\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 onChange(val) {\r\n // 10/06/2019 val always return the array after deleting the element. \r\n //1. assign the clientsTag to a temp array and then find the index of deleted element. delete all other elements except the removed element\r\n //2. set the selected property to false and find it's index in the temp array.\r\n //3. delete the index from temp array and assign it back to clientsTag array\r\n // Can be done in one line like below but how to set the selected property to false ?\r\n // var filteredArray = this.clientsTag.filter(e=> val.includes(e.short_name));\r\n // console.log(filteredArray);\r\n var tempArray = new Array();\r\n tempArray = this.clientsTag.slice();\r\n for (let i = 0; i < val.length; i++) {\r\n var name = val[i];\r\n var index = this.clientsTag.findIndex(x => x.first_name == name);\r\n if (index > -1) {\r\n this.clientsTag.splice(index, 1);\r\n }\r\n }\r\n this.clientsTag[0].selected = false;\r\n var index = tempArray.findIndex(i => i.first_name === this.clientsTag[0].first_name);\r\n tempArray.splice(index, 1);\r\n this.clientsTag = tempArray;\r\n if (this.clientsTag.length == 0) {\r\n this.isReadyToSend = false;\r\n }\r\n // var index = this.assessmentsTag.indexOf(val);\r\n // if (index > -1) {\r\n // this.assessmentsTag.splice(index,1);\r\n // this.assessmentNameTag.splice(index,1);\r\n // if(this.assessmentsTag.length == 0){\r\n // this.isReadyToSend = false;\r\n // }\r\n // }\r\n // }\r\n }\r\n\r\n filterClients(ev) {\r\n var val = ev.target.value;\r\n // this.currentItems = this.items.getClients(val);\r\n // return this.currentItems;\r\n this.items.getClientSmallListWithLimit(500, val).subscribe(res => {\r\n if (res) {\r\n this.clients = res;\r\n return this.clients;\r\n }\r\n }, err => {\r\n console.error('ERROR', err);\r\n });\r\n\r\n }\r\n\r\n addClients() {\r\n this.items.addClientGrouping(this.clientsTag, this.group.id).subscribe((resp) => {\r\n if (resp) {\r\n this.presentToast(\"Clients successfully added to group\");\r\n this.latest = resp.grouping.Client;\r\n this.viewCtrl.dismiss(this.latest);\r\n }\r\n }, (err) => {\r\n\r\n })\r\n }\r\n\r\n presentToast(msg) {\r\n let toast = this.toastCtrl.create({\r\n message: msg,\r\n duration: 7000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/client-grouping/client-grouping.ts","import { NgModule } from '@angular/core';\r\nimport { IonicPageModule } from 'ionic-angular';\r\nimport { ClientGroupingPage } from './client-grouping';\r\nimport {IonTagsInputModule} from \"ionic-tags-input\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ClientGroupingPage\r\n ],\r\n providers: [ IonTagsInputModule ],\r\n imports: [\r\n IonicPageModule.forChild(ClientGroupingPage),\r\n IonTagsInputModule\r\n ],\r\n entryComponents: [\r\n ClientGroupingPage\r\n ]\r\n})\r\nexport class ClientGroupingPageModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/client-grouping/client-grouping.module.ts"],"sourceRoot":""}