@itwin/core-frontend 5.12.0-dev.11 → 5.12.0-dev.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -197,10 +197,9 @@ export class ViewCreator2d {
197
197
  async _addSheetViewProps(modelId, props) {
198
198
  let width = 0;
199
199
  let height = 0;
200
- // eslint-disable-next-line @typescript-eslint/no-deprecated
201
- for await (const row of this._imodel.createQueryReader(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
202
- width = row.width;
203
- height = row.height;
200
+ for await (const row of this._imodel.createQueryReader(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseECSqlPropertyNames })) {
201
+ width = row.Width;
202
+ height = row.Height;
204
203
  break;
205
204
  }
206
205
  const sheetProps = {
@@ -244,7 +243,7 @@ export class ViewCreator2d {
244
243
  * @param modelId of target model.
245
244
  */
246
245
  async _getViewDefinitionsIdForModel(modelId) {
247
- const query = `SELECT ECInstanceId from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;
246
+ const query = `SELECT ECInstanceId as id from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;
248
247
  const viewDefinitionsId = await this._executeQuery(query);
249
248
  return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;
250
249
  }
@@ -252,7 +251,7 @@ export class ViewCreator2d {
252
251
  * Get all drawing categories
253
252
  */
254
253
  async _getAllCategories() {
255
- const query = "SELECT ECInstanceId from BisCore.DrawingCategory";
254
+ const query = "SELECT ECInstanceId as id from BisCore.DrawingCategory";
256
255
  const categories = await this._executeQuery(query);
257
256
  return categories;
258
257
  }
@@ -261,7 +260,7 @@ export class ViewCreator2d {
261
260
  * @param modelId of target model.
262
261
  */
263
262
  async _getSheetAttachments(modelId) {
264
- const query = `SELECT ECInstanceId FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;
263
+ const query = `SELECT ECInstanceId as id FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;
265
264
  const attachments = await this._executeQuery(query);
266
265
  return attachments;
267
266
  }
@@ -271,8 +270,7 @@ export class ViewCreator2d {
271
270
  */
272
271
  _executeQuery = async (query) => {
273
272
  const rows = [];
274
- // eslint-disable-next-line @typescript-eslint/no-deprecated
275
- for await (const row of this._imodel.createQueryReader(query, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames }))
273
+ for await (const row of this._imodel.createQueryReader(query, undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames }))
276
274
  rows.push(row.id);
277
275
  return rows;
278
276
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator2d.js","sourceRoot":"","sources":["../../src/ViewCreator2d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Views\n */\n\n/*\nAPI for creating a 2D view from a given modelId and modelType (classFullName).\nAdditional options (such as background color) can be passed during view creation.\n*/\n\nimport { Id64Array, Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport {\n CategorySelectorProps, Code, ColorDef, DisplayStyleProps, IModel, IModelError, ModelSelectorProps, QueryBinder, QueryRowFormat, SheetProps,\n ViewDefinition2dProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { DrawingViewState } from \"./DrawingViewState\";\nimport { EntityState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { DrawingModelState, SectionDrawingModelState, SheetModelState } from \"./ModelState\";\nimport { SheetViewState } from \"./SheetViewState\";\nimport { ViewState, ViewState2d } from \"./ViewState\";\n\n/** Options for creating a [[ViewState2d]] via [[ViewCreator2d]].\n * @public\n * @extensions\n*/\nexport interface ViewCreator2dOptions {\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model in the initial state of the view. */\n vpAspect?: number;\n /** Background color of the view (default is white). */\n bgColor?: ColorDef;\n /** Checks to see if there already is a [[ViewDefinition2d]] for the given modelId. If so, use it as the seed view, and merge its props into the final view created. */\n useSeedView?: boolean;\n}\n\n/**\n * API for creating a [[ViewState2d]] for a 2D model ([[GeometricModel2dState]]). @see [[ViewCreator3d]] to create a view for a 3d model.\n * Example usage:\n * ```ts\n * const viewCreator = new ViewCreator2d(imodel);\n * const models = await imodel.models.queryProps({ from: \"BisCore.GeometricModel2d\" });\n * if (models.length > 0)\n * const view = await viewCreator.createViewForModel(models[0].id!);\n * ```\n * @public\n * @extensions\n */\nexport class ViewCreator2d {\n\n // Types of 2D models the API supports\n private static _drawingModelClasses = [DrawingModelState.classFullName, SectionDrawingModelState.classFullName];\n private static _sheetModelClasses = [SheetModelState.classFullName];\n\n /**\n * Constructs a ViewCreator2d using an [[IModelConnection]].\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\n */\n constructor(private _imodel: IModelConnection) { }\n\n /**\n * Creates and returns view for the 2D model id passed in.\n * @param modelId Id of the 2D model for the view.\n * @param [options] Options for creating the view.\n * @throws [IModelError]($common) If modelType is not supported.\n */\n public async createViewForModel(modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewState> {\n\n const baseClassName = await this._getModelBaseClassName(modelId);\n\n const viewState = await this._createViewState2d(modelId, baseClassName.classFullName, options);\n try {\n await viewState.load();\n } catch { }\n\n return viewState;\n }\n\n /**\n * Gets model base class name from id.\n * @param modelId of target model.\n * @throws [IModelError]($common) if modelId is invalid.\n */\n private async _getModelBaseClassName(modelId: Id64String): Promise<typeof EntityState> {\n\n let baseClassName;\n\n const modelProps = await this._imodel.models.getProps(modelId);\n if (modelProps.length > 0) {\n const modelType = modelProps[0].classFullName;\n baseClassName = await this._imodel.findClassFor(modelType, undefined);\n } else\n throw new IModelError(IModelStatus.BadModel, \"ViewCreator2d._getModelBaseClassName: modelId is invalid\");\n\n if (baseClassName === undefined)\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d.getViewForModel: modelType is invalid\");\n\n return baseClassName;\n }\n\n /**\n * Creates view from any 2D model type (Drawing/SectionDrawing/Sheet)\n * @param modelId of target model.\n * @param modelType classFullName of target 2D model.\n * @param options for view creation.\n * @throws [IModelError]($common) if modelType is not supported.\n */\n private async _createViewState2d(modelId: Id64String, modelType: string, options?: ViewCreator2dOptions): Promise<ViewState2d> {\n let viewState: ViewState2d;\n if (this._isDrawingModelClass(modelType)) {\n const props = await this._createViewStateProps(modelId, options);\n viewState = DrawingViewState.createFromProps(props, this._imodel);\n } else if (this._isSheetModelClass(modelType)) {\n let props = await this._createViewStateProps(modelId, options);\n props = await this._addSheetViewProps(modelId, props);\n viewState = SheetViewState.createFromProps(props, this._imodel);\n } else\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d._createViewState2d: modelType not supported\");\n\n return viewState;\n }\n\n /**\n * Checks to see if given model is of [[DrawingModelState]].\n * @param modelType classFullName of model.\n */\n private _isDrawingModelClass(modelType: string) {\n if (ViewCreator2d._drawingModelClasses.includes(modelType)) {\n return true;\n }\n return false;\n }\n\n /**\n * Checks to see if given model is of [[SheetModelState]].\n * @param modelType classFullName of model.\n */\n private _isSheetModelClass(modelType: string) {\n if (ViewCreator2d._sheetModelClasses.includes(modelType)) {\n return true;\n }\n return false;\n }\n\n /**\n * Creates ViewStateProps for the model. ViewStateProps are composed of the 4 sets of Props below.\n * @param modelId of target model.\n * @param options for view creation.\n */\n private _createViewStateProps = async (modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewStateProps> => {\n // Use dictionary model in all props\n const dictionaryId = IModel.dictionaryId;\n const categories = await this._getAllCategories();\n\n // Get bg color from options or default to white\n const bgColor: ColorDef = options?.bgColor ? options.bgColor : ColorDef.white;\n\n // model extents\n const modelProps = await this._imodel.models.queryExtents(modelId);\n const modelExtents = Range3d.fromJSON(modelProps[0]?.extents);\n let originX = modelExtents.low.x;\n let originY = modelExtents.low.y;\n let deltaX = modelExtents.xLength();\n let deltaY = modelExtents.yLength();\n\n // if vp aspect given, update model extents to fit view\n if (options?.vpAspect) {\n const modelAspect = deltaY / deltaX;\n\n if (modelAspect > options.vpAspect) {\n const xFix = deltaY / options.vpAspect;\n originX = originX - xFix / 2;\n deltaX = deltaX + xFix;\n } else if (modelAspect < options.vpAspect) {\n const yFix = deltaX * options.vpAspect;\n originY = originY - yFix / 2;\n deltaY = deltaY + yFix;\n }\n }\n\n const modelSelectorProps: ModelSelectorProps = {\n models: [modelId],\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ModelSelector\",\n };\n\n const categorySelectorProps: CategorySelectorProps = {\n categories,\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:CategorySelector\",\n };\n\n const viewDefinitionProps: ViewDefinition2dProps = {\n baseModelId: modelId,\n categorySelectorId: \"\",\n displayStyleId: \"\",\n origin: { x: originX, y: originY },\n delta: { x: deltaX, y: deltaY },\n angle: { radians: 0 },\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ViewDefinition2d\",\n };\n\n const displayStyleProps: DisplayStyleProps = {\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:DisplayStyle2d\",\n jsonProperties: {\n styles: {\n backgroundColor: bgColor.tbgr,\n },\n },\n };\n\n const viewStateProps: ViewStateProps = {\n displayStyleProps,\n categorySelectorProps,\n modelSelectorProps,\n viewDefinitionProps,\n modelExtents,\n };\n\n // merge seed view props if needed\n return options?.useSeedView ? this._mergeSeedView(modelId, viewStateProps) : viewStateProps;\n };\n\n /**\n * Adds Sheet view props to given view props.\n * @param modelId of target model.\n * @param props input ViewStateProps.\n */\n private async _addSheetViewProps(modelId: Id64String, props: ViewStateProps) {\n let width = 0;\n let height = 0;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n for await (const row of this._imodel.createQueryReader(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\n width = row.width as number;\n height = row.height as number;\n break;\n }\n const sheetProps: SheetProps = {\n model: modelId,\n code: { spec: \"\", scope: \"\" },\n classFullName: \"DrawingSheetModel\",\n height,\n width,\n };\n\n props.sheetAttachments = await this._getSheetAttachments(modelId);\n props.sheetProps = sheetProps;\n\n return props;\n }\n\n /**\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no 2D views for target model.\n * @param modelId of target model.\n * @param props Input view props to be merged\n */\n private async _mergeSeedView(modelId: Id64String, props: ViewStateProps): Promise<ViewStateProps> {\n const viewDefinitionId = await this._getViewDefinitionsIdForModel(modelId);\n // Return incase no viewDefinition found.\n if (viewDefinitionId === undefined)\n return props;\n\n const seedViewState = (await this._imodel.views.load(viewDefinitionId));\n const seedViewStateProps: ViewStateProps = {\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\n viewDefinitionProps: seedViewState.toJSON(),\n displayStyleProps: seedViewState.displayStyle.toJSON(),\n };\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\n if (mergedDisplayProps.jsonProperties !== undefined) {\n mergedDisplayProps.jsonProperties.styles = {\n ...mergedDisplayProps.jsonProperties.styles,\n ...props.displayStyleProps.jsonProperties?.styles,\n };\n }\n\n return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };\n }\n\n /**\n * Get all view definitions for a given model.\n * @param modelId of target model.\n */\n private async _getViewDefinitionsIdForModel(modelId: Id64String): Promise<Id64String | undefined> {\n\n const query = `SELECT ECInstanceId from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;\n const viewDefinitionsId = await this._executeQuery(query);\n\n return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;\n }\n\n /**\n * Get all drawing categories\n */\n private async _getAllCategories(): Promise<Id64Array> {\n\n const query = \"SELECT ECInstanceId from BisCore.DrawingCategory\";\n const categories = await this._executeQuery(query);\n\n return categories;\n }\n\n /**\n * Get all sheet attachments\n * @param modelId of target model.\n */\n private async _getSheetAttachments(modelId: string): Promise<Id64Array> {\n\n const query = `SELECT ECInstanceId FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;\n const attachments = await this._executeQuery(query);\n\n return attachments;\n }\n\n /**\n * Helper function to execute ECSql queries.\n * @param query statement to execute.\n */\n private _executeQuery = async (query: string) => {\n const rows = [];\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n for await (const row of this._imodel.createQueryReader(query, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames }))\n rows.push(row.id);\n\n return rows;\n };\n}\n"]}
1
+ {"version":3,"file":"ViewCreator2d.js","sourceRoot":"","sources":["../../src/ViewCreator2d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Views\n */\n\n/*\nAPI for creating a 2D view from a given modelId and modelType (classFullName).\nAdditional options (such as background color) can be passed during view creation.\n*/\n\nimport { Id64Array, Id64String, IModelStatus } from \"@itwin/core-bentley\";\nimport {\n CategorySelectorProps, Code, ColorDef, DisplayStyleProps, IModel, IModelError, ModelSelectorProps, QueryBinder, QueryRowFormat, SheetProps,\n ViewDefinition2dProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport { DrawingViewState } from \"./DrawingViewState\";\nimport { EntityState } from \"./EntityState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { DrawingModelState, SectionDrawingModelState, SheetModelState } from \"./ModelState\";\nimport { SheetViewState } from \"./SheetViewState\";\nimport { ViewState, ViewState2d } from \"./ViewState\";\n\n/** Options for creating a [[ViewState2d]] via [[ViewCreator2d]].\n * @public\n * @extensions\n*/\nexport interface ViewCreator2dOptions {\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model in the initial state of the view. */\n vpAspect?: number;\n /** Background color of the view (default is white). */\n bgColor?: ColorDef;\n /** Checks to see if there already is a [[ViewDefinition2d]] for the given modelId. If so, use it as the seed view, and merge its props into the final view created. */\n useSeedView?: boolean;\n}\n\n/**\n * API for creating a [[ViewState2d]] for a 2D model ([[GeometricModel2dState]]). @see [[ViewCreator3d]] to create a view for a 3d model.\n * Example usage:\n * ```ts\n * const viewCreator = new ViewCreator2d(imodel);\n * const models = await imodel.models.queryProps({ from: \"BisCore.GeometricModel2d\" });\n * if (models.length > 0)\n * const view = await viewCreator.createViewForModel(models[0].id!);\n * ```\n * @public\n * @extensions\n */\nexport class ViewCreator2d {\n\n // Types of 2D models the API supports\n private static _drawingModelClasses = [DrawingModelState.classFullName, SectionDrawingModelState.classFullName];\n private static _sheetModelClasses = [SheetModelState.classFullName];\n\n /**\n * Constructs a ViewCreator2d using an [[IModelConnection]].\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\n */\n constructor(private _imodel: IModelConnection) { }\n\n /**\n * Creates and returns view for the 2D model id passed in.\n * @param modelId Id of the 2D model for the view.\n * @param [options] Options for creating the view.\n * @throws [IModelError]($common) If modelType is not supported.\n */\n public async createViewForModel(modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewState> {\n\n const baseClassName = await this._getModelBaseClassName(modelId);\n\n const viewState = await this._createViewState2d(modelId, baseClassName.classFullName, options);\n try {\n await viewState.load();\n } catch { }\n\n return viewState;\n }\n\n /**\n * Gets model base class name from id.\n * @param modelId of target model.\n * @throws [IModelError]($common) if modelId is invalid.\n */\n private async _getModelBaseClassName(modelId: Id64String): Promise<typeof EntityState> {\n\n let baseClassName;\n\n const modelProps = await this._imodel.models.getProps(modelId);\n if (modelProps.length > 0) {\n const modelType = modelProps[0].classFullName;\n baseClassName = await this._imodel.findClassFor(modelType, undefined);\n } else\n throw new IModelError(IModelStatus.BadModel, \"ViewCreator2d._getModelBaseClassName: modelId is invalid\");\n\n if (baseClassName === undefined)\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d.getViewForModel: modelType is invalid\");\n\n return baseClassName;\n }\n\n /**\n * Creates view from any 2D model type (Drawing/SectionDrawing/Sheet)\n * @param modelId of target model.\n * @param modelType classFullName of target 2D model.\n * @param options for view creation.\n * @throws [IModelError]($common) if modelType is not supported.\n */\n private async _createViewState2d(modelId: Id64String, modelType: string, options?: ViewCreator2dOptions): Promise<ViewState2d> {\n let viewState: ViewState2d;\n if (this._isDrawingModelClass(modelType)) {\n const props = await this._createViewStateProps(modelId, options);\n viewState = DrawingViewState.createFromProps(props, this._imodel);\n } else if (this._isSheetModelClass(modelType)) {\n let props = await this._createViewStateProps(modelId, options);\n props = await this._addSheetViewProps(modelId, props);\n viewState = SheetViewState.createFromProps(props, this._imodel);\n } else\n throw new IModelError(IModelStatus.WrongClass, \"ViewCreator2d._createViewState2d: modelType not supported\");\n\n return viewState;\n }\n\n /**\n * Checks to see if given model is of [[DrawingModelState]].\n * @param modelType classFullName of model.\n */\n private _isDrawingModelClass(modelType: string) {\n if (ViewCreator2d._drawingModelClasses.includes(modelType)) {\n return true;\n }\n return false;\n }\n\n /**\n * Checks to see if given model is of [[SheetModelState]].\n * @param modelType classFullName of model.\n */\n private _isSheetModelClass(modelType: string) {\n if (ViewCreator2d._sheetModelClasses.includes(modelType)) {\n return true;\n }\n return false;\n }\n\n /**\n * Creates ViewStateProps for the model. ViewStateProps are composed of the 4 sets of Props below.\n * @param modelId of target model.\n * @param options for view creation.\n */\n private _createViewStateProps = async (modelId: Id64String, options?: ViewCreator2dOptions): Promise<ViewStateProps> => {\n // Use dictionary model in all props\n const dictionaryId = IModel.dictionaryId;\n const categories = await this._getAllCategories();\n\n // Get bg color from options or default to white\n const bgColor: ColorDef = options?.bgColor ? options.bgColor : ColorDef.white;\n\n // model extents\n const modelProps = await this._imodel.models.queryExtents(modelId);\n const modelExtents = Range3d.fromJSON(modelProps[0]?.extents);\n let originX = modelExtents.low.x;\n let originY = modelExtents.low.y;\n let deltaX = modelExtents.xLength();\n let deltaY = modelExtents.yLength();\n\n // if vp aspect given, update model extents to fit view\n if (options?.vpAspect) {\n const modelAspect = deltaY / deltaX;\n\n if (modelAspect > options.vpAspect) {\n const xFix = deltaY / options.vpAspect;\n originX = originX - xFix / 2;\n deltaX = deltaX + xFix;\n } else if (modelAspect < options.vpAspect) {\n const yFix = deltaX * options.vpAspect;\n originY = originY - yFix / 2;\n deltaY = deltaY + yFix;\n }\n }\n\n const modelSelectorProps: ModelSelectorProps = {\n models: [modelId],\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ModelSelector\",\n };\n\n const categorySelectorProps: CategorySelectorProps = {\n categories,\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:CategorySelector\",\n };\n\n const viewDefinitionProps: ViewDefinition2dProps = {\n baseModelId: modelId,\n categorySelectorId: \"\",\n displayStyleId: \"\",\n origin: { x: originX, y: originY },\n delta: { x: deltaX, y: deltaY },\n angle: { radians: 0 },\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:ViewDefinition2d\",\n };\n\n const displayStyleProps: DisplayStyleProps = {\n code: Code.createEmpty(),\n model: dictionaryId,\n classFullName: \"BisCore:DisplayStyle2d\",\n jsonProperties: {\n styles: {\n backgroundColor: bgColor.tbgr,\n },\n },\n };\n\n const viewStateProps: ViewStateProps = {\n displayStyleProps,\n categorySelectorProps,\n modelSelectorProps,\n viewDefinitionProps,\n modelExtents,\n };\n\n // merge seed view props if needed\n return options?.useSeedView ? this._mergeSeedView(modelId, viewStateProps) : viewStateProps;\n };\n\n /**\n * Adds Sheet view props to given view props.\n * @param modelId of target model.\n * @param props input ViewStateProps.\n */\n private async _addSheetViewProps(modelId: Id64String, props: ViewStateProps) {\n let width = 0;\n let height = 0;\n for await (const row of this._imodel.createQueryReader(`SELECT Width, Height FROM bis.Sheet WHERE ECInstanceId = ?`, QueryBinder.from([modelId]), { rowFormat: QueryRowFormat.UseECSqlPropertyNames })) {\n width = row.Width as number;\n height = row.Height as number;\n break;\n }\n const sheetProps: SheetProps = {\n model: modelId,\n code: { spec: \"\", scope: \"\" },\n classFullName: \"DrawingSheetModel\",\n height,\n width,\n };\n\n props.sheetAttachments = await this._getSheetAttachments(modelId);\n props.sheetProps = sheetProps;\n\n return props;\n }\n\n /**\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no 2D views for target model.\n * @param modelId of target model.\n * @param props Input view props to be merged\n */\n private async _mergeSeedView(modelId: Id64String, props: ViewStateProps): Promise<ViewStateProps> {\n const viewDefinitionId = await this._getViewDefinitionsIdForModel(modelId);\n // Return incase no viewDefinition found.\n if (viewDefinitionId === undefined)\n return props;\n\n const seedViewState = (await this._imodel.views.load(viewDefinitionId));\n const seedViewStateProps: ViewStateProps = {\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\n viewDefinitionProps: seedViewState.toJSON(),\n displayStyleProps: seedViewState.displayStyle.toJSON(),\n };\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\n if (mergedDisplayProps.jsonProperties !== undefined) {\n mergedDisplayProps.jsonProperties.styles = {\n ...mergedDisplayProps.jsonProperties.styles,\n ...props.displayStyleProps.jsonProperties?.styles,\n };\n }\n\n return { ...seedViewStateProps, ...props, displayStyleProps: mergedDisplayProps };\n }\n\n /**\n * Get all view definitions for a given model.\n * @param modelId of target model.\n */\n private async _getViewDefinitionsIdForModel(modelId: Id64String): Promise<Id64String | undefined> {\n\n const query = `SELECT ECInstanceId as id from Bis.ViewDefinition2D WHERE BaseModel.Id = ${modelId} AND isPrivate = false LIMIT 1`;\n const viewDefinitionsId = await this._executeQuery(query);\n\n return (viewDefinitionsId.length) > 0 ? viewDefinitionsId[0] : undefined;\n }\n\n /**\n * Get all drawing categories\n */\n private async _getAllCategories(): Promise<Id64Array> {\n\n const query = \"SELECT ECInstanceId as id from BisCore.DrawingCategory\";\n const categories = await this._executeQuery(query);\n\n return categories;\n }\n\n /**\n * Get all sheet attachments\n * @param modelId of target model.\n */\n private async _getSheetAttachments(modelId: string): Promise<Id64Array> {\n\n const query = `SELECT ECInstanceId as id FROM Bis.ViewAttachment WHERE Model.Id = ${modelId}`;\n const attachments = await this._executeQuery(query);\n\n return attachments;\n }\n\n /**\n * Helper function to execute ECSql queries.\n * @param query statement to execute.\n */\n private _executeQuery = async (query: string) => {\n const rows = [];\n for await (const row of this._imodel.createQueryReader(query, undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames }))\n rows.push(row.id);\n\n return rows;\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ElementSetTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ElementSetTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElementSetTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ElementSetTool.ts"],"names":[],"mappings":"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"}
@@ -384,8 +384,7 @@ export class ElementSetTool extends PrimitiveTool {
384
384
  // When assembly parent is selected, pick all geometric elements with it as the parent.
385
385
  // When assembly member is selected, pick the parent as well as all the other members.
386
386
  const ecsql = `SELECT ECInstanceId as id, Parent.Id as parentId FROM BisCore.GeometricElement WHERE Parent.Id IN (SELECT Parent.Id as parentId FROM BisCore.GeometricElement WHERE (parent.Id IS NOT NULL AND ECInstanceId IN (${id})) OR parent.Id IN (${id}))`;
387
- // eslint-disable-next-line @typescript-eslint/no-deprecated
388
- for await (const row of this.iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
387
+ for await (const row of this.iModel.createQueryReader(ecsql, undefined, { rowFormat: QueryRowFormat.UseECSqlPropertyNames })) {
389
388
  ids.add(row.parentId);
390
389
  ids.add(row.id);
391
390
  }