Files
ave-cms/adminx/modules/Dashboard/assets/dashboard.js
T
2026-07-27 12:58:44 +03:00

35 lines
1.2 KiB
JavaScript

/**
* JS раздела Dashboard. Подключается точечно (только на страницах модуля)
* через AdminAssets::addScript() из контроллера. Объявляет свой объект в
* неймспейсе Adminx (ТЗ §4).
*/
(function (window, document) {
'use strict';
var Adminx = window.Adminx || (window.Adminx = {});
Adminx.Dashboard = {
init: function () {
// Лёгкая анимация счётчиков stat-карточек.
var nodes = document.querySelectorAll('[data-count]');
nodes.forEach(function (node) {
var target = parseInt((node.textContent || '').replace(/\D/g, ''), 10);
if (!target || target < 1) { return; }
var start = 0;
var step = Math.max(1, Math.round(target / 24));
var timer = setInterval(function () {
start += step;
if (start >= target) { start = target; clearInterval(timer); }
node.textContent = start.toLocaleString('ru-RU');
}, 24);
});
}
};
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', Adminx.Dashboard.init);
} else {
Adminx.Dashboard.init();
}
})(window, document);