@itwin/presentation-frontend 4.0.0-dev.21 → 4.0.0-dev.23

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 (123) hide show
  1. package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.d.ts +29 -29
  2. package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.js +47 -47
  3. package/lib/cjs/presentation-frontend/ConnectivityInformationProvider.js.map +1 -1
  4. package/lib/cjs/presentation-frontend/Diagnostics.d.ts +14 -14
  5. package/lib/cjs/presentation-frontend/Diagnostics.js +61 -61
  6. package/lib/cjs/presentation-frontend/Diagnostics.js.map +1 -1
  7. package/lib/cjs/presentation-frontend/FrontendLoggerCategory.d.ts +12 -12
  8. package/lib/cjs/presentation-frontend/FrontendLoggerCategory.js +20 -20
  9. package/lib/cjs/presentation-frontend/FrontendLoggerCategory.js.map +1 -1
  10. package/lib/cjs/presentation-frontend/IpcRequestsHandler.d.ts +10 -10
  11. package/lib/cjs/presentation-frontend/IpcRequestsHandler.js +41 -41
  12. package/lib/cjs/presentation-frontend/IpcRequestsHandler.js.map +1 -1
  13. package/lib/cjs/presentation-frontend/LocalizationHelper.d.ts +10 -10
  14. package/lib/cjs/presentation-frontend/LocalizationHelper.js +31 -31
  15. package/lib/cjs/presentation-frontend/LocalizationHelper.js.map +1 -1
  16. package/lib/cjs/presentation-frontend/Presentation.d.ts +73 -73
  17. package/lib/cjs/presentation-frontend/Presentation.js +160 -160
  18. package/lib/cjs/presentation-frontend/Presentation.js.map +1 -1
  19. package/lib/cjs/presentation-frontend/PresentationManager.d.ts +186 -186
  20. package/lib/cjs/presentation-frontend/PresentationManager.js +436 -436
  21. package/lib/cjs/presentation-frontend/PresentationManager.js.map +1 -1
  22. package/lib/cjs/presentation-frontend/RulesetManager.d.ts +63 -63
  23. package/lib/cjs/presentation-frontend/RulesetManager.js +85 -85
  24. package/lib/cjs/presentation-frontend/RulesetManager.js.map +1 -1
  25. package/lib/cjs/presentation-frontend/RulesetVariablesManager.d.ts +143 -143
  26. package/lib/cjs/presentation-frontend/RulesetVariablesManager.js +195 -195
  27. package/lib/cjs/presentation-frontend/RulesetVariablesManager.js.map +1 -1
  28. package/lib/cjs/presentation-frontend/StateTracker.d.ts +38 -38
  29. package/lib/cjs/presentation-frontend/StateTracker.js +129 -129
  30. package/lib/cjs/presentation-frontend/StateTracker.js.map +1 -1
  31. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +132 -132
  32. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +525 -525
  33. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
  34. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.d.ts +111 -111
  35. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js +293 -293
  36. package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js.map +1 -1
  37. package/lib/cjs/presentation-frontend/selection/HiliteRules.json +172 -172
  38. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.d.ts +52 -52
  39. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js +97 -97
  40. package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
  41. package/lib/cjs/presentation-frontend/selection/ISelectionProvider.d.ts +19 -19
  42. package/lib/cjs/presentation-frontend/selection/ISelectionProvider.js +9 -9
  43. package/lib/cjs/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
  44. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.d.ts +52 -52
  45. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js +33 -33
  46. package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
  47. package/lib/cjs/presentation-frontend/selection/SelectionHandler.d.ts +103 -103
  48. package/lib/cjs/presentation-frontend/selection/SelectionHandler.js +108 -108
  49. package/lib/cjs/presentation-frontend/selection/SelectionHandler.js.map +1 -1
  50. package/lib/cjs/presentation-frontend/selection/SelectionHelper.d.ts +17 -17
  51. package/lib/cjs/presentation-frontend/selection/SelectionHelper.js +40 -40
  52. package/lib/cjs/presentation-frontend/selection/SelectionHelper.js.map +1 -1
  53. package/lib/cjs/presentation-frontend/selection/SelectionManager.d.ts +139 -139
  54. package/lib/cjs/presentation-frontend/selection/SelectionManager.js +414 -414
  55. package/lib/cjs/presentation-frontend/selection/SelectionManager.js.map +1 -1
  56. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.d.ts +59 -59
  57. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js +91 -91
  58. package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
  59. package/lib/cjs/presentation-frontend.d.ts +34 -34
  60. package/lib/cjs/presentation-frontend.js +50 -50
  61. package/lib/cjs/presentation-frontend.js.map +1 -1
  62. package/lib/esm/presentation-frontend/ConnectivityInformationProvider.d.ts +29 -29
  63. package/lib/esm/presentation-frontend/ConnectivityInformationProvider.js +43 -43
  64. package/lib/esm/presentation-frontend/ConnectivityInformationProvider.js.map +1 -1
  65. package/lib/esm/presentation-frontend/Diagnostics.d.ts +14 -14
  66. package/lib/esm/presentation-frontend/Diagnostics.js +56 -56
  67. package/lib/esm/presentation-frontend/Diagnostics.js.map +1 -1
  68. package/lib/esm/presentation-frontend/FrontendLoggerCategory.d.ts +12 -12
  69. package/lib/esm/presentation-frontend/FrontendLoggerCategory.js +17 -17
  70. package/lib/esm/presentation-frontend/FrontendLoggerCategory.js.map +1 -1
  71. package/lib/esm/presentation-frontend/IpcRequestsHandler.d.ts +10 -10
  72. package/lib/esm/presentation-frontend/IpcRequestsHandler.js +37 -37
  73. package/lib/esm/presentation-frontend/IpcRequestsHandler.js.map +1 -1
  74. package/lib/esm/presentation-frontend/LocalizationHelper.d.ts +10 -10
  75. package/lib/esm/presentation-frontend/LocalizationHelper.js +27 -27
  76. package/lib/esm/presentation-frontend/LocalizationHelper.js.map +1 -1
  77. package/lib/esm/presentation-frontend/Presentation.d.ts +73 -73
  78. package/lib/esm/presentation-frontend/Presentation.js +156 -156
  79. package/lib/esm/presentation-frontend/Presentation.js.map +1 -1
  80. package/lib/esm/presentation-frontend/PresentationManager.d.ts +186 -186
  81. package/lib/esm/presentation-frontend/PresentationManager.js +431 -431
  82. package/lib/esm/presentation-frontend/PresentationManager.js.map +1 -1
  83. package/lib/esm/presentation-frontend/RulesetManager.d.ts +63 -63
  84. package/lib/esm/presentation-frontend/RulesetManager.js +81 -81
  85. package/lib/esm/presentation-frontend/RulesetManager.js.map +1 -1
  86. package/lib/esm/presentation-frontend/RulesetVariablesManager.d.ts +143 -143
  87. package/lib/esm/presentation-frontend/RulesetVariablesManager.js +191 -191
  88. package/lib/esm/presentation-frontend/RulesetVariablesManager.js.map +1 -1
  89. package/lib/esm/presentation-frontend/StateTracker.d.ts +38 -38
  90. package/lib/esm/presentation-frontend/StateTracker.js +125 -125
  91. package/lib/esm/presentation-frontend/StateTracker.js.map +1 -1
  92. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +132 -132
  93. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +519 -519
  94. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
  95. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.d.ts +111 -111
  96. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js +285 -285
  97. package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js.map +1 -1
  98. package/lib/esm/presentation-frontend/selection/HiliteRules.json +172 -172
  99. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.d.ts +52 -52
  100. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js +93 -93
  101. package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
  102. package/lib/esm/presentation-frontend/selection/ISelectionProvider.d.ts +19 -19
  103. package/lib/esm/presentation-frontend/selection/ISelectionProvider.js +8 -8
  104. package/lib/esm/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
  105. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.d.ts +52 -52
  106. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js +29 -29
  107. package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
  108. package/lib/esm/presentation-frontend/selection/SelectionHandler.d.ts +103 -103
  109. package/lib/esm/presentation-frontend/selection/SelectionHandler.js +104 -104
  110. package/lib/esm/presentation-frontend/selection/SelectionHandler.js.map +1 -1
  111. package/lib/esm/presentation-frontend/selection/SelectionHelper.d.ts +17 -17
  112. package/lib/esm/presentation-frontend/selection/SelectionHelper.js +36 -36
  113. package/lib/esm/presentation-frontend/selection/SelectionHelper.js.map +1 -1
  114. package/lib/esm/presentation-frontend/selection/SelectionManager.d.ts +139 -139
  115. package/lib/esm/presentation-frontend/selection/SelectionManager.js +409 -409
  116. package/lib/esm/presentation-frontend/selection/SelectionManager.js.map +1 -1
  117. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.d.ts +59 -59
  118. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js +85 -85
  119. package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
  120. package/lib/esm/presentation-frontend.d.ts +34 -34
  121. package/lib/esm/presentation-frontend.js +38 -38
  122. package/lib/esm/presentation-frontend.js.map +1 -1
  123. package/package.json +14 -14
@@ -1,187 +1,187 @@
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 { 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>>;
187
187
  //# sourceMappingURL=PresentationManager.d.ts.map