|
337 | 337 |
|
338 | 338 | var params = self.$store.getters["countlySDK/sdk/all"]; |
339 | 339 | var data = params || {}; |
| 340 | + |
340 | 341 | for (var key in self.configs) { |
341 | | - self.configs[key].value = self.configs[key].default; |
342 | | - data[key] = self.configs[key].value; |
| 342 | + var current = self.configs[key].value; |
| 343 | + var def = self.configs[key].default; |
| 344 | + |
| 345 | + // Reset only if not already default |
| 346 | + if (current !== def) { |
| 347 | + self.configs[key].value = def; |
| 348 | + |
| 349 | + if (self.diff.indexOf(key) === -1) { |
| 350 | + self.diff.push(key); |
| 351 | + } |
| 352 | + |
| 353 | + // Clean up diff if value matches SDK or default |
| 354 | + if (typeof data[key] !== "undefined") { |
| 355 | + if (data[key] === def) { |
| 356 | + self.diff.splice( |
| 357 | + self.diff.indexOf(key), |
| 358 | + 1 |
| 359 | + ); |
| 360 | + } |
| 361 | + } |
| 362 | + else if (def === self.configs[key].default) { |
| 363 | + self.diff.splice(self.diff.indexOf(key), 1); |
| 364 | + } |
| 365 | + } |
343 | 366 | } |
344 | | - self.$store.dispatch("countlySDK/sdk/update", data).then(function() { |
345 | | - self.$store.dispatch("countlySDK/initialize"); |
346 | | - }); |
347 | | - }, ["No, don't reset", "Yes, reset"], {title: helper_title}); |
| 367 | + if (self.diff.length !== 0) { |
| 368 | + self.save(); |
| 369 | + } |
| 370 | + }, |
| 371 | + ["No, don't reset", "Yes, reset"], |
| 372 | + { title: helper_title } |
| 373 | + ); |
348 | 374 | }, |
349 | 375 | save: function() { |
350 | 376 | var params = this.$store.getters["countlySDK/sdk/all"]; |
|
0 commit comments