import { onMounted } from "vue"; import { useUrlManager } from "./useUrlManager"; /** * Функция для инициализации urlManager в плагине (без Vue lifecycle хуков) * Используется в install методе плагина */ export function initUrlManager() { if (typeof window !== "undefined") { const urlManager = useUrlManager({ enabled: true, paramKeys: { query: "q", sort: "sort", page: "page", filters: "filters", }, }); // Делаем urlManager доступным глобально (window as any).BarneoSearchWidget = (window as any).BarneoSearchWidget || {}; (window as any).BarneoSearchWidget.urlManager = urlManager; return urlManager; } return null; } /** * Composable для инициализации urlManager в основном приложении * Этот composable должен вызываться только один раз в корневом компоненте */ export function useUrlManagerInit() { const urlManager = useUrlManager({ enabled: true, paramKeys: { query: "q", sort: "sort", page: "page", filters: "filters", }, }); onMounted(() => { // Делаем urlManager доступным глобально if (typeof window !== "undefined") { (window as any).BarneoSearchWidget = (window as any).BarneoSearchWidget || {}; (window as any).BarneoSearchWidget.urlManager = urlManager; } }); return { urlManager, }; }