Flowfile 0.3.8__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.
- flowfile/__init__.py +4 -3
- flowfile/api.py +1 -1
- flowfile/web/static/assets/{CloudConnectionManager-c20a740f.js → CloudConnectionManager-d7c2c028.js} +2 -2
- flowfile/web/static/assets/{CloudStorageReader-960b400a.js → CloudStorageReader-d467329f.js} +11 -78
- flowfile/web/static/assets/{CloudStorageWriter-e3decbdd.js → CloudStorageWriter-071b8b00.js} +12 -79
- flowfile/web/static/assets/{CloudStorageWriter-49c9a4b2.css → CloudStorageWriter-b0ee067f.css} +24 -24
- flowfile/web/static/assets/ContextMenu-2dea5e27.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-785554c4.js +41 -0
- flowfile/web/static/assets/ContextMenu-a51e19ea.js +41 -0
- flowfile/web/static/assets/ContextMenu-c13f91d0.css +26 -0
- flowfile/web/static/assets/{CrossJoin-41efa4cb.css → CrossJoin-1119d18e.css} +18 -18
- flowfile/web/static/assets/{CrossJoin-d67e2405.js → CrossJoin-cf68ec7a.js} +14 -84
- flowfile/web/static/assets/{DatabaseConnectionSettings-a81e0f7e.js → DatabaseConnectionSettings-435c5dd8.js} +3 -3
- flowfile/web/static/assets/{DatabaseManager-9ea35e84.js → DatabaseManager-349e33a8.js} +2 -2
- flowfile/web/static/assets/{DatabaseReader-9578bfa5.js → DatabaseReader-8075bd28.js} +14 -114
- flowfile/web/static/assets/{DatabaseReader-f50c6558.css → DatabaseReader-ae61773c.css} +0 -27
- flowfile/web/static/assets/{DatabaseWriter-19531098.js → DatabaseWriter-3e2dda89.js} +13 -74
- flowfile/web/static/assets/{ExploreData-5bdae813.css → ExploreData-2d0cf4db.css} +8 -14
- flowfile/web/static/assets/ExploreData-76ec698c.js +192 -0
- flowfile/web/static/assets/{ExternalSource-2297ef96.js → ExternalSource-609a265c.js} +8 -79
- flowfile/web/static/assets/{Filter-f211c03a.js → Filter-97cff793.js} +12 -85
- flowfile/web/static/assets/{Filter-a9d08ba1.css → Filter-f62091b3.css} +3 -3
- flowfile/web/static/assets/{Formula-4207ea31.js → Formula-09de0ec9.js} +18 -85
- 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-bf120df0.js → FuzzyMatch-bdf70248.js} +16 -87
- flowfile/web/static/assets/{GraphSolver-5bb7497a.js → GraphSolver-0b5a0e05.js} +13 -159
- flowfile/web/static/assets/GraphSolver-f0cb7bfb.css +22 -0
- flowfile/web/static/assets/{Unique-b5615727.css → GroupBy-b9505323.css} +8 -8
- flowfile/web/static/assets/{GroupBy-92c81b65.js → GroupBy-eaddadde.js} +12 -75
- flowfile/web/static/assets/{Join-4e49a274.js → Join-3313371b.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-90998ae8.js → ManualInput-e8bfc0be.js} +11 -82
- flowfile/web/static/assets/{Output-81e3e917.js → Output-7303bb09.js} +13 -243
- flowfile/web/static/assets/Output-ddc9079f.css +37 -0
- flowfile/web/static/assets/{Pivot-a3419842.js → Pivot-3b1c54ef.js} +14 -138
- flowfile/web/static/assets/Pivot-cf333e3d.css +22 -0
- flowfile/web/static/assets/PivotValidation-3bb36c8f.js +61 -0
- flowfile/web/static/assets/PivotValidation-891ddfb0.css +13 -0
- flowfile/web/static/assets/PivotValidation-c46cd420.css +13 -0
- flowfile/web/static/assets/PivotValidation-eaa819c0.js +61 -0
- flowfile/web/static/assets/{PolarsCode-72710deb.js → PolarsCode-aa12e25d.js} +13 -80
- flowfile/web/static/assets/Read-6b17491f.css +62 -0
- flowfile/web/static/assets/Read-a2bfc618.js +243 -0
- flowfile/web/static/assets/RecordCount-aa0dc082.js +53 -0
- flowfile/web/static/assets/{RecordId-10baf191.js → RecordId-48ee1a3b.js} +8 -80
- flowfile/web/static/assets/SQLQueryComponent-36cef432.css +27 -0
- flowfile/web/static/assets/SQLQueryComponent-e149dbf2.js +38 -0
- flowfile/web/static/assets/{Sample-3ed9a0ae.js → Sample-f06cb97a.js} +8 -77
- flowfile/web/static/assets/{SecretManager-0d49c0e8.js → SecretManager-37f34886.js} +2 -2
- flowfile/web/static/assets/{Select-8a02a0b3.js → Select-b60e6c47.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-70e5a7b1.js +53 -0
- flowfile/web/static/assets/SettingsSection-71e6b7e3.css +21 -0
- flowfile/web/static/assets/{SettingsSection-4c0f45f5.js → SettingsSection-75b6cf4f.js} +2 -40
- flowfile/web/static/assets/SettingsSection-e57a672e.js +45 -0
- flowfile/web/static/assets/{GroupBy-ab1ea74b.css → Sort-3643d625.css} +8 -8
- flowfile/web/static/assets/{Sort-f55c9f9d.js → Sort-51b1ee4d.js} +12 -97
- flowfile/web/static/assets/{TextToRows-5dbc2145.js → TextToRows-26835f8f.js} +14 -83
- flowfile/web/static/assets/{TextToRows-c92d1ec2.css → TextToRows-5d2c1190.css} +9 -9
- flowfile/web/static/assets/{UnavailableFields-a1768e52.js → UnavailableFields-88a4cd0c.js} +2 -2
- flowfile/web/static/assets/Union-4d0088eb.js +77 -0
- flowfile/web/static/assets/{Union-8d9ac7f9.css → Union-af6c3d9b.css} +6 -6
- flowfile/web/static/assets/{Unique-46b250da.js → Unique-7d554a62.js} +22 -91
- 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-25ac84cc.js → Unpivot-4668595c.js} +12 -166
- flowfile/web/static/assets/UnpivotValidation-0d240eeb.css +13 -0
- flowfile/web/static/assets/UnpivotValidation-d4f0e0e8.js +51 -0
- flowfile/web/static/assets/{ExploreData-40476474.js → VueGraphicWalker-5324d566.js} +4 -264
- flowfile/web/static/assets/VueGraphicWalker-ed5ab88b.css +6 -0
- flowfile/web/static/assets/{api-6ef0dcef.js → api-271ed117.js} +1 -1
- flowfile/web/static/assets/{api-a0abbdc7.js → api-31e4fea6.js} +1 -1
- flowfile/web/static/assets/{designer-186f2e71.css → designer-091bdc3f.css} +819 -184
- flowfile/web/static/assets/{designer-13eabd83.js → designer-bf3d9487.js} +2214 -680
- flowfile/web/static/assets/{documentation-b87e7f6f.js → documentation-4d0a1cea.js} +1 -1
- flowfile/web/static/assets/{dropDown-13564764.js → dropDown-025888df.js} +1 -1
- flowfile/web/static/assets/{fullEditor-fd2cd6f9.js → fullEditor-1df991ec.js} +2 -2
- flowfile/web/static/assets/{genericNodeSettings-71e11604.js → genericNodeSettings-d3b2b2ac.js} +3 -3
- flowfile/web/static/assets/{index-f6c15e76.js → index-d0518598.js} +210 -31
- flowfile/web/static/assets/{Output-48f81019.css → outputCsv-9cc59e0b.css} +0 -143
- flowfile/web/static/assets/outputCsv-d8457527.js +86 -0
- flowfile/web/static/assets/outputExcel-b41305c0.css +102 -0
- flowfile/web/static/assets/outputExcel-be89153e.js +56 -0
- flowfile/web/static/assets/outputParquet-cf8cf3f2.css +4 -0
- flowfile/web/static/assets/outputParquet-fabb445a.js +31 -0
- flowfile/web/static/assets/readCsv-bca3ed53.css +52 -0
- flowfile/web/static/assets/readCsv-e8359522.js +178 -0
- flowfile/web/static/assets/readExcel-dabaf51b.js +203 -0
- flowfile/web/static/assets/readExcel-e1b381ea.css +64 -0
- flowfile/web/static/assets/readParquet-cee068e2.css +19 -0
- flowfile/web/static/assets/readParquet-e0771ef2.js +26 -0
- flowfile/web/static/assets/{secretApi-dd636aa2.js → secretApi-ce823eee.js} +1 -1
- flowfile/web/static/assets/{selectDynamic-af36165e.js → selectDynamic-5476546e.js} +7 -7
- flowfile/web/static/assets/{selectDynamic-b062bc9b.css → selectDynamic-aa913ff4.css} +16 -16
- flowfile/web/static/assets/{vue-codemirror.esm-2847001e.js → vue-codemirror.esm-9ed00d50.js} +29 -33
- flowfile/web/static/assets/{vue-content-loader.es-0371da73.js → vue-content-loader.es-7bca2d9b.js} +1 -1
- flowfile/web/static/index.html +1 -1
- {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/METADATA +2 -1
- {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/RECORD +147 -117
- flowfile_core/configs/flow_logger.py +5 -13
- flowfile_core/configs/node_store/nodes.py +303 -44
- flowfile_core/configs/settings.py +6 -3
- flowfile_core/database/connection.py +5 -21
- flowfile_core/fileExplorer/funcs.py +239 -121
- flowfile_core/flowfile/code_generator/code_generator.py +36 -0
- flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +60 -80
- flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +61 -0
- flowfile_core/flowfile/flow_data_engine/fuzzy_matching/prepare_for_fuzzy_match.py +44 -3
- flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +3 -3
- flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +33 -10
- flowfile_core/flowfile/flow_graph.py +223 -118
- flowfile_core/flowfile/flow_node/flow_node.py +56 -19
- flowfile_core/flowfile/flow_node/models.py +0 -2
- flowfile_core/flowfile/flow_node/schema_callback.py +138 -43
- flowfile_core/flowfile/graph_tree/graph_tree.py +250 -0
- flowfile_core/flowfile/graph_tree/models.py +15 -0
- flowfile_core/flowfile/handler.py +22 -3
- flowfile_core/flowfile/manage/compatibility_enhancements.py +1 -1
- flowfile_core/flowfile/{flow_data_engine/fuzzy_matching/settings_validator.py → schema_callbacks.py} +72 -16
- flowfile_core/flowfile/setting_generator/settings.py +2 -2
- flowfile_core/flowfile/util/execution_orderer.py +9 -0
- flowfile_core/flowfile/util/node_skipper.py +8 -0
- flowfile_core/main.py +4 -1
- flowfile_core/routes/routes.py +59 -10
- flowfile_core/schemas/input_schema.py +0 -1
- flowfile_core/schemas/output_model.py +5 -2
- flowfile_core/schemas/schemas.py +48 -3
- flowfile_core/schemas/transform_schema.py +28 -38
- flowfile_frame/__init__.py +1 -4
- flowfile_frame/flow_frame.py +33 -4
- flowfile_frame/flow_frame.pyi +2 -0
- flowfile_worker/__init__.py +6 -35
- flowfile_worker/funcs.py +7 -3
- flowfile_worker/main.py +5 -2
- flowfile_worker/models.py +3 -1
- flowfile_worker/routes.py +47 -5
- shared/__init__.py +15 -0
- shared/storage_config.py +243 -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-c4059daf.js +0 -701
- flowfile/web/static/assets/RecordCount-c2b5e095.js +0 -122
- flowfile/web/static/assets/Union-f2aefdc9.js +0 -146
- flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -77
- flowfile/web/static/assets/nodeTitle-988d9efe.js +0 -227
- flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -134
- flowfile_worker/polars_fuzzy_match/matcher.py +0 -435
- flowfile_worker/polars_fuzzy_match/models.py +0 -36
- flowfile_worker/polars_fuzzy_match/pre_process.py +0 -213
- flowfile_worker/polars_fuzzy_match/process.py +0 -86
- flowfile_worker/polars_fuzzy_match/utils.py +0 -50
- {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/LICENSE +0 -0
- {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/WHEEL +0 -0
- {flowfile-0.3.8.dist-info → flowfile-0.3.10.dist-info}/entry_points.txt +0 -0
- {flowfile_worker/polars_fuzzy_match → flowfile_core/flowfile/graph_tree}/__init__.py +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
|
|
2
|
+
.query-section[data-v-29602f2f] {
|
|
3
|
+
margin-top: 1rem;
|
|
4
|
+
padding-top: 1rem;
|
|
5
|
+
border-top: 1px solid #edf2f7;
|
|
6
|
+
}
|
|
7
|
+
.section-subtitle[data-v-29602f2f] {
|
|
8
|
+
margin: 0 0 0.75rem 0;
|
|
9
|
+
font-size: 0.95rem;
|
|
10
|
+
font-weight: 600;
|
|
11
|
+
color: #4a5568;
|
|
12
|
+
}
|
|
13
|
+
.form-group[data-v-29602f2f] {
|
|
14
|
+
margin-bottom: 1rem;
|
|
15
|
+
}
|
|
16
|
+
.form-control[data-v-29602f2f] {
|
|
17
|
+
width: 100%;
|
|
18
|
+
padding: 0.5rem;
|
|
19
|
+
border: 1px solid #e2e8f0;
|
|
20
|
+
border-radius: 4px;
|
|
21
|
+
font-size: 0.875rem;
|
|
22
|
+
}
|
|
23
|
+
.textarea[data-v-29602f2f] {
|
|
24
|
+
resize: vertical;
|
|
25
|
+
min-height: 100px;
|
|
26
|
+
font-family: monospace;
|
|
27
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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: "query-section" };
|
|
3
|
+
const _hoisted_2 = { class: "form-group" };
|
|
4
|
+
const _hoisted_3 = ["value"];
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
|
+
__name: "SQLQueryComponent",
|
|
7
|
+
props: {
|
|
8
|
+
modelValue: {}
|
|
9
|
+
},
|
|
10
|
+
emits: ["update:modelValue"],
|
|
11
|
+
setup(__props, { emit: __emit }) {
|
|
12
|
+
const emit = __emit;
|
|
13
|
+
const onInput = (event) => {
|
|
14
|
+
const target = event.target;
|
|
15
|
+
emit("update:modelValue", target.value);
|
|
16
|
+
};
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
19
|
+
_cache[0] || (_cache[0] = createBaseVNode("h4", { class: "section-subtitle" }, "SQL Query", -1)),
|
|
20
|
+
createBaseVNode("div", _hoisted_2, [
|
|
21
|
+
createBaseVNode("textarea", {
|
|
22
|
+
id: "query",
|
|
23
|
+
value: _ctx.modelValue,
|
|
24
|
+
class: "form-control textarea",
|
|
25
|
+
placeholder: "Enter SQL query",
|
|
26
|
+
rows: "4",
|
|
27
|
+
onInput
|
|
28
|
+
}, null, 40, _hoisted_3)
|
|
29
|
+
])
|
|
30
|
+
]);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const SQLQueryComponent_vue_vue_type_style_index_0_scoped_29602f2f_lang = "";
|
|
35
|
+
const SqlQueryComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-29602f2f"]]);
|
|
36
|
+
export {
|
|
37
|
+
SqlQueryComponent as default
|
|
38
|
+
};
|
|
@@ -1,15 +1,14 @@
|
|
|
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, g as createTextVNode,
|
|
2
|
-
import { u as useNodeStore } from "./vue-codemirror.esm-
|
|
3
|
-
import { G as GenericNodeSettings } from "./genericNodeSettings-
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
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, g as createTextVNode, a8 as withDirectives, a9 as vModelText, i as createCommentVNode } from "./index-d0518598.js";
|
|
2
|
+
import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
|
|
3
|
+
import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
|
|
4
|
+
import "./designer-bf3d9487.js";
|
|
5
|
+
const _hoisted_1 = {
|
|
7
6
|
key: 0,
|
|
8
7
|
class: "listbox-wrapper"
|
|
9
8
|
};
|
|
10
9
|
const _hoisted_2 = { class: "listbox-wrapper" };
|
|
11
|
-
const _sfc_main
|
|
12
|
-
__name: "
|
|
10
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
11
|
+
__name: "Sample",
|
|
13
12
|
setup(__props, { expose: __expose }) {
|
|
14
13
|
const nodeStore = useNodeStore();
|
|
15
14
|
const showContextMenu = ref(false);
|
|
@@ -50,7 +49,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
50
49
|
}
|
|
51
50
|
nodeStore.updateSettings(nodeSample);
|
|
52
51
|
dataLoaded.value = false;
|
|
53
|
-
nodeStore.isDrawerOpen = false;
|
|
54
52
|
};
|
|
55
53
|
__expose({
|
|
56
54
|
loadNodeData,
|
|
@@ -66,7 +64,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
66
64
|
return (_ctx, _cache) => {
|
|
67
65
|
const _component_el_col = resolveComponent("el-col");
|
|
68
66
|
const _component_el_row = resolveComponent("el-row");
|
|
69
|
-
return dataLoaded.value && nodeSample.value ? (openBlock(), createElementBlock("div", _hoisted_1
|
|
67
|
+
return dataLoaded.value && nodeSample.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
70
68
|
createVNode(GenericNodeSettings, {
|
|
71
69
|
modelValue: nodeSample.value,
|
|
72
70
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => nodeSample.value = $event)
|
|
@@ -113,73 +111,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
113
111
|
};
|
|
114
112
|
}
|
|
115
113
|
});
|
|
116
|
-
const _hoisted_1 = { ref: "el" };
|
|
117
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
118
|
-
__name: "Sample",
|
|
119
|
-
props: {
|
|
120
|
-
nodeId: {
|
|
121
|
-
type: Number,
|
|
122
|
-
required: true
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
setup(__props) {
|
|
126
|
-
const nodeStore = useNodeStore();
|
|
127
|
-
const childComp = ref(null);
|
|
128
|
-
const props = __props;
|
|
129
|
-
const drawer = ref(false);
|
|
130
|
-
const closeOnDrawer = () => {
|
|
131
|
-
var _a;
|
|
132
|
-
(_a = childComp.value) == null ? void 0 : _a.pushNodeData();
|
|
133
|
-
drawer.value = false;
|
|
134
|
-
nodeStore.isDrawerOpen = false;
|
|
135
|
-
};
|
|
136
|
-
const openDrawer = async () => {
|
|
137
|
-
if (nodeStore.node_id === props.nodeId) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
nodeStore.closeDrawer();
|
|
141
|
-
drawer.value = true;
|
|
142
|
-
const drawerOpen = nodeStore.isDrawerOpen;
|
|
143
|
-
nodeStore.isDrawerOpen = true;
|
|
144
|
-
await nextTick();
|
|
145
|
-
if (nodeStore.node_id === props.nodeId && drawerOpen) {
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
if (childComp.value) {
|
|
149
|
-
childComp.value.loadNodeData(props.nodeId);
|
|
150
|
-
nodeStore.openDrawer(closeOnDrawer);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
onMounted(async () => {
|
|
154
|
-
await nextTick();
|
|
155
|
-
});
|
|
156
|
-
return (_ctx, _cache) => {
|
|
157
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
158
|
-
createVNode(NodeButton, {
|
|
159
|
-
ref: "nodeButton",
|
|
160
|
-
"node-id": __props.nodeId,
|
|
161
|
-
"image-src": "sample.png",
|
|
162
|
-
title: `${__props.nodeId}: Sample`,
|
|
163
|
-
onClick: openDrawer
|
|
164
|
-
}, null, 8, ["node-id", "title"]),
|
|
165
|
-
drawer.value ? (openBlock(), createBlock(Teleport, {
|
|
166
|
-
key: 0,
|
|
167
|
-
to: "#nodesettings"
|
|
168
|
-
}, [
|
|
169
|
-
createVNode(NodeTitle, {
|
|
170
|
-
title: "Sample",
|
|
171
|
-
intro: "When taking a sample, the most crucial factor to consider is the size of the sample. The size refers to the number of items or observations included in the sample from a larger population. This number is pivotal because it influences the accuracy and reliability of the results obtained from the sample. By carefully determining the sample size, we ensure that our findings are representative of the larger group, allowing us to make informed decisions or predictions based on the sample data"
|
|
172
|
-
}),
|
|
173
|
-
createVNode(_sfc_main$1, {
|
|
174
|
-
ref_key: "childComp",
|
|
175
|
-
ref: childComp,
|
|
176
|
-
"node-id": __props.nodeId
|
|
177
|
-
}, null, 8, ["node-id"])
|
|
178
|
-
])) : createCommentVNode("", true)
|
|
179
|
-
], 512);
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
114
|
export {
|
|
184
115
|
_sfc_main as default
|
|
185
116
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as ref, l as computed, d as defineComponent, n as onMounted, e as createElementBlock, p as createBaseVNode, v as withModifiers,
|
|
2
|
-
import { f as fetchSecretsApi, a as addSecretApi, g as getSecretValueApi, d as deleteSecretApi } from "./secretApi-
|
|
1
|
+
import { r as ref, l as computed, d as defineComponent, n as onMounted, e as createElementBlock, p as createBaseVNode, v as withModifiers, a8 as withDirectives, a9 as vModelText, al as vModelDynamic, s as normalizeClass, g as createTextVNode, t as toDisplayString, u as unref, O as isRef, i as createCommentVNode, F as Fragment, q as renderList, c as openBlock } from "./index-d0518598.js";
|
|
2
|
+
import { f as fetchSecretsApi, a as addSecretApi, g as getSecretValueApi, d as deleteSecretApi } from "./secretApi-ce823eee.js";
|
|
3
3
|
function useSecretManager() {
|
|
4
4
|
const secrets = ref([]);
|
|
5
5
|
const isLoading = ref(true);
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { r as ref, d as defineComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, h as createBlock, u as unref
|
|
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 "./
|
|
8
|
-
import "./designer-13eabd83.js";
|
|
1
|
+
import { r as ref, d as defineComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, h as createBlock, u as unref } from "./index-d0518598.js";
|
|
2
|
+
import { C as CodeLoader } from "./vue-content-loader.es-7bca2d9b.js";
|
|
3
|
+
import { u as useNodeStore } from "./vue-codemirror.esm-9ed00d50.js";
|
|
4
|
+
import { s as selectDynamic } from "./selectDynamic-5476546e.js";
|
|
5
|
+
import { G as GenericNodeSettings } from "./genericNodeSettings-d3b2b2ac.js";
|
|
6
|
+
import "./UnavailableFields-88a4cd0c.js";
|
|
7
|
+
import "./designer-bf3d9487.js";
|
|
9
8
|
const createSelectInput = (column_name, data_type = void 0, position = void 0, original_position = void 0) => {
|
|
10
9
|
const selectInput = {
|
|
11
10
|
old_name: column_name,
|
|
@@ -60,12 +59,12 @@ const createNodeSelect = (flowId = -1, nodeId = -1, pos_x = 0, pos_y = 0, cache_
|
|
|
60
59
|
});
|
|
61
60
|
return nodeSelectRef;
|
|
62
61
|
};
|
|
63
|
-
const _hoisted_1
|
|
62
|
+
const _hoisted_1 = {
|
|
64
63
|
key: 0,
|
|
65
64
|
class: "listbox-wrapper"
|
|
66
65
|
};
|
|
67
|
-
const _sfc_main
|
|
68
|
-
__name: "
|
|
66
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
67
|
+
__name: "Select",
|
|
69
68
|
setup(__props, { expose: __expose }) {
|
|
70
69
|
const keepMissing = ref(false);
|
|
71
70
|
const nodeStore = useNodeStore();
|
|
@@ -73,7 +72,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
73
72
|
const dataLoaded = ref(false);
|
|
74
73
|
const loadNodeData = async (nodeId) => {
|
|
75
74
|
const result = await nodeStore.getNodeData(nodeId, false);
|
|
76
|
-
console.log("got result data");
|
|
77
75
|
if (result) {
|
|
78
76
|
const main_input = result.main_input;
|
|
79
77
|
try {
|
|
@@ -85,7 +83,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
85
83
|
throw new Error("Setting input not available");
|
|
86
84
|
}
|
|
87
85
|
} catch (error) {
|
|
88
|
-
console.log("doing this");
|
|
89
86
|
if (main_input && nodeSelect.value) {
|
|
90
87
|
nodeSelect.value = createNodeSelect(nodeStore.flow_id, nodeStore.node_id).value;
|
|
91
88
|
nodeSelect.value.depending_on_id = main_input.node_id;
|
|
@@ -128,7 +125,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
128
125
|
pushNodeData
|
|
129
126
|
});
|
|
130
127
|
return (_ctx, _cache) => {
|
|
131
|
-
return dataLoaded.value ? (openBlock(), createElementBlock("div", _hoisted_1
|
|
128
|
+
return dataLoaded.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
132
129
|
createVNode(GenericNodeSettings, {
|
|
133
130
|
modelValue: nodeSelect.value,
|
|
134
131
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => nodeSelect.value = $event)
|
|
@@ -155,77 +152,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
155
152
|
};
|
|
156
153
|
}
|
|
157
154
|
});
|
|
158
|
-
const _hoisted_1 = { ref: "el" };
|
|
159
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
160
|
-
__name: "Select",
|
|
161
|
-
props: {
|
|
162
|
-
nodeId: {
|
|
163
|
-
type: Number,
|
|
164
|
-
required: true
|
|
165
|
-
}
|
|
166
|
-
},
|
|
167
|
-
setup(__props) {
|
|
168
|
-
const nodeStore = useNodeStore();
|
|
169
|
-
const childComp = ref(null);
|
|
170
|
-
const drawer = ref(false);
|
|
171
|
-
let isSelected = ref(false);
|
|
172
|
-
const props = __props;
|
|
173
|
-
onMounted(async () => {
|
|
174
|
-
await nextTick();
|
|
175
|
-
});
|
|
176
|
-
const closeOnDrawer = () => {
|
|
177
|
-
var _a;
|
|
178
|
-
if (drawer.value) {
|
|
179
|
-
isSelected.value = false;
|
|
180
|
-
(_a = childComp.value) == null ? void 0 : _a.pushNodeData();
|
|
181
|
-
drawer.value = false;
|
|
182
|
-
nodeStore.isDrawerOpen = false;
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
const openDrawer = async () => {
|
|
186
|
-
if (nodeStore.node_id === props.nodeId) {
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
nodeStore.closeDrawer();
|
|
190
|
-
drawer.value = true;
|
|
191
|
-
const drawerOpen = nodeStore.isDrawerOpen;
|
|
192
|
-
nodeStore.isDrawerOpen = true;
|
|
193
|
-
await nextTick();
|
|
194
|
-
if (nodeStore.node_id === props.nodeId && drawerOpen) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
if (childComp.value) {
|
|
198
|
-
childComp.value.loadNodeData(props.nodeId);
|
|
199
|
-
nodeStore.openDrawer(closeOnDrawer);
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
return (_ctx, _cache) => {
|
|
203
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
204
|
-
createVNode(NodeButton, {
|
|
205
|
-
ref: "nodeButton",
|
|
206
|
-
"node-id": __props.nodeId,
|
|
207
|
-
"image-src": "select.png",
|
|
208
|
-
title: `${__props.nodeId}: Select data`,
|
|
209
|
-
onClick: openDrawer
|
|
210
|
-
}, null, 8, ["node-id", "title"]),
|
|
211
|
-
drawer.value ? (openBlock(), createBlock(Teleport, {
|
|
212
|
-
key: 0,
|
|
213
|
-
to: "#nodesettings"
|
|
214
|
-
}, [
|
|
215
|
-
createVNode(NodeTitle, {
|
|
216
|
-
title: "Select data",
|
|
217
|
-
intro: "Select columns from the data"
|
|
218
|
-
}),
|
|
219
|
-
createVNode(_sfc_main$1, {
|
|
220
|
-
ref_key: "childComp",
|
|
221
|
-
ref: childComp,
|
|
222
|
-
"node-id": __props.nodeId
|
|
223
|
-
}, null, 8, ["node-id"])
|
|
224
|
-
])) : createCommentVNode("", true)
|
|
225
|
-
], 512);
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
155
|
export {
|
|
230
156
|
_sfc_main as default
|
|
231
157
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
.items-container[data-v-fd7e6af1] {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-wrap: wrap;
|
|
5
|
+
gap: 10px; /* Space between items */
|
|
6
|
+
}
|
|
7
|
+
.item-box[data-v-fd7e6af1] {
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
padding: 5px 10px;
|
|
11
|
+
background-color: #f0f0f0;
|
|
12
|
+
border-radius: 4px;
|
|
13
|
+
font-size: 12px; /* Font size set to 12px */
|
|
14
|
+
position: relative;
|
|
15
|
+
}
|
|
16
|
+
.remove-btn[data-v-fd7e6af1] {
|
|
17
|
+
margin-left: 8px;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
color: #100f0f72;
|
|
20
|
+
font-weight: bold;
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
.items-container[data-v-43acf78a] {
|
|
3
|
+
display: flex;
|
|
4
|
+
gap: 10px; /* Space between items */
|
|
5
|
+
}
|
|
6
|
+
.item-box[data-v-43acf78a] {
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
padding: 5px 10px;
|
|
10
|
+
background-color: #f0f0f0;
|
|
11
|
+
border-radius: 4px;
|
|
12
|
+
font-size: 12px; /* Font size set to 12px */
|
|
13
|
+
position: relative;
|
|
14
|
+
}
|
|
15
|
+
.remove-btn[data-v-43acf78a] {
|
|
16
|
+
margin-left: 8px;
|
|
17
|
+
cursor: pointer;
|
|
18
|
+
color: #100f0f72;
|
|
19
|
+
font-weight: bold;
|
|
20
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, T as normalizeStyle, t as toDisplayString, F as Fragment, q as renderList, g as createTextVNode, i as createCommentVNode, _ as _export_sfc } from "./index-d0518598.js";
|
|
2
|
+
const _hoisted_1 = { class: "listbox-wrapper" };
|
|
3
|
+
const _hoisted_2 = { class: "listbox-row" };
|
|
4
|
+
const _hoisted_3 = { class: "items-container" };
|
|
5
|
+
const _hoisted_4 = { key: 0 };
|
|
6
|
+
const _hoisted_5 = ["onClick"];
|
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
|
+
__name: "SettingsSection",
|
|
9
|
+
props: {
|
|
10
|
+
title: { type: String, required: true },
|
|
11
|
+
titleFontSize: { type: String, default: "15px" },
|
|
12
|
+
items: { type: Array, required: true }
|
|
13
|
+
},
|
|
14
|
+
emits: ["removeItem"],
|
|
15
|
+
setup(__props, { emit: __emit }) {
|
|
16
|
+
const props = __props;
|
|
17
|
+
const emit = __emit;
|
|
18
|
+
const emitRemove = (item) => {
|
|
19
|
+
emit("removeItem", item);
|
|
20
|
+
};
|
|
21
|
+
return (_ctx, _cache) => {
|
|
22
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
23
|
+
createBaseVNode("div", _hoisted_2, [
|
|
24
|
+
createBaseVNode("div", {
|
|
25
|
+
class: "listbox-title",
|
|
26
|
+
style: normalizeStyle({ fontSize: props.titleFontSize })
|
|
27
|
+
}, toDisplayString(__props.title), 5),
|
|
28
|
+
createBaseVNode("div", _hoisted_3, [
|
|
29
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
|
|
30
|
+
return openBlock(), createElementBlock("div", {
|
|
31
|
+
key: index,
|
|
32
|
+
class: "item-box"
|
|
33
|
+
}, [
|
|
34
|
+
item !== "" ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
35
|
+
createTextVNode(toDisplayString(item) + " ", 1),
|
|
36
|
+
createBaseVNode("span", {
|
|
37
|
+
class: "remove-btn",
|
|
38
|
+
onClick: ($event) => emitRemove(item)
|
|
39
|
+
}, "x", 8, _hoisted_5)
|
|
40
|
+
])) : createCommentVNode("", true)
|
|
41
|
+
]);
|
|
42
|
+
}), 128))
|
|
43
|
+
])
|
|
44
|
+
])
|
|
45
|
+
]);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
const SettingsSection_vue_vue_type_style_index_0_scoped_fd7e6af1_lang = "";
|
|
50
|
+
const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-fd7e6af1"]]);
|
|
51
|
+
export {
|
|
52
|
+
SettingsSection as default
|
|
53
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
.items-container[data-v-89e3a043] {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-wrap: wrap;
|
|
5
|
+
gap: 10px; /* Space between items */
|
|
6
|
+
}
|
|
7
|
+
.item-box[data-v-89e3a043] {
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
padding: 5px 10px;
|
|
11
|
+
background-color: #f0f0f0;
|
|
12
|
+
border-radius: 4px;
|
|
13
|
+
font-size: 12px; /* Font size set to 12px */
|
|
14
|
+
position: relative;
|
|
15
|
+
}
|
|
16
|
+
.remove-btn[data-v-89e3a043] {
|
|
17
|
+
margin-left: 8px;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
color: #100f0f72;
|
|
20
|
+
font-weight: bold;
|
|
21
|
+
}
|
|
@@ -1,41 +1,4 @@
|
|
|
1
|
-
import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode,
|
|
2
|
-
const _hoisted_1$1 = ["onClick"];
|
|
3
|
-
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
4
|
-
__name: "ContextMenu",
|
|
5
|
-
props: {
|
|
6
|
-
position: { type: Object, required: true },
|
|
7
|
-
options: {
|
|
8
|
-
type: Array,
|
|
9
|
-
required: true
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
|
-
emits: ["select", "close"],
|
|
13
|
-
setup(__props, { emit: __emit }) {
|
|
14
|
-
const emit = __emit;
|
|
15
|
-
const selectOption = (action) => {
|
|
16
|
-
emit("select", action);
|
|
17
|
-
emit("close");
|
|
18
|
-
};
|
|
19
|
-
return (_ctx, _cache) => {
|
|
20
|
-
return openBlock(), createElementBlock("div", {
|
|
21
|
-
class: "context-menu",
|
|
22
|
-
style: normalizeStyle({ top: __props.position.y + "px", left: __props.position.x + "px" })
|
|
23
|
-
}, [
|
|
24
|
-
createBaseVNode("ul", null, [
|
|
25
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option) => {
|
|
26
|
-
return openBlock(), createElementBlock("li", {
|
|
27
|
-
key: option.action,
|
|
28
|
-
class: normalizeClass({ disabled: option.disabled }),
|
|
29
|
-
onClick: ($event) => !option.disabled && selectOption(option.action)
|
|
30
|
-
}, toDisplayString(option.label), 11, _hoisted_1$1);
|
|
31
|
-
}), 128))
|
|
32
|
-
])
|
|
33
|
-
], 4);
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
const ContextMenu_vue_vue_type_style_index_0_scoped_a562ba5e_lang = "";
|
|
38
|
-
const ContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-a562ba5e"]]);
|
|
1
|
+
import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, t as toDisplayString, F as Fragment, q as renderList, g as createTextVNode, i as createCommentVNode, _ as _export_sfc } from "./index-d0518598.js";
|
|
39
2
|
const _hoisted_1 = { class: "listbox-wrapper" };
|
|
40
3
|
const _hoisted_2 = { class: "listbox-row" };
|
|
41
4
|
const _hoisted_3 = { class: "listbox-subtitle" };
|
|
@@ -82,6 +45,5 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
82
45
|
const SettingsSection_vue_vue_type_style_index_0_scoped_89e3a043_lang = "";
|
|
83
46
|
const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-89e3a043"]]);
|
|
84
47
|
export {
|
|
85
|
-
|
|
86
|
-
SettingsSection as S
|
|
48
|
+
SettingsSection as default
|
|
87
49
|
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { d as defineComponent, c as openBlock, e as createElementBlock, p as createBaseVNode, t as toDisplayString, g as createTextVNode, i as createCommentVNode, _ as _export_sfc } from "./index-d0518598.js";
|
|
2
|
+
const _hoisted_1 = { class: "listbox-wrapper" };
|
|
3
|
+
const _hoisted_2 = { class: "listbox-row" };
|
|
4
|
+
const _hoisted_3 = { class: "listbox-subtitle" };
|
|
5
|
+
const _hoisted_4 = { class: "items-container" };
|
|
6
|
+
const _hoisted_5 = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "item-box"
|
|
9
|
+
};
|
|
10
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
11
|
+
__name: "SettingsSection",
|
|
12
|
+
props: {
|
|
13
|
+
title: { type: String, required: true },
|
|
14
|
+
item: { type: String, required: true }
|
|
15
|
+
// Changed to a single item
|
|
16
|
+
},
|
|
17
|
+
emits: ["removeItem"],
|
|
18
|
+
setup(__props, { emit: __emit }) {
|
|
19
|
+
const emit = __emit;
|
|
20
|
+
const emitRemove = (item) => {
|
|
21
|
+
emit("removeItem", item);
|
|
22
|
+
};
|
|
23
|
+
return (_ctx, _cache) => {
|
|
24
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
25
|
+
createBaseVNode("div", _hoisted_2, [
|
|
26
|
+
createBaseVNode("div", _hoisted_3, toDisplayString(__props.title), 1),
|
|
27
|
+
createBaseVNode("div", _hoisted_4, [
|
|
28
|
+
__props.item !== "" ? (openBlock(), createElementBlock("div", _hoisted_5, [
|
|
29
|
+
createTextVNode(toDisplayString(__props.item) + " ", 1),
|
|
30
|
+
createBaseVNode("span", {
|
|
31
|
+
class: "remove-btn",
|
|
32
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emitRemove(__props.item))
|
|
33
|
+
}, "x")
|
|
34
|
+
])) : createCommentVNode("", true)
|
|
35
|
+
])
|
|
36
|
+
])
|
|
37
|
+
]);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const SettingsSection_vue_vue_type_style_index_0_scoped_43acf78a_lang = "";
|
|
42
|
+
const SettingsSection = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-43acf78a"]]);
|
|
43
|
+
export {
|
|
44
|
+
SettingsSection as default
|
|
45
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
.context-menu[data-v-
|
|
2
|
+
.context-menu[data-v-0177dec6] {
|
|
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-0177dec6] {
|
|
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-0177dec6]:hover {
|
|
23
23
|
background-color: #f0f0f0;
|
|
24
24
|
}
|
|
25
|
-
.table-wrapper[data-v-
|
|
25
|
+
.table-wrapper[data-v-0177dec6] {
|
|
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-0177dec6] {
|
|
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-0177dec6] {
|
|
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-0177dec6] {
|
|
46
46
|
padding: 8px 16px;
|
|
47
47
|
cursor: pointer;
|
|
48
48
|
}
|
|
49
|
-
.context-menu li[data-v-
|
|
49
|
+
.context-menu li[data-v-0177dec6]:hover {
|
|
50
50
|
background-color: #f0f0f0;
|
|
51
51
|
}
|