@cloud-ru/paas-api
v1.3.1
Published
Package for api used by external PaaS services
Downloads
104
Readme
@cloud-ru/paas-api
Пакет для работы с API в микрофронтах PaaS провайдера
Для работы с API используйте функцию getCloudRuApi:
const cloudRuApi = getCloudRuApi();
cloudRuApi.language.subscribe(language => {
// ...
});Также возможно задать свой тип для языков, например:
import { Languages } from '@cloud-ru/ft-config-i18n';
const cloudRuApi = getCloudRuApi<Languages>();Доступные методы
cloudRuApi.language: BehaviorSubject<TLang>
Хранилище для языка, можно совершить подписку на него, чтобы получать актуальное значение.
Пример кода для подписки, после выполнения которого в переменной lang будет находиться выбранный язык
const [lang, setLang] = useState<Languages>();
cloudRuApi.language.subscribe(setLang);cloudRuApi.getBasePath: (appName: string) => string | undefined
Метод вернёт путь, с которого будет грузиться бандл и остальная статика для приложения appName.
Имя приложения обычно совпадает с полем name в package.json.
cloudRuApi.getCustomer: BehaviorSubjectWrapper<PublicApiCustomer>
Возвращает функцию, которая возвращает актуальные данные о клиенте (PublicApiCustomer).
Если данные ещё не загружены, результатом будет undefined.
cloudRuApi.getUser: BehaviorSubjectWrapper<PublicApiUser>
Возвращает функцию, которая возвращает актуальную информацию о пользователе (PublicApiUser).
Если пользователь ещё не определён, результатом будет undefined.
cloudRuApi.getProjectId: BehaviorSubjectWrapper<string>
Возвращает функцию для получения текущего идентификатора проекта.
Если проект не выбран, результатом будет undefined.
cloudRuApi.getRouterPath: (appName: string) => string | undefined
Метод вернёт ссылку, перейдя на которую в браузере, можно попасть на развёрнутое приложение appName.
Имя приложения обычно совпадает с полем name в package.json.
cloudRuApi.createRestClientInstance: (props: { baseURL: string }) => IRestClient
С помощью этого метода можно создавать инстанс RestClient-a. А с помощью этого инстанса можно обращаться с запросами к бэкенду.
cloudRuApi.notify
Объект для управления нотификациями внутри системы
cloudRuApi.notify.success: (options: { title: string; description: string }) => Promise<ToasterId>
Показывает уведомление с типом "успех". Возвращает промис, который резолвится с идентификатором тоста (ToasterId).
Используйте для уведомлений о завершении операции без ошибок.
cloudRuApi.notify.neutral: (options: { title: string; description: string }) => Promise<ToasterId>
Показывает уведомление с нейтральным типом (информационное сообщение). Возвращает промис с ToasterId.
Используйте для менее важных информационных сообщений.
cloudRuApi.notify.warning: (options: { title: string; description: string }) => Promise<ToasterId>
Показывает уведомление с типом "предупреждение". Возвращает промис с ToasterId.
Используйте для отображения ситуаций, которые требуют внимания пользователя, но не являются ошибками.
cloudRuApi.notify.error: (options: { title: string; description: string }) => Promise<ToasterId>
Показывает уведомление с типом "ошибка". Возвращает промис с ToasterId.
Используйте для отображения ошибок, которые требуют явно обратить внимание пользователя.
cloudRuApi.notify.dismiss: (id?: ToasterId) => void
Скрывает уведомление по указанному идентификатору id.
Используйте, если нужно программно убрать уведомление до окончания его времени жизни.
ToasterId: идентификатор тоста (строка или число)
PromisedId: Promise с идентификатором тоста (ToasterId)
cloudRuApi.breadcrumbs
Объект для управления хлебными крошками в микрофронтах.
cloudRuApi.breadcrumbs.fill: (items?: BreadcrumbItem[]) => void
Полностью заменяет текущий список хлебных крошек. Можно передать массив BreadcrumbItem или вызвать без аргументов, чтобы очистить цепочку.
cloudRuApi.breadcrumbs.replaceItems: (updatedItems: BreadcrumbItem[]) => void
Позволяет заменить существующие элементы, не очищая хлебные крошки целиком. Каждый BreadcrumbItem включает id, label, опциональные href, shortLabel, onClick и icon.
