fix(fe/src/dashboard): optional chaining for possibly nullable parent attribute in LayoutItem type (#30442)

Signed-off-by: hainenber <dotronghai96@gmail.com>
This commit is contained in:
Đỗ Trọng Hải 2024-10-04 04:48:18 +07:00 committed by GitHub
parent 989744aba2
commit 2a458a4802
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 5 deletions

View File

@ -96,7 +96,7 @@ export const useFilterScope = (filter: Filter) => {
// We start assuming that all charts are in scope for all tabs in the root path
const topLevelTabsInFullScope = [...filter.scope.rootPath];
const layoutChartElementsInTabsInScope = layoutCharts.filter(element =>
element.parents.some(parent =>
element.parents?.some(parent =>
topLevelTabsInFullScope.includes(parent),
),
);
@ -105,7 +105,7 @@ export const useFilterScope = (filter: Filter) => {
const excludedIndex = topLevelTabsInFullScope.findIndex(tabId =>
layoutChartElementsInTabsInScope
.find(chart => chart.meta.chartId === chartId)
?.parents.includes(tabId),
?.parents?.includes(tabId),
);
if (excludedIndex > -1) {
topLevelTabsInFullScope.splice(excludedIndex, 1);
@ -119,7 +119,7 @@ export const useFilterScope = (filter: Filter) => {
layoutChartElementsInTabsInScope.find(
element =>
element.meta.chartId === chartId &&
element.parents.every(
element.parents?.every(
parent => !topLevelTabsInFullScope.includes(parent),
),
);

View File

@ -83,7 +83,7 @@ function useSelectChartTabParents() {
const chartLayoutItem = Object.values(dashboardLayout).find(
layoutItem => layoutItem.meta?.chartId === chartId,
);
return chartLayoutItem?.parents.filter(
return chartLayoutItem?.parents?.filter(
(parent: string) => dashboardLayout[parent]?.type === TAB_TYPE,
);
};

View File

@ -177,7 +177,7 @@ export type ComponentType = (typeof componentTypes)[ComponentTypesKeys];
/** State of dashboardLayout item in redux */
export type LayoutItem = {
children: string[];
parents: string[];
parents?: string[];
type: ComponentType;
id: string;
meta: {