import { storeToRefs } from 'pinia' import { useSlidesStore, useMainStore } from '@/store' export default () => { const slidesStore = useSlidesStore() const mainStore = useMainStore() const { currentSlide } = storeToRefs(slidesStore) const { activeElementIdList, hiddenElementIdList } = storeToRefs(mainStore) const toggleHideElement = (id: string) => { if (hiddenElementIdList.value.includes(id)) { mainStore.setHiddenElementIdList(hiddenElementIdList.value.filter(item => item !== id)) } else mainStore.setHiddenElementIdList([...hiddenElementIdList.value, id]) if (activeElementIdList.value.includes(id)) mainStore.setActiveElementIdList([]) } const showAllElements = () => { const currentSlideElIdList = currentSlide.value.elements.map(item => item.id) const needHiddenElementIdList = hiddenElementIdList.value.filter(item => !currentSlideElIdList.includes(item)) mainStore.setHiddenElementIdList(needHiddenElementIdList) } const hideAllElements = () => { const currentSlideElIdList = currentSlide.value.elements.map(item => item.id) mainStore.setHiddenElementIdList([...hiddenElementIdList.value, ...currentSlideElIdList]) if (activeElementIdList.value.length) mainStore.setActiveElementIdList([]) } return { toggleHideElement, showAllElements, hideAllElements, } }