Ключ партиции пользователя
Доступно в ближайшем выпуске 8.2.x — следите за заметками к выпуску.
Библиотеки Q.Palette хранят часть состояния пользователя на стороне браузера — в localStorage:
история недавних значений q-search-box (настройка showRecentValues), состояние таблиц и другое.
Чтобы на общем рабочем месте (операционный зал, смена операторов) следующий пользователь не видел
выбор предыдущего, записи разделяются по партиции пользователя — идентификатору, который
включается в ключ записи.
Ключ партиции библиотеки получают через токен Q_USER_PARTITION_KEY из @diasoft/qpalette-core.
Это функция, а не строка: ключ вычисляется при каждом обращении к хранилищу, поэтому вход
в систему без перезагрузки страницы уводит последующие записи в партицию вошедшего.
Из коробки
При использовании авторизации Q.Palette ничего настраивать не нужно: provideQAuth
привязывает токен к логину вошедшего (QAuthService.getUserPartitionKey) — тот же ключ,
что использует остальное пользовательское состояние платформы (вкладки, состояние таблиц).
Для невошедших пользователей и приложений без авторизации записи идут в общую партицию
unauthenticated (Q_USER_PARTITION_DEFAULT).
Собственная авторизация продукта
Если продукт не использует авторизацию Q.Palette, партию можно задать самим, предоставив провайдер токена:
import {Q_USER_PARTITION_KEY} from '@diasoft/qpalette-core';
export const appProviders = [
// ленивая функция: ключ вычисляется при каждом обращении к хранилищу
{ provide: Q_USER_PARTITION_KEY, useValue: () => currentSession.userLogin },
];Без провайдера библиотеки используют общую партицию — записи пользователей не разделяются, но всё продолжает работать.