@finos/legend-extension-dsl-data-space
Version:
Legend extension for Data Space DSL
38 lines • 5.17 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { observer } from 'mobx-react-lite';
import { ExternalLinkIcon, PencilIcon } from '@finos/legend-art';
import { extractElementNameFromPath } from '@finos/legend-graph';
import {} from '../stores/DataSpaceViewerState.js';
import { generateGAVCoordinates } from '@finos/legend-storage';
import { useApplicationStore } from '@finos/legend-application';
export const DataSpaceInfoPanel = observer((props) => {
const { dataSpaceViewerState } = props;
const applicationStore = useApplicationStore();
const analysisResult = dataSpaceViewerState.dataSpaceAnalysisResult;
const viewProject = () => dataSpaceViewerState.viewProject(undefined);
const viewDataSpaceInProject = () => dataSpaceViewerState.viewProject(analysisResult.path);
const viewDataSpaceInSDLCProject = () => {
dataSpaceViewerState
.viewSDLCProject(analysisResult.path)
.catch(applicationStore.alertUnhandledError);
};
return (_jsxs("div", { className: "data-space__viewer__panel", children: [_jsx("div", { className: "data-space__viewer__panel__header", children: _jsx("div", { className: "data-space__viewer__panel__header__label", children: "Info" }) }), _jsx("div", { className: "data-space__viewer__panel__content", children: _jsxs("div", { className: "data-space__viewer__info", children: [_jsxs("div", { className: "data-space__viewer__info__section", children: [_jsxs("div", { className: "data-space__viewer__info__section__entry", children: [_jsx("div", { className: "data-space__viewer__info__project-info__label", children: "Project" }), _jsx("button", { className: "data-space__viewer__info__project-info__value", tabIndex: -1, title: "Click to View Project", onClick: viewProject, children: generateGAVCoordinates(dataSpaceViewerState.groupId, dataSpaceViewerState.artifactId, dataSpaceViewerState.versionId) }), _jsx("button", { className: "data-space__viewer__info__project-info__link", tabIndex: -1, title: "View Project", onClick: viewProject, children: _jsx(ExternalLinkIcon, {}) })] }), _jsxs("div", { className: "data-space__viewer__info__section__entry", children: [_jsx("div", { className: "data-space__viewer__info__project-info__label", children: "Data Product" }), _jsx("button", { className: "data-space__viewer__info__project-info__value", tabIndex: -1, title: "Click to View Data Product", onClick: viewDataSpaceInProject, children: analysisResult.path }), _jsx("button", { className: "data-space__viewer__info__project-info__link", tabIndex: -1, title: "Edit Data Product", onClick: viewDataSpaceInSDLCProject, children: _jsx(PencilIcon, {}) }), _jsx("button", { className: "data-space__viewer__info__project-info__link", tabIndex: -1, title: "View Data Product", onClick: viewDataSpaceInProject, children: _jsx(ExternalLinkIcon, {}) })] })] }), _jsxs("div", { className: "data-space__viewer__info__section", children: [_jsx("div", { className: "data-space__viewer__info__section__title", children: "Tagged Values" }), analysisResult.taggedValues.length !== 0 &&
analysisResult.taggedValues.map((taggedValue) => (_jsxs("div", { className: "data-space__viewer__info__section__entry", children: [_jsx("div", { className: "data-space__viewer__info__tagged-value__tag", title: `${taggedValue.profile}.${taggedValue.tag}`, children: `${extractElementNameFromPath(taggedValue.profile)}.${taggedValue.tag}` }), _jsx("div", { className: "data-space__viewer__info__tagged-value__value", children: taggedValue.value })] }, taggedValue._UUID))), analysisResult.taggedValues.length === 0 && (_jsx("div", { className: "data-space__viewer__info__section__placeholder", children: "(empty)" }))] }), _jsxs("div", { className: "data-space__viewer__info__section", children: [_jsx("div", { className: "data-space__viewer__info__section__title", children: "Stereotypes" }), analysisResult.stereotypes.length !== 0 &&
analysisResult.stereotypes.map((stereotype) => (_jsx("div", { className: "data-space__viewer__info__section__entry", title: `${stereotype.profile}.${stereotype.value}`, children: _jsx("div", { className: "data-space__viewer__info__steoreotype", children: `${extractElementNameFromPath(stereotype.profile)}.${stereotype.value}` }) }, stereotype._UUID))), analysisResult.stereotypes.length === 0 && (_jsx("div", { className: "data-space__viewer__info__section__placeholder", children: "(empty)" }))] })] }) })] }));
});
//# sourceMappingURL=DataSpaceInfoPanel.js.map