UNPKG

@finos/legend-application-studio

Version:
56 lines 2.73 kB
/** * 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 type { EditorStore } from '../editor/EditorStore.js'; import { type GeneratorFn } from '@finos/legend-shared'; import { type ProjectViewerPathParams } from '../../__lib__/LegendStudioNavigation.js'; import { type Entity, type ProjectGAVCoordinates, type EntitiesWithOrigin } from '@finos/legend-storage'; import { Revision, Version } from '@finos/legend-server-sdlc'; import { type WorkflowManagerState } from '../editor/sidebar-state/WorkflowManagerState.js'; export declare class ProjectViewerStore { readonly editorStore: EditorStore; currentRevision?: Revision | undefined; latestVersion?: Version | undefined; revision?: Revision | undefined; version?: Version | undefined; initialEntityPath?: string | undefined; projectGAVCoordinates?: ProjectGAVCoordinates | undefined; workflowManagerState: WorkflowManagerState | undefined; constructor(editorStore: EditorStore); get onLatestVersion(): boolean; get onCurrentRevision(): boolean; /** * Since we don't dynamically change the route based on the currently opened element * We have to handle the following cases: * 1. if the element is found and then the user opens another element * 2. if the elemnt is not found * in either case, the most suitable behavior at the moment is to internalize/swallow up the entity path param */ internalizeEntityPath(params: ProjectViewerPathParams): void; /** * Initialize the graph by fetching project information from the SDLC server. */ private initializeWithProjectInformation; /** * Initialize the viewer store given GAV coordinate of a project. * This flow is different than the SDLC flow as we need to fetch the project * from Depot server here, where SDLC objects like project configurations * are not available. */ private initializeWithGAV; buildGraph(entities: Entity[], dependencyEntitiesIndex: Map<string, EntitiesWithOrigin>): GeneratorFn<boolean>; initialize(params: ProjectViewerPathParams): GeneratorFn<void>; } //# sourceMappingURL=ProjectViewerStore.d.ts.map