@@ -333,18 +333,22 @@ function MdToastProvider($$interimElementProvider) {
333
333
// Root element of template will be <md-toast>. We need to wrap all of its content inside of
334
334
// of <div class="md-toast-content">. All templates provided here should be static, developer-controlled
335
335
// content (meaning we're not attempting to guard against XSS).
336
- var parsedTemplate = angular . element ( template ) ;
337
- var wrappedContent = '<div class="md-toast-content">' + parsedTemplate . html ( ) + '</div>' ;
336
+ var templateRoot = document . createElement ( 'md-template' ) ;
337
+ templateRoot . innerHTML = template ;
338
+
339
+ for ( var i = 0 ; i < templateRoot . children . length ; i ++ ) {
340
+ if ( templateRoot . children [ i ] . nodeName === 'MD-TOAST' ) {
341
+ var wrapper = angular . element ( '<div class="md-toast-content">' ) ;
342
+ wrapper . append ( templateRoot . children [ i ] . children ) ;
343
+ templateRoot . children [ i ] . appendChild ( wrapper [ 0 ] ) ;
344
+ }
345
+ }
338
346
339
- parsedTemplate . empty ( ) . append ( wrappedContent ) ;
340
347
341
- // Underlying interimElement expects a template string.
342
- return parsedTemplate [ 0 ] . outerHTML ;
348
+ return templateRoot . outerHTML ;
343
349
}
344
350
345
- return shouldAddWrapper ?
346
- '<div class="md-toast-content">' + template + '</div>' :
347
- template || '' ;
351
+ return template || '' ;
348
352
}
349
353
} ;
350
354
@@ -354,6 +358,8 @@ function MdToastProvider($$interimElementProvider) {
354
358
var isSmScreen = ! $mdMedia ( 'gt-sm' ) ;
355
359
356
360
element = $mdUtil . extractElementByName ( element , 'md-toast' , true ) ;
361
+ options . element = element ;
362
+
357
363
options . onSwipe = function ( ev , gesture ) {
358
364
//Add the relevant swipe class to the element so it can animate correctly
359
365
var swipe = ev . type . replace ( '$md.' , '' ) ;
0 commit comments