Skip to content

Commit 0a67d9a

Browse files
committed
chore: upgrade @meshery/schemas to v1.0.5 and use View types
Replace Pattern stand-in type with proper MesheryViewWithLocation from the dedicated view package in workspace View components. Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
1 parent 5608044 commit 0a67d9a

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"@eslint/compat": "^2.0.3",
4848
"@eslint/eslintrc": "^3.3.5",
4949
"@eslint/js": "^9.0.0",
50-
"@meshery/schemas": "^1.0.4",
50+
"@meshery/schemas": "^1.0.5",
5151
"@mui/icons-material": "^7.3.9",
5252
"@reduxjs/toolkit": "^2.11.2",
5353
"@testing-library/dom": "^10.4.1",

src/custom/Workspaces/hooks/useViewsAssignment.tsx

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
/* eslint-disable @typescript-eslint/no-explicit-any */
22
import { useEffect, useState } from 'react';
3-
import { Pattern } from '../../CustomCatalog/CustomCard';
3+
import type { components } from '@meshery/schemas/constructs/v1beta1/view/View';
44
import { withDefaultPageArgs } from '../../PerformersSection/PerformersSection';
55
import { AssignmentHookResult } from '../types';
66

7+
type MesheryViewWithLocation = components['schemas']['MesheryViewWithLocation'];
8+
79
interface AddedAndRemovedViews {
810
addedviewsIds: string[];
911
removedviewsIds: string[];
@@ -23,16 +25,16 @@ const useViewAssignment = ({
2325
useAssignViewToWorkspaceMutation,
2426
useUnassignViewFromWorkspaceMutation,
2527
isViewsVisible
26-
}: useViewAssignmentProps): AssignmentHookResult<Pattern> => {
28+
}: useViewAssignmentProps): AssignmentHookResult<MesheryViewWithLocation> => {
2729
const [viewsPage, setviewsPage] = useState<number>(0);
28-
const [viewsData, setviewsData] = useState<Pattern[]>([]);
30+
const [viewsData, setviewsData] = useState<MesheryViewWithLocation[]>([]);
2931
const viewsPageSize = 25;
3032
const [viewsOfWorkspacePage, setviewsOfWorkspacePage] = useState<number>(0);
31-
const [workspaceviewsData, setWorkspaceviewsData] = useState<Pattern[]>([]);
33+
const [workspaceviewsData, setWorkspaceviewsData] = useState<MesheryViewWithLocation[]>([]);
3234
const [assignviewModal, setAssignviewModal] = useState<boolean>(false);
3335
const [skipviews, setSkipviews] = useState<boolean>(true);
3436
const [disableTransferButton, setDisableTransferButton] = useState<boolean>(true);
35-
const [assignedviews, setAssignedviews] = useState<Pattern[]>([]);
37+
const [assignedviews, setAssignedviews] = useState<MesheryViewWithLocation[]>([]);
3638

3739
const { data: views } = useGetViewsOfWorkspaceQuery(
3840
withDefaultPageArgs({
@@ -96,17 +98,17 @@ const useViewAssignment = ({
9698
}
9799
};
98100

99-
const getAddedAndRemovedviews = (allAssignedviews: Pattern[]): AddedAndRemovedViews => {
100-
const originalviewsIds = workspaceviewsData.map((view) => view.id);
101-
const updatedviewsIds = allAssignedviews.map((view) => view.id);
101+
const getAddedAndRemovedviews = (allAssignedviews: MesheryViewWithLocation[]): AddedAndRemovedViews => {
102+
const originalviewsIds = workspaceviewsData.map((view) => view.id).filter((id): id is string => !!id);
103+
const updatedviewsIds = allAssignedviews.map((view) => view.id).filter((id): id is string => !!id);
102104

103105
const addedviewsIds = updatedviewsIds.filter((id) => !originalviewsIds.includes(id));
104106
const removedviewsIds = originalviewsIds.filter((id) => !updatedviewsIds.includes(id));
105107

106108
return { addedviewsIds, removedviewsIds };
107109
};
108110

109-
const isViewsActivityOccurred = (allViews: Pattern[]): boolean => {
111+
const isViewsActivityOccurred = (allViews: MesheryViewWithLocation[]): boolean => {
110112
const { addedviewsIds, removedviewsIds } = getAddedAndRemovedviews(allViews);
111113
return addedviewsIds.length > 0 || removedviewsIds.length > 0;
112114
};
@@ -135,7 +137,7 @@ const useViewAssignment = ({
135137
handleAssignviewModalClose();
136138
};
137139

138-
const handleAssignviewsData = (updatedAssignedData: Pattern[]): void => {
140+
const handleAssignviewsData = (updatedAssignedData: MesheryViewWithLocation[]): void => {
139141
const { addedviewsIds, removedviewsIds } = getAddedAndRemovedviews(updatedAssignedData);
140142
setDisableTransferButton(!(addedviewsIds.length > 0 || removedviewsIds.length > 0));
141143
setAssignedviews(updatedAssignedData);

0 commit comments

Comments
 (0)