@finos/legend-application-studio
Version:
Legend Studio application core
125 lines • 5.61 kB
TypeScript
/**
* 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 EmbeddedData, type ModelData, DataElement, RelationalCSVData, type Database, type RelationalCSVDataTable, DataElementReference, ExternalFormatData, ModelStoreData, ModelEmbeddedData, type RelationElement, RelationElementsData } from '@finos/legend-graph';
import type { EditorStore } from '../../../EditorStore.js';
export declare const createEmbeddedData: (type: string, editorStore: EditorStore) => EmbeddedData;
export declare abstract class EmbeddedDataState {
editorStore: EditorStore;
embeddedData: EmbeddedData;
constructor(editorStore: EditorStore, embeddedData: EmbeddedData);
abstract label(): string;
}
export declare class ExternalFormatDataState extends EmbeddedDataState {
embeddedData: ExternalFormatData;
canEditContentType: boolean;
constructor(editorStore: EditorStore, embeddedData: ExternalFormatData);
label(): string;
setCanEditoContentType(val: boolean): void;
get supportsFormatting(): boolean;
format(): void;
}
export declare abstract class ModelDataState {
readonly uuid: string;
readonly modelStoreDataState: ModelStoreDataState;
modelData: ModelData;
constructor(modelData: ModelData, modelStoreDataState: ModelStoreDataState);
}
export declare class ModelEmbeddedDataState extends ModelDataState {
modelData: ModelEmbeddedData;
embeddedDataState: EmbeddedDataState;
constructor(modelData: ModelEmbeddedData, modelStoreDataState: ModelStoreDataState);
}
export declare class UnsupportedModelDataState extends ModelDataState {
}
export declare class ModelStoreDataState extends EmbeddedDataState {
embeddedData: ModelStoreData;
modelDataStates: ModelDataState[];
hideClass: boolean;
constructor(editorStore: EditorStore, embeddedData: ModelStoreData, hideClass?: boolean);
label(): string;
buildStates(): ModelDataState[];
}
export declare class RelationElementState {
relationElement: RelationElement;
constructor(relationElement: RelationElement);
addColumn(name: string): void;
removeColumn(index: number): void;
updateColumn(index: number, name: string): void;
addRow(): void;
removeRow(index: number): void;
updateRow(rowIndex: number, columnIndex: number, value: string): void;
clearAllData(): void;
exportJSON(): string;
exportSQL(): string;
exportCSV(): string;
private parseCSVLine;
importCSV(csvContent: string): void;
}
export declare class RelationElementsDataState extends EmbeddedDataState {
embeddedData: RelationElementsData;
showImportCSVModal: boolean;
showNewRelationElementModal: boolean;
activeRelationElement: RelationElementState | undefined;
relationElementStates: RelationElementState[];
constructor(editorStore: EditorStore, embeddedData: RelationElementsData);
label(): string;
setActiveRelationElement(val: RelationElementState | undefined): void;
addRelationElement(relationElement: RelationElement): void;
setShowImportCSVModal(show: boolean): void;
setShowNewRelationElementModal(show: boolean): void;
}
export declare class RelationalCSVDataTableState {
readonly editorStore: EditorStore;
table: RelationalCSVDataTable;
constructor(table: RelationalCSVDataTable, editorStore: EditorStore);
updateTableValues(val: string): void;
}
export declare class RelationalCSVDataState extends EmbeddedDataState {
embeddedData: RelationalCSVData;
selectedTable: RelationalCSVDataTableState | undefined;
showImportCSVModal: boolean;
database: Database | undefined;
showTableIdentifierModal: boolean;
tableToEdit: RelationalCSVDataTable | undefined;
constructor(editorStore: EditorStore, embeddedData: RelationalCSVData);
setShowImportCsvModal(val: boolean): void;
setDatabase(val: Database | undefined): void;
openIdentifierModal(renameTable?: RelationalCSVDataTable | undefined): void;
closeCSVModal(): void;
closeModal(): void;
importCSV(val: string): void;
resetSelectedTable(): void;
deleteTable(val: RelationalCSVDataTable): void;
changeSelectedTable(val: RelationalCSVDataTable): void;
label(): string;
}
export interface EmbeddedDataStateOption {
hideSource?: boolean;
}
export declare class UnsupportedDataState extends EmbeddedDataState {
label(): string;
}
export declare class DataElementReferenceState extends EmbeddedDataState {
embeddedData: DataElementReference;
embeddedDataValueState: EmbeddedDataState;
options?: EmbeddedDataStateOption | undefined;
constructor(editorStore: EditorStore, embeddedData: DataElementReference, options?: EmbeddedDataStateOption);
label(): string;
setDataElement(dataElement: DataElement): void;
buildValueState(options?: EmbeddedDataStateOption): EmbeddedDataState;
}
export declare function buildEmbeddedDataEditorState(_embeddedData: EmbeddedData, editorStore: EditorStore, options?: EmbeddedDataStateOption): EmbeddedDataState;
//# sourceMappingURL=EmbeddedDataState.d.ts.map