@itwin/presentation-common 3.2.0-dev.24 → 3.2.0-dev.27
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/Ruleset.schema.json +9 -2
- package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +3 -1
- package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +6 -0
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +3 -1
- package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +6 -0
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
- package/package.json +9 -9
package/Ruleset.schema.json
CHANGED
|
@@ -1903,8 +1903,11 @@
|
|
|
1903
1903
|
"description": "Custom property editor specification that allows assigning\na custom value editor to be used in UI."
|
|
1904
1904
|
},
|
|
1905
1905
|
"isDisplayed": {
|
|
1906
|
-
"description": "This attribute controls whether the particular property is present in the result, even when it is marked as hidden in the\nECSchema. The allowed settings are:\n\n- Omitted or `undefined`: property visibility is controlled by the ECSchema.\n\n- `true`: property is made visible. Warning: this will automatically hide all other properties of the same class.\n If this behavior is not desirable, set `doNotHideOtherPropertiesOnDisplayOverride` attribute to `true`.\n\n- `false`: property is made hidden.",
|
|
1907
|
-
"type":
|
|
1906
|
+
"description": "This attribute controls whether the particular property is present in the result, even when it is marked as hidden in the\nECSchema. The allowed settings are:\n\n- Omitted or `undefined`: property visibility is controlled by the ECSchema.\n\n- `true`: property is made visible. Warning: this will automatically hide all other properties of the same class.\n If this behavior is not desirable, set `doNotHideOtherPropertiesOnDisplayOverride` attribute to `true`.\n\n- `false`: property is made hidden.\n\nThe value can also be set using an ECExpression.",
|
|
1907
|
+
"type": [
|
|
1908
|
+
"string",
|
|
1909
|
+
"boolean"
|
|
1910
|
+
]
|
|
1908
1911
|
},
|
|
1909
1912
|
"labelOverride": {
|
|
1910
1913
|
"description": "This is an attribute that allows overriding the property label. May be localized.",
|
|
@@ -2068,6 +2071,10 @@
|
|
|
2068
2071
|
"description": "The attribute tells whether the target class specified through `propertiesSource` should be handled\npolymorphically. This means properties of the concrete class are loaded in addition to properties of the\ntarget class itself.",
|
|
2069
2072
|
"type": "boolean"
|
|
2070
2073
|
},
|
|
2074
|
+
"instanceFilter": {
|
|
2075
|
+
"description": "Condition for filtering instances targeted by the `propertiesSource` attribute.\n\nSee: ECExpressions available in instance filter",
|
|
2076
|
+
"type": "string"
|
|
2077
|
+
},
|
|
2071
2078
|
"nestedRelatedProperties": {
|
|
2072
2079
|
"description": "The attribute allows loading additional related properties that are related to the target instance of this specification.",
|
|
2073
2080
|
"items": {
|
|
@@ -33,8 +33,10 @@ export interface PropertyOverrides {
|
|
|
33
33
|
* If this behavior is not desirable, set [[doNotHideOtherPropertiesOnDisplayOverride]] attribute to `true`.
|
|
34
34
|
*
|
|
35
35
|
* - `false`: property is made hidden.
|
|
36
|
+
*
|
|
37
|
+
* The value can also be set using an ECExpression.
|
|
36
38
|
*/
|
|
37
|
-
isDisplayed?: boolean;
|
|
39
|
+
isDisplayed?: boolean | string;
|
|
38
40
|
/**
|
|
39
41
|
* Custom property [renderer specification]($docs/presentation/content/RendererSpecification.md) that allows assigning a
|
|
40
42
|
* custom value renderer to be used in UI. The specification is used to set up [[Field.renderer]] for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertySpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/PropertySpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uIAAuI;IACvI,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAEzC
|
|
1
|
+
{"version":3,"file":"PropertySpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/PropertySpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uIAAuI;IACvI,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAEzC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IAEvC;;;OAGG;IACH,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAErC;;;OAGG;IACH,yCAAyC,CAAC,EAAE,OAAO,CAAC;CACrD;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D;;;;;;;;;OASG;IACH,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertySpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/PropertySpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomRendererSpecification } from \"./modifiers/CustomRendererSpecification\";\r\nimport { CategoryIdentifier } from \"./modifiers/PropertyCategorySpecification\";\r\nimport { PropertyEditorSpecification } from \"./modifiers/PropertyEditorsSpecification\";\r\n\r\n/**\r\n * A container structure for possible property overrides\r\n *\r\n * @see [Property specification reference documentation page]($docs/presentation/content/PropertySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertyOverrides {\r\n /**\r\n * There may be multiple property specifications that apply to a single property and there may be conflicts between\r\n * different attributes. The `overridesPriority` attribute is here to help solve the problem - if multiple specifications\r\n * attempt to override the same attribute, the override of specification with highest `overridesPriority` value is used.\r\n * The order of overrides from specification with the same `overridesPriority` is defined by the order they appear in\r\n * the overrides list.\r\n */\r\n overridesPriority?: number;\r\n\r\n /** This is an attribute that allows overriding the property label. May be [localized]($docs/presentation/advanced/Localization.md). */\r\n labelOverride?: string;\r\n\r\n /** The attribute allows moving the property into a different category. */\r\n categoryId?: string | CategoryIdentifier;\r\n\r\n /**\r\n * This attribute controls whether the particular property is present in the result, even when it is marked as hidden in the\r\n * ECSchema. The allowed settings are:\r\n *\r\n * - Omitted or `undefined`: property visibility is controlled by the ECSchema.\r\n *\r\n * - `true`: property is made visible. **Warning:** this will automatically hide all other properties of the same class.\r\n * If this behavior is not desirable, set [[doNotHideOtherPropertiesOnDisplayOverride]] attribute to `true`.\r\n *\r\n * - `false`: property is made hidden.\r\n */\r\n isDisplayed?: boolean;\r\n\r\n /**\r\n * Custom property [renderer specification]($docs/presentation/content/RendererSpecification.md) that allows assigning a\r\n * custom value renderer to be used in UI. The specification is used to set up [[Field.renderer]] for\r\n * this property and it's up to the UI component to make sure appropriate renderer is used to render the property.\r\n */\r\n renderer?: CustomRendererSpecification;\r\n\r\n /**\r\n * Custom [property editor specification]($docs/presentation/content/PropertyEditorSpecification) that allows assigning\r\n * a custom value editor to be used in UI.\r\n */\r\n editor?: PropertyEditorSpecification;\r\n\r\n /**\r\n * This attribute controls whether making the property visible using [[isDisplayed]] attribute should automatically hide\r\n * all other properties of the same class. When `true`, this behavior is disabled.\r\n */\r\n doNotHideOtherPropertiesOnDisplayOverride?: boolean;\r\n}\r\n\r\n/**\r\n * This specification allows overriding some attributes of specific ECProperty or define how it's displayed.\r\n *\r\n * @see [Property specification reference documentation page]($docs/presentation/content/PropertySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertySpecification extends PropertyOverrides {\r\n /**\r\n * Name of the ECProperty to apply overrides to. A `\"*\"` may be specified to match all properties in current context.\r\n * The current context is determined based on where the override is specified:\r\n *\r\n * - When used in a [content modifier]($docs/presentation/content/ContentModifier.md#attribute-propertyoverrides), the\r\n * properties of the ECClass specified by the [`class` attribute]($docs/presentation/content/ContentModifier.md#attribute-class) are used.\r\n *\r\n * - When used in one of the [content specifications]($docs/presentation/content/ContentRule.md#attribute-specifications),\r\n * properties produced by that specification are used.\r\n */\r\n name: string;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"PropertySpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/PropertySpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomRendererSpecification } from \"./modifiers/CustomRendererSpecification\";\r\nimport { CategoryIdentifier } from \"./modifiers/PropertyCategorySpecification\";\r\nimport { PropertyEditorSpecification } from \"./modifiers/PropertyEditorsSpecification\";\r\n\r\n/**\r\n * A container structure for possible property overrides\r\n *\r\n * @see [Property specification reference documentation page]($docs/presentation/content/PropertySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertyOverrides {\r\n /**\r\n * There may be multiple property specifications that apply to a single property and there may be conflicts between\r\n * different attributes. The `overridesPriority` attribute is here to help solve the problem - if multiple specifications\r\n * attempt to override the same attribute, the override of specification with highest `overridesPriority` value is used.\r\n * The order of overrides from specification with the same `overridesPriority` is defined by the order they appear in\r\n * the overrides list.\r\n */\r\n overridesPriority?: number;\r\n\r\n /** This is an attribute that allows overriding the property label. May be [localized]($docs/presentation/advanced/Localization.md). */\r\n labelOverride?: string;\r\n\r\n /** The attribute allows moving the property into a different category. */\r\n categoryId?: string | CategoryIdentifier;\r\n\r\n /**\r\n * This attribute controls whether the particular property is present in the result, even when it is marked as hidden in the\r\n * ECSchema. The allowed settings are:\r\n *\r\n * - Omitted or `undefined`: property visibility is controlled by the ECSchema.\r\n *\r\n * - `true`: property is made visible. **Warning:** this will automatically hide all other properties of the same class.\r\n * If this behavior is not desirable, set [[doNotHideOtherPropertiesOnDisplayOverride]] attribute to `true`.\r\n *\r\n * - `false`: property is made hidden.\r\n *\r\n * The value can also be set using an ECExpression.\r\n */\r\n isDisplayed?: boolean | string;\r\n\r\n /**\r\n * Custom property [renderer specification]($docs/presentation/content/RendererSpecification.md) that allows assigning a\r\n * custom value renderer to be used in UI. The specification is used to set up [[Field.renderer]] for\r\n * this property and it's up to the UI component to make sure appropriate renderer is used to render the property.\r\n */\r\n renderer?: CustomRendererSpecification;\r\n\r\n /**\r\n * Custom [property editor specification]($docs/presentation/content/PropertyEditorSpecification) that allows assigning\r\n * a custom value editor to be used in UI.\r\n */\r\n editor?: PropertyEditorSpecification;\r\n\r\n /**\r\n * This attribute controls whether making the property visible using [[isDisplayed]] attribute should automatically hide\r\n * all other properties of the same class. When `true`, this behavior is disabled.\r\n */\r\n doNotHideOtherPropertiesOnDisplayOverride?: boolean;\r\n}\r\n\r\n/**\r\n * This specification allows overriding some attributes of specific ECProperty or define how it's displayed.\r\n *\r\n * @see [Property specification reference documentation page]($docs/presentation/content/PropertySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertySpecification extends PropertyOverrides {\r\n /**\r\n * Name of the ECProperty to apply overrides to. A `\"*\"` may be specified to match all properties in current context.\r\n * The current context is determined based on where the override is specified:\r\n *\r\n * - When used in a [content modifier]($docs/presentation/content/ContentModifier.md#attribute-propertyoverrides), the\r\n * properties of the ECClass specified by the [`class` attribute]($docs/presentation/content/ContentModifier.md#attribute-class) are used.\r\n *\r\n * - When used in one of the [content specifications]($docs/presentation/content/ContentRule.md#attribute-specifications),\r\n * properties produced by that specification are used.\r\n */\r\n name: string;\r\n}\r\n"]}
|
package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts
CHANGED
|
@@ -46,6 +46,12 @@ export interface RelatedPropertiesSpecification {
|
|
|
46
46
|
* forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.
|
|
47
47
|
*/
|
|
48
48
|
propertiesSource: RelationshipPathSpecification;
|
|
49
|
+
/**
|
|
50
|
+
* Condition for filtering instances targeted by the [[propertiesSource]] attribute.
|
|
51
|
+
*
|
|
52
|
+
* **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)
|
|
53
|
+
*/
|
|
54
|
+
instanceFilter?: string;
|
|
49
55
|
/**
|
|
50
56
|
* The attribute tells whether the target class specified through [[propertiesSource]] should be handled
|
|
51
57
|
* polymorphically. This means properties of the concrete class are loaded in addition to properties of the
|
package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedPropertiesSpecification.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B;;;OAGG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,eAAe,oBAAoB;CACpC;AAED;;;GAGG;AACH,oBAAY,8BAA8B;IACxC;;;OAGG;IACH,IAAI,WAAW;IAEf;;OAEG;IACH,GAAG,MAAM;CACV;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,gIAAgI;IAChI,uBAAuB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,qBAAqB,CAAC,GAAG,8BAA8B,CAAC;CACrF"}
|
|
1
|
+
{"version":3,"file":"RelatedPropertiesSpecification.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B;;;OAGG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,eAAe,oBAAoB;CACpC;AAED;;;GAGG;AACH,oBAAY,8BAA8B;IACxC;;;OAGG;IACH,IAAI,WAAW;IAEf;;OAEG;IACH,GAAG,MAAM;CACV;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,gIAAgI;IAChI,uBAAuB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,qBAAqB,CAAC,GAAG,8BAA8B,CAAC;CACrF"}
|
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;;;+FAG+F;AAC/F;;GAEG;;;AAKH;;;GAGG;AACH,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,oDAA6B,CAAA;IAE7B;;;OAGG;IACH,0DAAmC,CAAA;AACrC,CAAC,EAZW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAY9B;AAED;;;GAGG;AACH,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC;;;OAGG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,2CAAS,CAAA;AACX,CAAC,EAXW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAWzC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RelationshipPathSpecification } from \"../../RelationshipPathSpecification\";\r\nimport { PropertySpecification } from \"../PropertySpecification\";\r\n\r\n/**\r\n * Meaning of the relationship.\r\n * @public\r\n */\r\nexport enum RelationshipMeaning {\r\n /**\r\n * The properties should be displayed as if they belonged to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance).\r\n * Generally that means they assigned a category, that's nested under the default category.\r\n */\r\n SameInstance = \"SameInstance\",\r\n\r\n /**\r\n * The properties should be distinguished from properties of the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.\r\n */\r\n RelatedInstance = \"RelatedInstance\",\r\n}\r\n\r\n/**\r\n * Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]\r\n * @public\r\n */\r\nexport enum RelatedPropertiesSpecialValues {\r\n /**\r\n * Used to specify that no properties should be included. Usually\r\n * used together with [[RelatedPropertiesSpecification.nestedRelatedProperties]]\r\n */\r\n None = \"_none_\",\r\n\r\n /**\r\n * Used to specify that all properties should be included.\r\n */\r\n All = \"*\",\r\n}\r\n\r\n/**\r\n * This specification allows including related instance properties into the content.\r\n *\r\n * @see [Related properties specification specification reference documentation page]($docs/presentation/content/RelatedPropertiesSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedPropertiesSpecification {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md) that\r\n * forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.\r\n */\r\n propertiesSource: RelationshipPathSpecification;\r\n\r\n /**\r\n * The attribute tells whether the target class specified through [[propertiesSource]] should be handled\r\n * polymorphically. This means properties of the concrete class are loaded in addition to properties of the\r\n * target class itself.\r\n *\r\n * @note There's a difference between loading properties and instances polymorphically. This attribute\r\n * only controls polymorphism of properties, while instances are always looked up in a polymorphic fashion.\r\n */\r\n handleTargetClassPolymorphically?: boolean;\r\n\r\n /**\r\n * Should the field containing related properties be assigned the [[NestedContentField.autoExpand]]\r\n * attribute. The attribute tells UI components showing the properties that they should be initially displayed in the expanded state.\r\n */\r\n autoExpand?: boolean;\r\n\r\n /**\r\n * Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.\r\n * @beta\r\n */\r\n skipIfDuplicate?: boolean;\r\n\r\n /**\r\n * The attribute describes what the related properties mean to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * whose properties are displayed.\r\n */\r\n relationshipMeaning?: RelationshipMeaning;\r\n\r\n /** The attribute allows loading additional related properties that are related to the target instance of this specification. */\r\n nestedRelatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * List of names or definitions of related class properties that should be included in the content.\r\n */\r\n properties?: Array<string | PropertySpecification> | RelatedPropertiesSpecialValues;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RelatedPropertiesSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAKH;;;GAGG;AACH,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,oDAA6B,CAAA;IAE7B;;;OAGG;IACH,0DAAmC,CAAA;AACrC,CAAC,EAZW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAY9B;AAED;;;GAGG;AACH,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC;;;OAGG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,2CAAS,CAAA;AACX,CAAC,EAXW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAWzC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RelationshipPathSpecification } from \"../../RelationshipPathSpecification\";\r\nimport { PropertySpecification } from \"../PropertySpecification\";\r\n\r\n/**\r\n * Meaning of the relationship.\r\n * @public\r\n */\r\nexport enum RelationshipMeaning {\r\n /**\r\n * The properties should be displayed as if they belonged to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance).\r\n * Generally that means they assigned a category, that's nested under the default category.\r\n */\r\n SameInstance = \"SameInstance\",\r\n\r\n /**\r\n * The properties should be distinguished from properties of the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.\r\n */\r\n RelatedInstance = \"RelatedInstance\",\r\n}\r\n\r\n/**\r\n * Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]\r\n * @public\r\n */\r\nexport enum RelatedPropertiesSpecialValues {\r\n /**\r\n * Used to specify that no properties should be included. Usually\r\n * used together with [[RelatedPropertiesSpecification.nestedRelatedProperties]]\r\n */\r\n None = \"_none_\",\r\n\r\n /**\r\n * Used to specify that all properties should be included.\r\n */\r\n All = \"*\",\r\n}\r\n\r\n/**\r\n * This specification allows including related instance properties into the content.\r\n *\r\n * @see [Related properties specification specification reference documentation page]($docs/presentation/content/RelatedPropertiesSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedPropertiesSpecification {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md) that\r\n * forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.\r\n */\r\n propertiesSource: RelationshipPathSpecification;\r\n\r\n /**\r\n * Condition for filtering instances targeted by the [[propertiesSource]] attribute.\r\n *\r\n * **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)\r\n */\r\n instanceFilter?: string;\r\n\r\n /**\r\n * The attribute tells whether the target class specified through [[propertiesSource]] should be handled\r\n * polymorphically. This means properties of the concrete class are loaded in addition to properties of the\r\n * target class itself.\r\n *\r\n * @note There's a difference between loading properties and instances polymorphically. This attribute\r\n * only controls polymorphism of properties, while instances are always looked up in a polymorphic fashion.\r\n */\r\n handleTargetClassPolymorphically?: boolean;\r\n\r\n /**\r\n * Should the field containing related properties be assigned the [[NestedContentField.autoExpand]]\r\n * attribute. The attribute tells UI components showing the properties that they should be initially displayed in the expanded state.\r\n */\r\n autoExpand?: boolean;\r\n\r\n /**\r\n * Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.\r\n * @beta\r\n */\r\n skipIfDuplicate?: boolean;\r\n\r\n /**\r\n * The attribute describes what the related properties mean to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * whose properties are displayed.\r\n */\r\n relationshipMeaning?: RelationshipMeaning;\r\n\r\n /** The attribute allows loading additional related properties that are related to the target instance of this specification. */\r\n nestedRelatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * List of names or definitions of related class properties that should be included in the content.\r\n */\r\n properties?: Array<string | PropertySpecification> | RelatedPropertiesSpecialValues;\r\n}\r\n"]}
|
|
@@ -33,8 +33,10 @@ export interface PropertyOverrides {
|
|
|
33
33
|
* If this behavior is not desirable, set [[doNotHideOtherPropertiesOnDisplayOverride]] attribute to `true`.
|
|
34
34
|
*
|
|
35
35
|
* - `false`: property is made hidden.
|
|
36
|
+
*
|
|
37
|
+
* The value can also be set using an ECExpression.
|
|
36
38
|
*/
|
|
37
|
-
isDisplayed?: boolean;
|
|
39
|
+
isDisplayed?: boolean | string;
|
|
38
40
|
/**
|
|
39
41
|
* Custom property [renderer specification]($docs/presentation/content/RendererSpecification.md) that allows assigning a
|
|
40
42
|
* custom value renderer to be used in UI. The specification is used to set up [[Field.renderer]] for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertySpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/PropertySpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uIAAuI;IACvI,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAEzC
|
|
1
|
+
{"version":3,"file":"PropertySpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/PropertySpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uIAAuI;IACvI,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAEzC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IAEvC;;;OAGG;IACH,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAErC;;;OAGG;IACH,yCAAyC,CAAC,EAAE,OAAO,CAAC;CACrD;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D;;;;;;;;;OASG;IACH,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertySpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/PropertySpecification.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomRendererSpecification } from \"./modifiers/CustomRendererSpecification\";\r\nimport { CategoryIdentifier } from \"./modifiers/PropertyCategorySpecification\";\r\nimport { PropertyEditorSpecification } from \"./modifiers/PropertyEditorsSpecification\";\r\n\r\n/**\r\n * A container structure for possible property overrides\r\n *\r\n * @see [Property specification reference documentation page]($docs/presentation/content/PropertySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertyOverrides {\r\n /**\r\n * There may be multiple property specifications that apply to a single property and there may be conflicts between\r\n * different attributes. The `overridesPriority` attribute is here to help solve the problem - if multiple specifications\r\n * attempt to override the same attribute, the override of specification with highest `overridesPriority` value is used.\r\n * The order of overrides from specification with the same `overridesPriority` is defined by the order they appear in\r\n * the overrides list.\r\n */\r\n overridesPriority?: number;\r\n\r\n /** This is an attribute that allows overriding the property label. May be [localized]($docs/presentation/advanced/Localization.md). */\r\n labelOverride?: string;\r\n\r\n /** The attribute allows moving the property into a different category. */\r\n categoryId?: string | CategoryIdentifier;\r\n\r\n /**\r\n * This attribute controls whether the particular property is present in the result, even when it is marked as hidden in the\r\n * ECSchema. The allowed settings are:\r\n *\r\n * - Omitted or `undefined`: property visibility is controlled by the ECSchema.\r\n *\r\n * - `true`: property is made visible. **Warning:** this will automatically hide all other properties of the same class.\r\n * If this behavior is not desirable, set [[doNotHideOtherPropertiesOnDisplayOverride]] attribute to `true`.\r\n *\r\n * - `false`: property is made hidden.\r\n */\r\n isDisplayed?: boolean;\r\n\r\n /**\r\n * Custom property [renderer specification]($docs/presentation/content/RendererSpecification.md) that allows assigning a\r\n * custom value renderer to be used in UI. The specification is used to set up [[Field.renderer]] for\r\n * this property and it's up to the UI component to make sure appropriate renderer is used to render the property.\r\n */\r\n renderer?: CustomRendererSpecification;\r\n\r\n /**\r\n * Custom [property editor specification]($docs/presentation/content/PropertyEditorSpecification) that allows assigning\r\n * a custom value editor to be used in UI.\r\n */\r\n editor?: PropertyEditorSpecification;\r\n\r\n /**\r\n * This attribute controls whether making the property visible using [[isDisplayed]] attribute should automatically hide\r\n * all other properties of the same class. When `true`, this behavior is disabled.\r\n */\r\n doNotHideOtherPropertiesOnDisplayOverride?: boolean;\r\n}\r\n\r\n/**\r\n * This specification allows overriding some attributes of specific ECProperty or define how it's displayed.\r\n *\r\n * @see [Property specification reference documentation page]($docs/presentation/content/PropertySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertySpecification extends PropertyOverrides {\r\n /**\r\n * Name of the ECProperty to apply overrides to. A `\"*\"` may be specified to match all properties in current context.\r\n * The current context is determined based on where the override is specified:\r\n *\r\n * - When used in a [content modifier]($docs/presentation/content/ContentModifier.md#attribute-propertyoverrides), the\r\n * properties of the ECClass specified by the [`class` attribute]($docs/presentation/content/ContentModifier.md#attribute-class) are used.\r\n *\r\n * - When used in one of the [content specifications]($docs/presentation/content/ContentRule.md#attribute-specifications),\r\n * properties produced by that specification are used.\r\n */\r\n name: string;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"PropertySpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/PropertySpecification.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomRendererSpecification } from \"./modifiers/CustomRendererSpecification\";\r\nimport { CategoryIdentifier } from \"./modifiers/PropertyCategorySpecification\";\r\nimport { PropertyEditorSpecification } from \"./modifiers/PropertyEditorsSpecification\";\r\n\r\n/**\r\n * A container structure for possible property overrides\r\n *\r\n * @see [Property specification reference documentation page]($docs/presentation/content/PropertySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertyOverrides {\r\n /**\r\n * There may be multiple property specifications that apply to a single property and there may be conflicts between\r\n * different attributes. The `overridesPriority` attribute is here to help solve the problem - if multiple specifications\r\n * attempt to override the same attribute, the override of specification with highest `overridesPriority` value is used.\r\n * The order of overrides from specification with the same `overridesPriority` is defined by the order they appear in\r\n * the overrides list.\r\n */\r\n overridesPriority?: number;\r\n\r\n /** This is an attribute that allows overriding the property label. May be [localized]($docs/presentation/advanced/Localization.md). */\r\n labelOverride?: string;\r\n\r\n /** The attribute allows moving the property into a different category. */\r\n categoryId?: string | CategoryIdentifier;\r\n\r\n /**\r\n * This attribute controls whether the particular property is present in the result, even when it is marked as hidden in the\r\n * ECSchema. The allowed settings are:\r\n *\r\n * - Omitted or `undefined`: property visibility is controlled by the ECSchema.\r\n *\r\n * - `true`: property is made visible. **Warning:** this will automatically hide all other properties of the same class.\r\n * If this behavior is not desirable, set [[doNotHideOtherPropertiesOnDisplayOverride]] attribute to `true`.\r\n *\r\n * - `false`: property is made hidden.\r\n *\r\n * The value can also be set using an ECExpression.\r\n */\r\n isDisplayed?: boolean | string;\r\n\r\n /**\r\n * Custom property [renderer specification]($docs/presentation/content/RendererSpecification.md) that allows assigning a\r\n * custom value renderer to be used in UI. The specification is used to set up [[Field.renderer]] for\r\n * this property and it's up to the UI component to make sure appropriate renderer is used to render the property.\r\n */\r\n renderer?: CustomRendererSpecification;\r\n\r\n /**\r\n * Custom [property editor specification]($docs/presentation/content/PropertyEditorSpecification) that allows assigning\r\n * a custom value editor to be used in UI.\r\n */\r\n editor?: PropertyEditorSpecification;\r\n\r\n /**\r\n * This attribute controls whether making the property visible using [[isDisplayed]] attribute should automatically hide\r\n * all other properties of the same class. When `true`, this behavior is disabled.\r\n */\r\n doNotHideOtherPropertiesOnDisplayOverride?: boolean;\r\n}\r\n\r\n/**\r\n * This specification allows overriding some attributes of specific ECProperty or define how it's displayed.\r\n *\r\n * @see [Property specification reference documentation page]($docs/presentation/content/PropertySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertySpecification extends PropertyOverrides {\r\n /**\r\n * Name of the ECProperty to apply overrides to. A `\"*\"` may be specified to match all properties in current context.\r\n * The current context is determined based on where the override is specified:\r\n *\r\n * - When used in a [content modifier]($docs/presentation/content/ContentModifier.md#attribute-propertyoverrides), the\r\n * properties of the ECClass specified by the [`class` attribute]($docs/presentation/content/ContentModifier.md#attribute-class) are used.\r\n *\r\n * - When used in one of the [content specifications]($docs/presentation/content/ContentRule.md#attribute-specifications),\r\n * properties produced by that specification are used.\r\n */\r\n name: string;\r\n}\r\n"]}
|
package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts
CHANGED
|
@@ -46,6 +46,12 @@ export interface RelatedPropertiesSpecification {
|
|
|
46
46
|
* forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.
|
|
47
47
|
*/
|
|
48
48
|
propertiesSource: RelationshipPathSpecification;
|
|
49
|
+
/**
|
|
50
|
+
* Condition for filtering instances targeted by the [[propertiesSource]] attribute.
|
|
51
|
+
*
|
|
52
|
+
* **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)
|
|
53
|
+
*/
|
|
54
|
+
instanceFilter?: string;
|
|
49
55
|
/**
|
|
50
56
|
* The attribute tells whether the target class specified through [[propertiesSource]] should be handled
|
|
51
57
|
* polymorphically. This means properties of the concrete class are loaded in addition to properties of the
|
package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedPropertiesSpecification.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B;;;OAGG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,eAAe,oBAAoB;CACpC;AAED;;;GAGG;AACH,oBAAY,8BAA8B;IACxC;;;OAGG;IACH,IAAI,WAAW;IAEf;;OAEG;IACH,GAAG,MAAM;CACV;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,gIAAgI;IAChI,uBAAuB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,qBAAqB,CAAC,GAAG,8BAA8B,CAAC;CACrF"}
|
|
1
|
+
{"version":3,"file":"RelatedPropertiesSpecification.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B;;;OAGG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,eAAe,oBAAoB;CACpC;AAED;;;GAGG;AACH,oBAAY,8BAA8B;IACxC;;;OAGG;IACH,IAAI,WAAW;IAEf;;OAEG;IACH,GAAG,MAAM;CACV;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,gIAAgI;IAChI,uBAAuB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,qBAAqB,CAAC,GAAG,8BAA8B,CAAC;CACrF"}
|
package/lib/esm/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;;;+FAG+F;AAC/F;;GAEG;AAKH;;;GAGG;AACH,MAAM,CAAN,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,oDAA6B,CAAA;IAE7B;;;OAGG;IACH,0DAAmC,CAAA;AACrC,CAAC,EAZW,mBAAmB,KAAnB,mBAAmB,QAY9B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC;;;OAGG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,2CAAS,CAAA;AACX,CAAC,EAXW,8BAA8B,KAA9B,8BAA8B,QAWzC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RelationshipPathSpecification } from \"../../RelationshipPathSpecification\";\r\nimport { PropertySpecification } from \"../PropertySpecification\";\r\n\r\n/**\r\n * Meaning of the relationship.\r\n * @public\r\n */\r\nexport enum RelationshipMeaning {\r\n /**\r\n * The properties should be displayed as if they belonged to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance).\r\n * Generally that means they assigned a category, that's nested under the default category.\r\n */\r\n SameInstance = \"SameInstance\",\r\n\r\n /**\r\n * The properties should be distinguished from properties of the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.\r\n */\r\n RelatedInstance = \"RelatedInstance\",\r\n}\r\n\r\n/**\r\n * Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]\r\n * @public\r\n */\r\nexport enum RelatedPropertiesSpecialValues {\r\n /**\r\n * Used to specify that no properties should be included. Usually\r\n * used together with [[RelatedPropertiesSpecification.nestedRelatedProperties]]\r\n */\r\n None = \"_none_\",\r\n\r\n /**\r\n * Used to specify that all properties should be included.\r\n */\r\n All = \"*\",\r\n}\r\n\r\n/**\r\n * This specification allows including related instance properties into the content.\r\n *\r\n * @see [Related properties specification specification reference documentation page]($docs/presentation/content/RelatedPropertiesSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedPropertiesSpecification {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md) that\r\n * forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.\r\n */\r\n propertiesSource: RelationshipPathSpecification;\r\n\r\n /**\r\n * The attribute tells whether the target class specified through [[propertiesSource]] should be handled\r\n * polymorphically. This means properties of the concrete class are loaded in addition to properties of the\r\n * target class itself.\r\n *\r\n * @note There's a difference between loading properties and instances polymorphically. This attribute\r\n * only controls polymorphism of properties, while instances are always looked up in a polymorphic fashion.\r\n */\r\n handleTargetClassPolymorphically?: boolean;\r\n\r\n /**\r\n * Should the field containing related properties be assigned the [[NestedContentField.autoExpand]]\r\n * attribute. The attribute tells UI components showing the properties that they should be initially displayed in the expanded state.\r\n */\r\n autoExpand?: boolean;\r\n\r\n /**\r\n * Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.\r\n * @beta\r\n */\r\n skipIfDuplicate?: boolean;\r\n\r\n /**\r\n * The attribute describes what the related properties mean to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * whose properties are displayed.\r\n */\r\n relationshipMeaning?: RelationshipMeaning;\r\n\r\n /** The attribute allows loading additional related properties that are related to the target instance of this specification. */\r\n nestedRelatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * List of names or definitions of related class properties that should be included in the content.\r\n */\r\n properties?: Array<string | PropertySpecification> | RelatedPropertiesSpecialValues;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RelatedPropertiesSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAKH;;;GAGG;AACH,MAAM,CAAN,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,oDAA6B,CAAA;IAE7B;;;OAGG;IACH,0DAAmC,CAAA;AACrC,CAAC,EAZW,mBAAmB,KAAnB,mBAAmB,QAY9B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC;;;OAGG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,2CAAS,CAAA;AACX,CAAC,EAXW,8BAA8B,KAA9B,8BAA8B,QAWzC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RelationshipPathSpecification } from \"../../RelationshipPathSpecification\";\r\nimport { PropertySpecification } from \"../PropertySpecification\";\r\n\r\n/**\r\n * Meaning of the relationship.\r\n * @public\r\n */\r\nexport enum RelationshipMeaning {\r\n /**\r\n * The properties should be displayed as if they belonged to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance).\r\n * Generally that means they assigned a category, that's nested under the default category.\r\n */\r\n SameInstance = \"SameInstance\",\r\n\r\n /**\r\n * The properties should be distinguished from properties of the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.\r\n */\r\n RelatedInstance = \"RelatedInstance\",\r\n}\r\n\r\n/**\r\n * Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]\r\n * @public\r\n */\r\nexport enum RelatedPropertiesSpecialValues {\r\n /**\r\n * Used to specify that no properties should be included. Usually\r\n * used together with [[RelatedPropertiesSpecification.nestedRelatedProperties]]\r\n */\r\n None = \"_none_\",\r\n\r\n /**\r\n * Used to specify that all properties should be included.\r\n */\r\n All = \"*\",\r\n}\r\n\r\n/**\r\n * This specification allows including related instance properties into the content.\r\n *\r\n * @see [Related properties specification specification reference documentation page]($docs/presentation/content/RelatedPropertiesSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedPropertiesSpecification {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md) that\r\n * forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.\r\n */\r\n propertiesSource: RelationshipPathSpecification;\r\n\r\n /**\r\n * Condition for filtering instances targeted by the [[propertiesSource]] attribute.\r\n *\r\n * **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)\r\n */\r\n instanceFilter?: string;\r\n\r\n /**\r\n * The attribute tells whether the target class specified through [[propertiesSource]] should be handled\r\n * polymorphically. This means properties of the concrete class are loaded in addition to properties of the\r\n * target class itself.\r\n *\r\n * @note There's a difference between loading properties and instances polymorphically. This attribute\r\n * only controls polymorphism of properties, while instances are always looked up in a polymorphic fashion.\r\n */\r\n handleTargetClassPolymorphically?: boolean;\r\n\r\n /**\r\n * Should the field containing related properties be assigned the [[NestedContentField.autoExpand]]\r\n * attribute. The attribute tells UI components showing the properties that they should be initially displayed in the expanded state.\r\n */\r\n autoExpand?: boolean;\r\n\r\n /**\r\n * Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.\r\n * @beta\r\n */\r\n skipIfDuplicate?: boolean;\r\n\r\n /**\r\n * The attribute describes what the related properties mean to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * whose properties are displayed.\r\n */\r\n relationshipMeaning?: RelationshipMeaning;\r\n\r\n /** The attribute allows loading additional related properties that are related to the target instance of this specification. */\r\n nestedRelatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * List of names or definitions of related class properties that should be included in the content.\r\n */\r\n properties?: Array<string | PropertySpecification> | RelatedPropertiesSpecialValues;\r\n}\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/presentation-common",
|
|
3
|
-
"version": "3.2.0-dev.
|
|
3
|
+
"version": "3.2.0-dev.27",
|
|
4
4
|
"description": "Common pieces for iModel.js presentation packages",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -21,16 +21,16 @@
|
|
|
21
21
|
"module": "lib/esm/presentation-common.js",
|
|
22
22
|
"typings": "lib/cjs/presentation-common",
|
|
23
23
|
"peerDependencies": {
|
|
24
|
-
"@itwin/core-bentley": "^3.2.0-dev.
|
|
25
|
-
"@itwin/core-common": "^3.2.0-dev.
|
|
26
|
-
"@itwin/core-quantity": "^3.2.0-dev.
|
|
24
|
+
"@itwin/core-bentley": "^3.2.0-dev.27",
|
|
25
|
+
"@itwin/core-common": "^3.2.0-dev.27",
|
|
26
|
+
"@itwin/core-quantity": "^3.2.0-dev.27"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@itwin/build-tools": "3.2.0-dev.
|
|
30
|
-
"@itwin/core-bentley": "3.2.0-dev.
|
|
31
|
-
"@itwin/core-common": "3.2.0-dev.
|
|
32
|
-
"@itwin/core-quantity": "3.2.0-dev.
|
|
33
|
-
"@itwin/eslint-plugin": "3.2.0-dev.
|
|
29
|
+
"@itwin/build-tools": "3.2.0-dev.27",
|
|
30
|
+
"@itwin/core-bentley": "3.2.0-dev.27",
|
|
31
|
+
"@itwin/core-common": "3.2.0-dev.27",
|
|
32
|
+
"@itwin/core-quantity": "3.2.0-dev.27",
|
|
33
|
+
"@itwin/eslint-plugin": "3.2.0-dev.27",
|
|
34
34
|
"@types/chai": "^4.1.4",
|
|
35
35
|
"@types/chai-as-promised": "^7",
|
|
36
36
|
"@types/chai-jest-snapshot": "^1.3.0",
|