@itwin/unified-selection
Advanced tools
Comparing version 1.0.1 to 1.1.0
# @itwin/unified-selection | ||
## 1.1.0 | ||
### Minor Changes | ||
- [#740](https://github.com/iTwin/presentation/pull/740): Define `type` and `exports` attributes in `package.json`. | ||
The change moves this package a step closer towards dropping CommonJS support - it's now transpiled from ESM to CommonJS instead of the opposite. | ||
In addition, the `exports` attribute has been added to `package.json` to prohibit access to APIs that are not intended to be used by external consumers. | ||
### Patch Changes | ||
- [#758](https://github.com/iTwin/presentation/pull/758): Promote `@beta` APIs to `@public`. | ||
- Updated dependencies: | ||
- @itwin/presentation-shared@1.1.0 | ||
## 1.0.1 | ||
@@ -4,0 +20,0 @@ |
@@ -1,8 +0,8 @@ | ||
export * from "./unified-selection/Selectable"; | ||
export { SelectionStorage, createStorage } from "./unified-selection/SelectionStorage"; | ||
export { createHiliteSetProvider, HiliteSet, HiliteSetProvider } from "./unified-selection/HiliteSetProvider"; | ||
export { createCachingHiliteSetProvider, CachingHiliteSetProvider } from "./unified-selection/CachingHiliteSetProvider"; | ||
export { computeSelection } from "./unified-selection/SelectionScope"; | ||
export { enableUnifiedSelectionSyncWithIModel } from "./unified-selection/EnableUnifiedSelectionSyncWithIModel"; | ||
export { StorageSelectionChangeType, StorageSelectionChangeEventArgs, StorageSelectionChangesListener } from "./unified-selection/SelectionChangeEvent"; | ||
export * from "./unified-selection/Selectable.js"; | ||
export { SelectionStorage, createStorage } from "./unified-selection/SelectionStorage.js"; | ||
export { createHiliteSetProvider, HiliteSet, HiliteSetProvider } from "./unified-selection/HiliteSetProvider.js"; | ||
export { createCachingHiliteSetProvider, CachingHiliteSetProvider } from "./unified-selection/CachingHiliteSetProvider.js"; | ||
export { computeSelection } from "./unified-selection/SelectionScope.js"; | ||
export { enableUnifiedSelectionSyncWithIModel } from "./unified-selection/EnableUnifiedSelectionSyncWithIModel.js"; | ||
export { StorageSelectionChangeType, StorageSelectionChangeEventArgs, StorageSelectionChangesListener } from "./unified-selection/SelectionChangeEvent.js"; | ||
//# sourceMappingURL=unified-selection.d.ts.map |
@@ -22,13 +22,13 @@ "use strict"; | ||
exports.enableUnifiedSelectionSyncWithIModel = exports.computeSelection = exports.createCachingHiliteSetProvider = exports.createHiliteSetProvider = exports.createStorage = void 0; | ||
__exportStar(require("./unified-selection/Selectable"), exports); | ||
var SelectionStorage_1 = require("./unified-selection/SelectionStorage"); | ||
Object.defineProperty(exports, "createStorage", { enumerable: true, get: function () { return SelectionStorage_1.createStorage; } }); | ||
var HiliteSetProvider_1 = require("./unified-selection/HiliteSetProvider"); | ||
Object.defineProperty(exports, "createHiliteSetProvider", { enumerable: true, get: function () { return HiliteSetProvider_1.createHiliteSetProvider; } }); | ||
var CachingHiliteSetProvider_1 = require("./unified-selection/CachingHiliteSetProvider"); | ||
Object.defineProperty(exports, "createCachingHiliteSetProvider", { enumerable: true, get: function () { return CachingHiliteSetProvider_1.createCachingHiliteSetProvider; } }); | ||
var SelectionScope_1 = require("./unified-selection/SelectionScope"); | ||
Object.defineProperty(exports, "computeSelection", { enumerable: true, get: function () { return SelectionScope_1.computeSelection; } }); | ||
var EnableUnifiedSelectionSyncWithIModel_1 = require("./unified-selection/EnableUnifiedSelectionSyncWithIModel"); | ||
Object.defineProperty(exports, "enableUnifiedSelectionSyncWithIModel", { enumerable: true, get: function () { return EnableUnifiedSelectionSyncWithIModel_1.enableUnifiedSelectionSyncWithIModel; } }); | ||
__exportStar(require("./unified-selection/Selectable.js"), exports); | ||
var SelectionStorage_js_1 = require("./unified-selection/SelectionStorage.js"); | ||
Object.defineProperty(exports, "createStorage", { enumerable: true, get: function () { return SelectionStorage_js_1.createStorage; } }); | ||
var HiliteSetProvider_js_1 = require("./unified-selection/HiliteSetProvider.js"); | ||
Object.defineProperty(exports, "createHiliteSetProvider", { enumerable: true, get: function () { return HiliteSetProvider_js_1.createHiliteSetProvider; } }); | ||
var CachingHiliteSetProvider_js_1 = require("./unified-selection/CachingHiliteSetProvider.js"); | ||
Object.defineProperty(exports, "createCachingHiliteSetProvider", { enumerable: true, get: function () { return CachingHiliteSetProvider_js_1.createCachingHiliteSetProvider; } }); | ||
var SelectionScope_js_1 = require("./unified-selection/SelectionScope.js"); | ||
Object.defineProperty(exports, "computeSelection", { enumerable: true, get: function () { return SelectionScope_js_1.computeSelection; } }); | ||
var EnableUnifiedSelectionSyncWithIModel_js_1 = require("./unified-selection/EnableUnifiedSelectionSyncWithIModel.js"); | ||
Object.defineProperty(exports, "enableUnifiedSelectionSyncWithIModel", { enumerable: true, get: function () { return EnableUnifiedSelectionSyncWithIModel_js_1.enableUnifiedSelectionSyncWithIModel; } }); | ||
//# sourceMappingURL=unified-selection.js.map |
import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared"; | ||
import { HiliteSet } from "./HiliteSetProvider"; | ||
import { SelectionStorage } from "./SelectionStorage"; | ||
import { HiliteSet } from "./HiliteSetProvider.js"; | ||
import { SelectionStorage } from "./SelectionStorage.js"; | ||
/** | ||
* Props for creating a `CachingHiliteSetProvider` instance. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -21,3 +21,3 @@ export interface CachingHiliteSetProviderProps { | ||
* @see `createCachingHiliteSetProvider` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -36,5 +36,5 @@ export interface CachingHiliteSetProvider { | ||
* hilite set requests for the same iModel don't cost until selection in given selection storage changes. | ||
* @beta | ||
* @public | ||
*/ | ||
export declare function createCachingHiliteSetProvider(props: CachingHiliteSetProviderProps): CachingHiliteSetProvider; | ||
//# sourceMappingURL=CachingHiliteSetProvider.d.ts.map |
@@ -10,8 +10,8 @@ "use strict"; | ||
const rxjs_for_await_1 = require("rxjs-for-await"); | ||
const HiliteSetProvider_1 = require("./HiliteSetProvider"); | ||
const SelectionStorage_1 = require("./SelectionStorage"); | ||
const HiliteSetProvider_js_1 = require("./HiliteSetProvider.js"); | ||
const SelectionStorage_js_1 = require("./SelectionStorage.js"); | ||
/** | ||
* Creates a hilite set provider that caches hilite set for current selection for given iModel so any subsequent | ||
* hilite set requests for the same iModel don't cost until selection in given selection storage changes. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -32,3 +32,3 @@ function createCachingHiliteSetProvider(props) { | ||
this._cache.delete(args.imodelKey); | ||
if (args.changeType === "clear" && args.source === SelectionStorage_1.IMODEL_CLOSE_SELECTION_CLEAR_SOURCE) { | ||
if (args.changeType === "clear" && args.source === SelectionStorage_js_1.IMODEL_CLOSE_SELECTION_CLEAR_SOURCE) { | ||
this._hiliteSetProviders.delete(args.imodelKey); | ||
@@ -57,3 +57,3 @@ } | ||
if (!provider) { | ||
provider = (0, HiliteSetProvider_1.createHiliteSetProvider)({ imodelAccess }); | ||
provider = (0, HiliteSetProvider_js_1.createHiliteSetProvider)({ imodelAccess }); | ||
this._hiliteSetProviders.set(imodelKey, provider); | ||
@@ -60,0 +60,0 @@ } |
import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared"; | ||
import { CachingHiliteSetProvider } from "./CachingHiliteSetProvider"; | ||
import { ComputeSelectionProps } from "./SelectionScope"; | ||
import { SelectionStorage } from "./SelectionStorage"; | ||
import { CoreIModelHiliteSet, CoreIModelSelectionSet } from "./types/IModel"; | ||
import { CachingHiliteSetProvider } from "./CachingHiliteSetProvider.js"; | ||
import { ComputeSelectionProps } from "./SelectionScope.js"; | ||
import { SelectionStorage } from "./SelectionStorage.js"; | ||
import { CoreIModelHiliteSet, CoreIModelSelectionSet } from "./types/IModel.js"; | ||
/** | ||
* Props for `enableUnifiedSelectionSyncWithIModel`. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -55,3 +55,3 @@ export interface EnableUnifiedSelectionSyncWithIModelProps { | ||
* @returns function for disposing the synchronization. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -58,0 +58,0 @@ export declare function enableUnifiedSelectionSyncWithIModel(props: EnableUnifiedSelectionSyncWithIModelProps): () => void; |
@@ -11,10 +11,10 @@ "use strict"; | ||
const core_bentley_1 = require("@itwin/core-bentley"); | ||
const CachingHiliteSetProvider_1 = require("./CachingHiliteSetProvider"); | ||
const HiliteSetProvider_1 = require("./HiliteSetProvider"); | ||
const SelectionScope_1 = require("./SelectionScope"); | ||
const IModel_1 = require("./types/IModel"); | ||
const CachingHiliteSetProvider_js_1 = require("./CachingHiliteSetProvider.js"); | ||
const HiliteSetProvider_js_1 = require("./HiliteSetProvider.js"); | ||
const SelectionScope_js_1 = require("./SelectionScope.js"); | ||
const IModel_js_1 = require("./types/IModel.js"); | ||
/** | ||
* Enables synchronization between iModel selection and unified selection. | ||
* @returns function for disposing the synchronization. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -50,7 +50,7 @@ function enableUnifiedSelectionSyncWithIModel(props) { | ||
props.cachingHiliteSetProvider ?? | ||
(0, CachingHiliteSetProvider_1.createCachingHiliteSetProvider)({ | ||
(0, CachingHiliteSetProvider_js_1.createCachingHiliteSetProvider)({ | ||
selectionStorage: this._selectionStorage, | ||
imodelProvider: () => this._imodelAccess, | ||
}); | ||
this._hiliteSetProvider = (0, HiliteSetProvider_1.createHiliteSetProvider)({ imodelAccess: this._imodelAccess }); | ||
this._hiliteSetProvider = (0, HiliteSetProvider_js_1.createHiliteSetProvider)({ imodelAccess: this._imodelAccess }); | ||
this._imodelListenerDisposeFunc = this._imodelAccess.selectionSet.onChanged.addListener(this.onIModelSelectionChanged); | ||
@@ -163,3 +163,3 @@ this._unifiedSelectionListenerDisposeFunc = this._selectionStorage.selectionChangeEvent.addListener(this.onUnifiedSelectionChanged); | ||
} | ||
if (IModel_1.CoreSelectionSetEventType.Clear === event.type) { | ||
if (IModel_js_1.CoreSelectionSetEventType.Clear === event.type) { | ||
this._selectionStorage.clearSelection({ imodelKey: this._imodelAccess.key, source: this._selectionSourceName }); | ||
@@ -169,3 +169,3 @@ return; | ||
const elementIds = this.getSelectionSetChangeIds(event); | ||
const scopedSelection = (0, SelectionScope_1.computeSelection)({ queryExecutor: this._imodelAccess, elementIds, scope: this._activeScopeProvider() }); | ||
const scopedSelection = (0, SelectionScope_js_1.computeSelection)({ queryExecutor: this._imodelAccess, elementIds, scope: this._activeScopeProvider() }); | ||
await this.handleIModelSelectionChange(event.type, scopedSelection); | ||
@@ -184,7 +184,7 @@ }; | ||
switch (type) { | ||
case IModel_1.CoreSelectionSetEventType.Add: | ||
case IModel_js_1.CoreSelectionSetEventType.Add: | ||
return this._selectionStorage.addToSelection(props); | ||
case IModel_1.CoreSelectionSetEventType.Remove: | ||
case IModel_js_1.CoreSelectionSetEventType.Remove: | ||
return this._selectionStorage.removeFromSelection(props); | ||
case IModel_1.CoreSelectionSetEventType.Replace: | ||
case IModel_js_1.CoreSelectionSetEventType.Replace: | ||
return this._selectionStorage.replaceSelection(props); | ||
@@ -195,4 +195,4 @@ } | ||
switch (event.type) { | ||
case IModel_1.CoreSelectionSetEventType.Add: | ||
case IModel_1.CoreSelectionSetEventType.Replace: | ||
case IModel_js_1.CoreSelectionSetEventType.Add: | ||
case IModel_js_1.CoreSelectionSetEventType.Replace: | ||
(0, core_bentley_1.assert)(!!event.added); | ||
@@ -199,0 +199,0 @@ return this.idArgToIds(event.added); |
import { Id64String } from "@itwin/core-bentley"; | ||
import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared"; | ||
import { Selectables } from "./Selectable"; | ||
import { Selectables } from "./Selectable.js"; | ||
/** | ||
@@ -13,3 +13,3 @@ * A set of model, subcategory and element ids that can be used for specifying hilite. | ||
* @see `createHiliteSetProvider` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -23,3 +23,3 @@ export interface HiliteSet { | ||
* Props for creating a `HiliteSetProvider` instance. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -37,3 +37,3 @@ export interface HiliteSetProviderProps { | ||
* @see `createHiliteSetProvider` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -48,5 +48,5 @@ export interface HiliteSetProvider { | ||
* Creates a hilite set provider that returns a `HiliteSet` for given selectables. | ||
* @beta | ||
* @public | ||
*/ | ||
export declare function createHiliteSetProvider(props: HiliteSetProviderProps): HiliteSetProvider; | ||
//# sourceMappingURL=HiliteSetProvider.d.ts.map |
@@ -11,7 +11,7 @@ "use strict"; | ||
const presentation_shared_1 = require("@itwin/presentation-shared"); | ||
const Utils_1 = require("./Utils"); | ||
const Utils_js_1 = require("./Utils.js"); | ||
const HILITE_SET_EMIT_FREQUENCY = 20; | ||
/** | ||
* Creates a hilite set provider that returns a `HiliteSet` for given selectables. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -120,3 +120,3 @@ function createHiliteSetProvider(props) { | ||
getInstancesByType(selectables) { | ||
const keyTypeObs = (0, rxjs_1.merge)((0, rxjs_1.from)(selectables.custom.values()).pipe((0, rxjs_1.mergeMap)((selectable) => selectable.loadInstanceKeys())), (0, rxjs_1.from)(selectables.instanceKeys).pipe((0, rxjs_1.mergeMap)(([className, idSet]) => (0, rxjs_1.from)(idSet).pipe((0, rxjs_1.map)((id) => ({ className, id })))))).pipe((0, Utils_1.releaseMainThreadOnItemsCount)(500), | ||
const keyTypeObs = (0, rxjs_1.merge)((0, rxjs_1.from)(selectables.custom.values()).pipe((0, rxjs_1.mergeMap)((selectable) => selectable.loadInstanceKeys())), (0, rxjs_1.from)(selectables.instanceKeys).pipe((0, rxjs_1.mergeMap)(([className, idSet]) => (0, rxjs_1.from)(idSet).pipe((0, rxjs_1.map)((id) => ({ className, id })))))).pipe((0, Utils_js_1.releaseMainThreadOnItemsCount)(500), | ||
// Get types for each instance key | ||
@@ -145,3 +145,3 @@ (0, rxjs_1.mergeMap)((instanceKey) => (0, rxjs_1.from)(this.getType(instanceKey)).pipe((0, rxjs_1.map)((instanceIdType) => ({ instanceId: instanceKey.id, instanceIdType })))), | ||
FROM BisCore.Subject | ||
WHERE ${(0, Utils_1.formIdBindings)("ECInstanceId", subjectKeys, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ECInstanceId", subjectKeys, bindings)} | ||
UNION ALL | ||
@@ -157,3 +157,3 @@ SELECT r.ECInstanceId, r.JsonProperties | ||
FROM BisCore.Model s | ||
WHERE ${(0, Utils_1.formIdBindings)("ECInstanceId", modelKeys, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ECInstanceId", modelKeys, bindings)} | ||
) | ||
@@ -190,3 +190,3 @@ `, | ||
JOIN BisCore.SubCategory r ON r.Parent.Id = s.ECInstanceId | ||
WHERE ${(0, Utils_1.formIdBindings)("s.ECInstanceId", categoryKeys, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("s.ECInstanceId", categoryKeys, bindings)} | ||
) | ||
@@ -198,3 +198,3 @@ `, | ||
FROM BisCore.SubCategory s | ||
WHERE ${(0, Utils_1.formIdBindings)("s.ECInstanceId", subCategoryKeys, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("s.ECInstanceId", subCategoryKeys, bindings)} | ||
) | ||
@@ -225,3 +225,3 @@ `, | ||
FROM BisCore.ElementGroupsMembers | ||
WHERE ${(0, Utils_1.formIdBindings)("SourceECInstanceId", groupInformationElementKeys, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("SourceECInstanceId", groupInformationElementKeys, bindings)} | ||
) | ||
@@ -242,3 +242,3 @@ `, | ||
FROM BisCore.Element | ||
WHERE ${(0, Utils_1.formIdBindings)("ECInstanceId", elementKeys, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ECInstanceId", elementKeys, bindings)} | ||
UNION ALL | ||
@@ -254,3 +254,3 @@ SELECT r.ECInstanceId, r.ECClassId | ||
FROM BisCore.GeometricElement | ||
WHERE ${(0, Utils_1.formIdBindings)("ECInstanceId", geometricElementKeys, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ECInstanceId", geometricElementKeys, bindings)} | ||
UNION ALL | ||
@@ -278,3 +278,3 @@ SELECT r.ECInstanceId, r.ECClassId | ||
FROM Functional.FunctionalElement | ||
WHERE ${(0, Utils_1.formIdBindings)("ECInstanceId", functionalElements, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ECInstanceId", functionalElements, bindings)} | ||
UNION ALL | ||
@@ -353,4 +353,4 @@ SELECT r.ECInstanceId, r.ECClassId | ||
async function* executeQuery(queryExecutor, query) { | ||
yield* (0, Utils_1.genericExecuteQuery)(queryExecutor, query, (row) => row.ECInstanceId); | ||
yield* (0, Utils_js_1.genericExecuteQuery)(queryExecutor, query, (row) => row.ECInstanceId); | ||
} | ||
//# sourceMappingURL=HiliteSetProvider.js.map |
import { Id64String } from "@itwin/core-bentley"; | ||
/** | ||
* ECInstance selectable | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -21,3 +21,3 @@ export interface SelectableInstanceKey { | ||
* | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -34,3 +34,3 @@ export interface CustomSelectable { | ||
* A single selectable that identifies something that can be selected in an iTwin.js application. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -40,6 +40,6 @@ export type Selectable = SelectableInstanceKey | CustomSelectable; | ||
* A type of identifier that can be used to identify a selectable in selection storage. | ||
* @beta | ||
* @public | ||
*/ | ||
export type SelectableIdentifier = SelectableInstanceKey | Pick<CustomSelectable, "identifier">; | ||
/** @beta */ | ||
/** @public */ | ||
export declare namespace Selectable { | ||
@@ -53,3 +53,3 @@ /** Check if the supplied selectable is a `SelectableInstanceKey` */ | ||
* A collection of selectables that identify something that can be selected in an iTwin.js application | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -66,3 +66,3 @@ export interface Selectables { | ||
} | ||
/** @beta */ | ||
/** @public */ | ||
export declare namespace Selectables { | ||
@@ -72,3 +72,3 @@ /** | ||
* @param source Source to create selectables from | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -79,3 +79,3 @@ function create(source: Selectable[]): Selectables; | ||
* @param selectables `Selectables` object to get size for | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -86,3 +86,3 @@ function size(selectables: Selectables): number; | ||
* @param selectables `Selectables` object to check | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -94,3 +94,3 @@ function isEmpty(selectables: Selectables): boolean; | ||
* @param value The selectable to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -102,3 +102,3 @@ function has(selectables: Selectables, value: SelectableIdentifier): boolean; | ||
* @param values The selectables to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -110,3 +110,3 @@ function hasAll(selectables: Selectables, values: SelectableIdentifier[]): boolean; | ||
* @param values The selectables to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -118,3 +118,3 @@ function hasAny(selectables: Selectables, values: SelectableIdentifier[]): boolean; | ||
* @param values Selectables to add. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -126,3 +126,3 @@ function add(selectables: Selectables, values: Selectable[]): boolean; | ||
* @param values Selectables to remove. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -133,3 +133,3 @@ function remove(selectables: Selectables, values: Selectable[]): boolean; | ||
* @param selectables `Selectables` object to clear selectables for | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -140,3 +140,3 @@ function clear(selectables: Selectables): boolean; | ||
* @param selectables `Selectables` object to check | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -147,3 +147,3 @@ function some(selectables: Selectables, callback: (selectable: Selectable) => boolean): boolean; | ||
* @param selectables `Selectables` object to iterate over | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -150,0 +150,0 @@ function forEach(selectables: Selectables, callback: (selectable: Selectable, index: number) => void): void; |
@@ -9,3 +9,3 @@ "use strict"; | ||
const presentation_shared_1 = require("@itwin/presentation-shared"); | ||
/** @beta */ | ||
/** @public */ | ||
// eslint-disable-next-line @typescript-eslint/no-redeclare | ||
@@ -26,4 +26,3 @@ var Selectable; | ||
})(Selectable || (exports.Selectable = Selectable = {})); | ||
/** @beta */ | ||
// eslint-disable-next-line @typescript-eslint/no-redeclare | ||
/** @public */ | ||
var Selectables; | ||
@@ -34,3 +33,3 @@ (function (Selectables) { | ||
* @param source Source to create selectables from | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -49,3 +48,3 @@ function create(source) { | ||
* @param selectables `Selectables` object to get size for | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -61,3 +60,3 @@ function size(selectables) { | ||
* @param selectables `Selectables` object to check | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -72,3 +71,3 @@ function isEmpty(selectables) { | ||
* @param value The selectable to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -88,3 +87,3 @@ function has(selectables, value) { | ||
* @param values The selectables to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -107,3 +106,3 @@ function hasAll(selectables, values) { | ||
* @param values The selectables to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -123,3 +122,3 @@ function hasAny(selectables, values) { | ||
* @param values Selectables to add. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -153,3 +152,3 @@ function add(selectables, values) { | ||
* @param values Selectables to remove. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -181,3 +180,3 @@ function remove(selectables, values) { | ||
* @param selectables `Selectables` object to clear selectables for | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -196,3 +195,3 @@ function clear(selectables) { | ||
* @param selectables `Selectables` object to check | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -218,3 +217,3 @@ function some(selectables, callback) { | ||
* @param selectables `Selectables` object to iterate over | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -221,0 +220,0 @@ function forEach(selectables, callback) { |
@@ -1,6 +0,6 @@ | ||
import { Selectables } from "./Selectable"; | ||
import { SelectionStorage } from "./SelectionStorage"; | ||
import { Selectables } from "./Selectable.js"; | ||
import { SelectionStorage } from "./SelectionStorage.js"; | ||
/** | ||
* The type of selection change. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -23,3 +23,3 @@ export type StorageSelectionChangeType = | ||
* @see `StorageSelectionChangesListener` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -49,3 +49,3 @@ export interface StorageSelectionChangeEventArgs { | ||
* An interface for selection change listeners. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -52,0 +52,0 @@ export type StorageSelectionChangesListener = ( |
import { ECSqlQueryExecutor } from "@itwin/presentation-shared"; | ||
import { SelectableInstanceKey } from "./Selectable"; | ||
import { SelectableInstanceKey } from "./Selectable.js"; | ||
/** | ||
* Available selection scopes. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -10,3 +10,3 @@ export type SelectionScope = "element" | "model" | "category" | "functional"; | ||
* Props for computing element selection. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -28,3 +28,3 @@ export interface ElementSelectionScopeProps { | ||
* Props for `computeSelection`. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -43,5 +43,5 @@ export interface ComputeSelectionProps { | ||
* Computes selection from given element IDs. | ||
* @beta | ||
* @public | ||
*/ | ||
export declare function computeSelection(props: ComputeSelectionProps): AsyncIterableIterator<SelectableInstanceKey>; | ||
//# sourceMappingURL=SelectionScope.d.ts.map |
@@ -9,6 +9,6 @@ "use strict"; | ||
const core_bentley_1 = require("@itwin/core-bentley"); | ||
const Utils_1 = require("./Utils"); | ||
const Utils_js_1 = require("./Utils.js"); | ||
/** | ||
* Computes selection from given element IDs. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -45,3 +45,3 @@ async function* computeSelection(props) { | ||
FROM BisCore.Element | ||
WHERE ${(0, Utils_1.formIdBindings)("ECInstanceId", elementIds, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ECInstanceId", elementIds, bindings)} | ||
UNION ALL | ||
@@ -69,3 +69,3 @@ SELECT pe.ECInstanceId, pe.ECClassId, a.Depth - 1, pe.Parent.Id | ||
JOIN BisCore.GeometricElement2d ge ON ge.Category.Id = c.ECInstanceId | ||
WHERE ${(0, Utils_1.formIdBindings)("ge.ECInstanceId", ids, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ge.ECInstanceId", ids, bindings)} | ||
`, | ||
@@ -76,3 +76,3 @@ ` | ||
JOIN BisCore.GeometricElement3d ge ON ge.Category.Id = c.ECInstanceId | ||
WHERE ${(0, Utils_1.formIdBindings)("ge.ECInstanceId", ids, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ge.ECInstanceId", ids, bindings)} | ||
`, | ||
@@ -88,3 +88,3 @@ ].join(" UNION ALL "); | ||
JOIN BisCore.Element e ON e.Model.Id = m.ECInstanceId | ||
WHERE ${(0, Utils_1.formIdBindings)("e.ECInstanceId", ids, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("e.ECInstanceId", ids, bindings)} | ||
`; | ||
@@ -101,3 +101,3 @@ yield* executeQuery(queryExecutor, { ecsql, bindings }); | ||
FROM BisCore.Element | ||
WHERE ${(0, Utils_1.formIdBindings)("ECInstanceId", ids, bindings)} AND ECClassId IS NOT (BisCore.GeometricElement3d) | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ECInstanceId", ids, bindings)} AND ECClassId IS NOT (BisCore.GeometricElement3d) | ||
UNION ALL | ||
@@ -154,3 +154,3 @@ SELECT | ||
FROM BisCore.GeometricElement3d ge | ||
WHERE ${(0, Utils_1.formIdBindings)("ge.ECInstanceId", ids, bindings)} | ||
WHERE ${(0, Utils_js_1.formIdBindings)("ge.ECInstanceId", ids, bindings)} | ||
UNION ALL | ||
@@ -191,3 +191,3 @@ SELECT pe.ECInstanceId, pe.ECClassId, e3ae.Depth - 1, pe.Parent.Id | ||
async function* executeQuery(queryExecutor, query) { | ||
yield* (0, Utils_1.genericExecuteQuery)(queryExecutor, query, (row) => ({ | ||
yield* (0, Utils_js_1.genericExecuteQuery)(queryExecutor, query, (row) => ({ | ||
className: row.ClassName, | ||
@@ -194,0 +194,0 @@ id: row.ECInstanceId, |
import { Event } from "@itwin/presentation-shared"; | ||
import { Selectable, Selectables } from "./Selectable"; | ||
import { StorageSelectionChangesListener } from "./SelectionChangeEvent"; | ||
/** @beta */ | ||
import { Selectable, Selectables } from "./Selectable.js"; | ||
import { StorageSelectionChangesListener } from "./SelectionChangeEvent.js"; | ||
/** @public */ | ||
type IModelKeyProp = { | ||
@@ -22,3 +22,3 @@ /** Key of the iModel to get selection levels for. */ | ||
* @see `createStorage` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -84,3 +84,3 @@ export interface SelectionStorage { | ||
* | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -87,0 +87,0 @@ export declare function createStorage(): SelectionStorage; |
@@ -10,3 +10,3 @@ "use strict"; | ||
const core_bentley_1 = require("@itwin/core-bentley"); | ||
const Selectable_1 = require("./Selectable"); | ||
const Selectable_js_1 = require("./Selectable.js"); | ||
/** | ||
@@ -24,3 +24,3 @@ * Creates a selection storage which stores and allows managing application-level selection. | ||
* | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -75,6 +75,6 @@ function createStorage() { | ||
const selectables = container.getSelection(level); | ||
const selected = Selectable_1.Selectables.create(change); | ||
const selected = Selectable_js_1.Selectables.create(change); | ||
switch (changeType) { | ||
case "add": | ||
if (!Selectable_1.Selectables.add(selectables, change)) { | ||
if (!Selectable_js_1.Selectables.add(selectables, change)) { | ||
return; | ||
@@ -84,3 +84,3 @@ } | ||
case "remove": | ||
if (!Selectable_1.Selectables.remove(selectables, change)) { | ||
if (!Selectable_js_1.Selectables.remove(selectables, change)) { | ||
return; | ||
@@ -90,10 +90,10 @@ } | ||
case "replace": | ||
if (Selectable_1.Selectables.size(selectables) === Selectable_1.Selectables.size(selected) && Selectable_1.Selectables.hasAll(selectables, change)) { | ||
if (Selectable_js_1.Selectables.size(selectables) === Selectable_js_1.Selectables.size(selected) && Selectable_js_1.Selectables.hasAll(selectables, change)) { | ||
return; | ||
} | ||
Selectable_1.Selectables.clear(selectables); | ||
Selectable_1.Selectables.add(selectables, change); | ||
Selectable_js_1.Selectables.clear(selectables); | ||
Selectable_js_1.Selectables.add(selectables, change); | ||
break; | ||
case "clear": | ||
if (!Selectable_1.Selectables.clear(selectables)) { | ||
if (!Selectable_js_1.Selectables.clear(selectables)) { | ||
return; | ||
@@ -118,3 +118,3 @@ } | ||
function getIModelKey(props) { | ||
// eslint-disable-next-line deprecation/deprecation | ||
// eslint-disable-next-line @typescript-eslint/no-deprecated | ||
return "imodelKey" in props ? props.imodelKey : props.iModelKey; | ||
@@ -130,3 +130,3 @@ } | ||
if (!selectables) { | ||
selectables = Selectable_1.Selectables.create([]); | ||
selectables = Selectable_js_1.Selectables.create([]); | ||
this._selectablesContainers.set(level, selectables); | ||
@@ -139,3 +139,3 @@ } | ||
for (const entry of this._selectablesContainers.entries()) { | ||
if (!Selectable_1.Selectables.isEmpty(entry[1])) { | ||
if (!Selectable_js_1.Selectables.isEmpty(entry[1])) { | ||
levels.push(entry[0]); | ||
@@ -151,3 +151,3 @@ } | ||
const selectables = this._selectablesContainers.get(storedLevel); | ||
Selectable_1.Selectables.clear(selectables); | ||
Selectable_js_1.Selectables.clear(selectables); | ||
} | ||
@@ -154,0 +154,0 @@ } |
@@ -21,3 +21,3 @@ import { Id64Arg } from "@itwin/core-bentley"; | ||
* @see https://www.itwinjs.org/reference/core-frontend/selectionset/selectionsetevent/ | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -43,3 +43,3 @@ export interface CoreSelectionSetEventUnsafe { | ||
* @see https://www.itwinjs.org/reference/core-frontend/selectionset/ | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -61,3 +61,3 @@ export interface CoreIModelSelectionSet { | ||
* @see https://www.itwinjs.org/reference/core-bentley/ids/id64/id64.uint32set/ | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -73,3 +73,3 @@ interface Uint32Set { | ||
* @see https://www.itwinjs.org/reference/core-frontend/selectionset/hiliteset/ | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -76,0 +76,0 @@ export interface CoreIModelHiliteSet { |
@@ -1,8 +0,8 @@ | ||
export * from "./unified-selection/Selectable"; | ||
export { SelectionStorage, createStorage } from "./unified-selection/SelectionStorage"; | ||
export { createHiliteSetProvider, HiliteSet, HiliteSetProvider } from "./unified-selection/HiliteSetProvider"; | ||
export { createCachingHiliteSetProvider, CachingHiliteSetProvider } from "./unified-selection/CachingHiliteSetProvider"; | ||
export { computeSelection } from "./unified-selection/SelectionScope"; | ||
export { enableUnifiedSelectionSyncWithIModel } from "./unified-selection/EnableUnifiedSelectionSyncWithIModel"; | ||
export { StorageSelectionChangeType, StorageSelectionChangeEventArgs, StorageSelectionChangesListener } from "./unified-selection/SelectionChangeEvent"; | ||
export * from "./unified-selection/Selectable.js"; | ||
export { SelectionStorage, createStorage } from "./unified-selection/SelectionStorage.js"; | ||
export { createHiliteSetProvider, HiliteSet, HiliteSetProvider } from "./unified-selection/HiliteSetProvider.js"; | ||
export { createCachingHiliteSetProvider, CachingHiliteSetProvider } from "./unified-selection/CachingHiliteSetProvider.js"; | ||
export { computeSelection } from "./unified-selection/SelectionScope.js"; | ||
export { enableUnifiedSelectionSyncWithIModel } from "./unified-selection/EnableUnifiedSelectionSyncWithIModel.js"; | ||
export { StorageSelectionChangeType, StorageSelectionChangeEventArgs, StorageSelectionChangesListener } from "./unified-selection/SelectionChangeEvent.js"; | ||
//# sourceMappingURL=unified-selection.d.ts.map |
@@ -5,8 +5,8 @@ /*--------------------------------------------------------------------------------------------- | ||
*--------------------------------------------------------------------------------------------*/ | ||
export * from "./unified-selection/Selectable"; | ||
export { createStorage } from "./unified-selection/SelectionStorage"; | ||
export { createHiliteSetProvider } from "./unified-selection/HiliteSetProvider"; | ||
export { createCachingHiliteSetProvider } from "./unified-selection/CachingHiliteSetProvider"; | ||
export { computeSelection } from "./unified-selection/SelectionScope"; | ||
export { enableUnifiedSelectionSyncWithIModel } from "./unified-selection/EnableUnifiedSelectionSyncWithIModel"; | ||
export * from "./unified-selection/Selectable.js"; | ||
export { createStorage } from "./unified-selection/SelectionStorage.js"; | ||
export { createHiliteSetProvider } from "./unified-selection/HiliteSetProvider.js"; | ||
export { createCachingHiliteSetProvider } from "./unified-selection/CachingHiliteSetProvider.js"; | ||
export { computeSelection } from "./unified-selection/SelectionScope.js"; | ||
export { enableUnifiedSelectionSyncWithIModel } from "./unified-selection/EnableUnifiedSelectionSyncWithIModel.js"; | ||
//# sourceMappingURL=unified-selection.js.map |
import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared"; | ||
import { HiliteSet } from "./HiliteSetProvider"; | ||
import { SelectionStorage } from "./SelectionStorage"; | ||
import { HiliteSet } from "./HiliteSetProvider.js"; | ||
import { SelectionStorage } from "./SelectionStorage.js"; | ||
/** | ||
* Props for creating a `CachingHiliteSetProvider` instance. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -21,3 +21,3 @@ export interface CachingHiliteSetProviderProps { | ||
* @see `createCachingHiliteSetProvider` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -36,5 +36,5 @@ export interface CachingHiliteSetProvider { | ||
* hilite set requests for the same iModel don't cost until selection in given selection storage changes. | ||
* @beta | ||
* @public | ||
*/ | ||
export declare function createCachingHiliteSetProvider(props: CachingHiliteSetProviderProps): CachingHiliteSetProvider; | ||
//# sourceMappingURL=CachingHiliteSetProvider.d.ts.map |
@@ -7,8 +7,8 @@ /*--------------------------------------------------------------------------------------------- | ||
import { eachValueFrom } from "rxjs-for-await"; | ||
import { createHiliteSetProvider } from "./HiliteSetProvider"; | ||
import { IMODEL_CLOSE_SELECTION_CLEAR_SOURCE } from "./SelectionStorage"; | ||
import { createHiliteSetProvider } from "./HiliteSetProvider.js"; | ||
import { IMODEL_CLOSE_SELECTION_CLEAR_SOURCE } from "./SelectionStorage.js"; | ||
/** | ||
* Creates a hilite set provider that caches hilite set for current selection for given iModel so any subsequent | ||
* hilite set requests for the same iModel don't cost until selection in given selection storage changes. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -15,0 +15,0 @@ export function createCachingHiliteSetProvider(props) { |
import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared"; | ||
import { CachingHiliteSetProvider } from "./CachingHiliteSetProvider"; | ||
import { ComputeSelectionProps } from "./SelectionScope"; | ||
import { SelectionStorage } from "./SelectionStorage"; | ||
import { CoreIModelHiliteSet, CoreIModelSelectionSet } from "./types/IModel"; | ||
import { CachingHiliteSetProvider } from "./CachingHiliteSetProvider.js"; | ||
import { ComputeSelectionProps } from "./SelectionScope.js"; | ||
import { SelectionStorage } from "./SelectionStorage.js"; | ||
import { CoreIModelHiliteSet, CoreIModelSelectionSet } from "./types/IModel.js"; | ||
/** | ||
* Props for `enableUnifiedSelectionSyncWithIModel`. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -55,3 +55,3 @@ export interface EnableUnifiedSelectionSyncWithIModelProps { | ||
* @returns function for disposing the synchronization. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -58,0 +58,0 @@ export declare function enableUnifiedSelectionSyncWithIModel(props: EnableUnifiedSelectionSyncWithIModelProps): () => void; |
@@ -7,10 +7,10 @@ /*--------------------------------------------------------------------------------------------- | ||
import { assert, using } from "@itwin/core-bentley"; | ||
import { createCachingHiliteSetProvider } from "./CachingHiliteSetProvider"; | ||
import { createHiliteSetProvider } from "./HiliteSetProvider"; | ||
import { computeSelection } from "./SelectionScope"; | ||
import { CoreSelectionSetEventType } from "./types/IModel"; | ||
import { createCachingHiliteSetProvider } from "./CachingHiliteSetProvider.js"; | ||
import { createHiliteSetProvider } from "./HiliteSetProvider.js"; | ||
import { computeSelection } from "./SelectionScope.js"; | ||
import { CoreSelectionSetEventType } from "./types/IModel.js"; | ||
/** | ||
* Enables synchronization between iModel selection and unified selection. | ||
* @returns function for disposing the synchronization. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -17,0 +17,0 @@ export function enableUnifiedSelectionSyncWithIModel(props) { |
import { Id64String } from "@itwin/core-bentley"; | ||
import { ECClassHierarchyInspector, ECSqlQueryExecutor } from "@itwin/presentation-shared"; | ||
import { Selectables } from "./Selectable"; | ||
import { Selectables } from "./Selectable.js"; | ||
/** | ||
@@ -13,3 +13,3 @@ * A set of model, subcategory and element ids that can be used for specifying hilite. | ||
* @see `createHiliteSetProvider` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -23,3 +23,3 @@ export interface HiliteSet { | ||
* Props for creating a `HiliteSetProvider` instance. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -37,3 +37,3 @@ export interface HiliteSetProviderProps { | ||
* @see `createHiliteSetProvider` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -48,5 +48,5 @@ export interface HiliteSetProvider { | ||
* Creates a hilite set provider that returns a `HiliteSet` for given selectables. | ||
* @beta | ||
* @public | ||
*/ | ||
export declare function createHiliteSetProvider(props: HiliteSetProviderProps): HiliteSetProvider; | ||
//# sourceMappingURL=HiliteSetProvider.d.ts.map |
@@ -8,7 +8,7 @@ /*--------------------------------------------------------------------------------------------- | ||
import { normalizeFullClassName } from "@itwin/presentation-shared"; | ||
import { formIdBindings, genericExecuteQuery, releaseMainThreadOnItemsCount } from "./Utils"; | ||
import { formIdBindings, genericExecuteQuery, releaseMainThreadOnItemsCount } from "./Utils.js"; | ||
const HILITE_SET_EMIT_FREQUENCY = 20; | ||
/** | ||
* Creates a hilite set provider that returns a `HiliteSet` for given selectables. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -15,0 +15,0 @@ export function createHiliteSetProvider(props) { |
import { Id64String } from "@itwin/core-bentley"; | ||
/** | ||
* ECInstance selectable | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -21,3 +21,3 @@ export interface SelectableInstanceKey { | ||
* | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -34,3 +34,3 @@ export interface CustomSelectable { | ||
* A single selectable that identifies something that can be selected in an iTwin.js application. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -40,6 +40,6 @@ export type Selectable = SelectableInstanceKey | CustomSelectable; | ||
* A type of identifier that can be used to identify a selectable in selection storage. | ||
* @beta | ||
* @public | ||
*/ | ||
export type SelectableIdentifier = SelectableInstanceKey | Pick<CustomSelectable, "identifier">; | ||
/** @beta */ | ||
/** @public */ | ||
export declare namespace Selectable { | ||
@@ -53,3 +53,3 @@ /** Check if the supplied selectable is a `SelectableInstanceKey` */ | ||
* A collection of selectables that identify something that can be selected in an iTwin.js application | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -66,3 +66,3 @@ export interface Selectables { | ||
} | ||
/** @beta */ | ||
/** @public */ | ||
export declare namespace Selectables { | ||
@@ -72,3 +72,3 @@ /** | ||
* @param source Source to create selectables from | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -79,3 +79,3 @@ function create(source: Selectable[]): Selectables; | ||
* @param selectables `Selectables` object to get size for | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -86,3 +86,3 @@ function size(selectables: Selectables): number; | ||
* @param selectables `Selectables` object to check | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -94,3 +94,3 @@ function isEmpty(selectables: Selectables): boolean; | ||
* @param value The selectable to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -102,3 +102,3 @@ function has(selectables: Selectables, value: SelectableIdentifier): boolean; | ||
* @param values The selectables to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -110,3 +110,3 @@ function hasAll(selectables: Selectables, values: SelectableIdentifier[]): boolean; | ||
* @param values The selectables to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -118,3 +118,3 @@ function hasAny(selectables: Selectables, values: SelectableIdentifier[]): boolean; | ||
* @param values Selectables to add. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -126,3 +126,3 @@ function add(selectables: Selectables, values: Selectable[]): boolean; | ||
* @param values Selectables to remove. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -133,3 +133,3 @@ function remove(selectables: Selectables, values: Selectable[]): boolean; | ||
* @param selectables `Selectables` object to clear selectables for | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -140,3 +140,3 @@ function clear(selectables: Selectables): boolean; | ||
* @param selectables `Selectables` object to check | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -147,3 +147,3 @@ function some(selectables: Selectables, callback: (selectable: Selectable) => boolean): boolean; | ||
* @param selectables `Selectables` object to iterate over | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -150,0 +150,0 @@ function forEach(selectables: Selectables, callback: (selectable: Selectable, index: number) => void): void; |
@@ -6,3 +6,3 @@ /*--------------------------------------------------------------------------------------------- | ||
import { normalizeFullClassName } from "@itwin/presentation-shared"; | ||
/** @beta */ | ||
/** @public */ | ||
// eslint-disable-next-line @typescript-eslint/no-redeclare | ||
@@ -23,4 +23,3 @@ export var Selectable; | ||
})(Selectable || (Selectable = {})); | ||
/** @beta */ | ||
// eslint-disable-next-line @typescript-eslint/no-redeclare | ||
/** @public */ | ||
export var Selectables; | ||
@@ -31,3 +30,3 @@ (function (Selectables) { | ||
* @param source Source to create selectables from | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -46,3 +45,3 @@ function create(source) { | ||
* @param selectables `Selectables` object to get size for | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -58,3 +57,3 @@ function size(selectables) { | ||
* @param selectables `Selectables` object to check | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -69,3 +68,3 @@ function isEmpty(selectables) { | ||
* @param value The selectable to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -85,3 +84,3 @@ function has(selectables, value) { | ||
* @param values The selectables to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -104,3 +103,3 @@ function hasAll(selectables, values) { | ||
* @param values The selectables to check for. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -120,3 +119,3 @@ function hasAny(selectables, values) { | ||
* @param values Selectables to add. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -150,3 +149,3 @@ function add(selectables, values) { | ||
* @param values Selectables to remove. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -178,3 +177,3 @@ function remove(selectables, values) { | ||
* @param selectables `Selectables` object to clear selectables for | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -193,3 +192,3 @@ function clear(selectables) { | ||
* @param selectables `Selectables` object to check | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -215,3 +214,3 @@ function some(selectables, callback) { | ||
* @param selectables `Selectables` object to iterate over | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -218,0 +217,0 @@ function forEach(selectables, callback) { |
@@ -1,6 +0,6 @@ | ||
import { Selectables } from "./Selectable"; | ||
import { SelectionStorage } from "./SelectionStorage"; | ||
import { Selectables } from "./Selectable.js"; | ||
import { SelectionStorage } from "./SelectionStorage.js"; | ||
/** | ||
* The type of selection change. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -23,3 +23,3 @@ export type StorageSelectionChangeType = | ||
* @see `StorageSelectionChangesListener` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -49,3 +49,3 @@ export interface StorageSelectionChangeEventArgs { | ||
* An interface for selection change listeners. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -52,0 +52,0 @@ export type StorageSelectionChangesListener = ( |
import { ECSqlQueryExecutor } from "@itwin/presentation-shared"; | ||
import { SelectableInstanceKey } from "./Selectable"; | ||
import { SelectableInstanceKey } from "./Selectable.js"; | ||
/** | ||
* Available selection scopes. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -10,3 +10,3 @@ export type SelectionScope = "element" | "model" | "category" | "functional"; | ||
* Props for computing element selection. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -28,3 +28,3 @@ export interface ElementSelectionScopeProps { | ||
* Props for `computeSelection`. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -43,5 +43,5 @@ export interface ComputeSelectionProps { | ||
* Computes selection from given element IDs. | ||
* @beta | ||
* @public | ||
*/ | ||
export declare function computeSelection(props: ComputeSelectionProps): AsyncIterableIterator<SelectableInstanceKey>; | ||
//# sourceMappingURL=SelectionScope.d.ts.map |
@@ -6,6 +6,6 @@ /*--------------------------------------------------------------------------------------------- | ||
import { Id64 } from "@itwin/core-bentley"; | ||
import { formIdBindings, genericExecuteQuery } from "./Utils"; | ||
import { formIdBindings, genericExecuteQuery } from "./Utils.js"; | ||
/** | ||
* Computes selection from given element IDs. | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -12,0 +12,0 @@ export async function* computeSelection(props) { |
import { Event } from "@itwin/presentation-shared"; | ||
import { Selectable, Selectables } from "./Selectable"; | ||
import { StorageSelectionChangesListener } from "./SelectionChangeEvent"; | ||
/** @beta */ | ||
import { Selectable, Selectables } from "./Selectable.js"; | ||
import { StorageSelectionChangesListener } from "./SelectionChangeEvent.js"; | ||
/** @public */ | ||
type IModelKeyProp = { | ||
@@ -22,3 +22,3 @@ /** Key of the iModel to get selection levels for. */ | ||
* @see `createStorage` | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -84,3 +84,3 @@ export interface SelectionStorage { | ||
* | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -87,0 +87,0 @@ export declare function createStorage(): SelectionStorage; |
@@ -6,3 +6,3 @@ /*--------------------------------------------------------------------------------------------- | ||
import { BeEvent } from "@itwin/core-bentley"; | ||
import { Selectables } from "./Selectable"; | ||
import { Selectables } from "./Selectable.js"; | ||
/** | ||
@@ -20,3 +20,3 @@ * Creates a selection storage which stores and allows managing application-level selection. | ||
* | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -111,3 +111,3 @@ export function createStorage() { | ||
function getIModelKey(props) { | ||
// eslint-disable-next-line deprecation/deprecation | ||
// eslint-disable-next-line @typescript-eslint/no-deprecated | ||
return "imodelKey" in props ? props.imodelKey : props.iModelKey; | ||
@@ -114,0 +114,0 @@ } |
@@ -21,3 +21,3 @@ import { Id64Arg } from "@itwin/core-bentley"; | ||
* @see https://www.itwinjs.org/reference/core-frontend/selectionset/selectionsetevent/ | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -43,3 +43,3 @@ export interface CoreSelectionSetEventUnsafe { | ||
* @see https://www.itwinjs.org/reference/core-frontend/selectionset/ | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -61,3 +61,3 @@ export interface CoreIModelSelectionSet { | ||
* @see https://www.itwinjs.org/reference/core-bentley/ids/id64/id64.uint32set/ | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -73,3 +73,3 @@ interface Uint32Set { | ||
* @see https://www.itwinjs.org/reference/core-frontend/selectionset/hiliteset/ | ||
* @beta | ||
* @public | ||
*/ | ||
@@ -76,0 +76,0 @@ export interface CoreIModelHiliteSet { |
{ | ||
"name": "@itwin/unified-selection", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "Package for managing unified selection in iTwin.js applications.", | ||
@@ -27,5 +27,13 @@ "license": "MIT", | ||
}, | ||
"type": "module", | ||
"main": "lib/cjs/unified-selection.js", | ||
"types": "lib/cjs/unified-selection", | ||
"module": "lib/esm/unified-selection.js", | ||
"types": "lib/cjs/unified-selection.d.ts", | ||
"exports": { | ||
".": { | ||
"import": "./lib/esm/unified-selection.js", | ||
"require": "./lib/cjs/unified-selection.js" | ||
}, | ||
"./package.json": "./package.json" | ||
}, | ||
"dependencies": { | ||
@@ -35,7 +43,7 @@ "@itwin/core-bentley": "^4.9.0", | ||
"rxjs-for-await": "^1.0.0", | ||
"@itwin/presentation-shared": "^1.0.0" | ||
"@itwin/presentation-shared": "^1.1.0" | ||
}, | ||
"devDependencies": { | ||
"@itwin/build-tools": "^4.9.0", | ||
"@itwin/eslint-plugin": "^4.1.1", | ||
"@itwin/build-tools": "^4.10.0-dev.33", | ||
"@itwin/eslint-plugin": "5.0.0-dev.1", | ||
"@types/chai": "^4.3.16", | ||
@@ -47,12 +55,13 @@ "@types/chai-as-promised": "^7.1.8", | ||
"@types/sinon-chai": "^3.2.12", | ||
"c8": "^10.1.2", | ||
"chai": "^4.4.1", | ||
"chai-as-promised": "^7.1.2", | ||
"cpx2": "^7.0.1", | ||
"eslint": "^8.57.0", | ||
"mocha": "^10.6.0", | ||
"nyc": "^17.0.0", | ||
"eslint": "^9.13.0", | ||
"mocha": "^10.7.3", | ||
"rimraf": "^6.0.1", | ||
"sinon": "^18.0.0", | ||
"sinon-chai": "^3.7.0", | ||
"typescript": "~5.5.3", | ||
"testdouble": "^3.20.2", | ||
"typescript": "~5.6.3", | ||
"presentation-build-tools": "^0.0.0", | ||
@@ -63,11 +72,9 @@ "presentation-test-utilities": "^0.0.0" | ||
"build": "npm run -s build:cjs && npm run -s build:esm", | ||
"build:cjs": "tsc -p tsconfig.cjs.json", | ||
"build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && tsc -p tsconfig.cjs.json", | ||
"build:esm": "tsc -p tsconfig.esm.json", | ||
"build:watch": "npm run -s build:cjs -- -w", | ||
"clean": "rimraf lib build", | ||
"cover": "nyc npm -s test", | ||
"cover": "c8 npm -s test", | ||
"lint": "eslint ./src/**/*.ts", | ||
"test": "mocha --enable-source-maps --config ./.mocharc.json", | ||
"test:dev": "mocha --enable-source-maps --config ./.mocharc.json", | ||
"test:watch": "npm -s test -- --reporter min --watch-extensions ts --watch", | ||
"test": "npm run test:dev", | ||
"extract-api": "extract-api --entry=unified-selection --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api", | ||
@@ -74,0 +81,0 @@ "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/unified-selection.api.md", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
418982
85
Yes
21
3712