This commit is contained in:
cristhianzl 2024-06-11 15:47:04 -03:00
commit 6c081d04d3
8 changed files with 66 additions and 44 deletions

4
.gitignore vendored
View file

@ -266,3 +266,7 @@ stuff/*
src/frontend/playwright-report/index.html src/frontend/playwright-report/index.html
*.bak *.bak
prof/* prof/*
.langchain.db-shm
.langchain.db-wal
langflow.db-shm
langflow.db-wal

View file

@ -2,6 +2,8 @@ from typing import Optional
from langflow.base.io.chat import ChatComponent from langflow.base.io.chat import ChatComponent
from langflow.schema.message import Message from langflow.schema.message import Message
from langflow.field_typing import Text
from typing import Union
class ChatInput(ChatComponent): class ChatInput(ChatComponent):
@ -26,7 +28,7 @@ class ChatInput(ChatComponent):
input_value: Optional[str] = None, input_value: Optional[str] = None,
files: Optional[list[str]] = None, files: Optional[list[str]] = None,
session_id: Optional[str] = None, session_id: Optional[str] = None,
) -> Message: ) -> Union[Message, Text]:
return super().build_with_record( return super().build_with_record(
sender=sender, sender=sender,
sender_name=sender_name, sender_name=sender_name,

View file

@ -48,7 +48,7 @@
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"framer-motion": "^11.0.6", "framer-motion": "^11.0.6",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"lucide-react": "^0.331.0", "lucide-react": "^0.394.0",
"million": "^3.0.6", "million": "^3.0.6",
"moment": "^2.29.4", "moment": "^2.29.4",
"openseadragon": "^4.1.1", "openseadragon": "^4.1.1",
@ -8613,9 +8613,9 @@
} }
}, },
"node_modules/lucide-react": { "node_modules/lucide-react": {
"version": "0.331.0", "version": "0.394.0",
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.331.0.tgz", "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.394.0.tgz",
"integrity": "sha512-CHFJ0ve9vaZ7bB2VRAl27SlX1ELh6pfNC0jS96qGpPEEzLkLDGq4pDBFU8RhOoRMqsjXqTzLm9U6bZ1OcIHq7Q==", "integrity": "sha512-PzTbJ0bsyXRhH59k5qe7MpTd5MxlpYZUcM9kGSwvPGAfnn0J6FElDwu2EX6Vuh//F7y60rcVJiFQ7EK9DCMgfw==",
"peerDependencies": { "peerDependencies": {
"react": "^16.5.1 || ^17.0.0 || ^18.0.0" "react": "^16.5.1 || ^17.0.0 || ^18.0.0"
} }

View file

@ -43,7 +43,7 @@
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"framer-motion": "^11.0.6", "framer-motion": "^11.0.6",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"lucide-react": "^0.331.0", "lucide-react": "^0.394.0",
"million": "^3.0.6", "million": "^3.0.6",
"moment": "^2.29.4", "moment": "^2.29.4",
"openseadragon": "^4.1.1", "openseadragon": "^4.1.1",

View file

@ -110,7 +110,7 @@ export default function GenericNode({
}; };
const renderIconStatus = () => { const renderIconStatus = () => {
return iconStatus; return <div className="cursor-help">{iconStatus}</div>;
}; };
const getNodeBorderClassName = ( const getNodeBorderClassName = (
@ -518,30 +518,6 @@ export default function GenericNode({
{showNode && ( {showNode && (
<> <>
<div className="flex flex-shrink-0 items-center gap-2"> <div className="flex flex-shrink-0 items-center gap-2">
<Button
onClick={() => {
if (buildStatus === BuildStatus.BUILDING || isBuilding)
return;
setValidationStatus(null);
buildFlow({ stopNodeId: data.id });
}}
variant="none"
size="none"
className="group p-1"
>
<div
data-testid={
`button_run_` + data?.node?.display_name.toLowerCase()
}
>
<IconComponent
name="Play"
className={
"h-5 w-5 fill-current stroke-2 text-muted-foreground transition-all group-hover:text-medium-indigo group-hover/node:opacity-100"
}
/>
</div>
</Button>
<ShadTooltip <ShadTooltip
content={ content={
buildStatus === BuildStatus.BUILDING ? ( buildStatus === BuildStatus.BUILDING ? (
@ -573,6 +549,30 @@ export default function GenericNode({
> >
{renderIconStatus()} {renderIconStatus()}
</ShadTooltip> </ShadTooltip>
<Button
onClick={() => {
if (buildStatus === BuildStatus.BUILDING || isBuilding)
return;
setValidationStatus(null);
buildFlow({ stopNodeId: data.id });
}}
variant="none"
size="none"
className="group p-1"
>
<div
data-testid={
`button_run_` + data?.node?.display_name.toLowerCase()
}
>
<IconComponent
name="Play"
className={
"h-5 w-5 fill-current stroke-2 text-muted-foreground transition-all group-hover:text-medium-indigo group-hover/node:opacity-100"
}
/>
</div>
</Button>
</div> </div>
</> </>
)} )}

View file

@ -1,4 +1,7 @@
import ForwardedIconComponent from "../../components/genericIconComponent";
import Checkmark from "../../components/ui/checkmark";
import Loading from "../../components/ui/loading"; import Loading from "../../components/ui/loading";
import Xmark from "../../components/ui/xmark";
import { BuildStatus } from "../../constants/enums"; import { BuildStatus } from "../../constants/enums";
import { VertexBuildTypeAPI } from "../../types/api"; import { VertexBuildTypeAPI } from "../../types/api";
import { cn } from "../../utils/utils"; import { cn } from "../../utils/utils";
@ -21,18 +24,29 @@ const useIconStatus = (
return <Loading className="text-medium-indigo" />; return <Loading className="text-medium-indigo" />;
} else { } else {
return ( return (
<div <>
className={cn( {conditionSuccess ? (
"h-4 w-4 shrink-0 cursor-pointer rounded-full", <Checkmark
conditionSuccess className="h-6 w-6 stroke-2 text-status-green transition-all"
? "bg-status-green" isVisible={true}
: conditionInactive />
? "bg-status-gray" ) : conditionInactive ? (
: conditionError <ForwardedIconComponent
? "bg-status-red" name="Ellipsis"
: "bg-muted-foreground/40", className="h-6 w-6 fill-current stroke-2 text-status-gray opacity-30"
/>
) : conditionError ? (
<Xmark
isVisible={true}
className="h-6 w-6 fill-current stroke-2 text-status-red"
/>
) : (
<ForwardedIconComponent
name="Ellipsis"
className="h-6 w-6 fill-current stroke-2 text-status-gray opacity-70"
/>
)} )}
/> </>
); );
} }
}; };

View file

@ -7,7 +7,7 @@ export default function Checkmark({ initial = true, isVisible, className }) {
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
fill="none" fill="none"
viewBox="0 0 24 24" viewBox="0 0 24 24"
strokeWidth={1.5} strokeWidth={2}
stroke="currentColor" stroke="currentColor"
className={"CheckIcon " + className} className={"CheckIcon " + className}
> >

View file

@ -40,6 +40,7 @@ import {
Download, Download,
DownloadCloud, DownloadCloud,
Edit, Edit,
Ellipsis,
Eraser, Eraser,
ExternalLink, ExternalLink,
Eye, Eye,
@ -530,6 +531,7 @@ export const nodeIconsLucide: iconsType = {
ScreenShare, ScreenShare,
Code, Code,
Type, Type,
Ellipsis,
Braces, Braces,
FlaskConical, FlaskConical,
AlertCircle, AlertCircle,