mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
3ebe985c3c
If a node was re-added while being removed (i.e. during the remove transition), the node was duplicated in the DOM for the delay of the remove transition. This rev. removes the old occurence directly in that case. Fixes #121
128 lines
4.5 KiB
Plaintext
128 lines
4.5 KiB
Plaintext
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
|
|
exports[`animations t-transition combined with t-widget 1`] = `
|
|
"function anonymous(context,extra
|
|
) {
|
|
let utils = this.utils;
|
|
let QWeb = this.constructor;
|
|
let owner = context;
|
|
var h = this.utils.h;
|
|
let c1 = [], p1 = {key:1};
|
|
var vn1 = h('div', p1, c1);
|
|
//WIDGET
|
|
let _2_index = c1.length;
|
|
c1.push(null);
|
|
let def3;
|
|
let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false;
|
|
let props4 = {};
|
|
if (w4 && w4.__owl__.renderPromise && !w4.__owl__.vnode) {
|
|
if (utils.shallowEqual(props4, w4.__owl__.renderProps)) {
|
|
def3 = w4.__owl__.renderPromise;
|
|
} else {
|
|
w4.destroy();
|
|
w4 = false;
|
|
}
|
|
}
|
|
if (!w4) {
|
|
let widgetKey4 = \`Child\`;
|
|
let W4 = context.widgets && context.widgets[widgetKey4] || QWeb.widgets[widgetKey4];
|
|
if (!W4) {throw new Error('Cannot find the definition of widget \\"' + widgetKey4 + '\\"')}
|
|
w4 = new W4(owner, props4);
|
|
context.__owl__.cmap[4] = w4.__owl__.id;
|
|
def3 = w4._prepare();
|
|
def3 = def3.then(vnode=>{let pvnode=h(vnode.sel, {key: 4, hook: {insert(vn) {let nvn=w4._mount(vnode, pvnode.elm);pvnode.elm=nvn.elm;utils.transitionInsert(vn, 'chimay');},remove() {},destroy(vn) {let finalize = () => {
|
|
w4.destroy();
|
|
};
|
|
utils.transitionRemove(vn, 'chimay', finalize);}}});c1[_2_index]=pvnode;w4.__owl__.pvnode = pvnode;});
|
|
} else {
|
|
def3 = def3 || w4._updateProps(props4, extra.forceUpdate, extra.patchQueue);
|
|
def3 = def3.then(()=>{if (w4.__owl__.isDestroyed) {return};let pvnode=w4.__owl__.pvnode;c1[_2_index]=pvnode;});
|
|
}
|
|
extra.promises.push(def3);
|
|
return vn1;
|
|
}"
|
|
`;
|
|
|
|
exports[`animations t-transition combined with t-widget and t-if 1`] = `
|
|
"function anonymous(context,extra
|
|
) {
|
|
let utils = this.utils;
|
|
let QWeb = this.constructor;
|
|
let owner = context;
|
|
var h = this.utils.h;
|
|
let c1 = [], p1 = {key:1};
|
|
var vn1 = h('div', p1, c1);
|
|
if (context['state'].display) {
|
|
//WIDGET
|
|
let _2_index = c1.length;
|
|
c1.push(null);
|
|
let def3;
|
|
let w4 = 4 in context.__owl__.cmap ? context.__owl__.children[context.__owl__.cmap[4]] : false;
|
|
let props4 = {};
|
|
if (w4 && w4.__owl__.renderPromise && !w4.__owl__.vnode) {
|
|
if (utils.shallowEqual(props4, w4.__owl__.renderProps)) {
|
|
def3 = w4.__owl__.renderPromise;
|
|
} else {
|
|
w4.destroy();
|
|
w4 = false;
|
|
}
|
|
}
|
|
if (!w4) {
|
|
let widgetKey4 = \`Child\`;
|
|
let W4 = context.widgets && context.widgets[widgetKey4] || QWeb.widgets[widgetKey4];
|
|
if (!W4) {throw new Error('Cannot find the definition of widget \\"' + widgetKey4 + '\\"')}
|
|
w4 = new W4(owner, props4);
|
|
context.__owl__.cmap[4] = w4.__owl__.id;
|
|
def3 = w4._prepare();
|
|
def3 = def3.then(vnode=>{let pvnode=h(vnode.sel, {key: 4, hook: {insert(vn) {let nvn=w4._mount(vnode, pvnode.elm);pvnode.elm=nvn.elm;utils.transitionInsert(vn, 'chimay');},remove() {},destroy(vn) {let finalize = () => {
|
|
w4.destroy();
|
|
};
|
|
utils.transitionRemove(vn, 'chimay', finalize);}}});c1[_2_index]=pvnode;w4.__owl__.pvnode = pvnode;});
|
|
} else {
|
|
def3 = def3 || w4._updateProps(props4, extra.forceUpdate, extra.patchQueue);
|
|
def3 = def3.then(()=>{if (w4.__owl__.isDestroyed) {return};let pvnode=w4.__owl__.pvnode;c1[_2_index]=pvnode;});
|
|
}
|
|
extra.promises.push(def3);
|
|
}
|
|
return vn1;
|
|
}"
|
|
`;
|
|
|
|
exports[`animations t-transition with no delay/duration 1`] = `
|
|
"function anonymous(context,extra
|
|
) {
|
|
var h = this.utils.h;
|
|
let c1 = [], p1 = {key:1};
|
|
var vn1 = h('span', p1, c1);
|
|
p1.hook = {
|
|
insert: vn => {
|
|
this.utils.transitionInsert(vn, 'jupiler');
|
|
},
|
|
remove: (vn, rm) => {
|
|
this.utils.transitionRemove(vn, 'jupiler', rm);
|
|
},
|
|
};
|
|
c1.push({text: \`blue\`});
|
|
return vn1;
|
|
}"
|
|
`;
|
|
|
|
exports[`animations t-transition, on a simple node (insert) 1`] = `
|
|
"function anonymous(context,extra
|
|
) {
|
|
var h = this.utils.h;
|
|
let c1 = [], p1 = {key:1};
|
|
var vn1 = h('span', p1, c1);
|
|
p1.hook = {
|
|
insert: vn => {
|
|
this.utils.transitionInsert(vn, 'chimay');
|
|
},
|
|
remove: (vn, rm) => {
|
|
this.utils.transitionRemove(vn, 'chimay', rm);
|
|
},
|
|
};
|
|
c1.push({text: \`blue\`});
|
|
return vn1;
|
|
}"
|
|
`;
|