Библиотека утилит для Angular | ng-hub-ui-utils

Библиотека утилит для Angular с pipe, управлением фокусом, оверлеями, переходами и хелперами перевода, общими для переиспользуемых UI-компонентов.

Справочник API

Вот полный контракт utils: всё, что можно привязать, прослушать, спроецировать и тематизировать, собрано в одном месте. Подключите то, что нужно, и оформите так, как хотите — это standalone и дружит с сигналами.

Входные свойства

Настройте utils с помощью 5 входных свойств. Привязывайте их, как любой @Input в Angular.

ИмяТипПо умолчаниюОписание
HubTranslationServiceService-Injectable service для управления переводами. Методы: getTranslation(), setTranslations()
HubOverlayServiceService-Service для программного создания и управления overlays
HubPopupServiceService-Упрощённый service для создания popup-элементов
HubTooltipDirectiveDirective-Директива ([hubTooltip]), показывающая позиционируемую и тематизируемую подсказку при наведении или фокусе. Входы: hubTooltip (текст), hubTooltipPlacement, hubTooltipDelay, hubTooltipOffset. Префиксы позволяют ей делить элемент с директивами, объявляющими собственный placement, например [hubDropdown].
TooltipDirective (deprecated)Directive-Устарела в пользу [hubTooltip]. Её входы без префикса (tooltip, placement, delay, offset) забирает любая другая директива или компонент на элементе, объявляющие те же имена. Продолжает работать без изменений; миграция — атрибут за атрибутом.

События

Реагируйте на то, что делает utils, — 7 событий, к которым можно подключить вашу логику.

ИмяТипОписание
TranslatePipePipeПереводит ключ с помощью HubTranslationService. Использование: {{ "key" | translate }}
GetPipePipeПолучает значение вложенного свойства. Использование: {{ object | get:"path.to.property" }}
IsStringPipePipeПроверяет, является ли значение строкой. Использование: {{ value | isString }}
IsObjectPipePipeПроверяет, является ли значение объектом. Использование: {{ value | isObject }}
IsObservablePipePipeПроверяет, является ли значение Observable. Использование: {{ value | isObservable }}
UcfirstPipePipeДелает первую букву заглавной. Использование: {{ "hello" | ucfirst }} → "Hello"
UnwrapAsyncPipePipeРазворачивает значения Observable или Promise в шаблонах

Шаблоны

Сделайте его своим — 4 слотов шаблона позволяют проецировать собственную разметку.

ИмяОписаниеПример
hubFocusTrap()Удерживает фокус клавиатуры внутри элемента. Полезно для modals и диалогов.hubFocusTrap(zone, element, stopFocusTrap$, refocusOnClick)
interpolateString()Заменяет {{ placeholders }} значениями из объектаinterpolateString("Hello {{name}}", { name: "World" }) → "Hello World"
getValue()Получает вложенное свойство с использованием точечной нотацииgetValue(obj, "user.profile.name")
equals()Глубокое сравнение на равенство для объектов и массивовequals({ a: 1 }, { a: 1 }) → true