@finos/legend-data-cube
Version:
72 lines • 3.91 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 { DataCubeViewState } from '../DataCubeViewState.js';
import { DataCubeEditorSortsPanelState } from './DataCubeEditorSortsPanelState.js';
import { DataCubeSnapshotController } from '../../services/DataCubeSnapshotService.js';
import { type DataCubeSnapshot, type DataCubeSnapshotExtendedColumn } from '../../core/DataCubeSnapshot.js';
import { type DataCubeColumn } from '../../core/model/DataCubeColumn.js';
import { ActionState } from '@finos/legend-shared';
import { DataCubeEditorGeneralPropertiesPanelState } from './DataCubeEditorGeneralPropertiesPanelState.js';
import { DataCubeEditorColumnPropertiesPanelState } from './DataCubeEditorColumnPropertiesPanelState.js';
import { DataCubeEditorColumnsPanelState } from './DataCubeEditorColumnsPanelState.js';
import { DataCubeEditorVerticalPivotsPanelState } from './DataCubeEditorVerticalPivotsPanelState.js';
import type { DisplayState } from '../../services/DataCubeLayoutService.js';
import { DataCubeEditorHorizontalPivotsPanelState } from './DataCubeEditorHorizontalPivotsPanelState.js';
import { DataCubeEditorPivotLayoutPanelState } from './DataCubeEditorPivotLayoutPanelState.js';
import { DataCubeEditorDimensionsPanelState } from './DataCubeEditorDimensionsPanelState.js';
export declare enum DataCubeEditorTab {
GENERAL_PROPERTIES = "General Properties",
COLUMN_PROPERTIES = "Column Properties",
COLUMNS = "Columns",
VERTICAL_PIVOTS = "Vertical Pivots",
DIMENSIONS = "Dimensions",
HORIZONTAL_PIVOTS = "Horizontal Pivots",
SORTS = "Sorts"
}
/**
* This query editor state backs the main form editor of data cube. It supports
* batching changes before engine, i.e. allowing user to make multiple edits before
* applying and propgating them.
*
* NOTE: It allows almost FULL 1-1 control over the data cube query state.
* It could also host other form editor states like filter editors, but due to ergonomic
* reasons, those have been separated out into their own respective query editor states.
*/
export declare class DataCubeEditorState extends DataCubeSnapshotController {
readonly view: DataCubeViewState;
readonly display: DisplayState;
readonly finalizationState: ActionState;
readonly generalProperties: DataCubeEditorGeneralPropertiesPanelState;
readonly pivotLayout: DataCubeEditorPivotLayoutPanelState;
readonly columnProperties: DataCubeEditorColumnPropertiesPanelState;
readonly columns: DataCubeEditorColumnsPanelState;
readonly horizontalPivots: DataCubeEditorHorizontalPivotsPanelState;
readonly verticalPivots: DataCubeEditorVerticalPivotsPanelState;
readonly dimensions: DataCubeEditorDimensionsPanelState;
readonly sorts: DataCubeEditorSortsPanelState;
currentTab: DataCubeEditorTab;
sourceColumns: DataCubeColumn[];
leafExtendColumns: DataCubeSnapshotExtendedColumn[];
groupExtendColumns: DataCubeSnapshotExtendedColumn[];
constructor(view: DataCubeViewState);
setCurrentTab(val: DataCubeEditorTab): void;
applySnapshot(snapshot: DataCubeSnapshot, previousSnapshot: DataCubeSnapshot | undefined): Promise<void>;
getSnapshotSubscriberName(): string;
applyChanges(options?: {
closeAfterApply?: boolean | undefined;
}): Promise<void>;
}
//# sourceMappingURL=DataCubeEditorState.d.ts.map