Skip to content

Commit

Permalink
chore: moved extractRelevantKeys outside isDefaultQuery
Browse files Browse the repository at this point in the history
  • Loading branch information
ahmadshaheer committed Dec 12, 2024
1 parent f3488f6 commit c8d349c
Showing 1 changed file with 49 additions and 46 deletions.
95 changes: 49 additions & 46 deletions frontend/src/providers/QueryBuilder.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,53 @@ export function QueryBuilderProvider({
[getElementWithActualOperator],
);

const extractRelevantKeys = useCallback(
(queryData: IBuilderQuery): IBuilderQuery => {
const {
dataSource,
queryName,
aggregateOperator,
aggregateAttribute,
timeAggregation,
spaceAggregation,
functions,
filters,
expression,
disabled,
stepInterval,
having,
groupBy,
legend,
} = queryData;

return {
dataSource,
queryName,
aggregateOperator,
// remove id from aggregateAttribute
aggregateAttribute: {
...aggregateAttribute,
id: '',
},
timeAggregation,
spaceAggregation,
functions,
filters,
expression,
disabled,
stepInterval,
having,
groupBy,
legend,
// set to default values
orderBy: [],
limit: null,
reduceTo: 'avg',
};
},
[],
);

const isDefaultQuery = useCallback(
({ currentQuery, sourcePage }: IsDefaultQueryProps): boolean => {
// Get default query with updated operators
Expand All @@ -271,54 +318,10 @@ export function QueryBuilderProvider({
}

// If there is more than one query, then it is not a default query
if (currentQuery.builder.queryData.length !== 1) {
if (currentQuery.builder.queryData.length > 1) {
return false;
}

const extractRelevantKeys = (queryData: IBuilderQuery): IBuilderQuery => {
const {
dataSource,
queryName,
aggregateOperator,
aggregateAttribute,
timeAggregation,
spaceAggregation,
functions,
filters,
expression,
disabled,
stepInterval,
having,
groupBy,
legend,
} = queryData;

return {
dataSource,
queryName,
aggregateOperator,
// remove id from aggregateAttribute
aggregateAttribute: {
...aggregateAttribute,
id: '',
},
timeAggregation,
spaceAggregation,
functions,
filters,
expression,
disabled,
stepInterval,
having,
groupBy,
legend,
// set to default values
orderBy: [],
limit: null,
reduceTo: 'avg',
};
};

const currentBuilderData = extractRelevantKeys(
currentQuery.builder.queryData[0],
);
Expand All @@ -328,7 +331,7 @@ export function QueryBuilderProvider({

return isEqual(currentBuilderData, defaultBuilderData);
},
[updateAllQueriesOperators],
[updateAllQueriesOperators, extractRelevantKeys],
);
const updateQueriesData = useCallback(
<T extends keyof QueryBuilderData>(
Expand Down

0 comments on commit c8d349c

Please sign in to comment.