UNPKG

@finos/legend-extension-dsl-data-space

Version:
52 lines 3.39 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { observer } from 'mobx-react-lite'; import { DataSpaceQuickStart } from './DataSpaceQuickStart.js'; import { DataSpaceDataAccess } from './DataSpaceDataAccess.js'; import { DataSpaceDescription } from './DataSpaceDescription.js'; import { useEffect } from 'react'; import { ModelsDocumentation } from '@finos/legend-lego/model-documentation'; import { DiagramViewer } from '@finos/legend-extension-dsl-diagram'; import { generateAnchorForActivity, generateAnchorForDiagram, } from '../stores/DataSpaceViewerNavigation.js'; export const DataSpaceWiki = observer((props) => { const { dataSpaceViewerState } = props; useEffect(() => { if (dataSpaceViewerState.layoutState.wikiPageNavigationCommand && dataSpaceViewerState.layoutState.isWikiPageFullyRendered) { dataSpaceViewerState.layoutState.navigateWikiPageAnchor(); } }, [ dataSpaceViewerState, dataSpaceViewerState.layoutState.wikiPageNavigationCommand, dataSpaceViewerState.layoutState.isWikiPageFullyRendered, ]); useEffect(() => { if (dataSpaceViewerState.layoutState.isWikiPageFullyRendered) { dataSpaceViewerState.layoutState.registerWikiPageScrollObserver(); } return () => dataSpaceViewerState.layoutState.unregisterWikiPageScrollObserver(); }, [ dataSpaceViewerState, dataSpaceViewerState.layoutState.isWikiPageFullyRendered, ]); return (_jsxs("div", { className: "data-space__viewer__wiki", children: [_jsx(DataSpaceDescription, { dataSpaceViewerState: dataSpaceViewerState }), _jsx(DiagramViewer, { applicationStore: dataSpaceViewerState.applicationStore, diagramViewerState: dataSpaceViewerState.diagramViewerState, actions: { onQueryClass: dataSpaceViewerState.queryClass, onViewClassDocumentation: (classPath) => dataSpaceViewerState.modelsDocumentationState.viewClassDocumentation(classPath), hasClassDocumentation: (classPath) => dataSpaceViewerState.modelsDocumentationState.hasClassDocumentation(classPath), onSyncZoneWithNavigation: (diagram) => { dataSpaceViewerState.syncZoneWithNavigation(generateAnchorForDiagram(diagram)); }, onGenerateAnchorForActivity: (activity) => { return generateAnchorForActivity(activity); }, onChangeZone: (zone, force) => { dataSpaceViewerState.changeZone(zone, force); }, onSetWikiPageAnchor: (anchorKey, element) => { dataSpaceViewerState.layoutState.setWikiPageAnchor(anchorKey, element); }, onUnsetWikiPageAnchor: (anchorKey) => { dataSpaceViewerState.layoutState.unsetWikiPageAnchor(anchorKey); }, } }), _jsx(ModelsDocumentation, { modelsDocumentationState: dataSpaceViewerState.modelsDocumentationState, applicationStore: dataSpaceViewerState.applicationStore }), _jsx(DataSpaceQuickStart, { dataSpaceViewerState: dataSpaceViewerState }), _jsx(DataSpaceDataAccess, { dataSpaceViewerState: dataSpaceViewerState })] })); }); //# sourceMappingURL=DataSpaceWiki.js.map