@itwin/core-backend 5.1.1 → 5.1.3-experimental.1
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 +11 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +19 -5
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.js.map +1 -1
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.js.map +1 -1
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/ExternalSource.js.map +1 -1
- package/lib/cjs/FontFile.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeographicCRSServices.js.map +1 -1
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +22 -2
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +23 -3
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.js.map +1 -1
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +57 -10
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +76 -13
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/internal/HubMock.js.map +1 -1
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/annotations/fields.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.d.ts.map +1 -1
- package/lib/esm/BriefcaseManager.js +20 -6
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementGraphics.js.map +1 -1
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/EntityReferences.js.map +1 -1
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/ExternalSource.js.map +1 -1
- package/lib/esm/FontFile.js.map +1 -1
- package/lib/esm/GeoCoordConfig.js.map +1 -1
- package/lib/esm/GeographicCRSServices.js.map +1 -1
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +22 -2
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +23 -3
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.js.map +1 -1
- package/lib/esm/LocalHub.js.map +1 -1
- package/lib/esm/LocalhostIpcHost.js.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +57 -10
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +77 -14
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.js.map +1 -1
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/internal/HubMock.js.map +1 -1
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/annotations/fields.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/AdvancedEqual.js.map +1 -1
- package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
- package/lib/esm/test/AttachDb.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.js.map +1 -1
- package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
- package/lib/esm/test/categories/Category.test.js.map +1 -1
- package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
- package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/font/FontFile.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.d.ts +2 -0
- package/lib/esm/test/hubaccess/Rebase.test.d.ts.map +1 -0
- package/lib/esm/test/hubaccess/Rebase.test.js +172 -0
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -0
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
- package/lib/esm/test/rpc/response.test.js.map +1 -1
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js +10 -10
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/Setting.test.js.map +1 -1
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Texture.test.js.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +13 -13
package/lib/esm/ViewStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewStore.js","sourceRoot":"","sources":["../../src/ViewStore.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 ViewDefinitions\r\n */\r\n\r\nimport { CompressedId64Set, GuidString, Id64, Id64Array, Id64String, Logger, MarkRequired, Optional } from \"@itwin/core-bentley\";\r\nimport {\r\n CategorySelectorProps, DisplayStyle3dSettingsProps, DisplayStyleLoadProps, DisplayStyleProps, DisplayStyleSettingsProps,\r\n DisplayStyleSubCategoryProps, ElementProps, IModel, ModelSelectorProps, PlanProjectionSettingsProps, RenderSchedule,\r\n RenderTimelineProps, SpatialViewDefinitionProps, ThumbnailFormatProps, ThumbnailProps, ViewDefinitionProps, ViewStoreError, ViewStoreRpc,\r\n} from \"@itwin/core-common\";\r\nimport { CloudSqlite } from \"./CloudSqlite\";\r\nimport { VersionedSqliteDb } from \"./SQLiteDb\";\r\nimport { SqliteStatement } from \"./SqliteStatement\";\r\nimport { IModelDb } from \"./IModelDb\";\r\nimport { Category } from \"./Category\";\r\nimport { Model } from \"./Model\";\r\nimport { Entity } from \"./Entity\";\r\nimport { BlobContainer } from \"./BlobContainerService\";\r\nimport { _nativeDb } from \"./internal/Symbols\";\r\nimport { ECSqlStatement } from \"./ECSqlStatement\";\r\n\r\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\r\n\r\n// cspell:ignore nocase rowid\r\n\r\n/**\r\n * A ViewStore is a database that stores Views and related data. It is used to store and retrieve views for iTwin.js.\r\n * It can either be a local SQLite file, or a CloudSqlite database stored in a cloud container. To use a CloudSqlite\r\n * database, you must first create a container in Blob Storage and then call [[ViewStore.CloudAccess.initializeDb]].\r\n *\r\n * A ViewStore can hold:\r\n * - Views\r\n * - DisplayStyles\r\n * - CategorySelectors\r\n * - ModelSelectors\r\n * - RenderTimelines\r\n * - Searches\r\n * - Tags\r\n * - Thumbnails\r\n * - ViewGroups\r\n *\r\n * Views are added to a ViewStore via ViewDefinitionProps that may hold references to a DisplayStyle, CategorySelector, ModelSelector, or RenderTimeline.\r\n * Before storing a View, you must first add any referenced DisplayStyles, CategorySelectors, ModelSelectors, and RenderTimelines to the\r\n * ViewStore. The \"add\" methods return a string that uniquely identifies the object in the ViewStore.\r\n * You should set the ViewDefinitionProps's displayStyle, categorySelector, modelSelector, or renderTimeline member to the returned string.\r\n * When you load a ViewDefinition from the ViewStore, the member may be used to load the DisplayStyle, CategorySelector,\r\n * ModelSelector, RenderTimeline, etc.\r\n *\r\n * A IdString is a string that uniquely identifies a row in one of the ViewStore's internal tables. The string holds a base-36 integer\r\n * that starts with \"@\" (vs. \"0x\" for ElementIds). For example, if you store a DisplayStyle and it is assigned the ViewStore Id \"@y1\", then you\r\n * should set the ViewDefinitionProps's displayStyle member to \"@y1\". When you load the ViewDefinition from the ViewStore, the \"@Y1\" may be used to\r\n * alo load the DisplayStyle from the ViewStore.\r\n *\r\n * Views are organized into hierarchical ViewGroups (like file and folder hierarchies on a file system). A View is always stored \"in\" a ViewGroup, and\r\n * views must have a name that is unique within the ViewGroup. ViewGroups may each have a default ViewId.\r\n * The root ViewGroup is named \"Root\" and has a RowId of 1. The root ViewGroup can not be deleted.\r\n * View names and ViewGroup names may not contain either \"/\" or \"@\". ViewGroups are stored in the \"viewGroups\" table.\r\n *\r\n * Views may be \"tagged\" with one or more Tags. Tags are named with an arbitrary string that can be used to group Views. A Tag may\r\n * be associated with multiple Views, and a View may have multiple Tags. Tags are stored in the \"tags\" table.\r\n *\r\n * Views may optionally have a thumbnail, paired via the View's Id. Thumbnails are stored in the \"thumbnails\" table.\r\n *\r\n * Note: All ElementIds and ModelIds in ModelSelectors, CategorySelectors, DisplayStyles, Timelines, etc. are converted to guid-based identifiers when stored in the ViewStore.\r\n * They are then remapped back to their Ids when loaded from the ViewStore. This allows the ViewStore to be used with more than one iModel,\r\n * provided that the same Guids are used in each iModel. This is done by storing the set of unique Guids in the \"guids\" table, and then\r\n * creating a reference to the row in the \"guids\" table via the special Id prefix \"^\". For example, if a category selector contains the\r\n * Id \"0x123\", then the guid from element 0x123 is stored in the \"guids\" table, and the category selector is stored with the rowId of the entry\r\n * in the guid table (e.g. \"^1w\"). When the category selector is loaded from the ViewStore, the guid is looked up in the \"guids\" table and\r\n * the iModel is queried for the element with that guid. That element's Id (which may or may not be 0x123) is then returned in the category selector.\r\n *\r\n * @beta\r\n */\r\nexport namespace ViewStore {\r\n\r\n export const tableName = {\r\n categorySelectors: \"categorySelectors\",\r\n displayStyles: \"displayStyles\",\r\n viewGroups: \"viewGroups\",\r\n guids: \"guids\",\r\n modelSelectors: \"modelSelectors\",\r\n taggedViews: \"taggedViews\",\r\n tags: \"tags\",\r\n thumbnails: \"thumbnails\",\r\n timelines: \"timelines\",\r\n searches: \"searches\",\r\n views: \"views\",\r\n } as const;\r\n\r\n /** data for a Thumbnail */\r\n type ThumbnailData = Uint8Array;\r\n\r\n /** A row in a table. 0 means \"not present\" */\r\n export type RowId = number;\r\n\r\n /** a string representation of a row in a table of a ViewStore. Will be a base-36 integer with a leading \"@\" (e.g.\"@4e3\") */\r\n type RowString = string;\r\n\r\n /** a string representation of a row in the Guid table. Will be a base-36 integer with a leading \"^\" (e.g.\"^4e3\") */\r\n type GuidRowString = string;\r\n\r\n /** common properties for all tables */\r\n interface TableRow {\r\n name?: string;\r\n json: string;\r\n owner?: string;\r\n }\r\n type DisplayStyleRow = TableRow;\r\n type SelectorRow = TableRow;\r\n type TagRow = TableRow;\r\n type SearchRow = TableRow;\r\n type TimelineRow = TableRow;\r\n\r\n /** a row in the \"views\" table */\r\n interface ViewRow extends MarkRequired<TableRow, \"name\"> {\r\n className: string;\r\n groupId: RowId;\r\n isPrivate?: boolean;\r\n modelSel?: RowId;\r\n categorySel: RowId;\r\n displayStyle: RowId;\r\n }\r\n\r\n /** a row in the \"viewGroups\" table */\r\n interface ViewGroupRow extends MarkRequired<TableRow, \"name\"> {\r\n parentId: RowId;\r\n defaultViewId?: RowId;\r\n }\r\n\r\n /** a row in the \"thumbnails\" table */\r\n interface ThumbnailRow {\r\n viewId: RowId;\r\n data: ThumbnailData;\r\n format: ThumbnailFormatProps;\r\n owner?: string;\r\n }\r\n\r\n /** convert a RowId to a RowString (base-36 integer with a leading \"@\") */\r\n export const fromRowId = (rowId: RowId): RowString => {\r\n return `@${rowId.toString(36)}`;\r\n };\r\n /** convert a guid RowId to a GuidRowString (base-36 integer with a leading \"^\") */\r\n const guidRowToString = (rowId: RowId): GuidRowString => {\r\n return `^${rowId.toString(36)}`;\r\n };\r\n\r\n /** determine if a string is a guid row string (base-36 integer with a leading \"^\") */\r\n const isGuidRowString = (id?: string) => true === id?.startsWith(\"^\");\r\n\r\n type RowIdOrString = RowId | RowString;\r\n\r\n /** @internal */\r\n export const toRowId = (id: RowIdOrString): RowId => {\r\n if (typeof id === \"number\")\r\n return id;\r\n\r\n if (!ViewStoreRpc.isViewStoreId(id) && !isGuidRowString(id))\r\n ViewStoreError.throwError(\"invalid-value\", { message: `invalid value: ${id}` });\r\n return parseInt(id.slice(1), 36);\r\n };\r\n\r\n const maybeToRowId = (id?: RowIdOrString) => undefined === id ? undefined : toRowId(id);\r\n const cloneProps = <T extends object>(from: T) => JSON.parse(JSON.stringify(from)) as T;\r\n\r\n const blankElementProps = (from: any, classFullName: string, idString: RowIdOrString, name?: string): ElementProps => {\r\n from.id = fromRowId(toRowId(idString));\r\n from.classFullName = classFullName;\r\n from.model = IModel.dictionaryId;\r\n from.code = { spec: \"0x1\", scope: \"0x1\", value: name };\r\n return from;\r\n };\r\n const validateName = (name: string, msg: string) => {\r\n if (name.trim().length === 0 || (/[@^#<>:\"/\\\\\"`'|?*\\u0000-\\u001F]/g.test(name)))\r\n ViewStoreError.throwError(\"invalid-value\", { message: `illegal ${msg} name \"${name}\"` });\r\n };\r\n\r\n export const defaultViewGroupId = 1;\r\n\r\n export interface ViewDbCtorArgs {\r\n guidMap?: IModelDb.GuidMapper;\r\n iModel?: IModelDb;\r\n }\r\n\r\n export class ViewDb extends VersionedSqliteDb implements ViewStoreRpc.Writer, ReadMethods {\r\n public override myVersion = \"4.0.0\";\r\n private _iModel?: IModelDb;\r\n private _guidMap?: IModelDb.GuidMapper;\r\n public get guidMap(): IModelDb.GuidMapper { return this._guidMap!; }\r\n public set guidMap(guidMap: IModelDb.GuidMapper) { this._guidMap = guidMap; }\r\n public get iModel(): IModelDb { return this._iModel!; }\r\n public set iModel(iModel: IModelDb) { this._iModel = iModel; }\r\n\r\n public constructor(arg?: ViewDbCtorArgs) {\r\n super();\r\n this._iModel = arg?.iModel;\r\n this._guidMap = arg?.guidMap ?? this._iModel?.elements; // this is only so tests can mock guids\r\n }\r\n\r\n /** create all the tables for a new ViewDb */\r\n protected override createDDL() {\r\n const baseCols = \"Id INTEGER PRIMARY KEY AUTOINCREMENT,json TEXT,owner TEXT\";\r\n this.createTable({\r\n tableName: tableName.views,\r\n columns: `${baseCols},name TEXT NOT NULL COLLATE NOCASE,className TEXT NOT NULL,private BOOLEAN NOT NULL,` +\r\n `groupId INTEGER NOT NULL REFERENCES ${tableName.viewGroups}(Id) ON DELETE CASCADE, ` +\r\n `modelSel INTEGER REFERENCES ${tableName.modelSelectors}(Id), ` +\r\n `categorySel INTEGER NOT NULL REFERENCES ${tableName.categorySelectors}(Id), ` +\r\n `displayStyle INTEGER NOT NULL REFERENCES ${tableName.displayStyles}(Id)`,\r\n constraints: \"UNIQUE(groupId,name)\",\r\n addTimestamp: true,\r\n });\r\n this.createTable({\r\n tableName: tableName.viewGroups,\r\n columns: `${baseCols},name TEXT NOT NULL COLLATE NOCASE,parent INTEGER NOT NULL REFERENCES ${tableName.viewGroups}(Id) ON DELETE CASCADE` +\r\n `,defaultViewId INTEGER REFERENCES ${tableName.views}(Id)`,\r\n constraints: \"UNIQUE(parent,name)\",\r\n addTimestamp: true,\r\n });\r\n\r\n // for tables that have a \"name\" column, we want to enforce case-insensitive uniqueness. Names may be null.\r\n const makeTable = (table: string, extra?: string) => {\r\n this.createTable({ tableName: table, columns: `${baseCols},name TEXT UNIQUE COLLATE NOCASE${extra ?? \"\"}`, addTimestamp: true });\r\n };\r\n\r\n makeTable(tableName.modelSelectors);\r\n makeTable(tableName.categorySelectors);\r\n makeTable(tableName.displayStyles);\r\n makeTable(tableName.timelines);\r\n makeTable(tableName.tags);\r\n makeTable(tableName.searches);\r\n this.createTable({ tableName: tableName.thumbnails, columns: `Id INTEGER PRIMARY KEY REFERENCES ${tableName.views} (Id) ON DELETE CASCADE,json,owner,data BLOB NOT NULL` });\r\n this.createTable({\r\n tableName: tableName.taggedViews, columns: `viewId INTEGER NOT NULL REFERENCES ${tableName.views} (Id) ON DELETE CASCADE,` +\r\n `tagId INTEGER NOT NULL REFERENCES ${tableName.tags} (Id) ON DELETE CASCADE`,\r\n constraints: `UNIQUE(tagId,viewId)`,\r\n });\r\n this.createTable({ tableName: tableName.guids, columns: `guid BLOB NOT NULL UNIQUE` });\r\n this.addViewGroupRow({ name: \"Root\", json: JSON.stringify({}) });\r\n }\r\n\r\n /** get the row in the \"guids\" table for a given guid. If the guid is not present, return 0 */\r\n private getGuidRow(guid: GuidString): RowId {\r\n return this.withPreparedSqliteStatement(`SELECT rowId FROM ${tableName.guids} WHERE guid=?`, (stmt) => {\r\n stmt.bindGuid(1, guid);\r\n return !stmt.nextRow() ? 0 : stmt.getValueInteger(0);\r\n });\r\n }\r\n /** @internal */\r\n public getGuid(rowid: RowId): GuidString | undefined {\r\n return this.withSqliteStatement(`SELECT guid FROM ${tableName.guids} WHERE rowId=?`, (stmt) => {\r\n stmt.bindInteger(1, rowid);\r\n return !stmt.nextRow() ? undefined : stmt.getValueGuid(0);\r\n });\r\n }\r\n /** @internal */\r\n public iterateGuids(rowIds: RowId[], fn: (guid: GuidString, row: RowId) => void) {\r\n this.withSqliteStatement(`SELECT guid FROM ${tableName.guids} WHERE rowId=?`, (stmt) => {\r\n for (const rowId of rowIds) {\r\n stmt.reset();\r\n stmt.bindInteger(1, rowId);\r\n if (stmt.nextRow())\r\n fn(stmt.getValueGuid(0), rowId);\r\n }\r\n });\r\n }\r\n\r\n /** @internal */\r\n public addGuid(guid: GuidString): RowId {\r\n const existing = this.getGuidRow(guid);\r\n return existing !== 0 ? existing : this.withPreparedSqliteStatement(`INSERT INTO ${tableName.guids} (guid) VALUES(?)`, (stmt) => {\r\n stmt.bindGuid(1, guid);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n\r\n /** @internal */\r\n public addViewRow(args: ViewRow): RowId {\r\n validateName(args.name, \"view\");\r\n return this.withSqliteStatement(`INSERT INTO ${tableName.views} (className,name,json,owner,private,groupId,modelSel,categorySel,displayStyle) VALUES(?,?,?,?,?,?,?,?,?)`, (stmt) => {\r\n stmt.bindString(1, args.className);\r\n stmt.bindString(2, args.name);\r\n stmt.bindString(3, args.json);\r\n stmt.maybeBindString(4, args.owner);\r\n stmt.bindBoolean(5, args.isPrivate ?? false);\r\n stmt.bindInteger(6, args.groupId ?? 1);\r\n stmt.maybeBindInteger(7, args.modelSel);\r\n stmt.bindInteger(8, args.categorySel);\r\n stmt.bindInteger(9, args.displayStyle);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n\r\n /** @internal */\r\n public addViewGroupRow(args: Optional<ViewGroupRow, \"parentId\">): RowId {\r\n validateName(args.name, \"group\");\r\n return this.withSqliteStatement(`INSERT INTO ${tableName.viewGroups} (name,owner,parent,json) VALUES(?,?,?,?)`, (stmt) => {\r\n stmt.bindString(1, args.name);\r\n stmt.maybeBindString(2, args.owner);\r\n stmt.bindInteger(3, args.parentId ?? 1);\r\n stmt.bindString(4, args.json);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n\r\n private addTableRow(table: string, args: TableRow): RowId {\r\n return this.withSqliteStatement(`INSERT INTO ${table} (name,json,owner) VALUES(?,?,?)`, (stmt) => {\r\n stmt.maybeBindString(1, args.name);\r\n stmt.bindString(2, args.json);\r\n stmt.maybeBindString(3, args.owner);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n /** add a row to the \"modelSelectors\" table, return the RowId\r\n * @internal\r\n */\r\n public addModelSelectorRow(args: SelectorRow): RowId {\r\n return this.addTableRow(tableName.modelSelectors, args);\r\n }\r\n /** add a row to the \"categorySelectors\" table, return the RowId\r\n * @internal\r\n */\r\n public addCategorySelectorRow(args: SelectorRow): RowId { // for tests\r\n return this.addTableRow(tableName.categorySelectors, args);\r\n }\r\n /** add a row to the \"displayStyles\" table, return the RowId\r\n * @internal\r\n */\r\n public addDisplayStyleRow(args: DisplayStyleRow): RowId {\r\n return this.addTableRow(tableName.displayStyles, args);\r\n }\r\n /** add a row to the \"timelines\" table, return the RowId\r\n * @internal\r\n */\r\n public addTimelineRow(args: TimelineRow): RowId {\r\n return this.addTableRow(tableName.timelines, args);\r\n }\r\n /** add a row to the \"tags\" table, return the RowId\r\n * @internal\r\n */\r\n public addTag(args: TagRow): RowId {\r\n return this.addTableRow(tableName.tags, args);\r\n }\r\n /** add a row to the \"searches\" table, return the RowId\r\n * @internal\r\n */\r\n public async addSearch(args: SearchRow): Promise<RowId> {\r\n return this.addTableRow(tableName.searches, args);\r\n }\r\n\r\n /** add or update a row in the \"thumbnails\" table, return the RowId\r\n * @internal\r\n */\r\n public addOrReplaceThumbnailRow(args: ThumbnailRow): RowId {\r\n return this.withSqliteStatement(`INSERT OR REPLACE INTO ${tableName.thumbnails} (Id,json,owner,data) VALUES(?,?,?,?)`, (stmt) => {\r\n stmt.bindInteger(1, args.viewId);\r\n stmt.bindString(2, JSON.stringify(args.format));\r\n stmt.maybeBindString(3, args.owner);\r\n stmt.bindBlob(4, args.data);\r\n stmt.stepForWrite();\r\n return this[_nativeDb].getLastInsertRowId();\r\n });\r\n }\r\n\r\n private deleteFromTable(table: string, id: RowIdOrString): void {\r\n this.withSqliteStatement(`DELETE FROM ${table} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, toRowId(id));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** @internal */\r\n public deleteViewRow(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.views, id);\r\n }\r\n public async deleteViewGroup(args: { name: ViewStoreRpc.ViewGroupSpec }) {\r\n const rowId = this.findViewGroup(args.name);\r\n if (rowId === 1)\r\n ViewStoreError.throwError(\"group-error\", { message: \"Cannot delete root group\" });\r\n return this.deleteFromTable(tableName.viewGroups, rowId);\r\n }\r\n public deleteModelSelectorSync(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.modelSelectors, id);\r\n }\r\n public async deleteModelSelector(args: { id: RowIdOrString }): Promise<void> {\r\n return this.deleteModelSelectorSync(args.id);\r\n }\r\n public deleteCategorySelectorSync(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.categorySelectors, id);\r\n }\r\n public deleteDisplayStyleSync(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.displayStyles, id);\r\n }\r\n public deleteTimelineSync(id: RowIdOrString) {\r\n return this.deleteFromTable(tableName.timelines, id);\r\n }\r\n public deleteTagSync(arg: { name: ViewStoreRpc.TagName }) {\r\n const id = this.findTagByName(arg.name);\r\n return this.deleteFromTable(tableName.tags, id);\r\n }\r\n public async deleteTag(arg: { name: ViewStoreRpc.TagName }) {\r\n return this.deleteTagSync(arg);\r\n }\r\n public async deleteCategorySelector(args: { id: RowIdOrString }): Promise<void> {\r\n return this.deleteCategorySelectorSync(args.id);\r\n }\r\n public async deleteDisplayStyle(args: { id: RowIdOrString }): Promise<void> {\r\n return this.deleteDisplayStyleSync(args.id);\r\n }\r\n public async deleteTimeline(args: { id: RowIdOrString }): Promise<void> {\r\n return this.deleteTimelineSync(args.id);\r\n }\r\n public deleteSearch(id: RowId) {\r\n return this.deleteFromTable(tableName.searches, id);\r\n }\r\n public deleteThumbnailSync(id: RowString) {\r\n return this.deleteFromTable(tableName.thumbnails, toRowId(id));\r\n }\r\n public async deleteThumbnail(arg: { viewId: RowString }) {\r\n return this.deleteThumbnailSync(arg.viewId);\r\n }\r\n /** get the data for a view from the database\r\n * @internal\r\n */\r\n public getViewRow(viewId: RowId): undefined | ViewRow {\r\n return this.withSqliteStatement(`SELECT className,name,json,owner,private,groupId,modelSel,categorySel,displayStyle FROM ${tableName.views} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, viewId);\r\n return !stmt.nextRow() ? undefined : {\r\n className: stmt.getValueString(0),\r\n name: stmt.getValueString(1),\r\n json: stmt.getValueString(2),\r\n owner: stmt.getValueStringMaybe(3),\r\n isPrivate: stmt.getValueBoolean(4),\r\n groupId: stmt.getValueInteger(5),\r\n modelSel: stmt.getValueIntegerMaybe(6),\r\n categorySel: stmt.getValueInteger(7),\r\n displayStyle: stmt.getValueInteger(8),\r\n };\r\n });\r\n }\r\n /** @internal */\r\n public getThumbnailRow(viewId: RowId): undefined | ThumbnailRow {\r\n return this.withSqliteStatement(`SELECT json,owner,data FROM ${tableName.thumbnails} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, viewId);\r\n return !stmt.nextRow() ? undefined : {\r\n viewId,\r\n format: JSON.parse(stmt.getValueString(0)),\r\n owner: stmt.getValueStringMaybe(1),\r\n data: stmt.getValueBlob(2),\r\n };\r\n });\r\n }\r\n /** @internal */\r\n public getViewGroup(id: RowId): ViewGroupRow | undefined {\r\n return this.withSqliteStatement(`SELECT name,owner,json,parent,defaultViewId FROM ${tableName.viewGroups} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, id);\r\n return !stmt.nextRow() ? undefined : {\r\n name: stmt.getValueString(0),\r\n owner: stmt.getValueStringMaybe(1),\r\n json: stmt.getValueString(2),\r\n parentId: stmt.getValueInteger(3),\r\n defaultViewId: stmt.getValueIntegerMaybe(4),\r\n };\r\n });\r\n }\r\n\r\n private getTableRow(table: string, id: RowId): SelectorRow | undefined {\r\n return this.withSqliteStatement(`SELECT name,json,owner FROM ${table} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, id);\r\n return !stmt.nextRow() ? undefined : {\r\n name: stmt.getValueStringMaybe(0),\r\n json: stmt.getValueString(1),\r\n owner: stmt.getValueStringMaybe(2),\r\n };\r\n });\r\n }\r\n\r\n /** read a ModelSelector given a rowId\r\n * @internal\r\n */\r\n public getModelSelectorRow(id: RowId): SelectorRow | undefined {\r\n return this.getTableRow(tableName.modelSelectors, id);\r\n }\r\n /** read a CategorySelector given a rowId\r\n * @internal\r\n */\r\n public getCategorySelectorRow(id: RowId): SelectorRow | undefined {\r\n return this.getTableRow(tableName.categorySelectors, id);\r\n }\r\n /** read a DisplayStyle given a rowId\r\n * @internal\r\n */\r\n public getDisplayStyleRow(id: RowId): DisplayStyleRow | undefined {\r\n return this.getTableRow(tableName.displayStyles, id);\r\n }\r\n /** @internal */\r\n public getTimelineRow(id: RowId): TimelineRow | undefined {\r\n return this.getTableRow(tableName.timelines, id);\r\n }\r\n /** @internal */\r\n public getTag(id: RowId): TagRow | undefined {\r\n return this.getTableRow(tableName.tags, id);\r\n }\r\n /** @internal */\r\n public getSearch(id: RowId): SearchRow | undefined {\r\n return this.getTableRow(tableName.searches, id);\r\n }\r\n\r\n private updateJson(table: string, id: RowIdOrString, json: string) {\r\n this.withSqliteStatement(`UPDATE ${table} SET json=? WHERE Id=?`, (stmt) => {\r\n stmt.bindString(1, json);\r\n stmt.bindInteger(2, toRowId(id));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n public async updateViewShared(arg: { viewId: RowIdOrString, isShared: boolean, owner?: string }): Promise<void> {\r\n if (!arg.isShared && arg.owner === undefined)\r\n ViewStoreError.throwError(\"no-owner\", { message: \"owner must be defined for private views\" });\r\n\r\n this.withSqliteStatement(`UPDATE ${tableName.views} SET private=?,owner=? WHERE Id=?`, (stmt) => {\r\n stmt.bindBoolean(1, !arg.isShared);\r\n stmt.maybeBindString(2, arg.owner);\r\n stmt.bindInteger(3, toRowId(arg.viewId));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** @internal */\r\n public updateViewGroupJson(groupId: RowIdOrString, json: string) {\r\n return this.updateJson(tableName.viewGroups, groupId, json);\r\n }\r\n /** @internal */\r\n public updateModelSelectorJson(modelSelectorId: RowIdOrString, json: string) {\r\n return this.updateJson(tableName.modelSelectors, modelSelectorId, json);\r\n }\r\n /** @internal */\r\n public updateCategorySelectorJson(categorySelectorId: RowIdOrString, json: string) {\r\n return this.updateJson(tableName.categorySelectors, categorySelectorId, json);\r\n }\r\n /** @internal */\r\n public updateDisplayStyleJson(styleId: RowId, json: string) {\r\n return this.updateJson(tableName.displayStyles, styleId, json);\r\n }\r\n /** @internal */\r\n public updateTimelineJson(timelineId: RowId, json: string) {\r\n return this.updateJson(tableName.timelines, timelineId, json);\r\n }\r\n /** @internal */\r\n public updateSearchJson(searchId: RowId, json: string) {\r\n return this.updateJson(tableName.searches, searchId, json);\r\n }\r\n private updateName(table: string, id: RowIdOrString, name?: string) {\r\n this.withSqliteStatement(`UPDATE ${table} SET name=? WHERE Id=?`, (stmt) => {\r\n stmt.maybeBindString(1, name);\r\n stmt.bindInteger(2, toRowId(id));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n public async renameView(args: { viewId: RowIdOrString, name: string }): Promise<void> {\r\n return this.updateName(tableName.views, args.viewId, args.name);\r\n }\r\n public async renameViewGroup(args: { groupId: RowIdOrString, name: string }): Promise<void> {\r\n return this.updateName(tableName.viewGroups, args.groupId, args.name);\r\n }\r\n public async renameModelSelector(args: { id: RowIdOrString, name?: string }): Promise<void> {\r\n return this.updateName(tableName.modelSelectors, args.id, args.name);\r\n }\r\n public async renameCategorySelector(args: { id: RowIdOrString, name?: string }): Promise<void> {\r\n return this.updateName(tableName.categorySelectors, args.id, args.name);\r\n }\r\n public async renameDisplayStyle(args: { id: RowIdOrString, name?: string }): Promise<void> {\r\n return this.updateName(tableName.displayStyles, args.id, args.name);\r\n }\r\n public async renameTimeline(args: { id: RowIdOrString, name?: string }): Promise<void> {\r\n return this.updateName(tableName.timelines, args.id, args.name);\r\n }\r\n public async renameSearch(args: { id: RowIdOrString, name: string }): Promise<void> {\r\n return this.updateName(tableName.searches, args.id, args.name);\r\n }\r\n public async renameTag(args: { oldName: string, newName: string }): Promise<void> {\r\n this.withSqliteStatement(`UPDATE ${tableName.tags} SET name=? WHERE name=?`, (stmt) => {\r\n stmt.bindString(1, args.newName);\r\n stmt.bindString(2, args.oldName);\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** @internal */\r\n public addTagToView(args: { viewId: RowId, tagId: RowId }) {\r\n this.withSqliteStatement(`INSERT OR IGNORE INTO ${tableName.taggedViews} (viewId,tagId) VALUES(?,?)`, (stmt) => {\r\n stmt.bindInteger(1, args.viewId);\r\n stmt.bindInteger(2, args.tagId);\r\n stmt.stepForWrite();\r\n });\r\n }\r\n private deleteViewTag(args: { viewId: RowId, tagId: RowId }): void {\r\n this.withSqliteStatement(`DELETE FROM ${tableName.taggedViews} WHERE viewId=? AND tagId=?`, (stmt) => {\r\n stmt.bindInteger(1, args.viewId);\r\n stmt.bindInteger(2, args.tagId);\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** @internal */\r\n public findViewsForTag(tagId: RowId): RowId[] {\r\n return this.withSqliteStatement(`SELECT viewId FROM ${tableName.taggedViews} WHERE tagId=?`, (stmt) => {\r\n stmt.bindInteger(1, tagId);\r\n const list: RowId[] = [];\r\n while (stmt.nextRow())\r\n list.push(stmt.getValueInteger(0));\r\n return list;\r\n });\r\n }\r\n private findByName(table: string, name: string): RowId {\r\n return this.withSqliteStatement(`SELECT Id FROM ${table} WHERE name=?`, (stmt) => {\r\n stmt.bindString(1, name);\r\n return !stmt.nextRow() ? 0 : stmt.getValueInteger(0);\r\n });\r\n }\r\n /** @internal */\r\n public getViewGroupByName(name: string, parentId: RowId): RowId {\r\n return this.withSqliteStatement(`SELECT Id FROM ${tableName.viewGroups} WHERE name=? AND parent=?`, (stmt) => {\r\n stmt.bindString(1, name);\r\n stmt.bindInteger(2, parentId);\r\n return !stmt.nextRow() ? 0 : stmt.getValueInteger(0);\r\n });\r\n }\r\n /** @internal */\r\n public findModelSelectorByName(name: string): RowId {\r\n return this.findByName(tableName.modelSelectors, name);\r\n }\r\n /** @internal */\r\n public findCategorySelectorByName(name: string): RowId {\r\n return this.findByName(tableName.categorySelectors, name);\r\n }\r\n /** @internal */\r\n public findDisplayStyleByName(name: string): RowId {\r\n return this.findByName(tableName.displayStyles, name);\r\n }\r\n /** @internal */\r\n public findTagByName(name: string): RowId {\r\n return this.findByName(tableName.tags, name);\r\n }\r\n /** @internal */\r\n public findTimelineByName(name: string): RowId {\r\n return this.findByName(tableName.timelines, name);\r\n }\r\n /** @internal */\r\n public findSearchByName(name: string): RowId {\r\n return this.findByName(tableName.searches, name);\r\n }\r\n\r\n private getViewInfoSync(id: RowIdOrString): ViewStoreRpc.ViewInfo | undefined {\r\n const maybeId = (rowId?: RowId): string | undefined => rowId ? fromRowId(rowId) : undefined;\r\n return this.withPreparedSqliteStatement(`SELECT owner,className,name,private,groupId,modelSel,categorySel,displayStyle FROM ${tableName.views} WHERE id=?`, (stmt) => {\r\n const viewId = toRowId(id);\r\n stmt.bindInteger(1, viewId);\r\n return stmt.nextRow() ? {\r\n id: fromRowId(viewId),\r\n owner: stmt.getValueString(0),\r\n className: stmt.getValueString(1),\r\n name: stmt.getValueStringMaybe(2),\r\n isPrivate: stmt.getValueBoolean(3),\r\n groupId: fromRowId(stmt.getValueInteger(4)),\r\n modelSelectorId: maybeId(stmt.getValueInteger(5)),\r\n categorySelectorId: fromRowId(stmt.getValueInteger(6)),\r\n displayStyleId: fromRowId(stmt.getValueInteger(7)),\r\n tags: this.getTagsForView(viewId),\r\n } : undefined;\r\n });\r\n }\r\n public async getViewInfo(args: { viewId: RowIdOrString }): Promise<ViewStoreRpc.ViewInfo | undefined> {\r\n return this.getViewInfoSync(args.viewId);\r\n }\r\n\r\n public async findViewsByOwner(args: { owner: string }): Promise<ViewStoreRpc.ViewInfo[]> {\r\n const list: ViewStoreRpc.ViewInfo[] = [];\r\n this.withSqliteStatement(`SELECT Id FROM ${tableName.views} WHERE owner=? ORDER BY Id ASC`, (stmt) => {\r\n stmt.bindString(1, args.owner);\r\n while (stmt.nextRow()) {\r\n const info = this.getViewInfoSync(stmt.getValueInteger(0));\r\n if (info)\r\n list.push(info);\r\n }\r\n });\r\n return list;\r\n }\r\n\r\n /** @internal */\r\n public findTagIdsForView(viewId: RowId): RowId[] {\r\n return this.withSqliteStatement(`SELECT tagId FROM ${tableName.taggedViews} WHERE viewId=?`, (stmt) => {\r\n stmt.bindInteger(1, viewId);\r\n const list: RowId[] = [];\r\n while (stmt.nextRow())\r\n list.push(stmt.getValueInteger(0));\r\n return list;\r\n });\r\n }\r\n\r\n private toGuidRow(id?: Id64String): RowId | undefined {\r\n if (undefined === id)\r\n return undefined;\r\n const fedGuid = this.guidMap.getFederationGuidFromId(id);\r\n return fedGuid ? this.addGuid(fedGuid) : undefined;\r\n }\r\n private toCompressedGuidRows(ids: Id64String[] | CompressedId64Set): CompressedId64Set {\r\n const result = new Set<Id64String>();\r\n for (const id of (typeof ids === \"string\" ? CompressedId64Set.iterable(ids) : ids)) {\r\n const guidRow = this.toGuidRow(id);\r\n if (undefined !== guidRow)\r\n result.add(Id64.fromLocalAndBriefcaseIds(guidRow, 0));\r\n }\r\n return CompressedId64Set.compressSet(result);\r\n }\r\n private fromGuidRow(guidRow: RowId): Id64String | undefined {\r\n return this.guidMap.getIdFromFederationGuid(this.getGuid(guidRow));\r\n }\r\n private fromGuidRowString(id?: string) {\r\n return (typeof id !== \"string\" || !isGuidRowString(id)) ? id : this.fromGuidRow(toRowId(id));\r\n }\r\n\r\n private iterateCompressedGuidRows(guidRows: unknown, callback: (id: Id64String) => void) {\r\n if (typeof guidRows !== \"string\")\r\n return;\r\n for (const rowId64String of CompressedId64Set.iterable(guidRows)) {\r\n const elId = this.fromGuidRow(Id64.getLocalId(rowId64String));\r\n if (undefined !== elId)\r\n callback(elId);\r\n }\r\n }\r\n private fromCompressedGuidRows(guidRows: CompressedId64Set): CompressedId64Set {\r\n const result = new Set<Id64String>();\r\n this.iterateCompressedGuidRows(guidRows, (id) => result.add(id));\r\n return CompressedId64Set.compressSet(result);\r\n }\r\n private toGuidRowMember(base: any, memberName: string) {\r\n const id = base?.[memberName];\r\n if (id === undefined)\r\n return;\r\n\r\n if (typeof id === \"string\") {\r\n if (isGuidRowString(id)) {\r\n // member is already a guid row. Make sure it exists.\r\n if (undefined === this.getGuid(toRowId(id)))\r\n ViewStoreError.throwError(\"invalid-member\", { message: `${memberName} id does not exist` });\r\n return;\r\n }\r\n const guidRow = this.toGuidRow(id);\r\n if (undefined !== guidRow) {\r\n base[memberName] = guidRowToString(guidRow);\r\n return;\r\n }\r\n }\r\n ViewStoreError.throwError(\"invalid-member\", { message: `invalid ${memberName}: ${id} ` });\r\n }\r\n\r\n private fromGuidRowMember(base: any, memberName: string) {\r\n const id = base?.[memberName];\r\n if (id === undefined)\r\n return;\r\n if (typeof id === \"string\" && isGuidRowString(id)) {\r\n const elId = this.fromGuidRow(toRowId(id));\r\n if (undefined !== elId) {\r\n base[memberName] = elId;\r\n return;\r\n }\r\n }\r\n ViewStoreError.throwError(\"invalid-member\", { message: `invalid ${memberName}: ${id} ` });\r\n }\r\n\r\n private verifyRowId(table: string, rowIdString: RowString): RowId {\r\n try {\r\n const rowId = toRowId(rowIdString);\r\n this.withSqliteStatement(`SELECT 1 FROM ${table} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, rowId);\r\n if (!stmt.nextRow())\r\n ViewStoreError.throwError(\"not-found\", { message: `missing: ${rowIdString} ` });\r\n });\r\n return rowId;\r\n } catch (err: any) {\r\n ViewStoreError.throwError(\"invalid-value\", { message: `invalid Id for ${table}: ${err.message} ` });\r\n }\r\n }\r\n private scriptToGuids(script: RenderSchedule.ScriptProps): RenderSchedule.ScriptProps {\r\n const scriptProps: RenderSchedule.ScriptProps = [];\r\n for (const model of script) {\r\n const modelGuidRow = this.toGuidRow(model.modelId);\r\n if (modelGuidRow) {\r\n model.modelId = guidRowToString(modelGuidRow);\r\n scriptProps.push(model);\r\n for (const batch of model.elementTimelines)\r\n batch.elementIds = this.toCompressedGuidRows(batch.elementIds);\r\n }\r\n }\r\n return scriptProps;\r\n }\r\n private scriptFromGuids(script: RenderSchedule.ScriptProps, omitElementIds: boolean): RenderSchedule.ScriptProps {\r\n const scriptProps: RenderSchedule.ScriptProps = [];\r\n for (const model of script) {\r\n const modelId = this.fromGuidRow(toRowId(model.modelId));\r\n if (modelId) {\r\n model.modelId = modelId;\r\n scriptProps.push(model);\r\n for (const batch of model.elementTimelines) {\r\n if (undefined !== batch.elementIds)\r\n batch.elementIds = omitElementIds ? \"\" : this.fromCompressedGuidRows(batch.elementIds as CompressedId64Set);\r\n }\r\n }\r\n }\r\n return scriptProps;\r\n }\r\n\r\n public async addViewGroup(args: { name: string, parentId?: RowString, owner?: string }): Promise<RowString> {\r\n const parentId = args.parentId ? this.findViewGroup(args.parentId) : defaultViewGroupId;\r\n const json = JSON.stringify({});\r\n return fromRowId(this.addViewGroupRow({ name: args.name, parentId, json, owner: args.owner }));\r\n }\r\n public async getViewGroups(args: { parent?: ViewStoreRpc.ViewGroupSpec }) {\r\n const parentIdRow = args.parent ? this.findViewGroup(args.parent) : defaultViewGroupId;\r\n const groups: { id: string, name: string }[] = [];\r\n this.withSqliteStatement(`SELECT Id,Name FROM ${tableName.viewGroups} WHERE parent=?`, (stmt) => {\r\n stmt.bindInteger(1, parentIdRow);\r\n while (stmt.nextRow()) {\r\n const id = stmt.getValueInteger(0);\r\n if (id !== defaultViewGroupId) // don't include root group\r\n groups.push({ id: fromRowId(id), name: stmt.getValueString(1) });\r\n }\r\n });\r\n return groups;\r\n }\r\n\r\n private makeSelectorJson(props: ViewStoreRpc.SelectorProps, entity: typeof Entity) {\r\n const selector = { ...props }; // shallow copy\r\n if (selector.query) {\r\n selector.query = { ...selector.query }; // shallow copy\r\n selector.query.from = selector.query.from.toLowerCase().replace(\".\", \":\").replace(\"bis:\", \"biscore:\");\r\n if (!this.iModel.getJsClass(selector.query.from).is(entity))\r\n ViewStoreError.throwError(\"invalid-value\", { message: `query must select from ${entity.classFullName}` });\r\n if (selector.query.adds)\r\n selector.query.adds = this.toCompressedGuidRows(selector.query.adds);\r\n if (selector.query.removes)\r\n selector.query.removes = this.toCompressedGuidRows(selector.query.removes);\r\n } else {\r\n if (!(selector.ids.length))\r\n ViewStoreError.throwError(\"invalid-value\", { message: `Selector must specify at least one ${entity.className}` });\r\n selector.ids = this.toCompressedGuidRows(selector.ids);\r\n }\r\n\r\n return JSON.stringify(selector);\r\n }\r\n\r\n private querySelectorValues(json: unknown, bindings?: any[] | object): Id64Array {\r\n if (typeof json !== \"object\")\r\n ViewStoreError.throwError(\"invalid-value\", { message: \"invalid selector\" });\r\n\r\n const props = json as ViewStoreRpc.SelectorProps;\r\n if (!props.query) {\r\n // there's no query, so the ids are the list of elements\r\n return (typeof props.ids === \"string\") ? CompressedId64Set.decompressArray(this.fromCompressedGuidRows(props.ids)) : [];\r\n }\r\n\r\n const query = props.query;\r\n const sql = `SELECT ECInstanceId FROM ${query.only ? \"ONLY \" : \"\"}${query.from}${query.where ? ` WHERE ${query.where}` : \"\"}`;\r\n\r\n const ids = new Set<string>();\r\n try {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n this.iModel.withPreparedStatement(sql, (stmt: ECSqlStatement) => {\r\n if (bindings)\r\n stmt.bindValues(bindings);\r\n for (const el of stmt) {\r\n if (typeof el.id === \"string\")\r\n ids.add(el.id);\r\n }\r\n });\r\n this.iterateCompressedGuidRows(props.query.adds, (id) => ids.add(id));\r\n this.iterateCompressedGuidRows(props.query.removes, (id) => ids.delete(id)); // removes take precedence over adds\r\n } catch (err: any) {\r\n Logger.logError(\"ViewStore\", `querySelectorValues: ${err.message}`);\r\n }\r\n return [...ids];\r\n }\r\n\r\n public async addCategorySelector(args: { name?: string, selector: ViewStoreRpc.SelectorProps, owner?: string }): Promise<RowString> {\r\n const json = this.makeSelectorJson(args.selector, Category);\r\n return fromRowId(this.addCategorySelectorRow({ name: args.name, owner: args.owner, json }));\r\n }\r\n public async updateCategorySelector(args: ViewStoreRpc.NameOrId & { selector: ViewStoreRpc.SelectorProps }): Promise<void> {\r\n const rowId = this.getRowId(tableName.categorySelectors, args);\r\n const json = this.makeSelectorJson(args.selector, Category);\r\n return this.updateCategorySelectorJson(rowId, json);\r\n }\r\n\r\n private getRowId(table: string, arg: ViewStoreRpc.NameOrId): RowId {\r\n return undefined !== arg.name ? this.findByName(table, arg.name) : toRowId(arg.id);\r\n }\r\n\r\n /** @internal */\r\n public getCategorySelectorSync(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): CategorySelectorProps {\r\n const rowId = this.getRowId(tableName.categorySelectors, args);\r\n const row = this.getCategorySelectorRow(rowId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"CategorySelector not found\" });\r\n\r\n const props = blankElementProps({}, \"BisCore:CategorySelector\", rowId, row.name) as CategorySelectorProps;\r\n props.categories = this.querySelectorValues(JSON.parse(row.json), args.bindings);\r\n return props;\r\n }\r\n public async getCategorySelector(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): Promise<CategorySelectorProps> {\r\n return this.getCategorySelectorSync(args);\r\n }\r\n\r\n public async addModelSelector(args: { name?: string, selector: ViewStoreRpc.SelectorProps, owner?: string }): Promise<RowString> {\r\n const json = this.makeSelectorJson(args.selector, Model);\r\n return fromRowId(this.addModelSelectorRow({ name: args.name, owner: args.owner, json }));\r\n }\r\n public async updateModelSelector(args: ViewStoreRpc.NameOrId & { selector: ViewStoreRpc.SelectorProps }): Promise<void> {\r\n const rowId = this.getRowId(tableName.modelSelectors, args);\r\n const json = this.makeSelectorJson(args.selector, Model);\r\n return this.updateModelSelectorJson(rowId, json);\r\n }\r\n\r\n public getModelSelectorSync(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): ModelSelectorProps {\r\n const rowId = this.getRowId(tableName.modelSelectors, args);\r\n const row = this.getModelSelectorRow(rowId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"ModelSelector not found\" });\r\n\r\n const props = blankElementProps({}, \"BisCore:ModelSelector\", rowId, row?.name) as ModelSelectorProps;\r\n props.models = this.querySelectorValues(JSON.parse(row.json), args.bindings);\r\n return props;\r\n }\r\n public async getModelSelector(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): Promise<ModelSelectorProps> {\r\n return this.getModelSelectorSync(args);\r\n }\r\n private makeTimelineJson(timeline: RenderSchedule.ScriptProps): string {\r\n timeline = cloneProps(timeline);\r\n if (!Array.isArray(timeline))\r\n ViewStoreError.throwError(\"not-found\", { message: \"Timeline has no entries\" });\r\n\r\n return JSON.stringify(this.scriptToGuids(timeline));\r\n }\r\n public async addTimeline(args: { name?: string, timeline: RenderSchedule.ScriptProps, owner?: string }): Promise<RowString> {\r\n const json = this.makeTimelineJson(args.timeline);\r\n return fromRowId(this.addTimelineRow({ name: args.name, owner: args.owner, json }));\r\n }\r\n public async updateTimeline(args: ViewStoreRpc.NameOrId & { timeline: RenderSchedule.ScriptProps }): Promise<void> {\r\n const rowId = this.getRowId(tableName.timelines, args);\r\n const json = this.makeTimelineJson(args.timeline);\r\n return this.updateTimelineJson(rowId, json);\r\n }\r\n\r\n public getTimelineSync(args: ViewStoreRpc.NameOrId): RenderTimelineProps {\r\n const rowId = this.getRowId(tableName.timelines, args);\r\n const row = this.getTimelineRow(rowId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"Timeline not found\" });\r\n\r\n const props = blankElementProps({}, \"BisCore:RenderTimeline\", rowId, row?.name) as RenderTimelineProps;\r\n props.script = JSON.stringify(this.scriptFromGuids(JSON.parse(row.json), false));\r\n return props;\r\n }\r\n public async getTimeline(args: ViewStoreRpc.NameOrId): Promise<RenderTimelineProps> {\r\n return this.getTimelineSync(args);\r\n }\r\n\r\n /** make a JSON string for a DisplayStyle */\r\n private makeDisplayStyleJson(args: { className: string, settings: DisplayStyleSettingsProps }): string {\r\n const settings = cloneProps(args.settings); // don't modify input\r\n if (settings.subCategoryOvr) {\r\n const outOvr: DisplayStyleSubCategoryProps[] = [];\r\n for (const ovr of settings.subCategoryOvr) {\r\n const subCategoryGuidRow = this.toGuidRow(ovr.subCategory);\r\n if (subCategoryGuidRow) {\r\n ovr.subCategory = guidRowToString(subCategoryGuidRow);\r\n outOvr.push(ovr);\r\n }\r\n }\r\n settings.subCategoryOvr = outOvr;\r\n }\r\n\r\n if (settings.excludedElements)\r\n settings.excludedElements = this.toCompressedGuidRows(settings.excludedElements);\r\n\r\n const settings3d = settings as DisplayStyle3dSettingsProps;\r\n if (settings3d.planProjections) {\r\n const planProjections = {} as { [modelId: string]: PlanProjectionSettingsProps };\r\n for (const entry of Object.entries(settings3d.planProjections)) {\r\n const modelGuidRow = this.toGuidRow(entry[0]);\r\n if (modelGuidRow)\r\n planProjections[guidRowToString(modelGuidRow)] = entry[1];\r\n }\r\n settings3d.planProjections = planProjections;\r\n }\r\n\r\n if (settings.renderTimeline) {\r\n if (!ViewStoreRpc.isViewStoreId(settings.renderTimeline))\r\n this.toGuidRowMember(settings, \"renderTimeline\");\r\n delete settings.scheduleScript;\r\n } else if (settings.scheduleScript) {\r\n const scriptProps = this.scriptToGuids(settings.scheduleScript);\r\n if (scriptProps.length > 0)\r\n settings.scheduleScript = scriptProps;\r\n }\r\n return JSON.stringify({ settings, className: args.className });\r\n }\r\n public async addDisplayStyle(args: { name?: string, className: string, settings: DisplayStyleSettingsProps, owner?: string }): Promise<RowString> {\r\n const json = this.makeDisplayStyleJson(args);\r\n return fromRowId(this.addDisplayStyleRow({ name: args.name, owner: args.owner, json }));\r\n }\r\n public async updateDisplayStyle(args: ViewStoreRpc.NameOrId & { className: string, settings: DisplayStyleSettingsProps }): Promise<void> {\r\n const rowId = this.getRowId(tableName.displayStyles, args);\r\n const json = this.makeDisplayStyleJson(args);\r\n return this.updateDisplayStyleJson(rowId, json);\r\n }\r\n public getDisplayStyleSync(args: ViewStoreRpc.NameOrId & { opts?: DisplayStyleLoadProps }): DisplayStyleProps {\r\n const rowId = this.getRowId(tableName.displayStyles, args);\r\n const row = this.getDisplayStyleRow(rowId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"DisplayStyle not found\" });\r\n\r\n const val = JSON.parse(row.json) as { settings: DisplayStyle3dSettingsProps, className: string };\r\n const props = blankElementProps({}, val.className, rowId, row.name);\r\n props.jsonProperties = { styles: val.settings };\r\n const settings = val.settings;\r\n if (settings.subCategoryOvr) {\r\n const subCatOvr: DisplayStyleSubCategoryProps[] = [];\r\n for (const ovr of settings.subCategoryOvr) {\r\n const id = this.fromGuidRowString(ovr.subCategory);\r\n if (undefined !== id) {\r\n ovr.subCategory = id;\r\n subCatOvr.push(ovr);\r\n }\r\n }\r\n settings.subCategoryOvr = subCatOvr;\r\n }\r\n\r\n if (settings.excludedElements)\r\n settings.excludedElements = this.fromCompressedGuidRows(settings.excludedElements as CompressedId64Set);\r\n\r\n const settings3d = settings;\r\n if (settings3d.planProjections) {\r\n const planProjections = {} as { [modelId: string]: PlanProjectionSettingsProps };\r\n for (const entry of Object.entries(settings3d.planProjections)) {\r\n const modelId = this.fromGuidRowString(entry[0]);\r\n if (undefined !== modelId)\r\n planProjections[modelId] = entry[1];\r\n }\r\n settings3d.planProjections = planProjections;\r\n }\r\n\r\n if (isGuidRowString(settings.renderTimeline))\r\n settings.renderTimeline = this.fromGuidRowString(settings.renderTimeline);\r\n\r\n if (undefined !== settings.renderTimeline) {\r\n delete settings.scheduleScript;\r\n } else if (settings.scheduleScript) {\r\n delete settings.renderTimeline;\r\n settings.scheduleScript = this.scriptFromGuids(settings.scheduleScript, args.opts?.omitScheduleScriptElementIds === true);\r\n }\r\n\r\n return props;\r\n }\r\n public async getDisplayStyle(args: ViewStoreRpc.NameOrId & { opts?: DisplayStyleLoadProps }): Promise<DisplayStyleProps> {\r\n return this.getDisplayStyleSync(args);\r\n }\r\n\r\n private makeViewDefinitionProps(viewDefinition: ViewDefinitionProps) {\r\n const viewDef = cloneProps(viewDefinition); // don't modify input\r\n this.verifyRowId(tableName.categorySelectors, viewDef.categorySelectorId);\r\n this.verifyRowId(tableName.displayStyles, viewDef.displayStyleId);\r\n if ((viewDef as SpatialViewDefinitionProps).modelSelectorId)\r\n this.verifyRowId(tableName.modelSelectors, (viewDef as SpatialViewDefinitionProps).modelSelectorId);\r\n\r\n this.toGuidRowMember(viewDef, \"baseModelId\");\r\n this.toGuidRowMember(viewDef.jsonProperties?.viewDetails, \"acs\");\r\n const props = viewDef as Partial<ViewDefinitionProps>;\r\n delete props.id;\r\n delete props.federationGuid;\r\n delete props.parent;\r\n delete props.code;\r\n delete props.model;\r\n return viewDef;\r\n }\r\n\r\n private addViewDefinition(args: { readonly viewDefinition: ViewDefinitionProps, group?: ViewStoreRpc.ViewGroupSpec, owner?: string, isPrivate?: boolean }): RowId {\r\n const name = args.viewDefinition.code.value;\r\n if (name === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"ViewDefinition must have a name\" });\r\n const groupId = args.group ? this.findViewGroup(args.group) : defaultViewGroupId;\r\n const maybeRow = (rowString: RowString) => rowString ? toRowId(rowString) : undefined;\r\n const viewDef = this.makeViewDefinitionProps(args.viewDefinition);\r\n\r\n try {\r\n return this.addViewRow({\r\n name,\r\n className: viewDef.classFullName,\r\n owner: args.owner,\r\n groupId,\r\n isPrivate: args.isPrivate,\r\n json: JSON.stringify(viewDef),\r\n modelSel: maybeRow((viewDef as SpatialViewDefinitionProps).modelSelectorId),\r\n categorySel: toRowId(viewDef.categorySelectorId),\r\n displayStyle: toRowId(viewDef.displayStyleId),\r\n });\r\n } catch (e) {\r\n const err = e as SqliteStatement.DbError;\r\n if (err.errorId === \"DuplicateValue\")\r\n err.message = `View \"${name}\" already exists`;\r\n throw e;\r\n }\r\n }\r\n\r\n public async updateViewDefinition(args: { viewId: RowIdOrString, viewDefinition: ViewDefinitionProps }): Promise<void> {\r\n const maybeRow = (rowString: RowString) => rowString ? toRowId(rowString) : undefined;\r\n const viewDef = this.makeViewDefinitionProps(args.viewDefinition);\r\n\r\n this.withSqliteStatement(`UPDATE ${tableName.views} SET json=?,modelSel=?,categorySel=?,displayStyle=? WHERE Id=?`, (stmt) => {\r\n stmt.bindString(1, JSON.stringify(viewDef));\r\n stmt.maybeBindInteger(2, maybeRow((viewDef as SpatialViewDefinitionProps).modelSelectorId));\r\n stmt.bindInteger(3, toRowId(viewDef.categorySelectorId));\r\n stmt.bindInteger(4, toRowId(viewDef.displayStyleId));\r\n stmt.bindInteger(5, toRowId(args.viewId));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n\r\n public getViewDefinitionSync(args: { viewId: RowIdOrString }): ViewDefinitionProps {\r\n const viewId = toRowId(args.viewId);\r\n const row = this.getViewRow(viewId);\r\n if (undefined === row)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View not found\" });\r\n\r\n const props = blankElementProps(JSON.parse(row.json), row.className, viewId, row.name) as ViewDefinitionProps;\r\n this.fromGuidRowMember(props, \"baseModelId\");\r\n this.fromGuidRowMember(props.jsonProperties?.viewDetails, \"acs\");\r\n return props;\r\n }\r\n public async getViewDefinition(args: { viewId: RowIdOrString }): Promise<ViewDefinitionProps> {\r\n return this.getViewDefinitionSync(args);\r\n }\r\n\r\n public async addOrReplaceThumbnail(args: { viewId: RowIdOrString, readonly thumbnail: ThumbnailProps, owner?: string }) {\r\n const viewRow = this.getViewRow(toRowId(args.viewId));\r\n if (viewRow === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View not found\" });\r\n const format: ThumbnailFormatProps = { format: args.thumbnail.format, height: args.thumbnail.height, width: args.thumbnail.width };\r\n this.addOrReplaceThumbnailRow({ data: args.thumbnail.image, viewId: toRowId(args.viewId), format, owner: args.owner });\r\n }\r\n\r\n public getThumbnailSync(args: { viewId: RowIdOrString }): ThumbnailProps | undefined {\r\n const row = this.getThumbnailRow(toRowId(args.viewId));\r\n return row ? { image: row.data, format: row.format.format, height: row.format.height, width: row.format.width } : undefined;\r\n }\r\n public async getThumbnail(args: { viewId: RowIdOrString }): Promise<ThumbnailProps | undefined> {\r\n return this.getThumbnailSync(args);\r\n }\r\n\r\n /** find a group with the specified name using path syntax (e.g., \"group1/design/issues\"). If the group does not exist, return 0.\r\n * If groupName starts with \"@\", then it is considered to be a group id and this function verifies that it exists and throws if it does not.\r\n */\r\n public findViewGroup(groupName: ViewStoreRpc.ViewGroupSpec): RowId {\r\n // if it starts with \"@\", then it is a group id\r\n if (groupName.startsWith(\"@\"))\r\n return this.verifyRowId(tableName.viewGroups, groupName);\r\n\r\n // split the name into parts using \"/\" as the separator\r\n const names = groupName.split(\"/\");\r\n let groupId = 1; // start at root group\r\n for (const name of names) {\r\n if (name.length !== 0) {\r\n groupId = this.getViewGroupByName(name, groupId);\r\n if (groupId === 0)\r\n return 0;\r\n }\r\n }\r\n return groupId;\r\n }\r\n\r\n /**\r\n * find a view by name using path syntax (e.g., \"group1/design/issues/issue113\"). If the view does not exist, return 0.\r\n * If a groupId is specified, then the view is searched for in that group and the name should not contain a path.\r\n * @internal\r\n */\r\n public findViewIdByName(arg: { name: string, groupId?: RowIdOrString }): RowId {\r\n let name = arg.name;\r\n let groupId = arg.groupId;\r\n if (groupId === undefined) {\r\n // find last \"/\" in name\r\n const slash = name.lastIndexOf(\"/\");\r\n if (slash !== -1) {\r\n groupId = this.findViewGroup(name.slice(0, slash));\r\n name = name.slice(slash + 1);\r\n }\r\n }\r\n return this.withSqliteStatement(`SELECT Id FROM ${tableName.views} WHERE name=? AND groupId=?`, (stmt) => {\r\n stmt.bindString(1, name);\r\n stmt.bindInteger(2, maybeToRowId(groupId) ?? defaultViewGroupId);\r\n return !stmt.nextRow() ? 0 : stmt.getValueInteger(0);\r\n });\r\n }\r\n public getViewByNameSync(arg: { name: ViewStoreRpc.ViewName, groupId?: RowIdOrString }): ViewStoreRpc.ViewInfo | undefined {\r\n const id = this.findViewIdByName(arg);\r\n return id ? this.getViewInfoSync(id) : undefined;\r\n }\r\n public async getViewByName(arg: { name: ViewStoreRpc.ViewName, groupId?: RowIdOrString }): Promise<ViewStoreRpc.ViewInfo | undefined> {\r\n return this.getViewByNameSync(arg);\r\n }\r\n\r\n public async getViewGroupInfo(args: { groupId?: ViewStoreRpc.IdString }): Promise<ViewStoreRpc.ViewGroupInfo | undefined> {\r\n const groupId = args.groupId ? this.findViewGroup(args.groupId) : defaultViewGroupId;\r\n const groupRow = groupId ? this.getViewGroup(groupId) : undefined;\r\n if (groupRow === undefined)\r\n return undefined;\r\n const info: ViewStoreRpc.ViewGroupInfo = {\r\n id: fromRowId(groupId),\r\n name: groupRow.name,\r\n defaultView: groupRow.defaultViewId ? fromRowId(groupRow.defaultViewId) : undefined,\r\n parent: fromRowId(groupRow.parentId),\r\n };\r\n return info;\r\n }\r\n\r\n public async changeDefaultViewId(args: { defaultView: RowIdOrString, group?: ViewStoreRpc.ViewGroupSpec }) {\r\n const groupId = args.group ? this.findViewGroup(args.group) : defaultViewGroupId;\r\n const viewRow = this.getViewRow(toRowId(args.defaultView));\r\n if (viewRow === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View not found\" });\r\n if (viewRow.groupId !== groupId)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View is not in the specified group\" });\r\n const groupRow = this.getViewGroup(groupId);\r\n if (groupRow === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View group not found\" });\r\n this.withSqliteStatement(`UPDATE ${tableName.viewGroups} SET defaultViewId=? WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, groupId);\r\n stmt.bindInteger(2, toRowId(args.defaultView));\r\n stmt.stepForWrite();\r\n });\r\n }\r\n /** get the array of tags for the specified view. Returns undefined if the view has no tags. */\r\n public getTagsForView(viewId: RowIdOrString): ViewStoreRpc.TagName[] | undefined {\r\n const tags: ViewStoreRpc.TagName[] = [];\r\n this.withPreparedSqliteStatement(`SELECT t.name FROM ${tableName.tags} t JOIN ${tableName.taggedViews} v ON t.Id = v.tagId WHERE v.viewId=?`, (stmt) => {\r\n stmt.bindInteger(1, toRowId(viewId));\r\n while (stmt.nextRow())\r\n tags.push(stmt.getValueString(0));\r\n });\r\n return tags.length === 0 ? undefined : tags;\r\n }\r\n\r\n private iterateViewQuery(queryParams: ViewStoreRpc.QueryParams, callback: (rowId: RowId) => void) {\r\n const groupId = queryParams.group ? this.findViewGroup(queryParams.group) : defaultViewGroupId;\r\n let sql = `SELECT Id,className,name,owner,private FROM ${tableName.views} WHERE groupId=? ${queryParams.owner ? \" AND (owner=@owner OR private!=1)\" : \" AND private!=1\"}`;\r\n if (queryParams.classNames)\r\n sql += ` AND className IN(${queryParams.classNames.map((className) => `'${className}'`).join(\",\")})`;\r\n if (queryParams.nameSearch)\r\n sql += ` AND name ${queryParams.nameCompare ?? \"=\"} @name`;\r\n if (queryParams.tags)\r\n sql += ` AND Id IN(SELECT viewId FROM ${tableName.taggedViews} WHERE tagId IN(SELECT Id FROM ${tableName.tags} WHERE name IN(${queryParams.tags.map((tag) => `'${tag}'`).join(\",\")})))`;\r\n sql += \" ORDER BY name\";\r\n if (queryParams.limit)\r\n sql += ` LIMIT ${queryParams.limit} `;\r\n if (queryParams.offset)\r\n sql += ` OFFSET ${queryParams.offset} `;\r\n\r\n this.withSqliteStatement(sql, (stmt) => {\r\n stmt.bindInteger(1, groupId);\r\n if (queryParams.nameSearch)\r\n stmt.bindString(\"@name\", queryParams.nameSearch);\r\n if (queryParams.owner)\r\n stmt.bindString(\"@owner\", queryParams.owner);\r\n\r\n while (stmt.nextRow())\r\n callback(stmt.getValueInteger(0));\r\n });\r\n }\r\n\r\n public queryViewsSync(queryParams: ViewStoreRpc.QueryParams): ViewStoreRpc.ViewInfo[] {\r\n const entries: ViewStoreRpc.ViewInfo[] = [];\r\n this.iterateViewQuery(queryParams, (rowId) => {\r\n const view = this.getViewInfoSync(rowId);\r\n if (view !== undefined)\r\n entries.push(view);\r\n });\r\n return entries;\r\n }\r\n public async queryViews(queryParams: ViewStoreRpc.QueryParams): Promise<ViewStoreRpc.ViewInfo[]> {\r\n return this.queryViewsSync(queryParams);\r\n }\r\n\r\n public async addTagsToView(args: { viewId: RowIdOrString, tags: string[], owner?: string }) {\r\n const viewId = toRowId(args.viewId);\r\n for (const tag of args.tags) {\r\n let tagId = this.findTagByName(tag);\r\n if (tagId === 0)\r\n tagId = this.addTag({ name: tag, owner: args.owner, json: \"{}\" });\r\n this.addTagToView({ viewId, tagId });\r\n }\r\n }\r\n public async removeTagFromView(args: { viewId: RowIdOrString, tag: string }) {\r\n const viewId = toRowId(args.viewId);\r\n const tagId = this.findTagByName(args.tag);\r\n if (tagId !== 0)\r\n this.deleteViewTag({ viewId, tagId });\r\n }\r\n\r\n public async addView(args: ViewStoreRpc.AddViewArgs): Promise<ViewStoreRpc.IdString> {\r\n const owner = args.owner;\r\n if (ViewStoreRpc.isViewStoreId(args.viewDefinition.categorySelectorId)) {\r\n this.verifyRowId(tableName.categorySelectors, args.viewDefinition.categorySelectorId);\r\n } else {\r\n if (args.categorySelectorProps === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"Must supply categorySelector\" });\r\n args.viewDefinition.categorySelectorId = await this.addCategorySelector({ selector: { ids: args.categorySelectorProps.categories }, owner });\r\n }\r\n const spatialDef = args.viewDefinition as SpatialViewDefinitionProps;\r\n if (ViewStoreRpc.isViewStoreId(spatialDef.modelSelectorId)) {\r\n this.verifyRowId(tableName.modelSelectors, spatialDef.modelSelectorId);\r\n } else if (args.modelSelectorProps) {\r\n spatialDef.modelSelectorId = await this.addModelSelector({ selector: { ids: args.modelSelectorProps.models }, owner });\r\n } else if (args.viewDefinition.classFullName === \"BisCore:SpatialViewDefinition\") {\r\n ViewStoreError.throwError(\"not-found\", { message: \"Must supply modelSelector for Spatial views\" });\r\n }\r\n if (ViewStoreRpc.isViewStoreId(spatialDef.displayStyleId)) {\r\n this.verifyRowId(tableName.displayStyles, spatialDef.displayStyleId);\r\n } else {\r\n if (args.displayStyleProps === undefined || args.displayStyleProps.jsonProperties?.styles === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"Must supply valid displayStyle\" });\r\n spatialDef.displayStyleId = await this.addDisplayStyle({ className: args.displayStyleProps.classFullName, settings: args.displayStyleProps.jsonProperties.styles, owner });\r\n }\r\n const viewId = this.addViewDefinition(args);\r\n if (args.tags)\r\n await this.addTagsToView({ viewId, tags: args.tags, owner });\r\n if (args.thumbnail)\r\n await this.addOrReplaceThumbnail({ viewId, thumbnail: args.thumbnail, owner });\r\n\r\n return fromRowId(viewId);\r\n }\r\n\r\n public async deleteView(arg: { viewId: RowIdOrString }) {\r\n const rowId = toRowId(arg.viewId);\r\n const viewRow = this.getViewRow(rowId);\r\n if (viewRow === undefined)\r\n ViewStoreError.throwError(\"not-found\", { message: \"View not found\" });\r\n\r\n this.deleteViewRow(rowId);\r\n const hasName = (table: string, nameRow: RowId) => {\r\n const name = this.withSqliteStatement(`SELECT name FROM ${table} WHERE Id=?`, (stmt) => {\r\n stmt.bindInteger(1, nameRow);\r\n return stmt.nextRow() ? stmt.getValueString(0) : undefined;\r\n });\r\n return name !== undefined && name?.length > 0;\r\n };\r\n const tryDelete = (table: string, id?: RowId) => {\r\n if (id !== undefined && !hasName(table, id)) { // only delete if the row has no name\r\n try {\r\n this.deleteFromTable(table, id);\r\n } catch {\r\n // ignore constraint error if the row is still referenced by another view\r\n }\r\n }\r\n };\r\n\r\n // delete any selectors or display styles that are no longer referenced\r\n tryDelete(tableName.categorySelectors, viewRow.categorySel);\r\n tryDelete(tableName.modelSelectors, viewRow.modelSel);\r\n tryDelete(tableName.displayStyles, viewRow.displayStyle);\r\n }\r\n }\r\n\r\n const viewDbName = \"ViewDb\";\r\n\r\n /** methods of cloud `ViewDb` for read access */\r\n export interface ReadMethods extends ViewStoreRpc.Reader {\r\n getViewByNameSync(arg: { name: ViewStoreRpc.ViewName, groupId?: RowId }): ViewStoreRpc.ViewInfo | undefined;\r\n getCategorySelectorSync(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): CategorySelectorProps;\r\n getDisplayStyleSync(args: ViewStoreRpc.NameOrId & { opts?: DisplayStyleLoadProps }): DisplayStyleProps;\r\n getModelSelectorSync(args: ViewStoreRpc.NameOrId & ViewStoreRpc.QueryBindings): ModelSelectorProps;\r\n getThumbnailSync(args: { viewId: RowString }): ThumbnailProps | undefined;\r\n getViewDefinitionSync(args: { viewId: RowString }): ViewDefinitionProps;\r\n queryViewsSync(queryParams: ViewStoreRpc.QueryParams): ViewStoreRpc.ViewInfo[];\r\n }\r\n\r\n /** arguments to construct a `ViewStore.CloudAccess` */\r\n export type ViewStoreCtorProps = CloudSqlite.ContainerAccessProps & ViewDbCtorArgs;\r\n\r\n export interface CreateNewContainerProps {\r\n scope: BlobContainer.Scope;\r\n metadata: Omit<BlobContainer.Metadata, \"containerType\">;\r\n }\r\n\r\n /** Provides access to a cloud-based `ViewDb` */\r\n export class CloudAccess extends CloudSqlite.DbAccess<ViewDb, ReadMethods, ViewStoreRpc.Writer> {\r\n public constructor(props: ViewStoreCtorProps) {\r\n super({ dbType: ViewDb, props, dbName: viewDbName });\r\n }\r\n\r\n /**\r\n * Initialize a cloud container for use as a ViewDb. This method is called by [[createNewContainer]].\r\n * It is only necessary to convert an existing container to a ViewStore container.\r\n * @note this deletes any existing content in the container.\r\n * @internal\r\n */\r\n public static async initializeDb(props: CloudSqlite.ContainerProps) {\r\n return super._initializeDb({ props, dbType: ViewDb, dbName: viewDbName });\r\n }\r\n\r\n /** Create and initialize a new BlobContainer to hold a ViewStore\r\n * @note the current user must have administrator rights to create containers.\r\n */\r\n public static async createNewContainer(args: CreateNewContainerProps): Promise<CloudSqlite.ContainerProps> {\r\n const props = await this.createBlobContainer({ scope: args.scope, metadata: { ...args.metadata, containerType: \"viewstore\" } });\r\n await this.initializeDb(props);\r\n return props;\r\n }\r\n\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ViewStore.js","sourceRoot":"","sources":["../../src/ViewStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementDrivesTextAnnotation.js","sourceRoot":"","sources":["../../../src/annotations/ElementDrivesTextAnnotation.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 Elements\r\n */\r\n\r\nimport { RelationshipProps, TextBlock } from \"@itwin/core-common\";\r\nimport { ElementDrivesElement } from \"../Relationship\";\r\nimport { IModelDb } from \"../IModelDb\";\r\nimport { Element } from \"../Element\";\r\nimport { updateElementFields } from \"../internal/annotations/fields\";\r\nimport { DbResult, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { ECVersion } from \"@itwin/ecschema-metadata\";\r\n\r\n/** Describes one of potentially many [TextBlock]($common)s hosted by an [[ITextAnnotation]].\r\n * For example, a [[TextAnnotation2d]] hosts only a single text block, but an element representing a table may\r\n * host one text block for each cell in the table, in which case it might use the combination of row and column\r\n * as the [[id]] for each text block.\r\n * @beta\r\n */\r\nexport interface TextBlockAndId {\r\n /** The text block. */\r\n readonly textBlock: TextBlock;\r\n /** An opaque identifier that allows the [[ITextAnnotation]] to discern which of its hosted text blocks is being referred to. */\r\n readonly id: unknown;\r\n}\r\n\r\n// ElementDrivesTextAnnotation was introduced in this version of BisCore - iModels with earlier versions cannot support field dependencies.\r\nconst minBisCoreVersion = new ECVersion(1, 0, 22);\r\n\r\n/** Interface implemented by [[GeometricElement]] subclasses whose schemas declare them to implement the mix-in `BisCore:ITextAnnotation`.\r\n * Such elements may host any number of [TextBlock]($common)s. `ITextAnnotation` provides a uniform way to interact with text regardless of\r\n * the type of element to which it belongs.\r\n * @beta\r\n */\r\nexport interface ITextAnnotation {\r\n /** Obtain a collection of all of the [TextBlock]($common)s hosted by this element. */\r\n getTextBlocks(): Iterable<TextBlockAndId>;\r\n /** Update the element to replace the contents of the specified [TextBlock]($common)s. */\r\n updateTextBlocks(textBlocks: TextBlockAndId[]): void;\r\n}\r\n\r\n/** Returns `true` if the specified `element` implements [[ITextAnnotation]].\r\n * @beta\r\n */\r\nexport function isITextAnnotation(element: Element): element is ITextAnnotation & Element {\r\n return [\"getTextBlocks\", \"updateTextBlocks\"].every((x) => x in element && typeof (element as any)[x] === \"function\");\r\n}\r\n\r\n/** A relationship in which the source element hosts one or more properties that are displayed by a target [[ITextAnnotation]] element.\r\n * This relationship is used to automatically update the [FieldRun]($common)s contained in the target element when the source element is modified.\r\n * An [[ITextAnnotation]] element should invoke [[updateFieldDependencies]] from its [[Element.onInserted]] and [[Element.onUpdated]] functions to\r\n * establish or update the relationships required for the [FieldRun]($common)s it contains.\r\n * @note This relationship was introduced in version 01.00.22 of the BisCore schema. [FieldRun]($common)s created in iModels that have not been upgraded to\r\n * that version or newer will not automatically update. Use [[isSupportedForIModel]] to check.\r\n * @beta\r\n */\r\nexport class ElementDrivesTextAnnotation extends ElementDrivesElement {\r\n public static override get className(): string { return \"ElementDrivesTextAnnotation\"; }\r\n \r\n /** @internal */\r\n public static override onRootChanged(props: RelationshipProps, iModel: IModelDb): void {\r\n updateElementFields(props, iModel, false);\r\n }\r\n\r\n /** @internal */\r\n public static override onDeletedDependency(props: RelationshipProps, iModel: IModelDb): void {\r\n updateElementFields(props, iModel, true);\r\n }\r\n\r\n /** Returns true if `iModel` contains a version of the BisCore schema new enough to support this relationship.\r\n * If not, the schema should be updated before inserting any [FieldRun]($common)s, or those runs will not\r\n * update when the source element changes.\r\n */\r\n public static isSupportedForIModel(iModel: IModelDb): boolean {\r\n const bisCoreVersion = iModel.querySchemaVersionNumbers(\"BisCore\");\r\n return undefined !== bisCoreVersion && bisCoreVersion.compare(minBisCoreVersion) >= 0;\r\n }\r\n\r\n /** Examines all of the [FieldRun]($common)s within the specified [[ITextAnnotation]] and ensures that the appropriate\r\n * `ElementDrivesTextAnnotation` relationships exist between the fields' source elements and this target element.\r\n * It also deletes any stale relationships left over from fields that were deleted or whose source elements changed.\r\n */\r\n public static updateFieldDependencies(annotationElementId: Id64String, iModel: IModelDb): void {\r\n if (!ElementDrivesTextAnnotation.isSupportedForIModel(iModel)) {\r\n return;\r\n }\r\n\r\n const annotationElement = iModel.elements.tryGetElement<Element>(annotationElementId);\r\n if (!annotationElement || !isITextAnnotation(annotationElement)) {\r\n return;\r\n }\r\n\r\n // The native layer will allow us to insert relationships to invalid or non-existent source elements...errors will arise later. Prevent it.\r\n function isValidSourceId(id: Id64String): boolean {\r\n if (!Id64.isValidId64(id)) {\r\n return false;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n return iModel.withPreparedStatement(\"SELECT CodeValue FROM BisCore.Element WHERE ECInstanceId=?\", (stmt) => {\r\n stmt.bindId(1, id);\r\n return DbResult.BE_SQLITE_ROW === stmt.step();\r\n });\r\n }\r\n\r\n const sourceToRelationship = new Map<Id64String, Id64String | null>();\r\n const blocks = annotationElement.getTextBlocks();\r\n for (const block of blocks) {\r\n for (const paragraph of block.textBlock.paragraphs) {\r\n for (const run of paragraph.runs) {\r\n if (run.type === \"field\" && isValidSourceId(run.propertyHost.elementId)) {\r\n sourceToRelationship.set(run.propertyHost.elementId, null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const staleRelationships = new Set<Id64String>();\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n annotationElement.iModel.withPreparedStatement(`SELECT ECInstanceId, SourceECInstanceId FROM BisCore.ElementDrivesTextAnnotation WHERE TargetECInstanceId=${annotationElement.id}`, (stmt) => {\r\n while (DbResult.BE_SQLITE_ROW === stmt.step()) {\r\n const relationshipId = stmt.getValue(0).getId();\r\n const sourceId = stmt.getValue(1).getId();\r\n if (sourceToRelationship.has(sourceId)) {\r\n sourceToRelationship.set(sourceId, relationshipId);\r\n } else {\r\n staleRelationships.add(relationshipId);\r\n }\r\n }\r\n });\r\n\r\n for (const [sourceId, relationshipId] of sourceToRelationship) {\r\n if (relationshipId === null) {\r\n ElementDrivesTextAnnotation.create(annotationElement.iModel, sourceId, annotationElement.id).insert();\r\n }\r\n }\r\n\r\n for (const relationshipId of staleRelationships) {\r\n const props = annotationElement.iModel.relationships.getInstanceProps(\"BisCore.ElementDrivesTextAnnotation\", relationshipId);\r\n annotationElement.iModel.relationships.deleteInstance(props);\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ElementDrivesTextAnnotation.js","sourceRoot":"","sources":["../../../src/annotations/ElementDrivesTextAnnotation.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAc,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAerD,2IAA2I;AAC3I,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAclD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,IAAI,OAAQ,OAAe,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;AACvH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IAC5D,MAAM,KAAc,SAAS,KAAa,OAAO,6BAA6B,CAAC,CAAC,CAAC;IAExF,gBAAgB;IACT,MAAM,CAAU,aAAa,CAAC,KAAwB,EAAE,MAAgB;QAC7E,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,mBAAmB,CAAC,KAAwB,EAAE,MAAgB;QACnF,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,MAAgB;QACjD,MAAM,cAAc,GAAG,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACnE,OAAO,SAAS,KAAK,cAAc,IAAI,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,uBAAuB,CAAC,mBAA+B,EAAE,MAAgB;QACrF,IAAI,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU,mBAAmB,CAAC,CAAC;QACtF,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QAED,2IAA2I;QAC3I,SAAS,eAAe,CAAC,EAAc;YACrC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,4DAA4D;YAC5D,OAAO,MAAM,CAAC,qBAAqB,CAAC,4DAA4D,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,OAAO,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAiC,CAAC;QACtE,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;gBACnD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;wBACxE,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAc,CAAC;QACjD,4DAA4D;QAC5D,iBAAiB,CAAC,MAAM,CAAC,qBAAqB,CAAC,6GAA6G,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3L,OAAO,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1C,IAAI,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,oBAAoB,EAAE,CAAC;YAC9D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,2BAA2B,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACxG,CAAC;QACH,CAAC;QAED,KAAK,MAAM,cAAc,IAAI,kBAAkB,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,qCAAqC,EAAE,cAAc,CAAC,CAAC;YAC7H,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameGeometry.js","sourceRoot":"","sources":["../../../src/annotations/FrameGeometry.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 ElementGeometry\r\n */\r\n\r\n\r\nimport { BackgroundFill, ColorDef, ElementGeometry, FillDisplay, GeometryParams, TextAnnotationFrameShape, TextFrameStyleProps } from \"@itwin/core-common\";\r\nimport { Angle, AngleSweep, Arc3d, LineString3d, Loop, Path, Point3d, Range2d, Transform, Vector2d } from \"@itwin/core-geometry\";\r\n\r\n/**\r\n * Based on the frame style, this method will construct and append [[GeometryParams]] (for line style) and a [[Loop]] (for the frame shape) to the builder.\r\n * @param builder that will be appended to in place\r\n * @param frame\r\n * @param range to enclose with the frame\r\n * @param transform that transforms the range to world coordinates\r\n * @returns `true` if any geometry was appended to the builder\r\n* @beta\r\n */\r\nexport function appendFrameToBuilder(builder: ElementGeometry.Builder, frame: TextFrameStyleProps, range: Range2d, transform: Transform, geomParams: GeometryParams): boolean {\r\n if (frame.shape === \"none\" || frame.shape === undefined) {\r\n return false;\r\n }\r\n\r\n const params = geomParams.clone();\r\n\r\n if (frame.fill === \"none\" || frame.fill === undefined) {\r\n params.fillDisplay = FillDisplay.Never;\r\n } else if (frame.fill === \"background\") {\r\n params.backgroundFill = BackgroundFill.Solid;\r\n params.fillDisplay = FillDisplay.Blanking;\r\n } else if (frame.fill !== \"subcategory\") {\r\n params.fillColor = ColorDef.fromJSON(frame.fill);\r\n params.lineColor = params.fillColor;\r\n params.fillDisplay = FillDisplay.Blanking;\r\n }\r\n\r\n if (frame.border !== \"subcategory\") {\r\n params.lineColor = ColorDef.fromJSON(frame.border);\r\n params.weight = frame.borderWeight;\r\n }\r\n\r\n const frameGeometry = computeFrame({ frame: frame.shape, range, transform });\r\n if (!builder.appendGeometryParamsChange(params) || !builder.appendGeometryQuery(frameGeometry)) {\r\n return false;\r\n }\r\n\r\n // The tile generator does not produce an outline for shapes with blanking fill. We must add the outline separately.\r\n if (params.fillDisplay === FillDisplay.Blanking) {\r\n const outlineParams = params.clone();\r\n outlineParams.fillDisplay = FillDisplay.Never;\r\n if (!builder.appendGeometryParamsChange(outlineParams) || !builder.appendGeometryQuery(frameGeometry)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * Arguments for the [[computeFrame]] method.\r\n * @beta\r\n */\r\nexport interface ComputeFrameArgs {\r\n /** Frame shape to be calculated */\r\n frame: Exclude<TextAnnotationFrameShape, \"none\">;\r\n /** Range to be enclosed */\r\n range: Range2d;\r\n /** Transform that translates and rotates the range to world coordinates */\r\n transform: Transform;\r\n}\r\n\r\n/**\r\n * Computes the frame geometry based on the provided frame shape and range.\r\n * @returns a [Loop]($geometry) or [Path]($geometry) (if it's just a line) that represents the frame geometry\r\n * @beta\r\n */\r\nexport function computeFrame(args: ComputeFrameArgs): Loop | Path {\r\n switch (args.frame) {\r\n case \"line\": return computeLine(args.range, args.transform);\r\n case \"rectangle\": return computeRectangle(args.range, args.transform);\r\n case \"circle\": return computeCircle(args.range, args.transform);\r\n case \"equilateralTriangle\": return computeTriangle(args.range, args.transform);\r\n case \"diamond\": return computeDiamond(args.range, args.transform);\r\n case \"square\": return computeSquare(args.range, args.transform);\r\n case \"pentagon\": return computePolygon(5, args.range, args.transform, 90);\r\n case \"hexagon\": return computePolygon(6, args.range, args.transform);\r\n case \"octagon\": return computePolygon(8, args.range, args.transform, 180 / 8); // or pi/8 in radians\r\n case \"capsule\": return computeCapsule(args.range, args.transform);\r\n case \"roundedRectangle\": return computeRoundedRectangle(args.range, args.transform);\r\n default: return computeRectangle(args.range, args.transform);\r\n }\r\n}\r\n\r\n/**\r\n * Arguments for the [[computeIntervalPoints]] method.\r\n * @beta\r\n */\r\nexport interface ComputeIntervalPointsArgs extends ComputeFrameArgs {\r\n /** A factor applied to divide each straight edge. A value of 1 will place a single point on each vertex. */\r\n lineIntervalFactor?: number;\r\n /** A factor applied to divide each straight edge. A value of 1 will place a single point on each vertex. */\r\n arcIntervalFactor?: number;\r\n}\r\n\r\n/**\r\n * Computes points along the edges of the frame geometry based on the provided frame shape, range, and interval factors.\r\n * These can be used for snapping or attaching leaders.\r\n * @returns an array of [[Point3d]] that represent the points along the edges of the frame geometry. Returns `undefined` if the loop created by `computeFrame` is empty.\r\n * @beta\r\n */\r\nexport function computeIntervalPoints({ frame, range, transform, lineIntervalFactor = 0.5, arcIntervalFactor = 0.25 }: ComputeIntervalPointsArgs): Point3d[] | undefined {\r\n const points: Point3d[] = [];\r\n const curves = computeFrame({ frame, range, transform }).collectCurvePrimitives(undefined, false, true);\r\n\r\n curves.forEach((curve) => {\r\n const end = curve instanceof Arc3d ? arcIntervalFactor : lineIntervalFactor;\r\n for (let interval = 0; interval <= 1; interval += end) {\r\n points.push(curve.fractionToPoint(interval));\r\n }\r\n });\r\n return points;\r\n}\r\n\r\n/** Line - currently just adds an underline. Once we have leaders, this method may change. */\r\nconst computeLine = (range: Range2d, transform: Transform): Path => {\r\n const points = [Point3d.create(range.low.x, range.low.y), Point3d.create(range.high.x, range.low.y)];\r\n const frame = LineString3d.createPoints(points);\r\n\r\n return Path.create(frame.cloneTransformed(transform));\r\n}\r\n\r\n/** Rectangle - simplest frame */\r\nconst computeRectangle = (range: Range2d, transform: Transform): Loop => {\r\n const points = range.corners3d(true);\r\n const frame = LineString3d.createPoints(points);\r\n\r\n return Loop.create(frame.cloneTransformed(transform));\r\n}\r\n\r\n/** Rounded Rectangle: each corner will be turned into an arc with the radius of the arc being the @param radiusFactor * the height (yLength) of the range */\r\nconst computeRoundedRectangle = (range: Range2d, transform: Transform, radiusFactor: number = 0.25): Loop => {\r\n const radius = range.yLength() * radiusFactor * Math.sqrt(2);\r\n // We're going to circumscribe the range with our rounded edges. The corners of the range will fall on 45 degree angles.\r\n const radiusOffsetFactor = range.yLength() * radiusFactor;\r\n\r\n // These values are the origins of the circles\r\n const inLeft = range.low.x + radiusOffsetFactor;\r\n const inRight = range.high.x - radiusOffsetFactor;\r\n const inBottom = range.low.y + radiusOffsetFactor;\r\n const inTop = range.high.y - radiusOffsetFactor\r\n\r\n // These values exist on the circles\r\n const exLeft = inLeft - radius;\r\n const exRight = inRight + radius;\r\n const exBottom = inBottom - radius;\r\n const exTop = inTop + radius;\r\n\r\n const q1 = AngleSweep.createStartEndDegrees(0, 90);\r\n const q2 = AngleSweep.createStartEndDegrees(90, 180);\r\n const q3 = AngleSweep.createStartEndDegrees(180, 270);\r\n const q4 = AngleSweep.createStartEndDegrees(270, 360);\r\n\r\n\r\n const curves = [\r\n LineString3d.create([Point3d.create(inRight, exTop), Point3d.create(inLeft, exTop)]), // top\r\n Arc3d.createXY(Point3d.create(inLeft, inTop), radius, q2), // top left\r\n LineString3d.create([Point3d.create(exLeft, inTop), Point3d.create(exLeft, inBottom)]), // left\r\n Arc3d.createXY(Point3d.create(inLeft, inBottom), radius, q3), // bottom left\r\n LineString3d.create([Point3d.create(inLeft, exBottom), Point3d.create(inRight, exBottom)]), // bottom\r\n Arc3d.createXY(Point3d.create(inRight, inBottom), radius, q4), // bottom right\r\n LineString3d.create([Point3d.create(exRight, inBottom), Point3d.create(exRight, inTop)]), // right\r\n Arc3d.createXY(Point3d.create(inRight, inTop), radius, q1), // top right\r\n ];\r\n\r\n return Loop.createArray(curves.map((curve) => curve.cloneTransformed(transform)))\r\n}\r\n\r\n\r\n/** Circle */\r\nconst computeCircle = (range: Range2d, transform: Transform): Loop => {\r\n const radius = range.low.distance(range.high) / 2;\r\n const frame = Arc3d.createXY(Point3d.createFrom(range.center), radius);\r\n return Loop.create(frame.cloneTransformed(transform));\r\n}\r\n\r\n/** Equilateral Triangle */\r\nconst computeTriangle = (range: Range2d, transform: Transform): Loop => {\r\n\r\n const xLength = range.xLength();\r\n const yLength = range.yLength();\r\n const center = range.center;\r\n const points: Point3d[] = [];\r\n\r\n const magnitude = (xLength > yLength) ? (xLength * Math.sqrt(3) + yLength) / 2 : (yLength * Math.sqrt(3) + xLength) / 2;\r\n\r\n const v1 = Vector2d.create(0, magnitude);\r\n const vectors = [\r\n v1, // top\r\n v1.rotateXY(Angle.createDegrees(120)), // left\r\n v1.rotateXY(Angle.createDegrees(240)), // right\r\n v1 // top\r\n ];\r\n\r\n vectors.forEach((v) => {\r\n points.push(Point3d.create(center.x + v.x, center.y + v.y));\r\n });\r\n\r\n const frame = LineString3d.createPoints(points);\r\n\r\n return Loop.create(frame.cloneTransformed(transform));\r\n}\r\n\r\n/** Diamond (square rotated 45 degrees) */\r\nconst computeDiamond = (range: Range2d, transform: Transform): Loop => {\r\n const offset = (range.xLength() + range.yLength()) / 2;\r\n const center = range.center;\r\n\r\n const points = [\r\n Point3d.createFrom({ x: center.x, y: center.y + offset }), // top\r\n Point3d.createFrom({ x: center.x + offset, y: center.y }), // right\r\n Point3d.createFrom({ x: center.x, y: center.y - offset }), // bottom\r\n Point3d.createFrom({ x: center.x - offset, y: center.y }), // left\r\n Point3d.createFrom({ x: center.x, y: center.y + offset }), // top\r\n ];\r\n\r\n const frame = LineString3d.createPoints(points);\r\n\r\n return Loop.create(frame.cloneTransformed(transform));\r\n}\r\n\r\n/** Square */\r\nconst computeSquare = (range: Range2d, transform: Transform): Loop => {\r\n\r\n // Extend range\r\n const xLength = range.xLength() / 2;\r\n const yLength = range.yLength() / 2;\r\n const center = range.center;\r\n if (xLength > yLength) {\r\n range.extendPoint({ x: center.x, y: center.y + xLength });\r\n range.extendPoint({ x: center.x, y: center.y - xLength });\r\n } else {\r\n range.extendPoint({ x: center.x + yLength, y: center.y });\r\n range.extendPoint({ x: center.x - yLength, y: center.y });\r\n }\r\n\r\n const points = range.corners3d(true);\r\n const frame = LineString3d.createPoints(points);\r\n\r\n return Loop.create(frame.cloneTransformed(transform));\r\n}\r\n\r\n/** Capsule (or pill shape) */\r\nconst computeCapsule = (range: Range2d, transform: Transform): Loop => {\r\n const height = range.yLength();\r\n const radius = height * (Math.sqrt(2) / 2);\r\n\r\n // We're going to circumscribe the range with our rounded edges. The corners of the range will fall on 45 degree angles.\r\n const radiusOffsetFactor = height / 2;\r\n\r\n // These values are the origins of the circles\r\n const inLeft = range.low.x + radiusOffsetFactor;\r\n const inRight = range.high.x - radiusOffsetFactor;\r\n const inBottom = range.low.y + radiusOffsetFactor;\r\n const inTop = range.high.y - radiusOffsetFactor\r\n\r\n // These values exist on the circles\r\n const exBottom = inBottom - radius;\r\n const exTop = inTop + radius;\r\n\r\n const leftHalfCircle = AngleSweep.createStartEndDegrees(90, 270);\r\n const rightHalfCircle = AngleSweep.createStartEndDegrees(-90, 90);\r\n\r\n const curves = [\r\n LineString3d.create([Point3d.create(inRight, exTop), Point3d.create(inLeft, exTop)]), // top\r\n Arc3d.createXY(Point3d.create(inLeft, range.center.y), radius, leftHalfCircle), // left\r\n LineString3d.create([Point3d.create(inLeft, exBottom), Point3d.create(inRight, exBottom)]), // bottom\r\n Arc3d.createXY(Point3d.create(inRight, range.center.y), radius, rightHalfCircle), // right\r\n ];\r\n\r\n return Loop.createArray(curves.map((curve) => curve.cloneTransformed(transform)));\r\n}\r\n\r\n/** Regular polygon with n sides: note, this a generic method that can be used to create any polygon, but the frame will not be as tightly encapsulating. */\r\nconst computePolygon = (n: number, range: Range2d, transform: Transform, angleOffset: number = 0): Loop => {\r\n // These are math terms: cspell:ignore inradius circumradius\r\n if (n < 3) throw new Error(\"A polygon must have at least 3 sides.\");\r\n\r\n // We're assuming the polygon is a regular polygon with `n` sides.\r\n // The center of the polygon is the center of the range.\r\n const center = range.center;\r\n // The inradius is the distance from the center to the midpoint of each side of the polygon. On our range, this coincides with the distance from the center to one of its corners.\r\n const inradius = range.low.distance(range.high) / 2;\r\n // The circumradius is the distance from the center to each vertex of the polygon.\r\n const circumradius = inradius / Math.cos(Math.PI / n);\r\n\r\n // The exterior angles add up to 360 degrees.\r\n const angleIncrement = 360 / n;\r\n const vertices: Point3d[] = [];\r\n\r\n // Add a point for each vertex\r\n for (let i = 0; i < n; i++) {\r\n const angle = Angle.createDegrees(i * angleIncrement + angleOffset);\r\n const vector = Vector2d.createPolar(circumradius, angle);\r\n vertices.push(Point3d.create(center.x + vector.x, center.y + vector.y));\r\n }\r\n\r\n // Close the polygon\r\n vertices.push(vertices[0]);\r\n\r\n // Finally compute the loop!\r\n const frame = LineString3d.createPoints(vertices);\r\n return Loop.create(frame.cloneTransformed(transform));\r\n};"]}
|
|
1
|
+
{"version":3,"file":"FrameGeometry.js","sourceRoot":"","sources":["../../../src/annotations/FrameGeometry.ts"],"names":[],"mappings":"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"}
|