@ditojs/admin 2.98.0 → 2.99.1

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditojs/admin",
3
- "version": "2.98.0",
3
+ "version": "2.99.1",
4
4
  "type": "module",
5
5
  "description": "Dito.js Admin is a schema based admin interface for Dito.js Server, featuring auto-generated views and forms and built with Vue.js",
6
6
  "repository": "https://github.com/ditojs/dito/tree/main/packages/admin",
@@ -40,8 +40,8 @@
40
40
  "not ie_mob > 0"
41
41
  ],
42
42
  "dependencies": {
43
- "@ditojs/ui": "^2.98.0",
44
- "@ditojs/utils": "^2.98.0"
43
+ "@ditojs/ui": "^2.99.0",
44
+ "@ditojs/utils": "^2.99.0"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@kyvg/vue3-notification": "^3.4.2",
@@ -89,9 +89,9 @@
89
89
  "vue-upload-component": "^3.1.17"
90
90
  },
91
91
  "devDependencies": {
92
- "@ditojs/build": "^2.98.0",
92
+ "@ditojs/build": "^2.99.0",
93
93
  "typescript": "^6.0.3",
94
94
  "vite": "^8.0.10"
95
95
  },
96
- "gitHead": "70d0c1d3aa16844959e3c06d71d8253f21abad3f"
96
+ "gitHead": "537d4483092604a1bfa055c151bccca4821de19a"
97
97
  }
@@ -66,12 +66,15 @@ export default DitoComponent.component('DitoForm', {
66
66
  return {
67
67
  createdData: null,
68
68
  clonedData: undefined,
69
- sourceKey: null,
70
- isForm: true
69
+ sourceKey: null
71
70
  }
72
71
  },
73
72
 
74
73
  computed: {
74
+ isForm() {
75
+ return true
76
+ },
77
+
75
78
  verbs() {
76
79
  // Add submit / submitted to the verbs returned by ResourceMixin
77
80
  // NOTE: These get passed on to children through:
@@ -217,7 +217,13 @@ export default {
217
217
  }
218
218
  }
219
219
  } else {
220
- this.setData(response.data)
220
+ // Skip applying response data on a dirty form: `setData` would
221
+ // wholesale-replace `loadedData` and clobber any local edits the
222
+ // user made while the GET was in flight. The `'load'` event still
223
+ // fires — the GET *did* complete; we just chose not to apply it.
224
+ if (!(this.isForm && this.isDirty)) {
225
+ this.setData(response.data)
226
+ }
221
227
  this.emitSchemaEvent('load')
222
228
  }
223
229
  })
@@ -64,6 +64,10 @@ export default {
64
64
  return this.meta.nested
65
65
  },
66
66
 
67
+ isForm() {
68
+ return false
69
+ },
70
+
67
71
  isView() {
68
72
  return false
69
73
  },