@@ -127,7 +127,8 @@ function shallowCopy(origin) {
127
127
nodeData : origin . nodeData ,
128
128
render : origin . render ,
129
129
arg : origin . arg ,
130
- rendered : undefined
130
+ rendered : undefined ,
131
+ messageMapper : origin . messageMapper
131
132
} ;
132
133
case managedNode :
133
134
return {
@@ -162,6 +163,9 @@ F.prototype.createAllNodes = function (parent, html, referenceNode) {
162
163
if ( html . children !== undefined )
163
164
this . createChildrenNodes ( node , html . children ) ;
164
165
else if ( html . rendered !== undefined ) {
166
+ if ( html . messageMapper !== undefined )
167
+ html . rendered . messageMapper = html . messageMapper ;
168
+
165
169
if ( html . rendered . text !== undefined ) {
166
170
node . textContent = html . rendered . text ;
167
171
}
@@ -196,8 +200,18 @@ F.prototype.createChildrenNodes = function (parent, children) {
196
200
else {
197
201
if ( c . children !== undefined )
198
202
this . createChildrenNodes ( node , c . children ) ;
199
- if ( c . rendered !== undefined && c . rendered . children !== undefined )
200
- this . createChildrenNodes ( node , c . rendered . 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
+ }
211
+
212
+ if ( c . rendered . children !== undefined )
213
+ this . createChildrenNodes ( node , c . rendered . children ) ;
214
+ }
201
215
}
202
216
203
217
parent . appendChild ( node ) ;
@@ -367,7 +381,6 @@ F.prototype.runHandlers = function (handlers, messageMapper, event) {
367
381
maybeMessage = typeof h === "function" ? h ( event ) ( ) : this . eventWrapper ( h ) ;
368
382
369
383
//handler can be just a message or a function that takes an event
370
- // a
371
384
this . updater ( messageMapper === undefined ? maybeMessage : messageMapper ( maybeMessage ) ) ( ) ;
372
385
}
373
386
event . stopPropagation ( ) ;
@@ -970,6 +983,7 @@ F.prototype.removeEvent = function (node, name) {
970
983
this . applicationEvents . delete ( name ) ;
971
984
}
972
985
}
973
-
986
+ //functor mapping
987
+ node [ eventKey + eventPostfix ] = undefined ;
974
988
node [ eventKey ] = undefined ;
975
989
} ;
0 commit comments