| 1158 | "addnewcolumn", |
| 1159 | ]); |
| 1160 | const prepareNodeConfig = (node: SerializedNodeGraph["nodes"][number]): unknown => { |
| 1161 | switch (node.type) { |
| 1162 | case "packfilesdropdown": |
| 1163 | return { selectedPack: node.data.selectedPack || "" }; |
| 1164 | case "tableselectiondropdown": |
| 1165 | return { selectedTable: node.data.selectedTable || "" }; |
| 1166 | case "columnselectiondropdown": |
| 1167 | return { |
| 1168 | selectedColumn: node.data.selectedColumn || "", |
| 1169 | DBNameToDBVersions: (node.data as any).DBNameToDBVersions || {}, |
| 1170 | }; |
| 1171 | case "groupbycolumns": |
| 1172 | return { |
| 1173 | column1: node.data.selectedColumn1 || "", |
| 1174 | column2: node.data.selectedColumn2 || "", |
| 1175 | onlyForMultiple: node.data.onlyForMultiple || false, |
| 1176 | }; |
| 1177 | case "filter": |
| 1178 | return { filters: (node.data as any).filters || [] }; |
| 1179 | case "multifilter": |
| 1180 | return { |
| 1181 | selectedColumn: (node.data as any).selectedColumn || "", |
| 1182 | splitValues: (node.data as any).splitValues || [], |
| 1183 | }; |
| 1184 | case "referencelookup": |
| 1185 | return { |
| 1186 | selectedReferenceTable: (node.data as any).selectedReferenceTable || "", |
| 1187 | includeBaseGame: (node.data as any).includeBaseGame !== false, |
| 1188 | }; |
| 1189 | case "reversereferencelookup": |
| 1190 | return { |
| 1191 | selectedReverseTable: (node.data as any).selectedReverseTable || "", |
| 1192 | includeBaseGame: (node.data as any).includeBaseGame !== false, |
| 1193 | }; |
| 1194 | case "groupedcolumnstotext": |
| 1195 | return { |
| 1196 | pattern: (node.data as any).pattern || "{0}: {1}", |
| 1197 | joinSeparator: (node.data as any).joinSeparator || "\\n", |
| 1198 | }; |
| 1199 | case "savechanges": |
| 1200 | return { |
| 1201 | packName: (node.data as any).packName || "", |
| 1202 | packedFileName: (node.data as any).packedFileName || "", |
| 1203 | additionalConfig: node.data.textValue || "", |
| 1204 | flowExecutionId: (node.data as any).flowExecutionId || "", |
| 1205 | }; |
| 1206 | case "textsurround": |
| 1207 | return { |
| 1208 | surroundText: node.data.textValue || "", |
| 1209 | groupedTextSelection: (node.data as any).groupedTextSelection || "Text", |
| 1210 | }; |
| 1211 | case "appendtext": |
| 1212 | return { |
| 1213 | beforeText: (node.data as any).beforeText || "", |
| 1214 | afterText: (node.data as any).afterText || "", |
| 1215 | groupedTextSelection: (node.data as any).groupedTextSelection || "Text", |
| 1216 | }; |
| 1217 | case "allenabledmods": |