refactor(core): view engine, refactor runtime data

Structure in a better way, in preparation for queries.
This commit is contained in:
Tobias Bosch
2017-01-23 10:23:44 -08:00
committed by Victor Berchet
parent 05b2b49711
commit fc8694ed11
11 changed files with 74 additions and 66 deletions

View File

@ -97,7 +97,7 @@ export function elementDef(
}
export function createElement(view: ViewData, renderHost: any, def: NodeDef): NodeData {
const parentNode = def.parent != null ? view.nodes[def.parent].renderNode : renderHost;
const parentNode = def.parent != null ? view.nodes[def.parent].elementOrText.node : renderHost;
const elDef = def.element;
let el: any;
if (view.renderer) {
@ -150,10 +150,10 @@ export function createElement(view: ViewData, renderHost: any, def: NodeDef): No
}
}
return {
renderNode: el,
elementOrText:
{node: el, embeddedViews: (def.flags & NodeFlags.HasEmbeddedViews) ? [] : undefined},
provider: undefined,
embeddedViews: (def.flags & NodeFlags.HasEmbeddedViews) ? [] : undefined,
componentView: undefined
pureExpression: undefined,
};
}
@ -213,7 +213,7 @@ function checkAndUpdateElementValue(view: ViewData, def: NodeDef, bindingIdx: nu
const binding = def.bindings[bindingIdx];
const name = binding.name;
const renderNode = view.nodes[def.index].renderNode;
const renderNode = view.nodes[def.index].elementOrText.node;
switch (binding.type) {
case BindingType.ElementAttribute:
setElementAttribute(view, binding, renderNode, name, value);