@finos/legend-application-studio 28.15.3 → 28.15.4
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.
- package/lib/__lib__/LegendStudioNavigation.d.ts +1 -1
- package/lib/components/LegendStudioWebApplication.js +2 -2
- package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.d.ts +22 -0
- package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.d.ts.map +1 -0
- package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.js +26 -0
- package/lib/components/editor/editor-group/diff-editor/ProjectConfigDiffView.js.map +1 -0
- package/lib/components/{workspace-review/WorkspaceReviewSideBar.d.ts → project-reviewer/ProjectReviewSideBar.d.ts} +2 -2
- package/lib/components/project-reviewer/ProjectReviewSideBar.d.ts.map +1 -0
- package/lib/components/{workspace-review/WorkspaceReviewSideBar.js → project-reviewer/ProjectReviewSideBar.js} +34 -18
- package/lib/components/project-reviewer/ProjectReviewSideBar.js.map +1 -0
- package/lib/components/{workspace-review/WorkspaceReviewStoreProvider.d.ts → project-reviewer/ProjectReviewStoreProvider.d.ts} +5 -5
- package/lib/components/project-reviewer/ProjectReviewStoreProvider.d.ts.map +1 -0
- package/lib/components/{workspace-review/WorkspaceReviewStoreProvider.js → project-reviewer/ProjectReviewStoreProvider.js} +9 -9
- package/lib/components/project-reviewer/ProjectReviewStoreProvider.js.map +1 -0
- package/lib/components/{workspace-review/WorkspaceReview.d.ts → project-reviewer/ProjectReviewer.d.ts} +2 -2
- package/lib/components/project-reviewer/ProjectReviewer.d.ts.map +1 -0
- package/lib/components/{workspace-review/WorkspaceReview.js → project-reviewer/ProjectReviewer.js} +19 -28
- package/lib/components/project-reviewer/ProjectReviewer.js.map +1 -0
- package/lib/components/{workspace-review/WorkspaceReviewPanel.d.ts → project-reviewer/ProjectReviewerPanel.d.ts} +2 -2
- package/lib/components/project-reviewer/ProjectReviewerPanel.d.ts.map +1 -0
- package/lib/components/{workspace-review/WorkspaceReviewPanel.js → project-reviewer/ProjectReviewerPanel.js} +26 -10
- package/lib/components/project-reviewer/ProjectReviewerPanel.js.map +1 -0
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.d.ts +24 -0
- package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.js +26 -0
- package/lib/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.js.map +1 -0
- package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.d.ts +31 -0
- package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js +39 -0
- package/lib/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.js.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js +2 -2
- package/lib/stores/editor/editor-state/element-editor-state/FunctionActivatorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.d.ts +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js +5 -4
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js +1 -1
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts +2 -2
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js +2 -2
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts +0 -2
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.js +1 -3
- package/lib/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.js.map +1 -1
- package/lib/stores/project-reviewer/ProjectReviewerStore.d.ts +73 -0
- package/lib/stores/project-reviewer/ProjectReviewerStore.d.ts.map +1 -0
- package/lib/stores/project-reviewer/ProjectReviewerStore.js +303 -0
- package/lib/stores/project-reviewer/ProjectReviewerStore.js.map +1 -0
- package/package.json +5 -5
- package/src/__lib__/LegendStudioNavigation.ts +1 -1
- package/src/components/LegendStudioWebApplication.tsx +2 -2
- package/src/components/editor/editor-group/diff-editor/ProjectConfigDiffView.tsx +60 -0
- package/src/components/{workspace-review/WorkspaceReviewSideBar.tsx → project-reviewer/ProjectReviewSideBar.tsx} +91 -11
- package/src/components/{workspace-review/WorkspaceReviewStoreProvider.tsx → project-reviewer/ProjectReviewStoreProvider.tsx} +13 -13
- package/src/components/{workspace-review/WorkspaceReview.tsx → project-reviewer/ProjectReviewer.tsx} +25 -55
- package/src/components/{workspace-review/WorkspaceReviewPanel.tsx → project-reviewer/ProjectReviewerPanel.tsx} +54 -36
- package/src/stores/editor/editor-state/diff-viewer-state/EditorDiffViewerState.ts +34 -0
- package/src/stores/editor/editor-state/diff-viewer-state/ProjectConfigurationDiffEditorState.ts +56 -0
- package/src/stores/editor/editor-state/element-editor-state/FunctionActivatorState.ts +2 -1
- package/src/stores/editor/editor-state/element-editor-state/function-activator/SnowflakeAppFunctionActivatorEditorState.ts +6 -3
- package/src/stores/editor/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.ts +1 -1
- package/src/stores/editor/editor-state/entity-diff-editor-state/EntityDiffEditorState.ts +2 -2
- package/src/stores/editor/editor-state/entity-diff-editor-state/EntityDiffViewState.ts +1 -3
- package/src/stores/{workspace-review/WorkspaceReviewStore.ts → project-reviewer/ProjectReviewerStore.ts} +235 -57
- package/tsconfig.json +8 -5
- package/lib/components/workspace-review/WorkspaceReview.d.ts.map +0 -1
- package/lib/components/workspace-review/WorkspaceReview.js.map +0 -1
- package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +0 -1
- package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +0 -1
- package/lib/components/workspace-review/WorkspaceReviewSideBar.d.ts.map +0 -1
- package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +0 -1
- package/lib/components/workspace-review/WorkspaceReviewStoreProvider.d.ts.map +0 -1
- package/lib/components/workspace-review/WorkspaceReviewStoreProvider.js.map +0 -1
- package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts +0 -47
- package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts.map +0 -1
- package/lib/stores/workspace-review/WorkspaceReviewStore.js +0 -207
- 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
|
|
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 {
|
|
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
|
-
|
|
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
|
|
16
|
+
export declare const ProjectReviewerSideBar: (() => import("react/jsx-runtime").JSX.Element) & {
|
|
17
17
|
displayName: string;
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=
|
|
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 {
|
|
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
|
-
|
|
30
|
-
|
|
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.
|
|
73
|
-
reviewStore.
|
|
74
|
-
reviewStore.
|
|
75
|
-
reviewStore.
|
|
76
|
-
reviewStore.
|
|
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 =
|
|
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) => () =>
|
|
88
|
-
|
|
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 })] }),
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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=
|
|
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 {
|
|
17
|
-
export declare const
|
|
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
|
|
21
|
-
export declare const
|
|
22
|
-
//# sourceMappingURL=
|
|
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 {
|
|
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
|
|
24
|
-
export const
|
|
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
|
|
28
|
-
return (_jsx(
|
|
27
|
+
const store = useLocalObservable(() => new ProjectReviewerStore(editorStore));
|
|
28
|
+
return (_jsx(ProjectReviewerStoreContext.Provider, { value: store, children: children }));
|
|
29
29
|
};
|
|
30
|
-
export const
|
|
31
|
-
export const
|
|
32
|
-
return (_jsx(
|
|
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=
|
|
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
|
|
18
|
-
//# sourceMappingURL=
|
|
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"}
|
package/lib/components/{workspace-review/WorkspaceReview.js → project-reviewer/ProjectReviewer.js}
RENAMED
|
@@ -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 {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
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,
|
|
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
|
|
30
|
-
const reviewStore =
|
|
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.
|
|
37
|
+
const reviewStatus = reviewStore.approveState.isInProgress
|
|
39
38
|
? 'approving review...'
|
|
40
|
-
: reviewStore.
|
|
39
|
+
: reviewStore.commitState.isInProgress
|
|
41
40
|
? 'committing review...'
|
|
42
|
-
: reviewStore.
|
|
41
|
+
: reviewStore.closeState.isInProgress
|
|
43
42
|
? 'closing review...'
|
|
44
|
-
: reviewStore.
|
|
43
|
+
: reviewStore.reOpenState.isInProgress
|
|
45
44
|
? 'reopening review...'
|
|
46
|
-
: reviewStore.
|
|
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
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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=
|
|
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
|
|
16
|
+
export declare const ProjectReviewerPanel: (() => import("react/jsx-runtime").JSX.Element) & {
|
|
17
17
|
displayName: string;
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=
|
|
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
|
-
|
|
25
|
-
|
|
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
|
|
36
|
+
export const ProjectReviewerPanel = observer(() => {
|
|
34
37
|
const editorStore = useEditorStore();
|
|
35
|
-
const currentTabState = editorStore.tabManagerState.currentTab instanceof
|
|
38
|
+
const currentTabState = editorStore.tabManagerState.currentTab instanceof EditorDiffViewerState
|
|
36
39
|
? editorStore.tabManagerState.currentTab
|
|
37
40
|
: undefined;
|
|
38
|
-
const openedTabStates = editorStore.tabManagerState.tabs.filter(filterByType(
|
|
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) => () =>
|
|
49
|
+
const switchViewMode = (mode) => () => {
|
|
50
|
+
if (currentTabState instanceof EntityDiffViewState) {
|
|
51
|
+
currentTabState.setDiffMode(mode);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
47
54
|
if (!currentTabState) {
|
|
48
|
-
return _jsx(
|
|
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(
|
|
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:
|
|
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=
|
|
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
package/lib/package.json
CHANGED
|
@@ -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"}
|