HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/thread-self/root/home/arjun/projects/buyercall/buyercall/assets/scripts/main.js
var App = require('./app_new');

$(function() {
  App.init();
});

const utils = {
  getLuminance(color) {
    if (!color) {
      color = '#ffffff';
    }

    var r = parseInt(color.slice(1, 3), 16),
      g = parseInt(color.slice(3, 5), 16),
      b = parseInt(color.slice(5, 7), 16);
    return (0.2126 * r + 0.7152 * g + 0.0722 * b) / 0xff;
  },
};

$(document).ready(function() {
  // on hover show menu
  menuItems = document.querySelectorAll('#side-menu');

  menuItems.forEach(function(item) {
    // item.onmouseover = function(e) {
    //   document.body.classList.remove('sidebar-enable', 'vertical-collpsed');
    // };
    // item.onmouseleave = function(e) {
    //   document.body.classList.add('sidebar-enable', 'vertical-collpsed');
    // };
  });

  // Form Validation
  $('.custom-validation').parsley();

  //Select 2 Dropdowns
  $('.select2').select2({ width: '100%' });

  // Reset Forms
  $('.btn-form-cancel').click(function() {
    $('form[name=' + $(this).data('formname') + ']').trigger('reset');

    // Reset avatar
    if ($(this).data('haveavatar') && $(this).data('haveavatar') === 1) {
      const avatarImg = $(
        'form[name=' + $(this).data('formname') + ']' + ' .imgAvatar',
      );
      if (avatarImg) {
        avatarImg.attr('src', avatarImg.data('imgsrc'));
      }
    }
  });

  // Select 2 validation reset
  $('.select2-multiple').change(function() {
    if ($(this).val()) {
      $(this).removeClass('parsley-error');
      $($(this).data('parsley-errors-container')).html('');
    } else {
      $($(this).data('parsley-errors-container')).html(
        '<ul class="parsley-errors-list filled" id="parsley-id-multiple-10"><li class="parsley-required">This value is required.</li></ul>',
      );
    }
  });

  /**
   **********************************************************************************************************************************
   */

  // Profile Settings
  const profileSettingsPersonalInfoFileInput = document.querySelector(
    '#profile-settings .personal-information .image-change-button input',
  );
  if (profileSettingsPersonalInfoFileInput) {
    document
      .querySelector(
        '#profile-settings .personal-information .image-change-button input',
      )
      .addEventListener(
        'change',
        () => {
          var file = document.querySelector(
            '#profile-settings .personal-information .image-change-button input',
          ).files[0];
          var reader = new FileReader();
          reader.onloadend = function() {
            document.querySelector(
              '#profile-settings .personal-information img',
            ).src = reader.result;
          };
          if (file) {
            reader.readAsDataURL(file);
          } else {
          }
        },
        true,
      );
  }

  const securityInfoForm = document.querySelector(
    '.custom-validation-security-information',
  );
  if (securityInfoForm) {
    $('.custom-validation-security-information')
      .parsley()
      .on('form:submit', function() {
        $('#confirmPasswordModal').modal('show');
        return false;
      });
  }
  const controlFields = document.querySelectorAll(
    '[control_field=profile_security_info]',
  );
  if (controlFields.length) {
    $('[control_field=profile_security_info]').on('blur', function() {
      const fieldName = $(this).attr('name');
      switch (fieldName) {
        case 'security-information-new-password':
          {
            if ($('[name=security-information-new-password]').val()) {
              $('[name=security-information-new-password]').attr(
                'required',
                'required',
              );
              $('[name=security-information-confirm-password]').attr(
                'required',
                'required',
              );
            } else if (
              $('[name=security-information-confirm-password]').val() == ''
            ) {
              $('[name=security-information-new-password]').removeAttr(
                'required',
              );
              $('[name=security-information-confirm-password]').removeAttr(
                'required',
              );
              $('[name=security-information-new-password]').removeClass(
                'parsley-error',
              );
              $('[name=security-information-confirm-password]').removeClass(
                'parsley-error',
              );
              $('#security-information-new-password-errors').html('');
              $('#security-information-confirm-password-errors').html('');
            }
          }
          break;
        case 'security-information-confirm-password': {
          if ($('[name=security-information-confirm-password]').val()) {
            $('[name=security-information-new-password]').attr(
              'required',
              'required',
            );
            $('[name=security-information-confirm-password]').attr(
              'required',
              'required',
            );
          } else if (
            $('[name=security-information-new-password]').val() == ''
          ) {
            $('[name=security-information-new-password]').removeAttr(
              'required',
            );
            $('[name=security-information-confirm-password]').removeAttr(
              'required',
            );
            $('[name=security-information-new-password]').removeClass(
              'parsley-error',
            );
            $('[name=security-information-confirm-password]').removeClass(
              'parsley-error',
            );
            $('#security-information-new-password-errors').html('');
            $('#security-information-confirm-password-errors').html('');
          }
        }
      }
      $('form.custom-validation').parsley();
    });
  }

  $('.security_information_field').on('input', function(e) {
    const currentAttrName = $(this).attr('name');
    switch (currentAttrName) {
      case 'security-information-useremail':
        $('.security_info_confirm_pw_form [name=email_address]').val(
          $(this).val(),
        );
        break;
      case 'security-information-phonenum':
        $('.security_info_confirm_pw_form [name=phone_number]').val(
          $(this).val(),
        );
        break;
      case 'security-information-new-password':
        $('.security_info_confirm_pw_form [name=password]').val($(this).val());
        break;
    }
  });

  //  PARTNERSHIP SETTINGS
  const partnershipSettingsInfoFileInput = document.querySelector(
    '#partnership-settings .partnership-information .image-change-button input',
  );
  if (partnershipSettingsInfoFileInput) {
    document
      .querySelector(
        '#partnership-settings .partnership-information .image-change-button input',
      )
      .addEventListener(
        'change',
        () => {
          var file = document.querySelector(
            '#partnership-settings .partnership-information .image-change-button input',
          ).files[0];
          var reader = new FileReader();
          reader.onloadend = function() {
            document.querySelector(
              '#partnership-settings .partnership-information img',
            ).src = reader.result;
          };
          if (file) {
            reader.readAsDataURL(file);
          } else {
          }
        },
        true,
      );
  }

  $('.addNotificationUsers').click(function() {
    $('[name=addNotificationUsers]').submit();
  });

  // $('#phoneInput').letteringInput({
  //   inputClass: 'digit',
  //   hiddenInputWrapperID: 'testWrapper',
  //   hiddenInputName: 'phone',
  //   onLetterKeyup: function($item, event) {
  //     console.log($item, event);
  //   },
  //   onSet: function($el, event, value) {
  //     console.log($el, event, value);
  //     $('.hidden-input-value').text(
  //       $('input[name="phone"]', '#testWrapper').val(),
  //     );
  //   },
  // });

  $('.phoneInput').letteringInput({
    inputClass: 'digit',
    hiddenInputWrapperID: 'testWrapper',
    hiddenInputName: 'code',
    onLetterKeyup: function($item, event) {},
    forbiddenKeyCodes: [
      9,
      16,
      17,
      18,
      20,
      27,
      32,
      33,
      34,
      38,
      40,
      45,
      144,
      ..._.range(65, 91),
    ],
  });

  const twoFAform = document.querySelector('.form-two-fa-auth');
  if (twoFAform) {
    $('.form-two-fa-auth').on('submit', function() {
      // const digitFields = document.querySelectorAll('.form-two-fa-auth .digit');
      let isValid = true;
      $('.form-two-fa-auth .digit').each(function() {
        // check if it have length
        if (!this.value) {
          isValid = false;
        }
        // chec if is a number
        if (isNaN(parseInt(this.value))) {
          isValid = false;
        }
      });
      if (!isValid) {
        $('.twofa-error-field').removeClass('d-none');
        return false;
      }
    });
    $('.form-two-fa-auth .digit').on('focus', function() {
      $('.twofa-error-field').addClass('d-none');
    });
  }

  /**
   **********************************************************************************************************************************
   */
  // HANDLE PARTNER SIDENAV BACKGROUND COLOR AND TEXT COLOR
  if (
    typeof CURRENT_USER_DETAILS !== 'undefined' &&
    CURRENT_USER_DETAILS.primary_color
  ) {
    console.log(CURRENT_USER_DETAILS.primary_color);
    const luminance = utils.getLuminance(CURRENT_USER_DETAILS.primary_color);
    if (luminance > 0.7) {
      $('body[data-sidebar="dark"] #sidebar-menu ul > li > a')
        .addClass('dark-luminance')
        .removeClass('light-luminance ');
      $('body[data-sidebar="dark"] #sidebar-menu ul > li > a > i')
        .addClass('dark-luminance')
        .removeClass('light-luminance ');
      $('body[data-sidebar="dark"] #sidebar-menu ul > li').hover(
        function() {
          $('body[data-sidebar="dark"] #sidebar-menu ul > li:hover > a')
            .removeClass('dark-luminance')
            .addClass('light-luminance ');
          $('body[data-sidebar="dark"] #sidebar-menu ul > li:hover > a > i')
            .removeClass('dark-luminance')
            .addClass('light-luminance ');
        },
        function() {
          $('body[data-sidebar="dark"] #sidebar-menu ul > li > a')
            .addClass('dark-luminance')
            .removeClass('light-luminance ');
          $('body[data-sidebar="dark"] #sidebar-menu ul > li > a > i')
            .addClass('dark-luminance')
            .removeClass('light-luminance ');
        },
      );

      $('body[data-sidebar="dark"] #sidebar-menu ul > li > a.active')
        .removeClass('dark-luminance')
        .addClass('light-luminance ');
      $('body[data-sidebar="dark"] #sidebar-menu ul > li > a:active > i')
        .removeClass('dark-luminance')
        .addClass('light-luminance ');
    } else {
      $('body[data-sidebar="dark"] #sidebar-menu ul > li > a')
        .removeClass('dark-luminance')
        .addClass('light-luminance ');
      $('body[data-sidebar="dark"] #sidebar-menu ul > li > a > i')
        .removeClass('dark-luminance')
        .addClass('light-luminance ');
      $('body[data-sidebar="dark"] #sidebar-menu ul > li').hover(
        function() {
          $('body[data-sidebar="dark"] #sidebar-menu ul > li > a.active')
            .addClass('dark-luminance')
            .removeClass('light-luminance ');
          $('body[data-sidebar="dark"] #sidebar-menu ul > li:hover > a')
            .addClass('dark-luminance')
            .removeClass('light-luminance ');
          $('body[data-sidebar="dark"] #sidebar-menu ul > li:hover > a > i')
            .addClass('dark-luminance')
            .removeClass('light-luminance ');
        },
        function() {
          $('body[data-sidebar="dark"] #sidebar-menu ul > li > a')
            .removeClass('dark-luminance')
            .addClass('light-luminance ');
          $('body[data-sidebar="dark"] #sidebar-menu ul > li > a > i')
            .removeClass('dark-luminance')
            .addClass('light-luminance ');
        },
      );

      $('body[data-sidebar="dark"] #sidebar-menu ul > li > a.active')
        .addClass('dark-luminance')
        .removeClass('light-luminance ');
      $('body[data-sidebar="dark"] #sidebar-menu ul > li > a:active > i')
        .addClass('dark-luminance')
        .removeClass('light-luminance ');
    }
    //#a6b0cf
    //'#fff'
  }

  /**
   **********************************************************************************************************************************
   */
});