Bunch of fixes and updates

Adjustments for gulp tasks
Typings moved to node rather than nuget
Increase Typescript strictness, fix warnings / errors
FR translation update
PL translation update
RTL styling fixes
Fix legacy version pages
Component updates
refactor-intermediate-models 2018.6
BuildFeed Bot 2018-03-10 16:09:34 +00:00
parent ae89554ed1
commit 8297676e65
29 changed files with 1041 additions and 3938 deletions

View File

@ -159,6 +159,9 @@
<data name="Common_Admin" xml:space="preserve">
<value>Admin</value>
</data>
<data name="Common_Blog" xml:space="preserve">
<value>Blog</value>
</data>
<data name="Common_ChangePassword" xml:space="preserve">
<value>Changer le mot de passe</value>
</data>
@ -201,6 +204,9 @@
<data name="Common_ThemeLight" xml:space="preserve">
<value>Clair</value>
</data>
<data name="Common_ThemeWinter" xml:space="preserve">
<value>Hiver</value>
</data>
<data name="Common_TitlePage" xml:space="preserve">
<value>| Page {0}</value>
</data>
@ -422,6 +428,9 @@ L'équipe {0}.</value>
<data name="Search_Year" xml:space="preserve">
<value>Année</value>
</data>
<data name="Support_AccountValidation" xml:space="preserve">
<value>Chaque compte est validé par un administrateur, donc soyez patient et reverifiez plus tard</value>
</data>
<data name="Support_AdditionsToBuildFeed" xml:space="preserve">
<value>Ajouts dans BuildFeed</value>
</data>
@ -497,6 +506,9 @@ L'équipe {0}.</value>
<data name="Support_RememberMe" xml:space="preserve">
<value>Se souvenir de moi</value>
</data>
<data name="Support_ThanksRegister" xml:space="preserve">
<value>Merci d'avoir créé un compte</value>
</data>
<data name="Support_UserName" xml:space="preserve">
<value>Nom de compte utilisateur</value>
</data>
@ -516,10 +528,4 @@ L'équipe {0}.</value>
<value>Semaine</value>
</data>
<data name="Support_AccountValidation" xml:space="preserve">
<value>Chaque compte est validé par un administrateur, donc soyez patient et reverifiez plus tard</value>
</data>
<data name="Support_ThanksRegister" xml:space="preserve">
<value>Merci d'avoir créé un compte</value>
</data>
</root>

View File

@ -159,6 +159,9 @@
<data name="Common_Admin" xml:space="preserve">
<value>Administrator</value>
</data>
<data name="Common_Blog" xml:space="preserve">
<value>Blog</value>
</data>
<data name="Common_ChangePassword" xml:space="preserve">
<value>Zmień hasło</value>
</data>
@ -201,6 +204,9 @@
<data name="Common_ThemeLight" xml:space="preserve">
<value>Jasny</value>
</data>
<data name="Common_ThemeWinter" xml:space="preserve">
<value>Zima</value>
</data>
<data name="Common_TitlePage" xml:space="preserve">
<value>| Strona {0}</value>
</data>
@ -422,6 +428,9 @@ Zespół {0}.</value>
<data name="Search_Year" xml:space="preserve">
<value>rok</value>
</data>
<data name="Support_AccountValidation" xml:space="preserve">
<value>Każde konto jest sprawdzane przez Administratora, więc proszę uzbroić się w cierpliwość i sprawdzić ponownie później.</value>
</data>
<data name="Support_AdditionsToBuildFeed" xml:space="preserve">
<value>Dodatki do BuildFeed</value>
</data>
@ -497,6 +506,9 @@ Zespół {0}.</value>
<data name="Support_RememberMe" xml:space="preserve">
<value>Zapamiętaj mnie</value>
</data>
<data name="Support_ThanksRegister" xml:space="preserve">
<value>Dziękujemy za rejestrację</value>
</data>
<data name="Support_UserName" xml:space="preserve">
<value>Nazwa użytkownika</value>
</data>
@ -516,10 +528,4 @@ Zespół {0}.</value>
<value>Tydzień</value>
</data>
<data name="Support_AccountValidation" xml:space="preserve">
<value>Każde konto jest sprawdzane przez Administratora, więc proszę uzbroić się w cierpliwość i sprawdzić ponownie później.</value>
</data>
<data name="Support_ThanksRegister" xml:space="preserve">
<value>Dziękujemy za rejestrację</value>
</data>
</root>

View File

@ -37,8 +37,8 @@
<Reference Include="DnsClient, Version=1.0.7.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.0.7\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="HtmlAgilityPack, Version=1.6.16.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.6.16\lib\Net45\HtmlAgilityPack.dll</HintPath>
<Reference Include="HtmlAgilityPack, Version=1.7.1.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.7.1\lib\Net45\HtmlAgilityPack.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
@ -65,22 +65,22 @@
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
<Reference Include="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.4\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.4\lib\net45\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />

View File

@ -51,7 +51,7 @@ namespace BuildFeed.Model
[Display(Name = "Redstone 3", Description = "Windows 10 (Fall Creators Update)")]
Redstone3 = 50,
[Display(Name = "Redstone 4")]
[Display(Name = "Redstone 4", Description = "Windows 10 (Spring Creators Update)")]
Redstone4 = 60,
[Display(Name = "Redstone 5")]

View File

@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AutoMapper" version="6.2.2" targetFramework="net47" />
<package id="DnsClient" version="1.0.7" targetFramework="net47" />
<package id="HtmlAgilityPack" version="1.6.16" targetFramework="net47" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net47" />
<package id="HtmlAgilityPack" version="1.7.1" targetFramework="net47" />
<package id="Microsoft.AspNet.Mvc" version="5.2.4" targetFramework="net47" />
<package id="Microsoft.AspNet.Razor" version="3.2.4" targetFramework="net47" />
<package id="Microsoft.AspNet.WebPages" version="3.2.4" targetFramework="net47" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net47" />
<package id="MongoDB.Bson" version="2.5.0" targetFramework="net47" />
<package id="MongoDB.Driver" version="2.5.0" targetFramework="net47" />

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\MSBuildGitHash.0.2.0\build\MSBuildGitHash.props" Condition="Exists('..\packages\MSBuildGitHash.0.2.0\build\MSBuildGitHash.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\MSBuildGitHash.0.3.0\build\MSBuildGitHash.props" Condition="Exists('..\packages\MSBuildGitHash.0.3.0\build\MSBuildGitHash.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
@ -31,7 +31,7 @@
<UseGlobalApplicationHostFile />
<TargetFrameworkProfile />
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<TypeScriptToolsVersion>2.6</TypeScriptToolsVersion>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
<Use64BitIISExpress />
<MSBuildGitHashValidate>False</MSBuildGitHashValidate>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
@ -74,8 +74,8 @@
<Reference Include="DnsClient, Version=1.0.7.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.0.7\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="HtmlAgilityPack, Version=1.6.16.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.6.16\lib\Net45\HtmlAgilityPack.dll</HintPath>
<Reference Include="HtmlAgilityPack, Version=1.7.1.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.7.1\lib\Net45\HtmlAgilityPack.dll</HintPath>
</Reference>
<Reference Include="Humanizer, Version=2.2.0.0, Culture=neutral, PublicKeyToken=979442b78dfc278e, processorArchitecture=MSIL">
<HintPath>..\packages\Humanizer.Core.2.2.0\lib\netstandard1.0\Humanizer.dll</HintPath>
@ -99,8 +99,8 @@
<Reference Include="MongoDB.Driver.Core, Version=2.5.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.5.0\lib\net45\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="OneSignal.RestAPIv3.Client, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OneSignal.RestAPIv3.Client.1.0.3\lib\net452\OneSignal.RestAPIv3.Client.dll</HintPath>
@ -157,8 +157,8 @@
<Reference Include="System.Net.Http, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.3\lib\net46\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
<Reference Include="System.Net.Http.Formatting, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.4\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
@ -210,29 +210,29 @@
<Reference Include="System.Web" />
<Reference Include="System.Web.Abstractions" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
<Reference Include="System.Web.Http, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.4\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
<Reference Include="System.Web.Http.WebHost, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.4\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
<Reference Include="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.4\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.4\lib\net45\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.Routing" />
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
@ -479,9 +479,6 @@
<ItemGroup>
<TypeScriptCompile Include="res\ts\bfs.ts" />
<TypeScriptCompile Include="res\ts\christmas.ts" />
<TypeScriptCompile Include="Scripts\typings\google.analytics\ga.d.ts" />
<TypeScriptCompile Include="Scripts\typings\jquery\jquery.d.ts" />
<TypeScriptCompile Include="Scripts\typings\jsrender\jsrender.d.ts" />
</ItemGroup>
<ItemGroup>
<Service Include="{4A0DDDB5-7A95-4FBF-97CC-616D07737A77}" />
@ -506,17 +503,17 @@
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<TypeScriptTarget>ES6</TypeScriptTarget>
<TypeScriptTarget>ES2015</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>False</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>ES6</TypeScriptModuleKind>
<TypeScriptModuleKind>None</TypeScriptModuleKind>
<TypeScriptRemoveComments>True</TypeScriptRemoveComments>
<TypeScriptOutFile />
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptSourceMap>False</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
</PropertyGroup>
@ -550,16 +547,16 @@
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.1\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.1\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\MSBuildGitHash.0.2.0\build\MSBuildGitHash.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuildGitHash.0.2.0\build\MSBuildGitHash.props'))" />
<Error Condition="!Exists('..\packages\MSBuildGitHash.0.2.0\build\MSBuildGitHash.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuildGitHash.0.2.0\build\MSBuildGitHash.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.7.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\MSBuildGitHash.0.3.0\build\MSBuildGitHash.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuildGitHash.0.3.0\build\MSBuildGitHash.props'))" />
<Error Condition="!Exists('..\packages\MSBuildGitHash.0.3.0\build\MSBuildGitHash.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSBuildGitHash.0.3.0\build\MSBuildGitHash.targets'))" />
</Target>
<Import Project="..\packages\NETStandard.Library.2.0.1\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.1\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\MSBuildGitHash.0.2.0\build\MSBuildGitHash.targets" Condition="Exists('..\packages\MSBuildGitHash.0.2.0\build\MSBuildGitHash.targets')" />
<PropertyGroup>
<PreBuildEvent>attrib +H $(ProjectDir)node_modules /D
attrib +H $(ProjectDir)obj /D</PreBuildEvent>
</PropertyGroup>
<Import Project="..\packages\MSBuildGitHash.0.3.0\build\MSBuildGitHash.targets" Condition="Exists('..\packages\MSBuildGitHash.0.3.0\build\MSBuildGitHash.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@ -453,11 +453,7 @@ namespace BuildFeed.Controllers
Type = MetaType.Version,
Value = valueString
});
ViewBag.Item = new
{
major,
minor
};
ViewBag.Item = new BuildVersion(major, minor);
ViewBag.ItemId = valueString;
var builds = await _bModel.SelectVersion(major, minor, PAGE_SIZE, (page - 1) * PAGE_SIZE);

View File

@ -1,106 +0,0 @@
// Type definitions for Google Analytics (Classic and Universal)
// Project: https://developers.google.com/analytics/devguides/collection/gajs/, https://developers.google.com/analytics/devguides/collection/analyticsjs/method-reference
// Definitions by: Ronnie Haakon Hegelund <http://ronniehegelund.blogspot.dk>, Pat Kujawa <http://patkujawa.com>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare class Tracker {
_trackPageview(): void;
_getName(): string;
_getAccount(): string;
_getVersion(): string;
_getVisitorCustomVar(index: number): string;
_setAccount(): string;
_setCustomVar(index: number, name: string, value: string, opt_scope?: number): boolean;
_setSampleRate(newRate: string): void;
_setSessionCookieTimeout(cookieTimeoutMillis: number): void;
_setSiteSpeedSampleRate(sampleRate: number): void;
_setVisitorCookieTimeout(milliseconds: number): void;
_trackPageLoadTime(): void;
}
interface GoogleAnalyticsCode {
push(commandArray: string[]): void;
push(func: Function): void;
}
interface GoogleAnalyticsTracker {
_getTracker(account: string): Tracker;
_createTracker(opt_account: string, opt_name?: string): Tracker;
_getTrackerByName(opt_name?: string): Tracker;
_anonymizeIp(): void;
}
interface GoogleAnalytics {
type: string;
src: string;
async: boolean;
}
declare namespace UniversalAnalytics {
// https://developers.google.com/analytics/devguides/collection/analyticsjs/method-reference
enum HitType {
'pageview', 'screenview', 'event', 'transaction', 'item', 'social', 'exception', 'timing'
}
interface ga {
l: number;
q: any[];
(command: 'send', hitType: 'event', eventCategory: string, eventAction: string,
eventLabel?: string, eventValue?: number, fieldsObject?: {}): void;
(command: 'send', hitType: 'event', fieldsObject: {
eventCategory: string,
eventAction: string,
eventLabel?: string,
eventValue?: number,
nonInteraction?: boolean}): void;
(command: 'send', fieldsObject: {
hitType: HitType, // 'event'
eventCategory: string,
eventAction: string,
eventLabel?: string,
eventValue?: number,
nonInteraction?: boolean}): void;
(command: 'send', hitType: 'pageview', page: string): void;
(command: 'send', hitType: 'social',
socialNetwork: string, socialAction: string, socialTarget: string): void;
(command: 'send', hitType: 'social',
fieldsObject: {socialNetwork: string, socialAction: string, socialTarget: string}): void;
(command: 'send', hitType: 'timing',
timingCategory: string, timingVar: string, timingValue: number): void;
(command: 'send', hitType: 'timing',
fieldsObject: {timingCategory: string, timingVar: string, timingValue: number}): void;
(command: 'send', fieldsObject: {}): void;
(command: string, hitType: HitType, ...fields: any[]): void;
(command: 'create', trackingId: string, cookieDomain?: string, name?: string, fieldsObject?: {}): void;
(command: 'remove'): void;
(command: string, ...fields: any[]): void;
(readyCallback: (defaultTracker?: UniversalAnalytics.Tracker) => void): void;
create(trackingId: string, cookieDomain: string, name: string, fieldsObject?: {}): UniversalAnalytics.Tracker;
create(trackingId: string, cookieDomain: string, fieldsObject?: {}): UniversalAnalytics.Tracker;
create(trackingId: string, fieldsObject?: {}): UniversalAnalytics.Tracker;
getAll(): UniversalAnalytics.Tracker[];
getByName(name: string): UniversalAnalytics.Tracker;
remove(name:string): void;
}
interface Tracker {
get<T>(fieldName: string): T;
send(hitType: string, opt_fieldObject?: {}): void;
set(fieldName: string, value: string): void;
set(fieldName: string, value: {}): void;
set(fieldName: string, value: number): void;
set(fieldName: string, value: boolean): void;
}
}
declare var gaClassic: GoogleAnalytics;
declare var ga: UniversalAnalytics.ga;
declare var _gaq: GoogleAnalyticsCode;
declare var _gat: GoogleAnalyticsTracker;

File diff suppressed because it is too large Load Diff

View File

@ -1,58 +0,0 @@
// Type definitions for JsRender
// Project: http://www.jsviews.com/#jsrender
// Definitions by: Kensuke Matsuzaki <https://github.com/zakki>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="../jquery/jquery.d.ts"/>
declare namespace JsRender {
interface Converters {
(name: string, converterFn: (value: any) => any): any;
(namedConverters: any, parentTemplate?: any): any;
html(valueToEncode: string): string;
attr(valueToEncode: string): string;
url(valueToEncode: string): string;
}
interface Views {
converters: Converters;
tags(name: string, tagFn: (value: any) => any): any;
tags(name: string, tagOptions: any): any;
tags(namedTags: any): any;
helpers(name: string, helper: any): any;
helpers(namedHelpers: any, parentTemplate?: any): any;
}
interface Template {
render(data?: any): string;
}
interface NamedTemplate {
(data?: any): string;
}
interface Render {
(data?: any, helpersOrContext?: any): string;
}
interface RenderStatic {
[index: string]: NamedTemplate;
}
}
interface JQuery {
render: JsRender.Render;
}
interface JQueryStatic {
render: JsRender.RenderStatic;
views: JsRender.Views;
templates(markupOrSelector: string): JsRender.Template;
templates(name: string, markupOrSelector: string): JsRender.Template;
templates(namedTemplates: any): any;
}
declare var jsrender: JQueryStatic;

View File

@ -31,8 +31,8 @@
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="@Url.Action(nameof(FrontController.ViewVersion), "Front", new
{
ViewBag.Item.major,
ViewBag.Item.minor
ViewBag.Item.Major,
ViewBag.Item.Minor
})">
<span itemprop="name">@ViewBag.ItemId</span>
</a>

View File

@ -95,13 +95,13 @@
<add name="Referrer-Policy" value="origin-when-cross-origin" />
</customHeaders>
</httpProtocol>
<handlers>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
</handlers></system.webServer>
<system.net>
<mailSettings>
<smtp configSource="smtp.config" />
@ -279,7 +279,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
@ -309,18 +309,6 @@
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
@ -373,6 +361,18 @@
<assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-106.2.1.0" newVersion="106.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>

View File

@ -6,31 +6,45 @@ var sourceMaps = require("gulp-sourcemaps");
var ts = require("gulp-typescript");
var uglify = require("gulp-uglify-es").default;
var autoprefixer = require("gulp-autoprefixer");
var pipe = require("multipipe");
function catchError(err)
{
if (typeof (err) !== "undefined" && typeof (err.hasOwnProperty("messageFormatted")) !== "undefined")
{
console.log(err.messageFormatted);
}
else
{
console.log("Error in processing task...");
}
}
gulp.task("sass-compile",
function()
{
gulp.src("./res/css/*.scss")
.pipe(sourceMaps.init())
.pipe(sass())
.pipe(autoprefixer({
var pipes = pipe(sourceMaps.init(),
sass(),
autoprefixer({
browsers: ["> 1%", "IE 10-11", "last 5 versions"],
cascade: false
}))
.pipe(cleanCss())
.pipe(sourceMaps.write("./"))
.pipe(gulp.dest("./res/css/"));
}),
cleanCss(),
sourceMaps.write("./"),
gulp.dest("./res/css/"));
gulp.src("./res/css/*.scss")
.pipe(pipes);
});
var tsProject = ts.createProject("tsconfig.json");
gulp.task("typescript",
function()
{
return gulp.src("./res/ts/*.ts")
.pipe(sourceMaps.init())
.pipe(ts({
target: "es6",
sourceMap: false
}))
.pipe(tsProject())
.js
.pipe(uglify())
.pipe(sourceMaps.write("./"))

File diff suppressed because it is too large Load Diff

View File

@ -3,14 +3,18 @@
"name": "buildfeed",
"private": true,
"devDependencies": {
"gulp": "^3.9.1",
"gulp-autoprefixer": "^4.1.0",
"gulp-clean-css": "^3.9.2",
"gulp-sass": "^3.1.0",
"gulp-sourcemaps": "^2.6.4",
"gulp-typescript": "^3.2.4",
"gulp-uglify-es": "^1.0.0",
"typescript": "^2.7.1",
"node-sass": "^4.7.2"
"@types/google.analytics": "0.0.38",
"@types/jquery": "^3.3.1",
"@types/jsrender": "0.0.29",
"gulp": "3.9.1",
"gulp-autoprefixer": "5.0.0",
"gulp-clean-css": "3.9.3",
"gulp-sass": "3.1.0",
"gulp-sourcemaps": "2.6.4",
"gulp-typescript": "4.0.1",
"gulp-uglify-es": "1.0.1",
"multipipe": "2.0.3",
"node-sass": "4.7.2",
"typescript": "2.7.2"
}
}

View File

@ -2,8 +2,7 @@
<packages>
<package id="AutoMapper" version="6.2.2" targetFramework="net47" />
<package id="DnsClient" version="1.0.7" targetFramework="net47" />
<package id="google.analytics.TypeScript.DefinitelyTyped" version="0.3.8" targetFramework="net47" />
<package id="HtmlAgilityPack" version="1.6.16" targetFramework="net47" />
<package id="HtmlAgilityPack" version="1.7.1" targetFramework="net47" />
<package id="Humanizer" version="2.2.0" targetFramework="net47" />
<package id="Humanizer.Core" version="2.2.0" targetFramework="net47" />
<package id="Humanizer.Core.af" version="2.2.0" targetFramework="net47" />
@ -46,27 +45,25 @@
<package id="Humanizer.Core.zh-CN" version="2.2.0" targetFramework="net47" />
<package id="Humanizer.Core.zh-Hans" version="2.2.0" targetFramework="net47" />
<package id="Humanizer.Core.zh-Hant" version="2.2.0" targetFramework="net47" />
<package id="jquery.TypeScript.DefinitelyTyped" version="3.1.2" targetFramework="net47" />
<package id="jsrender.TypeScript.DefinitelyTyped" version="0.1.8" targetFramework="net47" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.Mvc" version="5.2.4" targetFramework="net47" />
<package id="Microsoft.AspNet.Razor" version="3.2.4" targetFramework="net47" />
<package id="Microsoft.AspNet.WebApi" version="5.2.4" targetFramework="net47" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.4" targetFramework="net47" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.4" targetFramework="net47" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.4" targetFramework="net47" />
<package id="Microsoft.AspNet.WebPages" version="3.2.4" targetFramework="net47" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.8" targetFramework="net47" />
<package id="Microsoft.CSharp" version="4.4.1" targetFramework="net47" />
<package id="Microsoft.Net.Compilers" version="2.6.1" targetFramework="net47" developmentDependency="true" />
<package id="Microsoft.Net.Compilers" version="2.7.0" targetFramework="net47" developmentDependency="true" />
<package id="Microsoft.NETCore.Platforms" version="2.0.1" targetFramework="net47" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net47" />
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net47" />
<package id="MongoDB.Bson" version="2.5.0" targetFramework="net47" />
<package id="MongoDB.Driver" version="2.5.0" targetFramework="net47" />
<package id="MongoDB.Driver.Core" version="2.5.0" targetFramework="net47" />
<package id="MSBuildGitHash" version="0.2.0" targetFramework="net47" />
<package id="MSBuildGitHash" version="0.3.0" targetFramework="net47" />
<package id="NETStandard.Library" version="2.0.1" targetFramework="net47" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net47" />
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net47" />
<package id="OneSignal.RestAPIv3.Client" version="1.0.3" targetFramework="net47" />
<package id="RestSharp" version="106.2.1" targetFramework="net47" />
<package id="System.AppContext" version="4.3.0" targetFramework="net47" />

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -855,7 +855,7 @@ article
{
width: 120px;
border: $border-size solid #888;
border-left: 0;
border-left-width: 0;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
padding: 0 1em;

View File

@ -1,2 +1,2 @@
nav#page-navigation #page-navigation-links{text-align:left}nav#page-navigation #page-navigation-links>li>a{text-align:right}.dropdown-parent .dropdown-menu{text-align:right}.form-group label{text-align:left}.form-group>label{margin-right:0;margin-left:1em}footer#page-footer .footer-flex .footer-flex-item:last-child{text-align:left}footer#page-footer .footer-flex .footer-flex-item:first-child{text-align:right}@media (max-width:640px){footer#page-footer .footer-flex .footer-flex-item:first-child{text-align:center}footer#page-footer .footer-flex .footer-flex-item:last-child{text-align:center}}
nav#page-navigation #page-navigation-links{text-align:left}nav#page-navigation #page-navigation-links>li>a{text-align:right}.dropdown-parent .dropdown-menu{text-align:right}.form-group label{text-align:left}.form-group>label{margin-right:0;margin-left:1em}.form-group .group-input-button button{border-right-width:0;border-left-width:2px;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-left-radius:2px;border-bottom-right-radius:0}.form-group .group-input-button select{border-top-left-radius:0;border-top-right-radius:2px;border-bottom-left-radius:0;border-bottom-right-radius:2px}footer#page-footer .footer-flex .footer-flex-item:last-child{text-align:left}footer#page-footer .footer-flex .footer-flex-item:first-child{text-align:right}@media (max-width:640px){footer#page-footer .footer-flex .footer-flex-item:first-child{text-align:center}footer#page-footer .footer-flex .footer-flex-item:last-child{text-align:center}}
/*# sourceMappingURL=rtl.css.map */

View File

@ -1 +1 @@
{"version":3,"sources":["rtl.scss"],"names":[],"mappings":"AAAA,2CAEI,WAAA,KAFJ,gDAMQ,WAAA,MAIR,gCAEI,WAAA,MAGJ,kBAIQ,WAAA,KAJR,kBASQ,aAAA,EACA,YAAA,IAIR,6DAKQ,WAAA,KALR,8DAUQ,WAAA,MAIR,yBAEI,8DAIQ,WAAA,OAJR,6DASQ,WAAA","file":"rtl.css","sourcesContent":["nav#page-navigation #page-navigation-links\r\n{\r\n text-align: left;\r\n\r\n > li > a\r\n {\r\n text-align: right;\r\n }\r\n}\r\n\r\n.dropdown-parent .dropdown-menu\r\n{\r\n text-align: right;\r\n}\r\n\r\n.form-group\r\n{\r\n label\r\n {\r\n text-align: left;\r\n }\r\n\r\n > label\r\n {\r\n margin-right: 0;\r\n margin-left: 1em;\r\n }\r\n}\r\n\r\nfooter#page-footer .footer-flex .footer-flex-item\r\n{\r\n\r\n &:last-child\r\n {\r\n text-align: left;\r\n }\r\n\r\n &:first-child\r\n {\r\n text-align: right;\r\n }\r\n}\r\n\r\n@media (max-width: 640px)\r\n{\r\n footer#page-footer .footer-flex .footer-flex-item\r\n {\r\n &:first-child\r\n {\r\n text-align: center;\r\n }\r\n\r\n &:last-child\r\n {\r\n text-align: center;\r\n }\r\n }\r\n}\r\n"]}
{"version":3,"sources":["rtl.scss"],"names":[],"mappings":"AAEA,2CAEI,WAAA,KAFJ,gDAMQ,WAAA,MAIR,gCAEI,WAAA,MAGJ,kBAIQ,WAAA,KAJR,kBASQ,aAAA,EACA,YAAA,IAVR,uCAiBY,mBAAA,EACA,kBAAA,IACA,uBAAA,IACA,wBAAA,EACA,0BAAA,IACA,2BAAA,EAtBZ,uCA2BY,uBAAA,EACA,wBAAA,IACA,0BAAA,EACA,2BAAA,IAKZ,6DAKQ,WAAA,KALR,8DAUQ,WAAA,MAIR,yBAEI,8DAIQ,WAAA,OAJR,6DASQ,WAAA","file":"rtl.css","sourcesContent":["@import \"inc/_variables.scss\";\r\n\r\nnav#page-navigation #page-navigation-links\r\n{\r\n text-align: left;\r\n\r\n > li > a\r\n {\r\n text-align: right;\r\n }\r\n}\r\n\r\n.dropdown-parent .dropdown-menu\r\n{\r\n text-align: right;\r\n}\r\n\r\n.form-group\r\n{\r\n label\r\n {\r\n text-align: left;\r\n }\r\n\r\n > label\r\n {\r\n margin-right: 0;\r\n margin-left: 1em;\r\n }\r\n\r\n .group-input-button\r\n {\r\n button\r\n {\r\n border-right-width: 0;\r\n border-left-width: $border-size;\r\n border-top-left-radius: $border-size;\r\n border-top-right-radius: 0;\r\n border-bottom-left-radius: $border-size;\r\n border-bottom-right-radius: 0;\r\n }\r\n\r\n select\r\n {\r\n border-top-left-radius: 0;\r\n border-top-right-radius: $border-size;\r\n border-bottom-left-radius: 0;\r\n border-bottom-right-radius: $border-size;\r\n }\r\n }\r\n}\r\n\r\nfooter#page-footer .footer-flex .footer-flex-item\r\n{\r\n\r\n &:last-child\r\n {\r\n text-align: left;\r\n }\r\n\r\n &:first-child\r\n {\r\n text-align: right;\r\n }\r\n}\r\n\r\n@media (max-width: 640px)\r\n{\r\n footer#page-footer .footer-flex .footer-flex-item\r\n {\r\n &:first-child\r\n {\r\n text-align: center;\r\n }\r\n\r\n &:last-child\r\n {\r\n text-align: center;\r\n }\r\n }\r\n}\r\n"]}

View File

@ -1,4 +1,6 @@
nav#page-navigation #page-navigation-links
@import "inc/_variables.scss";
nav#page-navigation #page-navigation-links
{
text-align: left;
@ -25,6 +27,27 @@
margin-right: 0;
margin-left: 1em;
}
.group-input-button
{
button
{
border-right-width: 0;
border-left-width: $border-size;
border-top-left-radius: $border-size;
border-top-right-radius: 0;
border-bottom-left-radius: $border-size;
border-bottom-right-radius: 0;
}
select
{
border-top-left-radius: 0;
border-top-right-radius: $border-size;
border-bottom-left-radius: 0;
border-bottom-right-radius: $border-size;
}
}
}
footer#page-footer .footer-flex .footer-flex-item

View File

@ -1,2 +1,2 @@
"use strict";var BuildFeed;!function(e){let t,n;function a(e){e.preventDefault();this.nextElementSibling.classList.toggle("open")}function o(e){e.preventDefault();const t=this,n=t.parentElement.classList.contains("open");if(l(e),!n){t.parentElement.classList.toggle("open"),document.getElementById("menu-open-overlay").classList.add("open")}}function l(e){e.preventDefault();const t=document.getElementsByClassName("dropdown-parent");for(let e=0;e<t.length;e++)t[e].classList.remove("open");document.getElementById("menu-open-overlay").classList.remove("open")}function d(e){e.preventDefault();document.cookie=`bf_theme=${this.dataset.theme}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`,location.reload(!0)}function c(e){e.preventDefault();document.cookie=`bf_lang=${this.dataset.lang}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`,location.reload(!0)}function s(e){e.preventDefault(),document.getElementById("modal-search-overlay").classList.add("open")}function i(e){e.preventDefault(),document.getElementById("modal-search-overlay").classList.remove("open")}function r(e){e.preventDefault(),e.stopPropagation()}function u(e){document.getElementById("modal-search-result").innerHTML="",void 0!==n&&clearTimeout(n),void 0!==t&&t.readyState!==XMLHttpRequest.DONE&&t.abort(),n=setInterval(m,200)}function m(){void 0!==n&&clearTimeout(n);const e=document.getElementById("modal-search-input");(t=new XMLHttpRequest).onreadystatechange=p,t.open("GET",`/api/GetSearchResult/${e.value}/`,!0),t.setRequestHeader("accept","application/json"),t.send(null)}function p(e){if(t.readyState!==XMLHttpRequest.DONE||200!==t.status)return;const n=document.getElementById("modal-search-result"),a=document.getElementById("result-template"),o=jsrender.templates(a.innerHTML).render(JSON.parse(t.responseText));n.innerHTML=o;const l=n.getElementsByTagName("a");for(let e=0;e<l.length;e++)l[e].addEventListener("click",e=>{e.preventDefault();const t=document.getElementById("modal-search-input");ga("send","pageview",`/api/GetSearchResult/${t.value}/`),location.assign(e.currentTarget.href)})}e.MobileMenuToggle=a,e.DropdownClick=o,e.CloseDropdowns=l,e.SwitchTheme=d,e.SwitchLanguage=c,e.OpenSearch=s,e.CloseSearch=i,e.StopClick=r,e.InitiateSearch=u,e.SendSearch=m,e.CompleteSearch=p,e.BuildFeedSetup=function(e){const t=document.getElementsByClassName("dropdown-parent");for(let e=0;e<t.length;e++)for(let n=0;n<t[e].childNodes.length;n++){const a=t[e].childNodes[n];"A"===a.nodeName&&a.addEventListener("click",o)}document.getElementById("menu-open-overlay").addEventListener("click",l);const n=document.getElementById("settings-theme-menu").getElementsByTagName("a");for(let e=0;e<n.length;e++)n[e].addEventListener("click",d);const m=document.getElementById("settings-lang-menu").getElementsByTagName("a");for(let e=0;e<m.length;e++)m[e].addEventListener("click",c);document.getElementById("page-navigation-toggle").addEventListener("click",a),document.getElementById("page-navigation-search").addEventListener("click",s),document.getElementById("modal-search-overlay").addEventListener("click",i),document.getElementById("modal-search").addEventListener("click",r),document.getElementById("modal-search-input").addEventListener("keyup",u)}}(BuildFeed||(BuildFeed={})),window.addEventListener("load",BuildFeed.BuildFeedSetup);
"use strict";var BuildFeed;!function(e){let t,n;function l(e){e.preventDefault();const t=this.nextElementSibling;null!=t&&t.classList.toggle("open")}function o(e){e.preventDefault();const t=this.parentElement;if(null==t)return;const n=t.classList.contains("open");if(a(e),!n){t.classList.toggle("open");const e=document.getElementById("menu-open-overlay");null!=e&&e.classList.add("open")}}function a(e){e.preventDefault();const t=document.getElementsByClassName("dropdown-parent");for(let e=0;e<t.length;e++)t[e].classList.remove("open");const n=document.getElementById("menu-open-overlay");null!=n&&n.classList.remove("open")}function s(e){e.preventDefault(),document.cookie=`bf_theme=${this.dataset.theme}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`,location.reload(!0)}function c(e){e.preventDefault(),document.cookie=`bf_lang=${this.dataset.lang}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`,location.reload(!0)}function d(e){e.preventDefault();const t=document.getElementById("modal-search-overlay");null!=t&&t.classList.add("open")}function i(e){e.preventDefault();const t=document.getElementById("modal-search-overlay");null!=t&&t.classList.remove("open")}function u(e){e.preventDefault(),e.stopPropagation()}function r(){const e=document.getElementById("modal-search-result");null!=e&&(e.innerHTML="",void 0!==n&&clearTimeout(n),void 0!==t&&t.readyState!==XMLHttpRequest.DONE&&t.abort(),n=setInterval(m,200))}function m(){void 0!==n&&clearTimeout(n);const e=document.getElementById("modal-search-input");(t=new XMLHttpRequest).onreadystatechange=p,t.open("GET",`/api/GetSearchResult/${e.value}/`,!0),t.setRequestHeader("accept","application/json"),t.send(null)}function p(){if(this.readyState!==XMLHttpRequest.DONE||200!==this.status)return;const e=document.getElementById("modal-search-result"),n=document.getElementById("result-template");if(null==e||null==n)return;const l=jsrender.templates(n.innerHTML).render(JSON.parse(t.responseText));e.innerHTML=l;const o=e.getElementsByTagName("a");for(let e=0;e<o.length;e++)o[e].addEventListener("click",e=>{e.preventDefault();const t=document.getElementById("modal-search-input");ga("send","pageview",`/api/GetSearchResult/${t.value}/`),location.assign(e.currentTarget.href)})}e.MobileMenuToggle=l,e.DropdownClick=o,e.CloseDropdowns=a,e.SwitchTheme=s,e.SwitchLanguage=c,e.OpenSearch=d,e.CloseSearch=i,e.StopClick=u,e.InitiateSearch=r,e.SendSearch=m,e.CompleteSearch=p,e.BuildFeedSetup=function(){const e=document.getElementsByClassName("dropdown-parent");for(let t=0;t<e.length;t++)for(let n=0;n<e[t].childNodes.length;n++){const l=e[t].childNodes[n];"A"===l.nodeName&&l.addEventListener("click",o)}const t=document.getElementById("menu-open-overlay");null!=t&&t.addEventListener("click",a);const n=document.getElementById("settings-theme-menu");if(null!=n){const e=n.getElementsByTagName("a");for(let t=0;t<e.length;t++)e[t].addEventListener("click",s)}const m=document.getElementById("settings-lang-menu");if(null!=m){const e=m.getElementsByTagName("a");for(let t=0;t<e.length;t++)e[t].addEventListener("click",c)}const p=document.getElementById("page-navigation-toggle");null!=p&&p.addEventListener("click",l);const g=document.getElementById("page-navigation-search");null!=g&&g.addEventListener("click",d);const h=document.getElementById("modal-search-overlay");null!=h&&h.addEventListener("click",i);const v=document.getElementById("modal-search");null!=v&&v.addEventListener("click",u);const E=document.getElementById("modal-search-input");null!=E&&E.addEventListener("keyup",r)}}(BuildFeed||(BuildFeed={})),window.addEventListener("load",BuildFeed.BuildFeedSetup);
//# sourceMappingURL=bfs.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,39 +1,53 @@
/// <reference path="../../scripts/typings/google.analytics/ga.d.ts" />
/// <reference path="../../scripts/typings/jsrender/jsrender.d.ts" />
/// <reference path="../../node_modules/@types/google.analytics/index.d.ts" />
/// <reference path="../../node_modules/@types/jsrender/index.d.ts" />
"use strict";
// ReSharper disable once InconsistentNaming
declare var jsrender: JQueryStatic;
module BuildFeed
{
let ajax: XMLHttpRequest;
let timeout: number;
export function MobileMenuToggle(ev: MouseEvent)
export function MobileMenuToggle(this: Element, ev: Event)
{
ev.preventDefault();
const button = this as HTMLButtonElement;
button.nextElementSibling.classList.toggle("open");
const list = this.nextElementSibling;
if (list != null)
{
list.classList.toggle("open");
}
}
export function DropdownClick(ev: MouseEvent)
export function DropdownClick(this: Element, ev: Event)
{
ev.preventDefault();
const link = this as HTMLAnchorElement;
const alreadyOpen = link.parentElement.classList.contains("open");
const linkParent = this.parentElement;
if (linkParent == null)
{
return;
}
const alreadyOpen = linkParent.classList.contains("open");
CloseDropdowns(ev);
if (!alreadyOpen)
{
link.parentElement.classList.toggle("open");
linkParent.classList.toggle("open");
const menuClickCapture = document.getElementById("menu-open-overlay") as HTMLDivElement;
menuClickCapture.classList.add("open");
const menuClickCapture = document.getElementById("menu-open-overlay");
if (menuClickCapture != null)
{
menuClickCapture.classList.add("open");
}
}
}
export function CloseDropdowns(ev: MouseEvent)
export function CloseDropdowns(ev: Event)
{
ev.preventDefault();
@ -43,53 +57,65 @@ module BuildFeed
ddParents[i].classList.remove("open");
}
const menuClickCapture = document.getElementById("menu-open-overlay") as HTMLDivElement;
menuClickCapture.classList.remove("open");
const menuClickCapture = document.getElementById("menu-open-overlay");
if (menuClickCapture != null)
{
menuClickCapture.classList.remove("open");
}
}
export function SwitchTheme(ev: MouseEvent)
export function SwitchTheme(this: HTMLElement, ev: Event)
{
ev.preventDefault();
const link = this as HTMLAnchorElement;
document.cookie = `bf_theme=${link.dataset["theme"]}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`;
document.cookie = `bf_theme=${this.dataset["theme"]}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`;
location.reload(true);
}
export function SwitchLanguage(ev: MouseEvent)
export function SwitchLanguage(this: HTMLElement, ev: Event)
{
ev.preventDefault();
const link = this as HTMLAnchorElement;
document.cookie = `bf_lang=${link.dataset["lang"]}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`;
document.cookie = `bf_lang=${this.dataset["lang"]}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/`;
location.reload(true);
}
export function OpenSearch(ev: MouseEvent)
export function OpenSearch(ev: Event)
{
ev.preventDefault();
const modal = document.getElementById("modal-search-overlay") as HTMLDivElement;
modal.classList.add("open");
const modal = document.getElementById("modal-search-overlay");
if (modal != null)
{
modal.classList.add("open");
}
}
export function CloseSearch(ev: MouseEvent)
export function CloseSearch(ev: Event)
{
ev.preventDefault();
const modal = document.getElementById("modal-search-overlay") as HTMLDivElement;
modal.classList.remove("open");
const modal = document.getElementById("modal-search-overlay");
if (modal != null)
{
modal.classList.remove("open");
}
}
export function StopClick(ev: MouseEvent)
export function StopClick(ev: Event)
{
ev.preventDefault();
ev.stopPropagation();
}
export function InitiateSearch(ev: KeyboardEvent)
export function InitiateSearch()
{
const resultPane = document.getElementById("modal-search-result") as HTMLDivElement;
const resultPane = document.getElementById("modal-search-result");
if (resultPane == null)
{
return;
}
resultPane.innerHTML = "";
if (typeof (timeout) !== "undefined")
@ -121,15 +147,20 @@ module BuildFeed
ajax.send(null);
}
export function CompleteSearch(ev: ProgressEvent)
export function CompleteSearch(this: XMLHttpRequest)
{
if (ajax.readyState !== XMLHttpRequest.DONE || ajax.status !== 200)
if (this.readyState !== XMLHttpRequest.DONE || this.status !== 200)
{
return;
}
const resultPane = document.getElementById("modal-search-result");
const templateContent = document.getElementById("result-template");
if (resultPane == null || templateContent == null)
{
return;
}
const resultPane = document.getElementById("modal-search-result") as HTMLDivElement;
const templateContent = document.getElementById("result-template") as HTMLDivElement;
const template = jsrender.templates(templateContent.innerHTML);
const content = template.render(JSON.parse(ajax.responseText));
resultPane.innerHTML = content;
@ -148,7 +179,7 @@ module BuildFeed
}
}
export function BuildFeedSetup(ev: Event)
export function BuildFeedSetup()
{
const ddParents = document.getElementsByClassName("dropdown-parent");
for (let i = 0; i < ddParents.length; i++)
@ -164,35 +195,61 @@ module BuildFeed
}
}
const menuClickCapture = document.getElementById("menu-open-overlay") as HTMLDivElement;
menuClickCapture.addEventListener("click", CloseDropdowns);
const ddThemes = document.getElementById("settings-theme-menu").getElementsByTagName("a");
for (let i = 0; i < ddThemes.length; i++)
const menuClickCapture = document.getElementById("menu-open-overlay");
if (menuClickCapture != null)
{
ddThemes[i].addEventListener("click", SwitchTheme);
menuClickCapture.addEventListener("click", CloseDropdowns);
}
const ddLangs = document.getElementById("settings-lang-menu").getElementsByTagName("a");
for (let i = 0; i < ddLangs.length; i++)
const menuTheme = document.getElementById("settings-theme-menu");
if (menuTheme != null)
{
ddLangs[i].addEventListener("click", SwitchLanguage);
const ddThemes = menuTheme.getElementsByTagName("a");
for (let i = 0; i < ddThemes.length; i++)
{
ddThemes[i].addEventListener("click", SwitchTheme);
}
}
const menuLang = document.getElementById("settings-lang-menu");
if (menuLang != null)
{
const ddLangs = menuLang.getElementsByTagName("a");
for (let i = 0; i < ddLangs.length; i++)
{
ddLangs[i].addEventListener("click", SwitchLanguage);
}
}
const btnNav = document.getElementById("page-navigation-toggle");
btnNav.addEventListener("click", MobileMenuToggle);
if (btnNav != null)
{
btnNav.addEventListener("click", MobileMenuToggle);
}
const btnSearch = document.getElementById("page-navigation-search");
btnSearch.addEventListener("click", OpenSearch);
if (btnSearch != null)
{
btnSearch.addEventListener("click", OpenSearch);
}
const modalOverlay = document.getElementById("modal-search-overlay") as HTMLDivElement;
modalOverlay.addEventListener("click", CloseSearch);
const modalOverlay = document.getElementById("modal-search-overlay");
if (modalOverlay != null)
{
modalOverlay.addEventListener("click", CloseSearch);
}
const modalDialog = document.getElementById("modal-search") as HTMLDivElement;
modalDialog.addEventListener("click", StopClick);
const modalDialog = document.getElementById("modal-search");
if (modalDialog != null)
{
modalDialog.addEventListener("click", StopClick);
}
const modalInput = document.getElementById("modal-search-input") as HTMLInputElement;
modalInput.addEventListener("keyup", InitiateSearch);
const modalInput = document.getElementById("modal-search-input");
if (modalInput != null)
{
modalInput.addEventListener("keyup", InitiateSearch);
}
}
}

View File

@ -1,2 +1,2 @@
"use script";var BuildFeed;!function(t){!function(t){const e=5;let n,i=[],o=0;class s{getElement(){return this.element}bumpElement(t){let n=Math.round((Math.random()/2+.5)*e);return this.top=this.top+n,this.top<-10||this.top>window.innerHeight+10?(this.element.remove(),!0):t&&(n=Math.round((Math.random()/2+.5)*e),this.left=Math.random()>.5?this.left+n:this.left-n,this.left<-10||this.left>window.innerWidth+10)?(this.element.remove(),!0):(this.element.style.transform=`translate(${this.left}px, ${this.top}px)`,!1)}constructor(){this.element=document.createElement("div"),this.top=0,this.left=Math.round(Math.random()*window.innerWidth)}}function r(){window.requestAnimationFrame(a)}function a(){if(o%5==0)for(let t=0;t<2;t++){const t=new s;i.push(t),n.appendChild(t.getElement())}for(const t of i){t.bumpElement(!0)&&i.splice(i.indexOf(t),1)}o++}t.Setup=function(){(n=document.createElement("div")).className="snow-container";const t=window.navigator.userAgent.match(/Firefox\/([0-9]+)\./);(t?parseInt(t[1]):0)>=57&&(n.className+=" quantum-snow-container"),document.body.appendChild(n),window.requestAnimationFrame(a),setInterval(r,125)}}(t.Christmas||(t.Christmas={}))}(BuildFeed||(BuildFeed={})),window.addEventListener("load",BuildFeed.Christmas.Setup);
"use strict";var BuildFeed;!function(t){!function(t){const e=5;let n,i=[],o=0;class s{getElement(){return this.element}bumpElement(t){let n=Math.round((Math.random()/2+.5)*e);return this.top=this.top+n,this.top<-10||this.top>window.innerHeight+10?(this.element.remove(),!0):t&&(n=Math.round((Math.random()/2+.5)*e),this.left=Math.random()>.5?this.left+n:this.left-n,this.left<-10||this.left>window.innerWidth+10)?(this.element.remove(),!0):(this.element.style.transform=`translate(${this.left}px, ${this.top}px)`,!1)}constructor(){this.element=document.createElement("div"),this.top=0,this.left=Math.round(Math.random()*window.innerWidth)}}function r(){window.requestAnimationFrame(a)}function a(){if(o%5==0)for(let t=0;t<2;t++){const t=new s;i.push(t),n.appendChild(t.getElement())}for(const t of i){t.bumpElement(!0)&&i.splice(i.indexOf(t),1)}o++}t.Setup=function(){(n=document.createElement("div")).className="snow-container";const t=window.navigator.userAgent.match(/Firefox\/([0-9]+)\./);(t?parseInt(t[1]):0)>=57&&(n.className+=" quantum-snow-container"),document.body.appendChild(n),window.requestAnimationFrame(a),setInterval(r,125)}}(t.Christmas||(t.Christmas={}))}(BuildFeed||(BuildFeed={})),window.addEventListener("load",BuildFeed.Christmas.Setup);
//# sourceMappingURL=christmas.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
"use script";
"use strict";
module BuildFeed.Christmas
{
@ -7,7 +7,6 @@ module BuildFeed.Christmas
let snowContainer: HTMLDivElement;
let snow: Array<Snowflake> = [];
let counter: number = 0;
let tick: number = 0;
class Snowflake
{

View File

@ -2,5 +2,23 @@
"exclude": [
"node_modules",
"Scripts"
]
],
"compilerOptions": {
"target": "es6",
"module": "none",
/* Strict Type-Checking Options */
"strict": true, /* Enable all strict type-checking options. */
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
"strictNullChecks": true, /* Enable strict null checks. */
"noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
"alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
/* Additional Checks */
"noUnusedLocals": true, /* Report errors on unused locals. */
"noUnusedParameters": true, /* Report errors on unused parameters. */
"noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
"noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */
}
}