@@ -164,7 +164,7 @@ F.prototype.createAllNodes = function (parent, html, referenceNode) {
164164 this . createChildrenNodes ( node , html . children ) ;
165165 else if ( html . rendered !== undefined ) {
166166 if ( html . messageMapper !== undefined )
167- html . rendered . messageMapper = html . messageMapper ;
167+ lazyMessageMap ( html . messageMapper , html . rendered ) ;
168168
169169 if ( html . rendered . text !== undefined ) {
170170 node . textContent = html . rendered . text ;
@@ -200,14 +200,9 @@ F.prototype.createChildrenNodes = function (parent, children) {
200200 else {
201201 if ( c . children !== undefined )
202202 this . createChildrenNodes ( node , c . children ) ;
203- if ( c . rendered !== undefined ) {
204- if ( c . messageMapper !== undefined ) {
205- c . rendered . messageMapper = c . messageMapper ;
206-
207- if ( c . rendered . children !== undefined )
208- for ( let i = 0 ; i < c . rendered . children . length ; ++ i )
209- c . rendered . children [ i ] . messageMapper = c . rendered . messageMapper ;
210- }
203+ else if ( c . rendered !== undefined ) {
204+ if ( c . messageMapper !== undefined )
205+ lazyMessageMap ( c . messageMapper , c . rendered ) ;
211206
212207 if ( c . rendered . children !== undefined )
213208 this . createChildrenNodes ( node , c . rendered . children ) ;
@@ -409,6 +404,9 @@ F.prototype.updateAllNodes = function (parent, currentHtml, updatedHtml) {
409404 if ( updatedHtml . arg !== currentHtml . arg ) {
410405 updatedHtml . rendered = updatedHtml . render ( updatedHtml . arg ) ;
411406
407+ if ( updatedHtml . messageMapper !== undefined )
408+ lazyMessageMap ( updatedHtml . messageMapper , updatedHtml . rendered ) ;
409+
412410 this . updateAllNodes ( parent , currentHtml . rendered , updatedHtml . rendered ) ;
413411 }
414412 else
@@ -987,3 +985,11 @@ F.prototype.removeEvent = function (node, name) {
987985 node [ eventKey + eventPostfix ] = undefined ;
988986 node [ eventKey ] = undefined ;
989987} ;
988+
989+ function lazyMessageMap ( mapper , html ) {
990+ html . messageMapper = mapper ;
991+
992+ if ( html . children !== undefined && html . children . length > 0 )
993+ for ( let i = 0 ; i < html . children . length ; ++ i )
994+ lazyMessageMap ( mapper , html . children [ i ] ) ;
995+ }
0 commit comments