added support for a --define:karaxDebug switch
This commit is contained in:
parent
e94071b077
commit
bb846644b5
1 changed files with 14 additions and 0 deletions
|
|
@ -463,24 +463,38 @@ proc applyComponents(kxi: KaraxInstance) =
|
||||||
while i < kxi.components.len:
|
while i < kxi.components.len:
|
||||||
let x = kxi.components[i].oldNode
|
let x = kxi.components[i].oldNode
|
||||||
let newNode = kxi.components[i].newNode
|
let newNode = kxi.components[i].newNode
|
||||||
|
when defined(karaxDebug):
|
||||||
|
echo "Processing component ", newNode.text, " changed impl set ", x.changedImpl != nil
|
||||||
if x.changedImpl != nil and x.changedImpl(x, newNode):
|
if x.changedImpl != nil and x.changedImpl(x, newNode):
|
||||||
|
when defined(karaxDebug):
|
||||||
|
echo "Component ", newNode.text, " did change"
|
||||||
let current = kxi.components[i].current
|
let current = kxi.components[i].current
|
||||||
let parent = kxi.components[i].parent
|
let parent = kxi.components[i].parent
|
||||||
x.updatedImpl(x, newNode)
|
x.updatedImpl(x, newNode)
|
||||||
let oldExpanded = x.expanded
|
let oldExpanded = x.expanded
|
||||||
x.expanded = x.renderImpl(x)
|
x.expanded = x.renderImpl(x)
|
||||||
|
when defined(karaxDebug):
|
||||||
|
echo "Component ", newNode.text, " re-rendered"
|
||||||
x.renderedVersion = x.version
|
x.renderedVersion = x.version
|
||||||
if oldExpanded == nil:
|
if oldExpanded == nil:
|
||||||
detach(x)
|
detach(x)
|
||||||
kxi.addPatch(pkReplace, parent, current, x.expanded)
|
kxi.addPatch(pkReplace, parent, current, x.expanded)
|
||||||
|
when defined(karaxDebug):
|
||||||
|
echo "Component ", newNode.text, ": old expansion didn't exist"
|
||||||
else:
|
else:
|
||||||
let res = diff(x.expanded, oldExpanded, parent, current, kxi)
|
let res = diff(x.expanded, oldExpanded, parent, current, kxi)
|
||||||
if res == usenewNode:
|
if res == usenewNode:
|
||||||
|
when defined(karaxDebug):
|
||||||
|
echo "Component ", newNode.text, ": re-render triggered a DOM change (case A)"
|
||||||
discard "diff created a patchset for us, so this is fine"
|
discard "diff created a patchset for us, so this is fine"
|
||||||
elif res != different:
|
elif res != different:
|
||||||
|
when defined(karaxDebug):
|
||||||
|
echo "Component ", newNode.text, ": re-render triggered no DOM change whatsoever"
|
||||||
x.expanded = oldExpanded
|
x.expanded = oldExpanded
|
||||||
assert oldExpanded.dom != nil, "old expanded.dom is nil"
|
assert oldExpanded.dom != nil, "old expanded.dom is nil"
|
||||||
else:
|
else:
|
||||||
|
when defined(karaxDebug):
|
||||||
|
echo "Component ", newNode.text, ": re-render triggered a DOM change (case B)"
|
||||||
assert x.expanded.dom != nil, "expanded.dom is nil"
|
assert x.expanded.dom != nil, "expanded.dom is nil"
|
||||||
inc i
|
inc i
|
||||||
setLen(kxi.components, 0)
|
setLen(kxi.components, 0)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue