SPRNET-1561 ASP.NET MVC 5 and WEB API 2 support
* also add .NET 4.5 targets * fix issues with libs and build targets
3
.gitignore
vendored
@@ -70,8 +70,9 @@ PrecompiledWeb
|
||||
/src/Spring/Spring.Web.Mvc/Spring.Web.Mvc.xml
|
||||
/src/Spring/Spring.Web.Mvc3/Spring.Web.Mvc3.xml
|
||||
/src/Spring/Spring.Web.Mvc4/Spring.Web.Mvc4.xml
|
||||
/src/Spring/Spring.Web.Mvc5/Spring.Web.Mvc5.xml
|
||||
/src/Spring/Spring.Testing.NUnit/Spring.Testing.NUnit.xml
|
||||
/src/Spring/Spring.Services/Spring.Services.xml
|
||||
/src/Spring/Spring.Web.Extensions/Spring.Web.Extensions.xml
|
||||
/src/Spring/GenCommonAssemblyInfo.cs
|
||||
/.project
|
||||
/.project
|
||||
|
||||
6
.nuget/NuGet.Config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<solution>
|
||||
<add key="disableSourceControlIntegration" value="true" />
|
||||
</solution>
|
||||
</configuration>
|
||||
BIN
.nuget/NuGet.exe
Normal file
136
.nuget/NuGet.targets
Normal file
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
|
||||
|
||||
<!-- Enable the restore command to run before builds -->
|
||||
<RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
|
||||
|
||||
<!-- Property that enables building a package from a project -->
|
||||
<BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
|
||||
|
||||
<!-- Determines if package restore consent is required to restore packages -->
|
||||
<RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
|
||||
|
||||
<!-- Download NuGet.exe if it does not already exist -->
|
||||
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(PackageSources)' == '' ">
|
||||
<!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
|
||||
<!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
|
||||
<!--
|
||||
<PackageSource Include="https://www.nuget.org/api/v2/" />
|
||||
<PackageSource Include="https://my-nuget-source/nuget/" />
|
||||
-->
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
|
||||
<!-- Windows specific commands -->
|
||||
<NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
|
||||
<PackagesConfig>$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
|
||||
<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
|
||||
<NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
|
||||
<PackagesConfig>packages.config</PackagesConfig>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- NuGet command -->
|
||||
<NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
|
||||
<PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
|
||||
|
||||
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
|
||||
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand>
|
||||
|
||||
<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
|
||||
|
||||
<RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
|
||||
<NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
|
||||
|
||||
<PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir) "</PaddedSolutionDir>
|
||||
<PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
|
||||
|
||||
<!-- Commands -->
|
||||
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
|
||||
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
|
||||
|
||||
<!-- We need to ensure packages are restored prior to assembly resolve -->
|
||||
<BuildDependsOn Condition="$(RestorePackages) == 'true'">
|
||||
RestorePackages;
|
||||
$(BuildDependsOn);
|
||||
</BuildDependsOn>
|
||||
|
||||
<!-- Make the build depend on restore packages -->
|
||||
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
|
||||
$(BuildDependsOn);
|
||||
BuildPackage;
|
||||
</BuildDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CheckPrerequisites">
|
||||
<!-- Raise an error if we're unable to locate nuget.exe -->
|
||||
<Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
|
||||
<!--
|
||||
Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
|
||||
This effectively acts as a lock that makes sure that the download operation will only happen once and all
|
||||
parallel builds will have to wait for it to complete.
|
||||
-->
|
||||
<MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_DownloadNuGet">
|
||||
<DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
|
||||
<Exec Command="$(RestoreCommand)"
|
||||
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
|
||||
|
||||
<Exec Command="$(RestoreCommand)"
|
||||
LogStandardErrorAsError="true"
|
||||
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
|
||||
<Exec Command="$(BuildCommand)"
|
||||
Condition=" '$(OS)' != 'Windows_NT' " />
|
||||
|
||||
<Exec Command="$(BuildCommand)"
|
||||
LogStandardErrorAsError="true"
|
||||
Condition=" '$(OS)' == 'Windows_NT' " />
|
||||
</Target>
|
||||
|
||||
<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
||||
<ParameterGroup>
|
||||
<OutputFilename ParameterType="System.String" Required="true" />
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Reference Include="System.Core" />
|
||||
<Using Namespace="System" />
|
||||
<Using Namespace="System.IO" />
|
||||
<Using Namespace="System.Net" />
|
||||
<Using Namespace="Microsoft.Build.Framework" />
|
||||
<Using Namespace="Microsoft.Build.Utilities" />
|
||||
<Code Type="Fragment" Language="cs">
|
||||
<![CDATA[
|
||||
try {
|
||||
OutputFilename = Path.GetFullPath(OutputFilename);
|
||||
|
||||
Log.LogMessage("Downloading latest version of NuGet.exe...");
|
||||
WebClient webClient = new WebClient();
|
||||
webClient.DownloadFile("https://www.nuget.org/nuget.exe", OutputFilename);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex) {
|
||||
Log.LogErrorFromException(ex);
|
||||
return false;
|
||||
}
|
||||
]]>
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
</Project>
|
||||
@@ -99,6 +99,17 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Conversation.NHi
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Conversation.NHibernate33.Tests.2010", "test\Spring\Spring.Web.Conversation.NHibernate33.Tests\Spring.Web.Conversation.NHibernate33.Tests.2010.csproj", "{C57B05EA-FD1A-40EC-BB60-D2E45AB1A86A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Mvc5.2010", "src\Spring\Spring.Web.Mvc5\Spring.Web.Mvc5.2010.csproj", "{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Web.Mvc5.Tests.2010", "test\Spring\Spring.Web.Mvc5.Tests\Spring.Web.Mvc5.Tests.2010.csproj", "{B9590252-6D58-4587-950C-475AB61FDBCF}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{79F495DF-83D6-435E-A20E-47800F6F8FE7}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.nuget\NuGet.Config = .nuget\NuGet.Config
|
||||
.nuget\NuGet.exe = .nuget\NuGet.exe
|
||||
.nuget\NuGet.targets = .nuget\NuGet.targets
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|.NET = Debug|.NET
|
||||
@@ -549,6 +560,26 @@ Global
|
||||
{C57B05EA-FD1A-40EC-BB60-D2E45AB1A86A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C57B05EA-FD1A-40EC-BB60-D2E45AB1A86A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{C57B05EA-FD1A-40EC-BB60-D2E45AB1A86A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{39AAD7EA-2ED0-4E50-8D4D-C666EA9CBFE4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Debug|.NET.ActiveCfg = Debug|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Release|.NET.ActiveCfg = Release|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B9590252-6D58-4587-950C-475AB61FDBCF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
138
Spring.build
@@ -310,12 +310,21 @@ Commandline Examples:
|
||||
|
||||
<call target="compile-build-3.5"/>
|
||||
<call target="compile-build-4.0"/>
|
||||
<call target="compile-build-4.5"/>
|
||||
|
||||
<call target="compile-build-mono-2.0"/>
|
||||
|
||||
</target>
|
||||
-->
|
||||
|
||||
<target name="restore-nuget-packages" description="Restores NuGet packages that solution(s) reference">
|
||||
<exec
|
||||
program=".nuget\nuget.exe"
|
||||
commandline="restore Spring.NET.2010.sln"
|
||||
workingdir="."
|
||||
failonerror="true" />
|
||||
</target>
|
||||
|
||||
<target name="compile-build-3.5" description="Builds for .NET 3.5 if available">
|
||||
|
||||
<if test="${net-3.5.installed}">
|
||||
@@ -353,6 +362,23 @@ Commandline Examples:
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<target name="compile-build-4.5" description="Builds for .NET 4.5 if available">
|
||||
|
||||
<if test="${net-4.5.installed}">
|
||||
<call target="compile-net-4.5"/>
|
||||
</if>
|
||||
|
||||
<if test="${not net-4.5.installed}">
|
||||
<if test="${property::exists('project.build.package') and project.build.package}">
|
||||
.NET 4.5 Build Skipped for Package
|
||||
<fail message="The .NET Framework 4.5 is not available."/>
|
||||
<echo message="The .NET Framework 4.5 is not available. Build skipped during package."/>
|
||||
</if>
|
||||
<if test="${not(property::exists('project.build.package') and project.build.package)}">
|
||||
<echo message="The .NET Framework 4.5 is not available. Build skipped."/>
|
||||
</if>
|
||||
</if>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- Targets for other .NET frameworks -->
|
||||
@@ -396,15 +422,26 @@ Commandline Examples:
|
||||
<property name="nh32.lib.dir" value="${spring.basedir}/lib/NHibernate32/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}"/>
|
||||
<property name="nh33.lib.dir" value="${spring.basedir}/lib/NHibernate33/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}"/>
|
||||
<property name="quartz21.lib.dir" value="${spring.basedir}/lib/Quartz21/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}"/>
|
||||
<call target="copylibtobin"/>
|
||||
|
||||
<!-- we use same libs for both 4.0 and 4.5 builds -->
|
||||
<if test="${nant.settings.currentframework == 'net-4.5'}">
|
||||
<property name="lib.dir" value="${spring.basedir}/lib/net/4.0"/>
|
||||
<property name="nh32.lib.dir" value="${spring.basedir}/lib/NHibernate32/net/4.0"/>
|
||||
<property name="nh33.lib.dir" value="${spring.basedir}/lib/NHibernate33/net/4.0"/>
|
||||
<property name="quartz21.lib.dir" value="${spring.basedir}/lib/Quartz21/net/4.0"/>
|
||||
</if>
|
||||
|
||||
|
||||
<call target="copylibtobin"/>
|
||||
|
||||
<!-- build assemblies -->
|
||||
<nant buildfile="src/Spring/Spring.Core/Spring.Core.build" target="build" />
|
||||
<nant buildfile="src/Spring/Spring.Aop/Spring.Aop.build" target="build" if="${build-aop}"/>
|
||||
<nant buildfile="src/Spring/Spring.Web/Spring.Web.build" target="build" if="${build-web}"/>
|
||||
<nant buildfile="src/Spring/Spring.Web.Extensions/Spring.Web.Extensions.build" target="build" if="${build-web and (nant.settings.currentframework == 'net-3.5' or nant.settings.currentframework == 'net-4.0' or nant.settings.currentframework == 'mono-2.0')}"/>
|
||||
<nant buildfile="src/Spring/Spring.Web.Mvc3/Spring.Web.Mvc3.build" target="build" if="${nant.settings.currentframework == 'net-4.0'}"/>
|
||||
<nant buildfile="src/Spring/Spring.Web.Mvc4/Spring.Web.Mvc4.build" target="build" if="${nant.settings.currentframework == 'net-4.0'}"/>
|
||||
<nant buildfile="src/Spring/Spring.Web.Mvc3/Spring.Web.Mvc3.build" target="build" if="${nant.settings.currentframework == 'net-4.0' or nant.settings.currentframework == 'net-4.5'}"/>
|
||||
<nant buildfile="src/Spring/Spring.Web.Mvc4/Spring.Web.Mvc4.build" target="build" if="${nant.settings.currentframework == 'net-4.0' or nant.settings.currentframework == 'net-4.5'}"/>
|
||||
<nant buildfile="src/Spring/Spring.Web.Mvc5/Spring.Web.Mvc5.build" target="build" if="${nant.settings.currentframework == 'net-4.5'}"/>
|
||||
<nant buildfile="src/Spring/Spring.Data/Spring.Data.build" target="build" if="${build-data}"/>
|
||||
|
||||
<nant buildfile="src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.build" target="build" if="${build-data}"/>
|
||||
@@ -413,7 +450,7 @@ Commandline Examples:
|
||||
<nant buildfile="src/Spring/Spring.Services/Spring.Services.build" target="build" if="${build-services}"/>
|
||||
<nant buildfile="src/Spring/Spring.Testing.NUnit/Spring.Testing.NUnit.build" target="build" if="${build-testing-nunit}"/>
|
||||
<nant buildfile="src/Spring/Spring.Testing.Microsoft/Spring.Testing.Microsoft.build" target="build" if="${build-testing-microsoft}"/>
|
||||
<nant buildfile="src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.build" target="build" if="${build-ems and (nant.settings.currentframework == 'net-3.5' or nant.settings.currentframework == 'net-4.0' )}"/>
|
||||
<nant buildfile="src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.build" target="build" if="${build-ems and (nant.settings.currentframework == 'net-3.5' or nant.settings.currentframework == 'net-4.0' or nant.settings.currentframework == 'net-4.5' )}"/>
|
||||
<nant buildfile="src/Spring/Spring.Messaging.Nms/Spring.Messaging.Nms.build" target="build" if="${build-nms}"/>
|
||||
<nant buildfile="src/Spring/Spring.Scheduling.Quartz21/Spring.Scheduling.Quartz21.build" target="build" if="${build-quartz}"/>
|
||||
<nant buildfile="src/Spring/Spring.Messaging/Spring.Messaging.build" target="build" if="${build-msmq}"/>
|
||||
@@ -436,8 +473,9 @@ Commandline Examples:
|
||||
|
||||
<nant buildfile="test/Spring/Spring.Services.Tests/Spring.Services.Tests.build" target="test" if="${build-services}"/>
|
||||
<nant buildfile="test/Spring/Spring.Web.Tests/Spring.Web.Tests.build" target="test" if="${build-web}"/>
|
||||
<nant buildfile="test/Spring/Spring.Web.Mvc3.Tests/Spring.Web.Mvc3.Tests.build" target="test" if="${build-web and nant.settings.currentframework == 'net-4.0'}"/>
|
||||
<nant buildfile="test/Spring/Spring.Web.Mvc4.Tests/Spring.Web.Mvc4.Tests.build" target="test" if="${build-web and nant.settings.currentframework == 'net-4.0'}"/>
|
||||
<nant buildfile="test/Spring/Spring.Web.Mvc3.Tests/Spring.Web.Mvc3.Tests.build" target="test" if="${build-web and nant.settings.currentframework == 'net-4.0' or nant.settings.currentframework == 'net-4.5'}"/>
|
||||
<nant buildfile="test/Spring/Spring.Web.Mvc4.Tests/Spring.Web.Mvc4.Tests.build" target="test" if="${build-web and nant.settings.currentframework == 'net-4.0' or nant.settings.currentframework == 'net-4.5'}"/>
|
||||
<nant buildfile="test/Spring/Spring.Web.Mvc5.Tests/Spring.Web.Mvc5.Tests.build" target="test" if="${build-web and nant.settings.currentframework == 'net-4.5'}"/>
|
||||
<nant buildfile="test/Spring/Spring.Testing.NUnit.Tests/Spring.Testing.NUnit.Tests.build" target="test" if="${build-testing-nunit}"/>
|
||||
<nant buildfile="test/Spring/Spring.Testing.Microsoft.Tests/Spring.Testing.Microsoft.Tests.build" target="test" if="${build-testing-microsoft}"/>
|
||||
<nant buildfile="test/Spring/Spring.Messaging.Ems.Tests/Spring.Messaging.Ems.Tests.build" target="test" if="${build-ems}"/>
|
||||
@@ -450,8 +488,10 @@ Commandline Examples:
|
||||
<!--"Spring.ConversationWA.NH*.Tests.dll" should be at last to prevent the other tests are compiled with reference to this-->
|
||||
|
||||
<!-- conversation tests disabled for now because with .NET 4.5 installed NUnitAsp does not seem to work anymore -->
|
||||
<nant buildfile="test/Spring/Spring.Web.Conversation.NHibernate32.Tests/Spring.Web.Conversation.NHibernate32.Tests.build" target="test" if="${build-conversation and nant.settings.currentframework == 'net-3.5'}"/>
|
||||
<nant buildfile="test/Spring/Spring.Web.Conversation.NHibernate33.Tests/Spring.Web.Conversation.NHibernate33.Tests.build" target="test" if="${build-conversation and nant.settings.currentframework == 'net-3.5'}"/>
|
||||
<if test="${nant.settings.currentframework == 'net-3.5'}">
|
||||
<nant buildfile="test/Spring/Spring.Web.Conversation.NHibernate32.Tests/Spring.Web.Conversation.NHibernate32.Tests.build" target="test" if="${build-conversation}"/>
|
||||
<nant buildfile="test/Spring/Spring.Web.Conversation.NHibernate33.Tests/Spring.Web.Conversation.NHibernate33.Tests.build" target="test" if="${build-conversation}"/>
|
||||
</if>
|
||||
|
||||
<!-- Main solutions and examples are compiled via task build-solutions -->
|
||||
|
||||
@@ -472,7 +512,7 @@ Commandline Examples:
|
||||
</target>
|
||||
|
||||
<target name="compile-net-3.5" description="Builds .NET Framework 3.5 version"
|
||||
depends="set-net-3.5-runtime-configuration, check-spring-basedir, clean-current-bin-dir">
|
||||
depends="set-net-3.5-runtime-configuration, check-spring-basedir, clean-current-bin-dir, restore-nuget-packages">
|
||||
|
||||
<if test="${property::exists('mstest.exe')}">
|
||||
<property name="mstest.exe.current" value="${string::replace(property::get-value('mstest.exe'), 'Microsoft Visual Studio 10.0', 'Microsoft Visual Studio 9.0')}" />
|
||||
@@ -498,7 +538,7 @@ Commandline Examples:
|
||||
</target>
|
||||
|
||||
<target name="compile-net-4.0" description="Builds .NET Framework 4.0 version"
|
||||
depends="set-net-4.0-runtime-configuration, check-spring-basedir, clean-current-bin-dir">
|
||||
depends="set-net-4.0-runtime-configuration, check-spring-basedir, clean-current-bin-dir, restore-nuget-packages">
|
||||
|
||||
<property name="test.withcoverage" value="false" overwrite="true"/>
|
||||
|
||||
@@ -524,6 +564,38 @@ Commandline Examples:
|
||||
<call target="compile-test" />
|
||||
</target>
|
||||
|
||||
|
||||
<target name="compile-net-4.5" description="Builds .NET Framework 4.5 version"
|
||||
depends="set-net-4.5-runtime-configuration, check-spring-basedir, clean-current-bin-dir, restore-nuget-packages">
|
||||
|
||||
<property name="test.withcoverage" value="false" overwrite="true"/>
|
||||
|
||||
<if test="${property::exists('mstest.exe')}">
|
||||
<property name="mstest.exe.current" value="${string::replace(property::get-value('mstest.exe'), 'Microsoft Visual Studio 9.0', 'Microsoft Visual Studio 10.0')}" />
|
||||
</if>
|
||||
<if test="${property::exists('mstest.exe')}">
|
||||
<property name="vs-net.mstest.bin.dir.current" value="${string::replace(property::get-value('vs-net.mstest.bin.dir'), 'Microsoft Visual Studio 9.0', 'Microsoft Visual Studio 10.0')}" />
|
||||
</if>
|
||||
|
||||
<call target="copykeys" if="${project.build.sign}"/>
|
||||
<call target="common.generate-assemblyinfo"/>
|
||||
|
||||
<property name="build-ems" value="false" overwrite="true" />
|
||||
<property name="build-nms" value="true" overwrite="true" />
|
||||
<property name="build-quartz" value="true" overwrite="true" />
|
||||
<property name="build-msmq" value="true" overwrite="true" />
|
||||
<property name="build-msmq-tests" value="true" overwrite="true" />
|
||||
<property name="build-velocity" value="true" overwrite="true" />
|
||||
|
||||
<property name="lib.dir" value="${spring.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}"/>
|
||||
<if test="${nant.settings.currentframework == 'net-4.5'}">
|
||||
<property name="lib.dir" value="${spring.basedir}/lib/net/4.0"/>
|
||||
</if>
|
||||
|
||||
<call target="copylibs" />
|
||||
<call target="compile-test" />
|
||||
</target>
|
||||
|
||||
<target name="compile-mono-2.0" description="Builds MONO Framework 2.0 version"
|
||||
depends="set-mono-2.0-runtime-configuration, check-spring-basedir, clean-current-bin-dir">
|
||||
<call target="copykeys" if="${project.build.sign}"/>
|
||||
@@ -580,8 +652,9 @@ Commandline Examples:
|
||||
<copy todir="${lib.dir}" verbose="${copy-verbose}">
|
||||
<fileset basedir="${lib20.dir}">
|
||||
<include name="*.dll"/>
|
||||
<exclude if="${net-4.0}" name="**/System.Web.Extensions.dll"/>
|
||||
<exclude if="${net-3.5}" name="**/System.Web.Extensions.dll"/>
|
||||
<exclude if="${net-4.0}" name="**/System.Web.Extensions.dll"/>
|
||||
<exclude if="${net-4.5}" name="**/System.Web.Extensions.dll"/>
|
||||
<include name="*.xml"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
@@ -630,6 +703,24 @@ Commandline Examples:
|
||||
<call target="compile-build-4.0"/>
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<target name="build-4.5">
|
||||
<call target="set-build-namespaces-release"/>
|
||||
<echo message="------------------------"/>
|
||||
<echo message="Building .NET 4.5 DEBUG "/>
|
||||
<echo message="------------------------"/>
|
||||
<call target="set-debug-build-configuration"/>
|
||||
<call target="compile-build-4.5"/>
|
||||
|
||||
|
||||
<if test="${property::exists('project.build.package') and project.build.package}">
|
||||
<echo message="--------------------------"/>
|
||||
<echo message="Building .NET 4.5 RELEASE "/>
|
||||
<echo message="--------------------------"/>
|
||||
<call target="set-release-build-configuration"/>
|
||||
<call target="compile-build-4.5"/>
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<target name="build-mono-2.0" if="false">
|
||||
|
||||
@@ -699,6 +790,8 @@ Commandline Examples:
|
||||
<delete dir="src/Spring/Spring.Web.Mvc3/bin" failonerror="false"/>
|
||||
<delete dir="src/Spring/Spring.Web.Mvc4/obj" failonerror="false"/>
|
||||
<delete dir="src/Spring/Spring.Web.Mvc4/bin" failonerror="false"/>
|
||||
<delete dir="src/Spring/Spring.Web.Mvc5/obj" failonerror="false"/>
|
||||
<delete dir="src/Spring/Spring.Web.Mvc5/bin" failonerror="false"/>
|
||||
<delete dir="src/Spring/Spring.Web.Conversation.NHibernate32/obj" failonerror="false"/>
|
||||
<delete dir="src/Spring/Spring.Web.Conversation.NHibernate32/bin" failonerror="false"/>
|
||||
<delete dir="src/Spring/Spring.Web.Conversation.NHibernate33/obj" failonerror="false"/>
|
||||
@@ -712,6 +805,8 @@ Commandline Examples:
|
||||
<delete dir="test/Spring/Spring.Web.Mvc3.Tests/bin" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Mvc4.Tests/obj" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Mvc4.Tests/bin" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Mvc5.Tests/obj" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Mvc5.Tests/bin" failonerror="false"/>
|
||||
|
||||
<delete dir="test/Spring/Spring.Aop.Tests/obj" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Aop.Tests/bin" failonerror="false"/>
|
||||
@@ -779,6 +874,8 @@ Commandline Examples:
|
||||
<delete dir="test/Spring/Spring.Web.Mvc3.Tests/bin" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Mvc4.Tests/obj" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Mvc4.Tests/bin" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Mvc5.Tests/obj" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Mvc5.Tests/bin" failonerror="false"/>
|
||||
|
||||
<delete dir="test/Spring/Spring.Web.Conversation.NHibernate32.Tests/obj" failonerror="false"/>
|
||||
<delete dir="test/Spring/Spring.Web.Conversation.NHibernate32.Tests/bin" failonerror="false"/>
|
||||
@@ -1012,6 +1109,8 @@ Commandline Examples:
|
||||
<call target="${nant.target.root.name}-3.5" />
|
||||
|
||||
<call target="${nant.target.root.name}-4.0" />
|
||||
|
||||
<call target="${nant.target.root.name}-4.5" />
|
||||
|
||||
<!-- ignore Mono 2.0 -->
|
||||
<!-- <call target="${nant.target.root.name}-mono-2.0" /> -->
|
||||
@@ -1039,6 +1138,16 @@ Commandline Examples:
|
||||
<call target="set-release-build-configuration"/>
|
||||
<call target="compile-build-4.0"/>
|
||||
</target>
|
||||
|
||||
<target name="daily-build-4.5">
|
||||
<call target="set-build-namespaces-all"/>
|
||||
<call target="set-package-configuration"/>
|
||||
<call target="set-debug-build-configuration"/>
|
||||
<call target="compile-build-4.5"/>
|
||||
<call target="set-release-build-configuration"/>
|
||||
<call target="compile-build-4.5"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- Target to use when packaging everything in CVS -->
|
||||
<target name="package-cvs" description="Build and Package distribution">
|
||||
@@ -1377,6 +1486,10 @@ Commandline Examples:
|
||||
<include name="*/*/Spring.Web.Mvc4.xml"/>
|
||||
<include name="*/*/Spring.Web.Mvc4.pdb"/>
|
||||
|
||||
<include name="*/*/Spring.Web.Mvc5.dll"/>
|
||||
<include name="*/*/Spring.Web.Mvc5.xml"/>
|
||||
<include name="*/*/Spring.Web.Mvc5.pdb"/>
|
||||
|
||||
<include name="*/*/Spring.Web.Extensions.dll"/>
|
||||
<include name="*/*/Spring.Web.Extensions.xml"/>
|
||||
<include name="*/*/Spring.Web.Extensions.pdb"/>
|
||||
@@ -1631,6 +1744,7 @@ Commandline Examples:
|
||||
<include name="src/Spring/Spring.Web/**"/>
|
||||
<include name="src/Spring/Spring.Web.Mvc3/**"/>
|
||||
<include name="src/Spring/Spring.Web.Mvc4/**"/>
|
||||
<include name="src/Spring/Spring.Web.Mvc5/**"/>
|
||||
<include name="src/Spring/Spring.Web.Extensions/**"/>
|
||||
<include name="src/Spring/Spring.Services/**"/>
|
||||
<include name="src/Spring/Spring.Data/**"/>
|
||||
@@ -1652,6 +1766,7 @@ Commandline Examples:
|
||||
<include name="test/Spring/Spring.Web.Tests/**"/>
|
||||
<include name="test/Spring/Spring.Web.Mvc3.Tests/**"/>
|
||||
<include name="test/Spring/Spring.Web.Mvc4.Tests/**"/>
|
||||
<include name="test/Spring/Spring.Web.Mvc5.Tests/**"/>
|
||||
<include name="test/Spring/Spring.Services.Tests/**"/>
|
||||
<include name="test/Spring/Spring.Data.Tests/**"/>
|
||||
<include name="test/Spring/Spring.Data.Integration.Tests/**"/>
|
||||
@@ -1686,6 +1801,7 @@ Commandline Examples:
|
||||
<include name="examples/Spring/Spring.WebQuickStart/**"/>
|
||||
<include name="examples/Spring/Spring.Mvc3QuickStart/**"/>
|
||||
<include name="examples/Spring/Spring.Mvc4QuickStart/**"/>
|
||||
<include name="examples/Spring/Spring.Mvc5QuickStart/**"/>
|
||||
<include name="examples/Spring/Spring.Web.Extensions.Example/**"/>
|
||||
<include name="examples/Spring/Spring.Web.Extensions.Example/src/Spring.Web.Extensions.Example.2005/Bin/*.refresh"/>
|
||||
<include name="examples/Spring/SpringAir/**"/>
|
||||
|
||||
@@ -39,7 +39,16 @@
|
||||
|
||||
<property name="net-4.0.installed" value="${registry.net-4.0.installed == '1'}" />
|
||||
|
||||
<!-- detect if .net 4.5 is installed -->
|
||||
<property name="net-4.5" value="false"/>
|
||||
<property name="registry.net-4.5.installed" value="0" overwrite="false"/>
|
||||
|
||||
<readregistry property="registry.net-4.5.installed"
|
||||
key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Version"
|
||||
hive="LocalMachine"
|
||||
failonerror="false" />
|
||||
|
||||
<property name="net-4.5.installed" value="${string::starts-with(registry.net-4.5.installed, '4.5.') == true}" />
|
||||
|
||||
<readregistry property="vs-net90.dir" key="SOFTWARE\Microsoft\VisualStudio\9.0\InstallDir" hive="LocalMachine" failonerror="false"/>
|
||||
|
||||
@@ -365,6 +374,28 @@
|
||||
<property name="current.sdkdoc.debug" value="${sdkdoc.debug}" dynamic="true"/>
|
||||
<property name="nowarn.numbers.test" value="${nowarn.numbers.test.default},1701"/>
|
||||
</target>
|
||||
|
||||
<target name="set-net-4.5-runtime-configuration"
|
||||
depends="check-bin-dir, check-sdkdoc-dir, check-sdkdoc-debug, check-current-build-config, check-build-debug, check-build-defines">
|
||||
<property name="nant.settings.currentframework" value="net-4.5"/>
|
||||
<property name="nant.settings.currentframework.number" value="4.5"/>
|
||||
<!-- revision number used when generating assembly info -->
|
||||
<property name="nant.settings.currentframework.revisionnumber" value="45"/>
|
||||
<property name="net-2.0" value="true"/>
|
||||
<property name="net-3.0" value="true"/>
|
||||
<property name="net-3.5" value="true"/>
|
||||
<property name="net-4.0" value="true"/>
|
||||
<property name="net-4.5" value="true"/>
|
||||
<property name="current.build.debug" value="${build.debug}" dynamic="true"/>
|
||||
<property name="current.build.defines.csc" value="${build.defines.csc},NET,NET_2_0,NET_3_0,NET_3_5,NET_4_0,NET_4_0" dynamic="true"/>
|
||||
<property name="current.build.defines.cl" value="${build.defines.cl} /D NET /D NET_2_0 /D NET_3_0 /D NET_3_5 /D NET_4_0 /D NET_4_5" dynamic="true"/>
|
||||
<property name="current.bin.dir"
|
||||
value="${bin.dir}/${framework::get-family(framework::get-target-framework())}/4.5/${current.build.config}"/>
|
||||
<property name="current.sdkdoc.dir"
|
||||
value="${sdkdoc.dir}/${framework::get-family(framework::get-target-framework())}/4.5"/>
|
||||
<property name="current.sdkdoc.debug" value="${sdkdoc.debug}" dynamic="true"/>
|
||||
<property name="nowarn.numbers.test" value="${nowarn.numbers.test.default},1701"/>
|
||||
</target>
|
||||
|
||||
<target name="set-netcf-1.0-runtime-configuration"
|
||||
depends="check-bin-dir, check-sdkdoc-dir, check-sdkdoc-debug, check-current-build-config, check-build-debug, check-build-defines">
|
||||
|
||||
@@ -101,7 +101,7 @@ Rebuilding Solutions using Nant and "solutions.build":
|
||||
|
||||
</target>
|
||||
|
||||
<target name="RebuildAllSolutions-4.0" depends="Clean">
|
||||
<target name="RebuildAllSolutions-4.0" depends="Clean">
|
||||
<!-- build "main" solution -->
|
||||
|
||||
<property name="solutionfile" value="${root.dir}/Spring.NET.2010.sln" />
|
||||
@@ -117,6 +117,7 @@ Rebuilding Solutions using Nant and "solutions.build":
|
||||
<exclude name="Spring.NET.2010.sln"/>
|
||||
<exclude name="examples/Spring/Spring.EmsQuickStart/**/*.sln" unless="${build-ems}"/>
|
||||
<exclude name="examples/**/Spring.Examples.Pool.2010.sln"/>
|
||||
<exclude name="examples/**/Spring.Examples.Pool.2010.sln"/>
|
||||
</items>
|
||||
</in>
|
||||
<do>
|
||||
@@ -128,6 +129,23 @@ Rebuilding Solutions using Nant and "solutions.build":
|
||||
|
||||
</target>
|
||||
|
||||
<target name="RebuildAllSolutions-4.5" depends="Clean">
|
||||
|
||||
<foreach item="File" property="filename">
|
||||
<in>
|
||||
<items basedir="${root.dir}">
|
||||
<!-- <include name="examples/Spring/**/*.2005.sln" /> -->
|
||||
<include name="examples/Spring/**/Spring.Mvc5QuickStart.sln" />
|
||||
</items>
|
||||
</in>
|
||||
<do>
|
||||
<property name="solutionfile" value="${filename}" />
|
||||
<property name="solutionconfiguration" value="${buildconfiguration}" />
|
||||
<call target="RebuildSolution-4.5" />
|
||||
</do>
|
||||
</foreach>
|
||||
|
||||
</target>
|
||||
|
||||
<target name="RebuildSolution-3.5" description="rebuilds a given VS2008 solution file">
|
||||
<echo message="Rebuilding .NET 3.5 Solution ${solutionfile}" />
|
||||
@@ -152,5 +170,17 @@ Rebuilding Solutions using Nant and "solutions.build":
|
||||
<arg line='/property:Platform="Any CPU"'/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
|
||||
<target name="RebuildSolution-4.5" description="rebuilds a given VS2010 solution file">
|
||||
<echo message="Rebuilding .NET 4.5 Solution ${solutionfile}" />
|
||||
<exec program="${msbuild.exe}" verbose="true">
|
||||
<arg value="${solutionfile}"/>
|
||||
<arg line="/nologo" />
|
||||
<arg line="/verbosity:minimal" />
|
||||
<arg line="/property:Configuration=${solutionconfiguration}"/>
|
||||
<!--Specifying mandatory property in SDK 7-->
|
||||
<arg line='/property:Platform="Any CPU"'/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
||||
@@ -236,13 +236,16 @@ ${tool.dir} : dir for tools
|
||||
<property name="test.assemblyname" value="${project::get-name()}" overwrite="false" />
|
||||
<property name="test.assemblyfile" value="${test.assemblyname}.dll" overwrite="false" />
|
||||
|
||||
<property name="nunit.framework.version" value="${nant.settings.currentframework}" />
|
||||
<property name="nunit.framework.version" value="net-4.0" if="${nunit.framework.version == 'net-4.5'}" />
|
||||
|
||||
<property name="test.bin.dir" value="${current.bin.dir}" if="${not property::exists('test.bin.dir')}" />
|
||||
<echo message="Unit Testing ${project.name}, ${test.assemblyname} in ${test.bin.dir}" />
|
||||
|
||||
<exec program="${tool.dir}\nunit\net-2.0\nunit-console-x86.exe" workingdir="${test.bin.dir}" verbose="true">
|
||||
<arg line="${test.assemblyfile}" />
|
||||
<arg value="/xml:${test.assemblyname}.dll-TestResults.xml" />
|
||||
<arg value="/framework:${nant.settings.currentframework}" />
|
||||
<arg value="/framework:${nunit.framework.version}" />
|
||||
<arg value="/nologo" />
|
||||
</exec>
|
||||
|
||||
@@ -265,7 +268,10 @@ ${tool.dir} : dir for tools
|
||||
|
||||
<property name="test.bin.dir" value="${current.bin.dir}" if="${not property::exists('test.bin.dir')}" />
|
||||
|
||||
<echo message="Coverage Testing ${test.assemblyname} in ${test.bin.dir}" />
|
||||
<property name="nunit.framework.version" value="${nant.settings.currentframework}" />
|
||||
<property name="nunit.framework.version" value="net-4.0" if="${nunit.framework.version == 'net-4.5'}" />
|
||||
|
||||
<echo message="Coverage Testing ${test.assemblyname} in ${test.bin.dir}" />
|
||||
|
||||
<exec program="${tool.dir}/ncover/ncover.console.exe" workingdir="${test.bin.dir}" verbose="true">
|
||||
<arg value="//q" />
|
||||
@@ -283,7 +289,7 @@ ${tool.dir} : dir for tools
|
||||
<arg line="${test.assemblyfile}" />
|
||||
<arg value="/xml:${test.assemblyname}.dll-TestResults.xml" />
|
||||
<arg value="/nologo" />
|
||||
<arg value="/framework:${nant.settings.currentframework}" />
|
||||
<arg value="/framework:${nunit.framework.version}" />
|
||||
</exec>
|
||||
|
||||
<!--
|
||||
@@ -310,12 +316,15 @@ ${tool.dir} : dir for tools
|
||||
|
||||
<property name="test.bin.dir" value="${current.bin.dir}" if="${not property::exists('test.bin.dir')}" />
|
||||
|
||||
<property name="nunit.framework.version" value="${nant.settings.currentframework}" />
|
||||
<property name="nunit.framework.version" value="net-4.0" if="${nunit.framework.version == 'net-4.5'}" />
|
||||
|
||||
<echo message="Coverage Testing ${test.assemblyname} in ${test.bin.dir}" />
|
||||
|
||||
<exec program="${tool.dir}/opencover/OpenCover.Console.exe" workingdir="${test.bin.dir}" verbose="true">
|
||||
<arg value="-register:user" />
|
||||
<arg value="-target:${tool.dir}/nunit/net-2.0/nunit-console-x86.exe" />
|
||||
<arg value="-targetargs:${test.assemblyfile} /xml:${test.assemblyname}.dll-TestResults.xml /noshadow /nologo /framework:${nant.settings.currentframework}" />
|
||||
<arg value="-targetargs:${test.assemblyfile} /xml:${test.assemblyname}.dll-TestResults.xml /noshadow /nologo /framework:${nunit.framework.version}" />
|
||||
<arg value="-filter:"+[Spring*]* -[*Test*]* -[*nunit*]*"" />
|
||||
<arg value="-output:${test.bin.dir}/${test.assemblyname}.dll-TestCoverage.xml" />
|
||||
</exec>
|
||||
@@ -325,31 +334,8 @@ ${tool.dir} : dir for tools
|
||||
<arg path="${test.bin.dir}\CoverageReport\${test.assemblyname}" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="common.run-tests.partcover" description="Run NUnit tests">
|
||||
|
||||
<exec program="${tool.dir}\partcover\partcover.exe"
|
||||
workingdir="${current.bin.dir}"
|
||||
verbose="true"
|
||||
append="true"
|
||||
>
|
||||
<arg value="--target" /><arg path="${tool.dir}\nunit\nunit-console-x86.exe" />
|
||||
<arg value="--target-work-dir" /><arg path="${current.bin.dir}" />
|
||||
<arg value="--exclude" /><arg value="[nunit*]*" />
|
||||
<arg value="--exclude" /><arg value="[NAnt*]*" />
|
||||
<arg value="--include" /><arg value="[NDoc3*]*" />
|
||||
<arg value="--exclude" /><arg value="[${project::get-name()}*]*" /><!-- exclude the test-assembly itself -->
|
||||
<arg value="--log" /><arg value="251" />
|
||||
<arg value="--output" /><arg path="${current.bin.dir}/${project::get-name()}.dll-coverage.xml" />
|
||||
<arg value="--target-args" /><arg value="${project::get-name()}.dll /process=Single /domain=None /xml=${project::get-name()}.dll-testresults.xml" />
|
||||
|
||||
</exec>
|
||||
|
||||
</target>
|
||||
|
||||
<readregistry property="net35.install.dir" key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\InstallPath" hive="LocalMachine" failonerror="true"/>
|
||||
<readregistry property="net35.install.dir" key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\InstallPath" hive="LocalMachine" failonerror="true"/>
|
||||
<property name="msbuild.exe" value="${net35.install.dir}\msbuild.exe"/>
|
||||
|
||||
|
||||
|
||||
@@ -615,7 +615,6 @@
|
||||
<title>Spring.NET for Java developers</title>
|
||||
|
||||
<partintro>
|
||||
<para>
|
||||
<para>This part of the reference documentation is for Java developers
|
||||
who would like a quick orientation to what is different between the Java
|
||||
and .NET versions of the framework.</para>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.21005.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Mvc5QuickStart", "Spring.Mvc5QuickStart\Spring.Mvc5QuickStart.csproj", "{DF416FCD-EEB2-4811-8CEE-17E0E7D418E3}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
CodeCoverage|Any CPU = CodeCoverage|Any CPU
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{DF416FCD-EEB2-4811-8CEE-17E0E7D418E3}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DF416FCD-EEB2-4811-8CEE-17E0E7D418E3}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{DF416FCD-EEB2-4811-8CEE-17E0E7D418E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DF416FCD-EEB2-4811-8CEE-17E0E7D418E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DF416FCD-EEB2-4811-8CEE-17E0E7D418E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DF416FCD-EEB2-4811-8CEE-17E0E7D418E3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,40 @@
|
||||
using System.Web;
|
||||
using System.Web.Optimization;
|
||||
|
||||
namespace Spring.Mvc5QuickStart
|
||||
{
|
||||
public class BundleConfig
|
||||
{
|
||||
public static void RegisterBundles(BundleCollection bundles)
|
||||
{
|
||||
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
|
||||
"~/Scripts/jquery-1.*"));
|
||||
|
||||
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
|
||||
"~/Scripts/jquery-ui*"));
|
||||
|
||||
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
|
||||
"~/Scripts/jquery.unobtrusive*",
|
||||
"~/Scripts/jquery.validate*"));
|
||||
|
||||
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
|
||||
"~/Scripts/modernizr-*"));
|
||||
|
||||
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
|
||||
|
||||
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
|
||||
"~/Content/themes/base/jquery.ui.core.css",
|
||||
"~/Content/themes/base/jquery.ui.resizable.css",
|
||||
"~/Content/themes/base/jquery.ui.selectable.css",
|
||||
"~/Content/themes/base/jquery.ui.accordion.css",
|
||||
"~/Content/themes/base/jquery.ui.autocomplete.css",
|
||||
"~/Content/themes/base/jquery.ui.button.css",
|
||||
"~/Content/themes/base/jquery.ui.dialog.css",
|
||||
"~/Content/themes/base/jquery.ui.slider.css",
|
||||
"~/Content/themes/base/jquery.ui.tabs.css",
|
||||
"~/Content/themes/base/jquery.ui.datepicker.css",
|
||||
"~/Content/themes/base/jquery.ui.progressbar.css",
|
||||
"~/Content/themes/base/jquery.ui.theme.css"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Spring.Mvc5QuickStart
|
||||
{
|
||||
public class FilterConfig
|
||||
{
|
||||
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
|
||||
{
|
||||
filters.Add(new HandleErrorAttribute());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
|
||||
namespace Spring.Mvc5QuickStart
|
||||
{
|
||||
public class RouteConfig
|
||||
{
|
||||
public static void RegisterRoutes(RouteCollection routes)
|
||||
{
|
||||
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
|
||||
|
||||
routes.MapHttpRoute(
|
||||
name: "DefaultApi",
|
||||
routeTemplate: "api/{controller}/{id}",
|
||||
defaults: new { id = RouteParameter.Optional }
|
||||
);
|
||||
|
||||
routes.MapRoute(
|
||||
name: "Default",
|
||||
url: "{controller}/{action}/{id}",
|
||||
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<objects xmlns="http://www.springframework.net">
|
||||
|
||||
<object type="Spring.Mvc5QuickStart.Controllers.SuffixNestedController, Spring.Mvc5QuickStart" singleton="false" >
|
||||
<property name="Suffix" value="***This message comes from a child Spring.NET context!***" />
|
||||
</object>
|
||||
|
||||
</objects>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<objects xmlns="http://www.springframework.net" default-autowire="constructor">
|
||||
|
||||
<object type="Spring.Mvc5QuickStart.Controllers.HomeController, Spring.Mvc5QuickStart" singleton="false" >
|
||||
<property name="Message" value="Welcome to ASP.NET MVC4 powered by Spring.NET!" />
|
||||
</object>
|
||||
|
||||
<object type="Spring.Mvc5QuickStart.Controllers.CountController, Spring.Mvc5QuickStart" singleton="false" />
|
||||
|
||||
<object type="Spring.Mvc5QuickStart.Controllers.SuffixController, Spring.Mvc5QuickStart" singleton="false" >
|
||||
<property name="Suffix" value="_Spring.NET_was_Here!" />
|
||||
</object>
|
||||
|
||||
<object type="Spring.Mvc5QuickStart.Controllers.OdataController, Spring.Mvc5QuickStart" singleton="false" />
|
||||
|
||||
|
||||
<!--intentionally do NOT register the AccountController or the ValuesController with the container; demonstrates that the underlying
|
||||
default controller factory will properly (attempt to!) resolve all controllers not registered with Spring.NET
|
||||
using its default controller resolution behavoir-->
|
||||
<!--<object type="Spring.Mvc5QuickStart.Controllers.AccountController, Spring.Mvc5QuickStart" singleton="false" />-->
|
||||
<!--<object type="Spring.Mvc5QuickStart.Controllers.ValuesController, Spring.Mvc5QuickStart" singleton="false" />-->
|
||||
</objects>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<objects xmlns="http://www.springframework.net" default-autowire="constructor">
|
||||
|
||||
<!-- this obj is defined as a singleton and given an initial value for Count of 0
|
||||
so it can be easily verified as being instantiated only once by the ApplicationContext
|
||||
no matter how many child contexts are instatiated as part of WebAPI calls -->
|
||||
<object type="Spring.Mvc5QuickStart.Counter, Spring.Mvc5QuickStart">
|
||||
<property name="Count" value="0" />
|
||||
</object>
|
||||
|
||||
</objects>
|
||||
@@ -0,0 +1,769 @@
|
||||
html {
|
||||
background-color: #e2e2e2;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #fff;
|
||||
border-top: solid 10px #000;
|
||||
color: #333;
|
||||
font-size: .85em;
|
||||
font-family: "Segoe UI", Verdana, Helvetica, Sans-Serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #333;
|
||||
outline: none;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:link, a:visited,
|
||||
a:active, a:hover {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background-color: #c7d1d6;
|
||||
}
|
||||
|
||||
header, footer, hgroup,
|
||||
nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
mark {
|
||||
background-color: #a6dbed;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.float-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.float-right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.clear-fix:after {
|
||||
content: ".";
|
||||
clear: both;
|
||||
display: block;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
h1, h2, h3,
|
||||
h4, h5, h6 {
|
||||
color: #000;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.75em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
|
||||
/* main layout
|
||||
----------------------------------------------------------*/
|
||||
.content-wrapper {
|
||||
margin: 0 auto;
|
||||
max-width: 960px;
|
||||
}
|
||||
|
||||
#body {
|
||||
background-color: #efeeef;
|
||||
clear: both;
|
||||
padding-bottom: 35px;
|
||||
}
|
||||
|
||||
.main-content {
|
||||
background: url("../Images/accent.png") no-repeat;
|
||||
padding-left: 10px;
|
||||
padding-top: 30px;
|
||||
}
|
||||
|
||||
.featured + .main-content {
|
||||
background: url("../Images/heroAccent.png") no-repeat;
|
||||
}
|
||||
|
||||
footer {
|
||||
clear: both;
|
||||
background-color: #e2e2e2;
|
||||
font-size: .8em;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
|
||||
/* site title
|
||||
----------------------------------------------------------*/
|
||||
.site-title {
|
||||
color: #c8c8c8;
|
||||
font-family: Rockwell, Consolas, "Courier New", Courier, monospace;
|
||||
font-size: 2.3em;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.site-title a, .site-title a:hover, .site-title a:active {
|
||||
background: none;
|
||||
color: #c8c8c8;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
/* login
|
||||
----------------------------------------------------------*/
|
||||
#login {
|
||||
display: block;
|
||||
font-size: .85em;
|
||||
margin: 20px 0 12px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#login a {
|
||||
background-color: #d3dce0;
|
||||
margin-left: 10px;
|
||||
margin-right: 3px;
|
||||
padding: 2px 3px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#login a.username {
|
||||
background: none;
|
||||
margin-left: 0px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#login ul {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#login li {
|
||||
display: inline;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
|
||||
/* menu
|
||||
----------------------------------------------------------*/
|
||||
ul#menu {
|
||||
font-size: 1.3em;
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
ul#menu li {
|
||||
display: inline;
|
||||
list-style: none;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
ul#menu li a {
|
||||
background: none;
|
||||
color: #999;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul#menu li a:hover {
|
||||
color: #333;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
/* page elements
|
||||
----------------------------------------------------------*/
|
||||
/* featured */
|
||||
.featured {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.featured .content-wrapper {
|
||||
background-color: #7ac0da;
|
||||
background-image: -ms-linear-gradient(left, #7ac0da 0%, #a4d4e6 100%);
|
||||
background-image: -o-linear-gradient(left, #7ac0da 0%, #a4d4e6 100%);
|
||||
background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #7ac0da), color-stop(1, #a4d4e6));
|
||||
background-image: -webkit-linear-gradient(left, #7ac0da 0%, #a4d4e6 100%);
|
||||
background-image: linear-gradient(left, #7ac0da 0%, #a4d4e6 100%);
|
||||
color: #3e5667;
|
||||
padding: 20px 40px 30px 40px;
|
||||
}
|
||||
|
||||
.featured hgroup.title h1, .featured hgroup.title h2 {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.featured p {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
/* page titles */
|
||||
hgroup.title {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
hgroup.title h1, hgroup.title h2 {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
hgroup.title h2 {
|
||||
font-weight: normal;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
/* features */
|
||||
section.feature {
|
||||
width: 300px;
|
||||
float: left;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* ordered list */
|
||||
ol.round {
|
||||
list-style-type: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
ol.round li {
|
||||
margin: 25px 0;
|
||||
padding-left: 45px;
|
||||
}
|
||||
|
||||
ol.round li.zero {
|
||||
background: url("../Images/orderedList0.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.one {
|
||||
background: url("../Images/orderedList1.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.two {
|
||||
background: url("../Images/orderedList2.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.three {
|
||||
background: url("../Images/orderedList3.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.four {
|
||||
background: url("../Images/orderedList4.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.five {
|
||||
background: url("../Images/orderedList5.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.six {
|
||||
background: url("../Images/orderedList6.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.seven {
|
||||
background: url("../Images/orderedList7.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.eight {
|
||||
background: url("../Images/orderedList8.png") no-repeat;
|
||||
}
|
||||
|
||||
ol.round li.nine {
|
||||
background: url("../Images/orderedList9.png") no-repeat;
|
||||
}
|
||||
|
||||
/* content */
|
||||
article {
|
||||
float: left;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
aside {
|
||||
float: right;
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
aside ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
aside ul li {
|
||||
background: url("../Images/bullet.png") no-repeat 0 50%;
|
||||
padding: 2px 0 2px 20px;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* login page */
|
||||
#loginForm {
|
||||
border-right: solid 2px #c8c8c8;
|
||||
float: left;
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
#loginForm .validation-error {
|
||||
display: block;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#socialLoginForm {
|
||||
margin-left: 40px;
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
/* contact */
|
||||
.contact h3 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.contact p {
|
||||
margin: 5px 0 0 10px;
|
||||
}
|
||||
|
||||
.contact iframe {
|
||||
border: 1px solid #333;
|
||||
margin: 5px 0 0 10px;
|
||||
}
|
||||
|
||||
/* forms */
|
||||
fieldset {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
fieldset legend {
|
||||
display: none;
|
||||
}
|
||||
|
||||
fieldset ol {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
fieldset ol li {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
fieldset label {
|
||||
display: block;
|
||||
font-size: 1.2em;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
fieldset label.checkbox {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
fieldset input[type="text"],
|
||||
fieldset input[type="password"] {
|
||||
border: 1px solid #e2e2e2;
|
||||
color: #333;
|
||||
font-size: 1.2em;
|
||||
margin: 5px 0 6px 0;
|
||||
padding: 5px;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
fieldset input[type="text"]:focus,
|
||||
fieldset input[type="password"]:focus {
|
||||
border: 1px solid #7ac0da;
|
||||
}
|
||||
|
||||
fieldset input[type="submit"] {
|
||||
background-color: #d3dce0;
|
||||
border: 1px solid #787878;
|
||||
cursor: pointer;
|
||||
font-size: 1.2em;
|
||||
font-weight: 600;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
/* ajax login/registration dialog */
|
||||
.ui-dialog {
|
||||
font-family: inherit;
|
||||
font-size: 1.0em;
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
border: 0 none;
|
||||
}
|
||||
|
||||
.ui-dialog input {
|
||||
font-family: inherit;
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
.ui-dialog-titlebar {
|
||||
color: inherit;
|
||||
font-weight: inherit;
|
||||
border: 0 none;
|
||||
background: none;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.ui-dialog-titlebar-close {
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.ui-widget-header {
|
||||
border: 0 none;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.modal-popup {
|
||||
|
||||
}
|
||||
|
||||
.modal-popup input[type="text"],
|
||||
.modal-popup input[type="password"] {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
/* info and errors */
|
||||
.message-info {
|
||||
border: 1px solid;
|
||||
clear: both;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.message-error {
|
||||
clear: both;
|
||||
color: #e80c4d;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin: 20px 0 10px 0;
|
||||
}
|
||||
|
||||
.message-success {
|
||||
color: #7ac0da;
|
||||
font-size: 1.3em;
|
||||
font-weight: bold;
|
||||
margin: 20px 0 10px 0;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: #e80c4d;
|
||||
}
|
||||
|
||||
/* styles for validation helpers */
|
||||
.field-validation-error {
|
||||
color: #e80c4d;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.field-validation-valid {
|
||||
display: none;
|
||||
}
|
||||
|
||||
input[type="text"].input-validation-error,
|
||||
input[type="password"].input-validation-error {
|
||||
border: 1px solid #e80c4d;
|
||||
}
|
||||
|
||||
.validation-summary-errors {
|
||||
color: #e80c4d;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.validation-summary-valid {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul#social li {
|
||||
display: inline;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
ul#social li a {
|
||||
color: #999;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.facebook, a.twitter {
|
||||
display: block;
|
||||
float: left;
|
||||
height: 24px;
|
||||
padding-left: 17px;
|
||||
text-indent: -9999px;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
a.facebook {
|
||||
background: url("../Images/facebook.png") no-repeat;
|
||||
}
|
||||
|
||||
a.twitter {
|
||||
background: url("../Images/twitter.png") no-repeat;
|
||||
}
|
||||
|
||||
/* tables
|
||||
----------------------------------------------------------*/
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
margin-top: 0.75em;
|
||||
border: 0 none;
|
||||
}
|
||||
|
||||
th {
|
||||
font-size: 1.2em;
|
||||
text-align: left;
|
||||
border: none 0px;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
th a {
|
||||
display: block;
|
||||
position: relative;
|
||||
|
||||
}
|
||||
|
||||
th a:link, th a:visited, th a:active, th a:hover {
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
th a:hover {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
th.asc a, th.desc a {
|
||||
margin-right: .75em;
|
||||
}
|
||||
|
||||
th.asc a:after, th.desc a:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0em;
|
||||
top: 0;
|
||||
font-size: 0.75em;
|
||||
}
|
||||
|
||||
th.asc a:after {
|
||||
content: '▲';
|
||||
}
|
||||
|
||||
th.desc a:after {
|
||||
content: '▼';
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 0.25em 2em 0.25em 0em;
|
||||
border: 0 none;
|
||||
}
|
||||
|
||||
tr.pager td {
|
||||
padding: 0 0.25em 0 0;
|
||||
}
|
||||
|
||||
|
||||
/********************
|
||||
* Mobile Styles *
|
||||
********************/
|
||||
@media only screen and (max-width: 850px) {
|
||||
|
||||
/* header
|
||||
----------------------------------------------------------*/
|
||||
header .float-left,
|
||||
header .float-right {
|
||||
float: none;
|
||||
}
|
||||
|
||||
/* logo */
|
||||
header .site-title {
|
||||
margin: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* login */
|
||||
#login {
|
||||
font-size: .85em;
|
||||
margin: 0 0 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#login ul {
|
||||
margin: 5px 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#login li {
|
||||
display: inline;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#login a {
|
||||
background: none;
|
||||
color: #999;
|
||||
font-weight: 600;
|
||||
margin: 2px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#login a:hover {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/* menu */
|
||||
nav {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
ul#menu {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ul#menu li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/* main layout
|
||||
----------------------------------------------------------*/
|
||||
.main-content,
|
||||
.featured + .main-content {
|
||||
background-position: 10px 0;
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
padding-right: 10px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.featured .content-wrapper {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* page content */
|
||||
article, aside {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* ordered list */
|
||||
ol.round {
|
||||
list-style-type: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
ol.round li {
|
||||
padding-left: 10px;
|
||||
margin: 25px 0;
|
||||
}
|
||||
|
||||
ol.round li.zero,
|
||||
ol.round li.one,
|
||||
ol.round li.two,
|
||||
ol.round li.three,
|
||||
ol.round li.four,
|
||||
ol.round li.five,
|
||||
ol.round li.six,
|
||||
ol.round li.seven,
|
||||
ol.round li.eight,
|
||||
ol.round li.nine {
|
||||
background: none;
|
||||
}
|
||||
|
||||
/* features */
|
||||
section.feature {
|
||||
float: none;
|
||||
padding: 10px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
section.feature img {
|
||||
color: #999;
|
||||
content: attr(alt);
|
||||
font-size: 1.5em;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* forms */
|
||||
fieldset input[type="text"],
|
||||
fieldset input[type="password"] {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
/* login page */
|
||||
#loginForm {
|
||||
border-right: none;
|
||||
float: none;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
#loginForm .validation-error {
|
||||
display: block;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#socialLoginForm {
|
||||
margin-left: 0;
|
||||
float: none;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* footer
|
||||
----------------------------------------------------------*/
|
||||
footer .float-left,
|
||||
footer .float-right {
|
||||
float: none;
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: center;
|
||||
height: auto;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
footer p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul#social {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
a.facebook, a.twitter {
|
||||
background: none;
|
||||
display: inline;
|
||||
float: none;
|
||||
padding-left: 0;
|
||||
text-indent: 0;
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 180 B |
|
After Width: | Height: | Size: 178 B |
|
After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 105 B |
|
After Width: | Height: | Size: 111 B |
|
After Width: | Height: | Size: 110 B |
|
After Width: | Height: | Size: 119 B |
|
After Width: | Height: | Size: 101 B |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
1188
examples/Spring/Spring.Mvc5QuickStart/Spring.Mvc5QuickStart/Content/themes/base/jquery-ui.css
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
/*!
|
||||
* jQuery UI Accordion 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Accordion#theming
|
||||
*/
|
||||
.ui-accordion .ui-accordion-header {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
margin-top: 2px;
|
||||
padding: .5em .5em .5em .7em;
|
||||
min-height: 0; /* support: IE7 */
|
||||
}
|
||||
.ui-accordion .ui-accordion-icons {
|
||||
padding-left: 2.2em;
|
||||
}
|
||||
.ui-accordion .ui-accordion-noicons {
|
||||
padding-left: .7em;
|
||||
}
|
||||
.ui-accordion .ui-accordion-icons .ui-accordion-icons {
|
||||
padding-left: 2.2em;
|
||||
}
|
||||
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
|
||||
position: absolute;
|
||||
left: .5em;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
}
|
||||
.ui-accordion .ui-accordion-content {
|
||||
padding: 1em 2.2em;
|
||||
border-top: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* jQuery UI CSS Framework 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming
|
||||
*/
|
||||
@import "jquery.ui.base.css";
|
||||
@import "jquery.ui.theme.css";
|
||||
@@ -0,0 +1,16 @@
|
||||
/*!
|
||||
* jQuery UI Autocomplete 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Autocomplete#theming
|
||||
*/
|
||||
.ui-autocomplete {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
cursor: default;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
/*!
|
||||
* jQuery UI CSS Framework 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming
|
||||
*/
|
||||
@import url("jquery.ui.core.css");
|
||||
|
||||
@import url("jquery.ui.accordion.css");
|
||||
@import url("jquery.ui.autocomplete.css");
|
||||
@import url("jquery.ui.button.css");
|
||||
@import url("jquery.ui.datepicker.css");
|
||||
@import url("jquery.ui.dialog.css");
|
||||
@import url("jquery.ui.menu.css");
|
||||
@import url("jquery.ui.progressbar.css");
|
||||
@import url("jquery.ui.resizable.css");
|
||||
@import url("jquery.ui.selectable.css");
|
||||
@import url("jquery.ui.slider.css");
|
||||
@import url("jquery.ui.spinner.css");
|
||||
@import url("jquery.ui.tabs.css");
|
||||
@import url("jquery.ui.tooltip.css");
|
||||
114
examples/Spring/Spring.Mvc5QuickStart/Spring.Mvc5QuickStart/Content/themes/base/jquery.ui.button.css
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
/*!
|
||||
* jQuery UI Button 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Button#theming
|
||||
*/
|
||||
.ui-button {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding: 0;
|
||||
line-height: normal;
|
||||
margin-right: .1em;
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
overflow: visible; /* removes extra width in IE */
|
||||
}
|
||||
.ui-button,
|
||||
.ui-button:link,
|
||||
.ui-button:visited,
|
||||
.ui-button:hover,
|
||||
.ui-button:active {
|
||||
text-decoration: none;
|
||||
}
|
||||
/* to make room for the icon, a width needs to be set here */
|
||||
.ui-button-icon-only {
|
||||
width: 2.2em;
|
||||
}
|
||||
/* button elements seem to need a little more width */
|
||||
button.ui-button-icon-only {
|
||||
width: 2.4em;
|
||||
}
|
||||
.ui-button-icons-only {
|
||||
width: 3.4em;
|
||||
}
|
||||
button.ui-button-icons-only {
|
||||
width: 3.7em;
|
||||
}
|
||||
|
||||
/* button text element */
|
||||
.ui-button .ui-button-text {
|
||||
display: block;
|
||||
line-height: normal;
|
||||
}
|
||||
.ui-button-text-only .ui-button-text {
|
||||
padding: .4em 1em;
|
||||
}
|
||||
.ui-button-icon-only .ui-button-text,
|
||||
.ui-button-icons-only .ui-button-text {
|
||||
padding: .4em;
|
||||
text-indent: -9999999px;
|
||||
}
|
||||
.ui-button-text-icon-primary .ui-button-text,
|
||||
.ui-button-text-icons .ui-button-text {
|
||||
padding: .4em 1em .4em 2.1em;
|
||||
}
|
||||
.ui-button-text-icon-secondary .ui-button-text,
|
||||
.ui-button-text-icons .ui-button-text {
|
||||
padding: .4em 2.1em .4em 1em;
|
||||
}
|
||||
.ui-button-text-icons .ui-button-text {
|
||||
padding-left: 2.1em;
|
||||
padding-right: 2.1em;
|
||||
}
|
||||
/* no icon support for input elements, provide padding by default */
|
||||
input.ui-button {
|
||||
padding: .4em 1em;
|
||||
}
|
||||
|
||||
/* button icon element(s) */
|
||||
.ui-button-icon-only .ui-icon,
|
||||
.ui-button-text-icon-primary .ui-icon,
|
||||
.ui-button-text-icon-secondary .ui-icon,
|
||||
.ui-button-text-icons .ui-icon,
|
||||
.ui-button-icons-only .ui-icon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
}
|
||||
.ui-button-icon-only .ui-icon {
|
||||
left: 50%;
|
||||
margin-left: -8px;
|
||||
}
|
||||
.ui-button-text-icon-primary .ui-button-icon-primary,
|
||||
.ui-button-text-icons .ui-button-icon-primary,
|
||||
.ui-button-icons-only .ui-button-icon-primary {
|
||||
left: .5em;
|
||||
}
|
||||
.ui-button-text-icon-secondary .ui-button-icon-secondary,
|
||||
.ui-button-text-icons .ui-button-icon-secondary,
|
||||
.ui-button-icons-only .ui-button-icon-secondary {
|
||||
right: .5em;
|
||||
}
|
||||
|
||||
/* button sets */
|
||||
.ui-buttonset {
|
||||
margin-right: 7px;
|
||||
}
|
||||
.ui-buttonset .ui-button {
|
||||
margin-left: 0;
|
||||
margin-right: -.3em;
|
||||
}
|
||||
|
||||
/* workarounds */
|
||||
/* reset extra padding in Firefox, see h5bp.com/l */
|
||||
input.ui-button::-moz-focus-inner,
|
||||
button.ui-button::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
/*!
|
||||
* jQuery UI CSS Framework 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*/
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden {
|
||||
display: none;
|
||||
}
|
||||
.ui-helper-hidden-accessible {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
.ui-helper-reset {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
line-height: 1.3;
|
||||
text-decoration: none;
|
||||
font-size: 100%;
|
||||
list-style: none;
|
||||
}
|
||||
.ui-helper-clearfix:before,
|
||||
.ui-helper-clearfix:after {
|
||||
content: "";
|
||||
display: table;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
.ui-helper-clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
.ui-helper-clearfix {
|
||||
min-height: 0; /* support: IE7 */
|
||||
}
|
||||
.ui-helper-zfix {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
filter:Alpha(Opacity=0);
|
||||
}
|
||||
|
||||
.ui-front {
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled {
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon {
|
||||
display: block;
|
||||
text-indent: -99999px;
|
||||
overflow: hidden;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
/*!
|
||||
* jQuery UI Datepicker 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Datepicker#theming
|
||||
*/
|
||||
.ui-datepicker {
|
||||
width: 17em;
|
||||
padding: .2em .2em 0;
|
||||
display: none;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-header {
|
||||
position: relative;
|
||||
padding: .2em 0;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev,
|
||||
.ui-datepicker .ui-datepicker-next {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
width: 1.8em;
|
||||
height: 1.8em;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev-hover,
|
||||
.ui-datepicker .ui-datepicker-next-hover {
|
||||
top: 1px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev {
|
||||
left: 2px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-next {
|
||||
right: 2px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev-hover {
|
||||
left: 1px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-next-hover {
|
||||
right: 1px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev span,
|
||||
.ui-datepicker .ui-datepicker-next span {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -8px;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-title {
|
||||
margin: 0 2.3em;
|
||||
line-height: 1.8em;
|
||||
text-align: center;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-title select {
|
||||
font-size: 1em;
|
||||
margin: 1px 0;
|
||||
}
|
||||
.ui-datepicker select.ui-datepicker-month-year {
|
||||
width: 100%;
|
||||
}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year {
|
||||
width: 49%;
|
||||
}
|
||||
.ui-datepicker table {
|
||||
width: 100%;
|
||||
font-size: .9em;
|
||||
border-collapse: collapse;
|
||||
margin: 0 0 .4em;
|
||||
}
|
||||
.ui-datepicker th {
|
||||
padding: .7em .3em;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
border: 0;
|
||||
}
|
||||
.ui-datepicker td {
|
||||
border: 0;
|
||||
padding: 1px;
|
||||
}
|
||||
.ui-datepicker td span,
|
||||
.ui-datepicker td a {
|
||||
display: block;
|
||||
padding: .2em;
|
||||
text-align: right;
|
||||
text-decoration: none;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-buttonpane {
|
||||
background-image: none;
|
||||
margin: .7em 0 0 0;
|
||||
padding: 0 .2em;
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
border-bottom: 0;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-buttonpane button {
|
||||
float: right;
|
||||
margin: .5em .2em .4em;
|
||||
cursor: pointer;
|
||||
padding: .2em .6em .3em .6em;
|
||||
width: auto;
|
||||
overflow: visible;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi {
|
||||
width: auto;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-group {
|
||||
float: left;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-group table {
|
||||
width: 95%;
|
||||
margin: 0 auto .4em;
|
||||
}
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group {
|
||||
width: 50%;
|
||||
}
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group {
|
||||
width: 33.3%;
|
||||
}
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group {
|
||||
width: 25%;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
|
||||
border-left-width: 0;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane {
|
||||
clear: left;
|
||||
}
|
||||
.ui-datepicker-row-break {
|
||||
clear: both;
|
||||
width: 100%;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-prev {
|
||||
right: 2px;
|
||||
left: auto;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-next {
|
||||
left: 2px;
|
||||
right: auto;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover {
|
||||
right: 1px;
|
||||
left: auto;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover {
|
||||
left: 1px;
|
||||
right: auto;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane {
|
||||
clear: right;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
|
||||
float: left;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
|
||||
.ui-datepicker-rtl .ui-datepicker-group {
|
||||
float: right;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
|
||||
border-right-width: 0;
|
||||
border-left-width: 1px;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
/*!
|
||||
* jQuery UI Dialog 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Dialog#theming
|
||||
*/
|
||||
.ui-dialog {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: .2em;
|
||||
outline: 0;
|
||||
}
|
||||
.ui-dialog .ui-dialog-titlebar {
|
||||
padding: .4em 1em;
|
||||
position: relative;
|
||||
}
|
||||
.ui-dialog .ui-dialog-title {
|
||||
float: left;
|
||||
margin: .1em 0;
|
||||
white-space: nowrap;
|
||||
width: 90%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.ui-dialog .ui-dialog-titlebar-close {
|
||||
position: absolute;
|
||||
right: .3em;
|
||||
top: 50%;
|
||||
width: 21px;
|
||||
margin: -10px 0 0 0;
|
||||
padding: 1px;
|
||||
height: 20px;
|
||||
}
|
||||
.ui-dialog .ui-dialog-content {
|
||||
position: relative;
|
||||
border: 0;
|
||||
padding: .5em 1em;
|
||||
background: none;
|
||||
overflow: auto;
|
||||
}
|
||||
.ui-dialog .ui-dialog-buttonpane {
|
||||
text-align: left;
|
||||
border-width: 1px 0 0 0;
|
||||
background-image: none;
|
||||
margin-top: .5em;
|
||||
padding: .3em 1em .5em .4em;
|
||||
}
|
||||
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
|
||||
float: right;
|
||||
}
|
||||
.ui-dialog .ui-dialog-buttonpane button {
|
||||
margin: .5em .4em .5em 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.ui-dialog .ui-resizable-se {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
right: -5px;
|
||||
bottom: -5px;
|
||||
background-position: 16px 16px;
|
||||
}
|
||||
.ui-draggable .ui-dialog-titlebar {
|
||||
cursor: move;
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
/*!
|
||||
* jQuery UI Menu 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Menu#theming
|
||||
*/
|
||||
.ui-menu {
|
||||
list-style: none;
|
||||
padding: 2px;
|
||||
margin: 0;
|
||||
display: block;
|
||||
outline: none;
|
||||
}
|
||||
.ui-menu .ui-menu {
|
||||
margin-top: -3px;
|
||||
position: absolute;
|
||||
}
|
||||
.ui-menu .ui-menu-item {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
/* support: IE10, see #8844 */
|
||||
list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
|
||||
}
|
||||
.ui-menu .ui-menu-divider {
|
||||
margin: 5px -2px 5px -2px;
|
||||
height: 0;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
border-width: 1px 0 0 0;
|
||||
}
|
||||
.ui-menu .ui-menu-item a {
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: 2px .4em;
|
||||
line-height: 1.5;
|
||||
min-height: 0; /* support: IE7 */
|
||||
font-weight: normal;
|
||||
}
|
||||
.ui-menu .ui-menu-item a.ui-state-focus,
|
||||
.ui-menu .ui-menu-item a.ui-state-active {
|
||||
font-weight: normal;
|
||||
margin: -1px;
|
||||
}
|
||||
|
||||
.ui-menu .ui-state-disabled {
|
||||
font-weight: normal;
|
||||
margin: .4em 0 .2em;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.ui-menu .ui-state-disabled a {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* icon support */
|
||||
.ui-menu-icons {
|
||||
position: relative;
|
||||
}
|
||||
.ui-menu-icons .ui-menu-item a {
|
||||
position: relative;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
/* left-aligned */
|
||||
.ui-menu .ui-icon {
|
||||
position: absolute;
|
||||
top: .2em;
|
||||
left: .2em;
|
||||
}
|
||||
|
||||
/* right-aligned */
|
||||
.ui-menu .ui-menu-icon {
|
||||
position: static;
|
||||
float: right;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
/*!
|
||||
* jQuery UI Progressbar 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Progressbar#theming
|
||||
*/
|
||||
.ui-progressbar {
|
||||
height: 2em;
|
||||
text-align: left;
|
||||
overflow: hidden;
|
||||
}
|
||||
.ui-progressbar .ui-progressbar-value {
|
||||
margin: -1px;
|
||||
height: 100%;
|
||||
}
|
||||
.ui-progressbar .ui-progressbar-overlay {
|
||||
background: url("images/animated-overlay.gif");
|
||||
height: 100%;
|
||||
filter: alpha(opacity=25);
|
||||
opacity: 0.25;
|
||||
}
|
||||
.ui-progressbar-indeterminate .ui-progressbar-value {
|
||||
background-image: none;
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
/*!
|
||||
* jQuery UI Resizable 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Resizable#theming
|
||||
*/
|
||||
.ui-resizable {
|
||||
position: relative;
|
||||
}
|
||||
.ui-resizable-handle {
|
||||
position: absolute;
|
||||
font-size: 0.1px;
|
||||
display: block;
|
||||
}
|
||||
.ui-resizable-disabled .ui-resizable-handle,
|
||||
.ui-resizable-autohide .ui-resizable-handle {
|
||||
display: none;
|
||||
}
|
||||
.ui-resizable-n {
|
||||
cursor: n-resize;
|
||||
height: 7px;
|
||||
width: 100%;
|
||||
top: -5px;
|
||||
left: 0;
|
||||
}
|
||||
.ui-resizable-s {
|
||||
cursor: s-resize;
|
||||
height: 7px;
|
||||
width: 100%;
|
||||
bottom: -5px;
|
||||
left: 0;
|
||||
}
|
||||
.ui-resizable-e {
|
||||
cursor: e-resize;
|
||||
width: 7px;
|
||||
right: -5px;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
}
|
||||
.ui-resizable-w {
|
||||
cursor: w-resize;
|
||||
width: 7px;
|
||||
left: -5px;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
}
|
||||
.ui-resizable-se {
|
||||
cursor: se-resize;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
right: 1px;
|
||||
bottom: 1px;
|
||||
}
|
||||
.ui-resizable-sw {
|
||||
cursor: sw-resize;
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
left: -5px;
|
||||
bottom: -5px;
|
||||
}
|
||||
.ui-resizable-nw {
|
||||
cursor: nw-resize;
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
left: -5px;
|
||||
top: -5px;
|
||||
}
|
||||
.ui-resizable-ne {
|
||||
cursor: ne-resize;
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
right: -5px;
|
||||
top: -5px;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
/*!
|
||||
* jQuery UI Selectable 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Selectable#theming
|
||||
*/
|
||||
.ui-selectable-helper {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
border: 1px dotted black;
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
/*!
|
||||
* jQuery UI Slider 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Slider#theming
|
||||
*/
|
||||
.ui-slider {
|
||||
position: relative;
|
||||
text-align: left;
|
||||
}
|
||||
.ui-slider .ui-slider-handle {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
width: 1.2em;
|
||||
height: 1.2em;
|
||||
cursor: default;
|
||||
}
|
||||
.ui-slider .ui-slider-range {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
font-size: .7em;
|
||||
display: block;
|
||||
border: 0;
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
/* For IE8 - See #6727 */
|
||||
.ui-slider.ui-state-disabled .ui-slider-handle,
|
||||
.ui-slider.ui-state-disabled .ui-slider-range {
|
||||
filter: inherit;
|
||||
}
|
||||
|
||||
.ui-slider-horizontal {
|
||||
height: .8em;
|
||||
}
|
||||
.ui-slider-horizontal .ui-slider-handle {
|
||||
top: -.3em;
|
||||
margin-left: -.6em;
|
||||
}
|
||||
.ui-slider-horizontal .ui-slider-range {
|
||||
top: 0;
|
||||
height: 100%;
|
||||
}
|
||||
.ui-slider-horizontal .ui-slider-range-min {
|
||||
left: 0;
|
||||
}
|
||||
.ui-slider-horizontal .ui-slider-range-max {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.ui-slider-vertical {
|
||||
width: .8em;
|
||||
height: 100px;
|
||||
}
|
||||
.ui-slider-vertical .ui-slider-handle {
|
||||
left: -.3em;
|
||||
margin-left: 0;
|
||||
margin-bottom: -.6em;
|
||||
}
|
||||
.ui-slider-vertical .ui-slider-range {
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.ui-slider-vertical .ui-slider-range-min {
|
||||
bottom: 0;
|
||||
}
|
||||
.ui-slider-vertical .ui-slider-range-max {
|
||||
top: 0;
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
/*!
|
||||
* jQuery UI Spinner 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Spinner#theming
|
||||
*/
|
||||
.ui-spinner {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.ui-spinner-input {
|
||||
border: none;
|
||||
background: none;
|
||||
color: inherit;
|
||||
padding: 0;
|
||||
margin: .2em 0;
|
||||
vertical-align: middle;
|
||||
margin-left: .4em;
|
||||
margin-right: 22px;
|
||||
}
|
||||
.ui-spinner-button {
|
||||
width: 16px;
|
||||
height: 50%;
|
||||
font-size: .5em;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
cursor: default;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
right: 0;
|
||||
}
|
||||
/* more specificity required here to overide default borders */
|
||||
.ui-spinner a.ui-spinner-button {
|
||||
border-top: none;
|
||||
border-bottom: none;
|
||||
border-right: none;
|
||||
}
|
||||
/* vertical centre icon */
|
||||
.ui-spinner .ui-icon {
|
||||
position: absolute;
|
||||
margin-top: -8px;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
}
|
||||
.ui-spinner-up {
|
||||
top: 0;
|
||||
}
|
||||
.ui-spinner-down {
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
/* TR overrides */
|
||||
.ui-spinner .ui-icon-triangle-1-s {
|
||||
/* need to fix icons sprite */
|
||||
background-position: -65px -16px;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
/*!
|
||||
* jQuery UI Tabs 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Tabs#theming
|
||||
*/
|
||||
.ui-tabs {
|
||||
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||
padding: .2em;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav {
|
||||
margin: 0;
|
||||
padding: .2em .2em 0;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li {
|
||||
list-style: none;
|
||||
float: left;
|
||||
position: relative;
|
||||
top: 0;
|
||||
margin: 1px .2em 0 0;
|
||||
border-bottom-width: 0;
|
||||
padding: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li a {
|
||||
float: left;
|
||||
padding: .5em 1em;
|
||||
text-decoration: none;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
||||
margin-bottom: -1px;
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
|
||||
.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
|
||||
cursor: text;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
|
||||
cursor: pointer;
|
||||
}
|
||||
.ui-tabs .ui-tabs-panel {
|
||||
display: block;
|
||||
border-width: 0;
|
||||
padding: 1em 1.4em;
|
||||
background: none;
|
||||
}
|
||||
406
examples/Spring/Spring.Mvc5QuickStart/Spring.Mvc5QuickStart/Content/themes/base/jquery.ui.theme.css
vendored
Normal file
@@ -0,0 +1,406 @@
|
||||
/*!
|
||||
* jQuery UI CSS Framework 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Theming/API
|
||||
*
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/
|
||||
*/
|
||||
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget {
|
||||
font-family: Verdana,Arial,sans-serif/*{ffDefault}*/;
|
||||
font-size: 1.1em/*{fsDefault}*/;
|
||||
}
|
||||
.ui-widget .ui-widget {
|
||||
font-size: 1em;
|
||||
}
|
||||
.ui-widget input,
|
||||
.ui-widget select,
|
||||
.ui-widget textarea,
|
||||
.ui-widget button {
|
||||
font-family: Verdana,Arial,sans-serif/*{ffDefault}*/;
|
||||
font-size: 1em;
|
||||
}
|
||||
.ui-widget-content {
|
||||
border: 1px solid #aaaaaa/*{borderColorContent}*/;
|
||||
background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/;
|
||||
color: #222222/*{fcContent}*/;
|
||||
}
|
||||
.ui-widget-content a {
|
||||
color: #222222/*{fcContent}*/;
|
||||
}
|
||||
.ui-widget-header {
|
||||
border: 1px solid #aaaaaa/*{borderColorHeader}*/;
|
||||
background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/;
|
||||
color: #222222/*{fcHeader}*/;
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-widget-header a {
|
||||
color: #222222/*{fcHeader}*/;
|
||||
}
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default,
|
||||
.ui-widget-content .ui-state-default,
|
||||
.ui-widget-header .ui-state-default {
|
||||
border: 1px solid #d3d3d3/*{borderColorDefault}*/;
|
||||
background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/;
|
||||
font-weight: normal/*{fwDefault}*/;
|
||||
color: #555555/*{fcDefault}*/;
|
||||
}
|
||||
.ui-state-default a,
|
||||
.ui-state-default a:link,
|
||||
.ui-state-default a:visited {
|
||||
color: #555555/*{fcDefault}*/;
|
||||
text-decoration: none;
|
||||
}
|
||||
.ui-state-hover,
|
||||
.ui-widget-content .ui-state-hover,
|
||||
.ui-widget-header .ui-state-hover,
|
||||
.ui-state-focus,
|
||||
.ui-widget-content .ui-state-focus,
|
||||
.ui-widget-header .ui-state-focus {
|
||||
border: 1px solid #999999/*{borderColorHover}*/;
|
||||
background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/;
|
||||
font-weight: normal/*{fwDefault}*/;
|
||||
color: #212121/*{fcHover}*/;
|
||||
}
|
||||
.ui-state-hover a,
|
||||
.ui-state-hover a:hover,
|
||||
.ui-state-hover a:link,
|
||||
.ui-state-hover a:visited {
|
||||
color: #212121/*{fcHover}*/;
|
||||
text-decoration: none;
|
||||
}
|
||||
.ui-state-active,
|
||||
.ui-widget-content .ui-state-active,
|
||||
.ui-widget-header .ui-state-active {
|
||||
border: 1px solid #aaaaaa/*{borderColorActive}*/;
|
||||
background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/;
|
||||
font-weight: normal/*{fwDefault}*/;
|
||||
color: #212121/*{fcActive}*/;
|
||||
}
|
||||
.ui-state-active a,
|
||||
.ui-state-active a:link,
|
||||
.ui-state-active a:visited {
|
||||
color: #212121/*{fcActive}*/;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight,
|
||||
.ui-widget-content .ui-state-highlight,
|
||||
.ui-widget-header .ui-state-highlight {
|
||||
border: 1px solid #fcefa1/*{borderColorHighlight}*/;
|
||||
background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/;
|
||||
color: #363636/*{fcHighlight}*/;
|
||||
}
|
||||
.ui-state-highlight a,
|
||||
.ui-widget-content .ui-state-highlight a,
|
||||
.ui-widget-header .ui-state-highlight a {
|
||||
color: #363636/*{fcHighlight}*/;
|
||||
}
|
||||
.ui-state-error,
|
||||
.ui-widget-content .ui-state-error,
|
||||
.ui-widget-header .ui-state-error {
|
||||
border: 1px solid #cd0a0a/*{borderColorError}*/;
|
||||
background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/;
|
||||
color: #cd0a0a/*{fcError}*/;
|
||||
}
|
||||
.ui-state-error a,
|
||||
.ui-widget-content .ui-state-error a,
|
||||
.ui-widget-header .ui-state-error a {
|
||||
color: #cd0a0a/*{fcError}*/;
|
||||
}
|
||||
.ui-state-error-text,
|
||||
.ui-widget-content .ui-state-error-text,
|
||||
.ui-widget-header .ui-state-error-text {
|
||||
color: #cd0a0a/*{fcError}*/;
|
||||
}
|
||||
.ui-priority-primary,
|
||||
.ui-widget-content .ui-priority-primary,
|
||||
.ui-widget-header .ui-priority-primary {
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-priority-secondary,
|
||||
.ui-widget-content .ui-priority-secondary,
|
||||
.ui-widget-header .ui-priority-secondary {
|
||||
opacity: .7;
|
||||
filter:Alpha(Opacity=70);
|
||||
font-weight: normal;
|
||||
}
|
||||
.ui-state-disabled,
|
||||
.ui-widget-content .ui-state-disabled,
|
||||
.ui-widget-header .ui-state-disabled {
|
||||
opacity: .35;
|
||||
filter:Alpha(Opacity=35);
|
||||
background-image: none;
|
||||
}
|
||||
.ui-state-disabled .ui-icon {
|
||||
filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
|
||||
}
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
.ui-icon,
|
||||
.ui-widget-content .ui-icon {
|
||||
background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/;
|
||||
}
|
||||
.ui-widget-header .ui-icon {
|
||||
background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/;
|
||||
}
|
||||
.ui-state-default .ui-icon {
|
||||
background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/;
|
||||
}
|
||||
.ui-state-hover .ui-icon,
|
||||
.ui-state-focus .ui-icon {
|
||||
background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/;
|
||||
}
|
||||
.ui-state-active .ui-icon {
|
||||
background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/;
|
||||
}
|
||||
.ui-state-highlight .ui-icon {
|
||||
background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/;
|
||||
}
|
||||
.ui-state-error .ui-icon,
|
||||
.ui-state-error-text .ui-icon {
|
||||
background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/;
|
||||
}
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-blank { background-position: 16px 16px; }
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-on { background-position: -96px -144px; }
|
||||
.ui-icon-radio-off { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-all,
|
||||
.ui-corner-top,
|
||||
.ui-corner-left,
|
||||
.ui-corner-tl {
|
||||
border-top-left-radius: 4px/*{cornerRadius}*/;
|
||||
}
|
||||
.ui-corner-all,
|
||||
.ui-corner-top,
|
||||
.ui-corner-right,
|
||||
.ui-corner-tr {
|
||||
border-top-right-radius: 4px/*{cornerRadius}*/;
|
||||
}
|
||||
.ui-corner-all,
|
||||
.ui-corner-bottom,
|
||||
.ui-corner-left,
|
||||
.ui-corner-bl {
|
||||
border-bottom-left-radius: 4px/*{cornerRadius}*/;
|
||||
}
|
||||
.ui-corner-all,
|
||||
.ui-corner-bottom,
|
||||
.ui-corner-right,
|
||||
.ui-corner-br {
|
||||
border-bottom-right-radius: 4px/*{cornerRadius}*/;
|
||||
}
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay {
|
||||
background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/;
|
||||
opacity: .3/*{opacityOverlay}*/;
|
||||
filter: Alpha(Opacity=30)/*{opacityFilterOverlay}*/;
|
||||
}
|
||||
.ui-widget-shadow {
|
||||
margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/;
|
||||
padding: 8px/*{thicknessShadow}*/;
|
||||
background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/;
|
||||
opacity: .3/*{opacityShadow}*/;
|
||||
filter: Alpha(Opacity=30)/*{opacityFilterShadow}*/;
|
||||
border-radius: 8px/*{cornerRadiusShadow}*/;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
/*!
|
||||
* jQuery UI Tooltip 1.10.3
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2013 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*/
|
||||
.ui-tooltip {
|
||||
padding: 8px;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
max-width: 300px;
|
||||
-webkit-box-shadow: 0 0 5px #aaa;
|
||||
box-shadow: 0 0 5px #aaa;
|
||||
}
|
||||
body .ui-tooltip {
|
||||
border-width: 2px;
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 180 B |
|
After Width: | Height: | Size: 178 B |
|
After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 105 B |
|
After Width: | Height: | Size: 111 B |
|
After Width: | Height: | Size: 110 B |
|
After Width: | Height: | Size: 119 B |
|
After Width: | Height: | Size: 101 B |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:0;border-bottom:0;border-right:0}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}
|
||||
@@ -0,0 +1,5 @@
|
||||
/*! jQuery UI - v1.10.3 - 2013-05-03
|
||||
* http://jqueryui.com
|
||||
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}
|
||||
@@ -0,0 +1,201 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Security;
|
||||
using Spring.Mvc5QuickStart.Models;
|
||||
|
||||
namespace Spring.Mvc5QuickStart.Controllers
|
||||
{
|
||||
|
||||
[Authorize]
|
||||
public class AccountController : Controller
|
||||
{
|
||||
|
||||
//
|
||||
// GET: /Account/Login
|
||||
|
||||
[AllowAnonymous]
|
||||
public ActionResult Login(string returnUrl)
|
||||
{
|
||||
ViewBag.ReturnUrl = returnUrl;
|
||||
return View();
|
||||
}
|
||||
|
||||
//
|
||||
// POST: /Account/Login
|
||||
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public ActionResult Login(LoginModel model, string returnUrl)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
if (Membership.ValidateUser(model.UserName, model.Password))
|
||||
{
|
||||
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
|
||||
if (Url.IsLocalUrl(returnUrl))
|
||||
{
|
||||
return Redirect(returnUrl);
|
||||
}
|
||||
else
|
||||
{
|
||||
return RedirectToAction("Index", "Home");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ModelState.AddModelError("", "The user name or password provided is incorrect.");
|
||||
}
|
||||
}
|
||||
|
||||
// If we got this far, something failed, redisplay form
|
||||
return View(model);
|
||||
}
|
||||
|
||||
//
|
||||
// GET: /Account/LogOff
|
||||
|
||||
public ActionResult LogOff()
|
||||
{
|
||||
FormsAuthentication.SignOut();
|
||||
|
||||
return RedirectToAction("Index", "Home");
|
||||
}
|
||||
|
||||
//
|
||||
// GET: /Account/Register
|
||||
|
||||
[AllowAnonymous]
|
||||
public ActionResult Register()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
//
|
||||
// POST: /Account/Register
|
||||
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public ActionResult Register(RegisterModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
// Attempt to register the user
|
||||
MembershipCreateStatus createStatus;
|
||||
Membership.CreateUser(model.UserName, model.Password, model.Email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createStatus);
|
||||
|
||||
if (createStatus == MembershipCreateStatus.Success)
|
||||
{
|
||||
FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false);
|
||||
return RedirectToAction("Index", "Home");
|
||||
}
|
||||
else
|
||||
{
|
||||
ModelState.AddModelError("", ErrorCodeToString(createStatus));
|
||||
}
|
||||
}
|
||||
|
||||
// If we got this far, something failed, redisplay form
|
||||
return View(model);
|
||||
}
|
||||
|
||||
//
|
||||
// GET: /Account/ChangePassword
|
||||
|
||||
public ActionResult ChangePassword()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
//
|
||||
// POST: /Account/ChangePassword
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult ChangePassword(ChangePasswordModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
|
||||
// ChangePassword will throw an exception rather
|
||||
// than return false in certain failure scenarios.
|
||||
bool changePasswordSucceeded;
|
||||
try
|
||||
{
|
||||
MembershipUser currentUser = Membership.GetUser(User.Identity.Name, userIsOnline: true);
|
||||
changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
changePasswordSucceeded = false;
|
||||
}
|
||||
|
||||
if (changePasswordSucceeded)
|
||||
{
|
||||
return RedirectToAction("ChangePasswordSuccess");
|
||||
}
|
||||
else
|
||||
{
|
||||
ModelState.AddModelError("", "The current password is incorrect or the new password is invalid.");
|
||||
}
|
||||
}
|
||||
|
||||
// If we got this far, something failed, redisplay form
|
||||
return View(model);
|
||||
}
|
||||
|
||||
//
|
||||
// GET: /Account/ChangePasswordSuccess
|
||||
|
||||
public ActionResult ChangePasswordSuccess()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
private IEnumerable<string> GetErrorsFromModelState()
|
||||
{
|
||||
return ModelState.SelectMany(x => x.Value.Errors.Select(error => error.ErrorMessage));
|
||||
}
|
||||
|
||||
#region Status Codes
|
||||
private static string ErrorCodeToString(MembershipCreateStatus createStatus)
|
||||
{
|
||||
// See http://go.microsoft.com/fwlink/?LinkID=177550 for
|
||||
// a full list of status codes.
|
||||
switch (createStatus)
|
||||
{
|
||||
case MembershipCreateStatus.DuplicateUserName:
|
||||
return "User name already exists. Please enter a different user name.";
|
||||
|
||||
case MembershipCreateStatus.DuplicateEmail:
|
||||
return "A user name for that e-mail address already exists. Please enter a different e-mail address.";
|
||||
|
||||
case MembershipCreateStatus.InvalidPassword:
|
||||
return "The password provided is invalid. Please enter a valid password value.";
|
||||
|
||||
case MembershipCreateStatus.InvalidEmail:
|
||||
return "The e-mail address provided is invalid. Please check the value and try again.";
|
||||
|
||||
case MembershipCreateStatus.InvalidAnswer:
|
||||
return "The password retrieval answer provided is invalid. Please check the value and try again.";
|
||||
|
||||
case MembershipCreateStatus.InvalidQuestion:
|
||||
return "The password retrieval question provided is invalid. Please check the value and try again.";
|
||||
|
||||
case MembershipCreateStatus.InvalidUserName:
|
||||
return "The user name provided is invalid. Please check the value and try again.";
|
||||
|
||||
case MembershipCreateStatus.ProviderError:
|
||||
return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
|
||||
|
||||
case MembershipCreateStatus.UserRejected:
|
||||
return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
|
||||
|
||||
default:
|
||||
return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Spring.Mvc5QuickStart.Controllers
|
||||
{
|
||||
public class CountController : Controller
|
||||
{
|
||||
private readonly Counter _counter;
|
||||
|
||||
public CountController(Counter counter)
|
||||
{
|
||||
_counter = counter;
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
ViewBag.Message = _counter.Count;
|
||||
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Spring.Mvc5QuickStart.Controllers
|
||||
{
|
||||
public class HomeController : Controller
|
||||
{
|
||||
protected string Message { get; set; }
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
ViewBag.Message = Message;
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult About()
|
||||
{
|
||||
ViewBag.Message = "Your app description page.";
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult Contact()
|
||||
{
|
||||
ViewBag.Message = "Your contact page.";
|
||||
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace Spring.Mvc5QuickStart.Controllers
|
||||
{
|
||||
public class OdataController : ApiController
|
||||
{
|
||||
// GET /api/odata/5
|
||||
public string Get(int id)
|
||||
{
|
||||
return "value";
|
||||
}
|
||||
|
||||
// GET /api/odata?$skip=1&$top=2
|
||||
// GET /api/odata?$filter=SomeProperty%20eq%203
|
||||
[Queryable]
|
||||
public IQueryable<SampleDataItem> Get()
|
||||
{
|
||||
var dataItems = new[]
|
||||
{
|
||||
new SampleDataItem { SomeProperty = 1 },
|
||||
new SampleDataItem { SomeProperty = 2 },
|
||||
new SampleDataItem { SomeProperty = 3 },
|
||||
new SampleDataItem { SomeProperty = 4 },
|
||||
};
|
||||
|
||||
return dataItems.AsQueryable();
|
||||
}
|
||||
|
||||
// POST /api/odata
|
||||
public void Post(string value)
|
||||
{
|
||||
}
|
||||
|
||||
// PUT /api/odata/5
|
||||
public void Put(int id, string value)
|
||||
{
|
||||
}
|
||||
|
||||
// DELETE /api/odata/5
|
||||
public void Delete(int id)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class SampleDataItem
|
||||
{
|
||||
public int SomeProperty { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace Spring.Mvc5QuickStart.Controllers
|
||||
{
|
||||
public class SuffixController : ApiController
|
||||
{
|
||||
public string Suffix { get; set; }
|
||||
|
||||
// GET /api/suffix
|
||||
public IEnumerable<string> Get()
|
||||
{
|
||||
return new string[] { string.Format("value1_{0}", Suffix), string.Format("value2_{0}", Suffix) };
|
||||
}
|
||||
|
||||
// GET /api/suffix/5
|
||||
public string Get(int id)
|
||||
{
|
||||
return string.Format("value{0}_{1}", Suffix, id);
|
||||
}
|
||||
|
||||
// POST /api/suffix
|
||||
public void Post(string value)
|
||||
{
|
||||
}
|
||||
|
||||
// PUT /api/suffix/5
|
||||
public void Put(int id, string value)
|
||||
{
|
||||
}
|
||||
|
||||
// DELETE /api/suffix/5
|
||||
public void Delete(int id)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace Spring.Mvc5QuickStart.Controllers
|
||||
{
|
||||
public class SuffixNestedController : ApiController
|
||||
{
|
||||
//same public API as SuffixController, only here so that its config can be shown to
|
||||
// be properly read out of a separate 'child' config file
|
||||
|
||||
public string Suffix { get; set; }
|
||||
|
||||
// GET /api/suffixnested
|
||||
public IEnumerable<string> Get()
|
||||
{
|
||||
return new string[] { string.Format("value1_{0}", Suffix), string.Format("value2_{0}", Suffix) };
|
||||
}
|
||||
|
||||
// GET /api/suffixnested/5
|
||||
public string Get(int id)
|
||||
{
|
||||
return string.Format("value{0}_{1}", Suffix, id);
|
||||
}
|
||||
|
||||
// POST /api/suffixnested
|
||||
public void Post(string value)
|
||||
{
|
||||
}
|
||||
|
||||
// PUT /api/suffixnested/5
|
||||
public void Put(int id, string value)
|
||||
{
|
||||
}
|
||||
|
||||
// DELETE /api/suffixnested/5
|
||||
public void Delete(int id)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace Spring.Mvc5QuickStart.Controllers
|
||||
{
|
||||
public class ValuesController : ApiController
|
||||
{
|
||||
// GET /api/values
|
||||
public IEnumerable<string> Get()
|
||||
{
|
||||
return new string[] { "value1", "value2" };
|
||||
}
|
||||
|
||||
// GET /api/values/5
|
||||
public string Get(int id)
|
||||
{
|
||||
return "value";
|
||||
}
|
||||
|
||||
// POST /api/values
|
||||
public void Post(string value)
|
||||
{
|
||||
}
|
||||
|
||||
// PUT /api/values/5
|
||||
public void Put(int id, string value)
|
||||
{
|
||||
}
|
||||
|
||||
// DELETE /api/values/5
|
||||
public void Delete(int id)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
namespace Spring.Mvc5QuickStart
|
||||
{
|
||||
//intended to be instantiated as a singleton by the parent ApplicationContext so that it can keep track of its hit-count
|
||||
// as the page is visited (NOTE: this impl. is for demo purposes only and is obviously NOT threadsafe!)
|
||||
public class Counter
|
||||
{
|
||||
private int _count;
|
||||
public int Count
|
||||
{
|
||||
get { return _count++; }
|
||||
set { _count = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<%@ Application Codebehind="Global.asax.cs" Inherits="Spring.Mvc5QuickStart.MvcApplication" Language="C#" %>
|
||||
@@ -0,0 +1,40 @@
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Optimization;
|
||||
using System.Web.Routing;
|
||||
using Spring.Web.Mvc;
|
||||
|
||||
namespace Spring.Mvc5QuickStart
|
||||
{
|
||||
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
|
||||
// visit http://go.microsoft.com/?LinkId=9394801
|
||||
|
||||
public class MvcApplication : SpringMvcApplication
|
||||
{
|
||||
protected void Application_Start()
|
||||
{
|
||||
AreaRegistration.RegisterAllAreas();
|
||||
|
||||
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
|
||||
RouteConfig.RegisterRoutes(RouteTable.Routes);
|
||||
BundleConfig.RegisterBundles(BundleTable.Bundles);
|
||||
}
|
||||
|
||||
protected override System.Web.Http.Dependencies.IDependencyResolver BuildWebApiDependencyResolver()
|
||||
{
|
||||
//get the 'default' resolver, populated from the 'main' config metadata
|
||||
var resolver = base.BuildWebApiDependencyResolver();
|
||||
|
||||
//check if its castable to a SpringWebApiDependencyResolver
|
||||
var springResolver = resolver as SpringWebApiDependencyResolver;
|
||||
|
||||
//if it is, add additional config sources as needed
|
||||
if (springResolver != null)
|
||||
{
|
||||
springResolver.AddChildApplicationContextConfigurationLocation("file://~/Config/child_controllers.xml");
|
||||
}
|
||||
|
||||
//return the fully-configured resolver
|
||||
return resolver;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 528 B |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 529 B |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 572 B |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 653 B |
|
After Width: | Height: | Size: 733 B |