* Remove a range of nodes with transition, store * the nodes in a fragment with correct ordering, * and call callback when done. * * @param {Node} start * @param {Node} end * @param {Vue} vm * @param {DocumentFragment} frag * @param {Function} cb
(start, end, vm, frag, cb)
| 1499 | */ |
| 1500 | |
| 1501 | function removeNodeRange(start, end, vm, frag, cb) { |
| 1502 | var done = false; |
| 1503 | var removed = 0; |
| 1504 | var nodes = []; |
| 1505 | mapNodeRange(start, end, function (node) { |
| 1506 | if (node === end) done = true; |
| 1507 | nodes.push(node); |
| 1508 | removeWithTransition(node, vm, onRemoved); |
| 1509 | }); |
| 1510 | function onRemoved() { |
| 1511 | removed++; |
| 1512 | if (done && removed >= nodes.length) { |
| 1513 | for (var i = 0; i < nodes.length; i++) { |
| 1514 | frag.appendChild(nodes[i]); |
| 1515 | } |
| 1516 | cb && cb(); |
| 1517 | } |
| 1518 | } |
| 1519 | } |
| 1520 | |
| 1521 | /** |
| 1522 | * Check if a node is a DocumentFragment. |
no test coverage detected