import React, { useState } from "react";
import { XMarkIcon } from "@navikt/aksel-icons";
import { ActionMenu } from "../../action-menu";
import { Popover } from "../../popover";
import type { ExternalToken, OperationT } from "./TokenFilter.types";
type TokenFilterChipsProps = {
tokens: ExternalToken[];
removeToken: (index: number) => void;
operation: OperationT;
updateOperation: (operation: OperationT) => void;
};
function TokenFilterChips(props: TokenFilterChipsProps) {
const { tokens, removeToken, operation, updateOperation } = props;
if (tokens.length === 0) {
return null;
}
return (
{tokens.map((token, index) => (
removeToken(index)}
token={token}
showOperation={index > 0}
operation={operation}
updateOperation={updateOperation}
/>
))}
);
}
type TokenFilterChipProps = {
token: ExternalToken;
onRemove: () => void;
showOperation: boolean;
operation?: OperationT;
updateOperation?: (operation: OperationT) => void;
};
function TokenFilterChip(props: TokenFilterChipProps) {
const { token, onRemove, showOperation, operation } = props;
const [popupAnchor, setPopupAnchor] = useState(
null,
);
const [isPopupOpen, setIsPopupOpen] = useState(false);
return (
{showOperation && (
props.updateOperation?.("and")}>
AND
props.updateOperation?.("or")}>
OR
)}
setIsPopupOpen(false)}
anchorEl={popupAnchor}
placement="bottom-start"
>
Edit filter
);
}
export { TokenFilterChips };