@itwin/core-common 5.0.0-dev.88 → 5.0.0-dev.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/ViewProps.d.ts
CHANGED
|
@@ -76,7 +76,7 @@ export interface HydrateViewStateResponseProps {
|
|
|
76
76
|
baseModelProps?: ModelProps;
|
|
77
77
|
spatialViewProps?: ViewStateProps;
|
|
78
78
|
}
|
|
79
|
-
/** Returned from [IModelDb.Views.
|
|
79
|
+
/** Returned from [IModelDb.Views.getViewStateProps]($backend).
|
|
80
80
|
* @public
|
|
81
81
|
* @extensions
|
|
82
82
|
*/
|
|
@@ -94,7 +94,7 @@ export interface ViewStateProps {
|
|
|
94
94
|
/** Information about the [SectionDrawing]($backend) relevant to displaying a drawing view. */
|
|
95
95
|
sectionDrawing?: SectionDrawingViewProps;
|
|
96
96
|
}
|
|
97
|
-
/** Options for loading a [[ViewStateProps]] via [IModelConnection.Views.load]($frontend) or [IModelDb.Views.
|
|
97
|
+
/** Options for loading a [[ViewStateProps]] via [IModelConnection.Views.load]($frontend) or [IModelDb.Views.getViewStateProps]($backend).
|
|
98
98
|
* @public
|
|
99
99
|
* @extensions
|
|
100
100
|
*/
|
package/lib/cjs/ViewProps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewProps.js","sourceRoot":"","sources":["../../src/ViewProps.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA4OH;;;GAGG;AACH,IAAiB,YAAY,CA0W5B;AA1WD,WAAiB,YAAY;IAE3B;;;;OAIG;IACU,oBAAO,GAAG,OAAO,CAAC;IAkC/B,qGAAqG;IACxF,0BAAa,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAgUnF,CAAC,EA1WgB,YAAY,4BAAZ,YAAY,QA0W5B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { CompressedId64Set, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport { AngleProps, Range3dProps, TransformProps, XYProps, XYZProps, YawPitchRollProps } from \"@itwin/core-geometry\";\nimport { CameraProps } from \"./Camera\";\nimport { DisplayStyleProps, DisplayStyleSettingsProps } from \"./DisplayStyleSettings\";\nimport { DefinitionElementProps, DisplayStyleLoadProps, ElementProps, RenderTimelineProps, SheetProps, ViewAttachmentProps } from \"./ElementProps\";\nimport { EntityQueryParams } from \"./EntityProps\";\nimport { ModelProps } from \"./ModelProps\";\nimport { SubCategoryAppearance } from \"./SubCategoryAppearance\";\nimport { ViewDetails3dProps, ViewDetailsProps } from \"./ViewDetails\";\nimport { ThumbnailProps } from \"./Thumbnail\";\nimport { RenderSchedule } from \"./RenderSchedule\";\n\n/** The id of either an element or an entry in a ViewStore.\n * @public\n */\nexport type ViewIdString = Id64String; // should also include ViewStoreRpc.IdString when that's @public\n\n/** As part of a [[ViewStateProps]], describes the [[SpatialViewDefinition]] from which a [SectionDrawing]($backend) was generated.\n * @see [[SectionDrawingProps]]\n * @public\n * @extensions\n */\nexport interface SectionDrawingViewProps {\n /** The Id of the spatial view from which the SectionDrawing was generated. */\n spatialView: Id64String;\n /** If true, the spatial view should be displayed in the context of the drawing view. */\n displaySpatialView: boolean;\n /** Transform from drawing coordinates to spatial coordinates. If undefined, use identity transform. */\n drawingToSpatialTransform?: TransformProps;\n}\n\n/** The response props from the getCustomViewState3dData RPC endpoint\n * @internal\n */\nexport interface CustomViewState3dProps {\n modelIds: CompressedId64Set;\n modelExtents: Range3dProps;\n categoryIds: CompressedId64Set;\n}\n\n/**\n * The options passed to the getCustomViewState3dData RPC endpoint.\n * @internal\n */\nexport interface CustomViewState3dCreatorOptions {\n modelIds?: CompressedId64Set;\n}\n\n/**\n * A result row from querying for subcategories\n * @internal\n */\nexport interface SubCategoryResultRow {\n parentId: Id64String;\n id: Id64String;\n appearance: SubCategoryAppearance.Props;\n}\n\n/**\n * Request props for the hydrateViewState RPC endpoint.\n * @internal\n */\nexport interface HydrateViewStateRequestProps {\n acsId?: string;\n notLoadedModelSelectorStateModels?: CompressedId64Set;\n sheetViewAttachmentIds?: CompressedId64Set;\n viewStateLoadProps?: ViewStateLoadProps;\n baseModelId?: Id64String;\n spatialViewId?: Id64String;\n}\n\n/** Response props from the hydrateViewState RPC endpoint.\n * @internal\n */\nexport interface HydrateViewStateResponseProps {\n acsElementProps?: ElementProps;\n modelSelectorStateModels?: ModelProps[];\n // cast this to viewAttachmentInfo[] on the frontend.\n sheetViewAttachmentProps?: ViewAttachmentProps[];\n sheetViewViews?: (ViewStateProps | undefined)[];\n baseModelProps?: ModelProps;\n spatialViewProps?: ViewStateProps;\n}\n\n/** Returned from [IModelDb.Views.getViewStateData]($backend).\n * @public\n * @extensions\n */\nexport interface ViewStateProps {\n viewDefinitionProps: ViewDefinitionProps;\n categorySelectorProps: CategorySelectorProps;\n modelSelectorProps?: ModelSelectorProps;\n displayStyleProps: DisplayStyleProps;\n /** Sheet-specific properties, if this is a view of a [SheetModel]($backend). */\n sheetProps?: SheetProps;\n /** The Ids of the [ViewAttachment]($backend)s contained within the [SheetModel]($backend), if this is a sheet view. */\n sheetAttachments?: Id64Array;\n /** For a [DrawingViewState]($frontend), the extents of the [DrawingModel]($backend), used for determining the upper limits of the view's extents. */\n modelExtents?: Range3dProps;\n /** Information about the [SectionDrawing]($backend) relevant to displaying a drawing view. */\n sectionDrawing?: SectionDrawingViewProps;\n}\n\n/** Options for loading a [[ViewStateProps]] via [IModelConnection.Views.load]($frontend) or [IModelDb.Views.getViewStateData]($backend).\n * @public\n * @extensions\n */\nexport interface ViewStateLoadProps {\n /** Options for loading the view's [[DisplayStyleProps]]. */\n displayStyle?: DisplayStyleLoadProps;\n\n /**\n * bindings for query-based selectors\n * @beta\n */\n queryBindings?: {\n modelSelector?: ViewStoreRpc.QueryBindings;\n categorySelector?: ViewStoreRpc.QueryBindings;\n };\n}\n\n/** Properties that define a ModelSelector\n * @public\n * @extensions\n */\nexport interface ModelSelectorProps extends DefinitionElementProps {\n models: Id64Array;\n}\n\n/** Properties that define a CategorySelector\n * @public\n * @extensions\n */\nexport interface CategorySelectorProps extends DefinitionElementProps {\n categories: Id64Array;\n}\n\n/** Parameters for performing a query on [ViewDefinition]($backend) classes.\n * @public\n * @extensions\n */\nexport interface ViewQueryParams extends EntityQueryParams {\n wantPrivate?: boolean;\n}\n\n/** Parameters used to construct a ViewDefinition\n * @public\n * @extensions\n */\nexport interface ViewDefinitionProps extends DefinitionElementProps {\n categorySelectorId: ViewIdString;\n displayStyleId: ViewIdString;\n description?: string;\n jsonProperties?: {\n /** Additional properties of the view. */\n viewDetails?: ViewDetailsProps;\n };\n}\n\n/** Parameters to construct a ViewDefinition3d\n * @public\n * @extensions\n */\nexport interface ViewDefinition3dProps extends ViewDefinitionProps {\n /** if true, camera is valid. */\n cameraOn: boolean;\n /** The lower left back corner of the view frustum. */\n origin: XYZProps;\n /** The extent of the view frustum. */\n extents: XYZProps;\n /** Rotation of the view frustum (could be undefined if going Matrix3d -> YawPitchRoll). */\n angles?: YawPitchRollProps;\n /** The camera used for this view. */\n camera: CameraProps;\n jsonProperties?: {\n /** Additional properties of the view. */\n viewDetails?: ViewDetails3dProps;\n };\n}\n\n/** Parameters to construct a SpatialViewDefinition\n * @public\n * @extensions\n */\nexport interface SpatialViewDefinitionProps extends ViewDefinition3dProps {\n modelSelectorId: ViewIdString;\n}\n\n/** Parameters used to construct a ViewDefinition2d\n * @public\n * @extensions\n */\nexport interface ViewDefinition2dProps extends ViewDefinitionProps {\n baseModelId: Id64String;\n origin: XYProps;\n delta: XYProps;\n angle: AngleProps;\n}\n\n/**\n * @public\n * @extensions\n */\nexport interface AuxCoordSystemProps extends ElementProps {\n type?: number;\n description?: string;\n}\n\n/** Properties of AuxCoordSystem2d\n * @public\n * @extensions\n */\nexport interface AuxCoordSystem2dProps extends AuxCoordSystemProps {\n /** Origin of the AuxCoordSystem2d */\n origin?: XYProps;\n /** Rotation angle */\n angle?: AngleProps;\n}\n\n/** Properties of AuxCoordSystem3d\n * @public\n * @extensions\n */\nexport interface AuxCoordSystem3dProps extends AuxCoordSystemProps {\n /** Origin of the AuxCoordSystem3d */\n origin?: XYZProps;\n /** Yaw angle */\n yaw?: AngleProps;\n /** Pitch angle */\n pitch?: AngleProps;\n /** Roll angle */\n roll?: AngleProps;\n}\n\n/**\n * Access to a ViewStore from the frontend.\n * @beta\n */\nexport namespace ViewStoreRpc {\n\n /**\n * Version of the Rpc interface. If any methods or interfaces of this API change, this number should\n * be incremented according to the rules of semantic versioning. See .\\rpc\\README-RpcInterfaceVersioning.md for more information.\n * @internal\n */\n export const version = \"4.0.0\";\n\n /** an Id of a View, DisplayStyle, ModelSelector, CategorySelector, or Timeline in a ViewStore.\n * Will be a base-36 number with a leading \"@\".\n * @public\n */\n export type IdString = string;\n\n /**\n * A string identifying a group. This may either be a \"group name path\" or the RowString of a group (e.g. either \"group1/design/issues\" or \"@4e3\")\n * The syntax is not ambiguous because ViewStoreIdStrings always start with \"@\" and Group names can never contain \"@\".\n */\n export type ViewGroupSpec = IdString | ViewGroupPath;\n\n /** The name for a view. */\n export type ViewName = string;\n\n /** The name for a Tag. */\n export type TagName = string;\n\n /** The name of an \"owner\". Should come from the authentication system, so it will be guaranteed unique.\n * This name should be chosen by the user rather than their email address.\n */\n export type OwnerName = string;\n\n /** The path name of a view group (e.g. \"group1/design/issues\"). Does not include the \"root\" group. */\n export type ViewGroupPath = string;\n\n /** The name for a view group. */\n export type ViewGroupName = string;\n\n /** The name for a view group. */\n export type ClassFullName = string;\n\n /** Determine if a string is an Id of an entry in a ViewStore (base-36 integer with a leading \"@\") */\n export const isViewStoreId = (id?: ViewIdString) => true === id?.startsWith(\"@\");\n\n /** Parameters for querying for views in a ViewStore. */\n export interface QueryParams {\n /** a list of classFullNames to accept. If not present, all classes are returned. */\n readonly classNames?: ClassFullName[];\n /** Optional \"LIMIT\" clause to limit the number of views returned. */\n readonly limit?: number;\n /** Optional \"OFFSET\" clause. Only valid if Limit is also present. */\n readonly offset?: number;\n /** A string to filter view names. May include wildcards if the `nameCompare` uses LIKE or GLOB (see SQLite documentation for LIKE and GLOB). */\n readonly nameSearch?: string;\n /** The comparison operator for `nameSearch`. Default is `=` */\n readonly nameCompare?: \"GLOB\" | \"LIKE\" | \"NOT GLOB\" | \"NOT LIKE\" | \"=\" | \"<\" | \">\";\n /* the Id of the view group to query. If not present, the root group is used. There is no way to query for views from multiple view groups in one request. */\n readonly group?: IdString;\n /** A list of tags to filter views. If present, only views that have one or more of the tags will be returned. */\n readonly tags?: TagName[];\n /* The name of an owner for private views. If present, private views owned by the owner will also be returned. Shared views are always returned. */\n readonly owner?: OwnerName;\n }\n\n /** Parameters for specifying a Query to select Categories or Models. */\n export interface SelectorQuery {\n /**\n * The full ClassName from which to select. If this SelectorQuery is for Categories, this must be or derive from \"BisCore:Category\".\n * If this SelectorQuery is for Models, this must be or derive from \"BisCore:Model\".\n */\n from: ClassFullName;\n /** If true, only return instances of `from`. Otherwise, return instances of `from` and any subclasses of `from`. */\n only?: boolean;\n /**\n * filter for query. If present, only instances of `from` that satisfy the filter will be returned.\n * If not supplied, all instances of `from` are returned.\n * @note\n * This value is used into the ECQuery:`SELECT ECInstanceId FROM ${query.from} WHERE ${query.where}`.\n */\n where?: string;\n /** List of Model or Category ids to add to the query results.\n * @note This is only valid if there is a `where` clause. Otherwise all instances of `from` will be returned so there is no value in adding ids.\n */\n adds?: Id64Array | CompressedId64Set;\n /** List of Model or Category Ids to remove from the query results. */\n removes?: Id64Array | CompressedId64Set;\n }\n\n /** A Model or Category selector may either be a query or a list of Ids. */\n export type SelectorProps = { query: SelectorQuery, ids?: never } | { query?: never, ids: Id64Array | CompressedId64Set };\n\n /** Information about a View in a ViewStore. */\n export interface ViewInfo {\n /** The Id of the view. */\n id: IdString;\n /** The name of the view. */\n name?: ViewName;\n /** The name of the owner of the view. */\n owner?: OwnerName;\n /** The className of the view. */\n className: ClassFullName;\n /** The Id of the view group containing the view. */\n groupId: IdString;\n /** If true, the view is private (unshared) and will only be returned by queries that specify the owner's name. */\n isPrivate: boolean;\n /** The Id of a ModelSelector, if the view has one. */\n modelSelectorId?: IdString;\n /** The Id of the CategorySelector for this view. */\n categorySelectorId: IdString;\n /** The Id of a DisplayStyle for the view. */\n displayStyleId: IdString;\n /** a list of tags for the view. */\n tags?: TagName[];\n }\n\n /** Information about a ViewGroup in a ViewStore. */\n export interface ViewGroupInfo {\n /** The Id of this view group. */\n id: IdString;\n /** The name of this view group. */\n name: ViewGroupName;\n /** The Id of the parent of this view group. If undefined, this is the root group. */\n parent?: IdString;\n /** The Id of the default view for this view group. */\n defaultView?: IdString;\n }\n\n /** Arguments for adding a new view to a ViewStore. */\n export interface AddViewArgs {\n /** the properties of the ViewDefinition for the new view. */\n readonly viewDefinition: ViewDefinitionProps;\n\n /**\n * The properties of a category selector for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.categorySelectorId` **not** a valid\n * `IdString`. In that case, a new category selector will be created with these properties and its Id will be used.\n * Otherwise, the categorySelectorId from the ViewDefinition is used. If it does not represent a valid category\n * selector, an error is thrown.\n */\n readonly categorySelectorProps?: CategorySelectorProps;\n\n /** The properties of a model selector for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.modelSelectorId` **not** a valid\n * `IdString`. In that case, a new model selector will be created with these properties and its Id will be used.\n * Otherwise, the modelSelectorId from the ViewDefinition is used. If it does not represent a valid model selector,\n * an error is thrown.\n */\n readonly modelSelectorProps?: ModelSelectorProps;\n\n /** The properties of a display style for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.displayStyleId` **not** a valid\n * `IdString`. In that case, a new display style will be created with these properties and its Id will be used.\n * Otherwise, the displayStyleId from the ViewDefinition is used. If it does not represent a valid display style, an\n * error is thrown.\n */\n readonly displayStyleProps?: DisplayStyleProps;\n\n /* the owner of the view. Must be present if isPrivate is true. */\n readonly owner?: OwnerName;\n\n /* the Id of the view group for the view. If not present, the view is added to the root group. */\n readonly group?: IdString;\n\n /* if true, the view is private (unshared). */\n readonly isPrivate?: boolean;\n\n /* an optional list of tags for the view. */\n readonly tags?: TagName[];\n\n /** optional thumbnail for the view. */\n readonly thumbnail?: ThumbnailProps;\n }\n\n /** Argument for finding a category selector, model selector, display style, or timeline by name or Id. */\n export type NameOrId = { name: string, id?: never } | { id: IdString, name?: never };\n\n /** Bindings for parameterized values in where clause of SelectorQuery\n * @see[[ECSqlStatement.bindValues]]\n */\n export interface QueryBindings {\n bindings?: any[] | object;\n }\n\n /**\n * Methods for reading from a ViewStore via Rpc from a frontend via `IModelConnection.views.viewsStoreReader`. These\n * methods use the *current* ViewStore for the iModel, and attempt to load the default ViewStore if no ViewStore is\n * currently loaded. They will throw exceptions if the request cannot be fulfilled.\n * @note The user's accessToken is validated against the ViewStore for every request. For each of these methods, the\n * user only needs read permission to the ViewStore.\n */\n export interface Reader {\n /** Find all views owned by the supplied owner name. */\n findViewsByOwner(args: { owner: OwnerName }): Promise<ViewInfo[]>;\n\n /** Get a category selector by Id. Throws if it does not exist. */\n getCategorySelector(args: NameOrId & QueryBindings): Promise<CategorySelectorProps>;\n\n /** Get a display style by Id. Throws if it does not exist. */\n getDisplayStyle(args: NameOrId & { opts?: DisplayStyleLoadProps }): Promise<DisplayStyleProps>;\n\n /** Get a model selector by Id. Throws if it does not exist. */\n getModelSelector(args: NameOrId & QueryBindings): Promise<ModelSelectorProps>;\n\n /** Get a thumbnail for a view. */\n getThumbnail(args: { viewId: IdString }): Promise<ThumbnailProps | undefined>;\n\n /** Get a render timeline by Id. Throws if it does not exist. */\n getTimeline(args: NameOrId): Promise<RenderTimelineProps>;\n\n /** Get a view by name. The name can include the *view group path*, if no `groupId` is supplied. */\n getViewByName(arg: { name: ViewName, groupId?: IdString }): Promise<ViewInfo | undefined>;\n\n /** Get a view definition by viewId. Throws if it does not exist. */\n getViewDefinition(args: { viewId: IdString }): Promise<ViewDefinitionProps>;\n\n /** get the properties of a ViewGroup by id. This will include the defaultViewId, if one exists. */\n getViewGroupInfo(args: { groupId?: IdString }): Promise<ViewGroupInfo | undefined>;\n\n /** Get a list of ViewGroups that are children of the supplied parent. If no parent is supplied, the root group is used.\n * Each entry in the list includes the id and name of the ViewGroup.\n */\n getViewGroups(args: { parent?: ViewGroupSpec }): Promise<{ id: IdString, name: string }[]>;\n\n /** Get the ViewInfo for a view by Id. Returns undefined if the view does not exist. */\n getViewInfo(args: { viewId: IdString }): Promise<ViewInfo | undefined>;\n\n /** Query for a list of ViewInfos for views that match the supplied [[QueryParams]].\n * @note The array will be sorted by name, ascending. To limit the size of the array, supply `limit` and `offset` in the QueryParams.\n */\n queryViews(queryParams: QueryParams): Promise<ViewInfo[]>;\n }\n\n /**\n * Methods for writing to a ViewStore via Rpc from a frontend via `IModelConnection.views.viewsStoreWriter`. These\n * methods use the *current* ViewStore for the iModel, and attempt to load the default ViewStore if no ViewStore is\n * currently loaded. They will throw exceptions if the request cannot be fulfilled.\n * @note The user's accessToken is validated against the ViewStore for every request. For each of these methods, the\n * user must have write permission to the ViewStore.\n */\n export interface Writer {\n /**\n * Add a category selector to a ViewStore.\n * @returns The IdString of the new category selector.\n */\n addCategorySelector(args: { name?: string, selector: SelectorProps, owner?: OwnerName }): Promise<IdString>;\n\n /** Add a display style to a ViewStore.\n * @returns The IdString of the new display style.\n */\n addDisplayStyle(args: { name?: string, className: string, settings: DisplayStyleSettingsProps, owner?: OwnerName }): Promise<IdString>;\n\n /**\n * Add a model selector to a ViewStore.\n * @returns The IdString of the new model selector.\n */\n addModelSelector(args: { name?: string, selector: SelectorProps, owner?: OwnerName }): Promise<IdString>;\n\n /**\n * Add a thumbnail for a view. If the view already has a thumbnail, it is replaced.\n * If a view is deleted, its thumbnail is also deleted.\n * @note The thumbnail must be a valid image in PNG or JPEG format.\n */\n addOrReplaceThumbnail(args: { viewId: IdString, thumbnail: ThumbnailProps }): Promise<void>;\n\n /** Add tags to a view. If the view already has tags, the new tags are appended to the existing tags. */\n addTagsToView(args: { viewId: IdString, tags: TagName[] }): Promise<void>;\n\n /** Add a render timeline to a ViewStore.\n * @returns The IdString of the new timeline.\n */\n addTimeline(args: { name?: string, timeline: RenderSchedule.ScriptProps, owner?: OwnerName }): Promise<IdString>;\n\n /** Add a view to a ViewStore. If no group is supplied, the new view is added to the root view group.\n * @returns The IdString of the new view\n */\n addView(args: AddViewArgs): Promise<IdString>;\n\n /** Add a view group to a ViewStore. If no parent is supplied, the new group is added to the root view group.\n * @returns the IdString of new view group\n */\n addViewGroup(args: { name: string, parentId?: IdString, owner?: OwnerName }): Promise<IdString>;\n\n /** Change the default view for a view group. If no group is supplied, this changes the default view for the root view group. */\n changeDefaultViewId(args: { defaultView: IdString, group?: ViewGroupSpec }): Promise<void>;\n\n /** Delete the thumbnail for a view. */\n deleteThumbnail(args: { viewId: IdString }): Promise<void>;\n\n /**\n * Delete a view from a ViewStore. If this is the default view for a view group, it cannot be deleted until another\n * view is set as the default.\n * @note If this view references a category selector, model selector, or display style that is not referenced by any\n * other view, *and do not have a name*, they will each also be deleted. If the view has a thumbnail, it is also\n * deleted.\n */\n deleteView(args: { viewId: IdString }): Promise<void>;\n\n /** Delete a view group from a ViewStore. This will also delete all views in the group. */\n deleteViewGroup(args: { name: ViewGroupSpec }): Promise<void>;\n\n /** Delete a display style from a ViewStore. If the display style is referenced by any view, it cannot be deleted\n * and an exception will be thrown.\n */\n deleteDisplayStyle(args: { id: IdString }): Promise<void>;\n\n /** Delete a model selector from a ViewStore. If the model selector is referenced by any view, it cannot be deleted\n * and an exception will be thrown. */\n deleteModelSelector(args: { id: IdString }): Promise<void>;\n\n /** Delete a category selector from a ViewStore. If the category selector is referenced by any view, it cannot be\n * deleted and an exception will be thrown.\n */\n deleteCategorySelector(args: { id: IdString }): Promise<void>;\n\n /** Delete a render timeline from a ViewStore. */\n deleteTimeline(args: { id: IdString }): Promise<void>;\n\n /** Delete a tag. This removes it from all views where it was used. */\n deleteTag(args: { name: TagName }): Promise<void>;\n\n /** remove a tag from a view. */\n removeTagFromView(args: { viewId: IdString, tag: TagName }): Promise<void>;\n\n /** Update the properties of a category selector. */\n updateCategorySelector(args: NameOrId & { selector: SelectorProps }): Promise<void>;\n\n /** Update the properties of a display style. */\n updateDisplayStyle(args: NameOrId & { className: string, settings: DisplayStyleSettingsProps }): Promise<void>;\n\n /** Update the properties of a model selector. */\n updateModelSelector(args: NameOrId & { selector: SelectorProps }): Promise<void>;\n\n /** Update the properties of a render timeline. */\n updateTimeline(args: NameOrId & { timeline: RenderSchedule.ScriptProps }): Promise<void>;\n\n /** Update the properties of a view definition. */\n updateViewDefinition(args: { viewId: IdString, viewDefinition: ViewDefinitionProps }): Promise<void>;\n\n /** Change a view from shared to private, or vice versa. If changing to private, the owner must be supplied. */\n updateViewShared(arg: { viewId: IdString, isShared: boolean, owner?: string }): Promise<void>;\n\n /** Set the name of a category selector. */\n renameCategorySelector(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a display style. */\n renameDisplayStyle(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a model selector. */\n renameModelSelector(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a render timeline. */\n renameTimeline(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a view. */\n renameView(args: { viewId: IdString, name: string }): Promise<void>;\n\n /** Set the name of a view group. */\n renameViewGroup(args: { groupId: IdString, name: string }): Promise<void>;\n\n /** rename an existing tag. */\n renameTag(args: { oldName: TagName, newName: TagName }): Promise<void>;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ViewProps.js","sourceRoot":"","sources":["../../src/ViewProps.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA4OH;;;GAGG;AACH,IAAiB,YAAY,CA0W5B;AA1WD,WAAiB,YAAY;IAE3B;;;;OAIG;IACU,oBAAO,GAAG,OAAO,CAAC;IAkC/B,qGAAqG;IACxF,0BAAa,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAgUnF,CAAC,EA1WgB,YAAY,4BAAZ,YAAY,QA0W5B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { CompressedId64Set, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport { AngleProps, Range3dProps, TransformProps, XYProps, XYZProps, YawPitchRollProps } from \"@itwin/core-geometry\";\nimport { CameraProps } from \"./Camera\";\nimport { DisplayStyleProps, DisplayStyleSettingsProps } from \"./DisplayStyleSettings\";\nimport { DefinitionElementProps, DisplayStyleLoadProps, ElementProps, RenderTimelineProps, SheetProps, ViewAttachmentProps } from \"./ElementProps\";\nimport { EntityQueryParams } from \"./EntityProps\";\nimport { ModelProps } from \"./ModelProps\";\nimport { SubCategoryAppearance } from \"./SubCategoryAppearance\";\nimport { ViewDetails3dProps, ViewDetailsProps } from \"./ViewDetails\";\nimport { ThumbnailProps } from \"./Thumbnail\";\nimport { RenderSchedule } from \"./RenderSchedule\";\n\n/** The id of either an element or an entry in a ViewStore.\n * @public\n */\nexport type ViewIdString = Id64String; // should also include ViewStoreRpc.IdString when that's @public\n\n/** As part of a [[ViewStateProps]], describes the [[SpatialViewDefinition]] from which a [SectionDrawing]($backend) was generated.\n * @see [[SectionDrawingProps]]\n * @public\n * @extensions\n */\nexport interface SectionDrawingViewProps {\n /** The Id of the spatial view from which the SectionDrawing was generated. */\n spatialView: Id64String;\n /** If true, the spatial view should be displayed in the context of the drawing view. */\n displaySpatialView: boolean;\n /** Transform from drawing coordinates to spatial coordinates. If undefined, use identity transform. */\n drawingToSpatialTransform?: TransformProps;\n}\n\n/** The response props from the getCustomViewState3dData RPC endpoint\n * @internal\n */\nexport interface CustomViewState3dProps {\n modelIds: CompressedId64Set;\n modelExtents: Range3dProps;\n categoryIds: CompressedId64Set;\n}\n\n/**\n * The options passed to the getCustomViewState3dData RPC endpoint.\n * @internal\n */\nexport interface CustomViewState3dCreatorOptions {\n modelIds?: CompressedId64Set;\n}\n\n/**\n * A result row from querying for subcategories\n * @internal\n */\nexport interface SubCategoryResultRow {\n parentId: Id64String;\n id: Id64String;\n appearance: SubCategoryAppearance.Props;\n}\n\n/**\n * Request props for the hydrateViewState RPC endpoint.\n * @internal\n */\nexport interface HydrateViewStateRequestProps {\n acsId?: string;\n notLoadedModelSelectorStateModels?: CompressedId64Set;\n sheetViewAttachmentIds?: CompressedId64Set;\n viewStateLoadProps?: ViewStateLoadProps;\n baseModelId?: Id64String;\n spatialViewId?: Id64String;\n}\n\n/** Response props from the hydrateViewState RPC endpoint.\n * @internal\n */\nexport interface HydrateViewStateResponseProps {\n acsElementProps?: ElementProps;\n modelSelectorStateModels?: ModelProps[];\n // cast this to viewAttachmentInfo[] on the frontend.\n sheetViewAttachmentProps?: ViewAttachmentProps[];\n sheetViewViews?: (ViewStateProps | undefined)[];\n baseModelProps?: ModelProps;\n spatialViewProps?: ViewStateProps;\n}\n\n/** Returned from [IModelDb.Views.getViewStateProps]($backend).\n * @public\n * @extensions\n */\nexport interface ViewStateProps {\n viewDefinitionProps: ViewDefinitionProps;\n categorySelectorProps: CategorySelectorProps;\n modelSelectorProps?: ModelSelectorProps;\n displayStyleProps: DisplayStyleProps;\n /** Sheet-specific properties, if this is a view of a [SheetModel]($backend). */\n sheetProps?: SheetProps;\n /** The Ids of the [ViewAttachment]($backend)s contained within the [SheetModel]($backend), if this is a sheet view. */\n sheetAttachments?: Id64Array;\n /** For a [DrawingViewState]($frontend), the extents of the [DrawingModel]($backend), used for determining the upper limits of the view's extents. */\n modelExtents?: Range3dProps;\n /** Information about the [SectionDrawing]($backend) relevant to displaying a drawing view. */\n sectionDrawing?: SectionDrawingViewProps;\n}\n\n/** Options for loading a [[ViewStateProps]] via [IModelConnection.Views.load]($frontend) or [IModelDb.Views.getViewStateProps]($backend).\n * @public\n * @extensions\n */\nexport interface ViewStateLoadProps {\n /** Options for loading the view's [[DisplayStyleProps]]. */\n displayStyle?: DisplayStyleLoadProps;\n\n /**\n * bindings for query-based selectors\n * @beta\n */\n queryBindings?: {\n modelSelector?: ViewStoreRpc.QueryBindings;\n categorySelector?: ViewStoreRpc.QueryBindings;\n };\n}\n\n/** Properties that define a ModelSelector\n * @public\n * @extensions\n */\nexport interface ModelSelectorProps extends DefinitionElementProps {\n models: Id64Array;\n}\n\n/** Properties that define a CategorySelector\n * @public\n * @extensions\n */\nexport interface CategorySelectorProps extends DefinitionElementProps {\n categories: Id64Array;\n}\n\n/** Parameters for performing a query on [ViewDefinition]($backend) classes.\n * @public\n * @extensions\n */\nexport interface ViewQueryParams extends EntityQueryParams {\n wantPrivate?: boolean;\n}\n\n/** Parameters used to construct a ViewDefinition\n * @public\n * @extensions\n */\nexport interface ViewDefinitionProps extends DefinitionElementProps {\n categorySelectorId: ViewIdString;\n displayStyleId: ViewIdString;\n description?: string;\n jsonProperties?: {\n /** Additional properties of the view. */\n viewDetails?: ViewDetailsProps;\n };\n}\n\n/** Parameters to construct a ViewDefinition3d\n * @public\n * @extensions\n */\nexport interface ViewDefinition3dProps extends ViewDefinitionProps {\n /** if true, camera is valid. */\n cameraOn: boolean;\n /** The lower left back corner of the view frustum. */\n origin: XYZProps;\n /** The extent of the view frustum. */\n extents: XYZProps;\n /** Rotation of the view frustum (could be undefined if going Matrix3d -> YawPitchRoll). */\n angles?: YawPitchRollProps;\n /** The camera used for this view. */\n camera: CameraProps;\n jsonProperties?: {\n /** Additional properties of the view. */\n viewDetails?: ViewDetails3dProps;\n };\n}\n\n/** Parameters to construct a SpatialViewDefinition\n * @public\n * @extensions\n */\nexport interface SpatialViewDefinitionProps extends ViewDefinition3dProps {\n modelSelectorId: ViewIdString;\n}\n\n/** Parameters used to construct a ViewDefinition2d\n * @public\n * @extensions\n */\nexport interface ViewDefinition2dProps extends ViewDefinitionProps {\n baseModelId: Id64String;\n origin: XYProps;\n delta: XYProps;\n angle: AngleProps;\n}\n\n/**\n * @public\n * @extensions\n */\nexport interface AuxCoordSystemProps extends ElementProps {\n type?: number;\n description?: string;\n}\n\n/** Properties of AuxCoordSystem2d\n * @public\n * @extensions\n */\nexport interface AuxCoordSystem2dProps extends AuxCoordSystemProps {\n /** Origin of the AuxCoordSystem2d */\n origin?: XYProps;\n /** Rotation angle */\n angle?: AngleProps;\n}\n\n/** Properties of AuxCoordSystem3d\n * @public\n * @extensions\n */\nexport interface AuxCoordSystem3dProps extends AuxCoordSystemProps {\n /** Origin of the AuxCoordSystem3d */\n origin?: XYZProps;\n /** Yaw angle */\n yaw?: AngleProps;\n /** Pitch angle */\n pitch?: AngleProps;\n /** Roll angle */\n roll?: AngleProps;\n}\n\n/**\n * Access to a ViewStore from the frontend.\n * @beta\n */\nexport namespace ViewStoreRpc {\n\n /**\n * Version of the Rpc interface. If any methods or interfaces of this API change, this number should\n * be incremented according to the rules of semantic versioning. See .\\rpc\\README-RpcInterfaceVersioning.md for more information.\n * @internal\n */\n export const version = \"4.0.0\";\n\n /** an Id of a View, DisplayStyle, ModelSelector, CategorySelector, or Timeline in a ViewStore.\n * Will be a base-36 number with a leading \"@\".\n * @public\n */\n export type IdString = string;\n\n /**\n * A string identifying a group. This may either be a \"group name path\" or the RowString of a group (e.g. either \"group1/design/issues\" or \"@4e3\")\n * The syntax is not ambiguous because ViewStoreIdStrings always start with \"@\" and Group names can never contain \"@\".\n */\n export type ViewGroupSpec = IdString | ViewGroupPath;\n\n /** The name for a view. */\n export type ViewName = string;\n\n /** The name for a Tag. */\n export type TagName = string;\n\n /** The name of an \"owner\". Should come from the authentication system, so it will be guaranteed unique.\n * This name should be chosen by the user rather than their email address.\n */\n export type OwnerName = string;\n\n /** The path name of a view group (e.g. \"group1/design/issues\"). Does not include the \"root\" group. */\n export type ViewGroupPath = string;\n\n /** The name for a view group. */\n export type ViewGroupName = string;\n\n /** The name for a view group. */\n export type ClassFullName = string;\n\n /** Determine if a string is an Id of an entry in a ViewStore (base-36 integer with a leading \"@\") */\n export const isViewStoreId = (id?: ViewIdString) => true === id?.startsWith(\"@\");\n\n /** Parameters for querying for views in a ViewStore. */\n export interface QueryParams {\n /** a list of classFullNames to accept. If not present, all classes are returned. */\n readonly classNames?: ClassFullName[];\n /** Optional \"LIMIT\" clause to limit the number of views returned. */\n readonly limit?: number;\n /** Optional \"OFFSET\" clause. Only valid if Limit is also present. */\n readonly offset?: number;\n /** A string to filter view names. May include wildcards if the `nameCompare` uses LIKE or GLOB (see SQLite documentation for LIKE and GLOB). */\n readonly nameSearch?: string;\n /** The comparison operator for `nameSearch`. Default is `=` */\n readonly nameCompare?: \"GLOB\" | \"LIKE\" | \"NOT GLOB\" | \"NOT LIKE\" | \"=\" | \"<\" | \">\";\n /* the Id of the view group to query. If not present, the root group is used. There is no way to query for views from multiple view groups in one request. */\n readonly group?: IdString;\n /** A list of tags to filter views. If present, only views that have one or more of the tags will be returned. */\n readonly tags?: TagName[];\n /* The name of an owner for private views. If present, private views owned by the owner will also be returned. Shared views are always returned. */\n readonly owner?: OwnerName;\n }\n\n /** Parameters for specifying a Query to select Categories or Models. */\n export interface SelectorQuery {\n /**\n * The full ClassName from which to select. If this SelectorQuery is for Categories, this must be or derive from \"BisCore:Category\".\n * If this SelectorQuery is for Models, this must be or derive from \"BisCore:Model\".\n */\n from: ClassFullName;\n /** If true, only return instances of `from`. Otherwise, return instances of `from` and any subclasses of `from`. */\n only?: boolean;\n /**\n * filter for query. If present, only instances of `from` that satisfy the filter will be returned.\n * If not supplied, all instances of `from` are returned.\n * @note\n * This value is used into the ECQuery:`SELECT ECInstanceId FROM ${query.from} WHERE ${query.where}`.\n */\n where?: string;\n /** List of Model or Category ids to add to the query results.\n * @note This is only valid if there is a `where` clause. Otherwise all instances of `from` will be returned so there is no value in adding ids.\n */\n adds?: Id64Array | CompressedId64Set;\n /** List of Model or Category Ids to remove from the query results. */\n removes?: Id64Array | CompressedId64Set;\n }\n\n /** A Model or Category selector may either be a query or a list of Ids. */\n export type SelectorProps = { query: SelectorQuery, ids?: never } | { query?: never, ids: Id64Array | CompressedId64Set };\n\n /** Information about a View in a ViewStore. */\n export interface ViewInfo {\n /** The Id of the view. */\n id: IdString;\n /** The name of the view. */\n name?: ViewName;\n /** The name of the owner of the view. */\n owner?: OwnerName;\n /** The className of the view. */\n className: ClassFullName;\n /** The Id of the view group containing the view. */\n groupId: IdString;\n /** If true, the view is private (unshared) and will only be returned by queries that specify the owner's name. */\n isPrivate: boolean;\n /** The Id of a ModelSelector, if the view has one. */\n modelSelectorId?: IdString;\n /** The Id of the CategorySelector for this view. */\n categorySelectorId: IdString;\n /** The Id of a DisplayStyle for the view. */\n displayStyleId: IdString;\n /** a list of tags for the view. */\n tags?: TagName[];\n }\n\n /** Information about a ViewGroup in a ViewStore. */\n export interface ViewGroupInfo {\n /** The Id of this view group. */\n id: IdString;\n /** The name of this view group. */\n name: ViewGroupName;\n /** The Id of the parent of this view group. If undefined, this is the root group. */\n parent?: IdString;\n /** The Id of the default view for this view group. */\n defaultView?: IdString;\n }\n\n /** Arguments for adding a new view to a ViewStore. */\n export interface AddViewArgs {\n /** the properties of the ViewDefinition for the new view. */\n readonly viewDefinition: ViewDefinitionProps;\n\n /**\n * The properties of a category selector for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.categorySelectorId` **not** a valid\n * `IdString`. In that case, a new category selector will be created with these properties and its Id will be used.\n * Otherwise, the categorySelectorId from the ViewDefinition is used. If it does not represent a valid category\n * selector, an error is thrown.\n */\n readonly categorySelectorProps?: CategorySelectorProps;\n\n /** The properties of a model selector for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.modelSelectorId` **not** a valid\n * `IdString`. In that case, a new model selector will be created with these properties and its Id will be used.\n * Otherwise, the modelSelectorId from the ViewDefinition is used. If it does not represent a valid model selector,\n * an error is thrown.\n */\n readonly modelSelectorProps?: ModelSelectorProps;\n\n /** The properties of a display style for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.displayStyleId` **not** a valid\n * `IdString`. In that case, a new display style will be created with these properties and its Id will be used.\n * Otherwise, the displayStyleId from the ViewDefinition is used. If it does not represent a valid display style, an\n * error is thrown.\n */\n readonly displayStyleProps?: DisplayStyleProps;\n\n /* the owner of the view. Must be present if isPrivate is true. */\n readonly owner?: OwnerName;\n\n /* the Id of the view group for the view. If not present, the view is added to the root group. */\n readonly group?: IdString;\n\n /* if true, the view is private (unshared). */\n readonly isPrivate?: boolean;\n\n /* an optional list of tags for the view. */\n readonly tags?: TagName[];\n\n /** optional thumbnail for the view. */\n readonly thumbnail?: ThumbnailProps;\n }\n\n /** Argument for finding a category selector, model selector, display style, or timeline by name or Id. */\n export type NameOrId = { name: string, id?: never } | { id: IdString, name?: never };\n\n /** Bindings for parameterized values in where clause of SelectorQuery\n * @see[[ECSqlStatement.bindValues]]\n */\n export interface QueryBindings {\n bindings?: any[] | object;\n }\n\n /**\n * Methods for reading from a ViewStore via Rpc from a frontend via `IModelConnection.views.viewsStoreReader`. These\n * methods use the *current* ViewStore for the iModel, and attempt to load the default ViewStore if no ViewStore is\n * currently loaded. They will throw exceptions if the request cannot be fulfilled.\n * @note The user's accessToken is validated against the ViewStore for every request. For each of these methods, the\n * user only needs read permission to the ViewStore.\n */\n export interface Reader {\n /** Find all views owned by the supplied owner name. */\n findViewsByOwner(args: { owner: OwnerName }): Promise<ViewInfo[]>;\n\n /** Get a category selector by Id. Throws if it does not exist. */\n getCategorySelector(args: NameOrId & QueryBindings): Promise<CategorySelectorProps>;\n\n /** Get a display style by Id. Throws if it does not exist. */\n getDisplayStyle(args: NameOrId & { opts?: DisplayStyleLoadProps }): Promise<DisplayStyleProps>;\n\n /** Get a model selector by Id. Throws if it does not exist. */\n getModelSelector(args: NameOrId & QueryBindings): Promise<ModelSelectorProps>;\n\n /** Get a thumbnail for a view. */\n getThumbnail(args: { viewId: IdString }): Promise<ThumbnailProps | undefined>;\n\n /** Get a render timeline by Id. Throws if it does not exist. */\n getTimeline(args: NameOrId): Promise<RenderTimelineProps>;\n\n /** Get a view by name. The name can include the *view group path*, if no `groupId` is supplied. */\n getViewByName(arg: { name: ViewName, groupId?: IdString }): Promise<ViewInfo | undefined>;\n\n /** Get a view definition by viewId. Throws if it does not exist. */\n getViewDefinition(args: { viewId: IdString }): Promise<ViewDefinitionProps>;\n\n /** get the properties of a ViewGroup by id. This will include the defaultViewId, if one exists. */\n getViewGroupInfo(args: { groupId?: IdString }): Promise<ViewGroupInfo | undefined>;\n\n /** Get a list of ViewGroups that are children of the supplied parent. If no parent is supplied, the root group is used.\n * Each entry in the list includes the id and name of the ViewGroup.\n */\n getViewGroups(args: { parent?: ViewGroupSpec }): Promise<{ id: IdString, name: string }[]>;\n\n /** Get the ViewInfo for a view by Id. Returns undefined if the view does not exist. */\n getViewInfo(args: { viewId: IdString }): Promise<ViewInfo | undefined>;\n\n /** Query for a list of ViewInfos for views that match the supplied [[QueryParams]].\n * @note The array will be sorted by name, ascending. To limit the size of the array, supply `limit` and `offset` in the QueryParams.\n */\n queryViews(queryParams: QueryParams): Promise<ViewInfo[]>;\n }\n\n /**\n * Methods for writing to a ViewStore via Rpc from a frontend via `IModelConnection.views.viewsStoreWriter`. These\n * methods use the *current* ViewStore for the iModel, and attempt to load the default ViewStore if no ViewStore is\n * currently loaded. They will throw exceptions if the request cannot be fulfilled.\n * @note The user's accessToken is validated against the ViewStore for every request. For each of these methods, the\n * user must have write permission to the ViewStore.\n */\n export interface Writer {\n /**\n * Add a category selector to a ViewStore.\n * @returns The IdString of the new category selector.\n */\n addCategorySelector(args: { name?: string, selector: SelectorProps, owner?: OwnerName }): Promise<IdString>;\n\n /** Add a display style to a ViewStore.\n * @returns The IdString of the new display style.\n */\n addDisplayStyle(args: { name?: string, className: string, settings: DisplayStyleSettingsProps, owner?: OwnerName }): Promise<IdString>;\n\n /**\n * Add a model selector to a ViewStore.\n * @returns The IdString of the new model selector.\n */\n addModelSelector(args: { name?: string, selector: SelectorProps, owner?: OwnerName }): Promise<IdString>;\n\n /**\n * Add a thumbnail for a view. If the view already has a thumbnail, it is replaced.\n * If a view is deleted, its thumbnail is also deleted.\n * @note The thumbnail must be a valid image in PNG or JPEG format.\n */\n addOrReplaceThumbnail(args: { viewId: IdString, thumbnail: ThumbnailProps }): Promise<void>;\n\n /** Add tags to a view. If the view already has tags, the new tags are appended to the existing tags. */\n addTagsToView(args: { viewId: IdString, tags: TagName[] }): Promise<void>;\n\n /** Add a render timeline to a ViewStore.\n * @returns The IdString of the new timeline.\n */\n addTimeline(args: { name?: string, timeline: RenderSchedule.ScriptProps, owner?: OwnerName }): Promise<IdString>;\n\n /** Add a view to a ViewStore. If no group is supplied, the new view is added to the root view group.\n * @returns The IdString of the new view\n */\n addView(args: AddViewArgs): Promise<IdString>;\n\n /** Add a view group to a ViewStore. If no parent is supplied, the new group is added to the root view group.\n * @returns the IdString of new view group\n */\n addViewGroup(args: { name: string, parentId?: IdString, owner?: OwnerName }): Promise<IdString>;\n\n /** Change the default view for a view group. If no group is supplied, this changes the default view for the root view group. */\n changeDefaultViewId(args: { defaultView: IdString, group?: ViewGroupSpec }): Promise<void>;\n\n /** Delete the thumbnail for a view. */\n deleteThumbnail(args: { viewId: IdString }): Promise<void>;\n\n /**\n * Delete a view from a ViewStore. If this is the default view for a view group, it cannot be deleted until another\n * view is set as the default.\n * @note If this view references a category selector, model selector, or display style that is not referenced by any\n * other view, *and do not have a name*, they will each also be deleted. If the view has a thumbnail, it is also\n * deleted.\n */\n deleteView(args: { viewId: IdString }): Promise<void>;\n\n /** Delete a view group from a ViewStore. This will also delete all views in the group. */\n deleteViewGroup(args: { name: ViewGroupSpec }): Promise<void>;\n\n /** Delete a display style from a ViewStore. If the display style is referenced by any view, it cannot be deleted\n * and an exception will be thrown.\n */\n deleteDisplayStyle(args: { id: IdString }): Promise<void>;\n\n /** Delete a model selector from a ViewStore. If the model selector is referenced by any view, it cannot be deleted\n * and an exception will be thrown. */\n deleteModelSelector(args: { id: IdString }): Promise<void>;\n\n /** Delete a category selector from a ViewStore. If the category selector is referenced by any view, it cannot be\n * deleted and an exception will be thrown.\n */\n deleteCategorySelector(args: { id: IdString }): Promise<void>;\n\n /** Delete a render timeline from a ViewStore. */\n deleteTimeline(args: { id: IdString }): Promise<void>;\n\n /** Delete a tag. This removes it from all views where it was used. */\n deleteTag(args: { name: TagName }): Promise<void>;\n\n /** remove a tag from a view. */\n removeTagFromView(args: { viewId: IdString, tag: TagName }): Promise<void>;\n\n /** Update the properties of a category selector. */\n updateCategorySelector(args: NameOrId & { selector: SelectorProps }): Promise<void>;\n\n /** Update the properties of a display style. */\n updateDisplayStyle(args: NameOrId & { className: string, settings: DisplayStyleSettingsProps }): Promise<void>;\n\n /** Update the properties of a model selector. */\n updateModelSelector(args: NameOrId & { selector: SelectorProps }): Promise<void>;\n\n /** Update the properties of a render timeline. */\n updateTimeline(args: NameOrId & { timeline: RenderSchedule.ScriptProps }): Promise<void>;\n\n /** Update the properties of a view definition. */\n updateViewDefinition(args: { viewId: IdString, viewDefinition: ViewDefinitionProps }): Promise<void>;\n\n /** Change a view from shared to private, or vice versa. If changing to private, the owner must be supplied. */\n updateViewShared(arg: { viewId: IdString, isShared: boolean, owner?: string }): Promise<void>;\n\n /** Set the name of a category selector. */\n renameCategorySelector(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a display style. */\n renameDisplayStyle(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a model selector. */\n renameModelSelector(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a render timeline. */\n renameTimeline(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a view. */\n renameView(args: { viewId: IdString, name: string }): Promise<void>;\n\n /** Set the name of a view group. */\n renameViewGroup(args: { groupId: IdString, name: string }): Promise<void>;\n\n /** rename an existing tag. */\n renameTag(args: { oldName: TagName, newName: TagName }): Promise<void>;\n }\n}\n"]}
|
package/lib/esm/ViewProps.d.ts
CHANGED
|
@@ -76,7 +76,7 @@ export interface HydrateViewStateResponseProps {
|
|
|
76
76
|
baseModelProps?: ModelProps;
|
|
77
77
|
spatialViewProps?: ViewStateProps;
|
|
78
78
|
}
|
|
79
|
-
/** Returned from [IModelDb.Views.
|
|
79
|
+
/** Returned from [IModelDb.Views.getViewStateProps]($backend).
|
|
80
80
|
* @public
|
|
81
81
|
* @extensions
|
|
82
82
|
*/
|
|
@@ -94,7 +94,7 @@ export interface ViewStateProps {
|
|
|
94
94
|
/** Information about the [SectionDrawing]($backend) relevant to displaying a drawing view. */
|
|
95
95
|
sectionDrawing?: SectionDrawingViewProps;
|
|
96
96
|
}
|
|
97
|
-
/** Options for loading a [[ViewStateProps]] via [IModelConnection.Views.load]($frontend) or [IModelDb.Views.
|
|
97
|
+
/** Options for loading a [[ViewStateProps]] via [IModelConnection.Views.load]($frontend) or [IModelDb.Views.getViewStateProps]($backend).
|
|
98
98
|
* @public
|
|
99
99
|
* @extensions
|
|
100
100
|
*/
|
package/lib/esm/ViewProps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewProps.js","sourceRoot":"","sources":["../../src/ViewProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AA4OH;;;GAGG;AACH,MAAM,KAAW,YAAY,CA0W5B;AA1WD,WAAiB,YAAY;IAE3B;;;;OAIG;IACU,oBAAO,GAAG,OAAO,CAAC;IAkC/B,qGAAqG;IACxF,0BAAa,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAgUnF,CAAC,EA1WgB,YAAY,KAAZ,YAAY,QA0W5B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { CompressedId64Set, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport { AngleProps, Range3dProps, TransformProps, XYProps, XYZProps, YawPitchRollProps } from \"@itwin/core-geometry\";\nimport { CameraProps } from \"./Camera\";\nimport { DisplayStyleProps, DisplayStyleSettingsProps } from \"./DisplayStyleSettings\";\nimport { DefinitionElementProps, DisplayStyleLoadProps, ElementProps, RenderTimelineProps, SheetProps, ViewAttachmentProps } from \"./ElementProps\";\nimport { EntityQueryParams } from \"./EntityProps\";\nimport { ModelProps } from \"./ModelProps\";\nimport { SubCategoryAppearance } from \"./SubCategoryAppearance\";\nimport { ViewDetails3dProps, ViewDetailsProps } from \"./ViewDetails\";\nimport { ThumbnailProps } from \"./Thumbnail\";\nimport { RenderSchedule } from \"./RenderSchedule\";\n\n/** The id of either an element or an entry in a ViewStore.\n * @public\n */\nexport type ViewIdString = Id64String; // should also include ViewStoreRpc.IdString when that's @public\n\n/** As part of a [[ViewStateProps]], describes the [[SpatialViewDefinition]] from which a [SectionDrawing]($backend) was generated.\n * @see [[SectionDrawingProps]]\n * @public\n * @extensions\n */\nexport interface SectionDrawingViewProps {\n /** The Id of the spatial view from which the SectionDrawing was generated. */\n spatialView: Id64String;\n /** If true, the spatial view should be displayed in the context of the drawing view. */\n displaySpatialView: boolean;\n /** Transform from drawing coordinates to spatial coordinates. If undefined, use identity transform. */\n drawingToSpatialTransform?: TransformProps;\n}\n\n/** The response props from the getCustomViewState3dData RPC endpoint\n * @internal\n */\nexport interface CustomViewState3dProps {\n modelIds: CompressedId64Set;\n modelExtents: Range3dProps;\n categoryIds: CompressedId64Set;\n}\n\n/**\n * The options passed to the getCustomViewState3dData RPC endpoint.\n * @internal\n */\nexport interface CustomViewState3dCreatorOptions {\n modelIds?: CompressedId64Set;\n}\n\n/**\n * A result row from querying for subcategories\n * @internal\n */\nexport interface SubCategoryResultRow {\n parentId: Id64String;\n id: Id64String;\n appearance: SubCategoryAppearance.Props;\n}\n\n/**\n * Request props for the hydrateViewState RPC endpoint.\n * @internal\n */\nexport interface HydrateViewStateRequestProps {\n acsId?: string;\n notLoadedModelSelectorStateModels?: CompressedId64Set;\n sheetViewAttachmentIds?: CompressedId64Set;\n viewStateLoadProps?: ViewStateLoadProps;\n baseModelId?: Id64String;\n spatialViewId?: Id64String;\n}\n\n/** Response props from the hydrateViewState RPC endpoint.\n * @internal\n */\nexport interface HydrateViewStateResponseProps {\n acsElementProps?: ElementProps;\n modelSelectorStateModels?: ModelProps[];\n // cast this to viewAttachmentInfo[] on the frontend.\n sheetViewAttachmentProps?: ViewAttachmentProps[];\n sheetViewViews?: (ViewStateProps | undefined)[];\n baseModelProps?: ModelProps;\n spatialViewProps?: ViewStateProps;\n}\n\n/** Returned from [IModelDb.Views.getViewStateData]($backend).\n * @public\n * @extensions\n */\nexport interface ViewStateProps {\n viewDefinitionProps: ViewDefinitionProps;\n categorySelectorProps: CategorySelectorProps;\n modelSelectorProps?: ModelSelectorProps;\n displayStyleProps: DisplayStyleProps;\n /** Sheet-specific properties, if this is a view of a [SheetModel]($backend). */\n sheetProps?: SheetProps;\n /** The Ids of the [ViewAttachment]($backend)s contained within the [SheetModel]($backend), if this is a sheet view. */\n sheetAttachments?: Id64Array;\n /** For a [DrawingViewState]($frontend), the extents of the [DrawingModel]($backend), used for determining the upper limits of the view's extents. */\n modelExtents?: Range3dProps;\n /** Information about the [SectionDrawing]($backend) relevant to displaying a drawing view. */\n sectionDrawing?: SectionDrawingViewProps;\n}\n\n/** Options for loading a [[ViewStateProps]] via [IModelConnection.Views.load]($frontend) or [IModelDb.Views.getViewStateData]($backend).\n * @public\n * @extensions\n */\nexport interface ViewStateLoadProps {\n /** Options for loading the view's [[DisplayStyleProps]]. */\n displayStyle?: DisplayStyleLoadProps;\n\n /**\n * bindings for query-based selectors\n * @beta\n */\n queryBindings?: {\n modelSelector?: ViewStoreRpc.QueryBindings;\n categorySelector?: ViewStoreRpc.QueryBindings;\n };\n}\n\n/** Properties that define a ModelSelector\n * @public\n * @extensions\n */\nexport interface ModelSelectorProps extends DefinitionElementProps {\n models: Id64Array;\n}\n\n/** Properties that define a CategorySelector\n * @public\n * @extensions\n */\nexport interface CategorySelectorProps extends DefinitionElementProps {\n categories: Id64Array;\n}\n\n/** Parameters for performing a query on [ViewDefinition]($backend) classes.\n * @public\n * @extensions\n */\nexport interface ViewQueryParams extends EntityQueryParams {\n wantPrivate?: boolean;\n}\n\n/** Parameters used to construct a ViewDefinition\n * @public\n * @extensions\n */\nexport interface ViewDefinitionProps extends DefinitionElementProps {\n categorySelectorId: ViewIdString;\n displayStyleId: ViewIdString;\n description?: string;\n jsonProperties?: {\n /** Additional properties of the view. */\n viewDetails?: ViewDetailsProps;\n };\n}\n\n/** Parameters to construct a ViewDefinition3d\n * @public\n * @extensions\n */\nexport interface ViewDefinition3dProps extends ViewDefinitionProps {\n /** if true, camera is valid. */\n cameraOn: boolean;\n /** The lower left back corner of the view frustum. */\n origin: XYZProps;\n /** The extent of the view frustum. */\n extents: XYZProps;\n /** Rotation of the view frustum (could be undefined if going Matrix3d -> YawPitchRoll). */\n angles?: YawPitchRollProps;\n /** The camera used for this view. */\n camera: CameraProps;\n jsonProperties?: {\n /** Additional properties of the view. */\n viewDetails?: ViewDetails3dProps;\n };\n}\n\n/** Parameters to construct a SpatialViewDefinition\n * @public\n * @extensions\n */\nexport interface SpatialViewDefinitionProps extends ViewDefinition3dProps {\n modelSelectorId: ViewIdString;\n}\n\n/** Parameters used to construct a ViewDefinition2d\n * @public\n * @extensions\n */\nexport interface ViewDefinition2dProps extends ViewDefinitionProps {\n baseModelId: Id64String;\n origin: XYProps;\n delta: XYProps;\n angle: AngleProps;\n}\n\n/**\n * @public\n * @extensions\n */\nexport interface AuxCoordSystemProps extends ElementProps {\n type?: number;\n description?: string;\n}\n\n/** Properties of AuxCoordSystem2d\n * @public\n * @extensions\n */\nexport interface AuxCoordSystem2dProps extends AuxCoordSystemProps {\n /** Origin of the AuxCoordSystem2d */\n origin?: XYProps;\n /** Rotation angle */\n angle?: AngleProps;\n}\n\n/** Properties of AuxCoordSystem3d\n * @public\n * @extensions\n */\nexport interface AuxCoordSystem3dProps extends AuxCoordSystemProps {\n /** Origin of the AuxCoordSystem3d */\n origin?: XYZProps;\n /** Yaw angle */\n yaw?: AngleProps;\n /** Pitch angle */\n pitch?: AngleProps;\n /** Roll angle */\n roll?: AngleProps;\n}\n\n/**\n * Access to a ViewStore from the frontend.\n * @beta\n */\nexport namespace ViewStoreRpc {\n\n /**\n * Version of the Rpc interface. If any methods or interfaces of this API change, this number should\n * be incremented according to the rules of semantic versioning. See .\\rpc\\README-RpcInterfaceVersioning.md for more information.\n * @internal\n */\n export const version = \"4.0.0\";\n\n /** an Id of a View, DisplayStyle, ModelSelector, CategorySelector, or Timeline in a ViewStore.\n * Will be a base-36 number with a leading \"@\".\n * @public\n */\n export type IdString = string;\n\n /**\n * A string identifying a group. This may either be a \"group name path\" or the RowString of a group (e.g. either \"group1/design/issues\" or \"@4e3\")\n * The syntax is not ambiguous because ViewStoreIdStrings always start with \"@\" and Group names can never contain \"@\".\n */\n export type ViewGroupSpec = IdString | ViewGroupPath;\n\n /** The name for a view. */\n export type ViewName = string;\n\n /** The name for a Tag. */\n export type TagName = string;\n\n /** The name of an \"owner\". Should come from the authentication system, so it will be guaranteed unique.\n * This name should be chosen by the user rather than their email address.\n */\n export type OwnerName = string;\n\n /** The path name of a view group (e.g. \"group1/design/issues\"). Does not include the \"root\" group. */\n export type ViewGroupPath = string;\n\n /** The name for a view group. */\n export type ViewGroupName = string;\n\n /** The name for a view group. */\n export type ClassFullName = string;\n\n /** Determine if a string is an Id of an entry in a ViewStore (base-36 integer with a leading \"@\") */\n export const isViewStoreId = (id?: ViewIdString) => true === id?.startsWith(\"@\");\n\n /** Parameters for querying for views in a ViewStore. */\n export interface QueryParams {\n /** a list of classFullNames to accept. If not present, all classes are returned. */\n readonly classNames?: ClassFullName[];\n /** Optional \"LIMIT\" clause to limit the number of views returned. */\n readonly limit?: number;\n /** Optional \"OFFSET\" clause. Only valid if Limit is also present. */\n readonly offset?: number;\n /** A string to filter view names. May include wildcards if the `nameCompare` uses LIKE or GLOB (see SQLite documentation for LIKE and GLOB). */\n readonly nameSearch?: string;\n /** The comparison operator for `nameSearch`. Default is `=` */\n readonly nameCompare?: \"GLOB\" | \"LIKE\" | \"NOT GLOB\" | \"NOT LIKE\" | \"=\" | \"<\" | \">\";\n /* the Id of the view group to query. If not present, the root group is used. There is no way to query for views from multiple view groups in one request. */\n readonly group?: IdString;\n /** A list of tags to filter views. If present, only views that have one or more of the tags will be returned. */\n readonly tags?: TagName[];\n /* The name of an owner for private views. If present, private views owned by the owner will also be returned. Shared views are always returned. */\n readonly owner?: OwnerName;\n }\n\n /** Parameters for specifying a Query to select Categories or Models. */\n export interface SelectorQuery {\n /**\n * The full ClassName from which to select. If this SelectorQuery is for Categories, this must be or derive from \"BisCore:Category\".\n * If this SelectorQuery is for Models, this must be or derive from \"BisCore:Model\".\n */\n from: ClassFullName;\n /** If true, only return instances of `from`. Otherwise, return instances of `from` and any subclasses of `from`. */\n only?: boolean;\n /**\n * filter for query. If present, only instances of `from` that satisfy the filter will be returned.\n * If not supplied, all instances of `from` are returned.\n * @note\n * This value is used into the ECQuery:`SELECT ECInstanceId FROM ${query.from} WHERE ${query.where}`.\n */\n where?: string;\n /** List of Model or Category ids to add to the query results.\n * @note This is only valid if there is a `where` clause. Otherwise all instances of `from` will be returned so there is no value in adding ids.\n */\n adds?: Id64Array | CompressedId64Set;\n /** List of Model or Category Ids to remove from the query results. */\n removes?: Id64Array | CompressedId64Set;\n }\n\n /** A Model or Category selector may either be a query or a list of Ids. */\n export type SelectorProps = { query: SelectorQuery, ids?: never } | { query?: never, ids: Id64Array | CompressedId64Set };\n\n /** Information about a View in a ViewStore. */\n export interface ViewInfo {\n /** The Id of the view. */\n id: IdString;\n /** The name of the view. */\n name?: ViewName;\n /** The name of the owner of the view. */\n owner?: OwnerName;\n /** The className of the view. */\n className: ClassFullName;\n /** The Id of the view group containing the view. */\n groupId: IdString;\n /** If true, the view is private (unshared) and will only be returned by queries that specify the owner's name. */\n isPrivate: boolean;\n /** The Id of a ModelSelector, if the view has one. */\n modelSelectorId?: IdString;\n /** The Id of the CategorySelector for this view. */\n categorySelectorId: IdString;\n /** The Id of a DisplayStyle for the view. */\n displayStyleId: IdString;\n /** a list of tags for the view. */\n tags?: TagName[];\n }\n\n /** Information about a ViewGroup in a ViewStore. */\n export interface ViewGroupInfo {\n /** The Id of this view group. */\n id: IdString;\n /** The name of this view group. */\n name: ViewGroupName;\n /** The Id of the parent of this view group. If undefined, this is the root group. */\n parent?: IdString;\n /** The Id of the default view for this view group. */\n defaultView?: IdString;\n }\n\n /** Arguments for adding a new view to a ViewStore. */\n export interface AddViewArgs {\n /** the properties of the ViewDefinition for the new view. */\n readonly viewDefinition: ViewDefinitionProps;\n\n /**\n * The properties of a category selector for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.categorySelectorId` **not** a valid\n * `IdString`. In that case, a new category selector will be created with these properties and its Id will be used.\n * Otherwise, the categorySelectorId from the ViewDefinition is used. If it does not represent a valid category\n * selector, an error is thrown.\n */\n readonly categorySelectorProps?: CategorySelectorProps;\n\n /** The properties of a model selector for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.modelSelectorId` **not** a valid\n * `IdString`. In that case, a new model selector will be created with these properties and its Id will be used.\n * Otherwise, the modelSelectorId from the ViewDefinition is used. If it does not represent a valid model selector,\n * an error is thrown.\n */\n readonly modelSelectorProps?: ModelSelectorProps;\n\n /** The properties of a display style for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.displayStyleId` **not** a valid\n * `IdString`. In that case, a new display style will be created with these properties and its Id will be used.\n * Otherwise, the displayStyleId from the ViewDefinition is used. If it does not represent a valid display style, an\n * error is thrown.\n */\n readonly displayStyleProps?: DisplayStyleProps;\n\n /* the owner of the view. Must be present if isPrivate is true. */\n readonly owner?: OwnerName;\n\n /* the Id of the view group for the view. If not present, the view is added to the root group. */\n readonly group?: IdString;\n\n /* if true, the view is private (unshared). */\n readonly isPrivate?: boolean;\n\n /* an optional list of tags for the view. */\n readonly tags?: TagName[];\n\n /** optional thumbnail for the view. */\n readonly thumbnail?: ThumbnailProps;\n }\n\n /** Argument for finding a category selector, model selector, display style, or timeline by name or Id. */\n export type NameOrId = { name: string, id?: never } | { id: IdString, name?: never };\n\n /** Bindings for parameterized values in where clause of SelectorQuery\n * @see[[ECSqlStatement.bindValues]]\n */\n export interface QueryBindings {\n bindings?: any[] | object;\n }\n\n /**\n * Methods for reading from a ViewStore via Rpc from a frontend via `IModelConnection.views.viewsStoreReader`. These\n * methods use the *current* ViewStore for the iModel, and attempt to load the default ViewStore if no ViewStore is\n * currently loaded. They will throw exceptions if the request cannot be fulfilled.\n * @note The user's accessToken is validated against the ViewStore for every request. For each of these methods, the\n * user only needs read permission to the ViewStore.\n */\n export interface Reader {\n /** Find all views owned by the supplied owner name. */\n findViewsByOwner(args: { owner: OwnerName }): Promise<ViewInfo[]>;\n\n /** Get a category selector by Id. Throws if it does not exist. */\n getCategorySelector(args: NameOrId & QueryBindings): Promise<CategorySelectorProps>;\n\n /** Get a display style by Id. Throws if it does not exist. */\n getDisplayStyle(args: NameOrId & { opts?: DisplayStyleLoadProps }): Promise<DisplayStyleProps>;\n\n /** Get a model selector by Id. Throws if it does not exist. */\n getModelSelector(args: NameOrId & QueryBindings): Promise<ModelSelectorProps>;\n\n /** Get a thumbnail for a view. */\n getThumbnail(args: { viewId: IdString }): Promise<ThumbnailProps | undefined>;\n\n /** Get a render timeline by Id. Throws if it does not exist. */\n getTimeline(args: NameOrId): Promise<RenderTimelineProps>;\n\n /** Get a view by name. The name can include the *view group path*, if no `groupId` is supplied. */\n getViewByName(arg: { name: ViewName, groupId?: IdString }): Promise<ViewInfo | undefined>;\n\n /** Get a view definition by viewId. Throws if it does not exist. */\n getViewDefinition(args: { viewId: IdString }): Promise<ViewDefinitionProps>;\n\n /** get the properties of a ViewGroup by id. This will include the defaultViewId, if one exists. */\n getViewGroupInfo(args: { groupId?: IdString }): Promise<ViewGroupInfo | undefined>;\n\n /** Get a list of ViewGroups that are children of the supplied parent. If no parent is supplied, the root group is used.\n * Each entry in the list includes the id and name of the ViewGroup.\n */\n getViewGroups(args: { parent?: ViewGroupSpec }): Promise<{ id: IdString, name: string }[]>;\n\n /** Get the ViewInfo for a view by Id. Returns undefined if the view does not exist. */\n getViewInfo(args: { viewId: IdString }): Promise<ViewInfo | undefined>;\n\n /** Query for a list of ViewInfos for views that match the supplied [[QueryParams]].\n * @note The array will be sorted by name, ascending. To limit the size of the array, supply `limit` and `offset` in the QueryParams.\n */\n queryViews(queryParams: QueryParams): Promise<ViewInfo[]>;\n }\n\n /**\n * Methods for writing to a ViewStore via Rpc from a frontend via `IModelConnection.views.viewsStoreWriter`. These\n * methods use the *current* ViewStore for the iModel, and attempt to load the default ViewStore if no ViewStore is\n * currently loaded. They will throw exceptions if the request cannot be fulfilled.\n * @note The user's accessToken is validated against the ViewStore for every request. For each of these methods, the\n * user must have write permission to the ViewStore.\n */\n export interface Writer {\n /**\n * Add a category selector to a ViewStore.\n * @returns The IdString of the new category selector.\n */\n addCategorySelector(args: { name?: string, selector: SelectorProps, owner?: OwnerName }): Promise<IdString>;\n\n /** Add a display style to a ViewStore.\n * @returns The IdString of the new display style.\n */\n addDisplayStyle(args: { name?: string, className: string, settings: DisplayStyleSettingsProps, owner?: OwnerName }): Promise<IdString>;\n\n /**\n * Add a model selector to a ViewStore.\n * @returns The IdString of the new model selector.\n */\n addModelSelector(args: { name?: string, selector: SelectorProps, owner?: OwnerName }): Promise<IdString>;\n\n /**\n * Add a thumbnail for a view. If the view already has a thumbnail, it is replaced.\n * If a view is deleted, its thumbnail is also deleted.\n * @note The thumbnail must be a valid image in PNG or JPEG format.\n */\n addOrReplaceThumbnail(args: { viewId: IdString, thumbnail: ThumbnailProps }): Promise<void>;\n\n /** Add tags to a view. If the view already has tags, the new tags are appended to the existing tags. */\n addTagsToView(args: { viewId: IdString, tags: TagName[] }): Promise<void>;\n\n /** Add a render timeline to a ViewStore.\n * @returns The IdString of the new timeline.\n */\n addTimeline(args: { name?: string, timeline: RenderSchedule.ScriptProps, owner?: OwnerName }): Promise<IdString>;\n\n /** Add a view to a ViewStore. If no group is supplied, the new view is added to the root view group.\n * @returns The IdString of the new view\n */\n addView(args: AddViewArgs): Promise<IdString>;\n\n /** Add a view group to a ViewStore. If no parent is supplied, the new group is added to the root view group.\n * @returns the IdString of new view group\n */\n addViewGroup(args: { name: string, parentId?: IdString, owner?: OwnerName }): Promise<IdString>;\n\n /** Change the default view for a view group. If no group is supplied, this changes the default view for the root view group. */\n changeDefaultViewId(args: { defaultView: IdString, group?: ViewGroupSpec }): Promise<void>;\n\n /** Delete the thumbnail for a view. */\n deleteThumbnail(args: { viewId: IdString }): Promise<void>;\n\n /**\n * Delete a view from a ViewStore. If this is the default view for a view group, it cannot be deleted until another\n * view is set as the default.\n * @note If this view references a category selector, model selector, or display style that is not referenced by any\n * other view, *and do not have a name*, they will each also be deleted. If the view has a thumbnail, it is also\n * deleted.\n */\n deleteView(args: { viewId: IdString }): Promise<void>;\n\n /** Delete a view group from a ViewStore. This will also delete all views in the group. */\n deleteViewGroup(args: { name: ViewGroupSpec }): Promise<void>;\n\n /** Delete a display style from a ViewStore. If the display style is referenced by any view, it cannot be deleted\n * and an exception will be thrown.\n */\n deleteDisplayStyle(args: { id: IdString }): Promise<void>;\n\n /** Delete a model selector from a ViewStore. If the model selector is referenced by any view, it cannot be deleted\n * and an exception will be thrown. */\n deleteModelSelector(args: { id: IdString }): Promise<void>;\n\n /** Delete a category selector from a ViewStore. If the category selector is referenced by any view, it cannot be\n * deleted and an exception will be thrown.\n */\n deleteCategorySelector(args: { id: IdString }): Promise<void>;\n\n /** Delete a render timeline from a ViewStore. */\n deleteTimeline(args: { id: IdString }): Promise<void>;\n\n /** Delete a tag. This removes it from all views where it was used. */\n deleteTag(args: { name: TagName }): Promise<void>;\n\n /** remove a tag from a view. */\n removeTagFromView(args: { viewId: IdString, tag: TagName }): Promise<void>;\n\n /** Update the properties of a category selector. */\n updateCategorySelector(args: NameOrId & { selector: SelectorProps }): Promise<void>;\n\n /** Update the properties of a display style. */\n updateDisplayStyle(args: NameOrId & { className: string, settings: DisplayStyleSettingsProps }): Promise<void>;\n\n /** Update the properties of a model selector. */\n updateModelSelector(args: NameOrId & { selector: SelectorProps }): Promise<void>;\n\n /** Update the properties of a render timeline. */\n updateTimeline(args: NameOrId & { timeline: RenderSchedule.ScriptProps }): Promise<void>;\n\n /** Update the properties of a view definition. */\n updateViewDefinition(args: { viewId: IdString, viewDefinition: ViewDefinitionProps }): Promise<void>;\n\n /** Change a view from shared to private, or vice versa. If changing to private, the owner must be supplied. */\n updateViewShared(arg: { viewId: IdString, isShared: boolean, owner?: string }): Promise<void>;\n\n /** Set the name of a category selector. */\n renameCategorySelector(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a display style. */\n renameDisplayStyle(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a model selector. */\n renameModelSelector(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a render timeline. */\n renameTimeline(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a view. */\n renameView(args: { viewId: IdString, name: string }): Promise<void>;\n\n /** Set the name of a view group. */\n renameViewGroup(args: { groupId: IdString, name: string }): Promise<void>;\n\n /** rename an existing tag. */\n renameTag(args: { oldName: TagName, newName: TagName }): Promise<void>;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ViewProps.js","sourceRoot":"","sources":["../../src/ViewProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AA4OH;;;GAGG;AACH,MAAM,KAAW,YAAY,CA0W5B;AA1WD,WAAiB,YAAY;IAE3B;;;;OAIG;IACU,oBAAO,GAAG,OAAO,CAAC;IAkC/B,qGAAqG;IACxF,0BAAa,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAgUnF,CAAC,EA1WgB,YAAY,KAAZ,YAAY,QA0W5B","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { CompressedId64Set, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport { AngleProps, Range3dProps, TransformProps, XYProps, XYZProps, YawPitchRollProps } from \"@itwin/core-geometry\";\nimport { CameraProps } from \"./Camera\";\nimport { DisplayStyleProps, DisplayStyleSettingsProps } from \"./DisplayStyleSettings\";\nimport { DefinitionElementProps, DisplayStyleLoadProps, ElementProps, RenderTimelineProps, SheetProps, ViewAttachmentProps } from \"./ElementProps\";\nimport { EntityQueryParams } from \"./EntityProps\";\nimport { ModelProps } from \"./ModelProps\";\nimport { SubCategoryAppearance } from \"./SubCategoryAppearance\";\nimport { ViewDetails3dProps, ViewDetailsProps } from \"./ViewDetails\";\nimport { ThumbnailProps } from \"./Thumbnail\";\nimport { RenderSchedule } from \"./RenderSchedule\";\n\n/** The id of either an element or an entry in a ViewStore.\n * @public\n */\nexport type ViewIdString = Id64String; // should also include ViewStoreRpc.IdString when that's @public\n\n/** As part of a [[ViewStateProps]], describes the [[SpatialViewDefinition]] from which a [SectionDrawing]($backend) was generated.\n * @see [[SectionDrawingProps]]\n * @public\n * @extensions\n */\nexport interface SectionDrawingViewProps {\n /** The Id of the spatial view from which the SectionDrawing was generated. */\n spatialView: Id64String;\n /** If true, the spatial view should be displayed in the context of the drawing view. */\n displaySpatialView: boolean;\n /** Transform from drawing coordinates to spatial coordinates. If undefined, use identity transform. */\n drawingToSpatialTransform?: TransformProps;\n}\n\n/** The response props from the getCustomViewState3dData RPC endpoint\n * @internal\n */\nexport interface CustomViewState3dProps {\n modelIds: CompressedId64Set;\n modelExtents: Range3dProps;\n categoryIds: CompressedId64Set;\n}\n\n/**\n * The options passed to the getCustomViewState3dData RPC endpoint.\n * @internal\n */\nexport interface CustomViewState3dCreatorOptions {\n modelIds?: CompressedId64Set;\n}\n\n/**\n * A result row from querying for subcategories\n * @internal\n */\nexport interface SubCategoryResultRow {\n parentId: Id64String;\n id: Id64String;\n appearance: SubCategoryAppearance.Props;\n}\n\n/**\n * Request props for the hydrateViewState RPC endpoint.\n * @internal\n */\nexport interface HydrateViewStateRequestProps {\n acsId?: string;\n notLoadedModelSelectorStateModels?: CompressedId64Set;\n sheetViewAttachmentIds?: CompressedId64Set;\n viewStateLoadProps?: ViewStateLoadProps;\n baseModelId?: Id64String;\n spatialViewId?: Id64String;\n}\n\n/** Response props from the hydrateViewState RPC endpoint.\n * @internal\n */\nexport interface HydrateViewStateResponseProps {\n acsElementProps?: ElementProps;\n modelSelectorStateModels?: ModelProps[];\n // cast this to viewAttachmentInfo[] on the frontend.\n sheetViewAttachmentProps?: ViewAttachmentProps[];\n sheetViewViews?: (ViewStateProps | undefined)[];\n baseModelProps?: ModelProps;\n spatialViewProps?: ViewStateProps;\n}\n\n/** Returned from [IModelDb.Views.getViewStateProps]($backend).\n * @public\n * @extensions\n */\nexport interface ViewStateProps {\n viewDefinitionProps: ViewDefinitionProps;\n categorySelectorProps: CategorySelectorProps;\n modelSelectorProps?: ModelSelectorProps;\n displayStyleProps: DisplayStyleProps;\n /** Sheet-specific properties, if this is a view of a [SheetModel]($backend). */\n sheetProps?: SheetProps;\n /** The Ids of the [ViewAttachment]($backend)s contained within the [SheetModel]($backend), if this is a sheet view. */\n sheetAttachments?: Id64Array;\n /** For a [DrawingViewState]($frontend), the extents of the [DrawingModel]($backend), used for determining the upper limits of the view's extents. */\n modelExtents?: Range3dProps;\n /** Information about the [SectionDrawing]($backend) relevant to displaying a drawing view. */\n sectionDrawing?: SectionDrawingViewProps;\n}\n\n/** Options for loading a [[ViewStateProps]] via [IModelConnection.Views.load]($frontend) or [IModelDb.Views.getViewStateProps]($backend).\n * @public\n * @extensions\n */\nexport interface ViewStateLoadProps {\n /** Options for loading the view's [[DisplayStyleProps]]. */\n displayStyle?: DisplayStyleLoadProps;\n\n /**\n * bindings for query-based selectors\n * @beta\n */\n queryBindings?: {\n modelSelector?: ViewStoreRpc.QueryBindings;\n categorySelector?: ViewStoreRpc.QueryBindings;\n };\n}\n\n/** Properties that define a ModelSelector\n * @public\n * @extensions\n */\nexport interface ModelSelectorProps extends DefinitionElementProps {\n models: Id64Array;\n}\n\n/** Properties that define a CategorySelector\n * @public\n * @extensions\n */\nexport interface CategorySelectorProps extends DefinitionElementProps {\n categories: Id64Array;\n}\n\n/** Parameters for performing a query on [ViewDefinition]($backend) classes.\n * @public\n * @extensions\n */\nexport interface ViewQueryParams extends EntityQueryParams {\n wantPrivate?: boolean;\n}\n\n/** Parameters used to construct a ViewDefinition\n * @public\n * @extensions\n */\nexport interface ViewDefinitionProps extends DefinitionElementProps {\n categorySelectorId: ViewIdString;\n displayStyleId: ViewIdString;\n description?: string;\n jsonProperties?: {\n /** Additional properties of the view. */\n viewDetails?: ViewDetailsProps;\n };\n}\n\n/** Parameters to construct a ViewDefinition3d\n * @public\n * @extensions\n */\nexport interface ViewDefinition3dProps extends ViewDefinitionProps {\n /** if true, camera is valid. */\n cameraOn: boolean;\n /** The lower left back corner of the view frustum. */\n origin: XYZProps;\n /** The extent of the view frustum. */\n extents: XYZProps;\n /** Rotation of the view frustum (could be undefined if going Matrix3d -> YawPitchRoll). */\n angles?: YawPitchRollProps;\n /** The camera used for this view. */\n camera: CameraProps;\n jsonProperties?: {\n /** Additional properties of the view. */\n viewDetails?: ViewDetails3dProps;\n };\n}\n\n/** Parameters to construct a SpatialViewDefinition\n * @public\n * @extensions\n */\nexport interface SpatialViewDefinitionProps extends ViewDefinition3dProps {\n modelSelectorId: ViewIdString;\n}\n\n/** Parameters used to construct a ViewDefinition2d\n * @public\n * @extensions\n */\nexport interface ViewDefinition2dProps extends ViewDefinitionProps {\n baseModelId: Id64String;\n origin: XYProps;\n delta: XYProps;\n angle: AngleProps;\n}\n\n/**\n * @public\n * @extensions\n */\nexport interface AuxCoordSystemProps extends ElementProps {\n type?: number;\n description?: string;\n}\n\n/** Properties of AuxCoordSystem2d\n * @public\n * @extensions\n */\nexport interface AuxCoordSystem2dProps extends AuxCoordSystemProps {\n /** Origin of the AuxCoordSystem2d */\n origin?: XYProps;\n /** Rotation angle */\n angle?: AngleProps;\n}\n\n/** Properties of AuxCoordSystem3d\n * @public\n * @extensions\n */\nexport interface AuxCoordSystem3dProps extends AuxCoordSystemProps {\n /** Origin of the AuxCoordSystem3d */\n origin?: XYZProps;\n /** Yaw angle */\n yaw?: AngleProps;\n /** Pitch angle */\n pitch?: AngleProps;\n /** Roll angle */\n roll?: AngleProps;\n}\n\n/**\n * Access to a ViewStore from the frontend.\n * @beta\n */\nexport namespace ViewStoreRpc {\n\n /**\n * Version of the Rpc interface. If any methods or interfaces of this API change, this number should\n * be incremented according to the rules of semantic versioning. See .\\rpc\\README-RpcInterfaceVersioning.md for more information.\n * @internal\n */\n export const version = \"4.0.0\";\n\n /** an Id of a View, DisplayStyle, ModelSelector, CategorySelector, or Timeline in a ViewStore.\n * Will be a base-36 number with a leading \"@\".\n * @public\n */\n export type IdString = string;\n\n /**\n * A string identifying a group. This may either be a \"group name path\" or the RowString of a group (e.g. either \"group1/design/issues\" or \"@4e3\")\n * The syntax is not ambiguous because ViewStoreIdStrings always start with \"@\" and Group names can never contain \"@\".\n */\n export type ViewGroupSpec = IdString | ViewGroupPath;\n\n /** The name for a view. */\n export type ViewName = string;\n\n /** The name for a Tag. */\n export type TagName = string;\n\n /** The name of an \"owner\". Should come from the authentication system, so it will be guaranteed unique.\n * This name should be chosen by the user rather than their email address.\n */\n export type OwnerName = string;\n\n /** The path name of a view group (e.g. \"group1/design/issues\"). Does not include the \"root\" group. */\n export type ViewGroupPath = string;\n\n /** The name for a view group. */\n export type ViewGroupName = string;\n\n /** The name for a view group. */\n export type ClassFullName = string;\n\n /** Determine if a string is an Id of an entry in a ViewStore (base-36 integer with a leading \"@\") */\n export const isViewStoreId = (id?: ViewIdString) => true === id?.startsWith(\"@\");\n\n /** Parameters for querying for views in a ViewStore. */\n export interface QueryParams {\n /** a list of classFullNames to accept. If not present, all classes are returned. */\n readonly classNames?: ClassFullName[];\n /** Optional \"LIMIT\" clause to limit the number of views returned. */\n readonly limit?: number;\n /** Optional \"OFFSET\" clause. Only valid if Limit is also present. */\n readonly offset?: number;\n /** A string to filter view names. May include wildcards if the `nameCompare` uses LIKE or GLOB (see SQLite documentation for LIKE and GLOB). */\n readonly nameSearch?: string;\n /** The comparison operator for `nameSearch`. Default is `=` */\n readonly nameCompare?: \"GLOB\" | \"LIKE\" | \"NOT GLOB\" | \"NOT LIKE\" | \"=\" | \"<\" | \">\";\n /* the Id of the view group to query. If not present, the root group is used. There is no way to query for views from multiple view groups in one request. */\n readonly group?: IdString;\n /** A list of tags to filter views. If present, only views that have one or more of the tags will be returned. */\n readonly tags?: TagName[];\n /* The name of an owner for private views. If present, private views owned by the owner will also be returned. Shared views are always returned. */\n readonly owner?: OwnerName;\n }\n\n /** Parameters for specifying a Query to select Categories or Models. */\n export interface SelectorQuery {\n /**\n * The full ClassName from which to select. If this SelectorQuery is for Categories, this must be or derive from \"BisCore:Category\".\n * If this SelectorQuery is for Models, this must be or derive from \"BisCore:Model\".\n */\n from: ClassFullName;\n /** If true, only return instances of `from`. Otherwise, return instances of `from` and any subclasses of `from`. */\n only?: boolean;\n /**\n * filter for query. If present, only instances of `from` that satisfy the filter will be returned.\n * If not supplied, all instances of `from` are returned.\n * @note\n * This value is used into the ECQuery:`SELECT ECInstanceId FROM ${query.from} WHERE ${query.where}`.\n */\n where?: string;\n /** List of Model or Category ids to add to the query results.\n * @note This is only valid if there is a `where` clause. Otherwise all instances of `from` will be returned so there is no value in adding ids.\n */\n adds?: Id64Array | CompressedId64Set;\n /** List of Model or Category Ids to remove from the query results. */\n removes?: Id64Array | CompressedId64Set;\n }\n\n /** A Model or Category selector may either be a query or a list of Ids. */\n export type SelectorProps = { query: SelectorQuery, ids?: never } | { query?: never, ids: Id64Array | CompressedId64Set };\n\n /** Information about a View in a ViewStore. */\n export interface ViewInfo {\n /** The Id of the view. */\n id: IdString;\n /** The name of the view. */\n name?: ViewName;\n /** The name of the owner of the view. */\n owner?: OwnerName;\n /** The className of the view. */\n className: ClassFullName;\n /** The Id of the view group containing the view. */\n groupId: IdString;\n /** If true, the view is private (unshared) and will only be returned by queries that specify the owner's name. */\n isPrivate: boolean;\n /** The Id of a ModelSelector, if the view has one. */\n modelSelectorId?: IdString;\n /** The Id of the CategorySelector for this view. */\n categorySelectorId: IdString;\n /** The Id of a DisplayStyle for the view. */\n displayStyleId: IdString;\n /** a list of tags for the view. */\n tags?: TagName[];\n }\n\n /** Information about a ViewGroup in a ViewStore. */\n export interface ViewGroupInfo {\n /** The Id of this view group. */\n id: IdString;\n /** The name of this view group. */\n name: ViewGroupName;\n /** The Id of the parent of this view group. If undefined, this is the root group. */\n parent?: IdString;\n /** The Id of the default view for this view group. */\n defaultView?: IdString;\n }\n\n /** Arguments for adding a new view to a ViewStore. */\n export interface AddViewArgs {\n /** the properties of the ViewDefinition for the new view. */\n readonly viewDefinition: ViewDefinitionProps;\n\n /**\n * The properties of a category selector for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.categorySelectorId` **not** a valid\n * `IdString`. In that case, a new category selector will be created with these properties and its Id will be used.\n * Otherwise, the categorySelectorId from the ViewDefinition is used. If it does not represent a valid category\n * selector, an error is thrown.\n */\n readonly categorySelectorProps?: CategorySelectorProps;\n\n /** The properties of a model selector for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.modelSelectorId` **not** a valid\n * `IdString`. In that case, a new model selector will be created with these properties and its Id will be used.\n * Otherwise, the modelSelectorId from the ViewDefinition is used. If it does not represent a valid model selector,\n * an error is thrown.\n */\n readonly modelSelectorProps?: ModelSelectorProps;\n\n /** The properties of a display style for the new view.\n * @note This value is only used, and should only be present if `viewDefinition.displayStyleId` **not** a valid\n * `IdString`. In that case, a new display style will be created with these properties and its Id will be used.\n * Otherwise, the displayStyleId from the ViewDefinition is used. If it does not represent a valid display style, an\n * error is thrown.\n */\n readonly displayStyleProps?: DisplayStyleProps;\n\n /* the owner of the view. Must be present if isPrivate is true. */\n readonly owner?: OwnerName;\n\n /* the Id of the view group for the view. If not present, the view is added to the root group. */\n readonly group?: IdString;\n\n /* if true, the view is private (unshared). */\n readonly isPrivate?: boolean;\n\n /* an optional list of tags for the view. */\n readonly tags?: TagName[];\n\n /** optional thumbnail for the view. */\n readonly thumbnail?: ThumbnailProps;\n }\n\n /** Argument for finding a category selector, model selector, display style, or timeline by name or Id. */\n export type NameOrId = { name: string, id?: never } | { id: IdString, name?: never };\n\n /** Bindings for parameterized values in where clause of SelectorQuery\n * @see[[ECSqlStatement.bindValues]]\n */\n export interface QueryBindings {\n bindings?: any[] | object;\n }\n\n /**\n * Methods for reading from a ViewStore via Rpc from a frontend via `IModelConnection.views.viewsStoreReader`. These\n * methods use the *current* ViewStore for the iModel, and attempt to load the default ViewStore if no ViewStore is\n * currently loaded. They will throw exceptions if the request cannot be fulfilled.\n * @note The user's accessToken is validated against the ViewStore for every request. For each of these methods, the\n * user only needs read permission to the ViewStore.\n */\n export interface Reader {\n /** Find all views owned by the supplied owner name. */\n findViewsByOwner(args: { owner: OwnerName }): Promise<ViewInfo[]>;\n\n /** Get a category selector by Id. Throws if it does not exist. */\n getCategorySelector(args: NameOrId & QueryBindings): Promise<CategorySelectorProps>;\n\n /** Get a display style by Id. Throws if it does not exist. */\n getDisplayStyle(args: NameOrId & { opts?: DisplayStyleLoadProps }): Promise<DisplayStyleProps>;\n\n /** Get a model selector by Id. Throws if it does not exist. */\n getModelSelector(args: NameOrId & QueryBindings): Promise<ModelSelectorProps>;\n\n /** Get a thumbnail for a view. */\n getThumbnail(args: { viewId: IdString }): Promise<ThumbnailProps | undefined>;\n\n /** Get a render timeline by Id. Throws if it does not exist. */\n getTimeline(args: NameOrId): Promise<RenderTimelineProps>;\n\n /** Get a view by name. The name can include the *view group path*, if no `groupId` is supplied. */\n getViewByName(arg: { name: ViewName, groupId?: IdString }): Promise<ViewInfo | undefined>;\n\n /** Get a view definition by viewId. Throws if it does not exist. */\n getViewDefinition(args: { viewId: IdString }): Promise<ViewDefinitionProps>;\n\n /** get the properties of a ViewGroup by id. This will include the defaultViewId, if one exists. */\n getViewGroupInfo(args: { groupId?: IdString }): Promise<ViewGroupInfo | undefined>;\n\n /** Get a list of ViewGroups that are children of the supplied parent. If no parent is supplied, the root group is used.\n * Each entry in the list includes the id and name of the ViewGroup.\n */\n getViewGroups(args: { parent?: ViewGroupSpec }): Promise<{ id: IdString, name: string }[]>;\n\n /** Get the ViewInfo for a view by Id. Returns undefined if the view does not exist. */\n getViewInfo(args: { viewId: IdString }): Promise<ViewInfo | undefined>;\n\n /** Query for a list of ViewInfos for views that match the supplied [[QueryParams]].\n * @note The array will be sorted by name, ascending. To limit the size of the array, supply `limit` and `offset` in the QueryParams.\n */\n queryViews(queryParams: QueryParams): Promise<ViewInfo[]>;\n }\n\n /**\n * Methods for writing to a ViewStore via Rpc from a frontend via `IModelConnection.views.viewsStoreWriter`. These\n * methods use the *current* ViewStore for the iModel, and attempt to load the default ViewStore if no ViewStore is\n * currently loaded. They will throw exceptions if the request cannot be fulfilled.\n * @note The user's accessToken is validated against the ViewStore for every request. For each of these methods, the\n * user must have write permission to the ViewStore.\n */\n export interface Writer {\n /**\n * Add a category selector to a ViewStore.\n * @returns The IdString of the new category selector.\n */\n addCategorySelector(args: { name?: string, selector: SelectorProps, owner?: OwnerName }): Promise<IdString>;\n\n /** Add a display style to a ViewStore.\n * @returns The IdString of the new display style.\n */\n addDisplayStyle(args: { name?: string, className: string, settings: DisplayStyleSettingsProps, owner?: OwnerName }): Promise<IdString>;\n\n /**\n * Add a model selector to a ViewStore.\n * @returns The IdString of the new model selector.\n */\n addModelSelector(args: { name?: string, selector: SelectorProps, owner?: OwnerName }): Promise<IdString>;\n\n /**\n * Add a thumbnail for a view. If the view already has a thumbnail, it is replaced.\n * If a view is deleted, its thumbnail is also deleted.\n * @note The thumbnail must be a valid image in PNG or JPEG format.\n */\n addOrReplaceThumbnail(args: { viewId: IdString, thumbnail: ThumbnailProps }): Promise<void>;\n\n /** Add tags to a view. If the view already has tags, the new tags are appended to the existing tags. */\n addTagsToView(args: { viewId: IdString, tags: TagName[] }): Promise<void>;\n\n /** Add a render timeline to a ViewStore.\n * @returns The IdString of the new timeline.\n */\n addTimeline(args: { name?: string, timeline: RenderSchedule.ScriptProps, owner?: OwnerName }): Promise<IdString>;\n\n /** Add a view to a ViewStore. If no group is supplied, the new view is added to the root view group.\n * @returns The IdString of the new view\n */\n addView(args: AddViewArgs): Promise<IdString>;\n\n /** Add a view group to a ViewStore. If no parent is supplied, the new group is added to the root view group.\n * @returns the IdString of new view group\n */\n addViewGroup(args: { name: string, parentId?: IdString, owner?: OwnerName }): Promise<IdString>;\n\n /** Change the default view for a view group. If no group is supplied, this changes the default view for the root view group. */\n changeDefaultViewId(args: { defaultView: IdString, group?: ViewGroupSpec }): Promise<void>;\n\n /** Delete the thumbnail for a view. */\n deleteThumbnail(args: { viewId: IdString }): Promise<void>;\n\n /**\n * Delete a view from a ViewStore. If this is the default view for a view group, it cannot be deleted until another\n * view is set as the default.\n * @note If this view references a category selector, model selector, or display style that is not referenced by any\n * other view, *and do not have a name*, they will each also be deleted. If the view has a thumbnail, it is also\n * deleted.\n */\n deleteView(args: { viewId: IdString }): Promise<void>;\n\n /** Delete a view group from a ViewStore. This will also delete all views in the group. */\n deleteViewGroup(args: { name: ViewGroupSpec }): Promise<void>;\n\n /** Delete a display style from a ViewStore. If the display style is referenced by any view, it cannot be deleted\n * and an exception will be thrown.\n */\n deleteDisplayStyle(args: { id: IdString }): Promise<void>;\n\n /** Delete a model selector from a ViewStore. If the model selector is referenced by any view, it cannot be deleted\n * and an exception will be thrown. */\n deleteModelSelector(args: { id: IdString }): Promise<void>;\n\n /** Delete a category selector from a ViewStore. If the category selector is referenced by any view, it cannot be\n * deleted and an exception will be thrown.\n */\n deleteCategorySelector(args: { id: IdString }): Promise<void>;\n\n /** Delete a render timeline from a ViewStore. */\n deleteTimeline(args: { id: IdString }): Promise<void>;\n\n /** Delete a tag. This removes it from all views where it was used. */\n deleteTag(args: { name: TagName }): Promise<void>;\n\n /** remove a tag from a view. */\n removeTagFromView(args: { viewId: IdString, tag: TagName }): Promise<void>;\n\n /** Update the properties of a category selector. */\n updateCategorySelector(args: NameOrId & { selector: SelectorProps }): Promise<void>;\n\n /** Update the properties of a display style. */\n updateDisplayStyle(args: NameOrId & { className: string, settings: DisplayStyleSettingsProps }): Promise<void>;\n\n /** Update the properties of a model selector. */\n updateModelSelector(args: NameOrId & { selector: SelectorProps }): Promise<void>;\n\n /** Update the properties of a render timeline. */\n updateTimeline(args: NameOrId & { timeline: RenderSchedule.ScriptProps }): Promise<void>;\n\n /** Update the properties of a view definition. */\n updateViewDefinition(args: { viewId: IdString, viewDefinition: ViewDefinitionProps }): Promise<void>;\n\n /** Change a view from shared to private, or vice versa. If changing to private, the owner must be supplied. */\n updateViewShared(arg: { viewId: IdString, isShared: boolean, owner?: string }): Promise<void>;\n\n /** Set the name of a category selector. */\n renameCategorySelector(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a display style. */\n renameDisplayStyle(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a model selector. */\n renameModelSelector(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a render timeline. */\n renameTimeline(args: { id: IdString, name?: string }): Promise<void>;\n\n /** Set the name of a view. */\n renameView(args: { viewId: IdString, name: string }): Promise<void>;\n\n /** Set the name of a view group. */\n renameViewGroup(args: { groupId: IdString, name: string }): Promise<void>;\n\n /** rename an existing tag. */\n renameTag(args: { oldName: TagName, newName: TagName }): Promise<void>;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/core-common",
|
|
3
|
-
"version": "5.0.0-dev.
|
|
3
|
+
"version": "5.0.0-dev.89",
|
|
4
4
|
"description": "iTwin.js components common to frontend and backend",
|
|
5
5
|
"main": "lib/cjs/core-common.js",
|
|
6
6
|
"module": "lib/esm/core-common.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"js-base64": "^3.6.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@itwin/core-bentley": "5.0.0-dev.
|
|
31
|
-
"@itwin/core-geometry": "5.0.0-dev.
|
|
30
|
+
"@itwin/core-bentley": "5.0.0-dev.89",
|
|
31
|
+
"@itwin/core-geometry": "5.0.0-dev.89"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@itwin/eslint-plugin": "5.0.0-dev.1",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"rimraf": "^6.0.1",
|
|
43
43
|
"typescript": "~5.6.2",
|
|
44
44
|
"vitest": "^3.0.6",
|
|
45
|
-
"@itwin/core-
|
|
46
|
-
"@itwin/build-tools": "5.0.0-dev.
|
|
47
|
-
"@itwin/core-
|
|
45
|
+
"@itwin/core-bentley": "5.0.0-dev.89",
|
|
46
|
+
"@itwin/build-tools": "5.0.0-dev.89",
|
|
47
|
+
"@itwin/core-geometry": "5.0.0-dev.89"
|
|
48
48
|
},
|
|
49
49
|
"nyc": {
|
|
50
50
|
"extends": "./node_modules/@itwin/build-tools/.nycrc",
|