Нема описа
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /**
  2. * Modal Example Wizard
  3. */
  4. 'use strict';
  5. document.addEventListener('DOMContentLoaded', function (e) {
  6. // Modal id
  7. const appModal = document.getElementById('createApp');
  8. // Credit Card
  9. const creditCardMask1 = document.querySelector('.app-credit-card-mask'),
  10. expiryDateMask1 = document.querySelector('.app-expiry-date-mask'),
  11. cvvMask1 = document.querySelector('.app-cvv-code-mask');
  12. let cleave;
  13. // Cleave JS card Mask
  14. setTimeout(() => {
  15. if (creditCardMask1) {
  16. creditCardMask1.addEventListener('input', event => {
  17. let cleanValue = event.target.value.replace(/\D/g, '');
  18. let cardType = getCreditCardType(cleanValue);
  19. creditCardMask1.value = formatCreditCard(cleanValue);
  20. if (cardType && cardType !== 'unknown' && cardType !== 'general') {
  21. document.querySelector('.app-card-type').innerHTML =
  22. `<img src="${assetsPath}img/icons/payments/${cardType}-cc.png" height="20"/>`;
  23. } else {
  24. document.querySelector('.app-card-type').innerHTML = '';
  25. }
  26. });
  27. registerCursorTracker({
  28. input: creditCardMask1,
  29. delimiter: ' '
  30. });
  31. }
  32. }, 200);
  33. // Expiry Date Mask
  34. if (expiryDateMask1) {
  35. expiryDateMask1.addEventListener('input', event => {
  36. expiryDateMask1.value = formatDate(event.target.value, {
  37. delimiter: '/',
  38. datePattern: ['m', 'y']
  39. });
  40. });
  41. registerCursorTracker({
  42. input: expiryDateMask1,
  43. delimiter: '/'
  44. });
  45. }
  46. // CVV
  47. if (cvvMask1) {
  48. cvvMask1.addEventListener('input', event => {
  49. const cleanValue = event.target.value.replace(/\D/g, '');
  50. cvvMask1.value = formatNumeral(cleanValue, {
  51. numeral: true,
  52. numeralPositiveOnly: true
  53. });
  54. });
  55. }
  56. appModal.addEventListener('show.bs.modal', function (event) {
  57. const wizardCreateApp = document.querySelector('#wizard-create-app');
  58. if (typeof wizardCreateApp !== undefined && wizardCreateApp !== null) {
  59. // Wizard next prev button
  60. const wizardCreateAppNextList = [].slice.call(wizardCreateApp.querySelectorAll('.btn-next'));
  61. const wizardCreateAppPrevList = [].slice.call(wizardCreateApp.querySelectorAll('.btn-prev'));
  62. const wizardCreateAppBtnSubmit = wizardCreateApp.querySelector('.btn-submit');
  63. const createAppStepper = new Stepper(wizardCreateApp, {
  64. linear: false
  65. });
  66. if (wizardCreateAppNextList) {
  67. wizardCreateAppNextList.forEach(wizardCreateAppNext => {
  68. wizardCreateAppNext.addEventListener('click', event => {
  69. createAppStepper.next();
  70. });
  71. });
  72. }
  73. if (wizardCreateAppPrevList) {
  74. wizardCreateAppPrevList.forEach(wizardCreateAppPrev => {
  75. wizardCreateAppPrev.addEventListener('click', event => {
  76. createAppStepper.previous();
  77. });
  78. });
  79. }
  80. if (wizardCreateAppBtnSubmit) {
  81. wizardCreateAppBtnSubmit.addEventListener('click', event => {
  82. alert('Submitted..!!');
  83. });
  84. }
  85. }
  86. });
  87. });