Flowfile 0.3.9__py3-none-any.whl → 0.3.10__py3-none-any.whl

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.

Potentially problematic release.


This version of Flowfile might be problematic. Click here for more details.

Files changed (138) hide show
  1. flowfile/__init__.py +1 -1
  2. flowfile/api.py +0 -1
  3. flowfile/web/static/assets/{CloudConnectionManager-c97c25f8.js → CloudConnectionManager-d7c2c028.js} +2 -2
  4. flowfile/web/static/assets/{CloudStorageReader-f1ff509e.js → CloudStorageReader-d467329f.js} +11 -78
  5. flowfile/web/static/assets/{CloudStorageWriter-034f8b78.js → CloudStorageWriter-071b8b00.js} +12 -79
  6. flowfile/web/static/assets/{CloudStorageWriter-49c9a4b2.css → CloudStorageWriter-b0ee067f.css} +24 -24
  7. flowfile/web/static/assets/ContextMenu-2dea5e27.js +41 -0
  8. flowfile/web/static/assets/{SettingsSection-9c836ecc.css → ContextMenu-4c74eef1.css} +0 -21
  9. flowfile/web/static/assets/ContextMenu-63cfa99b.css +26 -0
  10. flowfile/web/static/assets/ContextMenu-785554c4.js +41 -0
  11. flowfile/web/static/assets/ContextMenu-a51e19ea.js +41 -0
  12. flowfile/web/static/assets/ContextMenu-c13f91d0.css +26 -0
  13. flowfile/web/static/assets/{CrossJoin-41efa4cb.css → CrossJoin-1119d18e.css} +18 -18
  14. flowfile/web/static/assets/{CrossJoin-9e156ebe.js → CrossJoin-cf68ec7a.js} +14 -84
  15. flowfile/web/static/assets/{DatabaseConnectionSettings-d5c625b3.js → DatabaseConnectionSettings-435c5dd8.js} +3 -3
  16. flowfile/web/static/assets/{DatabaseManager-265adc5e.js → DatabaseManager-349e33a8.js} +2 -2
  17. flowfile/web/static/assets/{DatabaseReader-0b10551e.js → DatabaseReader-8075bd28.js} +14 -114
  18. flowfile/web/static/assets/{DatabaseReader-f50c6558.css → DatabaseReader-ae61773c.css} +0 -27
  19. flowfile/web/static/assets/{DatabaseWriter-c17c6916.js → DatabaseWriter-3e2dda89.js} +13 -74
  20. flowfile/web/static/assets/{ExploreData-5bdae813.css → ExploreData-2d0cf4db.css} +8 -14
  21. flowfile/web/static/assets/ExploreData-76ec698c.js +192 -0
  22. flowfile/web/static/assets/{ExternalSource-3a66556c.js → ExternalSource-609a265c.js} +8 -79
  23. flowfile/web/static/assets/{Filter-91ad87e7.js → Filter-97cff793.js} +12 -85
  24. flowfile/web/static/assets/{Filter-a9d08ba1.css → Filter-f62091b3.css} +3 -3
  25. flowfile/web/static/assets/{Formula-3c395ab1.js → Formula-09de0ec9.js} +18 -85
  26. flowfile/web/static/assets/{Formula-29f19d21.css → Formula-bb96803d.css} +4 -4
  27. flowfile/web/static/assets/{FuzzyMatch-6857de82.css → FuzzyMatch-1010f966.css} +42 -42
  28. flowfile/web/static/assets/{FuzzyMatch-2df0d230.js → FuzzyMatch-bdf70248.js} +16 -87
  29. flowfile/web/static/assets/{GraphSolver-d285877f.js → GraphSolver-0b5a0e05.js} +13 -159
  30. flowfile/web/static/assets/GraphSolver-f0cb7bfb.css +22 -0
  31. flowfile/web/static/assets/{Unique-b5615727.css → GroupBy-b9505323.css} +8 -8
  32. flowfile/web/static/assets/{GroupBy-0bd1cc6b.js → GroupBy-eaddadde.js} +12 -75
  33. flowfile/web/static/assets/{Join-5a78a203.js → Join-3313371b.js} +15 -85
  34. flowfile/web/static/assets/{Join-f45eff22.css → Join-fd79b451.css} +20 -20
  35. flowfile/web/static/assets/{ManualInput-a71b52c6.css → ManualInput-3246a08d.css} +20 -20
  36. flowfile/web/static/assets/{ManualInput-93aef9d6.js → ManualInput-e8bfc0be.js} +11 -82
  37. flowfile/web/static/assets/{Output-411ecaee.js → Output-7303bb09.js} +13 -243
  38. flowfile/web/static/assets/Output-ddc9079f.css +37 -0
  39. flowfile/web/static/assets/{Pivot-89db4b04.js → Pivot-3b1c54ef.js} +14 -138
  40. flowfile/web/static/assets/Pivot-cf333e3d.css +22 -0
  41. flowfile/web/static/assets/PivotValidation-3bb36c8f.js +61 -0
  42. flowfile/web/static/assets/PivotValidation-891ddfb0.css +13 -0
  43. flowfile/web/static/assets/PivotValidation-c46cd420.css +13 -0
  44. flowfile/web/static/assets/PivotValidation-eaa819c0.js +61 -0
  45. flowfile/web/static/assets/{PolarsCode-a9f974f8.js → PolarsCode-aa12e25d.js} +13 -80
  46. flowfile/web/static/assets/Read-6b17491f.css +62 -0
  47. flowfile/web/static/assets/Read-a2bfc618.js +243 -0
  48. flowfile/web/static/assets/RecordCount-aa0dc082.js +53 -0
  49. flowfile/web/static/assets/{RecordId-55ae7d36.js → RecordId-48ee1a3b.js} +8 -80
  50. flowfile/web/static/assets/SQLQueryComponent-36cef432.css +27 -0
  51. flowfile/web/static/assets/SQLQueryComponent-e149dbf2.js +38 -0
  52. flowfile/web/static/assets/{Sample-b4a18476.js → Sample-f06cb97a.js} +8 -77
  53. flowfile/web/static/assets/{SecretManager-b066d13a.js → SecretManager-37f34886.js} +2 -2
  54. flowfile/web/static/assets/{Select-727688dc.js → Select-b60e6c47.js} +11 -85
  55. flowfile/web/static/assets/SettingsSection-2e4d03c4.css +21 -0
  56. flowfile/web/static/assets/SettingsSection-5c696bee.css +20 -0
  57. flowfile/web/static/assets/SettingsSection-70e5a7b1.js +53 -0
  58. flowfile/web/static/assets/SettingsSection-71e6b7e3.css +21 -0
  59. flowfile/web/static/assets/{SettingsSection-695ac487.js → SettingsSection-75b6cf4f.js} +2 -40
  60. flowfile/web/static/assets/SettingsSection-e57a672e.js +45 -0
  61. flowfile/web/static/assets/{GroupBy-ab1ea74b.css → Sort-3643d625.css} +8 -8
  62. flowfile/web/static/assets/{Sort-be3339a8.js → Sort-51b1ee4d.js} +12 -97
  63. flowfile/web/static/assets/{TextToRows-7b8998da.js → TextToRows-26835f8f.js} +14 -83
  64. flowfile/web/static/assets/{TextToRows-c92d1ec2.css → TextToRows-5d2c1190.css} +9 -9
  65. flowfile/web/static/assets/{UnavailableFields-8b0cb48e.js → UnavailableFields-88a4cd0c.js} +2 -2
  66. flowfile/web/static/assets/Union-4d0088eb.js +77 -0
  67. flowfile/web/static/assets/{Union-8d9ac7f9.css → Union-af6c3d9b.css} +6 -6
  68. flowfile/web/static/assets/{Unique-af5a80b4.js → Unique-7d554a62.js} +22 -91
  69. flowfile/web/static/assets/{Sort-7ccfa0fe.css → Unique-f9fb0809.css} +8 -8
  70. flowfile/web/static/assets/Unpivot-1e422df3.css +30 -0
  71. flowfile/web/static/assets/{Unpivot-5195d411.js → Unpivot-4668595c.js} +12 -166
  72. flowfile/web/static/assets/UnpivotValidation-0d240eeb.css +13 -0
  73. flowfile/web/static/assets/UnpivotValidation-d4f0e0e8.js +51 -0
  74. flowfile/web/static/assets/{ExploreData-18a4fe52.js → VueGraphicWalker-5324d566.js} +4 -264
  75. flowfile/web/static/assets/VueGraphicWalker-ed5ab88b.css +6 -0
  76. flowfile/web/static/assets/{api-cb00cce6.js → api-271ed117.js} +1 -1
  77. flowfile/web/static/assets/{api-023d1733.js → api-31e4fea6.js} +1 -1
  78. flowfile/web/static/assets/{designer-2197d782.css → designer-091bdc3f.css} +819 -184
  79. flowfile/web/static/assets/{designer-6c322d8e.js → designer-bf3d9487.js} +2191 -703
  80. flowfile/web/static/assets/{documentation-4d1fafe1.js → documentation-4d0a1cea.js} +1 -1
  81. flowfile/web/static/assets/{dropDown-0b46dd77.js → dropDown-025888df.js} +1 -1
  82. flowfile/web/static/assets/{fullEditor-ec4e4f95.js → fullEditor-1df991ec.js} +2 -2
  83. flowfile/web/static/assets/{genericNodeSettings-def5879b.js → genericNodeSettings-d3b2b2ac.js} +3 -3
  84. flowfile/web/static/assets/{index-683fc198.js → index-d0518598.js} +210 -31
  85. flowfile/web/static/assets/{Output-48f81019.css → outputCsv-9cc59e0b.css} +0 -143
  86. flowfile/web/static/assets/outputCsv-d8457527.js +86 -0
  87. flowfile/web/static/assets/outputExcel-b41305c0.css +102 -0
  88. flowfile/web/static/assets/outputExcel-be89153e.js +56 -0
  89. flowfile/web/static/assets/outputParquet-cf8cf3f2.css +4 -0
  90. flowfile/web/static/assets/outputParquet-fabb445a.js +31 -0
  91. flowfile/web/static/assets/readCsv-bca3ed53.css +52 -0
  92. flowfile/web/static/assets/readCsv-e8359522.js +178 -0
  93. flowfile/web/static/assets/readExcel-dabaf51b.js +203 -0
  94. flowfile/web/static/assets/readExcel-e1b381ea.css +64 -0
  95. flowfile/web/static/assets/readParquet-cee068e2.css +19 -0
  96. flowfile/web/static/assets/readParquet-e0771ef2.js +26 -0
  97. flowfile/web/static/assets/{secretApi-baceb6f9.js → secretApi-ce823eee.js} +1 -1
  98. flowfile/web/static/assets/{selectDynamic-de91449a.js → selectDynamic-5476546e.js} +7 -7
  99. flowfile/web/static/assets/{selectDynamic-b062bc9b.css → selectDynamic-aa913ff4.css} +16 -16
  100. flowfile/web/static/assets/{vue-codemirror.esm-dc5e3348.js → vue-codemirror.esm-9ed00d50.js} +29 -33
  101. flowfile/web/static/assets/{vue-content-loader.es-ba94b82f.js → vue-content-loader.es-7bca2d9b.js} +1 -1
  102. flowfile/web/static/index.html +1 -1
  103. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/METADATA +1 -1
  104. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/RECORD +129 -97
  105. flowfile_core/configs/flow_logger.py +5 -13
  106. flowfile_core/configs/node_store/nodes.py +303 -44
  107. flowfile_core/configs/settings.py +2 -1
  108. flowfile_core/database/connection.py +5 -21
  109. flowfile_core/fileExplorer/funcs.py +239 -121
  110. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +28 -8
  111. flowfile_core/flowfile/flow_graph.py +97 -33
  112. flowfile_core/flowfile/flow_node/flow_node.py +41 -9
  113. flowfile_core/flowfile/handler.py +22 -3
  114. flowfile_core/flowfile/schema_callbacks.py +8 -4
  115. flowfile_core/flowfile/setting_generator/settings.py +0 -1
  116. flowfile_core/main.py +4 -1
  117. flowfile_core/routes/routes.py +59 -10
  118. flowfile_core/schemas/input_schema.py +0 -1
  119. flowfile_core/schemas/output_model.py +5 -2
  120. flowfile_core/schemas/schemas.py +2 -0
  121. flowfile_core/schemas/transform_schema.py +1 -0
  122. flowfile_worker/__init__.py +6 -35
  123. flowfile_worker/main.py +5 -2
  124. flowfile_worker/routes.py +47 -5
  125. shared/__init__.py +15 -0
  126. shared/storage_config.py +243 -0
  127. flowfile/web/static/assets/GraphSolver-17fd26db.css +0 -68
  128. flowfile/web/static/assets/Pivot-f415e85f.css +0 -35
  129. flowfile/web/static/assets/Read-80dc1675.css +0 -197
  130. flowfile/web/static/assets/Read-c3b1929c.js +0 -701
  131. flowfile/web/static/assets/RecordCount-4e95f98e.js +0 -122
  132. flowfile/web/static/assets/Union-89fd73dc.js +0 -146
  133. flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -77
  134. flowfile/web/static/assets/nodeTitle-a16db7c3.js +0 -227
  135. flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -134
  136. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/LICENSE +0 -0
  137. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/WHEEL +0 -0
  138. {flowfile-0.3.9.dist-info → flowfile-0.3.10.dist-info}/entry_points.txt +0 -0
@@ -1,122 +0,0 @@
1
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
2
- import { G as GenericNodeSettings } from "./genericNodeSettings-def5879b.js";
3
- import { d as defineComponent, r as ref, n as onMounted, R as nextTick, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, i as createCommentVNode, h as createBlock, a7 as Teleport } from "./index-683fc198.js";
4
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-a16db7c3.js";
5
- import "./designer-6c322d8e.js";
6
- const _hoisted_1$1 = {
7
- key: 0,
8
- class: "listbox-wrapper"
9
- };
10
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
11
- __name: "RecordCount",
12
- setup(__props, { expose: __expose }) {
13
- const nodeStore = useNodeStore();
14
- const dataLoaded = ref(false);
15
- const nodeData = ref(null);
16
- const nodeRecordCount = ref(null);
17
- const loadNodeData = async (nodeId) => {
18
- var _a;
19
- nodeData.value = await nodeStore.getNodeData(nodeId, false);
20
- nodeRecordCount.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
21
- dataLoaded.value = true;
22
- nodeStore.isDrawerOpen = true;
23
- };
24
- const pushNodeData = async () => {
25
- if (nodeRecordCount.value) {
26
- nodeStore.updateSettings(nodeRecordCount);
27
- }
28
- nodeStore.isDrawerOpen = false;
29
- };
30
- __expose({
31
- loadNodeData,
32
- pushNodeData
33
- });
34
- onMounted(async () => {
35
- await nextTick();
36
- });
37
- return (_ctx, _cache) => {
38
- return dataLoaded.value && nodeRecordCount.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
39
- createVNode(GenericNodeSettings, {
40
- modelValue: nodeRecordCount.value,
41
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeRecordCount.value = $event)
42
- }, {
43
- default: withCtx(() => _cache[1] || (_cache[1] = [
44
- createBaseVNode("p", null, " This node helps you quickly retrieve the total number of records from the selected table. It's a simple yet powerful tool to keep track of the data volume as you work through your tasks. ", -1),
45
- createBaseVNode("p", null, "This node does not need a setup", -1)
46
- ])),
47
- _: 1,
48
- __: [1]
49
- }, 8, ["modelValue"])
50
- ])) : createCommentVNode("", true);
51
- };
52
- }
53
- });
54
- const _hoisted_1 = { ref: "el" };
55
- const _sfc_main = /* @__PURE__ */ defineComponent({
56
- __name: "RecordCount",
57
- props: {
58
- nodeId: {
59
- type: Number,
60
- required: true
61
- }
62
- },
63
- setup(__props) {
64
- const nodeStore = useNodeStore();
65
- const childComp = ref(null);
66
- const props = __props;
67
- const drawer = ref(false);
68
- const closeOnDrawer = () => {
69
- var _a;
70
- drawer.value = false;
71
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
72
- };
73
- const openDrawer = async () => {
74
- if (nodeStore.node_id === props.nodeId) {
75
- return;
76
- }
77
- nodeStore.closeDrawer();
78
- drawer.value = true;
79
- const drawerOpen = nodeStore.isDrawerOpen;
80
- nodeStore.isDrawerOpen = true;
81
- await nextTick();
82
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
83
- return;
84
- }
85
- if (childComp.value) {
86
- childComp.value.loadNodeData(props.nodeId);
87
- nodeStore.openDrawer(closeOnDrawer);
88
- }
89
- };
90
- onMounted(async () => {
91
- await nextTick();
92
- });
93
- return (_ctx, _cache) => {
94
- return openBlock(), createElementBlock("div", _hoisted_1, [
95
- createVNode(NodeButton, {
96
- ref: "nodeButton",
97
- "node-id": __props.nodeId,
98
- "image-src": "record_count.png",
99
- title: `${__props.nodeId}: Count records`,
100
- onClick: openDrawer
101
- }, null, 8, ["node-id", "title"]),
102
- drawer.value ? (openBlock(), createBlock(Teleport, {
103
- key: 0,
104
- to: "#nodesettings"
105
- }, [
106
- createVNode(NodeTitle, {
107
- title: "Count records",
108
- intro: "Get the count of the number of reocrds"
109
- }),
110
- createVNode(_sfc_main$1, {
111
- ref_key: "childComp",
112
- ref: childComp,
113
- "node-id": __props.nodeId
114
- }, null, 8, ["node-id"])
115
- ])) : createCommentVNode("", true)
116
- ], 512);
117
- };
118
- }
119
- });
120
- export {
121
- _sfc_main as default
122
- };
@@ -1,146 +0,0 @@
1
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
2
- import { G as GenericNodeSettings } from "./genericNodeSettings-def5879b.js";
3
- import { d as defineComponent, r as ref, n as onMounted, R as nextTick, o as onUnmounted, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, g as createTextVNode, i as createCommentVNode, _ as _export_sfc, h as createBlock, a7 as Teleport } from "./index-683fc198.js";
4
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-a16db7c3.js";
5
- import "./designer-6c322d8e.js";
6
- const _hoisted_1$1 = {
7
- key: 0,
8
- class: "listbox-wrapper"
9
- };
10
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
11
- __name: "Union",
12
- setup(__props, { expose: __expose }) {
13
- const nodeStore = useNodeStore();
14
- const showContextMenu = ref(false);
15
- const dataLoaded = ref(false);
16
- const nodeData = ref(null);
17
- const unionInput = ref({ mode: "relaxed" });
18
- const nodeUnion = ref(null);
19
- const loadNodeData = async (nodeId) => {
20
- var _a;
21
- console.log("loadNodeData from union ");
22
- nodeData.value = await nodeStore.getNodeData(nodeId, false);
23
- nodeUnion.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
24
- if (nodeData.value) {
25
- if (nodeUnion.value) {
26
- if (nodeUnion.value.union_input) {
27
- unionInput.value = nodeUnion.value.union_input;
28
- } else {
29
- nodeUnion.value.union_input = unionInput.value;
30
- }
31
- }
32
- }
33
- dataLoaded.value = true;
34
- nodeStore.isDrawerOpen = true;
35
- console.log("loadNodeData from groupby");
36
- };
37
- const handleClickOutside = (event) => {
38
- const targetEvent = event.target;
39
- if (targetEvent.id === "pivot-context-menu")
40
- return;
41
- showContextMenu.value = false;
42
- };
43
- const pushNodeData = async () => {
44
- if (unionInput.value) {
45
- nodeStore.updateSettings(nodeUnion);
46
- }
47
- nodeStore.isDrawerOpen = false;
48
- };
49
- __expose({
50
- loadNodeData,
51
- pushNodeData
52
- });
53
- onMounted(async () => {
54
- await nextTick();
55
- window.addEventListener("click", handleClickOutside);
56
- });
57
- onUnmounted(() => {
58
- window.removeEventListener("click", handleClickOutside);
59
- });
60
- return (_ctx, _cache) => {
61
- return dataLoaded.value && nodeUnion.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
62
- createVNode(GenericNodeSettings, {
63
- modelValue: nodeUnion.value,
64
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeUnion.value = $event)
65
- }, {
66
- default: withCtx(() => _cache[1] || (_cache[1] = [
67
- createTextVNode(" 'Union multiple tables into one table, this node does not have settings' ")
68
- ])),
69
- _: 1,
70
- __: [1]
71
- }, 8, ["modelValue"])
72
- ])) : createCommentVNode("", true);
73
- };
74
- }
75
- });
76
- const Union_vue_vue_type_style_index_0_scoped_beb191a2_lang = "";
77
- const readInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-beb191a2"]]);
78
- const _hoisted_1 = { ref: "el" };
79
- const _sfc_main = /* @__PURE__ */ defineComponent({
80
- __name: "Union",
81
- props: {
82
- nodeId: {
83
- type: Number,
84
- required: true
85
- }
86
- },
87
- setup(__props) {
88
- const nodeStore = useNodeStore();
89
- const childComp = ref(null);
90
- const props = __props;
91
- const drawer = ref(false);
92
- const closeOnDrawer = () => {
93
- var _a;
94
- drawer.value = false;
95
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
96
- };
97
- const openDrawer = async () => {
98
- if (nodeStore.node_id === props.nodeId) {
99
- return;
100
- }
101
- nodeStore.closeDrawer();
102
- drawer.value = true;
103
- const drawerOpen = nodeStore.isDrawerOpen;
104
- nodeStore.isDrawerOpen = true;
105
- await nextTick();
106
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
107
- return;
108
- }
109
- if (childComp.value) {
110
- childComp.value.loadNodeData(props.nodeId);
111
- nodeStore.openDrawer(closeOnDrawer);
112
- }
113
- };
114
- onMounted(async () => {
115
- await nextTick();
116
- });
117
- return (_ctx, _cache) => {
118
- return openBlock(), createElementBlock("div", _hoisted_1, [
119
- createVNode(NodeButton, {
120
- ref: "nodeButton",
121
- "node-id": __props.nodeId,
122
- "image-src": "union.png",
123
- title: `${__props.nodeId}: Union data`,
124
- onClick: openDrawer
125
- }, null, 8, ["node-id", "title"]),
126
- drawer.value ? (openBlock(), createBlock(Teleport, {
127
- key: 0,
128
- to: "#nodesettings"
129
- }, [
130
- createVNode(NodeTitle, {
131
- title: "Union data",
132
- intro: "Union data into multiple tables. This node does not have settings"
133
- }),
134
- createVNode(readInput, {
135
- ref_key: "childComp",
136
- ref: childComp,
137
- "node-id": __props.nodeId
138
- }, null, 8, ["node-id"])
139
- ])) : createCommentVNode("", true)
140
- ], 512);
141
- };
142
- }
143
- });
144
- export {
145
- _sfc_main as default
146
- };
@@ -1,77 +0,0 @@
1
-
2
- .context-menu[data-v-4f9e01e5] {
3
- position: fixed;
4
- z-index: 1000;
5
- border: 1px solid #ccc;
6
- background-color: white;
7
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
8
- border-radius: 4px;
9
- user-select: none;
10
- }
11
- .context-menu ul[data-v-4f9e01e5] {
12
- list-style: none;
13
- padding: 0;
14
- margin: 0;
15
- }
16
- .context-menu li[data-v-4f9e01e5] {
17
- padding: 8px 16px;
18
- cursor: pointer;
19
- }
20
- .context-menu li.disabled[data-v-4f9e01e5] {
21
- color: #ccc;
22
- cursor: not-allowed;
23
- }
24
- .context-menu li[data-v-4f9e01e5]:hover:not(.disabled) {
25
- background-color: #f0f0f0;
26
- }
27
-
28
- .items-container[data-v-fd7e6af1] {
29
- display: flex;
30
- flex-wrap: wrap;
31
- gap: 10px; /* Space between items */
32
- }
33
- .item-box[data-v-fd7e6af1] {
34
- display: flex;
35
- align-items: center;
36
- padding: 5px 10px;
37
- background-color: #f0f0f0;
38
- border-radius: 4px;
39
- font-size: 12px; /* Font size set to 12px */
40
- position: relative;
41
- }
42
- .remove-btn[data-v-fd7e6af1] {
43
- margin-left: 8px;
44
- cursor: pointer;
45
- color: #100f0f72;
46
- font-weight: bold;
47
- }
48
-
49
- .context-menu[data-v-9746d208] {
50
- position: fixed;
51
- z-index: 1000;
52
- border: 1px solid #ccc;
53
- background-color: white;
54
- padding: 8px;
55
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
56
- border-radius: 4px;
57
- }
58
- .context-menu ul[data-v-9746d208] {
59
- list-style: none;
60
- padding: 0;
61
- margin: 0;
62
- }
63
- .context-menu li[data-v-9746d208] {
64
- padding: 8px 16px;
65
- cursor: pointer;
66
- }
67
- .context-menu li[data-v-9746d208]:hover {
68
- background-color: #f0f0f0;
69
- }
70
- .switch-container[data-v-9746d208] {
71
- display: flex;
72
- align-items: center;
73
- margin: 12px;
74
- }
75
- .switch-container span[data-v-9746d208] {
76
- margin-right: 10px;
77
- }
@@ -1,227 +0,0 @@
1
- import { g as getImageUrl } from "./designer-6c322d8e.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
3
- import { d as defineComponent, r as ref, l as computed, n as onMounted, m as watch, R as nextTick, c as openBlock, e as createElementBlock, p as createBaseVNode, t as toDisplayString, s as normalizeClass, u as unref, _ as _export_sfc, b as resolveComponent, h as createBlock, w as withCtx, f as createVNode } from "./index-683fc198.js";
4
- const _hoisted_1$1 = { class: "component-wrapper" };
5
- const _hoisted_2$1 = { class: "tooltip-text" };
6
- const _hoisted_3$1 = ["src", "alt"];
7
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8
- __name: "nodeButton",
9
- props: {
10
- nodeId: { type: Number, required: true },
11
- imageSrc: { type: String, required: true },
12
- title: { type: String, required: true }
13
- },
14
- emits: ["click"],
15
- setup(__props, { emit: __emit }) {
16
- const description = ref("");
17
- const mouseX = ref(0);
18
- const mouseY = ref(0);
19
- const nodeStore = useNodeStore();
20
- const props = __props;
21
- const isSelected = computed(() => {
22
- return nodeStore.node_id == props.nodeId;
23
- });
24
- computed(() => {
25
- const overlayWidth = 400;
26
- const overlayHeight = 200;
27
- const buffer = 100;
28
- let left = mouseX.value + buffer;
29
- let top = mouseY.value + buffer;
30
- if (left + overlayWidth > window.innerWidth) {
31
- left -= overlayWidth + 2 * buffer;
32
- }
33
- if (top + overlayHeight > window.innerHeight) {
34
- top -= overlayHeight + 2 * buffer;
35
- }
36
- left = Math.max(left, buffer);
37
- top = Math.max(top, buffer);
38
- return {
39
- top: `${top}px`,
40
- left: `${left}px`
41
- };
42
- });
43
- const nodeResult = computed(() => {
44
- const nodeResult2 = nodeStore.getNodeResult(props.nodeId);
45
- const nodeValidation = nodeStore.getNodeValidation(props.nodeId);
46
- if (nodeResult2 && nodeResult2.is_running) {
47
- return {
48
- success: void 0,
49
- statusIndicator: "running",
50
- hasRun: false,
51
- error: void 0
52
- };
53
- }
54
- if (nodeResult2 && !nodeResult2.is_running) {
55
- if (nodeValidation) {
56
- if (nodeResult2.success === true && !nodeValidation.isValid && nodeValidation.validationTime > nodeResult2.start_timestamp) {
57
- return {
58
- success: true,
59
- statusIndicator: "warning",
60
- error: nodeValidation.error,
61
- hasRun: true
62
- };
63
- }
64
- if (nodeResult2.success === true && nodeValidation.isValid) {
65
- return {
66
- success: true,
67
- statusIndicator: "success",
68
- error: nodeResult2.error || nodeValidation.error,
69
- hasRun: true
70
- };
71
- }
72
- if (nodeResult2.success === false && nodeValidation.isValid && nodeValidation.validationTime > nodeResult2.start_timestamp) {
73
- return {
74
- success: false,
75
- statusIndicator: "unknown",
76
- error: nodeResult2.error || nodeValidation.error,
77
- hasRun: true
78
- };
79
- }
80
- if (nodeResult2.success === false && (!nodeValidation.isValid || !nodeValidation.validationTime)) {
81
- return {
82
- success: false,
83
- statusIndicator: "failure",
84
- error: nodeResult2.error || nodeValidation.error,
85
- hasRun: true
86
- };
87
- }
88
- }
89
- return {
90
- success: nodeResult2.success ?? false,
91
- statusIndicator: nodeResult2.success ? "success" : "failure",
92
- error: nodeResult2.error,
93
- hasRun: true
94
- };
95
- }
96
- if (nodeValidation) {
97
- if (!nodeValidation.isValid) {
98
- return {
99
- success: false,
100
- statusIndicator: "warning",
101
- error: nodeValidation.error,
102
- hasRun: false
103
- };
104
- }
105
- if (nodeValidation.isValid) {
106
- return {
107
- success: true,
108
- statusIndicator: "unknown",
109
- error: nodeValidation.error,
110
- hasRun: false
111
- };
112
- }
113
- }
114
- return void 0;
115
- });
116
- const tooltipContent = computed(() => {
117
- var _a, _b, _c;
118
- switch ((_a = nodeResult.value) == null ? void 0 : _a.statusIndicator) {
119
- case "success":
120
- return "Operation successful";
121
- case "failure":
122
- return "Operation failed: \n" + (((_b = nodeResult.value) == null ? void 0 : _b.error) || "No error message available");
123
- case "warning":
124
- return "Operation warning: \n" + (((_c = nodeResult.value) == null ? void 0 : _c.error) || "No warning message available");
125
- case "running":
126
- return "Operation in progress...";
127
- case "unknown":
128
- default:
129
- return "Status unknown";
130
- }
131
- });
132
- const getNodeDescription = async () => {
133
- description.value = await nodeStore.getNodeDescription(props.nodeId);
134
- };
135
- const emits = __emit;
136
- const onClick = () => {
137
- emits("click");
138
- };
139
- onMounted(() => {
140
- watch(
141
- () => props.nodeId,
142
- async (newVal) => {
143
- if (newVal !== -1) {
144
- await nextTick();
145
- getNodeDescription();
146
- }
147
- }
148
- );
149
- });
150
- return (_ctx, _cache) => {
151
- var _a;
152
- return openBlock(), createElementBlock("div", _hoisted_1$1, [
153
- createBaseVNode("div", {
154
- class: normalizeClass(["status-indicator", (_a = nodeResult.value) == null ? void 0 : _a.statusIndicator])
155
- }, [
156
- createBaseVNode("span", _hoisted_2$1, toDisplayString(tooltipContent.value), 1)
157
- ], 2),
158
- createBaseVNode("button", {
159
- class: normalizeClass(["node-button", { selected: isSelected.value }]),
160
- onClick
161
- }, [
162
- createBaseVNode("img", {
163
- src: unref(getImageUrl)(props.imageSrc),
164
- alt: props.title,
165
- width: "50"
166
- }, null, 8, _hoisted_3$1)
167
- ], 2)
168
- ]);
169
- };
170
- }
171
- });
172
- const nodeButton_vue_vue_type_style_index_0_scoped_a984e3d6_lang = "";
173
- const NodeButton = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-a984e3d6"]]);
174
- const _hoisted_1 = { class: "listbox-wrapper" };
175
- const _hoisted_2 = { class: "listbox-title" };
176
- const _hoisted_3 = { class: "intro-content" };
177
- const _hoisted_4 = {
178
- key: 1,
179
- class: "title"
180
- };
181
- const _sfc_main = /* @__PURE__ */ defineComponent({
182
- __name: "nodeTitle",
183
- props: {
184
- title: {
185
- type: String,
186
- required: true
187
- },
188
- intro: {
189
- type: String,
190
- required: false,
191
- default: ""
192
- // Add default value to resolve warning
193
- }
194
- },
195
- setup(__props) {
196
- const props = __props;
197
- return (_ctx, _cache) => {
198
- const _component_el_collapse_item = resolveComponent("el-collapse-item");
199
- const _component_el_collapse = resolveComponent("el-collapse");
200
- return openBlock(), createElementBlock("div", _hoisted_1, [
201
- props.intro ? (openBlock(), createBlock(_component_el_collapse, {
202
- key: 0,
203
- class: "listbox-expandable"
204
- }, {
205
- default: withCtx(() => [
206
- createVNode(_component_el_collapse_item, null, {
207
- title: withCtx(() => [
208
- createBaseVNode("div", _hoisted_2, toDisplayString(props.title), 1)
209
- ]),
210
- default: withCtx(() => [
211
- createBaseVNode("div", _hoisted_3, toDisplayString(props.intro), 1)
212
- ]),
213
- _: 1
214
- })
215
- ]),
216
- _: 1
217
- })) : (openBlock(), createElementBlock("div", _hoisted_4, toDisplayString(props.title), 1))
218
- ]);
219
- };
220
- }
221
- });
222
- const nodeTitle_vue_vue_type_style_index_0_scoped_0db5c358_lang = "";
223
- const NodeTitle = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0db5c358"]]);
224
- export {
225
- NodeButton as N,
226
- NodeTitle as a
227
- };
@@ -1,134 +0,0 @@
1
-
2
- .status-indicator[data-v-a984e3d6] {
3
- position: relative;
4
- display: flex;
5
- align-items: center;
6
- margin-right: 8px;
7
- }
8
- .status-indicator[data-v-a984e3d6]::before {
9
- content: "";
10
- display: block;
11
- width: 10px;
12
- height: 10px;
13
- border-radius: 50%;
14
- }
15
- .status-indicator.success[data-v-a984e3d6]::before {
16
- background-color: #4caf50;
17
- }
18
- .status-indicator.failure[data-v-a984e3d6]::before {
19
- background-color: #f44336;
20
- }
21
- .status-indicator.warning[data-v-a984e3d6]::before {
22
- background-color: #f09f5dd1;
23
- }
24
- .status-indicator.unknown[data-v-a984e3d6]::before {
25
- background-color: #ffffff;
26
- }
27
- .status-indicator.running[data-v-a984e3d6]::before {
28
- background-color: #0909ca;
29
- animation: pulse-a984e3d6 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
30
- box-shadow: 0 0 10px #0909ca;
31
- }
32
- @keyframes pulse-a984e3d6 {
33
- 0% {
34
- transform: scale(1);
35
- opacity: 1;
36
- box-shadow: 0 0 5px #0909ca;
37
- }
38
- 50% {
39
- transform: scale(1.3);
40
- opacity: 0.6;
41
- box-shadow: 0 0 15px #0909ca;
42
- }
43
- 100% {
44
- transform: scale(1);
45
- opacity: 1;
46
- box-shadow: 0 0 5px #0909ca;
47
- }
48
- }
49
- .tooltip-text[data-v-a984e3d6] {
50
- visibility: hidden;
51
- width: 120px;
52
- background-color: black;
53
- color: #fff;
54
- text-align: center;
55
- border-radius: 6px;
56
- padding: 5px 0;
57
- position: absolute;
58
- z-index: 1;
59
- bottom: 100%;
60
- left: 50%;
61
- margin-left: -60px;
62
- opacity: 0;
63
- transition: opacity 0.3s;
64
- }
65
- .status-indicator:hover .tooltip-text[data-v-a984e3d6] {
66
- visibility: visible;
67
- opacity: 1;
68
- }
69
- .description-input[data-v-a984e3d6]:hover,
70
- .description-input[data-v-a984e3d6]:focus {
71
- background-color: #e7e7e7; /* Slightly darker on hover/focus */
72
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); /* More pronounced shadow on hover/focus */
73
- }
74
- .component-wrapper[data-v-a984e3d6] {
75
- position: relative; /* This makes the absolute positioning of the child relative to this container */
76
- max-width: 60px;
77
- overflow: visible; /* Allows children to visually overflow */
78
- }
79
- .description-display[data-v-a984e3d6] {
80
- padding: 8px;
81
- width: 200px !important;
82
- max-height: 8px !important;
83
- background-color: #ffffff; /* Light grey background */
84
- border-radius: 4px; /* Rounded corners for a modern look */
85
- cursor: pointer; /* Indicates the text can be clicked */
86
- }
87
- .overlay[data-v-a984e3d6] {
88
- position: fixed; /* This is key for viewport-level positioning */
89
- width: 200px; /* Or whatever width you prefer */
90
- height: 200px; /* Or whatever height you prefer */
91
- left: 50%; /* Center horizontally */
92
- top: 50%; /* Center vertically */
93
- transform: translate(-50%, -50%); /* Adjust based on its own dimensions */
94
- z-index: 1000; /* High enough to float above everything else */
95
- /* Your existing styles for background, padding, etc. */
96
- }
97
- .node-button[data-v-a984e3d6] {
98
- background-color: #ffffff;
99
- border-radius: 10px;
100
- border-width: 0.5px;
101
- }
102
- .node-button[data-v-a984e3d6]:hover {
103
- background-color: #f5f5f5;
104
- transform: translateY(-1px);
105
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
106
- }
107
- .overlay-content[data-v-a984e3d6] {
108
- padding: 20px;
109
- border-radius: 10px;
110
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
111
- display: flex;
112
- flex-direction: column;
113
- align-items: stretch;
114
- }
115
- .overlay-prompt[data-v-a984e3d6] {
116
- margin-bottom: 10px;
117
- color: #333;
118
- font-size: 16px;
119
- }
120
- .description-input[data-v-a984e3d6] {
121
- margin-bottom: 10px;
122
- border: 1px solid #ccc;
123
- border-radius: 4px;
124
- padding: 10px;
125
- font-size: 14px;
126
- height: 100px; /* Adjust based on your needs */
127
- }
128
- .selected[data-v-a984e3d6] {
129
- border: 2px solid #828282;
130
- }
131
-
132
- .intro-content[data-v-0db5c358] {
133
- white-space: pre-wrap; /* Preserves whitespace and line breaks */
134
- }