@burdenoff/fluidgrids-fe-sdk 2026.701.6 → 2026.701.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{WorkflowBuilder-NEXLEPY4.js → WorkflowBuilder-N6AMMWYX.js} +4 -4
- package/dist/{WorkflowBuilder-NEXLEPY4.js.map → WorkflowBuilder-N6AMMWYX.js.map} +1 -1
- package/dist/{chunk-CEK43QSX.js → chunk-GX57DKBG.js} +203 -182
- package/dist/{chunk-CEK43QSX.js.map → chunk-GX57DKBG.js.map} +1 -1
- package/dist/index.d.ts +13 -4
- package/dist/index.js +4 -4
- package/package.json +1 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
1
|
+
export { WorkflowBuilder } from './chunk-GX57DKBG.js';
|
|
2
2
|
import './chunk-7VEOUEIN.js';
|
|
3
3
|
import './chunk-BQXHJIER.js';
|
|
4
|
+
import './chunk-LUGJJ7LL.js';
|
|
4
5
|
import './chunk-KU64CCSV.js';
|
|
5
6
|
import './chunk-4FFPGQD3.js';
|
|
6
7
|
import './chunk-FGYVIXQ7.js';
|
|
7
8
|
import './chunk-5BDQNSP3.js';
|
|
8
9
|
import './chunk-WWU2O2SR.js';
|
|
9
|
-
import './chunk-LUGJJ7LL.js';
|
|
10
10
|
import './chunk-XQP33UJR.js';
|
|
11
11
|
import './chunk-Z54K22LP.js';
|
|
12
|
-
//# sourceMappingURL=WorkflowBuilder-
|
|
13
|
-
//# sourceMappingURL=WorkflowBuilder-
|
|
12
|
+
//# sourceMappingURL=WorkflowBuilder-N6AMMWYX.js.map
|
|
13
|
+
//# sourceMappingURL=WorkflowBuilder-N6AMMWYX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-N6AMMWYX.js"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, DialogFooter, Input as Input$1 } from './chunk-7VEOUEIN.js';
|
|
2
|
-
import { getGlobalStoreClient, createGlobalStoreClient } from './chunk-BQXHJIER.js';
|
|
2
|
+
import { getGlobalStoreClient, createGlobalStoreClient, setGlobalStoreClient, resetGlobalStoreClient } from './chunk-BQXHJIER.js';
|
|
3
|
+
import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument } from './chunk-LUGJJ7LL.js';
|
|
3
4
|
import { useFlowStore } from './chunk-KU64CCSV.js';
|
|
4
5
|
import { useLazyWorkflowDefinition, useCreateWorkflow, useWorkflowVersions, useRestoreWorkflowVersion, useActivateWorkflow, useDeactivateWorkflow } from './chunk-4FFPGQD3.js';
|
|
5
|
-
import { NodeEndpointConfigsDocument, NodeManifestDocument,
|
|
6
|
+
import { NodeEndpointConfigsDocument, NodeManifestDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunDocument, NodeSchemaIntrospectionDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument } from './chunk-FGYVIXQ7.js';
|
|
6
7
|
import { waitForFluidGridsClient, getFluidGridsClient, createFluidGridsClient, setFluidGridsClient, resetFluidGridsClient } from './chunk-5BDQNSP3.js';
|
|
7
8
|
import { config, getFluidGridsConfig, validateTrustedOrigin, setFluidGridsConfig, resetFluidGridsConfig } from './chunk-WWU2O2SR.js';
|
|
8
|
-
import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument } from './chunk-LUGJJ7LL.js';
|
|
9
9
|
import { deepClone, applyTemplateInputs } from './chunk-XQP33UJR.js';
|
|
10
10
|
import { cn as cn$1, Badge as Badge$1, Button as Button$1 } from './chunk-Z54K22LP.js';
|
|
11
11
|
import { ThemeProvider as ThemeProvider$1 } from '@burdenoff/fe-libs/shared/providers/shell';
|
|
12
12
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
13
|
-
import {
|
|
13
|
+
import { useParams, useNavigate } from 'react-router-dom';
|
|
14
14
|
import { useShallow, shallow } from 'zustand/shallow';
|
|
15
15
|
import * as React2 from 'react';
|
|
16
16
|
import React2__default, { forwardRef, useState, useImperativeHandle, useRef, useEffect, useMemo, createContext, lazy, memo, useCallback, useContext, useLayoutEffect, Suspense, useDeferredValue } from 'react';
|
|
@@ -7313,6 +7313,179 @@ function ArrayField({
|
|
|
7313
7313
|
description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
|
|
7314
7314
|
] });
|
|
7315
7315
|
}
|
|
7316
|
+
function useSaveWorkflow() {
|
|
7317
|
+
const [isSaving, setIsSaving] = useState(false);
|
|
7318
|
+
const params = useParams();
|
|
7319
|
+
const navigate = useNavigate();
|
|
7320
|
+
const [saveWorkflow, setWorkflow] = useFlowStore(
|
|
7321
|
+
useShallow((s) => [s.actions.saveWorkflow, s.actions.setWorkflow])
|
|
7322
|
+
);
|
|
7323
|
+
const saveToBackend = useCallback(async () => {
|
|
7324
|
+
setIsSaving(true);
|
|
7325
|
+
try {
|
|
7326
|
+
const workflow = saveWorkflow();
|
|
7327
|
+
const workflowKey = params?.id || workflow?.id;
|
|
7328
|
+
if (!workflowKey) {
|
|
7329
|
+
throw new Error(
|
|
7330
|
+
"Workflow key not found. Navigate to /workflow/{key}/v1 to create a workflow."
|
|
7331
|
+
);
|
|
7332
|
+
}
|
|
7333
|
+
const isDraft = !workflow.status || workflow.status === "DRAFT";
|
|
7334
|
+
const client = getFluidGridsClient();
|
|
7335
|
+
const preparedWorkflow = {
|
|
7336
|
+
...workflow,
|
|
7337
|
+
nodes: workflow.nodes?.map((n) => {
|
|
7338
|
+
const { nodeData: _ignoredNodeData, ...flattenedData } = n.data ?? {};
|
|
7339
|
+
void _ignoredNodeData;
|
|
7340
|
+
return { ...n, ...flattenedData };
|
|
7341
|
+
})
|
|
7342
|
+
};
|
|
7343
|
+
const definitionJson = {
|
|
7344
|
+
key: workflowKey,
|
|
7345
|
+
name: workflow?.name,
|
|
7346
|
+
description: workflow?.name || "Workflow Description",
|
|
7347
|
+
workflow_type: "query-conditional",
|
|
7348
|
+
data: {
|
|
7349
|
+
...preparedWorkflow,
|
|
7350
|
+
version: workflow.version,
|
|
7351
|
+
alias: workflow?.alias || null
|
|
7352
|
+
},
|
|
7353
|
+
meta: {
|
|
7354
|
+
creator: "api_update",
|
|
7355
|
+
version: workflow.version
|
|
7356
|
+
},
|
|
7357
|
+
tags: [
|
|
7358
|
+
"rag",
|
|
7359
|
+
"cache",
|
|
7360
|
+
"websearch",
|
|
7361
|
+
"conditional",
|
|
7362
|
+
"python_expr",
|
|
7363
|
+
"retry",
|
|
7364
|
+
"api_trigger"
|
|
7365
|
+
]
|
|
7366
|
+
};
|
|
7367
|
+
let savedVersion = workflow.version;
|
|
7368
|
+
let savedDbId = workflow.dbId;
|
|
7369
|
+
let operation = "updated";
|
|
7370
|
+
if (isDraft && workflow.dbId) {
|
|
7371
|
+
const { data } = await client.mutate({
|
|
7372
|
+
mutation: UpdateWorkflowDefinitionDocument,
|
|
7373
|
+
variables: {
|
|
7374
|
+
id: workflow.dbId,
|
|
7375
|
+
input: {
|
|
7376
|
+
definitionJson,
|
|
7377
|
+
name: workflow?.name,
|
|
7378
|
+
description: workflow?.name || "Workflow update",
|
|
7379
|
+
alias: workflow?.alias || void 0
|
|
7380
|
+
}
|
|
7381
|
+
}
|
|
7382
|
+
});
|
|
7383
|
+
if (data?.updateWorkflowDefinition) {
|
|
7384
|
+
savedVersion = data.updateWorkflowDefinition.version;
|
|
7385
|
+
savedDbId = data.updateWorkflowDefinition.id;
|
|
7386
|
+
operation = "updated";
|
|
7387
|
+
toast.success("Workflow saved", {
|
|
7388
|
+
description: `Updated version ${savedVersion}`,
|
|
7389
|
+
dismissible: true
|
|
7390
|
+
});
|
|
7391
|
+
} else {
|
|
7392
|
+
throw new Error("Failed to save workflow");
|
|
7393
|
+
}
|
|
7394
|
+
} else if (isDraft && !workflow.dbId) {
|
|
7395
|
+
const { data } = await client.mutate({
|
|
7396
|
+
mutation: CreateWorkflowDefinitionDocument,
|
|
7397
|
+
variables: {
|
|
7398
|
+
input: {
|
|
7399
|
+
workflowKey,
|
|
7400
|
+
version: workflow.version || params?.version || "v1",
|
|
7401
|
+
name: workflow?.name || "Untitled Workflow",
|
|
7402
|
+
description: workflow?.name || "Untitled Workflow",
|
|
7403
|
+
definitionJson
|
|
7404
|
+
}
|
|
7405
|
+
}
|
|
7406
|
+
});
|
|
7407
|
+
if (data?.createWorkflowDefinition) {
|
|
7408
|
+
savedVersion = data.createWorkflowDefinition.version;
|
|
7409
|
+
savedDbId = data.createWorkflowDefinition.id;
|
|
7410
|
+
operation = "created";
|
|
7411
|
+
setWorkflow({
|
|
7412
|
+
dbId: savedDbId,
|
|
7413
|
+
status: data.createWorkflowDefinition.status ?? "DRAFT",
|
|
7414
|
+
version: savedVersion
|
|
7415
|
+
});
|
|
7416
|
+
toast.success("Workflow saved", {
|
|
7417
|
+
description: `Created version ${savedVersion}`,
|
|
7418
|
+
dismissible: true
|
|
7419
|
+
});
|
|
7420
|
+
} else {
|
|
7421
|
+
throw new Error("Failed to create workflow");
|
|
7422
|
+
}
|
|
7423
|
+
} else {
|
|
7424
|
+
const { data } = await client.mutate({
|
|
7425
|
+
mutation: CreateWorkflowVersionDocument,
|
|
7426
|
+
variables: {
|
|
7427
|
+
workflowKey,
|
|
7428
|
+
input: {
|
|
7429
|
+
definitionJson,
|
|
7430
|
+
description: workflow?.name || "Workflow update"
|
|
7431
|
+
}
|
|
7432
|
+
}
|
|
7433
|
+
});
|
|
7434
|
+
if (data?.createWorkflowVersion?.success) {
|
|
7435
|
+
const newWorkflow = data.createWorkflowVersion.workflow;
|
|
7436
|
+
savedVersion = newWorkflow?.version ?? workflow.version;
|
|
7437
|
+
savedDbId = newWorkflow?.id ?? workflow.dbId;
|
|
7438
|
+
operation = "versioned";
|
|
7439
|
+
setWorkflow({
|
|
7440
|
+
version: savedVersion,
|
|
7441
|
+
dbId: savedDbId,
|
|
7442
|
+
status: "DRAFT"
|
|
7443
|
+
});
|
|
7444
|
+
navigate(`../workflow/${workflowKey}/${savedVersion}`, {
|
|
7445
|
+
replace: true
|
|
7446
|
+
});
|
|
7447
|
+
toast.success("New version created", {
|
|
7448
|
+
description: `Saved as version ${savedVersion} (Draft)`,
|
|
7449
|
+
dismissible: true
|
|
7450
|
+
});
|
|
7451
|
+
} else {
|
|
7452
|
+
throw new Error(
|
|
7453
|
+
data?.createWorkflowVersion?.message || "Failed to save workflow"
|
|
7454
|
+
);
|
|
7455
|
+
}
|
|
7456
|
+
}
|
|
7457
|
+
if (savedDbId) {
|
|
7458
|
+
const config2 = getFluidGridsConfig();
|
|
7459
|
+
if (config2.onWorkflowSaved) {
|
|
7460
|
+
try {
|
|
7461
|
+
await config2.onWorkflowSaved({
|
|
7462
|
+
dbId: savedDbId,
|
|
7463
|
+
workflowKey,
|
|
7464
|
+
version: savedVersion,
|
|
7465
|
+
name: workflow?.name || "Untitled Workflow",
|
|
7466
|
+
description: workflow?.alias || workflow?.name || void 0,
|
|
7467
|
+
operation
|
|
7468
|
+
});
|
|
7469
|
+
} catch (callbackError) {
|
|
7470
|
+
console.warn(
|
|
7471
|
+
"[useSaveWorkflow] onWorkflowSaved callback failed:",
|
|
7472
|
+
callbackError
|
|
7473
|
+
);
|
|
7474
|
+
}
|
|
7475
|
+
}
|
|
7476
|
+
}
|
|
7477
|
+
} catch (error) {
|
|
7478
|
+
const message = error instanceof Error ? error.message : "Unknown error";
|
|
7479
|
+
console.error("Error saving workflow:", message);
|
|
7480
|
+
toast.error("Failed to save workflow", {
|
|
7481
|
+
description: message
|
|
7482
|
+
});
|
|
7483
|
+
} finally {
|
|
7484
|
+
setIsSaving(false);
|
|
7485
|
+
}
|
|
7486
|
+
}, [saveWorkflow, setWorkflow, params?.id, params?.version, navigate]);
|
|
7487
|
+
return { saveToBackend, isSaving };
|
|
7488
|
+
}
|
|
7316
7489
|
function NodePropertyPanel({
|
|
7317
7490
|
id,
|
|
7318
7491
|
type,
|
|
@@ -7334,6 +7507,7 @@ function NodePropertyPanel({
|
|
|
7334
7507
|
const [searchTerm, setSearchTerm] = useState("");
|
|
7335
7508
|
const [isLoading, setIsLoading] = useState(false);
|
|
7336
7509
|
useFlowStore((s) => s.workflow.id);
|
|
7510
|
+
const { saveToBackend, isSaving } = useSaveWorkflow();
|
|
7337
7511
|
const operationsArray = useMemo(() => {
|
|
7338
7512
|
const nodeDataOps = data?.nodeData?.operations;
|
|
7339
7513
|
if (nodeDataOps) {
|
|
@@ -7415,6 +7589,10 @@ function NodePropertyPanel({
|
|
|
7415
7589
|
}
|
|
7416
7590
|
return currentOperation;
|
|
7417
7591
|
}, [currentOperation, type]);
|
|
7592
|
+
const shouldSaveConfigurationToBackend = useMemo(
|
|
7593
|
+
() => String(type) === "store/bigconsole_datasink" && effectiveCurrentOperation?.name === "postDataToDataSink",
|
|
7594
|
+
[effectiveCurrentOperation?.name, type]
|
|
7595
|
+
);
|
|
7418
7596
|
const connectionAdapters = useMemo(
|
|
7419
7597
|
() => effectiveCurrentOperation?.connectionAdapters || effectiveCurrentOperation?.credentialAdapters || data?.nodeData?.connectionAdapters || data?.nodeData?.credentialAdapters || [],
|
|
7420
7598
|
[
|
|
@@ -7491,6 +7669,13 @@ function NodePropertyPanel({
|
|
|
7491
7669
|
state: newState
|
|
7492
7670
|
}
|
|
7493
7671
|
});
|
|
7672
|
+
if (shouldSaveConfigurationToBackend && !isSaving) {
|
|
7673
|
+
window.setTimeout(() => {
|
|
7674
|
+
void saveToBackend().catch((error) => {
|
|
7675
|
+
console.error("Error saving DataSink configuration:", error);
|
|
7676
|
+
});
|
|
7677
|
+
}, 0);
|
|
7678
|
+
}
|
|
7494
7679
|
};
|
|
7495
7680
|
const resolvedUi = useMemo(
|
|
7496
7681
|
() => resolveUiSpec(effectiveCurrentOperation),
|
|
@@ -9238,6 +9423,15 @@ function FluidGridsProvider({
|
|
|
9238
9423
|
resetFluidGridsClient();
|
|
9239
9424
|
};
|
|
9240
9425
|
}, [workspaceClient]);
|
|
9426
|
+
useEffect(() => {
|
|
9427
|
+
setGlobalStoreClient(globalClient ?? null);
|
|
9428
|
+
if (globalClient) {
|
|
9429
|
+
void refetchStoreNodes();
|
|
9430
|
+
}
|
|
9431
|
+
return () => {
|
|
9432
|
+
resetGlobalStoreClient();
|
|
9433
|
+
};
|
|
9434
|
+
}, [globalClient]);
|
|
9241
9435
|
useEffect(() => {
|
|
9242
9436
|
setFluidGridsConfig({
|
|
9243
9437
|
apiGatewayUrl,
|
|
@@ -13919,7 +14113,7 @@ function dispatch(action) {
|
|
|
13919
14113
|
listener(memoryState);
|
|
13920
14114
|
});
|
|
13921
14115
|
}
|
|
13922
|
-
function
|
|
14116
|
+
function toast5({ ...props }) {
|
|
13923
14117
|
const id = genId();
|
|
13924
14118
|
const update = (props2) => dispatch({
|
|
13925
14119
|
type: actionTypes.UPDATE_TOAST,
|
|
@@ -13956,7 +14150,7 @@ function useToast() {
|
|
|
13956
14150
|
}, [state]);
|
|
13957
14151
|
return {
|
|
13958
14152
|
...state,
|
|
13959
|
-
toast:
|
|
14153
|
+
toast: toast5,
|
|
13960
14154
|
dismiss: (toastId) => dispatch({ type: actionTypes.DISMISS_TOAST, toastId })
|
|
13961
14155
|
};
|
|
13962
14156
|
}
|
|
@@ -19511,179 +19705,6 @@ function useFlowValidator(onValidate) {
|
|
|
19511
19705
|
}, [getNodes, getEdges, onValidate]);
|
|
19512
19706
|
return [isValidating, validate];
|
|
19513
19707
|
}
|
|
19514
|
-
function useSaveWorkflow() {
|
|
19515
|
-
const [isSaving, setIsSaving] = useState(false);
|
|
19516
|
-
const params = useParams();
|
|
19517
|
-
const navigate = useNavigate();
|
|
19518
|
-
const [saveWorkflow, setWorkflow] = useFlowStore(
|
|
19519
|
-
useShallow((s) => [s.actions.saveWorkflow, s.actions.setWorkflow])
|
|
19520
|
-
);
|
|
19521
|
-
const saveToBackend = useCallback(async () => {
|
|
19522
|
-
setIsSaving(true);
|
|
19523
|
-
try {
|
|
19524
|
-
const workflow = saveWorkflow();
|
|
19525
|
-
const workflowKey = params?.id || workflow?.id;
|
|
19526
|
-
if (!workflowKey) {
|
|
19527
|
-
throw new Error(
|
|
19528
|
-
"Workflow key not found. Navigate to /workflow/{key}/v1 to create a workflow."
|
|
19529
|
-
);
|
|
19530
|
-
}
|
|
19531
|
-
const isDraft = !workflow.status || workflow.status === "DRAFT";
|
|
19532
|
-
const client = getFluidGridsClient();
|
|
19533
|
-
const preparedWorkflow = {
|
|
19534
|
-
...workflow,
|
|
19535
|
-
nodes: workflow.nodes?.map((n) => {
|
|
19536
|
-
const { nodeData: _ignoredNodeData, ...flattenedData } = n.data ?? {};
|
|
19537
|
-
void _ignoredNodeData;
|
|
19538
|
-
return { ...n, ...flattenedData };
|
|
19539
|
-
})
|
|
19540
|
-
};
|
|
19541
|
-
const definitionJson = {
|
|
19542
|
-
key: workflowKey,
|
|
19543
|
-
name: workflow?.name,
|
|
19544
|
-
description: workflow?.name || "Workflow Description",
|
|
19545
|
-
workflow_type: "query-conditional",
|
|
19546
|
-
data: {
|
|
19547
|
-
...preparedWorkflow,
|
|
19548
|
-
version: workflow.version,
|
|
19549
|
-
alias: workflow?.alias || null
|
|
19550
|
-
},
|
|
19551
|
-
meta: {
|
|
19552
|
-
creator: "api_update",
|
|
19553
|
-
version: workflow.version
|
|
19554
|
-
},
|
|
19555
|
-
tags: [
|
|
19556
|
-
"rag",
|
|
19557
|
-
"cache",
|
|
19558
|
-
"websearch",
|
|
19559
|
-
"conditional",
|
|
19560
|
-
"python_expr",
|
|
19561
|
-
"retry",
|
|
19562
|
-
"api_trigger"
|
|
19563
|
-
]
|
|
19564
|
-
};
|
|
19565
|
-
let savedVersion = workflow.version;
|
|
19566
|
-
let savedDbId = workflow.dbId;
|
|
19567
|
-
let operation = "updated";
|
|
19568
|
-
if (isDraft && workflow.dbId) {
|
|
19569
|
-
const { data } = await client.mutate({
|
|
19570
|
-
mutation: UpdateWorkflowDefinitionDocument,
|
|
19571
|
-
variables: {
|
|
19572
|
-
id: workflow.dbId,
|
|
19573
|
-
input: {
|
|
19574
|
-
definitionJson,
|
|
19575
|
-
name: workflow?.name,
|
|
19576
|
-
description: workflow?.name || "Workflow update",
|
|
19577
|
-
alias: workflow?.alias || void 0
|
|
19578
|
-
}
|
|
19579
|
-
}
|
|
19580
|
-
});
|
|
19581
|
-
if (data?.updateWorkflowDefinition) {
|
|
19582
|
-
savedVersion = data.updateWorkflowDefinition.version;
|
|
19583
|
-
savedDbId = data.updateWorkflowDefinition.id;
|
|
19584
|
-
operation = "updated";
|
|
19585
|
-
toast.success("Workflow saved", {
|
|
19586
|
-
description: `Updated version ${savedVersion}`,
|
|
19587
|
-
dismissible: true
|
|
19588
|
-
});
|
|
19589
|
-
} else {
|
|
19590
|
-
throw new Error("Failed to save workflow");
|
|
19591
|
-
}
|
|
19592
|
-
} else if (isDraft && !workflow.dbId) {
|
|
19593
|
-
const { data } = await client.mutate({
|
|
19594
|
-
mutation: CreateWorkflowDefinitionDocument,
|
|
19595
|
-
variables: {
|
|
19596
|
-
input: {
|
|
19597
|
-
workflowKey,
|
|
19598
|
-
version: workflow.version || params?.version || "v1",
|
|
19599
|
-
name: workflow?.name || "Untitled Workflow",
|
|
19600
|
-
description: workflow?.name || "Untitled Workflow",
|
|
19601
|
-
definitionJson
|
|
19602
|
-
}
|
|
19603
|
-
}
|
|
19604
|
-
});
|
|
19605
|
-
if (data?.createWorkflowDefinition) {
|
|
19606
|
-
savedVersion = data.createWorkflowDefinition.version;
|
|
19607
|
-
savedDbId = data.createWorkflowDefinition.id;
|
|
19608
|
-
operation = "created";
|
|
19609
|
-
setWorkflow({
|
|
19610
|
-
dbId: savedDbId,
|
|
19611
|
-
status: data.createWorkflowDefinition.status ?? "DRAFT",
|
|
19612
|
-
version: savedVersion
|
|
19613
|
-
});
|
|
19614
|
-
toast.success("Workflow saved", {
|
|
19615
|
-
description: `Created version ${savedVersion}`,
|
|
19616
|
-
dismissible: true
|
|
19617
|
-
});
|
|
19618
|
-
} else {
|
|
19619
|
-
throw new Error("Failed to create workflow");
|
|
19620
|
-
}
|
|
19621
|
-
} else {
|
|
19622
|
-
const { data } = await client.mutate({
|
|
19623
|
-
mutation: CreateWorkflowVersionDocument,
|
|
19624
|
-
variables: {
|
|
19625
|
-
workflowKey,
|
|
19626
|
-
input: {
|
|
19627
|
-
definitionJson,
|
|
19628
|
-
description: workflow?.name || "Workflow update"
|
|
19629
|
-
}
|
|
19630
|
-
}
|
|
19631
|
-
});
|
|
19632
|
-
if (data?.createWorkflowVersion?.success) {
|
|
19633
|
-
const newWorkflow = data.createWorkflowVersion.workflow;
|
|
19634
|
-
savedVersion = newWorkflow?.version ?? workflow.version;
|
|
19635
|
-
savedDbId = newWorkflow?.id ?? workflow.dbId;
|
|
19636
|
-
operation = "versioned";
|
|
19637
|
-
setWorkflow({
|
|
19638
|
-
version: savedVersion,
|
|
19639
|
-
dbId: savedDbId,
|
|
19640
|
-
status: "DRAFT"
|
|
19641
|
-
});
|
|
19642
|
-
navigate(`../workflow/${workflowKey}/${savedVersion}`, {
|
|
19643
|
-
replace: true
|
|
19644
|
-
});
|
|
19645
|
-
toast.success("New version created", {
|
|
19646
|
-
description: `Saved as version ${savedVersion} (Draft)`,
|
|
19647
|
-
dismissible: true
|
|
19648
|
-
});
|
|
19649
|
-
} else {
|
|
19650
|
-
throw new Error(
|
|
19651
|
-
data?.createWorkflowVersion?.message || "Failed to save workflow"
|
|
19652
|
-
);
|
|
19653
|
-
}
|
|
19654
|
-
}
|
|
19655
|
-
if (savedDbId) {
|
|
19656
|
-
const config2 = getFluidGridsConfig();
|
|
19657
|
-
if (config2.onWorkflowSaved) {
|
|
19658
|
-
try {
|
|
19659
|
-
await config2.onWorkflowSaved({
|
|
19660
|
-
dbId: savedDbId,
|
|
19661
|
-
workflowKey,
|
|
19662
|
-
version: savedVersion,
|
|
19663
|
-
name: workflow?.name || "Untitled Workflow",
|
|
19664
|
-
description: workflow?.alias || workflow?.name || void 0,
|
|
19665
|
-
operation
|
|
19666
|
-
});
|
|
19667
|
-
} catch (callbackError) {
|
|
19668
|
-
console.warn(
|
|
19669
|
-
"[useSaveWorkflow] onWorkflowSaved callback failed:",
|
|
19670
|
-
callbackError
|
|
19671
|
-
);
|
|
19672
|
-
}
|
|
19673
|
-
}
|
|
19674
|
-
}
|
|
19675
|
-
} catch (error) {
|
|
19676
|
-
const message = error instanceof Error ? error.message : "Unknown error";
|
|
19677
|
-
console.error("Error saving workflow:", message);
|
|
19678
|
-
toast.error("Failed to save workflow", {
|
|
19679
|
-
description: message
|
|
19680
|
-
});
|
|
19681
|
-
} finally {
|
|
19682
|
-
setIsSaving(false);
|
|
19683
|
-
}
|
|
19684
|
-
}, [saveWorkflow, setWorkflow, params?.id, params?.version, navigate]);
|
|
19685
|
-
return { saveToBackend, isSaving };
|
|
19686
|
-
}
|
|
19687
19708
|
var SaveFlowButton = () => {
|
|
19688
19709
|
const { saveToBackend, isSaving } = useSaveWorkflow();
|
|
19689
19710
|
const [isValidating, validateFlow] = useFlowValidator(async (isValid) => {
|
|
@@ -22014,6 +22035,6 @@ function WorkflowBuilder() {
|
|
|
22014
22035
|
);
|
|
22015
22036
|
}
|
|
22016
22037
|
|
|
22017
|
-
export { Card2 as Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConfigSchemaForm, ConnectionFormDialog, ConnectionSelector, FluidGridsProvider, ProviderPicker, TemplateCard, WorkflowBuilder, getProviderForm, listCustomBlocks, registerCustomBlock, resolveUiSpec, stripSubmitActions, useConnection, useConnectionDialog, useConnections, useConnectionsByProvider, useCreateConnection, useFluidGridsContext, useImportWorkflowTemplate, useInitiateOAuth, useNodeExecution, useProviderByKey, useProviderCatalog, useProviders, useWorkflowTemplates };
|
|
22018
|
-
//# sourceMappingURL=chunk-
|
|
22019
|
-
//# sourceMappingURL=chunk-
|
|
22038
|
+
export { Card2 as Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConfigSchemaForm, ConnectionFormDialog, ConnectionSelector, FluidGridsProvider, ProviderPicker, TemplateCard, WorkflowBuilder, getProviderForm, listCustomBlocks, refetchStoreNodes, registerCustomBlock, resolveUiSpec, stripSubmitActions, useConnection, useConnectionDialog, useConnections, useConnectionsByProvider, useCreateConnection, useFluidGridsContext, useImportWorkflowTemplate, useInitiateOAuth, useNodeExecution, useProviderByKey, useProviderCatalog, useProviders, useWorkflowTemplates };
|
|
22039
|
+
//# sourceMappingURL=chunk-GX57DKBG.js.map
|
|
22040
|
+
//# sourceMappingURL=chunk-GX57DKBG.js.map
|