Fix: Backspace doesnt work on tweak page
This commit is contained in:
parent
185754e2cd
commit
0ffdaa00a5
12 changed files with 53 additions and 108 deletions
|
|
@ -1,33 +1,33 @@
|
||||||
version: "3.4"
|
version: "3.4"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/app
|
- ./:/app
|
||||||
build:
|
build:
|
||||||
context: ./
|
context: ./
|
||||||
dockerfile: ./dev.Dockerfile
|
dockerfile: ./dev.Dockerfile
|
||||||
command:
|
command:
|
||||||
[
|
[
|
||||||
"sh",
|
"sh",
|
||||||
"-c",
|
"-c",
|
||||||
"pip install debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 -m uvicorn --factory src.backend.langflow.main:create_app --host 0.0.0.0 --port 7860 --reload",
|
"pip install debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 -m uvicorn --factory src.backend.langflow.main:create_app --host 0.0.0.0 --port 7860 --reload",
|
||||||
]
|
]
|
||||||
ports:
|
ports:
|
||||||
- 7860:7860
|
- 7860:7860
|
||||||
- 5678:5678
|
- 5678:5678
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
|
|
||||||
frontend:
|
frontend:
|
||||||
build:
|
build:
|
||||||
context: ./src/frontend
|
context: ./src/frontend
|
||||||
dockerfile: ./dev.Dockerfile
|
dockerfile: ./dev.Dockerfile
|
||||||
args:
|
args:
|
||||||
- BACKEND_URL=http://backend:7860
|
- BACKEND_URL=http://backend:7860
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "3000:3000"
|
||||||
volumes:
|
volumes:
|
||||||
- ./src/frontend/public:/home/node/app/public
|
- ./src/frontend/public:/home/node/app/public
|
||||||
- ./src/frontend/src:/home/node/app/src
|
- ./src/frontend/src:/home/node/app/src
|
||||||
- ./src/frontend/package.json:/home/node/app/package.json
|
- ./src/frontend/package.json:/home/node/app/package.json
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
|
|
|
||||||
BIN
docs/static/img/logo.svg
vendored
BIN
docs/static/img/logo.svg
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
BIN
docs/static/img/new_langflow.gif
vendored
BIN
docs/static/img/new_langflow.gif
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB |
BIN
docs/static/img/new_langflow2.gif
vendored
BIN
docs/static/img/new_langflow2.gif
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB |
BIN
docs/static/videos/langflow_api.mp4
vendored
BIN
docs/static/videos/langflow_api.mp4
vendored
Binary file not shown.
BIN
docs/static/videos/langflow_build.mp4
vendored
BIN
docs/static/videos/langflow_build.mp4
vendored
Binary file not shown.
BIN
docs/static/videos/langflow_collection.mp4
vendored
BIN
docs/static/videos/langflow_collection.mp4
vendored
Binary file not shown.
BIN
docs/static/videos/langflow_collection_example.mp4
vendored
BIN
docs/static/videos/langflow_collection_example.mp4
vendored
Binary file not shown.
BIN
docs/static/videos/langflow_fork.mp4
vendored
BIN
docs/static/videos/langflow_fork.mp4
vendored
Binary file not shown.
BIN
docs/static/videos/langflow_parameters.mp4
vendored
BIN
docs/static/videos/langflow_parameters.mp4
vendored
Binary file not shown.
|
|
@ -33,10 +33,10 @@ export default function AccordionComponent({
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleKeyDown = (event) => {
|
const handleKeyDown = (event) => {
|
||||||
if (event.key === "Backspace") {
|
/* if (event.key === "Backspace") {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
}
|
} */
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
|
|
@ -159,13 +159,13 @@ export default function CodeTabsComponent({
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{tabs.map((tab, index) => (
|
{tabs.map((tab, idx) => (
|
||||||
<TabsContent
|
<TabsContent
|
||||||
value={index.toString()}
|
value={idx.toString()}
|
||||||
className="api-modal-tabs-content"
|
className="api-modal-tabs-content"
|
||||||
key={index} // Remember to add a unique key prop
|
key={idx} // Remember to add a unique key prop
|
||||||
>
|
>
|
||||||
{index < 4 ? (
|
{idx < 4 ? (
|
||||||
<>
|
<>
|
||||||
{tab.description && (
|
{tab.description && (
|
||||||
<div
|
<div
|
||||||
|
|
@ -181,7 +181,7 @@ export default function CodeTabsComponent({
|
||||||
{tab.code}
|
{tab.code}
|
||||||
</SyntaxHighlighter>
|
</SyntaxHighlighter>
|
||||||
</>
|
</>
|
||||||
) : index === 4 ? (
|
) : idx === 4 ? (
|
||||||
<>
|
<>
|
||||||
<div className="api-modal-according-display">
|
<div className="api-modal-according-display">
|
||||||
<div
|
<div
|
||||||
|
|
@ -192,8 +192,8 @@ export default function CodeTabsComponent({
|
||||||
: "overflow-hidden"
|
: "overflow-hidden"
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{data?.map((node: any, index) => (
|
{data?.map((node: any, i) => (
|
||||||
<div className="px-3" key={index}>
|
<div className="px-3" key={i}>
|
||||||
{tweaks?.tweaksList!.current.includes(
|
{tweaks?.tweaksList!.current.includes(
|
||||||
node["data"]["id"]
|
node["data"]["id"]
|
||||||
) && (
|
) && (
|
||||||
|
|
@ -236,10 +236,10 @@ export default function CodeTabsComponent({
|
||||||
node.data.node.template[templateField]
|
node.data.node.template[templateField]
|
||||||
.type === "int")
|
.type === "int")
|
||||||
)
|
)
|
||||||
.map((templateField, index) => {
|
.map((templateField, indx) => {
|
||||||
return (
|
return (
|
||||||
<TableRow
|
<TableRow
|
||||||
key={index}
|
key={indx}
|
||||||
className="h-10 dark:border-b-muted"
|
className="h-10 dark:border-b-muted"
|
||||||
>
|
>
|
||||||
<TableCell className="p-0 text-center text-sm text-foreground">
|
<TableCell className="p-0 text-center text-sm text-foreground">
|
||||||
|
|
@ -277,13 +277,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
newInputList!.find(
|
newInputList![i].data.node.template[
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = target;
|
].value = target;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
@ -330,13 +324,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
newInputList!.find(
|
newInputList![i].data.node.template[
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = target;
|
].value = target;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
@ -379,13 +367,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
newInputList!.find(
|
newInputList![i].data.node.template[
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = target;
|
].value = target;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
@ -416,13 +398,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
newInputList!.find(
|
newInputList![i].data.node.template[
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = e;
|
].value = e;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
@ -511,13 +487,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
newInputList!.find(
|
newInputList![i].data.node.template[
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = target;
|
].value = target;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
@ -551,13 +521,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
newInputList!.find(
|
newInputList![i].data.node.template[
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = target;
|
].value = target;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
@ -607,14 +571,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
|
newInputList![i].data.node.template[
|
||||||
newInputList!.find(
|
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = target;
|
].value = target;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
@ -667,13 +624,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
newInputList!.find(
|
newInputList![i].data.node.template[
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = target;
|
].value = target;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
@ -726,13 +677,7 @@ export default function CodeTabsComponent({
|
||||||
setData((old) => {
|
setData((old) => {
|
||||||
let newInputList =
|
let newInputList =
|
||||||
cloneDeep(old);
|
cloneDeep(old);
|
||||||
newInputList!.find(
|
newInputList![i].data.node.template[
|
||||||
(obj) =>
|
|
||||||
obj.data.node
|
|
||||||
.template[
|
|
||||||
templateField
|
|
||||||
]
|
|
||||||
)!.data.node.template[
|
|
||||||
templateField
|
templateField
|
||||||
].value = target;
|
].value = target;
|
||||||
return newInputList;
|
return newInputList;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue