Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .changeset/itchy-rabbits-see.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@itwin/changed-elements-react": major
---

# Major Change

Updated all Itwin JS to 5.x.x and stopped using deprecated methods.
This is a breaking change and will require updates to consumers of this package in their implementation of their property comparison frontstage.
13 changes: 7 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,19 @@
"pnpm": {
"overrides": {
"@babel/runtime@<7.26.10": ">=7.26.10",
"@itwin/appui-abstract": "^5.0.0-dev.111",
"@itwin/core-bentley": "^5.0.0-dev.111",
"@itwin/core-quantity": "^5.0.0-dev.111",
"@itwin/core-react": "^5.4.0",
"axios@<1.8.2": ">=1.8.2",
"@itwin/appui-abstract": "^5.1.7",
"@itwin/core-bentley": "^5.1.7",
"@itwin/core-quantity": "^5.1.7",
"@itwin/core-react": "^5.15.0",
"axios": ">=1.12.2",
"dompurify@<3.2.4": ">=3.2.4",
"esbuild@<=0.24.2": ">=0.25.0",
"eslint-plugin-prettier": ">=5.5.3",
"eslint-config-prettier": ">=10.1.8",
"form-data": ">=4.0.4",
"synckit": ">=0.11.11",
"@pkgr/core": ">=0.2.9"
"@pkgr/core": ">=0.2.9",
"path-to-regexp": "0.1.12"
},
"onlyBuiltDependencies": [
"@bentley/imodeljs-native",
Expand Down
45 changes: 25 additions & 20 deletions packages/changed-elements-react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,20 @@
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@itwin/appui-abstract": "^5.0.0-dev.111",
"@itwin/components-react": "^5.4.0",
"@itwin/core-bentley": "^5.0.0-dev.111",
"@itwin/core-common": "^5.0.0-dev.111",
"@itwin/core-frontend": "^5.0.0-dev.111",
"@itwin/core-geometry": "^5.0.0-dev.111",
"@itwin/core-react": "^5.4.0",
"@itwin/presentation-common": "^5.0.0-dev.111",
"@itwin/presentation-components": "^5.12.1",
"@itwin/presentation-frontend": "^5.0.0-dev.111",
"@itwin/appui-abstract": "^5.1.7",
"@itwin/components-react": "^5.15.0",
"@itwin/core-bentley": "^5.1.7",
"@itwin/core-common": "^5.1.7",
"@itwin/core-frontend": "^5.1.7",
"@itwin/core-geometry": "^5.1.7",
"@itwin/core-react": "^5.15.0",
"@itwin/core-orbitgt": "^5.1.7",
"@itwin/presentation-common": "^5.1.7",
"@itwin/presentation-components": "^5.12.8",
"@itwin/presentation-core-interop": "^1.3.4",
"@itwin/presentation-frontend": "^5.1.7",
"@itwin/unified-selection": "^1.5.1",
"@itwin/unified-selection-react": "^1.0.1",
"@testing-library/react": "^16.2.0",
"@types/react": "^18.0.0",
"@types/react-redux": "^7.1.25",
Expand All @@ -72,16 +76,17 @@
"vitest": "^2.1.9"
},
"peerDependencies": {
"@itwin/appui-abstract": "^5.0.0-dev.111",
"@itwin/components-react": "^5.4.0",
"@itwin/core-bentley": "^5.0.0-dev.111",
"@itwin/core-common": "^5.0.0-dev.111",
"@itwin/core-frontend": "^5.0.0-dev.111",
"@itwin/core-geometry": "^5.0.0-dev.111",
"@itwin/core-react": "^5.4.0",
"@itwin/presentation-common": "^5.0.0-dev.111",
"@itwin/presentation-components": "^5.12.1",
"@itwin/presentation-frontend": "^5.0.0-dev.111",
"@itwin/appui-abstract": "^5.1.7",
"@itwin/components-react": "^5.15.0",
"@itwin/core-bentley": "^5.1.7",
"@itwin/core-common": "^5.1.7",
"@itwin/core-frontend": "^5.1.7",
"@itwin/core-geometry": "^5.1.7",
"@itwin/core-react": "^5.15.0",
"@itwin/core-orbitgt": "^5.1.7",
"@itwin/presentation-common": "^5.1.7",
"@itwin/presentation-components": "^5.12.8",
"@itwin/presentation-frontend": "^5.1.7",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ import {
} from "@itwin/core-frontend";
import { Range3d } from "@itwin/core-geometry";
import type { InstanceKey } from "@itwin/presentation-common";
import { createECSqlQueryExecutor } from "@itwin/presentation-core-interop";
import { Presentation } from "@itwin/presentation-frontend";
import { computeSelection, SelectableInstanceKey, type SelectionStorage } from "@itwin/unified-selection";

import type { NamedVersion } from "../clients/iModelsClient.js";
import { SideBySideLabelDecorator, ViewportLabelDecoration } from "../contentviews/ViewportLabel.js";
Expand Down Expand Up @@ -43,6 +45,7 @@ export class SideBySideVisualizationManager {
private _primaryViewport: ScreenViewport,
private _secondaryViewport: ScreenViewport,
private _wantZooming: boolean,
private _selectionStorage: SelectionStorage,
) { }

/**
Expand Down Expand Up @@ -191,22 +194,26 @@ export class SideBySideVisualizationManager {
*/
public async selectInstanceWithScope(instanceKey: InstanceKey): Promise<void> {
if (this._currentIModel && this._targetIModel) {
const selectables: SelectableInstanceKey[] = [];
for await (const selectable of computeSelection({
queryExecutor: createECSqlQueryExecutor(this._currentIModel),
elementIds: [instanceKey.id],
scope: { id: "element", ancestorLevel: 1 },
})) {
selectables.push(selectable);
}
const selectables2: SelectableInstanceKey[] = [];
for await (const selectable of computeSelection({
queryExecutor: createECSqlQueryExecutor(this._targetIModel),
elementIds: [instanceKey.id],
scope: { id: "element", ancestorLevel: 1 },
})) {
selectables2.push(selectable);
}

// Clear selections and add the selected element
const scope = Presentation.selection.scopes.activeScope
? Presentation.selection.scopes.activeScope
: "element";
await Presentation.selection.replaceSelectionWithScope(
"SideBySideVisualizationManager",
this._currentIModel,
instanceKey.id,
scope,
);
await Presentation.selection.replaceSelectionWithScope(
"SideBySideVisualizationManager",
this._targetIModel,
instanceKey.id,
scope,
);
this._selectionStorage.replaceSelection({ source: "SideBySideVisualizationManager", imodelKey: this._currentIModel.key, selectables: selectables });
this._selectionStorage.replaceSelection({ source: "SideBySideVisualizationManager", imodelKey: this._targetIModel.key, selectables: selectables2});
}
}

Expand Down
25 changes: 15 additions & 10 deletions packages/test-app-backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,24 @@
"@types/express": "5.0.0"
},
"dependencies": {
"@itwin/core-backend": "^5.0.0-dev.111",
"@itwin/core-bentley": "^5.0.0-dev.111",
"@itwin/core-common": "^5.0.0-dev.111",
"@itwin/express-server": "^5.0.0-dev.111",
"@itwin/imodels-access-backend": "^6.0.0-dev.1",
"@itwin/imodels-client-authoring": "^6.0.0-dev.1",
"@itwin/presentation-backend": "^5.0.0-dev.111",
"@itwin/presentation-common": "^5.0.0-dev.111",
"@itwin/object-storage-azure": "^3.0.1",
"@itwin/core-backend": "^5.1.7",
"@itwin/core-bentley": "^5.1.7",
"@itwin/core-common": "^5.1.7",
"@itwin/core-quantity": "^5.1.7",
"@itwin/ecschema-rpcinterface-common": "^5.1.7",
"@itwin/ecschema-rpcinterface-impl": "^5.1.7",
"@itwin/express-server": "^5.1.7",
"@itwin/imodels-access-backend": "^6.0.1",
"@itwin/imodels-client-authoring": "^6.0.1",
"@itwin/object-storage-azure": "^3.0.2",
"@itwin/presentation-backend": "^5.1.7",
"@itwin/presentation-common": "^5.1.7",
"@types/dotenv-flow": "^3.2.0",
"@types/node": "^18.0.0",
"dotenv-flow": "^3.2.0",
"express": "4.21.2",
"express": "4.21.0",
"inversify": "^7.9.1",
"reflect-metadata": "^0.2.2",
"ts-node-dev": "^2.0.0",
"typescript": "~5.5.4"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export class ChangedInstancesProcessor {
changesetFileProps: Partial<ChangesetFileProps>[],
db: IModelDb,
): Promise<ChangedECInstance[]> {
const ecChangeUnifier = new PartialECChangeUnifier();
const ecChangeUnifier = new PartialECChangeUnifier(db);

const changesetFilePaths = changesetFileProps
.filter((csFile) => csFile.pathname !== undefined)
Expand Down
18 changes: 8 additions & 10 deletions packages/test-app-backend/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,20 @@
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
import express from "express";
import { IModelHost } from "@itwin/core-backend";
import { Logger, LogLevel } from "@itwin/core-bentley";
import { BentleyCloudRpcManager, HttpServerRequest, HttpServerResponse, IModelReadRpcInterface, IModelTileRpcInterface, RpcManager } from "@itwin/core-common";
import { BentleyCloudRpcManager, IModelReadRpcInterface, IModelTileRpcInterface, RpcManager } from "@itwin/core-common";
import { ECSchemaRpcInterface } from "@itwin/ecschema-rpcinterface-common";
import { ECSchemaRpcImpl } from "@itwin/ecschema-rpcinterface-impl";
import { IModelJsExpressServer } from "@itwin/express-server";
import { BackendIModelsAccess } from "@itwin/imodels-access-backend";
import { IModelsClientOptions } from "@itwin/imodels-client-authoring";
import { AzureClientStorage, BlockBlobClientWrapperFactory } from "@itwin/object-storage-azure";
import { Presentation } from "@itwin/presentation-backend";
import { PresentationRpcInterface } from "@itwin/presentation-common";
import { config } from "dotenv-flow";
import { ChangesRpcInterface } from "./RPC/ChangesRpcInterface";
import { ChangesRpcImpl } from "./RPC/ChangesRpcImpl";
import { AzureClientStorage, BlockBlobClientWrapperFactory } from "@itwin/object-storage-azure";
import { ChangesRpcInterface } from "./RPC/ChangesRpcInterface";

config({ path: "../test-app-frontend" });

Expand All @@ -35,17 +36,14 @@ void (async () => {
hubAccess: new BackendIModelsAccess(opts),
});
Presentation.initialize();
ECSchemaRpcImpl.register();
RpcManager.registerImpl(ChangesRpcInterface, ChangesRpcImpl);
const rpcConfig = BentleyCloudRpcManager.initializeImpl(
{ info: { title: "test-app-backend", version: "v1.0" } },
[IModelReadRpcInterface, IModelTileRpcInterface, PresentationRpcInterface, ChangesRpcInterface],
[IModelReadRpcInterface, IModelTileRpcInterface, PresentationRpcInterface, ChangesRpcInterface, ECSchemaRpcInterface],
);
const app = express();

const server = new IModelJsExpressServer(rpcConfig.protocol);
await server.initialize(port);
console.log(`Backend (PID ${process.pid}) is listening on port ${port}.`);

app.post("*", async (request: HttpServerRequest, response: HttpServerResponse) => {
await rpcConfig.protocol.handleOperationPostRequest(request, response);
});
})();
39 changes: 23 additions & 16 deletions packages/test-app-frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,34 @@
},
"dependencies": {
"@bentley/icons-generic-webfont": "^1.0.34",
"@itwin/appui-abstract": "^5.0.0-dev.111",
"@itwin/appui-abstract": "^5.1.7",
"@itwin/appui-layout-react": "^4.8.3",
"@itwin/appui-react": "^5.4.0",
"@itwin/appui-react": "^5.15.0",
"@itwin/changed-elements-react": "workspace:*",
"@itwin/components-react": "^5.4.0",
"@itwin/core-bentley": "^5.0.0-dev.111",
"@itwin/core-common": "^5.0.0-dev.111",
"@itwin/core-frontend": "^5.0.0-dev.111",
"@itwin/core-i18n": "^5.0.0-dev.111",
"@itwin/core-react": "^5.4.0",
"@itwin/imodel-components-react": "^5.4.0",
"@itwin/imodels-access-frontend": "^6.0.0-dev.1",
"@itwin/imodels-client-management": "^6.0.0-dev.1",
"@itwin/itwinui-icons-react": "^2.9.0",
"@itwin/components-react": "^5.15.0",
"@itwin/core-bentley": "^5.1.7",
"@itwin/core-common": "^5.1.7",
"@itwin/core-frontend": "^5.1.7",
"@itwin/core-i18n": "^5.1.7",
"@itwin/core-react": "^5.15.0",
"@itwin/core-orbitgt": "^5.1.7",
"@itwin/ecschema-metadata": "^5.1.7",
"@itwin/ecschema-rpcinterface-common": "^5.1.7",
"@itwin/imodel-components-react": "^5.15.0",
"@itwin/imodels-access-frontend": "^6.0.1",
"@itwin/imodels-client-management": "^6.0.1",
"@itwin/itwinui-icons-react": "^2.11.0",
"@itwin/itwinui-illustrations-react": "^2.1.0",
"@itwin/itwinui-layouts-css": "^0.4.0",
"@itwin/itwinui-layouts-react": "^0.4.1",
"@itwin/itwinui-react": "^3.16.0",
"@itwin/presentation-common": "^5.0.0-dev.111",
"@itwin/presentation-components": "^5.12.1",
"@itwin/presentation-frontend": "^5.0.0-dev.111",
"@itwin/itwinui-react": "^3.19.4",
"@itwin/presentation-common": "^5.1.7",
"@itwin/presentation-components": "^5.12.8",
"@itwin/presentation-core-interop": "^1.3.4",
"@itwin/presentation-frontend": "^5.1.7",
"@itwin/presentation-shared": "^1.2.3",
"@itwin/unified-selection": "^1.5.1",
"@itwin/unified-selection-react": "^1.0.1",
"@types/dotenv-flow": "^3.2.0",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
Expand Down
Loading
Loading