mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-24 06:35:39 +00:00
Show failed additions and removals in visualizer (#844)
This commit is contained in:
@@ -426,22 +426,66 @@ function PatchTree.updateMetadata(tree, patch, instanceMap, unappliedPatch)
|
|||||||
-- Update isWarning metadata
|
-- Update isWarning metadata
|
||||||
for _, failedChange in unappliedPatch.updated do
|
for _, failedChange in unappliedPatch.updated do
|
||||||
local node = tree:getNode(failedChange.id)
|
local node = tree:getNode(failedChange.id)
|
||||||
if node then
|
if not node then
|
||||||
node.isWarning = true
|
continue
|
||||||
Log.trace("Marked node as warning: {} {}", node.id, node.name)
|
|
||||||
|
|
||||||
if node.changeList then
|
|
||||||
for _, change in node.changeList do
|
|
||||||
if failedChange.changedProperties[change[1]] then
|
|
||||||
Log.trace(" Marked property as warning: {}", change[1])
|
|
||||||
if change[4] == nil then
|
|
||||||
change[4] = {}
|
|
||||||
end
|
|
||||||
change[4].isWarning = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
node.isWarning = true
|
||||||
|
Log.trace("Marked node as warning: {} {}", node.id, node.name)
|
||||||
|
|
||||||
|
if not node.changeList then
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
for _, change in node.changeList do
|
||||||
|
if not failedChange.changedProperties[change[1]] then
|
||||||
|
-- This change didn't fail
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if change[4] == nil then
|
||||||
|
change[4] = { isWarning = true }
|
||||||
|
else
|
||||||
|
change[4].isWarning = true
|
||||||
|
end
|
||||||
|
Log.trace(" Marked property as warning: {}.{}", node.name, change[1])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for failedAdditionId in unappliedPatch.added do
|
||||||
|
local node = tree:getNode(failedAdditionId)
|
||||||
|
if not node then
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
|
||||||
|
node.isWarning = true
|
||||||
|
Log.trace("Marked node as warning: {} {}", node.id, node.name)
|
||||||
|
|
||||||
|
if not node.changeList then
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
for _, change in node.changeList do
|
||||||
|
-- Failed addition means that all properties failed to be added
|
||||||
|
if change[4] == nil then
|
||||||
|
change[4] = { isWarning = true }
|
||||||
|
else
|
||||||
|
change[4].isWarning = true
|
||||||
|
end
|
||||||
|
Log.trace(" Marked property as warning: {}.{}", node.name, change[1])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for _, failedRemovalIdOrInstance in unappliedPatch.removed do
|
||||||
|
local failedRemovalId = if Types.RbxId(failedRemovalIdOrInstance)
|
||||||
|
then failedRemovalIdOrInstance
|
||||||
|
else instanceMap.fromInstances[failedRemovalIdOrInstance]
|
||||||
|
if not failedRemovalId then
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
|
||||||
|
local node = tree:getNode(failedRemovalId)
|
||||||
|
if not node then
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
|
||||||
|
node.isWarning = true
|
||||||
|
Log.trace("Marked node as warning: {} {}", node.id, node.name)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Update if instances exist
|
-- Update if instances exist
|
||||||
|
|||||||
Reference in New Issue
Block a user