@itwin/presentation-backend 3.6.0-dev.7 → 4.0.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -1
- package/LICENSE.md +1 -1
- package/lib/cjs/presentation-backend/NativePlatform.d.ts +8 -3
- package/lib/cjs/presentation-backend/NativePlatform.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/NativePlatform.js +3 -2
- package/lib/cjs/presentation-backend/NativePlatform.js.map +1 -1
- package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts +2 -2
- package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/PresentationIpcHandler.js +3 -3
- package/lib/cjs/presentation-backend/PresentationIpcHandler.js.map +1 -1
- package/lib/cjs/presentation-backend/PresentationManager.d.ts +36 -27
- package/lib/cjs/presentation-backend/PresentationManager.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/PresentationManager.js +23 -4
- package/lib/cjs/presentation-backend/PresentationManager.js.map +1 -1
- package/lib/cjs/presentation-backend/PresentationManagerDetail.d.ts +3 -2
- package/lib/cjs/presentation-backend/PresentationManagerDetail.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/PresentationManagerDetail.js +14 -4
- package/lib/cjs/presentation-backend/PresentationManagerDetail.js.map +1 -1
- package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts +4 -3
- package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/PresentationRpcImpl.js +28 -5
- package/lib/cjs/presentation-backend/PresentationRpcImpl.js.map +1 -1
- package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts +4 -6
- package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/RulesetEmbedder.js +1 -1
- package/lib/cjs/presentation-backend/RulesetEmbedder.js.map +1 -1
- package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts +0 -7
- package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/SelectionScopesHelper.js.map +1 -1
- package/package.json +13 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
# Change Log - @itwin/presentation-backend
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 26 Jan 2023 22:53:28 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 3.5.5
|
|
6
|
+
Thu, 26 Jan 2023 22:53:28 GMT
|
|
7
|
+
|
|
8
|
+
_Version update only_
|
|
9
|
+
|
|
10
|
+
## 3.5.4
|
|
11
|
+
Wed, 18 Jan 2023 15:27:15 GMT
|
|
12
|
+
|
|
13
|
+
_Version update only_
|
|
14
|
+
|
|
15
|
+
## 3.5.3
|
|
16
|
+
Fri, 13 Jan 2023 17:23:07 GMT
|
|
17
|
+
|
|
18
|
+
_Version update only_
|
|
19
|
+
|
|
20
|
+
## 3.5.2
|
|
21
|
+
Wed, 11 Jan 2023 16:46:30 GMT
|
|
22
|
+
|
|
23
|
+
_Version update only_
|
|
24
|
+
|
|
25
|
+
## 3.5.1
|
|
26
|
+
Thu, 15 Dec 2022 16:38:29 GMT
|
|
27
|
+
|
|
28
|
+
_Version update only_
|
|
4
29
|
|
|
5
30
|
## 3.5.0
|
|
6
31
|
Wed, 07 Dec 2022 19:12:37 GMT
|
package/LICENSE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MIT License
|
|
2
2
|
|
|
3
|
-
Copyright © 2017-
|
|
3
|
+
Copyright © 2017-2023 Bentley Systems, Incorporated. All rights reserved.
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
6
|
|
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
import { IModelDb, IModelJsNative } from "@itwin/core-backend";
|
|
5
5
|
import { BeEvent, IDisposable } from "@itwin/core-bentley";
|
|
6
6
|
import { FormatProps } from "@itwin/core-quantity";
|
|
7
|
-
import { DiagnosticsScopeLogs,
|
|
7
|
+
import { DiagnosticsScopeLogs, NodeKey, UpdateInfoJSON, VariableValue, VariableValueTypes } from "@itwin/presentation-common";
|
|
8
8
|
/** @internal */
|
|
9
9
|
export declare enum NativePlatformRequestTypes {
|
|
10
10
|
GetRootNodes = "GetRootNodes",
|
|
11
11
|
GetRootNodesCount = "GetRootNodesCount",
|
|
12
12
|
GetChildren = "GetChildren",
|
|
13
13
|
GetChildrenCount = "GetChildrenCount",
|
|
14
|
+
GetNodesDescriptor = "GetNodesDescriptor",
|
|
14
15
|
GetNodePaths = "GetNodePaths",
|
|
15
16
|
GetFilteredNodePaths = "GetFilteredNodePaths",
|
|
16
17
|
GetContentSources = "GetContentSources",
|
|
@@ -41,7 +42,7 @@ export interface NativePresentationDefaultUnitFormats {
|
|
|
41
42
|
/** @internal */
|
|
42
43
|
export interface NativePresentationKeySetJSON {
|
|
43
44
|
instanceKeys: Array<[string, string[]]>;
|
|
44
|
-
nodeKeys:
|
|
45
|
+
nodeKeys: NodeKey[];
|
|
45
46
|
}
|
|
46
47
|
/** @internal */
|
|
47
48
|
export interface NativePlatformResponse<TResult> {
|
|
@@ -63,7 +64,11 @@ export interface NativePlatformDefinition extends IDisposable {
|
|
|
63
64
|
setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValue): NativePlatformResponse<void>;
|
|
64
65
|
unsetRulesetVariableValue(rulesetId: string, variableId: string): NativePlatformResponse<void>;
|
|
65
66
|
getUpdateInfo(): NativePlatformResponse<UpdateInfoJSON | undefined>;
|
|
66
|
-
updateHierarchyState(db: any, rulesetId: string,
|
|
67
|
+
updateHierarchyState(db: any, rulesetId: string, stateChanges: Array<{
|
|
68
|
+
nodeKey: undefined | NodeKey;
|
|
69
|
+
isExpanded?: boolean;
|
|
70
|
+
instanceFilters?: string[];
|
|
71
|
+
}>): NativePlatformResponse<void>;
|
|
67
72
|
}
|
|
68
73
|
/** @internal */
|
|
69
74
|
export interface DefaultNativePlatformProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativePlatform.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/NativePlatform.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAc,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"NativePlatform.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/NativePlatform.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ var NativePlatformRequestTypes;
|
|
|
18
18
|
NativePlatformRequestTypes["GetRootNodesCount"] = "GetRootNodesCount";
|
|
19
19
|
NativePlatformRequestTypes["GetChildren"] = "GetChildren";
|
|
20
20
|
NativePlatformRequestTypes["GetChildrenCount"] = "GetChildrenCount";
|
|
21
|
+
NativePlatformRequestTypes["GetNodesDescriptor"] = "GetNodesDescriptor";
|
|
21
22
|
NativePlatformRequestTypes["GetNodePaths"] = "GetNodePaths";
|
|
22
23
|
NativePlatformRequestTypes["GetFilteredNodePaths"] = "GetFilteredNodePaths";
|
|
23
24
|
NativePlatformRequestTypes["GetContentSources"] = "GetContentSources";
|
|
@@ -131,8 +132,8 @@ const createDefaultNativePlatform = (props) => {
|
|
|
131
132
|
getUpdateInfo() {
|
|
132
133
|
return this.handleResult(this._nativeAddon.getUpdateInfo());
|
|
133
134
|
}
|
|
134
|
-
updateHierarchyState(db, rulesetId,
|
|
135
|
-
return this.handleResult(this._nativeAddon.updateHierarchyState(db, rulesetId,
|
|
135
|
+
updateHierarchyState(db, rulesetId, stateChanges) {
|
|
136
|
+
return this.handleResult(this._nativeAddon.updateHierarchyState(db, rulesetId, stateChanges));
|
|
136
137
|
}
|
|
137
138
|
};
|
|
138
139
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativePlatform.js","sourceRoot":"","sources":["../../../src/presentation-backend/NativePlatform.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA2E;AAG3E,oEAEoC;AACpC,+DAA2D;AAE3D,gBAAgB;AAChB,IAAY,0BAcX;AAdD,WAAY,0BAA0B;IACpC,2DAA6B,CAAA;IAC7B,qEAAuC,CAAA;IACvC,yDAA2B,CAAA;IAC3B,mEAAqC,CAAA;IACrC,2DAA6B,CAAA;IAC7B,2EAA6C,CAAA;IAC7C,qEAAuC,CAAA;IACvC,2EAA6C,CAAA;IAC7C,qEAAuC,CAAA;IACvC,uDAAyB,CAAA;IACzB,+EAAiD,CAAA;IACjD,iEAAmC,CAAA;IACnC,uEAAyC,CAAA;AAC3C,CAAC,EAdW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAcrC;AAED;;;GAGG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,iDAAiB,CAAA;IACjB,oEAAoC,CAAA;IACpC,4DAA4B,CAAA;IAC5B,sDAAsB,CAAA;AACxB,CAAC,EALW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAKvC;AA0DD,gBAAgB;AACT,MAAM,2BAA2B,GAAG,CAAC,KAAiC,EAAsC,EAAE;IACnH,0EAA0E;IAC1E,+EAA+E;IAC/E,OAAO;QAEL;;YACE,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE,IAAI,EAAE,wCAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC1F,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7G,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/G,CAAC;QACO,SAAS,CAAC,cAAmD;YACnE,QAAQ,cAAc,EAAE;gBACtB,gCAAwD,CAAC,CAAC,OAAO,wCAAkB,CAAC,eAAe,CAAC;gBACpG,qBAAiD,CAAC,CAAC,OAAO,wCAAkB,CAAC,QAAQ,CAAC;gBACtF,OAAO,CAAC,CAAC,OAAO,wCAAkB,CAAC,KAAK,CAAC;aAC1C;QACH,CAAC;QACO,8BAA8B,CAAC,UAAgD;YACrF,MAAM,GAAG,GAKL,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChG,CAAC,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC;QACb,CAAC;QACO,qBAAqB,CAAI,QAAyD;YACxF,MAAM,QAAQ,GAA8B,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAO,EAAE,CAAC;YACzE,IAAI,QAAQ,CAAC,WAAW;gBACtB,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC9C,OAAO,QAAQ,CAAC;QAClB,CAAC;QACO,YAAY,CAAI,QAAyD;YAC/E,IAAI,QAAQ,CAAC,KAAK;gBAChB,MAAM,IAAI,uCAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QACO,gBAAgB,CAAC,QAA4D;YACnF,IAAI,QAAQ,CAAC,KAAK;gBAChB,MAAM,IAAI,uCAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QACM,OAAO;YACZ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QACM,KAAK,CAAC,gBAAgB,CAAC,EAAO;YACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,QAAQ,CAAC,KAAK;gBAChB,MAAM,IAAI,uCAAiB,CAAC,wCAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QACM,uBAAuB,CAAC,WAAqB;YAClD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;QACvF,CAAC;QACM,mCAAmC,CAAC,WAAqB;YAC9D,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC,CAAC;QACnG,CAAC;QACM,cAAc,CAAC,MAAgB;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAClB,MAAM,IAAI,uCAAiB,CAAC,wCAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAC5E,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QACM,WAAW,CAAC,SAAiB;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QACrE,CAAC;QACM,UAAU,CAAC,qBAA6B;YAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChF,CAAC;QACM,aAAa,CAAC,SAAiB,EAAE,IAAY;YAClD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC;QACM,aAAa;YAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;QAClE,CAAC;QACM,KAAK,CAAC,aAAa,CAAC,EAAO,EAAE,OAAe,EAAE,WAAiC;YACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9D,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACrC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACM,uBAAuB,CAAC,SAAiB,EAAE,UAAkB,EAAE,IAAwB;YAC5F,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACnG,CAAC;QACM,uBAAuB,CAAC,SAAiB,EAAE,UAAkB,EAAE,IAAwB,EAAE,KAAwB;YACtH,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9G,CAAC;QACM,yBAAyB,CAAC,SAAiB,EAAE,UAAkB;YACpE,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QACnG,CAAC;QACM,aAAa;YAClB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9D,CAAC;QACM,oBAAoB,CAAC,EAAO,EAAE,SAAiB,EAAE,UAA8C,EAAE,cAAsB;YAC5H,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9G,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AArGW,QAAA,2BAA2B,+BAqGtC","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 { IModelDb, IModelHost, IModelJsNative } from \"@itwin/core-backend\";\r\nimport { BeEvent, IDisposable } from \"@itwin/core-bentley\";\r\nimport { FormatProps } from \"@itwin/core-quantity\";\r\nimport {\r\n DiagnosticsScopeLogs, NodeKeyJSON, PresentationError, PresentationStatus, UpdateInfoJSON, VariableValue, VariableValueJSON, VariableValueTypes,\r\n} from \"@itwin/presentation-common\";\r\nimport { HierarchyCacheMode } from \"./PresentationManager\";\r\n\r\n/** @internal */\r\nexport enum NativePlatformRequestTypes {\r\n GetRootNodes = \"GetRootNodes\",\r\n GetRootNodesCount = \"GetRootNodesCount\",\r\n GetChildren = \"GetChildren\",\r\n GetChildrenCount = \"GetChildrenCount\",\r\n GetNodePaths = \"GetNodePaths\",\r\n GetFilteredNodePaths = \"GetFilteredNodePaths\",\r\n GetContentSources = \"GetContentSources\",\r\n GetContentDescriptor = \"GetContentDescriptor\",\r\n GetContentSetSize = \"GetContentSetSize\",\r\n GetContent = \"GetContent\",\r\n GetPagedDistinctValues = \"GetPagedDistinctValues\",\r\n GetDisplayLabel = \"GetDisplayLabel\",\r\n CompareHierarchies = \"CompareHierarchies\",\r\n}\r\n\r\n/**\r\n * Enumeration of unit systems supported by native presentation manager.\r\n * @internal\r\n */\r\nexport enum NativePresentationUnitSystem {\r\n Metric = \"metric\",\r\n BritishImperial = \"british-imperial\",\r\n UsCustomary = \"us-customary\",\r\n UsSurvey = \"us-survey\",\r\n}\r\n\r\n/** @internal */\r\nexport interface NativePresentationDefaultUnitFormats {\r\n [phenomenon: string]: {\r\n unitSystems: NativePresentationUnitSystem[];\r\n format: FormatProps;\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface NativePresentationKeySetJSON {\r\n instanceKeys: Array<[string, string[]]>;\r\n nodeKeys: NodeKeyJSON[];\r\n}\r\n\r\n/** @internal */\r\nexport interface NativePlatformResponse<TResult> {\r\n result: TResult;\r\n diagnostics?: DiagnosticsScopeLogs;\r\n}\r\n\r\n/** @internal */\r\nexport interface NativePlatformDefinition extends IDisposable {\r\n getImodelAddon(imodel: IModelDb): any;\r\n\r\n setupRulesetDirectories(directories: string[]): NativePlatformResponse<void>;\r\n setupSupplementalRulesetDirectories(directories: string[]): NativePlatformResponse<void>;\r\n\r\n forceLoadSchemas(db: any): Promise<NativePlatformResponse<void>>;\r\n\r\n getRulesets(rulesetId: string): NativePlatformResponse<string>;\r\n addRuleset(serializedRulesetJson: string): NativePlatformResponse<string>;\r\n removeRuleset(rulesetId: string, hash: string): NativePlatformResponse<boolean>;\r\n clearRulesets(): NativePlatformResponse<void>;\r\n\r\n handleRequest(db: any, options: string, cancelEvent?: BeEvent<() => void>): Promise<NativePlatformResponse<string>>;\r\n\r\n getRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes): NativePlatformResponse<VariableValue>;\r\n setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValue): NativePlatformResponse<void>;\r\n unsetRulesetVariableValue(rulesetId: string, variableId: string): NativePlatformResponse<void>;\r\n\r\n getUpdateInfo(): NativePlatformResponse<UpdateInfoJSON | undefined>;\r\n updateHierarchyState(db: any, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string): NativePlatformResponse<void>;\r\n}\r\n\r\n/** @internal */\r\nexport interface DefaultNativePlatformProps {\r\n id: string;\r\n taskAllocationsMap: { [priority: number]: number };\r\n isChangeTrackingEnabled: boolean;\r\n cacheConfig?: IModelJsNative.ECPresentationHierarchyCacheConfig;\r\n contentCacheSize?: number;\r\n workerConnectionCacheSize?: number;\r\n defaultFormats?: NativePresentationDefaultUnitFormats;\r\n useMmap?: boolean | number;\r\n}\r\n\r\n/** @internal */\r\nexport const createDefaultNativePlatform = (props: DefaultNativePlatformProps): new () => NativePlatformDefinition => {\r\n // note the implementation is constructed here to make PresentationManager\r\n // usable without loading the actual addon (if addon is set to something other)\r\n return class implements NativePlatformDefinition {\r\n private _nativeAddon: IModelJsNative.ECPresentationManager;\r\n public constructor() {\r\n const cacheConfig = props.cacheConfig ?? { mode: HierarchyCacheMode.Disk, directory: \"\" };\r\n const defaultFormats = props.defaultFormats ? this.getSerializedDefaultFormatsMap(props.defaultFormats) : {};\r\n this._nativeAddon = new IModelHost.platform.ECPresentationManager({ ...props, cacheConfig, defaultFormats });\r\n }\r\n private getStatus(responseStatus: IModelJsNative.ECPresentationStatus): PresentationStatus {\r\n switch (responseStatus) {\r\n case IModelJsNative.ECPresentationStatus.InvalidArgument: return PresentationStatus.InvalidArgument;\r\n case IModelJsNative.ECPresentationStatus.Canceled: return PresentationStatus.Canceled;\r\n default: return PresentationStatus.Error;\r\n }\r\n }\r\n private getSerializedDefaultFormatsMap(defaultMap: NativePresentationDefaultUnitFormats) {\r\n const res: {\r\n [phenomenon: string]: {\r\n unitSystems: string[];\r\n serializedFormat: string;\r\n };\r\n } = {};\r\n Object.keys(defaultMap).forEach((key) => {\r\n const value = defaultMap[key];\r\n res[key] = { unitSystems: value.unitSystems, serializedFormat: JSON.stringify(value.format) };\r\n });\r\n\r\n return res;\r\n }\r\n private createSuccessResponse<T>(response: IModelJsNative.ECPresentationManagerResponse<T>): NativePlatformResponse<T> {\r\n const retValue: NativePlatformResponse<T> = { result: response.result! };\r\n if (response.diagnostics)\r\n retValue.diagnostics = response.diagnostics;\r\n return retValue;\r\n }\r\n private handleResult<T>(response: IModelJsNative.ECPresentationManagerResponse<T>): NativePlatformResponse<T> {\r\n if (response.error)\r\n throw new PresentationError(this.getStatus(response.error.status), response.error.message);\r\n return this.createSuccessResponse(response);\r\n }\r\n private handleVoidResult(response: IModelJsNative.ECPresentationManagerResponse<void>): NativePlatformResponse<void> {\r\n if (response.error)\r\n throw new PresentationError(this.getStatus(response.error.status), response.error.message);\r\n return this.createSuccessResponse(response);\r\n }\r\n public dispose() {\r\n this._nativeAddon.dispose();\r\n }\r\n public async forceLoadSchemas(db: any): Promise<NativePlatformResponse<void>> {\r\n const response = await this._nativeAddon.forceLoadSchemas(db);\r\n if (response.error)\r\n throw new PresentationError(PresentationStatus.Error, response.error.message);\r\n return this.createSuccessResponse(response);\r\n }\r\n public setupRulesetDirectories(directories: string[]) {\r\n return this.handleVoidResult(this._nativeAddon.setupRulesetDirectories(directories));\r\n }\r\n public setupSupplementalRulesetDirectories(directories: string[]) {\r\n return this.handleVoidResult(this._nativeAddon.setupSupplementalRulesetDirectories(directories));\r\n }\r\n public getImodelAddon(imodel: IModelDb): any {\r\n if (!imodel.nativeDb)\r\n throw new PresentationError(PresentationStatus.InvalidArgument, \"imodel\");\r\n return imodel.nativeDb;\r\n }\r\n public getRulesets(rulesetId: string) {\r\n return this.handleResult(this._nativeAddon.getRulesets(rulesetId));\r\n }\r\n public addRuleset(serializedRulesetJson: string) {\r\n return this.handleResult(this._nativeAddon.addRuleset(serializedRulesetJson));\r\n }\r\n public removeRuleset(rulesetId: string, hash: string) {\r\n return this.handleResult(this._nativeAddon.removeRuleset(rulesetId, hash));\r\n }\r\n public clearRulesets() {\r\n return this.handleVoidResult(this._nativeAddon.clearRulesets());\r\n }\r\n public async handleRequest(db: any, options: string, cancelEvent?: BeEvent<() => void>) {\r\n const response = this._nativeAddon.handleRequest(db, options);\r\n cancelEvent?.addOnce(() => response.cancel());\r\n const result = await response.result;\r\n return this.handleResult(result);\r\n }\r\n public getRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes) {\r\n return this.handleResult(this._nativeAddon.getRulesetVariableValue(rulesetId, variableId, type));\r\n }\r\n public setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValueJSON) {\r\n return this.handleVoidResult(this._nativeAddon.setRulesetVariableValue(rulesetId, variableId, type, value));\r\n }\r\n public unsetRulesetVariableValue(rulesetId: string, variableId: string) {\r\n return this.handleVoidResult(this._nativeAddon.unsetRulesetVariableValue(rulesetId, variableId));\r\n }\r\n public getUpdateInfo() {\r\n return this.handleResult(this._nativeAddon.getUpdateInfo());\r\n }\r\n public updateHierarchyState(db: any, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string) {\r\n return this.handleResult(this._nativeAddon.updateHierarchyState(db, rulesetId, changeType, serializedKeys));\r\n }\r\n };\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"NativePlatform.js","sourceRoot":"","sources":["../../../src/presentation-backend/NativePlatform.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 { IModelDb, IModelHost, IModelJsNative } from \"@itwin/core-backend\";\r\nimport { BeEvent, IDisposable } from \"@itwin/core-bentley\";\r\nimport { FormatProps } from \"@itwin/core-quantity\";\r\nimport {\r\n DiagnosticsScopeLogs, NodeKey, PresentationError, PresentationStatus, UpdateInfoJSON, VariableValue, VariableValueJSON, VariableValueTypes,\r\n} from \"@itwin/presentation-common\";\r\nimport { HierarchyCacheMode } from \"./PresentationManager\";\r\n\r\n/** @internal */\r\nexport enum NativePlatformRequestTypes {\r\n GetRootNodes = \"GetRootNodes\",\r\n GetRootNodesCount = \"GetRootNodesCount\",\r\n GetChildren = \"GetChildren\",\r\n GetChildrenCount = \"GetChildrenCount\",\r\n GetNodesDescriptor = \"GetNodesDescriptor\",\r\n GetNodePaths = \"GetNodePaths\",\r\n GetFilteredNodePaths = \"GetFilteredNodePaths\",\r\n GetContentSources = \"GetContentSources\",\r\n GetContentDescriptor = \"GetContentDescriptor\",\r\n GetContentSetSize = \"GetContentSetSize\",\r\n GetContent = \"GetContent\",\r\n GetPagedDistinctValues = \"GetPagedDistinctValues\",\r\n GetDisplayLabel = \"GetDisplayLabel\",\r\n CompareHierarchies = \"CompareHierarchies\",\r\n}\r\n\r\n/**\r\n * Enumeration of unit systems supported by native presentation manager.\r\n * @internal\r\n */\r\nexport enum NativePresentationUnitSystem {\r\n Metric = \"metric\",\r\n BritishImperial = \"british-imperial\",\r\n UsCustomary = \"us-customary\",\r\n UsSurvey = \"us-survey\",\r\n}\r\n\r\n/** @internal */\r\nexport interface NativePresentationDefaultUnitFormats {\r\n [phenomenon: string]: {\r\n unitSystems: NativePresentationUnitSystem[];\r\n format: FormatProps;\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface NativePresentationKeySetJSON {\r\n instanceKeys: Array<[string, string[]]>;\r\n nodeKeys: NodeKey[];\r\n}\r\n\r\n/** @internal */\r\nexport interface NativePlatformResponse<TResult> {\r\n result: TResult;\r\n diagnostics?: DiagnosticsScopeLogs;\r\n}\r\n\r\n/** @internal */\r\nexport interface NativePlatformDefinition extends IDisposable {\r\n getImodelAddon(imodel: IModelDb): any;\r\n\r\n setupRulesetDirectories(directories: string[]): NativePlatformResponse<void>;\r\n setupSupplementalRulesetDirectories(directories: string[]): NativePlatformResponse<void>;\r\n\r\n forceLoadSchemas(db: any): Promise<NativePlatformResponse<void>>;\r\n\r\n getRulesets(rulesetId: string): NativePlatformResponse<string>;\r\n addRuleset(serializedRulesetJson: string): NativePlatformResponse<string>;\r\n removeRuleset(rulesetId: string, hash: string): NativePlatformResponse<boolean>;\r\n clearRulesets(): NativePlatformResponse<void>;\r\n\r\n handleRequest(db: any, options: string, cancelEvent?: BeEvent<() => void>): Promise<NativePlatformResponse<string>>;\r\n\r\n getRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes): NativePlatformResponse<VariableValue>;\r\n setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValue): NativePlatformResponse<void>;\r\n unsetRulesetVariableValue(rulesetId: string, variableId: string): NativePlatformResponse<void>;\r\n\r\n getUpdateInfo(): NativePlatformResponse<UpdateInfoJSON | undefined>;\r\n updateHierarchyState(db: any, rulesetId: string, stateChanges: Array<{ nodeKey: undefined | NodeKey, isExpanded?: boolean, instanceFilters?: string[] }>): NativePlatformResponse<void>;\r\n}\r\n\r\n/** @internal */\r\nexport interface DefaultNativePlatformProps {\r\n id: string;\r\n taskAllocationsMap: { [priority: number]: number };\r\n isChangeTrackingEnabled: boolean;\r\n cacheConfig?: IModelJsNative.ECPresentationHierarchyCacheConfig;\r\n contentCacheSize?: number;\r\n workerConnectionCacheSize?: number;\r\n defaultFormats?: NativePresentationDefaultUnitFormats;\r\n useMmap?: boolean | number;\r\n}\r\n\r\n/** @internal */\r\nexport const createDefaultNativePlatform = (props: DefaultNativePlatformProps): new () => NativePlatformDefinition => {\r\n // note the implementation is constructed here to make PresentationManager\r\n // usable without loading the actual addon (if addon is set to something other)\r\n return class implements NativePlatformDefinition {\r\n private _nativeAddon: IModelJsNative.ECPresentationManager;\r\n public constructor() {\r\n const cacheConfig = props.cacheConfig ?? { mode: HierarchyCacheMode.Disk, directory: \"\" };\r\n const defaultFormats = props.defaultFormats ? this.getSerializedDefaultFormatsMap(props.defaultFormats) : {};\r\n this._nativeAddon = new IModelHost.platform.ECPresentationManager({ ...props, cacheConfig, defaultFormats });\r\n }\r\n private getStatus(responseStatus: IModelJsNative.ECPresentationStatus): PresentationStatus {\r\n switch (responseStatus) {\r\n case IModelJsNative.ECPresentationStatus.InvalidArgument: return PresentationStatus.InvalidArgument;\r\n case IModelJsNative.ECPresentationStatus.Canceled: return PresentationStatus.Canceled;\r\n default: return PresentationStatus.Error;\r\n }\r\n }\r\n private getSerializedDefaultFormatsMap(defaultMap: NativePresentationDefaultUnitFormats) {\r\n const res: {\r\n [phenomenon: string]: {\r\n unitSystems: string[];\r\n serializedFormat: string;\r\n };\r\n } = {};\r\n Object.keys(defaultMap).forEach((key) => {\r\n const value = defaultMap[key];\r\n res[key] = { unitSystems: value.unitSystems, serializedFormat: JSON.stringify(value.format) };\r\n });\r\n\r\n return res;\r\n }\r\n private createSuccessResponse<T>(response: IModelJsNative.ECPresentationManagerResponse<T>): NativePlatformResponse<T> {\r\n const retValue: NativePlatformResponse<T> = { result: response.result! };\r\n if (response.diagnostics)\r\n retValue.diagnostics = response.diagnostics;\r\n return retValue;\r\n }\r\n private handleResult<T>(response: IModelJsNative.ECPresentationManagerResponse<T>): NativePlatformResponse<T> {\r\n if (response.error)\r\n throw new PresentationError(this.getStatus(response.error.status), response.error.message);\r\n return this.createSuccessResponse(response);\r\n }\r\n private handleVoidResult(response: IModelJsNative.ECPresentationManagerResponse<void>): NativePlatformResponse<void> {\r\n if (response.error)\r\n throw new PresentationError(this.getStatus(response.error.status), response.error.message);\r\n return this.createSuccessResponse(response);\r\n }\r\n public dispose() {\r\n this._nativeAddon.dispose();\r\n }\r\n public async forceLoadSchemas(db: any): Promise<NativePlatformResponse<void>> {\r\n const response = await this._nativeAddon.forceLoadSchemas(db);\r\n if (response.error)\r\n throw new PresentationError(PresentationStatus.Error, response.error.message);\r\n return this.createSuccessResponse(response);\r\n }\r\n public setupRulesetDirectories(directories: string[]) {\r\n return this.handleVoidResult(this._nativeAddon.setupRulesetDirectories(directories));\r\n }\r\n public setupSupplementalRulesetDirectories(directories: string[]) {\r\n return this.handleVoidResult(this._nativeAddon.setupSupplementalRulesetDirectories(directories));\r\n }\r\n public getImodelAddon(imodel: IModelDb): any {\r\n if (!imodel.nativeDb)\r\n throw new PresentationError(PresentationStatus.InvalidArgument, \"imodel\");\r\n return imodel.nativeDb;\r\n }\r\n public getRulesets(rulesetId: string) {\r\n return this.handleResult(this._nativeAddon.getRulesets(rulesetId));\r\n }\r\n public addRuleset(serializedRulesetJson: string) {\r\n return this.handleResult(this._nativeAddon.addRuleset(serializedRulesetJson));\r\n }\r\n public removeRuleset(rulesetId: string, hash: string) {\r\n return this.handleResult(this._nativeAddon.removeRuleset(rulesetId, hash));\r\n }\r\n public clearRulesets() {\r\n return this.handleVoidResult(this._nativeAddon.clearRulesets());\r\n }\r\n public async handleRequest(db: any, options: string, cancelEvent?: BeEvent<() => void>) {\r\n const response = this._nativeAddon.handleRequest(db, options);\r\n cancelEvent?.addOnce(() => response.cancel());\r\n const result = await response.result;\r\n return this.handleResult(result);\r\n }\r\n public getRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes) {\r\n return this.handleResult(this._nativeAddon.getRulesetVariableValue(rulesetId, variableId, type));\r\n }\r\n public setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValueJSON) {\r\n return this.handleVoidResult(this._nativeAddon.setRulesetVariableValue(rulesetId, variableId, type, value));\r\n }\r\n public unsetRulesetVariableValue(rulesetId: string, variableId: string) {\r\n return this.handleVoidResult(this._nativeAddon.unsetRulesetVariableValue(rulesetId, variableId));\r\n }\r\n public getUpdateInfo() {\r\n return this.handleResult(this._nativeAddon.getUpdateInfo());\r\n }\r\n public updateHierarchyState(db: any, rulesetId: string, stateChanges: Array<{ nodeKey: undefined | NodeKey, isExpanded?: boolean, instanceFilter?: string }>) {\r\n return this.handleResult(this._nativeAddon.updateHierarchyState(db, rulesetId, stateChanges));\r\n }\r\n };\r\n};\r\n"]}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* @module RPC
|
|
3
3
|
*/
|
|
4
4
|
import { IpcHandler } from "@itwin/core-backend";
|
|
5
|
-
import {
|
|
5
|
+
import { NodeKey, PresentationIpcInterface, RulesetVariableJSON, SetRulesetVariableParams, UnsetRulesetVariableParams, UpdateHierarchyStateParams } from "@itwin/presentation-common";
|
|
6
6
|
/** @internal */
|
|
7
7
|
export declare class PresentationIpcHandler extends IpcHandler implements PresentationIpcInterface {
|
|
8
8
|
channelName: string;
|
|
9
9
|
setRulesetVariable(params: SetRulesetVariableParams<RulesetVariableJSON>): Promise<void>;
|
|
10
10
|
unsetRulesetVariable(params: UnsetRulesetVariableParams): Promise<void>;
|
|
11
|
-
updateHierarchyState(params: UpdateHierarchyStateParams<
|
|
11
|
+
updateHierarchyState(params: UpdateHierarchyStateParams<NodeKey>): Promise<void>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=PresentationIpcHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationIpcHandler.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationIpcHandler.ts"],"names":[],"mappings":"AAIA;;GAEG;
|
|
1
|
+
{"version":3,"file":"PresentationIpcHandler.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationIpcHandler.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAY,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EACL,OAAO,EAAiC,wBAAwB,EAAmB,mBAAmB,EAAE,wBAAwB,EAChI,0BAA0B,EAAE,0BAA0B,EACvD,MAAM,4BAA4B,CAAC;AAIpC,gBAAgB;AAChB,qBAAa,sBAAuB,SAAQ,UAAW,YAAW,wBAAwB;IACjF,WAAW,SAAiC;IAEtC,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxF,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9F"}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.PresentationIpcHandler = void 0;
|
|
11
|
-
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
11
|
const core_backend_1 = require("@itwin/core-backend");
|
|
12
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
13
13
|
const presentation_common_1 = require("@itwin/presentation-common");
|
|
14
14
|
const BackendLoggerCategory_1 = require("./BackendLoggerCategory");
|
|
15
15
|
const Presentation_1 = require("./Presentation");
|
|
@@ -29,13 +29,13 @@ class PresentationIpcHandler extends core_backend_1.IpcHandler {
|
|
|
29
29
|
Presentation_1.Presentation.getManager(clientId).vars(rulesetId).unset(variableId);
|
|
30
30
|
}
|
|
31
31
|
async updateHierarchyState(params) {
|
|
32
|
-
const { clientId, imodelKey, rulesetId,
|
|
32
|
+
const { clientId, imodelKey, rulesetId, stateChanges } = params;
|
|
33
33
|
const imodelDb = core_backend_1.IModelDb.tryFindByKey(imodelKey);
|
|
34
34
|
if (!imodelDb) {
|
|
35
35
|
core_bentley_1.Logger.logError(BackendLoggerCategory_1.PresentationBackendLoggerCategory.Ipc, "Could not find IModelDb to perform hierarchy state update");
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
|
-
Presentation_1.Presentation.getManager(clientId).getNativePlatform().updateHierarchyState(imodelDb.nativeDb, rulesetId,
|
|
38
|
+
Presentation_1.Presentation.getManager(clientId).getNativePlatform().updateHierarchyState(imodelDb.nativeDb, rulesetId, stateChanges);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
exports.PresentationIpcHandler = PresentationIpcHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationIpcHandler.js","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationIpcHandler.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"PresentationIpcHandler.js","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationIpcHandler.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA2D;AAC3D,sDAA6C;AAC7C,oEAGoC;AACpC,mEAA4E;AAC5E,iDAA8C;AAE9C,gBAAgB;AAChB,MAAa,sBAAuB,SAAQ,yBAAU;IAAtD;;QACS,gBAAW,GAAG,mDAA6B,CAAC;IAsBrD,CAAC;IApBQ,KAAK,CAAC,kBAAkB,CAAC,MAAqD;QACnF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACjD,MAAM,cAAc,GAAG,qCAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1D,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3H,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,MAAkC;QAClE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACnD,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,MAA2C;QAC3E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAChE,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE;YACb,qBAAM,CAAC,QAAQ,CAAC,yDAAiC,CAAC,GAAG,EAAE,2DAA2D,CAAC,CAAC;YACpH,OAAO;SACR;QACD,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACzH,CAAC;CACF;AAvBD,wDAuBC","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 RPC\r\n */\r\n\r\nimport { IModelDb, IpcHandler } from \"@itwin/core-backend\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n NodeKey, PRESENTATION_IPC_CHANNEL_NAME, PresentationIpcInterface, RulesetVariable, RulesetVariableJSON, SetRulesetVariableParams,\r\n UnsetRulesetVariableParams, UpdateHierarchyStateParams,\r\n} from \"@itwin/presentation-common\";\r\nimport { PresentationBackendLoggerCategory } from \"./BackendLoggerCategory\";\r\nimport { Presentation } from \"./Presentation\";\r\n\r\n/** @internal */\r\nexport class PresentationIpcHandler extends IpcHandler implements PresentationIpcInterface {\r\n public channelName = PRESENTATION_IPC_CHANNEL_NAME;\r\n\r\n public async setRulesetVariable(params: SetRulesetVariableParams<RulesetVariableJSON>): Promise<void> {\r\n const { clientId, rulesetId, variable } = params;\r\n const parsedVariable = RulesetVariable.fromJSON(variable);\r\n Presentation.getManager(clientId).vars(rulesetId).setValue(parsedVariable.id, parsedVariable.type, parsedVariable.value);\r\n }\r\n\r\n public async unsetRulesetVariable(params: UnsetRulesetVariableParams): Promise<void> {\r\n const { clientId, rulesetId, variableId } = params;\r\n Presentation.getManager(clientId).vars(rulesetId).unset(variableId);\r\n }\r\n\r\n public async updateHierarchyState(params: UpdateHierarchyStateParams<NodeKey>): Promise<void> {\r\n const { clientId, imodelKey, rulesetId, stateChanges } = params;\r\n const imodelDb = IModelDb.tryFindByKey(imodelKey);\r\n if (!imodelDb) {\r\n Logger.logError(PresentationBackendLoggerCategory.Ipc, \"Could not find IModelDb to perform hierarchy state update\");\r\n return;\r\n }\r\n Presentation.getManager(clientId).getNativePlatform().updateHierarchyState(imodelDb.nativeDb, rulesetId, stateChanges);\r\n }\r\n}\r\n"]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { IModelDb } from "@itwin/core-backend";
|
|
5
5
|
import { Id64String } from "@itwin/core-bentley";
|
|
6
6
|
import { FormatProps, UnitSystemKey } from "@itwin/core-quantity";
|
|
7
|
-
import { ComputeSelectionRequestOptions, Content, ContentDescriptorRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyCompareInfo, HierarchyCompareOptions, HierarchyRequestOptions, InstanceKey, KeySet, LabelDefinition, MultiElementPropertiesRequestOptions, Node, NodeKey, NodePathElement, Paged, PagedResponse, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, SelectionScope, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions, WithCancelEvent } from "@itwin/presentation-common";
|
|
7
|
+
import { ComputeSelectionRequestOptions, Content, ContentDescriptorRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, Descriptor, DescriptorOverrides, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DisplayValueGroup, DistinctValuesRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyCompareInfo, HierarchyCompareOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, InstanceKey, KeySet, LabelDefinition, MultiElementPropertiesRequestOptions, Node, NodeKey, NodePathElement, Paged, PagedResponse, Prioritized, Ruleset, RulesetVariable, SelectClassInfo, SelectionScope, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions, WithCancelEvent } from "@itwin/presentation-common";
|
|
8
8
|
import { NativePlatformDefinition } from "./NativePlatform";
|
|
9
9
|
import { PresentationManagerDetail } from "./PresentationManagerDetail";
|
|
10
10
|
import { RulesetManager } from "./RulesetManager";
|
|
@@ -13,7 +13,7 @@ import { BackendDiagnosticsAttribute, BackendDiagnosticsOptions } from "./Utils"
|
|
|
13
13
|
/**
|
|
14
14
|
* Presentation manager working mode.
|
|
15
15
|
* @public
|
|
16
|
-
* @deprecated The attribute is not used by [[PresentationManager]] anymore
|
|
16
|
+
* @deprecated in 3.x. The attribute is not used by [[PresentationManager]] anymore
|
|
17
17
|
*/
|
|
18
18
|
export declare enum PresentationManagerMode {
|
|
19
19
|
/**
|
|
@@ -29,7 +29,7 @@ export declare enum PresentationManagerMode {
|
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Presentation hierarchy cache mode.
|
|
32
|
-
* @
|
|
32
|
+
* @public
|
|
33
33
|
*/
|
|
34
34
|
export declare enum HierarchyCacheMode {
|
|
35
35
|
/**
|
|
@@ -44,17 +44,19 @@ export declare enum HierarchyCacheMode {
|
|
|
44
44
|
/**
|
|
45
45
|
* Hierarchy cache is created on disk. In this mode everything is cached in memory while creating hierarchy level
|
|
46
46
|
* and persisted in disk cache when whole hierarchy level is created.
|
|
47
|
+
*
|
|
48
|
+
* **Note:** This mode is still experimental.
|
|
47
49
|
*/
|
|
48
50
|
Hybrid = "hybrid"
|
|
49
51
|
}
|
|
50
52
|
/**
|
|
51
53
|
* Configuration for hierarchy cache.
|
|
52
|
-
* @
|
|
54
|
+
* @public
|
|
53
55
|
*/
|
|
54
56
|
export declare type HierarchyCacheConfig = MemoryHierarchyCacheConfig | DiskHierarchyCacheConfig | HybridCacheConfig;
|
|
55
57
|
/**
|
|
56
58
|
* Base interface for all [[HierarchyCacheConfig]] implementations.
|
|
57
|
-
* @
|
|
59
|
+
* @public
|
|
58
60
|
*/
|
|
59
61
|
export interface HierarchyCacheConfigBase {
|
|
60
62
|
mode: HierarchyCacheMode;
|
|
@@ -63,7 +65,7 @@ export interface HierarchyCacheConfigBase {
|
|
|
63
65
|
* Configuration for in-memory hierarchy cache.
|
|
64
66
|
*
|
|
65
67
|
* @see [Memory cache documentation page]($docs/presentation/advanced/Caching.md#memory-cache)
|
|
66
|
-
* @
|
|
68
|
+
* @public
|
|
67
69
|
*/
|
|
68
70
|
export interface MemoryHierarchyCacheConfig extends HierarchyCacheConfigBase {
|
|
69
71
|
mode: HierarchyCacheMode.Memory;
|
|
@@ -72,7 +74,7 @@ export interface MemoryHierarchyCacheConfig extends HierarchyCacheConfigBase {
|
|
|
72
74
|
* Configuration for persistent disk hierarchy cache.
|
|
73
75
|
*
|
|
74
76
|
* @see [Disk cache documentation page]($docs/presentation/advanced/Caching.md#disk-cache)
|
|
75
|
-
* @
|
|
77
|
+
* @public
|
|
76
78
|
*/
|
|
77
79
|
export interface DiskHierarchyCacheConfig extends HierarchyCacheConfigBase {
|
|
78
80
|
mode: HierarchyCacheMode.Disk;
|
|
@@ -85,8 +87,6 @@ export interface DiskHierarchyCacheConfig extends HierarchyCacheConfigBase {
|
|
|
85
87
|
/**
|
|
86
88
|
* While the cache itself is stored on a disk, there's still a required small in-memory cache.
|
|
87
89
|
* The parameter allows controlling size of that cache. Defaults to `32768000` bytes (32 MB).
|
|
88
|
-
*
|
|
89
|
-
* @beta
|
|
90
90
|
*/
|
|
91
91
|
memoryCacheSize?: number;
|
|
92
92
|
}
|
|
@@ -97,7 +97,7 @@ export interface DiskHierarchyCacheConfig extends HierarchyCacheConfigBase {
|
|
|
97
97
|
* alternative for cases when there are lots of simultaneous requests.
|
|
98
98
|
*
|
|
99
99
|
* @see [Hybrid cache documentation page]($docs/presentation/advanced/Caching.md#hybrid-cache)
|
|
100
|
-
* @
|
|
100
|
+
* @public
|
|
101
101
|
*/
|
|
102
102
|
export interface HybridCacheConfig extends HierarchyCacheConfigBase {
|
|
103
103
|
mode: HierarchyCacheMode.Hybrid;
|
|
@@ -115,8 +115,6 @@ export interface ContentCacheConfig {
|
|
|
115
115
|
* Maximum number of content descriptors cached in memory for quicker paged content requests.
|
|
116
116
|
*
|
|
117
117
|
* Defaults to `100`.
|
|
118
|
-
*
|
|
119
|
-
* @beta
|
|
120
118
|
*/
|
|
121
119
|
size?: number;
|
|
122
120
|
}
|
|
@@ -129,7 +127,6 @@ export interface PresentationManagerCachingConfig {
|
|
|
129
127
|
* Hierarchies-related caching options.
|
|
130
128
|
*
|
|
131
129
|
* @see [Hierarchies cache documentation page]($docs/presentation/advanced/Caching.md#hierarchies-cache)
|
|
132
|
-
* @beta
|
|
133
130
|
*/
|
|
134
131
|
hierarchies?: HierarchyCacheConfig;
|
|
135
132
|
/**
|
|
@@ -145,7 +142,6 @@ export interface PresentationManagerCachingConfig {
|
|
|
145
142
|
* cache. Defaults to `32768000` bytes (32 MB).
|
|
146
143
|
*
|
|
147
144
|
* @see [Worker connections cache documentation page]($docs/presentation/advanced/Caching.md#worker-connections-cache)
|
|
148
|
-
* @beta
|
|
149
145
|
*/
|
|
150
146
|
workerConnectionCacheSize?: number;
|
|
151
147
|
}
|
|
@@ -161,7 +157,7 @@ export interface UnitSystemFormat {
|
|
|
161
157
|
}
|
|
162
158
|
/**
|
|
163
159
|
* Data structure for multiple element properties request response.
|
|
164
|
-
* @
|
|
160
|
+
* @public
|
|
165
161
|
*/
|
|
166
162
|
export interface MultiElementPropertiesResponse {
|
|
167
163
|
total: number;
|
|
@@ -177,7 +173,7 @@ export interface PresentationAssetsRootConfig {
|
|
|
177
173
|
/**
|
|
178
174
|
* Path to `presentation-common` assets.
|
|
179
175
|
*
|
|
180
|
-
* @deprecated This path is not used anymore
|
|
176
|
+
* @deprecated in 3.x. This path is not used anymore
|
|
181
177
|
*/
|
|
182
178
|
common: string;
|
|
183
179
|
}
|
|
@@ -216,14 +212,14 @@ export interface PresentationManagerProps {
|
|
|
216
212
|
* A list of directories containing application's locale-specific localized
|
|
217
213
|
* string files (in simplified i18next v3 format)
|
|
218
214
|
*
|
|
219
|
-
* @deprecated Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
|
|
215
|
+
* @deprecated in 3.x. Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
|
|
220
216
|
*/
|
|
221
217
|
localeDirectories?: string[];
|
|
222
218
|
/**
|
|
223
219
|
* Sets the active locale to use when localizing presentation-related
|
|
224
220
|
* strings. It can later be changed through [[PresentationManager.activeLocale]].
|
|
225
221
|
*
|
|
226
|
-
* @deprecated Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
|
|
222
|
+
* @deprecated in 3.x. Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
|
|
227
223
|
*/
|
|
228
224
|
defaultLocale?: string;
|
|
229
225
|
/**
|
|
@@ -244,7 +240,7 @@ export interface PresentationManagerProps {
|
|
|
244
240
|
* Should schemas preloading be enabled. If true, presentation manager listens
|
|
245
241
|
* for `BriefcaseDb.onOpened` event and force pre-loads all ECSchemas.
|
|
246
242
|
*
|
|
247
|
-
* @deprecated Use [[PresentationPropsBase.enableSchemasPreload]] instead.
|
|
243
|
+
* @deprecated in 3.x. Use [[PresentationPropsBase.enableSchemasPreload]] instead.
|
|
248
244
|
*/
|
|
249
245
|
enableSchemasPreload?: boolean;
|
|
250
246
|
/**
|
|
@@ -257,14 +253,14 @@ export interface PresentationManagerProps {
|
|
|
257
253
|
*
|
|
258
254
|
* Defaults to [[PresentationManagerMode.ReadWrite]].
|
|
259
255
|
*
|
|
260
|
-
* @deprecated The attribute is not used by [[PresentationManager]] anymore
|
|
256
|
+
* @deprecated in 3.x. The attribute is not used by [[PresentationManager]] anymore
|
|
261
257
|
*/
|
|
262
258
|
mode?: PresentationManagerMode;
|
|
263
259
|
/**
|
|
264
260
|
* The interval (in milliseconds) used to poll for presentation data changes. Only has
|
|
265
261
|
* effect in read-write mode (see [[mode]]).
|
|
266
262
|
*
|
|
267
|
-
* @
|
|
263
|
+
* @beta
|
|
268
264
|
*/
|
|
269
265
|
updatesPollInterval?: number;
|
|
270
266
|
/** Options for caching. */
|
|
@@ -275,7 +271,7 @@ export interface PresentationManagerProps {
|
|
|
275
271
|
*
|
|
276
272
|
* Set to a falsy value to turn off. `true` for memory-mapping the whole iModel. Number value for memory-mapping the specified amount of bytes.
|
|
277
273
|
*
|
|
278
|
-
* @
|
|
274
|
+
* @beta
|
|
279
275
|
*/
|
|
280
276
|
useMmap?: boolean | number;
|
|
281
277
|
/**
|
|
@@ -315,7 +311,7 @@ export declare class PresentationManager {
|
|
|
315
311
|
private _localizationHelper;
|
|
316
312
|
/**
|
|
317
313
|
* Get / set active locale used for localizing presentation data
|
|
318
|
-
* @deprecated Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
|
|
314
|
+
* @deprecated in 3.x. Use [[getLocalizedString]] to localize data returned by [[PresentationManager]].
|
|
319
315
|
*/
|
|
320
316
|
activeLocale: string | undefined;
|
|
321
317
|
/**
|
|
@@ -355,6 +351,11 @@ export declare class PresentationManager {
|
|
|
355
351
|
* @public
|
|
356
352
|
*/
|
|
357
353
|
getNodesCount(requestOptions: WithCancelEvent<Prioritized<HierarchyRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<number>;
|
|
354
|
+
/**
|
|
355
|
+
* Retrieves hierarchy level descriptor
|
|
356
|
+
* @beta
|
|
357
|
+
*/
|
|
358
|
+
getNodesDescriptor(requestOptions: WithCancelEvent<Prioritized<HierarchyLevelDescriptorRequestOptions<IModelDb, NodeKey, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<Descriptor | undefined>;
|
|
358
359
|
/**
|
|
359
360
|
* Retrieves paths from root nodes to children nodes according to specified instance key paths. Intersecting paths will be merged.
|
|
360
361
|
* TODO: Return results in pages
|
|
@@ -367,7 +368,11 @@ export declare class PresentationManager {
|
|
|
367
368
|
* @public
|
|
368
369
|
*/
|
|
369
370
|
getFilteredNodePaths(requestOptions: WithCancelEvent<Prioritized<FilterByTextHierarchyRequestOptions<IModelDb, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<NodePathElement[]>;
|
|
370
|
-
/**
|
|
371
|
+
/**
|
|
372
|
+
* Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,
|
|
373
|
+
* its related instances for loading related and navigation properties.
|
|
374
|
+
* @public
|
|
375
|
+
*/
|
|
371
376
|
getContentSources(requestOptions: WithCancelEvent<Prioritized<ContentSourcesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<SelectClassInfo[]>;
|
|
372
377
|
/**
|
|
373
378
|
* Retrieves the content descriptor which can be used to get content
|
|
@@ -393,13 +398,13 @@ export declare class PresentationManager {
|
|
|
393
398
|
getPagedDistinctValues(requestOptions: WithCancelEvent<Prioritized<DistinctValuesRequestOptions<IModelDb, Descriptor | DescriptorOverrides, KeySet, RulesetVariable>>> & BackendDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>>;
|
|
394
399
|
/**
|
|
395
400
|
* Retrieves property data in a simplified format for a single element specified by ID.
|
|
396
|
-
* @
|
|
401
|
+
* @public
|
|
397
402
|
*/
|
|
398
403
|
getElementProperties(requestOptions: WithCancelEvent<Prioritized<SingleElementPropertiesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<ElementProperties | undefined>;
|
|
399
404
|
/**
|
|
400
405
|
* Retrieves property data in simplified format for multiple elements specified by class or all element.
|
|
401
406
|
* @return An object that contains element count and AsyncGenerator to iterate over properties of those elements in batches of undefined size.
|
|
402
|
-
* @
|
|
407
|
+
* @public
|
|
403
408
|
*/
|
|
404
409
|
getElementProperties(requestOptions: WithCancelEvent<Prioritized<MultiElementPropertiesRequestOptions<IModelDb>>> & BackendDiagnosticsAttribute): Promise<MultiElementPropertiesResponse>;
|
|
405
410
|
private getMultipleElementProperties;
|
|
@@ -421,12 +426,16 @@ export declare class PresentationManager {
|
|
|
421
426
|
/**
|
|
422
427
|
* Computes selection set based on provided selection scope.
|
|
423
428
|
* @public
|
|
429
|
+
* @deprecated in 3.x. Use overload with `ComputeSelectionRequestOptions` parameter.
|
|
424
430
|
*/
|
|
425
431
|
computeSelection(requestOptions: SelectionScopeRequestOptions<IModelDb> & {
|
|
426
432
|
ids: Id64String[];
|
|
427
433
|
scopeId: string;
|
|
428
434
|
} & BackendDiagnosticsAttribute): Promise<KeySet>;
|
|
429
|
-
/**
|
|
435
|
+
/**
|
|
436
|
+
* Computes selection based on provided element IDs and selection scope.
|
|
437
|
+
* @public
|
|
438
|
+
*/
|
|
430
439
|
computeSelection(requestOptions: ComputeSelectionRequestOptions<IModelDb> & BackendDiagnosticsAttribute): Promise<KeySet>;
|
|
431
440
|
/**
|
|
432
441
|
* Compares two hierarchies specified in the request options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,8BAA8B,EAAE,OAAO,EAAE,+BAA+B,EAAgB,qBAAqB,EAAE,4BAA4B,EAC/G,UAAU,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,iBAAiB,EACvI,4BAA4B,EAAE,iBAAiB,EAAmC,4CAA4C,EAC9H,mCAAmC,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ const Utils_1 = require("./Utils");
|
|
|
18
18
|
/**
|
|
19
19
|
* Presentation manager working mode.
|
|
20
20
|
* @public
|
|
21
|
-
* @deprecated The attribute is not used by [[PresentationManager]] anymore
|
|
21
|
+
* @deprecated in 3.x. The attribute is not used by [[PresentationManager]] anymore
|
|
22
22
|
*/
|
|
23
23
|
var PresentationManagerMode;
|
|
24
24
|
(function (PresentationManagerMode) {
|
|
@@ -35,7 +35,7 @@ var PresentationManagerMode;
|
|
|
35
35
|
})(PresentationManagerMode = exports.PresentationManagerMode || (exports.PresentationManagerMode = {}));
|
|
36
36
|
/**
|
|
37
37
|
* Presentation hierarchy cache mode.
|
|
38
|
-
* @
|
|
38
|
+
* @public
|
|
39
39
|
*/
|
|
40
40
|
var HierarchyCacheMode;
|
|
41
41
|
(function (HierarchyCacheMode) {
|
|
@@ -51,6 +51,8 @@ var HierarchyCacheMode;
|
|
|
51
51
|
/**
|
|
52
52
|
* Hierarchy cache is created on disk. In this mode everything is cached in memory while creating hierarchy level
|
|
53
53
|
* and persisted in disk cache when whole hierarchy level is created.
|
|
54
|
+
*
|
|
55
|
+
* **Note:** This mode is still experimental.
|
|
54
56
|
*/
|
|
55
57
|
HierarchyCacheMode["Hybrid"] = "hybrid";
|
|
56
58
|
})(HierarchyCacheMode = exports.HierarchyCacheMode || (exports.HierarchyCacheMode = {}));
|
|
@@ -113,7 +115,10 @@ class PresentationManager {
|
|
|
113
115
|
* @public
|
|
114
116
|
*/
|
|
115
117
|
async getNodes(requestOptions) {
|
|
116
|
-
const
|
|
118
|
+
const serializedNodesJson = await this._detail.getNodes(requestOptions);
|
|
119
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
120
|
+
const nodesJson = JSON.parse(serializedNodesJson);
|
|
121
|
+
const nodes = presentation_common_1.Node.listFromJSON(nodesJson.nodes);
|
|
117
122
|
return this._localizationHelper.getLocalizedNodes(nodes);
|
|
118
123
|
}
|
|
119
124
|
/**
|
|
@@ -123,6 +128,15 @@ class PresentationManager {
|
|
|
123
128
|
async getNodesCount(requestOptions) {
|
|
124
129
|
return this._detail.getNodesCount(requestOptions);
|
|
125
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Retrieves hierarchy level descriptor
|
|
133
|
+
* @beta
|
|
134
|
+
*/
|
|
135
|
+
async getNodesDescriptor(requestOptions) {
|
|
136
|
+
const response = await this._detail.getNodesDescriptor(requestOptions);
|
|
137
|
+
const reviver = (key, value) => key === "" ? presentation_common_1.Descriptor.fromJSON(value) : value;
|
|
138
|
+
return JSON.parse(response, reviver);
|
|
139
|
+
}
|
|
126
140
|
/**
|
|
127
141
|
* Retrieves paths from root nodes to children nodes according to specified instance key paths. Intersecting paths will be merged.
|
|
128
142
|
* TODO: Return results in pages
|
|
@@ -139,7 +153,11 @@ class PresentationManager {
|
|
|
139
153
|
async getFilteredNodePaths(requestOptions) {
|
|
140
154
|
return this._detail.getFilteredNodePaths(requestOptions);
|
|
141
155
|
}
|
|
142
|
-
/**
|
|
156
|
+
/**
|
|
157
|
+
* Get information about the sources of content when building it for specific ECClasses. Sources involve classes of the primary select instance,
|
|
158
|
+
* its related instances for loading related and navigation properties.
|
|
159
|
+
* @public
|
|
160
|
+
*/
|
|
143
161
|
async getContentSources(requestOptions) {
|
|
144
162
|
return this._detail.getContentSources(requestOptions);
|
|
145
163
|
}
|
|
@@ -274,6 +292,7 @@ class PresentationManager {
|
|
|
274
292
|
currRulesetVariables: JSON.stringify(currRulesetVariables),
|
|
275
293
|
expandedNodeKeys: JSON.stringify((_b = options.expandedNodeKeys) !== null && _b !== void 0 ? _b : []),
|
|
276
294
|
};
|
|
295
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
277
296
|
const reviver = (key, value) => (key === "") ? presentation_common_1.HierarchyCompareInfo.fromJSON(value) : value;
|
|
278
297
|
return JSON.parse(await this._detail.request(params), reviver);
|
|
279
298
|
}
|