Fix raw textgen preset import via master

74a8499e0e05a183c44faf8b2c60cba0b7ebeaae

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +15 -4Ignore whitespace
public/scripts/preset-manager.js+15 -4
@@ -148,7 +148,7 @@ class PresetManager {
148148 isValid: (data) => PresetManager.isPossiblySystemPromptData(data),
149149 },
150150 'preset': {
151151 name: 'Text Completion SettingsPreset',
152152 getData: () => {
153153 const manager = getPresetManager('textgenerationwebui');
154154 const name = manager.getSelectedPresetName();
@@ -185,7 +185,13 @@ class PresetManager {
185185 return data && textCompletionProps.every(prop => Object.keys(data).includes(prop));
186186 }
187187
188- static async performMasterImport(data) {
188+ /**
189+ * Imports master settings from JSON data.
190+ * @param {object} data Data to import
191+ * @param {string} fileName File name
192+ * @returns {Promise<void>}
193+ */
194+ static async performMasterImport(data, fileName) {
189195 if (!data || typeof data !== 'object') {
190196 toastr.error('Invalid data provided for master import');
191197 return;
@@ -213,7 +219,7 @@ class PresetManager {
213219 // 4. Text Completion settings
214220 if (this.isPossiblyTextCompletionData(data)) {
215221 toastr.info('Importing as settings preset...', 'Text Completion settings detected');
216222 return await getPresetManager('textgenerationwebui').savePreset(data.namefileName, data);
217223 }
218224
219225 const validSections = [];
@@ -266,6 +272,10 @@ class PresetManager {
266272 toastr.success(`Imported ${importedSections.length} settings: ${importedSections.join(', ')}`);
267273 }
268274
275+ /**
276+ * Exports master settings to JSON data.
277+ * @returns {Promise<string>} JSON data
278+ */
269279 static async performMasterExport() {
270280 const sectionNames = Object.entries(this.masterSections).reduce((acc, [key, section]) => {
271281 acc[key] = section.name;
@@ -907,7 +917,8 @@ export async function initPresetManager() {
907917 }
908918
909919 const data = await parseJsonFile(file);
910- await PresetManager.performMasterImport(data);
920+ const fileName = file.name.replace('.json', '');
921+ await PresetManager.performMasterImport(data, fileName);
911922 });
912923
913924 $('#af_master_export').on('click', async () => {