File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -323,6 +323,7 @@ function morphdomFactory(morphAttrs) {
323323 var onBeforeNodeAdded = options . onBeforeNodeAdded || noop ;
324324 var onNodeAdded = options . onNodeAdded || noop ;
325325 var onBeforeElUpdated = options . onBeforeElUpdated || noop ;
326+ var onBeforeElAttrsUpdated = options . onBeforeElAttrsUpdated || noop ;
326327 var onElUpdated = options . onElUpdated || noop ;
327328 var onBeforeNodeDiscarded = options . onBeforeNodeDiscarded || noop ;
328329 var onNodeDiscarded = options . onNodeDiscarded || noop ;
@@ -495,8 +496,11 @@ function morphdomFactory(morphAttrs) {
495496 return ;
496497 }
497498
498- // update attributes on original DOM element first
499- morphAttrs ( fromEl , toEl ) ;
499+ if ( onBeforeElAttrsUpdated ( fromEl , toEl ) !== false ) {
500+ // update attributes on original DOM element first
501+ morphAttrs ( fromEl , toEl ) ;
502+ }
503+
500504 // optional
501505 onElUpdated ( fromEl ) ;
502506
Original file line number Diff line number Diff line change @@ -261,6 +261,7 @@ function morphdomFactory(morphAttrs) {
261261 var onBeforeNodeAdded = options . onBeforeNodeAdded || noop ;
262262 var onNodeAdded = options . onNodeAdded || noop ;
263263 var onBeforeElUpdated = options . onBeforeElUpdated || noop ;
264+ var onBeforeElAttrsUpdated = options . onBeforeElAttrsUpdated || noop ;
264265 var onElUpdated = options . onElUpdated || noop ;
265266 var onBeforeNodeDiscarded = options . onBeforeNodeDiscarded || noop ;
266267 var onNodeDiscarded = options . onNodeDiscarded || noop ;
@@ -433,8 +434,11 @@ function morphdomFactory(morphAttrs) {
433434 return ;
434435 }
435436
436- // update attributes on original DOM element first
437- morphAttrs ( fromEl , toEl ) ;
437+ if ( onBeforeElAttrsUpdated ( fromEl , toEl ) !== false ) {
438+ // update attributes on original DOM element first
439+ morphAttrs ( fromEl , toEl ) ;
440+ }
441+
438442 // optional
439443 onElUpdated ( fromEl ) ;
440444
Original file line number Diff line number Diff line change 329329 var onBeforeNodeAdded = options . onBeforeNodeAdded || noop ;
330330 var onNodeAdded = options . onNodeAdded || noop ;
331331 var onBeforeElUpdated = options . onBeforeElUpdated || noop ;
332+ var onBeforeElAttrsUpdated = options . onBeforeElAttrsUpdated || noop ;
332333 var onElUpdated = options . onElUpdated || noop ;
333334 var onBeforeNodeDiscarded = options . onBeforeNodeDiscarded || noop ;
334335 var onNodeDiscarded = options . onNodeDiscarded || noop ;
501502 return ;
502503 }
503504
504- // update attributes on original DOM element first
505- morphAttrs ( fromEl , toEl ) ;
505+ if ( onBeforeElAttrsUpdated ( fromEl , toEl ) !== false ) {
506+ // update attributes on original DOM element first
507+ morphAttrs ( fromEl , toEl ) ;
508+ }
509+
506510 // optional
507511 onElUpdated ( fromEl ) ;
508512
Original file line number Diff line number Diff line change @@ -325,6 +325,7 @@ function morphdomFactory(morphAttrs) {
325325 var onBeforeNodeAdded = options . onBeforeNodeAdded || noop ;
326326 var onNodeAdded = options . onNodeAdded || noop ;
327327 var onBeforeElUpdated = options . onBeforeElUpdated || noop ;
328+ var onBeforeElAttrsUpdated = options . onBeforeElAttrsUpdated || noop ;
328329 var onElUpdated = options . onElUpdated || noop ;
329330 var onBeforeNodeDiscarded = options . onBeforeNodeDiscarded || noop ;
330331 var onNodeDiscarded = options . onNodeDiscarded || noop ;
@@ -497,8 +498,11 @@ function morphdomFactory(morphAttrs) {
497498 return ;
498499 }
499500
500- // update attributes on original DOM element first
501- morphAttrs ( fromEl , toEl ) ;
501+ if ( onBeforeElAttrsUpdated ( fromEl , toEl ) !== false ) {
502+ // update attributes on original DOM element first
503+ morphAttrs ( fromEl , toEl ) ;
504+ }
505+
502506 // optional
503507 onElUpdated ( fromEl ) ;
504508
You can’t perform that action at this time.
0 commit comments