@kuzntsv/uikit 1.0.15 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -560,13 +560,25 @@ class BaseNavBarMenuClass {
560
560
  roleService = inject(RoleService);
561
561
  router = inject(Router);
562
562
  /**
563
- * Определяет видимость пункта меню.
564
- * По умолчанию пункт меню ВИДИМ. Скрывается, если у пользователя есть запрещенная роль
565
- * или если передан маркер скрытия фичи HIDE_ROLE_MARKER.
563
+ * Определяет видимость пункта меню на основе ЧЕРНОГО списка ролей.
564
+ * По умолчанию пункт меню ВИДИМ. Скрывается (возвращает false), если у пользователя
565
+ * есть запрещенная роль или если передан маркер скрытия фичи HIDE_ROLE_MARKER.
566
566
  */
567
- isMenuVisible(forbiddenRoles) {
567
+ isMenuVisibleForForbiddenRoles(forbiddenRoles) {
568
+ // Если роль запрещена, метод roleService вернет true.
569
+ // Мы инвертируем (!), чтобы видимость (isMenuVisible) стала false.
568
570
  return !this.roleService.hasForbiddenRole(forbiddenRoles);
569
571
  }
572
+ /**
573
+ * Определяет видимость пункта меню на основе БЕЛОГО списка ролей.
574
+ * По умолчанию пункт меню СКРЫТ. Показывается (возвращает true), только если у пользователя
575
+ * есть хотя бы одна из разрешенных ролей. Администратор (ADMIN) всегда видит элемент.
576
+ */
577
+ isMenuVisibleForAllowedRoles(allowedRoles) {
578
+ // Проверяем, есть ли у пользователя хотя бы одна роль из разрешенного списка.
579
+ // (Предполагается, что у вашего roleService есть соответствующий метод, например, hasAnyRole)
580
+ return this.roleService.hasAnyRole(allowedRoles);
581
+ }
570
582
  /** Нажата средняя кнопка (открыть ссылку в новой вкладке). */
571
583
  onMiddleClick(event, baseUrl, menu) {
572
584
  // 1 - Auxiliary button pressed (usually the middle button)