diff --git a/src/backend/base/langflow/base/memory/memory.py b/src/backend/base/langflow/base/memory/memory.py index 836752509..1bb2e22ff 100644 --- a/src/backend/base/langflow/base/memory/memory.py +++ b/src/backend/base/langflow/base/memory/memory.py @@ -1,7 +1,5 @@ from typing import Optional -from langflow.field_typing import Text -from langflow.helpers.record import records_to_text from langflow.interface.custom.custom_component import CustomComponent from langflow.schema.schema import Record diff --git a/src/backend/base/langflow/interface/initialize/vector_store.py b/src/backend/base/langflow/interface/initialize/vector_store.py index 619baa3f0..8e596298c 100644 --- a/src/backend/base/langflow/interface/initialize/vector_store.py +++ b/src/backend/base/langflow/interface/initialize/vector_store.py @@ -5,7 +5,6 @@ import orjson from langchain_community.vectorstores import ( FAISS, Chroma, - ElasticsearchStore, MongoDBAtlasVectorSearch, Pinecone, Qdrant, diff --git a/src/backend/base/langflow/schema/schema.py b/src/backend/base/langflow/schema/schema.py index 29ab15ede..1474c24ee 100644 --- a/src/backend/base/langflow/schema/schema.py +++ b/src/backend/base/langflow/schema/schema.py @@ -4,7 +4,6 @@ from typing import Literal, Optional, cast from langchain_core.documents import Document from langchain_core.messages import AIMessage, BaseMessage, HumanMessage from pydantic import BaseModel, model_validator -from langchain_core.messages import HumanMessage, AIMessage class Record(BaseModel): diff --git a/src/frontend/src/components/ImageViewer/index.tsx b/src/frontend/src/components/ImageViewer/index.tsx index 6adda4e3e..dc7f41ad7 100644 --- a/src/frontend/src/components/ImageViewer/index.tsx +++ b/src/frontend/src/components/ImageViewer/index.tsx @@ -1,141 +1,162 @@ +import { saveAs } from "file-saver"; +import OpenSeadragon from "openseadragon"; import { useEffect, useRef, useState } from "react"; -import ForwardedIconComponent from "../genericIconComponent"; -import useFlowStore from "../../stores/flowStore"; -import OpenSeadragon from 'openseadragon'; -import { Separator } from "../ui/separator"; -import { saveAs } from 'file-saver' -import useAlertStore from "../../stores/alertStore"; import { IMGViewErrorMSG, IMGViewErrorTitle } from "../../constants/constants"; +import useAlertStore from "../../stores/alertStore"; +import ForwardedIconComponent from "../genericIconComponent"; +import { Separator } from "../ui/separator"; -export default function ImageViewer({image }) { +export default function ImageViewer({ image }) { const viewerRef = useRef(null); - const [errorDownloading, setErrordownloading] = useState(false) - const setErrorList = useAlertStore(state => state.setErrorData); + const [errorDownloading, setErrordownloading] = useState(false); + const setErrorList = useAlertStore((state) => state.setErrorData); const [initialMsg, setInicialMsg] = useState("Please build your flow"); + useEffect(() => { + try { + if (viewerRef.current) { + // Initialize OpenSeadragon viewer + const viewer = OpenSeadragon({ + element: viewerRef.current, + prefixUrl: + "https://cdnjs.cloudflare.com/ajax/libs/openseadragon/2.4.2/images/", // Optional: Set the path to OpenSeadragon images + tileSources: { type: "image", url: image }, + defaultZoomLevel: 1, + maxZoomPixelRatio: 4, + showNavigationControl: false, + }); + const zoomInButton = document.getElementById("zoom-in-button"); + const zoomOutButton = document.getElementById("zoom-out-button"); + const homeButton = document.getElementById("home-button"); + const fullPageButton = document.getElementById("full-page-button"); - useEffect(() => { - try { - if (viewerRef.current) { - // Initialize OpenSeadragon viewer - const viewer = OpenSeadragon({ - element: viewerRef.current, - prefixUrl: 'https://cdnjs.cloudflare.com/ajax/libs/openseadragon/2.4.2/images/', // Optional: Set the path to OpenSeadragon images - tileSources: {type: 'image', url: image}, - defaultZoomLevel: 1, - maxZoomPixelRatio: 4, - showNavigationControl: false, - }); - const zoomInButton = document.getElementById('zoom-in-button'); - const zoomOutButton = document.getElementById('zoom-out-button'); - const homeButton = document.getElementById('home-button'); - const fullPageButton = document.getElementById('full-page-button'); - - zoomInButton!.addEventListener('click', () => viewer.viewport.zoomBy(1.2)); - zoomOutButton!.addEventListener('click', () => viewer.viewport.zoomBy(0.8)); - homeButton!.addEventListener('click', () => viewer.viewport.goHome()); - fullPageButton!.addEventListener('click', () => viewer.setFullScreen(true)); - - // Optionally, you can set additional viewer options here - - // Cleanup function - return () => { - viewer.destroy(); - zoomInButton!.removeEventListener('click', () => viewer.viewport.zoomBy(1.2)); - zoomOutButton!.removeEventListener('click', () => viewer.viewport.zoomBy(0.8)); - homeButton!.removeEventListener('click', () => viewer.viewport.goHome()); - fullPageButton!.removeEventListener('click', () => viewer.setFullScreen(true)); - }; - } - } catch (error) { - console.error('Error initializing OpenSeadragon:', error); - } - }, [image]); + zoomInButton!.addEventListener("click", () => + viewer.viewport.zoomBy(1.2) + ); + zoomOutButton!.addEventListener("click", () => + viewer.viewport.zoomBy(0.8) + ); + homeButton!.addEventListener("click", () => viewer.viewport.goHome()); + fullPageButton!.addEventListener("click", () => + viewer.setFullScreen(true) + ); - function download() { - const imageUrl = image; - // Fetch the image data - fetch(imageUrl) - .then(response => response.blob()) - .then(blob => { - // Save the image using FileSaver.js - saveAs(blob, 'image.jpg'); - }) - .catch(error => { - setErrorList({title: "There was an error downloading your image"}) - console.error('Error downloading image:', error) - }); + // Optionally, you can set additional viewer options here + + // Cleanup function + return () => { + viewer.destroy(); + zoomInButton!.removeEventListener("click", () => + viewer.viewport.zoomBy(1.2) + ); + zoomOutButton!.removeEventListener("click", () => + viewer.viewport.zoomBy(0.8) + ); + homeButton!.removeEventListener("click", () => + viewer.viewport.goHome() + ); + fullPageButton!.removeEventListener("click", () => + viewer.setFullScreen(true) + ); + }; } + } catch (error) { + console.error("Error initializing OpenSeadragon:", error); + } + }, [image]); - return ( - image === "" ? ( -