Skip to content

Commit 37d01b6

Browse files
committed
remove__isTemp: also remove from clone if it exists
1 parent b8bb433 commit 37d01b6

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/service-module/service-module.mutations.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export default function makeServiceMutations() {
2121
function addItems(state, items) {
2222
const { serverAlias, idField, tempIdField, modelName } = state
2323
const Model = _get(models, `[${serverAlias}][${modelName}]`)
24-
const BaseModel = _get(models, `[${state.serverAlias}].BaseModel`)
24+
const BaseModel = _get(models, `[${serverAlias}].BaseModel`)
2525

2626
for (let item of items) {
2727
const id = getId(item, idField)
@@ -159,8 +159,18 @@ export default function makeServiceMutations() {
159159
}
160160
},
161161

162-
remove__isTemp(state, temp) {
162+
remove__isTemp({ modelName, serverAlias, tempIdField }, temp) {
163163
Vue.delete(temp, '__isTemp')
164+
165+
// Remove from temp's clone as well if it exists
166+
const tempId = temp[tempIdField]
167+
if (tempId) {
168+
const Model = _get(models, `[${serverAlias}][${modelName}]`)
169+
const tempClone = Model && Model.copiesById && Model.copiesById[tempId]
170+
if (tempClone) {
171+
Vue.delete(tempClone, '__isTemp')
172+
}
173+
}
164174
},
165175

166176
removeItem(state, item) {

0 commit comments

Comments
 (0)