@itwin/presentation-common 3.2.0-dev.1 → 3.2.0-dev.12
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 +6 -1
- package/lib/cjs/presentation-common/content/ContentTraverser.js +2 -2
- package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
- package/lib/cjs/presentation-common/content/Descriptor.d.ts +4 -1
- package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/Descriptor.js +4 -1
- package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
- package/lib/cjs/presentation-common/content/Item.d.ts +5 -1
- package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
- package/lib/cjs/presentation-common/content/Item.js +1 -1
- package/lib/cjs/presentation-common/content/Item.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Node.d.ts +35 -7
- package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
- package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +1 -1
- package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +2 -2
- package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +4 -1
- package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +1 -0
- package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +5 -2
- package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +1 -0
- package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +1 -0
- package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +1 -0
- package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
- package/lib/esm/presentation-common/content/ContentTraverser.js +2 -2
- package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
- package/lib/esm/presentation-common/content/Descriptor.d.ts +4 -1
- package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/Descriptor.js +4 -1
- package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
- package/lib/esm/presentation-common/content/Item.d.ts +5 -1
- package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
- package/lib/esm/presentation-common/content/Item.js +1 -1
- package/lib/esm/presentation-common/content/Item.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Node.d.ts +35 -7
- package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
- package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +1 -1
- package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +2 -2
- package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +4 -1
- package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +1 -0
- package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +5 -2
- package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +1 -0
- package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +1 -0
- package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +1 -0
- package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts.map +1 -1
- package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Descriptor.js","sourceRoot":"","sources":["../../../../src/presentation-common/content/Descriptor.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Content\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n ClassInfo, ClassInfoJSON, CompressedClassInfoJSON, RelatedClassInfo, RelatedClassInfoJSON, RelatedClassInfoWithOptionalRelationship,\r\n RelatedClassInfoWithOptionalRelationshipJSON, RelationshipPath, RelationshipPathJSON,\r\n} from \"../EC\";\r\nimport { CategoryDescription, CategoryDescriptionJSON } from \"./Category\";\r\nimport { Field, FieldDescriptor, FieldJSON, getFieldByName } from \"./Fields\";\r\n\r\n/**\r\n * Data structure that describes an ECClass in content [[Descriptor]].\r\n * @public\r\n */\r\nexport interface SelectClassInfo {\r\n /** Information about the ECClass */\r\n selectClassInfo: ClassInfo;\r\n\r\n /** Is the class handled polymorphically */\r\n isSelectPolymorphic: boolean;\r\n\r\n /** Relationship path from input class to the select class. */\r\n pathFromInputToSelectClass?: RelatedClassInfoWithOptionalRelationship[];\r\n\r\n /** Relationship paths to [related property]($docs/presentation/Content/Terminology#related-properties) classes */\r\n relatedPropertyPaths?: RelationshipPath[];\r\n\r\n /** Relationship paths to navigation property classes */\r\n navigationPropertyClasses?: RelatedClassInfo[];\r\n\r\n /** Relationship paths to [related instance]($docs/presentation/Content/Terminology#related-instance) classes. */\r\n relatedInstancePaths?: RelationshipPath[];\r\n}\r\n\r\n/**\r\n * Serialized [[SelectClassInfo]] JSON representation\r\n * @public\r\n */\r\nexport interface SelectClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n selectClassInfo: TClassInfoJSON;\r\n isSelectPolymorphic: boolean;\r\n pathFromInputToSelectClass?: RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON>[];\r\n relatedPropertyPaths?: RelationshipPathJSON<TClassInfoJSON>[];\r\n navigationPropertyClasses?: RelatedClassInfoJSON<TClassInfoJSON>[];\r\n relatedInstancePaths?: RelationshipPathJSON<TClassInfoJSON>[];\r\n}\r\n\r\n/** @public */\r\nexport namespace SelectClassInfo {\r\n /** Deserialize [[SelectClassInfo]] from compressed JSON */\r\n export function fromCompressedJSON(json: SelectClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): SelectClassInfo {\r\n assert(classesMap.hasOwnProperty(json.selectClassInfo));\r\n return {\r\n selectClassInfo: { id: json.selectClassInfo, ...classesMap[json.selectClassInfo] },\r\n isSelectPolymorphic: json.isSelectPolymorphic,\r\n ...(json.navigationPropertyClasses ? { navigationPropertyClasses: json.navigationPropertyClasses.map((item) => RelatedClassInfo.fromCompressedJSON(item, classesMap)) } : undefined),\r\n ...(json.relatedInstancePaths ? { relatedInstancePaths: json.relatedInstancePaths.map((rip) => rip.map((item) => RelatedClassInfo.fromCompressedJSON(item, classesMap))) } : undefined),\r\n ...(json.pathFromInputToSelectClass ? { pathFromInputToSelectClass: json.pathFromInputToSelectClass.map((item) => RelatedClassInfoWithOptionalRelationship.fromCompressedJSON(item, classesMap)) } : undefined),\r\n ...(json.relatedPropertyPaths ? { relatedPropertyPaths: json.relatedPropertyPaths.map((path) => path.map((item) => RelatedClassInfo.fromCompressedJSON(item, classesMap))) } : undefined),\r\n };\r\n }\r\n\r\n /** Serialize [[SelectClassInfo]] to compressed JSON */\r\n export function toCompressedJSON(selectClass: SelectClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): SelectClassInfoJSON<string> {\r\n const { id, ...leftOverClassInfo } = selectClass.selectClassInfo;\r\n classesMap[id] = leftOverClassInfo;\r\n return {\r\n selectClassInfo: id,\r\n isSelectPolymorphic: selectClass.isSelectPolymorphic,\r\n ...(selectClass.relatedInstancePaths ? { relatedInstancePaths: selectClass.relatedInstancePaths.map((rip) => rip.map((item) => RelatedClassInfo.toCompressedJSON(item, classesMap))) } : undefined),\r\n ...(selectClass.navigationPropertyClasses ? { navigationPropertyClasses: selectClass.navigationPropertyClasses.map((propertyClass) => RelatedClassInfo.toCompressedJSON(propertyClass, classesMap)) } : undefined),\r\n ...(selectClass.pathFromInputToSelectClass ? { pathFromInputToSelectClass: selectClass.pathFromInputToSelectClass.map((item) => RelatedClassInfoWithOptionalRelationship.toCompressedJSON(item, classesMap)) } : undefined),\r\n ...(selectClass.relatedPropertyPaths ? { relatedPropertyPaths: selectClass.relatedPropertyPaths.map((path) => path.map((relatedClass) => RelatedClassInfo.toCompressedJSON(relatedClass, classesMap))) } : undefined),\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[SelectClassInfo]] list from JSON\r\n * @param json JSON or JSON serialized to string to deserialize from\r\n * @returns Deserialized [[SelectClassInfo]] objects list\r\n *\r\n * @internal\r\n */\r\n export function listFromCompressedJSON(json: SelectClassInfoJSON<Id64String>[], classesMap: { [id: string]: CompressedClassInfoJSON }): SelectClassInfo[] {\r\n return json.map((sci) => fromCompressedJSON(sci, classesMap));\r\n }\r\n}\r\n\r\n/**\r\n * Flags that control content format.\r\n * @public\r\n */\r\nexport enum ContentFlags {\r\n /** Each content record only has [[InstanceKey]] and no data */\r\n KeysOnly = 1 << 0,\r\n\r\n /** Each content record additionally has an image id */\r\n ShowImages = 1 << 1,\r\n\r\n /** Each content record additionally has a display label */\r\n ShowLabels = 1 << 2,\r\n\r\n /** All content records are merged into a single record (see [Merging values]($docs/presentation/content/terminology#value-merging)) */\r\n MergeResults = 1 << 3,\r\n\r\n /** Content has only distinct values */\r\n DistinctValues = 1 << 4,\r\n\r\n /** Doesn't create property or calculated fields. Can be used in conjunction with [[ShowLabels]]. */\r\n NoFields = 1 << 5,\r\n\r\n /**\r\n * Set related input keys on [[Item]] objects when creating content. This helps identify which [[Item]] is associated to which\r\n * given input key at the cost of performance creating those items.\r\n *\r\n * @beta\r\n */\r\n IncludeInputKeys = 1 << 8,\r\n}\r\n\r\n/**\r\n * Data sorting direction\r\n * @public\r\n */\r\nexport enum SortDirection {\r\n Ascending,\r\n Descending,\r\n}\r\n\r\n/**\r\n * Data structure that contains selection information. Used\r\n * for cases when requesting content after a selection change.\r\n *\r\n * @public\r\n */\r\nexport interface SelectionInfo {\r\n /** Name of selection provider which cause the selection change */\r\n providerName: string;\r\n /** Level of selection that changed */\r\n level?: number;\r\n}\r\n\r\n/**\r\n * Serialized [[Descriptor]] JSON representation.\r\n * @public\r\n */\r\nexport interface DescriptorJSON {\r\n classesMap: { [id: string]: CompressedClassInfoJSON };\r\n connectionId: string;\r\n inputKeysHash: string;\r\n contentOptions: any;\r\n selectionInfo?: SelectionInfo;\r\n displayType: string;\r\n selectClasses: SelectClassInfoJSON<Id64String>[];\r\n categories: CategoryDescriptionJSON[];\r\n fields: FieldJSON<Id64String>[];\r\n sortingFieldName?: string;\r\n sortDirection?: SortDirection;\r\n contentFlags: number;\r\n filterExpression?: string;\r\n}\r\n\r\n/**\r\n * Descriptor overrides that can be used to customize content\r\n * @public\r\n */\r\nexport interface DescriptorOverrides {\r\n /**\r\n * Content display type. Can be accessed in presentation rules and used\r\n * to modify content in various ways. Defaults to empty string.\r\n */\r\n displayType?: string;\r\n\r\n /** Content flags used for content customization. See [[ContentFlags]] */\r\n contentFlags?: number;\r\n\r\n /** Fields selector that allows excluding or including only specified fields. */\r\n fieldsSelector?: {\r\n /** Should the specified fields be included or excluded */\r\n type: \"include\" | \"exclude\";\r\n /** A list of field descriptors that identify fields to include / exclude */\r\n fields: FieldDescriptor[];\r\n };\r\n\r\n /** Specification for sorting data. */\r\n sorting?: {\r\n /** Identifier of the field to use for sorting */\r\n field: FieldDescriptor;\r\n /** Sort direction */\r\n direction: SortDirection;\r\n };\r\n\r\n /** [ECExpression]($docs/presentation/Advanced/ECExpressions.md) for filtering content */\r\n filterExpression?: string;\r\n}\r\n\r\n/**\r\n * Descriptor properties\r\n * @public\r\n */\r\nexport interface DescriptorSource {\r\n /** Id of the connection used to create the descriptor */\r\n readonly connectionId?: string;\r\n /** Hash of the input keys used to create the descriptor */\r\n readonly inputKeysHash?: string;\r\n /** Selection info used to create the descriptor */\r\n readonly selectionInfo?: SelectionInfo;\r\n /** Display type used to create the descriptor */\r\n readonly displayType: string;\r\n /** A list of classes that will be selected from when creating content with this descriptor */\r\n readonly selectClasses: SelectClassInfo[];\r\n /** A list of content field categories used in this descriptor */\r\n readonly categories: CategoryDescription[];\r\n /** A list of fields contained in the descriptor */\r\n readonly fields: Field[];\r\n /** [[ContentFlags]] used to create the descriptor */\r\n readonly contentFlags: number;\r\n /** Field used to sort the content */\r\n readonly sortingField?: Field;\r\n /** Sorting direction */\r\n readonly sortDirection?: SortDirection;\r\n /** Content filtering [ECExpression]($docs/presentation/Advanced/ECExpressions) */\r\n readonly filterExpression?: string;\r\n}\r\n\r\n/**\r\n * Data structure that describes content: fields, sorting, filtering, format, etc.\r\n * Descriptor may be changed to control how content is created.\r\n *\r\n * @public\r\n */\r\nexport class Descriptor implements DescriptorSource {\r\n /** Id of the connection used to create the descriptor */\r\n public readonly connectionId?: string;\r\n /** Hash of the input keys used to create the descriptor */\r\n public readonly inputKeysHash?: string;\r\n /** Extended options used to create the descriptor */\r\n public readonly contentOptions: any;\r\n /** Selection info used to create the descriptor */\r\n public readonly selectionInfo?: SelectionInfo;\r\n /** Display type used to create the descriptor */\r\n public readonly displayType: string;\r\n /** A list of classes that will be selected when creating content with this descriptor */\r\n public readonly selectClasses: SelectClassInfo[];\r\n /** A list of content field categories used in this descriptor */\r\n public readonly categories: CategoryDescription[];\r\n /** A list of fields contained in the descriptor */\r\n public readonly fields: Field[];\r\n /** [[ContentFlags]] used to create the descriptor */\r\n public readonly contentFlags: number;\r\n /** Field used to sort the content */\r\n public sortingField?: Field;\r\n /** Sorting direction */\r\n public sortDirection?: SortDirection;\r\n /** Content filtering [ECExpression]($docs/presentation/Advanced/ECExpressions) */\r\n public filterExpression?: string;\r\n\r\n /** Construct a new Descriptor using a [[DescriptorSource]] */\r\n public constructor(source: DescriptorSource) {\r\n this.connectionId = source.connectionId;\r\n this.inputKeysHash = source.inputKeysHash;\r\n this.selectionInfo = source.selectionInfo;\r\n this.displayType = source.displayType;\r\n this.contentFlags = source.contentFlags;\r\n this.selectClasses = [...source.selectClasses];\r\n this.categories = [...source.categories];\r\n this.fields = [...source.fields];\r\n this.sortingField = source.sortingField;\r\n this.sortDirection = source.sortDirection;\r\n this.filterExpression = source.filterExpression;\r\n }\r\n\r\n /** Serialize [[Descriptor]] to JSON */\r\n public toJSON(): DescriptorJSON {\r\n const classesMap: { [id: string]: CompressedClassInfoJSON } = {};\r\n const selectClasses: SelectClassInfoJSON<string>[] = this.selectClasses.map((selectClass) => SelectClassInfo.toCompressedJSON(selectClass, classesMap));\r\n const fields: FieldJSON<string>[] = this.fields.map((field) => field.toCompressedJSON(classesMap));\r\n return Object.assign(\r\n {\r\n connectionId: this.connectionId,\r\n inputKeysHash: this.inputKeysHash,\r\n contentOptions: this.contentOptions,\r\n displayType: this.displayType,\r\n contentFlags: this.contentFlags,\r\n categories: this.categories.map(CategoryDescription.toJSON),\r\n fields,\r\n selectClasses,\r\n classesMap,\r\n },\r\n this.sortingField !== undefined && { sortingFieldName: this.sortingField.name },\r\n this.sortDirection !== undefined && { sortDirection: this.sortDirection },\r\n this.filterExpression !== undefined && { filterExpression: this.filterExpression },\r\n this.selectionInfo !== undefined && { selectionInfo: this.selectionInfo },\r\n );\r\n }\r\n\r\n /** Deserialize [[Descriptor]] from JSON */\r\n public static fromJSON(json: DescriptorJSON | undefined): Descriptor | undefined {\r\n if (!json)\r\n return undefined;\r\n\r\n const { classesMap, ...leftOverJson } = json;\r\n const categories = CategoryDescription.listFromJSON(json.categories);\r\n const selectClasses = SelectClassInfo.listFromCompressedJSON(json.selectClasses, classesMap);\r\n const fields = this.getFieldsFromJSON(json.fields, (fieldJson) => Field.fromCompressedJSON(fieldJson, classesMap, categories));\r\n return new Descriptor({\r\n ...leftOverJson,\r\n selectClasses,\r\n categories,\r\n fields,\r\n sortingField: getFieldByName(fields, json.sortingFieldName, true),\r\n });\r\n }\r\n\r\n private static getFieldsFromJSON(json: FieldJSON[], factory: (json: FieldJSON) => Field | undefined): Field[] {\r\n return json.map((fieldJson: FieldJSON) => {\r\n const field = factory(fieldJson);\r\n if (field)\r\n field.rebuildParentship();\r\n return field;\r\n }).filter((field): field is Field => !!field);\r\n }\r\n\r\n /**\r\n * Get field by its name\r\n * @param name Name of the field to find\r\n * @param recurse Recurse into nested fields\r\n */\r\n public getFieldByName(name: string, recurse?: boolean): Field | undefined {\r\n return getFieldByName(this.fields, name, recurse);\r\n }\r\n\r\n /**\r\n * Create descriptor overrides object from this descriptor.\r\n * @public\r\n */\r\n public createDescriptorOverrides(): DescriptorOverrides {\r\n const overrides: DescriptorOverrides = {};\r\n if (this.displayType)\r\n overrides.displayType = this.displayType;\r\n if (this.contentFlags !== 0)\r\n overrides.contentFlags = this.contentFlags;\r\n if (this.filterExpression)\r\n overrides.filterExpression = this.filterExpression;\r\n if (this.sortingField)\r\n overrides.sorting = { field: this.sortingField.getFieldDescriptor(), direction: this.sortDirection ?? SortDirection.Ascending };\r\n return overrides;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Descriptor.js","sourceRoot":"","sources":["../../../../src/presentation-common/content/Descriptor.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Content\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n ClassInfo, ClassInfoJSON, CompressedClassInfoJSON, RelatedClassInfo, RelatedClassInfoJSON, RelatedClassInfoWithOptionalRelationship,\r\n RelatedClassInfoWithOptionalRelationshipJSON, RelationshipPath, RelationshipPathJSON,\r\n} from \"../EC\";\r\nimport { CategoryDescription, CategoryDescriptionJSON } from \"./Category\";\r\nimport { Field, FieldDescriptor, FieldJSON, getFieldByName } from \"./Fields\";\r\n\r\n/**\r\n * Data structure that describes an ECClass in content [[Descriptor]].\r\n * @public\r\n */\r\nexport interface SelectClassInfo {\r\n /** Information about the ECClass */\r\n selectClassInfo: ClassInfo;\r\n\r\n /** Is the class handled polymorphically */\r\n isSelectPolymorphic: boolean;\r\n\r\n /** Relationship path from input class to the select class. */\r\n pathFromInputToSelectClass?: RelatedClassInfoWithOptionalRelationship[];\r\n\r\n /** Relationship paths to [related property]($docs/presentation/Content/Terminology#related-properties) classes */\r\n relatedPropertyPaths?: RelationshipPath[];\r\n\r\n /** Relationship paths to navigation property classes */\r\n navigationPropertyClasses?: RelatedClassInfo[];\r\n\r\n /** Relationship paths to [related instance]($docs/presentation/Content/Terminology#related-instance) classes. */\r\n relatedInstancePaths?: RelationshipPath[];\r\n}\r\n\r\n/**\r\n * Serialized [[SelectClassInfo]] JSON representation\r\n * @public\r\n */\r\nexport interface SelectClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n selectClassInfo: TClassInfoJSON;\r\n isSelectPolymorphic: boolean;\r\n pathFromInputToSelectClass?: RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON>[];\r\n relatedPropertyPaths?: RelationshipPathJSON<TClassInfoJSON>[];\r\n navigationPropertyClasses?: RelatedClassInfoJSON<TClassInfoJSON>[];\r\n relatedInstancePaths?: RelationshipPathJSON<TClassInfoJSON>[];\r\n}\r\n\r\n/** @public */\r\nexport namespace SelectClassInfo {\r\n /** Deserialize [[SelectClassInfo]] from compressed JSON */\r\n export function fromCompressedJSON(json: SelectClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): SelectClassInfo {\r\n assert(classesMap.hasOwnProperty(json.selectClassInfo));\r\n return {\r\n selectClassInfo: { id: json.selectClassInfo, ...classesMap[json.selectClassInfo] },\r\n isSelectPolymorphic: json.isSelectPolymorphic,\r\n ...(json.navigationPropertyClasses ? { navigationPropertyClasses: json.navigationPropertyClasses.map((item) => RelatedClassInfo.fromCompressedJSON(item, classesMap)) } : undefined),\r\n ...(json.relatedInstancePaths ? { relatedInstancePaths: json.relatedInstancePaths.map((rip) => rip.map((item) => RelatedClassInfo.fromCompressedJSON(item, classesMap))) } : undefined),\r\n ...(json.pathFromInputToSelectClass ? { pathFromInputToSelectClass: json.pathFromInputToSelectClass.map((item) => RelatedClassInfoWithOptionalRelationship.fromCompressedJSON(item, classesMap)) } : undefined),\r\n ...(json.relatedPropertyPaths ? { relatedPropertyPaths: json.relatedPropertyPaths.map((path) => path.map((item) => RelatedClassInfo.fromCompressedJSON(item, classesMap))) } : undefined),\r\n };\r\n }\r\n\r\n /** Serialize [[SelectClassInfo]] to compressed JSON */\r\n export function toCompressedJSON(selectClass: SelectClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): SelectClassInfoJSON<string> {\r\n const { id, ...leftOverClassInfo } = selectClass.selectClassInfo;\r\n classesMap[id] = leftOverClassInfo;\r\n return {\r\n selectClassInfo: id,\r\n isSelectPolymorphic: selectClass.isSelectPolymorphic,\r\n ...(selectClass.relatedInstancePaths ? { relatedInstancePaths: selectClass.relatedInstancePaths.map((rip) => rip.map((item) => RelatedClassInfo.toCompressedJSON(item, classesMap))) } : undefined),\r\n ...(selectClass.navigationPropertyClasses ? { navigationPropertyClasses: selectClass.navigationPropertyClasses.map((propertyClass) => RelatedClassInfo.toCompressedJSON(propertyClass, classesMap)) } : undefined),\r\n ...(selectClass.pathFromInputToSelectClass ? { pathFromInputToSelectClass: selectClass.pathFromInputToSelectClass.map((item) => RelatedClassInfoWithOptionalRelationship.toCompressedJSON(item, classesMap)) } : undefined),\r\n ...(selectClass.relatedPropertyPaths ? { relatedPropertyPaths: selectClass.relatedPropertyPaths.map((path) => path.map((relatedClass) => RelatedClassInfo.toCompressedJSON(relatedClass, classesMap))) } : undefined),\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[SelectClassInfo]] list from JSON\r\n * @param json JSON or JSON serialized to string to deserialize from\r\n * @returns Deserialized [[SelectClassInfo]] objects list\r\n *\r\n * @internal\r\n */\r\n export function listFromCompressedJSON(json: SelectClassInfoJSON<Id64String>[], classesMap: { [id: string]: CompressedClassInfoJSON }): SelectClassInfo[] {\r\n return json.map((sci) => fromCompressedJSON(sci, classesMap));\r\n }\r\n}\r\n\r\n/**\r\n * Flags that control content format.\r\n * @public\r\n */\r\nexport enum ContentFlags {\r\n /** Each content record only has [[InstanceKey]] and no data */\r\n KeysOnly = 1 << 0,\r\n\r\n /**\r\n * Each content record additionally has an image id\r\n * @deprecated use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n ShowImages = 1 << 1,\r\n\r\n /** Each content record additionally has a display label */\r\n ShowLabels = 1 << 2,\r\n\r\n /** All content records are merged into a single record (see [Merging values]($docs/presentation/content/terminology#value-merging)) */\r\n MergeResults = 1 << 3,\r\n\r\n /** Content has only distinct values */\r\n DistinctValues = 1 << 4,\r\n\r\n /** Doesn't create property or calculated fields. Can be used in conjunction with [[ShowLabels]]. */\r\n NoFields = 1 << 5,\r\n\r\n /**\r\n * Set related input keys on [[Item]] objects when creating content. This helps identify which [[Item]] is associated to which\r\n * given input key at the cost of performance creating those items.\r\n *\r\n * @beta\r\n */\r\n IncludeInputKeys = 1 << 8,\r\n}\r\n\r\n/**\r\n * Data sorting direction\r\n * @public\r\n */\r\nexport enum SortDirection {\r\n Ascending,\r\n Descending,\r\n}\r\n\r\n/**\r\n * Data structure that contains selection information. Used\r\n * for cases when requesting content after a selection change.\r\n *\r\n * @public\r\n */\r\nexport interface SelectionInfo {\r\n /** Name of selection provider which cause the selection change */\r\n providerName: string;\r\n /** Level of selection that changed */\r\n level?: number;\r\n}\r\n\r\n/**\r\n * Serialized [[Descriptor]] JSON representation.\r\n * @public\r\n */\r\nexport interface DescriptorJSON {\r\n classesMap: { [id: string]: CompressedClassInfoJSON };\r\n connectionId: string;\r\n inputKeysHash: string;\r\n contentOptions: any;\r\n selectionInfo?: SelectionInfo;\r\n displayType: string;\r\n selectClasses: SelectClassInfoJSON<Id64String>[];\r\n categories: CategoryDescriptionJSON[];\r\n fields: FieldJSON<Id64String>[];\r\n sortingFieldName?: string;\r\n sortDirection?: SortDirection;\r\n contentFlags: number;\r\n filterExpression?: string;\r\n}\r\n\r\n/**\r\n * Descriptor overrides that can be used to customize content\r\n * @public\r\n */\r\nexport interface DescriptorOverrides {\r\n /**\r\n * Content display type. Can be accessed in presentation rules and used\r\n * to modify content in various ways. Defaults to empty string.\r\n */\r\n displayType?: string;\r\n\r\n /** Content flags used for content customization. See [[ContentFlags]] */\r\n contentFlags?: number;\r\n\r\n /** Fields selector that allows excluding or including only specified fields. */\r\n fieldsSelector?: {\r\n /** Should the specified fields be included or excluded */\r\n type: \"include\" | \"exclude\";\r\n /** A list of field descriptors that identify fields to include / exclude */\r\n fields: FieldDescriptor[];\r\n };\r\n\r\n /** Specification for sorting data. */\r\n sorting?: {\r\n /** Identifier of the field to use for sorting */\r\n field: FieldDescriptor;\r\n /** Sort direction */\r\n direction: SortDirection;\r\n };\r\n\r\n /** [ECExpression]($docs/presentation/Advanced/ECExpressions.md) for filtering content */\r\n filterExpression?: string;\r\n}\r\n\r\n/**\r\n * Descriptor properties\r\n * @public\r\n */\r\nexport interface DescriptorSource {\r\n /** Id of the connection used to create the descriptor */\r\n readonly connectionId?: string;\r\n /** Hash of the input keys used to create the descriptor */\r\n readonly inputKeysHash?: string;\r\n /** Selection info used to create the descriptor */\r\n readonly selectionInfo?: SelectionInfo;\r\n /** Display type used to create the descriptor */\r\n readonly displayType: string;\r\n /** A list of classes that will be selected from when creating content with this descriptor */\r\n readonly selectClasses: SelectClassInfo[];\r\n /** A list of content field categories used in this descriptor */\r\n readonly categories: CategoryDescription[];\r\n /** A list of fields contained in the descriptor */\r\n readonly fields: Field[];\r\n /** [[ContentFlags]] used to create the descriptor */\r\n readonly contentFlags: number;\r\n /** Field used to sort the content */\r\n readonly sortingField?: Field;\r\n /** Sorting direction */\r\n readonly sortDirection?: SortDirection;\r\n /** Content filtering [ECExpression]($docs/presentation/Advanced/ECExpressions) */\r\n readonly filterExpression?: string;\r\n}\r\n\r\n/**\r\n * Data structure that describes content: fields, sorting, filtering, format, etc.\r\n * Descriptor may be changed to control how content is created.\r\n *\r\n * @public\r\n */\r\nexport class Descriptor implements DescriptorSource {\r\n /** Id of the connection used to create the descriptor */\r\n public readonly connectionId?: string;\r\n /** Hash of the input keys used to create the descriptor */\r\n public readonly inputKeysHash?: string;\r\n /** Extended options used to create the descriptor */\r\n public readonly contentOptions: any;\r\n /** Selection info used to create the descriptor */\r\n public readonly selectionInfo?: SelectionInfo;\r\n /** Display type used to create the descriptor */\r\n public readonly displayType: string;\r\n /** A list of classes that will be selected when creating content with this descriptor */\r\n public readonly selectClasses: SelectClassInfo[];\r\n /** A list of content field categories used in this descriptor */\r\n public readonly categories: CategoryDescription[];\r\n /** A list of fields contained in the descriptor */\r\n public readonly fields: Field[];\r\n /** [[ContentFlags]] used to create the descriptor */\r\n public readonly contentFlags: number;\r\n /** Field used to sort the content */\r\n public sortingField?: Field;\r\n /** Sorting direction */\r\n public sortDirection?: SortDirection;\r\n /** Content filtering [ECExpression]($docs/presentation/Advanced/ECExpressions) */\r\n public filterExpression?: string;\r\n\r\n /** Construct a new Descriptor using a [[DescriptorSource]] */\r\n public constructor(source: DescriptorSource) {\r\n this.connectionId = source.connectionId;\r\n this.inputKeysHash = source.inputKeysHash;\r\n this.selectionInfo = source.selectionInfo;\r\n this.displayType = source.displayType;\r\n this.contentFlags = source.contentFlags;\r\n this.selectClasses = [...source.selectClasses];\r\n this.categories = [...source.categories];\r\n this.fields = [...source.fields];\r\n this.sortingField = source.sortingField;\r\n this.sortDirection = source.sortDirection;\r\n this.filterExpression = source.filterExpression;\r\n }\r\n\r\n /** Serialize [[Descriptor]] to JSON */\r\n public toJSON(): DescriptorJSON {\r\n const classesMap: { [id: string]: CompressedClassInfoJSON } = {};\r\n const selectClasses: SelectClassInfoJSON<string>[] = this.selectClasses.map((selectClass) => SelectClassInfo.toCompressedJSON(selectClass, classesMap));\r\n const fields: FieldJSON<string>[] = this.fields.map((field) => field.toCompressedJSON(classesMap));\r\n return Object.assign(\r\n {\r\n connectionId: this.connectionId,\r\n inputKeysHash: this.inputKeysHash,\r\n contentOptions: this.contentOptions,\r\n displayType: this.displayType,\r\n contentFlags: this.contentFlags,\r\n categories: this.categories.map(CategoryDescription.toJSON),\r\n fields,\r\n selectClasses,\r\n classesMap,\r\n },\r\n this.sortingField !== undefined && { sortingFieldName: this.sortingField.name },\r\n this.sortDirection !== undefined && { sortDirection: this.sortDirection },\r\n this.filterExpression !== undefined && { filterExpression: this.filterExpression },\r\n this.selectionInfo !== undefined && { selectionInfo: this.selectionInfo },\r\n );\r\n }\r\n\r\n /** Deserialize [[Descriptor]] from JSON */\r\n public static fromJSON(json: DescriptorJSON | undefined): Descriptor | undefined {\r\n if (!json)\r\n return undefined;\r\n\r\n const { classesMap, ...leftOverJson } = json;\r\n const categories = CategoryDescription.listFromJSON(json.categories);\r\n const selectClasses = SelectClassInfo.listFromCompressedJSON(json.selectClasses, classesMap);\r\n const fields = this.getFieldsFromJSON(json.fields, (fieldJson) => Field.fromCompressedJSON(fieldJson, classesMap, categories));\r\n return new Descriptor({\r\n ...leftOverJson,\r\n selectClasses,\r\n categories,\r\n fields,\r\n sortingField: getFieldByName(fields, json.sortingFieldName, true),\r\n });\r\n }\r\n\r\n private static getFieldsFromJSON(json: FieldJSON[], factory: (json: FieldJSON) => Field | undefined): Field[] {\r\n return json.map((fieldJson: FieldJSON) => {\r\n const field = factory(fieldJson);\r\n if (field)\r\n field.rebuildParentship();\r\n return field;\r\n }).filter((field): field is Field => !!field);\r\n }\r\n\r\n /**\r\n * Get field by its name\r\n * @param name Name of the field to find\r\n * @param recurse Recurse into nested fields\r\n */\r\n public getFieldByName(name: string, recurse?: boolean): Field | undefined {\r\n return getFieldByName(this.fields, name, recurse);\r\n }\r\n\r\n /**\r\n * Create descriptor overrides object from this descriptor.\r\n * @public\r\n */\r\n public createDescriptorOverrides(): DescriptorOverrides {\r\n const overrides: DescriptorOverrides = {};\r\n if (this.displayType)\r\n overrides.displayType = this.displayType;\r\n if (this.contentFlags !== 0)\r\n overrides.contentFlags = this.contentFlags;\r\n if (this.filterExpression)\r\n overrides.filterExpression = this.filterExpression;\r\n if (this.sortingField)\r\n overrides.sorting = { field: this.sortingField.getFieldDescriptor(), direction: this.sortDirection ?? SortDirection.Ascending };\r\n return overrides;\r\n }\r\n}\r\n"]}
|
|
@@ -14,6 +14,7 @@ export interface ItemJSON {
|
|
|
14
14
|
inputKeys?: InstanceKeyJSON[];
|
|
15
15
|
primaryKeys: InstanceKeyJSON[];
|
|
16
16
|
labelDefinition: LabelDefinitionJSON;
|
|
17
|
+
/** @deprecated */
|
|
17
18
|
imageId: string;
|
|
18
19
|
classInfo?: ClassInfoJSON;
|
|
19
20
|
values: ValuesDictionary<ValueJSON>;
|
|
@@ -37,7 +38,10 @@ export declare class Item {
|
|
|
37
38
|
primaryKeys: InstanceKey[];
|
|
38
39
|
/** Display label of the item */
|
|
39
40
|
label: LabelDefinition;
|
|
40
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* ID of the image associated with this item
|
|
43
|
+
* @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
44
|
+
*/
|
|
41
45
|
imageId: string;
|
|
42
46
|
/** For cases when item consists only of same class instances, information about the ECClass */
|
|
43
47
|
classInfo?: ClassInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/Item.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAwB,KAAK,EAAE,SAAS,EAAiB,MAAM,SAAS,CAAC;AAEhH;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY;IACZ,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,eAAe,EAAE,mBAAmB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACpC,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAClD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,IAAI;IACf;;;OAGG;IACI,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IACjC,6DAA6D;IACtD,WAAW,EAAE,WAAW,EAAE,CAAC;IAClC,gCAAgC;IACzB,KAAK,EAAE,eAAe,CAAC;IAC9B
|
|
1
|
+
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/Item.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAwB,KAAK,EAAE,SAAS,EAAiB,MAAM,SAAS,CAAC;AAEhH;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY;IACZ,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,eAAe,EAAE,mBAAmB,CAAC;IACrC,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACpC,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAClD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,IAAI;IACf;;;OAGG;IACI,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IACjC,6DAA6D;IACtD,WAAW,EAAE,WAAW,EAAE,CAAC;IAClC,gCAAgC;IACzB,KAAK,EAAE,eAAe,CAAC;IAC9B;;;OAGG;IACI,OAAO,EAAE,MAAM,CAAC;IACvB,+FAA+F;IACxF,SAAS,CAAC,EAAE,SAAS,CAAC;IAC7B,4BAA4B;IACrB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,gCAAgC;IACzB,aAAa,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,+HAA+H;IACxH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAClC,oDAAoD;IAC7C,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAE7C;;;;;;;;;;OAUG;gBACgB,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAC/H,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAWnJ;;OAEG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIhD,oCAAoC;IAC7B,MAAM,IAAI,QAAQ;IAazB,qCAAqC;WACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS;IAiB7E;;;;;OAKG;WACW,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;CAGpD"}
|
|
@@ -26,7 +26,7 @@ export class Item {
|
|
|
26
26
|
*/
|
|
27
27
|
constructor(primaryKeys, label, imageId, classInfo, values, displayValues, mergedFieldNames, extendedData) {
|
|
28
28
|
this.primaryKeys = primaryKeys;
|
|
29
|
-
this.imageId = imageId;
|
|
29
|
+
this.imageId = imageId; // eslint-disable-line deprecation/deprecation
|
|
30
30
|
this.classInfo = classInfo;
|
|
31
31
|
this.values = values;
|
|
32
32
|
this.displayValues = displayValues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/presentation-common/content/Item.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAiB,WAAW,EAAmB,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,YAAY,EAA0C,KAAK,EAA4B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/presentation-common/content/Item.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Content\r\n */\r\n\r\nimport { ClassInfo, ClassInfoJSON, InstanceKey, InstanceKeyJSON } from \"../EC\";\r\nimport { LabelDefinition, LabelDefinitionJSON } from \"../LabelDefinition\";\r\nimport { ValuesDictionary } from \"../Utils\";\r\nimport { DisplayValue, DisplayValueJSON, DisplayValuesMapJSON, Value, ValueJSON, ValuesMapJSON } from \"./Value\";\r\n\r\n/**\r\n * Serialized [[Item]] JSON representation.\r\n * @public\r\n */\r\nexport interface ItemJSON {\r\n /** @beta */\r\n inputKeys?: InstanceKeyJSON[];\r\n primaryKeys: InstanceKeyJSON[];\r\n labelDefinition: LabelDefinitionJSON;\r\n /** @deprecated */\r\n imageId: string;\r\n classInfo?: ClassInfoJSON;\r\n values: ValuesDictionary<ValueJSON>;\r\n displayValues: ValuesDictionary<DisplayValueJSON>;\r\n mergedFieldNames: string[];\r\n extendedData?: { [key: string]: any };\r\n}\r\n\r\n/**\r\n * A data structure that represents a single content record.\r\n * @public\r\n */\r\nexport class Item {\r\n /**\r\n * Keys of input instances that caused this item to be included in content.\r\n * @beta\r\n */\r\n public inputKeys?: InstanceKey[];\r\n /** Keys of instances whose data is contained in this item */\r\n public primaryKeys: InstanceKey[];\r\n /** Display label of the item */\r\n public label: LabelDefinition;\r\n /**\r\n * ID of the image associated with this item\r\n * @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n public imageId: string;\r\n /** For cases when item consists only of same class instances, information about the ECClass */\r\n public classInfo?: ClassInfo;\r\n /** Raw values dictionary */\r\n public values: ValuesDictionary<Value>;\r\n /** Display values dictionary */\r\n public displayValues: ValuesDictionary<DisplayValue>;\r\n /** List of field names whose values are merged (see [Merging values]($docs/presentation/Content/Terminology#value-merging)) */\r\n public mergedFieldNames: string[];\r\n /** Extended data injected into this content item */\r\n public extendedData?: { [key: string]: any };\r\n\r\n /**\r\n * Creates an instance of Item.\r\n * @param primaryKeys Keys of instances whose data is contained in this item\r\n * @param label Display label of the item\r\n * @param imageId ID of the image associated with this item\r\n * @param classInfo For cases when item consists only of same class instances, information about the ECClass\r\n * @param values Raw values dictionary\r\n * @param displayValues Display values dictionary\r\n * @param mergedFieldNames List of field names whose values are merged (see [Merging values]($docs/presentation/Content/Terminology#value-merging))\r\n * @param extendedData Extended data injected into this content item\r\n */\r\n public constructor(primaryKeys: InstanceKey[], label: string | LabelDefinition, imageId: string, classInfo: ClassInfo | undefined,\r\n values: ValuesDictionary<Value>, displayValues: ValuesDictionary<DisplayValue>, mergedFieldNames: string[], extendedData?: { [key: string]: any }) {\r\n this.primaryKeys = primaryKeys;\r\n this.imageId = imageId; // eslint-disable-line deprecation/deprecation\r\n this.classInfo = classInfo;\r\n this.values = values;\r\n this.displayValues = displayValues;\r\n this.mergedFieldNames = mergedFieldNames;\r\n this.extendedData = extendedData;\r\n this.label = (typeof label === \"string\") ? LabelDefinition.fromLabelString(label) : label;\r\n }\r\n\r\n /**\r\n * Is value of field with the specified name merged in this record.\r\n */\r\n public isFieldMerged(fieldName: string): boolean {\r\n return -1 !== this.mergedFieldNames.indexOf(fieldName);\r\n }\r\n\r\n /** Serialize this object to JSON */\r\n public toJSON(): ItemJSON {\r\n const { label, ...baseItem } = this;\r\n return {\r\n ...baseItem,\r\n ...(this.inputKeys ? { inputKeys: this.inputKeys.map(InstanceKey.toJSON) } : {}),\r\n primaryKeys: this.primaryKeys.map(InstanceKey.toJSON),\r\n classInfo: this.classInfo ? ClassInfo.toJSON(this.classInfo) : undefined,\r\n values: Value.toJSON(this.values) as ValuesMapJSON,\r\n displayValues: DisplayValue.toJSON(this.displayValues) as DisplayValuesMapJSON,\r\n labelDefinition: LabelDefinition.toJSON(label),\r\n };\r\n }\r\n\r\n /** Deserialize [[Item]] from JSON */\r\n public static fromJSON(json: ItemJSON | string | undefined): Item | undefined {\r\n if (!json)\r\n return undefined;\r\n if (typeof json === \"string\")\r\n return JSON.parse(json, Item.reviver);\r\n const item = Object.create(Item.prototype);\r\n const { labelDefinition, ...baseJson } = json;\r\n return Object.assign(item, baseJson, {\r\n ...(json.inputKeys ? { inputKeys: json.inputKeys.map((ik) => InstanceKey.fromJSON(ik)) } : {}),\r\n primaryKeys: json.primaryKeys.map((pk) => InstanceKey.fromJSON(pk)),\r\n classInfo: json.classInfo ? ClassInfo.fromJSON(json.classInfo) : undefined,\r\n values: Value.fromJSON(json.values),\r\n displayValues: DisplayValue.fromJSON(json.displayValues),\r\n label: LabelDefinition.fromJSON(labelDefinition),\r\n } as Partial<Item>);\r\n }\r\n\r\n /**\r\n * Reviver function that can be used as a second argument for\r\n * `JSON.parse` method when parsing Item objects.\r\n *\r\n * @internal\r\n */\r\n public static reviver(key: string, value: any): any {\r\n return key === \"\" ? Item.fromJSON(value) : value;\r\n }\r\n}\r\n"]}
|
|
@@ -14,13 +14,25 @@ export interface Node {
|
|
|
14
14
|
label: LabelDefinition;
|
|
15
15
|
/** Extensive description */
|
|
16
16
|
description?: string;
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Image ID
|
|
19
|
+
* @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
20
|
+
*/
|
|
18
21
|
imageId?: string;
|
|
19
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Foreground color
|
|
24
|
+
* @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
25
|
+
*/
|
|
20
26
|
foreColor?: string;
|
|
21
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Background color
|
|
29
|
+
* @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
30
|
+
*/
|
|
22
31
|
backColor?: string;
|
|
23
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Font style
|
|
34
|
+
* @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
35
|
+
*/
|
|
24
36
|
fontStyle?: string;
|
|
25
37
|
/** Does this node have child nodes */
|
|
26
38
|
hasChildren?: boolean;
|
|
@@ -30,11 +42,20 @@ export interface Node {
|
|
|
30
42
|
isEditable?: boolean;
|
|
31
43
|
/** Is this node expanded */
|
|
32
44
|
isExpanded?: boolean;
|
|
33
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Is checkbox visible for this node
|
|
47
|
+
* @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
48
|
+
*/
|
|
34
49
|
isCheckboxVisible?: boolean;
|
|
35
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Is this node's checkbox checked
|
|
52
|
+
* @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
53
|
+
*/
|
|
36
54
|
isChecked?: boolean;
|
|
37
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Is this node's checkbox enabled
|
|
57
|
+
* @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
58
|
+
*/
|
|
38
59
|
isCheckboxEnabled?: boolean;
|
|
39
60
|
/** Extended data injected into this node */
|
|
40
61
|
extendedData?: {
|
|
@@ -49,16 +70,23 @@ export interface NodeJSON {
|
|
|
49
70
|
key: NodeKeyJSON;
|
|
50
71
|
labelDefinition: LabelDefinitionJSON;
|
|
51
72
|
description?: string;
|
|
73
|
+
/** @deprecated */
|
|
52
74
|
imageId?: string;
|
|
75
|
+
/** @deprecated */
|
|
53
76
|
foreColor?: string;
|
|
77
|
+
/** @deprecated */
|
|
54
78
|
backColor?: string;
|
|
79
|
+
/** @deprecated */
|
|
55
80
|
fontStyle?: string;
|
|
56
81
|
hasChildren?: boolean;
|
|
57
82
|
isSelectionDisabled?: boolean;
|
|
58
83
|
isEditable?: boolean;
|
|
59
84
|
isExpanded?: boolean;
|
|
85
|
+
/** @deprecated */
|
|
60
86
|
isCheckboxVisible?: boolean;
|
|
87
|
+
/** @deprecated */
|
|
61
88
|
isChecked?: boolean;
|
|
89
|
+
/** @deprecated */
|
|
62
90
|
isCheckboxEnabled?: boolean;
|
|
63
91
|
extendedData?: {
|
|
64
92
|
[key: string]: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,6CAA6C;IAC7C,GAAG,EAAE,OAAO,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,eAAe,CAAC;IACvB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAe,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Hierarchies\r\n */\r\n\r\nimport { LabelDefinition, LabelDefinitionJSON } from \"../LabelDefinition\";\r\nimport { NodeKey, NodeKeyJSON } from \"./Key\";\r\n\r\n/**\r\n * Data structure that describes a tree node.\r\n * @public\r\n */\r\nexport interface Node {\r\n /** A key that uniquely identifies a node. */\r\n key: NodeKey;\r\n /** Definition of node display label */\r\n label: LabelDefinition;\r\n /** Extensive description */\r\n description?: string;\r\n /**\r\n * Image ID\r\n * @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n imageId?: string;\r\n /**\r\n * Foreground color\r\n * @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n foreColor?: string;\r\n /**\r\n * Background color\r\n * @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n backColor?: string;\r\n /**\r\n * Font style\r\n * @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n fontStyle?: string;\r\n /** Does this node have child nodes */\r\n hasChildren?: boolean;\r\n /** Is this node selectable */\r\n isSelectionDisabled?: boolean;\r\n /** Is this node editable */\r\n isEditable?: boolean;\r\n /** Is this node expanded */\r\n isExpanded?: boolean;\r\n /**\r\n * Is checkbox visible for this node\r\n * @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isCheckboxVisible?: boolean;\r\n /**\r\n * Is this node's checkbox checked\r\n * @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isChecked?: boolean;\r\n /**\r\n * Is this node's checkbox enabled\r\n * @deprecated Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isCheckboxEnabled?: boolean;\r\n /** Extended data injected into this node */\r\n extendedData?: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\n/**\r\n * Serialized [[Node]] JSON representation.\r\n * @public\r\n */\r\nexport interface NodeJSON {\r\n key: NodeKeyJSON;\r\n labelDefinition: LabelDefinitionJSON;\r\n description?: string;\r\n /** @deprecated */\r\n imageId?: string;\r\n /** @deprecated */\r\n foreColor?: string;\r\n /** @deprecated */\r\n backColor?: string;\r\n /** @deprecated */\r\n fontStyle?: string;\r\n hasChildren?: boolean;\r\n isSelectionDisabled?: boolean;\r\n isEditable?: boolean;\r\n isExpanded?: boolean;\r\n /** @deprecated */\r\n isCheckboxVisible?: boolean;\r\n /** @deprecated */\r\n isChecked?: boolean;\r\n /** @deprecated */\r\n isCheckboxEnabled?: boolean;\r\n extendedData?: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\n/**\r\n * Partial node definition.\r\n * @public\r\n */\r\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\r\n\r\n/**\r\n * Serialized [[PartialNode]] JSON representation.\r\n * @public\r\n */\r\nexport type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, \"key\" | \"labelDefinition\">;\r\n\r\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\r\n\r\n/** @public */\r\nexport namespace Node {\r\n /** Serialize given [[Node]] to JSON */\r\n export function toJSON(node: Node): NodeJSON {\r\n const { key, label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n key: NodeKey.toJSON(key),\r\n labelDefinition: LabelDefinition.toJSON(label),\r\n };\r\n }\r\n\r\n /** @internal */\r\n export function toPartialJSON(node: PartialNode): PartialNodeJSON {\r\n if (node.key === undefined) {\r\n return node;\r\n }\r\n\r\n const { key, label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n key: NodeKey.toJSON(key),\r\n labelDefinition: LabelDefinition.toJSON(label),\r\n };\r\n }\r\n\r\n /** Deserialize [[Node]] from JSON */\r\n export function fromJSON(json: NodeJSON | string): Node {\r\n if (typeof json === \"string\")\r\n return JSON.parse(json, reviver);\r\n const { labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n key: NodeKey.fromJSON(json.key),\r\n label: LabelDefinition.fromJSON(labelDefinition),\r\n };\r\n }\r\n\r\n /** @internal */\r\n export function fromPartialJSON(json: PartialNodeJSON): PartialNode {\r\n if (json.key === undefined) {\r\n return json;\r\n }\r\n\r\n const { key, labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n key: NodeKey.fromJSON(key),\r\n label: LabelDefinition.fromJSON(labelDefinition),\r\n };\r\n }\r\n\r\n /**\r\n * Reviver function that can be used as a second argument for\r\n * `JSON.parse` method when parsing [[Node]] objects.\r\n *\r\n * @internal\r\n */\r\n export function reviver(key: string, value: any): any {\r\n return key === \"\" ? fromJSON(value) : value;\r\n }\r\n\r\n /**\r\n * Deserialize nodes list from JSON\r\n * @param json JSON or JSON serialized to string to deserialize from\r\n * @returns Deserialized nodes list\r\n *\r\n * @internal\r\n */\r\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\r\n if (typeof json === \"string\")\r\n return JSON.parse(json, listReviver);\r\n return json.map((m) => fromJSON(m));\r\n }\r\n\r\n /**\r\n * Reviver function that can be used as a second argument for\r\n * `JSON.parse` method when parsing [[Node]][] objects.\r\n *\r\n * @internal\r\n */\r\n export function listReviver(key: string, value: any): any {\r\n return key === \"\" ? listFromJSON(value) : value;\r\n }\r\n}\r\n"]}
|
|
@@ -55,7 +55,7 @@ import { RelationshipPathSpecification } from "./RelationshipPathSpecification";
|
|
|
55
55
|
* - The `LabelOverride` rule to use `modeledElement` alias to access properties of the joined related instance.
|
|
56
56
|
* - The `GroupingRule` to be applied because it's grouping `BisCore:Element` which is now part of the generated nodes.
|
|
57
57
|
*
|
|
58
|
-
* @see [More details]($docs/presentation/
|
|
58
|
+
* @see [More details]($docs/presentation/RelatedInstanceSpecification.md)
|
|
59
59
|
* @public
|
|
60
60
|
*/
|
|
61
61
|
export interface RelatedInstanceSpecification {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedInstanceSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelatedInstanceSpecification.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 { RelationshipPathSpecification } from \"./RelationshipPathSpecification\";\r\n\r\n/**\r\n * This sub-specification allows joining the primary node instance with any number of related instances and creating\r\n * hierarchies based on a mix of those related instances.\r\n *\r\n * The related instance property values can be accessed from multiple different places:\r\n * - Instance filter\r\n * - Customization rule value\r\n * - Grouping rule\r\n *\r\n * **Example:**\r\n * ```JSON\r\n * {\r\n * \"id\": \"related_instance_example\",\r\n * \"rules\": [{\r\n * \"ruleType\": \"LabelOverride\",\r\n * \"condition\": \"ThisNode.IsInstanceNode ANDALSO this.IsOfClass(\\\"Model\\\", \\\"BisCore\\\")\",\r\n * \"label\": \"modeledElement.UserLabel\"\r\n * }, {\r\n * \"ruleType\": \"Grouping\",\r\n * \"condition\": \"ParentNode.IsNull\",\r\n * \"class\": {\r\n * \"schemaName\": \"BisCore\",\r\n * \"className\": \"Element\"\r\n * },\r\n * \"groups\": [{\r\n * \"specType\": \"Property\",\r\n * \"propertyName\": \"CodeValue\",\r\n * \"createGroupForSingleItem\": true\r\n * }]\r\n * }, {\r\n * \"ruleType\": \"RootNodes\",\r\n * \"specifications\": [{\r\n * \"specType\": \"InstanceNodesOfSpecificClasses\",\r\n * \"classes\": { \"schemaName\": \"BisCore\", \"classNames\": [\"GeometricModel\"] },\r\n * \"arePolymorphic\": true,\r\n * \"instanceFilter\": \"modeledElement.CodeNamespace = 1\",\r\n * \"relatedInstances\": [{\r\n * \"relationshipPath\": [{\r\n * \"relationship\": { \"schemaName\": \"BisCore\", \"className\": \"ModelModelsElement\" },\r\n * \"direction\": \"Forward\",\r\n * }],\r\n * \"class\": { \"schemaName\": \"BisCore\", \"className\": \"Element\" },\r\n * \"alias\": \"modeledElement\"\r\n * }]\r\n * }]\r\n * }]\r\n * }\r\n * ```\r\n * Here `BisCore:GeometricModel` instances are joined with `BisCore:Element` instances to create the hierarchy. This allows:\r\n * - Related `BisCore:Element` properties to be accessed in `InstanceFilter` using `modeledElement` alias.\r\n * - The `LabelOverride` rule to use `modeledElement` alias to access properties of the joined related instance.\r\n * - The `GroupingRule` to be applied because it's grouping `BisCore:Element` which is now part of the generated nodes.\r\n *\r\n * @see [More details]($docs/presentation/
|
|
1
|
+
{"version":3,"file":"RelatedInstanceSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelatedInstanceSpecification.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 { RelationshipPathSpecification } from \"./RelationshipPathSpecification\";\r\n\r\n/**\r\n * This sub-specification allows joining the primary node instance with any number of related instances and creating\r\n * hierarchies based on a mix of those related instances.\r\n *\r\n * The related instance property values can be accessed from multiple different places:\r\n * - Instance filter\r\n * - Customization rule value\r\n * - Grouping rule\r\n *\r\n * **Example:**\r\n * ```JSON\r\n * {\r\n * \"id\": \"related_instance_example\",\r\n * \"rules\": [{\r\n * \"ruleType\": \"LabelOverride\",\r\n * \"condition\": \"ThisNode.IsInstanceNode ANDALSO this.IsOfClass(\\\"Model\\\", \\\"BisCore\\\")\",\r\n * \"label\": \"modeledElement.UserLabel\"\r\n * }, {\r\n * \"ruleType\": \"Grouping\",\r\n * \"condition\": \"ParentNode.IsNull\",\r\n * \"class\": {\r\n * \"schemaName\": \"BisCore\",\r\n * \"className\": \"Element\"\r\n * },\r\n * \"groups\": [{\r\n * \"specType\": \"Property\",\r\n * \"propertyName\": \"CodeValue\",\r\n * \"createGroupForSingleItem\": true\r\n * }]\r\n * }, {\r\n * \"ruleType\": \"RootNodes\",\r\n * \"specifications\": [{\r\n * \"specType\": \"InstanceNodesOfSpecificClasses\",\r\n * \"classes\": { \"schemaName\": \"BisCore\", \"classNames\": [\"GeometricModel\"] },\r\n * \"arePolymorphic\": true,\r\n * \"instanceFilter\": \"modeledElement.CodeNamespace = 1\",\r\n * \"relatedInstances\": [{\r\n * \"relationshipPath\": [{\r\n * \"relationship\": { \"schemaName\": \"BisCore\", \"className\": \"ModelModelsElement\" },\r\n * \"direction\": \"Forward\",\r\n * }],\r\n * \"class\": { \"schemaName\": \"BisCore\", \"className\": \"Element\" },\r\n * \"alias\": \"modeledElement\"\r\n * }]\r\n * }]\r\n * }]\r\n * }\r\n * ```\r\n * Here `BisCore:GeometricModel` instances are joined with `BisCore:Element` instances to create the hierarchy. This allows:\r\n * - Related `BisCore:Element` properties to be accessed in `InstanceFilter` using `modeledElement` alias.\r\n * - The `LabelOverride` rule to use `modeledElement` alias to access properties of the joined related instance.\r\n * - The `GroupingRule` to be applied because it's grouping `BisCore:Element` which is now part of the generated nodes.\r\n *\r\n * @see [More details]($docs/presentation/RelatedInstanceSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedInstanceSpecification {\r\n /**\r\n * Relationship path to find the related instance.\r\n */\r\n relationshipPath: RelationshipPathSpecification;\r\n\r\n /**\r\n * The alias to give for the joined related instance. Used to reference the related instance in\r\n * instance filter and customization rules.\r\n *\r\n * **The value must be unique per-specification!**\r\n *\r\n * @pattern ^\\w[\\w\\d]*$\r\n */\r\n alias: string;\r\n\r\n /**\r\n * Is the related instance required to exist. If yes, primary instance won't be returned\r\n * if the related instance doesn't exist. If not, primary instance will be returned, but related\r\n * instance will be null.\r\n *\r\n * In SQL terms in can be compared to INNER JOIN vs OUTER JOIN.\r\n */\r\n isRequired?: boolean;\r\n}\r\n"]}
|
|
@@ -33,14 +33,14 @@ export interface RepeatableRelationshipStepSpecification extends RelationshipSte
|
|
|
33
33
|
/**
|
|
34
34
|
* Specification of a relationship path.
|
|
35
35
|
*
|
|
36
|
-
* @see [More details]($docs/presentation/
|
|
36
|
+
* @see [More details]($docs/presentation/RelationshipPathSpecification.md)
|
|
37
37
|
* @public
|
|
38
38
|
*/
|
|
39
39
|
export declare type RelationshipPathSpecification = RelationshipStepSpecification | RelationshipStepSpecification[];
|
|
40
40
|
/**
|
|
41
41
|
* Specification of a repeatable relationship path.
|
|
42
42
|
*
|
|
43
|
-
* @see [More details]($docs/presentation/
|
|
43
|
+
* @see [More details]($docs/presentation/RepeatableRelationshipPathSpecification.md)
|
|
44
44
|
* @public
|
|
45
45
|
*/
|
|
46
46
|
export declare type RepeatableRelationshipPathSpecification = RepeatableRelationshipStepSpecification | RepeatableRelationshipStepSpecification[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationshipPathSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipPathSpecification.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 { SingleSchemaClassSpecification } from \"./ClassSpecifications\";\r\nimport { RelationshipDirection } from \"./RelationshipDirection\";\r\n\r\n/**\r\n * Specification of a single relationship path step.\r\n * @public\r\n */\r\nexport interface RelationshipStepSpecification {\r\n /** Specification of the relationship to use for joining the related instance. */\r\n relationship: SingleSchemaClassSpecification;\r\n\r\n /** Relationship direction that should be followed to find the target class. */\r\n direction: RelationshipDirection.Forward | RelationshipDirection.Backward;\r\n\r\n /**\r\n * Specification of the target class. Either relationship's source or target class is used (based\r\n * on specified direction) if more specific target class is not specified by this attribute.\r\n */\r\n targetClass?: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * Specification of a single relationship path step.\r\n * @public\r\n */\r\nexport interface RepeatableRelationshipStepSpecification extends RelationshipStepSpecification {\r\n /**\r\n * Number of relationship steps that should be taken. Special `*` value means that\r\n * relationship is traversed recursively and all matching instances are accumulated.\r\n * Defaults to `1`.\r\n */\r\n count?: number | \"*\";\r\n}\r\n\r\n/**\r\n * Specification of a relationship path.\r\n *\r\n * @see [More details]($docs/presentation/
|
|
1
|
+
{"version":3,"file":"RelationshipPathSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipPathSpecification.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 { SingleSchemaClassSpecification } from \"./ClassSpecifications\";\r\nimport { RelationshipDirection } from \"./RelationshipDirection\";\r\n\r\n/**\r\n * Specification of a single relationship path step.\r\n * @public\r\n */\r\nexport interface RelationshipStepSpecification {\r\n /** Specification of the relationship to use for joining the related instance. */\r\n relationship: SingleSchemaClassSpecification;\r\n\r\n /** Relationship direction that should be followed to find the target class. */\r\n direction: RelationshipDirection.Forward | RelationshipDirection.Backward;\r\n\r\n /**\r\n * Specification of the target class. Either relationship's source or target class is used (based\r\n * on specified direction) if more specific target class is not specified by this attribute.\r\n */\r\n targetClass?: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * Specification of a single relationship path step.\r\n * @public\r\n */\r\nexport interface RepeatableRelationshipStepSpecification extends RelationshipStepSpecification {\r\n /**\r\n * Number of relationship steps that should be taken. Special `*` value means that\r\n * relationship is traversed recursively and all matching instances are accumulated.\r\n * Defaults to `1`.\r\n */\r\n count?: number | \"*\";\r\n}\r\n\r\n/**\r\n * Specification of a relationship path.\r\n *\r\n * @see [More details]($docs/presentation/RelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport type RelationshipPathSpecification = RelationshipStepSpecification | RelationshipStepSpecification[];\r\n\r\n/**\r\n * Specification of a repeatable relationship path.\r\n *\r\n * @see [More details]($docs/presentation/RepeatableRelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport type RepeatableRelationshipPathSpecification = RepeatableRelationshipStepSpecification | RepeatableRelationshipStepSpecification[];\r\n"]}
|
|
@@ -30,7 +30,10 @@ export interface ContentSpecificationBase extends ContentModifiersList {
|
|
|
30
30
|
* @type integer
|
|
31
31
|
*/
|
|
32
32
|
priority?: number;
|
|
33
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Should each content record be assigned an image id
|
|
35
|
+
* @deprecated Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
36
|
+
*/
|
|
34
37
|
showImages?: boolean;
|
|
35
38
|
/** Specifications for joining related instances */
|
|
36
39
|
relatedInstances?: RelatedInstanceSpecification[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,8CAA8C,EAAE,MAAM,kDAAkD,CAAC;AAClH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAE1F;;;GAGG;AACH,oBAAY,yBAAyB;IACnC,iCAAiC,sCAAsC;IACvE,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;CAChD;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,oCAAoC;IACpC,QAAQ,EAAE,yBAAyB,CAAC;IAEpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB
|
|
1
|
+
{"version":3,"file":"ContentSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,8CAA8C,EAAE,MAAM,kDAAkD,CAAC;AAClH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAE1F;;;GAGG;AACH,oBAAY,yBAAyB;IACnC,iCAAiC,sCAAsC;IACvE,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;CAChD;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,oCAAoC;IACpC,QAAQ,EAAE,yBAAyB,CAAC;IAEpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAElD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,MAAM,oBAAoB,GAAG,8CAA8C,GAAG,oCAAoC,GAAG,kCAAkC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentSpecification.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAQH;;;GAGG;AACH,MAAM,CAAN,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,oGAAuE,CAAA;IACvE,gFAAmD,CAAA;IACnD,4EAA+C,CAAA;AACjD,CAAC,EAJW,yBAAyB,KAAzB,yBAAyB,QAIpC","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 { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification\";\r\nimport { ContentInstancesOfSpecificClassesSpecification } from \"./ContentInstancesOfSpecificClassesSpecification\";\r\nimport { ContentRelatedInstancesSpecification } from \"./ContentRelatedInstancesSpecification\";\r\nimport { ContentModifiersList } from \"./modifiers/ContentModifier\";\r\nimport { SelectedNodeInstancesSpecification } from \"./SelectedNodeInstancesSpecification\";\r\n\r\n/**\r\n * Used for serializing array of [[ContentSpecification]]\r\n * @public\r\n */\r\nexport enum ContentSpecificationTypes {\r\n ContentInstancesOfSpecificClasses = \"ContentInstancesOfSpecificClasses\",\r\n ContentRelatedInstances = \"ContentRelatedInstances\",\r\n SelectedNodeInstances = \"SelectedNodeInstances\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[ContentSpecification]] implementations. Not\r\n * meant to be used directly, see `ContentSpecification`.\r\n *\r\n * @public\r\n */\r\nexport interface ContentSpecificationBase extends ContentModifiersList {\r\n /** Used for serializing to JSON. */\r\n specType: ContentSpecificationTypes;\r\n\r\n /**\r\n * Defines the order in which specifications are evaluated and executed. Defaults to `1000`.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n
|
|
1
|
+
{"version":3,"file":"ContentSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentSpecification.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAQH;;;GAGG;AACH,MAAM,CAAN,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,oGAAuE,CAAA;IACvE,gFAAmD,CAAA;IACnD,4EAA+C,CAAA;AACjD,CAAC,EAJW,yBAAyB,KAAzB,yBAAyB,QAIpC","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 { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification\";\r\nimport { ContentInstancesOfSpecificClassesSpecification } from \"./ContentInstancesOfSpecificClassesSpecification\";\r\nimport { ContentRelatedInstancesSpecification } from \"./ContentRelatedInstancesSpecification\";\r\nimport { ContentModifiersList } from \"./modifiers/ContentModifier\";\r\nimport { SelectedNodeInstancesSpecification } from \"./SelectedNodeInstancesSpecification\";\r\n\r\n/**\r\n * Used for serializing array of [[ContentSpecification]]\r\n * @public\r\n */\r\nexport enum ContentSpecificationTypes {\r\n ContentInstancesOfSpecificClasses = \"ContentInstancesOfSpecificClasses\",\r\n ContentRelatedInstances = \"ContentRelatedInstances\",\r\n SelectedNodeInstances = \"SelectedNodeInstances\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[ContentSpecification]] implementations. Not\r\n * meant to be used directly, see `ContentSpecification`.\r\n *\r\n * @public\r\n */\r\nexport interface ContentSpecificationBase extends ContentModifiersList {\r\n /** Used for serializing to JSON. */\r\n specType: ContentSpecificationTypes;\r\n\r\n /**\r\n * Defines the order in which specifications are evaluated and executed. Defaults to `1000`.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * Should each content record be assigned an image id\r\n * @deprecated Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\n showImages?: boolean;\r\n\r\n /** Specifications for joining related instances */\r\n relatedInstances?: RelatedInstanceSpecification[];\r\n\r\n /**\r\n * Identifies whether we should ignore this specification if there is already an existing specification\r\n * with higher `priority` that already provides content.\r\n */\r\n onlyIfNotHandled?: boolean;\r\n}\r\n\r\n/**\r\n * Content rule specifications which define what content is returned\r\n * when rule is used.\r\n *\r\n * @public\r\n */\r\nexport declare type ContentSpecification = ContentInstancesOfSpecificClassesSpecification | ContentRelatedInstancesSpecification | SelectedNodeInstancesSpecification;\r\n"]}
|
|
@@ -10,6 +10,7 @@ import { ConditionContainer, RuleBase, RuleTypes } from "../Rule";
|
|
|
10
10
|
*
|
|
11
11
|
* @see [More details]($docs/presentation/Customization/CheckBoxRule.md)
|
|
12
12
|
* @public
|
|
13
|
+
* @deprecated Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
13
14
|
*/
|
|
14
15
|
export interface CheckBoxRule extends RuleBase, ConditionContainer {
|
|
15
16
|
/** Used for serializing to JSON. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckBoxRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CheckBoxRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"CheckBoxRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CheckBoxRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ,EAAE,kBAAkB;IAChE,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;IAE7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckBoxRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CheckBoxRule.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 { ConditionContainer, RuleBase, RuleTypes } from \"../Rule\";\r\n\r\n/**\r\n * Rule that allows configuring check boxes for certain nodes.\r\n *\r\n * Is also allows binding check box state with boolean properties by setting [[propertyName]] parameter.\r\n * If [[propertyName]] is not set, then [[defaultValue]] is used for default check box state.\r\n *\r\n * @see [More details]($docs/presentation/Customization/CheckBoxRule.md)\r\n * @public\r\n */\r\nexport interface CheckBoxRule extends RuleBase, ConditionContainer {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes.CheckBox;\r\n\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it. Condition\r\n * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use\r\n * a [limited set of symbols]($docs/presentation/customization/ECExpressions.md#rule-condition).\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Name of boolean type ECProperty which is bound with the check box state. When set,\r\n * property value gets bound to checkbox state.\r\n *\r\n * @minLength 1\r\n */\r\n propertyName?: string;\r\n\r\n /**\r\n * Should property value be inversed for the check box state.\r\n *\r\n * **Note:** Only makes sense when bound to an ECProperty.\r\n */\r\n useInversedPropertyValue?: boolean;\r\n\r\n /**\r\n * Default value to use for the check box state\r\n *\r\n * **Note:** Only makes sense when *not* bound to an ECProperty.\r\n */\r\n defaultValue?: boolean;\r\n\r\n /**\r\n * Indicates whether check box is enabled or disabled.\r\n */\r\n isEnabled?: string | boolean;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"CheckBoxRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CheckBoxRule.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 { ConditionContainer, RuleBase, RuleTypes } from \"../Rule\";\r\n\r\n/**\r\n * Rule that allows configuring check boxes for certain nodes.\r\n *\r\n * Is also allows binding check box state with boolean properties by setting [[propertyName]] parameter.\r\n * If [[propertyName]] is not set, then [[defaultValue]] is used for default check box state.\r\n *\r\n * @see [More details]($docs/presentation/Customization/CheckBoxRule.md)\r\n * @public\r\n * @deprecated Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\nexport interface CheckBoxRule extends RuleBase, ConditionContainer {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes.CheckBox;\r\n\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it. Condition\r\n * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use\r\n * a [limited set of symbols]($docs/presentation/customization/ECExpressions.md#rule-condition).\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Name of boolean type ECProperty which is bound with the check box state. When set,\r\n * property value gets bound to checkbox state.\r\n *\r\n * @minLength 1\r\n */\r\n propertyName?: string;\r\n\r\n /**\r\n * Should property value be inversed for the check box state.\r\n *\r\n * **Note:** Only makes sense when bound to an ECProperty.\r\n */\r\n useInversedPropertyValue?: boolean;\r\n\r\n /**\r\n * Default value to use for the check box state\r\n *\r\n * **Note:** Only makes sense when *not* bound to an ECProperty.\r\n */\r\n defaultValue?: boolean;\r\n\r\n /**\r\n * Indicates whether check box is enabled or disabled.\r\n */\r\n isEnabled?: string | boolean;\r\n}\r\n"]}
|
|
@@ -29,6 +29,9 @@ import { StyleOverride } from "./StyleOverride";
|
|
|
29
29
|
*
|
|
30
30
|
* @public
|
|
31
31
|
*/
|
|
32
|
-
export declare type CustomizationRule = InstanceLabelOverride | CheckBoxRule |
|
|
33
|
-
|
|
32
|
+
export declare type CustomizationRule = InstanceLabelOverride | CheckBoxRule | // eslint-disable-line deprecation/deprecation
|
|
33
|
+
GroupingRule | ImageIdOverride | // eslint-disable-line deprecation/deprecation
|
|
34
|
+
LabelOverride | // eslint-disable-line deprecation/deprecation
|
|
35
|
+
SortingRule | StyleOverride | // eslint-disable-line deprecation/deprecation
|
|
36
|
+
ExtendedDataRule | NodeArtifactsRule;
|
|
34
37
|
//# sourceMappingURL=CustomizationRule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomizationRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CustomizationRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,MAAM,iBAAiB,GACnC,qBAAqB,GACrB,YAAY,
|
|
1
|
+
{"version":3,"file":"CustomizationRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CustomizationRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,MAAM,iBAAiB,GACnC,qBAAqB,GACrB,YAAY,GAAG,8CAA8C;AAC7D,YAAY,GACZ,eAAe,GAAG,8CAA8C;AAChE,aAAa,GAAG,8CAA8C;AAC9D,WAAW,GACX,aAAa,GAAG,8CAA8C;AAC9D,gBAAgB,GAChB,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomizationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CustomizationRule.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 { NodeArtifactsRule } from \"../hierarchy/NodeArtifactsRule\";\r\nimport { CheckBoxRule } from \"./CheckBoxRule\";\r\nimport { ExtendedDataRule } from \"./ExtendedDataRule\";\r\nimport { GroupingRule } from \"./GroupingRule\";\r\nimport { ImageIdOverride } from \"./ImageIdOverride\";\r\nimport { InstanceLabelOverride } from \"./InstanceLabelOverride\";\r\nimport { LabelOverride } from \"./LabelOverride\";\r\nimport { SortingRule } from \"./SortingRule\";\r\nimport { StyleOverride } from \"./StyleOverride\";\r\n\r\n/**\r\n * Customization rules allow customizing each node or content item separately.\r\n * Most of the rules have a `condition` property which uses [ECExpressions]($docs/presentation/Customization/ECExpressions.md)\r\n * for conditional rule filtering.\r\n *\r\n * **Nested customization rules:**\r\n *\r\n * Customization rules may be specified at ruleset level, in which case they're\r\n * applied to all content produced by the ruleset, or nested under navigation rules,\r\n * in which case they're applied only for nodes created by those rules.\r\n *\r\n * **Customization rule priorities:**\r\n *\r\n * Customization rules have a `priority` attribute which defines the order in which they're applied. If priorities match,\r\n * rules engine looks at the nesting level - the deeper the rule is nested, the higher is its `priority`.\r\n * If the nesting levels also match, the rule defined first wins.\r\n *\r\n * @public\r\n */\r\nexport declare type CustomizationRule =\r\n InstanceLabelOverride |\r\n CheckBoxRule
|
|
1
|
+
{"version":3,"file":"CustomizationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CustomizationRule.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 { NodeArtifactsRule } from \"../hierarchy/NodeArtifactsRule\";\r\nimport { CheckBoxRule } from \"./CheckBoxRule\";\r\nimport { ExtendedDataRule } from \"./ExtendedDataRule\";\r\nimport { GroupingRule } from \"./GroupingRule\";\r\nimport { ImageIdOverride } from \"./ImageIdOverride\";\r\nimport { InstanceLabelOverride } from \"./InstanceLabelOverride\";\r\nimport { LabelOverride } from \"./LabelOverride\";\r\nimport { SortingRule } from \"./SortingRule\";\r\nimport { StyleOverride } from \"./StyleOverride\";\r\n\r\n/**\r\n * Customization rules allow customizing each node or content item separately.\r\n * Most of the rules have a `condition` property which uses [ECExpressions]($docs/presentation/Customization/ECExpressions.md)\r\n * for conditional rule filtering.\r\n *\r\n * **Nested customization rules:**\r\n *\r\n * Customization rules may be specified at ruleset level, in which case they're\r\n * applied to all content produced by the ruleset, or nested under navigation rules,\r\n * in which case they're applied only for nodes created by those rules.\r\n *\r\n * **Customization rule priorities:**\r\n *\r\n * Customization rules have a `priority` attribute which defines the order in which they're applied. If priorities match,\r\n * rules engine looks at the nesting level - the deeper the rule is nested, the higher is its `priority`.\r\n * If the nesting levels also match, the rule defined first wins.\r\n *\r\n * @public\r\n */\r\nexport declare type CustomizationRule =\r\n InstanceLabelOverride |\r\n CheckBoxRule | // eslint-disable-line deprecation/deprecation\r\n GroupingRule |\r\n ImageIdOverride | // eslint-disable-line deprecation/deprecation\r\n LabelOverride | // eslint-disable-line deprecation/deprecation\r\n SortingRule |\r\n StyleOverride | // eslint-disable-line deprecation/deprecation\r\n ExtendedDataRule |\r\n NodeArtifactsRule;\r\n"]}
|
|
@@ -8,6 +8,7 @@ import { ConditionContainer, RuleBase, RuleTypes } from "../Rule";
|
|
|
8
8
|
*
|
|
9
9
|
* @see [More details]($docs/presentation/Customization/ImageIdOverride.md)
|
|
10
10
|
* @public
|
|
11
|
+
* @deprecated Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
11
12
|
*/
|
|
12
13
|
export interface ImageIdOverride extends RuleBase, ConditionContainer {
|
|
13
14
|
/** Used for serializing to JSON. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageIdOverride.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/ImageIdOverride.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"ImageIdOverride.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/ImageIdOverride.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,WAAW,eAAgB,SAAQ,QAAQ,EAAE,kBAAkB;IACnE,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC;IAEpC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageIdOverride.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/ImageIdOverride.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 { ConditionContainer, RuleBase, RuleTypes } from \"../Rule\";\r\n\r\n/**\r\n * Rule that allows overriding default icon and dynamically define an icon\r\n * for a particular node based on the context.\r\n *\r\n * @see [More details]($docs/presentation/Customization/ImageIdOverride.md)\r\n * @public\r\n */\r\nexport interface ImageIdOverride extends RuleBase, ConditionContainer {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes.ImageIdOverride;\r\n\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it. Condition\r\n * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use\r\n * a [limited set of symbols]($docs/presentation/Customization/ECExpressions.md#rule-condition).\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Defines an image ID that should be used for nodes that meet rule condition. This is\r\n * an [ECExpression]($docs/presentation/Customization/ECExpressions.md), so ID can be\r\n * defined/formatted dynamically based on the context - for example ECInstance property value.\r\n *\r\n * @minLength 1\r\n */\r\n imageIdExpression: string;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ImageIdOverride.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/ImageIdOverride.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 { ConditionContainer, RuleBase, RuleTypes } from \"../Rule\";\r\n\r\n/**\r\n * Rule that allows overriding default icon and dynamically define an icon\r\n * for a particular node based on the context.\r\n *\r\n * @see [More details]($docs/presentation/Customization/ImageIdOverride.md)\r\n * @public\r\n * @deprecated Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.\r\n */\r\nexport interface ImageIdOverride extends RuleBase, ConditionContainer {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes.ImageIdOverride;\r\n\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it. Condition\r\n * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use\r\n * a [limited set of symbols]($docs/presentation/Customization/ECExpressions.md#rule-condition).\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Defines an image ID that should be used for nodes that meet rule condition. This is\r\n * an [ECExpression]($docs/presentation/Customization/ECExpressions.md), so ID can be\r\n * defined/formatted dynamically based on the context - for example ECInstance property value.\r\n *\r\n * @minLength 1\r\n */\r\n imageIdExpression: string;\r\n}\r\n"]}
|
|
@@ -11,6 +11,7 @@ import { ConditionContainer, RuleBase, RuleTypes } from "../Rule";
|
|
|
11
11
|
*
|
|
12
12
|
* @see [More details]($docs/presentation/Customization/LabelOverride.md)
|
|
13
13
|
* @public
|
|
14
|
+
* @deprecated Use [[InstanceLabelOverride]] rule instead.
|
|
14
15
|
*/
|
|
15
16
|
export interface LabelOverride extends RuleBase, ConditionContainer {
|
|
16
17
|
/** Used for serializing to JSON. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LabelOverride.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/LabelOverride.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"LabelOverride.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/LabelOverride.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ,EAAE,kBAAkB;IACjE,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC;IAElC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LabelOverride.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/LabelOverride.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 { ConditionContainer, RuleBase, RuleTypes } from \"../Rule\";\r\n\r\n/**\r\n * Rule to override labels and descriptions of nodes which pass rule's\r\n * condition.\r\n *\r\n * **Important:** Prefer [[InstanceLabelOverride]] over this rule when possible as it\r\n * has better performance.\r\n *\r\n * @see [More details]($docs/presentation/Customization/LabelOverride.md)\r\n * @public\r\n */\r\nexport interface LabelOverride extends RuleBase, ConditionContainer {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes.LabelOverride;\r\n\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it. Condition\r\n * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use\r\n * a [limited set of symbols]($docs/presentation/Customization/ECExpressions.md#rule-condition).\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Defines the label that should be used for node. This is\r\n * an [ECExpression]($docs/presentation/Customization/ECExpressions.md), so label\r\n * can be defined/formatted dynamically based on the context - for example\r\n * ECInstance property value. May be [localized]($docs/presentation/Advanced/Localization.md).\r\n *\r\n * @minLength 1\r\n */\r\n label?: string;\r\n\r\n /**\r\n * Defines the description that should be used for node. This is\r\n * an [ECExpression]($docs/presentation/Customization/ECExpressions.md), so\r\n * description can be defined/formatted dynamically based on the context - for example\r\n * ECInstance property value. May be [localized]($docs/presentation/Advanced/Localization.md).\r\n *\r\n * @minLength 1\r\n */\r\n description?: string;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"LabelOverride.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/LabelOverride.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 { ConditionContainer, RuleBase, RuleTypes } from \"../Rule\";\r\n\r\n/**\r\n * Rule to override labels and descriptions of nodes which pass rule's\r\n * condition.\r\n *\r\n * **Important:** Prefer [[InstanceLabelOverride]] over this rule when possible as it\r\n * has better performance.\r\n *\r\n * @see [More details]($docs/presentation/Customization/LabelOverride.md)\r\n * @public\r\n * @deprecated Use [[InstanceLabelOverride]] rule instead.\r\n */\r\nexport interface LabelOverride extends RuleBase, ConditionContainer {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes.LabelOverride;\r\n\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it. Condition\r\n * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use\r\n * a [limited set of symbols]($docs/presentation/Customization/ECExpressions.md#rule-condition).\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Defines the label that should be used for node. This is\r\n * an [ECExpression]($docs/presentation/Customization/ECExpressions.md), so label\r\n * can be defined/formatted dynamically based on the context - for example\r\n * ECInstance property value. May be [localized]($docs/presentation/Advanced/Localization.md).\r\n *\r\n * @minLength 1\r\n */\r\n label?: string;\r\n\r\n /**\r\n * Defines the description that should be used for node. This is\r\n * an [ECExpression]($docs/presentation/Customization/ECExpressions.md), so\r\n * description can be defined/formatted dynamically based on the context - for example\r\n * ECInstance property value. May be [localized]($docs/presentation/Advanced/Localization.md).\r\n *\r\n * @minLength 1\r\n */\r\n description?: string;\r\n}\r\n"]}
|
|
@@ -8,6 +8,7 @@ import { ConditionContainer, RuleBase, RuleTypes } from "../Rule";
|
|
|
8
8
|
*
|
|
9
9
|
* @see [More details]($docs/presentation/Customization/StyleOverride.md)
|
|
10
10
|
* @public
|
|
11
|
+
* @deprecated Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/Customization/ExtendedDataUsage.md) for more details.
|
|
11
12
|
*/
|
|
12
13
|
export interface StyleOverride extends RuleBase, ConditionContainer {
|
|
13
14
|
/** Used for serializing to JSON. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyleOverride.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/StyleOverride.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"StyleOverride.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/StyleOverride.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ,EAAE,kBAAkB;IACjE,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC;IAElC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|