Счетчики в личном кабинете на сайте
Есть некоторые сущности. К ним можно указать некоторые цифровые данные (счетчики).
Например, в проектах это может быть количество незакрытых задач. Для заказов - это количество новых сообщений.
Для реализации используем следующую разметку:
<div class="as-counter" data-code="lead" data-itemid="1"></div>
Также необходимо реализовать хранимую процедуру для каждого уникального кода counter_{code}_getValues
Пример процедуры:
CREATE PROCEDURE dbo.counter_lead_getValues
@username NVARCHAR(255) = NULL,
@itemIDs NVARCHAR(MAX) = NULL
AS
BEGIN
DECLARE @code NVARCHAR(255) = 'lead'
SELECT Value AS itemID INTO #itemIDs
FROM split(@itemIDs, ',')
WHERE (Value IS NOT NULL) AND (Value > '')
SELECT '' AS Msg, 1 AS Result
SELECT @code AS Code,
'success' AS Type,
it.itemID AS ItemID,
it.itemID AS Value
FROM #itemIDs AS it
END
На входе: текущий пользователь username и itemIDs - itemID через запятую.
На выходе: модель Code, Type (задает цвет badge - success, warning, info и т.д.), ItemID, Value (что выводится на badge).
Примечание:
1. Если где-то понадобится кастомно вызвать инициализацию счетчиков (например, появилась новая разметка на странице), то используем в JS-коллбеке
as.counter.initCounters(cont);
2. В правом меню также можно указать некоторые числовые значения напротив каждого пункта в меню, для этого смотри настройки GetLayout.