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,13 +1,13 @@
1
1
 
2
2
  /* Modern styling for an AI app */
3
- .fuzzy-join-container[data-v-99f9b22f] {
3
+ .fuzzy-join-container[data-v-3c562315] {
4
4
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
5
5
  color: #1a202c;
6
6
  max-width: 100%;
7
7
  }
8
8
 
9
9
  /* Tabs Navigation */
10
- .tabs-navigation[data-v-99f9b22f] {
10
+ .tabs-navigation[data-v-3c562315] {
11
11
  display: flex;
12
12
  border-bottom: 1px solid #e2e8f0;
13
13
  margin-bottom: 1.25rem;
@@ -15,7 +15,7 @@
15
15
  border-radius: 8px 8px 0 0;
16
16
  overflow: hidden;
17
17
  }
18
- .tab-button[data-v-99f9b22f] {
18
+ .tab-button[data-v-3c562315] {
19
19
  background: none;
20
20
  border: none;
21
21
  padding: 0.75rem 1.25rem;
@@ -29,21 +29,21 @@
29
29
  flex: 1;
30
30
  text-align: center;
31
31
  }
32
- .tab-button[data-v-99f9b22f]:hover {
32
+ .tab-button[data-v-3c562315]:hover {
33
33
  color: #4a5568;
34
34
  background-color: #edf2f7;
35
35
  }
36
- .tab-button.active[data-v-99f9b22f] {
36
+ .tab-button.active[data-v-3c562315] {
37
37
  border-bottom-color: #3182ce;
38
38
  color: #3182ce;
39
39
  background-color: #ebf8ff;
40
40
  }
41
- .tab-content[data-v-99f9b22f] {
41
+ .tab-content[data-v-3c562315] {
42
42
  min-height: 300px;
43
43
  }
44
44
 
45
45
  /* Card styling */
46
- .settings-card[data-v-99f9b22f] {
46
+ .settings-card[data-v-3c562315] {
47
47
  background-color: #ffffff;
48
48
  border-radius: 8px;
49
49
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
@@ -51,45 +51,45 @@
51
51
  border: 1px solid #edf2f7;
52
52
  overflow: hidden;
53
53
  }
54
- .card-header[data-v-99f9b22f] {
54
+ .card-header[data-v-3c562315] {
55
55
  padding: 1rem 1.25rem;
56
56
  border-bottom: 1px solid #edf2f7;
57
57
  background-color: #fafafa;
58
58
  }
59
- .section-title[data-v-99f9b22f] {
59
+ .section-title[data-v-3c562315] {
60
60
  margin: 0;
61
61
  font-size: 1rem;
62
62
  font-weight: 600;
63
63
  color: #2d3748;
64
64
  }
65
- .card-content[data-v-99f9b22f] {
65
+ .card-content[data-v-3c562315] {
66
66
  padding: 1rem 1.25rem;
67
67
  }
68
68
 
69
69
  /* Join Settings */
70
- .join-settings[data-v-99f9b22f] {
70
+ .join-settings[data-v-3c562315] {
71
71
  display: flex;
72
72
  flex-direction: column;
73
73
  gap: 1.25rem;
74
74
  }
75
- .setting-panel[data-v-99f9b22f] {
75
+ .setting-panel[data-v-3c562315] {
76
76
  background-color: #f8fafc;
77
77
  border-radius: 6px;
78
78
  padding: 1rem;
79
79
  border: 1px solid #edf2f7;
80
80
  transition: all 0.2s ease;
81
81
  }
82
- .setting-panel[data-v-99f9b22f]:hover {
82
+ .setting-panel[data-v-3c562315]:hover {
83
83
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
84
84
  border-color: #e2e8f0;
85
85
  }
86
- .setting-header[data-v-99f9b22f] {
86
+ .setting-header[data-v-3c562315] {
87
87
  display: flex;
88
88
  justify-content: space-between;
89
89
  align-items: center;
90
90
  margin-bottom: 1rem;
91
91
  }
92
- .setting-title[data-v-99f9b22f] {
92
+ .setting-title[data-v-3c562315] {
93
93
  font-size: 0.95rem;
94
94
  font-weight: 600;
95
95
  color: #4a5568;
@@ -97,54 +97,54 @@
97
97
  display: flex;
98
98
  align-items: center;
99
99
  }
100
- .unavailable-field[data-v-99f9b22f] {
100
+ .unavailable-field[data-v-3c562315] {
101
101
  margin-right: 0.5rem;
102
102
  }
103
103
 
104
104
  /* Column Selection Grid */
105
- .columns-grid[data-v-99f9b22f] {
105
+ .columns-grid[data-v-3c562315] {
106
106
  display: grid;
107
107
  grid-template-columns: 1fr 1fr;
108
108
  gap: 1rem;
109
109
  margin-bottom: 1rem;
110
110
  }
111
- .column-field[data-v-99f9b22f] {
111
+ .column-field[data-v-3c562315] {
112
112
  display: flex;
113
113
  flex-direction: column;
114
114
  gap: 0.5rem;
115
115
  }
116
- .column-field label[data-v-99f9b22f] {
116
+ .column-field label[data-v-3c562315] {
117
117
  font-size: 0.875rem;
118
118
  font-weight: 500;
119
119
  color: #4a5568;
120
120
  }
121
121
 
122
122
  /* Settings Grid */
123
- .settings-grid[data-v-99f9b22f] {
123
+ .settings-grid[data-v-3c562315] {
124
124
  display: grid;
125
125
  grid-template-columns: 1fr 1fr;
126
126
  gap: 1rem;
127
127
  }
128
- .threshold-field[data-v-99f9b22f],
129
- .select-field[data-v-99f9b22f] {
128
+ .threshold-field[data-v-3c562315],
129
+ .select-field[data-v-3c562315] {
130
130
  display: flex;
131
131
  flex-direction: column;
132
132
  gap: 0.5rem;
133
133
  }
134
- .threshold-field label[data-v-99f9b22f],
135
- .select-field label[data-v-99f9b22f] {
134
+ .threshold-field label[data-v-3c562315],
135
+ .select-field label[data-v-3c562315] {
136
136
  font-size: 0.875rem;
137
137
  font-weight: 500;
138
138
  color: #4a5568;
139
139
  }
140
140
 
141
141
  /* Range Input */
142
- .range-container[data-v-99f9b22f] {
142
+ .range-container[data-v-3c562315] {
143
143
  display: flex;
144
144
  align-items: center;
145
145
  gap: 1rem;
146
146
  }
147
- .range-slider[data-v-99f9b22f] {
147
+ .range-slider[data-v-3c562315] {
148
148
  flex: 1;
149
149
  -webkit-appearance: none;
150
150
  width: 100%;
@@ -153,7 +153,7 @@
153
153
  background: #e2e8f0;
154
154
  outline: none;
155
155
  }
156
- .range-slider[data-v-99f9b22f]::-webkit-slider-thumb {
156
+ .range-slider[data-v-3c562315]::-webkit-slider-thumb {
157
157
  -webkit-appearance: none;
158
158
  appearance: none;
159
159
  width: 16px;
@@ -164,7 +164,7 @@
164
164
  border: 2px solid white;
165
165
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
166
166
  }
167
- .range-slider[data-v-99f9b22f]::-moz-range-thumb {
167
+ .range-slider[data-v-3c562315]::-moz-range-thumb {
168
168
  width: 16px;
169
169
  height: 16px;
170
170
  border-radius: 50%;
@@ -173,7 +173,7 @@
173
173
  border: 2px solid white;
174
174
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
175
175
  }
176
- .range-value[data-v-99f9b22f] {
176
+ .range-value[data-v-3c562315] {
177
177
  min-width: 3rem;
178
178
  text-align: right;
179
179
  font-size: 0.875rem;
@@ -182,10 +182,10 @@
182
182
  }
183
183
 
184
184
  /* Select Input */
185
- .select-wrapper[data-v-99f9b22f] {
185
+ .select-wrapper[data-v-3c562315] {
186
186
  position: relative;
187
187
  }
188
- .select-input[data-v-99f9b22f] {
188
+ .select-input[data-v-3c562315] {
189
189
  width: 100%;
190
190
  padding: 0.5rem 0.75rem;
191
191
  font-size: 0.875rem;
@@ -197,14 +197,14 @@
197
197
  outline: none;
198
198
  transition: all 0.2s ease;
199
199
  }
200
- .select-input[data-v-99f9b22f]:focus {
200
+ .select-input[data-v-3c562315]:focus {
201
201
  border-color: #3182ce;
202
202
  box-shadow: 0 0 0 2px rgba(49, 130, 206, 0.15);
203
203
  }
204
204
 
205
205
  /* Buttons */
206
- .add-button[data-v-99f9b22f],
207
- .remove-button[data-v-99f9b22f] {
206
+ .add-button[data-v-3c562315],
207
+ .remove-button[data-v-3c562315] {
208
208
  padding: 0.5rem 0.75rem;
209
209
  border: 1px solid #e2e8f0;
210
210
  border-radius: 6px;
@@ -215,7 +215,7 @@
215
215
  cursor: pointer;
216
216
  transition: all 0.2s ease;
217
217
  }
218
- .add-button[data-v-99f9b22f] {
218
+ .add-button[data-v-3c562315] {
219
219
  background-color: #ebf8ff;
220
220
  color: #3182ce;
221
221
  margin-top: 0.5rem;
@@ -224,22 +224,22 @@
224
224
  justify-content: center;
225
225
  align-items: center;
226
226
  }
227
- .add-button[data-v-99f9b22f]:hover {
227
+ .add-button[data-v-3c562315]:hover {
228
228
  background-color: #bee3f8;
229
229
  }
230
- .remove-button[data-v-99f9b22f] {
230
+ .remove-button[data-v-3c562315] {
231
231
  background-color: transparent;
232
232
  border: 1px solid #e2e8f0;
233
233
  }
234
- .remove-button[data-v-99f9b22f]:hover {
234
+ .remove-button[data-v-3c562315]:hover {
235
235
  background-color: #fee2e2;
236
236
  color: #e53e3e;
237
237
  border-color: #fbd5d5;
238
238
  }
239
- .select-section[data-v-99f9b22f] {
239
+ .select-section[data-v-3c562315] {
240
240
  margin-top: 1rem;
241
241
  }
242
- .select-section + .select-section[data-v-99f9b22f] {
242
+ .select-section + .select-section[data-v-3c562315] {
243
243
  margin-top: 2rem;
244
244
  padding-top: 1.5rem;
245
245
  border-top: 1px solid #edf2f7;
@@ -247,8 +247,8 @@
247
247
 
248
248
  /* Responsive adjustments */
249
249
  @media (max-width: 768px) {
250
- .columns-grid[data-v-99f9b22f],
251
- .settings-grid[data-v-99f9b22f] {
250
+ .columns-grid[data-v-3c562315],
251
+ .settings-grid[data-v-3c562315] {
252
252
  grid-template-columns: 1fr;
253
253
  }
254
254
  }
@@ -1,13 +1,12 @@
1
- import { d as defineComponent, r as ref, l as computed, n as onMounted, R as nextTick, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, s as normalizeClass, F as Fragment, q as renderList, h as createBlock, i as createCommentVNode, g as createTextVNode, t as toDisplayString, a5 as withDirectives, a6 as vModelText, ag as vModelSelect, u as unref, _ as _export_sfc, a7 as Teleport } from "./index-683fc198.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
3
- import { C as ColumnSelector } from "./dropDown-0b46dd77.js";
4
- import { s as selectDynamic } from "./selectDynamic-de91449a.js";
5
- import { u as unavailableField } from "./UnavailableFields-8b0cb48e.js";
6
- import { G as GenericNodeSettings } from "./genericNodeSettings-def5879b.js";
7
- import { C as CodeLoader } from "./vue-content-loader.es-ba94b82f.js";
8
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-a16db7c3.js";
9
- import "./designer-6c322d8e.js";
10
- const _hoisted_1$1 = {
1
+ import { d as defineComponent, r as ref, l as computed, n as onMounted, R as nextTick, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, s as normalizeClass, F as Fragment, q as renderList, h as createBlock, i as createCommentVNode, g as createTextVNode, t as toDisplayString, a8 as withDirectives, a9 as vModelText, ak as vModelSelect, u as unref, _ as _export_sfc } from "./index-d0518598.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
3
+ import { C as ColumnSelector } from "./dropDown-025888df.js";
4
+ import { s as selectDynamic } from "./selectDynamic-5476546e.js";
5
+ import { u as unavailableField } from "./UnavailableFields-88a4cd0c.js";
6
+ import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
7
+ import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
8
+ import "./designer-bf3d9487.js";
9
+ const _hoisted_1 = {
11
10
  key: 0,
12
11
  class: "fuzzy-join-container"
13
12
  };
@@ -43,8 +42,8 @@ const _hoisted_22 = {
43
42
  };
44
43
  const _hoisted_23 = { class: "settings-card" };
45
44
  const _hoisted_24 = { class: "card-content" };
46
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
47
- __name: "fuzzyMatch",
45
+ const _sfc_main = /* @__PURE__ */ defineComponent({
46
+ __name: "FuzzyMatch",
48
47
  setup(__props, { expose: __expose }) {
49
48
  const activeTab = ref("match");
50
49
  const containsVal = (arr, val) => {
@@ -115,7 +114,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
115
114
  };
116
115
  const loadNodeData = async (nodeId) => {
117
116
  var _a, _b, _c, _d, _e, _f;
118
- result.value = await nodeStore.getNodeData(nodeId, true);
117
+ result.value = await nodeStore.getNodeData(nodeId, false);
119
118
  nodeFuzzyJoin.value = (_a = result.value) == null ? void 0 : _a.setting_input;
120
119
  if (!((_b = nodeFuzzyJoin.value) == null ? void 0 : _b.is_setup) && ((_c = result.value) == null ? void 0 : _c.main_input)) {
121
120
  if (nodeFuzzyJoin.value) {
@@ -129,7 +128,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
129
128
  }
130
129
  } else {
131
130
  isLoaded.value = true;
132
- console.log("Data reloaded");
133
131
  }
134
132
  isLoaded.value = true;
135
133
  };
@@ -161,8 +159,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
161
159
  }
162
160
  };
163
161
  const pushNodeData = async () => {
164
- isLoaded.value = false;
165
- nodeStore.isDrawerOpen = false;
166
162
  if (nodeFuzzyJoin.value) {
167
163
  nodeFuzzyJoin.value.is_setup = true;
168
164
  }
@@ -188,7 +184,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
188
184
  await nextTick();
189
185
  });
190
186
  return (_ctx, _cache) => {
191
- return isLoaded.value && nodeFuzzyJoin.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
187
+ return isLoaded.value && nodeFuzzyJoin.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
192
188
  createVNode(GenericNodeSettings, {
193
189
  modelValue: nodeFuzzyJoin.value,
194
190
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => nodeFuzzyJoin.value = $event)
@@ -348,75 +344,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
348
344
  };
349
345
  }
350
346
  });
351
- const fuzzyMatch_vue_vue_type_style_index_0_scoped_99f9b22f_lang = "";
352
- const joinInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-99f9b22f"]]);
353
- const _hoisted_1 = { ref: "el" };
354
- const _sfc_main = /* @__PURE__ */ defineComponent({
355
- __name: "FuzzyMatch",
356
- props: {
357
- nodeId: {
358
- type: Number,
359
- required: true
360
- }
361
- },
362
- setup(__props) {
363
- const nodeStore = useNodeStore();
364
- const props = __props;
365
- const childComp = ref(null);
366
- const drawer = ref(false);
367
- const closeOnDrawer = () => {
368
- var _a;
369
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
370
- drawer.value = false;
371
- nodeStore.isDrawerOpen = false;
372
- };
373
- const openDrawer = async () => {
374
- if (nodeStore.node_id === props.nodeId) {
375
- return;
376
- }
377
- nodeStore.closeDrawer();
378
- drawer.value = true;
379
- const drawerOpen = nodeStore.isDrawerOpen;
380
- nodeStore.isDrawerOpen = true;
381
- await nextTick();
382
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
383
- return;
384
- }
385
- if (childComp.value) {
386
- childComp.value.loadNodeData(props.nodeId);
387
- nodeStore.openDrawer(closeOnDrawer);
388
- }
389
- };
390
- onMounted(async () => {
391
- await nextTick();
392
- });
393
- return (_ctx, _cache) => {
394
- return openBlock(), createElementBlock("div", _hoisted_1, [
395
- createVNode(NodeButton, {
396
- ref: "nodeButton",
397
- "node-id": __props.nodeId,
398
- "image-src": "fuzzy_match.png",
399
- title: `${__props.nodeId}: Fuzzy match`,
400
- onClick: openDrawer
401
- }, null, 8, ["node-id", "title"]),
402
- drawer.value ? (openBlock(), createBlock(Teleport, {
403
- key: 0,
404
- to: "#nodesettings"
405
- }, [
406
- createVNode(NodeTitle, {
407
- title: "Fuzzy match",
408
- intro: "Match data based on string similarity"
409
- }),
410
- createVNode(joinInput, {
411
- ref_key: "childComp",
412
- ref: childComp,
413
- "node-id": __props.nodeId
414
- }, null, 8, ["node-id"])
415
- ])) : createCommentVNode("", true)
416
- ], 512);
417
- };
418
- }
419
- });
347
+ const FuzzyMatch_vue_vue_type_style_index_0_scoped_3c562315_lang = "";
348
+ const FuzzyMatch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3c562315"]]);
420
349
  export {
421
- _sfc_main as default
350
+ FuzzyMatch as default
422
351
  };
@@ -1,87 +1,10 @@
1
- import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, F as Fragment, q as renderList, s as normalizeClass, t as toDisplayString, T as normalizeStyle, _ as _export_sfc, g as createTextVNode, i as createCommentVNode, r as ref, l as computed, n as onMounted, R as nextTick, o as onUnmounted, b as resolveComponent, f as createVNode, w as withCtx, v as withModifiers, h as createBlock, a7 as Teleport } from "./index-683fc198.js";
2
- import { u as useNodeStore } from "./vue-codemirror.esm-dc5e3348.js";
3
- import { G as GenericNodeSettings } from "./genericNodeSettings-def5879b.js";
4
- import { N as NodeButton, a as NodeTitle } from "./nodeTitle-a16db7c3.js";
5
- import "./designer-6c322d8e.js";
6
- const _hoisted_1$3 = ["onClick"];
7
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8
- __name: "ContextMenu",
9
- props: {
10
- position: { type: Object, required: true },
11
- options: {
12
- type: Array,
13
- required: true
14
- }
15
- },
16
- emits: ["select", "close"],
17
- setup(__props, { emit: __emit }) {
18
- const emit = __emit;
19
- const selectOption = (action) => {
20
- emit("select", action);
21
- emit("close");
22
- };
23
- return (_ctx, _cache) => {
24
- return openBlock(), createElementBlock("div", {
25
- class: "context-menu",
26
- style: normalizeStyle({ top: __props.position.y + "px", left: __props.position.x + "px" })
27
- }, [
28
- createBaseVNode("ul", null, [
29
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
30
- return openBlock(), createElementBlock("li", {
31
- key: option.action,
32
- class: normalizeClass({ disabled: option.disabled }),
33
- onClick: ($event) => !option.disabled && selectOption(option.action)
34
- }, toDisplayString(option.label), 11, _hoisted_1$3);
35
- }), 128))
36
- ])
37
- ], 4);
38
- };
39
- }
40
- });
41
- const ContextMenu_vue_vue_type_style_index_0_scoped_d0286fd2_lang = "";
42
- const ContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-d0286fd2"]]);
43
- const _hoisted_1$2 = { class: "listbox-wrapper" };
44
- const _hoisted_2$1 = { class: "listbox-row" };
45
- const _hoisted_3$1 = { class: "listbox-subtitle" };
46
- const _hoisted_4$1 = { class: "items-container" };
47
- const _hoisted_5$1 = {
48
- key: 0,
49
- class: "item-box"
50
- };
51
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
52
- __name: "SettingsSection",
53
- props: {
54
- title: { type: String, required: true },
55
- item: { type: String, required: true }
56
- // Changed to a single item
57
- },
58
- emits: ["removeItem"],
59
- setup(__props, { emit: __emit }) {
60
- const emit = __emit;
61
- const emitRemove = (item) => {
62
- emit("removeItem", item);
63
- };
64
- return (_ctx, _cache) => {
65
- return openBlock(), createElementBlock("div", _hoisted_1$2, [
66
- createBaseVNode("div", _hoisted_2$1, [
67
- createBaseVNode("div", _hoisted_3$1, toDisplayString(__props.title), 1),
68
- createBaseVNode("div", _hoisted_4$1, [
69
- __props.item !== "" ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
70
- createTextVNode(toDisplayString(__props.item) + " ", 1),
71
- createBaseVNode("span", {
72
- class: "remove-btn",
73
- onClick: _cache[0] || (_cache[0] = ($event) => emitRemove(__props.item))
74
- }, "x")
75
- ])) : createCommentVNode("", true)
76
- ])
77
- ])
78
- ]);
79
- };
80
- }
81
- });
82
- const SettingsSection_vue_vue_type_style_index_0_scoped_43acf78a_lang = "";
83
- const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-43acf78a"]]);
84
- const _hoisted_1$1 = {
1
+ import { d as defineComponent, r as ref, l as computed, n as onMounted, R as nextTick, o as onUnmounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, p as createBaseVNode, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, t as toDisplayString, h as createBlock, i as createCommentVNode, _ as _export_sfc } from "./index-d0518598.js";
2
+ import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
3
+ import ContextMenu from "./ContextMenu-2dea5e27.js";
4
+ import SettingsSection from "./SettingsSection-e57a672e.js";
5
+ import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
6
+ import "./designer-bf3d9487.js";
7
+ const _hoisted_1 = {
85
8
  key: 0,
86
9
  class: "listbox-wrapper"
87
10
  };
@@ -90,8 +13,8 @@ const _hoisted_3 = { class: "listbox" };
90
13
  const _hoisted_4 = ["onClick", "onContextmenu", "onDragstart", "onDrop"];
91
14
  const _hoisted_5 = { class: "listbox-wrapper" };
92
15
  const _hoisted_6 = { class: "listbox-wrapper" };
93
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
94
- __name: "graphSolver",
16
+ const _sfc_main = /* @__PURE__ */ defineComponent({
17
+ __name: "GraphSolver",
95
18
  props: { nodeId: { type: Number, required: true } },
96
19
  setup(__props, { expose: __expose }) {
97
20
  const nodeStore = useNodeStore();
@@ -206,7 +129,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
206
129
  }
207
130
  }
208
131
  dataLoaded.value = true;
209
- nodeStore.isDrawerOpen = true;
210
132
  };
211
133
  const handleClickOutside = (event) => {
212
134
  const targetEvent = event.target;
@@ -221,7 +143,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
221
143
  if (nodeGraphSolver.value) {
222
144
  nodeStore.updateSettings(nodeGraphSolver);
223
145
  }
224
- nodeStore.isDrawerOpen = false;
225
146
  };
226
147
  __expose({
227
148
  loadNodeData,
@@ -236,7 +157,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
236
157
  });
237
158
  return (_ctx, _cache) => {
238
159
  const _component_el_input = resolveComponent("el-input");
239
- return dataLoaded.value && nodeGraphSolver.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
160
+ return dataLoaded.value && nodeGraphSolver.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
240
161
  createVNode(GenericNodeSettings, {
241
162
  modelValue: nodeGraphSolver.value,
242
163
  "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => nodeGraphSolver.value = $event)
@@ -308,75 +229,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
308
229
  };
309
230
  }
310
231
  });
311
- const graphSolver_vue_vue_type_style_index_0_scoped_5a467b52_lang = "";
312
- const readInput = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-5a467b52"]]);
313
- const _hoisted_1 = { ref: "el" };
314
- const _sfc_main = /* @__PURE__ */ defineComponent({
315
- __name: "GraphSolver",
316
- props: {
317
- nodeId: {
318
- type: Number,
319
- required: true
320
- }
321
- },
322
- setup(__props) {
323
- const nodeStore = useNodeStore();
324
- const childComp = ref(null);
325
- const props = __props;
326
- const drawer = ref(false);
327
- const closeOnDrawer = () => {
328
- var _a;
329
- drawer.value = false;
330
- (_a = childComp.value) == null ? void 0 : _a.pushNodeData();
331
- };
332
- const openDrawer = async () => {
333
- if (nodeStore.node_id === props.nodeId) {
334
- nodeStore.openDrawer(closeOnDrawer);
335
- return;
336
- }
337
- nodeStore.closeDrawer();
338
- drawer.value = true;
339
- const drawerOpen = nodeStore.isDrawerOpen;
340
- nodeStore.isDrawerOpen = true;
341
- await nextTick();
342
- if (nodeStore.node_id === props.nodeId && drawerOpen) {
343
- return;
344
- }
345
- if (childComp.value) {
346
- childComp.value.loadNodeData(props.nodeId);
347
- nodeStore.openDrawer(closeOnDrawer);
348
- }
349
- };
350
- onMounted(async () => {
351
- await nextTick();
352
- });
353
- return (_ctx, _cache) => {
354
- return openBlock(), createElementBlock("div", _hoisted_1, [
355
- createVNode(NodeButton, {
356
- ref: "nodeButton",
357
- "node-id": __props.nodeId,
358
- "image-src": "graph_solver.png",
359
- title: `${__props.nodeId}: Graph Solver`,
360
- onClick: openDrawer
361
- }, null, 8, ["node-id", "title"]),
362
- drawer.value ? (openBlock(), createBlock(Teleport, {
363
- key: 0,
364
- to: "#nodesettings"
365
- }, [
366
- createVNode(NodeTitle, {
367
- title: "Graph Solver",
368
- intro: "Find groups in your data"
369
- }),
370
- createVNode(readInput, {
371
- ref_key: "childComp",
372
- ref: childComp,
373
- "node-id": __props.nodeId
374
- }, null, 8, ["node-id"])
375
- ])) : createCommentVNode("", true)
376
- ], 512);
377
- };
378
- }
379
- });
232
+ const GraphSolver_vue_vue_type_style_index_0_scoped_b4673e65_lang = "";
233
+ const GraphSolver = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b4673e65"]]);
380
234
  export {
381
- _sfc_main as default
235
+ GraphSolver as default
382
236
  };
@@ -0,0 +1,22 @@
1
+
2
+ .context-menu[data-v-b4673e65] {
3
+ position: fixed;
4
+ z-index: 1000;
5
+ border: 1px solid #ccc;
6
+ background-color: white;
7
+ padding: 8px;
8
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
9
+ border-radius: 4px;
10
+ }
11
+ .context-menu ul[data-v-b4673e65] {
12
+ list-style: none;
13
+ padding: 0;
14
+ margin: 0;
15
+ }
16
+ .context-menu li[data-v-b4673e65] {
17
+ padding: 8px 16px;
18
+ cursor: pointer;
19
+ }
20
+ .context-menu li[data-v-b4673e65]:hover {
21
+ background-color: #f0f0f0;
22
+ }