Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

Commit 04124d8

Browse files
devversionhansl
authored andcommitted
fix(menu-bar): use checked icon from $$mdSvgRegistry (#9417)
* Using the icon from the `$$mdSvgRegistry` ensures that the icon is properly shipped to the developer, without having them to include the Material Icons library. Fixes #9407.
1 parent bd70022 commit 04124d8

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

src/components/icon/js/iconService.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
'mdCancel': 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik0xMiAyYy01LjUzIDAtMTAgNC40Ny0xMCAxMHM0LjQ3IDEwIDEwIDEwIDEwLTQuNDcgMTAtMTAtNC40Ny0xMC0xMC0xMHptNSAxMy41OWwtMS40MSAxLjQxLTMuNTktMy41OS0zLjU5IDMuNTktMS40MS0xLjQxIDMuNTktMy41OS0zLjU5LTMuNTkgMS40MS0xLjQxIDMuNTkgMy41OSAzLjU5LTMuNTkgMS40MSAxLjQxLTMuNTkgMy41OSAzLjU5IDMuNTl6Ii8+PC9nPjwvc3ZnPg==',
77
'mdMenu': 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0zLDZIMjFWOEgzVjZNMywxMUgyMVYxM0gzVjExTTMsMTZIMjFWMThIM1YxNloiIC8+PC9zdmc+',
88
'mdToggleArrow': 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGQ9Ik0yNCAxNmwtMTIgMTIgMi44MyAyLjgzIDkuMTctOS4xNyA5LjE3IDkuMTcgMi44My0yLjgzeiIvPjxwYXRoIGQ9Ik0wIDBoNDh2NDhoLTQ4eiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==',
9-
'mdCalendar': 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgM2gtMVYxaC0ydjJIOFYxSDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY4aDE0djExek03IDEwaDV2NUg3eiIvPjwvc3ZnPg=='
9+
'mdCalendar': 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgM2gtMVYxaC0ydjJIOFYxSDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY4aDE0djExek03IDEwaDV2NUg3eiIvPjwvc3ZnPg==',
10+
'mdChecked': 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxnPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz48L2c+PC9zdmc+'
1011
})
1112
.provider('$mdIcon', MdIconProvider);
1213

src/components/menuBar/js/menuItemDirective.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ angular
44
.directive('mdMenuItem', MenuItemDirective);
55

66
/* @ngInject */
7-
function MenuItemDirective($mdUtil) {
7+
function MenuItemDirective($mdUtil, $$mdSvgRegistry) {
88
return {
99
controller: 'MenuItemController',
1010
require: ['mdMenuItem', '?ngModel'],
@@ -18,11 +18,13 @@ function MenuItemDirective($mdUtil) {
1818
if ((type == 'checkbox' || type == 'radio') && templateEl.hasClass(inMenuBarClass)) {
1919
var text = templateEl[0].textContent;
2020
var buttonEl = angular.element('<md-button type="button"></md-button>');
21-
buttonEl.html(text);
22-
buttonEl.attr('tabindex', '0');
21+
var iconTemplate = '<md-icon md-svg-src="' + $$mdSvgRegistry.mdChecked + '"></md-icon>';
22+
23+
buttonEl.html(text);
24+
buttonEl.attr('tabindex', '0');
2325

2426
templateEl.html('');
25-
templateEl.append(angular.element('<md-icon md-svg-icon="check"></md-icon>'));
27+
templateEl.append(angular.element(iconTemplate));
2628
templateEl.append(buttonEl);
2729
templateEl.addClass('md-indent').removeClass(inMenuBarClass);
2830

src/components/menuBar/menu-bar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55

66
angular.module('material.components.menuBar', [
77
'material.core',
8+
'material.components.icon',
89
'material.components.menu'
910
]);

0 commit comments

Comments
 (0)