@itwin/presentation-common 4.8.0-dev.4 → 4.8.0-dev.40
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 +46 -1
- package/lib/cjs/presentation-common/Diagnostics.d.ts +10 -11
- package/lib/cjs/presentation-common/Diagnostics.d.ts.map +1 -1
- package/lib/cjs/presentation-common/Diagnostics.js +1 -1
- package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
- package/lib/cjs/presentation-common/EC.d.ts +6 -16
- package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
- package/lib/cjs/presentation-common/EC.js +1 -1
- package/lib/cjs/presentation-common/EC.js.map +1 -1
- package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +5 -5
- package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
- package/lib/cjs/presentation-common/KoqPropertyValueFormatter.d.ts +10 -2
- package/lib/cjs/presentation-common/KoqPropertyValueFormatter.d.ts.map +1 -1
- package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js +4 -1
- package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
- package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +4 -9
- package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
- package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
- package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +4 -11
- package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
- package/lib/cjs/presentation-common/PresentationRpcInterface.js +0 -1
- package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
- package/lib/cjs/presentation-common/Update.d.ts +18 -4
- package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
- package/lib/cjs/presentation-common/Update.js +4 -1
- package/lib/cjs/presentation-common/Update.js.map +1 -1
- package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +7 -4
- package/lib/cjs/presentation-common/content/ContentTraverser.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/ContentTraverser.js +4 -1
- package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
- package/lib/cjs/presentation-common/content/Descriptor.d.ts +0 -11
- package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/Descriptor.js +0 -1
- package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
- package/lib/cjs/presentation-common/content/Fields.d.ts +0 -5
- package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/Fields.js +0 -2
- package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
- package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts +2 -2
- package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +2 -2
- package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
- package/lib/cjs/presentation-common/content/Value.d.ts +2 -0
- package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/Value.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +3 -2
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +2 -1
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Key.d.ts +24 -19
- package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Node.d.ts +0 -2
- package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
- package/lib/cjs/presentation-common/rules/Ruleset.d.ts +0 -1
- package/lib/cjs/presentation-common/rules/Ruleset.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +0 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +0 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/Diagnostics.d.ts +10 -11
- package/lib/esm/presentation-common/Diagnostics.d.ts.map +1 -1
- package/lib/esm/presentation-common/Diagnostics.js +1 -1
- package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
- package/lib/esm/presentation-common/EC.d.ts +6 -16
- package/lib/esm/presentation-common/EC.d.ts.map +1 -1
- package/lib/esm/presentation-common/EC.js +1 -1
- package/lib/esm/presentation-common/EC.js.map +1 -1
- package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +5 -5
- package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
- package/lib/esm/presentation-common/KoqPropertyValueFormatter.d.ts +10 -2
- package/lib/esm/presentation-common/KoqPropertyValueFormatter.d.ts.map +1 -1
- package/lib/esm/presentation-common/KoqPropertyValueFormatter.js +4 -1
- package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
- package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +4 -9
- package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
- package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
- package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +4 -11
- package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
- package/lib/esm/presentation-common/PresentationRpcInterface.js +0 -1
- package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
- package/lib/esm/presentation-common/Update.d.ts +18 -4
- package/lib/esm/presentation-common/Update.d.ts.map +1 -1
- package/lib/esm/presentation-common/Update.js +4 -1
- package/lib/esm/presentation-common/Update.js.map +1 -1
- package/lib/esm/presentation-common/content/ContentTraverser.d.ts +7 -4
- package/lib/esm/presentation-common/content/ContentTraverser.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/ContentTraverser.js +11 -8
- package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
- package/lib/esm/presentation-common/content/Descriptor.d.ts +0 -11
- package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/Descriptor.js +0 -1
- package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
- package/lib/esm/presentation-common/content/Fields.d.ts +0 -5
- package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/Fields.js +0 -2
- package/lib/esm/presentation-common/content/Fields.js.map +1 -1
- package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts +2 -2
- package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/PropertyValueFormatter.js +2 -2
- package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
- package/lib/esm/presentation-common/content/Value.d.ts +2 -0
- package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/Value.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +3 -2
- package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
- package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +2 -1
- package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Key.d.ts +24 -19
- package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Node.d.ts +0 -2
- package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
- package/lib/esm/presentation-common/rules/Ruleset.d.ts +0 -1
- package/lib/esm/presentation-common/rules/Ruleset.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +0 -1
- package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +0 -1
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
- package/package.json +10 -10
|
@@ -80,9 +80,7 @@ export interface BaseNodeKey {
|
|
|
80
80
|
version: number;
|
|
81
81
|
/** Node hash path from root to the node whose key this is */
|
|
82
82
|
pathFromRoot: string[];
|
|
83
|
-
/** Query that returns all selected instance keys
|
|
84
|
-
* @alpha
|
|
85
|
-
*/
|
|
83
|
+
/** Query that returns all selected instance keys */
|
|
86
84
|
instanceKeysSelectQuery?: PresentationQuery;
|
|
87
85
|
}
|
|
88
86
|
/**
|
|
@@ -94,7 +92,6 @@ export interface BaseNodeKeyJSON {
|
|
|
94
92
|
type: string;
|
|
95
93
|
version?: number;
|
|
96
94
|
pathFromRoot: string[];
|
|
97
|
-
/** @alpha */
|
|
98
95
|
instanceKeysSelectQuery?: PresentationQuery;
|
|
99
96
|
}
|
|
100
97
|
/**
|
|
@@ -205,7 +202,7 @@ export interface LabelGroupingNodeKeyJSON extends GroupingNodeKey {
|
|
|
205
202
|
export type NodeKeyJSON = BaseNodeKeyJSON | ECInstancesNodeKeyJSON | ECClassGroupingNodeKeyJSON | ECPropertyGroupingNodeKeyJSON | LabelGroupingNodeKeyJSON;
|
|
206
203
|
/**
|
|
207
204
|
* Data structure that describes a presentation query
|
|
208
|
-
* @
|
|
205
|
+
* @public
|
|
209
206
|
*/
|
|
210
207
|
export interface PresentationQuery {
|
|
211
208
|
/** ECSQL query */
|
|
@@ -213,37 +210,45 @@ export interface PresentationQuery {
|
|
|
213
210
|
/** The query bindings */
|
|
214
211
|
bindings?: PresentationQueryBinding[];
|
|
215
212
|
}
|
|
216
|
-
/**
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
export interface IdBinding extends BasePresentationQueryBinding {
|
|
213
|
+
/**
|
|
214
|
+
* Defines an [[Id64String]] value binding.
|
|
215
|
+
* @public
|
|
216
|
+
*/
|
|
217
|
+
export interface IdBinding {
|
|
222
218
|
type: "Id";
|
|
223
219
|
value: Id64String;
|
|
224
220
|
}
|
|
225
|
-
/**
|
|
226
|
-
|
|
221
|
+
/**
|
|
222
|
+
* Defines an [[IdSet]] value binding for use with `InVirtualSet` ECSQL function.
|
|
223
|
+
* @public
|
|
224
|
+
*/
|
|
225
|
+
export interface IdSetBinding {
|
|
227
226
|
type: "IdSet";
|
|
228
227
|
value: Id64String[];
|
|
229
228
|
}
|
|
230
|
-
/**
|
|
231
|
-
|
|
229
|
+
/**
|
|
230
|
+
* Defines an EC value binding.
|
|
231
|
+
* @public
|
|
232
|
+
*/
|
|
233
|
+
export interface ECValueBinding {
|
|
232
234
|
type: "ECValue";
|
|
233
235
|
valueType: string;
|
|
234
236
|
valueTypeExtended?: string;
|
|
235
237
|
value: any;
|
|
236
238
|
}
|
|
237
|
-
/**
|
|
238
|
-
|
|
239
|
+
/**
|
|
240
|
+
* Defines a binding for a list of EC values for use with `InVirtualSet` ECSQL function.
|
|
241
|
+
* @public
|
|
242
|
+
*/
|
|
243
|
+
export interface ECValueSetBinding {
|
|
239
244
|
type: "ValueSet";
|
|
240
245
|
valueType: string;
|
|
241
246
|
valueTypeExtended?: string;
|
|
242
247
|
value: any[];
|
|
243
248
|
}
|
|
244
249
|
/**
|
|
245
|
-
* One of the
|
|
246
|
-
* @
|
|
250
|
+
* One of the [[PresentationQuery]] binding types.
|
|
251
|
+
* @public
|
|
247
252
|
*/
|
|
248
253
|
export type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;
|
|
249
254
|
//# sourceMappingURL=Key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;CACtD;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,yBAAyB,GAAG,oBAAoB,CAAC;AACnI,cAAc;AAEd,yBAAiB,OAAO,CAAC;IACvB;;;OAGG;IAEH,SAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAEhD;IAED;;;OAGG;IAEH,SAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAEnD;IAED,8DAA8D;IAC9D,SAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAAC;IAC5E,oHAAoH;IAEpH,SAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,IAAI,sBAAsB,CAAC;IAMpF,kEAAkE;IAClE,SAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,sBAAsB,CAAC;IACpF,wHAAwH;IAExH,SAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,IAAI,0BAA0B,CAAC;IAM5F,qEAAqE;IACrE,SAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,yBAAyB,CAAC;IAC1F,2HAA2H;IAE3H,SAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,IAAI,6BAA6B,CAAC;IAMlG,+DAA+D;IAC/D,SAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,oBAAoB,CAAC;IAClF,qHAAqH;IAErH,SAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,IAAI,wBAAwB,CAAC;IAM1F,wDAAwD;IACxD,SAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAAC;IACxE,8GAA8G;IAE9G,SAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,IAAI,mBAAmB,CAAC;IAMhF;;;;;;;;OAQG;IACH,SAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAgD1D;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB
|
|
1
|
+
{"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.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 Hierarchies\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { InstanceKey } from \"../EC\";\r\n\r\n/**\r\n * Standard node types\r\n * @public\r\n */\r\nexport enum StandardNodeTypes {\r\n ECInstancesNode = \"ECInstancesNode\",\r\n ECClassGroupingNode = \"ECClassGroupingNode\",\r\n ECPropertyGroupingNode = \"ECPropertyGroupingNode\",\r\n DisplayLabelGroupingNode = \"DisplayLabelGroupingNode\",\r\n}\r\n\r\n/**\r\n * One of the node key types\r\n * @public\r\n */\r\nexport type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace NodeKey {\r\n /**\r\n * Serialize given [[NodeKey]] to JSON\r\n * @deprecated in 3.x. Use [[NodeKey]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(key: NodeKey): NodeKeyJSON {\r\n return { ...key };\r\n }\r\n\r\n /**\r\n * Deserialize node key from JSON\r\n * @deprecated in 3.x. Use [[NodeKey]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: NodeKeyJSON): NodeKey {\r\n return { version: 1, ...json };\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\r\n export function isInstancesNodeKey(key: NodeKey): key is ECInstancesNodeKey;\r\n /** Checks if the supplied key is an [[ECInstancesNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isInstancesNodeKey(key: NodeKeyJSON): key is ECInstancesNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isInstancesNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECInstancesNode;\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\r\n export function isClassGroupingNodeKey(key: NodeKey): key is ECClassGroupingNodeKey;\r\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isClassGroupingNodeKey(key: NodeKeyJSON): key is ECClassGroupingNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isClassGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECClassGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\r\n export function isPropertyGroupingNodeKey(key: NodeKey): key is ECPropertyGroupingNodeKey;\r\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isPropertyGroupingNodeKey(key: NodeKeyJSON): key is ECPropertyGroupingNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isPropertyGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECPropertyGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\r\n export function isLabelGroupingNodeKey(key: NodeKey): key is LabelGroupingNodeKey;\r\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isLabelGroupingNodeKey(key: NodeKeyJSON): key is LabelGroupingNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isLabelGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.DisplayLabelGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is a grouping node key */\r\n export function isGroupingNodeKey(key: NodeKey): key is GroupingNodeKey;\r\n /** Checks if the supplied key is a grouping node key. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isGroupingNodeKey(key: NodeKeyJSON): key is GroupingNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /**\r\n * Checks if two given node keys are equal, taking their versions into account.\r\n *\r\n * When comparing two keys of the same version, the algorithm uses [[NodeKey.pathFromRoot]] array\r\n * which is the most accurate way of checking equality. However, when version are different,\r\n * [[NodeKey.pathFromRoot]] array may contain different strings even though keys represent the same node.\r\n * In that case equality is checked using other key attributes, depending on the type of the node (type,\r\n * label, grouping class, property name, etc.).\r\n */\r\n export function equals(lhs: NodeKey, rhs: NodeKey): boolean {\r\n // types must always be equal\r\n if (lhs.type !== rhs.type) {\r\n return false;\r\n }\r\n\r\n // `pathFromRoot` lengths must always be equal\r\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length) {\r\n return false;\r\n }\r\n\r\n // when versions are equal, compare using contents of `pathFromRoot` array\r\n if (lhs.version === rhs.version) {\r\n for (let i = 0; i < lhs.pathFromRoot.length; ++i) {\r\n if (lhs.pathFromRoot[i] !== rhs.pathFromRoot[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n // when versions aren't equal, compare using other key information, because key hashes\r\n // of different key versions can't be compared\r\n if (isInstancesNodeKey(lhs)) {\r\n assert(isInstancesNodeKey(rhs));\r\n if (lhs.instanceKeys.length !== rhs.instanceKeys.length) {\r\n return false;\r\n }\r\n for (let i = 0; i < lhs.instanceKeys.length; ++i) {\r\n if (0 !== InstanceKey.compare(lhs.instanceKeys[i], rhs.instanceKeys[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n if (isClassGroupingNodeKey(lhs)) {\r\n assert(isClassGroupingNodeKey(rhs));\r\n return lhs.className === rhs.className;\r\n }\r\n if (isPropertyGroupingNodeKey(lhs)) {\r\n assert(isPropertyGroupingNodeKey(rhs));\r\n return lhs.className === rhs.className && lhs.propertyName === rhs.propertyName;\r\n }\r\n if (isLabelGroupingNodeKey(lhs)) {\r\n assert(isLabelGroupingNodeKey(rhs));\r\n return lhs.label === rhs.label;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * Node key path. Can be used to define path from one node to another.\r\n * @public\r\n */\r\nexport type NodeKeyPath = NodeKey[];\r\n\r\n/**\r\n * Data structure that describes a basic node key\r\n * @public\r\n */\r\nexport interface BaseNodeKey {\r\n /** Node type */\r\n type: string;\r\n\r\n /**\r\n * Version of the key. Different versions suggest that node keys were created by two different\r\n * versions of the library. In that case, keys representing the same node may be different.\r\n */\r\n version: number;\r\n\r\n /** Node hash path from root to the node whose key this is */\r\n pathFromRoot: string[];\r\n\r\n /** Query that returns all selected instance keys\r\n * @alpha\r\n */\r\n instanceKeysSelectQuery?: PresentationQuery;\r\n}\r\n/**\r\n * Serialized [[BaseNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[BaseNodeKey]].\r\n */\r\nexport interface BaseNodeKeyJSON {\r\n type: string;\r\n // TODO: make this required\r\n version?: number;\r\n pathFromRoot: string[];\r\n /** @alpha */\r\n instanceKeysSelectQuery?: PresentationQuery;\r\n}\r\n\r\n/**\r\n * Data structure that describes a node ECInstance node key\r\n * @public\r\n */\r\nexport interface ECInstancesNodeKey extends BaseNodeKey {\r\n type: StandardNodeTypes.ECInstancesNode;\r\n /** List of [[InstanceKey]] objects of ECInstances represented by the node */\r\n instanceKeys: InstanceKey[];\r\n}\r\n/**\r\n * Serialized [[ECInstancesNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[ECInstancesNodeKey]].\r\n */\r\nexport interface ECInstancesNodeKeyJSON extends BaseNodeKey {\r\n type: StandardNodeTypes.ECInstancesNode;\r\n instanceKeys: InstanceKey[];\r\n}\r\n\r\n/**\r\n * Data structure that describes a grouping node key\r\n * @public\r\n */\r\nexport interface GroupingNodeKey extends BaseNodeKey {\r\n /**\r\n * Get the number of instances grouped by the node represented\r\n * by this key.\r\n *\r\n * **Note:** this property is just a helper and is not involved\r\n * in identifying a node.\r\n */\r\n groupedInstancesCount: number;\r\n}\r\n/**\r\n * Serialized [[GroupingNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[GroupingNodeKey]].\r\n */\r\nexport interface GroupingNodeKeyJSON extends BaseNodeKey {\r\n groupedInstancesCount: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes an ECClass grouping node key\r\n * @public\r\n */\r\nexport interface ECClassGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECClassGroupingNode;\r\n /** Full name of the grouping ECClass */\r\n className: string;\r\n}\r\n/**\r\n * Serialized [[ECClassGroupingNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[ECClassGroupingNodeKey]].\r\n */\r\nexport interface ECClassGroupingNodeKeyJSON extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECClassGroupingNode;\r\n className: string;\r\n}\r\n\r\n/**\r\n * Data structure that describes an ECProperty grouping node key\r\n * @public\r\n */\r\nexport interface ECPropertyGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECPropertyGroupingNode;\r\n /** Full name of the grouping ECProperty class */\r\n className: string;\r\n /** Name of the ECProperty */\r\n propertyName: string;\r\n /** Raw grouping values */\r\n groupingValues: any[];\r\n}\r\n/**\r\n * Serialized [[ECPropertyGroupingNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[ECPropertyGroupingNodeKey]].\r\n */\r\nexport interface ECPropertyGroupingNodeKeyJSON extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECPropertyGroupingNode;\r\n className: string;\r\n propertyName: string;\r\n groupingValues: any[];\r\n}\r\n\r\n/**\r\n * Data structure that describes a display label grouping node key\r\n * @public\r\n */\r\nexport interface LabelGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.DisplayLabelGroupingNode;\r\n /** Grouping display label */\r\n label: string;\r\n}\r\n/**\r\n * Serialized [[LabelGroupingNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[LabelGroupingNodeKey]].\r\n */\r\nexport interface LabelGroupingNodeKeyJSON extends GroupingNodeKey {\r\n type: StandardNodeTypes.DisplayLabelGroupingNode;\r\n label: string;\r\n}\r\n\r\n/**\r\n * One of the serialized node key types\r\n * @public\r\n * @deprecated in 3.x. Use [[NodeKey]].\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type NodeKeyJSON = BaseNodeKeyJSON | ECInstancesNodeKeyJSON | ECClassGroupingNodeKeyJSON | ECPropertyGroupingNodeKeyJSON | LabelGroupingNodeKeyJSON;\r\n\r\n/**\r\n * Data structure that describes a presentation query\r\n * @alpha\r\n */\r\nexport interface PresentationQuery {\r\n /** ECSQL query */\r\n query: string;\r\n /** The query bindings */\r\n bindings?: PresentationQueryBinding[];\r\n}\r\n\r\n/** @alpha */\r\nexport interface BasePresentationQueryBinding {\r\n type: \"Id\" | \"IdSet\" | \"ECValue\" | \"ValueSet\";\r\n}\r\n\r\n/** @alpha */\r\nexport interface IdBinding extends BasePresentationQueryBinding {\r\n type: \"Id\";\r\n value: Id64String;\r\n}\r\n\r\n/** @alpha */\r\nexport interface IdSetBinding extends BasePresentationQueryBinding {\r\n type: \"IdSet\";\r\n value: Id64String[];\r\n}\r\n\r\n/** @alpha */\r\nexport interface ECValueBinding extends BasePresentationQueryBinding {\r\n type: \"ECValue\";\r\n valueType: string;\r\n valueTypeExtended?: string;\r\n value: any;\r\n}\r\n\r\n/** @alpha */\r\nexport interface ECValueSetBinding extends BasePresentationQueryBinding {\r\n type: \"ValueSet\";\r\n valueType: string;\r\n valueTypeExtended?: string;\r\n value: any[];\r\n}\r\n\r\n/**\r\n * One of the presentation query binding types\r\n * @alpha\r\n */\r\nexport type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;\r\n"]}
|
|
1
|
+
{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.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 Hierarchies\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { InstanceKey } from \"../EC\";\r\n\r\n/**\r\n * Standard node types\r\n * @public\r\n */\r\nexport enum StandardNodeTypes {\r\n ECInstancesNode = \"ECInstancesNode\",\r\n ECClassGroupingNode = \"ECClassGroupingNode\",\r\n ECPropertyGroupingNode = \"ECPropertyGroupingNode\",\r\n DisplayLabelGroupingNode = \"DisplayLabelGroupingNode\",\r\n}\r\n\r\n/**\r\n * One of the node key types\r\n * @public\r\n */\r\nexport type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace NodeKey {\r\n /**\r\n * Serialize given [[NodeKey]] to JSON\r\n * @deprecated in 3.x. Use [[NodeKey]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(key: NodeKey): NodeKeyJSON {\r\n return { ...key };\r\n }\r\n\r\n /**\r\n * Deserialize node key from JSON\r\n * @deprecated in 3.x. Use [[NodeKey]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: NodeKeyJSON): NodeKey {\r\n return { version: 1, ...json };\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\r\n export function isInstancesNodeKey(key: NodeKey): key is ECInstancesNodeKey;\r\n /** Checks if the supplied key is an [[ECInstancesNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isInstancesNodeKey(key: NodeKeyJSON): key is ECInstancesNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isInstancesNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECInstancesNode;\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\r\n export function isClassGroupingNodeKey(key: NodeKey): key is ECClassGroupingNodeKey;\r\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isClassGroupingNodeKey(key: NodeKeyJSON): key is ECClassGroupingNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isClassGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECClassGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\r\n export function isPropertyGroupingNodeKey(key: NodeKey): key is ECPropertyGroupingNodeKey;\r\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isPropertyGroupingNodeKey(key: NodeKeyJSON): key is ECPropertyGroupingNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isPropertyGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECPropertyGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\r\n export function isLabelGroupingNodeKey(key: NodeKey): key is LabelGroupingNodeKey;\r\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isLabelGroupingNodeKey(key: NodeKeyJSON): key is LabelGroupingNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isLabelGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.DisplayLabelGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is a grouping node key */\r\n export function isGroupingNodeKey(key: NodeKey): key is GroupingNodeKey;\r\n /** Checks if the supplied key is a grouping node key. @deprecated in 3.x. Use an override for [[NodeKey]]. */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isGroupingNodeKey(key: NodeKeyJSON): key is GroupingNodeKeyJSON;\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function isGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /**\r\n * Checks if two given node keys are equal, taking their versions into account.\r\n *\r\n * When comparing two keys of the same version, the algorithm uses [[NodeKey.pathFromRoot]] array\r\n * which is the most accurate way of checking equality. However, when version are different,\r\n * [[NodeKey.pathFromRoot]] array may contain different strings even though keys represent the same node.\r\n * In that case equality is checked using other key attributes, depending on the type of the node (type,\r\n * label, grouping class, property name, etc.).\r\n */\r\n export function equals(lhs: NodeKey, rhs: NodeKey): boolean {\r\n // types must always be equal\r\n if (lhs.type !== rhs.type) {\r\n return false;\r\n }\r\n\r\n // `pathFromRoot` lengths must always be equal\r\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length) {\r\n return false;\r\n }\r\n\r\n // when versions are equal, compare using contents of `pathFromRoot` array\r\n if (lhs.version === rhs.version) {\r\n for (let i = 0; i < lhs.pathFromRoot.length; ++i) {\r\n if (lhs.pathFromRoot[i] !== rhs.pathFromRoot[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n // when versions aren't equal, compare using other key information, because key hashes\r\n // of different key versions can't be compared\r\n if (isInstancesNodeKey(lhs)) {\r\n assert(isInstancesNodeKey(rhs));\r\n if (lhs.instanceKeys.length !== rhs.instanceKeys.length) {\r\n return false;\r\n }\r\n for (let i = 0; i < lhs.instanceKeys.length; ++i) {\r\n if (0 !== InstanceKey.compare(lhs.instanceKeys[i], rhs.instanceKeys[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n if (isClassGroupingNodeKey(lhs)) {\r\n assert(isClassGroupingNodeKey(rhs));\r\n return lhs.className === rhs.className;\r\n }\r\n if (isPropertyGroupingNodeKey(lhs)) {\r\n assert(isPropertyGroupingNodeKey(rhs));\r\n return lhs.className === rhs.className && lhs.propertyName === rhs.propertyName;\r\n }\r\n if (isLabelGroupingNodeKey(lhs)) {\r\n assert(isLabelGroupingNodeKey(rhs));\r\n return lhs.label === rhs.label;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * Node key path. Can be used to define path from one node to another.\r\n * @public\r\n */\r\nexport type NodeKeyPath = NodeKey[];\r\n\r\n/**\r\n * Data structure that describes a basic node key\r\n * @public\r\n */\r\nexport interface BaseNodeKey {\r\n /** Node type */\r\n type: string;\r\n\r\n /**\r\n * Version of the key. Different versions suggest that node keys were created by two different\r\n * versions of the library. In that case, keys representing the same node may be different.\r\n */\r\n version: number;\r\n\r\n /** Node hash path from root to the node whose key this is */\r\n pathFromRoot: string[];\r\n\r\n /** Query that returns all selected instance keys */\r\n instanceKeysSelectQuery?: PresentationQuery;\r\n}\r\n/**\r\n * Serialized [[BaseNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[BaseNodeKey]].\r\n */\r\nexport interface BaseNodeKeyJSON {\r\n type: string;\r\n // TODO: make this required\r\n version?: number;\r\n pathFromRoot: string[];\r\n instanceKeysSelectQuery?: PresentationQuery;\r\n}\r\n\r\n/**\r\n * Data structure that describes a node ECInstance node key\r\n * @public\r\n */\r\nexport interface ECInstancesNodeKey extends BaseNodeKey {\r\n type: StandardNodeTypes.ECInstancesNode;\r\n /** List of [[InstanceKey]] objects of ECInstances represented by the node */\r\n instanceKeys: InstanceKey[];\r\n}\r\n/**\r\n * Serialized [[ECInstancesNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[ECInstancesNodeKey]].\r\n */\r\nexport interface ECInstancesNodeKeyJSON extends BaseNodeKey {\r\n type: StandardNodeTypes.ECInstancesNode;\r\n instanceKeys: InstanceKey[];\r\n}\r\n\r\n/**\r\n * Data structure that describes a grouping node key\r\n * @public\r\n */\r\nexport interface GroupingNodeKey extends BaseNodeKey {\r\n /**\r\n * Get the number of instances grouped by the node represented\r\n * by this key.\r\n *\r\n * **Note:** this property is just a helper and is not involved\r\n * in identifying a node.\r\n */\r\n groupedInstancesCount: number;\r\n}\r\n/**\r\n * Serialized [[GroupingNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[GroupingNodeKey]].\r\n */\r\nexport interface GroupingNodeKeyJSON extends BaseNodeKey {\r\n groupedInstancesCount: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes an ECClass grouping node key\r\n * @public\r\n */\r\nexport interface ECClassGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECClassGroupingNode;\r\n /** Full name of the grouping ECClass */\r\n className: string;\r\n}\r\n/**\r\n * Serialized [[ECClassGroupingNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[ECClassGroupingNodeKey]].\r\n */\r\nexport interface ECClassGroupingNodeKeyJSON extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECClassGroupingNode;\r\n className: string;\r\n}\r\n\r\n/**\r\n * Data structure that describes an ECProperty grouping node key\r\n * @public\r\n */\r\nexport interface ECPropertyGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECPropertyGroupingNode;\r\n /** Full name of the grouping ECProperty class */\r\n className: string;\r\n /** Name of the ECProperty */\r\n propertyName: string;\r\n /** Raw grouping values */\r\n groupingValues: any[];\r\n}\r\n/**\r\n * Serialized [[ECPropertyGroupingNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[ECPropertyGroupingNodeKey]].\r\n */\r\nexport interface ECPropertyGroupingNodeKeyJSON extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECPropertyGroupingNode;\r\n className: string;\r\n propertyName: string;\r\n groupingValues: any[];\r\n}\r\n\r\n/**\r\n * Data structure that describes a display label grouping node key\r\n * @public\r\n */\r\nexport interface LabelGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.DisplayLabelGroupingNode;\r\n /** Grouping display label */\r\n label: string;\r\n}\r\n/**\r\n * Serialized [[LabelGroupingNodeKey]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[LabelGroupingNodeKey]].\r\n */\r\nexport interface LabelGroupingNodeKeyJSON extends GroupingNodeKey {\r\n type: StandardNodeTypes.DisplayLabelGroupingNode;\r\n label: string;\r\n}\r\n\r\n/**\r\n * One of the serialized node key types\r\n * @public\r\n * @deprecated in 3.x. Use [[NodeKey]].\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type NodeKeyJSON = BaseNodeKeyJSON | ECInstancesNodeKeyJSON | ECClassGroupingNodeKeyJSON | ECPropertyGroupingNodeKeyJSON | LabelGroupingNodeKeyJSON;\r\n\r\n/**\r\n * Data structure that describes a presentation query\r\n * @public\r\n */\r\nexport interface PresentationQuery {\r\n /** ECSQL query */\r\n query: string;\r\n /** The query bindings */\r\n bindings?: PresentationQueryBinding[];\r\n}\r\n\r\n/**\r\n * Defines an [[Id64String]] value binding.\r\n * @public\r\n */\r\nexport interface IdBinding {\r\n type: \"Id\";\r\n value: Id64String;\r\n}\r\n\r\n/**\r\n * Defines an [[IdSet]] value binding for use with `InVirtualSet` ECSQL function.\r\n * @public\r\n */\r\nexport interface IdSetBinding {\r\n type: \"IdSet\";\r\n value: Id64String[];\r\n}\r\n\r\n/**\r\n * Defines an EC value binding.\r\n * @public\r\n */\r\nexport interface ECValueBinding {\r\n type: \"ECValue\";\r\n valueType: string;\r\n valueTypeExtended?: string;\r\n value: any;\r\n}\r\n\r\n/**\r\n * Defines a binding for a list of EC values for use with `InVirtualSet` ECSQL function.\r\n * @public\r\n */\r\nexport interface ECValueSetBinding {\r\n type: \"ValueSet\";\r\n valueType: string;\r\n valueTypeExtended?: string;\r\n value: any[];\r\n}\r\n\r\n/**\r\n * One of the [[PresentationQuery]] binding types.\r\n * @public\r\n */\r\nexport type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;\r\n"]}
|
|
@@ -60,7 +60,6 @@ export interface Node {
|
|
|
60
60
|
/**
|
|
61
61
|
* Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or
|
|
62
62
|
* a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.
|
|
63
|
-
* @beta
|
|
64
63
|
*/
|
|
65
64
|
supportsFiltering?: boolean;
|
|
66
65
|
/** Extended data injected into this node */
|
|
@@ -95,7 +94,6 @@ export interface NodeJSON {
|
|
|
95
94
|
isChecked?: boolean;
|
|
96
95
|
/** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */
|
|
97
96
|
isCheckboxEnabled?: boolean;
|
|
98
|
-
/** @beta */
|
|
99
97
|
supportsFiltering?: boolean;
|
|
100
98
|
extendedData?: {
|
|
101
99
|
[key: string]: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,6CAA6C;IAC7C,GAAG,EAAE,OAAO,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,eAAe,CAAC;IACvB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8BAA8B;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B
|
|
1
|
+
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,+BAA6C;AAyH7C,cAAc;AACd,IAAiB,IAAI,CA+FpB;AA/FD,WAAiB,IAAI;IACnB;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,MAAM,CAAC,IAAU;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACL,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IANe,WAAM,SAMrB,CAAA;IAED,gBAAgB;IAChB,mDAAmD;IACnD,SAAgB,aAAa,CAAC,IAAiB;QAC7C,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACL,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAVe,kBAAa,gBAU5B,CAAA;IAED;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,QAAQ,CAAC,IAAuB;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC9C,OAAO;YACL,GAAG,QAAQ;YACX,mDAAmD;YACnD,GAAG,EAAE,aAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAXe,aAAQ,WAWvB,CAAA;IAED,gBAAgB;IAChB,mDAAmD;IACnD,SAAgB,eAAe,CAAC,IAAqB;QACnD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACnD,OAAO;YACL,GAAG,QAAQ;YACX,mDAAmD;YACnD,GAAG,EAAE,aAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAZe,oBAAe,kBAY9B,CAAA;IAED;;;;OAIG;IACH,SAAgB,OAAO,CAAC,GAAW,EAAE,KAAU;QAC7C,mDAAmD;QACnD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC;IAHe,YAAO,UAGtB,CAAA;IAED;;;;;OAKG;IACH,mDAAmD;IACnD,SAAgB,YAAY,CAAC,IAAyB;QACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,mDAAmD;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IANe,iBAAY,eAM3B,CAAA;IAED;;;;OAIG;IACH,SAAgB,WAAW,CAAC,GAAW,EAAE,KAAU;QACjD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAFe,gBAAW,cAE1B,CAAA;AACH,CAAC,EA/FgB,IAAI,oBAAJ,IAAI,QA+FpB","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 Hierarchies\r\n */\r\n\r\nimport { LabelDefinition, LabelDefinitionJSON } from \"../LabelDefinition\";\r\nimport { NodeKey, NodeKeyJSON } from \"./Key\";\r\n\r\n/**\r\n * Data structure that describes a tree node.\r\n * @public\r\n */\r\nexport interface Node {\r\n /** A key that uniquely identifies a node. */\r\n key: NodeKey;\r\n /** Definition of node display label */\r\n label: LabelDefinition;\r\n /** Extensive description */\r\n description?: string;\r\n /**\r\n * Image ID\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n imageId?: string;\r\n /**\r\n * Foreground color\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n foreColor?: string;\r\n /**\r\n * Background color\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n backColor?: string;\r\n /**\r\n * Font style\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n fontStyle?: string;\r\n /** Does this node have child nodes */\r\n hasChildren?: boolean;\r\n /** Is this node selectable */\r\n isSelectionDisabled?: boolean;\r\n /** Is this node editable */\r\n isEditable?: boolean;\r\n /** Is this node expanded */\r\n isExpanded?: boolean;\r\n /**\r\n * Is checkbox visible for this node\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isCheckboxVisible?: boolean;\r\n /**\r\n * Is this node's checkbox checked\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isChecked?: boolean;\r\n /**\r\n * Is this node's checkbox enabled\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isCheckboxEnabled?: boolean;\r\n /**\r\n * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or\r\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\r\n * @beta\r\n */\r\n supportsFiltering?: boolean;\r\n /** Extended data injected into this node */\r\n extendedData?: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\n/**\r\n * Serialized [[Node]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[Node]].\r\n */\r\nexport interface NodeJSON {\r\n // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKeyJSON;\r\n // TODO: rename to `label`\r\n // eslint-disable-next-line deprecation/deprecation\r\n labelDefinition: LabelDefinitionJSON;\r\n description?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n imageId?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n foreColor?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n backColor?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n fontStyle?: string;\r\n hasChildren?: boolean;\r\n isSelectionDisabled?: boolean;\r\n isEditable?: boolean;\r\n isExpanded?: boolean;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isCheckboxVisible?: boolean;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isChecked?: boolean;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isCheckboxEnabled?: boolean;\r\n /** @beta */\r\n supportsFiltering?: boolean;\r\n extendedData?: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\n/**\r\n * Partial node definition.\r\n * @public\r\n */\r\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\r\n\r\n/**\r\n * Serialized [[PartialNode]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[PartialNode]].\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, \"key\" | \"labelDefinition\">;\r\n\r\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\r\n\r\n/** @public */\r\nexport namespace Node {\r\n /**\r\n * Serialize given [[Node]] to JSON\r\n * @deprecated in 3.x. Use [[Node]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(node: Node): NodeJSON {\r\n const { label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n labelDefinition: label,\r\n };\r\n }\r\n\r\n /** @internal */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toPartialJSON(node: PartialNode): PartialNodeJSON {\r\n if (node.key === undefined) {\r\n return node;\r\n }\r\n\r\n const { label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n labelDefinition: label,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[Node]] from JSON\r\n * @deprecated in 3.x. Use [[Node]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: NodeJSON | string): Node {\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, reviver);\r\n }\r\n const { labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKey.fromJSON(json.key),\r\n label: labelDefinition,\r\n };\r\n }\r\n\r\n /** @internal */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromPartialJSON(json: PartialNodeJSON): PartialNode {\r\n if (json.key === undefined) {\r\n return json;\r\n }\r\n\r\n const { key, labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKey.fromJSON(key),\r\n label: labelDefinition,\r\n };\r\n }\r\n\r\n /**\r\n * Reviver function that can be used as a second argument for\r\n * `JSON.parse` method when parsing [[Node]] objects.\r\n * @internal\r\n */\r\n export function reviver(key: string, value: any): any {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return key === \"\" ? fromJSON(value) : value;\r\n }\r\n\r\n /**\r\n * Deserialize nodes list from JSON\r\n * @param json JSON or JSON serialized to string to deserialize from\r\n * @returns Deserialized nodes list\r\n * @internal\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, listReviver);\r\n }\r\n // eslint-disable-next-line deprecation/deprecation\r\n return json.map((m) => fromJSON(m));\r\n }\r\n\r\n /**\r\n * Reviver function that can be used as a second argument for\r\n * `JSON.parse` method when parsing [[Node]][] objects.\r\n * @internal\r\n */\r\n export function listReviver(key: string, value: any): any {\r\n return key === \"\" ? listFromJSON(value) : value;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAGH,+BAA6C;AAuH7C,cAAc;AACd,IAAiB,IAAI,CA+FpB;AA/FD,WAAiB,IAAI;IACnB;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,MAAM,CAAC,IAAU;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACL,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IANe,WAAM,SAMrB,CAAA;IAED,gBAAgB;IAChB,mDAAmD;IACnD,SAAgB,aAAa,CAAC,IAAiB;QAC7C,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACL,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAVe,kBAAa,gBAU5B,CAAA;IAED;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,QAAQ,CAAC,IAAuB;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC9C,OAAO;YACL,GAAG,QAAQ;YACX,mDAAmD;YACnD,GAAG,EAAE,aAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAXe,aAAQ,WAWvB,CAAA;IAED,gBAAgB;IAChB,mDAAmD;IACnD,SAAgB,eAAe,CAAC,IAAqB;QACnD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACnD,OAAO;YACL,GAAG,QAAQ;YACX,mDAAmD;YACnD,GAAG,EAAE,aAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAZe,oBAAe,kBAY9B,CAAA;IAED;;;;OAIG;IACH,SAAgB,OAAO,CAAC,GAAW,EAAE,KAAU;QAC7C,mDAAmD;QACnD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC;IAHe,YAAO,UAGtB,CAAA;IAED;;;;;OAKG;IACH,mDAAmD;IACnD,SAAgB,YAAY,CAAC,IAAyB;QACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,mDAAmD;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IANe,iBAAY,eAM3B,CAAA;IAED;;;;OAIG;IACH,SAAgB,WAAW,CAAC,GAAW,EAAE,KAAU;QACjD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAFe,gBAAW,cAE1B,CAAA;AACH,CAAC,EA/FgB,IAAI,oBAAJ,IAAI,QA+FpB","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 Hierarchies\r\n */\r\n\r\nimport { LabelDefinition, LabelDefinitionJSON } from \"../LabelDefinition\";\r\nimport { NodeKey, NodeKeyJSON } from \"./Key\";\r\n\r\n/**\r\n * Data structure that describes a tree node.\r\n * @public\r\n */\r\nexport interface Node {\r\n /** A key that uniquely identifies a node. */\r\n key: NodeKey;\r\n /** Definition of node display label */\r\n label: LabelDefinition;\r\n /** Extensive description */\r\n description?: string;\r\n /**\r\n * Image ID\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n imageId?: string;\r\n /**\r\n * Foreground color\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n foreColor?: string;\r\n /**\r\n * Background color\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n backColor?: string;\r\n /**\r\n * Font style\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n fontStyle?: string;\r\n /** Does this node have child nodes */\r\n hasChildren?: boolean;\r\n /** Is this node selectable */\r\n isSelectionDisabled?: boolean;\r\n /** Is this node editable */\r\n isEditable?: boolean;\r\n /** Is this node expanded */\r\n isExpanded?: boolean;\r\n /**\r\n * Is checkbox visible for this node\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isCheckboxVisible?: boolean;\r\n /**\r\n * Is this node's checkbox checked\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isChecked?: boolean;\r\n /**\r\n * Is this node's checkbox enabled\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isCheckboxEnabled?: boolean;\r\n /**\r\n * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or\r\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\r\n */\r\n supportsFiltering?: boolean;\r\n /** Extended data injected into this node */\r\n extendedData?: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\n/**\r\n * Serialized [[Node]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[Node]].\r\n */\r\nexport interface NodeJSON {\r\n // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKeyJSON;\r\n // TODO: rename to `label`\r\n // eslint-disable-next-line deprecation/deprecation\r\n labelDefinition: LabelDefinitionJSON;\r\n description?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n imageId?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n foreColor?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n backColor?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n fontStyle?: string;\r\n hasChildren?: boolean;\r\n isSelectionDisabled?: boolean;\r\n isEditable?: boolean;\r\n isExpanded?: boolean;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isCheckboxVisible?: boolean;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isChecked?: boolean;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isCheckboxEnabled?: boolean;\r\n supportsFiltering?: boolean;\r\n extendedData?: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\n/**\r\n * Partial node definition.\r\n * @public\r\n */\r\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\r\n\r\n/**\r\n * Serialized [[PartialNode]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[PartialNode]].\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, \"key\" | \"labelDefinition\">;\r\n\r\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\r\n\r\n/** @public */\r\nexport namespace Node {\r\n /**\r\n * Serialize given [[Node]] to JSON\r\n * @deprecated in 3.x. Use [[Node]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(node: Node): NodeJSON {\r\n const { label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n labelDefinition: label,\r\n };\r\n }\r\n\r\n /** @internal */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toPartialJSON(node: PartialNode): PartialNodeJSON {\r\n if (node.key === undefined) {\r\n return node;\r\n }\r\n\r\n const { label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n labelDefinition: label,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[Node]] from JSON\r\n * @deprecated in 3.x. Use [[Node]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: NodeJSON | string): Node {\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, reviver);\r\n }\r\n const { labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKey.fromJSON(json.key),\r\n label: labelDefinition,\r\n };\r\n }\r\n\r\n /** @internal */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromPartialJSON(json: PartialNodeJSON): PartialNode {\r\n if (json.key === undefined) {\r\n return json;\r\n }\r\n\r\n const { key, labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKey.fromJSON(key),\r\n label: labelDefinition,\r\n };\r\n }\r\n\r\n /**\r\n * Reviver function that can be used as a second argument for\r\n * `JSON.parse` method when parsing [[Node]] objects.\r\n * @internal\r\n */\r\n export function reviver(key: string, value: any): any {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return key === \"\" ? fromJSON(value) : value;\r\n }\r\n\r\n /**\r\n * Deserialize nodes list from JSON\r\n * @param json JSON or JSON serialized to string to deserialize from\r\n * @returns Deserialized nodes list\r\n * @internal\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, listReviver);\r\n }\r\n // eslint-disable-next-line deprecation/deprecation\r\n return json.map((m) => fromJSON(m));\r\n }\r\n\r\n /**\r\n * Reviver function that can be used as a second argument for\r\n * `JSON.parse` method when parsing [[Node]][] objects.\r\n * @internal\r\n */\r\n export function listReviver(key: string, value: any): any {\r\n return key === \"\" ? listFromJSON(value) : value;\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ruleset.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX
|
|
1
|
+
{"version":3,"file":"Ruleset.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,eAAe,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAEhD,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,6CAA6C;IAC7C,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IAExB,gEAAgE;IAChE,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ruleset.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\nimport { Rule } from \"./Rule\";\r\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\r\nimport { VariablesGroup } from \"./Variables\";\r\n\r\n/**\r\n * Presentation ruleset is a list of rules that define tree hierarchy and content provided by\r\n * the presentation library. The ruleset consists of:\r\n * - Ruleset options\r\n * - Hierarchy rules:\r\n * - Root node rules\r\n * - Child node rules\r\n * - Content rules for content you see in content controls like property grid and table.\r\n * - Customization rules used for additional customizations such as styling, labeling, checkboxes, etc.\r\n * - User-controllable variables.\r\n *\r\n * @see [Presentation library documentation page]($docs/presentation/index.md)\r\n * @public\r\n */\r\nexport interface Ruleset {\r\n /**\r\n * Ruleset identifier. This ID is used to bind UI components with the specific rule set.\r\n *\r\n * @minLength 1\r\n */\r\n id: string;\r\n\r\n /**\r\n * Version of the presentation ruleset in SemVer format: `{major}.{minor}.{patch}`.\r\n *\r\n * Setting the version is optional, but might be useful when ruleset is persisted\r\n * somewhere and evolves over time. Having a version helps choose persisting\r\n * strategy (keep all versions or only latest) and find the latest ruleset from a list\r\n * of rulesets with the same id.\r\n *\r\n * Defaults to `0.0.0`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n
|
|
1
|
+
{"version":3,"file":"Ruleset.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\nimport { Rule } from \"./Rule\";\r\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\r\nimport { VariablesGroup } from \"./Variables\";\r\n\r\n/**\r\n * Presentation ruleset is a list of rules that define tree hierarchy and content provided by\r\n * the presentation library. The ruleset consists of:\r\n * - Ruleset options\r\n * - Hierarchy rules:\r\n * - Root node rules\r\n * - Child node rules\r\n * - Content rules for content you see in content controls like property grid and table.\r\n * - Customization rules used for additional customizations such as styling, labeling, checkboxes, etc.\r\n * - User-controllable variables.\r\n *\r\n * @see [Presentation library documentation page]($docs/presentation/index.md)\r\n * @public\r\n */\r\nexport interface Ruleset {\r\n /**\r\n * Ruleset identifier. This ID is used to bind UI components with the specific rule set.\r\n *\r\n * @minLength 1\r\n */\r\n id: string;\r\n\r\n /**\r\n * Version of the presentation ruleset in SemVer format: `{major}.{minor}.{patch}`.\r\n *\r\n * Setting the version is optional, but might be useful when ruleset is persisted\r\n * somewhere and evolves over time. Having a version helps choose persisting\r\n * strategy (keep all versions or only latest) and find the latest ruleset from a list\r\n * of rulesets with the same id.\r\n *\r\n * Defaults to `0.0.0`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n */\r\n version?: string;\r\n\r\n /**\r\n * Schema requirements for this ruleset. The ruleset is not used if the requirements are not met.\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n\r\n /** Supplementation-related information for this ruleset */\r\n supplementationInfo?: SupplementationInfo;\r\n\r\n /** User-controllable variable definitions */\r\n vars?: VariablesGroup[];\r\n\r\n /** Presentation rules used to create hierarchies and content */\r\n rules: Rule[];\r\n}\r\n\r\n/**\r\n * Contains supplementation-related information for\r\n * [supplemental rulesets]($docs/presentation/advanced/RulesetSupplementation.md).\r\n *\r\n * @public\r\n */\r\nexport interface SupplementationInfo {\r\n /**\r\n * Identifies why supplementation is done and uniquely identifies particular supplemental ruleset.\r\n * There can be only one supplemental rule set with the same [[Ruleset.id]] and [[supplementationPurpose]].\r\n */\r\n supplementationPurpose: string;\r\n}\r\n"]}
|
|
@@ -58,7 +58,6 @@ export interface ContentModifier extends RuleBase, ContentModifiersList {
|
|
|
58
58
|
* Specifies whether [`calculatedProperties`]($docs/presentation/content/CalculatedPropertiesSpecification.md) and
|
|
59
59
|
* [`relatedProperties`]($docs/presentation/content/RelatedPropertiesSpecification.md) specifications should also be applied on
|
|
60
60
|
* [nested content]($docs/presentation/content/Terminology.md#nested-content).
|
|
61
|
-
* @beta
|
|
62
61
|
*/
|
|
63
62
|
applyOnNestedContent?: boolean;
|
|
64
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentModifier.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/ContentModifier.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAErD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAE3D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAErD;;OAEG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAgB,SAAQ,QAAQ,EAAE,oBAAoB;IACrE,oCAAoC;IACpC,QAAQ,EAAE,iBAAiB,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,8BAA8B,CAAC;IAEvC
|
|
1
|
+
{"version":3,"file":"ContentModifier.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/ContentModifier.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAErD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAE3D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAErD;;OAEG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAgB,SAAQ,QAAQ,EAAE,oBAAoB;IACrE,oCAAoC;IACpC,QAAQ,EAAE,iBAAiB,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,8BAA8B,CAAC;IAEvC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentModifier.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/ContentModifier.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../../ClassSpecifications\";\r\nimport { RuleBase } from \"../../Rule\";\r\nimport { PropertySpecification } from \"../PropertySpecification\";\r\nimport { CalculatedPropertiesSpecification } from \"./CalculatedPropertiesSpecification\";\r\nimport { PropertyCategorySpecification } from \"./PropertyCategorySpecification\";\r\nimport { RelatedPropertiesSpecification } from \"./RelatedPropertiesSpecification\";\r\n\r\n/**\r\n * Contains various rule attributes that allow modifying returned content.\r\n *\r\n * This is not expected to be used directly - use through either [[ContentModifier]]\r\n * or [[ContentSpecification]].\r\n *\r\n * @see [Content modifier rule reference documentation page]($docs/presentation/content/ContentModifier.md)\r\n * @public\r\n */\r\nexport interface ContentModifiersList {\r\n /**\r\n * Specifications of [related properties]($docs/presentation/content/RelatedPropertiesSpecification.md) which are\r\n * included in the generated content.\r\n */\r\n relatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * Specifications of [calculated properties]($docs/presentation/content/CalculatedPropertiesSpecification.md) whose values are\r\n * generated using provided [ECExpressions]($docs/presentation/advanced/ECExpressions.md).\r\n */\r\n calculatedProperties?: CalculatedPropertiesSpecification[];\r\n\r\n /**\r\n * Specifications for [custom categories]($docs/presentation/content/PropertyCategorySpecification.md). Simply defining the categories does\r\n * nothing - they have to be referenced from [property specification]($docs/presentation/content/PropertySpecification.md) defined in\r\n * [[propertyOverrides]] by `id`.\r\n */\r\n propertyCategories?: PropertyCategorySpecification[];\r\n\r\n /**\r\n * Specifications for various [property overrides]($docs/presentation/content/PropertySpecification.md) that allow customizing property display.\r\n */\r\n propertyOverrides?: PropertySpecification[];\r\n}\r\n\r\n/**\r\n * Content modifiers are used to modify how instances of specified ECClasses are displayed in content which is\r\n * produced using [content rules]($docs/presentation/content/ContentRule.md). They do not produce any content\r\n * by themselves.\r\n *\r\n * @see [Content modifier rule reference documentation page]($docs/presentation/content/ContentModifier.md)\r\n * @public\r\n */\r\nexport interface ContentModifier extends RuleBase, ContentModifiersList {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"ContentModifier\";\r\n\r\n /**\r\n * Specification of ECClass whose content should be modified. The modifier is applied to all content\r\n * if this attribute is not specified.\r\n */\r\n class?: SingleSchemaClassSpecification;\r\n\r\n /**\r\n * Specifies whether [`calculatedProperties`]($docs/presentation/content/CalculatedPropertiesSpecification.md) and\r\n * [`relatedProperties`]($docs/presentation/content/RelatedPropertiesSpecification.md) specifications should also be applied on\r\n * [nested content]($docs/presentation/content/Terminology.md#nested-content).\r\n
|
|
1
|
+
{"version":3,"file":"ContentModifier.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/ContentModifier.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../../ClassSpecifications\";\r\nimport { RuleBase } from \"../../Rule\";\r\nimport { PropertySpecification } from \"../PropertySpecification\";\r\nimport { CalculatedPropertiesSpecification } from \"./CalculatedPropertiesSpecification\";\r\nimport { PropertyCategorySpecification } from \"./PropertyCategorySpecification\";\r\nimport { RelatedPropertiesSpecification } from \"./RelatedPropertiesSpecification\";\r\n\r\n/**\r\n * Contains various rule attributes that allow modifying returned content.\r\n *\r\n * This is not expected to be used directly - use through either [[ContentModifier]]\r\n * or [[ContentSpecification]].\r\n *\r\n * @see [Content modifier rule reference documentation page]($docs/presentation/content/ContentModifier.md)\r\n * @public\r\n */\r\nexport interface ContentModifiersList {\r\n /**\r\n * Specifications of [related properties]($docs/presentation/content/RelatedPropertiesSpecification.md) which are\r\n * included in the generated content.\r\n */\r\n relatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * Specifications of [calculated properties]($docs/presentation/content/CalculatedPropertiesSpecification.md) whose values are\r\n * generated using provided [ECExpressions]($docs/presentation/advanced/ECExpressions.md).\r\n */\r\n calculatedProperties?: CalculatedPropertiesSpecification[];\r\n\r\n /**\r\n * Specifications for [custom categories]($docs/presentation/content/PropertyCategorySpecification.md). Simply defining the categories does\r\n * nothing - they have to be referenced from [property specification]($docs/presentation/content/PropertySpecification.md) defined in\r\n * [[propertyOverrides]] by `id`.\r\n */\r\n propertyCategories?: PropertyCategorySpecification[];\r\n\r\n /**\r\n * Specifications for various [property overrides]($docs/presentation/content/PropertySpecification.md) that allow customizing property display.\r\n */\r\n propertyOverrides?: PropertySpecification[];\r\n}\r\n\r\n/**\r\n * Content modifiers are used to modify how instances of specified ECClasses are displayed in content which is\r\n * produced using [content rules]($docs/presentation/content/ContentRule.md). They do not produce any content\r\n * by themselves.\r\n *\r\n * @see [Content modifier rule reference documentation page]($docs/presentation/content/ContentModifier.md)\r\n * @public\r\n */\r\nexport interface ContentModifier extends RuleBase, ContentModifiersList {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"ContentModifier\";\r\n\r\n /**\r\n * Specification of ECClass whose content should be modified. The modifier is applied to all content\r\n * if this attribute is not specified.\r\n */\r\n class?: SingleSchemaClassSpecification;\r\n\r\n /**\r\n * Specifies whether [`calculatedProperties`]($docs/presentation/content/CalculatedPropertiesSpecification.md) and\r\n * [`relatedProperties`]($docs/presentation/content/RelatedPropertiesSpecification.md) specifications should also be applied on\r\n * [nested content]($docs/presentation/content/Terminology.md#nested-content).\r\n */\r\n applyOnNestedContent?: boolean;\r\n}\r\n"]}
|
package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts
CHANGED
|
@@ -68,7 +68,6 @@ export interface RelatedPropertiesSpecification {
|
|
|
68
68
|
autoExpand?: boolean;
|
|
69
69
|
/**
|
|
70
70
|
* Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.
|
|
71
|
-
* @beta
|
|
72
71
|
*/
|
|
73
72
|
skipIfDuplicate?: boolean;
|
|
74
73
|
/**
|
package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedPropertiesSpecification.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B;;;OAGG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,eAAe,oBAAoB;CACpC;AAED;;;GAGG;AACH,oBAAY,8BAA8B;IACxC;;;OAGG;IACH,IAAI,WAAW;IAEf;;OAEG;IACH,GAAG,MAAM;CACV;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB
|
|
1
|
+
{"version":3,"file":"RelatedPropertiesSpecification.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B;;;OAGG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,eAAe,oBAAoB;CACpC;AAED;;;GAGG;AACH,oBAAY,8BAA8B;IACxC;;;OAGG;IACH,IAAI,WAAW;IAEf;;OAEG;IACH,GAAG,MAAM;CACV;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAE/C,gIAAgI;IAChI,uBAAuB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAE3D;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,qBAAqB,CAAC,GAAG,GAAG,8BAA8B,EAAE,CAAC;IAEzF;;;OAGG;IACH,sBAAsB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,qBAAqB,CAAC,GAAG,GAAG,8BAA8B,EAAE,CAAC;IAErG;;OAEG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;CAC3C"}
|
package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedPropertiesSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAKH;;;GAGG;AACH,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,oDAA6B,CAAA;IAE7B;;;OAGG;IACH,0DAAmC,CAAA;AACrC,CAAC,EAZW,mBAAmB,mCAAnB,mBAAmB,QAY9B;AAED;;;GAGG;AACH,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC;;;OAGG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,2CAAS,CAAA;AACX,CAAC,EAXW,8BAA8B,8CAA9B,8BAA8B,QAWzC","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 PresentationRules\r\n */\r\n\r\nimport { RelationshipPathSpecification } from \"../../RelationshipPathSpecification\";\r\nimport { PropertySpecification } from \"../PropertySpecification\";\r\n\r\n/**\r\n * Meaning of the relationship.\r\n * @public\r\n */\r\nexport enum RelationshipMeaning {\r\n /**\r\n * The properties should be displayed as if they belonged to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance).\r\n * Generally that means they assigned a category, that's nested under the default category.\r\n */\r\n SameInstance = \"SameInstance\",\r\n\r\n /**\r\n * The properties should be distinguished from properties of the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.\r\n */\r\n RelatedInstance = \"RelatedInstance\",\r\n}\r\n\r\n/**\r\n * Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]\r\n * @public\r\n */\r\nexport enum RelatedPropertiesSpecialValues {\r\n /**\r\n * Used to specify that no properties should be included. Usually\r\n * used together with [[RelatedPropertiesSpecification.nestedRelatedProperties]]\r\n */\r\n None = \"_none_\",\r\n\r\n /**\r\n * Used to specify that all properties should be included.\r\n */\r\n All = \"*\",\r\n}\r\n\r\n/**\r\n * This specification allows including related instance properties into the content.\r\n *\r\n * @see [Related properties specification specification reference documentation page]($docs/presentation/content/RelatedPropertiesSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedPropertiesSpecification {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md) that\r\n * forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.\r\n */\r\n propertiesSource: RelationshipPathSpecification;\r\n\r\n /**\r\n * Condition for filtering instances targeted by the [[propertiesSource]] attribute.\r\n *\r\n * **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)\r\n */\r\n instanceFilter?: string;\r\n\r\n /**\r\n * The attribute tells whether the target class specified through [[propertiesSource]] should be handled\r\n * polymorphically. This means properties of the concrete class are loaded in addition to properties of the\r\n * target class itself.\r\n *\r\n * @note There's a difference between loading properties and instances polymorphically. This attribute\r\n * only controls polymorphism of properties, while instances are always looked up in a polymorphic fashion.\r\n */\r\n handleTargetClassPolymorphically?: boolean;\r\n\r\n /**\r\n * Should the field containing related properties be assigned the [[NestedContentField.autoExpand]]\r\n * attribute. The attribute tells UI components showing the properties that they should be initially displayed in the expanded state.\r\n */\r\n autoExpand?: boolean;\r\n\r\n /**\r\n * Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.\r\n
|
|
1
|
+
{"version":3,"file":"RelatedPropertiesSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAKH;;;GAGG;AACH,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,oDAA6B,CAAA;IAE7B;;;OAGG;IACH,0DAAmC,CAAA;AACrC,CAAC,EAZW,mBAAmB,mCAAnB,mBAAmB,QAY9B;AAED;;;GAGG;AACH,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC;;;OAGG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,2CAAS,CAAA;AACX,CAAC,EAXW,8BAA8B,8CAA9B,8BAA8B,QAWzC","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 PresentationRules\r\n */\r\n\r\nimport { RelationshipPathSpecification } from \"../../RelationshipPathSpecification\";\r\nimport { PropertySpecification } from \"../PropertySpecification\";\r\n\r\n/**\r\n * Meaning of the relationship.\r\n * @public\r\n */\r\nexport enum RelationshipMeaning {\r\n /**\r\n * The properties should be displayed as if they belonged to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance).\r\n * Generally that means they assigned a category, that's nested under the default category.\r\n */\r\n SameInstance = \"SameInstance\",\r\n\r\n /**\r\n * The properties should be distinguished from properties of the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.\r\n */\r\n RelatedInstance = \"RelatedInstance\",\r\n}\r\n\r\n/**\r\n * Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]\r\n * @public\r\n */\r\nexport enum RelatedPropertiesSpecialValues {\r\n /**\r\n * Used to specify that no properties should be included. Usually\r\n * used together with [[RelatedPropertiesSpecification.nestedRelatedProperties]]\r\n */\r\n None = \"_none_\",\r\n\r\n /**\r\n * Used to specify that all properties should be included.\r\n */\r\n All = \"*\",\r\n}\r\n\r\n/**\r\n * This specification allows including related instance properties into the content.\r\n *\r\n * @see [Related properties specification specification reference documentation page]($docs/presentation/content/RelatedPropertiesSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedPropertiesSpecification {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md) that\r\n * forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.\r\n */\r\n propertiesSource: RelationshipPathSpecification;\r\n\r\n /**\r\n * Condition for filtering instances targeted by the [[propertiesSource]] attribute.\r\n *\r\n * **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)\r\n */\r\n instanceFilter?: string;\r\n\r\n /**\r\n * The attribute tells whether the target class specified through [[propertiesSource]] should be handled\r\n * polymorphically. This means properties of the concrete class are loaded in addition to properties of the\r\n * target class itself.\r\n *\r\n * @note There's a difference between loading properties and instances polymorphically. This attribute\r\n * only controls polymorphism of properties, while instances are always looked up in a polymorphic fashion.\r\n */\r\n handleTargetClassPolymorphically?: boolean;\r\n\r\n /**\r\n * Should the field containing related properties be assigned the [[NestedContentField.autoExpand]]\r\n * attribute. The attribute tells UI components showing the properties that they should be initially displayed in the expanded state.\r\n */\r\n autoExpand?: boolean;\r\n\r\n /**\r\n * Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.\r\n */\r\n skipIfDuplicate?: boolean;\r\n\r\n /**\r\n * The attribute describes what the related properties mean to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * whose properties are displayed.\r\n * @see RelationshipMeaning\r\n */\r\n relationshipMeaning?: `${RelationshipMeaning}`;\r\n\r\n /** The attribute allows loading additional related properties that are related to the target instance of this specification. */\r\n nestedRelatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * List of names or definitions of related class properties that should be included in the content.\r\n * @see RelatedPropertiesSpecialValues\r\n */\r\n properties?: Array<string | PropertySpecification> | `${RelatedPropertiesSpecialValues}`;\r\n\r\n /**\r\n * List of names or definitions of relationship class properties that should be included in the content.\r\n * @see RelatedPropertiesSpecialValues\r\n */\r\n relationshipProperties?: Array<string | PropertySpecification> | `${RelatedPropertiesSpecialValues}`;\r\n\r\n /**\r\n * Specifies whether a relationship category should be created regardless of whether any relationship properties were included.\r\n */\r\n forceCreateRelationshipCategory?: boolean;\r\n}\r\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Type of diagnostics logger severity.
|
|
6
|
-
* @
|
|
6
|
+
* @public
|
|
7
7
|
*/
|
|
8
8
|
export type DiagnosticsLoggerSeverity = "error" | "warning" | "info" | "debug" | "trace";
|
|
9
9
|
/**
|
|
@@ -31,21 +31,21 @@ export declare function combineDiagnosticsSeverities(lhs: undefined | boolean |
|
|
|
31
31
|
export declare function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity): 0 | 1 | -1;
|
|
32
32
|
/**
|
|
33
33
|
* Data structure for diagnostics information.
|
|
34
|
-
* @
|
|
34
|
+
* @public
|
|
35
35
|
*/
|
|
36
36
|
export interface Diagnostics {
|
|
37
37
|
logs?: DiagnosticsScopeLogs[];
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Data structure with client diagnostics information.
|
|
41
|
-
* @
|
|
41
|
+
* @public
|
|
42
42
|
*/
|
|
43
43
|
export interface ClientDiagnostics extends Diagnostics {
|
|
44
44
|
backendVersion?: string;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
47
|
* Data structure for diagnostics options.
|
|
48
|
-
* @
|
|
48
|
+
* @public
|
|
49
49
|
*/
|
|
50
50
|
export interface DiagnosticsOptions {
|
|
51
51
|
/**
|
|
@@ -62,12 +62,12 @@ export interface DiagnosticsOptions {
|
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* A function that can be called after receiving diagnostics.
|
|
65
|
-
* @
|
|
65
|
+
* @public
|
|
66
66
|
*/
|
|
67
67
|
export type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;
|
|
68
68
|
/**
|
|
69
69
|
* Data structure for client diagnostics options.
|
|
70
|
-
* @
|
|
70
|
+
* @public
|
|
71
71
|
*/
|
|
72
72
|
export interface ClientDiagnosticsOptions extends DiagnosticsOptions {
|
|
73
73
|
backendVersion?: boolean;
|
|
@@ -80,13 +80,12 @@ export interface ClientDiagnosticsOptions extends DiagnosticsOptions {
|
|
|
80
80
|
export interface ClientDiagnosticsAttribute {
|
|
81
81
|
/**
|
|
82
82
|
* Diagnostics options.
|
|
83
|
-
* @beta
|
|
84
83
|
*/
|
|
85
84
|
diagnostics?: ClientDiagnosticsOptions;
|
|
86
85
|
}
|
|
87
86
|
/**
|
|
88
87
|
* Data structure for diagnostics log message information.
|
|
89
|
-
* @
|
|
88
|
+
* @public
|
|
90
89
|
*/
|
|
91
90
|
export interface DiagnosticsLogMessage {
|
|
92
91
|
severity: {
|
|
@@ -99,7 +98,7 @@ export interface DiagnosticsLogMessage {
|
|
|
99
98
|
}
|
|
100
99
|
/**
|
|
101
100
|
* Data structure for diagnostics scope information.
|
|
102
|
-
* @
|
|
101
|
+
* @public
|
|
103
102
|
*/
|
|
104
103
|
export interface DiagnosticsScopeLogs {
|
|
105
104
|
scope: string;
|
|
@@ -112,12 +111,12 @@ export interface DiagnosticsScopeLogs {
|
|
|
112
111
|
}
|
|
113
112
|
/**
|
|
114
113
|
* Data structure for diagnostics log entry.
|
|
115
|
-
* @
|
|
114
|
+
* @public
|
|
116
115
|
*/
|
|
117
116
|
export type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;
|
|
118
117
|
/**
|
|
119
118
|
* Functions related to diagnostics log entry.
|
|
120
|
-
* @
|
|
119
|
+
* @public
|
|
121
120
|
*/
|
|
122
121
|
export declare namespace DiagnosticsLogEntry {
|
|
123
122
|
function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diagnostics.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,yCAetJ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,cAmBtJ;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC1C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC
|
|
1
|
+
{"version":3,"file":"Diagnostics.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,yCAetJ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,cAmBtJ;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC1C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAChC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE/E;;;GAGG;AAEH,yBAAiB,mBAAmB,CAAC;IACnC,SAAgB,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,qBAAqB,CAEpF;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,oBAAoB,CAEjF;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAQH;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB,GACpB,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI;YAClE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;gBAChC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;
|
|
1
|
+
{"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAQH;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB,GACpB,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI;YAClE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;gBAChC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AA4FD;;;GAGG;AACH,2DAA2D;AAC3D,MAAM,KAAW,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,KAAnB,mBAAmB,QAOnC","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\n/**\r\n * Type of diagnostics logger severity.\r\n * @public\r\n */\r\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\r\n\r\n/**\r\n * Returns lower severity of the given two. Examples:\r\n * ```\r\n * combineDiagnosticsSeverities(\"error\", \"error\") === \"error\"\r\n * combineDiagnosticsSeverities(\"error\", \"debug\") === \"debug\"\r\n * combineDiagnosticsSeverities(\"debug\", \"error\") === \"debug\"\r\n * ```\r\n * @internal\r\n */\r\nexport function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n if (!lhs && !rhs) {\r\n return undefined;\r\n }\r\n const combinedSeverity: DiagnosticsLoggerSeverity =\r\n lhs === \"trace\" || rhs === \"trace\"\r\n ? \"trace\"\r\n : lhs === \"debug\" || lhs === true || rhs === \"debug\" || rhs === true\r\n ? \"debug\"\r\n : lhs === \"info\" || rhs === \"info\"\r\n ? \"info\"\r\n : lhs === \"warning\" || rhs === \"warning\"\r\n ? \"warning\"\r\n : \"error\";\r\n return combinedSeverity;\r\n}\r\n\r\n/**\r\n * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:\r\n * ```\r\n * compareDiagnosticsSeverities(\"error\", \"error\") === 0\r\n * compareDiagnosticsSeverities(\"error\", false) === 0\r\n * compareDiagnosticsSeverities(\"error\", undefined) === 0\r\n * compareDiagnosticsSeverities(\"debug\", true) === 0\r\n * compareDiagnosticsSeverities(\"debug\", \"error\") < 0\r\n * compareDiagnosticsSeverities(\"error\", \"debug\") > 0\r\n * ```\r\n * @internal\r\n */\r\nexport function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n const normalizedLhs: DiagnosticsLoggerSeverity = lhs === undefined || lhs === false ? \"error\" : lhs === true ? \"debug\" : lhs;\r\n const normalizedRhs: DiagnosticsLoggerSeverity = rhs === undefined || rhs === false ? \"error\" : rhs === true ? \"debug\" : rhs;\r\n if (normalizedLhs === normalizedRhs) {\r\n return 0;\r\n }\r\n if (normalizedLhs === \"error\") {\r\n return 1;\r\n }\r\n if (normalizedLhs === \"warning\") {\r\n return normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n if (normalizedLhs === \"info\") {\r\n return normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n if (normalizedLhs === \"debug\") {\r\n return normalizedRhs === \"info\" || normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n return -1;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics information.\r\n * @public\r\n */\r\nexport interface Diagnostics {\r\n logs?: DiagnosticsScopeLogs[];\r\n}\r\n\r\n/**\r\n * Data structure with client diagnostics information.\r\n * @public\r\n */\r\nexport interface ClientDiagnostics extends Diagnostics {\r\n backendVersion?: string;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics options.\r\n * @public\r\n */\r\nexport interface DiagnosticsOptions {\r\n /**\r\n * Flag specifying that performance should be measured, or\r\n * minimum duration in milliseconds for which performance metric should be included.\r\n */\r\n perf?: boolean | { minimumDuration: number };\r\n /** Severity for developer log messages */\r\n dev?: boolean | DiagnosticsLoggerSeverity;\r\n /** Severity for presentation rules' editor log messages */\r\n editor?: boolean | DiagnosticsLoggerSeverity;\r\n}\r\n\r\n/**\r\n * A function that can be called after receiving diagnostics.\r\n * @public\r\n */\r\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\r\n\r\n/**\r\n * Data structure for client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\r\n backendVersion?: boolean;\r\n handler: ClientDiagnosticsHandler;\r\n}\r\n\r\n/**\r\n * Data structure which contains client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsAttribute {\r\n /**\r\n * Diagnostics options.\r\n */\r\n diagnostics?: ClientDiagnosticsOptions;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log message information.\r\n * @public\r\n */\r\nexport interface DiagnosticsLogMessage {\r\n severity: {\r\n dev?: DiagnosticsLoggerSeverity;\r\n editor?: DiagnosticsLoggerSeverity;\r\n };\r\n category: string;\r\n message: string;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics scope information.\r\n * @public\r\n */\r\nexport interface DiagnosticsScopeLogs {\r\n scope: string;\r\n scopeCreateTimestamp?: number;\r\n duration?: number;\r\n logs?: DiagnosticsLogEntry[];\r\n attributes?: { [attributeKey: string]: string | string[] };\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log entry.\r\n * @public\r\n */\r\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\r\n\r\n/**\r\n * Functions related to diagnostics log entry.\r\n * @public\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace DiagnosticsLogEntry {\r\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\r\n return !!(entry as any).message;\r\n }\r\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\r\n return !!(entry as any).scope;\r\n }\r\n}\r\n"]}
|