@itwin/presentation-frontend 4.0.0-dev.10 → 4.0.0-dev.101

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.
Files changed (138) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.d.ts +29 -29
  3. package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.js +47 -47
  4. package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.js.map +1 -1
  5. package/lib/cjs/presentation-frontend/Diagnostics.d.ts +14 -14
  6. package/lib/cjs/presentation-frontend/Diagnostics.js +61 -61
  7. package/lib/cjs/presentation-frontend/Diagnostics.js.map +1 -1
  8. package/lib/cjs/presentation-frontend/FrontendLoggerCategory.d.ts +12 -12
  9. package/lib/cjs/presentation-frontend/FrontendLoggerCategory.js +20 -20
  10. package/lib/cjs/presentation-frontend/FrontendLoggerCategory.js.map +1 -1
  11. package/lib/cjs/presentation-frontend/IpcRequestsHandler.d.ts +9 -10
  12. package/lib/cjs/presentation-frontend/IpcRequestsHandler.d.ts.map +1 -1
  13. package/lib/cjs/presentation-frontend/IpcRequestsHandler.js +32 -41
  14. package/lib/cjs/presentation-frontend/IpcRequestsHandler.js.map +1 -1
  15. package/lib/cjs/presentation-frontend/LocalizationHelper.d.ts +10 -10
  16. package/lib/cjs/presentation-frontend/LocalizationHelper.js +31 -31
  17. package/lib/cjs/presentation-frontend/LocalizationHelper.js.map +1 -1
  18. package/lib/cjs/presentation-frontend/Presentation.d.ts +73 -75
  19. package/lib/cjs/presentation-frontend/Presentation.d.ts.map +1 -1
  20. package/lib/cjs/presentation-frontend/Presentation.js +159 -162
  21. package/lib/cjs/presentation-frontend/Presentation.js.map +1 -1
  22. package/lib/cjs/presentation-frontend/PresentationManager.d.ts +207 -186
  23. package/lib/cjs/presentation-frontend/PresentationManager.d.ts.map +1 -1
  24. package/lib/cjs/presentation-frontend/PresentationManager.js +442 -436
  25. package/lib/cjs/presentation-frontend/PresentationManager.js.map +1 -1
  26. package/lib/cjs/presentation-frontend/RulesetManager.d.ts +63 -63
  27. package/lib/cjs/presentation-frontend/RulesetManager.js +85 -85
  28. package/lib/cjs/presentation-frontend/RulesetManager.js.map +1 -1
  29. package/lib/cjs/presentation-frontend/RulesetVariablesManager.d.ts +143 -143
  30. package/lib/cjs/presentation-frontend/RulesetVariablesManager.js +195 -195
  31. package/lib/cjs/presentation-frontend/RulesetVariablesManager.js.map +1 -1
  32. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +132 -132
  33. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts.map +1 -1
  34. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +527 -525
  35. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
  36. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.d.ts +111 -111
  37. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js +290 -293
  38. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js.map +1 -1
  39. package/lib/cjs/presentation-frontend/selection/HiliteRules.json +172 -172
  40. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.d.ts +52 -52
  41. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js +97 -97
  42. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
  43. package/lib/cjs/presentation-frontend/selection/ISelectionProvider.d.ts +19 -19
  44. package/lib/cjs/presentation-frontend/selection/ISelectionProvider.js +9 -9
  45. package/lib/cjs/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
  46. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.d.ts +52 -52
  47. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js +33 -33
  48. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
  49. package/lib/cjs/presentation-frontend/selection/SelectionHandler.d.ts +103 -103
  50. package/lib/cjs/presentation-frontend/selection/SelectionHandler.js +108 -108
  51. package/lib/cjs/presentation-frontend/selection/SelectionHandler.js.map +1 -1
  52. package/lib/cjs/presentation-frontend/selection/SelectionHelper.d.ts +17 -14
  53. package/lib/cjs/presentation-frontend/selection/SelectionHelper.d.ts.map +1 -1
  54. package/lib/cjs/presentation-frontend/selection/SelectionHelper.js +40 -37
  55. package/lib/cjs/presentation-frontend/selection/SelectionHelper.js.map +1 -1
  56. package/lib/cjs/presentation-frontend/selection/SelectionManager.d.ts +139 -139
  57. package/lib/cjs/presentation-frontend/selection/SelectionManager.js +414 -414
  58. package/lib/cjs/presentation-frontend/selection/SelectionManager.js.map +1 -1
  59. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.d.ts +59 -59
  60. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js +91 -91
  61. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
  62. package/lib/cjs/presentation-frontend.d.ts +33 -34
  63. package/lib/cjs/presentation-frontend.d.ts.map +1 -1
  64. package/lib/cjs/presentation-frontend.js +53 -50
  65. package/lib/cjs/presentation-frontend.js.map +1 -1
  66. package/lib/esm/presentation-frontend/ConnectivityInformationProvider.d.ts +29 -29
  67. package/lib/esm/presentation-frontend/ConnectivityInformationProvider.js +43 -43
  68. package/lib/esm/presentation-frontend/ConnectivityInformationProvider.js.map +1 -1
  69. package/lib/esm/presentation-frontend/Diagnostics.d.ts +14 -14
  70. package/lib/esm/presentation-frontend/Diagnostics.js +56 -56
  71. package/lib/esm/presentation-frontend/Diagnostics.js.map +1 -1
  72. package/lib/esm/presentation-frontend/FrontendLoggerCategory.d.ts +12 -12
  73. package/lib/esm/presentation-frontend/FrontendLoggerCategory.js +17 -17
  74. package/lib/esm/presentation-frontend/FrontendLoggerCategory.js.map +1 -1
  75. package/lib/esm/presentation-frontend/IpcRequestsHandler.d.ts +9 -10
  76. package/lib/esm/presentation-frontend/IpcRequestsHandler.d.ts.map +1 -1
  77. package/lib/esm/presentation-frontend/IpcRequestsHandler.js +28 -37
  78. package/lib/esm/presentation-frontend/IpcRequestsHandler.js.map +1 -1
  79. package/lib/esm/presentation-frontend/LocalizationHelper.d.ts +10 -10
  80. package/lib/esm/presentation-frontend/LocalizationHelper.js +27 -27
  81. package/lib/esm/presentation-frontend/LocalizationHelper.js.map +1 -1
  82. package/lib/esm/presentation-frontend/Presentation.d.ts +73 -75
  83. package/lib/esm/presentation-frontend/Presentation.d.ts.map +1 -1
  84. package/lib/esm/presentation-frontend/Presentation.js +155 -158
  85. package/lib/esm/presentation-frontend/Presentation.js.map +1 -1
  86. package/lib/esm/presentation-frontend/PresentationManager.d.ts +207 -186
  87. package/lib/esm/presentation-frontend/PresentationManager.d.ts.map +1 -1
  88. package/lib/esm/presentation-frontend/PresentationManager.js +437 -431
  89. package/lib/esm/presentation-frontend/PresentationManager.js.map +1 -1
  90. package/lib/esm/presentation-frontend/RulesetManager.d.ts +63 -63
  91. package/lib/esm/presentation-frontend/RulesetManager.js +81 -81
  92. package/lib/esm/presentation-frontend/RulesetManager.js.map +1 -1
  93. package/lib/esm/presentation-frontend/RulesetVariablesManager.d.ts +143 -143
  94. package/lib/esm/presentation-frontend/RulesetVariablesManager.js +191 -191
  95. package/lib/esm/presentation-frontend/RulesetVariablesManager.js.map +1 -1
  96. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +132 -132
  97. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts.map +1 -1
  98. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +522 -519
  99. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
  100. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.d.ts +111 -111
  101. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js +282 -285
  102. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js.map +1 -1
  103. package/lib/esm/presentation-frontend/selection/HiliteRules.json +172 -172
  104. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.d.ts +52 -52
  105. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js +93 -93
  106. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
  107. package/lib/esm/presentation-frontend/selection/ISelectionProvider.d.ts +19 -19
  108. package/lib/esm/presentation-frontend/selection/ISelectionProvider.js +8 -8
  109. package/lib/esm/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
  110. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.d.ts +52 -52
  111. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js +29 -29
  112. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
  113. package/lib/esm/presentation-frontend/selection/SelectionHandler.d.ts +103 -103
  114. package/lib/esm/presentation-frontend/selection/SelectionHandler.js +104 -104
  115. package/lib/esm/presentation-frontend/selection/SelectionHandler.js.map +1 -1
  116. package/lib/esm/presentation-frontend/selection/SelectionHelper.d.ts +17 -14
  117. package/lib/esm/presentation-frontend/selection/SelectionHelper.d.ts.map +1 -1
  118. package/lib/esm/presentation-frontend/selection/SelectionHelper.js +36 -33
  119. package/lib/esm/presentation-frontend/selection/SelectionHelper.js.map +1 -1
  120. package/lib/esm/presentation-frontend/selection/SelectionManager.d.ts +139 -139
  121. package/lib/esm/presentation-frontend/selection/SelectionManager.js +409 -409
  122. package/lib/esm/presentation-frontend/selection/SelectionManager.js.map +1 -1
  123. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.d.ts +59 -59
  124. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js +85 -85
  125. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
  126. package/lib/esm/presentation-frontend.d.ts +33 -34
  127. package/lib/esm/presentation-frontend.d.ts.map +1 -1
  128. package/lib/esm/presentation-frontend.js +37 -38
  129. package/lib/esm/presentation-frontend.js.map +1 -1
  130. package/package.json +23 -22
  131. package/lib/cjs/presentation-frontend/StateTracker.d.ts +0 -39
  132. package/lib/cjs/presentation-frontend/StateTracker.d.ts.map +0 -1
  133. package/lib/cjs/presentation-frontend/StateTracker.js +0 -130
  134. package/lib/cjs/presentation-frontend/StateTracker.js.map +0 -1
  135. package/lib/esm/presentation-frontend/StateTracker.d.ts +0 -39
  136. package/lib/esm/presentation-frontend/StateTracker.d.ts.map +0 -1
  137. package/lib/esm/presentation-frontend/StateTracker.js +0 -126
  138. package/lib/esm/presentation-frontend/StateTracker.js.map +0 -1
@@ -1,187 +1,208 @@
1
- /** @packageDocumentation
2
- * @module Core
3
- */
4
- import { BeEvent, IDisposable } from "@itwin/core-bentley";
5
- import { IModelConnection } from "@itwin/core-frontend";
6
- import { UnitSystemKey } from "@itwin/core-quantity";
7
- import { ClientDiagnosticsAttribute, Content, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, ContentUpdateInfo, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, HierarchyUpdateInfo, InstanceKey, KeySet, LabelDefinition, Node, NodeKey, NodePathElement, Paged, PagedResponse, PageOptions, RpcRequestsHandler, RulesetVariable, SelectClassInfo, SingleElementPropertiesRequestOptions } from "@itwin/presentation-common";
8
- import { IpcRequestsHandler } from "./IpcRequestsHandler";
9
- import { RulesetManager } from "./RulesetManager";
10
- import { RulesetVariablesManager } from "./RulesetVariablesManager";
11
- import { StateTracker } from "./StateTracker";
12
- /**
13
- * Data structure that describes IModel hierarchy change event arguments.
14
- * @alpha
15
- */
16
- export interface IModelHierarchyChangeEventArgs {
17
- /** Id of ruleset that was used to create hierarchy. */
18
- rulesetId: string;
19
- /** Hierarchy changes info. */
20
- updateInfo: HierarchyUpdateInfo;
21
- /** Key of iModel that was used to create hierarchy. It matches [[IModelConnection.key]] property. */
22
- imodelKey: string;
23
- }
24
- /**
25
- * Data structure that describes iModel content change event arguments.
26
- * @alpha
27
- */
28
- export interface IModelContentChangeEventArgs {
29
- /** Id of ruleset that was used to create content. */
30
- rulesetId: string;
31
- /** Content changes info. */
32
- updateInfo: ContentUpdateInfo;
33
- /** Key of iModel that was used to create content. It matches [[IModelConnection.key]] property. */
34
- imodelKey: string;
35
- }
36
- /**
37
- * Properties used to configure [[PresentationManager]]
38
- * @public
39
- */
40
- export interface PresentationManagerProps {
41
- /**
42
- * Sets the active locale to use when localizing presentation-related
43
- * strings. It can later be changed through [[PresentationManager]].
44
- */
45
- activeLocale?: string;
46
- /**
47
- * Sets the active unit system to use for formatting property values with
48
- * units. Default presentation units are used if this is not specified. The active unit
49
- * system can later be changed through [[PresentationManager]] or overriden for each request.
50
- */
51
- activeUnitSystem?: UnitSystemKey;
52
- /**
53
- * ID used to identify client that requests data. Generally, clients should
54
- * store this ID in their local storage so the ID can be reused across
55
- * sessions - this allows reusing some caches.
56
- *
57
- * Defaults to a unique GUID as a client id.
58
- */
59
- clientId?: string;
60
- /** @internal */
61
- rpcRequestsHandler?: RpcRequestsHandler;
62
- /** @internal */
63
- ipcRequestsHandler?: IpcRequestsHandler;
64
- /** @internal */
65
- stateTracker?: StateTracker;
66
- }
67
- /**
68
- * Frontend Presentation manager which basically just forwards all calls to
69
- * the backend implementation.
70
- *
71
- * @public
72
- */
73
- export declare class PresentationManager implements IDisposable {
74
- private _requestsHandler;
75
- private _rulesets;
76
- private _localizationHelper;
77
- private _rulesetVars;
78
- private _clearEventListener?;
79
- private _connections;
80
- private _ipcRequestsHandler?;
81
- private _stateTracker?;
82
- /**
83
- * An event raised when hierarchies created using specific ruleset change
84
- * @alpha
85
- */
86
- onIModelHierarchyChanged: BeEvent<(args: IModelHierarchyChangeEventArgs) => void>;
87
- /**
88
- * An event raised when content created using specific ruleset changes
89
- * @alpha
90
- */
91
- onIModelContentChanged: BeEvent<(args: IModelContentChangeEventArgs) => void>;
92
- /** Get / set active unit system used to format property values with units */
93
- activeUnitSystem: UnitSystemKey | undefined;
94
- private constructor();
95
- /** Get / set active locale used for localizing presentation data */
96
- get activeLocale(): string | undefined;
97
- set activeLocale(locale: string | undefined);
98
- dispose(): void;
99
- private onConnection;
100
- private initializeIModel;
101
- private onUpdate;
102
- /** @note This is only called in native apps after changes in iModels */
103
- private handleUpdateAsync;
104
- /** Function that is called when a new IModelConnection is used to retrieve data.
105
- * @internal
106
- */
107
- onNewiModelConnection(_: IModelConnection): Promise<void>;
108
- /**
109
- * Create a new PresentationManager instance
110
- * @param props Optional properties used to configure the manager
111
- */
112
- static create(props?: PresentationManagerProps): PresentationManager;
113
- /** @internal */
114
- get rpcRequestsHandler(): RpcRequestsHandler;
115
- /** @internal */
116
- get ipcRequestsHandler(): IpcRequestsHandler | undefined;
117
- /** @internal */
118
- get stateTracker(): StateTracker | undefined;
119
- /**
120
- * Get rulesets manager
121
- */
122
- rulesets(): RulesetManager;
123
- /**
124
- * Get ruleset variables manager for specific ruleset
125
- * @param rulesetId Id of the ruleset to get the vars manager for
126
- */
127
- vars(rulesetId: string): RulesetVariablesManager;
128
- private toRpcTokenOptions;
129
- private addRulesetAndVariablesToOptions;
130
- /** Retrieves nodes */
131
- getNodes(requestOptions: Paged<HierarchyRequestOptions<IModelConnection, NodeKey, RulesetVariable>> & ClientDiagnosticsAttribute): Promise<Node[]>;
132
- /** Retrieves nodes count. */
133
- getNodesCount(requestOptions: HierarchyRequestOptions<IModelConnection, NodeKey, RulesetVariable> & ClientDiagnosticsAttribute): Promise<number>;
134
- /** Retrieves total nodes count and a single page of nodes. */
135
- getNodesAndCount(requestOptions: Paged<HierarchyRequestOptions<IModelConnection, NodeKey, RulesetVariable>> & ClientDiagnosticsAttribute): Promise<{
136
- count: number;
137
- nodes: Node[];
138
- }>;
139
- /**
140
- * Retrieves hierarchy level descriptor.
141
- * @beta
142
- */
143
- getNodesDescriptor(requestOptions: HierarchyLevelDescriptorRequestOptions<IModelConnection, NodeKey, RulesetVariable> & ClientDiagnosticsAttribute): Promise<Descriptor | undefined>;
144
- /** Retrieves paths from root nodes to children nodes according to specified keys. Intersecting paths will be merged. */
145
- getNodePaths(requestOptions: FilterByInstancePathsHierarchyRequestOptions<IModelConnection, RulesetVariable> & ClientDiagnosticsAttribute): Promise<NodePathElement[]>;
146
- /** Retrieves paths from root nodes to nodes containing filter text in their label. */
147
- getFilteredNodePaths(requestOptions: FilterByTextHierarchyRequestOptions<IModelConnection, RulesetVariable> & ClientDiagnosticsAttribute): Promise<NodePathElement[]>;
148
- /**
149
- * Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,
150
- * its related instances for loading related and navigation properties.
151
- * @public
152
- */
153
- getContentSources(requestOptions: ContentSourcesRequestOptions<IModelConnection> & ClientDiagnosticsAttribute): Promise<SelectClassInfo[]>;
154
- /** Retrieves the content descriptor which describes the content and can be used to customize it. */
155
- getContentDescriptor(requestOptions: ContentDescriptorRequestOptions<IModelConnection, KeySet, RulesetVariable> & ClientDiagnosticsAttribute): Promise<Descriptor | undefined>;
156
- /** Retrieves overall content set size. */
157
- getContentSetSize(requestOptions: ContentRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable> & ClientDiagnosticsAttribute): Promise<number>;
158
- /** Retrieves content which consists of a content descriptor and a page of records. */
159
- getContent(requestOptions: Paged<ContentRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>> & ClientDiagnosticsAttribute): Promise<Content | undefined>;
160
- /** Retrieves content set size and content which consists of a content descriptor and a page of records. */
161
- getContentAndSize(requestOptions: Paged<ContentRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>> & ClientDiagnosticsAttribute): Promise<{
162
- content: Content;
163
- size: number;
164
- } | undefined>;
165
- /** Retrieves distinct values of specific field from the content. */
166
- getPagedDistinctValues(requestOptions: DistinctValuesRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable> & ClientDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>>;
167
- /**
168
- * Retrieves property data in a simplified format for a single element specified by ID.
169
- * @public
170
- */
171
- getElementProperties(requestOptions: SingleElementPropertiesRequestOptions<IModelConnection> & ClientDiagnosticsAttribute): Promise<ElementProperties | undefined>;
172
- /**
173
- * Retrieves content item instance keys.
174
- * @public
175
- */
176
- getContentInstanceKeys(requestOptions: ContentInstanceKeysRequestOptions<IModelConnection, KeySet, RulesetVariable> & ClientDiagnosticsAttribute): Promise<{
177
- total: number;
178
- items: () => AsyncGenerator<InstanceKey>;
179
- }>;
180
- /** Retrieves display label definition of specific item. */
181
- getDisplayLabelDefinition(requestOptions: DisplayLabelRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute): Promise<LabelDefinition>;
182
- /** Retrieves display label definition of specific items. */
183
- getDisplayLabelDefinitions(requestOptions: DisplayLabelsRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute): Promise<LabelDefinition[]>;
184
- }
185
- /** @internal */
186
- export declare const buildPagedArrayResponse: <TItem>(requestedPage: PageOptions | undefined, getter: (page: Required<PageOptions>, requestIndex: number) => Promise<PagedResponse<TItem>>) => Promise<PagedResponse<TItem>>;
1
+ /** @packageDocumentation
2
+ * @module Core
3
+ */
4
+ import { BeEvent, IDisposable } from "@itwin/core-bentley";
5
+ import { IModelConnection } from "@itwin/core-frontend";
6
+ import { UnitSystemKey } from "@itwin/core-quantity";
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, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, HierarchyUpdateInfo, InstanceKey, KeySet, LabelDefinition, Node, NodeKey, NodePathElement, Paged, PagedResponse, PageOptions, RpcRequestsHandler, RulesetVariable, SelectClassInfo, SingleElementPropertiesRequestOptions } from "@itwin/presentation-common";
9
+ import { IpcRequestsHandler } from "./IpcRequestsHandler";
10
+ import { RulesetManager } from "./RulesetManager";
11
+ import { RulesetVariablesManager } from "./RulesetVariablesManager";
12
+ /**
13
+ * Data structure that describes IModel hierarchy change event arguments.
14
+ * @alpha
15
+ */
16
+ export interface IModelHierarchyChangeEventArgs {
17
+ /** Id of ruleset that was used to create hierarchy. */
18
+ rulesetId: string;
19
+ /** Hierarchy changes info. */
20
+ updateInfo: HierarchyUpdateInfo;
21
+ /** Key of iModel that was used to create hierarchy. It matches [[IModelConnection.key]] property. */
22
+ imodelKey: string;
23
+ }
24
+ /**
25
+ * Data structure that describes iModel content change event arguments.
26
+ * @alpha
27
+ */
28
+ export interface IModelContentChangeEventArgs {
29
+ /** Id of ruleset that was used to create content. */
30
+ rulesetId: string;
31
+ /** Content changes info. */
32
+ updateInfo: ContentUpdateInfo;
33
+ /** Key of iModel that was used to create content. It matches [[IModelConnection.key]] property. */
34
+ imodelKey: string;
35
+ }
36
+ /**
37
+ * Properties used to configure [[PresentationManager]]
38
+ * @public
39
+ */
40
+ export interface PresentationManagerProps {
41
+ /**
42
+ * Sets the active locale to use when localizing presentation-related
43
+ * strings. It can later be changed through [[PresentationManager]].
44
+ */
45
+ activeLocale?: string;
46
+ /**
47
+ * Sets the active unit system to use for formatting property values with
48
+ * units. The value can later be changed through [[PresentationManager.activeUnitSystem]] setter or
49
+ * overriden for each request through request parameters. If not set, `IModelApp.quantityFormatter.activeUnitSystem`
50
+ * is used by default.
51
+ *
52
+ * @deprecated in 4.0. Use [IModelApp.quantityFormatter]($core-frontend) to set the active unit system.
53
+ */
54
+ activeUnitSystem?: UnitSystemKey;
55
+ /**
56
+ * ID used to identify client that requests data. Generally, clients should
57
+ * store this ID in their local storage so the ID can be reused across
58
+ * sessions - this allows reusing some caches.
59
+ *
60
+ * Defaults to a unique GUID as a client id.
61
+ */
62
+ clientId?: string;
63
+ /**
64
+ * Timeout (in milliseconds) for how long we're going to wait for RPC request to be fulfilled before throwing
65
+ * a timeout error.
66
+ *
67
+ * Defaults to 10 minutes.
68
+ */
69
+ requestTimeout?: number;
70
+ /**
71
+ * Callback that provides [SchemaContext]($ecschema-metadata) for supplied [IModelConnection]($core-frontend).
72
+ * [SchemaContext]($ecschema-metadata) is used for getting metadata required for values formatting.
73
+ * @alpha
74
+ */
75
+ schemaContextProvider?: (imodel: IModelConnection) => SchemaContext;
76
+ /** @internal */
77
+ rpcRequestsHandler?: RpcRequestsHandler;
78
+ /** @internal */
79
+ ipcRequestsHandler?: IpcRequestsHandler;
80
+ }
81
+ /**
82
+ * Frontend Presentation manager which basically just forwards all calls to
83
+ * the backend implementation.
84
+ *
85
+ * @public
86
+ */
87
+ export declare class PresentationManager implements IDisposable {
88
+ private _requestsHandler;
89
+ private _rulesets;
90
+ private _localizationHelper;
91
+ private _explicitActiveUnitSystem;
92
+ private _rulesetVars;
93
+ private _clearEventListener?;
94
+ private _connections;
95
+ private _schemaContextProvider?;
96
+ private _ipcRequestsHandler?;
97
+ /**
98
+ * An event raised when hierarchies created using specific ruleset change
99
+ * @alpha
100
+ */
101
+ onIModelHierarchyChanged: BeEvent<(args: IModelHierarchyChangeEventArgs) => void>;
102
+ /**
103
+ * An event raised when content created using specific ruleset changes
104
+ * @alpha
105
+ */
106
+ onIModelContentChanged: BeEvent<(args: IModelContentChangeEventArgs) => void>;
107
+ /**
108
+ * Get / set active unit system used to format property values with units.
109
+ *
110
+ * @deprecated in 4.0. `IModelApp.quantityFormatter` should be used to get/set the active unit system. At the moment
111
+ * [[PresentationManager]] allows overriding it, but returns `IModelApp.quantityFormatter.activeUnitSystem` if override
112
+ * is not set.
113
+ */
114
+ get activeUnitSystem(): UnitSystemKey;
115
+ set activeUnitSystem(value: UnitSystemKey | undefined);
116
+ private constructor();
117
+ /** Get / set active locale used for localizing presentation data */
118
+ get activeLocale(): string | undefined;
119
+ set activeLocale(locale: string | undefined);
120
+ dispose(): void;
121
+ private onConnection;
122
+ private initializeIModel;
123
+ private onUpdate;
124
+ /** @note This is only called in native apps after changes in iModels */
125
+ private handleUpdateAsync;
126
+ /**
127
+ * Function that is called when a new IModelConnection is used to retrieve data.
128
+ * @internal
129
+ */
130
+ onNewiModelConnection(_: IModelConnection): Promise<void>;
131
+ /**
132
+ * Create a new PresentationManager instance
133
+ * @param props Optional properties used to configure the manager
134
+ */
135
+ static create(props?: PresentationManagerProps): PresentationManager;
136
+ /** @internal */
137
+ get rpcRequestsHandler(): RpcRequestsHandler;
138
+ /** @internal */
139
+ get ipcRequestsHandler(): IpcRequestsHandler | undefined;
140
+ /**
141
+ * Get rulesets manager
142
+ */
143
+ rulesets(): RulesetManager;
144
+ /**
145
+ * Get ruleset variables manager for specific ruleset
146
+ * @param rulesetId Id of the ruleset to get the vars manager for
147
+ */
148
+ vars(rulesetId: string): RulesetVariablesManager;
149
+ private toRpcTokenOptions;
150
+ private addRulesetAndVariablesToOptions;
151
+ /** Retrieves nodes */
152
+ getNodes(requestOptions: Paged<HierarchyRequestOptions<IModelConnection, NodeKey, RulesetVariable>> & ClientDiagnosticsAttribute): Promise<Node[]>;
153
+ /** Retrieves nodes count. */
154
+ getNodesCount(requestOptions: HierarchyRequestOptions<IModelConnection, NodeKey, RulesetVariable> & ClientDiagnosticsAttribute): Promise<number>;
155
+ /** Retrieves total nodes count and a single page of nodes. */
156
+ getNodesAndCount(requestOptions: Paged<HierarchyRequestOptions<IModelConnection, NodeKey, RulesetVariable>> & ClientDiagnosticsAttribute): Promise<{
157
+ count: number;
158
+ nodes: Node[];
159
+ }>;
160
+ /**
161
+ * Retrieves hierarchy level descriptor.
162
+ * @beta
163
+ */
164
+ getNodesDescriptor(requestOptions: HierarchyLevelDescriptorRequestOptions<IModelConnection, NodeKey, RulesetVariable> & ClientDiagnosticsAttribute): Promise<Descriptor | undefined>;
165
+ /** Retrieves paths from root nodes to children nodes according to specified keys. Intersecting paths will be merged. */
166
+ getNodePaths(requestOptions: FilterByInstancePathsHierarchyRequestOptions<IModelConnection, RulesetVariable> & ClientDiagnosticsAttribute): Promise<NodePathElement[]>;
167
+ /** Retrieves paths from root nodes to nodes containing filter text in their label. */
168
+ getFilteredNodePaths(requestOptions: FilterByTextHierarchyRequestOptions<IModelConnection, RulesetVariable> & ClientDiagnosticsAttribute): Promise<NodePathElement[]>;
169
+ /**
170
+ * Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,
171
+ * its related instances for loading related and navigation properties.
172
+ * @public
173
+ */
174
+ getContentSources(requestOptions: ContentSourcesRequestOptions<IModelConnection> & ClientDiagnosticsAttribute): Promise<SelectClassInfo[]>;
175
+ /** Retrieves the content descriptor which describes the content and can be used to customize it. */
176
+ getContentDescriptor(requestOptions: ContentDescriptorRequestOptions<IModelConnection, KeySet, RulesetVariable> & ClientDiagnosticsAttribute): Promise<Descriptor | undefined>;
177
+ /** Retrieves overall content set size. */
178
+ getContentSetSize(requestOptions: ContentRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable> & ClientDiagnosticsAttribute): Promise<number>;
179
+ /** Retrieves content which consists of a content descriptor and a page of records. */
180
+ getContent(requestOptions: Paged<ContentRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>> & ClientDiagnosticsAttribute): Promise<Content | undefined>;
181
+ /** Retrieves content set size and content which consists of a content descriptor and a page of records. */
182
+ getContentAndSize(requestOptions: Paged<ContentRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>> & ClientDiagnosticsAttribute): Promise<{
183
+ content: Content;
184
+ size: number;
185
+ } | undefined>;
186
+ /** Retrieves distinct values of specific field from the content. */
187
+ getPagedDistinctValues(requestOptions: DistinctValuesRequestOptions<IModelConnection, Descriptor | DescriptorOverrides, KeySet, RulesetVariable> & ClientDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>>;
188
+ /**
189
+ * Retrieves property data in a simplified format for a single element specified by ID.
190
+ * @public
191
+ */
192
+ getElementProperties(requestOptions: SingleElementPropertiesRequestOptions<IModelConnection> & ClientDiagnosticsAttribute): Promise<ElementProperties | undefined>;
193
+ /**
194
+ * Retrieves content item instance keys.
195
+ * @public
196
+ */
197
+ getContentInstanceKeys(requestOptions: ContentInstanceKeysRequestOptions<IModelConnection, KeySet, RulesetVariable> & ClientDiagnosticsAttribute): Promise<{
198
+ total: number;
199
+ items: () => AsyncGenerator<InstanceKey>;
200
+ }>;
201
+ /** Retrieves display label definition of specific item. */
202
+ getDisplayLabelDefinition(requestOptions: DisplayLabelRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute): Promise<LabelDefinition>;
203
+ /** Retrieves display label definition of specific items. */
204
+ getDisplayLabelDefinitions(requestOptions: DisplayLabelsRequestOptions<IModelConnection, InstanceKey> & ClientDiagnosticsAttribute): Promise<LabelDefinition[]>;
205
+ }
206
+ /** @internal */
207
+ export declare const buildPagedArrayResponse: <TItem>(requestedPage: PageOptions | undefined, getter: (page: Required<PageOptions>, requestIndex: number) => Promise<PagedResponse<TItem>>) => Promise<PagedResponse<TItem>>;
187
208
  //# sourceMappingURL=PresentationManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"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"}