Skip to content

Commit

Permalink
rename workspace review stand alone route to project reviewer (#2945)
Browse files Browse the repository at this point in the history
  • Loading branch information
MauricioUyaguari authored Feb 14, 2024
1 parent a3730a2 commit 49ceade
Show file tree
Hide file tree
Showing 8 changed files with 46 additions and 43 deletions.
3 changes: 3 additions & 0 deletions .changeset/tasty-mails-fold.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
'@finos/legend-application-studio': patch
---
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ export const LEGEND_STUDIO_SDLC_BYPASSED_ROUTE_PATTERN = Object.freeze({
SHOWCASE_PROJECT: `/showcase/*`,
});

export type WorkspaceReviewPathParams = {
export type ProjectReviewerPathParams = {
[LEGEND_STUDIO_ROUTE_PATTERN_TOKEN.PROJECT_ID]: string;
[LEGEND_STUDIO_ROUTE_PATTERN_TOKEN.REVIEW_ID]: string;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { useEffect } from 'react';
import { WorkspaceSetup } from './workspace-setup/WorkspaceSetup.js';
import { Editor } from './editor/Editor.js';
import { WorkspaceReview } from './workspace-review/WorkspaceReview.js';
import { ProjectReviewer } from './project-reviewer/ProjectReviewer.js';
import { ProjectViewer } from './project-view/ProjectViewer.js';
import { observer } from 'mobx-react-lite';
import { clsx, GhostIcon, MarkdownTextViewer } from '@finos/legend-art';
Expand Down Expand Up @@ -172,7 +172,7 @@ export const LegendStudioWebApplicationRouter = observer(() => {
path={LEGEND_STUDIO_ROUTE_PATTERN.REVIEW}
component={
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
WorkspaceReview as TEMPORARY__ReactRouterComponentType
ProjectReviewer as TEMPORARY__ReactRouterComponentType
}
/>
<Route
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ import type { EditorState } from '../../stores/editor/editor-state/EditorState.j
import { useEditorStore } from '../editor/EditorStoreProvider.js';
import { forwardRef } from 'react';

const WorkspaceReviewPanelSplashScreen: React.FC = () => (
const ProjectReviewerPanelSplashScreen: React.FC = () => (
<div className="workspace-review-panel__splash-screen"></div>
);

const WorkspaceReviewPanelHeaderTabContextMenu = observer(
const ProjectReviewerPanelHeaderTabContextMenu = observer(
forwardRef<
HTMLDivElement,
{
Expand Down Expand Up @@ -65,7 +65,7 @@ const WorkspaceReviewPanelHeaderTabContextMenu = observer(
}),
);

export const WorkspaceReviewPanel = observer(() => {
export const ProjectReviewerPanel = observer(() => {
const editorStore = useEditorStore();
const currentTabState =
editorStore.tabManagerState.currentTab instanceof EntityDiffViewState
Expand Down Expand Up @@ -95,7 +95,7 @@ export const WorkspaceReviewPanel = observer(() => {
currentTabState?.setDiffMode(mode);

if (!currentTabState) {
return <WorkspaceReviewPanelSplashScreen />;
return <ProjectReviewerPanelSplashScreen />;
}
return (
<div className="panel workspace-review-panel">
Expand All @@ -113,7 +113,7 @@ export const WorkspaceReviewPanel = observer(() => {
<ContextMenu
className="workspace-review-panel__header__tab__content"
content={
<WorkspaceReviewPanelHeaderTabContextMenu
<ProjectReviewerPanelHeaderTabContextMenu
editorState={editorState}
/>
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ import { LEGEND_STUDIO_TEST_ID } from '../../__lib__/LegendStudioTesting.js';
import { flowResult } from 'mobx';
import { type EntityDiff, ReviewState } from '@finos/legend-server-sdlc';
import { entityDiffSorter } from '../../stores/editor/EditorSDLCState.js';
import { useWorkspaceReviewStore } from './WorkspaceReviewStoreProvider.js';
import { useProjectReviewerStore } from './ProjectReviewStoreProvider.js';
import { useEditorStore } from '../editor/EditorStoreProvider.js';
import { useApplicationStore } from '@finos/legend-application';
import { formatDistanceToNow } from '@finos/legend-shared';

export const WorkspaceReviewSideBar = observer(() => {
const reviewStore = useWorkspaceReviewStore();
export const ProjectReviewerSideBar = observer(() => {
const reviewStore = useProjectReviewerStore();
const editorStore = useEditorStore();
const applicationStore = useApplicationStore();
const workspaceContainsSnapshotDependencies =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,43 @@

import { createContext, useContext } from 'react';
import { useLocalObservable } from 'mobx-react-lite';
import { WorkspaceReviewStore } from '../../stores/workspace-review/WorkspaceReviewStore.js';
import { ProjectReviewerStore } from '../../stores/project-reviewer/ProjectReviewerStore.js';
import { EDITOR_MODE } from '../../stores/editor/EditorConfig.js';
import { guaranteeNonNullable } from '@finos/legend-shared';
import { useEditorStore } from '../editor/EditorStoreProvider.js';

const WorkspaceReviewStoreContext = createContext<
WorkspaceReviewStore | undefined
const ProjectReviewerStoreContext = createContext<
ProjectReviewerStore | undefined
>(undefined);

export const WorkspaceReviewStoreProvider = ({
export const ProjectReviewerStoreProvider = ({
children,
}: {
children: React.ReactNode;
}): React.ReactElement => {
const editorStore = useEditorStore();
editorStore.setMode(EDITOR_MODE.REVIEW);
const store = useLocalObservable(() => new WorkspaceReviewStore(editorStore));
const store = useLocalObservable(() => new ProjectReviewerStore(editorStore));
return (
<WorkspaceReviewStoreContext.Provider value={store}>
<ProjectReviewerStoreContext.Provider value={store}>
{children}
</WorkspaceReviewStoreContext.Provider>
</ProjectReviewerStoreContext.Provider>
);
};

export const useWorkspaceReviewStore = (): WorkspaceReviewStore =>
export const useProjectReviewerStore = (): ProjectReviewerStore =>
guaranteeNonNullable(
useContext(WorkspaceReviewStoreContext),
useContext(ProjectReviewerStoreContext),
`Can't find workspace review store in context`,
);

export const withWorkspaceReviewStore = (
export const withProjectReviewerStore = (
WrappedComponent: React.FC,
): React.FC =>
function WithWorkspaceReviewStore() {
function WithProjecteReviewerStore() {
return (
<WorkspaceReviewStoreProvider>
<ProjectReviewerStoreProvider>
<WrappedComponent />
</WorkspaceReviewStoreProvider>
</ProjectReviewerStoreProvider>
);
};
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
import { useEffect } from 'react';
import { observer } from 'mobx-react-lite';
import {
useWorkspaceReviewStore,
withWorkspaceReviewStore,
} from './WorkspaceReviewStoreProvider.js';
import { WorkspaceReviewSideBar } from './WorkspaceReviewSideBar.js';
import { WorkspaceReviewPanel } from './WorkspaceReviewPanel.js';
useProjectReviewerStore,
withProjectReviewerStore,
} from './ProjectReviewStoreProvider.js';
import { ProjectReviewerSideBar } from './ProjectReviewSideBar.js';
import { ProjectReviewerPanel } from './ProjectReviewPanel.js';
import { ACTIVITY_MODE } from '../../stores/editor/EditorConfig.js';
import {
type ResizablePanelHandlerProps,
Expand All @@ -38,7 +38,7 @@ import {
AssistantIcon,
} from '@finos/legend-art';
import {
type WorkspaceReviewPathParams,
type ProjectReviewerPathParams,
generateSetupRoute,
} from '../../__lib__/LegendStudioNavigation.js';
import { flowResult } from 'mobx';
Expand All @@ -49,8 +49,8 @@ import {
import { useApplicationStore } from '@finos/legend-application';
import { useParams } from '@finos/legend-application/browser';

const WorkspaceReviewStatusBar = observer(() => {
const reviewStore = useWorkspaceReviewStore();
const ProjectReviewerStatusBar = observer(() => {
const reviewStore = useProjectReviewerStore();
const editorStore = useEditorStore();
const applicationStore = useApplicationStore();
const currentUserId =
Expand Down Expand Up @@ -149,8 +149,8 @@ const WorkspaceReviewStatusBar = observer(() => {
);
});

const WorkspaceReviewExplorer = observer(() => {
const reviewStore = useWorkspaceReviewStore();
const ProjectReviewerExplorer = observer(() => {
const reviewStore = useProjectReviewerStore();
const editorStore = useEditorStore();
const applicationStore = useApplicationStore();

Expand Down Expand Up @@ -179,26 +179,26 @@ const WorkspaceReviewExplorer = observer(() => {
{...sideBarCollapsiblePanelGroupProps.collapsiblePanel}
direction={1}
>
<WorkspaceReviewSideBar />
<ProjectReviewerSideBar />
</ResizablePanel>
<ResizablePanelSplitter />
<ResizablePanel
{...sideBarCollapsiblePanelGroupProps.remainingPanel}
minSize={300}
>
<WorkspaceReviewPanel />
<ProjectReviewerPanel />
</ResizablePanel>
</ResizablePanelGroup>
);
});

export const WorkspaceReview = withEditorStore(
withWorkspaceReviewStore(
export const ProjectReviewer = withEditorStore(
withProjectReviewerStore(
observer(() => {
const params = useParams<WorkspaceReviewPathParams>();
const params = useParams<ProjectReviewerPathParams>();
const projectId = params.projectId;
const reviewId = params.reviewId;
const reviewStore = useWorkspaceReviewStore();
const reviewStore = useProjectReviewerStore();
const editorStore = useEditorStore();
const applicationStore = useApplicationStore();
const changeActivity =
Expand Down Expand Up @@ -252,11 +252,11 @@ export const WorkspaceReview = withEditorStore(
</div>
<div className="workspace-review__content-container">
<div className="workspace-review__content">
<WorkspaceReviewExplorer />
<ProjectReviewerExplorer />
</div>
</div>
</div>
<WorkspaceReviewStatusBar />
<ProjectReviewerStatusBar />
</>
)}
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import { Project, Review, type Patch } from '@finos/legend-server-sdlc';
import { LEGEND_STUDIO_APP_EVENT } from '../../__lib__/LegendStudioEvent.js';
import { DEFAULT_TAB_SIZE } from '@finos/legend-application';

export class WorkspaceReviewStore {
export class ProjectReviewerStore {
readonly editorStore: EditorStore;

currentProjectId?: string | undefined;
Expand Down

0 comments on commit 49ceade

Please sign in to comment.