@itwin/presentation-frontend 5.0.0-dev.10 → 5.0.0-dev.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -1
- package/lib/cjs/package.json +1 -0
- package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.d.ts +3 -3
- package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.js +11 -9
- package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.js.map +1 -1
- package/lib/cjs/presentation-frontend/Diagnostics.js.map +1 -1
- package/lib/cjs/presentation-frontend/FrontendLoggerCategory.js.map +1 -1
- package/lib/cjs/presentation-frontend/IModelConnectionInitialization.d.ts +13 -0
- package/lib/cjs/presentation-frontend/IModelConnectionInitialization.d.ts.map +1 -0
- package/lib/cjs/presentation-frontend/IModelConnectionInitialization.js +22 -0
- package/lib/cjs/presentation-frontend/IModelConnectionInitialization.js.map +1 -0
- package/lib/cjs/presentation-frontend/InternalSymbols.d.ts +6 -0
- package/lib/cjs/presentation-frontend/InternalSymbols.d.ts.map +1 -0
- package/lib/cjs/presentation-frontend/InternalSymbols.js +17 -0
- package/lib/cjs/presentation-frontend/InternalSymbols.js.map +1 -0
- package/lib/cjs/presentation-frontend/IpcRequestsHandler.d.ts +12 -3
- package/lib/cjs/presentation-frontend/IpcRequestsHandler.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/IpcRequestsHandler.js +7 -7
- package/lib/cjs/presentation-frontend/IpcRequestsHandler.js.map +1 -1
- package/lib/cjs/presentation-frontend/LocalizationHelper.d.ts +1 -1
- package/lib/cjs/presentation-frontend/LocalizationHelper.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/LocalizationHelper.js +7 -6
- package/lib/cjs/presentation-frontend/LocalizationHelper.js.map +1 -1
- package/lib/cjs/presentation-frontend/Presentation.d.ts +15 -14
- package/lib/cjs/presentation-frontend/Presentation.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/Presentation.js +31 -45
- package/lib/cjs/presentation-frontend/Presentation.js.map +1 -1
- package/lib/cjs/presentation-frontend/PresentationManager.d.ts +12 -23
- package/lib/cjs/presentation-frontend/PresentationManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/PresentationManager.js +77 -74
- package/lib/cjs/presentation-frontend/PresentationManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/RulesetManager.js +2 -4
- package/lib/cjs/presentation-frontend/RulesetManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/RulesetVariablesManager.d.ts +2 -4
- package/lib/cjs/presentation-frontend/RulesetVariablesManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/RulesetVariablesManager.js +6 -4
- package/lib/cjs/presentation-frontend/RulesetVariablesManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/StreamedResponseGenerator.d.ts +1 -1
- package/lib/cjs/presentation-frontend/StreamedResponseGenerator.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/StreamedResponseGenerator.js +1 -0
- package/lib/cjs/presentation-frontend/StreamedResponseGenerator.js.map +1 -1
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +9 -19
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +163 -153
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.d.ts +4 -5
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js +27 -29
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.d.ts +3 -0
- package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js +8 -2
- package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/ISelectionProvider.d.ts +2 -1
- package/lib/cjs/presentation-frontend/selection/ISelectionProvider.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/ISelectionProvider.js +1 -0
- package/lib/cjs/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.d.ts +5 -1
- package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js +3 -0
- package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionHandler.d.ts +8 -5
- package/lib/cjs/presentation-frontend/selection/SelectionHandler.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionHandler.js +35 -13
- package/lib/cjs/presentation-frontend/selection/SelectionHandler.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionHelper.d.ts +2 -0
- package/lib/cjs/presentation-frontend/selection/SelectionHelper.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionHelper.js +3 -1
- package/lib/cjs/presentation-frontend/selection/SelectionHelper.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionManager.d.ts +31 -13
- package/lib/cjs/presentation-frontend/selection/SelectionManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionManager.js +216 -116
- package/lib/cjs/presentation-frontend/selection/SelectionManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.d.ts +11 -9
- package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js +6 -11
- package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
- package/lib/cjs/presentation-frontend.d.ts +15 -15
- package/lib/cjs/presentation-frontend.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend.js +30 -29
- package/lib/cjs/presentation-frontend.js.map +1 -1
- package/lib/esm/presentation-frontend/ConnectivityInformationProvider.d.ts +3 -3
- package/lib/esm/presentation-frontend/ConnectivityInformationProvider.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/ConnectivityInformationProvider.js +11 -9
- package/lib/esm/presentation-frontend/ConnectivityInformationProvider.js.map +1 -1
- package/lib/esm/presentation-frontend/Diagnostics.js.map +1 -1
- package/lib/esm/presentation-frontend/FrontendLoggerCategory.js.map +1 -1
- package/lib/esm/presentation-frontend/IModelConnectionInitialization.d.ts +13 -0
- package/lib/esm/presentation-frontend/IModelConnectionInitialization.d.ts.map +1 -0
- package/lib/esm/presentation-frontend/IModelConnectionInitialization.js +17 -0
- package/lib/esm/presentation-frontend/IModelConnectionInitialization.js.map +1 -0
- package/lib/esm/presentation-frontend/InternalSymbols.d.ts +6 -0
- package/lib/esm/presentation-frontend/InternalSymbols.d.ts.map +1 -0
- package/lib/esm/presentation-frontend/InternalSymbols.js +14 -0
- package/lib/esm/presentation-frontend/InternalSymbols.js.map +1 -0
- package/lib/esm/presentation-frontend/IpcRequestsHandler.d.ts +12 -3
- package/lib/esm/presentation-frontend/IpcRequestsHandler.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/IpcRequestsHandler.js +8 -8
- package/lib/esm/presentation-frontend/IpcRequestsHandler.js.map +1 -1
- package/lib/esm/presentation-frontend/LocalizationHelper.d.ts +1 -1
- package/lib/esm/presentation-frontend/LocalizationHelper.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/LocalizationHelper.js +3 -2
- package/lib/esm/presentation-frontend/LocalizationHelper.js.map +1 -1
- package/lib/esm/presentation-frontend/Presentation.d.ts +15 -14
- package/lib/esm/presentation-frontend/Presentation.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/Presentation.js +24 -38
- package/lib/esm/presentation-frontend/Presentation.js.map +1 -1
- package/lib/esm/presentation-frontend/PresentationManager.d.ts +12 -23
- package/lib/esm/presentation-frontend/PresentationManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/PresentationManager.js +66 -63
- package/lib/esm/presentation-frontend/PresentationManager.js.map +1 -1
- package/lib/esm/presentation-frontend/RulesetManager.js +2 -4
- package/lib/esm/presentation-frontend/RulesetManager.js.map +1 -1
- package/lib/esm/presentation-frontend/RulesetVariablesManager.d.ts +2 -4
- package/lib/esm/presentation-frontend/RulesetVariablesManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/RulesetVariablesManager.js +6 -4
- package/lib/esm/presentation-frontend/RulesetVariablesManager.js.map +1 -1
- package/lib/esm/presentation-frontend/StreamedResponseGenerator.d.ts +1 -1
- package/lib/esm/presentation-frontend/StreamedResponseGenerator.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/StreamedResponseGenerator.js +1 -0
- package/lib/esm/presentation-frontend/StreamedResponseGenerator.js.map +1 -1
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +9 -19
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +164 -154
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.d.ts +4 -5
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js +27 -29
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/HiliteSetProvider.d.ts +3 -0
- package/lib/esm/presentation-frontend/selection/HiliteSetProvider.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js +8 -2
- package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/ISelectionProvider.d.ts +2 -1
- package/lib/esm/presentation-frontend/selection/ISelectionProvider.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/ISelectionProvider.js +1 -0
- package/lib/esm/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.d.ts +5 -1
- package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js +3 -0
- package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionHandler.d.ts +8 -5
- package/lib/esm/presentation-frontend/selection/SelectionHandler.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionHandler.js +35 -13
- package/lib/esm/presentation-frontend/selection/SelectionHandler.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionHelper.d.ts +2 -0
- package/lib/esm/presentation-frontend/selection/SelectionHelper.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionHelper.js +3 -1
- package/lib/esm/presentation-frontend/selection/SelectionHelper.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionManager.d.ts +31 -13
- package/lib/esm/presentation-frontend/selection/SelectionManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionManager.js +202 -102
- package/lib/esm/presentation-frontend/selection/SelectionManager.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionScopesManager.d.ts +11 -9
- package/lib/esm/presentation-frontend/selection/SelectionScopesManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js +7 -11
- package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
- package/lib/esm/presentation-frontend.d.ts +15 -15
- package/lib/esm/presentation-frontend.d.ts.map +1 -1
- package/lib/esm/presentation-frontend.js +12 -15
- package/lib/esm/presentation-frontend.js.map +1 -1
- package/package.json +42 -42
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Core
|
|
3
3
|
*/
|
|
4
|
-
import { BeEvent
|
|
4
|
+
import { BeEvent } from "@itwin/core-bentley";
|
|
5
5
|
import { IModelConnection } from "@itwin/core-frontend";
|
|
6
6
|
import { UnitSystemKey } from "@itwin/core-quantity";
|
|
7
7
|
import { SchemaContext } from "@itwin/ecschema-metadata";
|
|
8
|
-
import { ClientDiagnosticsAttribute, Content, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, ContentUpdateInfo, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, FormatsMap, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, HierarchyUpdateInfo, InstanceKey, Item, KeySet, LabelDefinition, Node, NodeKey, NodePathElement, Paged, PagedResponse,
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
8
|
+
import { ClientDiagnosticsAttribute, Content, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, ContentUpdateInfo, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, FormatsMap, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, HierarchyUpdateInfo, InstanceKey, Item, KeySet, LabelDefinition, Node, NodeKey, NodePathElement, Paged, PagedResponse, RulesetVariable, SelectClassInfo, SingleElementPropertiesRequestOptions } from "@itwin/presentation-common";
|
|
9
|
+
import { RpcRequestsHandler } from "@itwin/presentation-common/internal";
|
|
10
|
+
import { IpcRequestsHandler } from "./IpcRequestsHandler.js";
|
|
11
|
+
import { RulesetManager } from "./RulesetManager.js";
|
|
12
|
+
import { RulesetVariablesManager } from "./RulesetVariablesManager.js";
|
|
13
|
+
import { _presentation_manager_ipcRequestsHandler, _presentation_manager_rpcRequestsHandler } from "./InternalSymbols.js";
|
|
12
14
|
/**
|
|
13
15
|
* Data structure that describes IModel hierarchy change event arguments.
|
|
14
16
|
* @public
|
|
@@ -111,10 +113,6 @@ export interface PresentationManagerProps {
|
|
|
111
113
|
* @note Only has effect when frontend value formatting is enabled by supplying the `schemaContextProvider` prop.
|
|
112
114
|
*/
|
|
113
115
|
defaultFormats?: FormatsMap;
|
|
114
|
-
/** @internal */
|
|
115
|
-
rpcRequestsHandler?: RpcRequestsHandler;
|
|
116
|
-
/** @internal */
|
|
117
|
-
ipcRequestsHandler?: IpcRequestsHandler;
|
|
118
116
|
}
|
|
119
117
|
/**
|
|
120
118
|
* Frontend Presentation manager which basically just forwards all calls to
|
|
@@ -122,7 +120,7 @@ export interface PresentationManagerProps {
|
|
|
122
120
|
*
|
|
123
121
|
* @public
|
|
124
122
|
*/
|
|
125
|
-
export declare class PresentationManager implements
|
|
123
|
+
export declare class PresentationManager implements Disposable {
|
|
126
124
|
private _requestsHandler;
|
|
127
125
|
private _rulesets;
|
|
128
126
|
private _localizationHelper;
|
|
@@ -153,30 +151,21 @@ export declare class PresentationManager implements IDisposable {
|
|
|
153
151
|
/** Get / set active locale used for localizing presentation data */
|
|
154
152
|
get activeLocale(): string | undefined;
|
|
155
153
|
set activeLocale(locale: string | undefined);
|
|
154
|
+
[Symbol.dispose](): void;
|
|
155
|
+
/** @deprecated in 5.0 Use [Symbol.dispose] instead. */
|
|
156
156
|
dispose(): void;
|
|
157
157
|
private onUpdate;
|
|
158
158
|
/** @note This is only called in native apps after changes in iModels */
|
|
159
159
|
private handleUpdateAsync;
|
|
160
|
-
/**
|
|
161
|
-
* Function that is called when a new IModelConnection is used to retrieve data.
|
|
162
|
-
* @internal
|
|
163
|
-
*/
|
|
164
|
-
startIModelInitialization(_: IModelConnection): void;
|
|
165
|
-
/**
|
|
166
|
-
* Function that should be called to finish initialization that was started at [[PresentationManager.startIModelInitialization]].
|
|
167
|
-
* Can be removed when [[FavoritePropertiesManager.has]] and [[FavoritePropertiesManager.sortFields]] are removed.
|
|
168
|
-
* @internal
|
|
169
|
-
*/
|
|
170
|
-
ensureIModelInitialized(_: IModelConnection): Promise<void>;
|
|
171
160
|
/**
|
|
172
161
|
* Create a new PresentationManager instance
|
|
173
162
|
* @param props Optional properties used to configure the manager
|
|
174
163
|
*/
|
|
175
164
|
static create(props?: PresentationManagerProps): PresentationManager;
|
|
176
165
|
/** @internal */
|
|
177
|
-
get
|
|
166
|
+
get [_presentation_manager_rpcRequestsHandler](): RpcRequestsHandler;
|
|
178
167
|
/** @internal */
|
|
179
|
-
get
|
|
168
|
+
get [_presentation_manager_ipcRequestsHandler](): IpcRequestsHandler | undefined;
|
|
180
169
|
/**
|
|
181
170
|
* Get rulesets manager
|
|
182
171
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,16 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { BeEvent, CompressedId64Set, OrderedId64Iterable } from "@itwin/core-bentley";
|
|
9
9
|
import { IModelApp, IpcApp } from "@itwin/core-frontend";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { FrontendLocalizationHelper } from "./LocalizationHelper";
|
|
13
|
-
import { RulesetManagerImpl } from "./RulesetManager";
|
|
14
|
-
import { RulesetVariablesManagerImpl } from "./RulesetVariablesManager";
|
|
15
|
-
import { StreamedResponseGenerator } from "./StreamedResponseGenerator";
|
|
10
|
+
import { Content, ContentFlags, DefaultContentDisplayTypes, Descriptor, Item, Key, KeySet, KoqPropertyValueFormatter, RulesetVariable, SelectClassInfo, VariableValueTypes, } from "@itwin/presentation-common";
|
|
11
|
+
import { buildElementProperties, ContentFormatter, ContentPropertyValueFormatter, PresentationIpcEvents, RpcRequestsHandler, } from "@itwin/presentation-common/internal";
|
|
16
12
|
import { TRANSIENT_ELEMENT_CLASSNAME } from "@itwin/unified-selection";
|
|
13
|
+
import { IpcRequestsHandler } from "./IpcRequestsHandler.js";
|
|
14
|
+
import { FrontendLocalizationHelper } from "./LocalizationHelper.js";
|
|
15
|
+
import { RulesetManagerImpl } from "./RulesetManager.js";
|
|
16
|
+
import { RulesetVariablesManagerImpl } from "./RulesetVariablesManager.js";
|
|
17
|
+
import { StreamedResponseGenerator } from "./StreamedResponseGenerator.js";
|
|
18
|
+
import { ensureIModelInitialized, startIModelInitialization } from "./IModelConnectionInitialization.js";
|
|
19
|
+
import { _presentation_manager_ipcRequestsHandler, _presentation_manager_rpcRequestsHandler } from "./InternalSymbols.js";
|
|
17
20
|
/**
|
|
18
21
|
* Frontend Presentation manager which basically just forwards all calls to
|
|
19
22
|
* the backend implementation.
|
|
@@ -21,6 +24,23 @@ import { TRANSIENT_ELEMENT_CLASSNAME } from "@itwin/unified-selection";
|
|
|
21
24
|
* @public
|
|
22
25
|
*/
|
|
23
26
|
export class PresentationManager {
|
|
27
|
+
_requestsHandler;
|
|
28
|
+
_rulesets;
|
|
29
|
+
_localizationHelper;
|
|
30
|
+
_explicitActiveUnitSystem;
|
|
31
|
+
_rulesetVars;
|
|
32
|
+
_clearEventListener;
|
|
33
|
+
_schemaContextProvider;
|
|
34
|
+
_defaultFormats;
|
|
35
|
+
_ipcRequestsHandler;
|
|
36
|
+
/**
|
|
37
|
+
* An event raised when hierarchies created using specific ruleset change
|
|
38
|
+
*/
|
|
39
|
+
onIModelHierarchyChanged = new BeEvent();
|
|
40
|
+
/**
|
|
41
|
+
* An event raised when content created using specific ruleset changes
|
|
42
|
+
*/
|
|
43
|
+
onIModelContentChanged = new BeEvent();
|
|
24
44
|
/**
|
|
25
45
|
* Get / set active unit system used to format property values with units.
|
|
26
46
|
*
|
|
@@ -35,24 +55,13 @@ export class PresentationManager {
|
|
|
35
55
|
this._explicitActiveUnitSystem = value;
|
|
36
56
|
}
|
|
37
57
|
constructor(props) {
|
|
38
|
-
/**
|
|
39
|
-
* An event raised when hierarchies created using specific ruleset change
|
|
40
|
-
*/
|
|
41
|
-
this.onIModelHierarchyChanged = new BeEvent();
|
|
42
|
-
/**
|
|
43
|
-
* An event raised when content created using specific ruleset changes
|
|
44
|
-
*/
|
|
45
|
-
this.onIModelContentChanged = new BeEvent();
|
|
46
|
-
this.onUpdate = (_evt, report) => {
|
|
47
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
48
|
-
this.handleUpdateAsync(report);
|
|
49
|
-
};
|
|
50
58
|
if (props) {
|
|
51
59
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
52
60
|
this._explicitActiveUnitSystem = props.activeUnitSystem;
|
|
53
61
|
}
|
|
54
62
|
this._requestsHandler =
|
|
55
|
-
props?.rpcRequestsHandler ??
|
|
63
|
+
props?.rpcRequestsHandler ??
|
|
64
|
+
new RpcRequestsHandler(props ? { clientId: props.clientId, timeout: props.requestTimeout } : undefined);
|
|
56
65
|
this._rulesetVars = new Map();
|
|
57
66
|
this._rulesets = RulesetManagerImpl.create();
|
|
58
67
|
this._localizationHelper = new FrontendLocalizationHelper(props?.activeLocale);
|
|
@@ -71,22 +80,31 @@ export class PresentationManager {
|
|
|
71
80
|
set activeLocale(locale) {
|
|
72
81
|
this._localizationHelper.locale = locale;
|
|
73
82
|
}
|
|
74
|
-
dispose() {
|
|
83
|
+
[Symbol.dispose]() {
|
|
75
84
|
if (this._clearEventListener) {
|
|
76
85
|
this._clearEventListener();
|
|
77
86
|
this._clearEventListener = undefined;
|
|
78
87
|
}
|
|
79
88
|
}
|
|
89
|
+
/** @deprecated in 5.0 Use [Symbol.dispose] instead. */
|
|
90
|
+
/* c8 ignore next 3 */
|
|
91
|
+
dispose() {
|
|
92
|
+
this[Symbol.dispose]();
|
|
93
|
+
}
|
|
94
|
+
onUpdate = (_evt, report) => {
|
|
95
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
96
|
+
this.handleUpdateAsync(report);
|
|
97
|
+
};
|
|
80
98
|
/** @note This is only called in native apps after changes in iModels */
|
|
81
99
|
async handleUpdateAsync(report) {
|
|
82
100
|
for (const imodelKey in report) {
|
|
83
|
-
|
|
101
|
+
/* c8 ignore next 3 */
|
|
84
102
|
if (!report.hasOwnProperty(imodelKey)) {
|
|
85
103
|
continue;
|
|
86
104
|
}
|
|
87
105
|
const imodelReport = report[imodelKey];
|
|
88
106
|
for (const rulesetId in imodelReport) {
|
|
89
|
-
|
|
107
|
+
/* c8 ignore next 3 */
|
|
90
108
|
if (!imodelReport.hasOwnProperty(rulesetId)) {
|
|
91
109
|
continue;
|
|
92
110
|
}
|
|
@@ -100,17 +118,6 @@ export class PresentationManager {
|
|
|
100
118
|
}
|
|
101
119
|
}
|
|
102
120
|
}
|
|
103
|
-
/**
|
|
104
|
-
* Function that is called when a new IModelConnection is used to retrieve data.
|
|
105
|
-
* @internal
|
|
106
|
-
*/
|
|
107
|
-
startIModelInitialization(_) { }
|
|
108
|
-
/**
|
|
109
|
-
* Function that should be called to finish initialization that was started at [[PresentationManager.startIModelInitialization]].
|
|
110
|
-
* Can be removed when [[FavoritePropertiesManager.has]] and [[FavoritePropertiesManager.sortFields]] are removed.
|
|
111
|
-
* @internal
|
|
112
|
-
*/
|
|
113
|
-
async ensureIModelInitialized(_) { }
|
|
114
121
|
/**
|
|
115
122
|
* Create a new PresentationManager instance
|
|
116
123
|
* @param props Optional properties used to configure the manager
|
|
@@ -119,11 +126,11 @@ export class PresentationManager {
|
|
|
119
126
|
return new PresentationManager(props);
|
|
120
127
|
}
|
|
121
128
|
/** @internal */
|
|
122
|
-
get
|
|
129
|
+
get [_presentation_manager_rpcRequestsHandler]() {
|
|
123
130
|
return this._requestsHandler;
|
|
124
131
|
}
|
|
125
132
|
/** @internal */
|
|
126
|
-
get
|
|
133
|
+
get [_presentation_manager_ipcRequestsHandler]() {
|
|
127
134
|
return this._ipcRequestsHandler;
|
|
128
135
|
}
|
|
129
136
|
/**
|
|
@@ -189,7 +196,7 @@ export class PresentationManager {
|
|
|
189
196
|
}
|
|
190
197
|
/** Returns an iterator that polls nodes asynchronously. */
|
|
191
198
|
async getNodesIterator(requestOptions) {
|
|
192
|
-
|
|
199
|
+
startIModelInitialization(requestOptions.imodel);
|
|
193
200
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
194
201
|
const rpcOptions = this.toRpcTokenOptions({ ...options });
|
|
195
202
|
const generator = new StreamedResponseGenerator({
|
|
@@ -198,8 +205,7 @@ export class PresentationManager {
|
|
|
198
205
|
const result = await this._requestsHandler.getPagedNodes({ ...rpcOptions, paging });
|
|
199
206
|
return {
|
|
200
207
|
total: result.total,
|
|
201
|
-
|
|
202
|
-
items: this._localizationHelper.getLocalizedNodes(result.items.map(Node.fromJSON)),
|
|
208
|
+
items: this._localizationHelper.getLocalizedNodes(result.items),
|
|
203
209
|
};
|
|
204
210
|
},
|
|
205
211
|
});
|
|
@@ -215,7 +221,7 @@ export class PresentationManager {
|
|
|
215
221
|
}
|
|
216
222
|
/** Retrieves nodes count. */
|
|
217
223
|
async getNodesCount(requestOptions) {
|
|
218
|
-
|
|
224
|
+
startIModelInitialization(requestOptions.imodel);
|
|
219
225
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
220
226
|
const rpcOptions = this.toRpcTokenOptions({ ...options });
|
|
221
227
|
return this._requestsHandler.getNodesCount(rpcOptions);
|
|
@@ -236,7 +242,7 @@ export class PresentationManager {
|
|
|
236
242
|
* @public
|
|
237
243
|
*/
|
|
238
244
|
async getNodesDescriptor(requestOptions) {
|
|
239
|
-
|
|
245
|
+
startIModelInitialization(requestOptions.imodel);
|
|
240
246
|
try {
|
|
241
247
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
242
248
|
const rpcOptions = this.toRpcTokenOptions({ ...options });
|
|
@@ -245,25 +251,23 @@ export class PresentationManager {
|
|
|
245
251
|
return descriptor ? this._localizationHelper.getLocalizedContentDescriptor(descriptor) : undefined;
|
|
246
252
|
}
|
|
247
253
|
finally {
|
|
248
|
-
await
|
|
254
|
+
await ensureIModelInitialized(requestOptions.imodel);
|
|
249
255
|
}
|
|
250
256
|
}
|
|
251
257
|
/** Retrieves paths from root nodes to children nodes according to specified keys. Intersecting paths will be merged. */
|
|
252
258
|
async getNodePaths(requestOptions) {
|
|
253
|
-
|
|
259
|
+
startIModelInitialization(requestOptions.imodel);
|
|
254
260
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
255
261
|
const rpcOptions = this.toRpcTokenOptions({ ...options });
|
|
256
262
|
const result = await this._requestsHandler.getNodePaths(rpcOptions);
|
|
257
|
-
|
|
258
|
-
return result.map(NodePathElement.fromJSON).map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));
|
|
263
|
+
return result.map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));
|
|
259
264
|
}
|
|
260
265
|
/** Retrieves paths from root nodes to nodes containing filter text in their label. */
|
|
261
266
|
async getFilteredNodePaths(requestOptions) {
|
|
262
|
-
|
|
267
|
+
startIModelInitialization(requestOptions.imodel);
|
|
263
268
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
264
269
|
const result = await this._requestsHandler.getFilteredNodePaths(this.toRpcTokenOptions(options));
|
|
265
|
-
|
|
266
|
-
return result.map(NodePathElement.fromJSON).map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));
|
|
270
|
+
return result.map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));
|
|
267
271
|
}
|
|
268
272
|
/**
|
|
269
273
|
* Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,
|
|
@@ -271,14 +275,14 @@ export class PresentationManager {
|
|
|
271
275
|
* @public
|
|
272
276
|
*/
|
|
273
277
|
async getContentSources(requestOptions) {
|
|
274
|
-
|
|
278
|
+
startIModelInitialization(requestOptions.imodel);
|
|
275
279
|
const rpcOptions = this.toRpcTokenOptions(requestOptions);
|
|
276
280
|
const result = await this._requestsHandler.getContentSources(rpcOptions);
|
|
277
|
-
return SelectClassInfo.
|
|
281
|
+
return result.sources.map((sourceJson) => SelectClassInfo.fromCompressedJSON(sourceJson, result.classesMap));
|
|
278
282
|
}
|
|
279
283
|
/** Retrieves the content descriptor which describes the content and can be used to customize it. */
|
|
280
284
|
async getContentDescriptor(requestOptions) {
|
|
281
|
-
|
|
285
|
+
startIModelInitialization(requestOptions.imodel);
|
|
282
286
|
try {
|
|
283
287
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
284
288
|
const rpcOptions = this.toRpcTokenOptions({
|
|
@@ -290,12 +294,12 @@ export class PresentationManager {
|
|
|
290
294
|
return descriptor ? this._localizationHelper.getLocalizedContentDescriptor(descriptor) : undefined;
|
|
291
295
|
}
|
|
292
296
|
finally {
|
|
293
|
-
await
|
|
297
|
+
await ensureIModelInitialized(requestOptions.imodel);
|
|
294
298
|
}
|
|
295
299
|
}
|
|
296
300
|
/** Retrieves overall content set size. */
|
|
297
301
|
async getContentSetSize(requestOptions) {
|
|
298
|
-
|
|
302
|
+
startIModelInitialization(requestOptions.imodel);
|
|
299
303
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
300
304
|
const rpcOptions = this.toRpcTokenOptions({
|
|
301
305
|
...options,
|
|
@@ -329,7 +333,7 @@ export class PresentationManager {
|
|
|
329
333
|
descriptor = Descriptor.fromJSON(firstPageResponse?.descriptor);
|
|
330
334
|
firstPage = firstPageResponse?.contentSet;
|
|
331
335
|
}
|
|
332
|
-
|
|
336
|
+
/* c8 ignore next 3 */
|
|
333
337
|
if (!descriptor) {
|
|
334
338
|
return undefined;
|
|
335
339
|
}
|
|
@@ -358,12 +362,12 @@ export class PresentationManager {
|
|
|
358
362
|
}
|
|
359
363
|
/** Retrieves a content descriptor, item count and async generator for the items themselves. */
|
|
360
364
|
async getContentIterator(requestOptions) {
|
|
361
|
-
|
|
365
|
+
startIModelInitialization(requestOptions.imodel);
|
|
362
366
|
const response = await this.getContentIteratorInternal(requestOptions);
|
|
363
367
|
if (!response) {
|
|
364
368
|
return undefined;
|
|
365
369
|
}
|
|
366
|
-
await
|
|
370
|
+
await ensureIModelInitialized(requestOptions.imodel);
|
|
367
371
|
return response;
|
|
368
372
|
}
|
|
369
373
|
/**
|
|
@@ -392,7 +396,7 @@ export class PresentationManager {
|
|
|
392
396
|
}
|
|
393
397
|
/** Returns an iterator that asynchronously polls distinct values of specific field from the content. */
|
|
394
398
|
async getDistinctValuesIterator(requestOptions) {
|
|
395
|
-
|
|
399
|
+
startIModelInitialization(requestOptions.imodel);
|
|
396
400
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
397
401
|
const rpcOptions = {
|
|
398
402
|
...this.toRpcTokenOptions(options),
|
|
@@ -405,8 +409,7 @@ export class PresentationManager {
|
|
|
405
409
|
const response = await this._requestsHandler.getPagedDistinctValues({ ...rpcOptions, paging });
|
|
406
410
|
return {
|
|
407
411
|
total: response.total,
|
|
408
|
-
|
|
409
|
-
items: response.items.map((x) => this._localizationHelper.getLocalizedDisplayValueGroup(DisplayValueGroup.fromJSON(x))),
|
|
412
|
+
items: response.items.map((x) => this._localizationHelper.getLocalizedDisplayValueGroup(x)),
|
|
410
413
|
};
|
|
411
414
|
},
|
|
412
415
|
});
|
|
@@ -428,7 +431,7 @@ export class PresentationManager {
|
|
|
428
431
|
* @public
|
|
429
432
|
*/
|
|
430
433
|
async getElementProperties(requestOptions) {
|
|
431
|
-
|
|
434
|
+
startIModelInitialization(requestOptions.imodel);
|
|
432
435
|
const { elementId, contentParser, ...optionsNoElementId } = requestOptions;
|
|
433
436
|
const parser = contentParser ?? buildElementProperties;
|
|
434
437
|
const iter = await this.getContentIterator({
|
|
@@ -450,7 +453,7 @@ export class PresentationManager {
|
|
|
450
453
|
* @public
|
|
451
454
|
*/
|
|
452
455
|
async getContentInstanceKeys(requestOptions) {
|
|
453
|
-
|
|
456
|
+
startIModelInitialization(requestOptions.imodel);
|
|
454
457
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
455
458
|
const rpcOptions = {
|
|
456
459
|
...this.toRpcTokenOptions(options),
|
|
@@ -481,14 +484,14 @@ export class PresentationManager {
|
|
|
481
484
|
}
|
|
482
485
|
/** Retrieves display label definition of specific item. */
|
|
483
486
|
async getDisplayLabelDefinition(requestOptions) {
|
|
484
|
-
|
|
487
|
+
startIModelInitialization(requestOptions.imodel);
|
|
485
488
|
const rpcOptions = this.toRpcTokenOptions({ ...requestOptions });
|
|
486
489
|
const result = await this._requestsHandler.getDisplayLabelDefinition(rpcOptions);
|
|
487
490
|
return this._localizationHelper.getLocalizedLabelDefinition(result);
|
|
488
491
|
}
|
|
489
492
|
/** Retrieves display label definition of specific items. */
|
|
490
493
|
async getDisplayLabelDefinitionsIterator(requestOptions) {
|
|
491
|
-
|
|
494
|
+
startIModelInitialization(requestOptions.imodel);
|
|
492
495
|
const rpcOptions = this.toRpcTokenOptions({ ...requestOptions });
|
|
493
496
|
const generator = new StreamedResponseGenerator({
|
|
494
497
|
...requestOptions,
|
|
@@ -524,7 +527,7 @@ const stripTransientElementKeys = (keys) => {
|
|
|
524
527
|
copy.add(keys, (key) => {
|
|
525
528
|
// the callback is not going to be called with EntityProps as KeySet converts them
|
|
526
529
|
// to InstanceKeys, but we want to keep the EntityProps case for correctness
|
|
527
|
-
|
|
530
|
+
/* c8 ignore next 3 */
|
|
528
531
|
const isTransient = (Key.isInstanceKey(key) && key.className === TRANSIENT_ELEMENT_CLASSNAME) ||
|
|
529
532
|
(Key.isEntityProps(key) && key.classFullName === TRANSIENT_ELEMENT_CLASSNAME);
|
|
530
533
|
return !isTransient;
|