diff --git a/ui/src/pages/feature-views/FeatureViewLineageTab.tsx b/ui/src/pages/feature-views/FeatureViewLineageTab.tsx
index 65c4b472f31..39c31e17dbd 100644
--- a/ui/src/pages/feature-views/FeatureViewLineageTab.tsx
+++ b/ui/src/pages/feature-views/FeatureViewLineageTab.tsx
@@ -1,11 +1,20 @@
-import React, { useContext } from "react";
+import React, { useContext, useState } from "react";
import { useParams } from "react-router-dom";
-import { EuiEmptyPrompt, EuiLoadingSpinner } from "@elastic/eui";
+import {
+ EuiEmptyPrompt,
+ EuiLoadingSpinner,
+ EuiSpacer,
+ EuiSelect,
+ EuiFormRow,
+ EuiFlexGroup,
+ EuiFlexItem,
+} from "@elastic/eui";
import { feast } from "../../protos";
import useLoadRegistry from "../../queries/useLoadRegistry";
import RegistryPathContext from "../../contexts/RegistryPathContext";
import RegistryVisualization from "../../components/RegistryVisualization";
import { FEAST_FCO_TYPES } from "../../parsers/types";
+import { filterPermissionsByAction } from "../../utils/permissionUtils";
interface FeatureViewLineageTabProps {
data: feast.core.IFeatureView;
@@ -20,6 +29,7 @@ const FeatureViewLineageTab = ({ data }: FeatureViewLineageTabProps) => {
data: registryData,
} = useLoadRegistry(registryUrl);
const { featureViewName } = useParams();
+ const [selectedPermissionAction, setSelectedPermissionAction] = useState("");
const filterNode = {
type: FEAST_FCO_TYPES.featureView,
@@ -47,12 +57,45 @@ const FeatureViewLineageTab = ({ data }: FeatureViewLineageTabProps) => {
/>
)}
{isSuccess && registryData && (
-
+ <>
+
+
+
+
+ setSelectedPermissionAction(e.target.value)}
+ aria-label="Filter by permissions"
+ />
+
+
+
+
+ >
)}
>
);