Commit 4cc7e491 by Иван Кубота

namespaces and some fixes of before\after adds

parent ac2fa4a2
......@@ -394,7 +394,12 @@ NS.apply = function(a,b) {
if(!tmp || !tmp.parentNode)
return;
var isInDOM = D.isInDOM(el);
isInDOM && D._recursiveCmpCall(el, fragment, 'beforeAddToDOM');
el.insertBefore(fragment, tmp);
isInDOM && D._recursiveCmpCall(el, {childNodes: list}, 'afterAddToDOM');
};
release = subEl( hookFn );
isNotFragment && el.__un.push(release);
......@@ -535,6 +540,8 @@ NS.apply = function(a,b) {
return construct;
};
D.declare = function(name, ctor) {
name = name.replace(/[\/\\]/g,'__');
var uses;
if(typeof ctor === 'object'){
var original = ctor;
......@@ -557,8 +564,10 @@ NS.apply = function(a,b) {
var u = uses[ i ], d = u.dom;
u.dom = _construct(ctor, u.cfg, u.p);
d.dom && (d = d.dom);
if(d.parentNode){
var dParent = d.parentNode,
!Array.isArray(d) && (d = [d]);
if(d.length && d[0].parentNode){
var dParent = d[0].parentNode,
isInDOM = D.isInDOM(dParent),
newChild = u.dom;
......@@ -567,11 +576,28 @@ NS.apply = function(a,b) {
newChild.__cmp = u.dom;
}
isInDOM && D._recursiveCmpCall(dParent, d, 'beforeRemoveFromDOM');
isInDOM && D._recursiveCmpCall(dParent, newChild, 'beforeAddToDOM');
d.parentNode.replaceChild( newChild, d )
isInDOM && D._recursiveCmpCall(dParent, d, 'afterRemoveFromDOM');
isInDOM && D._recursiveCmpCall(dParent, newChild, 'afterAddToDOM');
for(var j = 0, _j = d.length - 1; j < _j; j++){
isInDOM && D._recursiveCmpCall(dParent, d[j], 'beforeRemoveFromDOM');
dParent.removeChild( d[j] )
}
var lastEl = d[j];
isInDOM && D._recursiveCmpCall(dParent, lastEl, 'beforeRemoveFromDOM');
var fragment = document.createDocumentFragment();
for(var j = 0, _j = newChild.length; j < _j; j++){
isInDOM && D._recursiveCmpCall(dParent, newChild[j], 'beforeAddToDOM');
fragment.appendChild(newChild[j])
}
dParent.replaceChild( fragment, lastEl )
if(isInDOM){
for( var j = 0, _j = d.length; j < _j; j++ ){
D._recursiveCmpCall( dParent, d[ j ], 'afterRemoveFromDOM' );
}
for( var j = 0, _j = newChild.length; j < _j; j++ ){
D._recursiveCmpCall( dParent, newChild[ j ], 'afterAddToDOM' );
}
}
}
}
}else{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment