Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"@eslint/compat": "^2.0.3",
"@eslint/eslintrc": "^3.3.5",
"@eslint/js": "^9.0.0",
"@meshery/schemas": "^1.0.4",
"@meshery/schemas": "^1.0.5",
"@mui/icons-material": "^7.3.9",
"@reduxjs/toolkit": "^2.11.2",
"@testing-library/dom": "^10.4.1",
Expand Down
22 changes: 12 additions & 10 deletions src/custom/Workspaces/hooks/useViewsAssignment.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { useEffect, useState } from 'react';
import { Pattern } from '../../CustomCatalog/CustomCard';
import type { components } from '@meshery/schemas/constructs/v1beta1/view/View';
import { withDefaultPageArgs } from '../../PerformersSection/PerformersSection';
import { AssignmentHookResult } from '../types';

type MesheryViewWithLocation = components['schemas']['MesheryViewWithLocation'];

interface AddedAndRemovedViews {
addedviewsIds: string[];
removedviewsIds: string[];
Expand All @@ -23,16 +25,16 @@ const useViewAssignment = ({
useAssignViewToWorkspaceMutation,
useUnassignViewFromWorkspaceMutation,
isViewsVisible
}: useViewAssignmentProps): AssignmentHookResult<Pattern> => {
}: useViewAssignmentProps): AssignmentHookResult<MesheryViewWithLocation> => {
const [viewsPage, setviewsPage] = useState<number>(0);
const [viewsData, setviewsData] = useState<Pattern[]>([]);
const [viewsData, setviewsData] = useState<MesheryViewWithLocation[]>([]);
const viewsPageSize = 25;
const [viewsOfWorkspacePage, setviewsOfWorkspacePage] = useState<number>(0);
const [workspaceviewsData, setWorkspaceviewsData] = useState<Pattern[]>([]);
const [workspaceviewsData, setWorkspaceviewsData] = useState<MesheryViewWithLocation[]>([]);
const [assignviewModal, setAssignviewModal] = useState<boolean>(false);
const [skipviews, setSkipviews] = useState<boolean>(true);
const [disableTransferButton, setDisableTransferButton] = useState<boolean>(true);
const [assignedviews, setAssignedviews] = useState<Pattern[]>([]);
const [assignedviews, setAssignedviews] = useState<MesheryViewWithLocation[]>([]);

const { data: views } = useGetViewsOfWorkspaceQuery(
withDefaultPageArgs({
Expand Down Expand Up @@ -96,17 +98,17 @@ const useViewAssignment = ({
}
};

const getAddedAndRemovedviews = (allAssignedviews: Pattern[]): AddedAndRemovedViews => {
const originalviewsIds = workspaceviewsData.map((view) => view.id);
const updatedviewsIds = allAssignedviews.map((view) => view.id);
const getAddedAndRemovedviews = (allAssignedviews: MesheryViewWithLocation[]): AddedAndRemovedViews => {
const originalviewsIds = workspaceviewsData.map((view) => view.id).filter((id): id is string => !!id);
const updatedviewsIds = allAssignedviews.map((view) => view.id).filter((id): id is string => !!id);

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

return { addedviewsIds, removedviewsIds };
};

const isViewsActivityOccurred = (allViews: Pattern[]): boolean => {
const isViewsActivityOccurred = (allViews: MesheryViewWithLocation[]): boolean => {
const { addedviewsIds, removedviewsIds } = getAddedAndRemovedviews(allViews);
return addedviewsIds.length > 0 || removedviewsIds.length > 0;
};
Expand Down Expand Up @@ -135,7 +137,7 @@ const useViewAssignment = ({
handleAssignviewModalClose();
};

const handleAssignviewsData = (updatedAssignedData: Pattern[]): void => {
const handleAssignviewsData = (updatedAssignedData: MesheryViewWithLocation[]): void => {
const { addedviewsIds, removedviewsIds } = getAddedAndRemovedviews(updatedAssignedData);
setDisableTransferButton(!(addedviewsIds.length > 0 || removedviewsIds.length > 0));
setAssignedviews(updatedAssignedData);
Expand Down
Loading