From bda1bf9f9adbe5cd81655df83e8c50503847ad49 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 4 Nov 2015 11:49:27 -0800 Subject: [PATCH] [Themes] Match themes from stylesheet loader --- platform/commonUI/general/src/StyleSheetLoader.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/platform/commonUI/general/src/StyleSheetLoader.js b/platform/commonUI/general/src/StyleSheetLoader.js index 19c0ffc291..9b64303df1 100644 --- a/platform/commonUI/general/src/StyleSheetLoader.js +++ b/platform/commonUI/general/src/StyleSheetLoader.js @@ -38,8 +38,9 @@ define( * @constructor * @param {object[]} stylesheets stylesheet extension definitions * @param $document Angular's jqLite-wrapped document element + * @param {string} activeTheme the theme in use */ - function StyleSheetLoader(stylesheets, $document) { + function StyleSheetLoader(stylesheets, $document, activeTheme) { var head = $document.find('head'), document = $document[0]; @@ -62,8 +63,15 @@ define( head.append(link); } + // Stylesheets which specify themes should only be applied + // when that theme has been declared. + function matchesTheme(stylesheet) { + return stylesheet.theme === undefined || + stylesheet.theme === activeTheme; + } + // Add all stylesheets from extensions - stylesheets.forEach(addStyleSheet); + stylesheets.filter(matchesTheme).forEach(addStyleSheet); } return StyleSheetLoader;