104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * Edit User
 | |
|  */
 | |
| 
 | |
| 'use strict';
 | |
| 
 | |
| // Select2 (jquery)
 | |
| $(function () {
 | |
|   const select2 = $('.select2');
 | |
| 
 | |
|   // Select2 Country
 | |
|   if (select2.length) {
 | |
|     select2.each(function () {
 | |
|       var $this = $(this);
 | |
|       $this.wrap('<div class="position-relative"></div>').select2({
 | |
|         placeholder: 'Select value',
 | |
|         dropdownParent: $this.parent()
 | |
|       });
 | |
|     });
 | |
|   }
 | |
| });
 | |
| 
 | |
| document.addEventListener('DOMContentLoaded', function (e) {
 | |
|   (function () {
 | |
|     // variables
 | |
|     const modalEditUserTaxID = document.querySelector('.modal-edit-tax-id');
 | |
|     const modalEditUserPhone = document.querySelector('.phone-number-mask');
 | |
| 
 | |
|     // Prefix
 | |
|     if (modalEditUserTaxID) {
 | |
|       new Cleave(modalEditUserTaxID, {
 | |
|         prefix: 'TIN',
 | |
|         blocks: [3, 3, 3, 4],
 | |
|         uppercase: true
 | |
|       });
 | |
|     }
 | |
| 
 | |
|     // Phone Number Input Mask
 | |
|     if (modalEditUserPhone) {
 | |
|       new Cleave(modalEditUserPhone, {
 | |
|         phone: true,
 | |
|         phoneRegionCode: 'US'
 | |
|       });
 | |
|     }
 | |
| 
 | |
|     // Edit user form validation
 | |
|     FormValidation.formValidation(document.getElementById('editUserForm'), {
 | |
|       fields: {
 | |
|         modalEditUserFirstName: {
 | |
|           validators: {
 | |
|             notEmpty: {
 | |
|               message: 'Please enter your first name'
 | |
|             },
 | |
|             regexp: {
 | |
|               regexp: /^[a-zA-Zs]+$/,
 | |
|               message: 'The first name can only consist of alphabetical'
 | |
|             }
 | |
|           }
 | |
|         },
 | |
|         modalEditUserLastName: {
 | |
|           validators: {
 | |
|             notEmpty: {
 | |
|               message: 'Please enter your last name'
 | |
|             },
 | |
|             regexp: {
 | |
|               regexp: /^[a-zA-Zs]+$/,
 | |
|               message: 'The last name can only consist of alphabetical'
 | |
|             }
 | |
|           }
 | |
|         },
 | |
|         modalEditUserName: {
 | |
|           validators: {
 | |
|             notEmpty: {
 | |
|               message: 'Please enter your username'
 | |
|             },
 | |
|             stringLength: {
 | |
|               min: 6,
 | |
|               max: 30,
 | |
|               message: 'The name must be more than 6 and less than 30 characters long'
 | |
|             },
 | |
|             regexp: {
 | |
|               regexp: /^[a-zA-Z0-9 ]+$/,
 | |
|               message: 'The name can only consist of alphabetical, number and space'
 | |
|             }
 | |
|           }
 | |
|         }
 | |
|       },
 | |
|       plugins: {
 | |
|         trigger: new FormValidation.plugins.Trigger(),
 | |
|         bootstrap5: new FormValidation.plugins.Bootstrap5({
 | |
|           // Use this for enabling/changing valid/invalid class
 | |
|           // eleInvalidClass: '',
 | |
|           eleValidClass: '',
 | |
|           rowSelector: '.col-12'
 | |
|         }),
 | |
|         submitButton: new FormValidation.plugins.SubmitButton(),
 | |
|         // Submit the form when all fields are valid
 | |
|         // defaultSubmit: new FormValidation.plugins.DefaultSubmit(),
 | |
|         autoFocus: new FormValidation.plugins.AutoFocus()
 | |
|       }
 | |
|     });
 | |
|   })();
 | |
| });
 |