"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var core_1 = require('@angular/core'); var router_1 = require('@angular/router'); var application_service_1 = require('../services/application.service'); var forms_1 = require('@angular/forms'); var AddUserComponent = (function () { function AddUserComponent(application, router, fb) { this.application = application; this.router = router; this.fb = fb; this.formErrors = { 'username': '', 'password': '', 'confirmPassword': '', 'emailId': '', 'firstName': '', 'lastName': '', 'accountNumber': '', 'userType': '', 'productEdition': '' }; this.validationMessages = { 'username': { 'required': 'Username is required.' }, 'password': { 'required': 'Password is required.', 'minlength': 'Password must be at least 8 characters long.' }, 'confirmPassword': { 'required': 'Confirm password is required.' }, 'emailId': { 'required': 'EmailId is required.', 'pattern': 'Email pattern is not valid.' }, 'firstName': { 'required': 'First name is required.' }, 'lastName': { 'required': 'Last name is required.' }, 'accountNumber': { 'required': 'Account number is required.' }, 'userType': { 'required': 'User type is required.' }, 'productEdition': { 'required': 'Product edition is required.' }, }; } AddUserComponent.prototype.ngAfterViewInit = function () { this.initializeUIElements(); jQuery(function () { jQuery('#datetimepicker1, #datetimepicker2').datetimepicker({}); }); }; AddUserComponent.prototype.initializeUIElements = function () { }; AddUserComponent.prototype.ngOnInit = function () { /*if (this.application.currentUser == null) { this.router.navigate(['/login']); }*/ this.initializeAddUserForm(); }; AddUserComponent.prototype.showAlert = function (id) { jQuery('#' + id).modal('show'); }; AddUserComponent.prototype.initializeAddUserForm = function () { var _this = this; this.addUserForm = this.fb.group({ 'username': ['', [forms_1.Validators.required]], 'password': ['', ([forms_1.Validators.required, forms_1.Validators.minLength(8)])], 'confirmPassword': ['', [forms_1.Validators.required]], 'emailId': ['', forms_1.Validators.compose([forms_1.Validators.required, forms_1.Validators.pattern(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)])], 'firstName': ['', [forms_1.Validators.required]], 'lastName': ['', [forms_1.Validators.required]], 'accountNumber': ['', [forms_1.Validators.required]], 'userType': ['', [forms_1.Validators.required]], 'productEdition': ['', [forms_1.Validators.required]] }); this.addUserForm.valueChanges .subscribe(function (data) { return _this.onValueChanged(data); }); this.onValueChanged(); // (re)set validation messages now }; AddUserComponent.prototype.onValueChanged = function (data) { if (!this.addUserForm) { return; } var form = this.addUserForm; for (var field in this.formErrors) { // clear previous error message (if any) this.formErrors[field] = ''; var control = form.get(field); if (control && control.dirty && !control.valid) { var messages = this.validationMessages[field]; for (var key in control.errors) { this.formErrors[field] += messages[key] + ' '; } } } }; AddUserComponent = __decorate([ core_1.Component({ templateUrl: './app/components/add-user.component.html' }), __metadata('design:paramtypes', [application_service_1.ApplicationService, router_1.Router, forms_1.FormBuilder]) ], AddUserComponent); return AddUserComponent; }()); exports.AddUserComponent = AddUserComponent; //# sourceMappingURL=add-user.component.js.map