Skip to content

Commit

Permalink
Merge branch 'master' into morgan/filter-builder
Browse files Browse the repository at this point in the history
  • Loading branch information
mjkertz committed Nov 27, 2023
2 parents 4cef949 + a21478f commit c09c3ec
Show file tree
Hide file tree
Showing 36 changed files with 615 additions and 188 deletions.
2 changes: 1 addition & 1 deletion common/api/appui-layout-react.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ export class DragManager {
// (undocumented)
handleDragStart({ item, info }: HandleDragStartArgs): void;
// (undocumented)
handleDragUpdate(): void;
handleDragUpdate(item: DragItem): void;
// (undocumented)
handleTargetChanged(target: DropTargetState | undefined): void;
// (undocumented)
Expand Down
13 changes: 1 addition & 12 deletions common/api/appui-react.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -897,8 +897,6 @@ export enum ConfigurableUiActionId {
// (undocumented)
SetDragInteraction = "configurableui:set-drag-interaction",
// (undocumented)
SetPreviewFeatures = "configurableui:set-preview-features",
// (undocumented)
SetShowWidgetIcon = "configurableui:set-show-widget-icon",
// (undocumented)
SetSnapMode = "configurableui:set_snapmode",
Expand Down Expand Up @@ -929,11 +927,6 @@ export const ConfigurableUiActions: {
setAnimateToolSettings: (animateToolSettings: boolean) => ActionWithPayload<ConfigurableUiActionId.AnimateToolSettings, boolean>;
setUseToolAsToolSettingsLabel: (useToolAsToolSettingsLabel: boolean) => ActionWithPayload<ConfigurableUiActionId.UseToolAsToolSettingsLabel, boolean>;
setToolbarOpacity: (opacity: number) => ActionWithPayload<ConfigurableUiActionId.SetToolbarOpacity, number>;
setPreviewFeatures: (features: {
[featureName: string]: any;
}) => ActionWithPayload<ConfigurableUiActionId.SetPreviewFeatures, DeepReadonlyObject< {
[featureName: string]: any;
}>>;
};

// @public
Expand Down Expand Up @@ -1002,8 +995,6 @@ export interface ConfigurableUiState {
animateToolSettings: boolean;
// (undocumented)
autoCollapseUnpinnedPanels: boolean;
// @beta (undocumented)
previewFeatures?: PreviewFeatures;
// (undocumented)
showWidgetIcon: boolean;
// (undocumented)
Expand Down Expand Up @@ -2050,9 +2041,7 @@ export interface FrameworkKeyboardShortcuts {
export const FrameworkReducer: (state: CombinedReducerState< {
configurableUiState: typeof ConfigurableUiReducer;
sessionState: typeof SessionStateReducer;
}>, action: DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetSnapMode, number>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetTheme, string>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetToolPrompt, string>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetWidgetOpacity, number>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetDragInteraction, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetShowWidgetIcon, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.AutoCollapseUnpinnedPanels, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetViewOverlayDisplay, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.AnimateToolSettings, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.UseToolAsToolSettingsLabel, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetToolbarOpacity, number>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetPreviewFeatures, DeepReadonlyObject< {
[featureName: string]: any;
}>>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetActiveIModelId, string>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetAvailableSelectionScopes, DeepReadonlyArray<PresentationSelectionScope>>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultIModelViewportControlId, string>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewId, string>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewState, any>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetNumItemsSelected, number>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetIModelConnection, any>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetSelectionScope, string>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.UpdateCursorMenu, DeepReadonlyObject<CursorMenuData>>>) => CombinedReducerState< {
}>, action: DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetSnapMode, number>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetTheme, string>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetToolPrompt, string>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetWidgetOpacity, number>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetDragInteraction, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetShowWidgetIcon, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.AutoCollapseUnpinnedPanels, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetViewOverlayDisplay, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.AnimateToolSettings, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.UseToolAsToolSettingsLabel, boolean>> | DeepReadonlyObject<ActionWithPayload<import("../configurableui/state").ConfigurableUiActionId.SetToolbarOpacity, number>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetActiveIModelId, string>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetAvailableSelectionScopes, DeepReadonlyArray<PresentationSelectionScope>>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultIModelViewportControlId, string>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewId, string>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetDefaultViewState, any>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetNumItemsSelected, number>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetIModelConnection, any>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.SetSelectionScope, string>> | DeepReadonlyObject<ActionWithPayload<import("./SessionState").SessionStateActionId.UpdateCursorMenu, DeepReadonlyObject<CursorMenuData>>>) => CombinedReducerState< {
configurableUiState: typeof ConfigurableUiReducer;
sessionState: typeof SessionStateReducer;
}>;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@itwin/appui-layout-react",
"comment": "Fixed an issue where drop target is being displayed in a dragged floating widget.",
"type": "none"
}
],
"packageName": "@itwin/appui-layout-react"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@itwin/appui-react",
"comment": "",
"type": "none"
}
],
"packageName": "@itwin/appui-react"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@itwin/appui-react",
"comment": "",
"type": "none"
}
],
"packageName": "@itwin/appui-react"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@itwin/appui-react",
"comment": "Fix frontstage settings save.",
"type": "none"
}
],
"packageName": "@itwin/appui-react"
}
6 changes: 6 additions & 0 deletions common/config/rush/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion common/config/rush/variants/core-3x/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions docs/changehistory/NextVersion.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ Table of contents:
- Hidden widget will now float to `defaultSize` and `defaultPosition` of `canFloat` property when set to floating.
- Fixed an issue with tool settings not being refreshed from tool when floating/docking tool settings.
- Fixed an issue where frontstage state changes would be lost when it is closed too soon after the change.
- Fixed an issue where drop target is being displayed in a dragged floating widget.

## @itwin/imodel-components-react

Expand Down
125 changes: 125 additions & 0 deletions docs/storybook/.storybook/addons/DemoIModel.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
import React from "react";
import type { Decorator } from "@storybook/react";

export namespace Storybook {
export interface MenuItem {
value: string;
title: string;
left?: string;
right?: string;
icon?: string;
}
}

const getDemoIModel = (name: string) => {
const model = demoIModels.find((model) => model.name === name);
return model;
};

const DemoIModelContext = React.createContext<DemoIModel | undefined>(
undefined
);

export const withDemoIModel: Decorator = (Story, context) => {
const demoIModel = getDemoIModel(context.globals.iModel);
return (
<DemoIModelContext.Provider value={demoIModel}>
<Story />
</DemoIModelContext.Provider>
);
};

export function useDemoIModel() {
return React.useContext(DemoIModelContext);
}

export interface DemoIModel {
name: string;
label: string;
iTwinId: string;
iModelId: string;
}

export const demoIModels: DemoIModel[] = [
{
name: "metrostation",
label: "Metrostation",
iTwinId: "402f1a92-c7b1-4012-b787-7fa45e2e7fe4",
iModelId: "b55dec38-d9b7-4029-9b9c-6b899151328f",
},
{
name: "coffsHarborDemo",
label: "Coffs Harbor Road",
iTwinId: "c5d4dd3a-597a-4c88-918c-f1aa3588312f",
iModelId: "11977591-6a15-4f0e-aa10-1c6afb066bc7",
},
{
name: "retailBuilding",
label: "Retail Building",
iTwinId: "998b4696-a672-4f85-bea1-8e35e0852452",
iModelId: "97a67f36-8efa-499c-a6ed-a8e07f38a410",
},
{
name: "bayTownProcessPlant",
label: "Bay Town Process Plant",
iTwinId: "b27dc251-0e53-4a36-9a38-182fc309be07",
iModelId: "f30566da-8fdf-4cba-b09a-fd39f5397ae6",
},
{
name: "house",
label: "House",
iTwinId: "6b9d3c0b-1217-4cf8-a1c0-afcade43e66a",
iModelId: "6be3a56d-b93b-4a3c-a41e-06398083905d",
},
{
name: "philadelphia",
label: "Philadelphia",
iTwinId: "402f1a92-c7b1-4012-b787-7fa45e2e7fe4",
iModelId: "f815bddf-c448-47c6-84d1-94762d85b645",
},
{
name: "stadium",
label: "Stadium",
iTwinId: "656dd74d-8798-4aa4-8d13-6e6458789639",
iModelId: "881c9ca0-34ff-4875-ae63-2dd8ac015c27",
},
{
name: "transformedStadium",
label: "Transformed Stadium",
iTwinId: "58262a3d-bbc8-45d0-adbc-13a4623c180f",
iModelId: "67cf8408-8f3f-4a3a-bde1-a991a422e909",
},
{
name: "extonCampus",
label: "Exton Campus",
iTwinId: "5b4ebd22-d94b-456b-8bd8-d59563de9acd",
iModelId: "d992e912-7f6f-4bd6-9781-4ecf2891b17a",
},
{
name: "villa",
label: "Villa",
iTwinId: "532629d2-d25e-4a00-9fb7-c401b6cacf84",
iModelId: "62d521ca-0b45-4a65-9f48-9fc9b5e87100",
},
];

export const demoIModelGlobalType = {
description: "Global iModel for components",
defaultValue: undefined,
toolbar: {
title: "Demo iModel",
icon: "doclist",
items: [
{ title: "No iModel", value: "no" },
...demoIModels.map<Storybook.MenuItem>((model) => ({
title: model.label,
value: model.name,
})),
],
dynamicTitle: true,
},
};
5 changes: 5 additions & 0 deletions docs/storybook/.storybook/preview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
import type { Preview } from "@storybook/react";
import { withDemoIModel, demoIModelGlobalType } from "./addons/DemoIModel";

const preview: Preview = {
parameters: {
Expand All @@ -14,6 +15,10 @@ const preview: Preview = {
},
},
},
globalTypes: {
iModel: demoIModelGlobalType,
},
decorators: [withDemoIModel],
};

export default preview;
10 changes: 6 additions & 4 deletions docs/storybook/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"build:storybook": "npm run copy:webfont && cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" storybook build",
"start": "npm run copy:webfont && storybook dev -p 6006",
"start": "npm run copy:webfont && storybook dev -p 3000",
"lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"copy:webfont": "cpx ./node_modules/@bentley/icons-generic-webfont/dist/**/* ./lib/webfont",
"build": "",
Expand All @@ -16,19 +16,21 @@
},
"dependencies": {
"@bentley/icons-generic-webfont": "^1.0.34",
"@itwin/appui-abstract": "^3.7.0",
"@itwin/appui-react": "workspace:*",
"@itwin/appui-layout-react": "workspace:*",
"@itwin/components-react": "workspace:*",
"@itwin/core-bentley": "^3.7.0",
"@itwin/core-common": "^3.7.0",
"@itwin/core-frontend": "^3.7.0",
"@itwin/core-geometry": "^3.7.0",
"@itwin/core-orbitgt": "^3.7.0",
"@itwin/core-quantity": "^3.7.0",
"@itwin/core-react": "workspace:*",
"@itwin/components-react": "workspace:*",
"@itwin/imodels-access-frontend": "^3.0.0",
"@itwin/imodels-client-authoring": "^3.0.0",
"@itwin/itwinui-icons-react": "^2.1.0",
"@itwin/itwinui-react": "^2.11.11",
"@itwin/appui-abstract": "^3.7.0",
"@itwin/core-frontend": "^3.7.0",
"react": "^17.0.0",
"react-dom": "^17.0.0",
"react-redux": "^7.2.2"
Expand Down
Loading

0 comments on commit c09c3ec

Please sign in to comment.