Skip to content

Commit eda7a8a

Browse files
committed
#6810 vdom.util.DomApiVnodeCreator: used inside vdom.Helper: insert()
1 parent 8ac52f5 commit eda7a8a

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

src/vdom/Helper.mjs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import NeoArray from '../util/Array.mjs';
33
import Style from '../util/Style.mjs';
44
import {rawDimensionTags} from './domConstants.mjs';
55
import VNode from './VNode.mjs';
6-
import DomApiVnodeCreator from "src/vdom/util/DomApiVnodeCreator.mjs";
76

87
const NeoConfig = Neo.config;
98

@@ -77,6 +76,7 @@ class Helper extends Base {
7776
* @param {Neo.vdom.VNode} config.vnode
7877
* @param {Map} config.vnodeMap
7978
* @returns {Object} deltas
79+
* @protected
8080
*/
8181
compareAttributes(config) {
8282
let {deltas, oldVnode, vnode, vnodeMap} = config,
@@ -184,6 +184,7 @@ class Helper extends Base {
184184
* @param {Neo.vdom.VNode|Object} config.vnode
185185
* @param {Map} [config.vnodeMap]
186186
* @returns {Object} deltas
187+
* @protected
187188
*/
188189
createDeltas(config) {
189190
let {deltas={default: [], remove: []}, oldVnode, vnode} = config,
@@ -278,6 +279,7 @@ class Helper extends Base {
278279
/**
279280
* @param {Object} opts
280281
* @returns {Object|Neo.vdom.VNode|null}
282+
* @protected
281283
*/
282284
createVnode(opts) {
283285
// do not create vnode instances for component reference objects
@@ -414,6 +416,7 @@ class Helper extends Base {
414416
* {Number} index
415417
* {String} parentId
416418
* {Neo.vdom.VNode} vnode
419+
* @protected
417420
*/
418421
createVnodeMap(config) {
419422
let {vnode, parentNode=null, index=0, map=new Map()} = config,
@@ -441,6 +444,7 @@ class Helper extends Base {
441444
* @param {Neo.vdom.VNode} config.vnode
442445
* @param {Map} config.vnodeMap
443446
* @returns {Map}
447+
* @protected
444448
*/
445449
findMovedNodes(config) {
446450
let {movedNodes=new Map(), oldVnodeMap, vnode, vnodeMap} = config,
@@ -464,6 +468,7 @@ class Helper extends Base {
464468
/**
465469
* Only import for the DOM API based mount adapter.
466470
* @returns {Promise<void>}
471+
* @protected
467472
*/
468473
async importDomApiVnodeCreator() {
469474
if (!NeoConfig.useStringBasedMounting && !Neo.vdom.util?.DomApiVnodeCreator) {
@@ -474,6 +479,7 @@ class Helper extends Base {
474479
/**
475480
* Only import for the string based mount adapter.
476481
* @returns {Promise<void>}
482+
* @protected
477483
*/
478484
async importStringFromVnode() {
479485
if (NeoConfig.useStringBasedMounting && !Neo.vdom.util?.StringFromVnode) {
@@ -488,6 +494,7 @@ class Helper extends Base {
488494
* @param {Map} config.oldVnodeMap
489495
* @param {Neo.vdom.VNode} config.vnode
490496
* @param {Map} config.vnodeMap
497+
* @protected
491498
*/
492499
insertNode({deltas, index, oldVnodeMap, vnode, vnodeMap}) {
493500
let details = vnodeMap.get(vnode.id),
@@ -517,9 +524,11 @@ class Helper extends Base {
517524
Object.assign(delta, {hasLeadingTextChildren, index: physicalIndex});
518525

519526
if (NeoConfig.useStringBasedMounting) {
527+
// For string-based mounting, pass a string excluding moved nodes
520528
delta.outerHTML = Neo.vdom.util.StringFromVnode.create(vnode, movedNodes)
521529
} else {
522-
delta.vnode = vnode
530+
// For direct DOM API mounting, pass the pruned VNode tree
531+
delta.vnode = Neo.vdom.util.DomApiVnodeCreator.create(vnode, movedNodes)
523532
}
524533

525534
deltas.default.push(delta);
@@ -542,6 +551,7 @@ class Helper extends Base {
542551
* @param {Neo.vdom.VNode} vnode
543552
* @param {Map} oldVnodeMap
544553
* @returns {Boolean}
554+
* @protected
545555
*/
546556
isMovedNode(vnode, oldVnodeMap) {
547557
let oldVnode = oldVnodeMap.get(vnode.id);
@@ -559,6 +569,7 @@ class Helper extends Base {
559569
* @param {Map} config.oldVnodeMap
560570
* @param {Neo.vdom.VNode} config.vnode
561571
* @param {Map} config.vnodeMap
572+
* @protected
562573
*/
563574
moveNode({deltas, insertDelta, oldVnodeMap, vnode, vnodeMap}) {
564575
let details = vnodeMap.get(vnode.id),
@@ -620,6 +631,7 @@ class Helper extends Base {
620631
* @param {Object} config.deltas
621632
* @param {Neo.vdom.VNode} config.oldVnode
622633
* @param {Map} config.oldVnodeMap
634+
* @protected
623635
*/
624636
removeNode({deltas, oldVnode, oldVnodeMap}) {
625637
if (oldVnode.componentId && !oldVnode.id) {

0 commit comments

Comments
 (0)