@finos/legend-application-studio 28.15.3 → 28.15.5
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/__lib__/LegendStudioNavigation.d.ts +1 -1
- package/lib/components/LegendStudioWebApplication.js +2 -2
- package/lib/components/editor/editor-group/UnsupportedElementEditor.d.ts +2 -0
- package/lib/components/editor/editor-group/UnsupportedElementEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/UnsupportedElementEditor.js +12 -3
- package/lib/components/editor/editor-group/UnsupportedElementEditor.js.map +1 -1
- 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 +2 -2
- package/lib/index.css.map +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/ElementEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/ElementEditorState.js +10 -3
- package/lib/stores/editor/editor-state/element-editor-state/ElementEditorState.js.map +1 -1
- 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 +75 -0
- package/lib/stores/project-reviewer/ProjectReviewerStore.d.ts.map +1 -0
- package/lib/stores/project-reviewer/ProjectReviewerStore.js +325 -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/UnsupportedElementEditor.tsx +38 -9
- 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/ElementEditorState.ts +22 -5
- 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/project-reviewer/ProjectReviewerStore.ts +515 -0
- 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
- package/src/stores/workspace-review/WorkspaceReviewStore.ts +0 -312
@@ -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,
|
@@ -13,9 +13,11 @@
|
|
13
13
|
* See the License for the specific language governing permissions and
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
|
+
import { UnsupportedElementEditorState } from '../../../stores/editor/editor-state/UnsupportedElementEditorState.js';
|
16
17
|
export declare const UnsupportedEditorPanel: ((props: {
|
17
18
|
text: string;
|
18
19
|
isReadOnly: boolean;
|
20
|
+
unsupportedElementEditorState?: UnsupportedElementEditorState;
|
19
21
|
}) => import("react/jsx-runtime").JSX.Element) & {
|
20
22
|
displayName: string;
|
21
23
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UnsupportedElementEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/editor/editor-group/UnsupportedElementEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
1
|
+
{"version":3,"file":"UnsupportedElementEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/editor/editor-group/UnsupportedElementEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AAQrH,eAAO,MAAM,sBAAsB,WACzB;IACN,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;CAC/D;;CA4CF,CAAC;AAGF,eAAO,MAAM,wBAAwB;;CAiCnC,CAAC"}
|
@@ -20,12 +20,21 @@ import { UnsupportedElementEditorState } from '../../../stores/editor/editor-sta
|
|
20
20
|
import { flowResult } from 'mobx';
|
21
21
|
import { useEditorStore } from '../EditorStoreProvider.js';
|
22
22
|
import { useApplicationStore } from '@finos/legend-application';
|
23
|
+
import { ELEMENT_NATIVE_VIEW_MODE } from '../../../stores/editor/EditorConfig.js';
|
24
|
+
import { INTERNAL__UnknownPackageableElement } from '@finos/legend-graph';
|
25
|
+
import { isType } from '@finos/legend-shared';
|
23
26
|
export const UnsupportedEditorPanel = observer((props) => {
|
24
|
-
const { text, isReadOnly } = props;
|
27
|
+
const { text, isReadOnly, unsupportedElementEditorState } = props;
|
25
28
|
const editorStore = useEditorStore();
|
26
29
|
const applicationStore = useApplicationStore();
|
30
|
+
const isUnknownEntity = unsupportedElementEditorState
|
31
|
+
? isType(unsupportedElementEditorState.element, INTERNAL__UnknownPackageableElement)
|
32
|
+
: false;
|
27
33
|
const handleTextModeClick = applicationStore.guardUnhandledError(() => flowResult(editorStore.toggleTextMode()));
|
28
|
-
|
34
|
+
const handleJsonModeClick = () => {
|
35
|
+
unsupportedElementEditorState?.setEditMode(ELEMENT_NATIVE_VIEW_MODE.JSON);
|
36
|
+
};
|
37
|
+
return (_jsx(BlankPanelContent, { children: _jsxs("div", { className: "unsupported-element-editor__main", children: [_jsx("div", { className: "unsupported-element-editor__summary", children: text }), _jsxs("div", { className: "unsupported-element-editor__actions", children: [!isReadOnly && (_jsx(Button, { className: "unsupported-element-editor__to-text-mode__btn", onClick: handleTextModeClick, text: "Edit in text mode" })), isUnknownEntity && (_jsx(Button, { className: "unsupported-element-editor__to-text-mode__btn unsupported-element-editor__btn--dark", onClick: handleJsonModeClick, text: "View content" }))] })] }) }));
|
29
38
|
});
|
30
39
|
// NOTE: this editor can be used for any element supported via text mode but no editor has been built
|
31
40
|
export const UnsupportedElementEditor = observer(() => {
|
@@ -33,6 +42,6 @@ export const UnsupportedElementEditor = observer(() => {
|
|
33
42
|
const unsupportedElementEditorState = editorStore.tabManagerState.getCurrentEditorState(UnsupportedElementEditorState);
|
34
43
|
const element = unsupportedElementEditorState.element;
|
35
44
|
const isReadOnly = unsupportedElementEditorState.isReadOnly;
|
36
|
-
return (_jsx("div", { className: "unsupported-element-editor", children: _jsxs(Panel, { children: [_jsx(PanelHeader, { children: _jsxs("div", { className: "panel__header__title", children: [isReadOnly && (_jsx("div", { className: "uml-element-editor__header__lock", children: _jsx(LockIcon, {}) })), _jsx("div", { className: "panel__header__title__label", children: "element" }), _jsx("div", { className: "panel__header__title__content", children: element.name })] }) }), _jsx(PanelContent, { className: "unsupported-element-editor__content", children: _jsx(UnsupportedEditorPanel, { text: "Can't display this element in form-mode", isReadOnly: isReadOnly }) })] }) }));
|
45
|
+
return (_jsx("div", { className: "unsupported-element-editor", children: _jsxs(Panel, { children: [_jsx(PanelHeader, { children: _jsxs("div", { className: "panel__header__title", children: [isReadOnly && (_jsx("div", { className: "uml-element-editor__header__lock", children: _jsx(LockIcon, {}) })), _jsx("div", { className: "panel__header__title__label", children: "element" }), _jsx("div", { className: "panel__header__title__content", children: element.name })] }) }), _jsx(PanelContent, { className: "unsupported-element-editor__content", children: _jsx(UnsupportedEditorPanel, { text: "Can't display this element in form-mode", isReadOnly: isReadOnly, unsupportedElementEditorState: unsupportedElementEditorState }) })] }) }));
|
37
46
|
});
|
38
47
|
//# sourceMappingURL=UnsupportedElementEditor.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UnsupportedElementEditor.js","sourceRoot":"","sources":["../../../../src/components/editor/editor-group/UnsupportedElementEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,MAAM,EACN,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
1
|
+
{"version":3,"file":"UnsupportedElementEditor.js","sourceRoot":"","sources":["../../../../src/components/editor/editor-group/UnsupportedElementEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,MAAM,EACN,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,sEAAsE,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAC5C,CAAC,KAIA,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,6BAA6B,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAE/C,MAAM,eAAe,GAAG,6BAA6B;QACnD,CAAC,CAAC,MAAM,CACJ,6BAA6B,CAAC,OAAO,EACrC,mCAAmC,CACpC;QACH,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,EAAE,CACpE,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAS,EAAE;QACrC,6BAA6B,EAAE,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,iBAAiB,cAChB,eAAK,SAAS,EAAC,kCAAkC,aAC/C,cAAK,SAAS,EAAC,qCAAqC,YAAE,IAAI,GAAO,EACjE,eAAK,SAAS,EAAC,qCAAqC,aACjD,CAAC,UAAU,IAAI,CACd,KAAC,MAAM,IACL,SAAS,EAAC,+CAA+C,EACzD,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAC,mBAAmB,GACxB,CACH,EACA,eAAe,IAAI,CAClB,KAAC,MAAM,IACL,SAAS,EAAC,qFAAqF,EAC/F,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAC,cAAc,GACnB,CACH,IACG,IACF,GACY,CACrB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,qGAAqG;AACrG,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC,GAAG,EAAE;IACpD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,6BAA6B,GACjC,WAAW,CAAC,eAAe,CAAC,qBAAqB,CAC/C,6BAA6B,CAC9B,CAAC;IACJ,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC;IACtD,MAAM,UAAU,GAAG,6BAA6B,CAAC,UAAU,CAAC;IAE5D,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,MAAC,KAAK,eACJ,KAAC,WAAW,cACV,eAAK,SAAS,EAAC,sBAAsB,aAClC,UAAU,IAAI,CACb,cAAK,SAAS,EAAC,kCAAkC,YAC/C,KAAC,QAAQ,KAAG,GACR,CACP,EACD,cAAK,SAAS,EAAC,6BAA6B,wBAAc,EAC1D,cAAK,SAAS,EAAC,+BAA+B,YAAE,OAAO,CAAC,IAAI,GAAO,IAC/D,GACM,EACd,KAAC,YAAY,IAAC,SAAS,EAAC,qCAAqC,YAC3D,KAAC,sBAAsB,IACrB,IAAI,EAAC,yCAAyC,EAC9C,UAAU,EAAE,UAAU,EACtB,6BAA6B,EAAE,6BAA6B,GAC5D,GACW,IACT,GACJ,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
@@ -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.buildReviewReportState.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.buildReviewReportState.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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"}
|