Merge pull request #1134 from MediaBrowser/dev

3.0.5667.5
This commit is contained in:
Luke 2015-07-12 12:10:48 -04:00
commit 3b96e638a6
4 changed files with 49 additions and 15 deletions

View file

@ -200,9 +200,11 @@ namespace MediaBrowser.WebDashboard.Api
var isHtml = IsHtml(path); var isHtml = IsHtml(path);
if (isHtml && !_serverConfigurationManager.Configuration.IsStartupWizardCompleted) // Bounce them to the startup wizard if it hasn't been completed yet
if (isHtml && !_serverConfigurationManager.Configuration.IsStartupWizardCompleted && path.IndexOf("wizard", StringComparison.OrdinalIgnoreCase) == -1)
{ {
if (path.IndexOf("wizard", StringComparison.OrdinalIgnoreCase) == -1) // But don't redirect if an html import is being requested.
if (path.IndexOf("vulcanize", StringComparison.OrdinalIgnoreCase) == -1 && path.IndexOf("bower_components", StringComparison.OrdinalIgnoreCase) == -1)
{ {
Request.Response.Redirect("wizardstart.html"); Request.Response.Redirect("wizardstart.html");
return null; return null;
@ -317,8 +319,9 @@ namespace MediaBrowser.WebDashboard.Api
Directory.Delete(Path.Combine(path, "bower_components"), true); Directory.Delete(Path.Combine(path, "bower_components"), true);
Directory.Delete(Path.Combine(path, "thirdparty", "viblast"), true); Directory.Delete(Path.Combine(path, "thirdparty", "viblast"), true);
// But we do need this // But we do need this
CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "webcomponentsjs", "webcomponents-lite.js"), Path.Combine(path, "bower_components", "webcomponentsjs", "webcomponents-lite.js"));
CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "webcomponentsjs", "webcomponents-lite.min.js"), Path.Combine(path, "bower_components", "webcomponentsjs", "webcomponents-lite.min.js")); CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "webcomponentsjs", "webcomponents-lite.min.js"), Path.Combine(path, "bower_components", "webcomponentsjs", "webcomponents-lite.min.js"));
CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "velocity", "velocity.min.js"), Path.Combine(path, "bower_components", "velocity", "velocity.min.js")); CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "velocity", "velocity.min.js"), Path.Combine(path, "bower_components", "velocity", "velocity.min.js"));
CopyDirectory(Path.Combine(creator.DashboardUIPath, "bower_components", "swipebox", "src", "css"), Path.Combine(path, "bower_components", "swipebox", "src", "css")); CopyDirectory(Path.Combine(creator.DashboardUIPath, "bower_components", "swipebox", "src", "css"), Path.Combine(path, "bower_components", "swipebox", "src", "css"));

View file

@ -68,14 +68,14 @@ namespace MediaBrowser.WebDashboard.Api
} }
else if (IsFormat(path, "js")) else if (IsFormat(path, "js"))
{ {
if (path.IndexOf("thirdparty", StringComparison.OrdinalIgnoreCase) == -1) if (path.IndexOf("thirdparty", StringComparison.OrdinalIgnoreCase) == -1 && path.IndexOf("bower_components", StringComparison.OrdinalIgnoreCase) == -1)
{ {
resourceStream = await ModifyJs(resourceStream, enableMinification).ConfigureAwait(false); resourceStream = await ModifyJs(resourceStream, enableMinification).ConfigureAwait(false);
} }
} }
else if (IsFormat(path, "css")) else if (IsFormat(path, "css"))
{ {
if (path.IndexOf("thirdparty", StringComparison.OrdinalIgnoreCase) == -1) if (path.IndexOf("thirdparty", StringComparison.OrdinalIgnoreCase) == -1 && path.IndexOf("bower_components", StringComparison.OrdinalIgnoreCase) == -1)
{ {
resourceStream = await ModifyCss(resourceStream, enableMinification).ConfigureAwait(false); resourceStream = await ModifyCss(resourceStream, enableMinification).ConfigureAwait(false);
} }
@ -269,11 +269,12 @@ namespace MediaBrowser.WebDashboard.Api
html = _localization.LocalizeDocument(html, localizationCulture, GetLocalizationToken); html = _localization.LocalizeDocument(html, localizationCulture, GetLocalizationToken);
html = html.Replace("<html>", "<html lang=\"" + lang + "\">") html = html.Replace("<html>", "<html lang=\"" + lang + "\">");
.Replace("<body>", "<body><paper-drawer-panel class=\"mainDrawerPanel mainDrawerPanelPreInit\" forceNarrow><div class=\"mainDrawer\" drawer></div><div main><div class=\"pageContainer\">")
.Replace("</body>", "</div></div></paper-drawer-panel></body>");
} }
html = html.Replace("<body>", "<body><paper-drawer-panel class=\"mainDrawerPanel mainDrawerPanelPreInit\" forceNarrow><div class=\"mainDrawer\" drawer></div><div main><div class=\"pageContainer\">")
.Replace("</body>", "</div></div></paper-drawer-panel></body>");
if (enableMinification) if (enableMinification)
{ {
try try
@ -314,7 +315,7 @@ namespace MediaBrowser.WebDashboard.Api
// In chrome it is causing the body to be hidden while loading, which leads to width-check methods to return 0 for everything // In chrome it is causing the body to be hidden while loading, which leads to width-check methods to return 0 for everything
//imports = ""; //imports = "";
html = html.Replace("<head>", "<head>" + GetMetaTags(mode) + GetCommonCss(mode, version) + GetCommonJavascript(mode, version) + importsHtml); html = html.Replace("<head>", "<head>" + GetMetaTags(mode) + GetCommonCss(mode, version) + GetInitialJavascript(mode, version) + importsHtml + GetCommonJavascript(mode, version));
var bytes = Encoding.UTF8.GetBytes(html); var bytes = Encoding.UTF8.GetBytes(html);
@ -425,6 +426,35 @@ namespace MediaBrowser.WebDashboard.Api
return string.Join(string.Empty, tags); return string.Join(string.Empty, tags);
} }
/// <summary>
/// Gets the common javascript.
/// </summary>
/// <param name="mode">The mode.</param>
/// <param name="version">The version.</param>
/// <returns>System.String.</returns>
private string GetInitialJavascript(string mode, Version version)
{
var builder = new StringBuilder();
var versionString = !string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase) ? "?v=" + version : string.Empty;
var files = new List<string>
{
"bower_components/webcomponentsjs/webcomponents-lite.js" + versionString
};
if (string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase))
{
files.Insert(0, "cordova.js");
}
var tags = files.Select(s => string.Format("<script src=\"{0}\"></script>", s)).ToArray();
builder.Append(string.Join(string.Empty, tags));
return builder.ToString();
}
/// <summary> /// <summary>
/// Gets the common javascript. /// Gets the common javascript.
/// </summary> /// </summary>
@ -463,15 +493,14 @@ namespace MediaBrowser.WebDashboard.Api
var memoryStream = new MemoryStream(); var memoryStream = new MemoryStream();
var newLineBytes = Encoding.UTF8.GetBytes(Environment.NewLine); var newLineBytes = Encoding.UTF8.GetBytes(Environment.NewLine);
await AppendResource(memoryStream, "bower_components/webcomponentsjs/webcomponents-lite.min.js", newLineBytes).ConfigureAwait(false);
await AppendResource(memoryStream, "thirdparty/jquery-2.1.1.min.js", newLineBytes).ConfigureAwait(false); await AppendResource(memoryStream, "thirdparty/jquery-2.1.1.min.js", newLineBytes).ConfigureAwait(false);
await AppendResource(memoryStream, "thirdparty/require.js", newLineBytes).ConfigureAwait(false);
await AppendResource(memoryStream, "thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.min.js", newLineBytes).ConfigureAwait(false); await AppendResource(memoryStream, "thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.min.js", newLineBytes).ConfigureAwait(false);
await AppendResource(memoryStream, "thirdparty/browser.js", newLineBytes).ConfigureAwait(false); await AppendResource(memoryStream, "thirdparty/browser.js", newLineBytes).ConfigureAwait(false);
await AppendResource(memoryStream, "thirdparty/require.js", newLineBytes).ConfigureAwait(false);
await AppendResource(memoryStream, "thirdparty/jquery.unveil-custom.js", newLineBytes).ConfigureAwait(false); await AppendResource(memoryStream, "thirdparty/jquery.unveil-custom.js", newLineBytes).ConfigureAwait(false);
var excludePhrases = new List<string>(); var excludePhrases = new List<string>();

View file

@ -116,7 +116,9 @@
<Content Include="dashboard-ui\bower_components\webcomponentsjs\ShadowDOM.min.js"> <Content Include="dashboard-ui\bower_components\webcomponentsjs\ShadowDOM.min.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="dashboard-ui\bower_components\webcomponentsjs\webcomponents-lite.js" /> <Content Include="dashboard-ui\bower_components\webcomponentsjs\webcomponents-lite.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\bower_components\webcomponentsjs\webcomponents-lite.min.js"> <Content Include="dashboard-ui\bower_components\webcomponentsjs\webcomponents-lite.min.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>

View file

@ -1,4 +1,4 @@
using System.Reflection; using System.Reflection;
//[assembly: AssemblyVersion("3.0.*")] //[assembly: AssemblyVersion("3.0.*")]
[assembly: AssemblyVersion("3.0.5666.9")] [assembly: AssemblyVersion("3.0.5667.5")]