@itwin/presentation-frontend 5.0.0-dev.93 → 5.0.0-dev.95
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/lib/cjs/package.json +1 -1
- 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.js.map +1 -1
- package/lib/cjs/presentation-frontend/LocalizationHelper.js.map +1 -1
- package/lib/cjs/presentation-frontend/Presentation.d.ts +0 -9
- package/lib/cjs/presentation-frontend/Presentation.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/Presentation.js +4 -27
- package/lib/cjs/presentation-frontend/Presentation.js.map +1 -1
- package/lib/cjs/presentation-frontend/PresentationManager.d.ts +3 -17
- package/lib/cjs/presentation-frontend/PresentationManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/PresentationManager.js +23 -31
- package/lib/cjs/presentation-frontend/PresentationManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/RulesetManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/RulesetVariablesManager.d.ts +1 -3
- package/lib/cjs/presentation-frontend/RulesetVariablesManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/RulesetVariablesManager.js +2 -2
- package/lib/cjs/presentation-frontend/RulesetVariablesManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/StreamedResponseGenerator.js.map +1 -1
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +3 -15
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +20 -25
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionHandler.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionHelper.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionManager.d.ts +0 -2
- package/lib/cjs/presentation-frontend/selection/SelectionManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionManager.js +0 -5
- package/lib/cjs/presentation-frontend/selection/SelectionManager.js.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.d.ts +8 -3
- package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.d.ts.map +1 -1
- package/lib/cjs/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
- package/lib/cjs/presentation-frontend.js.map +1 -1
- 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.js.map +1 -1
- package/lib/esm/presentation-frontend/LocalizationHelper.js.map +1 -1
- package/lib/esm/presentation-frontend/Presentation.d.ts +0 -9
- package/lib/esm/presentation-frontend/Presentation.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/Presentation.js +4 -27
- package/lib/esm/presentation-frontend/Presentation.js.map +1 -1
- package/lib/esm/presentation-frontend/PresentationManager.d.ts +3 -17
- package/lib/esm/presentation-frontend/PresentationManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/PresentationManager.js +23 -31
- package/lib/esm/presentation-frontend/PresentationManager.js.map +1 -1
- package/lib/esm/presentation-frontend/RulesetManager.js.map +1 -1
- package/lib/esm/presentation-frontend/RulesetVariablesManager.d.ts +1 -3
- package/lib/esm/presentation-frontend/RulesetVariablesManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/RulesetVariablesManager.js +2 -2
- package/lib/esm/presentation-frontend/RulesetVariablesManager.js.map +1 -1
- package/lib/esm/presentation-frontend/StreamedResponseGenerator.js.map +1 -1
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts +3 -15
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js +20 -25
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesManager.js.map +1 -1
- package/lib/esm/presentation-frontend/favorite-properties/FavoritePropertiesStorage.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/HiliteSetProvider.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/ISelectionProvider.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionChangeEvent.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionHandler.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionHelper.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionManager.d.ts +0 -2
- package/lib/esm/presentation-frontend/selection/SelectionManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionManager.js +0 -5
- package/lib/esm/presentation-frontend/selection/SelectionManager.js.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionScopesManager.d.ts +8 -3
- package/lib/esm/presentation-frontend/selection/SelectionScopesManager.d.ts.map +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js +1 -1
- package/lib/esm/presentation-frontend/selection/SelectionScopesManager.js.map +1 -1
- package/lib/esm/presentation-frontend.js.map +1 -1
- package/package.json +16 -16
|
@@ -13,6 +13,8 @@ import { FrontendLocalizationHelper } from "./LocalizationHelper.js";
|
|
|
13
13
|
import { PresentationManager } from "./PresentationManager.js";
|
|
14
14
|
import { SelectionManager } from "./selection/SelectionManager.js";
|
|
15
15
|
import { SelectionScopesManager } from "./selection/SelectionScopesManager.js";
|
|
16
|
+
import { imodelInitializationHandlers } from "./IModelConnectionInitialization.js";
|
|
17
|
+
import { _presentation_manager_rpcRequestsHandler } from "./InternalSymbols.js";
|
|
16
18
|
let localization;
|
|
17
19
|
let presentationManager;
|
|
18
20
|
let selectionManager; // eslint-disable-line @typescript-eslint/no-deprecated
|
|
@@ -62,7 +64,7 @@ export class Presentation {
|
|
|
62
64
|
...props?.selection,
|
|
63
65
|
scopes: props?.selection?.scopes ??
|
|
64
66
|
new SelectionScopesManager({
|
|
65
|
-
rpcRequestsHandler: presentationManager
|
|
67
|
+
rpcRequestsHandler: presentationManager[_presentation_manager_rpcRequestsHandler],
|
|
66
68
|
localeProvider: () => this.presentation.activeLocale,
|
|
67
69
|
}),
|
|
68
70
|
});
|
|
@@ -73,8 +75,6 @@ export class Presentation {
|
|
|
73
75
|
storage: props?.favorites ? props.favorites.storage : createFavoritePropertiesStorage(DefaultFavoritePropertiesStorageTypes.Noop),
|
|
74
76
|
});
|
|
75
77
|
}
|
|
76
|
-
presentationManager.startIModelInitialization = (imodel) => favoritePropertiesManager?.startConnectionInitialization(imodel);
|
|
77
|
-
presentationManager.ensureIModelInitialized = async (imodel) => favoritePropertiesManager?.ensureInitialized(imodel);
|
|
78
78
|
await FrontendLocalizationHelper.registerNamespaces();
|
|
79
79
|
for (const handler of initializationHandlers) {
|
|
80
80
|
const cleanup = await handler();
|
|
@@ -90,6 +90,7 @@ export class Presentation {
|
|
|
90
90
|
static terminate() {
|
|
91
91
|
terminationHandlers.forEach((handler) => handler());
|
|
92
92
|
terminationHandlers.length = 0;
|
|
93
|
+
imodelInitializationHandlers.clear();
|
|
93
94
|
if (localization) {
|
|
94
95
|
FrontendLocalizationHelper.unregisterNamespaces();
|
|
95
96
|
}
|
|
@@ -121,13 +122,6 @@ export class Presentation {
|
|
|
121
122
|
}
|
|
122
123
|
return presentationManager;
|
|
123
124
|
}
|
|
124
|
-
/** @internal */
|
|
125
|
-
static setPresentationManager(value) {
|
|
126
|
-
if (presentationManager) {
|
|
127
|
-
presentationManager[Symbol.dispose]();
|
|
128
|
-
}
|
|
129
|
-
presentationManager = value;
|
|
130
|
-
}
|
|
131
125
|
/**
|
|
132
126
|
* The singleton [[SelectionManager]].
|
|
133
127
|
*
|
|
@@ -141,14 +135,8 @@ export class Presentation {
|
|
|
141
135
|
}
|
|
142
136
|
return selectionManager;
|
|
143
137
|
}
|
|
144
|
-
/** @internal */
|
|
145
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
146
|
-
static setSelectionManager(value) {
|
|
147
|
-
selectionManager = value;
|
|
148
|
-
}
|
|
149
138
|
/**
|
|
150
139
|
* The singleton [[FavoritePropertiesManager]]
|
|
151
|
-
* @public
|
|
152
140
|
*/
|
|
153
141
|
static get favoriteProperties() {
|
|
154
142
|
if (!favoritePropertiesManager) {
|
|
@@ -156,13 +144,6 @@ export class Presentation {
|
|
|
156
144
|
}
|
|
157
145
|
return favoritePropertiesManager;
|
|
158
146
|
}
|
|
159
|
-
/** @internal */
|
|
160
|
-
static setFavoritePropertiesManager(value) {
|
|
161
|
-
if (favoritePropertiesManager) {
|
|
162
|
-
favoritePropertiesManager[Symbol.dispose]();
|
|
163
|
-
}
|
|
164
|
-
favoritePropertiesManager = value;
|
|
165
|
-
}
|
|
166
147
|
/**
|
|
167
148
|
* The localization manager used by Presentation frontend. Returns the result of `IModelApp.i18n`.
|
|
168
149
|
*/
|
|
@@ -172,9 +153,5 @@ export class Presentation {
|
|
|
172
153
|
}
|
|
173
154
|
return localization;
|
|
174
155
|
}
|
|
175
|
-
/** @internal */
|
|
176
|
-
static setLocalization(value) {
|
|
177
|
-
localization = value;
|
|
178
|
-
}
|
|
179
156
|
}
|
|
180
157
|
//# sourceMappingURL=Presentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation.js","sourceRoot":"","sources":["../../../src/presentation-frontend/Presentation.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { Localization } from \"@itwin/core-common\";\nimport { PresentationError, PresentationStatus } from \"@itwin/presentation-common\";\nimport { FavoritePropertiesManager, FavoritePropertiesManagerProps } from \"./favorite-properties/FavoritePropertiesManager.js\";\nimport { createFavoritePropertiesStorage, DefaultFavoritePropertiesStorageTypes } from \"./favorite-properties/FavoritePropertiesStorage.js\";\nimport { FrontendLocalizationHelper } from \"./LocalizationHelper.js\";\nimport { PresentationManager, PresentationManagerProps } from \"./PresentationManager.js\";\nimport { SelectionManager, SelectionManagerProps } from \"./selection/SelectionManager.js\";\nimport { SelectionScopesManager } from \"./selection/SelectionScopesManager.js\";\n\nlet localization: Localization | undefined;\nlet presentationManager: PresentationManager | undefined;\nlet selectionManager: SelectionManager | undefined; // eslint-disable-line @typescript-eslint/no-deprecated\nlet favoritePropertiesManager: FavoritePropertiesManager | undefined;\nconst initializationHandlers: Array<() => Promise<(() => void) | void>> = [];\nconst terminationHandlers: Array<() => void> = [];\n\n/**\n * Props for initializing [[Presentation]].\n * @public\n */\nexport interface PresentationProps {\n /** Props for [[PresentationManager]]. */\n presentation?: PresentationManagerProps;\n\n /**\n * Props for [[SelectionManager]].\n *\n * @deprecated in 5.0. The whole unified selection system in this package is deprecated in favor of the new\n * [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md) package.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n selection?: Partial<SelectionManagerProps>;\n\n /** Props for [[FavoritePropertiesManager]]. */\n favorites?: FavoritePropertiesManagerProps;\n}\n\n/**\n * Static class used to statically set up Presentation library for the frontend.\n * Basically what it does is:\n * - Create a singleton [[PresentationManager]] instance\n * - Create a singleton [[SelectionManager]] instance\n * - Create a singleton [[FavoritePropertiesManager]]] instance\n *\n * @public\n */\nexport class Presentation {\n /* c8 ignore next */\n private constructor() {}\n\n /**\n * Initializes Presentation library for the frontend.\n *\n * Example:\n * ``` ts\n * [[include:Presentation.Frontend.Initialization]]\n * ```\n *\n * The method should be called after a call to [IModelApp.startup]($core-frontend).\n */\n public static async initialize(props?: PresentationProps): Promise<void> {\n if (!IModelApp.initialized) {\n throw new PresentationError(PresentationStatus.NotInitialized, \"IModelApp.startup must be called before calling Presentation.initialize\");\n }\n if (!localization) {\n localization = IModelApp.localization;\n }\n if (!presentationManager) {\n const managerProps = props?.presentation ?? {};\n if (!managerProps.activeLocale) {\n const languages = Presentation.localization.getLanguageList();\n managerProps.activeLocale = languages.length ? languages[0] : undefined;\n }\n presentationManager = PresentationManager.create(managerProps);\n }\n if (!selectionManager) {\n /* eslint-disable @typescript-eslint/no-deprecated */\n selectionManager = new SelectionManager({\n ...props?.selection,\n scopes:\n props?.selection?.scopes ??\n new SelectionScopesManager({\n rpcRequestsHandler: presentationManager.rpcRequestsHandler,\n localeProvider: () => this.presentation.activeLocale,\n }),\n });\n /* eslint-enable @typescript-eslint/no-deprecated */\n }\n if (!favoritePropertiesManager) {\n favoritePropertiesManager = new FavoritePropertiesManager({\n storage: props?.favorites ? props.favorites.storage : createFavoritePropertiesStorage(DefaultFavoritePropertiesStorageTypes.Noop),\n });\n }\n\n presentationManager.startIModelInitialization = (imodel) => favoritePropertiesManager?.startConnectionInitialization(imodel);\n presentationManager.ensureIModelInitialized = async (imodel) => favoritePropertiesManager?.ensureInitialized(imodel);\n\n await FrontendLocalizationHelper.registerNamespaces();\n for (const handler of initializationHandlers) {\n const cleanup = await handler();\n if (cleanup) {\n terminationHandlers.push(cleanup);\n }\n }\n }\n\n /**\n * Terminates Presentation library frontend. This method should be called\n * before a call to [IModelApp.shutdown]($core-frontend)\n */\n public static terminate(): void {\n terminationHandlers.forEach((handler) => handler());\n terminationHandlers.length = 0;\n\n if (localization) {\n FrontendLocalizationHelper.unregisterNamespaces();\n }\n\n if (presentationManager) {\n presentationManager[Symbol.dispose]();\n }\n presentationManager = undefined;\n\n if (favoritePropertiesManager) {\n favoritePropertiesManager[Symbol.dispose]();\n }\n favoritePropertiesManager = undefined;\n\n if (selectionManager) {\n selectionManager[Symbol.dispose]();\n }\n selectionManager = undefined;\n localization = undefined;\n }\n\n /**\n * Registers an additional handler which will be invoked during Presentation library frontend\n * initialization.\n */\n public static registerInitializationHandler(handler: () => Promise<() => void>): void {\n initializationHandlers.push(handler);\n }\n\n /** The singleton [[PresentationManager]] */\n public static get presentation(): PresentationManager {\n if (!presentationManager) {\n throw new Error(\"Presentation must be first initialized by calling Presentation.initialize\");\n }\n return presentationManager;\n }\n\n /** @internal */\n public static setPresentationManager(value: PresentationManager) {\n if (presentationManager) {\n presentationManager[Symbol.dispose]();\n }\n presentationManager = value;\n }\n\n /**\n * The singleton [[SelectionManager]].\n *\n * @deprecated in 5.0. The whole unified selection system in this package is deprecated in favor of the new\n * [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md) package.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static get selection(): SelectionManager {\n if (!selectionManager) {\n throw new Error(\"Presentation must be first initialized by calling Presentation.initialize\");\n }\n return selectionManager;\n }\n\n /** @internal */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static setSelectionManager(value: SelectionManager) {\n selectionManager = value;\n }\n\n /**\n * The singleton [[FavoritePropertiesManager]]\n * @public\n */\n public static get favoriteProperties(): FavoritePropertiesManager {\n if (!favoritePropertiesManager) {\n throw new Error(\"Favorite Properties must be first initialized by calling Presentation.initialize\");\n }\n return favoritePropertiesManager;\n }\n\n /** @internal */\n public static setFavoritePropertiesManager(value: FavoritePropertiesManager) {\n if (favoritePropertiesManager) {\n favoritePropertiesManager[Symbol.dispose]();\n }\n favoritePropertiesManager = value;\n }\n\n /**\n * The localization manager used by Presentation frontend. Returns the result of `IModelApp.i18n`.\n */\n public static get localization(): Localization {\n if (!localization) {\n throw new Error(\"Presentation must be first initialized by calling Presentation.initialize\");\n }\n return localization;\n }\n\n /** @internal */\n public static setLocalization(value: Localization) {\n localization = value;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Presentation.js","sourceRoot":"","sources":["../../../src/presentation-frontend/Presentation.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { Localization } from \"@itwin/core-common\";\r\nimport { PresentationError, PresentationStatus } from \"@itwin/presentation-common\";\r\nimport { FavoritePropertiesManager, FavoritePropertiesManagerProps } from \"./favorite-properties/FavoritePropertiesManager.js\";\r\nimport { createFavoritePropertiesStorage, DefaultFavoritePropertiesStorageTypes } from \"./favorite-properties/FavoritePropertiesStorage.js\";\r\nimport { FrontendLocalizationHelper } from \"./LocalizationHelper.js\";\r\nimport { PresentationManager, PresentationManagerProps } from \"./PresentationManager.js\";\r\nimport { SelectionManager, SelectionManagerProps } from \"./selection/SelectionManager.js\";\r\nimport { SelectionScopesManager } from \"./selection/SelectionScopesManager.js\";\r\nimport { imodelInitializationHandlers } from \"./IModelConnectionInitialization.js\";\r\nimport { _presentation_manager_rpcRequestsHandler } from \"./InternalSymbols.js\";\r\n\r\nlet localization: Localization | undefined;\r\nlet presentationManager: PresentationManager | undefined;\r\nlet selectionManager: SelectionManager | undefined; // eslint-disable-line @typescript-eslint/no-deprecated\r\nlet favoritePropertiesManager: FavoritePropertiesManager | undefined;\r\nconst initializationHandlers: Array<() => Promise<(() => void) | void>> = [];\r\nconst terminationHandlers: Array<() => void> = [];\r\n\r\n/**\r\n * Props for initializing [[Presentation]].\r\n * @public\r\n */\r\nexport interface PresentationProps {\r\n /** Props for [[PresentationManager]]. */\r\n presentation?: PresentationManagerProps;\r\n\r\n /**\r\n * Props for [[SelectionManager]].\r\n *\r\n * @deprecated in 5.0. The whole unified selection system in this package is deprecated in favor of the new\r\n * [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md) package.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n selection?: Partial<SelectionManagerProps>;\r\n\r\n /** Props for [[FavoritePropertiesManager]]. */\r\n favorites?: FavoritePropertiesManagerProps;\r\n}\r\n\r\n/**\r\n * Static class used to statically set up Presentation library for the frontend.\r\n * Basically what it does is:\r\n * - Create a singleton [[PresentationManager]] instance\r\n * - Create a singleton [[SelectionManager]] instance\r\n * - Create a singleton [[FavoritePropertiesManager]]] instance\r\n *\r\n * @public\r\n */\r\nexport class Presentation {\r\n /* c8 ignore next */\r\n private constructor() {}\r\n\r\n /**\r\n * Initializes Presentation library for the frontend.\r\n *\r\n * Example:\r\n * ``` ts\r\n * [[include:Presentation.Frontend.Initialization]]\r\n * ```\r\n *\r\n * The method should be called after a call to [IModelApp.startup]($core-frontend).\r\n */\r\n public static async initialize(props?: PresentationProps): Promise<void> {\r\n if (!IModelApp.initialized) {\r\n throw new PresentationError(PresentationStatus.NotInitialized, \"IModelApp.startup must be called before calling Presentation.initialize\");\r\n }\r\n if (!localization) {\r\n localization = IModelApp.localization;\r\n }\r\n if (!presentationManager) {\r\n const managerProps = props?.presentation ?? {};\r\n if (!managerProps.activeLocale) {\r\n const languages = Presentation.localization.getLanguageList();\r\n managerProps.activeLocale = languages.length ? languages[0] : undefined;\r\n }\r\n presentationManager = PresentationManager.create(managerProps);\r\n }\r\n if (!selectionManager) {\r\n /* eslint-disable @typescript-eslint/no-deprecated */\r\n selectionManager = new SelectionManager({\r\n ...props?.selection,\r\n scopes:\r\n props?.selection?.scopes ??\r\n new SelectionScopesManager({\r\n rpcRequestsHandler: presentationManager[_presentation_manager_rpcRequestsHandler],\r\n localeProvider: () => this.presentation.activeLocale,\r\n }),\r\n });\r\n /* eslint-enable @typescript-eslint/no-deprecated */\r\n }\r\n if (!favoritePropertiesManager) {\r\n favoritePropertiesManager = new FavoritePropertiesManager({\r\n storage: props?.favorites ? props.favorites.storage : createFavoritePropertiesStorage(DefaultFavoritePropertiesStorageTypes.Noop),\r\n });\r\n }\r\n\r\n await FrontendLocalizationHelper.registerNamespaces();\r\n for (const handler of initializationHandlers) {\r\n const cleanup = await handler();\r\n if (cleanup) {\r\n terminationHandlers.push(cleanup);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Terminates Presentation library frontend. This method should be called\r\n * before a call to [IModelApp.shutdown]($core-frontend)\r\n */\r\n public static terminate(): void {\r\n terminationHandlers.forEach((handler) => handler());\r\n terminationHandlers.length = 0;\r\n\r\n imodelInitializationHandlers.clear();\r\n\r\n if (localization) {\r\n FrontendLocalizationHelper.unregisterNamespaces();\r\n }\r\n\r\n if (presentationManager) {\r\n presentationManager[Symbol.dispose]();\r\n }\r\n presentationManager = undefined;\r\n\r\n if (favoritePropertiesManager) {\r\n favoritePropertiesManager[Symbol.dispose]();\r\n }\r\n favoritePropertiesManager = undefined;\r\n\r\n if (selectionManager) {\r\n selectionManager[Symbol.dispose]();\r\n }\r\n selectionManager = undefined;\r\n localization = undefined;\r\n }\r\n\r\n /**\r\n * Registers an additional handler which will be invoked during Presentation library frontend\r\n * initialization.\r\n */\r\n public static registerInitializationHandler(handler: () => Promise<() => void>): void {\r\n initializationHandlers.push(handler);\r\n }\r\n\r\n /** The singleton [[PresentationManager]] */\r\n public static get presentation(): PresentationManager {\r\n if (!presentationManager) {\r\n throw new Error(\"Presentation must be first initialized by calling Presentation.initialize\");\r\n }\r\n return presentationManager;\r\n }\r\n\r\n /**\r\n * The singleton [[SelectionManager]].\r\n *\r\n * @deprecated in 5.0. The whole unified selection system in this package is deprecated in favor of the new\r\n * [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md) package.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public static get selection(): SelectionManager {\r\n if (!selectionManager) {\r\n throw new Error(\"Presentation must be first initialized by calling Presentation.initialize\");\r\n }\r\n return selectionManager;\r\n }\r\n\r\n /**\r\n * The singleton [[FavoritePropertiesManager]]\r\n */\r\n public static get favoriteProperties(): FavoritePropertiesManager {\r\n if (!favoritePropertiesManager) {\r\n throw new Error(\"Favorite Properties must be first initialized by calling Presentation.initialize\");\r\n }\r\n return favoritePropertiesManager;\r\n }\r\n\r\n /**\r\n * The localization manager used by Presentation frontend. Returns the result of `IModelApp.i18n`.\r\n */\r\n public static get localization(): Localization {\r\n if (!localization) {\r\n throw new Error(\"Presentation must be first initialized by calling Presentation.initialize\");\r\n }\r\n return localization;\r\n }\r\n}\r\n"]}
|
|
@@ -10,6 +10,7 @@ import { RpcRequestsHandler } from "@itwin/presentation-common/internal";
|
|
|
10
10
|
import { IpcRequestsHandler } from "./IpcRequestsHandler.js";
|
|
11
11
|
import { RulesetManager } from "./RulesetManager.js";
|
|
12
12
|
import { RulesetVariablesManager } from "./RulesetVariablesManager.js";
|
|
13
|
+
import { _presentation_manager_ipcRequestsHandler, _presentation_manager_rpcRequestsHandler } from "./InternalSymbols.js";
|
|
13
14
|
/**
|
|
14
15
|
* Data structure that describes IModel hierarchy change event arguments.
|
|
15
16
|
* @public
|
|
@@ -112,10 +113,6 @@ export interface PresentationManagerProps {
|
|
|
112
113
|
* @note Only has effect when frontend value formatting is enabled by supplying the `schemaContextProvider` prop.
|
|
113
114
|
*/
|
|
114
115
|
defaultFormats?: FormatsMap;
|
|
115
|
-
/** @internal */
|
|
116
|
-
rpcRequestsHandler?: RpcRequestsHandler;
|
|
117
|
-
/** @internal */
|
|
118
|
-
ipcRequestsHandler?: IpcRequestsHandler;
|
|
119
116
|
}
|
|
120
117
|
/**
|
|
121
118
|
* Frontend Presentation manager which basically just forwards all calls to
|
|
@@ -160,26 +157,15 @@ export declare class PresentationManager implements Disposable {
|
|
|
160
157
|
private onUpdate;
|
|
161
158
|
/** @note This is only called in native apps after changes in iModels */
|
|
162
159
|
private handleUpdateAsync;
|
|
163
|
-
/**
|
|
164
|
-
* Function that is called when a new IModelConnection is used to retrieve data.
|
|
165
|
-
* @internal
|
|
166
|
-
*/
|
|
167
|
-
startIModelInitialization(_: IModelConnection): void;
|
|
168
|
-
/**
|
|
169
|
-
* Function that should be called to finish initialization that was started at [[PresentationManager.startIModelInitialization]].
|
|
170
|
-
* Can be removed when [[FavoritePropertiesManager.has]] and [[FavoritePropertiesManager.sortFields]] are removed.
|
|
171
|
-
* @internal
|
|
172
|
-
*/
|
|
173
|
-
ensureIModelInitialized(_: IModelConnection): Promise<void>;
|
|
174
160
|
/**
|
|
175
161
|
* Create a new PresentationManager instance
|
|
176
162
|
* @param props Optional properties used to configure the manager
|
|
177
163
|
*/
|
|
178
164
|
static create(props?: PresentationManagerProps): PresentationManager;
|
|
179
165
|
/** @internal */
|
|
180
|
-
get
|
|
166
|
+
get [_presentation_manager_rpcRequestsHandler](): RpcRequestsHandler;
|
|
181
167
|
/** @internal */
|
|
182
|
-
get
|
|
168
|
+
get [_presentation_manager_ipcRequestsHandler](): IpcRequestsHandler | undefined;
|
|
183
169
|
/**
|
|
184
170
|
* Get rulesets manager
|
|
185
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,EAA0C,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAa,gBAAgB,EAAU,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,0BAA0B,EAC1B,OAAO,EACP,+BAA+B,EAE/B,iCAAiC,EACjC,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EAEjB,UAAU,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,4CAA4C,EAC5C,mCAAmC,EACnC,UAAU,EACV,sCAAsC,EACtC,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,IAAI,EAGJ,MAAM,EAEN,eAAe,EACf,IAAI,EACJ,OAAO,EACP,eAAe,EACf,KAAK,EACL,aAAa,EAGb,eAAe,EACf,eAAe,EACf,qCAAqC,EAGtC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,kBAAkB,EACnB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAA+B,MAAM,8BAA8B,CAAC;AAGpG;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,UAAU,EAAE,mBAAmB,CAAC;IAChC,qGAAqG;IACrG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mGAAmG;IACnG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC;IAC/C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,OAAO,EAAE,eAAe,CAAC,GAAG,0BAA0B,CAAC;AAEtI;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,GAAG,mBAAmB,EAAE,MAAM,EAAE,eAAe,CAAC,GACvI,0BAA0B,CAAC;AAE7B;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,CAAC,gBAAgB,EAAE,UAAU,GAAG,mBAAmB,EAAE,MAAM,EAAE,eAAe,CAAC,GACrJ,0BAA0B,CAAC;AAE7B;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,aAAa,CAAC;IAEpE;;;;;OAKG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-frontend/PresentationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ import { FrontendLocalizationHelper } from "./LocalizationHelper.js";
|
|
|
15
15
|
import { RulesetManagerImpl } from "./RulesetManager.js";
|
|
16
16
|
import { RulesetVariablesManagerImpl } from "./RulesetVariablesManager.js";
|
|
17
17
|
import { StreamedResponseGenerator } from "./StreamedResponseGenerator.js";
|
|
18
|
+
import { ensureIModelInitialized, startIModelInitialization } from "./IModelConnectionInitialization.js";
|
|
19
|
+
import { _presentation_manager_ipcRequestsHandler, _presentation_manager_rpcRequestsHandler } from "./InternalSymbols.js";
|
|
18
20
|
/**
|
|
19
21
|
* Frontend Presentation manager which basically just forwards all calls to
|
|
20
22
|
* the backend implementation.
|
|
@@ -58,7 +60,8 @@ export class PresentationManager {
|
|
|
58
60
|
this._explicitActiveUnitSystem = props.activeUnitSystem;
|
|
59
61
|
}
|
|
60
62
|
this._requestsHandler =
|
|
61
|
-
props?.rpcRequestsHandler ??
|
|
63
|
+
props?.rpcRequestsHandler ??
|
|
64
|
+
new RpcRequestsHandler(props ? { clientId: props.clientId, timeout: props.requestTimeout } : undefined);
|
|
62
65
|
this._rulesetVars = new Map();
|
|
63
66
|
this._rulesets = RulesetManagerImpl.create();
|
|
64
67
|
this._localizationHelper = new FrontendLocalizationHelper(props?.activeLocale);
|
|
@@ -115,17 +118,6 @@ export class PresentationManager {
|
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
}
|
|
118
|
-
/**
|
|
119
|
-
* Function that is called when a new IModelConnection is used to retrieve data.
|
|
120
|
-
* @internal
|
|
121
|
-
*/
|
|
122
|
-
startIModelInitialization(_) { }
|
|
123
|
-
/**
|
|
124
|
-
* Function that should be called to finish initialization that was started at [[PresentationManager.startIModelInitialization]].
|
|
125
|
-
* Can be removed when [[FavoritePropertiesManager.has]] and [[FavoritePropertiesManager.sortFields]] are removed.
|
|
126
|
-
* @internal
|
|
127
|
-
*/
|
|
128
|
-
async ensureIModelInitialized(_) { }
|
|
129
121
|
/**
|
|
130
122
|
* Create a new PresentationManager instance
|
|
131
123
|
* @param props Optional properties used to configure the manager
|
|
@@ -134,11 +126,11 @@ export class PresentationManager {
|
|
|
134
126
|
return new PresentationManager(props);
|
|
135
127
|
}
|
|
136
128
|
/** @internal */
|
|
137
|
-
get
|
|
129
|
+
get [_presentation_manager_rpcRequestsHandler]() {
|
|
138
130
|
return this._requestsHandler;
|
|
139
131
|
}
|
|
140
132
|
/** @internal */
|
|
141
|
-
get
|
|
133
|
+
get [_presentation_manager_ipcRequestsHandler]() {
|
|
142
134
|
return this._ipcRequestsHandler;
|
|
143
135
|
}
|
|
144
136
|
/**
|
|
@@ -204,7 +196,7 @@ export class PresentationManager {
|
|
|
204
196
|
}
|
|
205
197
|
/** Returns an iterator that polls nodes asynchronously. */
|
|
206
198
|
async getNodesIterator(requestOptions) {
|
|
207
|
-
|
|
199
|
+
startIModelInitialization(requestOptions.imodel);
|
|
208
200
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
209
201
|
const rpcOptions = this.toRpcTokenOptions({ ...options });
|
|
210
202
|
const generator = new StreamedResponseGenerator({
|
|
@@ -229,7 +221,7 @@ export class PresentationManager {
|
|
|
229
221
|
}
|
|
230
222
|
/** Retrieves nodes count. */
|
|
231
223
|
async getNodesCount(requestOptions) {
|
|
232
|
-
|
|
224
|
+
startIModelInitialization(requestOptions.imodel);
|
|
233
225
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
234
226
|
const rpcOptions = this.toRpcTokenOptions({ ...options });
|
|
235
227
|
return this._requestsHandler.getNodesCount(rpcOptions);
|
|
@@ -250,7 +242,7 @@ export class PresentationManager {
|
|
|
250
242
|
* @public
|
|
251
243
|
*/
|
|
252
244
|
async getNodesDescriptor(requestOptions) {
|
|
253
|
-
|
|
245
|
+
startIModelInitialization(requestOptions.imodel);
|
|
254
246
|
try {
|
|
255
247
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
256
248
|
const rpcOptions = this.toRpcTokenOptions({ ...options });
|
|
@@ -259,12 +251,12 @@ export class PresentationManager {
|
|
|
259
251
|
return descriptor ? this._localizationHelper.getLocalizedContentDescriptor(descriptor) : undefined;
|
|
260
252
|
}
|
|
261
253
|
finally {
|
|
262
|
-
await
|
|
254
|
+
await ensureIModelInitialized(requestOptions.imodel);
|
|
263
255
|
}
|
|
264
256
|
}
|
|
265
257
|
/** Retrieves paths from root nodes to children nodes according to specified keys. Intersecting paths will be merged. */
|
|
266
258
|
async getNodePaths(requestOptions) {
|
|
267
|
-
|
|
259
|
+
startIModelInitialization(requestOptions.imodel);
|
|
268
260
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
269
261
|
const rpcOptions = this.toRpcTokenOptions({ ...options });
|
|
270
262
|
const result = await this._requestsHandler.getNodePaths(rpcOptions);
|
|
@@ -272,7 +264,7 @@ export class PresentationManager {
|
|
|
272
264
|
}
|
|
273
265
|
/** Retrieves paths from root nodes to nodes containing filter text in their label. */
|
|
274
266
|
async getFilteredNodePaths(requestOptions) {
|
|
275
|
-
|
|
267
|
+
startIModelInitialization(requestOptions.imodel);
|
|
276
268
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
277
269
|
const result = await this._requestsHandler.getFilteredNodePaths(this.toRpcTokenOptions(options));
|
|
278
270
|
return result.map((npe) => this._localizationHelper.getLocalizedNodePathElement(npe));
|
|
@@ -283,14 +275,14 @@ export class PresentationManager {
|
|
|
283
275
|
* @public
|
|
284
276
|
*/
|
|
285
277
|
async getContentSources(requestOptions) {
|
|
286
|
-
|
|
278
|
+
startIModelInitialization(requestOptions.imodel);
|
|
287
279
|
const rpcOptions = this.toRpcTokenOptions(requestOptions);
|
|
288
280
|
const result = await this._requestsHandler.getContentSources(rpcOptions);
|
|
289
281
|
return result.sources.map((sourceJson) => SelectClassInfo.fromCompressedJSON(sourceJson, result.classesMap));
|
|
290
282
|
}
|
|
291
283
|
/** Retrieves the content descriptor which describes the content and can be used to customize it. */
|
|
292
284
|
async getContentDescriptor(requestOptions) {
|
|
293
|
-
|
|
285
|
+
startIModelInitialization(requestOptions.imodel);
|
|
294
286
|
try {
|
|
295
287
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
296
288
|
const rpcOptions = this.toRpcTokenOptions({
|
|
@@ -302,12 +294,12 @@ export class PresentationManager {
|
|
|
302
294
|
return descriptor ? this._localizationHelper.getLocalizedContentDescriptor(descriptor) : undefined;
|
|
303
295
|
}
|
|
304
296
|
finally {
|
|
305
|
-
await
|
|
297
|
+
await ensureIModelInitialized(requestOptions.imodel);
|
|
306
298
|
}
|
|
307
299
|
}
|
|
308
300
|
/** Retrieves overall content set size. */
|
|
309
301
|
async getContentSetSize(requestOptions) {
|
|
310
|
-
|
|
302
|
+
startIModelInitialization(requestOptions.imodel);
|
|
311
303
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
312
304
|
const rpcOptions = this.toRpcTokenOptions({
|
|
313
305
|
...options,
|
|
@@ -370,12 +362,12 @@ export class PresentationManager {
|
|
|
370
362
|
}
|
|
371
363
|
/** Retrieves a content descriptor, item count and async generator for the items themselves. */
|
|
372
364
|
async getContentIterator(requestOptions) {
|
|
373
|
-
|
|
365
|
+
startIModelInitialization(requestOptions.imodel);
|
|
374
366
|
const response = await this.getContentIteratorInternal(requestOptions);
|
|
375
367
|
if (!response) {
|
|
376
368
|
return undefined;
|
|
377
369
|
}
|
|
378
|
-
await
|
|
370
|
+
await ensureIModelInitialized(requestOptions.imodel);
|
|
379
371
|
return response;
|
|
380
372
|
}
|
|
381
373
|
/**
|
|
@@ -404,7 +396,7 @@ export class PresentationManager {
|
|
|
404
396
|
}
|
|
405
397
|
/** Returns an iterator that asynchronously polls distinct values of specific field from the content. */
|
|
406
398
|
async getDistinctValuesIterator(requestOptions) {
|
|
407
|
-
|
|
399
|
+
startIModelInitialization(requestOptions.imodel);
|
|
408
400
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
409
401
|
const rpcOptions = {
|
|
410
402
|
...this.toRpcTokenOptions(options),
|
|
@@ -439,7 +431,7 @@ export class PresentationManager {
|
|
|
439
431
|
* @public
|
|
440
432
|
*/
|
|
441
433
|
async getElementProperties(requestOptions) {
|
|
442
|
-
|
|
434
|
+
startIModelInitialization(requestOptions.imodel);
|
|
443
435
|
const { elementId, contentParser, ...optionsNoElementId } = requestOptions;
|
|
444
436
|
const parser = contentParser ?? buildElementProperties;
|
|
445
437
|
const iter = await this.getContentIterator({
|
|
@@ -461,7 +453,7 @@ export class PresentationManager {
|
|
|
461
453
|
* @public
|
|
462
454
|
*/
|
|
463
455
|
async getContentInstanceKeys(requestOptions) {
|
|
464
|
-
|
|
456
|
+
startIModelInitialization(requestOptions.imodel);
|
|
465
457
|
const options = await this.addRulesetAndVariablesToOptions(requestOptions);
|
|
466
458
|
const rpcOptions = {
|
|
467
459
|
...this.toRpcTokenOptions(options),
|
|
@@ -492,14 +484,14 @@ export class PresentationManager {
|
|
|
492
484
|
}
|
|
493
485
|
/** Retrieves display label definition of specific item. */
|
|
494
486
|
async getDisplayLabelDefinition(requestOptions) {
|
|
495
|
-
|
|
487
|
+
startIModelInitialization(requestOptions.imodel);
|
|
496
488
|
const rpcOptions = this.toRpcTokenOptions({ ...requestOptions });
|
|
497
489
|
const result = await this._requestsHandler.getDisplayLabelDefinition(rpcOptions);
|
|
498
490
|
return this._localizationHelper.getLocalizedLabelDefinition(result);
|
|
499
491
|
}
|
|
500
492
|
/** Retrieves display label definition of specific items. */
|
|
501
493
|
async getDisplayLabelDefinitionsIterator(requestOptions) {
|
|
502
|
-
|
|
494
|
+
startIModelInitialization(requestOptions.imodel);
|
|
503
495
|
const rpcOptions = this.toRpcTokenOptions({ ...requestOptions });
|
|
504
496
|
const generator = new StreamedResponseGenerator({
|
|
505
497
|
...requestOptions,
|