mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 12:17:45 +02:00
Merge pull request #15354 from dback2/undoEditOrderFix
Case 20960: Fix Create's undo edit order
This commit is contained in:
commit
d1f451ddcc
1 changed files with 24 additions and 22 deletions
|
@ -2129,9 +2129,32 @@ var DELETED_ENTITY_MAP = {};
|
||||||
|
|
||||||
function applyEntityProperties(data) {
|
function applyEntityProperties(data) {
|
||||||
var editEntities = data.editEntities;
|
var editEntities = data.editEntities;
|
||||||
|
var createEntities = data.createEntities;
|
||||||
|
var deleteEntities = data.deleteEntities;
|
||||||
var selectedEntityIDs = [];
|
var selectedEntityIDs = [];
|
||||||
var selectEdits = data.createEntities.length === 0 || !data.selectCreated;
|
var selectEdits = createEntities.length === 0 || !data.selectCreated;
|
||||||
var i, entityID, entityProperties;
|
var i, entityID, entityProperties;
|
||||||
|
for (i = 0; i < createEntities.length; i++) {
|
||||||
|
entityID = createEntities[i].entityID;
|
||||||
|
entityProperties = createEntities[i].properties;
|
||||||
|
var newEntityID = Entities.addEntity(entityProperties);
|
||||||
|
recursiveAdd(newEntityID, createEntities[i]);
|
||||||
|
DELETED_ENTITY_MAP[entityID] = newEntityID;
|
||||||
|
if (data.selectCreated) {
|
||||||
|
selectedEntityIDs.push(newEntityID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (i = 0; i < deleteEntities.length; i++) {
|
||||||
|
entityID = deleteEntities[i].entityID;
|
||||||
|
if (DELETED_ENTITY_MAP[entityID] !== undefined) {
|
||||||
|
entityID = DELETED_ENTITY_MAP[entityID];
|
||||||
|
}
|
||||||
|
Entities.deleteEntity(entityID);
|
||||||
|
var index = selectedEntityIDs.indexOf(entityID);
|
||||||
|
if (index >= 0) {
|
||||||
|
selectedEntityIDs.splice(index, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
for (i = 0; i < editEntities.length; i++) {
|
for (i = 0; i < editEntities.length; i++) {
|
||||||
entityID = editEntities[i].entityID;
|
entityID = editEntities[i].entityID;
|
||||||
if (DELETED_ENTITY_MAP[entityID] !== undefined) {
|
if (DELETED_ENTITY_MAP[entityID] !== undefined) {
|
||||||
|
@ -2145,27 +2168,6 @@ function applyEntityProperties(data) {
|
||||||
selectedEntityIDs.push(entityID);
|
selectedEntityIDs.push(entityID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (i = 0; i < data.createEntities.length; i++) {
|
|
||||||
entityID = data.createEntities[i].entityID;
|
|
||||||
entityProperties = data.createEntities[i].properties;
|
|
||||||
var newEntityID = Entities.addEntity(entityProperties);
|
|
||||||
recursiveAdd(newEntityID, data.createEntities[i]);
|
|
||||||
DELETED_ENTITY_MAP[entityID] = newEntityID;
|
|
||||||
if (data.selectCreated) {
|
|
||||||
selectedEntityIDs.push(newEntityID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (i = 0; i < data.deleteEntities.length; i++) {
|
|
||||||
entityID = data.deleteEntities[i].entityID;
|
|
||||||
if (DELETED_ENTITY_MAP[entityID] !== undefined) {
|
|
||||||
entityID = DELETED_ENTITY_MAP[entityID];
|
|
||||||
}
|
|
||||||
Entities.deleteEntity(entityID);
|
|
||||||
var index = selectedEntityIDs.indexOf(entityID);
|
|
||||||
if (index >= 0) {
|
|
||||||
selectedEntityIDs.splice(index, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// We might be getting an undo while edit.js is disabled. If that is the case, don't set
|
// We might be getting an undo while edit.js is disabled. If that is the case, don't set
|
||||||
// our selections, causing the edit widgets to display.
|
// our selections, causing the edit widgets to display.
|
||||||
|
|
Loading…
Reference in a new issue