@itwin/presentation-common 4.6.0-dev.8 → 4.6.0
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 +16 -1
- package/lib/cjs/presentation-common/CommonLoggerCategory.js +1 -1
- package/lib/cjs/presentation-common/CommonLoggerCategory.js.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.js +7 -7
- package/lib/cjs/presentation-common/EC.js.map +1 -1
- package/lib/cjs/presentation-common/Error.js +1 -1
- package/lib/cjs/presentation-common/Error.js.map +1 -1
- package/lib/cjs/presentation-common/KeySet.js +4 -4
- package/lib/cjs/presentation-common/KeySet.js.map +1 -1
- package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
- package/lib/cjs/presentation-common/LabelDefinition.js +2 -2
- package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
- package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
- package/lib/cjs/presentation-common/PresentationRpcInterface.js +2 -2
- package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
- package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
- package/lib/cjs/presentation-common/RulesetVariables.js +2 -2
- package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
- package/lib/cjs/presentation-common/RulesetsFactory.js +2 -1
- package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
- package/lib/cjs/presentation-common/Update.js +2 -2
- package/lib/cjs/presentation-common/Update.js.map +1 -1
- package/lib/cjs/presentation-common/Utils.js.map +1 -1
- package/lib/cjs/presentation-common/content/Category.js +1 -1
- package/lib/cjs/presentation-common/content/Category.js.map +1 -1
- package/lib/cjs/presentation-common/content/Content.js.map +1 -1
- package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
- package/lib/cjs/presentation-common/content/Descriptor.js +3 -3
- package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
- package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +1 -1
- package/lib/cjs/presentation-common/content/DisplayTypes.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/DisplayTypes.js +1 -1
- package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
- package/lib/cjs/presentation-common/content/Fields.js +2 -2
- package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
- package/lib/cjs/presentation-common/content/Item.js.map +1 -1
- package/lib/cjs/presentation-common/content/Property.js +1 -1
- package/lib/cjs/presentation-common/content/Property.js.map +1 -1
- package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +1 -0
- package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
- package/lib/cjs/presentation-common/content/TypeDescription.js +1 -1
- package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
- package/lib/cjs/presentation-common/content/Value.js +4 -4
- package/lib/cjs/presentation-common/content/Value.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +1 -1
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Key.js +3 -3
- package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Node.js +1 -1
- package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +2 -2
- package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
- package/lib/cjs/presentation-common/rules/RelationshipDirection.js +1 -1
- package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
- package/lib/cjs/presentation-common/rules/Rule.d.ts +2 -2
- package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/Rule.js +1 -1
- package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/Variables.js +1 -1
- package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +1 -1
- package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +2 -2
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +3 -3
- package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +1 -1
- package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
- package/lib/esm/presentation-common/EC.js.map +1 -1
- package/lib/esm/presentation-common/Error.js.map +1 -1
- package/lib/esm/presentation-common/KeySet.js +3 -3
- package/lib/esm/presentation-common/KeySet.js.map +1 -1
- package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
- package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
- package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
- package/lib/esm/presentation-common/PresentationRpcInterface.js +1 -2
- package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
- package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
- package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
- package/lib/esm/presentation-common/RulesetsFactory.js +2 -1
- package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
- package/lib/esm/presentation-common/Update.js.map +1 -1
- package/lib/esm/presentation-common/Utils.js.map +1 -1
- package/lib/esm/presentation-common/content/Category.js.map +1 -1
- package/lib/esm/presentation-common/content/Content.js.map +1 -1
- package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
- package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
- package/lib/esm/presentation-common/content/DisplayTypes.d.ts +1 -1
- package/lib/esm/presentation-common/content/DisplayTypes.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/Fields.js.map +1 -1
- package/lib/esm/presentation-common/content/Item.js.map +1 -1
- package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/PropertyValueFormatter.js +1 -0
- package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
- package/lib/esm/presentation-common/content/Value.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Key.js +1 -1
- package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
- package/lib/esm/presentation-common/rules/Rule.d.ts +2 -2
- package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
- package/package.json +13 -12
|
@@ -28,5 +28,5 @@ var HierarchyLevel;
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
HierarchyLevel.fromJSON = fromJSON;
|
|
31
|
-
})(HierarchyLevel
|
|
31
|
+
})(HierarchyLevel || (exports.HierarchyLevel = HierarchyLevel = {}));
|
|
32
32
|
//# sourceMappingURL=HierarchyLevel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchyLevel.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/HierarchyLevel.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAAwC;AA2BxC;;;GAGG;AACH,IAAiB,cAAc,CAa9B;AAbD,WAAiB,cAAc;IAC7B;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,QAAQ,CAAC,IAAwB;QAC/C,OAAO;YACL,GAAG,IAAI;YACP,mDAAmD;YACnD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAI,CAAC,QAAQ,CAAC;SACrC,CAAC;IACJ,CAAC;IANe,uBAAQ,WAMvB,CAAA;AACH,CAAC,EAbgB,cAAc,
|
|
1
|
+
{"version":3,"file":"HierarchyLevel.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/HierarchyLevel.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAAwC;AA2BxC;;;GAGG;AACH,IAAiB,cAAc,CAa9B;AAbD,WAAiB,cAAc;IAC7B;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,QAAQ,CAAC,IAAwB;QAC/C,OAAO;YACL,GAAG,IAAI;YACP,mDAAmD;YACnD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAI,CAAC,QAAQ,CAAC;SACrC,CAAC;IACJ,CAAC;IANe,uBAAQ,WAMvB,CAAA;AACH,CAAC,EAbgB,cAAc,8BAAd,cAAc,QAa9B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { Node, NodeJSON } from \"./Node\";\n\n/**\n * Defines a hierarchy level that consists of an array of nodes and possibly other information.\n * @beta\n */\nexport interface HierarchyLevel {\n /** A list of nodes in a hierarchy level. */\n nodes: Node[];\n /**\n * Identifies whether the hierarchy level supports filtering. If not, requesting either a hierarchy level descriptor or\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\n */\n supportsFiltering?: boolean;\n}\n\n/**\n * JSON representation of [[HierarchyLevel]].\n * @beta\n * @deprecated in 3.x. Use [[HierarchyLevel]]\n */\nexport interface HierarchyLevelJSON {\n // eslint-disable-next-line deprecation/deprecation\n nodes: NodeJSON[];\n supportsFiltering?: boolean;\n}\n\n/**\n * Contains helper functions for working with objects of [[HierarchyLevel]] type.\n * @beta\n */\nexport namespace HierarchyLevel {\n /**\n * Deserialize [[HierarchyLevel]] from JSON\n * @deprecated in 3.x. Use [[HierarchyLevel]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: HierarchyLevelJSON): HierarchyLevel {\n return {\n ...json,\n // eslint-disable-next-line deprecation/deprecation\n nodes: json.nodes.map(Node.fromJSON),\n };\n }\n}\n"]}
|
|
@@ -20,7 +20,7 @@ var StandardNodeTypes;
|
|
|
20
20
|
StandardNodeTypes["ECClassGroupingNode"] = "ECClassGroupingNode";
|
|
21
21
|
StandardNodeTypes["ECPropertyGroupingNode"] = "ECPropertyGroupingNode";
|
|
22
22
|
StandardNodeTypes["DisplayLabelGroupingNode"] = "DisplayLabelGroupingNode";
|
|
23
|
-
})(StandardNodeTypes
|
|
23
|
+
})(StandardNodeTypes || (exports.StandardNodeTypes = StandardNodeTypes = {}));
|
|
24
24
|
/** @public */
|
|
25
25
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
26
26
|
var NodeKey;
|
|
@@ -65,7 +65,7 @@ var NodeKey;
|
|
|
65
65
|
NodeKey.isLabelGroupingNodeKey = isLabelGroupingNodeKey;
|
|
66
66
|
// eslint-disable-next-line deprecation/deprecation
|
|
67
67
|
function isGroupingNodeKey(key) {
|
|
68
|
-
return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key);
|
|
68
|
+
return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key); // eslint-disable-line deprecation/deprecation
|
|
69
69
|
}
|
|
70
70
|
NodeKey.isGroupingNodeKey = isGroupingNodeKey;
|
|
71
71
|
/**
|
|
@@ -124,5 +124,5 @@ var NodeKey;
|
|
|
124
124
|
return true;
|
|
125
125
|
}
|
|
126
126
|
NodeKey.equals = equals;
|
|
127
|
-
})(NodeKey
|
|
127
|
+
})(NodeKey || (exports.NodeKey = NodeKey = {}));
|
|
128
128
|
//# sourceMappingURL=Key.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport { InstanceKey } from \"../EC\";\n\n/**\n * Standard node types\n * @public\n */\nexport enum StandardNodeTypes {\n ECInstancesNode = \"ECInstancesNode\",\n ECClassGroupingNode = \"ECClassGroupingNode\",\n ECPropertyGroupingNode = \"ECPropertyGroupingNode\",\n DisplayLabelGroupingNode = \"DisplayLabelGroupingNode\",\n}\n\n/**\n * One of the node key types\n * @public\n */\nexport type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace NodeKey {\n /**\n * Serialize given [[NodeKey]] to JSON\n * @deprecated in 3.x. Use [[NodeKey]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(key: NodeKey): NodeKeyJSON {\n return { ...key };\n }\n\n /**\n * Deserialize node key from JSON\n * @deprecated in 3.x. Use [[NodeKey]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: NodeKeyJSON): NodeKey {\n return { version: 1, ...json };\n }\n\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\n export function isInstancesNodeKey(key: NodeKey): key is ECInstancesNodeKey;\n /** Checks if the supplied key is an [[ECInstancesNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isInstancesNodeKey(key: NodeKeyJSON): key is ECInstancesNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isInstancesNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECInstancesNode;\n }\n\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\n export function isClassGroupingNodeKey(key: NodeKey): key is ECClassGroupingNodeKey;\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isClassGroupingNodeKey(key: NodeKeyJSON): key is ECClassGroupingNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isClassGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECClassGroupingNode;\n }\n\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\n export function isPropertyGroupingNodeKey(key: NodeKey): key is ECPropertyGroupingNodeKey;\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isPropertyGroupingNodeKey(key: NodeKeyJSON): key is ECPropertyGroupingNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isPropertyGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECPropertyGroupingNode;\n }\n\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\n export function isLabelGroupingNodeKey(key: NodeKey): key is LabelGroupingNodeKey;\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isLabelGroupingNodeKey(key: NodeKeyJSON): key is LabelGroupingNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isLabelGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.DisplayLabelGroupingNode;\n }\n\n /** Checks if the supplied key is a grouping node key */\n export function isGroupingNodeKey(key: NodeKey): key is GroupingNodeKey;\n /** Checks if the supplied key is a grouping node key. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isGroupingNodeKey(key: NodeKeyJSON): key is GroupingNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key);\n }\n\n /**\n * Checks if two given node keys are equal, taking their versions into account.\n *\n * When comparing two keys of the same version, the algorithm uses [[NodeKey.pathFromRoot]] array\n * which is the most accurate way of checking equality. However, when version are different,\n * [[NodeKey.pathFromRoot]] array may contain different strings even though keys represent the same node.\n * In that case equality is checked using other key attributes, depending on the type of the node (type,\n * label, grouping class, property name, etc.).\n */\n export function equals(lhs: NodeKey, rhs: NodeKey): boolean {\n // types must always be equal\n if (lhs.type !== rhs.type) {\n return false;\n }\n\n // `pathFromRoot` lengths must always be equal\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length) {\n return false;\n }\n\n // when versions are equal, compare using contents of `pathFromRoot` array\n if (lhs.version === rhs.version) {\n for (let i = 0; i < lhs.pathFromRoot.length; ++i) {\n if (lhs.pathFromRoot[i] !== rhs.pathFromRoot[i]) {\n return false;\n }\n }\n return true;\n }\n\n // when versions aren't equal, compare using other key information, because key hashes\n // of different key versions can't be compared\n if (isInstancesNodeKey(lhs)) {\n assert(isInstancesNodeKey(rhs));\n if (lhs.instanceKeys.length !== rhs.instanceKeys.length) {\n return false;\n }\n for (let i = 0; i < lhs.instanceKeys.length; ++i) {\n if (0 !== InstanceKey.compare(lhs.instanceKeys[i], rhs.instanceKeys[i])) {\n return false;\n }\n }\n return true;\n }\n if (isClassGroupingNodeKey(lhs)) {\n assert(isClassGroupingNodeKey(rhs));\n return lhs.className === rhs.className;\n }\n if (isPropertyGroupingNodeKey(lhs)) {\n assert(isPropertyGroupingNodeKey(rhs));\n return lhs.className === rhs.className && lhs.propertyName === rhs.propertyName;\n }\n if (isLabelGroupingNodeKey(lhs)) {\n assert(isLabelGroupingNodeKey(rhs));\n return lhs.label === rhs.label;\n }\n return true;\n }\n}\n\n/**\n * Node key path. Can be used to define path from one node to another.\n * @public\n */\nexport type NodeKeyPath = NodeKey[];\n\n/**\n * Data structure that describes a basic node key\n * @public\n */\nexport interface BaseNodeKey {\n /** Node type */\n type: string;\n\n /**\n * Version of the key. Different versions suggest that node keys were created by two different\n * versions of the library. In that case, keys representing the same node may be different.\n */\n version: number;\n\n /** Node hash path from root to the node whose key this is */\n pathFromRoot: string[];\n\n /** Query that returns all selected instance keys\n * @alpha\n */\n instanceKeysSelectQuery?: PresentationQuery;\n}\n/**\n * Serialized [[BaseNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[BaseNodeKey]].\n */\nexport interface BaseNodeKeyJSON {\n type: string;\n // TODO: make this required\n version?: number;\n pathFromRoot: string[];\n /** @alpha */\n instanceKeysSelectQuery?: PresentationQuery;\n}\n\n/**\n * Data structure that describes a node ECInstance node key\n * @public\n */\nexport interface ECInstancesNodeKey extends BaseNodeKey {\n type: StandardNodeTypes.ECInstancesNode;\n /** List of [[InstanceKey]] objects of ECInstances represented by the node */\n instanceKeys: InstanceKey[];\n}\n/**\n * Serialized [[ECInstancesNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[ECInstancesNodeKey]].\n */\nexport interface ECInstancesNodeKeyJSON extends BaseNodeKey {\n type: StandardNodeTypes.ECInstancesNode;\n instanceKeys: InstanceKey[];\n}\n\n/**\n * Data structure that describes a grouping node key\n * @public\n */\nexport interface GroupingNodeKey extends BaseNodeKey {\n /**\n * Get the number of instances grouped by the node represented\n * by this key.\n *\n * **Note:** this property is just a helper and is not involved\n * in identifying a node.\n */\n groupedInstancesCount: number;\n}\n/**\n * Serialized [[GroupingNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[GroupingNodeKey]].\n */\nexport interface GroupingNodeKeyJSON extends BaseNodeKey {\n groupedInstancesCount: number;\n}\n\n/**\n * Data structure that describes an ECClass grouping node key\n * @public\n */\nexport interface ECClassGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECClassGroupingNode;\n /** Full name of the grouping ECClass */\n className: string;\n}\n/**\n * Serialized [[ECClassGroupingNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[ECClassGroupingNodeKey]].\n */\nexport interface ECClassGroupingNodeKeyJSON extends GroupingNodeKey {\n type: StandardNodeTypes.ECClassGroupingNode;\n className: string;\n}\n\n/**\n * Data structure that describes an ECProperty grouping node key\n * @public\n */\nexport interface ECPropertyGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECPropertyGroupingNode;\n /** Full name of the grouping ECProperty class */\n className: string;\n /** Name of the ECProperty */\n propertyName: string;\n /** Raw grouping values */\n groupingValues: any[];\n}\n/**\n * Serialized [[ECPropertyGroupingNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[ECPropertyGroupingNodeKey]].\n */\nexport interface ECPropertyGroupingNodeKeyJSON extends GroupingNodeKey {\n type: StandardNodeTypes.ECPropertyGroupingNode;\n className: string;\n propertyName: string;\n groupingValues: any[];\n}\n\n/**\n * Data structure that describes a display label grouping node key\n * @public\n */\nexport interface LabelGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.DisplayLabelGroupingNode;\n /** Grouping display label */\n label: string;\n}\n/**\n * Serialized [[LabelGroupingNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[LabelGroupingNodeKey]].\n */\nexport interface LabelGroupingNodeKeyJSON extends GroupingNodeKey {\n type: StandardNodeTypes.DisplayLabelGroupingNode;\n label: string;\n}\n\n/**\n * One of the serialized node key types\n * @public\n * @deprecated in 3.x. Use [[NodeKey]].\n */\n// eslint-disable-next-line deprecation/deprecation\nexport type NodeKeyJSON = BaseNodeKeyJSON | ECInstancesNodeKeyJSON | ECClassGroupingNodeKeyJSON | ECPropertyGroupingNodeKeyJSON | LabelGroupingNodeKeyJSON;\n\n/**\n * Data structure that describes a presentation query\n * @alpha\n */\nexport interface PresentationQuery {\n /** ECSQL query */\n query: string;\n /** The query bindings */\n bindings?: PresentationQueryBinding[];\n}\n\n/** @alpha */\nexport interface BasePresentationQueryBinding {\n type: \"Id\" | \"IdSet\" | \"ECValue\" | \"ValueSet\";\n}\n\n/** @alpha */\nexport interface IdBinding extends BasePresentationQueryBinding {\n type: \"Id\";\n value: Id64String;\n}\n\n/** @alpha */\nexport interface IdSetBinding extends BasePresentationQueryBinding {\n type: \"IdSet\";\n value: Id64String[];\n}\n\n/** @alpha */\nexport interface ECValueBinding extends BasePresentationQueryBinding {\n type: \"ECValue\";\n valueType: string;\n valueTypeExtended?: string;\n value: any;\n}\n\n/** @alpha */\nexport interface ECValueSetBinding extends BasePresentationQueryBinding {\n type: \"ValueSet\";\n valueType: string;\n valueTypeExtended?: string;\n value: any[];\n}\n\n/**\n * One of the presentation query binding types\n * @alpha\n */\nexport type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;\n"]}
|
|
1
|
+
{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport { InstanceKey } from \"../EC\";\n\n/**\n * Standard node types\n * @public\n */\nexport enum StandardNodeTypes {\n ECInstancesNode = \"ECInstancesNode\",\n ECClassGroupingNode = \"ECClassGroupingNode\",\n ECPropertyGroupingNode = \"ECPropertyGroupingNode\",\n DisplayLabelGroupingNode = \"DisplayLabelGroupingNode\",\n}\n\n/**\n * One of the node key types\n * @public\n */\nexport type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace NodeKey {\n /**\n * Serialize given [[NodeKey]] to JSON\n * @deprecated in 3.x. Use [[NodeKey]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(key: NodeKey): NodeKeyJSON {\n return { ...key };\n }\n\n /**\n * Deserialize node key from JSON\n * @deprecated in 3.x. Use [[NodeKey]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: NodeKeyJSON): NodeKey {\n return { version: 1, ...json };\n }\n\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\n export function isInstancesNodeKey(key: NodeKey): key is ECInstancesNodeKey;\n /** Checks if the supplied key is an [[ECInstancesNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isInstancesNodeKey(key: NodeKeyJSON): key is ECInstancesNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isInstancesNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECInstancesNode;\n }\n\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\n export function isClassGroupingNodeKey(key: NodeKey): key is ECClassGroupingNodeKey;\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isClassGroupingNodeKey(key: NodeKeyJSON): key is ECClassGroupingNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isClassGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECClassGroupingNode;\n }\n\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\n export function isPropertyGroupingNodeKey(key: NodeKey): key is ECPropertyGroupingNodeKey;\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isPropertyGroupingNodeKey(key: NodeKeyJSON): key is ECPropertyGroupingNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isPropertyGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECPropertyGroupingNode;\n }\n\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\n export function isLabelGroupingNodeKey(key: NodeKey): key is LabelGroupingNodeKey;\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]]. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isLabelGroupingNodeKey(key: NodeKeyJSON): key is LabelGroupingNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isLabelGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.DisplayLabelGroupingNode;\n }\n\n /** Checks if the supplied key is a grouping node key */\n export function isGroupingNodeKey(key: NodeKey): key is GroupingNodeKey;\n /** Checks if the supplied key is a grouping node key. @deprecated in 3.x. Use an override for [[NodeKey]]. */\n // eslint-disable-next-line deprecation/deprecation\n export function isGroupingNodeKey(key: NodeKeyJSON): key is GroupingNodeKeyJSON;\n // eslint-disable-next-line deprecation/deprecation\n export function isGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key); // eslint-disable-line deprecation/deprecation\n }\n\n /**\n * Checks if two given node keys are equal, taking their versions into account.\n *\n * When comparing two keys of the same version, the algorithm uses [[NodeKey.pathFromRoot]] array\n * which is the most accurate way of checking equality. However, when version are different,\n * [[NodeKey.pathFromRoot]] array may contain different strings even though keys represent the same node.\n * In that case equality is checked using other key attributes, depending on the type of the node (type,\n * label, grouping class, property name, etc.).\n */\n export function equals(lhs: NodeKey, rhs: NodeKey): boolean {\n // types must always be equal\n if (lhs.type !== rhs.type) {\n return false;\n }\n\n // `pathFromRoot` lengths must always be equal\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length) {\n return false;\n }\n\n // when versions are equal, compare using contents of `pathFromRoot` array\n if (lhs.version === rhs.version) {\n for (let i = 0; i < lhs.pathFromRoot.length; ++i) {\n if (lhs.pathFromRoot[i] !== rhs.pathFromRoot[i]) {\n return false;\n }\n }\n return true;\n }\n\n // when versions aren't equal, compare using other key information, because key hashes\n // of different key versions can't be compared\n if (isInstancesNodeKey(lhs)) {\n assert(isInstancesNodeKey(rhs));\n if (lhs.instanceKeys.length !== rhs.instanceKeys.length) {\n return false;\n }\n for (let i = 0; i < lhs.instanceKeys.length; ++i) {\n if (0 !== InstanceKey.compare(lhs.instanceKeys[i], rhs.instanceKeys[i])) {\n return false;\n }\n }\n return true;\n }\n if (isClassGroupingNodeKey(lhs)) {\n assert(isClassGroupingNodeKey(rhs));\n return lhs.className === rhs.className;\n }\n if (isPropertyGroupingNodeKey(lhs)) {\n assert(isPropertyGroupingNodeKey(rhs));\n return lhs.className === rhs.className && lhs.propertyName === rhs.propertyName;\n }\n if (isLabelGroupingNodeKey(lhs)) {\n assert(isLabelGroupingNodeKey(rhs));\n return lhs.label === rhs.label;\n }\n return true;\n }\n}\n\n/**\n * Node key path. Can be used to define path from one node to another.\n * @public\n */\nexport type NodeKeyPath = NodeKey[];\n\n/**\n * Data structure that describes a basic node key\n * @public\n */\nexport interface BaseNodeKey {\n /** Node type */\n type: string;\n\n /**\n * Version of the key. Different versions suggest that node keys were created by two different\n * versions of the library. In that case, keys representing the same node may be different.\n */\n version: number;\n\n /** Node hash path from root to the node whose key this is */\n pathFromRoot: string[];\n\n /** Query that returns all selected instance keys\n * @alpha\n */\n instanceKeysSelectQuery?: PresentationQuery;\n}\n/**\n * Serialized [[BaseNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[BaseNodeKey]].\n */\nexport interface BaseNodeKeyJSON {\n type: string;\n // TODO: make this required\n version?: number;\n pathFromRoot: string[];\n /** @alpha */\n instanceKeysSelectQuery?: PresentationQuery;\n}\n\n/**\n * Data structure that describes a node ECInstance node key\n * @public\n */\nexport interface ECInstancesNodeKey extends BaseNodeKey {\n type: StandardNodeTypes.ECInstancesNode;\n /** List of [[InstanceKey]] objects of ECInstances represented by the node */\n instanceKeys: InstanceKey[];\n}\n/**\n * Serialized [[ECInstancesNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[ECInstancesNodeKey]].\n */\nexport interface ECInstancesNodeKeyJSON extends BaseNodeKey {\n type: StandardNodeTypes.ECInstancesNode;\n instanceKeys: InstanceKey[];\n}\n\n/**\n * Data structure that describes a grouping node key\n * @public\n */\nexport interface GroupingNodeKey extends BaseNodeKey {\n /**\n * Get the number of instances grouped by the node represented\n * by this key.\n *\n * **Note:** this property is just a helper and is not involved\n * in identifying a node.\n */\n groupedInstancesCount: number;\n}\n/**\n * Serialized [[GroupingNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[GroupingNodeKey]].\n */\nexport interface GroupingNodeKeyJSON extends BaseNodeKey {\n groupedInstancesCount: number;\n}\n\n/**\n * Data structure that describes an ECClass grouping node key\n * @public\n */\nexport interface ECClassGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECClassGroupingNode;\n /** Full name of the grouping ECClass */\n className: string;\n}\n/**\n * Serialized [[ECClassGroupingNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[ECClassGroupingNodeKey]].\n */\nexport interface ECClassGroupingNodeKeyJSON extends GroupingNodeKey {\n type: StandardNodeTypes.ECClassGroupingNode;\n className: string;\n}\n\n/**\n * Data structure that describes an ECProperty grouping node key\n * @public\n */\nexport interface ECPropertyGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECPropertyGroupingNode;\n /** Full name of the grouping ECProperty class */\n className: string;\n /** Name of the ECProperty */\n propertyName: string;\n /** Raw grouping values */\n groupingValues: any[];\n}\n/**\n * Serialized [[ECPropertyGroupingNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[ECPropertyGroupingNodeKey]].\n */\nexport interface ECPropertyGroupingNodeKeyJSON extends GroupingNodeKey {\n type: StandardNodeTypes.ECPropertyGroupingNode;\n className: string;\n propertyName: string;\n groupingValues: any[];\n}\n\n/**\n * Data structure that describes a display label grouping node key\n * @public\n */\nexport interface LabelGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.DisplayLabelGroupingNode;\n /** Grouping display label */\n label: string;\n}\n/**\n * Serialized [[LabelGroupingNodeKey]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[LabelGroupingNodeKey]].\n */\nexport interface LabelGroupingNodeKeyJSON extends GroupingNodeKey {\n type: StandardNodeTypes.DisplayLabelGroupingNode;\n label: string;\n}\n\n/**\n * One of the serialized node key types\n * @public\n * @deprecated in 3.x. Use [[NodeKey]].\n */\n// eslint-disable-next-line deprecation/deprecation\nexport type NodeKeyJSON = BaseNodeKeyJSON | ECInstancesNodeKeyJSON | ECClassGroupingNodeKeyJSON | ECPropertyGroupingNodeKeyJSON | LabelGroupingNodeKeyJSON;\n\n/**\n * Data structure that describes a presentation query\n * @alpha\n */\nexport interface PresentationQuery {\n /** ECSQL query */\n query: string;\n /** The query bindings */\n bindings?: PresentationQueryBinding[];\n}\n\n/** @alpha */\nexport interface BasePresentationQueryBinding {\n type: \"Id\" | \"IdSet\" | \"ECValue\" | \"ValueSet\";\n}\n\n/** @alpha */\nexport interface IdBinding extends BasePresentationQueryBinding {\n type: \"Id\";\n value: Id64String;\n}\n\n/** @alpha */\nexport interface IdSetBinding extends BasePresentationQueryBinding {\n type: \"IdSet\";\n value: Id64String[];\n}\n\n/** @alpha */\nexport interface ECValueBinding extends BasePresentationQueryBinding {\n type: \"ECValue\";\n valueType: string;\n valueTypeExtended?: string;\n value: any;\n}\n\n/** @alpha */\nexport interface ECValueSetBinding extends BasePresentationQueryBinding {\n type: \"ValueSet\";\n valueType: string;\n valueTypeExtended?: string;\n value: any[];\n}\n\n/**\n * One of the presentation query binding types\n * @alpha\n */\nexport type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;\n"]}
|
|
@@ -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;YAC1B,OAAO,IAAI,CAAC;SACb;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;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAClC;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;YAC1B,OAAO,IAAI,CAAC;SACb;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;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SACtC;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,GAAJ,YAAI,KAAJ,YAAI,QA+FpB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { LabelDefinition, LabelDefinitionJSON } from \"../LabelDefinition\";\nimport { NodeKey, NodeKeyJSON } from \"./Key\";\n\n/**\n * Data structure that describes a tree node.\n * @public\n */\nexport interface Node {\n /** A key that uniquely identifies a node. */\n key: NodeKey;\n /** Definition of node display label */\n label: LabelDefinition;\n /** Extensive description */\n description?: string;\n /**\n * Image ID\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n /**\n * Foreground color\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n foreColor?: string;\n /**\n * Background color\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n backColor?: string;\n /**\n * Font style\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n fontStyle?: string;\n /** Does this node have child nodes */\n hasChildren?: boolean;\n /** Is this node selectable */\n isSelectionDisabled?: boolean;\n /** Is this node editable */\n isEditable?: boolean;\n /** Is this node expanded */\n isExpanded?: boolean;\n /**\n * Is checkbox visible for this node\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isCheckboxVisible?: boolean;\n /**\n * Is this node's checkbox checked\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isChecked?: boolean;\n /**\n * Is this node's checkbox enabled\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isCheckboxEnabled?: boolean;\n /**\n * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\n * @beta\n */\n supportsFiltering?: boolean;\n /** Extended data injected into this node */\n extendedData?: {\n [key: string]: any;\n };\n}\n\n/**\n * Serialized [[Node]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[Node]].\n */\nexport interface NodeJSON {\n // eslint-disable-next-line deprecation/deprecation\n key: NodeKeyJSON;\n // TODO: rename to `label`\n // eslint-disable-next-line deprecation/deprecation\n labelDefinition: LabelDefinitionJSON;\n description?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n imageId?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n foreColor?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n backColor?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n fontStyle?: string;\n hasChildren?: boolean;\n isSelectionDisabled?: boolean;\n isEditable?: boolean;\n isExpanded?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isCheckboxVisible?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isChecked?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isCheckboxEnabled?: boolean;\n /** @beta */\n supportsFiltering?: boolean;\n extendedData?: {\n [key: string]: any;\n };\n}\n\n/**\n * Partial node definition.\n * @public\n */\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\n\n/**\n * Serialized [[PartialNode]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[PartialNode]].\n */\n// eslint-disable-next-line deprecation/deprecation\nexport type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, \"key\" | \"labelDefinition\">;\n\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\n\n/** @public */\nexport namespace Node {\n /**\n * Serialize given [[Node]] to JSON\n * @deprecated in 3.x. Use [[Node]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(node: Node): NodeJSON {\n const { label, ...baseNode } = node;\n return {\n ...baseNode,\n labelDefinition: label,\n };\n }\n\n /** @internal */\n // eslint-disable-next-line deprecation/deprecation\n export function toPartialJSON(node: PartialNode): PartialNodeJSON {\n if (node.key === undefined) {\n return node;\n }\n\n const { label, ...baseNode } = node;\n return {\n ...baseNode,\n labelDefinition: label,\n };\n }\n\n /**\n * Deserialize [[Node]] from JSON\n * @deprecated in 3.x. Use [[Node]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: NodeJSON | string): Node {\n if (typeof json === \"string\") {\n return JSON.parse(json, reviver);\n }\n const { labelDefinition, ...baseJson } = json;\n return {\n ...baseJson,\n // eslint-disable-next-line deprecation/deprecation\n key: NodeKey.fromJSON(json.key),\n label: labelDefinition,\n };\n }\n\n /** @internal */\n // eslint-disable-next-line deprecation/deprecation\n export function fromPartialJSON(json: PartialNodeJSON): PartialNode {\n if (json.key === undefined) {\n return json;\n }\n\n const { key, labelDefinition, ...baseJson } = json;\n return {\n ...baseJson,\n // eslint-disable-next-line deprecation/deprecation\n key: NodeKey.fromJSON(key),\n label: labelDefinition,\n };\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[Node]] objects.\n * @internal\n */\n export function reviver(key: string, value: any): any {\n // eslint-disable-next-line deprecation/deprecation\n return key === \"\" ? fromJSON(value) : value;\n }\n\n /**\n * Deserialize nodes list from JSON\n * @param json JSON or JSON serialized to string to deserialize from\n * @returns Deserialized nodes list\n * @internal\n */\n // eslint-disable-next-line deprecation/deprecation\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\n if (typeof json === \"string\") {\n return JSON.parse(json, listReviver);\n }\n // eslint-disable-next-line deprecation/deprecation\n return json.map((m) => fromJSON(m));\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[Node]][] objects.\n * @internal\n */\n export function listReviver(key: string, value: any): any {\n return key === \"\" ? listFromJSON(value) : value;\n }\n}\n"]}
|
|
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":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { LabelDefinition, LabelDefinitionJSON } from \"../LabelDefinition\";\nimport { NodeKey, NodeKeyJSON } from \"./Key\";\n\n/**\n * Data structure that describes a tree node.\n * @public\n */\nexport interface Node {\n /** A key that uniquely identifies a node. */\n key: NodeKey;\n /** Definition of node display label */\n label: LabelDefinition;\n /** Extensive description */\n description?: string;\n /**\n * Image ID\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n /**\n * Foreground color\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n foreColor?: string;\n /**\n * Background color\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n backColor?: string;\n /**\n * Font style\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n fontStyle?: string;\n /** Does this node have child nodes */\n hasChildren?: boolean;\n /** Is this node selectable */\n isSelectionDisabled?: boolean;\n /** Is this node editable */\n isEditable?: boolean;\n /** Is this node expanded */\n isExpanded?: boolean;\n /**\n * Is checkbox visible for this node\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isCheckboxVisible?: boolean;\n /**\n * Is this node's checkbox checked\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isChecked?: boolean;\n /**\n * Is this node's checkbox enabled\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isCheckboxEnabled?: boolean;\n /**\n * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\n * @beta\n */\n supportsFiltering?: boolean;\n /** Extended data injected into this node */\n extendedData?: {\n [key: string]: any;\n };\n}\n\n/**\n * Serialized [[Node]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[Node]].\n */\nexport interface NodeJSON {\n // eslint-disable-next-line deprecation/deprecation\n key: NodeKeyJSON;\n // TODO: rename to `label`\n // eslint-disable-next-line deprecation/deprecation\n labelDefinition: LabelDefinitionJSON;\n description?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n imageId?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n foreColor?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n backColor?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n fontStyle?: string;\n hasChildren?: boolean;\n isSelectionDisabled?: boolean;\n isEditable?: boolean;\n isExpanded?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isCheckboxVisible?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isChecked?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isCheckboxEnabled?: boolean;\n /** @beta */\n supportsFiltering?: boolean;\n extendedData?: {\n [key: string]: any;\n };\n}\n\n/**\n * Partial node definition.\n * @public\n */\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\n\n/**\n * Serialized [[PartialNode]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[PartialNode]].\n */\n// eslint-disable-next-line deprecation/deprecation\nexport type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, \"key\" | \"labelDefinition\">;\n\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\n\n/** @public */\nexport namespace Node {\n /**\n * Serialize given [[Node]] to JSON\n * @deprecated in 3.x. Use [[Node]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(node: Node): NodeJSON {\n const { label, ...baseNode } = node;\n return {\n ...baseNode,\n labelDefinition: label,\n };\n }\n\n /** @internal */\n // eslint-disable-next-line deprecation/deprecation\n export function toPartialJSON(node: PartialNode): PartialNodeJSON {\n if (node.key === undefined) {\n return node;\n }\n\n const { label, ...baseNode } = node;\n return {\n ...baseNode,\n labelDefinition: label,\n };\n }\n\n /**\n * Deserialize [[Node]] from JSON\n * @deprecated in 3.x. Use [[Node]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: NodeJSON | string): Node {\n if (typeof json === \"string\") {\n return JSON.parse(json, reviver);\n }\n const { labelDefinition, ...baseJson } = json;\n return {\n ...baseJson,\n // eslint-disable-next-line deprecation/deprecation\n key: NodeKey.fromJSON(json.key),\n label: labelDefinition,\n };\n }\n\n /** @internal */\n // eslint-disable-next-line deprecation/deprecation\n export function fromPartialJSON(json: PartialNodeJSON): PartialNode {\n if (json.key === undefined) {\n return json;\n }\n\n const { key, labelDefinition, ...baseJson } = json;\n return {\n ...baseJson,\n // eslint-disable-next-line deprecation/deprecation\n key: NodeKey.fromJSON(key),\n label: labelDefinition,\n };\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[Node]] objects.\n * @internal\n */\n export function reviver(key: string, value: any): any {\n // eslint-disable-next-line deprecation/deprecation\n return key === \"\" ? fromJSON(value) : value;\n }\n\n /**\n * Deserialize nodes list from JSON\n * @param json JSON or JSON serialized to string to deserialize from\n * @returns Deserialized nodes list\n * @internal\n */\n // eslint-disable-next-line deprecation/deprecation\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\n if (typeof json === \"string\") {\n return JSON.parse(json, listReviver);\n }\n // eslint-disable-next-line deprecation/deprecation\n return json.map((m) => fromJSON(m));\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[Node]][] objects.\n * @internal\n */\n export function listReviver(key: string, value: any): any {\n return key === \"\" ? listFromJSON(value) : value;\n }\n}\n"]}
|
|
@@ -95,7 +95,7 @@ var NodePathElement;
|
|
|
95
95
|
return key === "" ? listFromJSON(value) : value;
|
|
96
96
|
}
|
|
97
97
|
NodePathElement.listReviver = listReviver;
|
|
98
|
-
})(NodePathElement
|
|
98
|
+
})(NodePathElement || (exports.NodePathElement = NodePathElement = {}));
|
|
99
99
|
/** @public */
|
|
100
100
|
var NodePathFilteringData;
|
|
101
101
|
(function (NodePathFilteringData) {
|
|
@@ -123,5 +123,5 @@ var NodePathFilteringData;
|
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
125
|
NodePathFilteringData.fromJSON = fromJSON;
|
|
126
|
-
})(NodePathFilteringData
|
|
126
|
+
})(NodePathFilteringData || (exports.NodePathFilteringData = NodePathFilteringData = {}));
|
|
127
127
|
//# sourceMappingURL=NodePathElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodePathElement.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/NodePathElement.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAAwC;AAmCxC,cAAc;AACd,IAAiB,eAAe,CAmF/B;AAnFD,WAAiB,eAAe;IAC9B;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,MAAM,CAAC,GAAoB;QACzC,mDAAmD;QACnD,MAAM,MAAM,GAAwB;YAClC,mDAAmD;YACnD,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,mDAAmD;YACnD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC;SACnD,CAAC;QACF,IAAI,SAAS,KAAK,GAAG,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"NodePathElement.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/NodePathElement.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { Node, NodeJSON } from \"./Node\";\n\n/**\n * Serialized [[NodePathElement]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[NodePathElement]].\n */\nexport interface NodePathElementJSON {\n // eslint-disable-next-line deprecation/deprecation\n node: NodeJSON;\n index: number;\n isMarked?: boolean;\n // eslint-disable-next-line deprecation/deprecation\n children: NodePathElementJSON[];\n // eslint-disable-next-line deprecation/deprecation\n filteringData?: NodePathFilteringDataJSON;\n}\n\n/**\n * Describes a single step in the nodes path.\n * @public\n */\nexport interface NodePathElement {\n /** Node instance */\n node: Node;\n /** Node index */\n index: number;\n /** Is this element part of the marked path */\n isMarked?: boolean;\n /** Child path elements */\n children: NodePathElement[];\n /** Additional filtering-related information */\n filteringData?: NodePathFilteringData;\n}\n\n/** @public */\nexport namespace NodePathElement {\n /**\n * Serialize given [[NodePathElement]] to JSON\n * @deprecated in 3.x. Use [[NodePathElement]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(npe: NodePathElement): NodePathElementJSON {\n // eslint-disable-next-line deprecation/deprecation\n const result: NodePathElementJSON = {\n // eslint-disable-next-line deprecation/deprecation\n node: Node.toJSON(npe.node),\n index: npe.index,\n // eslint-disable-next-line deprecation/deprecation\n children: npe.children.map(NodePathElement.toJSON),\n };\n if (undefined !== npe.isMarked) {\n result.isMarked = npe.isMarked;\n }\n if (undefined !== npe.filteringData) {\n // eslint-disable-next-line deprecation/deprecation\n result.filteringData = NodePathFilteringData.toJSON(npe.filteringData);\n }\n return result;\n }\n\n /**\n * Deserialize [[NodePathElement]] from JSON\n * @deprecated in 3.x. Use [[NodePathElement]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: NodePathElementJSON | string): NodePathElement {\n if (typeof json === \"string\") {\n return JSON.parse(json, reviver);\n }\n const result: NodePathElement = {\n index: json.index,\n // eslint-disable-next-line deprecation/deprecation\n node: Node.fromJSON(json.node),\n children: listFromJSON(json.children),\n };\n if (undefined !== json.isMarked) {\n result.isMarked = json.isMarked;\n }\n if (undefined !== json.filteringData) {\n // eslint-disable-next-line deprecation/deprecation\n result.filteringData = NodePathFilteringData.fromJSON(json.filteringData);\n }\n return result;\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[NodePathElement]] objects.\n * @internal\n */\n export function reviver(key: string, value: any): any {\n // eslint-disable-next-line deprecation/deprecation\n return key === \"\" ? fromJSON(value) : value;\n }\n\n /**\n * Deserialize [[NodePathElement]] list from JSON\n * @param json JSON or JSON serialized to string to deserialize from\n * @returns Deserialized [[NodePathElement]] list\n * @internal\n */\n // eslint-disable-next-line deprecation/deprecation\n export function listFromJSON(json: NodePathElementJSON[] | string): NodePathElement[] {\n if (typeof json === \"string\") {\n return JSON.parse(json, listReviver);\n }\n // eslint-disable-next-line deprecation/deprecation\n return json.map((m) => fromJSON(m));\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[NodePathElement]][] objects.\n * @internal\n */\n export function listReviver(key: string, value: any): any {\n return key === \"\" ? listFromJSON(value) : value;\n }\n}\n\n/**\n * Serialized [[NodePathFilteringData]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\n */\nexport interface NodePathFilteringDataJSON {\n occurances: number;\n childrenOccurances: number;\n}\n\n/**\n * Data related to node hierarchy filtering\n * @public\n */\nexport interface NodePathFilteringData {\n /** Number of filter matches in the current element */\n matchesCount: number;\n /** Number of filter matches in the current element's children (recursively) */\n childMatchesCount: number;\n}\n\n/** @public */\nexport namespace NodePathFilteringData {\n /**\n * Serialize given [[NodePathFilteringData]] to JSON\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(npfd: NodePathFilteringData): NodePathFilteringDataJSON {\n return {\n occurances: npfd.matchesCount,\n childrenOccurances: npfd.childMatchesCount,\n };\n }\n\n /**\n * Deserialize [[NodePathFilteringData]] from JSON\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\n */\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: NodePathFilteringDataJSON): NodePathFilteringData {\n return {\n matchesCount: json.occurances,\n childMatchesCount: json.childrenOccurances,\n };\n }\n}\n"]}
|
|
@@ -18,5 +18,5 @@ var RelationshipDirection;
|
|
|
18
18
|
RelationshipDirection["Forward"] = "Forward";
|
|
19
19
|
/** Relationship should be followed only in backward direction. */
|
|
20
20
|
RelationshipDirection["Backward"] = "Backward";
|
|
21
|
-
})(RelationshipDirection
|
|
21
|
+
})(RelationshipDirection || (exports.RelationshipDirection = RelationshipDirection = {}));
|
|
22
22
|
//# sourceMappingURL=RelationshipDirection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationshipDirection.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipDirection.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH;;;GAGG;AACH,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iEAAiE;IACjE,4CAAmB,CAAA;IACnB,kEAAkE;IAClE,8CAAqB,CAAA;AACvB,CAAC,EALW,qBAAqB,
|
|
1
|
+
{"version":3,"file":"RelationshipDirection.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipDirection.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH;;;GAGG;AACH,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iEAAiE;IACjE,4CAAmB,CAAA;IACnB,kEAAkE;IAClE,8CAAqB,CAAA;AACvB,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PresentationRules\n */\n\n/**\n * Defines direction of a relationship that should be followed\n * @public\n */\nexport enum RelationshipDirection {\n /** Relationship should be followed only in forward direction. */\n Forward = \"Forward\",\n /** Relationship should be followed only in backward direction. */\n Backward = \"Backward\",\n}\n"]}
|
|
@@ -61,8 +61,8 @@ export declare enum RuleTypes {
|
|
|
61
61
|
RootNodes = "RootNodes",
|
|
62
62
|
ChildNodes = "ChildNodes",
|
|
63
63
|
Content = "Content",
|
|
64
|
-
ContentModifier = "ContentModifier"
|
|
65
|
-
DefaultPropertyCategoryOverride = "DefaultPropertyCategoryOverride"
|
|
64
|
+
ContentModifier = "ContentModifier",// eslint-disable-line @typescript-eslint/no-shadow
|
|
65
|
+
DefaultPropertyCategoryOverride = "DefaultPropertyCategoryOverride",// eslint-disable-line @typescript-eslint/no-shadow
|
|
66
66
|
Grouping = "Grouping",
|
|
67
67
|
PropertySorting = "PropertySorting",
|
|
68
68
|
DisabledSorting = "DisabledSorting",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,MAAM,IAAI,GAAG,iBAAiB,GAAG,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,+BAA+B,CAAC;AAEhI;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,oBAAY,SAAS;IAEnB,SAAS,cAAc;IACvB,UAAU,eAAe;IAGzB,OAAO,YAAY;IACnB,eAAe,oBAAoB;
|
|
1
|
+
{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,MAAM,IAAI,GAAG,iBAAiB,GAAG,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,+BAA+B,CAAC;AAEhI;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,oBAAY,SAAS;IAEnB,SAAS,cAAc;IACvB,UAAU,eAAe;IAGzB,OAAO,YAAY;IACnB,eAAe,oBAAoB,CAAE,mDAAmD;IACxF,+BAA+B,oCAAoC,CAAE,mDAAmD;IAGxH,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAC9B"}
|
|
@@ -32,5 +32,5 @@ var RuleTypes;
|
|
|
32
32
|
RuleTypes["ImageIdOverride"] = "ImageIdOverride";
|
|
33
33
|
RuleTypes["StyleOverride"] = "StyleOverride";
|
|
34
34
|
RuleTypes["ExtendedData"] = "ExtendedData";
|
|
35
|
-
})(RuleTypes
|
|
35
|
+
})(RuleTypes || (exports.RuleTypes = RuleTypes = {}));
|
|
36
36
|
//# sourceMappingURL=Rule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA6DH;;;GAGG;AACH,IAAY,SAqBX;AArBD,WAAY,SAAS;IACnB,kBAAkB;IAClB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IAEzB,gBAAgB;IAChB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;IACnC,gFAAmE,CAAA;IAEnE,sBAAsB;IACtB,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,4DAA+C,CAAA;IAC/C,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;AAC/B,CAAC,EArBW,SAAS,
|
|
1
|
+
{"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA6DH;;;GAGG;AACH,IAAY,SAqBX;AArBD,WAAY,SAAS;IACnB,kBAAkB;IAClB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IAEzB,gBAAgB;IAChB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;IACnC,gFAAmE,CAAA;IAEnE,sBAAsB;IACtB,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,4DAA+C,CAAA;IAC/C,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;AAC/B,CAAC,EArBW,SAAS,yBAAT,SAAS,QAqBpB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { ContentRule } from \"./content/ContentRule\";\nimport { DefaultPropertyCategoryOverride } from \"./content/DefaultPropertyCategoryOverride\";\nimport { ContentModifier } from \"./content/modifiers/ContentModifier\";\nimport { CustomizationRule } from \"./customization/CustomizationRule\";\nimport { NavigationRule } from \"./hierarchy/NavigationRule\";\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\n\n/**\n * Base interface for all [[Rule]] implementations.\n * @public\n */\nexport interface RuleBase {\n /**\n * Used for serializing to JSON.\n * @see RuleTypes\n */\n ruleType: `${RuleTypes}`;\n\n /**\n * Defines the order in which rules are handled, higher number means the rule is handled first. If priorities are\n * equal, the rules are handled in the order they're defined.\n *\n * @type integer\n */\n priority?: number;\n\n /**\n * Tells the library that the rule should only be handled if no other rule of the same type was handled previously (based on rule\n * priorities and definition order). This allows adding fallback rules which can be overriden by higher-priority rules.\n */\n onlyIfNotHandled?: boolean;\n\n /**\n * A list of [ECSchema requirements]($docs/presentation/RequiredSchemaSpecification.md) that need to be met for the rule to be used.\n */\n requiredSchemas?: RequiredSchemaSpecification[];\n}\n\n/**\n * A union of all presentation rule types.\n * @public\n */\nexport declare type Rule = CustomizationRule | NavigationRule | ContentRule | ContentModifier | DefaultPropertyCategoryOverride;\n\n/**\n * Container of a [[condition]] property. Used for rules that support conditions. Not\n * meant to be used directly, see [[Rule]].\n *\n * @deprecated in 3.x. This interface is not used anymore. All interfaces that used to extend it, have the [[condition]]\n * attribute of their own.\n * @public\n */\nexport interface ConditionContainer {\n /**\n * Defines a condition for the rule, which needs to be met in order to execute it.\n */\n condition?: string;\n}\n\n/**\n * Used for serializing [[Rule]] objects to JSON.\n * @public\n */\nexport enum RuleTypes {\n // hierarchy rules\n RootNodes = \"RootNodes\",\n ChildNodes = \"ChildNodes\",\n\n // content rules\n Content = \"Content\",\n ContentModifier = \"ContentModifier\", // eslint-disable-line @typescript-eslint/no-shadow\n DefaultPropertyCategoryOverride = \"DefaultPropertyCategoryOverride\", // eslint-disable-line @typescript-eslint/no-shadow\n\n // customization rules\n Grouping = \"Grouping\",\n PropertySorting = \"PropertySorting\",\n DisabledSorting = \"DisabledSorting\",\n NodeArtifacts = \"NodeArtifacts\",\n InstanceLabelOverride = \"InstanceLabelOverride\",\n LabelOverride = \"LabelOverride\",\n CheckBox = \"CheckBox\",\n ImageIdOverride = \"ImageIdOverride\",\n StyleOverride = \"StyleOverride\",\n ExtendedData = \"ExtendedData\",\n}\n"]}
|
|
@@ -22,5 +22,5 @@ var VariableValueType;
|
|
|
22
22
|
VariableValueType["String"] = "StringValue";
|
|
23
23
|
/** Any integer value */
|
|
24
24
|
VariableValueType["Int"] = "IntValue";
|
|
25
|
-
})(VariableValueType
|
|
25
|
+
})(VariableValueType || (exports.VariableValueType = VariableValueType = {}));
|
|
26
26
|
//# sourceMappingURL=Variables.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Variables.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Variables.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA0BH;;;GAGG;AACH,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IAC3B,uDAAuD;IACvD,oCAAe,CAAA;IAEf,0DAA0D;IAC1D,0CAAqB,CAAA;IAErB,uBAAuB;IACvB,2CAAsB,CAAA;IAEtB,wBAAwB;IACxB,qCAAgB,CAAA;AAClB,CAAC,EAZW,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Variables.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Variables.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA0BH;;;GAGG;AACH,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IAC3B,uDAAuD;IACvD,oCAAe,CAAA;IAEf,0DAA0D;IAC1D,0CAAqB,CAAA;IAErB,uBAAuB;IACvB,2CAAsB,CAAA;IAEtB,wBAAwB;IACxB,qCAAgB,CAAA;AAClB,CAAC,EAZW,iBAAiB,iCAAjB,iBAAiB,QAY5B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PresentationRules\n */\n\n/**\n * Presentation rules support variables that allow having additional customization of the hierarchy\n * and content based on variables whose values can change during application session.\n *\n * There are [special ECExpression symbols]($docs/presentation/advanced/ECExpressions.md#ruleset-variables-user-settings)\n * that can be used to access variables by their ID, so rule conditions can check for a value and change\n * the behavior. It allows showing / hiding some nodes in the hierarchy, change the grouping, etc.\n *\n * @public\n */\nexport interface VariablesGroup {\n /**\n * Group label to display in the UI.\n * May be [localized]($docs/presentation/advanced/Localization.md).\n */\n label: string;\n\n /** Grouped variables */\n vars: Variable[];\n\n /** Nested variable groups. */\n nestedGroups?: VariablesGroup[];\n}\n\n/**\n * Available value types of user-controllable variables\n * @public\n */\nexport enum VariableValueType {\n /** Bool value, that uses Yes / No strings in the UI */\n YesNo = \"YesNo\",\n\n /** Bool value, that uses Show / Hide strings in the UI */\n ShowHide = \"ShowHide\",\n\n /** Any string value */\n String = \"StringValue\",\n\n /** Any integer value */\n Int = \"IntValue\",\n}\n\n/**\n * Definition for single user-controllable variable\n * @public\n */\nexport interface Variable {\n /** Id of the variable */\n id: string;\n\n /**\n * Label of the variable that is shown in the UI.\n * May be [localized]($docs/presentation/advanced/Localization.md).\n */\n label: string;\n\n /**\n * Defines value type. Defaults to [[VariableValueType.YesNo]].\n * @see VariableValueType\n */\n type?: `${VariableValueType}`;\n\n /** Default value. */\n defaultValue?: string;\n}\n"]}
|
|
@@ -17,5 +17,5 @@ var ContentSpecificationTypes;
|
|
|
17
17
|
ContentSpecificationTypes["ContentInstancesOfSpecificClasses"] = "ContentInstancesOfSpecificClasses";
|
|
18
18
|
ContentSpecificationTypes["ContentRelatedInstances"] = "ContentRelatedInstances";
|
|
19
19
|
ContentSpecificationTypes["SelectedNodeInstances"] = "SelectedNodeInstances";
|
|
20
|
-
})(ContentSpecificationTypes
|
|
20
|
+
})(ContentSpecificationTypes || (exports.ContentSpecificationTypes = ContentSpecificationTypes = {}));
|
|
21
21
|
//# sourceMappingURL=ContentSpecification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAQH;;;GAGG;AACH,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,oGAAuE,CAAA;IACvE,gFAAmD,CAAA;IACnD,4EAA+C,CAAA;AACjD,CAAC,EAJW,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ContentSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAQH;;;GAGG;AACH,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,oGAAuE,CAAA;IACvE,gFAAmD,CAAA;IACnD,4EAA+C,CAAA;AACjD,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification\";\nimport { ContentInstancesOfSpecificClassesSpecification } from \"./ContentInstancesOfSpecificClassesSpecification\";\nimport { ContentRelatedInstancesSpecification } from \"./ContentRelatedInstancesSpecification\";\nimport { ContentModifiersList } from \"./modifiers/ContentModifier\";\nimport { SelectedNodeInstancesSpecification } from \"./SelectedNodeInstancesSpecification\";\n\n/**\n * Used for serializing array of [[ContentSpecification]]\n * @public\n */\nexport enum ContentSpecificationTypes {\n ContentInstancesOfSpecificClasses = \"ContentInstancesOfSpecificClasses\",\n ContentRelatedInstances = \"ContentRelatedInstances\",\n SelectedNodeInstances = \"SelectedNodeInstances\",\n}\n\n/**\n * Base interface for all [[ContentSpecification]] implementations. Not\n * meant to be used directly, see `ContentSpecification`.\n *\n * @public\n */\nexport interface ContentSpecificationBase extends ContentModifiersList {\n /**\n * Used for serializing to JSON.\n * @see [[ContentSpecificationTypes]]\n */\n specType: `${ContentSpecificationTypes}`;\n\n /**\n * Controls the order in which specifications are handled — specification with higher priority value is handled\n * first. If priorities are equal, the specifications are handled in the order they appear in the ruleset.\n *\n * @type integer\n */\n priority?: number;\n\n /**\n * Should image IDs be calculated for the returned instances. When `true`, [[ImageIdOverride]] rules get applied when\n * creating the content.\n *\n * @deprecated in 3.x. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n showImages?: boolean;\n\n /** Specifications of [related instances]($docs/presentation/RelatedInstanceSpecification.md) that can be used when creating the content. */\n relatedInstances?: RelatedInstanceSpecification[];\n\n /**\n * Specifies whether this specification should be ignored if another specification was handled before as\n * determined by rule and specification priorities. This provides a mechanism for defining a fallback specification.\n */\n onlyIfNotHandled?: boolean;\n}\n\n/**\n * Content rule specifications which define what content is returned\n * when rule is used.\n *\n * @public\n */\nexport declare type ContentSpecification =\n | ContentInstancesOfSpecificClassesSpecification\n | ContentRelatedInstancesSpecification\n | SelectedNodeInstancesSpecification;\n"]}
|
|
@@ -18,5 +18,5 @@ var PropertyEditorParameterTypes;
|
|
|
18
18
|
PropertyEditorParameterTypes["Multiline"] = "Multiline";
|
|
19
19
|
PropertyEditorParameterTypes["Range"] = "Range";
|
|
20
20
|
PropertyEditorParameterTypes["Slider"] = "Slider";
|
|
21
|
-
})(PropertyEditorParameterTypes
|
|
21
|
+
})(PropertyEditorParameterTypes || (exports.PropertyEditorParameterTypes = PropertyEditorParameterTypes = {}));
|
|
22
22
|
//# sourceMappingURL=PropertyEditorsSpecification.js.map
|
package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyEditorsSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAkCH;;;GAGG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,6CAAa,CAAA;IACb,uDAAuB,CAAA;IACvB,+CAAe,CAAA;IACf,iDAAiB,CAAA;AACnB,CAAC,EALW,4BAA4B,
|
|
1
|
+
{"version":3,"file":"PropertyEditorsSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAkCH;;;GAGG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,6CAAa,CAAA;IACb,uDAAuB,CAAA;IACvB,+CAAe,CAAA;IACf,iDAAiB,CAAA;AACnB,CAAC,EALW,4BAA4B,4CAA5B,4BAA4B,QAKvC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PresentationRules\n */\n\n/**\n * This specification allows assigning a custom property editor to specific properties.\n *\n * @see [Property editor specification specification reference documentation page]($docs/presentation/content/PropertyEditorSpecification.md)\n * @public\n */\nexport interface PropertyEditorSpecification {\n /**\n * Name of the property editor that's going to be used in UI components. This name is carried over to\n * [[Field.editor]] and it's up to the UI component to make sure appropriate editor\n * is used to edit the property.\n */\n editorName: string;\n\n /**\n * Parameters for the editor.\n * @note At this moment the attribute is not used.\n * @public\n */\n parameters?: PropertyEditorParameters[];\n}\n\n/**\n * Parameters for [[PropertyEditorSpecification]]\n * @public\n */\nexport declare type PropertyEditorParameters =\n | PropertyEditorJsonParameters\n | PropertyEditorMultilineParameters\n | PropertyEditorRangeParameters\n | PropertyEditorSliderParameters;\n\n/**\n * Used for serializing array of [[PropertyEditorParameters]] to JSON\n * @public\n */\nexport enum PropertyEditorParameterTypes {\n Json = \"Json\",\n Multiline = \"Multiline\",\n Range = \"Range\",\n Slider = \"Slider\",\n}\n\n/**\n * Base interface for [[PropertyEditorParameters]]. Not meant\n * to be used directly, see `PropertyEditorParameters`.\n * @public\n */\nexport interface PropertyEditorParametersBase {\n /**\n * Used for serializing to JSON.\n * @see PropertyEditorParameterTypes\n */\n paramsType: `${PropertyEditorParameterTypes}`;\n}\n\n/**\n * Arbitrary JSON parameters for custom property editors\n * @public\n */\nexport interface PropertyEditorJsonParameters extends PropertyEditorParametersBase {\n /** Used for serializing to JSON. */\n paramsType: \"Json\";\n\n /** Arbitrary JSON that can be handled by a property editor */\n json: any;\n}\n\n/**\n * Multiline parameters for property editors that support multiline display\n * @public\n */\nexport interface PropertyEditorMultilineParameters extends PropertyEditorParametersBase {\n /** Used for serializing to JSON. */\n paramsType: \"Multiline\";\n\n /**\n * Number of lines. Defaults to `1`.\n *\n * @type integer\n * @minimum 1\n */\n height?: number;\n}\n\n/**\n * Range parameters for property editors that support ranges\n * @public\n */\nexport interface PropertyEditorRangeParameters extends PropertyEditorParametersBase {\n /** Used for serializing to JSON. */\n paramsType: \"Range\";\n\n /** Minimum value of the range. */\n min?: number;\n\n /** Maximum value of the range. */\n max?: number;\n}\n\n/**\n * Slider parameters for property editors that support slider display\n * @public\n */\nexport interface PropertyEditorSliderParameters extends PropertyEditorParametersBase {\n /** Used for serializing to JSON. */\n paramsType: \"Slider\";\n\n /** Minimum value that can be set. */\n min: number;\n\n /** Maximum value that can be set. */\n max: number;\n\n /**\n * Count of intervals. Defaults to `1`.\n *\n * @type integer\n * @minimum 1\n */\n intervalsCount?: number;\n\n /** Is slider vertical. */\n isVertical?: boolean;\n}\n"]}
|
package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js
CHANGED
|
@@ -24,7 +24,7 @@ var RelationshipMeaning;
|
|
|
24
24
|
* and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.
|
|
25
25
|
*/
|
|
26
26
|
RelationshipMeaning["RelatedInstance"] = "RelatedInstance";
|
|
27
|
-
})(RelationshipMeaning
|
|
27
|
+
})(RelationshipMeaning || (exports.RelationshipMeaning = RelationshipMeaning = {}));
|
|
28
28
|
/**
|
|
29
29
|
* Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]
|
|
30
30
|
* @public
|
|
@@ -40,5 +40,5 @@ var RelatedPropertiesSpecialValues;
|
|
|
40
40
|
* Used to specify that all properties should be included.
|
|
41
41
|
*/
|
|
42
42
|
RelatedPropertiesSpecialValues["All"] = "*";
|
|
43
|
-
})(RelatedPropertiesSpecialValues
|
|
43
|
+
})(RelatedPropertiesSpecialValues || (exports.RelatedPropertiesSpecialValues = RelatedPropertiesSpecialValues = {}));
|
|
44
44
|
//# sourceMappingURL=RelatedPropertiesSpecification.js.map
|
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,
|
|
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":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { RelationshipPathSpecification } from \"../../RelationshipPathSpecification\";\nimport { PropertySpecification } from \"../PropertySpecification\";\n\n/**\n * Meaning of the relationship.\n * @public\n */\nexport enum RelationshipMeaning {\n /**\n * The properties should be displayed as if they belonged to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance).\n * Generally that means they assigned a category, that's nested under the default category.\n */\n SameInstance = \"SameInstance\",\n\n /**\n * The properties should be distinguished from properties of the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\n * and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.\n */\n RelatedInstance = \"RelatedInstance\",\n}\n\n/**\n * Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]\n * @public\n */\nexport enum RelatedPropertiesSpecialValues {\n /**\n * Used to specify that no properties should be included. Usually\n * used together with [[RelatedPropertiesSpecification.nestedRelatedProperties]]\n */\n None = \"_none_\",\n\n /**\n * Used to specify that all properties should be included.\n */\n All = \"*\",\n}\n\n/**\n * This specification allows including related instance properties into the content.\n *\n * @see [Related properties specification specification reference documentation page]($docs/presentation/content/RelatedPropertiesSpecification.md)\n * @public\n */\nexport interface RelatedPropertiesSpecification {\n /**\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md) that\n * forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.\n */\n propertiesSource: RelationshipPathSpecification;\n\n /**\n * Condition for filtering instances targeted by the [[propertiesSource]] attribute.\n *\n * **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)\n */\n instanceFilter?: string;\n\n /**\n * The attribute tells whether the target class specified through [[propertiesSource]] should be handled\n * polymorphically. This means properties of the concrete class are loaded in addition to properties of the\n * target class itself.\n *\n * @note There's a difference between loading properties and instances polymorphically. This attribute\n * only controls polymorphism of properties, while instances are always looked up in a polymorphic fashion.\n */\n handleTargetClassPolymorphically?: boolean;\n\n /**\n * Should the field containing related properties be assigned the [[NestedContentField.autoExpand]]\n * attribute. The attribute tells UI components showing the properties that they should be initially displayed in the expanded state.\n */\n autoExpand?: boolean;\n\n /**\n * Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.\n * @beta\n */\n skipIfDuplicate?: boolean;\n\n /**\n * The attribute describes what the related properties mean to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\n * whose properties are displayed.\n * @see RelationshipMeaning\n */\n relationshipMeaning?: `${RelationshipMeaning}`;\n\n /** The attribute allows loading additional related properties that are related to the target instance of this specification. */\n nestedRelatedProperties?: RelatedPropertiesSpecification[];\n\n /**\n * List of names or definitions of related class properties that should be included in the content.\n * @see RelatedPropertiesSpecialValues\n */\n properties?: Array<string | PropertySpecification> | `${RelatedPropertiesSpecialValues}`;\n\n /**\n * List of names or definitions of relationship class properties that should be included in the content.\n * @see RelatedPropertiesSpecialValues\n */\n relationshipProperties?: Array<string | PropertySpecification> | `${RelatedPropertiesSpecialValues}`;\n\n /**\n * Specifies whether a relationship category should be created regardless of whether any relationship properties were included.\n */\n forceCreateRelationshipCategory?: boolean;\n}\n"]}
|
|
@@ -17,7 +17,7 @@ var GroupingSpecificationTypes;
|
|
|
17
17
|
GroupingSpecificationTypes["Class"] = "Class";
|
|
18
18
|
GroupingSpecificationTypes["Property"] = "Property";
|
|
19
19
|
GroupingSpecificationTypes["SameLabelInstance"] = "SameLabelInstance";
|
|
20
|
-
})(GroupingSpecificationTypes
|
|
20
|
+
})(GroupingSpecificationTypes || (exports.GroupingSpecificationTypes = GroupingSpecificationTypes = {}));
|
|
21
21
|
/**
|
|
22
22
|
* Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.
|
|
23
23
|
* @public
|
|
@@ -34,7 +34,7 @@ var SameLabelInstanceGroupApplicationStage;
|
|
|
34
34
|
* returning even the first node - avoid using with large numbers of nodes.
|
|
35
35
|
*/
|
|
36
36
|
SameLabelInstanceGroupApplicationStage["PostProcess"] = "PostProcess";
|
|
37
|
-
})(SameLabelInstanceGroupApplicationStage
|
|
37
|
+
})(SameLabelInstanceGroupApplicationStage || (exports.SameLabelInstanceGroupApplicationStage = SameLabelInstanceGroupApplicationStage = {}));
|
|
38
38
|
/**
|
|
39
39
|
* Used in [[PropertyGroup]] to specify the type of value to use
|
|
40
40
|
* for grouping and sorting
|
|
@@ -48,5 +48,5 @@ var PropertyGroupingValue;
|
|
|
48
48
|
PropertyGroupingValue["PropertyValue"] = "PropertyValue";
|
|
49
49
|
/** By display label */
|
|
50
50
|
PropertyGroupingValue["DisplayLabel"] = "DisplayLabel";
|
|
51
|
-
})(PropertyGroupingValue
|
|
51
|
+
})(PropertyGroupingValue || (exports.PropertyGroupingValue = PropertyGroupingValue = {}));
|
|
52
52
|
//# sourceMappingURL=GroupingRule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/GroupingRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAsCH;;;GAGG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,6CAAe,CAAA;IACf,mDAAqB,CAAA;IACrB,qEAAuC,CAAA;AACzC,CAAC,EAJW,0BAA0B,
|
|
1
|
+
{"version":3,"file":"GroupingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/GroupingRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAsCH;;;GAGG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,6CAAe,CAAA;IACf,mDAAqB,CAAA;IACrB,qEAAuC,CAAA;AACzC,CAAC,EAJW,0BAA0B,0CAA1B,0BAA0B,QAIrC;AAgED;;;GAGG;AACH,IAAY,sCAYX;AAZD,WAAY,sCAAsC;IAChD,qCAAqC;IACrC,yDAAe,CAAA;IAEf;;;;;;OAMG;IACH,qEAA2B,CAAA;AAC7B,CAAC,EAZW,sCAAsC,sDAAtC,sCAAsC,QAYjD;AAyDD;;;;;;GAMG;AACH,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,wBAAwB;IACxB,wDAA+B,CAAA;IAE/B,uBAAuB;IACvB,sDAA6B,CAAA;AAC/B,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications\";\nimport { RuleBase } from \"../Rule\";\n\n/**\n * Grouping rules provide advanced ways to group instances when creating hierarchies.\n *\n * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)\n * @public\n */\nexport interface GroupingRule extends RuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"Grouping\";\n\n /**\n * An [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) that results in\n * a boolean value. If specified, the grouping rule applies only to instance nodes that cause the condition\n * to evaluate to `true`.\n */\n condition?: string;\n\n /** Specification of ECClass which should be grouped using this rule. */\n class: SingleSchemaClassSpecification;\n\n /**\n * Specifies a list of [grouping specifications]($docs/presentation/hierarchies/GroupingRule.md#grouping-specifications)\n * which describe the kind of grouping that should be applied.\n */\n groups: GroupingSpecification[];\n}\n\n/**\n * Grouping rule specifications.\n * @public\n */\nexport declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;\n\n/**\n * Available types of [[GroupingSpecification]].\n * @public\n */\nexport enum GroupingSpecificationTypes {\n Class = \"Class\",\n Property = \"Property\",\n SameLabelInstance = \"SameLabelInstance\",\n}\n\n/**\n * Base interface for all [[GroupingSpecification]] implementations. Not\n * meant to be used directly, see `GroupingSpecification`.\n *\n * @public\n */\nexport interface GroupingSpecificationBase {\n /**\n * Type of the subclass\n * @see GroupingSpecificationTypes\n */\n specType: `${GroupingSpecificationTypes}`;\n}\n\n/**\n * Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy\n * specifications' `groupByClass` attribute, which always groups by direct class).\n *\n * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)\n * @public\n */\nexport interface ClassGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"Class\";\n\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\n createGroupForSingleItem?: boolean;\n\n /**\n * Specification of the base ECClass to group by. If specified, allows grouping by a subclass of the class\n * specified by rule's `class` attribute.\n */\n baseClass?: SingleSchemaClassSpecification;\n}\n\n/**\n * Allows grouping multiple instances with the same label into one ECInstances type of node. Similar to display label grouping,\n * but instead of showing a grouping node with multiple grouped ECInstance nodes, it shows a single ECInstances node which represents\n * multiple ECInstances.\n *\n * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)\n * @public\n */\nexport interface SameLabelInstanceGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"SameLabelInstance\";\n\n /**\n * Grouping nodes by label is an expensive operation because it requires the whole hierarchy level to be created before even the first\n * grouped node can be produced. To alleviate the performance impact when this specification is used, two `applicationStage` settings have been introduced:\n *\n * - `\"Query\"` groups instances during ECSql query, which can often make use of database indices and is generally fairly quick. It is chosen\n * as the default option, however, it fails to produce grouping nodes when certain ruleset specifications are involved.\n *\n * - `\"PostProcess\"` groups instances after the whole hierarchy level is built. It incurs a large performance penalty, but it will\n * produce the expected result in all cases.\n *\n * @see SameLabelInstanceGroupApplicationStage\n */\n applicationStage?: `${SameLabelInstanceGroupApplicationStage}`;\n}\n\n/**\n * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.\n * @public\n */\nexport enum SameLabelInstanceGroupApplicationStage {\n /** Apply grouping at query stage. */\n Query = \"Query\",\n\n /**\n * Apply grouping at post-processing stage.\n *\n * This allows grouping nodes created by different hierarchy specifications at\n * a higher performance cost as it requires loading the whole hierarchy level before\n * returning even the first node - avoid using with large numbers of nodes.\n */\n PostProcess = \"PostProcess\",\n}\n\n/**\n * Property grouping allows grouping by a property of the instance by value or by given ranges of values.\n *\n * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)\n * @public\n */\nexport interface PropertyGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"Property\";\n\n /**\n * Name of the ECProperty which is used for grouping. The property must exist on the ECClass specified by the\n * rule's `class` attribute and it must be of either a primitive or a navigation type.\n *\n * @minLength 1\n */\n propertyName: string;\n\n /**\n * Specifies grouping node's image ID. If set, the ID is assigned to [[Node.imageId]] and\n * it's up to the UI component to decide what to do with it.\n *\n * @minLength 1\n */\n imageId?: string;\n\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\n createGroupForSingleItem?: boolean;\n\n /**\n * Should a separate grouping node be created for nodes whose grouping value is not set or is set to an empty string.\n */\n createGroupForUnspecifiedValues?: boolean;\n\n /**\n * Specifies whether instances should be grouped using property's display or raw value.\n *\n * @see PropertyGroupingValue\n * @deprecated in 3.x. Display value should always be used for grouping.\n */\n groupingValue?: `${PropertyGroupingValue}`; // eslint-disable-line deprecation/deprecation\n\n /**\n * Specifies whether nodes should be sorted by their display label or the grouping property's value. In most cases the result\n * is the same, unless a [label override rule]($docs/presentation/customization/LabelOverride.md) is used to change node's display label.\n *\n * @see PropertyGroupingValue\n * @deprecated in 3.x. Property grouping nodes should always be sorted by display label.\n */\n sortingValue?: `${PropertyGroupingValue}`; // eslint-disable-line deprecation/deprecation\n\n /** Ranges into which the grouping values are divided. Instances are grouped by value if no ranges are specified. */\n ranges?: PropertyRangeGroupSpecification[];\n}\n\n/**\n * Used in [[PropertyGroup]] to specify the type of value to use\n * for grouping and sorting\n *\n * @public\n * @deprecated in 3.x. The attributes using this enum are deprecated.\n */\nexport enum PropertyGroupingValue {\n /** By property value */\n PropertyValue = \"PropertyValue\",\n\n /** By display label */\n DisplayLabel = \"DisplayLabel\",\n}\n\n/**\n * Describes a grouping range.\n *\n * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)\n * @public\n */\nexport interface PropertyRangeGroupSpecification {\n /**\n * ID of an image to use for the grouping node. Defaults to [[PropertyGroup.imageId]] specified in [[PropertyGroup]].\n *\n * @minLength 1\n */\n imageId?: string;\n\n /**\n * Grouping node label. May be [localized]($docs/presentation/advanced/Localization.md).\n * Defaults to `{from value} - {to value}`.\n *\n * @minLength 1\n */\n label?: string;\n\n /**\n * Value that defines the range start (inclusive).\n *\n * @minLength 1\n */\n fromValue: string;\n\n /**\n * Value that defines the range end (inclusive).\n *\n * @minLength 1\n */\n toValue: string;\n}\n"]}
|
|
@@ -22,5 +22,5 @@ var InstanceLabelOverrideValueSpecificationType;
|
|
|
22
22
|
InstanceLabelOverrideValueSpecificationType["LocalId"] = "LocalId";
|
|
23
23
|
InstanceLabelOverrideValueSpecificationType["String"] = "String";
|
|
24
24
|
InstanceLabelOverrideValueSpecificationType["RelatedInstanceLabel"] = "RelatedInstanceLabel";
|
|
25
|
-
})(InstanceLabelOverrideValueSpecificationType
|
|
25
|
+
})(InstanceLabelOverrideValueSpecificationType || (exports.InstanceLabelOverrideValueSpecificationType = InstanceLabelOverrideValueSpecificationType = {}));
|
|
26
26
|
//# sourceMappingURL=InstanceLabelOverride.js.map
|