mod: дроп-даун логин/логаут вынесен во внешний auth.js
This commit is contained in:
@@ -25,29 +25,8 @@
|
|||||||
<link href="{% static 'css/oknardia1.css' %}" rel="stylesheet" type="text/css" />{% block Top_CSS1 %}{% endblock %}{% block Top_CSS2 %}{% endblock %}{% block Top_CSS3 %}{% endblock %}
|
<link href="{% static 'css/oknardia1.css' %}" rel="stylesheet" type="text/css" />{% block Top_CSS1 %}{% endblock %}{% block Top_CSS2 %}{% endblock %}{% block Top_CSS3 %}{% endblock %}
|
||||||
<script src="{% static 'js/jquery-2.1.1.min.js' %}" type="text/javascript"></script>{# <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" type="text/javascript"></script>#}
|
<script src="{% static 'js/jquery-2.1.1.min.js' %}" type="text/javascript"></script>{# <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" type="text/javascript"></script>#}
|
||||||
<script src="{% static 'js/bootstrap.min.js' %}" type="text/javascript"></script>{# <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" type="text/javascript"></script>#}{% block Top_JS1 %}{% endblock %}{% block Top_JS2 %}{% endblock %}{% block Top_JS3 %}{% endblock %}{% block Top_JS4 %}{% endblock %}{% block Top_JS5 %}{% endblock %}{% block Top_Meta1 %}{% endblock %}
|
<script src="{% static 'js/bootstrap.min.js' %}" type="text/javascript"></script>{# <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" type="text/javascript"></script>#}{% block Top_JS1 %}{% endblock %}{% block Top_JS2 %}{% endblock %}{% block Top_JS3 %}{% endblock %}{% block Top_JS4 %}{% endblock %}{% block Top_JS5 %}{% endblock %}{% block Top_Meta1 %}{% endblock %}
|
||||||
{# Аналитика: Google Analytics 4, Yandex.Metrika, Top.Mail.Ru #}
|
{# Аналитика: Google Analytics 4, Yandex.Metrika, Top.Mail.Ru #}<script src="{% static 'js/analytics.js' %}" type="text/javascript"></script>
|
||||||
<script src="{% static 'js/analytics.js' %}" type="text/javascript"></script>
|
{# Модуль авторизации: управление dropdown меню логина/логаута #}<script src="{% static 'js/auth.js' %}" type="text/javascript"></script>{% block ADD_TO_HEAD %}{% endblock %}
|
||||||
<script type="text/javascript">
|
|
||||||
function openLoginLogout(event) {
|
|
||||||
if (event) event.preventDefault();
|
|
||||||
var $box = $('#login-logout');
|
|
||||||
function openDropdown() {
|
|
||||||
var $toggle = $box.find('.dropdown-toggle').first();
|
|
||||||
if (!$toggle.length) return;
|
|
||||||
if (typeof $toggle.dropdown === 'function')
|
|
||||||
$toggle.dropdown('toggle');
|
|
||||||
else
|
|
||||||
$toggle.trigger('click');
|
|
||||||
}
|
|
||||||
if (!$box.data('loginLoaded')) {
|
|
||||||
$box.load('/login-logout', function () {
|
|
||||||
$box.data('loginLoaded', true);
|
|
||||||
openDropdown();
|
|
||||||
});
|
|
||||||
} else openDropdown();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
</script>{% block ADD_TO_HEAD %}{% endblock %}
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body{% block Add_Body_Attribute %}{% endblock %}>
|
<body{% block Add_Body_Attribute %}{% endblock %}>
|
||||||
|
|||||||
45
public/static/js/auth.js
Normal file
45
public/static/js/auth.js
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/**
|
||||||
|
* Модуль авторизации: управление dropdown меню логина/логаута
|
||||||
|
* Открывает/закрывает меню авторизации с загрузкой контента по AJAX
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Открывает или закрывает dropdown меню логина/логаута
|
||||||
|
* При первом открытии загружает содержимое меню по AJAX
|
||||||
|
*
|
||||||
|
* @param {Event} event - объект события клика (опционально)
|
||||||
|
* @returns {boolean} false - для предотвращения перезагрузки страницы
|
||||||
|
*/
|
||||||
|
function openLoginLogout(event) {
|
||||||
|
// Предотвращаем переход по ссылке
|
||||||
|
if (event) event.preventDefault();
|
||||||
|
|
||||||
|
// Получаем контейнер меню авторизации
|
||||||
|
var $box = $('#login-logout');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Переключает видимость dropdown'а
|
||||||
|
* Сначала ищет Bootstrap toggle, если нет — вызывает click
|
||||||
|
*/
|
||||||
|
function openDropdown() {
|
||||||
|
var $toggle = $box.find('.dropdown-toggle').first();
|
||||||
|
if (!$toggle.length) return;
|
||||||
|
if (typeof $toggle.dropdown === 'function')
|
||||||
|
$toggle.dropdown('toggle');
|
||||||
|
else
|
||||||
|
$toggle.trigger('click');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Если контент ещё не загружен, загружаем его по AJAX
|
||||||
|
if (!$box.data('loginLoaded')) {
|
||||||
|
$box.load('/login-logout', function () {
|
||||||
|
$box.data('loginLoaded', true);
|
||||||
|
openDropdown();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// Если уже загружен, просто переключаем видимость
|
||||||
|
openDropdown();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user