@finos/legend-application-studio 28.15.3 → 28.15.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. package/lib/__lib__/LegendStudioNavigation.d.ts +1 -1
  2. package/lib/components/LegendStudioWebApplication.js +2 -2
  3. package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.d.ts +22 -0
  4. package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.d.ts.map +1 -0
  5. package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.js +26 -0
  6. package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.js.map +1 -0
  7. package/lib/components/{workspace-review/WorkspaceReviewSideBar.d.ts → project-reviewer/ProjectReviewSideBar.d.ts} +2 -2
  8. package/lib/components/project-reviewer/ProjectReviewSideBar.d.ts.map +1 -0
  9. package/lib/components/{workspace-review/WorkspaceReviewSideBar.js → project-reviewer/ProjectReviewSideBar.js} +34 -18
  10. package/lib/components/project-reviewer/ProjectReviewSideBar.js.map +1 -0
  11. package/lib/components/{workspace-review/WorkspaceReviewStoreProvider.d.ts → project-reviewer/ProjectReviewStoreProvider.d.ts} +5 -5
  12. package/lib/components/project-reviewer/ProjectReviewStoreProvider.d.ts.map +1 -0
  13. package/lib/components/{workspace-review/WorkspaceReviewStoreProvider.js → project-reviewer/ProjectReviewStoreProvider.js} +9 -9
  14. package/lib/components/project-reviewer/ProjectReviewStoreProvider.js.map +1 -0
  15. package/lib/components/{workspace-review/WorkspaceReview.d.ts → project-reviewer/ProjectReviewer.d.ts} +2 -2
  16. package/lib/components/project-reviewer/ProjectReviewer.d.ts.map +1 -0
  17. package/lib/components/{workspace-review/WorkspaceReview.js → project-reviewer/ProjectReviewer.js} +19 -28
  18. package/lib/components/project-reviewer/ProjectReviewer.js.map +1 -0
  19. package/lib/components/{workspace-review/WorkspaceReviewPanel.d.ts → project-reviewer/ProjectReviewerPanel.d.ts} +2 -2
  20. package/lib/components/project-reviewer/ProjectReviewerPanel.d.ts.map +1 -0
  21. package/lib/components/{workspace-review/WorkspaceReviewPanel.js → project-reviewer/ProjectReviewerPanel.js} +26 -10
  22. package/lib/components/project-reviewer/ProjectReviewerPanel.js.map +1 -0
  23. package/lib/index.css +1 -1
  24. package/lib/package.json +1 -1
  25. package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.d.ts +24 -0
  26. package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.d.ts.map +1 -0
  27. package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.js +26 -0
  28. package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.js.map +1 -0
  29. package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.d.ts +31 -0
  30. package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.d.ts.map +1 -0
  31. package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js +39 -0
  32. package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js.map +1 -0
  33. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.d.ts.map +1 -1
  34. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js +2 -2
  35. package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js.map +1 -1
  36. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.d.ts +1 -1
  37. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.d.ts.map +1 -1
  38. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js +5 -4
  39. package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js.map +1 -1
  40. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js +1 -1
  41. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js.map +1 -1
  42. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts +2 -2
  43. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts.map +1 -1
  44. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js +2 -2
  45. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js.map +1 -1
  46. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts +0 -2
  47. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts.map +1 -1
  48. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.js +1 -3
  49. package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.js.map +1 -1
  50. package/lib/stores/project-reviewer/ProjectReviewerStore.d.ts +73 -0
  51. package/lib/stores/project-reviewer/ProjectReviewerStore.d.ts.map +1 -0
  52. package/lib/stores/project-reviewer/ProjectReviewerStore.js +303 -0
  53. package/lib/stores/project-reviewer/ProjectReviewerStore.js.map +1 -0
  54. package/package.json +5 -5
  55. package/src/__lib__/LegendStudioNavigation.ts +1 -1
  56. package/src/components/LegendStudioWebApplication.tsx +2 -2
  57. package/src/components/editor/editor-group/diff-editor/ProjectConfigDiffView.tsx +60 -0
  58. package/src/components/{workspace-review/WorkspaceReviewSideBar.tsx → project-reviewer/ProjectReviewSideBar.tsx} +91 -11
  59. package/src/components/{workspace-review/WorkspaceReviewStoreProvider.tsx → project-reviewer/ProjectReviewStoreProvider.tsx} +13 -13
  60. package/src/components/{workspace-review/WorkspaceReview.tsx → project-reviewer/ProjectReviewer.tsx} +25 -55
  61. package/src/components/{workspace-review/WorkspaceReviewPanel.tsx → project-reviewer/ProjectReviewerPanel.tsx} +54 -36
  62. package/src/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.ts +34 -0
  63. package/src/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.ts +56 -0
  64. package/src/stores/editor/editor-state/element-editor-state/FunctionActivatorState.ts +2 -1
  65. package/src/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.ts +6 -3
  66. package/src/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.ts +1 -1
  67. package/src/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.ts +2 -2
  68. package/src/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.ts +1 -3
  69. package/src/stores/{workspace-review/WorkspaceReviewStore.ts → project-reviewer/ProjectReviewerStore.ts} +235 -57
  70. package/tsconfig.json +8 -5
  71. package/lib/components/workspace-review/WorkspaceReview.d.ts.map +0 -1
  72. package/lib/components/workspace-review/WorkspaceReview.js.map +0 -1
  73. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +0 -1
  74. package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +0 -1
  75. package/lib/components/workspace-review/WorkspaceReviewSideBar.d.ts.map +0 -1
  76. package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +0 -1
  77. package/lib/components/workspace-review/WorkspaceReviewStoreProvider.d.ts.map +0 -1
  78. package/lib/components/workspace-review/WorkspaceReviewStoreProvider.js.map +0 -1
  79. package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts +0 -47
  80. package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts.map +0 -1
  81. package/lib/stores/workspace-review/WorkspaceReviewStore.js +0 -207
  82. package/lib/stores/workspace-review/WorkspaceReviewStore.js.map +0 -1
@@ -56,7 +56,7 @@ export declare const LEGEND_STUDIO_SDLC_BYPASSED_ROUTE_PATTERN: Readonly<{
56
56
  PREVIEW_BY_GAV_ENTITY: "/view/archive/:gav/entity/:entityPath/preview";
57
57
  SHOWCASE_PROJECT: "/showcase/*";
58
58
  }>;
59
- export type WorkspaceReviewPathParams = {
59
+ export type ProjectReviewerPathParams = {
60
60
  [LEGEND_STUDIO_ROUTE_PATTERN_TOKEN.PROJECT_ID]: string;
61
61
  [LEGEND_STUDIO_ROUTE_PATTERN_TOKEN.REVIEW_ID]: string;
62
62
  };
@@ -17,7 +17,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
17
17
  import { useEffect } from 'react';
18
18
  import { WorkspaceSetup } from './workspace-setup/WorkspaceSetup.js';
19
19
  import { Editor } from './editor/Editor.js';
20
- import { WorkspaceReview } from './workspace-review/WorkspaceReview.js';
20
+ import { ProjectReviewer } from './project-reviewer/ProjectReviewer.js';
21
21
  import { ProjectViewer } from './project-view/ProjectViewer.js';
22
22
  import { observer } from 'mobx-react-lite';
23
23
  import { clsx, GhostIcon, MarkdownTextViewer } from '@finos/legend-art';
@@ -64,7 +64,7 @@ export const LegendStudioWebApplicationRouter = observer(() => {
64
64
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
65
65
  ProjectViewer }), _jsx(Route, { exact: true, path: LEGEND_STUDIO_ROUTE_PATTERN.REVIEW, component:
66
66
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
67
- WorkspaceReview }), _jsx(Route, { exact: true, strict: true, path: [
67
+ ProjectReviewer }), _jsx(Route, { exact: true, strict: true, path: [
68
68
  LEGEND_STUDIO_ROUTE_PATTERN.EDIT_GROUP_WORKSPACE,
69
69
  LEGEND_STUDIO_ROUTE_PATTERN.EDIT_PATCH_GROUP_WORKSPACE,
70
70
  LEGEND_STUDIO_ROUTE_PATTERN.EDIT_GROUP_WORKSPACE_ENTITY,
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { ProjectConfigurationDiffEditorState } from '../../../../stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js';
17
+ export declare const ProjectConfigDiffView: ((props: {
18
+ configDiffState: ProjectConfigurationDiffEditorState;
19
+ }) => import("react/jsx-runtime").JSX.Element) & {
20
+ displayName: string;
21
+ };
22
+ //# sourceMappingURL=ProjectConfigDiffView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectConfigDiffView.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/diff-editor/ProjectConfigDiffView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,iGAAiG,CAAC;AAM3J,eAAO,MAAM,qBAAqB,WACxB;IAAE,eAAe,EAAE,mCAAmC,CAAA;CAAE;;CAmCjE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2020-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { observer } from 'mobx-react-lite';
18
+ import { CompareIcon } from '@finos/legend-art';
19
+ import { JSONDiffView } from '@finos/legend-lego/code-editor';
20
+ import { sortObjectKeys } from '@finos/legend-shared';
21
+ import { getPrettyLabelForRevision } from '../../../../stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js';
22
+ export const ProjectConfigDiffView = observer((props) => {
23
+ const { configDiffState } = props;
24
+ return (_jsxs("div", { className: "entity-diff-view", children: [_jsx("div", { className: "entity-diff-view__header", children: _jsxs("div", { className: "entity-diff-view__header__info", children: [_jsxs("div", { className: "entity-diff-view__header__info__revision-summary", children: [_jsx("div", { className: "entity-diff-view__header__info__revision-summary__revision", children: getPrettyLabelForRevision(configDiffState.fromRevision) }), _jsx("div", { className: "entity-diff-view__header__info__revision-summary__icon", children: _jsx(CompareIcon, {}) }), _jsx("div", { className: "entity-diff-view__header__info__revision-summary__revision", children: getPrettyLabelForRevision(configDiffState.toRevision) })] }), _jsx("div", { className: "entity-diff-view__header__info__revision-summary__icon", children: _jsx(CompareIcon, {}) }), _jsx("div", { className: "entity-diff-view__header__info__revision-summary__revision", children: getPrettyLabelForRevision(configDiffState.toRevision) })] }) }), _jsx("div", { className: "entity-diff-view__content", children: _jsx(JSONDiffView, { from: sortObjectKeys(configDiffState.fromConfig), to: sortObjectKeys(configDiffState.toConfig) }) })] }));
25
+ });
26
+ //# sourceMappingURL=ProjectConfigDiffView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectConfigDiffView.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/diff-editor/ProjectConfigDiffView.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0FAA0F,CAAC;AAErI,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAC3C,CAAC,KAA+D,EAAE,EAAE;IAClE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAElC,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,aAC/B,cAAK,SAAS,EAAC,0BAA0B,YACvC,eAAK,SAAS,EAAC,gCAAgC,aAC7C,eAAK,SAAS,EAAC,kDAAkD,aAC/D,cAAK,SAAS,EAAC,4DAA4D,YACxE,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,GACpD,EACN,cAAK,SAAS,EAAC,wDAAwD,YACrE,KAAC,WAAW,KAAG,GACX,EACN,cAAK,SAAS,EAAC,4DAA4D,YACxE,yBAAyB,CAAC,eAAe,CAAC,UAAU,CAAC,GAClD,IACF,EACN,cAAK,SAAS,EAAC,wDAAwD,YACrE,KAAC,WAAW,KAAG,GACX,EACN,cAAK,SAAS,EAAC,4DAA4D,YACxE,yBAAyB,CAAC,eAAe,CAAC,UAAU,CAAC,GAClD,IACF,GACF,EACN,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAC,YAAY,IACX,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,EAChD,EAAE,EAAE,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,GAC5C,GACE,IACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare const WorkspaceReviewSideBar: (() => import("react/jsx-runtime").JSX.Element) & {
16
+ export declare const ProjectReviewerSideBar: (() => import("react/jsx-runtime").JSX.Element) & {
17
17
  displayName: string;
18
18
  };
19
- //# sourceMappingURL=WorkspaceReviewSideBar.d.ts.map
19
+ //# sourceMappingURL=ProjectReviewSideBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectReviewSideBar.d.ts","sourceRoot":"","sources":["../../../src/components/project-reviewer/ProjectReviewSideBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgCH,eAAO,MAAM,sBAAsB;;CA4RjC,CAAC"}
@@ -16,21 +16,24 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
16
16
  */
17
17
  import { observer } from 'mobx-react-lite';
18
18
  import { EntityDiffSideBarItem } from '../editor/editor-group/diff-editor/EntityDiffView.js';
19
- import { clsx, PanelLoadingIndicator, TruncatedGitMergeIcon, TimesIcon, ArrowUpIcon, CheckIcon, InfoCircleIcon, PanelContent, } from '@finos/legend-art';
19
+ import { clsx, PanelLoadingIndicator, TruncatedGitMergeIcon, RefreshIcon, TimesIcon, ArrowUpIcon, CheckIcon, InfoCircleIcon, PanelContent, } from '@finos/legend-art';
20
20
  import { EntityDiffViewState } from '../../stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.js';
21
21
  import { LEGEND_STUDIO_TEST_ID } from '../../__lib__/LegendStudioTesting.js';
22
22
  import { flowResult } from 'mobx';
23
- import { ReviewState } from '@finos/legend-server-sdlc';
23
+ import { ReviewState, EntityChangeType, getChangeTypeIconFromChange, } from '@finos/legend-server-sdlc';
24
24
  import { entityDiffSorter } from '../../stores/editor/EditorSDLCState.js';
25
- import { useWorkspaceReviewStore } from './WorkspaceReviewStoreProvider.js';
25
+ import { useProjectReviewerStore } from './ProjectReviewStoreProvider.js';
26
26
  import { useEditorStore } from '../editor/EditorStoreProvider.js';
27
27
  import { useApplicationStore } from '@finos/legend-application';
28
28
  import { formatDistanceToNow } from '@finos/legend-shared';
29
- export const WorkspaceReviewSideBar = observer(() => {
30
- const reviewStore = useWorkspaceReviewStore();
29
+ import { SPECIAL_REVISION_ALIAS } from '../../stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js';
30
+ import { ProjectConfigurationDiffEditorState } from '../../stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js';
31
+ export const ProjectReviewerSideBar = observer(() => {
32
+ const reviewStore = useProjectReviewerStore();
31
33
  const editorStore = useEditorStore();
32
34
  const applicationStore = useApplicationStore();
33
35
  const workspaceContainsSnapshotDependencies = editorStore.projectConfigurationEditorState.containsSnapshotDependencies;
36
+ const approvalString = reviewStore.approvalString;
34
37
  // Review infos
35
38
  const review = reviewStore.review;
36
39
  const currentUser = editorStore.sdlcServerClient.currentUser;
@@ -69,23 +72,33 @@ export const WorkspaceReviewSideBar = observer(() => {
69
72
  default:
70
73
  }
71
74
  // Actions
72
- const isDispatchingAction = reviewStore.isFetchingComparison ||
73
- reviewStore.isApprovingReview ||
74
- reviewStore.isClosingReview ||
75
- reviewStore.isCommittingReview ||
76
- reviewStore.isReopeningReview;
75
+ const isDispatchingAction = reviewStore.fetchComparisonState.isInProgress ||
76
+ reviewStore.approveState.isInProgress ||
77
+ reviewStore.closeState.isInProgress ||
78
+ reviewStore.commitState.isInProgress ||
79
+ reviewStore.reOpenState.isInProgress;
77
80
  const closeReview = applicationStore.guardUnhandledError(() => flowResult(reviewStore.closeReview()));
78
81
  const reOpenReview = applicationStore.guardUnhandledError(() => flowResult(reviewStore.reOpenReview()));
79
82
  const commitReview = applicationStore.guardUnhandledError(() => flowResult(reviewStore.commitReview()));
80
83
  const approveReview = applicationStore.guardUnhandledError(() => flowResult(reviewStore.approveReview()));
84
+ const refresh = () => {
85
+ reviewStore.refresh();
86
+ };
81
87
  // Changes
82
- const changes = editorStore.changeDetectionState.aggregatedWorkspaceChanges;
88
+ const changes = reviewStore.reviewReport?.diffs ?? [];
83
89
  const currentTabState = editorStore.tabManagerState.currentTab;
84
90
  const isSelectedDiff = (diff) => currentTabState instanceof EntityDiffViewState &&
85
91
  diff.oldPath === currentTabState.fromEntityPath &&
86
92
  diff.newPath === currentTabState.toEntityPath;
87
- const openChange = (diff) => () => editorStore.workspaceReviewState.openReviewChange(diff);
88
- return (_jsxs("div", { className: "panel workspace-review__side-bar", children: [_jsxs("div", { className: "panel__header side-bar__header", children: [_jsx("div", { className: "panel__header__title workspace-review__side-bar__header__title", children: _jsx("div", { className: "panel__header__title__content side-bar__header__title__content", children: "REVIEW" }) }), _jsx("div", { className: "panel__header__actions side-bar__header__actions", children: review.state !== ReviewState.COMMITTED && (_jsx("button", { className: "panel__header__action side-bar__header__action workspace-review__close-btn", disabled: isDispatchingAction || review.state === ReviewState.CLOSED, onClick: closeReview, tabIndex: -1, title: "Close review", children: _jsx(TimesIcon, {}) })) })] }), _jsxs("div", { className: "panel__content side-bar__content", children: [_jsx(PanelLoadingIndicator, { isLoading: isDispatchingAction }), _jsxs("div", { className: "panel workspace-review", children: [_jsxs("div", { className: "workspace-review__side-bar__review__info", children: [_jsx("div", { className: clsx('workspace-review__side-bar__review__info__content', {
93
+ const openChange = (diff) => () => reviewStore.openReviewChange(diff);
94
+ const openConfiguration = () => {
95
+ const diffs = reviewStore.reviewReport?.fromToProjectConfig;
96
+ if (diffs) {
97
+ const newTab = new ProjectConfigurationDiffEditorState(diffs[0], diffs[1], reviewStore.editorStore, SPECIAL_REVISION_ALIAS.WORKSPACE_BASE, SPECIAL_REVISION_ALIAS.WORKSPACE_HEAD);
98
+ reviewStore.editorStore.tabManagerState.openTab(reviewStore.editorStore.tabManagerState.tabs.find((t) => t.match(newTab)) ?? newTab);
99
+ }
100
+ };
101
+ return (_jsxs("div", { className: "panel workspace-review__side-bar", children: [_jsxs("div", { className: "panel__header side-bar__header", children: [_jsx("div", { className: "panel__header__title workspace-review__side-bar__header__title", children: _jsx("div", { className: "panel__header__title__content side-bar__header__title__content", children: "REVIEW" }) }), _jsxs("div", { className: "panel__header__actions side-bar__header__actions", children: [_jsx("button", { className: "panel__header__action side-bar__header__action workspace-review__close-btn", tabIndex: -1, title: "Retrieves latest changes from review", onClick: refresh, children: _jsx(RefreshIcon, {}) }), review.state !== ReviewState.COMMITTED && (_jsx("button", { className: "panel__header__action side-bar__header__action workspace-review__close-btn", disabled: isDispatchingAction || review.state === ReviewState.CLOSED, onClick: closeReview, tabIndex: -1, title: "Close review", children: _jsx(TimesIcon, {}) }))] })] }), _jsxs("div", { className: "panel__content side-bar__content", children: [_jsx(PanelLoadingIndicator, { isLoading: isDispatchingAction }), _jsxs("div", { className: "panel workspace-review", children: [_jsxs("div", { className: "workspace-review__side-bar__review__info", children: [_jsx("div", { className: clsx('workspace-review__side-bar__review__info__content', {
89
102
  'workspace-review__side-bar__review__info__content--closed': review.state === ReviewState.CLOSED,
90
103
  }, {
91
104
  'workspace-review__side-bar__review__info__content--committed': review.state === ReviewState.COMMITTED,
@@ -98,9 +111,12 @@ export const WorkspaceReviewSideBar = observer(() => {
98
111
  // TODO: when we improve approval APIs we can know when to hide/disable this button altogether
99
112
  disabled: isDispatchingAction || workspaceContainsSnapshotDependencies, tabIndex: -1, title: !workspaceContainsSnapshotDependencies
100
113
  ? 'Commit review'
101
- : `Can't commit review: workspace has snapshot dependencies`, children: _jsx(TruncatedGitMergeIcon, {}) })] }))] }), _jsx("div", { className: "workspace-review__side-bar__review__info__content__status", children: reviewStatus }), _jsxs("div", { className: "panel side-bar__panel", children: [_jsxs("div", { className: "panel__header", children: [_jsxs("div", { className: "panel__header__title", children: [_jsx("div", { className: "panel__header__title__content", children: "CHANGES" }), _jsx("div", { className: "side-bar__panel__title__info", title: "All changes made in the workspace since the revision the workspace is created", children: _jsx(InfoCircleIcon, {}) })] }), _jsx("div", { className: "side-bar__panel__header__changes-count", "data-testid": LEGEND_STUDIO_TEST_ID.SIDEBAR_PANEL_HEADER__CHANGES_COUNT, children: changes.length })] }), _jsx(PanelContent, { children: changes
102
- .slice()
103
- .sort(entityDiffSorter)
104
- .map((diff) => (_jsx(EntityDiffSideBarItem, { diff: diff, isSelected: isSelectedDiff(diff), openDiff: openChange(diff) }, diff.key))) })] })] })] })] }));
114
+ : `Can't commit review: workspace has snapshot dependencies`, children: _jsx(TruncatedGitMergeIcon, {}) })] }))] }), approvalString && (_jsx("div", { className: "workspace-review__side-bar__review__info__content__status", children: approvalString })), _jsx("div", { className: "workspace-review__side-bar__review__info__content__status", children: reviewStatus }), _jsxs("div", { className: "panel side-bar__panel", children: [_jsxs("div", { className: "panel__header", children: [_jsxs("div", { className: "panel__header__title", children: [_jsx("div", { className: "panel__header__title__content", children: "CHANGES" }), _jsx("div", { className: "side-bar__panel__title__info", title: "All changes made in the workspace since the revision the workspace is created", children: _jsx(InfoCircleIcon, {}) })] }), _jsx("div", { className: "side-bar__panel__header__changes-count", "data-testid": LEGEND_STUDIO_TEST_ID.SIDEBAR_PANEL_HEADER__CHANGES_COUNT, children: changes.length })] }), _jsxs(PanelContent, { children: [changes
115
+ .slice()
116
+ .sort(entityDiffSorter)
117
+ .map((diff) => (_jsx(EntityDiffSideBarItem, { diff: diff, isSelected: isSelectedDiff(diff), openDiff: openChange(diff) }, diff.key))), Boolean(reviewStore.reviewReport?.fromToProjectConfig) && (_jsxs("button", { className: clsx('side-bar__panel__item', {
118
+ 'side-bar__panel__item--selected': editorStore.tabManagerState.currentTab instanceof
119
+ ProjectConfigurationDiffEditorState,
120
+ }), tabIndex: -1, title: `Project Configuration Modified`, onClick: openConfiguration, children: [_jsxs("div", { className: "diff-panel__item__info", children: [_jsx("span", { className: clsx('diff-panel__item__info-name', `diff-panel__item__info-name--${EntityChangeType.MODIFY.toLowerCase()}`), children: "config" }), _jsx("span", { className: "diff-panel__item__info-path", children: "project configuration" })] }), _jsx("div", { className: clsx('diff-panel__item__type', `diff-panel__item__type--${EntityChangeType.MODIFY.toLowerCase()}`), children: getChangeTypeIconFromChange(EntityChangeType.MODIFY) })] }))] })] })] })] })] }));
105
121
  });
106
- //# sourceMappingURL=WorkspaceReviewSideBar.js.map
122
+ //# sourceMappingURL=ProjectReviewSideBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectReviewSideBar.js","sourceRoot":"","sources":["../../../src/components/project-reviewer/ProjectReviewSideBar.tsx"],"names":[],"mappings":"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"}
@@ -13,10 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { WorkspaceReviewStore } from '../../stores/workspace-review/WorkspaceReviewStore.js';
17
- export declare const WorkspaceReviewStoreProvider: ({ children, }: {
16
+ import { ProjectReviewerStore } from '../../stores/project-reviewer/ProjectReviewerStore.js';
17
+ export declare const ProjectReviewerStoreProvider: ({ children, }: {
18
18
  children: React.ReactNode;
19
19
  }) => React.ReactElement;
20
- export declare const useWorkspaceReviewStore: () => WorkspaceReviewStore;
21
- export declare const withWorkspaceReviewStore: (WrappedComponent: React.FC) => React.FC;
22
- //# sourceMappingURL=WorkspaceReviewStoreProvider.d.ts.map
20
+ export declare const useProjectReviewerStore: () => ProjectReviewerStore;
21
+ export declare const withProjectReviewerStore: (WrappedComponent: React.FC) => React.FC;
22
+ //# sourceMappingURL=ProjectReviewStoreProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectReviewStoreProvider.d.ts","sourceRoot":"","sources":["../../../src/components/project-reviewer/ProjectReviewStoreProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAS7F,eAAO,MAAM,4BAA4B;cAG7B,MAAM,SAAS;MACvB,MAAM,YAST,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,oBAIxC,CAAC;AAEJ,eAAO,MAAM,wBAAwB,qBACjB,MAAM,EAAE,KACzB,MAAM,EAON,CAAC"}
@@ -16,19 +16,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
16
16
  */
17
17
  import { createContext, useContext } from 'react';
18
18
  import { useLocalObservable } from 'mobx-react-lite';
19
- import { WorkspaceReviewStore } from '../../stores/workspace-review/WorkspaceReviewStore.js';
19
+ import { ProjectReviewerStore } from '../../stores/project-reviewer/ProjectReviewerStore.js';
20
20
  import { EDITOR_MODE } from '../../stores/editor/EditorConfig.js';
21
21
  import { guaranteeNonNullable } from '@finos/legend-shared';
22
22
  import { useEditorStore } from '../editor/EditorStoreProvider.js';
23
- const WorkspaceReviewStoreContext = createContext(undefined);
24
- export const WorkspaceReviewStoreProvider = ({ children, }) => {
23
+ const ProjectReviewerStoreContext = createContext(undefined);
24
+ export const ProjectReviewerStoreProvider = ({ children, }) => {
25
25
  const editorStore = useEditorStore();
26
26
  editorStore.setMode(EDITOR_MODE.REVIEW);
27
- const store = useLocalObservable(() => new WorkspaceReviewStore(editorStore));
28
- return (_jsx(WorkspaceReviewStoreContext.Provider, { value: store, children: children }));
27
+ const store = useLocalObservable(() => new ProjectReviewerStore(editorStore));
28
+ return (_jsx(ProjectReviewerStoreContext.Provider, { value: store, children: children }));
29
29
  };
30
- export const useWorkspaceReviewStore = () => guaranteeNonNullable(useContext(WorkspaceReviewStoreContext), `Can't find workspace review store in context`);
31
- export const withWorkspaceReviewStore = (WrappedComponent) => function WithWorkspaceReviewStore() {
32
- return (_jsx(WorkspaceReviewStoreProvider, { children: _jsx(WrappedComponent, {}) }));
30
+ export const useProjectReviewerStore = () => guaranteeNonNullable(useContext(ProjectReviewerStoreContext), `Can't find workspace review store in context`);
31
+ export const withProjectReviewerStore = (WrappedComponent) => function WithProjecteReviewerStore() {
32
+ return (_jsx(ProjectReviewerStoreProvider, { children: _jsx(WrappedComponent, {}) }));
33
33
  };
34
- //# sourceMappingURL=WorkspaceReviewStoreProvider.js.map
34
+ //# sourceMappingURL=ProjectReviewStoreProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectReviewStoreProvider.js","sourceRoot":"","sources":["../../../src/components/project-reviewer/ProjectReviewStoreProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,MAAM,2BAA2B,GAAG,aAAa,CAE/C,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,QAAQ,GAGT,EAAsB,EAAE;IACvB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9E,OAAO,CACL,KAAC,2BAA2B,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC/C,QAAQ,GAC4B,CACxC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAyB,EAAE,CAChE,oBAAoB,CAClB,UAAU,CAAC,2BAA2B,CAAC,EACvC,8CAA8C,CAC/C,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,gBAA0B,EAChB,EAAE,CACZ,SAAS,yBAAyB;IAChC,OAAO,CACL,KAAC,4BAA4B,cAC3B,KAAC,gBAAgB,KAAG,GACS,CAChC,CAAC;AACJ,CAAC,CAAC"}
@@ -14,5 +14,5 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  /// <reference types="react" resolution-mode="require"/>
17
- export declare const WorkspaceReview: import("react").FC<{}>;
18
- //# sourceMappingURL=WorkspaceReview.d.ts.map
17
+ export declare const ProjectReviewer: import("react").FC<{}>;
18
+ //# sourceMappingURL=ProjectReviewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectReviewer.d.ts","sourceRoot":"","sources":["../../../src/components/project-reviewer/ProjectReviewer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAyKH,eAAO,MAAM,eAAe,wBAqD3B,CAAC"}
@@ -16,18 +16,17 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
16
16
  */
17
17
  import { useEffect } from 'react';
18
18
  import { observer } from 'mobx-react-lite';
19
- import { useWorkspaceReviewStore, withWorkspaceReviewStore, } from './WorkspaceReviewStoreProvider.js';
20
- import { WorkspaceReviewSideBar } from './WorkspaceReviewSideBar.js';
21
- import { WorkspaceReviewPanel } from './WorkspaceReviewPanel.js';
19
+ import { useProjectReviewerStore, withProjectReviewerStore, } from './ProjectReviewStoreProvider.js';
20
+ import { ProjectReviewerSideBar } from './ProjectReviewSideBar.js';
21
+ import { ProjectReviewerPanel } from './ProjectReviewerPanel.js';
22
22
  import { ACTIVITY_MODE } from '../../stores/editor/EditorConfig.js';
23
- import { getCollapsiblePanelGroupProps, clsx, PanelLoadingIndicator, ResizablePanel, ResizablePanelGroup, ResizablePanelSplitter, CheckListIcon, CodeBranchIcon, CogIcon, UserIcon, AssistantIcon, } from '@finos/legend-art';
23
+ import { getCollapsiblePanelGroupProps, clsx, PanelLoadingIndicator, ResizablePanel, ResizablePanelGroup, ResizablePanelSplitter, CheckListIcon, CodeBranchIcon, UserIcon, AssistantIcon, } from '@finos/legend-art';
24
24
  import { generateSetupRoute, } from '../../__lib__/LegendStudioNavigation.js';
25
- import { flowResult } from 'mobx';
26
25
  import { useEditorStore, withEditorStore, } from '../editor/EditorStoreProvider.js';
27
26
  import { useApplicationStore } from '@finos/legend-application';
28
27
  import { useParams } from '@finos/legend-application/browser';
29
- const WorkspaceReviewStatusBar = observer(() => {
30
- const reviewStore = useWorkspaceReviewStore();
28
+ const ProjectReviewerStatusBar = observer(() => {
29
+ const reviewStore = useProjectReviewerStore();
31
30
  const editorStore = useEditorStore();
32
31
  const applicationStore = useApplicationStore();
33
32
  const currentUserId = editorStore.sdlcServerClient.currentUser?.userId ?? '(unknown)';
@@ -35,15 +34,15 @@ const WorkspaceReviewStatusBar = observer(() => {
35
34
  ? reviewStore.currentProject.name
36
35
  : reviewStore.projectId;
37
36
  const review = reviewStore.review;
38
- const reviewStatus = reviewStore.isApprovingReview
37
+ const reviewStatus = reviewStore.approveState.isInProgress
39
38
  ? 'approving review...'
40
- : reviewStore.isCommittingReview
39
+ : reviewStore.commitState.isInProgress
41
40
  ? 'committing review...'
42
- : reviewStore.isClosingReview
41
+ : reviewStore.closeState.isInProgress
43
42
  ? 'closing review...'
44
- : reviewStore.isReopeningReview
43
+ : reviewStore.reOpenState.isInProgress
45
44
  ? 'reopening review...'
46
- : reviewStore.isFetchingComparison
45
+ : reviewStore.fetchComparisonState.isInProgress
47
46
  ? 'loading changes...'
48
47
  : undefined;
49
48
  const toggleAssistant = () => applicationStore.assistantService.toggleAssistant();
@@ -51,35 +50,27 @@ const WorkspaceReviewStatusBar = observer(() => {
51
50
  'editor__status-bar__action__toggler--active': !applicationStore.assistantService.isHidden,
52
51
  }), onClick: toggleAssistant, tabIndex: -1, title: "Toggle assistant", children: _jsx(AssistantIcon, {}) })] })] }));
53
52
  });
54
- const WorkspaceReviewExplorer = observer(() => {
55
- const reviewStore = useWorkspaceReviewStore();
53
+ const ProjectReviewerExplorer = observer(() => {
56
54
  const editorStore = useEditorStore();
57
- const applicationStore = useApplicationStore();
58
55
  // layout
59
56
  const resizeSideBar = (handleProps) => editorStore.sideBarDisplayState.setSize(handleProps.domElement.getBoundingClientRect().width);
60
57
  const sideBarCollapsiblePanelGroupProps = getCollapsiblePanelGroupProps(editorStore.sideBarDisplayState.size === 0, {
61
58
  onStopResize: resizeSideBar,
62
59
  size: editorStore.sideBarDisplayState.size,
63
60
  });
64
- useEffect(() => {
65
- flowResult(reviewStore.fetchReviewComparison()).catch(applicationStore.alertUnhandledError);
66
- }, [applicationStore, reviewStore]);
67
- return (_jsxs(ResizablePanelGroup, { orientation: "vertical", children: [_jsx(ResizablePanel, { ...sideBarCollapsiblePanelGroupProps.collapsiblePanel, direction: 1, children: _jsx(WorkspaceReviewSideBar, {}) }), _jsx(ResizablePanelSplitter, {}), _jsx(ResizablePanel, { ...sideBarCollapsiblePanelGroupProps.remainingPanel, minSize: 300, children: _jsx(WorkspaceReviewPanel, {}) })] }));
61
+ return (_jsxs(ResizablePanelGroup, { orientation: "vertical", children: [_jsx(ResizablePanel, { ...sideBarCollapsiblePanelGroupProps.collapsiblePanel, direction: 1, children: _jsx(ProjectReviewerSideBar, {}) }), _jsx(ResizablePanelSplitter, {}), _jsx(ResizablePanel, { ...sideBarCollapsiblePanelGroupProps.remainingPanel, minSize: 300, children: _jsx(ProjectReviewerPanel, {}) })] }));
68
62
  });
69
- export const WorkspaceReview = withEditorStore(withWorkspaceReviewStore(observer(() => {
63
+ export const ProjectReviewer = withEditorStore(withProjectReviewerStore(observer(() => {
70
64
  const params = useParams();
71
65
  const projectId = params.projectId;
72
66
  const reviewId = params.reviewId;
73
- const reviewStore = useWorkspaceReviewStore();
67
+ const reviewStore = useProjectReviewerStore();
74
68
  const editorStore = useEditorStore();
75
- const applicationStore = useApplicationStore();
76
69
  const changeActivity = (activity) => () => editorStore.setActiveActivity(activity);
77
70
  useEffect(() => {
78
71
  reviewStore.setProjectIdAndReviewId(projectId, reviewId);
79
- flowResult(reviewStore.initialize()).catch(applicationStore.alertUnhandledError);
80
- flowResult(reviewStore.getReview()).catch(applicationStore.alertUnhandledError);
81
- flowResult(reviewStore.fetchProject()).catch(applicationStore.alertUnhandledError);
82
- }, [applicationStore, reviewStore, projectId, reviewId]);
83
- return (_jsx("div", { className: "app__page", children: _jsxs("div", { className: "workspace-review", children: [_jsx(PanelLoadingIndicator, { isLoading: reviewStore.isFetchingCurrentReview }), reviewStore.currentReview && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "workspace-review__body", children: [_jsxs("div", { className: "activity-bar", children: [_jsx("div", { className: "activity-bar__items", children: _jsx("button", { className: "activity-bar__item activity-bar__item--active workspace-review__activity-bar__review-icon", tabIndex: -1, title: "Review", onClick: changeActivity(ACTIVITY_MODE.REVIEW), children: _jsx(CheckListIcon, {}) }, ACTIVITY_MODE.REVIEW) }), _jsx("div", { className: "activity-bar__setting", children: _jsx("button", { className: "activity-bar__item", tabIndex: -1, title: "Settings...", children: _jsx(CogIcon, {}) }) })] }), _jsx("div", { className: "workspace-review__content-container", children: _jsx("div", { className: "workspace-review__content", children: _jsx(WorkspaceReviewExplorer, {}) }) })] }), _jsx(WorkspaceReviewStatusBar, {})] }))] }) }));
72
+ reviewStore.initialize();
73
+ }, [reviewStore, projectId, reviewId]);
74
+ return (_jsx("div", { className: "app__page", children: _jsxs("div", { className: "workspace-review", children: [_jsx(PanelLoadingIndicator, { isLoading: reviewStore.fetchCurrentReviewState.isInProgress }), reviewStore.currentReview && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "workspace-review__body", children: [_jsx("div", { className: "activity-bar", children: _jsx("div", { className: "activity-bar__items", children: _jsx("button", { className: "activity-bar__item activity-bar__item--active workspace-review__activity-bar__review-icon", tabIndex: -1, title: "Review", onClick: changeActivity(ACTIVITY_MODE.REVIEW), children: _jsx(CheckListIcon, {}) }, ACTIVITY_MODE.REVIEW) }) }), _jsx("div", { className: "workspace-review__content-container", children: _jsx("div", { className: "workspace-review__content", children: _jsx(ProjectReviewerExplorer, {}) }) })] }), _jsx(ProjectReviewerStatusBar, {})] }))] }) }));
84
75
  })));
85
- //# sourceMappingURL=WorkspaceReview.js.map
76
+ //# sourceMappingURL=ProjectReviewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectReviewer.js","sourceRoot":"","sources":["../../../src/components/project-reviewer/ProjectReviewer.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare const WorkspaceReviewPanel: (() => import("react/jsx-runtime").JSX.Element) & {
16
+ export declare const ProjectReviewerPanel: (() => import("react/jsx-runtime").JSX.Element) & {
17
17
  displayName: string;
18
18
  };
19
- //# sourceMappingURL=WorkspaceReviewPanel.d.ts.map
19
+ //# sourceMappingURL=ProjectReviewerPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectReviewerPanel.d.ts","sourceRoot":"","sources":["../../../src/components/project-reviewer/ProjectReviewerPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwDH,eAAO,MAAM,oBAAoB;;CA0H/B,CAAC"}
@@ -21,8 +21,11 @@ import { EntityDiffViewState, DIFF_VIEW_MODE, } from '../../stores/editor/editor
21
21
  import { EntityDiffView } from '../editor/editor-group/diff-editor/EntityDiffView.js';
22
22
  import { useEditorStore } from '../editor/EditorStoreProvider.js';
23
23
  import { forwardRef } from 'react';
24
- const WorkspaceReviewPanelSplashScreen = () => (_jsx("div", { className: "workspace-review-panel__splash-screen" }));
25
- const WorkspaceReviewPanelHeaderTabContextMenu = observer(forwardRef(function ReviewPanelHeaderTabContextMenu(props, ref) {
24
+ import { EditorDiffViewerState } from '../../stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.js';
25
+ import { ProjectConfigDiffView } from '../editor/editor-group/diff-editor/ProjectConfigDiffView.js';
26
+ import { ProjectConfigurationDiffEditorState } from '../../stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js';
27
+ const ProjectReviewerPanelSplashScreen = () => (_jsx("div", { className: "workspace-review-panel__splash-screen" }));
28
+ const ProjectReviewerPanelHeaderTabContextMenu = observer(forwardRef(function ReviewPanelHeaderTabContextMenu(props, ref) {
26
29
  const { editorState } = props;
27
30
  const editorStore = useEditorStore();
28
31
  const close = () => editorStore.tabManagerState.closeTab(editorState);
@@ -30,12 +33,12 @@ const WorkspaceReviewPanelHeaderTabContextMenu = observer(forwardRef(function Re
30
33
  const closeAll = () => editorStore.tabManagerState.closeAllTabs();
31
34
  return (_jsxs(MenuContent, { ref: ref, children: [_jsx(MenuContentItem, { onClick: close, children: "Close" }), _jsx(MenuContentItem, { disabled: editorStore.tabManagerState.tabs.length < 2, onClick: closeOthers, children: "Close Others" }), _jsx(MenuContentItem, { onClick: closeAll, children: "Close All" })] }));
32
35
  }));
33
- export const WorkspaceReviewPanel = observer(() => {
36
+ export const ProjectReviewerPanel = observer(() => {
34
37
  const editorStore = useEditorStore();
35
- const currentTabState = editorStore.tabManagerState.currentTab instanceof EntityDiffViewState
38
+ const currentTabState = editorStore.tabManagerState.currentTab instanceof EditorDiffViewerState
36
39
  ? editorStore.tabManagerState.currentTab
37
40
  : undefined;
38
- const openedTabStates = editorStore.tabManagerState.tabs.filter(filterByType(EntityDiffViewState));
41
+ const openedTabStates = editorStore.tabManagerState.tabs.filter(filterByType(EditorDiffViewerState));
39
42
  const closeTab = (diffState) => (event) => editorStore.tabManagerState.closeTab(diffState);
40
43
  const closeTabOnMiddleClick = (editorState) => (event) => {
41
44
  if (event.nativeEvent.button === 1) {
@@ -43,15 +46,28 @@ export const WorkspaceReviewPanel = observer(() => {
43
46
  }
44
47
  };
45
48
  const switchTab = (editorState) => () => editorStore.tabManagerState.openTab(editorState);
46
- const switchViewMode = (mode) => () => currentTabState?.setDiffMode(mode);
49
+ const switchViewMode = (mode) => () => {
50
+ if (currentTabState instanceof EntityDiffViewState) {
51
+ currentTabState.setDiffMode(mode);
52
+ }
53
+ };
47
54
  if (!currentTabState) {
48
- return _jsx(WorkspaceReviewPanelSplashScreen, {});
55
+ return _jsx(ProjectReviewerPanelSplashScreen, {});
49
56
  }
57
+ const renderActiveTabState = (tab) => {
58
+ if (tab instanceof EntityDiffViewState) {
59
+ return _jsx(EntityDiffView, { entityDiffViewState: tab });
60
+ }
61
+ else if (tab instanceof ProjectConfigurationDiffEditorState) {
62
+ return _jsx(ProjectConfigDiffView, { configDiffState: tab });
63
+ }
64
+ return null;
65
+ };
50
66
  return (_jsxs("div", { className: "panel workspace-review-panel", children: [_jsxs("div", { className: "panel__header workspace-review-panel__header", children: [_jsx("div", { className: "workspace-review-panel__header__tabs", children: openedTabStates.map((editorState) => (_jsx("div", { className: clsx('workspace-review-panel__header__tab', {
51
67
  'workspace-review-panel__header__tab--active': editorState === currentTabState,
52
- }), onMouseUp: closeTabOnMiddleClick(editorState), children: _jsxs(ContextMenu, { className: "workspace-review-panel__header__tab__content", content: _jsx(WorkspaceReviewPanelHeaderTabContextMenu, { editorState: editorState }), children: [_jsx("button", { className: "workspace-review-panel__header__tab__element__name", tabIndex: -1, onClick: switchTab(editorState), children: editorState.label }), _jsx("button", { className: "workspace-review-panel__header__tab__close-btn", onClick: closeTab(editorState), tabIndex: -1, children: _jsx(TimesIcon, {}) })] }) }, editorState.uuid))) }), _jsx("div", { className: "workspace-review-panel__header__actions", children: _jsx(DropdownMenu, { className: "workspace-review-panel__element-view__type", title: "View as...", content: _jsxs("div", { className: "workspace-review-panel__element-view__options", children: [_jsx("div", { className: "workspace-review-panel__element-view__option", onClick: switchViewMode(DIFF_VIEW_MODE.GRAMMAR), children: DIFF_VIEW_MODE.GRAMMAR }), _jsx("div", { className: "workspace-review-panel__element-view__option", onClick: switchViewMode(DIFF_VIEW_MODE.JSON), children: DIFF_VIEW_MODE.JSON })] }), menuProps: {
68
+ }), onMouseUp: closeTabOnMiddleClick(editorState), children: _jsxs(ContextMenu, { className: "workspace-review-panel__header__tab__content", content: _jsx(ProjectReviewerPanelHeaderTabContextMenu, { editorState: editorState }), children: [_jsx("button", { className: "workspace-review-panel__header__tab__element__name", tabIndex: -1, onClick: switchTab(editorState), children: editorState.label }), _jsx("button", { className: "workspace-review-panel__header__tab__close-btn", onClick: closeTab(editorState), tabIndex: -1, children: _jsx(TimesIcon, {}) })] }) }, editorState.uuid))) }), _jsx("div", { className: "workspace-review-panel__header__actions", children: currentTabState instanceof EntityDiffViewState && (_jsx(DropdownMenu, { className: "workspace-review-panel__element-view__type", title: "View as...", content: _jsxs("div", { className: "workspace-review-panel__element-view__options", children: [_jsx("div", { className: "workspace-review-panel__element-view__option", onClick: switchViewMode(DIFF_VIEW_MODE.GRAMMAR), children: DIFF_VIEW_MODE.GRAMMAR }), _jsx("div", { className: "workspace-review-panel__element-view__option", onClick: switchViewMode(DIFF_VIEW_MODE.JSON), children: DIFF_VIEW_MODE.JSON })] }), menuProps: {
53
69
  anchorOrigin: { vertical: 'bottom', horizontal: 'right' },
54
70
  transformOrigin: { vertical: 'top', horizontal: 'right' },
55
- }, children: _jsx("div", { className: "workspace-review-panel__element-view__type__label", children: currentTabState.diffMode }) }) })] }), _jsx("div", { className: "panel__content workspace-review-panel__content", children: _jsx(EntityDiffView, { entityDiffViewState: currentTabState }) })] }));
71
+ }, children: _jsx("div", { className: "workspace-review-panel__element-view__type__label", children: currentTabState.diffMode }) })) })] }), _jsx("div", { className: "panel__content workspace-review-panel__content", children: renderActiveTabState(currentTabState) })] }));
56
72
  });
57
- //# sourceMappingURL=WorkspaceReviewPanel.js.map
73
+ //# sourceMappingURL=ProjectReviewerPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectReviewerPanel.js","sourceRoot":"","sources":["../../../src/components/project-reviewer/ProjectReviewerPanel.tsx"],"names":[],"mappings":"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"}
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application-studio v28.15.3
1
+ /** @license @finos/legend-application-studio v28.15.4
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-studio",
3
- "version": "28.15.3",
3
+ "version": "28.15.4",
4
4
  "description": "Legend Studio application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { EditorStore } from '../../EditorStore.js';
17
+ import { EditorState } from '../EditorState.js';
18
+ import type { SPECIAL_REVISION_ALIAS } from '../entity-diff-editor-state/EntityDiffEditorState.js';
19
+ export declare abstract class EditorDiffViewerState extends EditorState {
20
+ fromRevision: SPECIAL_REVISION_ALIAS | string;
21
+ toRevision: SPECIAL_REVISION_ALIAS | string;
22
+ constructor(fromRevision: SPECIAL_REVISION_ALIAS | string, toRevision: SPECIAL_REVISION_ALIAS | string, editorStore: EditorStore);
23
+ }
24
+ //# sourceMappingURL=EditorDiffViewerState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorDiffViewerState.d.ts","sourceRoot":"","sources":["../../../../../src/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAEnG,8BAAsB,qBAAsB,SAAQ,WAAW;IAC7D,YAAY,EAAE,sBAAsB,GAAG,MAAM,CAAC;IAC9C,UAAU,EAAE,sBAAsB,GAAG,MAAM,CAAC;gBAG1C,YAAY,EAAE,sBAAsB,GAAG,MAAM,EAC7C,UAAU,EAAE,sBAAsB,GAAG,MAAM,EAC3C,WAAW,EAAE,WAAW;CAM3B"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { EditorState } from '../EditorState.js';
17
+ export class EditorDiffViewerState extends EditorState {
18
+ fromRevision;
19
+ toRevision;
20
+ constructor(fromRevision, toRevision, editorStore) {
21
+ super(editorStore);
22
+ this.fromRevision = fromRevision;
23
+ this.toRevision = toRevision;
24
+ }
25
+ }
26
+ //# sourceMappingURL=EditorDiffViewerState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorDiffViewerState.js","sourceRoot":"","sources":["../../../../../src/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,OAAgB,qBAAsB,SAAQ,WAAW;IAC7D,YAAY,CAAkC;IAC9C,UAAU,CAAkC;IAE5C,YACE,YAA6C,EAC7C,UAA2C,EAC3C,WAAwB;QAExB,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}