@itwin/presentation-backend 3.0.0-dev.77 → 3.0.0-dev.81
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/lib/{assets → cjs/assets}/primary-presentation-rules/ElementProperties.PresentationRuleSet.json +0 -0
- package/lib/{assets → cjs/assets}/supplemental-presentation-rules/BisCore.PresentationRuleSet.json +0 -0
- package/lib/{assets → cjs/assets}/supplemental-presentation-rules/Functional.PresentationRuleSet.json +0 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/BackendLoggerCategory.d.ts +0 -0
- package/lib/cjs/presentation-backend/BackendLoggerCategory.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/BackendLoggerCategory.js +0 -0
- package/lib/cjs/presentation-backend/BackendLoggerCategory.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/Constants.d.ts +0 -0
- package/lib/cjs/presentation-backend/Constants.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/Constants.js +0 -0
- package/lib/cjs/presentation-backend/Constants.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/ElementPropertiesHelper.d.ts +0 -0
- package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/ElementPropertiesHelper.js +0 -0
- package/lib/cjs/presentation-backend/ElementPropertiesHelper.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/NativePlatform.d.ts +0 -0
- package/lib/cjs/presentation-backend/NativePlatform.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/NativePlatform.js +1 -1
- package/lib/cjs/presentation-backend/NativePlatform.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/Presentation.d.ts +0 -0
- package/lib/cjs/presentation-backend/Presentation.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/Presentation.js +0 -0
- package/lib/cjs/presentation-backend/Presentation.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/PresentationIpcHandler.d.ts +0 -0
- package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/PresentationIpcHandler.js +0 -0
- package/lib/cjs/presentation-backend/PresentationIpcHandler.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/PresentationManager.d.ts +5 -1
- package/lib/cjs/presentation-backend/PresentationManager.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/PresentationManager.js +103 -42
- package/lib/cjs/presentation-backend/PresentationManager.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/PresentationRpcImpl.d.ts +0 -0
- package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/PresentationRpcImpl.js +43 -27
- package/lib/cjs/presentation-backend/PresentationRpcImpl.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/RulesetEmbedder.d.ts +1 -1
- package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/RulesetEmbedder.js +9 -27
- package/lib/cjs/presentation-backend/RulesetEmbedder.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/RulesetManager.d.ts +0 -0
- package/lib/cjs/presentation-backend/RulesetManager.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/RulesetManager.js +0 -0
- package/lib/cjs/presentation-backend/RulesetManager.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/RulesetVariablesManager.d.ts +0 -0
- package/lib/cjs/presentation-backend/RulesetVariablesManager.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/RulesetVariablesManager.js +0 -0
- package/lib/cjs/presentation-backend/RulesetVariablesManager.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/SelectionScopesHelper.d.ts +0 -0
- package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/SelectionScopesHelper.js +0 -0
- package/lib/cjs/presentation-backend/SelectionScopesHelper.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/TemporaryStorage.d.ts +0 -0
- package/lib/cjs/presentation-backend/TemporaryStorage.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/TemporaryStorage.js +0 -0
- package/lib/cjs/presentation-backend/TemporaryStorage.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/UpdatesTracker.d.ts +0 -0
- package/lib/cjs/presentation-backend/UpdatesTracker.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/UpdatesTracker.js +0 -0
- package/lib/cjs/presentation-backend/UpdatesTracker.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/Utils.d.ts +0 -0
- package/lib/cjs/presentation-backend/Utils.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/Utils.js +1 -1
- package/lib/cjs/presentation-backend/Utils.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/domain/PresentationRulesDomain.d.ts +0 -0
- package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/domain/PresentationRulesDomain.js +0 -0
- package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/domain/RulesetElements.d.ts +0 -0
- package/lib/cjs/presentation-backend/domain/RulesetElements.d.ts.map +1 -0
- package/lib/{presentation-backend → cjs/presentation-backend}/domain/RulesetElements.js +0 -0
- package/lib/cjs/presentation-backend/domain/RulesetElements.js.map +1 -0
- package/lib/{presentation-backend.d.ts → cjs/presentation-backend.d.ts} +0 -0
- package/lib/cjs/presentation-backend.d.ts.map +1 -0
- package/lib/{presentation-backend.js → cjs/presentation-backend.js} +0 -0
- package/lib/cjs/presentation-backend.js.map +1 -0
- package/package.json +20 -19
- package/lib/presentation-backend/BackendLoggerCategory.d.ts.map +0 -1
- package/lib/presentation-backend/BackendLoggerCategory.js.map +0 -1
- package/lib/presentation-backend/Constants.d.ts.map +0 -1
- package/lib/presentation-backend/Constants.js.map +0 -1
- package/lib/presentation-backend/ElementPropertiesHelper.d.ts.map +0 -1
- package/lib/presentation-backend/ElementPropertiesHelper.js.map +0 -1
- package/lib/presentation-backend/NativePlatform.d.ts.map +0 -1
- package/lib/presentation-backend/NativePlatform.js.map +0 -1
- package/lib/presentation-backend/Presentation.d.ts.map +0 -1
- package/lib/presentation-backend/Presentation.js.map +0 -1
- package/lib/presentation-backend/PresentationIpcHandler.d.ts.map +0 -1
- package/lib/presentation-backend/PresentationIpcHandler.js.map +0 -1
- package/lib/presentation-backend/PresentationManager.d.ts.map +0 -1
- package/lib/presentation-backend/PresentationManager.js.map +0 -1
- package/lib/presentation-backend/PresentationRpcImpl.d.ts.map +0 -1
- package/lib/presentation-backend/PresentationRpcImpl.js.map +0 -1
- package/lib/presentation-backend/RulesetEmbedder.d.ts.map +0 -1
- package/lib/presentation-backend/RulesetEmbedder.js.map +0 -1
- package/lib/presentation-backend/RulesetManager.d.ts.map +0 -1
- package/lib/presentation-backend/RulesetManager.js.map +0 -1
- package/lib/presentation-backend/RulesetVariablesManager.d.ts.map +0 -1
- package/lib/presentation-backend/RulesetVariablesManager.js.map +0 -1
- package/lib/presentation-backend/SelectionScopesHelper.d.ts.map +0 -1
- package/lib/presentation-backend/SelectionScopesHelper.js.map +0 -1
- package/lib/presentation-backend/TemporaryStorage.d.ts.map +0 -1
- package/lib/presentation-backend/TemporaryStorage.js.map +0 -1
- package/lib/presentation-backend/UpdatesTracker.d.ts.map +0 -1
- package/lib/presentation-backend/UpdatesTracker.js.map +0 -1
- package/lib/presentation-backend/Utils.d.ts.map +0 -1
- package/lib/presentation-backend/Utils.js.map +0 -1
- package/lib/presentation-backend/domain/PresentationRulesDomain.d.ts.map +0 -1
- package/lib/presentation-backend/domain/PresentationRulesDomain.js.map +0 -1
- package/lib/presentation-backend/domain/RulesetElements.d.ts.map +0 -1
- package/lib/presentation-backend/domain/RulesetElements.js.map +0 -1
- package/lib/presentation-backend.d.ts.map +0 -1
- package/lib/presentation-backend.js.map +0 -1
|
File without changes
|
package/lib/{assets → cjs/assets}/supplemental-presentation-rules/BisCore.PresentationRuleSet.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackendLoggerCategory.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/BackendLoggerCategory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;GAKG;AACH,oBAAY,iCAAiC;IAC3C,OAAO,yBAAyB;IAEhC,+FAA+F;IAC/F,mBAAmB,6CAA6C;IAEhE,mEAAmE;IACnE,GAAG,6BAA6B;IAEhC,mEAAmE;IACnE,GAAG,6BAA6B;CACjC;AAED;;;;;GAKG;AACH,oBAAY,uCAAuC;IACjD,SAAS,cAAc;IACvB,uBAAuB,4BAA4B;IACnD,6BAA6B,kCAAkC;IAC/D,gCAAgC,qCAAqC;IAErE,cAAc,mBAAmB;IACjC,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,0BAA0B,+BAA+B;IACzD,kCAAkC,uCAAuC;IACzE,uCAAuC,4CAA4C;IACnF,qCAAqC,0CAA0C;IAC/E,2CAA2C,gDAAgD;IAC3F,kCAAkC,uCAAuC;IACzE,iCAAiC,sCAAsC;IACvE,2CAA2C,gDAAgD;CAC5F"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackendLoggerCategory.js","sourceRoot":"","sources":["../../../src/presentation-backend/BackendLoggerCategory.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;;;GAKG;AACH,IAAY,iCAWX;AAXD,WAAY,iCAAiC;IAC3C,qEAAgC,CAAA;IAEhC,+FAA+F;IAC/F,qGAAgE,CAAA;IAEhE,mEAAmE;IACnE,qEAAgC,CAAA;IAEhC,mEAAmE;IACnE,qEAAgC,CAAA;AAClC,CAAC,EAXW,iCAAiC,GAAjC,yCAAiC,KAAjC,yCAAiC,QAW5C;AAED;;;;;GAKG;AACH,IAAY,uCAiBX;AAjBD,WAAY,uCAAuC;IACjD,kEAAuB,CAAA;IACvB,8FAAmD,CAAA;IACnD,0GAA+D,CAAA;IAC/D,gHAAqE,CAAA;IAErE,4EAAiC,CAAA;IACjC,oGAAyD,CAAA;IACzD,sGAA2D,CAAA;IAC3D,oGAAyD,CAAA;IACzD,oHAAyE,CAAA;IACzE,8HAAmF,CAAA;IACnF,0HAA+E,CAAA;IAC/E,sIAA2F,CAAA;IAC3F,oHAAyE,CAAA;IACzE,kHAAuE,CAAA;IACvE,sIAA2F,CAAA;AAC7F,CAAC,EAjBW,uCAAuC,GAAvC,+CAAuC,KAAvC,+CAAuC,QAiBlD","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 Logging\r\n */\r\n\r\n/**\r\n * Logger categories used by this package\r\n * @note All logger categories in this package start with the `presentation-backend` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum PresentationBackendLoggerCategory {\r\n Package = \"presentation-backend\",\r\n\r\n /** The logger category used by the [[PresentationManager]] class and other related classes. */\r\n PresentationManager = \"presentation-backend.PresentationManager\",\r\n\r\n /** The logger category used by Presentation RPC implementation. */\r\n Rpc = \"presentation-backend.Rpc\",\r\n\r\n /** The logger category used by Presentation IPC implementation. */\r\n Ipc = \"presentation-backend.Ipc\",\r\n}\r\n\r\n/**\r\n * Logger categories used by this package\r\n * @note Logger categories used by the [[PresentationManager]] native addon.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum PresentationBackendNativeLoggerCategory {\r\n ECObjects = \"ECObjects\",\r\n ECObjects_ECExpressions = \"ECObjects.ECExpressions\",\r\n ECObjects_ECExpressions_Parse = \"ECObjects.ECExpressions.Parse\",\r\n ECObjects_ECExpressions_Evaluate = \"ECObjects.ECExpressions.Evaluate\",\r\n\r\n ECPresentation = \"ECPresentation\",\r\n ECPresentation_Connections = \"ECPresentation.Connections\",\r\n ECPresentation_Localization = \"ECPresentation.Localization\",\r\n ECPresentation_RulesEngine = \"ECPresentation.RulesEngine\",\r\n ECPresentation_RulesEngine_Content = \"ECPresentation.RulesEngine.Content\",\r\n ECPresentation_RulesEngine_Localization = \"ECPresentation.RulesEngine.Localization\",\r\n ECPresentation_RulesEngine_Navigation = \"ECPresentation.RulesEngine.Navigation\",\r\n ECPresentation_RulesEngine_Navigation_Cache = \"ECPresentation.RulesEngine.Navigation.Cache\",\r\n ECPresentation_RulesEngine_Threads = \"ECPresentation.RulesEngine.Threads\",\r\n ECPresentation_RulesEngine_Update = \"ECPresentation.RulesEngine.Update\",\r\n ECPresentation_RulesEngine_RulesetVariables = \"ECPresentation.RulesEngine.RulesetVariables\",\r\n}\r\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/Constants.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH;;;GAGG;AAEH,eAAO,MAAM,gCAAgC,QAA0H,CAAC;AAExK;;;GAGG;AAEH,eAAO,MAAM,+BAA+B,QAAuJ,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/presentation-backend/Constants.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,oEAAsE;AAEtE;;;GAGG;AACH,uBAAuB;AACV,QAAA,gCAAgC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAExK;;;GAGG;AACH,uBAAuB;AACV,QAAA,+BAA+B,GAAG,CAAC,CAAC,CAAC,KAAK,8CAAwB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8CAAwB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport * as path from \"path\";\r\nimport { PRESENTATION_COMMON_ROOT } from \"@itwin/presentation-common\";\r\n\r\n/**\r\n * Path to presentation-backend assets root directory.\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport const PRESENTATION_BACKEND_ASSETS_ROOT = (-1 !== __dirname.indexOf(\"presentation-backend\")) ? path.join(__dirname, \"../assets\") : path.join(__dirname, \"assets\");\r\n\r\n/**\r\n * Path to presentation-common assets root directory.\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport const PRESENTATION_COMMON_ASSETS_ROOT = (-1 !== PRESENTATION_COMMON_ROOT.indexOf(\"presentation-common\")) ? path.join(PRESENTATION_COMMON_ROOT, \"../assets\") : path.join(__dirname, \"assets\");\r\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementPropertiesHelper.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/ElementPropertiesHelper.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EACgB,OAAO,EAAE,iBAAiB,EAGhD,MAAM,4BAA4B,CAAC;AAEpC,gBAAgB;AAChB,eAAO,MAAM,sBAAsB,YAAa,OAAO,GAAG,SAAS,KAAG,iBAAiB,GAAG,SAczF,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementPropertiesHelper.js","sourceRoot":"","sources":["../../../src/presentation-backend/ElementPropertiesHelper.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 Core\r\n */\r\n\r\nimport { assert, Id64 } from \"@itwin/core-bentley\";\r\nimport {\r\n CategoryDescription, Content, ElementProperties, ElementPropertiesItem, ElementPropertiesPrimitiveArrayPropertyItem, ElementPropertiesPropertyItem,\r\n ElementPropertiesStructArrayPropertyItem, IContentVisitor, ProcessFieldHierarchiesProps, ProcessMergedValueProps, ProcessPrimitiveValueProps,\r\n PropertyValueFormat, StartArrayProps, StartCategoryProps, StartContentProps, StartFieldProps, StartItemProps, StartStructProps, traverseContentItem,\r\n} from \"@itwin/presentation-common\";\r\n\r\n/** @internal */\r\nexport const buildElementProperties = (content: Content | undefined): ElementProperties | undefined => {\r\n if (!content || !content.contentSet.length)\r\n return undefined;\r\n\r\n const descriptor = content.descriptor;\r\n const item = content.contentSet[0];\r\n const builder = new ElementPropertiesBuilder();\r\n traverseContentItem(builder, descriptor, item);\r\n return {\r\n class: item.classInfo?.label ?? \"\",\r\n id: item.primaryKeys[0]?.id ?? Id64.invalid,\r\n label: item.label.displayValue,\r\n items: builder.rootItems,\r\n };\r\n};\r\n\r\ninterface IPropertiesAppender {\r\n append(label: string, item: ElementPropertiesItem): void;\r\n finish(): void;\r\n}\r\n\r\nclass CategoryItemAppender implements IPropertiesAppender {\r\n private _items: { [label: string]: ElementPropertiesItem } = {};\r\n constructor(private _parentAppender: IPropertiesAppender, private _category: CategoryDescription) { }\r\n public append(label: string, item: ElementPropertiesItem): void {\r\n this._items[label] = item;\r\n }\r\n public finish(): void {\r\n this._parentAppender.append(this._category.label, {\r\n type: \"category\",\r\n items: this._items,\r\n });\r\n }\r\n}\r\n\r\nclass ArrayItemAppender implements IPropertiesAppender {\r\n private _items: ElementPropertiesPropertyItem[] = [];\r\n constructor(private _parentAppender: IPropertiesAppender, private _props: StartArrayProps) { }\r\n public append(_label: string, item: ElementPropertiesItem): void {\r\n assert(item.type !== \"category\");\r\n this._items.push(item);\r\n }\r\n public finish(): void {\r\n assert(this._props.valueType.valueFormat === PropertyValueFormat.Array);\r\n if (this._props.valueType.memberType.valueFormat === PropertyValueFormat.Primitive)\r\n this._parentAppender.append(this._props.hierarchy.field.label, this.createPrimitivesArray());\r\n else\r\n this._parentAppender.append(this._props.hierarchy.field.label, this.createStructsArray());\r\n }\r\n private createPrimitivesArray(): ElementPropertiesPrimitiveArrayPropertyItem {\r\n return {\r\n type: \"array\",\r\n valueType: \"primitive\",\r\n values: this._items.map((item) => {\r\n assert(item.type === \"primitive\");\r\n return item.value;\r\n }),\r\n };\r\n }\r\n private createStructsArray(): ElementPropertiesStructArrayPropertyItem {\r\n return {\r\n type: \"array\",\r\n valueType: \"struct\",\r\n values: this._items.map((item) => {\r\n assert(item.type === \"struct\");\r\n return item.members;\r\n }),\r\n };\r\n }\r\n}\r\n\r\nclass StructItemAppender implements IPropertiesAppender {\r\n private _members: { [label: string]: ElementPropertiesPropertyItem } = {};\r\n constructor(private _parentAppender: IPropertiesAppender, private _props: StartStructProps) { }\r\n public append(label: string, item: ElementPropertiesItem): void {\r\n assert(item.type !== \"category\");\r\n this._members[label] = item;\r\n }\r\n public finish(): void {\r\n assert(this._props.valueType.valueFormat === PropertyValueFormat.Struct);\r\n this._parentAppender.append(this._props.hierarchy.field.label, {\r\n type: \"struct\",\r\n members: this._members,\r\n });\r\n }\r\n}\r\n\r\nclass ElementPropertiesBuilder implements IContentVisitor {\r\n private _appendersStack: IPropertiesAppender[] = [];\r\n private _categoryItemAppenders: { [categoryName: string]: IPropertiesAppender } = {};\r\n private _rootItems: { [label: string]: ElementPropertiesItem } = {};\r\n\r\n public get rootItems(): { [label: string]: ElementPropertiesItem } {\r\n return this._rootItems;\r\n }\r\n\r\n private get _currentAppender(): IPropertiesAppender {\r\n const appender = this._appendersStack[this._appendersStack.length - 1];\r\n assert(appender !== undefined);\r\n return appender;\r\n }\r\n\r\n public startContent(_props: StartContentProps): boolean { return true; }\r\n public finishContent(): void { }\r\n\r\n public processFieldHierarchies(_props: ProcessFieldHierarchiesProps): void { }\r\n\r\n public startItem(_props: StartItemProps): boolean {\r\n this._appendersStack.push({\r\n append: (label, item) => {\r\n this._rootItems[label] = item;\r\n },\r\n finish: /* istanbul ignore next */ () => { },\r\n });\r\n return true;\r\n }\r\n public finishItem(): void {\r\n // eslint-disable-next-line guard-for-in\r\n for (const categoryName in this._categoryItemAppenders) {\r\n const appender = this._categoryItemAppenders[categoryName];\r\n appender.finish();\r\n }\r\n this._categoryItemAppenders = {};\r\n }\r\n\r\n public startCategory(props: StartCategoryProps): boolean {\r\n let appender = this._categoryItemAppenders[props.category.name];\r\n if (!appender) {\r\n appender = new CategoryItemAppender(this._currentAppender, props.category);\r\n this._categoryItemAppenders[props.category.name] = appender;\r\n }\r\n this._appendersStack.push(appender);\r\n return true;\r\n }\r\n public finishCategory(): void {\r\n this._appendersStack.pop();\r\n }\r\n\r\n public startField(_props: StartFieldProps): boolean { return true; }\r\n public finishField(): void { }\r\n\r\n public startStruct(props: StartStructProps): boolean {\r\n this._appendersStack.push(new StructItemAppender(this._currentAppender, props));\r\n return true;\r\n }\r\n public finishStruct(): void { this._appendersStack.pop()!.finish(); }\r\n\r\n public startArray(props: StartArrayProps): boolean {\r\n this._appendersStack.push(new ArrayItemAppender(this._currentAppender, props));\r\n return true;\r\n }\r\n public finishArray(): void { this._appendersStack.pop()!.finish(); }\r\n\r\n public processMergedValue(props: ProcessMergedValueProps): void {\r\n this._currentAppender.append(props.mergedField.label, {\r\n type: \"primitive\",\r\n value: \"\",\r\n });\r\n }\r\n public processPrimitiveValue(props: ProcessPrimitiveValueProps): void {\r\n this._currentAppender.append(props.field.label, {\r\n type: \"primitive\",\r\n value: props.displayValue?.toString() ?? \"\",\r\n });\r\n }\r\n}\r\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativePlatform.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/NativePlatform.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ const createDefaultNativePlatform = (props) => {
|
|
|
50
50
|
const mode = (props.mode === PresentationManager_1.PresentationManagerMode.ReadOnly) ? "ro" /* ReadOnly */ : "rw" /* ReadWrite */;
|
|
51
51
|
const cacheConfig = (_a = props.cacheConfig) !== null && _a !== void 0 ? _a : { mode: PresentationManager_1.HierarchyCacheMode.Disk, directory: "" };
|
|
52
52
|
const defaultFormats = props.defaultFormats ? this.getSerializedDefaultFormatsMap(props.defaultFormats) : {};
|
|
53
|
-
this._nativeAddon = new core_backend_1.IModelHost.platform.ECPresentationManager(
|
|
53
|
+
this._nativeAddon = new core_backend_1.IModelHost.platform.ECPresentationManager({ ...props, mode, cacheConfig, defaultFormats });
|
|
54
54
|
}
|
|
55
55
|
getStatus(responseStatus) {
|
|
56
56
|
switch (responseStatus) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativePlatform.js","sourceRoot":"","sources":["../../../src/presentation-backend/NativePlatform.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { IModelDb, IModelHost, IModelJsNative } from \"@itwin/core-backend\";\nimport { IDisposable } from \"@itwin/core-bentley\";\nimport { FormatProps } from \"@itwin/core-quantity\";\nimport {\n DiagnosticsScopeLogs, NodeKeyJSON, PresentationError, PresentationStatus, UpdateInfoJSON, VariableValue, VariableValueJSON, VariableValueTypes,\n} from \"@itwin/presentation-common\";\nimport { HierarchyCacheMode, PresentationManagerMode } from \"./PresentationManager\";\n\n/** @internal */\nexport enum NativePlatformRequestTypes {\n GetRootNodes = \"GetRootNodes\",\n GetRootNodesCount = \"GetRootNodesCount\",\n GetChildren = \"GetChildren\",\n GetChildrenCount = \"GetChildrenCount\",\n GetNodePaths = \"GetNodePaths\",\n GetFilteredNodePaths = \"GetFilteredNodePaths\",\n GetContentSources = \"GetContentSources\",\n GetContentDescriptor = \"GetContentDescriptor\",\n GetContentSetSize = \"GetContentSetSize\",\n GetContent = \"GetContent\",\n GetDistinctValues = \"GetDistinctValues\",\n GetPagedDistinctValues = \"GetPagedDistinctValues\",\n GetDisplayLabel = \"GetDisplayLabel\",\n CompareHierarchies = \"CompareHierarchies\",\n}\n\n/**\n * Enumeration of unit systems supported by native presentation manager.\n * @internal\n */\nexport enum NativePresentationUnitSystem {\n Metric = \"metric\",\n BritishImperial = \"british-imperial\",\n UsCustomary = \"us-customary\",\n UsSurvey = \"us-survey\",\n}\n\n/** @internal */\nexport interface NativePresentationDefaultUnitFormats {\n [phenomenon: string]: {\n unitSystems: NativePresentationUnitSystem[];\n format: FormatProps;\n };\n}\n\n/** @internal */\nexport interface NativePresentationKeySetJSON {\n instanceKeys: Array<[string, string[]]>;\n nodeKeys: NodeKeyJSON[];\n}\n\n/** @internal */\nexport interface NativePlatformResponse<TResult> {\n result: TResult;\n diagnostics?: DiagnosticsScopeLogs;\n}\n\n/** @internal */\nexport interface NativePlatformDefinition extends IDisposable {\n getImodelAddon(imodel: IModelDb): any;\n\n setupRulesetDirectories(directories: string[]): NativePlatformResponse<void>;\n setupSupplementalRulesetDirectories(directories: string[]): NativePlatformResponse<void>;\n\n forceLoadSchemas(db: any): Promise<NativePlatformResponse<void>>;\n\n getRulesets(rulesetId: string): NativePlatformResponse<string>;\n addRuleset(serializedRulesetJson: string): NativePlatformResponse<string>;\n removeRuleset(rulesetId: string, hash: string): NativePlatformResponse<boolean>;\n clearRulesets(): NativePlatformResponse<void>;\n\n handleRequest(db: any, options: string): Promise<NativePlatformResponse<string>>;\n\n getRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes): NativePlatformResponse<VariableValue>;\n setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValue): NativePlatformResponse<void>;\n unsetRulesetVariableValue(rulesetId: string, variableId: string): NativePlatformResponse<void>;\n\n getUpdateInfo(): NativePlatformResponse<UpdateInfoJSON | undefined>;\n updateHierarchyState(db: any, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string): NativePlatformResponse<void>;\n}\n\n/** @internal */\nexport interface DefaultNativePlatformProps {\n id: string;\n localeDirectories: string[];\n taskAllocationsMap: { [priority: number]: number };\n mode: PresentationManagerMode;\n isChangeTrackingEnabled: boolean;\n cacheConfig?: IModelJsNative.ECPresentationHierarchyCacheConfig;\n contentCacheSize?: number;\n defaultFormats?: NativePresentationDefaultUnitFormats;\n useMmap?: boolean | number;\n}\n\n/** @internal */\nexport const createDefaultNativePlatform = (props: DefaultNativePlatformProps): new () => NativePlatformDefinition => {\n // note the implementation is constructed here to make PresentationManager\n // usable without loading the actual addon (if addon is set to something other)\n return class implements NativePlatformDefinition {\n private _nativeAddon: IModelJsNative.ECPresentationManager;\n public constructor() {\n const mode = (props.mode === PresentationManagerMode.ReadOnly) ? IModelJsNative.ECPresentationManagerMode.ReadOnly : IModelJsNative.ECPresentationManagerMode.ReadWrite;\n const cacheConfig = props.cacheConfig ?? { mode: HierarchyCacheMode.Disk, directory: \"\" };\n const defaultFormats = props.defaultFormats ? this.getSerializedDefaultFormatsMap(props.defaultFormats) : {};\n this._nativeAddon = new IModelHost.platform.ECPresentationManager({ ...props, mode, cacheConfig, defaultFormats });\n }\n private getStatus(responseStatus: IModelJsNative.ECPresentationStatus): PresentationStatus {\n switch (responseStatus) {\n case IModelJsNative.ECPresentationStatus.InvalidArgument: return PresentationStatus.InvalidArgument;\n case IModelJsNative.ECPresentationStatus.Canceled: return PresentationStatus.Canceled;\n default: return PresentationStatus.Error;\n }\n }\n private getSerializedDefaultFormatsMap(defaultMap: NativePresentationDefaultUnitFormats) {\n const res: {\n [phenomenon: string]: {\n unitSystems: string[];\n serializedFormat: string;\n };\n } = {};\n Object.keys(defaultMap).forEach((key) => {\n const value = defaultMap[key];\n res[key] = { unitSystems: value.unitSystems, serializedFormat: JSON.stringify(value.format) };\n });\n\n return res;\n }\n private createSuccessResponse<T>(response: IModelJsNative.ECPresentationManagerResponse<T>): NativePlatformResponse<T> {\n const retValue: NativePlatformResponse<T> = { result: response.result! };\n if (response.diagnostics)\n retValue.diagnostics = response.diagnostics;\n return retValue;\n }\n private handleResult<T>(response: IModelJsNative.ECPresentationManagerResponse<T>): NativePlatformResponse<T> {\n if (response.error)\n throw new PresentationError(this.getStatus(response.error.status), response.error.message);\n return this.createSuccessResponse(response);\n }\n private handleVoidResult(response: IModelJsNative.ECPresentationManagerResponse<void>): NativePlatformResponse<void> {\n if (response.error)\n throw new PresentationError(this.getStatus(response.error.status), response.error.message);\n return this.createSuccessResponse(response);\n }\n public dispose() {\n this._nativeAddon.dispose();\n }\n public async forceLoadSchemas(db: any): Promise<NativePlatformResponse<void>> {\n const response = await this._nativeAddon.forceLoadSchemas(db);\n if (response.error)\n throw new PresentationError(PresentationStatus.Error, response.error.message);\n return this.createSuccessResponse(response);\n }\n public setupRulesetDirectories(directories: string[]) {\n return this.handleVoidResult(this._nativeAddon.setupRulesetDirectories(directories));\n }\n public setupSupplementalRulesetDirectories(directories: string[]) {\n return this.handleVoidResult(this._nativeAddon.setupSupplementalRulesetDirectories(directories));\n }\n public getImodelAddon(imodel: IModelDb): any {\n if (!imodel.nativeDb)\n throw new PresentationError(PresentationStatus.InvalidArgument, \"imodel\");\n return imodel.nativeDb;\n }\n public getRulesets(rulesetId: string) {\n return this.handleResult(this._nativeAddon.getRulesets(rulesetId));\n }\n public addRuleset(serializedRulesetJson: string) {\n return this.handleResult(this._nativeAddon.addRuleset(serializedRulesetJson));\n }\n public removeRuleset(rulesetId: string, hash: string) {\n return this.handleResult(this._nativeAddon.removeRuleset(rulesetId, hash));\n }\n public clearRulesets() {\n return this.handleVoidResult(this._nativeAddon.clearRulesets());\n }\n public async handleRequest(db: any, options: string) {\n const requestGuid = this.handleResult(this._nativeAddon.queueRequest(db, options)).result;\n return new Promise((resolve: (result: NativePlatformResponse<any>) => void, reject) => {\n const interval = setInterval(() => {\n const pollResult = this._nativeAddon.pollResponse(requestGuid);\n if (pollResult.error) {\n if (pollResult.error.status !== IModelJsNative.ECPresentationStatus.Pending) {\n reject(new PresentationError(this.getStatus(pollResult.error.status), pollResult.error.message));\n clearInterval(interval);\n }\n return; // ignore 'pending' responses\n }\n resolve(this.createSuccessResponse(pollResult));\n clearInterval(interval);\n }, 20);\n });\n }\n public getRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes) {\n return this.handleResult(this._nativeAddon.getRulesetVariableValue(rulesetId, variableId, type));\n }\n public setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValueJSON) {\n return this.handleVoidResult(this._nativeAddon.setRulesetVariableValue(rulesetId, variableId, type, value));\n }\n public unsetRulesetVariableValue(rulesetId: string, variableId: string) {\n return this.handleVoidResult(this._nativeAddon.unsetRulesetVariableValue(rulesetId, variableId));\n }\n public getUpdateInfo() {\n return this.handleResult(this._nativeAddon.getUpdateInfo());\n }\n public updateHierarchyState(db: any, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string) {\n return this.handleResult(this._nativeAddon.updateHierarchyState(db, rulesetId, changeType, serializedKeys));\n }\n };\n};\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Presentation.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/Presentation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAQH,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAMtF;;;;;GAKG;AACH,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB;IAC7E;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,KAAK,mBAAmB,CAAC;IAElG;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,oBAAY,iBAAiB,GAAG,6BAA6B,GAAG,8BAA8B,CAAC;AAM/F;;;;;;;;;GASG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAgC;IACzD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAgD;IAC9E,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqB;IACnD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA0B;IAC3D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA0B;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkC;IAGzD,OAAO;IAEP,+DAA+D;IAC/D,WAAkB,SAAS,kCAA8B;IAEzD;;;;;;;;OAQG;WACW,UAAU,CAAC,KAAK,CAAC,EAAE,iBAAiB,GAAG,IAAI;IA6BzD;;;OAGG;WACW,SAAS,IAAI,IAAI;IAsB/B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IASlC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;;;;OAIG;WACW,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAShE;;OAEG;WACW,iBAAiB,IAAI,MAAM;CAK1C"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Presentation.js","sourceRoot":"","sources":["../../../src/presentation-backend/Presentation.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { IModelHost, IpcHost } from \"@itwin/core-backend\";\nimport { DisposeFunc, Logger } from \"@itwin/core-bentley\";\nimport { RpcManager } from \"@itwin/core-common\";\nimport { PresentationError, PresentationRpcInterface, PresentationStatus } from \"@itwin/presentation-common\";\nimport { PresentationBackendLoggerCategory } from \"./BackendLoggerCategory\";\nimport { PresentationIpcHandler } from \"./PresentationIpcHandler\";\nimport { PresentationManager, PresentationManagerProps } from \"./PresentationManager\";\nimport { PresentationRpcImpl } from \"./PresentationRpcImpl\";\nimport { TemporaryStorage } from \"./TemporaryStorage\";\n\nconst defaultRequestTimeout: number = 90000;\n\n/**\n * Props for initializing the [[Presentation]] library for using multiple [[PresentationManager]]\n * instances, one for each frontend.\n *\n * @public\n */\nexport interface MultiManagerPresentationProps extends PresentationManagerProps {\n /**\n * Factory method for creating separate managers for each client\n * @internal\n */\n clientManagerFactory?: (clientId: string, props: PresentationManagerProps) => PresentationManager;\n\n /**\n * Time in milliseconds after which the request will timeout.\n */\n requestTimeout?: number;\n\n /**\n * How much time should an unused client manager be stored in memory\n * before it's disposed.\n */\n unusedClientLifetime?: number;\n}\n\n/**\n * Props for initializing the [[Presentation]] library with ability to use a single\n * [[PresentationManager]] instance for handling all requests.\n *\n * @public\n */\nexport interface SingleManagerPresentationProps extends PresentationManagerProps {\n /**\n * How much time should an unused client manager be stored in memory\n * before it's disposed.\n */\n requestTimeout?: number;\n\n /**\n * Specifies to use single manager for all clients.\n * @alpha\n */\n useSingleManager?: boolean;\n}\n\n/**\n * Properties that can be used to configure [[Presentation]] API\n * @public\n */\nexport type PresentationProps = MultiManagerPresentationProps | SingleManagerPresentationProps;\n\ninterface ClientStoreItem {\n manager: PresentationManager;\n}\n\n/**\n * Static class used to statically set up Presentation library for the backend.\n * Basically what it does is:\n * - Register a RPC implementation\n * - Create a singleton [[PresentationManager]] instance\n * - Subscribe for [IModelHost.onBeforeShutdown]($core-backend) event and terminate\n * the presentation manager when that happens.\n *\n * @public\n */\nexport class Presentation {\n\n private static _initProps: PresentationProps | undefined;\n private static _clientsStorage: TemporaryStorage<ClientStoreItem> | undefined;\n private static _requestTimeout: number | undefined;\n private static _disposeIpcHandler: DisposeFunc | undefined;\n private static _shutdownListener: DisposeFunc | undefined;\n private static _manager: PresentationManager | undefined;\n\n /* istanbul ignore next */\n private constructor() { }\n\n /** Properties used to initialize the presentation framework */\n public static get initProps() { return this._initProps; }\n\n /**\n * Initializes Presentation library for the backend.\n *\n * See [this]($docs/presentation/Setup/index.md#backend) for an example.\n *\n * **Important:** The method should be called after a call to [IModelHost.startup]($core-backend)\n *\n * @param props Optional properties for [[PresentationManager]]\n */\n public static initialize(props?: PresentationProps): void {\n RpcManager.registerImpl(PresentationRpcInterface, PresentationRpcImpl);\n if (IpcHost.isValid) {\n this._disposeIpcHandler = PresentationIpcHandler.register();\n }\n this._initProps = props || {};\n this._shutdownListener = IModelHost.onBeforeShutdown.addListener(() => Presentation.terminate());\n this._requestTimeout = (props && props.requestTimeout !== undefined)\n ? props.requestTimeout\n : defaultRequestTimeout;\n\n if (isSingleManagerProps(this._initProps)) {\n this._manager = new PresentationManager(Presentation._initProps);\n } else {\n this._clientsStorage = new TemporaryStorage<ClientStoreItem>({\n factory: this.createClientManager,\n cleanupHandler: this.disposeClientManager,\n // cleanup unused managers every minute\n cleanupInterval: 60 * 1000,\n // by default, manager is disposed after 1 hour of being unused\n valueLifetime: this._initProps.unusedClientLifetime ?? 60 * 60 * 1000,\n // add some logging\n onCreated: /* istanbul ignore next */ (id: string) => Logger.logInfo(PresentationBackendLoggerCategory.PresentationManager, `Created a PresentationManager instance with ID: ${id}. Total instances: ${this._clientsStorage?.values.length}.`),\n onDisposedSingle: /* istanbul ignore next */ (id: string) => Logger.logInfo(PresentationBackendLoggerCategory.PresentationManager, `Disposed PresentationManager instance with ID: ${id}. Total instances: ${this._clientsStorage?.values.length}.`),\n onDisposedAll: /* istanbul ignore next */ () => Logger.logInfo(PresentationBackendLoggerCategory.PresentationManager, `Disposed all PresentationManager instances.`),\n });\n }\n }\n\n /**\n * Terminates Presentation. Consumers don't need to call this as it's automatically\n * called on [IModelHost.onBeforeShutdown]($core-backend) event.\n */\n public static terminate(): void {\n if (this._clientsStorage) {\n this._clientsStorage.dispose();\n this._clientsStorage = undefined;\n }\n if (this._shutdownListener) {\n this._shutdownListener();\n this._shutdownListener = undefined;\n }\n if (this._manager) {\n this._manager.dispose();\n this._manager = undefined;\n }\n RpcManager.unregisterImpl(PresentationRpcInterface);\n if (this._disposeIpcHandler) {\n this._disposeIpcHandler();\n }\n this._initProps = undefined;\n if (this._requestTimeout)\n this._requestTimeout = undefined;\n }\n\n private static createClientManager(clientId: string): ClientStoreItem {\n let manager: PresentationManager;\n if (Presentation._initProps && !isSingleManagerProps(Presentation._initProps) && Presentation._initProps.clientManagerFactory)\n manager = Presentation._initProps.clientManagerFactory(clientId, Presentation._initProps);\n else\n manager = new PresentationManager(Presentation._initProps);\n return { manager };\n }\n\n private static disposeClientManager(storeItem: ClientStoreItem) {\n storeItem.manager.dispose();\n }\n\n /**\n * Get an instance of [[PresentationManager]] for specific client\n * @param clientId ID of the client requesting presentation data. If no\n * ID is provided, the default [[PresentationManager]] is returned.\n */\n public static getManager(clientId?: string): PresentationManager {\n if (this._initProps && isSingleManagerProps(this._initProps) && this._manager)\n return this._manager;\n if (this._clientsStorage)\n return this._clientsStorage.getValue(clientId || \"\").manager;\n\n throw new PresentationError(PresentationStatus.NotInitialized, \"Presentation must be first initialized by calling Presentation.initialize\");\n }\n\n /**\n * Get the time in milliseconds that backend should respond in .\n */\n public static getRequestTimeout(): number {\n if (this._requestTimeout === undefined)\n throw new PresentationError(PresentationStatus.NotInitialized, \"Presentation must be first initialized by calling Presentation.initialize\");\n return this._requestTimeout;\n }\n}\n\nfunction isSingleManagerProps(props: PresentationProps): props is SingleManagerPresentationProps {\n return !!(props as SingleManagerPresentationProps).useSingleManager;\n}\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresentationIpcHandler.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationIpcHandler.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAY,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,WAAW,EAAiC,wBAAwB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,0BAA0B,EAC/I,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AAIpC,gBAAgB;AAChB,qBAAa,sBAAuB,SAAQ,UAAW,YAAW,wBAAwB;IACjF,WAAW,SAAiC;IAEtC,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxF,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlG"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresentationIpcHandler.js","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationIpcHandler.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAC7C,sDAA2D;AAC3D,oEAGoC;AACpC,mEAA4E;AAC5E,iDAA8C;AAE9C,gBAAgB;AAChB,MAAa,sBAAuB,SAAQ,yBAAU;IAAtD;;QACS,gBAAW,GAAG,mDAA6B,CAAC;IAsBrD,CAAC;IApBQ,KAAK,CAAC,kBAAkB,CAAC,MAAqD;QACnF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACjD,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzG,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,MAAkC;QAClE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACnD,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,MAA+C;QAC/E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACxE,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE;YACb,qBAAM,CAAC,QAAQ,CAAC,yDAAiC,CAAC,GAAG,EAAE,2DAA2D,CAAC,CAAC;YAEpH,OAAO;SACR;QACD,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjJ,CAAC;CACF;AAvBD,wDAuBC","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 RPC\r\n */\r\n\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { IModelDb, IpcHandler } from \"@itwin/core-backend\";\r\nimport {\r\n NodeKeyJSON, PRESENTATION_IPC_CHANNEL_NAME, PresentationIpcInterface, RulesetVariableJSON, SetRulesetVariableParams, UnsetRulesetVariableParams,\r\n UpdateHierarchyStateParams,\r\n} from \"@itwin/presentation-common\";\r\nimport { PresentationBackendLoggerCategory } from \"./BackendLoggerCategory\";\r\nimport { Presentation } from \"./Presentation\";\r\n\r\n/** @internal */\r\nexport class PresentationIpcHandler extends IpcHandler implements PresentationIpcInterface {\r\n public channelName = PRESENTATION_IPC_CHANNEL_NAME;\r\n\r\n public async setRulesetVariable(params: SetRulesetVariableParams<RulesetVariableJSON>): Promise<void> {\r\n const { clientId, rulesetId, variable } = params;\r\n Presentation.getManager(clientId).vars(rulesetId).setValue(variable.id, variable.type, variable.value);\r\n }\r\n\r\n public async unsetRulesetVariable(params: UnsetRulesetVariableParams): Promise<void> {\r\n const { clientId, rulesetId, variableId } = params;\r\n Presentation.getManager(clientId).vars(rulesetId).unset(variableId);\r\n }\r\n\r\n public async updateHierarchyState(params: UpdateHierarchyStateParams<NodeKeyJSON>): Promise<void> {\r\n const { clientId, imodelKey, rulesetId, changeType, nodeKeys } = params;\r\n const imodelDb = IModelDb.tryFindByKey(imodelKey);\r\n if (!imodelDb) {\r\n Logger.logError(PresentationBackendLoggerCategory.Ipc, \"Could not find IModelDb to perform hierarchy state update\");\r\n\r\n return;\r\n }\r\n Presentation.getManager(clientId).getNativePlatform().updateHierarchyState(imodelDb.nativeDb, rulesetId, changeType, JSON.stringify(nodeKeys));\r\n }\r\n}\r\n"]}
|
|
@@ -69,7 +69,11 @@ export interface MemoryHierarchyCacheConfig extends HierarchyCacheConfigBase {
|
|
|
69
69
|
*/
|
|
70
70
|
export interface DiskHierarchyCacheConfig extends HierarchyCacheConfigBase {
|
|
71
71
|
mode: HierarchyCacheMode.Disk;
|
|
72
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* A directory for Presentation hierarchy cache. If set, the directory must exist.
|
|
74
|
+
*
|
|
75
|
+
* The default directory depends on the iModel and the way it's opened.
|
|
76
|
+
*/
|
|
73
77
|
directory?: string;
|
|
74
78
|
}
|
|
75
79
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,17 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
__setModuleDefault(result, mod);
|
|
26
26
|
return result;
|
|
27
27
|
};
|
|
28
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
29
|
-
var t = {};
|
|
30
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
31
|
-
t[p] = s[p];
|
|
32
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
33
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
34
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
35
|
-
t[p[i]] = s[p[i]];
|
|
36
|
-
}
|
|
37
|
-
return t;
|
|
38
|
-
};
|
|
39
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
29
|
exports.getKeysForContentRequest = exports.PresentationManager = exports.HierarchyCacheMode = exports.PresentationManagerMode = void 0;
|
|
41
30
|
const hash = __importStar(require("object-hash"));
|
|
@@ -215,14 +204,14 @@ class PresentationManager {
|
|
|
215
204
|
}
|
|
216
205
|
ensureRulesetRegistered(rulesetOrId) {
|
|
217
206
|
if (typeof rulesetOrId === "object") {
|
|
218
|
-
const rulesetWithNativeId =
|
|
207
|
+
const rulesetWithNativeId = { ...rulesetOrId, id: this.getRulesetId(rulesetOrId) };
|
|
219
208
|
return this.rulesets().add(rulesetWithNativeId).id;
|
|
220
209
|
}
|
|
221
210
|
return rulesetOrId;
|
|
222
211
|
}
|
|
223
212
|
/** Registers given ruleset and replaces the ruleset with its ID in the resulting object */
|
|
224
213
|
registerRuleset(options) {
|
|
225
|
-
const { rulesetOrId
|
|
214
|
+
const { rulesetOrId, ...strippedOptions } = options;
|
|
226
215
|
const registeredRulesetId = this.ensureRulesetRegistered(rulesetOrId);
|
|
227
216
|
return { rulesetId: registeredRulesetId, strippedOptions };
|
|
228
217
|
}
|
|
@@ -231,8 +220,13 @@ class PresentationManager {
|
|
|
231
220
|
* @public
|
|
232
221
|
*/
|
|
233
222
|
async getNodes(requestOptions) {
|
|
234
|
-
const
|
|
235
|
-
const params =
|
|
223
|
+
const { rulesetId, strippedOptions: { parentKey, ...strippedOptions } } = this.registerRuleset(requestOptions);
|
|
224
|
+
const params = {
|
|
225
|
+
requestId: parentKey ? NativePlatform_1.NativePlatformRequestTypes.GetChildren : NativePlatform_1.NativePlatformRequestTypes.GetRootNodes,
|
|
226
|
+
rulesetId,
|
|
227
|
+
...strippedOptions,
|
|
228
|
+
nodeKey: parentKey,
|
|
229
|
+
};
|
|
236
230
|
return this.request(params, presentation_common_1.Node.listReviver);
|
|
237
231
|
}
|
|
238
232
|
/**
|
|
@@ -240,8 +234,13 @@ class PresentationManager {
|
|
|
240
234
|
* @public
|
|
241
235
|
*/
|
|
242
236
|
async getNodesCount(requestOptions) {
|
|
243
|
-
const
|
|
244
|
-
const params =
|
|
237
|
+
const { rulesetId, strippedOptions: { parentKey, ...strippedOptions } } = this.registerRuleset(requestOptions);
|
|
238
|
+
const params = {
|
|
239
|
+
requestId: parentKey ? NativePlatform_1.NativePlatformRequestTypes.GetChildrenCount : NativePlatform_1.NativePlatformRequestTypes.GetRootNodesCount,
|
|
240
|
+
rulesetId,
|
|
241
|
+
...strippedOptions,
|
|
242
|
+
nodeKey: parentKey,
|
|
243
|
+
};
|
|
245
244
|
return this.request(params);
|
|
246
245
|
}
|
|
247
246
|
/**
|
|
@@ -250,8 +249,13 @@ class PresentationManager {
|
|
|
250
249
|
* @public
|
|
251
250
|
*/
|
|
252
251
|
async getNodePaths(requestOptions) {
|
|
253
|
-
const
|
|
254
|
-
const params =
|
|
252
|
+
const { rulesetId, strippedOptions: { instancePaths, ...strippedOptions } } = this.registerRuleset(requestOptions);
|
|
253
|
+
const params = {
|
|
254
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.GetNodePaths,
|
|
255
|
+
rulesetId,
|
|
256
|
+
...strippedOptions,
|
|
257
|
+
paths: instancePaths.map((p) => p.map((s) => presentation_common_1.InstanceKey.toJSON(s))),
|
|
258
|
+
};
|
|
255
259
|
return this.request(params, presentation_common_1.NodePathElement.listReviver);
|
|
256
260
|
}
|
|
257
261
|
/**
|
|
@@ -261,12 +265,20 @@ class PresentationManager {
|
|
|
261
265
|
*/
|
|
262
266
|
async getFilteredNodePaths(requestOptions) {
|
|
263
267
|
const { rulesetId, strippedOptions } = this.registerRuleset(requestOptions);
|
|
264
|
-
const params =
|
|
268
|
+
const params = {
|
|
269
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.GetFilteredNodePaths,
|
|
270
|
+
rulesetId,
|
|
271
|
+
...strippedOptions,
|
|
272
|
+
};
|
|
265
273
|
return this.request(params, presentation_common_1.NodePathElement.listReviver);
|
|
266
274
|
}
|
|
267
275
|
/** @beta */
|
|
268
276
|
async getContentSources(requestOptions) {
|
|
269
|
-
const params =
|
|
277
|
+
const params = {
|
|
278
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentSources,
|
|
279
|
+
rulesetId: "ElementProperties",
|
|
280
|
+
...requestOptions,
|
|
281
|
+
};
|
|
270
282
|
const reviver = (key, value) => {
|
|
271
283
|
return key === "" ? presentation_common_1.SelectClassInfo.listFromCompressedJSON(value.sources, value.classesMap) : value;
|
|
272
284
|
};
|
|
@@ -278,7 +290,12 @@ class PresentationManager {
|
|
|
278
290
|
*/
|
|
279
291
|
async getContentDescriptor(requestOptions) {
|
|
280
292
|
const { rulesetId, strippedOptions } = this.registerRuleset(requestOptions);
|
|
281
|
-
const params =
|
|
293
|
+
const params = {
|
|
294
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentDescriptor,
|
|
295
|
+
rulesetId,
|
|
296
|
+
...strippedOptions,
|
|
297
|
+
keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
|
|
298
|
+
};
|
|
282
299
|
const reviver = (key, value) => {
|
|
283
300
|
return key === "" ? presentation_common_1.Descriptor.fromJSON(value) : value;
|
|
284
301
|
};
|
|
@@ -289,8 +306,14 @@ class PresentationManager {
|
|
|
289
306
|
* @public
|
|
290
307
|
*/
|
|
291
308
|
async getContentSetSize(requestOptions) {
|
|
292
|
-
const
|
|
293
|
-
const params =
|
|
309
|
+
const { rulesetId, strippedOptions: { descriptor, ...strippedOptions } } = this.registerRuleset(requestOptions);
|
|
310
|
+
const params = {
|
|
311
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentSetSize,
|
|
312
|
+
rulesetId,
|
|
313
|
+
...strippedOptions,
|
|
314
|
+
keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
|
|
315
|
+
descriptorOverrides: createContentDescriptorOverrides(descriptor),
|
|
316
|
+
};
|
|
294
317
|
return this.request(params);
|
|
295
318
|
}
|
|
296
319
|
/**
|
|
@@ -298,8 +321,14 @@ class PresentationManager {
|
|
|
298
321
|
* @public
|
|
299
322
|
*/
|
|
300
323
|
async getContent(requestOptions) {
|
|
301
|
-
const
|
|
302
|
-
const params =
|
|
324
|
+
const { rulesetId, strippedOptions: { descriptor, ...strippedOptions } } = this.registerRuleset(requestOptions);
|
|
325
|
+
const params = {
|
|
326
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.GetContent,
|
|
327
|
+
rulesetId,
|
|
328
|
+
...strippedOptions,
|
|
329
|
+
keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
|
|
330
|
+
descriptorOverrides: createContentDescriptorOverrides(descriptor),
|
|
331
|
+
};
|
|
303
332
|
return this.request(params, presentation_common_1.Content.reviver);
|
|
304
333
|
}
|
|
305
334
|
/**
|
|
@@ -311,8 +340,14 @@ class PresentationManager {
|
|
|
311
340
|
*/
|
|
312
341
|
async getPagedDistinctValues(requestOptions) {
|
|
313
342
|
const { rulesetId, strippedOptions } = this.registerRuleset(requestOptions);
|
|
314
|
-
const { descriptor, keys
|
|
315
|
-
const params =
|
|
343
|
+
const { descriptor, keys, ...strippedOptionsNoDescriptorAndKeys } = strippedOptions;
|
|
344
|
+
const params = {
|
|
345
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.GetPagedDistinctValues,
|
|
346
|
+
rulesetId,
|
|
347
|
+
...strippedOptionsNoDescriptorAndKeys,
|
|
348
|
+
keys: getKeysForContentRequest(keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
|
|
349
|
+
descriptorOverrides: createContentDescriptorOverrides(descriptor),
|
|
350
|
+
};
|
|
316
351
|
const reviver = (key, value) => {
|
|
317
352
|
return key === "" ? {
|
|
318
353
|
total: value.total,
|
|
@@ -326,11 +361,16 @@ class PresentationManager {
|
|
|
326
361
|
* @beta
|
|
327
362
|
*/
|
|
328
363
|
async getElementProperties(requestOptions) {
|
|
329
|
-
const { elementId
|
|
330
|
-
const content = await this.getContent(
|
|
364
|
+
const { elementId, ...optionsNoElementId } = requestOptions;
|
|
365
|
+
const content = await this.getContent({
|
|
366
|
+
...optionsNoElementId,
|
|
367
|
+
descriptor: {
|
|
331
368
|
displayType: presentation_common_1.DefaultContentDisplayTypes.PropertyPane,
|
|
332
369
|
contentFlags: presentation_common_1.ContentFlags.ShowLabels,
|
|
333
|
-
},
|
|
370
|
+
},
|
|
371
|
+
rulesetOrId: "ElementProperties",
|
|
372
|
+
keys: new presentation_common_1.KeySet([{ className: "BisCore:Element", id: elementId }]),
|
|
373
|
+
});
|
|
334
374
|
return (0, ElementPropertiesHelper_1.buildElementProperties)(content);
|
|
335
375
|
}
|
|
336
376
|
/**
|
|
@@ -338,7 +378,11 @@ class PresentationManager {
|
|
|
338
378
|
* @public
|
|
339
379
|
*/
|
|
340
380
|
async getDisplayLabelDefinition(requestOptions) {
|
|
341
|
-
const params =
|
|
381
|
+
const params = {
|
|
382
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.GetDisplayLabel,
|
|
383
|
+
...requestOptions,
|
|
384
|
+
key: presentation_common_1.InstanceKey.toJSON(requestOptions.key),
|
|
385
|
+
};
|
|
342
386
|
return this.request(params, presentation_common_1.LabelDefinition.reviver);
|
|
343
387
|
}
|
|
344
388
|
/**
|
|
@@ -351,10 +395,15 @@ class PresentationManager {
|
|
|
351
395
|
return (0, Utils_1.getElementKey)(requestOptions.imodel, k.id);
|
|
352
396
|
return k;
|
|
353
397
|
}).filter((k) => !!k);
|
|
354
|
-
const contentRequestOptions =
|
|
398
|
+
const contentRequestOptions = {
|
|
399
|
+
...requestOptions,
|
|
400
|
+
rulesetOrId: "RulesDrivenECPresentationManager_RulesetId_DisplayLabel",
|
|
401
|
+
descriptor: {
|
|
355
402
|
displayType: presentation_common_1.DefaultContentDisplayTypes.List,
|
|
356
403
|
contentFlags: presentation_common_1.ContentFlags.ShowLabels | presentation_common_1.ContentFlags.NoFields,
|
|
357
|
-
},
|
|
404
|
+
},
|
|
405
|
+
keys: new presentation_common_1.KeySet(concreteKeys),
|
|
406
|
+
};
|
|
358
407
|
const content = await this.getContent(contentRequestOptions);
|
|
359
408
|
return concreteKeys.map((key) => {
|
|
360
409
|
const item = content ? content.contentSet.find((it) => it.primaryKeys.length > 0 && presentation_common_1.InstanceKey.compare(it.primaryKeys[0], key) === 0) : undefined;
|
|
@@ -375,19 +424,23 @@ class PresentationManager {
|
|
|
375
424
|
* @public
|
|
376
425
|
*/
|
|
377
426
|
async computeSelection(requestOptions) {
|
|
378
|
-
const { ids, scopeId
|
|
427
|
+
const { ids, scopeId, ...opts } = requestOptions; // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
379
428
|
return SelectionScopesHelper_1.SelectionScopesHelper.computeSelection(opts, ids, scopeId);
|
|
380
429
|
}
|
|
381
430
|
async request(params, reviver) {
|
|
382
|
-
const { requestId, imodel, locale, unitSystem, diagnostics
|
|
431
|
+
const { requestId, imodel, locale, unitSystem, diagnostics, ...strippedParams } = params;
|
|
383
432
|
const imodelAddon = this.getNativePlatform().getImodelAddon(imodel);
|
|
384
433
|
const nativeRequestParams = {
|
|
385
434
|
requestId,
|
|
386
|
-
params:
|
|
435
|
+
params: {
|
|
436
|
+
locale: normalizeLocale(locale !== null && locale !== void 0 ? locale : this.activeLocale),
|
|
437
|
+
unitSystem: toOptionalNativeUnitSystem(unitSystem !== null && unitSystem !== void 0 ? unitSystem : this.activeUnitSystem),
|
|
438
|
+
...strippedParams,
|
|
439
|
+
},
|
|
387
440
|
};
|
|
388
441
|
let diagnosticsListener;
|
|
389
442
|
if (diagnostics) {
|
|
390
|
-
const { handler: tempDiagnosticsListener
|
|
443
|
+
const { handler: tempDiagnosticsListener, ...diagnosticsOptions } = diagnostics;
|
|
391
444
|
diagnosticsListener = tempDiagnosticsListener;
|
|
392
445
|
nativeRequestParams.params.diagnostics = diagnosticsOptions;
|
|
393
446
|
}
|
|
@@ -403,14 +456,22 @@ class PresentationManager {
|
|
|
403
456
|
var _a, _b;
|
|
404
457
|
if (!requestOptions.prev.rulesetOrId && !requestOptions.prev.rulesetVariables)
|
|
405
458
|
return { changes: [] };
|
|
406
|
-
const
|
|
459
|
+
const { strippedOptions: { prev, rulesetVariables, ...options } } = this.registerRuleset(requestOptions);
|
|
407
460
|
const currRulesetId = this.getRulesetIdObject(requestOptions.rulesetOrId);
|
|
408
461
|
const prevRulesetId = prev.rulesetOrId ? this.getRulesetIdObject(prev.rulesetOrId) : currRulesetId;
|
|
409
462
|
if (prevRulesetId.parts.id !== currRulesetId.parts.id)
|
|
410
463
|
throw new presentation_common_1.PresentationError(presentation_common_1.PresentationStatus.InvalidArgument, "Can't compare rulesets with different IDs");
|
|
411
464
|
const currRulesetVariables = rulesetVariables !== null && rulesetVariables !== void 0 ? rulesetVariables : [];
|
|
412
465
|
const prevRulesetVariables = (_a = prev.rulesetVariables) !== null && _a !== void 0 ? _a : currRulesetVariables;
|
|
413
|
-
const params =
|
|
466
|
+
const params = {
|
|
467
|
+
requestId: NativePlatform_1.NativePlatformRequestTypes.CompareHierarchies,
|
|
468
|
+
...options,
|
|
469
|
+
prevRulesetId: prevRulesetId.uniqueId,
|
|
470
|
+
currRulesetId: currRulesetId.uniqueId,
|
|
471
|
+
prevRulesetVariables: JSON.stringify(prevRulesetVariables),
|
|
472
|
+
currRulesetVariables: JSON.stringify(currRulesetVariables),
|
|
473
|
+
expandedNodeKeys: JSON.stringify((_b = options.expandedNodeKeys) !== null && _b !== void 0 ? _b : []),
|
|
474
|
+
};
|
|
414
475
|
return this.request(params, (key, value) => ((key === "") ? presentation_common_1.HierarchyCompareInfo.fromJSON(value) : value));
|
|
415
476
|
}
|
|
416
477
|
}
|
|
@@ -518,9 +579,9 @@ const toNativeUnitFormatsMap = (map) => {
|
|
|
518
579
|
};
|
|
519
580
|
const createCacheConfig = (config) => {
|
|
520
581
|
if ((config === null || config === void 0 ? void 0 : config.mode) === HierarchyCacheMode.Disk)
|
|
521
|
-
return
|
|
582
|
+
return { ...config, directory: normalizeDirectory(config.directory) };
|
|
522
583
|
if ((config === null || config === void 0 ? void 0 : config.mode) === HierarchyCacheMode.Hybrid)
|
|
523
|
-
return
|
|
584
|
+
return { ...config, disk: config.disk ? { ...config.disk, directory: normalizeDirectory(config.disk.directory) } : undefined };
|
|
524
585
|
if ((config === null || config === void 0 ? void 0 : config.mode) === HierarchyCacheMode.Memory)
|
|
525
586
|
return config;
|
|
526
587
|
return { mode: HierarchyCacheMode.Disk, directory: "" };
|