@itwin/core-frontend 4.6.0-dev.23 → 4.6.0-dev.25

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.
@@ -2,10 +2,11 @@
2
2
  * @module IModelConnection
3
3
  */
4
4
  import { BeEvent } from "@itwin/core-bentley";
5
- import { ChangedEntities, ChangesetIndexAndId, EcefLocationProps, GeographicCRSProps, IModelStatus, ModelIdAndGeometryGuid, RootSubjectProps, TxnNotifications } from "@itwin/core-common";
5
+ import { ChangesetIndexAndId, EcefLocationProps, GeographicCRSProps, IModelStatus, ModelIdAndGeometryGuid, NotifyEntitiesChangedArgs, RootSubjectProps, TxnNotifications } from "@itwin/core-common";
6
6
  import { Range3dProps, XYZProps } from "@itwin/core-geometry";
7
7
  import { BriefcaseConnection } from "./BriefcaseConnection";
8
8
  import { NotificationHandler } from "./IpcApp";
9
+ import { TxnEntityChanges } from "./TxnEntityChanges";
9
10
  /**
10
11
  * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].
11
12
  * @see [[BriefcaseTxns]].
@@ -30,11 +31,11 @@ export declare class BriefcaseTxns extends BriefcaseNotificationHandler implemen
30
31
  /** Event raised after Txn validation or changeset application to indicate the set of changed elements.
31
32
  * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
32
33
  */
33
- readonly onElementsChanged: BeEvent<(changes: Readonly<ChangedEntities>) => void>;
34
+ readonly onElementsChanged: BeEvent<(changes: TxnEntityChanges) => void>;
34
35
  /** Event raised after Txn validation or changeset application to indicate the set of changed models.
35
36
  * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
36
37
  */
37
- readonly onModelsChanged: BeEvent<(changes: Readonly<ChangedEntities>) => void>;
38
+ readonly onModelsChanged: BeEvent<(changes: TxnEntityChanges) => void>;
38
39
  /** Event raised after the geometry within one or more [[GeometricModelState]]s is modified by applying a changeset or validation of a transaction.
39
40
  * A model's geometry can change as a result of:
40
41
  * - Insertion or deletion of a geometric element within the model; or
@@ -140,9 +141,9 @@ export declare class BriefcaseTxns extends BriefcaseNotificationHandler implemen
140
141
  */
141
142
  restartTxnSession(): Promise<void>;
142
143
  /** @internal */
143
- notifyElementsChanged(changed: ChangedEntities): void;
144
+ notifyElementsChanged(changed: NotifyEntitiesChangedArgs): void;
144
145
  /** @internal */
145
- notifyModelsChanged(changed: ChangedEntities): void;
146
+ notifyModelsChanged(changed: NotifyEntitiesChangedArgs): void;
146
147
  /** @internal */
147
148
  notifyGeometryGuidsChanged(changes: ModelIdAndGeometryGuid[]): void;
148
149
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseTxns.d.ts","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BriefcaseTxns.d.ts","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_common_1 = require("@itwin/core-common");
13
13
  const core_geometry_1 = require("@itwin/core-geometry");
14
14
  const IpcApp_1 = require("./IpcApp");
15
+ const TxnEntityChanges_1 = require("./TxnEntityChanges");
15
16
  /**
16
17
  * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].
17
18
  * @see [[BriefcaseTxns]].
@@ -188,11 +189,11 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
188
189
  }
189
190
  /** @internal */
190
191
  notifyElementsChanged(changed) {
191
- this.onElementsChanged.raiseEvent(changed);
192
+ this.onElementsChanged.raiseEvent(new TxnEntityChanges_1.EntityChanges(changed));
192
193
  }
193
194
  /** @internal */
194
195
  notifyModelsChanged(changed) {
195
- this.onModelsChanged.raiseEvent(changed);
196
+ this.onModelsChanged.raiseEvent(new TxnEntityChanges_1.EntityChanges(changed));
196
197
  }
197
198
  /** @internal */
198
199
  notifyGeometryGuidsChanged(changes) {
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseTxns.js","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA8C;AAC9C,oDAG4B;AAC5B,wDAAgF;AAEhF,qCAAuD;AAEvD;;;;GAIG;AACH,MAAsB,4BAA6B,SAAQ,4BAAmB;IAC5E,YAAoB,IAAY;QAAI,KAAK,EAAE,CAAC;QAAxB,SAAI,GAAJ,IAAI,CAAQ;IAAa,CAAC;IAE9C,IAAW,WAAW,KAAK,OAAO,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CACjF;AAJD,oEAIC;AAED;;;;GAIG;AACH,MAAa,aAAc,SAAQ,4BAA4B;IAI7D,gBAAgB;IAChB,IAAW,oBAAoB;QAC7B,OAAO,4BAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IAoED,gBAAgB;IAChB,YAAmB,MAA2B;QAC5C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QApEpB;;WAEG;QACa,sBAAiB,GAAG,IAAI,sBAAO,EAAgD,CAAC;QAEhG;;WAEG;QACa,oBAAe,GAAG,IAAI,sBAAO,EAAgD,CAAC;QAE9F;;;;;WAKG;QACa,2BAAsB,GAAG,IAAI,sBAAO,EAA4D,CAAC;QAEjH;;WAEG;QACa,aAAQ,GAAG,IAAI,sBAAO,EAAc,CAAC;QAErD;;;;;WAKG;QACa,gBAAW,GAAG,IAAI,sBAAO,EAAmD,CAAC;QAE7F;;WAEG;QACa,yBAAoB,GAAG,IAAI,sBAAO,EAAc,CAAC;QAEjE;;WAEG;QACa,2BAAsB,GAAG,IAAI,sBAAO,EAAc,CAAC;QAEnE;;WAEG;QACa,qBAAgB,GAAG,IAAI,sBAAO,EAAc,CAAC;QAE7D;;WAEG;QACa,qBAAgB,GAAG,IAAI,sBAAO,EAA6B,CAAC;QAE5E;;WAEG;QACa,oBAAe,GAAG,IAAI,sBAAO,EAA6B,CAAC;QAE3E;;WAEG;QACa,oBAAe,GAAG,IAAI,sBAAO,EAAkD,CAAC;QAEhG;;WAEG;QACa,oBAAe,GAAG,IAAI,sBAAO,EAAkD,CAAC;QAK9F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,gBAAgB;IACT,OAAO;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,wEAAwE;IACjE,KAAK,CAAC,cAAc;QACzB,OAAO,eAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,eAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,eAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACxB,OAAO,eAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACxB,OAAO,eAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,WAAW,CAAC,aAAqB;QAC5C,OAAO,eAAM,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU;QACrB,OAAO,eAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,YAAY;QACvB,OAAO,eAAM,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB;QAC5B,MAAM,eAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,gBAAgB;IACT,qBAAqB,CAAC,OAAwB;QACnD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB;IACT,mBAAmB,CAAC,OAAwB;QACjD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB;IACT,0BAA0B,CAAC,OAAiC;QACjE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB;IACT,YAAY;QACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB;IACT,eAAe,CAAC,cAAuB,EAAE,IAAY;QAC1D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB;IACT,wBAAwB;QAC7B,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,gBAAgB;IACT,0BAA0B;QAC/B,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,gBAAgB;IACT,oBAAoB;QACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,gBAAgB;IACT,oBAAoB,CAAC,MAAe;QACzC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB;IACT,mBAAmB,CAAC,MAAe;QACxC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;IACT,mBAAmB,CAAC,eAAoC;QAC7D,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;IACT,mBAAmB,CAAC,eAAoC;QAC7D,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;IACT,uBAAuB,CAAC,IAAY;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,gBAAgB;IACT,wBAAwB,CAAC,OAAyB;QACvD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;IACrC,CAAC;IAED,gBAAgB;IACT,2BAA2B,CAAC,KAAmB;QACpD,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,uBAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,gBAAgB;IACT,yBAAyB,CAAC,MAAgB;QAC/C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,uBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,gBAAgB;IACT,yBAAyB,CAAC,IAAmC;QAClE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,0BAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,gBAAgB;IACT,uCAAuC,CAAC,GAAmC;QAChF,IAAI,CAAC,OAAO,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,2BAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,CAAC;CACF;AAlRD,sCAkRC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangedEntities, ChangesetIndexAndId, EcefLocation, EcefLocationProps, GeographicCRS, GeographicCRSProps, IModelStatus, ipcAppChannels,\r\n ModelIdAndGeometryGuid, RemoveFunction, RootSubjectProps, TxnNotifications,\r\n} from \"@itwin/core-common\";\r\nimport { Point3d, Range3d, Range3dProps, XYZProps } from \"@itwin/core-geometry\";\r\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\r\nimport { IpcApp, NotificationHandler } from \"./IpcApp\";\r\n\r\n/**\r\n * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].\r\n * @see [[BriefcaseTxns]].\r\n * @public\r\n */\r\nexport abstract class BriefcaseNotificationHandler extends NotificationHandler {\r\n constructor(private _key: string) { super(); }\r\n public abstract get briefcaseChannelName(): string;\r\n public get channelName() { return `${this.briefcaseChannelName}/${this._key}`; }\r\n}\r\n\r\n/** Manages local changes to a [[BriefcaseConnection]] via [Txns]($docs/learning/InteractiveEditing.md).\r\n * @see [[BriefcaseConnection.txns]].\r\n * @see [TxnManager]($backend) for the backend counterpart.\r\n * @public\r\n */\r\nexport class BriefcaseTxns extends BriefcaseNotificationHandler implements TxnNotifications {\r\n private readonly _iModel: BriefcaseConnection;\r\n private _cleanup?: RemoveFunction;\r\n\r\n /** @internal */\r\n public get briefcaseChannelName() {\r\n return ipcAppChannels.txns;\r\n }\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed elements.\r\n * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onElementsChanged = new BeEvent<(changes: Readonly<ChangedEntities>) => void>();\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed models.\r\n * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onModelsChanged = new BeEvent<(changes: Readonly<ChangedEntities>) => void>();\r\n\r\n /** Event raised after the geometry within one or more [[GeometricModelState]]s is modified by applying a changeset or validation of a transaction.\r\n * A model's geometry can change as a result of:\r\n * - Insertion or deletion of a geometric element within the model; or\r\n * - Modification of an existing element's geometric properties; or\r\n * - An explicit request to flag it as changed via [IModelDb.Models.updateModel]($backend).\r\n */\r\n public readonly onModelGeometryChanged = new BeEvent<(changes: ReadonlyArray<ModelIdAndGeometryGuid>) => void>();\r\n\r\n /** Event raised before a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], unless there are no changes to save.\r\n * @see [[onCommitted]] for the event raised after the operation.\r\n */\r\n public readonly onCommit = new BeEvent<() => void>();\r\n\r\n /** Event raised after a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], even if there were no changes to save.\r\n * The event supplies the following information:\r\n * - `hasPendingTxns`: true if the briefcase has local changes not yet pushed to the server.\r\n * - `time`: the time at which changes were saved on the backend (obtained via `Date.now()`).\r\n * @see [[onCommit]] for the event raised before the operation.\r\n */\r\n public readonly onCommitted = new BeEvent<(hasPendingTxns: boolean, time: number) => void>();\r\n\r\n /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.\r\n * @see [[onReplayedExternalTxns]] for the event raised after all such changes have been applied.\r\n */\r\n public readonly onReplayExternalTxns = new BeEvent<() => void>();\r\n\r\n /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.\r\n * @see [[onReplayExternalTxns]] for the event raised before the changes are applied.\r\n */\r\n public readonly onReplayedExternalTxns = new BeEvent<() => void>();\r\n\r\n /** Event raised after a changeset has been applied to the briefcase.\r\n * Changesets may be applied as a result of [[BriefcaseConnection.pullChanges]], or by undo/redo operations.\r\n */\r\n public readonly onChangesApplied = new BeEvent<() => void>();\r\n\r\n /** Event raised before an undo/redo operation is performed.\r\n * @see [[onAfterUndoRedo]] for the event raised after the operation.\r\n */\r\n public readonly onBeforeUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after an undo/redo operation is performed.\r\n * @see [[onBeforeUndoRedo]] for the event raised before to the operation.\r\n */\r\n public readonly onAfterUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after changes are pulled and merged into the briefcase.\r\n * @see [[BriefcaseConnection.pullAndMergeChanges]].\r\n */\r\n public readonly onChangesPulled = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** Event raised after the briefcase's local changes are pushed.\r\n * @see [[BriefcaseConnection.pushChanges]].\r\n */\r\n public readonly onChangesPushed = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** @internal */\r\n public constructor(iModel: BriefcaseConnection) {\r\n super(iModel.key);\r\n this._iModel = iModel;\r\n this._cleanup = this.registerImpl();\r\n }\r\n\r\n /** @internal */\r\n public dispose(): void {\r\n if (this._cleanup) {\r\n this._cleanup();\r\n this._cleanup = undefined;\r\n\r\n this.onElementsChanged.clear();\r\n this.onModelsChanged.clear();\r\n this.onModelGeometryChanged.clear();\r\n this.onCommit.clear();\r\n this.onCommitted.clear();\r\n this.onChangesApplied.clear();\r\n this.onBeforeUndoRedo.clear();\r\n this.onAfterUndoRedo.clear();\r\n this.onChangesPulled.clear();\r\n this.onChangesPushed.clear();\r\n }\r\n }\r\n\r\n /** Query if the briefcase has any pending Txns waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.hasPendingTxns(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reversible (undoable) changes exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async isUndoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isUndoPossible(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reinstatable (redoable) changes exist.\r\n * @see [[reinstateTxn]] to redo changes.\r\n */\r\n public async isRedoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isRedoPossible(this._iModel.key);\r\n }\r\n\r\n /** Get the description of the operation that would be reversed by calling [[reverseTxns]]`(1)`.\r\n * This is useful for showing the operation that would be undone, for example in a menu.\r\n */\r\n public async getUndoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getUndoString(this._iModel.key);\r\n }\r\n\r\n /** Get a description of the operation that would be reinstated by calling [[reinstateTxn]].\r\n * This is useful for showing the operation that would be redone, in a pull-down menu for example.\r\n */\r\n public async getRedoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getRedoString(this._iModel.key);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation.\r\n * @see [[reinstateTxn]] to redo operations.\r\n * @see [[reverseAll]] to undo all operations.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseSingleTxn(): Promise<IModelStatus> {\r\n return this.reverseTxns(1);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation(s) to the briefcase in the current session.\r\n * @param numOperations the number of operations to reverse. If this is greater than 1, the entire set of operations will\r\n * be reinstated together when/if [[reinstateTxn]] is called.\r\n * @note If there are any outstanding uncommitted changes, they are reversed.\r\n * @note The term \"operation\" is used rather than Txn, since multiple Txns can be grouped together via [TxnManager.beginMultiTxnOperation]($backend). So,\r\n * even if numOperations is 1, multiple Txns may be reversed if they were grouped together when they were made.\r\n * @note If numOperations is too large only the number of reversible operations are reversed.\r\n */\r\n public async reverseTxns(numOperations: number): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseTxns(this._iModel.key, numOperations);\r\n }\r\n\r\n /** Reverse (undo) all changes back to the beginning of the session.\r\n * @see [[reinstateTxn]] to redo changes.\r\n * @see [[reverseSingleTxn]] to undo only the most recent operation.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseAll(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseAllTxn(this._iModel.key);\r\n }\r\n\r\n /** Reinstate (redo) the most recently reversed transaction. Since at any time multiple transactions can be reversed, it\r\n * may take multiple calls to this method to reinstate all reversed operations.\r\n * @returns Success if a reversed transaction was reinstated, error status otherwise.\r\n * @note If there are any outstanding uncommitted changes, they are canceled before the Txn is reinstated.\r\n * @see [[isRedoPossible]] to determine if any reinstatable operations exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async reinstateTxn(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reinstateTxn(this._iModel.key);\r\n }\r\n\r\n /** Restart the current TxnManager session. This causes all Txns in the current session to no longer be undoable (as if the file was closed\r\n * and reopened.)\r\n * @note This can be quite disconcerting to the user expecting to be able to undo previously made changes. It should only be used\r\n * under extreme circumstances where damage to the file or session could happen if the currently committed are reversed. Use sparingly and with care.\r\n * Probably a good idea to alert the user it happened.\r\n */\r\n public async restartTxnSession(): Promise<void> {\r\n await IpcApp.appFunctionIpc.restartTxnSession(this._iModel.key);\r\n }\r\n\r\n /** @internal */\r\n public notifyElementsChanged(changed: ChangedEntities): void {\r\n this.onElementsChanged.raiseEvent(changed);\r\n }\r\n\r\n /** @internal */\r\n public notifyModelsChanged(changed: ChangedEntities): void {\r\n this.onModelsChanged.raiseEvent(changed);\r\n }\r\n\r\n /** @internal */\r\n public notifyGeometryGuidsChanged(changes: ModelIdAndGeometryGuid[]): void {\r\n this.onModelGeometryChanged.raiseEvent(changes);\r\n }\r\n\r\n /** @internal */\r\n public notifyCommit() {\r\n this.onCommit.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyCommitted(hasPendingTxns: boolean, time: number) {\r\n this.onCommitted.raiseEvent(hasPendingTxns, time);\r\n }\r\n\r\n /** @internal */\r\n public notifyReplayExternalTxns() {\r\n this.onReplayExternalTxns.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyReplayedExternalTxns() {\r\n this.onReplayedExternalTxns.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyChangesApplied() {\r\n this.onChangesApplied.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyBeforeUndoRedo(isUndo: boolean) {\r\n this.onBeforeUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyAfterUndoRedo(isUndo: boolean) {\r\n this.onAfterUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyPulledChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPulled.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyPushedChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPushed.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyIModelNameChanged(name: string) {\r\n this._iModel.name = name;\r\n }\r\n\r\n /** @internal */\r\n public notifyRootSubjectChanged(subject: RootSubjectProps) {\r\n this._iModel.rootSubject = subject;\r\n }\r\n\r\n /** @internal */\r\n public notifyProjectExtentsChanged(range: Range3dProps) {\r\n this._iModel.projectExtents = Range3d.fromJSON(range);\r\n }\r\n\r\n /** @internal */\r\n public notifyGlobalOriginChanged(origin: XYZProps) {\r\n this._iModel.globalOrigin = Point3d.fromJSON(origin);\r\n }\r\n\r\n /** @internal */\r\n public notifyEcefLocationChanged(ecef: EcefLocationProps | undefined) {\r\n this._iModel.ecefLocation = ecef ? new EcefLocation(ecef) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public notifyGeographicCoordinateSystemChanged(gcs: GeographicCRSProps | undefined) {\r\n this._iModel.geographicCoordinateSystem = gcs ? new GeographicCRS(gcs) : undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BriefcaseTxns.js","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangesetIndexAndId, EcefLocation, EcefLocationProps, GeographicCRS, GeographicCRSProps, IModelStatus, ipcAppChannels,\r\n ModelIdAndGeometryGuid, NotifyEntitiesChangedArgs, RemoveFunction, RootSubjectProps, TxnNotifications,\r\n} from \"@itwin/core-common\";\r\nimport { Point3d, Range3d, Range3dProps, XYZProps } from \"@itwin/core-geometry\";\r\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\r\nimport { IpcApp, NotificationHandler } from \"./IpcApp\";\r\nimport { EntityChanges, TxnEntityChanges } from \"./TxnEntityChanges\";\r\n\r\n/**\r\n * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].\r\n * @see [[BriefcaseTxns]].\r\n * @public\r\n */\r\nexport abstract class BriefcaseNotificationHandler extends NotificationHandler {\r\n constructor(private _key: string) { super(); }\r\n public abstract get briefcaseChannelName(): string;\r\n public get channelName() { return `${this.briefcaseChannelName}/${this._key}`; }\r\n}\r\n\r\n/** Manages local changes to a [[BriefcaseConnection]] via [Txns]($docs/learning/InteractiveEditing.md).\r\n * @see [[BriefcaseConnection.txns]].\r\n * @see [TxnManager]($backend) for the backend counterpart.\r\n * @public\r\n */\r\nexport class BriefcaseTxns extends BriefcaseNotificationHandler implements TxnNotifications {\r\n private readonly _iModel: BriefcaseConnection;\r\n private _cleanup?: RemoveFunction;\r\n\r\n /** @internal */\r\n public get briefcaseChannelName() {\r\n return ipcAppChannels.txns;\r\n }\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed elements.\r\n * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onElementsChanged = new BeEvent<(changes: TxnEntityChanges) => void>();\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed models.\r\n * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onModelsChanged = new BeEvent<(changes: TxnEntityChanges) => void>();\r\n\r\n /** Event raised after the geometry within one or more [[GeometricModelState]]s is modified by applying a changeset or validation of a transaction.\r\n * A model's geometry can change as a result of:\r\n * - Insertion or deletion of a geometric element within the model; or\r\n * - Modification of an existing element's geometric properties; or\r\n * - An explicit request to flag it as changed via [IModelDb.Models.updateModel]($backend).\r\n */\r\n public readonly onModelGeometryChanged = new BeEvent<(changes: ReadonlyArray<ModelIdAndGeometryGuid>) => void>();\r\n\r\n /** Event raised before a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], unless there are no changes to save.\r\n * @see [[onCommitted]] for the event raised after the operation.\r\n */\r\n public readonly onCommit = new BeEvent<() => void>();\r\n\r\n /** Event raised after a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], even if there were no changes to save.\r\n * The event supplies the following information:\r\n * - `hasPendingTxns`: true if the briefcase has local changes not yet pushed to the server.\r\n * - `time`: the time at which changes were saved on the backend (obtained via `Date.now()`).\r\n * @see [[onCommit]] for the event raised before the operation.\r\n */\r\n public readonly onCommitted = new BeEvent<(hasPendingTxns: boolean, time: number) => void>();\r\n\r\n /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.\r\n * @see [[onReplayedExternalTxns]] for the event raised after all such changes have been applied.\r\n */\r\n public readonly onReplayExternalTxns = new BeEvent<() => void>();\r\n\r\n /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.\r\n * @see [[onReplayExternalTxns]] for the event raised before the changes are applied.\r\n */\r\n public readonly onReplayedExternalTxns = new BeEvent<() => void>();\r\n\r\n /** Event raised after a changeset has been applied to the briefcase.\r\n * Changesets may be applied as a result of [[BriefcaseConnection.pullChanges]], or by undo/redo operations.\r\n */\r\n public readonly onChangesApplied = new BeEvent<() => void>();\r\n\r\n /** Event raised before an undo/redo operation is performed.\r\n * @see [[onAfterUndoRedo]] for the event raised after the operation.\r\n */\r\n public readonly onBeforeUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after an undo/redo operation is performed.\r\n * @see [[onBeforeUndoRedo]] for the event raised before to the operation.\r\n */\r\n public readonly onAfterUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after changes are pulled and merged into the briefcase.\r\n * @see [[BriefcaseConnection.pullAndMergeChanges]].\r\n */\r\n public readonly onChangesPulled = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** Event raised after the briefcase's local changes are pushed.\r\n * @see [[BriefcaseConnection.pushChanges]].\r\n */\r\n public readonly onChangesPushed = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** @internal */\r\n public constructor(iModel: BriefcaseConnection) {\r\n super(iModel.key);\r\n this._iModel = iModel;\r\n this._cleanup = this.registerImpl();\r\n }\r\n\r\n /** @internal */\r\n public dispose(): void {\r\n if (this._cleanup) {\r\n this._cleanup();\r\n this._cleanup = undefined;\r\n\r\n this.onElementsChanged.clear();\r\n this.onModelsChanged.clear();\r\n this.onModelGeometryChanged.clear();\r\n this.onCommit.clear();\r\n this.onCommitted.clear();\r\n this.onChangesApplied.clear();\r\n this.onBeforeUndoRedo.clear();\r\n this.onAfterUndoRedo.clear();\r\n this.onChangesPulled.clear();\r\n this.onChangesPushed.clear();\r\n }\r\n }\r\n\r\n /** Query if the briefcase has any pending Txns waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.hasPendingTxns(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reversible (undoable) changes exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async isUndoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isUndoPossible(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reinstatable (redoable) changes exist.\r\n * @see [[reinstateTxn]] to redo changes.\r\n */\r\n public async isRedoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isRedoPossible(this._iModel.key);\r\n }\r\n\r\n /** Get the description of the operation that would be reversed by calling [[reverseTxns]]`(1)`.\r\n * This is useful for showing the operation that would be undone, for example in a menu.\r\n */\r\n public async getUndoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getUndoString(this._iModel.key);\r\n }\r\n\r\n /** Get a description of the operation that would be reinstated by calling [[reinstateTxn]].\r\n * This is useful for showing the operation that would be redone, in a pull-down menu for example.\r\n */\r\n public async getRedoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getRedoString(this._iModel.key);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation.\r\n * @see [[reinstateTxn]] to redo operations.\r\n * @see [[reverseAll]] to undo all operations.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseSingleTxn(): Promise<IModelStatus> {\r\n return this.reverseTxns(1);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation(s) to the briefcase in the current session.\r\n * @param numOperations the number of operations to reverse. If this is greater than 1, the entire set of operations will\r\n * be reinstated together when/if [[reinstateTxn]] is called.\r\n * @note If there are any outstanding uncommitted changes, they are reversed.\r\n * @note The term \"operation\" is used rather than Txn, since multiple Txns can be grouped together via [TxnManager.beginMultiTxnOperation]($backend). So,\r\n * even if numOperations is 1, multiple Txns may be reversed if they were grouped together when they were made.\r\n * @note If numOperations is too large only the number of reversible operations are reversed.\r\n */\r\n public async reverseTxns(numOperations: number): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseTxns(this._iModel.key, numOperations);\r\n }\r\n\r\n /** Reverse (undo) all changes back to the beginning of the session.\r\n * @see [[reinstateTxn]] to redo changes.\r\n * @see [[reverseSingleTxn]] to undo only the most recent operation.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseAll(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseAllTxn(this._iModel.key);\r\n }\r\n\r\n /** Reinstate (redo) the most recently reversed transaction. Since at any time multiple transactions can be reversed, it\r\n * may take multiple calls to this method to reinstate all reversed operations.\r\n * @returns Success if a reversed transaction was reinstated, error status otherwise.\r\n * @note If there are any outstanding uncommitted changes, they are canceled before the Txn is reinstated.\r\n * @see [[isRedoPossible]] to determine if any reinstatable operations exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async reinstateTxn(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reinstateTxn(this._iModel.key);\r\n }\r\n\r\n /** Restart the current TxnManager session. This causes all Txns in the current session to no longer be undoable (as if the file was closed\r\n * and reopened.)\r\n * @note This can be quite disconcerting to the user expecting to be able to undo previously made changes. It should only be used\r\n * under extreme circumstances where damage to the file or session could happen if the currently committed are reversed. Use sparingly and with care.\r\n * Probably a good idea to alert the user it happened.\r\n */\r\n public async restartTxnSession(): Promise<void> {\r\n await IpcApp.appFunctionIpc.restartTxnSession(this._iModel.key);\r\n }\r\n\r\n /** @internal */\r\n public notifyElementsChanged(changed: NotifyEntitiesChangedArgs): void {\r\n this.onElementsChanged.raiseEvent(new EntityChanges(changed));\r\n }\r\n\r\n /** @internal */\r\n public notifyModelsChanged(changed: NotifyEntitiesChangedArgs): void {\r\n this.onModelsChanged.raiseEvent(new EntityChanges(changed));\r\n }\r\n\r\n /** @internal */\r\n public notifyGeometryGuidsChanged(changes: ModelIdAndGeometryGuid[]): void {\r\n this.onModelGeometryChanged.raiseEvent(changes);\r\n }\r\n\r\n /** @internal */\r\n public notifyCommit() {\r\n this.onCommit.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyCommitted(hasPendingTxns: boolean, time: number) {\r\n this.onCommitted.raiseEvent(hasPendingTxns, time);\r\n }\r\n\r\n /** @internal */\r\n public notifyReplayExternalTxns() {\r\n this.onReplayExternalTxns.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyReplayedExternalTxns() {\r\n this.onReplayedExternalTxns.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyChangesApplied() {\r\n this.onChangesApplied.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyBeforeUndoRedo(isUndo: boolean) {\r\n this.onBeforeUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyAfterUndoRedo(isUndo: boolean) {\r\n this.onAfterUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyPulledChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPulled.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyPushedChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPushed.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyIModelNameChanged(name: string) {\r\n this._iModel.name = name;\r\n }\r\n\r\n /** @internal */\r\n public notifyRootSubjectChanged(subject: RootSubjectProps) {\r\n this._iModel.rootSubject = subject;\r\n }\r\n\r\n /** @internal */\r\n public notifyProjectExtentsChanged(range: Range3dProps) {\r\n this._iModel.projectExtents = Range3d.fromJSON(range);\r\n }\r\n\r\n /** @internal */\r\n public notifyGlobalOriginChanged(origin: XYZProps) {\r\n this._iModel.globalOrigin = Point3d.fromJSON(origin);\r\n }\r\n\r\n /** @internal */\r\n public notifyEcefLocationChanged(ecef: EcefLocationProps | undefined) {\r\n this._iModel.ecefLocation = ecef ? new EcefLocation(ecef) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public notifyGeographicCoordinateSystemChanged(gcs: GeographicCRSProps | undefined) {\r\n this._iModel.geographicCoordinateSystem = gcs ? new GeographicCRS(gcs) : undefined;\r\n }\r\n}\r\n"]}
@@ -0,0 +1,96 @@
1
+ /** @packageDocumentation
2
+ * @module IModelConnection
3
+ */
4
+ import { CompressedId64Set, Id64String } from "@itwin/core-bentley";
5
+ import { NotifyEntitiesChangedArgs } from "@itwin/core-common";
6
+ /** Describes the BIS class of a [[TxnEntityChange]].
7
+ * @public
8
+ * @extensions
9
+ */
10
+ export interface TxnEntityMetadata {
11
+ /** The class's name in "Schema:Class" format. */
12
+ readonly classFullName: string;
13
+ /** Returns true if this class is or is derived from the specified class.
14
+ * @note Class names are compared case-sensitively.
15
+ */
16
+ is(baseClassFullName: string): boolean;
17
+ }
18
+ /** The type of operation that produced a [[TxnEntityChange]].
19
+ * @public
20
+ * @extensions
21
+ */
22
+ export type TxnEntityChangeType = "inserted" | "deleted" | "updated";
23
+ /** Represents a single change to a single [Entity]($backend), as part of a collection of [[TxnEntityChanges]].
24
+ * @public
25
+ * @extensions
26
+ */
27
+ export interface TxnEntityChange {
28
+ /** The operation that produced the change. */
29
+ type: TxnEntityChangeType;
30
+ /** The Id of the affected entity. */
31
+ id: Id64String;
32
+ /** A representation of the BIS class of the affected entity. */
33
+ metadata: TxnEntityMetadata;
34
+ }
35
+ /** A collection of [[TxnEntityChange]]s.
36
+ * @public
37
+ * @extensions
38
+ */
39
+ export type TxnEntityChangeIterable = Iterable<Readonly<TxnEntityChange>>;
40
+ /** A function that returns `true` if a particular BIS [Entity]($backend) class should be included when iterating a [[TxnEntityChangeIterable]].
41
+ * For example, you may wish to include only elements deriving from "BisCore:GeometricElement", which you can determine by using [[TxnEntityMetadata.is]].
42
+ * @see [[TxnEntityChangesFilterOptions.includeMetadata]] to supply such a criterion to [[TxnEntityChanges.filter]].
43
+ * @public
44
+ * @extensions
45
+ */
46
+ export type TxnEntityMetadataCriterion = (metadata: TxnEntityMetadata) => boolean;
47
+ /** Options defining criteria by which to filter the contents of a [[TxnEntityChanges]].
48
+ * @public
49
+ * @extensions
50
+ */
51
+ export interface TxnEntityChangesFilterOptions {
52
+ /** Permits filtering based on metadata. For example, you may wish to include only elements deriving from "BisCore:GeometricElement",
53
+ * which you can determine by using [[TxnEntityMetadata.is]].
54
+ * Only entities with metadata for which this function returns `true` will be included in the iteration.
55
+ */
56
+ includeMetadata?: TxnEntityMetadataCriterion;
57
+ /** Permits filtering based on the type of change. For example, you may only care about newly-inserted entities, in which case you would specify `["inserted"]`.
58
+ * Only changes of the specified type(s) will be included in the iteration.
59
+ */
60
+ includeTypes?: TxnEntityChangeType[];
61
+ }
62
+ /** Describes a set of elements or models that were modified as part of a transaction in a [[BriefcaseConnection]],
63
+ * serving as the payload for the [[BriefcaseTxns.onElementsChanged]] and [[BriefcaseTxns.onModelsChanged]] events.
64
+ * The [[inserted]], [[deleted]], and [[updated]] compressed Id sets can be awkward to work with.
65
+ * It can be more convenient to iterate over the individual [[TxnEntityChange]]s, especially if you with to [[filter]] out some
66
+ * changes.
67
+ * @public
68
+ * @extensions
69
+ */
70
+ export interface TxnEntityChanges extends TxnEntityChangeIterable {
71
+ /** The ids of entities that were inserted during the Txn. */
72
+ readonly inserted?: CompressedId64Set;
73
+ /** The ids of entities that were deleted during the Txn. */
74
+ readonly deleted?: CompressedId64Set;
75
+ /** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */
76
+ readonly updated?: CompressedId64Set;
77
+ /** Obtain an iterator over changes meeting the criteria specified by `options`. */
78
+ filter(options: TxnEntityChangesFilterOptions): TxnEntityChangeIterable;
79
+ }
80
+ export declare class Metadata implements TxnEntityMetadata {
81
+ readonly classFullName: string;
82
+ readonly baseClasses: Metadata[];
83
+ constructor(name: string);
84
+ is(baseName: string): boolean;
85
+ }
86
+ export declare class EntityChanges implements TxnEntityChanges {
87
+ readonly args: NotifyEntitiesChangedArgs;
88
+ readonly metadata: Metadata[];
89
+ constructor(args: NotifyEntitiesChangedArgs);
90
+ get inserted(): CompressedId64Set | undefined;
91
+ get deleted(): CompressedId64Set | undefined;
92
+ get updated(): CompressedId64Set | undefined;
93
+ [Symbol.iterator](): Iterator<TxnEntityChange>;
94
+ filter(options: TxnEntityChangesFilterOptions): TxnEntityChangeIterable;
95
+ }
96
+ //# sourceMappingURL=TxnEntityChanges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxnEntityChanges.d.ts","sourceRoot":"","sources":["../../src/TxnEntityChanges.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,EAAE,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,qCAAqC;IACrC,EAAE,EAAE,UAAU,CAAC;IACf,gEAAgE;IAChE,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC;AAElF;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAE7C;;OAEG;IACH,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,+JAA+J;IAC/J,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAErC,mFAAmF;IACnF,MAAM,CAAC,OAAO,EAAE,6BAA6B,GAAG,uBAAuB,CAAC;CACzE;AAED,qBAAa,QAAS,YAAW,iBAAiB;IAChD,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,WAAW,EAAE,QAAQ,EAAE,CAAM;gBAE1B,IAAI,EAAE,MAAM;IAIxB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGrC;AAyCD,qBAAa,aAAc,YAAW,gBAAgB;IACpD,SAAgB,IAAI,EAAE,yBAAyB,CAAC;IAChD,SAAgB,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBAElB,IAAI,EAAE,yBAAyB;IAYlD,IAAW,QAAQ,IAAI,iBAAiB,GAAG,SAAS,CAA+B;IACnF,IAAW,OAAO,IAAI,iBAAiB,GAAG,SAAS,CAA8B;IACjF,IAAW,OAAO,IAAI,iBAAiB,GAAG,SAAS,CAA8B;IAE1E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC;IAI9C,MAAM,CAAC,OAAO,EAAE,6BAA6B,GAAG,uBAAuB;CAK/E"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module IModelConnection
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.EntityChanges = exports.Metadata = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ class Metadata {
13
+ constructor(name) {
14
+ this.baseClasses = [];
15
+ this.classFullName = name;
16
+ }
17
+ is(baseName) {
18
+ return baseName === this.classFullName || this.baseClasses.some((base) => base.is(baseName));
19
+ }
20
+ }
21
+ exports.Metadata = Metadata;
22
+ function* entityChangesIterator(changes, options) {
23
+ let excludedMetaIndices;
24
+ if (options?.includeMetadata) {
25
+ for (let i = 0; i < changes.metadata.length; i++) {
26
+ if (!options.includeMetadata(changes.metadata[i])) {
27
+ excludedMetaIndices = excludedMetaIndices ?? new Set();
28
+ excludedMetaIndices.add(i);
29
+ }
30
+ }
31
+ }
32
+ function* process(type) {
33
+ if (options?.includeTypes && !options.includeTypes.includes(type)) {
34
+ return;
35
+ }
36
+ const ids = changes[type];
37
+ if (undefined === ids) {
38
+ return;
39
+ }
40
+ const metaIndices = changes.args[`${type}Meta`];
41
+ let index = 0;
42
+ for (const id of core_bentley_1.CompressedId64Set.iterable(ids)) {
43
+ const metaIndex = metaIndices[index++];
44
+ if (excludedMetaIndices && excludedMetaIndices.has(metaIndex)) {
45
+ continue;
46
+ }
47
+ const metadata = changes.metadata[metaIndex];
48
+ yield { type, id, metadata };
49
+ }
50
+ }
51
+ yield* process("inserted");
52
+ yield* process("deleted");
53
+ yield* process("updated");
54
+ }
55
+ class EntityChanges {
56
+ constructor(args) {
57
+ this.args = args;
58
+ this.metadata = args.meta.map((x) => new Metadata(x.name));
59
+ for (let i = 0; i < this.metadata.length; i++) {
60
+ const meta = this.metadata[i];
61
+ for (const baseIndex of args.meta[i].bases) {
62
+ meta.baseClasses.push(this.metadata[baseIndex]);
63
+ }
64
+ }
65
+ }
66
+ get inserted() { return this.args.inserted; }
67
+ get deleted() { return this.args.deleted; }
68
+ get updated() { return this.args.updated; }
69
+ [Symbol.iterator]() {
70
+ return entityChangesIterator(this);
71
+ }
72
+ filter(options) {
73
+ return {
74
+ [Symbol.iterator]: () => entityChangesIterator(this, options),
75
+ };
76
+ }
77
+ }
78
+ exports.EntityChanges = EntityChanges;
79
+ //# sourceMappingURL=TxnEntityChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxnEntityChanges.js","sourceRoot":"","sources":["../../src/TxnEntityChanges.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\r\nimport { NotifyEntitiesChangedArgs } from \"@itwin/core-common\";\r\n\r\n/** Describes the BIS class of a [[TxnEntityChange]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityMetadata {\r\n /** The class's name in \"Schema:Class\" format. */\r\n readonly classFullName: string;\r\n\r\n /** Returns true if this class is or is derived from the specified class.\r\n * @note Class names are compared case-sensitively.\r\n */\r\n is(baseClassFullName: string): boolean;\r\n}\r\n\r\n/** The type of operation that produced a [[TxnEntityChange]].\r\n * @public\r\n * @extensions\r\n */\r\nexport type TxnEntityChangeType = \"inserted\" | \"deleted\" | \"updated\";\r\n\r\n/** Represents a single change to a single [Entity]($backend), as part of a collection of [[TxnEntityChanges]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityChange {\r\n /** The operation that produced the change. */\r\n type: TxnEntityChangeType;\r\n /** The Id of the affected entity. */\r\n id: Id64String;\r\n /** A representation of the BIS class of the affected entity. */\r\n metadata: TxnEntityMetadata;\r\n}\r\n\r\n/** A collection of [[TxnEntityChange]]s.\r\n * @public\r\n * @extensions\r\n */\r\nexport type TxnEntityChangeIterable = Iterable<Readonly<TxnEntityChange>>;\r\n\r\n/** A function that returns `true` if a particular BIS [Entity]($backend) class should be included when iterating a [[TxnEntityChangeIterable]].\r\n * For example, you may wish to include only elements deriving from \"BisCore:GeometricElement\", which you can determine by using [[TxnEntityMetadata.is]].\r\n * @see [[TxnEntityChangesFilterOptions.includeMetadata]] to supply such a criterion to [[TxnEntityChanges.filter]].\r\n * @public\r\n * @extensions\r\n */\r\nexport type TxnEntityMetadataCriterion = (metadata: TxnEntityMetadata) => boolean;\r\n\r\n/** Options defining criteria by which to filter the contents of a [[TxnEntityChanges]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityChangesFilterOptions {\r\n /** Permits filtering based on metadata. For example, you may wish to include only elements deriving from \"BisCore:GeometricElement\",\r\n * which you can determine by using [[TxnEntityMetadata.is]].\r\n * Only entities with metadata for which this function returns `true` will be included in the iteration.\r\n */\r\n includeMetadata?: TxnEntityMetadataCriterion;\r\n\r\n /** Permits filtering based on the type of change. For example, you may only care about newly-inserted entities, in which case you would specify `[\"inserted\"]`.\r\n * Only changes of the specified type(s) will be included in the iteration.\r\n */\r\n includeTypes?: TxnEntityChangeType[];\r\n}\r\n\r\n/** Describes a set of elements or models that were modified as part of a transaction in a [[BriefcaseConnection]],\r\n * serving as the payload for the [[BriefcaseTxns.onElementsChanged]] and [[BriefcaseTxns.onModelsChanged]] events.\r\n * The [[inserted]], [[deleted]], and [[updated]] compressed Id sets can be awkward to work with.\r\n * It can be more convenient to iterate over the individual [[TxnEntityChange]]s, especially if you with to [[filter]] out some\r\n * changes.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityChanges extends TxnEntityChangeIterable {\r\n /** The ids of entities that were inserted during the Txn. */\r\n readonly inserted?: CompressedId64Set;\r\n /** The ids of entities that were deleted during the Txn. */\r\n readonly deleted?: CompressedId64Set;\r\n /** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */\r\n readonly updated?: CompressedId64Set;\r\n\r\n /** Obtain an iterator over changes meeting the criteria specified by `options`. */\r\n filter(options: TxnEntityChangesFilterOptions): TxnEntityChangeIterable;\r\n}\r\n\r\nexport class Metadata implements TxnEntityMetadata {\r\n public readonly classFullName: string;\r\n public readonly baseClasses: Metadata[] = [];\r\n\r\n public constructor(name: string) {\r\n this.classFullName = name;\r\n }\r\n\r\n public is(baseName: string): boolean {\r\n return baseName === this.classFullName || this.baseClasses.some((base) => base.is(baseName));\r\n }\r\n}\r\n\r\nfunction * entityChangesIterator(changes: EntityChanges, options?: TxnEntityChangesFilterOptions): Iterator<TxnEntityChange> {\r\n let excludedMetaIndices: Set<number> | undefined;\r\n if (options?.includeMetadata) {\r\n for (let i = 0; i < changes.metadata.length; i++) {\r\n if (!options.includeMetadata(changes.metadata[i])) {\r\n excludedMetaIndices = excludedMetaIndices ?? new Set<number>();\r\n excludedMetaIndices.add(i);\r\n }\r\n }\r\n }\r\n\r\n function * process(type: TxnEntityChangeType) {\r\n if (options?.includeTypes && !options.includeTypes.includes(type)) {\r\n return;\r\n }\r\n\r\n const ids = changes[type];\r\n if (undefined === ids) {\r\n return;\r\n }\r\n\r\n const metaIndices = changes.args[`${type}Meta`];\r\n let index = 0;\r\n for (const id of CompressedId64Set.iterable(ids)) {\r\n const metaIndex = metaIndices[index++];\r\n if (excludedMetaIndices && excludedMetaIndices.has(metaIndex)) {\r\n continue;\r\n }\r\n\r\n const metadata = changes.metadata[metaIndex];\r\n yield { type, id, metadata };\r\n }\r\n }\r\n\r\n yield* process(\"inserted\");\r\n yield* process(\"deleted\");\r\n yield* process(\"updated\");\r\n}\r\n\r\nexport class EntityChanges implements TxnEntityChanges {\r\n public readonly args: NotifyEntitiesChangedArgs;\r\n public readonly metadata: Metadata[];\r\n\r\n public constructor(args: NotifyEntitiesChangedArgs) {\r\n this.args = args;\r\n\r\n this.metadata = args.meta.map((x) => new Metadata(x.name));\r\n for (let i = 0; i < this.metadata.length; i++) {\r\n const meta = this.metadata[i];\r\n for (const baseIndex of args.meta[i].bases) {\r\n meta.baseClasses.push(this.metadata[baseIndex]);\r\n }\r\n }\r\n }\r\n\r\n public get inserted(): CompressedId64Set | undefined { return this.args.inserted; }\r\n public get deleted(): CompressedId64Set | undefined { return this.args.deleted; }\r\n public get updated(): CompressedId64Set | undefined { return this.args.updated; }\r\n\r\n public [Symbol.iterator](): Iterator<TxnEntityChange> {\r\n return entityChangesIterator(this);\r\n }\r\n\r\n public filter(options: TxnEntityChangesFilterOptions): TxnEntityChangeIterable {\r\n return {\r\n [Symbol.iterator]: () => entityChangesIterator(this, options),\r\n };\r\n }\r\n}\r\n"]}
@@ -141,6 +141,7 @@ export * from "./render/primitives/mesh/MeshPrimitives";
141
141
  export * from "./render/webgl/IModelFrameLifecycle";
142
142
  export * from "./render/webgl/PerformanceMetrics";
143
143
  export * from "./render/webgl/Target";
144
+ export type { TxnEntityChange, TxnEntityChangeIterable, TxnEntityChangeType, TxnEntityChanges, TxnEntityChangesFilterOptions, TxnEntityMetadata, TxnEntityMetadataCriterion, } from "./TxnEntityChanges";
144
145
  export * from "./tile/internal";
145
146
  export * from "./tools/AccuDrawTool";
146
147
  export * from "./tools/ClipViewTool";
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./common/FrontendLoggerCategory\";\r\nexport * from \"./common/gltf/GltfModel\";\r\nexport * from \"./common/gltf/GltfParser\";\r\nexport * from \"./common/gltf/GltfSchema\";\r\nexport * from \"./common/ImageUtil\";\r\nexport * from \"./common/imdl/ImdlModel\";\r\nexport * from \"./common/imdl/ImdlSchema\";\r\nexport * from \"./common/imdl/ParseImdlDocument\";\r\nexport * from \"./common/render/AnimationNodeId\";\r\nexport * from \"./common/render/MaterialParams\";\r\nexport * from \"./common/render/primitives/AuxChannelTable\";\r\nexport * from \"./common/render/primitives/DisplayParams\";\r\nexport * from \"./common/render/primitives/EdgeParams\";\r\nexport * from \"./common/render/primitives/MeshParams\";\r\nexport * from \"./common/render/primitives/MeshPrimitive\";\r\nexport * from \"./common/render/primitives/PointStringParams\";\r\nexport * from \"./common/render/primitives/PolylineParams\";\r\nexport * from \"./common/render/primitives/SurfaceParams\";\r\nexport * from \"./common/render/primitives/VertexIndices\";\r\nexport * from \"./common/render/primitives/VertexTable\";\r\nexport * from \"./common/render/primitives/VertexTableSplitter\";\r\nexport * from \"./common/render/TextureParams\";\r\nexport * from \"./common/ViewRect\";\r\nexport * from \"./common/WorkerProxy\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./EnvironmentDecorations\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialClassifiersState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./UserPreferences\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewportSync\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/Extension\";\r\nexport * from \"./extension/providers/LocalExtensionProvider\";\r\nexport * from \"./extension/providers/RemoteExtensionProvider\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/CreateRenderMaterialArgs\";\r\nexport * from \"./render/CreateTextureArgs\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RealityMeshGraphicParams\";\r\nexport * from \"./render/RealityMeshParams\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/primitives/ColorMap\";\r\nexport * from \"./render/primitives/EdgeParams\";\r\nexport * from \"./render/primitives/PointCloudPrimitive\";\r\nexport * from \"./render/primitives/PointStringParams\";\r\nexport * from \"./render/primitives/Polyface\";\r\nexport * from \"./render/primitives/PolylineParams\";\r\nexport * from \"./render/primitives/Primitives\";\r\nexport * from \"./render/primitives/Strokes\";\r\nexport * from \"./render/primitives/VertexKey\";\r\nexport * from \"./render/primitives/VertexTableBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryAccumulator\";\r\nexport * from \"./render/primitives/geometry/GeometryList\";\r\nexport * from \"./render/primitives/geometry/GeometryListBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryPrimitives\";\r\nexport * from \"./render/primitives/mesh/MeshBuilder\";\r\nexport * from \"./render/primitives/mesh/MeshBuilderMap\";\r\nexport * from \"./render/primitives/mesh/MeshPrimitives\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./request/utils\";\r\nexport * from \"./RealityDataSource\";\r\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\r\nimport \"./extension/ExtensionRuntime\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iTwin.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing Extensions.\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description UserPreferences\r\n * APIs for working with user preferences in an iModelApp.\r\n * See [the learning articles]($docs/learning/frontend/preferences.md).\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Classes supporting map layers display.\r\n */\r\n/**\r\n * @docs-group-description TileStorage\r\n * Class for working with cloud storage using iTwin/object-storage cloud providers\r\n*/\r\n"]}
1
+ {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./common/FrontendLoggerCategory\";\r\nexport * from \"./common/gltf/GltfModel\";\r\nexport * from \"./common/gltf/GltfParser\";\r\nexport * from \"./common/gltf/GltfSchema\";\r\nexport * from \"./common/ImageUtil\";\r\nexport * from \"./common/imdl/ImdlModel\";\r\nexport * from \"./common/imdl/ImdlSchema\";\r\nexport * from \"./common/imdl/ParseImdlDocument\";\r\nexport * from \"./common/render/AnimationNodeId\";\r\nexport * from \"./common/render/MaterialParams\";\r\nexport * from \"./common/render/primitives/AuxChannelTable\";\r\nexport * from \"./common/render/primitives/DisplayParams\";\r\nexport * from \"./common/render/primitives/EdgeParams\";\r\nexport * from \"./common/render/primitives/MeshParams\";\r\nexport * from \"./common/render/primitives/MeshPrimitive\";\r\nexport * from \"./common/render/primitives/PointStringParams\";\r\nexport * from \"./common/render/primitives/PolylineParams\";\r\nexport * from \"./common/render/primitives/SurfaceParams\";\r\nexport * from \"./common/render/primitives/VertexIndices\";\r\nexport * from \"./common/render/primitives/VertexTable\";\r\nexport * from \"./common/render/primitives/VertexTableSplitter\";\r\nexport * from \"./common/render/TextureParams\";\r\nexport * from \"./common/ViewRect\";\r\nexport * from \"./common/WorkerProxy\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./EnvironmentDecorations\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialClassifiersState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./UserPreferences\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewportSync\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/Extension\";\r\nexport * from \"./extension/providers/LocalExtensionProvider\";\r\nexport * from \"./extension/providers/RemoteExtensionProvider\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/CreateRenderMaterialArgs\";\r\nexport * from \"./render/CreateTextureArgs\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RealityMeshGraphicParams\";\r\nexport * from \"./render/RealityMeshParams\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/primitives/ColorMap\";\r\nexport * from \"./render/primitives/EdgeParams\";\r\nexport * from \"./render/primitives/PointCloudPrimitive\";\r\nexport * from \"./render/primitives/PointStringParams\";\r\nexport * from \"./render/primitives/Polyface\";\r\nexport * from \"./render/primitives/PolylineParams\";\r\nexport * from \"./render/primitives/Primitives\";\r\nexport * from \"./render/primitives/Strokes\";\r\nexport * from \"./render/primitives/VertexKey\";\r\nexport * from \"./render/primitives/VertexTableBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryAccumulator\";\r\nexport * from \"./render/primitives/geometry/GeometryList\";\r\nexport * from \"./render/primitives/geometry/GeometryListBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryPrimitives\";\r\nexport * from \"./render/primitives/mesh/MeshBuilder\";\r\nexport * from \"./render/primitives/mesh/MeshBuilderMap\";\r\nexport * from \"./render/primitives/mesh/MeshPrimitives\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport type {\r\n TxnEntityChange,\r\n TxnEntityChangeIterable,\r\n TxnEntityChangeType,\r\n TxnEntityChanges,\r\n TxnEntityChangesFilterOptions,\r\n TxnEntityMetadata,\r\n TxnEntityMetadataCriterion,\r\n} from \"./TxnEntityChanges\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./request/utils\";\r\nexport * from \"./RealityDataSource\";\r\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\r\nimport \"./extension/ExtensionRuntime\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iTwin.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing Extensions.\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description UserPreferences\r\n * APIs for working with user preferences in an iModelApp.\r\n * See [the learning articles]($docs/learning/frontend/preferences.md).\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Classes supporting map layers display.\r\n */\r\n/**\r\n * @docs-group-description TileStorage\r\n * Class for working with cloud storage using iTwin/object-storage cloud providers\r\n*/\r\n"]}
@@ -2,10 +2,11 @@
2
2
  * @module IModelConnection
3
3
  */
4
4
  import { BeEvent } from "@itwin/core-bentley";
5
- import { ChangedEntities, ChangesetIndexAndId, EcefLocationProps, GeographicCRSProps, IModelStatus, ModelIdAndGeometryGuid, RootSubjectProps, TxnNotifications } from "@itwin/core-common";
5
+ import { ChangesetIndexAndId, EcefLocationProps, GeographicCRSProps, IModelStatus, ModelIdAndGeometryGuid, NotifyEntitiesChangedArgs, RootSubjectProps, TxnNotifications } from "@itwin/core-common";
6
6
  import { Range3dProps, XYZProps } from "@itwin/core-geometry";
7
7
  import { BriefcaseConnection } from "./BriefcaseConnection";
8
8
  import { NotificationHandler } from "./IpcApp";
9
+ import { TxnEntityChanges } from "./TxnEntityChanges";
9
10
  /**
10
11
  * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].
11
12
  * @see [[BriefcaseTxns]].
@@ -30,11 +31,11 @@ export declare class BriefcaseTxns extends BriefcaseNotificationHandler implemen
30
31
  /** Event raised after Txn validation or changeset application to indicate the set of changed elements.
31
32
  * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
32
33
  */
33
- readonly onElementsChanged: BeEvent<(changes: Readonly<ChangedEntities>) => void>;
34
+ readonly onElementsChanged: BeEvent<(changes: TxnEntityChanges) => void>;
34
35
  /** Event raised after Txn validation or changeset application to indicate the set of changed models.
35
36
  * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.
36
37
  */
37
- readonly onModelsChanged: BeEvent<(changes: Readonly<ChangedEntities>) => void>;
38
+ readonly onModelsChanged: BeEvent<(changes: TxnEntityChanges) => void>;
38
39
  /** Event raised after the geometry within one or more [[GeometricModelState]]s is modified by applying a changeset or validation of a transaction.
39
40
  * A model's geometry can change as a result of:
40
41
  * - Insertion or deletion of a geometric element within the model; or
@@ -140,9 +141,9 @@ export declare class BriefcaseTxns extends BriefcaseNotificationHandler implemen
140
141
  */
141
142
  restartTxnSession(): Promise<void>;
142
143
  /** @internal */
143
- notifyElementsChanged(changed: ChangedEntities): void;
144
+ notifyElementsChanged(changed: NotifyEntitiesChangedArgs): void;
144
145
  /** @internal */
145
- notifyModelsChanged(changed: ChangedEntities): void;
146
+ notifyModelsChanged(changed: NotifyEntitiesChangedArgs): void;
146
147
  /** @internal */
147
148
  notifyGeometryGuidsChanged(changes: ModelIdAndGeometryGuid[]): void;
148
149
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseTxns.d.ts","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BriefcaseTxns.d.ts","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { BeEvent } from "@itwin/core-bentley";
9
9
  import { EcefLocation, GeographicCRS, ipcAppChannels, } from "@itwin/core-common";
10
10
  import { Point3d, Range3d } from "@itwin/core-geometry";
11
11
  import { IpcApp, NotificationHandler } from "./IpcApp";
12
+ import { EntityChanges } from "./TxnEntityChanges";
12
13
  /**
13
14
  * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].
14
15
  * @see [[BriefcaseTxns]].
@@ -184,11 +185,11 @@ export class BriefcaseTxns extends BriefcaseNotificationHandler {
184
185
  }
185
186
  /** @internal */
186
187
  notifyElementsChanged(changed) {
187
- this.onElementsChanged.raiseEvent(changed);
188
+ this.onElementsChanged.raiseEvent(new EntityChanges(changed));
188
189
  }
189
190
  /** @internal */
190
191
  notifyModelsChanged(changed) {
191
- this.onModelsChanged.raiseEvent(changed);
192
+ this.onModelsChanged.raiseEvent(new EntityChanges(changed));
192
193
  }
193
194
  /** @internal */
194
195
  notifyGeometryGuidsChanged(changes) {
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseTxns.js","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangedEntities, ChangesetIndexAndId, EcefLocation, EcefLocationProps, GeographicCRS, GeographicCRSProps, IModelStatus, ipcAppChannels,\r\n ModelIdAndGeometryGuid, RemoveFunction, RootSubjectProps, TxnNotifications,\r\n} from \"@itwin/core-common\";\r\nimport { Point3d, Range3d, Range3dProps, XYZProps } from \"@itwin/core-geometry\";\r\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\r\nimport { IpcApp, NotificationHandler } from \"./IpcApp\";\r\n\r\n/**\r\n * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].\r\n * @see [[BriefcaseTxns]].\r\n * @public\r\n */\r\nexport abstract class BriefcaseNotificationHandler extends NotificationHandler {\r\n constructor(private _key: string) { super(); }\r\n public abstract get briefcaseChannelName(): string;\r\n public get channelName() { return `${this.briefcaseChannelName}/${this._key}`; }\r\n}\r\n\r\n/** Manages local changes to a [[BriefcaseConnection]] via [Txns]($docs/learning/InteractiveEditing.md).\r\n * @see [[BriefcaseConnection.txns]].\r\n * @see [TxnManager]($backend) for the backend counterpart.\r\n * @public\r\n */\r\nexport class BriefcaseTxns extends BriefcaseNotificationHandler implements TxnNotifications {\r\n private readonly _iModel: BriefcaseConnection;\r\n private _cleanup?: RemoveFunction;\r\n\r\n /** @internal */\r\n public get briefcaseChannelName() {\r\n return ipcAppChannels.txns;\r\n }\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed elements.\r\n * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onElementsChanged = new BeEvent<(changes: Readonly<ChangedEntities>) => void>();\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed models.\r\n * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onModelsChanged = new BeEvent<(changes: Readonly<ChangedEntities>) => void>();\r\n\r\n /** Event raised after the geometry within one or more [[GeometricModelState]]s is modified by applying a changeset or validation of a transaction.\r\n * A model's geometry can change as a result of:\r\n * - Insertion or deletion of a geometric element within the model; or\r\n * - Modification of an existing element's geometric properties; or\r\n * - An explicit request to flag it as changed via [IModelDb.Models.updateModel]($backend).\r\n */\r\n public readonly onModelGeometryChanged = new BeEvent<(changes: ReadonlyArray<ModelIdAndGeometryGuid>) => void>();\r\n\r\n /** Event raised before a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], unless there are no changes to save.\r\n * @see [[onCommitted]] for the event raised after the operation.\r\n */\r\n public readonly onCommit = new BeEvent<() => void>();\r\n\r\n /** Event raised after a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], even if there were no changes to save.\r\n * The event supplies the following information:\r\n * - `hasPendingTxns`: true if the briefcase has local changes not yet pushed to the server.\r\n * - `time`: the time at which changes were saved on the backend (obtained via `Date.now()`).\r\n * @see [[onCommit]] for the event raised before the operation.\r\n */\r\n public readonly onCommitted = new BeEvent<(hasPendingTxns: boolean, time: number) => void>();\r\n\r\n /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.\r\n * @see [[onReplayedExternalTxns]] for the event raised after all such changes have been applied.\r\n */\r\n public readonly onReplayExternalTxns = new BeEvent<() => void>();\r\n\r\n /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.\r\n * @see [[onReplayExternalTxns]] for the event raised before the changes are applied.\r\n */\r\n public readonly onReplayedExternalTxns = new BeEvent<() => void>();\r\n\r\n /** Event raised after a changeset has been applied to the briefcase.\r\n * Changesets may be applied as a result of [[BriefcaseConnection.pullChanges]], or by undo/redo operations.\r\n */\r\n public readonly onChangesApplied = new BeEvent<() => void>();\r\n\r\n /** Event raised before an undo/redo operation is performed.\r\n * @see [[onAfterUndoRedo]] for the event raised after the operation.\r\n */\r\n public readonly onBeforeUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after an undo/redo operation is performed.\r\n * @see [[onBeforeUndoRedo]] for the event raised before to the operation.\r\n */\r\n public readonly onAfterUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after changes are pulled and merged into the briefcase.\r\n * @see [[BriefcaseConnection.pullAndMergeChanges]].\r\n */\r\n public readonly onChangesPulled = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** Event raised after the briefcase's local changes are pushed.\r\n * @see [[BriefcaseConnection.pushChanges]].\r\n */\r\n public readonly onChangesPushed = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** @internal */\r\n public constructor(iModel: BriefcaseConnection) {\r\n super(iModel.key);\r\n this._iModel = iModel;\r\n this._cleanup = this.registerImpl();\r\n }\r\n\r\n /** @internal */\r\n public dispose(): void {\r\n if (this._cleanup) {\r\n this._cleanup();\r\n this._cleanup = undefined;\r\n\r\n this.onElementsChanged.clear();\r\n this.onModelsChanged.clear();\r\n this.onModelGeometryChanged.clear();\r\n this.onCommit.clear();\r\n this.onCommitted.clear();\r\n this.onChangesApplied.clear();\r\n this.onBeforeUndoRedo.clear();\r\n this.onAfterUndoRedo.clear();\r\n this.onChangesPulled.clear();\r\n this.onChangesPushed.clear();\r\n }\r\n }\r\n\r\n /** Query if the briefcase has any pending Txns waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.hasPendingTxns(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reversible (undoable) changes exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async isUndoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isUndoPossible(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reinstatable (redoable) changes exist.\r\n * @see [[reinstateTxn]] to redo changes.\r\n */\r\n public async isRedoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isRedoPossible(this._iModel.key);\r\n }\r\n\r\n /** Get the description of the operation that would be reversed by calling [[reverseTxns]]`(1)`.\r\n * This is useful for showing the operation that would be undone, for example in a menu.\r\n */\r\n public async getUndoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getUndoString(this._iModel.key);\r\n }\r\n\r\n /** Get a description of the operation that would be reinstated by calling [[reinstateTxn]].\r\n * This is useful for showing the operation that would be redone, in a pull-down menu for example.\r\n */\r\n public async getRedoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getRedoString(this._iModel.key);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation.\r\n * @see [[reinstateTxn]] to redo operations.\r\n * @see [[reverseAll]] to undo all operations.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseSingleTxn(): Promise<IModelStatus> {\r\n return this.reverseTxns(1);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation(s) to the briefcase in the current session.\r\n * @param numOperations the number of operations to reverse. If this is greater than 1, the entire set of operations will\r\n * be reinstated together when/if [[reinstateTxn]] is called.\r\n * @note If there are any outstanding uncommitted changes, they are reversed.\r\n * @note The term \"operation\" is used rather than Txn, since multiple Txns can be grouped together via [TxnManager.beginMultiTxnOperation]($backend). So,\r\n * even if numOperations is 1, multiple Txns may be reversed if they were grouped together when they were made.\r\n * @note If numOperations is too large only the number of reversible operations are reversed.\r\n */\r\n public async reverseTxns(numOperations: number): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseTxns(this._iModel.key, numOperations);\r\n }\r\n\r\n /** Reverse (undo) all changes back to the beginning of the session.\r\n * @see [[reinstateTxn]] to redo changes.\r\n * @see [[reverseSingleTxn]] to undo only the most recent operation.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseAll(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseAllTxn(this._iModel.key);\r\n }\r\n\r\n /** Reinstate (redo) the most recently reversed transaction. Since at any time multiple transactions can be reversed, it\r\n * may take multiple calls to this method to reinstate all reversed operations.\r\n * @returns Success if a reversed transaction was reinstated, error status otherwise.\r\n * @note If there are any outstanding uncommitted changes, they are canceled before the Txn is reinstated.\r\n * @see [[isRedoPossible]] to determine if any reinstatable operations exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async reinstateTxn(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reinstateTxn(this._iModel.key);\r\n }\r\n\r\n /** Restart the current TxnManager session. This causes all Txns in the current session to no longer be undoable (as if the file was closed\r\n * and reopened.)\r\n * @note This can be quite disconcerting to the user expecting to be able to undo previously made changes. It should only be used\r\n * under extreme circumstances where damage to the file or session could happen if the currently committed are reversed. Use sparingly and with care.\r\n * Probably a good idea to alert the user it happened.\r\n */\r\n public async restartTxnSession(): Promise<void> {\r\n await IpcApp.appFunctionIpc.restartTxnSession(this._iModel.key);\r\n }\r\n\r\n /** @internal */\r\n public notifyElementsChanged(changed: ChangedEntities): void {\r\n this.onElementsChanged.raiseEvent(changed);\r\n }\r\n\r\n /** @internal */\r\n public notifyModelsChanged(changed: ChangedEntities): void {\r\n this.onModelsChanged.raiseEvent(changed);\r\n }\r\n\r\n /** @internal */\r\n public notifyGeometryGuidsChanged(changes: ModelIdAndGeometryGuid[]): void {\r\n this.onModelGeometryChanged.raiseEvent(changes);\r\n }\r\n\r\n /** @internal */\r\n public notifyCommit() {\r\n this.onCommit.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyCommitted(hasPendingTxns: boolean, time: number) {\r\n this.onCommitted.raiseEvent(hasPendingTxns, time);\r\n }\r\n\r\n /** @internal */\r\n public notifyReplayExternalTxns() {\r\n this.onReplayExternalTxns.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyReplayedExternalTxns() {\r\n this.onReplayedExternalTxns.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyChangesApplied() {\r\n this.onChangesApplied.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyBeforeUndoRedo(isUndo: boolean) {\r\n this.onBeforeUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyAfterUndoRedo(isUndo: boolean) {\r\n this.onAfterUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyPulledChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPulled.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyPushedChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPushed.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyIModelNameChanged(name: string) {\r\n this._iModel.name = name;\r\n }\r\n\r\n /** @internal */\r\n public notifyRootSubjectChanged(subject: RootSubjectProps) {\r\n this._iModel.rootSubject = subject;\r\n }\r\n\r\n /** @internal */\r\n public notifyProjectExtentsChanged(range: Range3dProps) {\r\n this._iModel.projectExtents = Range3d.fromJSON(range);\r\n }\r\n\r\n /** @internal */\r\n public notifyGlobalOriginChanged(origin: XYZProps) {\r\n this._iModel.globalOrigin = Point3d.fromJSON(origin);\r\n }\r\n\r\n /** @internal */\r\n public notifyEcefLocationChanged(ecef: EcefLocationProps | undefined) {\r\n this._iModel.ecefLocation = ecef ? new EcefLocation(ecef) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public notifyGeographicCoordinateSystemChanged(gcs: GeographicCRSProps | undefined) {\r\n this._iModel.geographicCoordinateSystem = gcs ? new GeographicCRS(gcs) : undefined;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BriefcaseTxns.js","sourceRoot":"","sources":["../../src/BriefcaseTxns.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport {\r\n ChangesetIndexAndId, EcefLocation, EcefLocationProps, GeographicCRS, GeographicCRSProps, IModelStatus, ipcAppChannels,\r\n ModelIdAndGeometryGuid, NotifyEntitiesChangedArgs, RemoveFunction, RootSubjectProps, TxnNotifications,\r\n} from \"@itwin/core-common\";\r\nimport { Point3d, Range3d, Range3dProps, XYZProps } from \"@itwin/core-geometry\";\r\nimport { BriefcaseConnection } from \"./BriefcaseConnection\";\r\nimport { IpcApp, NotificationHandler } from \"./IpcApp\";\r\nimport { EntityChanges, TxnEntityChanges } from \"./TxnEntityChanges\";\r\n\r\n/**\r\n * Base class for notification handlers for events from the backend that are specific to a [[BriefcaseConnection]].\r\n * @see [[BriefcaseTxns]].\r\n * @public\r\n */\r\nexport abstract class BriefcaseNotificationHandler extends NotificationHandler {\r\n constructor(private _key: string) { super(); }\r\n public abstract get briefcaseChannelName(): string;\r\n public get channelName() { return `${this.briefcaseChannelName}/${this._key}`; }\r\n}\r\n\r\n/** Manages local changes to a [[BriefcaseConnection]] via [Txns]($docs/learning/InteractiveEditing.md).\r\n * @see [[BriefcaseConnection.txns]].\r\n * @see [TxnManager]($backend) for the backend counterpart.\r\n * @public\r\n */\r\nexport class BriefcaseTxns extends BriefcaseNotificationHandler implements TxnNotifications {\r\n private readonly _iModel: BriefcaseConnection;\r\n private _cleanup?: RemoveFunction;\r\n\r\n /** @internal */\r\n public get briefcaseChannelName() {\r\n return ipcAppChannels.txns;\r\n }\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed elements.\r\n * @note If there are many changed elements in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onElementsChanged = new BeEvent<(changes: TxnEntityChanges) => void>();\r\n\r\n /** Event raised after Txn validation or changeset application to indicate the set of changed models.\r\n * @note If there are many changed models in a single Txn, the notifications are sent in batches so this event *may be called multiple times* per Txn.\r\n */\r\n public readonly onModelsChanged = new BeEvent<(changes: TxnEntityChanges) => void>();\r\n\r\n /** Event raised after the geometry within one or more [[GeometricModelState]]s is modified by applying a changeset or validation of a transaction.\r\n * A model's geometry can change as a result of:\r\n * - Insertion or deletion of a geometric element within the model; or\r\n * - Modification of an existing element's geometric properties; or\r\n * - An explicit request to flag it as changed via [IModelDb.Models.updateModel]($backend).\r\n */\r\n public readonly onModelGeometryChanged = new BeEvent<(changes: ReadonlyArray<ModelIdAndGeometryGuid>) => void>();\r\n\r\n /** Event raised before a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], unless there are no changes to save.\r\n * @see [[onCommitted]] for the event raised after the operation.\r\n */\r\n public readonly onCommit = new BeEvent<() => void>();\r\n\r\n /** Event raised after a commit operation is performed. Initiated by a call to [[BriefcaseConnection.saveChanges]], even if there were no changes to save.\r\n * The event supplies the following information:\r\n * - `hasPendingTxns`: true if the briefcase has local changes not yet pushed to the server.\r\n * - `time`: the time at which changes were saved on the backend (obtained via `Date.now()`).\r\n * @see [[onCommit]] for the event raised before the operation.\r\n */\r\n public readonly onCommitted = new BeEvent<(hasPendingTxns: boolean, time: number) => void>();\r\n\r\n /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.\r\n * @see [[onReplayedExternalTxns]] for the event raised after all such changes have been applied.\r\n */\r\n public readonly onReplayExternalTxns = new BeEvent<() => void>();\r\n\r\n /** Event raised for a read-only briefcase that was opened with the `watchForChanges` flag enabled when changes made by another connection are applied to the briefcase.\r\n * @see [[onReplayExternalTxns]] for the event raised before the changes are applied.\r\n */\r\n public readonly onReplayedExternalTxns = new BeEvent<() => void>();\r\n\r\n /** Event raised after a changeset has been applied to the briefcase.\r\n * Changesets may be applied as a result of [[BriefcaseConnection.pullChanges]], or by undo/redo operations.\r\n */\r\n public readonly onChangesApplied = new BeEvent<() => void>();\r\n\r\n /** Event raised before an undo/redo operation is performed.\r\n * @see [[onAfterUndoRedo]] for the event raised after the operation.\r\n */\r\n public readonly onBeforeUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after an undo/redo operation is performed.\r\n * @see [[onBeforeUndoRedo]] for the event raised before to the operation.\r\n */\r\n public readonly onAfterUndoRedo = new BeEvent<(isUndo: boolean) => void>();\r\n\r\n /** Event raised after changes are pulled and merged into the briefcase.\r\n * @see [[BriefcaseConnection.pullAndMergeChanges]].\r\n */\r\n public readonly onChangesPulled = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** Event raised after the briefcase's local changes are pushed.\r\n * @see [[BriefcaseConnection.pushChanges]].\r\n */\r\n public readonly onChangesPushed = new BeEvent<(parentChangeset: ChangesetIndexAndId) => void>();\r\n\r\n /** @internal */\r\n public constructor(iModel: BriefcaseConnection) {\r\n super(iModel.key);\r\n this._iModel = iModel;\r\n this._cleanup = this.registerImpl();\r\n }\r\n\r\n /** @internal */\r\n public dispose(): void {\r\n if (this._cleanup) {\r\n this._cleanup();\r\n this._cleanup = undefined;\r\n\r\n this.onElementsChanged.clear();\r\n this.onModelsChanged.clear();\r\n this.onModelGeometryChanged.clear();\r\n this.onCommit.clear();\r\n this.onCommitted.clear();\r\n this.onChangesApplied.clear();\r\n this.onBeforeUndoRedo.clear();\r\n this.onAfterUndoRedo.clear();\r\n this.onChangesPulled.clear();\r\n this.onChangesPushed.clear();\r\n }\r\n }\r\n\r\n /** Query if the briefcase has any pending Txns waiting to be pushed. */\r\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.hasPendingTxns(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reversible (undoable) changes exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async isUndoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isUndoPossible(this._iModel.key);\r\n }\r\n\r\n /** Determine if any reinstatable (redoable) changes exist.\r\n * @see [[reinstateTxn]] to redo changes.\r\n */\r\n public async isRedoPossible(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\r\n return IpcApp.appFunctionIpc.isRedoPossible(this._iModel.key);\r\n }\r\n\r\n /** Get the description of the operation that would be reversed by calling [[reverseTxns]]`(1)`.\r\n * This is useful for showing the operation that would be undone, for example in a menu.\r\n */\r\n public async getUndoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getUndoString(this._iModel.key);\r\n }\r\n\r\n /** Get a description of the operation that would be reinstated by calling [[reinstateTxn]].\r\n * This is useful for showing the operation that would be redone, in a pull-down menu for example.\r\n */\r\n public async getRedoString(): Promise<string> {\r\n return IpcApp.appFunctionIpc.getRedoString(this._iModel.key);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation.\r\n * @see [[reinstateTxn]] to redo operations.\r\n * @see [[reverseAll]] to undo all operations.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseSingleTxn(): Promise<IModelStatus> {\r\n return this.reverseTxns(1);\r\n }\r\n\r\n /** Reverse (undo) the most recent operation(s) to the briefcase in the current session.\r\n * @param numOperations the number of operations to reverse. If this is greater than 1, the entire set of operations will\r\n * be reinstated together when/if [[reinstateTxn]] is called.\r\n * @note If there are any outstanding uncommitted changes, they are reversed.\r\n * @note The term \"operation\" is used rather than Txn, since multiple Txns can be grouped together via [TxnManager.beginMultiTxnOperation]($backend). So,\r\n * even if numOperations is 1, multiple Txns may be reversed if they were grouped together when they were made.\r\n * @note If numOperations is too large only the number of reversible operations are reversed.\r\n */\r\n public async reverseTxns(numOperations: number): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseTxns(this._iModel.key, numOperations);\r\n }\r\n\r\n /** Reverse (undo) all changes back to the beginning of the session.\r\n * @see [[reinstateTxn]] to redo changes.\r\n * @see [[reverseSingleTxn]] to undo only the most recent operation.\r\n * @see [[isUndoPossible]] to determine if any reversible operations exist.\r\n */\r\n public async reverseAll(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reverseAllTxn(this._iModel.key);\r\n }\r\n\r\n /** Reinstate (redo) the most recently reversed transaction. Since at any time multiple transactions can be reversed, it\r\n * may take multiple calls to this method to reinstate all reversed operations.\r\n * @returns Success if a reversed transaction was reinstated, error status otherwise.\r\n * @note If there are any outstanding uncommitted changes, they are canceled before the Txn is reinstated.\r\n * @see [[isRedoPossible]] to determine if any reinstatable operations exist.\r\n * @see [[reverseSingleTxn]] or [[reverseAll]] to undo changes.\r\n */\r\n public async reinstateTxn(): Promise<IModelStatus> {\r\n return IpcApp.appFunctionIpc.reinstateTxn(this._iModel.key);\r\n }\r\n\r\n /** Restart the current TxnManager session. This causes all Txns in the current session to no longer be undoable (as if the file was closed\r\n * and reopened.)\r\n * @note This can be quite disconcerting to the user expecting to be able to undo previously made changes. It should only be used\r\n * under extreme circumstances where damage to the file or session could happen if the currently committed are reversed. Use sparingly and with care.\r\n * Probably a good idea to alert the user it happened.\r\n */\r\n public async restartTxnSession(): Promise<void> {\r\n await IpcApp.appFunctionIpc.restartTxnSession(this._iModel.key);\r\n }\r\n\r\n /** @internal */\r\n public notifyElementsChanged(changed: NotifyEntitiesChangedArgs): void {\r\n this.onElementsChanged.raiseEvent(new EntityChanges(changed));\r\n }\r\n\r\n /** @internal */\r\n public notifyModelsChanged(changed: NotifyEntitiesChangedArgs): void {\r\n this.onModelsChanged.raiseEvent(new EntityChanges(changed));\r\n }\r\n\r\n /** @internal */\r\n public notifyGeometryGuidsChanged(changes: ModelIdAndGeometryGuid[]): void {\r\n this.onModelGeometryChanged.raiseEvent(changes);\r\n }\r\n\r\n /** @internal */\r\n public notifyCommit() {\r\n this.onCommit.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyCommitted(hasPendingTxns: boolean, time: number) {\r\n this.onCommitted.raiseEvent(hasPendingTxns, time);\r\n }\r\n\r\n /** @internal */\r\n public notifyReplayExternalTxns() {\r\n this.onReplayExternalTxns.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyReplayedExternalTxns() {\r\n this.onReplayedExternalTxns.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyChangesApplied() {\r\n this.onChangesApplied.raiseEvent();\r\n }\r\n\r\n /** @internal */\r\n public notifyBeforeUndoRedo(isUndo: boolean) {\r\n this.onBeforeUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyAfterUndoRedo(isUndo: boolean) {\r\n this.onAfterUndoRedo.raiseEvent(isUndo);\r\n }\r\n\r\n /** @internal */\r\n public notifyPulledChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPulled.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyPushedChanges(parentChangeset: ChangesetIndexAndId) {\r\n this.onChangesPushed.raiseEvent(parentChangeset);\r\n }\r\n\r\n /** @internal */\r\n public notifyIModelNameChanged(name: string) {\r\n this._iModel.name = name;\r\n }\r\n\r\n /** @internal */\r\n public notifyRootSubjectChanged(subject: RootSubjectProps) {\r\n this._iModel.rootSubject = subject;\r\n }\r\n\r\n /** @internal */\r\n public notifyProjectExtentsChanged(range: Range3dProps) {\r\n this._iModel.projectExtents = Range3d.fromJSON(range);\r\n }\r\n\r\n /** @internal */\r\n public notifyGlobalOriginChanged(origin: XYZProps) {\r\n this._iModel.globalOrigin = Point3d.fromJSON(origin);\r\n }\r\n\r\n /** @internal */\r\n public notifyEcefLocationChanged(ecef: EcefLocationProps | undefined) {\r\n this._iModel.ecefLocation = ecef ? new EcefLocation(ecef) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public notifyGeographicCoordinateSystemChanged(gcs: GeographicCRSProps | undefined) {\r\n this._iModel.geographicCoordinateSystem = gcs ? new GeographicCRS(gcs) : undefined;\r\n }\r\n}\r\n"]}
@@ -0,0 +1,96 @@
1
+ /** @packageDocumentation
2
+ * @module IModelConnection
3
+ */
4
+ import { CompressedId64Set, Id64String } from "@itwin/core-bentley";
5
+ import { NotifyEntitiesChangedArgs } from "@itwin/core-common";
6
+ /** Describes the BIS class of a [[TxnEntityChange]].
7
+ * @public
8
+ * @extensions
9
+ */
10
+ export interface TxnEntityMetadata {
11
+ /** The class's name in "Schema:Class" format. */
12
+ readonly classFullName: string;
13
+ /** Returns true if this class is or is derived from the specified class.
14
+ * @note Class names are compared case-sensitively.
15
+ */
16
+ is(baseClassFullName: string): boolean;
17
+ }
18
+ /** The type of operation that produced a [[TxnEntityChange]].
19
+ * @public
20
+ * @extensions
21
+ */
22
+ export type TxnEntityChangeType = "inserted" | "deleted" | "updated";
23
+ /** Represents a single change to a single [Entity]($backend), as part of a collection of [[TxnEntityChanges]].
24
+ * @public
25
+ * @extensions
26
+ */
27
+ export interface TxnEntityChange {
28
+ /** The operation that produced the change. */
29
+ type: TxnEntityChangeType;
30
+ /** The Id of the affected entity. */
31
+ id: Id64String;
32
+ /** A representation of the BIS class of the affected entity. */
33
+ metadata: TxnEntityMetadata;
34
+ }
35
+ /** A collection of [[TxnEntityChange]]s.
36
+ * @public
37
+ * @extensions
38
+ */
39
+ export type TxnEntityChangeIterable = Iterable<Readonly<TxnEntityChange>>;
40
+ /** A function that returns `true` if a particular BIS [Entity]($backend) class should be included when iterating a [[TxnEntityChangeIterable]].
41
+ * For example, you may wish to include only elements deriving from "BisCore:GeometricElement", which you can determine by using [[TxnEntityMetadata.is]].
42
+ * @see [[TxnEntityChangesFilterOptions.includeMetadata]] to supply such a criterion to [[TxnEntityChanges.filter]].
43
+ * @public
44
+ * @extensions
45
+ */
46
+ export type TxnEntityMetadataCriterion = (metadata: TxnEntityMetadata) => boolean;
47
+ /** Options defining criteria by which to filter the contents of a [[TxnEntityChanges]].
48
+ * @public
49
+ * @extensions
50
+ */
51
+ export interface TxnEntityChangesFilterOptions {
52
+ /** Permits filtering based on metadata. For example, you may wish to include only elements deriving from "BisCore:GeometricElement",
53
+ * which you can determine by using [[TxnEntityMetadata.is]].
54
+ * Only entities with metadata for which this function returns `true` will be included in the iteration.
55
+ */
56
+ includeMetadata?: TxnEntityMetadataCriterion;
57
+ /** Permits filtering based on the type of change. For example, you may only care about newly-inserted entities, in which case you would specify `["inserted"]`.
58
+ * Only changes of the specified type(s) will be included in the iteration.
59
+ */
60
+ includeTypes?: TxnEntityChangeType[];
61
+ }
62
+ /** Describes a set of elements or models that were modified as part of a transaction in a [[BriefcaseConnection]],
63
+ * serving as the payload for the [[BriefcaseTxns.onElementsChanged]] and [[BriefcaseTxns.onModelsChanged]] events.
64
+ * The [[inserted]], [[deleted]], and [[updated]] compressed Id sets can be awkward to work with.
65
+ * It can be more convenient to iterate over the individual [[TxnEntityChange]]s, especially if you with to [[filter]] out some
66
+ * changes.
67
+ * @public
68
+ * @extensions
69
+ */
70
+ export interface TxnEntityChanges extends TxnEntityChangeIterable {
71
+ /** The ids of entities that were inserted during the Txn. */
72
+ readonly inserted?: CompressedId64Set;
73
+ /** The ids of entities that were deleted during the Txn. */
74
+ readonly deleted?: CompressedId64Set;
75
+ /** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */
76
+ readonly updated?: CompressedId64Set;
77
+ /** Obtain an iterator over changes meeting the criteria specified by `options`. */
78
+ filter(options: TxnEntityChangesFilterOptions): TxnEntityChangeIterable;
79
+ }
80
+ export declare class Metadata implements TxnEntityMetadata {
81
+ readonly classFullName: string;
82
+ readonly baseClasses: Metadata[];
83
+ constructor(name: string);
84
+ is(baseName: string): boolean;
85
+ }
86
+ export declare class EntityChanges implements TxnEntityChanges {
87
+ readonly args: NotifyEntitiesChangedArgs;
88
+ readonly metadata: Metadata[];
89
+ constructor(args: NotifyEntitiesChangedArgs);
90
+ get inserted(): CompressedId64Set | undefined;
91
+ get deleted(): CompressedId64Set | undefined;
92
+ get updated(): CompressedId64Set | undefined;
93
+ [Symbol.iterator](): Iterator<TxnEntityChange>;
94
+ filter(options: TxnEntityChangesFilterOptions): TxnEntityChangeIterable;
95
+ }
96
+ //# sourceMappingURL=TxnEntityChanges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxnEntityChanges.d.ts","sourceRoot":"","sources":["../../src/TxnEntityChanges.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,EAAE,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,qCAAqC;IACrC,EAAE,EAAE,UAAU,CAAC;IACf,gEAAgE;IAChE,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC;AAElF;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAE7C;;OAEG;IACH,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,+JAA+J;IAC/J,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAErC,mFAAmF;IACnF,MAAM,CAAC,OAAO,EAAE,6BAA6B,GAAG,uBAAuB,CAAC;CACzE;AAED,qBAAa,QAAS,YAAW,iBAAiB;IAChD,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,WAAW,EAAE,QAAQ,EAAE,CAAM;gBAE1B,IAAI,EAAE,MAAM;IAIxB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGrC;AAyCD,qBAAa,aAAc,YAAW,gBAAgB;IACpD,SAAgB,IAAI,EAAE,yBAAyB,CAAC;IAChD,SAAgB,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBAElB,IAAI,EAAE,yBAAyB;IAYlD,IAAW,QAAQ,IAAI,iBAAiB,GAAG,SAAS,CAA+B;IACnF,IAAW,OAAO,IAAI,iBAAiB,GAAG,SAAS,CAA8B;IACjF,IAAW,OAAO,IAAI,iBAAiB,GAAG,SAAS,CAA8B;IAE1E,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC;IAI9C,MAAM,CAAC,OAAO,EAAE,6BAA6B,GAAG,uBAAuB;CAK/E"}
@@ -0,0 +1,74 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module IModelConnection
7
+ */
8
+ import { CompressedId64Set } from "@itwin/core-bentley";
9
+ export class Metadata {
10
+ constructor(name) {
11
+ this.baseClasses = [];
12
+ this.classFullName = name;
13
+ }
14
+ is(baseName) {
15
+ return baseName === this.classFullName || this.baseClasses.some((base) => base.is(baseName));
16
+ }
17
+ }
18
+ function* entityChangesIterator(changes, options) {
19
+ let excludedMetaIndices;
20
+ if (options?.includeMetadata) {
21
+ for (let i = 0; i < changes.metadata.length; i++) {
22
+ if (!options.includeMetadata(changes.metadata[i])) {
23
+ excludedMetaIndices = excludedMetaIndices ?? new Set();
24
+ excludedMetaIndices.add(i);
25
+ }
26
+ }
27
+ }
28
+ function* process(type) {
29
+ if (options?.includeTypes && !options.includeTypes.includes(type)) {
30
+ return;
31
+ }
32
+ const ids = changes[type];
33
+ if (undefined === ids) {
34
+ return;
35
+ }
36
+ const metaIndices = changes.args[`${type}Meta`];
37
+ let index = 0;
38
+ for (const id of CompressedId64Set.iterable(ids)) {
39
+ const metaIndex = metaIndices[index++];
40
+ if (excludedMetaIndices && excludedMetaIndices.has(metaIndex)) {
41
+ continue;
42
+ }
43
+ const metadata = changes.metadata[metaIndex];
44
+ yield { type, id, metadata };
45
+ }
46
+ }
47
+ yield* process("inserted");
48
+ yield* process("deleted");
49
+ yield* process("updated");
50
+ }
51
+ export class EntityChanges {
52
+ constructor(args) {
53
+ this.args = args;
54
+ this.metadata = args.meta.map((x) => new Metadata(x.name));
55
+ for (let i = 0; i < this.metadata.length; i++) {
56
+ const meta = this.metadata[i];
57
+ for (const baseIndex of args.meta[i].bases) {
58
+ meta.baseClasses.push(this.metadata[baseIndex]);
59
+ }
60
+ }
61
+ }
62
+ get inserted() { return this.args.inserted; }
63
+ get deleted() { return this.args.deleted; }
64
+ get updated() { return this.args.updated; }
65
+ [Symbol.iterator]() {
66
+ return entityChangesIterator(this);
67
+ }
68
+ filter(options) {
69
+ return {
70
+ [Symbol.iterator]: () => entityChangesIterator(this, options),
71
+ };
72
+ }
73
+ }
74
+ //# sourceMappingURL=TxnEntityChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxnEntityChanges.js","sourceRoot":"","sources":["../../src/TxnEntityChanges.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModelConnection\r\n */\r\n\r\nimport { CompressedId64Set, Id64String } from \"@itwin/core-bentley\";\r\nimport { NotifyEntitiesChangedArgs } from \"@itwin/core-common\";\r\n\r\n/** Describes the BIS class of a [[TxnEntityChange]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityMetadata {\r\n /** The class's name in \"Schema:Class\" format. */\r\n readonly classFullName: string;\r\n\r\n /** Returns true if this class is or is derived from the specified class.\r\n * @note Class names are compared case-sensitively.\r\n */\r\n is(baseClassFullName: string): boolean;\r\n}\r\n\r\n/** The type of operation that produced a [[TxnEntityChange]].\r\n * @public\r\n * @extensions\r\n */\r\nexport type TxnEntityChangeType = \"inserted\" | \"deleted\" | \"updated\";\r\n\r\n/** Represents a single change to a single [Entity]($backend), as part of a collection of [[TxnEntityChanges]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityChange {\r\n /** The operation that produced the change. */\r\n type: TxnEntityChangeType;\r\n /** The Id of the affected entity. */\r\n id: Id64String;\r\n /** A representation of the BIS class of the affected entity. */\r\n metadata: TxnEntityMetadata;\r\n}\r\n\r\n/** A collection of [[TxnEntityChange]]s.\r\n * @public\r\n * @extensions\r\n */\r\nexport type TxnEntityChangeIterable = Iterable<Readonly<TxnEntityChange>>;\r\n\r\n/** A function that returns `true` if a particular BIS [Entity]($backend) class should be included when iterating a [[TxnEntityChangeIterable]].\r\n * For example, you may wish to include only elements deriving from \"BisCore:GeometricElement\", which you can determine by using [[TxnEntityMetadata.is]].\r\n * @see [[TxnEntityChangesFilterOptions.includeMetadata]] to supply such a criterion to [[TxnEntityChanges.filter]].\r\n * @public\r\n * @extensions\r\n */\r\nexport type TxnEntityMetadataCriterion = (metadata: TxnEntityMetadata) => boolean;\r\n\r\n/** Options defining criteria by which to filter the contents of a [[TxnEntityChanges]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityChangesFilterOptions {\r\n /** Permits filtering based on metadata. For example, you may wish to include only elements deriving from \"BisCore:GeometricElement\",\r\n * which you can determine by using [[TxnEntityMetadata.is]].\r\n * Only entities with metadata for which this function returns `true` will be included in the iteration.\r\n */\r\n includeMetadata?: TxnEntityMetadataCriterion;\r\n\r\n /** Permits filtering based on the type of change. For example, you may only care about newly-inserted entities, in which case you would specify `[\"inserted\"]`.\r\n * Only changes of the specified type(s) will be included in the iteration.\r\n */\r\n includeTypes?: TxnEntityChangeType[];\r\n}\r\n\r\n/** Describes a set of elements or models that were modified as part of a transaction in a [[BriefcaseConnection]],\r\n * serving as the payload for the [[BriefcaseTxns.onElementsChanged]] and [[BriefcaseTxns.onModelsChanged]] events.\r\n * The [[inserted]], [[deleted]], and [[updated]] compressed Id sets can be awkward to work with.\r\n * It can be more convenient to iterate over the individual [[TxnEntityChange]]s, especially if you with to [[filter]] out some\r\n * changes.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TxnEntityChanges extends TxnEntityChangeIterable {\r\n /** The ids of entities that were inserted during the Txn. */\r\n readonly inserted?: CompressedId64Set;\r\n /** The ids of entities that were deleted during the Txn. */\r\n readonly deleted?: CompressedId64Set;\r\n /** The ids of entities that were modified during the Txn, including any [Element]($backend)s for which one of their [ElementAspect]($backend)s was changed. */\r\n readonly updated?: CompressedId64Set;\r\n\r\n /** Obtain an iterator over changes meeting the criteria specified by `options`. */\r\n filter(options: TxnEntityChangesFilterOptions): TxnEntityChangeIterable;\r\n}\r\n\r\nexport class Metadata implements TxnEntityMetadata {\r\n public readonly classFullName: string;\r\n public readonly baseClasses: Metadata[] = [];\r\n\r\n public constructor(name: string) {\r\n this.classFullName = name;\r\n }\r\n\r\n public is(baseName: string): boolean {\r\n return baseName === this.classFullName || this.baseClasses.some((base) => base.is(baseName));\r\n }\r\n}\r\n\r\nfunction * entityChangesIterator(changes: EntityChanges, options?: TxnEntityChangesFilterOptions): Iterator<TxnEntityChange> {\r\n let excludedMetaIndices: Set<number> | undefined;\r\n if (options?.includeMetadata) {\r\n for (let i = 0; i < changes.metadata.length; i++) {\r\n if (!options.includeMetadata(changes.metadata[i])) {\r\n excludedMetaIndices = excludedMetaIndices ?? new Set<number>();\r\n excludedMetaIndices.add(i);\r\n }\r\n }\r\n }\r\n\r\n function * process(type: TxnEntityChangeType) {\r\n if (options?.includeTypes && !options.includeTypes.includes(type)) {\r\n return;\r\n }\r\n\r\n const ids = changes[type];\r\n if (undefined === ids) {\r\n return;\r\n }\r\n\r\n const metaIndices = changes.args[`${type}Meta`];\r\n let index = 0;\r\n for (const id of CompressedId64Set.iterable(ids)) {\r\n const metaIndex = metaIndices[index++];\r\n if (excludedMetaIndices && excludedMetaIndices.has(metaIndex)) {\r\n continue;\r\n }\r\n\r\n const metadata = changes.metadata[metaIndex];\r\n yield { type, id, metadata };\r\n }\r\n }\r\n\r\n yield* process(\"inserted\");\r\n yield* process(\"deleted\");\r\n yield* process(\"updated\");\r\n}\r\n\r\nexport class EntityChanges implements TxnEntityChanges {\r\n public readonly args: NotifyEntitiesChangedArgs;\r\n public readonly metadata: Metadata[];\r\n\r\n public constructor(args: NotifyEntitiesChangedArgs) {\r\n this.args = args;\r\n\r\n this.metadata = args.meta.map((x) => new Metadata(x.name));\r\n for (let i = 0; i < this.metadata.length; i++) {\r\n const meta = this.metadata[i];\r\n for (const baseIndex of args.meta[i].bases) {\r\n meta.baseClasses.push(this.metadata[baseIndex]);\r\n }\r\n }\r\n }\r\n\r\n public get inserted(): CompressedId64Set | undefined { return this.args.inserted; }\r\n public get deleted(): CompressedId64Set | undefined { return this.args.deleted; }\r\n public get updated(): CompressedId64Set | undefined { return this.args.updated; }\r\n\r\n public [Symbol.iterator](): Iterator<TxnEntityChange> {\r\n return entityChangesIterator(this);\r\n }\r\n\r\n public filter(options: TxnEntityChangesFilterOptions): TxnEntityChangeIterable {\r\n return {\r\n [Symbol.iterator]: () => entityChangesIterator(this, options),\r\n };\r\n }\r\n}\r\n"]}
@@ -141,6 +141,7 @@ export * from "./render/primitives/mesh/MeshPrimitives";
141
141
  export * from "./render/webgl/IModelFrameLifecycle";
142
142
  export * from "./render/webgl/PerformanceMetrics";
143
143
  export * from "./render/webgl/Target";
144
+ export type { TxnEntityChange, TxnEntityChangeIterable, TxnEntityChangeType, TxnEntityChanges, TxnEntityChangesFilterOptions, TxnEntityMetadata, TxnEntityMetadataCriterion, } from "./TxnEntityChanges";
144
145
  export * from "./tile/internal";
145
146
  export * from "./tools/AccuDrawTool";
146
147
  export * from "./tools/ClipViewTool";
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./common/FrontendLoggerCategory\";\r\nexport * from \"./common/gltf/GltfModel\";\r\nexport * from \"./common/gltf/GltfParser\";\r\nexport * from \"./common/gltf/GltfSchema\";\r\nexport * from \"./common/ImageUtil\";\r\nexport * from \"./common/imdl/ImdlModel\";\r\nexport * from \"./common/imdl/ImdlSchema\";\r\nexport * from \"./common/imdl/ParseImdlDocument\";\r\nexport * from \"./common/render/AnimationNodeId\";\r\nexport * from \"./common/render/MaterialParams\";\r\nexport * from \"./common/render/primitives/AuxChannelTable\";\r\nexport * from \"./common/render/primitives/DisplayParams\";\r\nexport * from \"./common/render/primitives/EdgeParams\";\r\nexport * from \"./common/render/primitives/MeshParams\";\r\nexport * from \"./common/render/primitives/MeshPrimitive\";\r\nexport * from \"./common/render/primitives/PointStringParams\";\r\nexport * from \"./common/render/primitives/PolylineParams\";\r\nexport * from \"./common/render/primitives/SurfaceParams\";\r\nexport * from \"./common/render/primitives/VertexIndices\";\r\nexport * from \"./common/render/primitives/VertexTable\";\r\nexport * from \"./common/render/primitives/VertexTableSplitter\";\r\nexport * from \"./common/render/TextureParams\";\r\nexport * from \"./common/ViewRect\";\r\nexport * from \"./common/WorkerProxy\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./EnvironmentDecorations\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialClassifiersState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./UserPreferences\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewportSync\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/Extension\";\r\nexport * from \"./extension/providers/LocalExtensionProvider\";\r\nexport * from \"./extension/providers/RemoteExtensionProvider\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/CreateRenderMaterialArgs\";\r\nexport * from \"./render/CreateTextureArgs\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RealityMeshGraphicParams\";\r\nexport * from \"./render/RealityMeshParams\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/primitives/ColorMap\";\r\nexport * from \"./render/primitives/EdgeParams\";\r\nexport * from \"./render/primitives/PointCloudPrimitive\";\r\nexport * from \"./render/primitives/PointStringParams\";\r\nexport * from \"./render/primitives/Polyface\";\r\nexport * from \"./render/primitives/PolylineParams\";\r\nexport * from \"./render/primitives/Primitives\";\r\nexport * from \"./render/primitives/Strokes\";\r\nexport * from \"./render/primitives/VertexKey\";\r\nexport * from \"./render/primitives/VertexTableBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryAccumulator\";\r\nexport * from \"./render/primitives/geometry/GeometryList\";\r\nexport * from \"./render/primitives/geometry/GeometryListBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryPrimitives\";\r\nexport * from \"./render/primitives/mesh/MeshBuilder\";\r\nexport * from \"./render/primitives/mesh/MeshBuilderMap\";\r\nexport * from \"./render/primitives/mesh/MeshPrimitives\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./request/utils\";\r\nexport * from \"./RealityDataSource\";\r\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\r\nimport \"./extension/ExtensionRuntime\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iTwin.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing Extensions.\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description UserPreferences\r\n * APIs for working with user preferences in an iModelApp.\r\n * See [the learning articles]($docs/learning/frontend/preferences.md).\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Classes supporting map layers display.\r\n */\r\n/**\r\n * @docs-group-description TileStorage\r\n * Class for working with cloud storage using iTwin/object-storage cloud providers\r\n*/\r\n"]}
1
+ {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./common/FrontendLoggerCategory\";\r\nexport * from \"./common/gltf/GltfModel\";\r\nexport * from \"./common/gltf/GltfParser\";\r\nexport * from \"./common/gltf/GltfSchema\";\r\nexport * from \"./common/ImageUtil\";\r\nexport * from \"./common/imdl/ImdlModel\";\r\nexport * from \"./common/imdl/ImdlSchema\";\r\nexport * from \"./common/imdl/ParseImdlDocument\";\r\nexport * from \"./common/render/AnimationNodeId\";\r\nexport * from \"./common/render/MaterialParams\";\r\nexport * from \"./common/render/primitives/AuxChannelTable\";\r\nexport * from \"./common/render/primitives/DisplayParams\";\r\nexport * from \"./common/render/primitives/EdgeParams\";\r\nexport * from \"./common/render/primitives/MeshParams\";\r\nexport * from \"./common/render/primitives/MeshPrimitive\";\r\nexport * from \"./common/render/primitives/PointStringParams\";\r\nexport * from \"./common/render/primitives/PolylineParams\";\r\nexport * from \"./common/render/primitives/SurfaceParams\";\r\nexport * from \"./common/render/primitives/VertexIndices\";\r\nexport * from \"./common/render/primitives/VertexTable\";\r\nexport * from \"./common/render/primitives/VertexTableSplitter\";\r\nexport * from \"./common/render/TextureParams\";\r\nexport * from \"./common/ViewRect\";\r\nexport * from \"./common/WorkerProxy\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./EnvironmentDecorations\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialClassifiersState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./UserPreferences\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewportSync\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/Extension\";\r\nexport * from \"./extension/providers/LocalExtensionProvider\";\r\nexport * from \"./extension/providers/RemoteExtensionProvider\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./quantity-formatting/QuantityTypesEditorSpecs\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/CreateRenderMaterialArgs\";\r\nexport * from \"./render/CreateTextureArgs\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RealityMeshGraphicParams\";\r\nexport * from \"./render/RealityMeshParams\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/primitives/ColorMap\";\r\nexport * from \"./render/primitives/EdgeParams\";\r\nexport * from \"./render/primitives/PointCloudPrimitive\";\r\nexport * from \"./render/primitives/PointStringParams\";\r\nexport * from \"./render/primitives/Polyface\";\r\nexport * from \"./render/primitives/PolylineParams\";\r\nexport * from \"./render/primitives/Primitives\";\r\nexport * from \"./render/primitives/Strokes\";\r\nexport * from \"./render/primitives/VertexKey\";\r\nexport * from \"./render/primitives/VertexTableBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryAccumulator\";\r\nexport * from \"./render/primitives/geometry/GeometryList\";\r\nexport * from \"./render/primitives/geometry/GeometryListBuilder\";\r\nexport * from \"./render/primitives/geometry/GeometryPrimitives\";\r\nexport * from \"./render/primitives/mesh/MeshBuilder\";\r\nexport * from \"./render/primitives/mesh/MeshBuilderMap\";\r\nexport * from \"./render/primitives/mesh/MeshPrimitives\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport type {\r\n TxnEntityChange,\r\n TxnEntityChangeIterable,\r\n TxnEntityChangeType,\r\n TxnEntityChanges,\r\n TxnEntityChangesFilterOptions,\r\n TxnEntityMetadata,\r\n TxnEntityMetadataCriterion,\r\n} from \"./TxnEntityChanges\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./request/utils\";\r\nexport * from \"./RealityDataSource\";\r\n// TODO/FIX: \"./extension/ExtensionRuntime\" import has to be last to avoid circular dependency errors.\r\nimport \"./extension/ExtensionRuntime\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iTwin.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing Extensions.\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description UserPreferences\r\n * APIs for working with user preferences in an iModelApp.\r\n * See [the learning articles]($docs/learning/frontend/preferences.md).\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Classes supporting map layers display.\r\n */\r\n/**\r\n * @docs-group-description TileStorage\r\n * Class for working with cloud storage using iTwin/object-storage cloud providers\r\n*/\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/core-frontend",
3
- "version": "4.6.0-dev.23",
3
+ "version": "4.6.0-dev.25",
4
4
  "description": "iTwin.js frontend components",
5
5
  "main": "lib/cjs/core-frontend.js",
6
6
  "module": "lib/esm/core-frontend.js",
@@ -23,12 +23,12 @@
23
23
  "url": "http://www.bentley.com"
24
24
  },
25
25
  "peerDependencies": {
26
- "@itwin/appui-abstract": "^4.6.0-dev.23",
27
- "@itwin/core-bentley": "^4.6.0-dev.23",
28
- "@itwin/core-common": "^4.6.0-dev.23",
29
- "@itwin/core-geometry": "^4.6.0-dev.23",
30
- "@itwin/core-orbitgt": "^4.6.0-dev.23",
31
- "@itwin/core-quantity": "^4.6.0-dev.23"
26
+ "@itwin/appui-abstract": "^4.6.0-dev.25",
27
+ "@itwin/core-bentley": "^4.6.0-dev.25",
28
+ "@itwin/core-common": "^4.6.0-dev.25",
29
+ "@itwin/core-geometry": "^4.6.0-dev.25",
30
+ "@itwin/core-orbitgt": "^4.6.0-dev.25",
31
+ "@itwin/core-quantity": "^4.6.0-dev.25"
32
32
  },
33
33
  "//devDependencies": [
34
34
  "NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
@@ -55,14 +55,14 @@
55
55
  "typescript": "~5.3.3",
56
56
  "typemoq": "^2.1.0",
57
57
  "webpack": "^5.76.0",
58
- "@itwin/appui-abstract": "4.6.0-dev.23",
59
- "@itwin/build-tools": "4.6.0-dev.23",
60
- "@itwin/core-geometry": "4.6.0-dev.23",
61
- "@itwin/core-common": "4.6.0-dev.23",
62
- "@itwin/core-bentley": "4.6.0-dev.23",
63
- "@itwin/core-orbitgt": "4.6.0-dev.23",
64
- "@itwin/core-quantity": "4.6.0-dev.23",
65
- "@itwin/certa": "4.6.0-dev.23"
58
+ "@itwin/build-tools": "4.6.0-dev.25",
59
+ "@itwin/appui-abstract": "4.6.0-dev.25",
60
+ "@itwin/core-bentley": "4.6.0-dev.25",
61
+ "@itwin/core-common": "4.6.0-dev.25",
62
+ "@itwin/core-geometry": "4.6.0-dev.25",
63
+ "@itwin/core-orbitgt": "4.6.0-dev.25",
64
+ "@itwin/core-quantity": "4.6.0-dev.25",
65
+ "@itwin/certa": "4.6.0-dev.25"
66
66
  },
67
67
  "//dependencies": [
68
68
  "NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API",
@@ -76,9 +76,9 @@
76
76
  "fuse.js": "^3.3.0",
77
77
  "meshoptimizer": "~0.20.0",
78
78
  "wms-capabilities": "0.4.0",
79
- "@itwin/core-i18n": "4.6.0-dev.23",
80
- "@itwin/core-telemetry": "4.6.0-dev.23",
81
- "@itwin/webgl-compatibility": "4.6.0-dev.23"
79
+ "@itwin/core-i18n": "4.6.0-dev.25",
80
+ "@itwin/core-telemetry": "4.6.0-dev.25",
81
+ "@itwin/webgl-compatibility": "4.6.0-dev.25"
82
82
  },
83
83
  "nyc": {
84
84
  "extends": "./node_modules/@itwin/build-tools/.nycrc"