aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.WebDashboard
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.WebDashboard')
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardService.cs32
-rw-r--r--MediaBrowser.WebDashboard/Api/PackageCreator.cs233
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj111
3 files changed, 80 insertions, 296 deletions
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index 030dc7f33e..c6155b1b33 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -317,7 +317,6 @@ namespace MediaBrowser.WebDashboard.Api
_fileSystem.DeleteFile(Path.Combine(path, "thirdparty", "jquerymobile-1.4.5", "jquery.mobile-1.4.5.min.map"));
_fileSystem.DeleteDirectory(Path.Combine(path, "bower_components"), true);
- _fileSystem.DeleteDirectory(Path.Combine(path, "thirdparty", "viblast"), true);
// 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"));
@@ -336,17 +335,18 @@ namespace MediaBrowser.WebDashboard.Api
CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "hammerjs", "hammer.min.js"), Path.Combine(path, "bower_components", "hammerjs", "hammer.min.js"));
CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "Sortable", "Sortable.min.js"), Path.Combine(path, "bower_components", "Sortable", "Sortable.min.js"));
+ CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "fetch", "fetch.js"), Path.Combine(path, "bower_components", "fetch", "fetch.js"));
+ CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "native-promise-only", "lib", "npo.src.js"), Path.Combine(path, "bower_components", "native-promise-only", "lib", "npo.src.js"));
+ CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "headroom.js", "dist", "headroom.min.js"), Path.Combine(path, "bower_components", "headroom.js", "dist", "headroom.min.js"));
+ CopyFile(Path.Combine(creator.DashboardUIPath, "bower_components", "isMobile", "isMobile.min.js"), Path.Combine(path, "bower_components", "isMobile", "isMobile.min.js"));
}
-
- MinifyCssDirectory(Path.Combine(path, "css"));
- MinifyJsDirectory(Path.Combine(path, "scripts"));
- MinifyJsDirectory(Path.Combine(path, "apiclient"));
- MinifyJsDirectory(Path.Combine(path, "voice"));
+
+ MinifyCssDirectory(path);
+ MinifyJsDirectory(path);
await DumpHtml(creator.DashboardUIPath, path, mode, culture, appVersion);
await DumpJs(creator.DashboardUIPath, path, mode, culture, appVersion);
- await DumpFile("scripts/all.js", Path.Combine(path, "scripts", "all.js"), mode, culture, appVersion).ConfigureAwait(false);
await DumpFile("css/all.css", Path.Combine(path, "css", "all.css"), mode, culture, appVersion).ConfigureAwait(false);
return "";
@@ -356,6 +356,15 @@ namespace MediaBrowser.WebDashboard.Api
{
foreach (var file in Directory.GetFiles(path, "*.css", SearchOption.AllDirectories))
{
+ if (file.IndexOf(".min.", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ continue;
+ }
+ if (file.IndexOf("bower_", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ continue;
+ }
+
try
{
var text = _fileSystem.ReadAllText(file, Encoding.UTF8);
@@ -383,6 +392,15 @@ namespace MediaBrowser.WebDashboard.Api
{
foreach (var file in Directory.GetFiles(path, "*.js", SearchOption.AllDirectories))
{
+ if (file.IndexOf(".min.", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ continue;
+ }
+ if (file.IndexOf("bower_", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ continue;
+ }
+
try
{
var text = _fileSystem.ReadAllText(file, Encoding.UTF8);
diff --git a/MediaBrowser.WebDashboard/Api/PackageCreator.cs b/MediaBrowser.WebDashboard/Api/PackageCreator.cs
index 3108c2b9a6..56344d2990 100644
--- a/MediaBrowser.WebDashboard/Api/PackageCreator.cs
+++ b/MediaBrowser.WebDashboard/Api/PackageCreator.cs
@@ -42,12 +42,7 @@ namespace MediaBrowser.WebDashboard.Api
{
Stream resourceStream;
- if (path.Equals("scripts/all.js", StringComparison.OrdinalIgnoreCase))
- {
- resourceStream = await GetAllJavascript(mode, localizationCulture, appVersion, enableMinification).ConfigureAwait(false);
- enableMinification = false;
- }
- else if (path.Equals("css/all.css", StringComparison.OrdinalIgnoreCase))
+ if (path.Equals("css/all.css", StringComparison.OrdinalIgnoreCase))
{
resourceStream = await GetAllCss(enableMinification).ConfigureAwait(false);
enableMinification = false;
@@ -70,14 +65,14 @@ namespace MediaBrowser.WebDashboard.Api
}
else if (IsFormat(path, "js"))
{
- if (path.IndexOf("thirdparty", StringComparison.OrdinalIgnoreCase) == -1 && path.IndexOf("bower_components", StringComparison.OrdinalIgnoreCase) == -1)
+ if (path.IndexOf(".min.", StringComparison.OrdinalIgnoreCase) == -1 && path.IndexOf("bower_components", StringComparison.OrdinalIgnoreCase) == -1)
{
resourceStream = await ModifyJs(resourceStream, enableMinification).ConfigureAwait(false);
}
}
else if (IsFormat(path, "css"))
{
- if (path.IndexOf("thirdparty", StringComparison.OrdinalIgnoreCase) == -1 && path.IndexOf("bower_components", StringComparison.OrdinalIgnoreCase) == -1)
+ if (path.IndexOf(".min.", StringComparison.OrdinalIgnoreCase) == -1 && path.IndexOf("bower_components", StringComparison.OrdinalIgnoreCase) == -1)
{
resourceStream = await ModifyCss(resourceStream, enableMinification).ConfigureAwait(false);
}
@@ -309,21 +304,9 @@ namespace MediaBrowser.WebDashboard.Api
.Replace("</body>", "</div>--></div></paper-drawer-panel></body>");
}
- var versionString = !string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase) ? "?v=" + appVersion : string.Empty;
-
- var imports = new[]
- {
- "vulcanize-out.html" + versionString
- };
- var importsHtml = string.Join("", imports.Select(i => "<link rel=\"import\" href=\"" + i + "\">").ToArray());
-
- // It would be better to make polymer completely dynamic and loaded on demand, but seeing issues with that
- // In chrome it is causing the body to be hidden while loading, which leads to width-check methods to return 0 for everything
- //imports = "";
-
html = html.Replace("<head>", "<head>" + GetMetaTags(mode) + GetCommonCss(mode, appVersion));
- html = html.Replace("</body>", GetInitialJavascript(mode, appVersion) + importsHtml + GetCommonJavascript(mode, appVersion) + "</body>");
+ html = html.Replace("</body>", GetCommonJavascript(mode, appVersion) + "</body>");
var bytes = Encoding.UTF8.GetBytes(html);
@@ -333,9 +316,6 @@ namespace MediaBrowser.WebDashboard.Api
private string ModifyForCordova(string html)
{
- // Strip everything between CORDOVA_EXCLUDE_START and CORDOVA_EXCLUDE_END
- html = ReplaceBetween(html, "<!--CORDOVA_EXCLUDE_START-->", "<!--CORDOVA_EXCLUDE_END-->", string.Empty);
-
// Replace CORDOVA_REPLACE_SUPPORTER_SUBMIT_START
html = ReplaceBetween(html, "<!--CORDOVA_REPLACE_SUPPORTER_SUBMIT_START-->", "<!--CORDOVA_REPLACE_SUPPORTER_SUBMIT_END-->", "<i class=\"fa fa-check\"></i><span>${ButtonPurchase}</span>");
@@ -382,6 +362,7 @@ namespace MediaBrowser.WebDashboard.Api
//sb.Append("<meta http-equiv=\"Content-Security-Policy\" content=\"default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'\">");
}
+ sb.Append("<link rel=\"manifest\" href=\"manifest.json\">");
sb.Append("<meta http-equiv=\"X-UA-Compatibility\" content=\"IE=Edge\">");
sb.Append("<meta name=\"format-detection\" content=\"telephone=no\">");
sb.Append("<meta name=\"msapplication-tap-highlight\" content=\"no\">");
@@ -428,7 +409,7 @@ namespace MediaBrowser.WebDashboard.Api
"css/all.css" + versionString
};
- var tags = files.Select(s => string.Format("<link rel=\"stylesheet\" href=\"{0}\" />", s)).ToArray();
+ var tags = files.Select(s => string.Format("<link rel=\"stylesheet\" href=\"{0}\" async />", s)).ToArray();
return string.Join(string.Empty, tags);
}
@@ -439,39 +420,25 @@ namespace MediaBrowser.WebDashboard.Api
/// <param name="mode">The mode.</param>
/// <param name="version">The version.</param>
/// <returns>System.String.</returns>
- private string GetInitialJavascript(string mode, string version)
+ private string GetCommonJavascript(string mode, string version)
{
var builder = new StringBuilder();
- var versionString = !string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase) ? "?v=" + version : string.Empty;
-
- var files = new List<string>
+ builder.Append("<script>");
+ if (!string.IsNullOrWhiteSpace(mode))
{
- "bower_components/webcomponentsjs/webcomponents-lite.js" + versionString
- };
-
- var tags = files.Select(s => string.Format("<script src=\"{0}\"></script>", s)).ToArray();
-
- builder.Append(string.Join(string.Empty, tags));
-
- return builder.ToString();
- }
+ builder.AppendFormat("window.appMode='{0}';", mode);
+ }
- /// <summary>
- /// Gets the common javascript.
- /// </summary>
- /// <param name="mode">The mode.</param>
- /// <param name="version">The version.</param>
- /// <returns>System.String.</returns>
- private string GetCommonJavascript(string mode, string version)
- {
- var builder = new StringBuilder();
+ builder.AppendFormat("window.dashboardVersion='{0}';", version);
+ builder.Append("</script>");
var versionString = !string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase) ? "?v=" + version : string.Empty;
var files = new List<string>
{
- "scripts/all.js" + versionString
+ "bower_components/requirejs/require.js" + versionString,
+ "scripts/site.js" + versionString
};
if (string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase))
@@ -479,168 +446,21 @@ namespace MediaBrowser.WebDashboard.Api
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>
- /// Gets a stream containing all concatenated javascript
- /// </summary>
- /// <returns>Task{Stream}.</returns>
- private async Task<Stream> GetAllJavascript(string mode, string culture, string version, bool enableMinification)
- {
- var memoryStream = new MemoryStream();
- var newLineBytes = Encoding.UTF8.GetBytes(Environment.NewLine);
-
- await AppendResource(memoryStream, "bower_components/jquery/dist/jquery.min.js", newLineBytes).ConfigureAwait(false);
-
- //await AppendLocalization(memoryStream, culture, excludePhrases).ConfigureAwait(false);
- await memoryStream.WriteAsync(newLineBytes, 0, newLineBytes.Length).ConfigureAwait(false);
-
- if (!string.IsNullOrWhiteSpace(mode))
- {
- var appModeBytes = Encoding.UTF8.GetBytes(string.Format("window.appMode='{0}';", mode));
- await memoryStream.WriteAsync(appModeBytes, 0, appModeBytes.Length).ConfigureAwait(false);
- }
-
- // Write the version string for the dashboard comparison function
- var versionString = string.Format("window.dashboardVersion='{0}';", version);
- var versionBytes = Encoding.UTF8.GetBytes(versionString);
-
- await memoryStream.WriteAsync(versionBytes, 0, versionBytes.Length).ConfigureAwait(false);
- await memoryStream.WriteAsync(newLineBytes, 0, newLineBytes.Length).ConfigureAwait(false);
-
- var builder = new StringBuilder();
-
- var commonFiles = new[]
- {
- "bower_components/requirejs/require.js",
- "thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.js",
- "thirdparty/browser.js",
- "thirdparty/jquery.unveil-custom.js",
- "apiclient/logger.js",
- "apiclient/md5.js",
- "apiclient/store.js",
- "apiclient/device.js",
- "apiclient/credentials.js",
- "apiclient/ajax.js",
- "apiclient/events.js",
- "apiclient/deferred.js",
- "apiclient/apiclient.js"
- }.ToList();
-
- commonFiles.Add("apiclient/connectionmanager.js");
-
- foreach (var file in commonFiles)
- {
- using (var fs = _fileSystem.GetFileStream(GetDashboardResourcePath(file), FileMode.Open, FileAccess.Read, FileShare.ReadWrite, true))
- {
- using (var streamReader = new StreamReader(fs))
- {
- var text = await streamReader.ReadToEndAsync().ConfigureAwait(false);
- builder.Append(text);
- builder.Append(Environment.NewLine);
- }
- }
- }
-
- foreach (var file in GetScriptFiles())
- {
- var path = GetDashboardResourcePath("scripts/" + file);
-
- using (var fs = _fileSystem.GetFileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, true))
- {
- using (var streamReader = new StreamReader(fs))
- {
- var text = await streamReader.ReadToEndAsync().ConfigureAwait(false);
- builder.Append(text);
- builder.Append(Environment.NewLine);
- }
- }
- }
-
- var js = builder.ToString();
-
- if (enableMinification)
+ var tags = files.Select(s =>
{
- try
- {
- var result = new CrockfordJsMinifier().Minify(js, false, Encoding.UTF8);
-
- if (result.Errors.Count > 0)
- {
- _logger.Error("Error minifying javascript: " + result.Errors[0].Message);
- }
- else
- {
- js = result.MinifiedContent;
- }
- }
- catch (Exception ex)
+ if (s.IndexOf("require", StringComparison.OrdinalIgnoreCase) == -1)
{
- _logger.ErrorException("Error minifying javascript", ex);
+ return string.Format("<script src=\"{0}\" async></script>", s);
}
- }
-
- var bytes = Encoding.UTF8.GetBytes(js);
- await memoryStream.WriteAsync(bytes, 0, bytes.Length).ConfigureAwait(false);
-
- memoryStream.Position = 0;
- return memoryStream;
- }
- private IEnumerable<string> GetScriptFiles()
- {
- return new[]
- {
- "extensions.js",
- "globalize.js",
- "site.js",
- "librarybrowser.js",
- "librarylist.js",
- "librarymenu.js",
- "mediacontroller.js",
- "backdrops.js",
- "sync.js",
- "playlistmanager.js",
- "appsettings.js",
- "mediaplayer.js",
- "mediaplayer-video.js",
- "alphapicker.js",
- "notifications.js",
- "remotecontrol.js",
- "search.js",
- "thememediaplayer.js"
- };
- }
+ return string.Format("<script src=\"{0}\"></script>", s);
- /// <summary>
- /// Appends the resource.
- /// </summary>
- /// <param name="outputStream">The output stream.</param>
- /// <param name="path">The path.</param>
- /// <param name="newLineBytes">The new line bytes.</param>
- /// <returns>Task.</returns>
- private async Task AppendResource(Stream outputStream, string path, byte[] newLineBytes)
- {
- path = GetDashboardResourcePath(path);
+ }).ToArray();
- using (var fs = _fileSystem.GetFileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, true))
- {
- using (var streamReader = new StreamReader(fs))
- {
- var text = await streamReader.ReadToEndAsync().ConfigureAwait(false);
- var bytes = Encoding.UTF8.GetBytes(text);
- await outputStream.WriteAsync(bytes, 0, bytes.Length).ConfigureAwait(false);
- }
- }
+ builder.Append(string.Join(string.Empty, tags));
- await outputStream.WriteAsync(newLineBytes, 0, newLineBytes.Length).ConfigureAwait(false);
+ return builder.ToString();
}
-
/// <summary>
/// Gets all CSS.
/// </summary>
@@ -654,18 +474,9 @@ namespace MediaBrowser.WebDashboard.Api
"thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.theme.css",
"thirdparty/jquerymobile-1.4.5/jquery.mobile.custom.structure.css",
"css/site.css",
- "css/chromecast.css",
- "css/mediaplayer.css",
- "css/mediaplayer-video.css",
"css/librarymenu.css",
"css/librarybrowser.css",
"css/card.css",
- "css/notifications.css",
- "css/search.css",
- "css/remotecontrol.css",
- "css/userimage.css",
- "css/nowplaying.css",
- "css/materialize.css",
"thirdparty/paper-button-style.css"
};
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 8747298219..aa74e59664 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -113,21 +113,33 @@
<Content Include="dashboard-ui\bower_components\fastclick\lib\fastclick.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\bower_components\fetch\fetch.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\bower_components\hammerjs\hammer.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\bower_components\hammerjs\hammer.min.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\bower_components\headroom.js\dist\headroom.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\bower_components\howler.js\howler.min.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\bower_components\isMobile\isMobile.min.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\bower_components\jquery\dist\jquery.min.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\bower_components\jstree\dist\jstree.min.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\bower_components\native-promise-only\lib\npo.src.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\bower_components\requirejs\require.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -173,12 +185,21 @@
<Content Include="dashboard-ui\bower_components\webcomponentsjs\webcomponents.min.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\components\buttonenabled.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\components\collectioneditor\collectioneditor.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\components\directorybrowser\directorybrowser.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\components\humanedate.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="dashboard-ui\components\imagestore.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\components\itemidentifier\itemidentifier.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -224,6 +245,9 @@
<Content Include="dashboard-ui\components\prompt.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\components\requirecss.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\components\tvguide\tvguide.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -236,9 +260,6 @@
<Content Include="dashboard-ui\cordova\android\logging.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\cordova\android\newapp.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\cordova\fileupload.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -276,9 +297,6 @@
<Content Include="dashboard-ui\css\images\clients\chromecast.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\css\images\clients\firefox.png">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\css\images\empty.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -357,6 +375,9 @@
<Content Include="dashboard-ui\scripts\localsync.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\scripts\musicfolders.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\scripts\mypreferenceshome.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -423,9 +444,6 @@
<Content Include="dashboard-ui\devices\ios\ios.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\css\materialize.css">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\scripts\htmlmediarenderer.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -513,6 +531,9 @@
<Content Include="dashboard-ui\thirdparty\jquerymobile-1.4.5\jqm.checkbox.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\thirdparty\jquerymobile-1.4.5\jqm.widget.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\thirdparty\jquerymobile-1.4.5\jquery.mobile.custom.icons.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -539,21 +560,6 @@
<Content Include="dashboard-ui\thirdparty\social-share-kit-1.0.4\dist\js\social-share-kit.min.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\thirdparty\viblast\viblast-video-js.swf">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\viblast\viblast.crypto.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\viblast\viblast.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\viblast\viblast.remuxer.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\viblast\worker.html">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\components\tvproviders\schedulesdirect.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -668,9 +674,6 @@
<Content Include="dashboard-ui\syncsettings.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\apiclient\ajax.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\apiclient\alt\bean.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -847,9 +850,6 @@
<Content Include="dashboard-ui\css\mediaplayer-video.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\css\mediaplayer.css">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\css\nowplaying.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -970,18 +970,12 @@
<Content Include="dashboard-ui\css\images\clients\chrome.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\css\images\clients\ie.png">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\css\images\clients\mbc.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\css\images\clients\roku.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\css\images\clients\safari.png">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\css\images\fresh.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -1015,18 +1009,12 @@
<Content Include="dashboard-ui\css\librarybrowser.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\css\remotecontrol.css">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\css\search.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\css\tileitem.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\css\userimage.css">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\edititemmetadata.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -1267,24 +1255,6 @@
<Content Include="dashboard-ui\apiclient\store.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\thirdparty\browser.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\cast_sender.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\fontawesome\css\font-awesome.css">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\fontawesome\css\font-awesome.min.css">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\fontawesome\fonts\fontawesome-webfont.svg">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="dashboard-ui\thirdparty\headroom.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\thirdparty\jquery.unveil-custom.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -2724,28 +2694,13 @@
<Content Include="dashboard-ui\strings\javascript\zh-TW.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <None Include="dashboard-ui\strings\html\zh-HK.json">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
- <None Include="dashboard-ui\strings\javascript\zh-HK.json">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
- <None Include="dashboard-ui\thirdparty\fontawesome\css\font-awesome.css.map">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
- <None Include="dashboard-ui\thirdparty\fontawesome\fonts\fontawesome-webfont.eot">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
- <None Include="dashboard-ui\thirdparty\fontawesome\fonts\fontawesome-webfont.ttf">
+ <None Include="dashboard-ui\manifest.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
- <None Include="dashboard-ui\thirdparty\fontawesome\fonts\fontawesome-webfont.woff">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
- <None Include="dashboard-ui\thirdparty\fontawesome\fonts\fontawesome-webfont.woff2">
+ <None Include="dashboard-ui\strings\html\zh-HK.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
- <None Include="dashboard-ui\thirdparty\fontawesome\fonts\FontAwesome.otf">
+ <None Include="dashboard-ui\strings\javascript\zh-HK.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<Content Include="dashboard-ui\thirdparty\jquerymobile-1.4.5\jqm.table.js">