Flowfile 0.3.9__py3-none-any.whl → 0.5.1__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.
- flowfile/__init__.py +8 -1
- flowfile/api.py +1 -3
- flowfile/web/static/assets/{CloudConnectionManager-c97c25f8.js → CloudConnectionManager-0dfba9f2.js} +2 -2
- flowfile/web/static/assets/{CloudStorageReader-f1ff509e.js → CloudStorageReader-d5b1b6c9.js} +11 -78
- flowfile/web/static/assets/{CloudStorageWriter-034f8b78.js → CloudStorageWriter-00d87aad.js} +12 -79
- flowfile/web/static/assets/{CloudStorageWriter-49c9a4b2.css → CloudStorageWriter-b0ee067f.css} +24 -24
- flowfile/web/static/assets/ColumnSelector-4685e75d.js +83 -0
- flowfile/web/static/assets/ColumnSelector-47996a16.css +10 -0
- flowfile/web/static/assets/ContextMenu-23e909da.js +41 -0
- flowfile/web/static/assets/{SettingsSection-9c836ecc.css → ContextMenu-4c74eef1.css} +0 -21
- flowfile/web/static/assets/ContextMenu-63cfa99b.css +26 -0
- flowfile/web/static/assets/ContextMenu-70ae0c79.js +41 -0
- flowfile/web/static/assets/ContextMenu-c13f91d0.css +26 -0
- flowfile/web/static/assets/ContextMenu-f149cf7c.js +41 -0
- flowfile/web/static/assets/{CrossJoin-41efa4cb.css → CrossJoin-1119d18e.css} +18 -18
- flowfile/web/static/assets/{CrossJoin-9e156ebe.js → CrossJoin-702a3edd.js} +14 -84
- flowfile/web/static/assets/CustomNode-74a37f74.css +32 -0
- flowfile/web/static/assets/CustomNode-b1519993.js +211 -0
- flowfile/web/static/assets/{DatabaseConnectionSettings-d5c625b3.js → DatabaseConnectionSettings-6f3e4ea5.js} +3 -3
- flowfile/web/static/assets/{DatabaseManager-265adc5e.js → DatabaseManager-cf5ef661.js} +2 -2
- flowfile/web/static/assets/{DatabaseReader-f50c6558.css → DatabaseReader-ae61773c.css} +0 -27
- flowfile/web/static/assets/{DatabaseReader-0b10551e.js → DatabaseReader-d38c7295.js} +14 -114
- flowfile/web/static/assets/{DatabaseWriter-c17c6916.js → DatabaseWriter-b04ef46a.js} +13 -74
- flowfile/web/static/assets/{ExploreData-5bdae813.css → ExploreData-2d0cf4db.css} +8 -14
- flowfile/web/static/assets/ExploreData-5fa10ed8.js +192 -0
- flowfile/web/static/assets/{ExternalSource-3a66556c.js → ExternalSource-d39af878.js} +8 -79
- flowfile/web/static/assets/{Filter-91ad87e7.js → Filter-9b6d08db.js} +12 -85
- flowfile/web/static/assets/{Filter-a9d08ba1.css → Filter-f62091b3.css} +3 -3
- flowfile/web/static/assets/{Formula-3c395ab1.js → Formula-6b04fb1d.js} +20 -87
- flowfile/web/static/assets/{Formula-29f19d21.css → Formula-bb96803d.css} +4 -4
- flowfile/web/static/assets/{FuzzyMatch-6857de82.css → FuzzyMatch-1010f966.css} +42 -42
- flowfile/web/static/assets/{FuzzyMatch-2df0d230.js → FuzzyMatch-999521f4.js} +16 -87
- flowfile/web/static/assets/{GraphSolver-d285877f.js → GraphSolver-17dd2198.js} +13 -159
- flowfile/web/static/assets/GraphSolver-f0cb7bfb.css +22 -0
- flowfile/web/static/assets/{GroupBy-0bd1cc6b.js → GroupBy-6b039e18.js} +12 -75
- flowfile/web/static/assets/{Unique-b5615727.css → GroupBy-b9505323.css} +8 -8
- flowfile/web/static/assets/{Join-5a78a203.js → Join-24d0f113.js} +15 -85
- flowfile/web/static/assets/{Join-f45eff22.css → Join-fd79b451.css} +20 -20
- flowfile/web/static/assets/{ManualInput-a71b52c6.css → ManualInput-3246a08d.css} +20 -20
- flowfile/web/static/assets/{ManualInput-93aef9d6.js → ManualInput-34639209.js} +11 -82
- flowfile/web/static/assets/MultiSelect-0e8724a3.js +5 -0
- flowfile/web/static/assets/MultiSelect.vue_vue_type_script_setup_true_lang-b0e538c2.js +63 -0
- flowfile/web/static/assets/NumericInput-3d63a470.js +5 -0
- flowfile/web/static/assets/NumericInput.vue_vue_type_script_setup_true_lang-e0edeccc.js +35 -0
- flowfile/web/static/assets/Output-283fe388.css +37 -0
- flowfile/web/static/assets/{Output-411ecaee.js → Output-edea9802.js} +62 -273
- flowfile/web/static/assets/{Pivot-89db4b04.js → Pivot-61d19301.js} +14 -138
- flowfile/web/static/assets/Pivot-cf333e3d.css +22 -0
- flowfile/web/static/assets/PivotValidation-891ddfb0.css +13 -0
- flowfile/web/static/assets/PivotValidation-c46cd420.css +13 -0
- flowfile/web/static/assets/PivotValidation-de9f43fe.js +61 -0
- flowfile/web/static/assets/PivotValidation-f97fec5b.js +61 -0
- flowfile/web/static/assets/{PolarsCode-a9f974f8.js → PolarsCode-bc3c9984.js} +13 -80
- flowfile/web/static/assets/Read-64a3f259.js +218 -0
- flowfile/web/static/assets/Read-e808b239.css +62 -0
- flowfile/web/static/assets/RecordCount-3d5039be.js +53 -0
- flowfile/web/static/assets/{RecordId-55ae7d36.js → RecordId-597510e0.js} +8 -80
- flowfile/web/static/assets/SQLQueryComponent-36cef432.css +27 -0
- flowfile/web/static/assets/SQLQueryComponent-df51adbe.js +38 -0
- flowfile/web/static/assets/{Sample-b4a18476.js → Sample-4be0a507.js} +8 -77
- flowfile/web/static/assets/{SecretManager-b066d13a.js → SecretManager-4839be57.js} +2 -2
- flowfile/web/static/assets/{Select-727688dc.js → Select-9b72f201.js} +11 -85
- flowfile/web/static/assets/SettingsSection-2e4d03c4.css +21 -0
- flowfile/web/static/assets/SettingsSection-5c696bee.css +20 -0
- flowfile/web/static/assets/SettingsSection-71e6b7e3.css +21 -0
- flowfile/web/static/assets/SettingsSection-7ded385d.js +45 -0
- flowfile/web/static/assets/{SettingsSection-695ac487.js → SettingsSection-e1e9c953.js} +2 -40
- flowfile/web/static/assets/SettingsSection-f0f75a42.js +53 -0
- flowfile/web/static/assets/SingleSelect-6c777aac.js +5 -0
- flowfile/web/static/assets/SingleSelect.vue_vue_type_script_setup_true_lang-33e3ff9b.js +62 -0
- flowfile/web/static/assets/SliderInput-7cb93e62.js +40 -0
- flowfile/web/static/assets/SliderInput-b8fb6a8c.css +4 -0
- flowfile/web/static/assets/{GroupBy-ab1ea74b.css → Sort-3643d625.css} +8 -8
- flowfile/web/static/assets/{Sort-be3339a8.js → Sort-6cbde21a.js} +12 -97
- flowfile/web/static/assets/TextInput-d9a40c11.js +5 -0
- flowfile/web/static/assets/TextInput.vue_vue_type_script_setup_true_lang-5896c375.js +32 -0
- flowfile/web/static/assets/{TextToRows-c92d1ec2.css → TextToRows-5d2c1190.css} +9 -9
- flowfile/web/static/assets/{TextToRows-7b8998da.js → TextToRows-c4fcbf4d.js} +14 -83
- flowfile/web/static/assets/ToggleSwitch-4ef91d19.js +5 -0
- flowfile/web/static/assets/ToggleSwitch.vue_vue_type_script_setup_true_lang-38478c20.js +31 -0
- flowfile/web/static/assets/{UnavailableFields-8b0cb48e.js → UnavailableFields-a03f512c.js} +2 -2
- flowfile/web/static/assets/{Union-8d9ac7f9.css → Union-af6c3d9b.css} +6 -6
- flowfile/web/static/assets/Union-bfe9b996.js +77 -0
- flowfile/web/static/assets/{Unique-af5a80b4.js → Unique-5d023a27.js} +23 -104
- flowfile/web/static/assets/{Sort-7ccfa0fe.css → Unique-f9fb0809.css} +8 -8
- flowfile/web/static/assets/Unpivot-1e422df3.css +30 -0
- flowfile/web/static/assets/{Unpivot-5195d411.js → Unpivot-91cc5354.js} +12 -166
- flowfile/web/static/assets/UnpivotValidation-0d240eeb.css +13 -0
- flowfile/web/static/assets/UnpivotValidation-7ee2de44.js +51 -0
- flowfile/web/static/assets/{ExploreData-18a4fe52.js → VueGraphicWalker-e51b9924.js} +4 -264
- flowfile/web/static/assets/VueGraphicWalker-ed5ab88b.css +6 -0
- flowfile/web/static/assets/{api-cb00cce6.js → api-c1bad5ca.js} +1 -1
- flowfile/web/static/assets/{api-023d1733.js → api-cf1221f0.js} +1 -1
- flowfile/web/static/assets/{designer-2197d782.css → designer-8da3ba3a.css} +859 -201
- flowfile/web/static/assets/{designer-6c322d8e.js → designer-9633482a.js} +2297 -733
- flowfile/web/static/assets/{documentation-4d1fafe1.js → documentation-ca400224.js} +1 -1
- flowfile/web/static/assets/{dropDown-0b46dd77.js → dropDown-614b998d.js} +1 -1
- flowfile/web/static/assets/{fullEditor-ec4e4f95.js → fullEditor-f7971590.js} +2 -2
- flowfile/web/static/assets/{genericNodeSettings-def5879b.js → genericNodeSettings-4fe5f36b.js} +3 -3
- flowfile/web/static/assets/{index-681a3ed0.css → index-50508d4d.css} +8 -0
- flowfile/web/static/assets/{index-683fc198.js → index-5429bbf8.js} +208 -31
- flowfile/web/static/assets/nodeInput-5d0d6b79.js +41 -0
- flowfile/web/static/assets/outputCsv-076b85ab.js +86 -0
- flowfile/web/static/assets/{Output-48f81019.css → outputCsv-9cc59e0b.css} +0 -143
- flowfile/web/static/assets/outputExcel-0fd17dbe.js +56 -0
- flowfile/web/static/assets/outputExcel-b41305c0.css +102 -0
- flowfile/web/static/assets/outputParquet-b61e0847.js +31 -0
- flowfile/web/static/assets/outputParquet-cf8cf3f2.css +4 -0
- flowfile/web/static/assets/readCsv-a8bb8b61.js +179 -0
- flowfile/web/static/assets/readCsv-c767cb37.css +52 -0
- flowfile/web/static/assets/readExcel-67b4aee0.js +201 -0
- flowfile/web/static/assets/readExcel-806d2826.css +64 -0
- flowfile/web/static/assets/readParquet-48c81530.css +19 -0
- flowfile/web/static/assets/readParquet-92ce1dbc.js +23 -0
- flowfile/web/static/assets/{secretApi-baceb6f9.js → secretApi-68435402.js} +1 -1
- flowfile/web/static/assets/{selectDynamic-de91449a.js → selectDynamic-92e25ee3.js} +7 -7
- flowfile/web/static/assets/{selectDynamic-b062bc9b.css → selectDynamic-aa913ff4.css} +16 -16
- flowfile/web/static/assets/user-defined-icon-0ae16c90.png +0 -0
- flowfile/web/static/assets/{vue-codemirror.esm-dc5e3348.js → vue-codemirror.esm-41b0e0d7.js} +65 -36
- flowfile/web/static/assets/{vue-content-loader.es-ba94b82f.js → vue-content-loader.es-2c8e608f.js} +1 -1
- flowfile/web/static/index.html +2 -2
- {flowfile-0.3.9.dist-info → flowfile-0.5.1.dist-info}/METADATA +5 -3
- {flowfile-0.3.9.dist-info → flowfile-0.5.1.dist-info}/RECORD +191 -121
- {flowfile-0.3.9.dist-info → flowfile-0.5.1.dist-info}/WHEEL +1 -1
- {flowfile-0.3.9.dist-info → flowfile-0.5.1.dist-info}/entry_points.txt +1 -0
- flowfile_core/__init__.py +3 -0
- flowfile_core/configs/flow_logger.py +5 -13
- flowfile_core/configs/node_store/__init__.py +30 -0
- flowfile_core/configs/node_store/nodes.py +383 -99
- flowfile_core/configs/node_store/user_defined_node_registry.py +193 -0
- flowfile_core/configs/settings.py +2 -1
- flowfile_core/database/connection.py +5 -21
- flowfile_core/fileExplorer/funcs.py +239 -121
- flowfile_core/flowfile/analytics/analytics_processor.py +1 -0
- flowfile_core/flowfile/code_generator/code_generator.py +62 -64
- flowfile_core/flowfile/flow_data_engine/create/funcs.py +73 -56
- flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +77 -86
- flowfile_core/flowfile/flow_data_engine/flow_file_column/interface.py +4 -0
- flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +19 -34
- flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +36 -0
- flowfile_core/flowfile/flow_data_engine/fuzzy_matching/prepare_for_fuzzy_match.py +23 -23
- flowfile_core/flowfile/flow_data_engine/join/utils.py +1 -1
- flowfile_core/flowfile/flow_data_engine/join/verify_integrity.py +9 -4
- flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +212 -86
- flowfile_core/flowfile/flow_data_engine/utils.py +2 -0
- flowfile_core/flowfile/flow_graph.py +240 -54
- flowfile_core/flowfile/flow_node/flow_node.py +48 -13
- flowfile_core/flowfile/flow_node/models.py +2 -1
- flowfile_core/flowfile/handler.py +24 -5
- flowfile_core/flowfile/manage/compatibility_enhancements.py +404 -41
- flowfile_core/flowfile/manage/io_flowfile.py +394 -0
- flowfile_core/flowfile/node_designer/__init__.py +47 -0
- flowfile_core/flowfile/node_designer/_type_registry.py +197 -0
- flowfile_core/flowfile/node_designer/custom_node.py +371 -0
- flowfile_core/flowfile/node_designer/ui_components.py +277 -0
- flowfile_core/flowfile/schema_callbacks.py +17 -10
- flowfile_core/flowfile/setting_generator/settings.py +15 -10
- flowfile_core/main.py +5 -1
- flowfile_core/routes/routes.py +73 -30
- flowfile_core/routes/user_defined_components.py +55 -0
- flowfile_core/schemas/cloud_storage_schemas.py +0 -2
- flowfile_core/schemas/input_schema.py +228 -65
- flowfile_core/schemas/output_model.py +5 -2
- flowfile_core/schemas/schemas.py +153 -35
- flowfile_core/schemas/transform_schema.py +1083 -412
- flowfile_core/schemas/yaml_types.py +103 -0
- flowfile_core/types.py +156 -0
- flowfile_core/utils/validate_setup.py +3 -1
- flowfile_frame/__init__.py +3 -1
- flowfile_frame/flow_frame.py +31 -24
- flowfile_frame/flow_frame_methods.py +12 -9
- flowfile_worker/__init__.py +9 -35
- flowfile_worker/create/__init__.py +3 -21
- flowfile_worker/create/funcs.py +68 -56
- flowfile_worker/create/models.py +130 -62
- flowfile_worker/main.py +5 -2
- flowfile_worker/routes.py +52 -13
- shared/__init__.py +15 -0
- shared/storage_config.py +258 -0
- tools/migrate/README.md +56 -0
- tools/migrate/__init__.py +12 -0
- tools/migrate/__main__.py +131 -0
- tools/migrate/legacy_schemas.py +621 -0
- tools/migrate/migrate.py +598 -0
- tools/migrate/tests/__init__.py +0 -0
- tools/migrate/tests/conftest.py +23 -0
- tools/migrate/tests/test_migrate.py +627 -0
- tools/migrate/tests/test_migration_e2e.py +1010 -0
- tools/migrate/tests/test_node_migrations.py +813 -0
- flowfile/web/static/assets/GraphSolver-17fd26db.css +0 -68
- flowfile/web/static/assets/Pivot-f415e85f.css +0 -35
- flowfile/web/static/assets/Read-80dc1675.css +0 -197
- flowfile/web/static/assets/Read-c3b1929c.js +0 -701
- flowfile/web/static/assets/RecordCount-4e95f98e.js +0 -122
- flowfile/web/static/assets/Union-89fd73dc.js +0 -146
- flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -77
- flowfile/web/static/assets/nodeTitle-a16db7c3.js +0 -227
- flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -134
- flowfile_core/flowfile/manage/open_flowfile.py +0 -135
- {flowfile-0.3.9.dist-info → flowfile-0.5.1.dist-info/licenses}/LICENSE +0 -0
- /flowfile_core/flowfile/manage/manage_flowfile.py → /tools/__init__.py +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { u as useNodeStore } from "./vue-codemirror.esm-41b0e0d7.js";
|
|
2
|
+
import { G as GenericNodeSettings } from "./genericNodeSettings-4fe5f36b.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 } from "./index-5429bbf8.js";
|
|
4
|
+
import "./designer-9633482a.js";
|
|
5
|
+
const _hoisted_1 = {
|
|
6
|
+
key: 0,
|
|
7
|
+
class: "listbox-wrapper"
|
|
8
|
+
};
|
|
9
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
10
|
+
__name: "Union",
|
|
11
|
+
setup(__props, { expose: __expose }) {
|
|
12
|
+
const nodeStore = useNodeStore();
|
|
13
|
+
const showContextMenu = ref(false);
|
|
14
|
+
const dataLoaded = ref(false);
|
|
15
|
+
const nodeData = ref(null);
|
|
16
|
+
const unionInput = ref({ mode: "relaxed" });
|
|
17
|
+
const nodeUnion = ref(null);
|
|
18
|
+
const loadNodeData = async (nodeId) => {
|
|
19
|
+
var _a;
|
|
20
|
+
console.log("loadNodeData from union ");
|
|
21
|
+
nodeData.value = await nodeStore.getNodeData(nodeId, false);
|
|
22
|
+
nodeUnion.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
|
|
23
|
+
if (nodeData.value) {
|
|
24
|
+
if (nodeUnion.value) {
|
|
25
|
+
if (nodeUnion.value.union_input) {
|
|
26
|
+
unionInput.value = nodeUnion.value.union_input;
|
|
27
|
+
} else {
|
|
28
|
+
nodeUnion.value.union_input = unionInput.value;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
dataLoaded.value = true;
|
|
33
|
+
console.log("loadNodeData from groupby");
|
|
34
|
+
};
|
|
35
|
+
const handleClickOutside = (event) => {
|
|
36
|
+
const targetEvent = event.target;
|
|
37
|
+
if (targetEvent.id === "pivot-context-menu")
|
|
38
|
+
return;
|
|
39
|
+
showContextMenu.value = false;
|
|
40
|
+
};
|
|
41
|
+
const pushNodeData = async () => {
|
|
42
|
+
if (unionInput.value) {
|
|
43
|
+
nodeStore.updateSettings(nodeUnion);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
__expose({
|
|
47
|
+
loadNodeData,
|
|
48
|
+
pushNodeData
|
|
49
|
+
});
|
|
50
|
+
onMounted(async () => {
|
|
51
|
+
await nextTick();
|
|
52
|
+
window.addEventListener("click", handleClickOutside);
|
|
53
|
+
});
|
|
54
|
+
onUnmounted(() => {
|
|
55
|
+
window.removeEventListener("click", handleClickOutside);
|
|
56
|
+
});
|
|
57
|
+
return (_ctx, _cache) => {
|
|
58
|
+
return dataLoaded.value && nodeUnion.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
59
|
+
createVNode(GenericNodeSettings, {
|
|
60
|
+
modelValue: nodeUnion.value,
|
|
61
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeUnion.value = $event)
|
|
62
|
+
}, {
|
|
63
|
+
default: withCtx(() => _cache[1] || (_cache[1] = [
|
|
64
|
+
createTextVNode(" 'Union multiple tables into one table, this node does not have settings' ")
|
|
65
|
+
])),
|
|
66
|
+
_: 1,
|
|
67
|
+
__: [1]
|
|
68
|
+
}, 8, ["modelValue"])
|
|
69
|
+
])) : createCommentVNode("", true);
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const Union_vue_vue_type_style_index_0_scoped_5786442f_lang = "";
|
|
74
|
+
const Union = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5786442f"]]);
|
|
75
|
+
export {
|
|
76
|
+
Union as default
|
|
77
|
+
};
|
|
@@ -1,30 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as CodeLoader } from "./vue-content-loader.es-
|
|
3
|
-
import { u as useNodeStore } from "./vue-codemirror.esm-
|
|
4
|
-
import { s as selectDynamic } from "./selectDynamic-
|
|
5
|
-
import { G as GenericNodeSettings } from "./genericNodeSettings-
|
|
6
|
-
import {
|
|
7
|
-
import "./UnavailableFields-
|
|
8
|
-
import "./designer-
|
|
9
|
-
const
|
|
10
|
-
return {
|
|
11
|
-
old_name: columnName,
|
|
12
|
-
new_name: columnName,
|
|
13
|
-
keep,
|
|
14
|
-
is_altered: false,
|
|
15
|
-
data_type_change: false,
|
|
16
|
-
is_available: true,
|
|
17
|
-
position: 0,
|
|
18
|
-
original_position: 0
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
ref(null);
|
|
22
|
-
const _hoisted_1$1 = {
|
|
1
|
+
import { f as createSelectInputFromName } from "./nodeInput-5d0d6b79.js";
|
|
2
|
+
import { C as CodeLoader } from "./vue-content-loader.es-2c8e608f.js";
|
|
3
|
+
import { u as useNodeStore } from "./vue-codemirror.esm-41b0e0d7.js";
|
|
4
|
+
import { s as selectDynamic } from "./selectDynamic-92e25ee3.js";
|
|
5
|
+
import { G as GenericNodeSettings } from "./genericNodeSettings-4fe5f36b.js";
|
|
6
|
+
import { d as defineComponent, r as ref, l as computed, n as onMounted, R as nextTick, o as onUnmounted, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, h as createBlock, u as unref, _ as _export_sfc } from "./index-5429bbf8.js";
|
|
7
|
+
import "./UnavailableFields-a03f512c.js";
|
|
8
|
+
import "./designer-9633482a.js";
|
|
9
|
+
const _hoisted_1 = {
|
|
23
10
|
key: 0,
|
|
24
11
|
class: "listbox-wrapper"
|
|
25
12
|
};
|
|
26
|
-
const _sfc_main
|
|
27
|
-
__name: "
|
|
13
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
14
|
+
__name: "Unique",
|
|
28
15
|
setup(__props, { expose: __expose }) {
|
|
29
16
|
const nodeStore = useNodeStore();
|
|
30
17
|
const showContextMenu = ref(false);
|
|
@@ -35,7 +22,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
35
22
|
const nodeUnique = ref(null);
|
|
36
23
|
const nodeData = ref(null);
|
|
37
24
|
const selection = ref([]);
|
|
38
|
-
const
|
|
25
|
+
const uniqueInput = ref({
|
|
39
26
|
columns: [],
|
|
40
27
|
strategy: "any"
|
|
41
28
|
});
|
|
@@ -56,26 +43,25 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
56
43
|
if (nodeData.value) {
|
|
57
44
|
if (nodeUnique.value) {
|
|
58
45
|
if (nodeUnique.value.unique_input) {
|
|
59
|
-
|
|
46
|
+
uniqueInput.value = nodeUnique.value.unique_input;
|
|
60
47
|
} else {
|
|
61
|
-
nodeUnique.value.unique_input =
|
|
48
|
+
nodeUnique.value.unique_input = uniqueInput.value;
|
|
62
49
|
}
|
|
63
|
-
loadSelection(nodeData.value,
|
|
50
|
+
loadSelection(nodeData.value, uniqueInput.value.columns);
|
|
64
51
|
}
|
|
65
52
|
}
|
|
66
53
|
};
|
|
67
54
|
const calculateSelects = (updatedInputs) => {
|
|
68
55
|
console.log(updatedInputs);
|
|
69
56
|
selection.value = updatedInputs;
|
|
70
|
-
|
|
57
|
+
uniqueInput.value.columns = updatedInputs.filter((input) => input.keep).map((input) => input.old_name);
|
|
71
58
|
};
|
|
72
59
|
const setUniqueColumns = () => {
|
|
73
|
-
|
|
60
|
+
uniqueInput.value.columns = selection.value.filter((input) => input.keep).map((input) => input.old_name);
|
|
74
61
|
};
|
|
75
62
|
const loadNodeData = async (nodeId) => {
|
|
76
63
|
loadData(nodeId);
|
|
77
64
|
dataLoaded.value = true;
|
|
78
|
-
nodeStore.isDrawerOpen = true;
|
|
79
65
|
};
|
|
80
66
|
const handleClickOutside = (event) => {
|
|
81
67
|
var _a;
|
|
@@ -92,14 +78,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
92
78
|
const missingColumns = computed(() => {
|
|
93
79
|
var _a, _b;
|
|
94
80
|
if (nodeData.value && ((_a = nodeData.value.main_input) == null ? void 0 : _a.columns)) {
|
|
95
|
-
return getMissingColumns((_b = nodeData.value.main_input) == null ? void 0 : _b.columns,
|
|
81
|
+
return getMissingColumns((_b = nodeData.value.main_input) == null ? void 0 : _b.columns, uniqueInput.value.columns);
|
|
96
82
|
}
|
|
97
83
|
return [];
|
|
98
84
|
});
|
|
99
85
|
const calculateMissingColumns = () => {
|
|
100
86
|
var _a, _b;
|
|
101
87
|
if (nodeData.value && ((_a = nodeData.value.main_input) == null ? void 0 : _a.columns)) {
|
|
102
|
-
return getMissingColumns((_b = nodeData.value.main_input) == null ? void 0 : _b.columns,
|
|
88
|
+
return getMissingColumns((_b = nodeData.value.main_input) == null ? void 0 : _b.columns, uniqueInput.value.columns);
|
|
103
89
|
}
|
|
104
90
|
return [];
|
|
105
91
|
};
|
|
@@ -149,7 +135,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
149
135
|
var _a, _b, _c, _d;
|
|
150
136
|
dataLoaded.value = false;
|
|
151
137
|
setUniqueColumns();
|
|
152
|
-
nodeStore.isDrawerOpen = false;
|
|
153
138
|
console.log("doing this");
|
|
154
139
|
console.log((_a = nodeUnique.value) == null ? void 0 : _a.is_setup);
|
|
155
140
|
console.log(nodeUnique.value);
|
|
@@ -174,7 +159,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
174
159
|
window.removeEventListener("click", handleClickOutside);
|
|
175
160
|
});
|
|
176
161
|
return (_ctx, _cache) => {
|
|
177
|
-
return dataLoaded.value && nodeUnique.value ? (openBlock(), createElementBlock("div", _hoisted_1
|
|
162
|
+
return dataLoaded.value && nodeUnique.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
178
163
|
createVNode(GenericNodeSettings, {
|
|
179
164
|
modelValue: nodeUnique.value,
|
|
180
165
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => nodeUnique.value = $event)
|
|
@@ -200,74 +185,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
200
185
|
};
|
|
201
186
|
}
|
|
202
187
|
});
|
|
203
|
-
const
|
|
204
|
-
const
|
|
205
|
-
const _hoisted_1 = { ref: "el" };
|
|
206
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
207
|
-
__name: "Unique",
|
|
208
|
-
props: {
|
|
209
|
-
nodeId: {
|
|
210
|
-
type: Number,
|
|
211
|
-
required: true
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
setup(__props) {
|
|
215
|
-
const nodeStore = useNodeStore();
|
|
216
|
-
const childComp = ref(null);
|
|
217
|
-
const props = __props;
|
|
218
|
-
const drawer = ref(false);
|
|
219
|
-
const closeOnDrawer = () => {
|
|
220
|
-
var _a;
|
|
221
|
-
drawer.value = false;
|
|
222
|
-
(_a = childComp.value) == null ? void 0 : _a.pushNodeData();
|
|
223
|
-
};
|
|
224
|
-
const openDrawer = async () => {
|
|
225
|
-
if (nodeStore.node_id === props.nodeId) {
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
nodeStore.closeDrawer();
|
|
229
|
-
drawer.value = true;
|
|
230
|
-
const drawerOpen = nodeStore.isDrawerOpen;
|
|
231
|
-
nodeStore.isDrawerOpen = true;
|
|
232
|
-
await nextTick();
|
|
233
|
-
if (nodeStore.node_id === props.nodeId && drawerOpen) {
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
if (childComp.value) {
|
|
237
|
-
childComp.value.loadNodeData(props.nodeId);
|
|
238
|
-
nodeStore.openDrawer(closeOnDrawer);
|
|
239
|
-
}
|
|
240
|
-
};
|
|
241
|
-
onMounted(async () => {
|
|
242
|
-
await nextTick();
|
|
243
|
-
});
|
|
244
|
-
return (_ctx, _cache) => {
|
|
245
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
246
|
-
createVNode(NodeButton, {
|
|
247
|
-
ref: "nodeButton",
|
|
248
|
-
"node-id": __props.nodeId,
|
|
249
|
-
"image-src": "unique.png",
|
|
250
|
-
title: `${__props.nodeId}: Drop duplicates`,
|
|
251
|
-
onClick: openDrawer
|
|
252
|
-
}, null, 8, ["node-id", "title"]),
|
|
253
|
-
drawer.value ? (openBlock(), createBlock(Teleport, {
|
|
254
|
-
key: 0,
|
|
255
|
-
to: "#nodesettings"
|
|
256
|
-
}, [
|
|
257
|
-
createVNode(NodeTitle, {
|
|
258
|
-
title: "Drop duplicates",
|
|
259
|
-
intro: "Make the table unique by one or more columns"
|
|
260
|
-
}),
|
|
261
|
-
createVNode(uniqueInput, {
|
|
262
|
-
ref_key: "childComp",
|
|
263
|
-
ref: childComp,
|
|
264
|
-
"node-id": __props.nodeId
|
|
265
|
-
}, null, 8, ["node-id"])
|
|
266
|
-
])) : createCommentVNode("", true)
|
|
267
|
-
], 512);
|
|
268
|
-
};
|
|
269
|
-
}
|
|
270
|
-
});
|
|
188
|
+
const Unique_vue_vue_type_style_index_0_scoped_c7455058_lang = "";
|
|
189
|
+
const Unique = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c7455058"]]);
|
|
271
190
|
export {
|
|
272
|
-
|
|
191
|
+
Unique as default
|
|
273
192
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
.context-menu[data-v-
|
|
2
|
+
.context-menu[data-v-c7455058] {
|
|
3
3
|
position: fixed;
|
|
4
4
|
z-index: 1000;
|
|
5
5
|
border: 1px solid #ccc;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
border-radius: 4px;
|
|
10
10
|
user-select: none;
|
|
11
11
|
}
|
|
12
|
-
.context-menu button[data-v-
|
|
12
|
+
.context-menu button[data-v-c7455058] {
|
|
13
13
|
display: block;
|
|
14
14
|
background: none;
|
|
15
15
|
border: none;
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
cursor: pointer;
|
|
20
20
|
z-index: 100;
|
|
21
21
|
}
|
|
22
|
-
.context-menu button[data-v-
|
|
22
|
+
.context-menu button[data-v-c7455058]:hover {
|
|
23
23
|
background-color: #f0f0f0;
|
|
24
24
|
}
|
|
25
|
-
.table-wrapper[data-v-
|
|
25
|
+
.table-wrapper[data-v-c7455058] {
|
|
26
26
|
max-height: 300px; /* Adjust this value as needed */
|
|
27
27
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* subtle shadow for depth */
|
|
28
28
|
border-radius: 8px; /* rounded corners */
|
|
29
29
|
overflow: auto; /* ensures the rounded corners are applied to the child elements */
|
|
30
30
|
margin: 5px; /* adds a small margin around the table */
|
|
31
31
|
}
|
|
32
|
-
.context-menu[data-v-
|
|
32
|
+
.context-menu[data-v-c7455058] {
|
|
33
33
|
position: fixed;
|
|
34
34
|
z-index: 1000;
|
|
35
35
|
border: 1px solid #ccc;
|
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
|
38
38
|
border-radius: 4px;
|
|
39
39
|
}
|
|
40
|
-
.context-menu ul[data-v-
|
|
40
|
+
.context-menu ul[data-v-c7455058] {
|
|
41
41
|
list-style: none;
|
|
42
42
|
padding: 0;
|
|
43
43
|
margin: 0;
|
|
44
44
|
}
|
|
45
|
-
.context-menu li[data-v-
|
|
45
|
+
.context-menu li[data-v-c7455058] {
|
|
46
46
|
padding: 8px 16px;
|
|
47
47
|
cursor: pointer;
|
|
48
48
|
}
|
|
49
|
-
.context-menu li[data-v-
|
|
49
|
+
.context-menu li[data-v-c7455058]:hover {
|
|
50
50
|
background-color: #f0f0f0;
|
|
51
51
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
|
|
2
|
+
.context-menu[data-v-e713e710] {
|
|
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-e713e710] {
|
|
12
|
+
list-style: none;
|
|
13
|
+
padding: 0;
|
|
14
|
+
margin: 0;
|
|
15
|
+
}
|
|
16
|
+
.context-menu li[data-v-e713e710] {
|
|
17
|
+
padding: 8px 16px;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
}
|
|
20
|
+
.context-menu li[data-v-e713e710]:hover {
|
|
21
|
+
background-color: #f0f0f0;
|
|
22
|
+
}
|
|
23
|
+
.switch-container[data-v-e713e710] {
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
margin: 12px;
|
|
27
|
+
}
|
|
28
|
+
.switch-container span[data-v-e713e710] {
|
|
29
|
+
margin-right: 10px;
|
|
30
|
+
}
|
|
@@ -1,95 +1,10 @@
|
|
|
1
|
-
import { d as defineComponent,
|
|
2
|
-
import { u as useNodeStore } from "./vue-codemirror.esm-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import "./
|
|
6
|
-
|
|
7
|
-
const
|
|
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_4f9e01e5_lang = "";
|
|
42
|
-
const ContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-4f9e01e5"]]);
|
|
43
|
-
const _hoisted_1$2 = { class: "listbox-wrapper" };
|
|
44
|
-
const _hoisted_2$1 = { class: "listbox-row" };
|
|
45
|
-
const _hoisted_3$1 = { class: "items-container" };
|
|
46
|
-
const _hoisted_4$1 = { key: 0 };
|
|
47
|
-
const _hoisted_5$1 = ["onClick"];
|
|
48
|
-
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
49
|
-
__name: "SettingsSection",
|
|
50
|
-
props: {
|
|
51
|
-
title: { type: String, required: true },
|
|
52
|
-
titleFontSize: { type: String, default: "15px" },
|
|
53
|
-
items: { type: Array, required: true }
|
|
54
|
-
},
|
|
55
|
-
emits: ["removeItem"],
|
|
56
|
-
setup(__props, { emit: __emit }) {
|
|
57
|
-
const props = __props;
|
|
58
|
-
const emit = __emit;
|
|
59
|
-
const emitRemove = (item) => {
|
|
60
|
-
emit("removeItem", item);
|
|
61
|
-
};
|
|
62
|
-
return (_ctx, _cache) => {
|
|
63
|
-
return openBlock(), createElementBlock("div", _hoisted_1$2, [
|
|
64
|
-
createBaseVNode("div", _hoisted_2$1, [
|
|
65
|
-
createBaseVNode("div", {
|
|
66
|
-
class: "listbox-title",
|
|
67
|
-
style: normalizeStyle({ fontSize: props.titleFontSize })
|
|
68
|
-
}, toDisplayString(__props.title), 5),
|
|
69
|
-
createBaseVNode("div", _hoisted_3$1, [
|
|
70
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
71
|
-
return openBlock(), createElementBlock("div", {
|
|
72
|
-
key: index,
|
|
73
|
-
class: "item-box"
|
|
74
|
-
}, [
|
|
75
|
-
item !== "" ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
|
|
76
|
-
createTextVNode(toDisplayString(item) + " ", 1),
|
|
77
|
-
createBaseVNode("span", {
|
|
78
|
-
class: "remove-btn",
|
|
79
|
-
onClick: ($event) => emitRemove(item)
|
|
80
|
-
}, "x", 8, _hoisted_5$1)
|
|
81
|
-
])) : createCommentVNode("", true)
|
|
82
|
-
]);
|
|
83
|
-
}), 128))
|
|
84
|
-
])
|
|
85
|
-
])
|
|
86
|
-
]);
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
const SettingsSection_vue_vue_type_style_index_0_scoped_fd7e6af1_lang = "";
|
|
91
|
-
const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-fd7e6af1"]]);
|
|
92
|
-
const _hoisted_1$1 = {
|
|
1
|
+
import { d as defineComponent, r as ref, 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-5429bbf8.js";
|
|
2
|
+
import { u as useNodeStore } from "./vue-codemirror.esm-41b0e0d7.js";
|
|
3
|
+
import ContextMenu from "./ContextMenu-23e909da.js";
|
|
4
|
+
import SettingsSection from "./SettingsSection-f0f75a42.js";
|
|
5
|
+
import { G as GenericNodeSettings } from "./genericNodeSettings-4fe5f36b.js";
|
|
6
|
+
import "./designer-9633482a.js";
|
|
7
|
+
const _hoisted_1 = {
|
|
93
8
|
key: 0,
|
|
94
9
|
class: "listbox-wrapper"
|
|
95
10
|
};
|
|
@@ -104,7 +19,7 @@ const _hoisted_8 = {
|
|
|
104
19
|
class: "listbox-wrapper"
|
|
105
20
|
};
|
|
106
21
|
const _hoisted_9 = { class: "listbox-wrapper" };
|
|
107
|
-
const _sfc_main
|
|
22
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
108
23
|
__name: "Unpivot",
|
|
109
24
|
setup(__props, { expose: __expose }) {
|
|
110
25
|
const nodeStore = useNodeStore();
|
|
@@ -216,7 +131,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
216
131
|
console.log("loadNodeData from unpivot ");
|
|
217
132
|
nodeData.value = await nodeStore.getNodeData(nodeId, false);
|
|
218
133
|
nodeUnpivot.value = (_a = nodeData.value) == null ? void 0 : _a.setting_input;
|
|
219
|
-
console.log(nodeUnpivot.value);
|
|
220
134
|
if (nodeData.value) {
|
|
221
135
|
if (nodeUnpivot.value) {
|
|
222
136
|
if (nodeUnpivot.value.unpivot_input) {
|
|
@@ -227,7 +141,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
227
141
|
}
|
|
228
142
|
}
|
|
229
143
|
dataLoaded.value = true;
|
|
230
|
-
nodeStore.isDrawerOpen = true;
|
|
231
144
|
console.log("loadNodeData from groupby");
|
|
232
145
|
};
|
|
233
146
|
const handleClickOutside = (event) => {
|
|
@@ -249,7 +162,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
249
162
|
nodeUnpivot.value.unpivot_input = unpivotInput.value;
|
|
250
163
|
nodeStore.updateSettings(nodeUnpivot);
|
|
251
164
|
}
|
|
252
|
-
nodeStore.isDrawerOpen = false;
|
|
253
165
|
};
|
|
254
166
|
__expose({
|
|
255
167
|
loadNodeData,
|
|
@@ -266,7 +178,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
266
178
|
const _component_el_switch = resolveComponent("el-switch");
|
|
267
179
|
const _component_el_option = resolveComponent("el-option");
|
|
268
180
|
const _component_el_select = resolveComponent("el-select");
|
|
269
|
-
return dataLoaded.value && nodeUnpivot.value ? (openBlock(), createElementBlock("div", _hoisted_1
|
|
181
|
+
return dataLoaded.value && nodeUnpivot.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
270
182
|
createVNode(GenericNodeSettings, {
|
|
271
183
|
modelValue: nodeUnpivot.value,
|
|
272
184
|
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => nodeUnpivot.value = $event)
|
|
@@ -368,74 +280,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
368
280
|
};
|
|
369
281
|
}
|
|
370
282
|
});
|
|
371
|
-
const
|
|
372
|
-
const
|
|
373
|
-
const _hoisted_1 = { ref: "el" };
|
|
374
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
375
|
-
__name: "Unpivot",
|
|
376
|
-
props: {
|
|
377
|
-
nodeId: {
|
|
378
|
-
type: Number,
|
|
379
|
-
required: true
|
|
380
|
-
}
|
|
381
|
-
},
|
|
382
|
-
setup(__props) {
|
|
383
|
-
const nodeStore = useNodeStore();
|
|
384
|
-
const childComp = ref(null);
|
|
385
|
-
const props = __props;
|
|
386
|
-
const drawer = ref(false);
|
|
387
|
-
const closeOnDrawer = () => {
|
|
388
|
-
var _a;
|
|
389
|
-
drawer.value = false;
|
|
390
|
-
(_a = childComp.value) == null ? void 0 : _a.pushNodeData();
|
|
391
|
-
};
|
|
392
|
-
const openDrawer = async () => {
|
|
393
|
-
if (nodeStore.node_id === props.nodeId) {
|
|
394
|
-
return;
|
|
395
|
-
}
|
|
396
|
-
nodeStore.closeDrawer();
|
|
397
|
-
drawer.value = true;
|
|
398
|
-
const drawerOpen = nodeStore.isDrawerOpen;
|
|
399
|
-
nodeStore.isDrawerOpen = true;
|
|
400
|
-
await nextTick();
|
|
401
|
-
if (nodeStore.node_id === props.nodeId && drawerOpen) {
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
if (childComp.value) {
|
|
405
|
-
childComp.value.loadNodeData(props.nodeId);
|
|
406
|
-
nodeStore.openDrawer(closeOnDrawer);
|
|
407
|
-
}
|
|
408
|
-
};
|
|
409
|
-
onMounted(async () => {
|
|
410
|
-
await nextTick();
|
|
411
|
-
});
|
|
412
|
-
return (_ctx, _cache) => {
|
|
413
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
414
|
-
createVNode(NodeButton, {
|
|
415
|
-
ref: "nodeButton",
|
|
416
|
-
"node-id": __props.nodeId,
|
|
417
|
-
"image-src": "unpivot.png",
|
|
418
|
-
title: `${__props.nodeId}: Unpivot data`,
|
|
419
|
-
onClick: openDrawer
|
|
420
|
-
}, null, 8, ["node-id", "title"]),
|
|
421
|
-
drawer.value ? (openBlock(), createBlock(Teleport, {
|
|
422
|
-
key: 0,
|
|
423
|
-
to: "#nodesettings"
|
|
424
|
-
}, [
|
|
425
|
-
createVNode(NodeTitle, {
|
|
426
|
-
title: "Unpivot data",
|
|
427
|
-
intro: "Pivot columns to rows"
|
|
428
|
-
}),
|
|
429
|
-
createVNode(readInput, {
|
|
430
|
-
ref_key: "childComp",
|
|
431
|
-
ref: childComp,
|
|
432
|
-
"node-id": __props.nodeId
|
|
433
|
-
}, null, 8, ["node-id"])
|
|
434
|
-
])) : createCommentVNode("", true)
|
|
435
|
-
], 512);
|
|
436
|
-
};
|
|
437
|
-
}
|
|
438
|
-
});
|
|
283
|
+
const Unpivot_vue_vue_type_style_index_0_scoped_e713e710_lang = "";
|
|
284
|
+
const Unpivot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e713e710"]]);
|
|
439
285
|
export {
|
|
440
|
-
|
|
286
|
+
Unpivot as default
|
|
441
287
|
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { d as defineComponent, l as computed, c as openBlock, h as createBlock, w as withCtx, f as createVNode, p as createBaseVNode, u as unref, ar as ElIcon, e as createElementBlock, i as createCommentVNode, as as ElPopover, _ as _export_sfc } from "./index-5429bbf8.js";
|
|
2
|
+
const _hoisted_1 = { class: "validation-wrapper" };
|
|
3
|
+
const _hoisted_2 = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "error-message"
|
|
6
|
+
};
|
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
|
+
__name: "UnpivotValidation",
|
|
9
|
+
props: {
|
|
10
|
+
unpivotInput: {}
|
|
11
|
+
},
|
|
12
|
+
setup(__props) {
|
|
13
|
+
const props = __props;
|
|
14
|
+
const showValidationMessages = computed(() => {
|
|
15
|
+
return !(props.unpivotInput.index_columns.length === 0);
|
|
16
|
+
});
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return showValidationMessages.value ? (openBlock(), createBlock(unref(ElPopover), {
|
|
19
|
+
key: 0,
|
|
20
|
+
placement: "top",
|
|
21
|
+
width: "200",
|
|
22
|
+
trigger: "hover",
|
|
23
|
+
content: "Some required fields are missing"
|
|
24
|
+
}, {
|
|
25
|
+
reference: withCtx(() => [
|
|
26
|
+
createVNode(unref(ElIcon), {
|
|
27
|
+
color: "#FF6B6B",
|
|
28
|
+
class: "warning-icon"
|
|
29
|
+
}, {
|
|
30
|
+
default: withCtx(() => _cache[0] || (_cache[0] = [
|
|
31
|
+
createBaseVNode("i", { class: "el-icon-warning" }, null, -1)
|
|
32
|
+
])),
|
|
33
|
+
_: 1,
|
|
34
|
+
__: [0]
|
|
35
|
+
})
|
|
36
|
+
]),
|
|
37
|
+
default: withCtx(() => [
|
|
38
|
+
createBaseVNode("div", _hoisted_1, [
|
|
39
|
+
!_ctx.unpivotInput.index_columns ? (openBlock(), createElementBlock("p", _hoisted_2, "Index Column cannot be empty.")) : createCommentVNode("", true)
|
|
40
|
+
])
|
|
41
|
+
]),
|
|
42
|
+
_: 1
|
|
43
|
+
})) : createCommentVNode("", true);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
const UnpivotValidation_vue_vue_type_style_index_0_scoped_1575257f_lang = "";
|
|
48
|
+
const UnpivotValidation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1575257f"]]);
|
|
49
|
+
export {
|
|
50
|
+
UnpivotValidation as default
|
|
51
|
+
};
|