Default property category override
TypeScript type: DefaultPropertyCategoryOverride.
A rule that allows overriding the default property category.
The default property category is a category that gets assigned to properties that otherwise have no category.
Attributes
Name | Required? | Type | Default |
---|---|---|---|
Picking attributes | |||
requiredSchemas |
No | RequiredSchemaSpecification[] |
[] |
priority |
No | number |
1000 |
Content Modifiers | |||
specification |
Yes | PropertyCategorySpecification |
Attribute: requiredSchemas
Lists ECSchema requirements that need to be met for the rule to take effect.
Type | RequiredSchemaSpecification[] |
Is Required | No |
Default Value | [] |
// There's a content rule for returning content of given `bis.Subject` instance. In addition, there are two default
// property category overrides:
// - For iModels containing BisCore version 1.0.1 and older, the default property category should be "Custom Category OLD".
// - For iModels containing BisCore version 1.0.2 and newer, the default property category should be "Custom Category NEW".
const ruleset: Ruleset = {
id: "example",
rules: [
{
ruleType: "Content",
specifications: [
{
specType: "SelectedNodeInstances",
},
],
},
{
ruleType: "DefaultPropertyCategoryOverride",
requiredSchemas: [{ name: "BisCore", maxVersion: "1.0.2" }],
specification: {
id: "default",
label: "Custom Category OLD",
},
},
{
ruleType: "DefaultPropertyCategoryOverride",
requiredSchemas: [{ name: "BisCore", minVersion: "1.0.2" }],
specification: {
id: "default",
label: "Custom Category NEW",
},
},
],
};
Attribute: priority
Controls rule priority. Because there can only be one default category, default category override with the highest priority value will override all other rules of the same type.
Type | number |
Is Required | No |
Default Value | 1000 |
// There's a content rule for returning content of given `bis.Subject` instance. In addition, there are two default
// property category overrides of different priorities. The high priority rule should take precedence.
const ruleset: Ruleset = {
id: "example",
rules: [
{
ruleType: "Content",
specifications: [
{
specType: "SelectedNodeInstances",
},
],
},
{
ruleType: "DefaultPropertyCategoryOverride",
priority: 0,
specification: {
id: "default",
label: "Low Priority",
},
},
{
ruleType: "DefaultPropertyCategoryOverride",
priority: 9999,
specification: {
id: "default",
label: "High Priority",
},
},
],
};
Attribute: specification
Specification for the custom property category.
Type | PropertyCategorySpecification |
Is Required | Yes |
// There's a content rule for returning content of given `bis.Subject` instance. In addition, there's a default property
// category override to place properties into.
const ruleset: Ruleset = {
id: "example",
rules: [
{
ruleType: "Content",
specifications: [
{
specType: "SelectedNodeInstances",
},
],
},
{
ruleType: "DefaultPropertyCategoryOverride",
specification: {
id: "default",
label: "Test Category",
},
},
],
};
Last Updated: 15 May, 2024
Found something wrong, missing, or unclear on this page?Raise an issue in our repo.