View-based табы
Каждый таб — самостоятельный View; navbar.getTabViewName резолвит класс по clientDefs.{scope}.navbarItem.
Динамический navbar с контекстными меню, multi-badge, inline-фильтрами и глобальным event bus.
Каждый таб — самостоятельный View; navbar.getTabViewName резолвит класс по clientDefs.{scope}.navbarItem.
Статистика, recent items и quick actions в popup рядом с табом; глобальный event закрывает остальные.
queries[] с Promise.all и refresh.interval; формат '5/12'; клик → переход к списку с where-фильтром.
context-nav-item после Home; filters-context-view + record/search двусторонне синхронизируются через navBarEventBus.
showContextView, applySearchFilter, updateContextFilters + опционально todo:status-changed — единая шина.
navbarItem.contextMenu: queries, recent, statistics, quickActions, refresh — без правки JavaScript.
Глобальный list handler преобразует params.where из URL в collection.where + searchManager.setAdvanced().
Модуль BPM2B Navbar расширяет стандартную панель навигации платформы BPM2B: каждый таб становится самостоятельным View с собственным lifecycle и polling, рядом с табом появляется hover-popup со статистикой и недавними записями, мульти-бейдж показывает несколько счётчиков сразу, а боковая inline-панель фильтров двусторонне синхронизируется с обычным поиском по списку.
navbar.getTabViewName() резолвит класс через clientDefs.{scope}.navbarItem.view → contextMenu.enabled? → дефолтный nav-item.mouseleave; глобальный event navbar:context-menu-opening закрывает остальные popup-ы.refresh.interval запускает setInterval; массив queries[] с where-условиями выполняется Promise.all — на бейдже отображается «5/12» (несколько счётчиков сразу); клик по бейджу → переход к списку с готовым where-фильтром.context-nav-item вставляется после Home и слушает showContextView; filters-context-view рисует bool- и preset-фильтры; click → applySearchFilter → стандартный поиск применяет; и наоборот — search триггерит updateContextFilters, панель перерисовывается.Espo.navBarEventBus: 4 события — showContextView, applySearchFilter, updateContextFilters, опциональное todo:status-changed от bpm2bTodo; единая шина для координации между навигацией, списками и панелями.navbarItem.contextMenu описывает queries, recent (count / fields / orderBy / where), statistics (filters per field), quickActions, refresh — без правки JavaScript.params.where из URL → преобразует в collection.where + searchManager.setAdvanced(); ссылки из popup открывают список с уже применённым фильтром.Модуль предназначен для проектов с активной работой в списках: продажи, поддержка, логистика. Зависит от bpm2bNavbarViews ≥ 2.0.0 (базовый view навигации); опционально интегрируется с bpm2bTodo (событие todo:status-changed).
Покажем работу системы на ваших данных за 30 минут. Расскажем, как окупится в вашей отрасли, и подберём конфигурацию под ваши процессы.