UNPKG

@itwin/presentation-frontend

Version:

Frontend of iModel.js Presentation library

111 lines 6.33 kB
/** @packageDocumentation * @module Core */ import { IConnectivityInformationProvider } from "../ConnectivityInformationProvider.js"; import { FavoritePropertiesOrderInfo, PropertyFullName } from "./FavoritePropertiesManager.js"; /** @internal */ export declare const IMODELJS_PRESENTATION_SETTING_NAMESPACE = "imodeljs.presentation"; /** @internal */ export declare const DEPRECATED_PROPERTIES_SETTING_NAMESPACE = "Properties"; /** @internal */ export declare const FAVORITE_PROPERTIES_SETTING_NAME = "FavoriteProperties"; /** @internal */ export declare const FAVORITE_PROPERTIES_ORDER_INFO_SETTING_NAME = "FavoritePropertiesOrderInfo"; /** * Stores user preferences for favorite properties. * @public */ export interface IFavoritePropertiesStorage { /** Load Favorite properties from user-specific settings. * @param iTwinId ITwin Id, if the settings is specific to a iTwin, otherwise undefined. * @param imodelId iModel Id, if the setting is specific to an iModel, otherwise undefined. The iTwinId must be specified if iModelId is specified. */ loadProperties(iTwinId?: string, imodelId?: string): Promise<Set<PropertyFullName> | undefined>; /** Saves Favorite properties to user-specific settings. * @param properties Favorite properties to save. * @param iTwinId iTwin Id, if the settings is specific to a iTwin, otherwise undefined. * @param iModelId iModel Id, if the setting is specific to an iModel, otherwise undefined. The iTwinId must be specified if iModelId is specified. */ saveProperties(properties: Set<PropertyFullName>, iTwinId?: string, imodelId?: string): Promise<void>; /** Load array of FavoritePropertiesOrderInfo from user-specific settings. * Setting is specific to an iModel. * @param iTwinId iTwin Id. * @param imodelId iModel Id. */ loadPropertiesOrder(iTwinId: string | undefined, imodelId: string): Promise<FavoritePropertiesOrderInfo[] | undefined>; /** Saves FavoritePropertiesOrderInfo array to user-specific settings. * Setting is specific to an iModel. * @param orderInfo Array of FavoritePropertiesOrderInfo to save. * @param iTwinId iTwin Id. * @param imodelId iModel Id. */ savePropertiesOrder(orderInfos: FavoritePropertiesOrderInfo[], iTwinId: string | undefined, imodelId: string): Promise<void>; } /** * Available implementations of [[IFavoritePropertiesStorage]]. * @public */ export declare enum DefaultFavoritePropertiesStorageTypes { /** A no-op storage that doesn't store or return anything. Used for cases when favorite properties aren't used by the application. */ Noop = 0, /** A storage that stores favorite properties information in a browser local storage. */ BrowserLocalStorage = 1, /** A storage that stores favorite properties in a user preferences storage (see [[IModelApp.userPreferences]]). */ UserPreferencesStorage = 2 } /** * A factory method to create one of the available [[IFavoritePropertiesStorage]] implementations. * @public */ export declare function createFavoritePropertiesStorage(type: DefaultFavoritePropertiesStorageTypes): IFavoritePropertiesStorage; /** * @internal */ export declare class IModelAppFavoritePropertiesStorage implements IFavoritePropertiesStorage { private ensureIsSignedIn; loadProperties(iTwinId?: string, imodelId?: string): Promise<Set<PropertyFullName> | undefined>; saveProperties(properties: Set<PropertyFullName>, iTwinId?: string, imodelId?: string): Promise<void>; loadPropertiesOrder(iTwinId: string | undefined, imodelId: string): Promise<FavoritePropertiesOrderInfo[] | undefined>; savePropertiesOrder(orderInfos: FavoritePropertiesOrderInfo[], iTwinId: string | undefined, imodelId: string): Promise<void>; } /** @internal */ export interface OfflineCachingFavoritePropertiesStorageProps { impl: IFavoritePropertiesStorage; connectivityInfo?: IConnectivityInformationProvider; } /** @internal */ export declare class OfflineCachingFavoritePropertiesStorage implements IFavoritePropertiesStorage, Disposable { private _connectivityInfo; private _impl; private _propertiesOfflineCache; private _propertiesOrderOfflineCache; constructor(props: OfflineCachingFavoritePropertiesStorageProps); [Symbol.dispose](): void; get impl(): IFavoritePropertiesStorage; private onConnectivityStatusChanged; loadProperties(iTwinId?: string, imodelId?: string): Promise<Set<string> | undefined>; saveProperties(properties: Set<PropertyFullName>, iTwinId?: string, imodelId?: string): Promise<void>; loadPropertiesOrder(iTwinId: string | undefined, imodelId: string): Promise<FavoritePropertiesOrderInfo[] | undefined>; savePropertiesOrder(orderInfos: FavoritePropertiesOrderInfo[], iTwinId: string | undefined, imodelId: string): Promise<void>; } /** @internal */ export declare class NoopFavoritePropertiesStorage implements IFavoritePropertiesStorage { loadProperties(_iTwinId?: string, _imodelId?: string): Promise<Set<PropertyFullName> | undefined>; saveProperties(_properties: Set<PropertyFullName>, _iTwinId?: string, _imodelId?: string): Promise<void>; loadPropertiesOrder(_iTwinId: string | undefined, _imodelId: string): Promise<FavoritePropertiesOrderInfo[] | undefined>; savePropertiesOrder(_orderInfos: FavoritePropertiesOrderInfo[], _iTwinId: string | undefined, _imodelId: string): Promise<void>; } /** @internal */ export declare class BrowserLocalFavoritePropertiesStorage implements IFavoritePropertiesStorage { private _localStorage; constructor(props?: { localStorage?: Storage; }); createFavoritesSettingItemKey(iTwinId?: string, imodelId?: string): string; createOrderSettingItemKey(iTwinId?: string, imodelId?: string): string; loadProperties(iTwinId?: string, imodelId?: string): Promise<Set<PropertyFullName> | undefined>; saveProperties(properties: Set<PropertyFullName>, iTwinId?: string, imodelId?: string): Promise<void>; loadPropertiesOrder(iTwinId: string | undefined, imodelId: string): Promise<FavoritePropertiesOrderInfo[] | undefined>; savePropertiesOrder(orderInfos: FavoritePropertiesOrderInfo[], iTwinId: string | undefined, imodelId: string): Promise<void>; } //# sourceMappingURL=FavoritePropertiesStorage.d.ts.map