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
@@ -0,0 +1,56 @@
1
+ import { d as defineComponent, r as ref, m as watch, b as resolveComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, f as createVNode, i as createCommentVNode, _ as _export_sfc } from "./index-d0518598.js";
2
+ const _hoisted_1 = { class: "excel-table-settings" };
3
+ const _hoisted_2 = { class: "mandatory-section" };
4
+ const _hoisted_3 = {
5
+ key: 0,
6
+ class: "section-divider"
7
+ };
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ __name: "outputExcel",
10
+ props: {
11
+ modelValue: {
12
+ type: Object,
13
+ required: true
14
+ }
15
+ },
16
+ emits: ["update:modelValue"],
17
+ setup(__props, { emit: __emit }) {
18
+ const props = __props;
19
+ const emit = __emit;
20
+ const localExcelTable = ref(props.modelValue);
21
+ const showOptionalSettings = ref(false);
22
+ const updateParent = () => {
23
+ emit("update:modelValue", localExcelTable.value);
24
+ };
25
+ watch(
26
+ () => props.modelValue,
27
+ (newVal) => {
28
+ localExcelTable.value = newVal;
29
+ },
30
+ { deep: true }
31
+ );
32
+ return (_ctx, _cache) => {
33
+ const _component_el_input = resolveComponent("el-input");
34
+ return openBlock(), createElementBlock("div", _hoisted_1, [
35
+ createBaseVNode("div", _hoisted_2, [
36
+ _cache[1] || (_cache[1] = createBaseVNode("label", { for: "sheet-name" }, "Sheet Name:", -1)),
37
+ createVNode(_component_el_input, {
38
+ id: "sheet-name",
39
+ modelValue: localExcelTable.value.sheet_name,
40
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localExcelTable.value.sheet_name = $event),
41
+ type: "text",
42
+ required: "",
43
+ size: "small",
44
+ onInput: updateParent
45
+ }, null, 8, ["modelValue"]),
46
+ showOptionalSettings.value ? (openBlock(), createElementBlock("hr", _hoisted_3)) : createCommentVNode("", true)
47
+ ])
48
+ ]);
49
+ };
50
+ }
51
+ });
52
+ const outputExcel_vue_vue_type_style_index_0_scoped_45248953_lang = "";
53
+ const ExcelTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-45248953"]]);
54
+ export {
55
+ ExcelTableConfig as default
56
+ };
@@ -0,0 +1,4 @@
1
+
2
+ .parquet-table-settings button[data-v-7db0128e]:hover {
3
+ background-color: #e4e4e4;
4
+ }
@@ -0,0 +1,31 @@
1
+ import { d as defineComponent, r as ref, m as watch, c as openBlock, e as createElementBlock, _ as _export_sfc } from "./index-d0518598.js";
2
+ const _hoisted_1 = { class: "parquet-table-settings" };
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "outputParquet",
5
+ props: {
6
+ modelValue: {
7
+ type: Object,
8
+ required: true
9
+ }
10
+ },
11
+ emits: ["update:modelValue"],
12
+ setup(__props, { emit: __emit }) {
13
+ const props = __props;
14
+ const localParquetTable = ref(props.modelValue);
15
+ watch(
16
+ () => props.modelValue,
17
+ (newVal) => {
18
+ localParquetTable.value = newVal;
19
+ },
20
+ { deep: true }
21
+ );
22
+ return (_ctx, _cache) => {
23
+ return openBlock(), createElementBlock("div", _hoisted_1);
24
+ };
25
+ }
26
+ });
27
+ const outputParquet_vue_vue_type_style_index_0_scoped_7db0128e_lang = "";
28
+ const ParquetTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7db0128e"]]);
29
+ export {
30
+ ParquetTableConfig as default
31
+ };
@@ -0,0 +1,52 @@
1
+
2
+ [data-v-d0b76f7b] {
3
+ box-sizing: border-box;
4
+ }
5
+ .csv-table-settings[data-v-d0b76f7b] {
6
+ background: #fff;
7
+ border-radius: 6px;
8
+ padding: 16px;
9
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
10
+ margin: 20px auto;
11
+ max-width: 600px;
12
+ overflow-x: hidden; /* Prevent horizontal scroll */
13
+ }
14
+ .row[data-v-d0b76f7b] {
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: space-between;
18
+ margin-bottom: 12px;
19
+ gap: 20px;
20
+ max-width: 100%; /* Prevent overflow */
21
+ }
22
+ label[data-v-d0b76f7b] {
23
+ font-weight: 500;
24
+ color: #333;
25
+ font-size: 14px;
26
+ flex: 1;
27
+ max-width: 100%;
28
+ }
29
+ .el-select[data-v-d0b76f7b],
30
+ .el-slider[data-v-d0b76f7b],
31
+ .el-checkbox[data-v-d0b76f7b] {
32
+ flex: 2;
33
+ max-width: 100%; /* Prevent overflow */
34
+ }
35
+ .el-slider[data-v-d0b76f7b] {
36
+ padding-top: 10px;
37
+ }
38
+ .el-checkbox[data-v-d0b76f7b] {
39
+ display: flex;
40
+ align-items: center;
41
+ }
42
+ @media (max-width: 600px) {
43
+ .row[data-v-d0b76f7b] {
44
+ flex-direction: column;
45
+ align-items: flex-start;
46
+ }
47
+ .el-select[data-v-d0b76f7b],
48
+ .el-slider[data-v-d0b76f7b],
49
+ .el-checkbox[data-v-d0b76f7b] {
50
+ width: 100%;
51
+ }
52
+ }
@@ -0,0 +1,178 @@
1
+ import { d as defineComponent, r as ref, m as watch, c as openBlock, e as createElementBlock, p as createBaseVNode, f as createVNode, u as unref, av as ElCheckbox, w as withCtx, F as Fragment, q as renderList, h as createBlock, at as ElOption, au as ElSelect, aw as ElSlider, _ as _export_sfc } from "./index-d0518598.js";
2
+ const _hoisted_1 = { class: "csv-table-settings" };
3
+ const _hoisted_2 = { class: "row" };
4
+ const _hoisted_3 = { class: "row" };
5
+ const _hoisted_4 = { class: "row" };
6
+ const _hoisted_5 = { class: "row" };
7
+ const _hoisted_6 = { class: "row" };
8
+ const _hoisted_7 = { class: "row" };
9
+ const _hoisted_8 = { class: "row" };
10
+ const _hoisted_9 = { class: "row" };
11
+ const _sfc_main = /* @__PURE__ */ defineComponent({
12
+ __name: "readCsv",
13
+ props: {
14
+ modelValue: {
15
+ type: Object,
16
+ required: true
17
+ }
18
+ },
19
+ emits: ["update:modelValue"],
20
+ setup(__props, { emit: __emit }) {
21
+ const props = __props;
22
+ const emit = __emit;
23
+ const localCsvTable = ref(props.modelValue);
24
+ const updateParent = () => {
25
+ emit("update:modelValue", localCsvTable.value);
26
+ };
27
+ const csv_settings = {
28
+ delimiter_options: [",", ";", "|", "tab"],
29
+ encoding_options: ["utf-8", "ISO-8859-1", "ASCII"],
30
+ row_delimiter: ["\\n", "\\r\\n", "\\r"],
31
+ quote_char: ['"', "'", "auto"]
32
+ };
33
+ watch(
34
+ () => props.modelValue,
35
+ (newVal) => {
36
+ localCsvTable.value = newVal;
37
+ },
38
+ { deep: true }
39
+ );
40
+ return (_ctx, _cache) => {
41
+ return openBlock(), createElementBlock("div", _hoisted_1, [
42
+ createBaseVNode("div", _hoisted_2, [
43
+ _cache[8] || (_cache[8] = createBaseVNode("label", { for: "has-headers" }, "Has Headers:", -1)),
44
+ createVNode(unref(ElCheckbox), {
45
+ modelValue: localCsvTable.value.has_headers,
46
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localCsvTable.value.has_headers = $event),
47
+ size: "large",
48
+ onChange: updateParent
49
+ }, null, 8, ["modelValue"])
50
+ ]),
51
+ createBaseVNode("div", _hoisted_3, [
52
+ _cache[9] || (_cache[9] = createBaseVNode("label", { for: "delimiter" }, "Delimiter:", -1)),
53
+ createVNode(unref(ElSelect), {
54
+ modelValue: localCsvTable.value.delimiter,
55
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => localCsvTable.value.delimiter = $event),
56
+ placeholder: "Select delimiter",
57
+ clearable: "",
58
+ size: "small",
59
+ onChange: updateParent
60
+ }, {
61
+ default: withCtx(() => [
62
+ (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.delimiter_options, (option) => {
63
+ return openBlock(), createBlock(unref(ElOption), {
64
+ key: option,
65
+ label: option,
66
+ value: option
67
+ }, null, 8, ["label", "value"]);
68
+ }), 128))
69
+ ]),
70
+ _: 1
71
+ }, 8, ["modelValue"])
72
+ ]),
73
+ createBaseVNode("div", _hoisted_4, [
74
+ _cache[10] || (_cache[10] = createBaseVNode("label", { for: "encoding" }, "Encoding:", -1)),
75
+ createVNode(unref(ElSelect), {
76
+ modelValue: localCsvTable.value.encoding,
77
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => localCsvTable.value.encoding = $event),
78
+ placeholder: "Select encoding",
79
+ clearable: "",
80
+ size: "small",
81
+ onChange: updateParent
82
+ }, {
83
+ default: withCtx(() => [
84
+ (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.encoding_options, (option) => {
85
+ return openBlock(), createBlock(unref(ElOption), {
86
+ key: option,
87
+ label: option,
88
+ value: option
89
+ }, null, 8, ["label", "value"]);
90
+ }), 128))
91
+ ]),
92
+ _: 1
93
+ }, 8, ["modelValue"])
94
+ ]),
95
+ createBaseVNode("div", _hoisted_5, [
96
+ _cache[11] || (_cache[11] = createBaseVNode("label", { for: "quote-char" }, "Quote Character:", -1)),
97
+ createVNode(unref(ElSelect), {
98
+ modelValue: localCsvTable.value.quote_char,
99
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => localCsvTable.value.quote_char = $event),
100
+ placeholder: "Select quote character",
101
+ clearable: "",
102
+ size: "small",
103
+ onChange: updateParent
104
+ }, {
105
+ default: withCtx(() => [
106
+ (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.quote_char, (option) => {
107
+ return openBlock(), createBlock(unref(ElOption), {
108
+ key: option,
109
+ label: option,
110
+ value: option
111
+ }, null, 8, ["label", "value"]);
112
+ }), 128))
113
+ ]),
114
+ _: 1
115
+ }, 8, ["modelValue"])
116
+ ]),
117
+ createBaseVNode("div", _hoisted_6, [
118
+ _cache[12] || (_cache[12] = createBaseVNode("label", { for: "row-delimiter" }, "New Line Delimiter:", -1)),
119
+ createVNode(unref(ElSelect), {
120
+ modelValue: localCsvTable.value.row_delimiter,
121
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => localCsvTable.value.row_delimiter = $event),
122
+ placeholder: "Select new line delimiter",
123
+ clearable: "",
124
+ size: "small",
125
+ onChange: updateParent
126
+ }, {
127
+ default: withCtx(() => [
128
+ (openBlock(true), createElementBlock(Fragment, null, renderList(csv_settings.row_delimiter, (option) => {
129
+ return openBlock(), createBlock(unref(ElOption), {
130
+ key: option,
131
+ label: option,
132
+ value: option
133
+ }, null, 8, ["label", "value"]);
134
+ }), 128))
135
+ ]),
136
+ _: 1
137
+ }, 8, ["modelValue"])
138
+ ]),
139
+ createBaseVNode("div", _hoisted_7, [
140
+ _cache[13] || (_cache[13] = createBaseVNode("label", { for: "infer-schema-length" }, "Schema Infer Length:", -1)),
141
+ createVNode(unref(ElSlider), {
142
+ modelValue: localCsvTable.value.infer_schema_length,
143
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => localCsvTable.value.infer_schema_length = $event),
144
+ step: 1e3,
145
+ max: 1e5,
146
+ min: 0,
147
+ "show-stops": "",
148
+ size: "small",
149
+ onChange: updateParent
150
+ }, null, 8, ["modelValue"])
151
+ ]),
152
+ createBaseVNode("div", _hoisted_8, [
153
+ _cache[14] || (_cache[14] = createBaseVNode("label", { for: "truncate-long-lines" }, "Truncate Long Lines:", -1)),
154
+ createVNode(unref(ElCheckbox), {
155
+ modelValue: localCsvTable.value.truncate_ragged_lines,
156
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => localCsvTable.value.truncate_ragged_lines = $event),
157
+ size: "large",
158
+ onChange: updateParent
159
+ }, null, 8, ["modelValue"])
160
+ ]),
161
+ createBaseVNode("div", _hoisted_9, [
162
+ _cache[15] || (_cache[15] = createBaseVNode("label", { for: "ignore-errors" }, "Ignore Errors:", -1)),
163
+ createVNode(unref(ElCheckbox), {
164
+ modelValue: localCsvTable.value.ignore_errors,
165
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => localCsvTable.value.ignore_errors = $event),
166
+ size: "large",
167
+ onChange: updateParent
168
+ }, null, 8, ["modelValue"])
169
+ ])
170
+ ]);
171
+ };
172
+ }
173
+ });
174
+ const readCsv_vue_vue_type_style_index_0_scoped_d0b76f7b_lang = "";
175
+ const CsvTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d0b76f7b"]]);
176
+ export {
177
+ CsvTableConfig as default
178
+ };
@@ -0,0 +1,203 @@
1
+ import { a as axios, d as defineComponent, r as ref, l as computed, n as onMounted, m as watch, b as resolveComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, f as createVNode, w as withCtx, i as createCommentVNode, t as toDisplayString, a8 as withDirectives, a9 as vModelText, h as createBlock, u as unref, _ as _export_sfc } from "./index-d0518598.js";
2
+ import { C as ColumnSelector } from "./dropDown-025888df.js";
3
+ import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
4
+ const getXlsxSheetNamesForPath = async (path) => {
5
+ const response = await axios.get(`/api/get_xlsx_sheet_names?path=${path}`);
6
+ return response.data;
7
+ };
8
+ const _hoisted_1 = { key: 0 };
9
+ const _hoisted_2 = { class: "table" };
10
+ const _hoisted_3 = {
11
+ key: 0,
12
+ class: "selectors"
13
+ };
14
+ const _hoisted_4 = { class: "row" };
15
+ const _hoisted_5 = { class: "input-wrapper" };
16
+ const _hoisted_6 = {
17
+ key: 0,
18
+ class: "warning-sign"
19
+ };
20
+ const _hoisted_7 = { class: "row" };
21
+ const _hoisted_8 = { class: "button-container" };
22
+ const _hoisted_9 = {
23
+ key: 0,
24
+ class: "optional-section"
25
+ };
26
+ const _hoisted_10 = { class: "row" };
27
+ const _hoisted_11 = { class: "input-wrapper" };
28
+ const _hoisted_12 = { class: "input-wrapper" };
29
+ const _hoisted_13 = { class: "row" };
30
+ const _hoisted_14 = { class: "input-wrapper" };
31
+ const _hoisted_15 = { class: "input-wrapper" };
32
+ const _sfc_main = /* @__PURE__ */ defineComponent({
33
+ __name: "readExcel",
34
+ props: {
35
+ modelValue: {
36
+ type: Object,
37
+ required: true
38
+ }
39
+ },
40
+ emits: ["update:modelValue"],
41
+ setup(__props, { emit: __emit }) {
42
+ const props = __props;
43
+ const isLoaded = ref(false);
44
+ const emit = __emit;
45
+ const localExcelTable = ref({ ...props.modelValue });
46
+ const showOptionalSettings = ref(false);
47
+ const sheetNames = ref([]);
48
+ const sheetNamesLoaded = ref(false);
49
+ const getSheetNames = async () => {
50
+ sheetNames.value = await getXlsxSheetNamesForPath(localExcelTable.value.path);
51
+ sheetNamesLoaded.value = true;
52
+ };
53
+ const toggleOptionalSettings = () => {
54
+ showOptionalSettings.value = !showOptionalSettings.value;
55
+ };
56
+ const showWarning = computed(() => {
57
+ if (!sheetNamesLoaded.value) {
58
+ return false;
59
+ }
60
+ return !sheetNames.value.includes(localExcelTable.value.sheet_name);
61
+ });
62
+ onMounted(() => {
63
+ if (localExcelTable.value.path) {
64
+ getSheetNames();
65
+ }
66
+ isLoaded.value = true;
67
+ });
68
+ watch(
69
+ () => localExcelTable.value,
70
+ (newValue) => {
71
+ emit("update:modelValue", { ...newValue });
72
+ },
73
+ { deep: true }
74
+ );
75
+ return (_ctx, _cache) => {
76
+ const _component_el_row = resolveComponent("el-row");
77
+ const _component_el_checkbox = resolveComponent("el-checkbox");
78
+ return isLoaded.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
79
+ createBaseVNode("div", _hoisted_2, [
80
+ localExcelTable.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
81
+ createBaseVNode("div", _hoisted_4, [
82
+ createVNode(_component_el_row, null, {
83
+ default: withCtx(() => [
84
+ createBaseVNode("div", _hoisted_5, [
85
+ _cache[7] || (_cache[7] = createBaseVNode("label", null, "Sheet Name", -1)),
86
+ createVNode(ColumnSelector, {
87
+ modelValue: localExcelTable.value.sheet_name,
88
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localExcelTable.value.sheet_name = $event),
89
+ placeholder: "Select or type sheet name",
90
+ "column-options": sheetNames.value,
91
+ "is-loading": !sheetNamesLoaded.value
92
+ }, null, 8, ["modelValue", "column-options", "is-loading"]),
93
+ showWarning.value ? (openBlock(), createElementBlock("span", _hoisted_6, "⚠️")) : createCommentVNode("", true)
94
+ ])
95
+ ]),
96
+ _: 1
97
+ })
98
+ ]),
99
+ createBaseVNode("div", _hoisted_7, [
100
+ createVNode(_component_el_checkbox, {
101
+ modelValue: localExcelTable.value.has_headers,
102
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => localExcelTable.value.has_headers = $event),
103
+ label: "Has headers",
104
+ size: "large"
105
+ }, null, 8, ["modelValue"]),
106
+ createVNode(_component_el_checkbox, {
107
+ modelValue: localExcelTable.value.type_inference,
108
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => localExcelTable.value.type_inference = $event),
109
+ label: "Type inference",
110
+ size: "large"
111
+ }, null, 8, ["modelValue"])
112
+ ]),
113
+ _cache[15] || (_cache[15] = createBaseVNode("hr", { class: "section-divider" }, null, -1)),
114
+ createBaseVNode("div", _hoisted_8, [
115
+ createBaseVNode("button", {
116
+ class: "toggle-button",
117
+ onClick: toggleOptionalSettings
118
+ }, toDisplayString(showOptionalSettings.value ? "Hide" : "Show") + " Optional Settings ", 1)
119
+ ]),
120
+ showOptionalSettings.value ? (openBlock(), createElementBlock("div", _hoisted_9, [
121
+ _cache[12] || (_cache[12] = createBaseVNode("hr", { class: "section-divider" }, null, -1)),
122
+ _cache[13] || (_cache[13] = createBaseVNode("div", { class: "table-sizes" }, "Table sizes", -1)),
123
+ createBaseVNode("div", _hoisted_10, [
124
+ createBaseVNode("div", _hoisted_11, [
125
+ _cache[8] || (_cache[8] = createBaseVNode("label", { for: "start-row" }, "Start Row", -1)),
126
+ withDirectives(createBaseVNode("input", {
127
+ id: "start-row",
128
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => localExcelTable.value.start_row = $event),
129
+ type: "number",
130
+ class: "compact-input"
131
+ }, null, 512), [
132
+ [
133
+ vModelText,
134
+ localExcelTable.value.start_row,
135
+ void 0,
136
+ { number: true }
137
+ ]
138
+ ])
139
+ ]),
140
+ createBaseVNode("div", _hoisted_12, [
141
+ _cache[9] || (_cache[9] = createBaseVNode("label", { for: "end-row" }, "End Row", -1)),
142
+ withDirectives(createBaseVNode("input", {
143
+ id: "end-row",
144
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => localExcelTable.value.end_row = $event),
145
+ type: "number",
146
+ class: "compact-input"
147
+ }, null, 512), [
148
+ [
149
+ vModelText,
150
+ localExcelTable.value.end_row,
151
+ void 0,
152
+ { number: true }
153
+ ]
154
+ ])
155
+ ])
156
+ ]),
157
+ _cache[14] || (_cache[14] = createBaseVNode("hr", { class: "section-divider" }, null, -1)),
158
+ createBaseVNode("div", _hoisted_13, [
159
+ createBaseVNode("div", _hoisted_14, [
160
+ _cache[10] || (_cache[10] = createBaseVNode("label", { for: "start-column" }, "Start Column", -1)),
161
+ withDirectives(createBaseVNode("input", {
162
+ id: "start-column",
163
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => localExcelTable.value.start_column = $event),
164
+ type: "number",
165
+ class: "compact-input"
166
+ }, null, 512), [
167
+ [
168
+ vModelText,
169
+ localExcelTable.value.start_column,
170
+ void 0,
171
+ { number: true }
172
+ ]
173
+ ])
174
+ ]),
175
+ createBaseVNode("div", _hoisted_15, [
176
+ _cache[11] || (_cache[11] = createBaseVNode("label", { for: "end-column" }, "End Column", -1)),
177
+ withDirectives(createBaseVNode("input", {
178
+ id: "end-column",
179
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => localExcelTable.value.end_column = $event),
180
+ type: "number",
181
+ class: "compact-input"
182
+ }, null, 512), [
183
+ [
184
+ vModelText,
185
+ localExcelTable.value.end_column,
186
+ void 0,
187
+ { number: true }
188
+ ]
189
+ ])
190
+ ])
191
+ ])
192
+ ])) : createCommentVNode("", true)
193
+ ])) : createCommentVNode("", true)
194
+ ])
195
+ ])) : (openBlock(), createBlock(unref(CodeLoader), { key: 1 }));
196
+ };
197
+ }
198
+ });
199
+ const readExcel_vue_vue_type_style_index_0_scoped_e7395814_lang = "";
200
+ const ExcelTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e7395814"]]);
201
+ export {
202
+ ExcelTableConfig as default
203
+ };
@@ -0,0 +1,64 @@
1
+
2
+ .selectors[data-v-e7395814] {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 12px;
6
+ }
7
+ .input-wrapper[data-v-e7395814] {
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: 4px;
11
+ flex: 1;
12
+ }
13
+ label[data-v-e7395814] {
14
+ font-weight: 500;
15
+ color: #333;
16
+ font-size: 14px;
17
+ }
18
+ input[data-v-e7395814] {
19
+ padding: 6px;
20
+ border: 1px solid #ccc;
21
+ border-radius: 4px;
22
+ font-size: 14px;
23
+ width: 99%;
24
+ }
25
+ .row[data-v-e7395814] {
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: space-between;
29
+ gap: 16px;
30
+ }
31
+ .compact-input[data-v-e7395814] {
32
+ width: 96%;
33
+ padding: 6px;
34
+ font-size: 14px;
35
+ border: 1px solid #ccc;
36
+ border-radius: 4px;
37
+ }
38
+ .button-container[data-v-e7395814] {
39
+ display: flex;
40
+ justify-content: center;
41
+ margin: 16px 0;
42
+ }
43
+ .optional-section[data-v-e7395814] {
44
+ margin-top: 20px;
45
+ }
46
+ .section-divider[data-v-e7395814] {
47
+ margin: 16px 0;
48
+ border: none;
49
+ border-top: 1px solid #ddd;
50
+ }
51
+ .table-sizes[data-v-e7395814] {
52
+ font-weight: bold;
53
+ margin-bottom: 10px;
54
+ }
55
+ .warning-sign[data-v-e7395814] {
56
+ color: #e74c3c;
57
+ font-size: 16px;
58
+ margin-left: 8px;
59
+ }
60
+ @media (max-width: 600px) {
61
+ .row[data-v-e7395814] {
62
+ flex-direction: column;
63
+ }
64
+ }
@@ -0,0 +1,19 @@
1
+
2
+ .parquet-table-settings[data-v-0faf0508] {
3
+ background: #f9fafb;
4
+ border-radius: 8px;
5
+ padding: 20px;
6
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
7
+ max-width: 600px;
8
+ margin: 20px auto;
9
+ text-align: center; /* Center the text */
10
+ }
11
+ .message h2[data-v-0faf0508] {
12
+ font-size: 24px;
13
+ color: #3498db;
14
+ margin-bottom: 10px;
15
+ }
16
+ .message p[data-v-0faf0508] {
17
+ font-size: 16px;
18
+ color: #333;
19
+ }
@@ -0,0 +1,26 @@
1
+ import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, _ as _export_sfc } from "./index-d0518598.js";
2
+ const _hoisted_1 = { class: "parquet-table-settings" };
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "readParquet",
5
+ props: {
6
+ modelValue: {
7
+ type: Object,
8
+ required: true
9
+ }
10
+ },
11
+ setup(__props) {
12
+ return (_ctx, _cache) => {
13
+ return openBlock(), createElementBlock("div", _hoisted_1, _cache[0] || (_cache[0] = [
14
+ createBaseVNode("div", { class: "message" }, [
15
+ createBaseVNode("h2", null, "You are ready to flow!"),
16
+ createBaseVNode("p", null, "Your Parquet table setup is complete. Enjoy the smooth data processing experience.")
17
+ ], -1)
18
+ ]));
19
+ };
20
+ }
21
+ });
22
+ const readParquet_vue_vue_type_style_index_0_scoped_0faf0508_lang = "";
23
+ const ParquetTableConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0faf0508"]]);
24
+ export {
25
+ ParquetTableConfig as default
26
+ };
@@ -1,4 +1,4 @@
1
- import { a as axios } from "./index-683fc198.js";
1
+ import { a as axios } from "./index-d0518598.js";
2
2
  const API_BASE_URL = "/secrets/secrets";
3
3
  const fetchSecretsApi = async () => {
4
4
  try {