fix: minor saved views handling bug

This commit is contained in:
sawhil 2025-05-26 23:21:05 +05:30
parent 3d689e0a27
commit 8948d5c40e
3 changed files with 38 additions and 6 deletions

View File

@ -6,6 +6,7 @@ import { initialQueriesMap, PANEL_TYPES } from 'constants/queryBuilder';
import { mapQueryDataFromApi } from 'lib/newQueryBuilder/queryBuilderMappers/mapQueryDataFromApi'; import { mapQueryDataFromApi } from 'lib/newQueryBuilder/queryBuilderMappers/mapQueryDataFromApi';
import isEqual from 'lodash-es/isEqual'; import isEqual from 'lodash-es/isEqual';
import { Query } from 'types/api/queryBuilder/queryBuilderData'; import { Query } from 'types/api/queryBuilder/queryBuilderData';
import { DataSource } from 'types/common/queryBuilder';
import { import {
DeleteViewHandlerProps, DeleteViewHandlerProps,
@ -106,7 +107,11 @@ export const isQueryUpdatedInView = ({
!isEqual( !isEqual(
options?.selectColumns, options?.selectColumns,
extraData && JSON.parse(extraData)?.selectColumns, extraData && JSON.parse(extraData)?.selectColumns,
) ) ||
(stagedQuery?.builder?.queryData?.[0]?.dataSource === DataSource.LOGS &&
(!isEqual(options?.format, extraData && JSON.parse(extraData)?.format) ||
!isEqual(options?.maxLines, extraData && JSON.parse(extraData)?.maxLines) ||
!isEqual(options?.fontSize, extraData && JSON.parse(extraData)?.fontSize)))
); );
}; };

View File

@ -50,6 +50,7 @@ import {
X, X,
} from 'lucide-react'; } from 'lucide-react';
import { useAppContext } from 'providers/App/App'; import { useAppContext } from 'providers/App/App';
import { FormattingOptions } from 'providers/preferences/types';
import { import {
CSSProperties, CSSProperties,
Dispatch, Dispatch,
@ -259,17 +260,26 @@ function ExplorerOptions({
const getUpdatedExtraData = ( const getUpdatedExtraData = (
extraData: string | undefined, extraData: string | undefined,
newSelectedColumns: BaseAutocompleteData[], newSelectedColumns: BaseAutocompleteData[],
formattingOptions?: FormattingOptions,
): string => { ): string => {
let updatedExtraData; let updatedExtraData;
if (extraData) { if (extraData) {
const parsedExtraData = JSON.parse(extraData); const parsedExtraData = JSON.parse(extraData);
parsedExtraData.selectColumns = newSelectedColumns; parsedExtraData.selectColumns = newSelectedColumns;
if (formattingOptions) {
parsedExtraData.format = formattingOptions.format;
parsedExtraData.maxLines = formattingOptions.maxLines;
parsedExtraData.fontSize = formattingOptions.fontSize;
}
updatedExtraData = JSON.stringify(parsedExtraData); updatedExtraData = JSON.stringify(parsedExtraData);
} else { } else {
updatedExtraData = JSON.stringify({ updatedExtraData = JSON.stringify({
color: Color.BG_SIENNA_500, color: Color.BG_SIENNA_500,
selectColumns: newSelectedColumns, selectColumns: newSelectedColumns,
format: formattingOptions?.format,
maxLines: formattingOptions?.maxLines,
fontSize: formattingOptions?.fontSize,
}); });
} }
return updatedExtraData; return updatedExtraData;
@ -278,6 +288,14 @@ function ExplorerOptions({
const updatedExtraData = getUpdatedExtraData( const updatedExtraData = getUpdatedExtraData(
extraData, extraData,
options?.selectColumns, options?.selectColumns,
// pass this only for logs
sourcepage === DataSource.LOGS
? {
format: options?.format,
maxLines: options?.maxLines,
fontSize: options?.fontSize,
}
: undefined,
); );
const { const {

View File

@ -44,13 +44,22 @@ const getLogsUpdaterConfig = (
} }
}, },
updateFormatting: (newFormatting: FormattingOptions, mode: string): void => { updateFormatting: (newFormatting: FormattingOptions, mode: string): void => {
// Always update URL if (mode === 'savedView') {
redirectWithOptionsData({ setSavedViewPreferences((prev) => {
...defaultOptionsQuery, if (!prev) return { columns: [], formatting: newFormatting };
...newFormatting, return {
}); ...prev,
formatting: newFormatting,
};
});
}
if (mode === 'direct') { if (mode === 'direct') {
redirectWithOptionsData({
...defaultOptionsQuery,
...newFormatting,
});
// Also update local storage // Also update local storage
const local = JSON.parse( const local = JSON.parse(
localStorage.getItem(LOCALSTORAGE.LOGS_LIST_OPTIONS) || '{}', localStorage.getItem(LOCALSTORAGE.LOGS_LIST_OPTIONS) || '{}',