@finos/legend-data-cube
Version:
56 lines • 3.3 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 DataCubeSnapshot } from '../../core/DataCubeSnapshot.js';
import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.js';
import { DataCubeEditorColumnsSelectorColumnState, DataCubeEditorColumnsSelectorState } from './DataCubeEditorColumnsSelectorState.js';
import type { DataCubeEditorState } from './DataCubeEditorState.js';
import { type DataCubeConfiguration } from '../../core/model/DataCubeConfiguration.js';
export declare class DataCubeEditorBasicColumnsSelectorState extends DataCubeEditorColumnsSelectorState<DataCubeEditorColumnsSelectorColumnState> {
showHiddenColumns: boolean;
constructor(editor: DataCubeEditorState, options?: {
onChange?: ((select: DataCubeEditorColumnsSelectorState<DataCubeEditorColumnsSelectorColumnState>) => void) | undefined;
});
cloneColumn(column: DataCubeEditorColumnsSelectorColumnState): DataCubeEditorColumnsSelectorColumnState;
get availableColumns(): DataCubeEditorColumnsSelectorColumnState[];
get availableColumnsForDisplay(): DataCubeEditorColumnsSelectorColumnState[];
get selectedColumnsForDisplay(): DataCubeEditorColumnsSelectorColumnState[];
setShowHiddenColumns(val: boolean): void;
}
/**
* This panel allows selection of columns (including extended columns) for the query.
*
* NOTE: this does not really represent the `select()` function in the query. Think about
* this column selection more intuitively from users' perspective, i.e. what columns they
* wish to see in the grid. Whereas the `select()` function actually impact the data fetching
* which should be computed based on more than just information coming from this panels, such
* as horizontal pivots and vertical pivots, since regardless of whether user choose to see
* those columns or not, they still need to be fetched.
*/
export declare class DataCubeEditorColumnsPanelState implements DataCubeQueryEditorPanelState {
private readonly _editor;
readonly selector: DataCubeEditorBasicColumnsSelectorState;
constructor(editor: DataCubeEditorState);
/**
* NOTE: Ideally, this should be called on every changes made to the column selection, but to
* give user some room for error, i.e. when user accidentally select/deselect columns, we would
* not propagate this change until user either leaves this panel or explicitly applies changes
* (i.e. publishes a new snapshot)
*/
propagateChanges(): void;
applySnaphot(snapshot: DataCubeSnapshot, configuration: DataCubeConfiguration): void;
buildSnapshot(newSnapshot: DataCubeSnapshot, baseSnapshot: DataCubeSnapshot): void;
}
//# sourceMappingURL=DataCubeEditorColumnsPanelState.d.ts.map