UNPKG

@itwin/presentation-frontend

Version:

Frontend of iModel.js Presentation library

60 lines 2.54 kB
/** @packageDocumentation * @module UnifiedSelection */ import { Id64Arg } from "@itwin/core-bentley"; import { IModelConnection } from "@itwin/core-frontend"; import { KeySet, RpcRequestsHandler, SelectionScope, SelectionScopeProps } from "@itwin/presentation-common"; /** * Properties for creating [[SelectionScopesManager]]. * @public */ export interface SelectionScopesManagerProps { /** RPC handler to use for requesting selection scopes */ rpcRequestsHandler: RpcRequestsHandler; /** Provider of active locale to use for localizing scopes */ localeProvider?: () => string | undefined; } /** * A manager that knows available [selection scopes]($docs/presentation/unified-selection/index#selection-scopes) * and can compute logical selection based on element IDs and selection scope. * * @public */ export declare class SelectionScopesManager { private _rpcRequestsHandler; private _getLocale; private _activeScope; constructor(props: SelectionScopesManagerProps); /** Get active locale */ get activeLocale(): string | undefined; /** The active selection scope or its id */ get activeScope(): SelectionScopeProps | SelectionScope | string | undefined; set activeScope(scope: SelectionScopeProps | SelectionScope | string | undefined); /** * Get available selection scopes. * @param imodel The iModel to get selection scopes for * @param locale Optional locale to use when localizing scopes' label and description */ getSelectionScopes(imodel: IModelConnection, locale?: string): Promise<SelectionScope[]>; /** * Computes keys that need to be added to logical selection based on provided selection scope. * @param ids Element IDs to compute selection for * @param scope Selection scope to apply */ computeSelection(imodel: IModelConnection, ids: Id64Arg, scope: SelectionScopeProps | SelectionScope | string): Promise<KeySet>; } /** * Normalizes given scope options and returns [[SelectionScopeProps]] that can be used for * calculating selection with scope. * * @public */ export declare function createSelectionScopeProps(scope: SelectionScopeProps | SelectionScope | string | undefined): SelectionScopeProps; /** * Determines the scope id * @param scope Selection scope * @public * @deprecated in 3.x. This is an internal utility that should've never become public. */ export declare function getScopeId(scope: SelectionScope | string | undefined): string; //# sourceMappingURL=SelectionScopesManager.d.ts.map