{ "version": 3, "sources": ["src/app/admin/add-edit-user/add-edit-users-utils.ts", "src/app/admin/add-edit-user/user-data-validator.ts"], "sourcesContent": ["import { ICustomerSummary } from \"src/app/shared/models\";\nimport { CustomersTreeElement } from \"./add-edit-users-models\";\n\nexport class AddEditUserUtils\n{\n\n tryAddAsChild(currentlyChecking : CustomersTreeElement, customerToAdd : CustomersTreeElement, userCustomers : number[])\n {\n if(currentlyChecking.number == customerToAdd.parentCustomerNumber)\n {\n if( currentlyChecking.children == null) currentlyChecking.children = []\n customerToAdd.depth = currentlyChecking.depth + 1;\n customerToAdd.showChildren = true;\n customerToAdd.children = []\n let isSelectedForUser = userCustomers.findIndex(x => x == customerToAdd.number) != -1\n if(!isSelectedForUser && currentlyChecking.isSelected)\n {\n userCustomers.push(customerToAdd.number)\n }\n customerToAdd.isSelected = isSelectedForUser || currentlyChecking.isSelected;\n currentlyChecking.children.push(customerToAdd);\n\n return true;\n }\n\n let wasAdded = false;\n for (let i = 0; i < currentlyChecking.children.length; i++) {\n wasAdded = wasAdded || this.tryAddAsChild(currentlyChecking.children[i],customerToAdd, userCustomers);\n if(wasAdded)\n {\n return wasAdded\n }\n }\n\n return false;\n\n }\n\n addAsRootElement(tree : CustomersTreeElement[],customer : ICustomerSummary, userCustomers : number[])\n { \n let element = customer as CustomersTreeElement;\n element.children = [];\n element.depth = 0;\n element.isSelected = userCustomers.findIndex(x => x == element.number) != -1;\n tree.push(element)\n }\n\n buildCustomersTree(customers : ICustomerSummary[], userCustomers : number[])\n {\n let index = 0;\n let customersTree : CustomersTreeElement[] = []\n while(customers.length > 0)\n {\n if(customers[index].parentCustomerNumber == null)\n {\n this.addAsRootElement(customersTree,customers[index], userCustomers)\n customers.splice(index,1)\n index = 0\n }\n else\n {\n let wasAdded = false\n for(let i = 0 ; i< customersTree.length; i++)\n {\n wasAdded = this.tryAddAsChild(customersTree[i],customers[index] as CustomersTreeElement, userCustomers)\n if(wasAdded)\n {\n customers.splice(index,1);\n index = 0;\n break;\n }\n }\n if(!wasAdded)\n {\n if(customers.findIndex(x => x.number == customers[index].parentCustomerNumber) == -1)\n {\n this.addAsRootElement(customersTree,customers[index],userCustomers)\n customers.splice(index,1)\n index = 0\n }\n else\n index = ( index + 1 ) % customers.length\n }\n\n }\n }\n\n return this.orderByChildrenNumbers(customersTree);\n }\n\n orderByChildrenNumbers(customers : CustomersTreeElement[]) : CustomersTreeElement[]\n {\n \n for (let i = 0; i < customers?.length; i++) {\n customers[i].children = this.orderByChildrenNumbers(customers[i].children)\n }\n\n if(customers == null || customers.length == 0 ) return [] as CustomersTreeElement[]\n return customers.sort((a,b) => a.children?.length - b.children?.length)\n \n }\n}", "import { AbstractControl, NgForm } from \"@angular/forms\";\n\n\nexport class UserDataValidator\n{\n constructor(isNewUser : boolean , userData : any, form : NgForm)\n {\n this.userData = userData;\n this.form = form;\n this.isNewUser = isNewUser;\n }\n\n userData : any = {};\n form : NgForm\n isNewUser : boolean;\n addedPasswordError : boolean = false;\n\n private validatePasswordsExist()\n {\n let passwordControl = this.form.form.controls.password as AbstractControl;\n let passwordConfirmControl = this.form.form.controls.passwordConfirm;\n \n if(!passwordControl || !passwordConfirmControl)\n return\n \n if(!this.userData.password.value)\n {\n passwordControl.setErrors({errorCode:\"IsRequired\"})\n this.addedPasswordError = true;\n }\n\n if(!this.userData.passwordConfirm.value)\n {\n passwordConfirmControl.setErrors({errorCode:\"IsRequired\"})\n this.addedPasswordError = true;\n }\n \n }\n\n private validatePasswordsMatch()\n {\n let passwordControl = this.form.form.controls.password;\n let passwordConfirmControl = this.form.form.controls.passwordConfirm;\n\n if(!passwordControl || !passwordConfirmControl)\n return\n\n if(this.userData.password.value !== this.userData.passwordConfirm.value)\n {\n passwordControl.setErrors({errorCode:\"Passwords_Dont_Match\"})\n passwordConfirmControl.setErrors({errorCode:\"Passwords_Dont_Match\"})\n this.addedPasswordError = true;\n }\n\n }\n\n private validatePassword()\n {\n let passwordControl = this.form.form.controls.password;\n let passwordConfirmControl = this.form.form.controls.passwordConfirm;\n\n passwordControl?.setErrors(null)\n passwordConfirmControl?.setErrors(null)\n\n if(this.isNewUser || this.userData?.password?.value || this.userData?.passwordConfirm?.value)\n {\n this.validatePasswordsExist();\n if(!this.addedPasswordError) this.validatePasswordsMatch();\n }\n }\n\n private validateName()\n {\n let nameControl = this.form.form.controls.name;\n \n if(!nameControl)\n return;\n\n nameControl.setErrors(null)\n\n if(!this.userData.name)\n return\n\n if(!this.userData.name.value)\n nameControl.setErrors({errorCode:\"IsRequired\"})\n }\n\n private validateEmail()\n {\n let emailControl = this.form.form.controls.webEmail;\n if(!emailControl)\n return;\n\n emailControl.setErrors(null)\n\n if(!this.userData.webEmail)\n return\n\n if(!this.userData.webEmail.value)\n emailControl.setErrors({errorCode:\"IsRequired\"})\n }\n\n\n public validate()\n {\n this.addedPasswordError = false;\n this.validateEmail();\n this.validateName();\n this.validatePassword();\n }\n\n}"], "mappings": "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", "names": [] }