github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/infrastructure/dmm_eikaiwa/testdata/49393_files/pc-tablet-login.js (about)

     1  var NaviApiTabletLogin = function () {};
     2  
     3  // Opened
     4  NaviApiTabletLogin.openLogin = function () {
     5    NaviApiTabletLogin.main.style.visibility = 'visible';
     6    NaviApiTabletLogin.main.style.opacity = 1;
     7    NaviApiTabletLogin.main.style.zIndex = 1100;
     8    NaviApiTabletLogin.isOpened = true;
     9  };
    10  
    11  // Closed
    12  NaviApiTabletLogin.closeLogin = function () {
    13    NaviApiTabletLogin.main.style.visibility = 'hidden';
    14    NaviApiTabletLogin.main.style.opacity = 0;
    15    NaviApiTabletLogin.main.style.zIndex = 1;
    16    NaviApiTabletLogin.isOpened = false;
    17  };
    18  
    19  // Validate
    20  NaviApiTabletLogin.isLogin = function (tapTargetElement, openNavigationElement) {
    21    if (tapTargetElement === openNavigationElement) {
    22      return true;
    23    }
    24    if (tapTargetElement.parentNode === null) {
    25      return false;
    26    }
    27    return NaviApiTabletLogin.isLogin(tapTargetElement.parentNode, openNavigationElement);
    28  };
    29  
    30  // script attribute defer is mandatory
    31  NaviApiTabletLogin.isOpened = false;
    32  // TODO replace `class` to `id`
    33  NaviApiTabletLogin.root = document.getElementsByClassName('_n4v1-login')[0];
    34  NaviApiTabletLogin.icon = document.getElementsByClassName('_n4v1-login-icon')[0];
    35  NaviApiTabletLogin.main = document.getElementsByClassName('_n4v1-login-main')[0];
    36  
    37  // Add Listner:Open
    38  NaviApiTabletLogin.icon.addEventListener('touchend', function () {
    39    if (NaviApiTabletLogin.isOpened) {
    40      NaviApiTabletLogin.closeLogin();
    41    } else {
    42      NaviApiTabletLogin.openLogin();
    43    }
    44  });
    45  
    46  // Add Listner:Close
    47  document.body.addEventListener('touchend', function (e) {
    48    if (!NaviApiTabletLogin.isLogin(e.target, NaviApiTabletLogin.root)) {
    49      NaviApiTabletLogin.closeLogin();
    50    }
    51  });