Advertisement
Guest User

Untitled

a guest
May 7th, 2017
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. user.js
  2. (function () {
  3. function userInButtonClickHandle() {
  4. const loginForm = heyId('log-in-form');
  5. if (loginForm.login.value === '') return;
  6.  
  7. const user = {
  8. username: loginForm.login.value,
  9. password: loginForm.password.value,
  10. };
  11.  
  12. requests.login(user).then(userInHandle, userLoadErrorHandle);
  13. }
  14.  
  15. function userInHandle() {
  16. heyId('log-in-form').style.display = 'none';
  17. heyId('message-overlay').style.display = 'none';
  18.  
  19. const loginForm = heyId('log-in-form');
  20. userInDataInit({ mail: loginForm.login.value });
  21. heyId('log-in-button').removeEventListener('click', showLoginForm);
  22. }
  23.  
  24. function userInDataInit(user) {
  25. heyId('edit-form').className = '';
  26. if (!user) return;
  27.  
  28. const userPanel = heyId('header-user-panel');
  29. userPanel.className = 'header-user-panel';
  30. userPanel.querySelector('h1').textContent = user.name || 'User Name';
  31. userPanel.querySelector('p').textContent = user.mail || 'usermail@mail.com';
  32. userPanel.querySelector('img').src = user.image || 'img/user-icon.png';
  33. }
  34.  
  35. function userOutHandle() {
  36. const articlesButtons = heyClassName('article-item-buttons');
  37. for (let i = 0; i < articlesButtons.length; i += 1) {
  38. articlesButtons[i].style.display = 'none';
  39. }
  40.  
  41. heyId('header-user-panel').className = 'display-none';
  42. heyId('edit-form').className = 'display-none';
  43.  
  44. heyId('log-in-button').addEventListener('click', showLoginForm);
  45. }
  46.  
  47. function userOutButtonClickHandle() {
  48. requests.logout().then(userOutHandle, console.log);
  49. }
  50.  
  51. function showLoginForm() {
  52. heyId('log-in-form').style.display = 'block';
  53. heyId('message-overlay').style.display = 'block';
  54. }
  55.  
  56. function hideLoginForm() {
  57. heyId('log-in-form').style.display = 'none';
  58. heyId('message-overlay').style.display = 'none';
  59. }
  60.  
  61. function heyId(id) {
  62. return document.getElementById(id);
  63. }
  64.  
  65. function heyClassName(className) {
  66. return document.getElementsByClassName(className);
  67. }
  68.  
  69. function getUser() {
  70. requests.getUser().then(userLoadHandle, console.log);
  71. }
  72.  
  73. function userLoadHandle(user) {
  74. if (!user) return;
  75.  
  76. userInDataInit(user);
  77. heyId('log-in-button').removeEventListener('click', showLoginForm);
  78. }
  79.  
  80. function userLoadErrorHandle(err) {
  81. hideLoginForm();
  82. messageService.showErrorForm(err.message, 'Ошибка входа');
  83. }
  84.  
  85. heyId('login-form-button').addEventListener('click', userInButtonClickHandle);
  86. heyId('user-panel-out-button').addEventListener('click', userOutButtonClickHandle);
  87. heyId('message-overlay').addEventListener('click', hideLoginForm);
  88.  
  89. userOutHandle();
  90. getUser();
  91. }());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement