Logs: fix logs table reset
This commit is contained in:
@@ -596,9 +596,9 @@ const UnthemedLogs: React.FunctionComponent<Props> = (props: Props) => {
|
||||
|
||||
const clearDisplayedFields = useCallback(() => {
|
||||
updatePanelState({
|
||||
displayedFields: [],
|
||||
displayedFields: defaultDisplayedFields,
|
||||
});
|
||||
}, [updatePanelState]);
|
||||
}, [defaultDisplayedFields, updatePanelState]);
|
||||
|
||||
// Wrapper function for setDisplayedFields prop - updates Redux directly
|
||||
const setDisplayedFields = useCallback(
|
||||
@@ -1047,6 +1047,7 @@ const UnthemedLogs: React.FunctionComponent<Props> = (props: Props) => {
|
||||
updatePanelState={updatePanelState}
|
||||
datasourceType={props.datasourceType}
|
||||
displayedFields={displayedFields}
|
||||
defaultDisplayedFields={defaultDisplayedFields}
|
||||
exploreId={props.exploreId}
|
||||
absoluteRange={props.absoluteRange}
|
||||
logRows={props.logRows}
|
||||
@@ -1086,6 +1087,7 @@ const UnthemedLogs: React.FunctionComponent<Props> = (props: Props) => {
|
||||
getFieldLinks={getFieldLinks}
|
||||
logsSortOrder={logsSortOrder}
|
||||
displayedFields={displayedFields}
|
||||
defaultDisplayedFields={defaultDisplayedFields}
|
||||
onClickShowField={showField}
|
||||
onClickHideField={hideField}
|
||||
app={CoreApp.Explore}
|
||||
|
||||
@@ -53,6 +53,7 @@ interface Props {
|
||||
datasourceType?: string;
|
||||
exploreId?: string;
|
||||
displayedFields?: string[];
|
||||
defaultDisplayedFields?: string[];
|
||||
absoluteRange?: AbsoluteTimeRange;
|
||||
logRows?: LogRowModel[];
|
||||
}
|
||||
@@ -78,7 +79,7 @@ type FieldName = string;
|
||||
export type FieldNameMetaStore = Record<FieldName, FieldNameMeta>;
|
||||
|
||||
export function LogsTableWrap(props: Props) {
|
||||
const { logsFrames, updatePanelState, panelState } = props;
|
||||
const { logsFrames, updatePanelState, panelState, defaultDisplayedFields } = props;
|
||||
const propsColumns = panelState?.displayedFields;
|
||||
// Save the normalized cardinality of each label
|
||||
const [columnsWithMeta, setColumnsWithMeta] = useState<FieldNameMetaStore | undefined>(undefined);
|
||||
@@ -124,14 +125,17 @@ export function LogsTableWrap(props: Props) {
|
||||
|
||||
useEffect(() => {
|
||||
if (logsFrame?.timeField.name && logsFrame?.bodyField.name && !propsColumns) {
|
||||
const defaultColumns = [logsFrame?.timeField.name, logsFrame?.bodyField.name];
|
||||
// Use defaultDisplayedFields if available, otherwise fall back to basic defaults
|
||||
const columns = defaultDisplayedFields?.length
|
||||
? defaultDisplayedFields
|
||||
: [logsFrame?.timeField.name, logsFrame?.bodyField.name];
|
||||
updatePanelState({
|
||||
displayedFields: defaultColumns,
|
||||
displayedFields: columns,
|
||||
visualisationType: 'table',
|
||||
labelFieldName: logsFrame?.getLabelFieldName() ?? undefined,
|
||||
});
|
||||
}
|
||||
}, [logsFrame, propsColumns, updatePanelState]);
|
||||
}, [logsFrame, propsColumns, updatePanelState, defaultDisplayedFields]);
|
||||
|
||||
/**
|
||||
* When logs frame updates (e.g. query|range changes), we need to set the selected frame to state
|
||||
@@ -399,9 +403,9 @@ export function LogsTableWrap(props: Props) {
|
||||
}
|
||||
});
|
||||
setColumnsWithMeta(pendingLabelState);
|
||||
// Reset displayedFields to empty array to trigger defaults logic
|
||||
// Reset displayedFields to defaults
|
||||
updatePanelState({
|
||||
displayedFields: [],
|
||||
displayedFields: defaultDisplayedFields?.length ? defaultDisplayedFields : [],
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ export interface ControlledLogRowsProps extends Omit<Props, 'scrollElement'> {
|
||||
width?: number;
|
||||
logsTableFrames?: DataFrame[];
|
||||
displayedFields?: string[];
|
||||
defaultDisplayedFields?: string[];
|
||||
exploreId?: string;
|
||||
absoluteRange?: AbsoluteTimeRange;
|
||||
logRows?: LogRowModel[];
|
||||
|
||||
@@ -26,6 +26,7 @@ export const ControlledLogsTable = ({
|
||||
logsTableFrames,
|
||||
visualisationType,
|
||||
displayedFields,
|
||||
defaultDisplayedFields,
|
||||
exploreId,
|
||||
absoluteRange,
|
||||
logRows,
|
||||
@@ -63,6 +64,7 @@ export const ControlledLogsTable = ({
|
||||
updatePanelState={updatePanelState}
|
||||
datasourceType={datasourceType}
|
||||
displayedFields={displayedFields}
|
||||
defaultDisplayedFields={defaultDisplayedFields}
|
||||
exploreId={exploreId}
|
||||
absoluteRange={absoluteRange}
|
||||
logRows={logRows}
|
||||
|
||||
Reference in New Issue
Block a user