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