From 0bc78269e6710f0e01cdc2c4075cf675d19b65f2 Mon Sep 17 00:00:00 2001 From: Selina Breitenbach Date: Thu, 6 Jun 2024 16:44:56 +0200 Subject: [PATCH] refactor: reduce complexity --- .../optimization-import.js | 32 +++++++------------ 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/src/fragments/forms/map-form/components/optimization/components/optimization-import/optimization-import.js b/src/fragments/forms/map-form/components/optimization/components/optimization-import/optimization-import.js index ebaaa2ce2..b9862b131 100644 --- a/src/fragments/forms/map-form/components/optimization/components/optimization-import/optimization-import.js +++ b/src/fragments/forms/map-form/components/optimization/components/optimization-import/optimization-import.js @@ -116,11 +116,6 @@ export default { this.$emit('failedToImportFile') } }, - /** - * Parse csv file - * @param fileContent - * @returns {{newJobs: *[], newVehicles: *[]}} - */ parseCsvFile(fileContent) { let newJobs = [] let newVehicles = [] @@ -171,21 +166,9 @@ export default { let newSkills = [] if (this.expectedData === 'jobs') { - for (const j of parsedJson) { - try { - newJobs.push(Job.fromObject(j)) - } catch { - this.showError(this.$t('optimizationImport.notValid') + this.$t('optimization.jobs'),) - } - } + newJobs = this.parseJsonObjects(parsedJson, newJobs, Job, 'jobs') } else if (this.expectedData === 'vehicles') { - for (const v of parsedJson) { - try { - newVehicles.push(Vehicle.fromObject(v)) - } catch { - this.showError(this.$t('optimizationImport.notValid') + this.$t('optimization.vehicles'),) - } - } + newVehicles = this.parseJsonObjects(parsedJson, newVehicles, Vehicle, 'vehicles') } else if (this.expectedData === 'skills') { for (const s of parsedJson) { try { @@ -197,7 +180,16 @@ export default { } return {newJobs, newVehicles, newSkills} }, - + parseJsonObjects(parsedJson, newObjects, ObjectClass, item) { + for (const j of parsedJson) { + try { + newObjects.push(ObjectClass.fromObject(j)) + } catch { + this.showError(this.$t('optimizationImport.notValid') + this.$t(`optimization.${item}`),) + } + } + return newObjects + }, // save jobs from pasted JSON and return error if not a valid JSON savePastedJson() { try {