import { useState } from "react"; import { useHasUserPermission, usePermissions } from "../../Map/hooks/usePermissions"; import DialogModal from "../../Templates/DialogModal"; import { useItems } from "../../Map/hooks/useItems"; import { HeaderView } from "../../Map/Subcomponents/ItemPopupComponents/HeaderView"; import { Item } from "../../../types"; import { TextInput } from "../../Input"; import { getValue } from "../../../Utils/GetValue"; import { useGetItemTags } from "../../Map/hooks/useTags"; export function ActionButton({ item, triggerAddButton, triggerItemSelected, existingRelations, itemType, colorField, collection = "items", customStyle }: { triggerAddButton?: any, triggerItemSelected?: any, existingRelations: Item[], itemType?: string; colorField?: string, collection?: string, customStyle?:string, item: Item }) { const hasUserPermission = useHasUserPermission(); const [modalOpen, setModalOpen] = useState(false); const [search, setSearch] = useState(""); const getItemTags = useGetItemTags(); const items = useItems(); const filterdItems = items.filter(i => !itemType || i.layer?.itemType.name == itemType).filter(i => !existingRelations.some(s => s.id == i.id)).filter(i => i.id != item.id) return ( <>{hasUserPermission(collection, "update", item) && <>
{triggerItemSelected && } {triggerAddButton && }
(setModalOpen(false))} className="tw-w-xl sm:tw-w-2xl tw-min-h-80 tw-bg-base-200"> { setSearch(val) }}>
{filterdItems.filter(item => { return search === '' ? item : item.name.toLowerCase().includes(search.toLowerCase()); }).map(i =>
{ triggerItemSelected(i.id); setModalOpen(false) }}>
)}
} ) }