mirror of https://github.com/abpframework/abp.git
268 changed files with 58559 additions and 0 deletions
@ -0,0 +1,67 @@ |
|||
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00 |
|||
# Visual Studio 15 |
|||
VisualStudioVersion = 15.0.27703.1 |
|||
MinimumVisualStudioVersion = 10.0.40219.1 |
|||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Acme.BookStore.Domain", "src\Acme.BookStore.Domain\Acme.BookStore.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}" |
|||
EndProject |
|||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Acme.BookStore.Application", "src\Acme.BookStore.Application\Acme.BookStore.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}" |
|||
EndProject |
|||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Acme.BookStore.EntityFrameworkCore", "src\Acme.BookStore.EntityFrameworkCore\Acme.BookStore.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}" |
|||
EndProject |
|||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Acme.BookStore.Web", "src\Acme.BookStore.Web\Acme.BookStore.Web.csproj", "{068855E8-9240-4F1A-910B-CF825794513B}" |
|||
EndProject |
|||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}" |
|||
EndProject |
|||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}" |
|||
EndProject |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Acme.BookStore.Application.Tests", "test\Acme.BookStore.Application.Tests\Acme.BookStore.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}" |
|||
EndProject |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Acme.BookStore.Web.Tests", "test\Acme.BookStore.Web.Tests\Acme.BookStore.Web.Tests.csproj", "{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}" |
|||
EndProject |
|||
Global |
|||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|||
Debug|Any CPU = Debug|Any CPU |
|||
Release|Any CPU = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{068855E8-9240-4F1A-910B-CF825794513B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{068855E8-9240-4F1A-910B-CF825794513B}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{068855E8-9240-4F1A-910B-CF825794513B}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{068855E8-9240-4F1A-910B-CF825794513B}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(SolutionProperties) = preSolution |
|||
HideSolutionNode = FALSE |
|||
EndGlobalSection |
|||
GlobalSection(NestedProjects) = preSolution |
|||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|||
{068855E8-9240-4F1A-910B-CF825794513B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|||
{50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} |
|||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} |
|||
EndGlobalSection |
|||
GlobalSection(ExtensibilityGlobals) = postSolution |
|||
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F} |
|||
EndGlobalSection |
|||
EndGlobal |
|||
@ -0,0 +1,2 @@ |
|||
# abp-template |
|||
ABP startup template |
|||
@ -0,0 +1,13 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>netcoreapp2.1</TargetFramework> |
|||
<RootNamespace>Acme.BookStore</RootNamespace> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\Acme.BookStore.Domain\Acme.BookStore.Domain.csproj" /> |
|||
<PackageReference Include="Volo.Abp.Identity.Application" Version="0.3.2" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
@ -0,0 +1,24 @@ |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Acme.BookStore.Permissions; |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Volo.Abp.Identity; |
|||
using Volo.Abp.Modularity; |
|||
|
|||
namespace Acme.BookStore |
|||
{ |
|||
[DependsOn( |
|||
typeof(BookStoreDomainModule), |
|||
typeof(AbpIdentityApplicationModule))] |
|||
public class BookStoreApplicationModule : AbpModule |
|||
{ |
|||
public override void ConfigureServices(IServiceCollection services) |
|||
{ |
|||
services.Configure<PermissionOptions>(options => |
|||
{ |
|||
options.DefinitionProviders.Add<BookStorePermissionDefinitionProvider>(); |
|||
}); |
|||
|
|||
services.AddAssemblyOf<BookStoreApplicationModule>(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,22 @@ |
|||
using Acme.BookStore.Localization.BookStore; |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Volo.Abp.Localization; |
|||
|
|||
namespace Acme.BookStore.Permissions |
|||
{ |
|||
public class BookStorePermissionDefinitionProvider : PermissionDefinitionProvider |
|||
{ |
|||
public override void Define(IPermissionDefinitionContext context) |
|||
{ |
|||
var myGroup = context.AddGroup(BookStorePermissions.GroupName); |
|||
|
|||
//Define your own permissions here. Examaple:
|
|||
//myGroup.AddPermission(BookStorePermissions.MyPermission1, L("Permission:MyPermission1"));
|
|||
} |
|||
|
|||
private static LocalizableString L(string name) |
|||
{ |
|||
return LocalizableString.Create<BookStoreResource>(name); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
namespace Acme.BookStore.Permissions |
|||
{ |
|||
public static class BookStorePermissions |
|||
{ |
|||
public const string GroupName = "BookStore"; |
|||
|
|||
//Add your own permission names. Example:
|
|||
//public const string MyPermission1 = GroupName + ".MyPermission1";
|
|||
} |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>netcoreapp2.1</TargetFramework> |
|||
<RootNamespace>Acme.BookStore</RootNamespace> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Volo.Abp.Identity.Domain" Version="0.3.2" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<EmbeddedResource Include="\Localization\BookStore\*.json" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
@ -0,0 +1,8 @@ |
|||
namespace Acme.BookStore |
|||
{ |
|||
public static class BookStoreConsts |
|||
{ |
|||
public const string DbTablePrefix = "App"; |
|||
public const string DbSchema = null; |
|||
} |
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Acme.BookStore.Localization.BookStore; |
|||
using Acme.BookStore.Settings; |
|||
using Volo.Abp.Identity; |
|||
using Volo.Abp.Localization; |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.Settings; |
|||
using Volo.Abp.VirtualFileSystem; |
|||
|
|||
namespace Acme.BookStore |
|||
{ |
|||
[DependsOn(typeof(AbpIdentityDomainModule))] |
|||
public class BookStoreDomainModule : AbpModule |
|||
{ |
|||
public override void ConfigureServices(IServiceCollection services) |
|||
{ |
|||
services.Configure<VirtualFileSystemOptions>(options => |
|||
{ |
|||
options.FileSets.AddEmbedded<BookStoreDomainModule>(); |
|||
}); |
|||
|
|||
services.Configure<AbpLocalizationOptions>(options => |
|||
{ |
|||
options.Resources |
|||
.Add<BookStoreResource>("en") |
|||
.AddVirtualJson("/Localization/BookStore"); |
|||
}); |
|||
|
|||
services.Configure<SettingOptions>(options => |
|||
{ |
|||
options.DefinitionProviders.Add<BookStoreSettingDefinitionProvider>(); |
|||
}); |
|||
|
|||
services.AddAssemblyOf<BookStoreDomainModule>(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,7 @@ |
|||
namespace Acme.BookStore.Localization.BookStore |
|||
{ |
|||
public class BookStoreResource |
|||
{ |
|||
|
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
{ |
|||
"culture": "en", |
|||
"texts": { |
|||
"Menu:Home": "Home", |
|||
"Welcome": "Welcome", |
|||
"LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." |
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
{ |
|||
"culture": "tr", |
|||
"texts": { |
|||
"Menu:Home": "Ana sayfa", |
|||
"Welcome": "Hoşgeldiniz", |
|||
"LongWelcomeMessage": "Uygulamaya hoşgeldiniz. Bu, ABP framework'ü üzerine bina edilmiş bir başlangıç projesidir. Daha fazla bilgi için abp.io adresini ziyaret edebilirsiniz." |
|||
} |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
using Volo.Abp.Settings; |
|||
|
|||
namespace Acme.BookStore.Settings |
|||
{ |
|||
public class BookStoreSettingDefinitionProvider : SettingDefinitionProvider |
|||
{ |
|||
public override void Define(ISettingDefinitionContext context) |
|||
{ |
|||
//Define your own settings here. Example:
|
|||
//context.Add(new SettingDefinition(BookStoreSettings.MySetting1));
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
namespace Acme.BookStore.Settings |
|||
{ |
|||
public static class BookStoreSettings |
|||
{ |
|||
private const string Prefix = "BookStore"; |
|||
|
|||
//Add your own setting names here. Example:
|
|||
//public const string MySetting1 = Prefix + ".MySetting1";
|
|||
} |
|||
} |
|||
@ -0,0 +1,21 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>netcoreapp2.1</TargetFramework> |
|||
<RootNamespace>Acme.BookStore</RootNamespace> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.1.0" /> |
|||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.0" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\Acme.BookStore.Domain\Acme.BookStore.Domain.csproj" /> |
|||
<PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" Version="0.3.2" /> |
|||
<PackageReference Include="Volo.Abp.SettingManagement.EntityFrameworkCore" Version="0.3.2" /> |
|||
<PackageReference Include="Volo.Abp.Identity.EntityFrameworkCore" Version="0.3.2" /> |
|||
<PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="0.3.2" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
@ -0,0 +1,33 @@ |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Volo.Abp.EntityFrameworkCore; |
|||
using Volo.Abp.Identity.EntityFrameworkCore; |
|||
using Volo.Abp.PermissionManagement.EntityFrameworkCore; |
|||
using Volo.Abp.SettingManagement.EntityFrameworkCore; |
|||
|
|||
namespace Acme.BookStore.EntityFrameworkCore |
|||
{ |
|||
public class BookStoreDbContext : AbpDbContext<BookStoreDbContext> |
|||
{ |
|||
public BookStoreDbContext(DbContextOptions<BookStoreDbContext> options) |
|||
: base(options) |
|||
{ |
|||
|
|||
} |
|||
|
|||
protected override void OnModelCreating(ModelBuilder modelBuilder) |
|||
{ |
|||
base.OnModelCreating(modelBuilder); |
|||
|
|||
modelBuilder.ConfigureIdentity(); |
|||
modelBuilder.ConfigurePermissionManagement(); |
|||
modelBuilder.ConfigureSettingManagement(); |
|||
|
|||
//builder.Entity<MyEntity>(b =>
|
|||
//{
|
|||
// b.ToTable(BookStoreConsts.DbTablePrefix + "PermissionGrants", BookStoreConsts.DbSchema);
|
|||
|
|||
// ...
|
|||
//});
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,29 @@ |
|||
using System.IO; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Design; |
|||
using Microsoft.Extensions.Configuration; |
|||
|
|||
namespace Acme.BookStore.EntityFrameworkCore |
|||
{ |
|||
public class BookStoreDbContextFactory : IDesignTimeDbContextFactory<BookStoreDbContext> |
|||
{ |
|||
public BookStoreDbContext CreateDbContext(string[] args) |
|||
{ |
|||
var configuration = BuildConfiguration(); |
|||
|
|||
var builder = new DbContextOptionsBuilder<BookStoreDbContext>() |
|||
.UseSqlServer(configuration.GetConnectionString("Default")); |
|||
|
|||
return new BookStoreDbContext(builder.Options); |
|||
} |
|||
|
|||
private static IConfigurationRoot BuildConfiguration() |
|||
{ |
|||
var builder = new ConfigurationBuilder() |
|||
.SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../Acme.BookStore.Web/")) |
|||
.AddJsonFile("appsettings.json", optional: false); |
|||
|
|||
return builder.Build(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,28 @@ |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Volo.Abp.EntityFrameworkCore.SqlServer; |
|||
using Volo.Abp.Identity.EntityFrameworkCore; |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.PermissionManagement.EntityFrameworkCore; |
|||
using Volo.Abp.SettingManagement.EntityFrameworkCore; |
|||
|
|||
namespace Acme.BookStore.EntityFrameworkCore |
|||
{ |
|||
[DependsOn( |
|||
typeof(BookStoreDomainModule), |
|||
typeof(AbpIdentityEntityFrameworkCoreModule), |
|||
typeof(AbpPermissionManagementEntityFrameworkCoreModule), |
|||
typeof(AbpSettingManagementEntityFrameworkCoreModule), |
|||
typeof(AbpEntityFrameworkCoreSqlServerModule))] |
|||
public class BookStoreEntityFrameworkCoreModule : AbpModule |
|||
{ |
|||
public override void ConfigureServices(IServiceCollection services) |
|||
{ |
|||
services.AddAbpDbContext<BookStoreDbContext>(options => |
|||
{ |
|||
options.AddDefaultRepositories(); |
|||
}); |
|||
|
|||
services.AddAssemblyOf<BookStoreEntityFrameworkCoreModule>(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,337 @@ |
|||
// <auto-generated />
|
|||
using System; |
|||
using System.Collections.Generic; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Microsoft.EntityFrameworkCore.Metadata.Internal; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|||
using Acme.BookStore.EntityFrameworkCore; |
|||
|
|||
namespace Acme.BookStore.Migrations |
|||
{ |
|||
[DbContext(typeof(BookStoreDbContext))] |
|||
[Migration("20180528221424_Initial")] |
|||
partial class Initial |
|||
{ |
|||
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
|||
{ |
|||
#pragma warning disable 612, 618
|
|||
modelBuilder |
|||
.HasAnnotation("ProductVersion", "2.1.0-preview2-30571") |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ConcurrencyStamp"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedName") |
|||
.IsRequired() |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedName"); |
|||
|
|||
b.ToTable("AbpRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ClaimType") |
|||
.IsRequired() |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("ClaimValue") |
|||
.HasMaxLength(1024); |
|||
|
|||
b.Property<Guid>("RoleId"); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AbpRoleClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<int>("AccessFailedCount") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("AccessFailedCount") |
|||
.HasDefaultValue(0); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsRequired() |
|||
.HasColumnName("ConcurrencyStamp") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("Email") |
|||
.HasColumnName("Email") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<bool>("EmailConfirmed") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("EmailConfirmed") |
|||
.HasDefaultValue(false); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<bool>("LockoutEnabled") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("LockoutEnabled") |
|||
.HasDefaultValue(false); |
|||
|
|||
b.Property<DateTimeOffset?>("LockoutEnd"); |
|||
|
|||
b.Property<string>("NormalizedEmail") |
|||
.HasColumnName("NormalizedEmail") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedUserName") |
|||
.IsRequired() |
|||
.HasColumnName("NormalizedUserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("PasswordHash") |
|||
.HasColumnName("PasswordHash") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("PhoneNumber") |
|||
.HasColumnName("PhoneNumber") |
|||
.HasMaxLength(16); |
|||
|
|||
b.Property<bool>("PhoneNumberConfirmed") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("PhoneNumberConfirmed") |
|||
.HasDefaultValue(false); |
|||
|
|||
b.Property<string>("SecurityStamp") |
|||
.IsRequired() |
|||
.HasColumnName("SecurityStamp") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<Guid?>("TenantId") |
|||
.HasColumnName("TenantId"); |
|||
|
|||
b.Property<bool>("TwoFactorEnabled") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("TwoFactorEnabled") |
|||
.HasDefaultValue(false); |
|||
|
|||
b.Property<string>("UserName") |
|||
.IsRequired() |
|||
.HasColumnName("UserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Email"); |
|||
|
|||
b.HasIndex("NormalizedEmail"); |
|||
|
|||
b.HasIndex("NormalizedUserName"); |
|||
|
|||
b.HasIndex("UserName"); |
|||
|
|||
b.ToTable("AbpUsers"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ClaimType") |
|||
.IsRequired() |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("ClaimValue") |
|||
.HasMaxLength(1024); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.Property<Guid>("UserId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AbpUserClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => |
|||
{ |
|||
b.Property<Guid>("UserId"); |
|||
|
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<string>("ProviderDisplayName") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.IsRequired() |
|||
.HasMaxLength(196); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("UserId", "LoginProvider"); |
|||
|
|||
b.HasIndex("LoginProvider", "ProviderKey"); |
|||
|
|||
b.ToTable("AbpUserLogins"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => |
|||
{ |
|||
b.Property<Guid>("UserId"); |
|||
|
|||
b.Property<Guid>("RoleId"); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("UserId", "RoleId"); |
|||
|
|||
b.HasIndex("RoleId", "UserId"); |
|||
|
|||
b.ToTable("AbpUserRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => |
|||
{ |
|||
b.Property<Guid>("UserId"); |
|||
|
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Name"); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.Property<string>("Value"); |
|||
|
|||
b.HasKey("UserId", "LoginProvider", "Name"); |
|||
|
|||
b.ToTable("AbpUserTokens"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.IsRequired() |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<string>("ProviderName") |
|||
.IsRequired() |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name", "ProviderName", "ProviderKey"); |
|||
|
|||
b.ToTable("AbpPermissionGrants"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<string>("ProviderName") |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<string>("Value") |
|||
.IsRequired() |
|||
.HasMaxLength(2048); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name", "ProviderName", "ProviderKey"); |
|||
|
|||
b.ToTable("AbpSettings"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityRole") |
|||
.WithMany("Claims") |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityUser") |
|||
.WithMany("Claims") |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityUser") |
|||
.WithMany("Logins") |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
|
|||
b.HasOne("Volo.Abp.Identity.IdentityUser") |
|||
.WithMany("Roles") |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityUser") |
|||
.WithMany("Tokens") |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
#pragma warning restore 612, 618
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,278 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
|
|||
namespace Acme.BookStore.Migrations |
|||
{ |
|||
public partial class Initial : Migration |
|||
{ |
|||
protected override void Up(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.CreateTable( |
|||
name: "AbpPermissionGrants", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<Guid>(nullable: false), |
|||
TenantId = table.Column<Guid>(nullable: true), |
|||
Name = table.Column<string>(maxLength: 128, nullable: false), |
|||
ProviderName = table.Column<string>(maxLength: 64, nullable: false), |
|||
ProviderKey = table.Column<string>(maxLength: 64, nullable: false) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpPermissionGrants", x => x.Id); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AbpRoles", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<Guid>(nullable: false), |
|||
TenantId = table.Column<Guid>(nullable: true), |
|||
Name = table.Column<string>(maxLength: 256, nullable: false), |
|||
NormalizedName = table.Column<string>(maxLength: 256, nullable: false), |
|||
ConcurrencyStamp = table.Column<string>(nullable: true) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpRoles", x => x.Id); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AbpSettings", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<Guid>(nullable: false), |
|||
Name = table.Column<string>(maxLength: 128, nullable: false), |
|||
Value = table.Column<string>(maxLength: 2048, nullable: false), |
|||
ProviderName = table.Column<string>(maxLength: 64, nullable: true), |
|||
ProviderKey = table.Column<string>(maxLength: 64, nullable: true) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpSettings", x => x.Id); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AbpUsers", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<Guid>(nullable: false), |
|||
TenantId = table.Column<Guid>(nullable: true), |
|||
UserName = table.Column<string>(maxLength: 256, nullable: false), |
|||
NormalizedUserName = table.Column<string>(maxLength: 256, nullable: false), |
|||
Email = table.Column<string>(maxLength: 256, nullable: true), |
|||
NormalizedEmail = table.Column<string>(maxLength: 256, nullable: true), |
|||
EmailConfirmed = table.Column<bool>(nullable: false, defaultValue: false), |
|||
PasswordHash = table.Column<string>(maxLength: 256, nullable: true), |
|||
SecurityStamp = table.Column<string>(maxLength: 256, nullable: false), |
|||
ConcurrencyStamp = table.Column<string>(maxLength: 256, nullable: false), |
|||
PhoneNumber = table.Column<string>(maxLength: 16, nullable: true), |
|||
PhoneNumberConfirmed = table.Column<bool>(nullable: false, defaultValue: false), |
|||
TwoFactorEnabled = table.Column<bool>(nullable: false, defaultValue: false), |
|||
LockoutEnd = table.Column<DateTimeOffset>(nullable: true), |
|||
LockoutEnabled = table.Column<bool>(nullable: false, defaultValue: false), |
|||
AccessFailedCount = table.Column<int>(nullable: false, defaultValue: 0), |
|||
ExtraProperties = table.Column<string>(nullable: true) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpUsers", x => x.Id); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AbpRoleClaims", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<Guid>(nullable: false), |
|||
TenantId = table.Column<Guid>(nullable: true), |
|||
ClaimType = table.Column<string>(maxLength: 256, nullable: false), |
|||
ClaimValue = table.Column<string>(maxLength: 1024, nullable: true), |
|||
RoleId = table.Column<Guid>(nullable: false) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpRoleClaims", x => x.Id); |
|||
table.ForeignKey( |
|||
name: "FK_AbpRoleClaims_AbpRoles_RoleId", |
|||
column: x => x.RoleId, |
|||
principalTable: "AbpRoles", |
|||
principalColumn: "Id", |
|||
onDelete: ReferentialAction.Cascade); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AbpUserClaims", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<Guid>(nullable: false), |
|||
TenantId = table.Column<Guid>(nullable: true), |
|||
ClaimType = table.Column<string>(maxLength: 256, nullable: false), |
|||
ClaimValue = table.Column<string>(maxLength: 1024, nullable: true), |
|||
UserId = table.Column<Guid>(nullable: false) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpUserClaims", x => x.Id); |
|||
table.ForeignKey( |
|||
name: "FK_AbpUserClaims_AbpUsers_UserId", |
|||
column: x => x.UserId, |
|||
principalTable: "AbpUsers", |
|||
principalColumn: "Id", |
|||
onDelete: ReferentialAction.Cascade); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AbpUserLogins", |
|||
columns: table => new |
|||
{ |
|||
TenantId = table.Column<Guid>(nullable: true), |
|||
UserId = table.Column<Guid>(nullable: false), |
|||
LoginProvider = table.Column<string>(maxLength: 64, nullable: false), |
|||
ProviderKey = table.Column<string>(maxLength: 196, nullable: false), |
|||
ProviderDisplayName = table.Column<string>(maxLength: 128, nullable: true) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpUserLogins", x => new { x.UserId, x.LoginProvider }); |
|||
table.ForeignKey( |
|||
name: "FK_AbpUserLogins_AbpUsers_UserId", |
|||
column: x => x.UserId, |
|||
principalTable: "AbpUsers", |
|||
principalColumn: "Id", |
|||
onDelete: ReferentialAction.Cascade); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AbpUserRoles", |
|||
columns: table => new |
|||
{ |
|||
TenantId = table.Column<Guid>(nullable: true), |
|||
UserId = table.Column<Guid>(nullable: false), |
|||
RoleId = table.Column<Guid>(nullable: false) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpUserRoles", x => new { x.UserId, x.RoleId }); |
|||
table.ForeignKey( |
|||
name: "FK_AbpUserRoles_AbpRoles_RoleId", |
|||
column: x => x.RoleId, |
|||
principalTable: "AbpRoles", |
|||
principalColumn: "Id", |
|||
onDelete: ReferentialAction.Cascade); |
|||
table.ForeignKey( |
|||
name: "FK_AbpUserRoles_AbpUsers_UserId", |
|||
column: x => x.UserId, |
|||
principalTable: "AbpUsers", |
|||
principalColumn: "Id", |
|||
onDelete: ReferentialAction.Cascade); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AbpUserTokens", |
|||
columns: table => new |
|||
{ |
|||
TenantId = table.Column<Guid>(nullable: true), |
|||
UserId = table.Column<Guid>(nullable: false), |
|||
LoginProvider = table.Column<string>(maxLength: 128, nullable: false), |
|||
Name = table.Column<string>(nullable: false), |
|||
Value = table.Column<string>(nullable: true) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AbpUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); |
|||
table.ForeignKey( |
|||
name: "FK_AbpUserTokens_AbpUsers_UserId", |
|||
column: x => x.UserId, |
|||
principalTable: "AbpUsers", |
|||
principalColumn: "Id", |
|||
onDelete: ReferentialAction.Cascade); |
|||
}); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpPermissionGrants_Name_ProviderName_ProviderKey", |
|||
table: "AbpPermissionGrants", |
|||
columns: new[] { "Name", "ProviderName", "ProviderKey" }); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpRoleClaims_RoleId", |
|||
table: "AbpRoleClaims", |
|||
column: "RoleId"); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpRoles_NormalizedName", |
|||
table: "AbpRoles", |
|||
column: "NormalizedName"); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpSettings_Name_ProviderName_ProviderKey", |
|||
table: "AbpSettings", |
|||
columns: new[] { "Name", "ProviderName", "ProviderKey" }); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpUserClaims_UserId", |
|||
table: "AbpUserClaims", |
|||
column: "UserId"); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpUserLogins_LoginProvider_ProviderKey", |
|||
table: "AbpUserLogins", |
|||
columns: new[] { "LoginProvider", "ProviderKey" }); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpUserRoles_RoleId_UserId", |
|||
table: "AbpUserRoles", |
|||
columns: new[] { "RoleId", "UserId" }); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpUsers_Email", |
|||
table: "AbpUsers", |
|||
column: "Email"); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpUsers_NormalizedEmail", |
|||
table: "AbpUsers", |
|||
column: "NormalizedEmail"); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpUsers_NormalizedUserName", |
|||
table: "AbpUsers", |
|||
column: "NormalizedUserName"); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "IX_AbpUsers_UserName", |
|||
table: "AbpUsers", |
|||
column: "UserName"); |
|||
} |
|||
|
|||
protected override void Down(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.DropTable( |
|||
name: "AbpPermissionGrants"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AbpRoleClaims"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AbpSettings"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AbpUserClaims"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AbpUserLogins"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AbpUserRoles"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AbpUserTokens"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AbpRoles"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AbpUsers"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,336 @@ |
|||
// <auto-generated />
|
|||
using System; |
|||
using System.Collections.Generic; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Microsoft.EntityFrameworkCore.Metadata.Internal; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|||
using Acme.BookStore.EntityFrameworkCore; |
|||
|
|||
namespace Acme.BookStore.Migrations |
|||
{ |
|||
[DbContext(typeof(BookStoreDbContext))] |
|||
partial class BookStoreDbContextModelSnapshot : ModelSnapshot |
|||
{ |
|||
protected override void BuildModel(ModelBuilder modelBuilder) |
|||
{ |
|||
#pragma warning disable 612, 618
|
|||
modelBuilder |
|||
.HasAnnotation("ProductVersion", "2.1.0-preview2-30571") |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ConcurrencyStamp"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedName") |
|||
.IsRequired() |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedName"); |
|||
|
|||
b.ToTable("AbpRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ClaimType") |
|||
.IsRequired() |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("ClaimValue") |
|||
.HasMaxLength(1024); |
|||
|
|||
b.Property<Guid>("RoleId"); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AbpRoleClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<int>("AccessFailedCount") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("AccessFailedCount") |
|||
.HasDefaultValue(0); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsRequired() |
|||
.HasColumnName("ConcurrencyStamp") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("Email") |
|||
.HasColumnName("Email") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<bool>("EmailConfirmed") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("EmailConfirmed") |
|||
.HasDefaultValue(false); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<bool>("LockoutEnabled") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("LockoutEnabled") |
|||
.HasDefaultValue(false); |
|||
|
|||
b.Property<DateTimeOffset?>("LockoutEnd"); |
|||
|
|||
b.Property<string>("NormalizedEmail") |
|||
.HasColumnName("NormalizedEmail") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedUserName") |
|||
.IsRequired() |
|||
.HasColumnName("NormalizedUserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("PasswordHash") |
|||
.HasColumnName("PasswordHash") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("PhoneNumber") |
|||
.HasColumnName("PhoneNumber") |
|||
.HasMaxLength(16); |
|||
|
|||
b.Property<bool>("PhoneNumberConfirmed") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("PhoneNumberConfirmed") |
|||
.HasDefaultValue(false); |
|||
|
|||
b.Property<string>("SecurityStamp") |
|||
.IsRequired() |
|||
.HasColumnName("SecurityStamp") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<Guid?>("TenantId") |
|||
.HasColumnName("TenantId"); |
|||
|
|||
b.Property<bool>("TwoFactorEnabled") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnName("TwoFactorEnabled") |
|||
.HasDefaultValue(false); |
|||
|
|||
b.Property<string>("UserName") |
|||
.IsRequired() |
|||
.HasColumnName("UserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Email"); |
|||
|
|||
b.HasIndex("NormalizedEmail"); |
|||
|
|||
b.HasIndex("NormalizedUserName"); |
|||
|
|||
b.HasIndex("UserName"); |
|||
|
|||
b.ToTable("AbpUsers"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ClaimType") |
|||
.IsRequired() |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("ClaimValue") |
|||
.HasMaxLength(1024); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.Property<Guid>("UserId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AbpUserClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => |
|||
{ |
|||
b.Property<Guid>("UserId"); |
|||
|
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<string>("ProviderDisplayName") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.IsRequired() |
|||
.HasMaxLength(196); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("UserId", "LoginProvider"); |
|||
|
|||
b.HasIndex("LoginProvider", "ProviderKey"); |
|||
|
|||
b.ToTable("AbpUserLogins"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => |
|||
{ |
|||
b.Property<Guid>("UserId"); |
|||
|
|||
b.Property<Guid>("RoleId"); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("UserId", "RoleId"); |
|||
|
|||
b.HasIndex("RoleId", "UserId"); |
|||
|
|||
b.ToTable("AbpUserRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => |
|||
{ |
|||
b.Property<Guid>("UserId"); |
|||
|
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Name"); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.Property<string>("Value"); |
|||
|
|||
b.HasKey("UserId", "LoginProvider", "Name"); |
|||
|
|||
b.ToTable("AbpUserTokens"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.IsRequired() |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<string>("ProviderName") |
|||
.IsRequired() |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<Guid?>("TenantId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name", "ProviderName", "ProviderKey"); |
|||
|
|||
b.ToTable("AbpPermissionGrants"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<string>("ProviderName") |
|||
.HasMaxLength(64); |
|||
|
|||
b.Property<string>("Value") |
|||
.IsRequired() |
|||
.HasMaxLength(2048); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name", "ProviderName", "ProviderKey"); |
|||
|
|||
b.ToTable("AbpSettings"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityRole") |
|||
.WithMany("Claims") |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityUser") |
|||
.WithMany("Claims") |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityUser") |
|||
.WithMany("Logins") |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
|
|||
b.HasOne("Volo.Abp.Identity.IdentityUser") |
|||
.WithMany("Roles") |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => |
|||
{ |
|||
b.HasOne("Volo.Abp.Identity.IdentityUser") |
|||
.WithMany("Tokens") |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
#pragma warning restore 612, 618
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk.Web"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>netcoreapp2.1</TargetFramework> |
|||
<RootNamespace>Acme.BookStore</RootNamespace> |
|||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> |
|||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> |
|||
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType> |
|||
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> |
|||
<PreserveCompilationContext>true</PreserveCompilationContext> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<Compile Remove="Logs\**" /> |
|||
<Content Remove="Logs\**" /> |
|||
<EmbeddedResource Remove="Logs\**" /> |
|||
<None Remove="Logs\**" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.1" /> |
|||
<PackageReference Include="Serilog.AspNetCore" Version="2.1.1" /> |
|||
<PackageReference Include="Serilog.Sinks.File" Version="4.0.0" /> |
|||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.1.0" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\Acme.BookStore.Application\Acme.BookStore.Application.csproj" /> |
|||
<ProjectReference Include="..\Acme.BookStore.EntityFrameworkCore\Acme.BookStore.EntityFrameworkCore.csproj" /> |
|||
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic" Version="0.3.2" /> |
|||
<PackageReference Include="Volo.Abp.Autofac" Version="0.3.2" /> |
|||
<PackageReference Include="Volo.Abp.Identity.Web" Version="0.3.2" /> |
|||
<PackageReference Include="Volo.Abp.Account.Web" Version="0.3.2" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
@ -0,0 +1,171 @@ |
|||
using System.Collections.Generic; |
|||
using System.Globalization; |
|||
using System.IO; |
|||
using Localization.Resources.AbpUi; |
|||
using Microsoft.AspNetCore.Builder; |
|||
using Microsoft.AspNetCore.Hosting; |
|||
using Microsoft.AspNetCore.Localization; |
|||
using Microsoft.Extensions.Configuration; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Microsoft.Extensions.Options; |
|||
using Acme.BookStore.EntityFrameworkCore; |
|||
using Acme.BookStore.Localization.BookStore; |
|||
using Acme.BookStore.Menus; |
|||
using Swashbuckle.AspNetCore.Swagger; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Account.Web; |
|||
using Volo.Abp.AspNetCore.Modularity; |
|||
using Volo.Abp.AspNetCore.Mvc.UI; |
|||
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; |
|||
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; |
|||
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; |
|||
using Volo.Abp.Autofac; |
|||
using Volo.Abp.Data; |
|||
using Volo.Abp.EntityFrameworkCore; |
|||
using Volo.Abp.Identity; |
|||
using Volo.Abp.Identity.Web; |
|||
using Volo.Abp.Localization; |
|||
using Volo.Abp.Localization.Resources.AbpValidation; |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.PermissionManagement.Web; |
|||
using Volo.Abp.Threading; |
|||
using Volo.Abp.UI; |
|||
using Volo.Abp.UI.Navigation; |
|||
using Volo.Abp.VirtualFileSystem; |
|||
|
|||
namespace Acme.BookStore |
|||
{ |
|||
[DependsOn( |
|||
typeof(BookStoreApplicationModule), |
|||
typeof(BookStoreEntityFrameworkCoreModule), |
|||
typeof(AbpAutofacModule), |
|||
typeof(AbpIdentityWebModule), |
|||
typeof(AbpAccountWebModule), |
|||
typeof(AbpAspNetCoreMvcUiBasicThemeModule) |
|||
)] |
|||
public class BookStoreWebModule : AbpModule |
|||
{ |
|||
public override void ConfigureServices(IServiceCollection services) |
|||
{ |
|||
var hostingEnvironment = services.GetHostingEnvironment(); |
|||
var configuration = services.BuildConfiguration(); |
|||
|
|||
ConfigureDatabaseServices(services, configuration); |
|||
ConfigureVirtualFileSystem(services, hostingEnvironment); |
|||
ConfigureLocalizationServices(services); |
|||
ConfigureNavigationServices(services); |
|||
ConfigureSwaggerServices(services); |
|||
|
|||
services.AddAssemblyOf<BookStoreWebModule>(); |
|||
} |
|||
|
|||
private static void ConfigureDatabaseServices(IServiceCollection services, IConfigurationRoot configuration) |
|||
{ |
|||
services.Configure<DbConnectionOptions>(options => |
|||
{ |
|||
options.ConnectionStrings.Default = configuration.GetConnectionString("Default"); |
|||
}); |
|||
|
|||
services.Configure<AbpDbContextOptions>(options => { options.UseSqlServer(); }); |
|||
} |
|||
|
|||
private static void ConfigureVirtualFileSystem(IServiceCollection services, IHostingEnvironment hostingEnvironment) |
|||
{ |
|||
if (hostingEnvironment.IsDevelopment()) |
|||
{ |
|||
services.Configure<VirtualFileSystemOptions>(options => |
|||
{ |
|||
options.FileSets.ReplaceEmbeddedByPyhsical<BookStoreDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\Acme.BookStore.Domain")); |
|||
|
|||
|
|||
}); |
|||
} |
|||
} |
|||
|
|||
private static void ConfigureLocalizationServices(IServiceCollection services) |
|||
{ |
|||
var cultures = new List<CultureInfo> {new CultureInfo("en"), new CultureInfo("tr")}; |
|||
services.Configure<RequestLocalizationOptions>(options => |
|||
{ |
|||
options.DefaultRequestCulture = new RequestCulture("en"); |
|||
options.SupportedCultures = cultures; |
|||
options.SupportedUICultures = cultures; |
|||
}); |
|||
|
|||
services.Configure<AbpLocalizationOptions>(options => |
|||
{ |
|||
options.Resources |
|||
.Get<BookStoreResource>() |
|||
.AddBaseTypes( |
|||
typeof(AbpValidationResource), |
|||
typeof(AbpUiResource) |
|||
); |
|||
}); |
|||
} |
|||
|
|||
private static void ConfigureNavigationServices(IServiceCollection services) |
|||
{ |
|||
services.Configure<NavigationOptions>(options => |
|||
{ |
|||
options.MenuContributors.Add(new BookStoreMenuContributor()); |
|||
}); |
|||
} |
|||
|
|||
private static void ConfigureSwaggerServices(IServiceCollection services) |
|||
{ |
|||
services.AddSwaggerGen( |
|||
options => |
|||
{ |
|||
options.SwaggerDoc("v1", new Info { Title = "BookStore API", Version = "v1" }); |
|||
options.DocInclusionPredicate((docName, description) => true); |
|||
}); |
|||
} |
|||
|
|||
public override void OnApplicationInitialization(ApplicationInitializationContext context) |
|||
{ |
|||
var app = context.GetApplicationBuilder(); |
|||
var env = context.GetEnvironment(); |
|||
|
|||
if (env.IsDevelopment()) |
|||
{ |
|||
app.UseDeveloperExceptionPage(); |
|||
} |
|||
else |
|||
{ |
|||
app.UseErrorPage(); |
|||
} |
|||
|
|||
app.UseStaticFiles(); |
|||
app.UseVirtualFiles(); |
|||
app.UseAuthentication(); |
|||
|
|||
app.UseRequestLocalization(app.ApplicationServices.GetRequiredService<IOptions<RequestLocalizationOptions>>().Value); |
|||
|
|||
app.UseMvc(routes => |
|||
{ |
|||
routes.MapRoute( |
|||
name: "defaultWithArea", |
|||
template: "{area}/{controller=Home}/{action=Index}/{id?}"); |
|||
|
|||
routes.MapRoute( |
|||
name: "default", |
|||
template: "{controller=Home}/{action=Index}/{id?}"); |
|||
}); |
|||
|
|||
SeedDatabase(context); |
|||
} |
|||
|
|||
private static void SeedDatabase(ApplicationInitializationContext context) |
|||
{ |
|||
AsyncHelper.RunSync(async () => |
|||
{ |
|||
await context.ServiceProvider |
|||
.GetRequiredService<IIdentityDataSeeder>() |
|||
.SeedAsync( |
|||
"1q2w3E*", |
|||
IdentityPermissions.GetAll() //.Union(BookStorePermissions.GetAll())
|
|||
); |
|||
}); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Components; |
|||
using Volo.Abp.DependencyInjection; |
|||
|
|||
namespace Acme.BookStore.Branding |
|||
{ |
|||
[Dependency(ReplaceServices = true)] |
|||
public class BookStoreBrandingProvider : DefaultBrandingProvider |
|||
{ |
|||
public override string AppName => "BookStore"; |
|||
} |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
using System.Threading.Tasks; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Microsoft.Extensions.Localization; |
|||
using Acme.BookStore.Localization.BookStore; |
|||
using Volo.Abp.UI.Navigation; |
|||
|
|||
namespace Acme.BookStore.Menus |
|||
{ |
|||
public class BookStoreMenuContributor : IMenuContributor |
|||
{ |
|||
public async Task ConfigureMenuAsync(MenuConfigurationContext context) |
|||
{ |
|||
if (context.Menu.Name == StandardMenus.Main) |
|||
{ |
|||
await ConfigureMainMenuAsync(context); |
|||
} |
|||
} |
|||
|
|||
private async Task ConfigureMainMenuAsync(MenuConfigurationContext context) |
|||
{ |
|||
var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<BookStoreResource>>(); |
|||
|
|||
context.Menu.Items.Insert(0, new ApplicationMenuItem("BookStore.Home", l["Menu:Home"], "/")); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
using Microsoft.AspNetCore.Mvc.Localization; |
|||
using Microsoft.AspNetCore.Mvc.Razor.Internal; |
|||
using Acme.BookStore.Localization.BookStore; |
|||
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; |
|||
|
|||
namespace Acme.BookStore.Pages |
|||
{ |
|||
public abstract class BookStorePageBase : AbpPage |
|||
{ |
|||
[RazorInject] |
|||
public IHtmlLocalizer<BookStoreResource> L { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
using Microsoft.AspNetCore.Mvc.Localization; |
|||
using Acme.BookStore.Localization.BookStore; |
|||
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; |
|||
|
|||
namespace Acme.BookStore.Pages |
|||
{ |
|||
public abstract class BookStorePageModelBase : AbpPageModel |
|||
{ |
|||
public IHtmlLocalizer<BookStoreResource> L { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
@page |
|||
@using Acme.BookStore.Pages |
|||
@inherits BookStorePageBase |
|||
@model IndexModel |
|||
@section styles { |
|||
<link href="~/pages/index.css" rel="stylesheet" /> |
|||
} |
|||
<abp-card> |
|||
<abp-card-header>@L["Welcome"]</abp-card-header> |
|||
<abp-card-body> |
|||
<p>@L["LongWelcomeMessage"]</p> |
|||
@if (!CurrentUser.IsAuthenticated) |
|||
{ |
|||
<p><a abp-button="Primary" href="/Account/Login"><i class="fa fa-sign-in"></i> @L["Login"]</a></p> |
|||
} |
|||
<hr/> |
|||
<p class="text-right"><a href="http://abp.io?ref=tmpl" target="_blank">abp.io</a></p> |
|||
</abp-card-body> |
|||
</abp-card> |
|||
@ -0,0 +1,10 @@ |
|||
namespace Acme.BookStore.Pages |
|||
{ |
|||
public class IndexModel : BookStorePageModelBase |
|||
{ |
|||
public void OnGet() |
|||
{ |
|||
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,4 @@ |
|||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers |
|||
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI |
|||
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap |
|||
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling |
|||
@ -0,0 +1,46 @@ |
|||
using System; |
|||
using System.IO; |
|||
using Microsoft.AspNetCore.Hosting; |
|||
using Serilog; |
|||
using Serilog.Events; |
|||
|
|||
namespace Acme.BookStore |
|||
{ |
|||
public class Program |
|||
{ |
|||
public static int Main(string[] args) |
|||
{ |
|||
Log.Logger = new LoggerConfiguration() |
|||
.MinimumLevel.Debug() //TODO: Should be configurable!
|
|||
.MinimumLevel.Override("Microsoft", LogEventLevel.Information) |
|||
.Enrich.FromLogContext() |
|||
.WriteTo.File("Logs/logs.txt") |
|||
.CreateLogger(); |
|||
|
|||
try |
|||
{ |
|||
Log.Information("Starting web host."); |
|||
BuildWebHostInternal(args).Run(); |
|||
return 0; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
Log.Fatal(ex, "Host terminated unexpectedly!"); |
|||
return 1; |
|||
} |
|||
finally |
|||
{ |
|||
Log.CloseAndFlush(); |
|||
} |
|||
} |
|||
|
|||
public static IWebHost BuildWebHostInternal(string[] args) => |
|||
new WebHostBuilder() |
|||
.UseKestrel() |
|||
.UseContentRoot(Directory.GetCurrentDirectory()) |
|||
.UseIISIntegration() |
|||
.UseStartup<Startup>() |
|||
.UseSerilog() |
|||
.Build(); |
|||
} |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
{ |
|||
"iisSettings": { |
|||
"windowsAuthentication": false, |
|||
"anonymousAuthentication": true, |
|||
"iisExpress": { |
|||
"applicationUrl": "http://localhost:53929/", |
|||
"sslPort": 0 |
|||
} |
|||
}, |
|||
"profiles": { |
|||
"IIS Express": { |
|||
"commandName": "IISExpress", |
|||
"launchBrowser": true, |
|||
"environmentVariables": { |
|||
"ASPNETCORE_ENVIRONMENT": "Development" |
|||
} |
|||
}, |
|||
"Acme.BookStore.Web": { |
|||
"commandName": "Project", |
|||
"launchBrowser": true, |
|||
"environmentVariables": { |
|||
"ASPNETCORE_ENVIRONMENT": "Development" |
|||
}, |
|||
"applicationUrl": "http://localhost:53932/" |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
using System; |
|||
using Microsoft.AspNetCore.Builder; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Microsoft.Extensions.Logging; |
|||
using Serilog; |
|||
using Volo.Abp; |
|||
|
|||
namespace Acme.BookStore |
|||
{ |
|||
public class Startup |
|||
{ |
|||
public IServiceProvider ConfigureServices(IServiceCollection services) |
|||
{ |
|||
services.AddApplication<BookStoreWebModule>(options => |
|||
{ |
|||
options.UseAutofac(); |
|||
}); |
|||
|
|||
return services.BuildServiceProviderFromFactory(); |
|||
} |
|||
|
|||
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory) |
|||
{ |
|||
loggerFactory |
|||
.AddConsole() |
|||
.AddDebug() |
|||
.AddSerilog(new LoggerConfiguration() |
|||
.Enrich.FromLogContext() |
|||
.WriteTo.File("Logs/logs.txt") |
|||
.CreateLogger() |
|||
); |
|||
|
|||
app.InitializeApplication(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,3 @@ |
|||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers |
|||
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI |
|||
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap |
|||
@ -0,0 +1,12 @@ |
|||
module.exports = { |
|||
aliases: { |
|||
"@node_modules": "./node_modules", |
|||
"@libs": "./wwwroot/libs" |
|||
}, |
|||
clean: [ |
|||
"@libs" |
|||
], |
|||
mappings: { |
|||
|
|||
} |
|||
} |
|||
@ -0,0 +1,5 @@ |
|||
{ |
|||
"ConnectionStrings": { |
|||
"Default": "Server=localhost;Database=BookStore;Trusted_Connection=True;MultipleActiveResultSets=true" |
|||
} |
|||
} |
|||
@ -0,0 +1,6 @@ |
|||
[ |
|||
{ |
|||
"outputFile": "wwwroot/pages/index.css", |
|||
"inputFile": "wwwroot/pages/index.scss" |
|||
} |
|||
] |
|||
@ -0,0 +1,49 @@ |
|||
{ |
|||
"compilers": { |
|||
"less": { |
|||
"autoPrefix": "", |
|||
"cssComb": "none", |
|||
"ieCompat": true, |
|||
"strictMath": false, |
|||
"strictUnits": false, |
|||
"relativeUrls": true, |
|||
"rootPath": "", |
|||
"sourceMapRoot": "", |
|||
"sourceMapBasePath": "", |
|||
"sourceMap": false |
|||
}, |
|||
"sass": { |
|||
"includePath": "", |
|||
"indentType": "space", |
|||
"indentWidth": 2, |
|||
"outputStyle": "nested", |
|||
"Precision": 5, |
|||
"relativeUrls": true, |
|||
"sourceMapRoot": "", |
|||
"sourceMap": false |
|||
}, |
|||
"stylus": { |
|||
"sourceMap": false |
|||
}, |
|||
"babel": { |
|||
"sourceMap": false |
|||
}, |
|||
"coffeescript": { |
|||
"bare": false, |
|||
"runtimeMode": "node", |
|||
"sourceMap": false |
|||
} |
|||
}, |
|||
"minifiers": { |
|||
"css": { |
|||
"enabled": true, |
|||
"termSemicolons": true, |
|||
"gzip": false |
|||
}, |
|||
"javascript": { |
|||
"enabled": true, |
|||
"termSemicolons": true, |
|||
"gzip": false |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
"use strict"; |
|||
|
|||
var gulp = require("gulp"), |
|||
path = require('path'), |
|||
copyResources = require('./node_modules/@abp/aspnetcore.mvc.ui/gulp/copy-resources.js'); |
|||
|
|||
copyResources.init(path.resolve('./')); |
|||
|
|||
gulp.task('default', [copyResources.taskName], function () { |
|||
|
|||
}); |
|||
@ -0,0 +1,8 @@ |
|||
{ |
|||
"version": "0.1.0", |
|||
"name": "volo.supportapp", |
|||
"private": true, |
|||
"dependencies": { |
|||
"@abp/aspnetcore.mvc.ui.theme.basic": "^0.3.5" |
|||
} |
|||
} |
|||
@ -0,0 +1,546 @@ |
|||
var abp = abp || {}; |
|||
(function () { |
|||
|
|||
/* Application paths *****************************************/ |
|||
|
|||
//Current application root path (including virtual directory if exists).
|
|||
abp.appPath = abp.appPath || '/'; |
|||
|
|||
abp.pageLoadTime = new Date(); |
|||
|
|||
//Converts given path to absolute path using abp.appPath variable.
|
|||
abp.toAbsAppPath = function (path) { |
|||
if (path.indexOf('/') == 0) { |
|||
path = path.substring(1); |
|||
} |
|||
|
|||
return abp.appPath + path; |
|||
}; |
|||
|
|||
/* LOGGING ***************************************************/ |
|||
//Implements Logging API that provides secure & controlled usage of console.log
|
|||
|
|||
abp.log = abp.log || {}; |
|||
|
|||
abp.log.levels = { |
|||
DEBUG: 1, |
|||
INFO: 2, |
|||
WARN: 3, |
|||
ERROR: 4, |
|||
FATAL: 5 |
|||
}; |
|||
|
|||
abp.log.level = abp.log.levels.DEBUG; |
|||
|
|||
abp.log.log = function (logObject, logLevel) { |
|||
if (!window.console || !window.console.log) { |
|||
return; |
|||
} |
|||
|
|||
if (logLevel != undefined && logLevel < abp.log.level) { |
|||
return; |
|||
} |
|||
|
|||
console.log(logObject); |
|||
}; |
|||
|
|||
abp.log.debug = function (logObject) { |
|||
abp.log.log("DEBUG: ", abp.log.levels.DEBUG); |
|||
abp.log.log(logObject, abp.log.levels.DEBUG); |
|||
}; |
|||
|
|||
abp.log.info = function (logObject) { |
|||
abp.log.log("INFO: ", abp.log.levels.INFO); |
|||
abp.log.log(logObject, abp.log.levels.INFO); |
|||
}; |
|||
|
|||
abp.log.warn = function (logObject) { |
|||
abp.log.log("WARN: ", abp.log.levels.WARN); |
|||
abp.log.log(logObject, abp.log.levels.WARN); |
|||
}; |
|||
|
|||
abp.log.error = function (logObject) { |
|||
abp.log.log("ERROR: ", abp.log.levels.ERROR); |
|||
abp.log.log(logObject, abp.log.levels.ERROR); |
|||
}; |
|||
|
|||
abp.log.fatal = function (logObject) { |
|||
abp.log.log("FATAL: ", abp.log.levels.FATAL); |
|||
abp.log.log(logObject, abp.log.levels.FATAL); |
|||
}; |
|||
|
|||
/* LOCALIZATION ***********************************************/ |
|||
|
|||
abp.localization = abp.localization || {}; |
|||
|
|||
abp.localization.values = {}; |
|||
|
|||
abp.localization.localize = function (key, sourceName) { |
|||
sourceName = sourceName || abp.localization.defaultResourceName; |
|||
|
|||
var source = abp.localization.values[sourceName]; |
|||
|
|||
if (!source) { |
|||
abp.log.warn('Could not find localization source: ' + sourceName); |
|||
return key; |
|||
} |
|||
|
|||
var value = source[key]; |
|||
if (value == undefined) { |
|||
return key; |
|||
} |
|||
|
|||
var copiedArguments = Array.prototype.slice.call(arguments, 0); |
|||
copiedArguments.splice(1, 1); |
|||
copiedArguments[0] = value; |
|||
|
|||
return abp.utils.formatString.apply(this, copiedArguments); |
|||
}; |
|||
|
|||
abp.localization.getResource = function (name) { |
|||
return function () { |
|||
var copiedArguments = Array.prototype.slice.call(arguments, 0); |
|||
copiedArguments.splice(1, 0, name); |
|||
return abp.localization.localize.apply(this, copiedArguments); |
|||
}; |
|||
}; |
|||
|
|||
abp.localization.defaultResourceName = undefined; |
|||
|
|||
/* AUTHORIZATION **********************************************/ |
|||
|
|||
abp.auth = abp.auth || {}; |
|||
|
|||
abp.auth.policies = abp.auth.policies || {}; |
|||
|
|||
abp.auth.grantedPolicies = abp.auth.grantedPolicies || {}; |
|||
|
|||
abp.auth.isGranted = function (policyName) { |
|||
return abp.auth.policies[policyName] != undefined && abp.auth.grantedPolicies[policyName] != undefined; |
|||
}; |
|||
|
|||
abp.auth.isAnyGranted = function () { |
|||
if (!arguments || arguments.length <= 0) { |
|||
return true; |
|||
} |
|||
|
|||
for (var i = 0; i < arguments.length; i++) { |
|||
if (abp.auth.isGranted(arguments[i])) { |
|||
return true; |
|||
} |
|||
} |
|||
|
|||
return false; |
|||
}; |
|||
|
|||
abp.auth.areAllGranted = function () { |
|||
if (!arguments || arguments.length <= 0) { |
|||
return true; |
|||
} |
|||
|
|||
for (var i = 0; i < arguments.length; i++) { |
|||
if (!abp.auth.isGranted(arguments[i])) { |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
return true; |
|||
}; |
|||
|
|||
abp.auth.tokenCookieName = 'Abp.AuthToken'; |
|||
|
|||
abp.auth.setToken = function (authToken, expireDate) { |
|||
abp.utils.setCookieValue(abp.auth.tokenCookieName, authToken, expireDate, abp.appPath, abp.domain); |
|||
}; |
|||
|
|||
abp.auth.getToken = function () { |
|||
return abp.utils.getCookieValue(abp.auth.tokenCookieName); |
|||
} |
|||
|
|||
abp.auth.clearToken = function () { |
|||
abp.auth.setToken(); |
|||
} |
|||
|
|||
/* NOTIFICATION *********************************************/ |
|||
//Defines Notification API, not implements it
|
|||
|
|||
abp.notify = abp.notify || {}; |
|||
|
|||
abp.notify.success = function (message, title, options) { |
|||
abp.log.warn('abp.notify.success is not implemented!'); |
|||
}; |
|||
|
|||
abp.notify.info = function (message, title, options) { |
|||
abp.log.warn('abp.notify.info is not implemented!'); |
|||
}; |
|||
|
|||
abp.notify.warn = function (message, title, options) { |
|||
abp.log.warn('abp.notify.warn is not implemented!'); |
|||
}; |
|||
|
|||
abp.notify.error = function (message, title, options) { |
|||
abp.log.warn('abp.notify.error is not implemented!'); |
|||
}; |
|||
|
|||
/* MESSAGE **************************************************/ |
|||
//Defines Message API, not implements it
|
|||
|
|||
abp.message = abp.message || {}; |
|||
|
|||
abp.message._showMessage = function (message, title) { |
|||
alert((title || '') + ' ' + message); |
|||
}; |
|||
|
|||
abp.message.info = function (message, title) { |
|||
abp.log.warn('abp.message.info is not implemented!'); |
|||
return abp.message._showMessage(message, title); |
|||
}; |
|||
|
|||
abp.message.success = function (message, title) { |
|||
abp.log.warn('abp.message.success is not implemented!'); |
|||
return abp.message._showMessage(message, title); |
|||
}; |
|||
|
|||
abp.message.warn = function (message, title) { |
|||
abp.log.warn('abp.message.warn is not implemented!'); |
|||
return abp.message._showMessage(message, title); |
|||
}; |
|||
|
|||
abp.message.error = function (message, title) { |
|||
abp.log.warn('abp.message.error is not implemented!'); |
|||
return abp.message._showMessage(message, title); |
|||
}; |
|||
|
|||
abp.message.confirm = function (message, titleOrCallback, callback) { |
|||
abp.log.warn('abp.message.confirm is not properly implemented!'); |
|||
|
|||
if (titleOrCallback && !(typeof titleOrCallback == 'string')) { |
|||
callback = titleOrCallback; |
|||
} |
|||
|
|||
var result = confirm(message); |
|||
callback && callback(result); |
|||
}; |
|||
|
|||
/* UI *******************************************************/ |
|||
|
|||
abp.ui = abp.ui || {}; |
|||
|
|||
/* UI BLOCK */ |
|||
//Defines UI Block API, not implements it
|
|||
|
|||
abp.ui.block = function (elm) { |
|||
abp.log.warn('abp.ui.block is not implemented!'); |
|||
}; |
|||
|
|||
abp.ui.unblock = function (elm) { |
|||
abp.log.warn('abp.ui.unblock is not implemented!'); |
|||
}; |
|||
|
|||
/* UI BUSY */ |
|||
//Defines UI Busy API, not implements it
|
|||
|
|||
abp.ui.setBusy = function (elm, optionsOrPromise) { |
|||
abp.log.warn('abp.ui.setBusy is not implemented!'); |
|||
}; |
|||
|
|||
abp.ui.clearBusy = function (elm) { |
|||
abp.log.warn('abp.ui.clearBusy is not implemented!'); |
|||
}; |
|||
|
|||
/* SIMPLE EVENT BUS *****************************************/ |
|||
|
|||
abp.event = (function () { |
|||
|
|||
var _callbacks = {}; |
|||
|
|||
var on = function (eventName, callback) { |
|||
if (!_callbacks[eventName]) { |
|||
_callbacks[eventName] = []; |
|||
} |
|||
|
|||
_callbacks[eventName].push(callback); |
|||
}; |
|||
|
|||
var off = function (eventName, callback) { |
|||
var callbacks = _callbacks[eventName]; |
|||
if (!callbacks) { |
|||
return; |
|||
} |
|||
|
|||
var index = -1; |
|||
for (var i = 0; i < callbacks.length; i++) { |
|||
if (callbacks[i] === callback) { |
|||
index = i; |
|||
break; |
|||
} |
|||
} |
|||
|
|||
if (index < 0) { |
|||
return; |
|||
} |
|||
|
|||
_callbacks[eventName].splice(index, 1); |
|||
}; |
|||
|
|||
var trigger = function (eventName) { |
|||
var callbacks = _callbacks[eventName]; |
|||
if (!callbacks || !callbacks.length) { |
|||
return; |
|||
} |
|||
|
|||
var args = Array.prototype.slice.call(arguments, 1); |
|||
for (var i = 0; i < callbacks.length; i++) { |
|||
callbacks[i].apply(this, args); |
|||
} |
|||
}; |
|||
|
|||
// Public interface ///////////////////////////////////////////////////
|
|||
|
|||
return { |
|||
on: on, |
|||
off: off, |
|||
trigger: trigger |
|||
}; |
|||
})(); |
|||
|
|||
|
|||
/* UTILS ***************************************************/ |
|||
|
|||
abp.utils = abp.utils || {}; |
|||
|
|||
/* Creates a name namespace. |
|||
* Example: |
|||
* var taskService = abp.utils.createNamespace(abp, 'services.task'); |
|||
* taskService will be equal to abp.services.task |
|||
* first argument (root) must be defined first |
|||
************************************************************/ |
|||
abp.utils.createNamespace = function (root, ns) { |
|||
var parts = ns.split('.'); |
|||
for (var i = 0; i < parts.length; i++) { |
|||
if (typeof root[parts[i]] == 'undefined') { |
|||
root[parts[i]] = {}; |
|||
} |
|||
|
|||
root = root[parts[i]]; |
|||
} |
|||
|
|||
return root; |
|||
}; |
|||
|
|||
/* Find and replaces a string (search) to another string (replacement) in |
|||
* given string (str). |
|||
* Example: |
|||
* abp.utils.replaceAll('This is a test string', 'is', 'X') = 'ThX X a test string' |
|||
************************************************************/ |
|||
abp.utils.replaceAll = function (str, search, replacement) { |
|||
var fix = search.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); |
|||
return str.replace(new RegExp(fix, 'g'), replacement); |
|||
}; |
|||
|
|||
/* Formats a string just like string.format in C#. |
|||
* Example: |
|||
* abp.utils.formatString('Hello {0}','Tuana') = 'Hello Tuana' |
|||
************************************************************/ |
|||
abp.utils.formatString = function () { |
|||
if (arguments.length < 1) { |
|||
return null; |
|||
} |
|||
|
|||
var str = arguments[0]; |
|||
|
|||
for (var i = 1; i < arguments.length; i++) { |
|||
var placeHolder = '{' + (i - 1) + '}'; |
|||
str = abp.utils.replaceAll(str, placeHolder, arguments[i]); |
|||
} |
|||
|
|||
return str; |
|||
}; |
|||
|
|||
abp.utils.toPascalCase = function (str) { |
|||
if (!str || !str.length) { |
|||
return str; |
|||
} |
|||
|
|||
if (str.length === 1) { |
|||
return str.charAt(0).toUpperCase(); |
|||
} |
|||
|
|||
return str.charAt(0).toUpperCase() + str.substr(1); |
|||
} |
|||
|
|||
abp.utils.toCamelCase = function (str) { |
|||
if (!str || !str.length) { |
|||
return str; |
|||
} |
|||
|
|||
if (str.length === 1) { |
|||
return str.charAt(0).toLowerCase(); |
|||
} |
|||
|
|||
return str.charAt(0).toLowerCase() + str.substr(1); |
|||
} |
|||
|
|||
abp.utils.truncateString = function (str, maxLength) { |
|||
if (!str || !str.length || str.length <= maxLength) { |
|||
return str; |
|||
} |
|||
|
|||
return str.substr(0, maxLength); |
|||
}; |
|||
|
|||
abp.utils.truncateStringWithPostfix = function (str, maxLength, postfix) { |
|||
postfix = postfix || '...'; |
|||
|
|||
if (!str || !str.length || str.length <= maxLength) { |
|||
return str; |
|||
} |
|||
|
|||
if (maxLength <= postfix.length) { |
|||
return postfix.substr(0, maxLength); |
|||
} |
|||
|
|||
return str.substr(0, maxLength - postfix.length) + postfix; |
|||
}; |
|||
|
|||
abp.utils.isFunction = function (obj) { |
|||
return !!(obj && obj.constructor && obj.call && obj.apply); |
|||
}; |
|||
|
|||
/** |
|||
* parameterInfos should be an array of { name, value } objects |
|||
* where name is query string parameter name and value is it's value. |
|||
* includeQuestionMark is true by default. |
|||
*/ |
|||
abp.utils.buildQueryString = function (parameterInfos, includeQuestionMark) { |
|||
if (includeQuestionMark === undefined) { |
|||
includeQuestionMark = true; |
|||
} |
|||
|
|||
var qs = ''; |
|||
|
|||
function addSeperator() { |
|||
if (!qs.length) { |
|||
if (includeQuestionMark) { |
|||
qs = qs + '?'; |
|||
} |
|||
} else { |
|||
qs = qs + '&'; |
|||
} |
|||
} |
|||
|
|||
for (var i = 0; i < parameterInfos.length; ++i) { |
|||
var parameterInfo = parameterInfos[i]; |
|||
if (parameterInfo.value === undefined) { |
|||
continue; |
|||
} |
|||
|
|||
if (parameterInfo.value === null) { |
|||
parameterInfo.value = ''; |
|||
} |
|||
|
|||
addSeperator(); |
|||
|
|||
if (parameterInfo.value.toJSON && typeof parameterInfo.value.toJSON === "function") { |
|||
qs = qs + parameterInfo.name + '=' + encodeURIComponent(parameterInfo.value.toJSON()); |
|||
} else if (Array.isArray(parameterInfo.value) && parameterInfo.value.length) { |
|||
for (var j = 0; j < parameterInfo.value.length; j++) { |
|||
if (j > 0) { |
|||
addSeperator(); |
|||
} |
|||
|
|||
qs = qs + parameterInfo.name + '[' + j + ']=' + encodeURIComponent(parameterInfo.value[j]); |
|||
} |
|||
} else { |
|||
qs = qs + parameterInfo.name + '=' + encodeURIComponent(parameterInfo.value); |
|||
} |
|||
} |
|||
|
|||
return qs; |
|||
} |
|||
|
|||
/** |
|||
* Sets a cookie value for given key. |
|||
* This is a simple implementation created to be used by ABP. |
|||
* Please use a complete cookie library if you need. |
|||
* @param {string} key |
|||
* @param {string} value |
|||
* @param {Date} expireDate (optional). If not specified the cookie will expire at the end of session. |
|||
* @param {string} path (optional) |
|||
*/ |
|||
abp.utils.setCookieValue = function (key, value, expireDate, path) { |
|||
var cookieValue = encodeURIComponent(key) + '='; |
|||
|
|||
if (value) { |
|||
cookieValue = cookieValue + encodeURIComponent(value); |
|||
} |
|||
|
|||
if (expireDate) { |
|||
cookieValue = cookieValue + "; expires=" + expireDate.toUTCString(); |
|||
} |
|||
|
|||
if (path) { |
|||
cookieValue = cookieValue + "; path=" + path; |
|||
} |
|||
|
|||
document.cookie = cookieValue; |
|||
}; |
|||
|
|||
/** |
|||
* Gets a cookie with given key. |
|||
* This is a simple implementation created to be used by ABP. |
|||
* Please use a complete cookie library if you need. |
|||
* @param {string} key |
|||
* @returns {string} Cookie value or null |
|||
*/ |
|||
abp.utils.getCookieValue = function (key) { |
|||
var equalities = document.cookie.split('; '); |
|||
for (var i = 0; i < equalities.length; i++) { |
|||
if (!equalities[i]) { |
|||
continue; |
|||
} |
|||
|
|||
var splitted = equalities[i].split('='); |
|||
if (splitted.length != 2) { |
|||
continue; |
|||
} |
|||
|
|||
if (decodeURIComponent(splitted[0]) === key) { |
|||
return decodeURIComponent(splitted[1] || ''); |
|||
} |
|||
} |
|||
|
|||
return null; |
|||
}; |
|||
|
|||
/** |
|||
* Deletes cookie for given key. |
|||
* This is a simple implementation created to be used by ABP. |
|||
* Please use a complete cookie library if you need. |
|||
* @param {string} key |
|||
* @param {string} path (optional) |
|||
*/ |
|||
abp.utils.deleteCookie = function (key, path) { |
|||
var cookieValue = encodeURIComponent(key) + '='; |
|||
|
|||
cookieValue = cookieValue + "; expires=" + (new Date(new Date().getTime() - 86400000)).toUTCString(); |
|||
|
|||
if (path) { |
|||
cookieValue = cookieValue + "; path=" + path; |
|||
} |
|||
|
|||
document.cookie = cookieValue; |
|||
} |
|||
|
|||
/* SECURITY ***************************************/ |
|||
abp.security = abp.security || {}; |
|||
abp.security.antiForgery = abp.security.antiForgery || {}; |
|||
|
|||
abp.security.antiForgery.tokenCookieName = 'XSRF-TOKEN'; |
|||
abp.security.antiForgery.tokenHeaderName = 'X-XSRF-TOKEN'; |
|||
|
|||
abp.security.antiForgery.getToken = function () { |
|||
return abp.utils.getCookieValue(abp.security.antiForgery.tokenCookieName); |
|||
}; |
|||
|
|||
})(); |
|||
@ -0,0 +1,389 @@ |
|||
var abp = abp || {}; |
|||
(function($) { |
|||
|
|||
if (!$) { |
|||
throw "abp/jquery library requires the jquery library included to the page!"; |
|||
} |
|||
|
|||
// ABP CORE OVERRIDES /////////////////////////////////////////////////////
|
|||
|
|||
abp.message._showMessage = function (message, title) { |
|||
alert((title || '') + ' ' + message); |
|||
|
|||
return $.Deferred(function ($dfd) { |
|||
$dfd.resolve(); |
|||
}); |
|||
}; |
|||
|
|||
abp.message.confirm = function (message, titleOrCallback, callback) { |
|||
if (titleOrCallback && !(typeof titleOrCallback == 'string')) { |
|||
callback = titleOrCallback; |
|||
} |
|||
|
|||
var result = confirm(message); |
|||
callback && callback(result); |
|||
|
|||
return $.Deferred(function ($dfd) { |
|||
$dfd.resolve(result); |
|||
}); |
|||
}; |
|||
|
|||
abp.utils.isFunction = function (obj) { |
|||
return $.isFunction(obj); |
|||
}; |
|||
|
|||
// JQUERY EXTENSIONS //////////////////////////////////////////////////////
|
|||
|
|||
$.fn.findWithSelf = function (selector) { |
|||
return this.filter(selector).add(this.find(selector)); |
|||
}; |
|||
|
|||
// DOM ////////////////////////////////////////////////////////////////////
|
|||
|
|||
abp.dom = abp.dom || {}; |
|||
|
|||
abp.dom.onNodeAdded = function (callback) { |
|||
abp.event.on('abp.dom.nodeAdded', callback); |
|||
}; |
|||
|
|||
abp.dom.onNodeRemoved = function (callback) { |
|||
abp.event.on('abp.dom.nodeRemoved', callback); |
|||
}; |
|||
|
|||
var mutationObserverCallback = function (mutationsList) { |
|||
for (var i = 0; i < mutationsList.length; i++) { |
|||
var mutation = mutationsList[i]; |
|||
if (mutation.type === 'childList') { |
|||
if (mutation.addedNodes && mutation.removedNodes.length) { |
|||
for (var k = 0; k < mutation.removedNodes.length; k++) { |
|||
abp.event.trigger( |
|||
'abp.dom.nodeRemoved', |
|||
{ |
|||
$el: $(mutation.removedNodes[k]) |
|||
} |
|||
); |
|||
} |
|||
} |
|||
|
|||
if (mutation.addedNodes && mutation.addedNodes.length) { |
|||
for (var j = 0; j < mutation.addedNodes.length; j++) { |
|||
abp.event.trigger( |
|||
'abp.dom.nodeAdded', |
|||
{ |
|||
$el: $(mutation.addedNodes[j]) |
|||
} |
|||
); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
|
|||
new MutationObserver(mutationObserverCallback).observe( |
|||
$('body')[0], |
|||
{ |
|||
subtree: true, |
|||
childList: true |
|||
} |
|||
); |
|||
|
|||
// AJAX ///////////////////////////////////////////////////////////////////
|
|||
|
|||
abp.ajax = function (userOptions) { |
|||
userOptions = userOptions || {}; |
|||
|
|||
var options = $.extend(true, {}, abp.ajax.defaultOpts, userOptions); |
|||
|
|||
options.success = undefined; |
|||
options.error = undefined; |
|||
|
|||
return $.Deferred(function ($dfd) { |
|||
$.ajax(options) |
|||
.done(function (data, textStatus, jqXHR) { |
|||
$dfd.resolve(data); |
|||
userOptions.success && userOptions.success(data); |
|||
}).fail(function (jqXHR) { |
|||
if (jqXHR.getResponseHeader('_AbpErrorFormat') === 'true') { |
|||
abp.ajax.handleAbpErrorResponse(jqXHR, userOptions, $dfd); |
|||
} else { |
|||
abp.ajax.handleNonAbpErrorResponse(jqXHR, userOptions, $dfd); |
|||
} |
|||
}); |
|||
}); |
|||
}; |
|||
|
|||
$.extend(abp.ajax, { |
|||
defaultOpts: { |
|||
dataType: 'json', |
|||
type: 'POST', |
|||
contentType: 'application/json', |
|||
headers: { |
|||
'X-Requested-With': 'XMLHttpRequest' |
|||
} |
|||
}, |
|||
|
|||
defaultError: { |
|||
message: 'An error has occurred!', |
|||
details: 'Error detail not sent by server.' |
|||
}, |
|||
|
|||
defaultError401: { |
|||
message: 'You are not authenticated!', |
|||
details: 'You should be authenticated (sign in) in order to perform this operation.' |
|||
}, |
|||
|
|||
defaultError403: { |
|||
message: 'You are not authorized!', |
|||
details: 'You are not allowed to perform this operation.' |
|||
}, |
|||
|
|||
defaultError404: { |
|||
message: 'Resource not found!', |
|||
details: 'The resource requested could not found on the server.' |
|||
}, |
|||
|
|||
logError: function (error) { |
|||
abp.log.error(error); |
|||
}, |
|||
|
|||
showError: function (error) { |
|||
if (error.details) { |
|||
return abp.message.error(error.details, error.message); |
|||
} else { |
|||
return abp.message.error(error.message || abp.ajax.defaultError.message); |
|||
} |
|||
}, |
|||
|
|||
handleTargetUrl: function (targetUrl) { |
|||
if (!targetUrl) { |
|||
location.href = abp.appPath; |
|||
} else { |
|||
location.href = targetUrl; |
|||
} |
|||
}, |
|||
|
|||
handleErrorStatusCode: function (status) { |
|||
switch (status) { |
|||
case 401: |
|||
abp.ajax.handleUnAuthorizedRequest( |
|||
abp.ajax.showError(abp.ajax.defaultError401), |
|||
abp.appPath |
|||
); |
|||
break; |
|||
case 403: |
|||
abp.ajax.showError(abp.ajax.defaultError403); |
|||
break; |
|||
case 404: |
|||
abp.ajax.showError(abp.ajax.defaultError404); |
|||
break; |
|||
default: |
|||
abp.ajax.showError(abp.ajax.defaultError); |
|||
break; |
|||
} |
|||
}, |
|||
|
|||
handleNonAbpErrorResponse: function (jqXHR, userOptions, $dfd) { |
|||
if (userOptions.abpHandleError !== false) { |
|||
abp.ajax.handleErrorStatusCode(jqXHR.status); |
|||
} |
|||
|
|||
$dfd.reject.apply(this, arguments); |
|||
userOptions.error && userOptions.error.apply(this, arguments); |
|||
}, |
|||
|
|||
handleAbpErrorResponse: function (jqXHR, userOptions, $dfd) { |
|||
var messagePromise = null; |
|||
|
|||
if (userOptions.abpHandleError !== false) { |
|||
messagePromise = abp.ajax.showError(jqXHR.responseJSON.error); |
|||
} |
|||
|
|||
abp.ajax.logError(jqXHR.responseJSON.error); |
|||
|
|||
$dfd && $dfd.reject(jqXHR.responseJSON.error, jqXHR); |
|||
userOptions.error && userOptions.error(jqXHR.responseJSON.error, jqXHR); |
|||
|
|||
if (jqXHR.status === 401 && userOptions.abpHandleError !== false) { |
|||
abp.ajax.handleUnAuthorizedRequest(messagePromise); |
|||
} |
|||
}, |
|||
|
|||
handleUnAuthorizedRequest: function (messagePromise, targetUrl) { |
|||
if (messagePromise) { |
|||
messagePromise.done(function () { |
|||
abp.ajax.handleTargetUrl(targetUrl); |
|||
}); |
|||
} else { |
|||
abp.ajax.handleTargetUrl(targetUrl); |
|||
} |
|||
}, |
|||
|
|||
blockUI: function (options) { |
|||
if (options.blockUI) { |
|||
if (options.blockUI === true) { //block whole page
|
|||
abp.ui.setBusy(); |
|||
} else { //block an element
|
|||
abp.ui.setBusy(options.blockUI); |
|||
} |
|||
} |
|||
}, |
|||
|
|||
unblockUI: function (options) { |
|||
if (options.blockUI) { |
|||
if (options.blockUI === true) { //unblock whole page
|
|||
abp.ui.clearBusy(); |
|||
} else { //unblock an element
|
|||
abp.ui.clearBusy(options.blockUI); |
|||
} |
|||
} |
|||
}, |
|||
|
|||
ajaxSendHandler: function (event, request, settings) { |
|||
var token = abp.security.antiForgery.getToken(); |
|||
if (!token) { |
|||
return; |
|||
} |
|||
|
|||
if (!settings.headers || settings.headers[abp.security.antiForgery.tokenHeaderName] === undefined) { |
|||
request.setRequestHeader(abp.security.antiForgery.tokenHeaderName, token); |
|||
} |
|||
} |
|||
}); |
|||
|
|||
$(document).ajaxSend(function (event, request, settings) { |
|||
return abp.ajax.ajaxSendHandler(event, request, settings); |
|||
}); |
|||
|
|||
abp.event.on('abp.configurationInitialized', function () { |
|||
var l = abp.localization.getResource('AbpUi'); |
|||
|
|||
abp.ajax.defaultError.message = l('DefaultErrorMessage'); |
|||
abp.ajax.defaultError.details = l('DefaultErrorMessageDetail'); |
|||
abp.ajax.defaultError401.message = l('DefaultErrorMessage401'); |
|||
abp.ajax.defaultError401.details = l('DefaultErrorMessage401Detail'); |
|||
abp.ajax.defaultError403.message = l('DefaultErrorMessage403'); |
|||
abp.ajax.defaultError403.details = l('DefaultErrorMessage403Detail'); |
|||
abp.ajax.defaultError404.message = l('DefaultErrorMessage404'); |
|||
abp.ajax.defaultError404.details = l('DefaultErrorMessage404Detail'); |
|||
}); |
|||
|
|||
// RESOURCE LOADER ////////////////////////////////////////////////////////
|
|||
|
|||
/* UrlStates enum */ |
|||
var UrlStates = { |
|||
LOADING: 'LOADING', |
|||
LOADED: 'LOADED', |
|||
FAILED: 'FAILED' |
|||
}; |
|||
|
|||
/* UrlInfo class */ |
|||
function UrlInfo(url) { |
|||
this.url = url; |
|||
this.state = UrlStates.LOADING; |
|||
this.loadCallbacks = []; |
|||
this.failCallbacks = []; |
|||
} |
|||
|
|||
UrlInfo.prototype.succeed = function () { |
|||
this.state = UrlStates.LOADED; |
|||
for (var i = 0; i < this.loadCallbacks.length; i++) { |
|||
this.loadCallbacks[i](); |
|||
} |
|||
}; |
|||
|
|||
UrlInfo.prototype.failed = function () { |
|||
this.state = UrlStates.FAILED; |
|||
for (var i = 0; i < this.failCallbacks.length; i++) { |
|||
this.failCallbacks[i](); |
|||
} |
|||
}; |
|||
|
|||
UrlInfo.prototype.handleCallbacks = function (loadCallback, failCallback) { |
|||
switch (this.state) { |
|||
case UrlStates.LOADED: |
|||
loadCallback && loadCallback(); |
|||
break; |
|||
case UrlStates.FAILED: |
|||
failCallback && failCallback(); |
|||
break; |
|||
case UrlStates.LOADING: |
|||
this.addCallbacks(loadCallback, failCallback); |
|||
break; |
|||
} |
|||
}; |
|||
|
|||
UrlInfo.prototype.addCallbacks = function (loadCallback, failCallback) { |
|||
loadCallback && this.loadCallbacks.push(loadCallback); |
|||
failCallback && this.failCallbacks.push(failCallback); |
|||
}; |
|||
|
|||
/* ResourceLoader API */ |
|||
|
|||
abp.ResourceLoader = (function () { |
|||
|
|||
var _urlInfos = {}; |
|||
|
|||
function getCacheKey(url) { |
|||
return url; |
|||
} |
|||
|
|||
function appendTimeToUrl(url) { |
|||
|
|||
if (url.indexOf('?') < 0) { |
|||
url += '?'; |
|||
} else { |
|||
url += '&'; |
|||
} |
|||
|
|||
url += '_=' + new Date().getTime(); |
|||
|
|||
return url; |
|||
} |
|||
|
|||
var _loadFromUrl = function (url, loadCallback, failCallback, serverLoader) { |
|||
|
|||
var cacheKey = getCacheKey(url); |
|||
|
|||
var urlInfo = _urlInfos[cacheKey]; |
|||
|
|||
if (urlInfo) { |
|||
urlInfo.handleCallbacks(loadCallback, failCallback); |
|||
return; |
|||
} |
|||
|
|||
_urlInfos[cacheKey] = urlInfo = new UrlInfo(url); |
|||
urlInfo.addCallbacks(loadCallback, failCallback); |
|||
|
|||
serverLoader(urlInfo); |
|||
}; |
|||
|
|||
var _loadScript = function (url, loadCallback, failCallback) { |
|||
_loadFromUrl(url, loadCallback, failCallback, function (urlInfo) { |
|||
$.getScript(url) |
|||
.done(function () { |
|||
urlInfo.succeed(); |
|||
}) |
|||
.fail(function () { |
|||
urlInfo.failed(); |
|||
}); |
|||
}); |
|||
}; |
|||
|
|||
var _loadStyle = function (url) { |
|||
_loadFromUrl(url, undefined, undefined, function (urlInfo) { |
|||
|
|||
$('<link/>', { |
|||
rel: 'stylesheet', |
|||
type: 'text/css', |
|||
href: appendTimeToUrl(url) |
|||
}).appendTo('head'); |
|||
}); |
|||
}; |
|||
|
|||
return { |
|||
loadScript: _loadScript, |
|||
loadStyle: _loadStyle |
|||
} |
|||
})(); |
|||
|
|||
})(jQuery); |
|||
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,202 @@ |
|||
table.dataTable { |
|||
clear: both; |
|||
margin-top: 6px !important; |
|||
margin-bottom: 6px !important; |
|||
max-width: none !important; |
|||
border-collapse: separate !important; |
|||
} |
|||
table.dataTable td, |
|||
table.dataTable th { |
|||
-webkit-box-sizing: content-box; |
|||
box-sizing: content-box; |
|||
} |
|||
table.dataTable td.dataTables_empty, |
|||
table.dataTable th.dataTables_empty { |
|||
text-align: center; |
|||
} |
|||
table.dataTable.nowrap th, |
|||
table.dataTable.nowrap td { |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
div.dataTables_wrapper div.dataTables_length label { |
|||
font-weight: normal; |
|||
text-align: left; |
|||
white-space: nowrap; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_length select { |
|||
width: 75px; |
|||
display: inline-block; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter { |
|||
text-align: right; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter label { |
|||
font-weight: normal; |
|||
white-space: nowrap; |
|||
text-align: left; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter input { |
|||
margin-left: 0.5em; |
|||
display: inline-block; |
|||
width: auto; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_info { |
|||
padding-top: 0.85em; |
|||
white-space: nowrap; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_paginate { |
|||
margin: 0; |
|||
white-space: nowrap; |
|||
text-align: right; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|||
margin: 2px 0; |
|||
white-space: nowrap; |
|||
justify-content: flex-end; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_processing { |
|||
position: absolute; |
|||
top: 50%; |
|||
left: 50%; |
|||
width: 200px; |
|||
margin-left: -100px; |
|||
margin-top: -26px; |
|||
text-align: center; |
|||
padding: 1em 0; |
|||
} |
|||
|
|||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
|||
table.dataTable thead > tr > td.sorting_asc, |
|||
table.dataTable thead > tr > td.sorting_desc, |
|||
table.dataTable thead > tr > td.sorting { |
|||
padding-right: 30px; |
|||
} |
|||
table.dataTable thead > tr > th:active, |
|||
table.dataTable thead > tr > td:active { |
|||
outline: none; |
|||
} |
|||
table.dataTable thead .sorting, |
|||
table.dataTable thead .sorting_asc, |
|||
table.dataTable thead .sorting_desc, |
|||
table.dataTable thead .sorting_asc_disabled, |
|||
table.dataTable thead .sorting_desc_disabled { |
|||
cursor: pointer; |
|||
position: relative; |
|||
} |
|||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
|||
table.dataTable thead .sorting_asc:before, |
|||
table.dataTable thead .sorting_asc:after, |
|||
table.dataTable thead .sorting_desc:before, |
|||
table.dataTable thead .sorting_desc:after, |
|||
table.dataTable thead .sorting_asc_disabled:before, |
|||
table.dataTable thead .sorting_asc_disabled:after, |
|||
table.dataTable thead .sorting_desc_disabled:before, |
|||
table.dataTable thead .sorting_desc_disabled:after { |
|||
position: absolute; |
|||
bottom: 0.9em; |
|||
display: block; |
|||
opacity: 0.3; |
|||
} |
|||
table.dataTable thead .sorting:before, |
|||
table.dataTable thead .sorting_asc:before, |
|||
table.dataTable thead .sorting_desc:before, |
|||
table.dataTable thead .sorting_asc_disabled:before, |
|||
table.dataTable thead .sorting_desc_disabled:before { |
|||
right: 1em; |
|||
content: "\2191"; |
|||
} |
|||
table.dataTable thead .sorting:after, |
|||
table.dataTable thead .sorting_asc:after, |
|||
table.dataTable thead .sorting_desc:after, |
|||
table.dataTable thead .sorting_asc_disabled:after, |
|||
table.dataTable thead .sorting_desc_disabled:after { |
|||
right: 0.5em; |
|||
content: "\2193"; |
|||
} |
|||
table.dataTable thead .sorting_asc:before, |
|||
table.dataTable thead .sorting_desc:after { |
|||
opacity: 1; |
|||
} |
|||
table.dataTable thead .sorting_asc_disabled:before, |
|||
table.dataTable thead .sorting_desc_disabled:after { |
|||
opacity: 0; |
|||
} |
|||
|
|||
div.dataTables_scrollHead table.dataTable { |
|||
margin-bottom: 0 !important; |
|||
} |
|||
|
|||
div.dataTables_scrollBody table { |
|||
border-top: none; |
|||
margin-top: 0 !important; |
|||
margin-bottom: 0 !important; |
|||
} |
|||
div.dataTables_scrollBody table thead .sorting:after, |
|||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|||
display: none; |
|||
} |
|||
div.dataTables_scrollBody table tbody tr:first-child th, |
|||
div.dataTables_scrollBody table tbody tr:first-child td { |
|||
border-top: none; |
|||
} |
|||
|
|||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|||
box-sizing: content-box; |
|||
} |
|||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|||
margin-top: 0 !important; |
|||
border-top: none; |
|||
} |
|||
|
|||
@media screen and (max-width: 767px) { |
|||
div.dataTables_wrapper div.dataTables_length, |
|||
div.dataTables_wrapper div.dataTables_filter, |
|||
div.dataTables_wrapper div.dataTables_info, |
|||
div.dataTables_wrapper div.dataTables_paginate { |
|||
text-align: center; |
|||
} |
|||
} |
|||
table.dataTable.table-sm > thead > tr > th { |
|||
padding-right: 20px; |
|||
} |
|||
table.dataTable.table-sm .sorting:before, |
|||
table.dataTable.table-sm .sorting_asc:before, |
|||
table.dataTable.table-sm .sorting_desc:before { |
|||
top: 5px; |
|||
right: 0.85em; |
|||
} |
|||
table.dataTable.table-sm .sorting:after, |
|||
table.dataTable.table-sm .sorting_asc:after, |
|||
table.dataTable.table-sm .sorting_desc:after { |
|||
top: 5px; |
|||
} |
|||
|
|||
table.table-bordered.dataTable th, |
|||
table.table-bordered.dataTable td { |
|||
border-left-width: 0; |
|||
} |
|||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|||
table.table-bordered.dataTable td:last-child, |
|||
table.table-bordered.dataTable td:last-child { |
|||
border-right-width: 0; |
|||
} |
|||
table.table-bordered.dataTable tbody th, |
|||
table.table-bordered.dataTable tbody td { |
|||
border-bottom-width: 0; |
|||
} |
|||
|
|||
div.dataTables_scrollHead table.table-bordered { |
|||
border-bottom-width: 0; |
|||
} |
|||
|
|||
div.table-responsive > div.dataTables_wrapper > div.row { |
|||
margin: 0; |
|||
} |
|||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
|||
padding-left: 0; |
|||
} |
|||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
|||
padding-right: 0; |
|||
} |
|||
@ -0,0 +1,184 @@ |
|||
/*! DataTables Bootstrap 3 integration |
|||
* ©2011-2015 SpryMedia Ltd - datatables.net/license |
|||
*/ |
|||
|
|||
/** |
|||
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and |
|||
* DataTables 1.10 or newer. |
|||
* |
|||
* This file sets the defaults and adds options to DataTables to style its |
|||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|||
* for further information. |
|||
*/ |
|||
(function( factory ){ |
|||
if ( typeof define === 'function' && define.amd ) { |
|||
// AMD
|
|||
define( ['jquery', 'datatables.net'], function ( $ ) { |
|||
return factory( $, window, document ); |
|||
} ); |
|||
} |
|||
else if ( typeof exports === 'object' ) { |
|||
// CommonJS
|
|||
module.exports = function (root, $) { |
|||
if ( ! root ) { |
|||
root = window; |
|||
} |
|||
|
|||
if ( ! $ || ! $.fn.dataTable ) { |
|||
// Require DataTables, which attaches to jQuery, including
|
|||
// jQuery if needed and have a $ property so we can access the
|
|||
// jQuery object that is used
|
|||
$ = require('datatables.net')(root, $).$; |
|||
} |
|||
|
|||
return factory( $, root, root.document ); |
|||
}; |
|||
} |
|||
else { |
|||
// Browser
|
|||
factory( jQuery, window, document ); |
|||
} |
|||
}(function( $, window, document, undefined ) { |
|||
'use strict'; |
|||
var DataTable = $.fn.dataTable; |
|||
|
|||
|
|||
/* Set the defaults for DataTables initialisation */ |
|||
$.extend( true, DataTable.defaults, { |
|||
dom: |
|||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|||
"<'row'<'col-sm-12'tr>>" + |
|||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|||
renderer: 'bootstrap' |
|||
} ); |
|||
|
|||
|
|||
/* Default class modification */ |
|||
$.extend( DataTable.ext.classes, { |
|||
sWrapper: "dataTables_wrapper container-fluid dt-bootstrap4", |
|||
sFilterInput: "form-control form-control-sm", |
|||
sLengthSelect: "form-control form-control-sm", |
|||
sProcessing: "dataTables_processing card", |
|||
sPageButton: "paginate_button page-item" |
|||
} ); |
|||
|
|||
|
|||
/* Bootstrap paging button renderer */ |
|||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|||
var api = new DataTable.Api( settings ); |
|||
var classes = settings.oClasses; |
|||
var lang = settings.oLanguage.oPaginate; |
|||
var aria = settings.oLanguage.oAria.paginate || {}; |
|||
var btnDisplay, btnClass, counter=0; |
|||
|
|||
var attach = function( container, buttons ) { |
|||
var i, ien, node, button; |
|||
var clickHandler = function ( e ) { |
|||
e.preventDefault(); |
|||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|||
api.page( e.data.action ).draw( 'page' ); |
|||
} |
|||
}; |
|||
|
|||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|||
button = buttons[i]; |
|||
|
|||
if ( $.isArray( button ) ) { |
|||
attach( container, button ); |
|||
} |
|||
else { |
|||
btnDisplay = ''; |
|||
btnClass = ''; |
|||
|
|||
switch ( button ) { |
|||
case 'ellipsis': |
|||
btnDisplay = '…'; |
|||
btnClass = 'disabled'; |
|||
break; |
|||
|
|||
case 'first': |
|||
btnDisplay = lang.sFirst; |
|||
btnClass = button + (page > 0 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'previous': |
|||
btnDisplay = lang.sPrevious; |
|||
btnClass = button + (page > 0 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'next': |
|||
btnDisplay = lang.sNext; |
|||
btnClass = button + (page < pages-1 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'last': |
|||
btnDisplay = lang.sLast; |
|||
btnClass = button + (page < pages-1 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
default: |
|||
btnDisplay = button + 1; |
|||
btnClass = page === button ? |
|||
'active' : ''; |
|||
break; |
|||
} |
|||
|
|||
if ( btnDisplay ) { |
|||
node = $('<li>', { |
|||
'class': classes.sPageButton+' '+btnClass, |
|||
'id': idx === 0 && typeof button === 'string' ? |
|||
settings.sTableId +'_'+ button : |
|||
null |
|||
} ) |
|||
.append( $('<a>', { |
|||
'href': '#', |
|||
'aria-controls': settings.sTableId, |
|||
'aria-label': aria[ button ], |
|||
'data-dt-idx': counter, |
|||
'tabindex': settings.iTabIndex, |
|||
'class': 'page-link' |
|||
} ) |
|||
.html( btnDisplay ) |
|||
) |
|||
.appendTo( container ); |
|||
|
|||
settings.oApi._fnBindAction( |
|||
node, {action: button}, clickHandler |
|||
); |
|||
|
|||
counter++; |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
|
|||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|||
// inside an iframe or frame.
|
|||
var activeEl; |
|||
|
|||
try { |
|||
// Because this approach is destroying and recreating the paging
|
|||
// elements, focus is lost on the select button which is bad for
|
|||
// accessibility. So we want to restore focus once the draw has
|
|||
// completed
|
|||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|||
} |
|||
catch (e) {} |
|||
|
|||
attach( |
|||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|||
buttons |
|||
); |
|||
|
|||
if ( activeEl !== undefined ) { |
|||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus(); |
|||
} |
|||
}; |
|||
|
|||
|
|||
return DataTable; |
|||
})); |
|||
File diff suppressed because it is too large
File diff suppressed because it is too large
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -0,0 +1,431 @@ |
|||
// Unobtrusive validation support library for jQuery and jQuery Validate
|
|||
// Copyright (C) Microsoft Corporation. All rights reserved.
|
|||
// @version v3.2.9
|
|||
|
|||
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ |
|||
/*global document: false, jQuery: false */ |
|||
|
|||
(function (factory) { |
|||
if (typeof define === 'function' && define.amd) { |
|||
// AMD. Register as an anonymous module.
|
|||
define("jquery.validate.unobtrusive", ['jquery.validation'], factory); |
|||
} else if (typeof module === 'object' && module.exports) { |
|||
// CommonJS-like environments that support module.exports
|
|||
module.exports = factory(require('jquery-validation')); |
|||
} else { |
|||
// Browser global
|
|||
jQuery.validator.unobtrusive = factory(jQuery); |
|||
} |
|||
}(function ($) { |
|||
var $jQval = $.validator, |
|||
adapters, |
|||
data_validation = "unobtrusiveValidation"; |
|||
|
|||
function setValidationValues(options, ruleName, value) { |
|||
options.rules[ruleName] = value; |
|||
if (options.message) { |
|||
options.messages[ruleName] = options.message; |
|||
} |
|||
} |
|||
|
|||
function splitAndTrim(value) { |
|||
return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g); |
|||
} |
|||
|
|||
function escapeAttributeValue(value) { |
|||
// As mentioned on http://api.jquery.com/category/selectors/
|
|||
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1"); |
|||
} |
|||
|
|||
function getModelPrefix(fieldName) { |
|||
return fieldName.substr(0, fieldName.lastIndexOf(".") + 1); |
|||
} |
|||
|
|||
function appendModelPrefix(value, prefix) { |
|||
if (value.indexOf("*.") === 0) { |
|||
value = value.replace("*.", prefix); |
|||
} |
|||
return value; |
|||
} |
|||
|
|||
function onError(error, inputElement) { // 'this' is the form element
|
|||
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"), |
|||
replaceAttrValue = container.attr("data-valmsg-replace"), |
|||
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null; |
|||
|
|||
container.removeClass("field-validation-valid").addClass("field-validation-error"); |
|||
error.data("unobtrusiveContainer", container); |
|||
|
|||
if (replace) { |
|||
container.empty(); |
|||
error.removeClass("input-validation-error").appendTo(container); |
|||
} |
|||
else { |
|||
error.hide(); |
|||
} |
|||
} |
|||
|
|||
function onErrors(event, validator) { // 'this' is the form element
|
|||
var container = $(this).find("[data-valmsg-summary=true]"), |
|||
list = container.find("ul"); |
|||
|
|||
if (list && list.length && validator.errorList.length) { |
|||
list.empty(); |
|||
container.addClass("validation-summary-errors").removeClass("validation-summary-valid"); |
|||
|
|||
$.each(validator.errorList, function () { |
|||
$("<li />").html(this.message).appendTo(list); |
|||
}); |
|||
} |
|||
} |
|||
|
|||
function onSuccess(error) { // 'this' is the form element
|
|||
var container = error.data("unobtrusiveContainer"); |
|||
|
|||
if (container) { |
|||
var replaceAttrValue = container.attr("data-valmsg-replace"), |
|||
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null; |
|||
|
|||
container.addClass("field-validation-valid").removeClass("field-validation-error"); |
|||
error.removeData("unobtrusiveContainer"); |
|||
|
|||
if (replace) { |
|||
container.empty(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
function onReset(event) { // 'this' is the form element
|
|||
var $form = $(this), |
|||
key = '__jquery_unobtrusive_validation_form_reset'; |
|||
if ($form.data(key)) { |
|||
return; |
|||
} |
|||
// Set a flag that indicates we're currently resetting the form.
|
|||
$form.data(key, true); |
|||
try { |
|||
$form.data("validator").resetForm(); |
|||
} finally { |
|||
$form.removeData(key); |
|||
} |
|||
|
|||
$form.find(".validation-summary-errors") |
|||
.addClass("validation-summary-valid") |
|||
.removeClass("validation-summary-errors"); |
|||
$form.find(".field-validation-error") |
|||
.addClass("field-validation-valid") |
|||
.removeClass("field-validation-error") |
|||
.removeData("unobtrusiveContainer") |
|||
.find(">*") // If we were using valmsg-replace, get the underlying error
|
|||
.removeData("unobtrusiveContainer"); |
|||
} |
|||
|
|||
function validationInfo(form) { |
|||
var $form = $(form), |
|||
result = $form.data(data_validation), |
|||
onResetProxy = $.proxy(onReset, form), |
|||
defaultOptions = $jQval.unobtrusive.options || {}, |
|||
execInContext = function (name, args) { |
|||
var func = defaultOptions[name]; |
|||
func && $.isFunction(func) && func.apply(form, args); |
|||
}; |
|||
|
|||
if (!result) { |
|||
result = { |
|||
options: { // options structure passed to jQuery Validate's validate() method
|
|||
errorClass: defaultOptions.errorClass || "input-validation-error", |
|||
errorElement: defaultOptions.errorElement || "span", |
|||
errorPlacement: function () { |
|||
onError.apply(form, arguments); |
|||
execInContext("errorPlacement", arguments); |
|||
}, |
|||
invalidHandler: function () { |
|||
onErrors.apply(form, arguments); |
|||
execInContext("invalidHandler", arguments); |
|||
}, |
|||
messages: {}, |
|||
rules: {}, |
|||
success: function () { |
|||
onSuccess.apply(form, arguments); |
|||
execInContext("success", arguments); |
|||
} |
|||
}, |
|||
attachValidation: function () { |
|||
$form |
|||
.off("reset." + data_validation, onResetProxy) |
|||
.on("reset." + data_validation, onResetProxy) |
|||
.validate(this.options); |
|||
}, |
|||
validate: function () { // a validation function that is called by unobtrusive Ajax
|
|||
$form.validate(); |
|||
return $form.valid(); |
|||
} |
|||
}; |
|||
$form.data(data_validation, result); |
|||
} |
|||
|
|||
return result; |
|||
} |
|||
|
|||
$jQval.unobtrusive = { |
|||
adapters: [], |
|||
|
|||
parseElement: function (element, skipAttach) { |
|||
/// <summary>
|
|||
/// Parses a single HTML element for unobtrusive validation attributes.
|
|||
/// </summary>
|
|||
/// <param name="element" domElement="true">The HTML element to be parsed.</param>
|
|||
/// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
|
|||
/// validation to the form. If parsing just this single element, you should specify true.
|
|||
/// If parsing several elements, you should specify false, and manually attach the validation
|
|||
/// to the form when you are finished. The default is false.</param>
|
|||
var $element = $(element), |
|||
form = $element.parents("form")[0], |
|||
valInfo, rules, messages; |
|||
|
|||
if (!form) { // Cannot do client-side validation without a form
|
|||
return; |
|||
} |
|||
|
|||
valInfo = validationInfo(form); |
|||
valInfo.options.rules[element.name] = rules = {}; |
|||
valInfo.options.messages[element.name] = messages = {}; |
|||
|
|||
$.each(this.adapters, function () { |
|||
var prefix = "data-val-" + this.name, |
|||
message = $element.attr(prefix), |
|||
paramValues = {}; |
|||
|
|||
if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
|
|||
prefix += "-"; |
|||
|
|||
$.each(this.params, function () { |
|||
paramValues[this] = $element.attr(prefix + this); |
|||
}); |
|||
|
|||
this.adapt({ |
|||
element: element, |
|||
form: form, |
|||
message: message, |
|||
params: paramValues, |
|||
rules: rules, |
|||
messages: messages |
|||
}); |
|||
} |
|||
}); |
|||
|
|||
$.extend(rules, { "__dummy__": true }); |
|||
|
|||
if (!skipAttach) { |
|||
valInfo.attachValidation(); |
|||
} |
|||
}, |
|||
|
|||
parse: function (selector) { |
|||
/// <summary>
|
|||
/// Parses all the HTML elements in the specified selector. It looks for input elements decorated
|
|||
/// with the [data-val=true] attribute value and enables validation according to the data-val-*
|
|||
/// attribute values.
|
|||
/// </summary>
|
|||
/// <param name="selector" type="String">Any valid jQuery selector.</param>
|
|||
|
|||
// $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
|
|||
// element with data-val=true
|
|||
var $selector = $(selector), |
|||
$forms = $selector.parents() |
|||
.addBack() |
|||
.filter("form") |
|||
.add($selector.find("form")) |
|||
.has("[data-val=true]"); |
|||
|
|||
$selector.find("[data-val=true]").each(function () { |
|||
$jQval.unobtrusive.parseElement(this, true); |
|||
}); |
|||
|
|||
$forms.each(function () { |
|||
var info = validationInfo(this); |
|||
if (info) { |
|||
info.attachValidation(); |
|||
} |
|||
}); |
|||
} |
|||
}; |
|||
|
|||
adapters = $jQval.unobtrusive.adapters; |
|||
|
|||
adapters.add = function (adapterName, params, fn) { |
|||
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
|
|||
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
|||
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
|||
/// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
|
|||
/// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
|
|||
/// mmmm is the parameter name).</param>
|
|||
/// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
|
|||
/// attributes into jQuery Validate rules and/or messages.</param>
|
|||
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
|||
if (!fn) { // Called with no params, just a function
|
|||
fn = params; |
|||
params = []; |
|||
} |
|||
this.push({ name: adapterName, params: params, adapt: fn }); |
|||
return this; |
|||
}; |
|||
|
|||
adapters.addBool = function (adapterName, ruleName) { |
|||
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
|||
/// the jQuery Validate validation rule has no parameter values.</summary>
|
|||
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
|||
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
|||
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
|
|||
/// of adapterName will be used instead.</param>
|
|||
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
|||
return this.add(adapterName, function (options) { |
|||
setValidationValues(options, ruleName || adapterName, true); |
|||
}); |
|||
}; |
|||
|
|||
adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) { |
|||
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
|||
/// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
|
|||
/// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
|
|||
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
|||
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
|||
/// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
|
|||
/// have a minimum value.</param>
|
|||
/// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
|
|||
/// have a maximum value.</param>
|
|||
/// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
|
|||
/// have both a minimum and maximum value.</param>
|
|||
/// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
|
|||
/// contains the minimum value. The default is "min".</param>
|
|||
/// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
|
|||
/// contains the maximum value. The default is "max".</param>
|
|||
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
|||
return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) { |
|||
var min = options.params.min, |
|||
max = options.params.max; |
|||
|
|||
if (min && max) { |
|||
setValidationValues(options, minMaxRuleName, [min, max]); |
|||
} |
|||
else if (min) { |
|||
setValidationValues(options, minRuleName, min); |
|||
} |
|||
else if (max) { |
|||
setValidationValues(options, maxRuleName, max); |
|||
} |
|||
}); |
|||
}; |
|||
|
|||
adapters.addSingleVal = function (adapterName, attribute, ruleName) { |
|||
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
|||
/// the jQuery Validate validation rule has a single value.</summary>
|
|||
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
|||
/// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
|
|||
/// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
|
|||
/// The default is "val".</param>
|
|||
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
|
|||
/// of adapterName will be used instead.</param>
|
|||
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
|||
return this.add(adapterName, [attribute || "val"], function (options) { |
|||
setValidationValues(options, ruleName || adapterName, options.params[attribute]); |
|||
}); |
|||
}; |
|||
|
|||
$jQval.addMethod("__dummy__", function (value, element, params) { |
|||
return true; |
|||
}); |
|||
|
|||
$jQval.addMethod("regex", function (value, element, params) { |
|||
var match; |
|||
if (this.optional(element)) { |
|||
return true; |
|||
} |
|||
|
|||
match = new RegExp(params).exec(value); |
|||
return (match && (match.index === 0) && (match[0].length === value.length)); |
|||
}); |
|||
|
|||
$jQval.addMethod("nonalphamin", function (value, element, nonalphamin) { |
|||
var match; |
|||
if (nonalphamin) { |
|||
match = value.match(/\W/g); |
|||
match = match && match.length >= nonalphamin; |
|||
} |
|||
return match; |
|||
}); |
|||
|
|||
if ($jQval.methods.extension) { |
|||
adapters.addSingleVal("accept", "mimtype"); |
|||
adapters.addSingleVal("extension", "extension"); |
|||
} else { |
|||
// for backward compatibility, when the 'extension' validation method does not exist, such as with versions
|
|||
// of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
|
|||
// validating the extension, and ignore mime-type validations as they are not supported.
|
|||
adapters.addSingleVal("extension", "extension", "accept"); |
|||
} |
|||
|
|||
adapters.addSingleVal("regex", "pattern"); |
|||
adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"); |
|||
adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range"); |
|||
adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength"); |
|||
adapters.add("equalto", ["other"], function (options) { |
|||
var prefix = getModelPrefix(options.element.name), |
|||
other = options.params.other, |
|||
fullOtherName = appendModelPrefix(other, prefix), |
|||
element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0]; |
|||
|
|||
setValidationValues(options, "equalTo", element); |
|||
}); |
|||
adapters.add("required", function (options) { |
|||
// jQuery Validate equates "required" with "mandatory" for checkbox elements
|
|||
if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") { |
|||
setValidationValues(options, "required", true); |
|||
} |
|||
}); |
|||
adapters.add("remote", ["url", "type", "additionalfields"], function (options) { |
|||
var value = { |
|||
url: options.params.url, |
|||
type: options.params.type || "GET", |
|||
data: {} |
|||
}, |
|||
prefix = getModelPrefix(options.element.name); |
|||
|
|||
$.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) { |
|||
var paramName = appendModelPrefix(fieldName, prefix); |
|||
value.data[paramName] = function () { |
|||
var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']"); |
|||
// For checkboxes and radio buttons, only pick up values from checked fields.
|
|||
if (field.is(":checkbox")) { |
|||
return field.filter(":checked").val() || field.filter(":hidden").val() || ''; |
|||
} |
|||
else if (field.is(":radio")) { |
|||
return field.filter(":checked").val() || ''; |
|||
} |
|||
return field.val(); |
|||
}; |
|||
}); |
|||
|
|||
setValidationValues(options, "remote", value); |
|||
}); |
|||
adapters.add("password", ["min", "nonalphamin", "regex"], function (options) { |
|||
if (options.params.min) { |
|||
setValidationValues(options, "minlength", options.params.min); |
|||
} |
|||
if (options.params.nonalphamin) { |
|||
setValidationValues(options, "nonalphamin", options.params.nonalphamin); |
|||
} |
|||
if (options.params.regex) { |
|||
setValidationValues(options, "regex", options.params.regex); |
|||
} |
|||
}); |
|||
adapters.add("fileextensions", ["extensions"], function (options) { |
|||
setValidationValues(options, "extension", options.params.extensions); |
|||
}); |
|||
|
|||
$(function () { |
|||
$jQval.unobtrusive.parse(document); |
|||
}); |
|||
|
|||
return $jQval.unobtrusive; |
|||
})); |
|||
File diff suppressed because it is too large
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: AR (Arabic; العربية) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "هذا الحقل إلزامي", |
|||
remote: "يرجى تصحيح هذا الحقل للمتابعة", |
|||
email: "رجاء إدخال عنوان بريد إلكتروني صحيح", |
|||
url: "رجاء إدخال عنوان موقع إلكتروني صحيح", |
|||
date: "رجاء إدخال تاريخ صحيح", |
|||
dateISO: "رجاء إدخال تاريخ صحيح (ISO)", |
|||
number: "رجاء إدخال عدد بطريقة صحيحة", |
|||
digits: "رجاء إدخال أرقام فقط", |
|||
creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح", |
|||
equalTo: "رجاء إدخال نفس القيمة", |
|||
extension: "رجاء إدخال ملف بامتداد موافق عليه", |
|||
maxlength: $.validator.format( "الحد الأقصى لعدد الحروف هو {0}" ), |
|||
minlength: $.validator.format( "الحد الأدنى لعدد الحروف هو {0}" ), |
|||
rangelength: $.validator.format( "عدد الحروف يجب أن يكون بين {0} و {1}" ), |
|||
range: $.validator.format( "رجاء إدخال عدد قيمته بين {0} و {1}" ), |
|||
max: $.validator.format( "رجاء إدخال عدد أقل من أو يساوي {0}" ), |
|||
min: $.validator.format( "رجاء إدخال عدد أكبر من أو يساوي {0}" ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: Az (Azeri; azərbaycan dili) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Bu xana mütləq doldurulmalıdır.", |
|||
remote: "Zəhmət olmasa, düzgün məna daxil edin.", |
|||
email: "Zəhmət olmasa, düzgün elektron poçt daxil edin.", |
|||
url: "Zəhmət olmasa, düzgün URL daxil edin.", |
|||
date: "Zəhmət olmasa, düzgün tarix daxil edin.", |
|||
dateISO: "Zəhmət olmasa, düzgün ISO formatlı tarix daxil edin.", |
|||
number: "Zəhmət olmasa, düzgün rəqəm daxil edin.", |
|||
digits: "Zəhmət olmasa, yalnız rəqəm daxil edin.", |
|||
creditcard: "Zəhmət olmasa, düzgün kredit kart nömrəsini daxil edin.", |
|||
equalTo: "Zəhmət olmasa, eyni mənanı bir daha daxil edin.", |
|||
extension: "Zəhmət olmasa, düzgün genişlənməyə malik faylı seçin.", |
|||
maxlength: $.validator.format( "Zəhmət olmasa, {0} simvoldan çox olmayaraq daxil edin." ), |
|||
minlength: $.validator.format( "Zəhmət olmasa, {0} simvoldan az olmayaraq daxil edin." ), |
|||
rangelength: $.validator.format( "Zəhmət olmasa, {0} - {1} aralığında uzunluğa malik simvol daxil edin." ), |
|||
range: $.validator.format( "Zəhmət olmasa, {0} - {1} aralığında rəqəm daxil edin." ), |
|||
max: $.validator.format( "Zəhmət olmasa, {0} və ondan kiçik rəqəm daxil edin." ), |
|||
min: $.validator.format( "Zəhmət olmasa, {0} və ondan böyük rəqəm daxil edin" ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: BG (Bulgarian; български език) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Полето е задължително.", |
|||
remote: "Моля, въведете правилната стойност.", |
|||
email: "Моля, въведете валиден email.", |
|||
url: "Моля, въведете валидно URL.", |
|||
date: "Моля, въведете валидна дата.", |
|||
dateISO: "Моля, въведете валидна дата (ISO).", |
|||
number: "Моля, въведете валиден номер.", |
|||
digits: "Моля, въведете само цифри.", |
|||
creditcard: "Моля, въведете валиден номер на кредитна карта.", |
|||
equalTo: "Моля, въведете същата стойност отново.", |
|||
extension: "Моля, въведете стойност с валидно разширение.", |
|||
maxlength: $.validator.format( "Моля, въведете повече от {0} символа." ), |
|||
minlength: $.validator.format( "Моля, въведете поне {0} символа." ), |
|||
rangelength: $.validator.format( "Моля, въведете стойност с дължина между {0} и {1} символа." ), |
|||
range: $.validator.format( "Моля, въведете стойност между {0} и {1}." ), |
|||
max: $.validator.format( "Моля, въведете стойност по-малка или равна на {0}." ), |
|||
min: $.validator.format( "Моля, въведете стойност по-голяма или равна на {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: bn_BD (Bengali, Bangladesh) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "এই তথ্যটি আবশ্যক।", |
|||
remote: "এই তথ্যটি ঠিক করুন।", |
|||
email: "অনুগ্রহ করে একটি সঠিক মেইল ঠিকানা লিখুন।", |
|||
url: "অনুগ্রহ করে একটি সঠিক লিঙ্ক দিন।", |
|||
date: "তারিখ সঠিক নয়।", |
|||
dateISO: "অনুগ্রহ করে একটি সঠিক (ISO) তারিখ লিখুন।", |
|||
number: "অনুগ্রহ করে একটি সঠিক নম্বর লিখুন।", |
|||
digits: "এখানে শুধু সংখ্যা ব্যবহার করা যাবে।", |
|||
creditcard: "অনুগ্রহ করে একটি ক্রেডিট কার্ডের সঠিক নম্বর লিখুন।", |
|||
equalTo: "একই মান আবার লিখুন।", |
|||
extension: "সঠিক ধরনের ফাইল আপলোড করুন।", |
|||
maxlength: $.validator.format( "{0}টির বেশি অক্ষর লেখা যাবে না।" ), |
|||
minlength: $.validator.format( "{0}টির কম অক্ষর লেখা যাবে না।" ), |
|||
rangelength: $.validator.format( "{0} থেকে {1} টি অক্ষর সম্বলিত মান লিখুন।" ), |
|||
range: $.validator.format( "{0} থেকে {1} এর মধ্যে একটি মান ব্যবহার করুন।" ), |
|||
max: $.validator.format( "অনুগ্রহ করে {0} বা তার চাইতে কম মান ব্যবহার করুন।" ), |
|||
min: $.validator.format( "অনুগ্রহ করে {0} বা তার চাইতে বেশি মান ব্যবহার করুন।" ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: CA (Catalan; català) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Aquest camp és obligatori.", |
|||
remote: "Si us plau, omple aquest camp.", |
|||
email: "Si us plau, escriu una adreça de correu-e vàlida", |
|||
url: "Si us plau, escriu una URL vàlida.", |
|||
date: "Si us plau, escriu una data vàlida.", |
|||
dateISO: "Si us plau, escriu una data (ISO) vàlida.", |
|||
number: "Si us plau, escriu un número enter vàlid.", |
|||
digits: "Si us plau, escriu només dígits.", |
|||
creditcard: "Si us plau, escriu un número de tarjeta vàlid.", |
|||
equalTo: "Si us plau, escriu el mateix valor de nou.", |
|||
extension: "Si us plau, escriu un valor amb una extensió acceptada.", |
|||
maxlength: $.validator.format( "Si us plau, no escriguis més de {0} caracters." ), |
|||
minlength: $.validator.format( "Si us plau, no escriguis menys de {0} caracters." ), |
|||
rangelength: $.validator.format( "Si us plau, escriu un valor entre {0} i {1} caracters." ), |
|||
range: $.validator.format( "Si us plau, escriu un valor entre {0} i {1}." ), |
|||
max: $.validator.format( "Si us plau, escriu un valor menor o igual a {0}." ), |
|||
min: $.validator.format( "Si us plau, escriu un valor major o igual a {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: CS (Czech; čeština, český jazyk) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Tento údaj je povinný.", |
|||
remote: "Prosím, opravte tento údaj.", |
|||
email: "Prosím, zadejte platný e-mail.", |
|||
url: "Prosím, zadejte platné URL.", |
|||
date: "Prosím, zadejte platné datum.", |
|||
dateISO: "Prosím, zadejte platné datum (ISO).", |
|||
number: "Prosím, zadejte číslo.", |
|||
digits: "Prosím, zadávejte pouze číslice.", |
|||
creditcard: "Prosím, zadejte číslo kreditní karty.", |
|||
equalTo: "Prosím, zadejte znovu stejnou hodnotu.", |
|||
extension: "Prosím, zadejte soubor se správnou příponou.", |
|||
maxlength: $.validator.format( "Prosím, zadejte nejvíce {0} znaků." ), |
|||
minlength: $.validator.format( "Prosím, zadejte nejméně {0} znaků." ), |
|||
rangelength: $.validator.format( "Prosím, zadejte od {0} do {1} znaků." ), |
|||
range: $.validator.format( "Prosím, zadejte hodnotu od {0} do {1}." ), |
|||
max: $.validator.format( "Prosím, zadejte hodnotu menší nebo rovnu {0}." ), |
|||
min: $.validator.format( "Prosím, zadejte hodnotu větší nebo rovnu {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,32 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: DA (Danish; dansk) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Dette felt er påkrævet.", |
|||
maxlength: $.validator.format( "Indtast højst {0} tegn." ), |
|||
minlength: $.validator.format( "Indtast mindst {0} tegn." ), |
|||
rangelength: $.validator.format( "Indtast mindst {0} og højst {1} tegn." ), |
|||
email: "Indtast en gyldig email-adresse.", |
|||
url: "Indtast en gyldig URL.", |
|||
date: "Indtast en gyldig dato.", |
|||
number: "Indtast et tal.", |
|||
digits: "Indtast kun cifre.", |
|||
equalTo: "Indtast den samme værdi igen.", |
|||
range: $.validator.format( "Angiv en værdi mellem {0} og {1}." ), |
|||
max: $.validator.format( "Angiv en værdi der højst er {0}." ), |
|||
min: $.validator.format( "Angiv en værdi der mindst er {0}." ), |
|||
creditcard: "Indtast et gyldigt kreditkortnummer." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,32 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: DE (German, Deutsch) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Dieses Feld ist ein Pflichtfeld.", |
|||
maxlength: $.validator.format( "Geben Sie bitte maximal {0} Zeichen ein." ), |
|||
minlength: $.validator.format( "Geben Sie bitte mindestens {0} Zeichen ein." ), |
|||
rangelength: $.validator.format( "Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein." ), |
|||
email: "Geben Sie bitte eine gültige E-Mail Adresse ein.", |
|||
url: "Geben Sie bitte eine gültige URL ein.", |
|||
date: "Bitte geben Sie ein gültiges Datum ein.", |
|||
number: "Geben Sie bitte eine Nummer ein.", |
|||
digits: "Geben Sie bitte nur Ziffern ein.", |
|||
equalTo: "Bitte denselben Wert wiederholen.", |
|||
range: $.validator.format( "Geben Sie bitte einen Wert zwischen {0} und {1} ein." ), |
|||
max: $.validator.format( "Geben Sie bitte einen Wert kleiner oder gleich {0} ein." ), |
|||
min: $.validator.format( "Geben Sie bitte einen Wert größer oder gleich {0} ein." ), |
|||
creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: EL (Greek; ελληνικά) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Αυτό το πεδίο είναι υποχρεωτικό.", |
|||
remote: "Παρακαλώ διορθώστε αυτό το πεδίο.", |
|||
email: "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.", |
|||
url: "Παρακαλώ εισάγετε ένα έγκυρο URL.", |
|||
date: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.", |
|||
dateISO: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).", |
|||
number: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό.", |
|||
digits: "Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.", |
|||
creditcard: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.", |
|||
equalTo: "Παρακαλώ εισάγετε την ίδια τιμή ξανά.", |
|||
extension: "Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.", |
|||
maxlength: $.validator.format( "Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες." ), |
|||
minlength: $.validator.format( "Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες." ), |
|||
rangelength: $.validator.format( "Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων." ), |
|||
range: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}." ), |
|||
max: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}." ), |
|||
min: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,38 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: ES (Spanish; Español) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Este campo es obligatorio.", |
|||
remote: "Por favor, rellena este campo.", |
|||
email: "Por favor, escribe una dirección de correo válida.", |
|||
url: "Por favor, escribe una URL válida.", |
|||
date: "Por favor, escribe una fecha válida.", |
|||
dateISO: "Por favor, escribe una fecha (ISO) válida.", |
|||
number: "Por favor, escribe un número válido.", |
|||
digits: "Por favor, escribe sólo dígitos.", |
|||
creditcard: "Por favor, escribe un número de tarjeta válido.", |
|||
equalTo: "Por favor, escribe el mismo valor de nuevo.", |
|||
extension: "Por favor, escribe un valor con una extensión aceptada.", |
|||
maxlength: $.validator.format( "Por favor, no escribas más de {0} caracteres." ), |
|||
minlength: $.validator.format( "Por favor, no escribas menos de {0} caracteres." ), |
|||
rangelength: $.validator.format( "Por favor, escribe un valor entre {0} y {1} caracteres." ), |
|||
range: $.validator.format( "Por favor, escribe un valor entre {0} y {1}." ), |
|||
max: $.validator.format( "Por favor, escribe un valor menor o igual a {0}." ), |
|||
min: $.validator.format( "Por favor, escribe un valor mayor o igual a {0}." ), |
|||
nifES: "Por favor, escribe un NIF válido.", |
|||
nieES: "Por favor, escribe un NIE válido.", |
|||
cifES: "Por favor, escribe un CIF válido." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,39 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: ES (Spanish; Español) |
|||
* Region: AR (Argentina) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Este campo es obligatorio.", |
|||
remote: "Por favor, completá este campo.", |
|||
email: "Por favor, escribí una dirección de correo válida.", |
|||
url: "Por favor, escribí una URL válida.", |
|||
date: "Por favor, escribí una fecha válida.", |
|||
dateISO: "Por favor, escribí una fecha (ISO) válida.", |
|||
number: "Por favor, escribí un número entero válido.", |
|||
digits: "Por favor, escribí sólo dígitos.", |
|||
creditcard: "Por favor, escribí un número de tarjeta válido.", |
|||
equalTo: "Por favor, escribí el mismo valor de nuevo.", |
|||
extension: "Por favor, escribí un valor con una extensión aceptada.", |
|||
maxlength: $.validator.format( "Por favor, no escribas más de {0} caracteres." ), |
|||
minlength: $.validator.format( "Por favor, no escribas menos de {0} caracteres." ), |
|||
rangelength: $.validator.format( "Por favor, escribí un valor entre {0} y {1} caracteres." ), |
|||
range: $.validator.format( "Por favor, escribí un valor entre {0} y {1}." ), |
|||
max: $.validator.format( "Por favor, escribí un valor menor o igual a {0}." ), |
|||
min: $.validator.format( "Por favor, escribí un valor mayor o igual a {0}." ), |
|||
nifES: "Por favor, escribí un NIF válido.", |
|||
nieES: "Por favor, escribí un NIE válido.", |
|||
cifES: "Por favor, escribí un CIF válido." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,39 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: ES (Spanish; Español) |
|||
* Region: PE (Perú) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Este campo es obligatorio.", |
|||
remote: "Por favor, llene este campo.", |
|||
email: "Por favor, escriba un correo electrónico válido.", |
|||
url: "Por favor, escriba una URL válida.", |
|||
date: "Por favor, escriba una fecha válida.", |
|||
dateISO: "Por favor, escriba una fecha (ISO) válida.", |
|||
number: "Por favor, escriba un número válido.", |
|||
digits: "Por favor, escriba sólo dígitos.", |
|||
creditcard: "Por favor, escriba un número de tarjeta válido.", |
|||
equalTo: "Por favor, escriba el mismo valor de nuevo.", |
|||
extension: "Por favor, escriba un valor con una extensión permitida.", |
|||
maxlength: $.validator.format( "Por favor, no escriba más de {0} caracteres." ), |
|||
minlength: $.validator.format( "Por favor, no escriba menos de {0} caracteres." ), |
|||
rangelength: $.validator.format( "Por favor, escriba un valor entre {0} y {1} caracteres." ), |
|||
range: $.validator.format( "Por favor, escriba un valor entre {0} y {1}." ), |
|||
max: $.validator.format( "Por favor, escriba un valor menor o igual a {0}." ), |
|||
min: $.validator.format( "Por favor, escriba un valor mayor o igual a {0}." ), |
|||
nifES: "Por favor, escriba un NIF válido.", |
|||
nieES: "Por favor, escriba un NIE válido.", |
|||
cifES: "Por favor, escriba un CIF válido." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,33 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: ET (Estonian; eesti, eesti keel) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "See väli peab olema täidetud.", |
|||
maxlength: $.validator.format( "Palun sisestage vähem kui {0} tähemärki." ), |
|||
minlength: $.validator.format( "Palun sisestage vähemalt {0} tähemärki." ), |
|||
rangelength: $.validator.format( "Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki." ), |
|||
email: "Palun sisestage korrektne e-maili aadress.", |
|||
url: "Palun sisestage korrektne URL.", |
|||
date: "Palun sisestage korrektne kuupäev.", |
|||
dateISO: "Palun sisestage korrektne kuupäev (YYYY-MM-DD).", |
|||
number: "Palun sisestage korrektne number.", |
|||
digits: "Palun sisestage ainult numbreid.", |
|||
equalTo: "Palun sisestage sama väärtus uuesti.", |
|||
range: $.validator.format( "Palun sisestage väärtus vahemikus {0} kuni {1}." ), |
|||
max: $.validator.format( "Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}." ), |
|||
min: $.validator.format( "Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}." ), |
|||
creditcard: "Palun sisestage korrektne krediitkaardi number." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: EU (Basque; euskara, euskera) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Eremu hau beharrezkoa da.", |
|||
remote: "Mesedez, bete eremu hau.", |
|||
email: "Mesedez, idatzi baliozko posta helbide bat.", |
|||
url: "Mesedez, idatzi baliozko URL bat.", |
|||
date: "Mesedez, idatzi baliozko data bat.", |
|||
dateISO: "Mesedez, idatzi baliozko (ISO) data bat.", |
|||
number: "Mesedez, idatzi baliozko zenbaki oso bat.", |
|||
digits: "Mesedez, idatzi digituak soilik.", |
|||
creditcard: "Mesedez, idatzi baliozko txartel zenbaki bat.", |
|||
equalTo: "Mesedez, idatzi berdina berriro ere.", |
|||
extension: "Mesedez, idatzi onartutako luzapena duen balio bat.", |
|||
maxlength: $.validator.format( "Mesedez, ez idatzi {0} karaktere baino gehiago." ), |
|||
minlength: $.validator.format( "Mesedez, ez idatzi {0} karaktere baino gutxiago." ), |
|||
rangelength: $.validator.format( "Mesedez, idatzi {0} eta {1} karaktere arteko balio bat." ), |
|||
range: $.validator.format( "Mesedez, idatzi {0} eta {1} arteko balio bat." ), |
|||
max: $.validator.format( "Mesedez, idatzi {0} edo txikiagoa den balio bat." ), |
|||
min: $.validator.format( "Mesedez, idatzi {0} edo handiagoa den balio bat." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,38 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: FA (Persian; فارسی) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "تکمیل این فیلد اجباری است.", |
|||
remote: "لطفا این فیلد را تصحیح کنید.", |
|||
email: ".لطفا یک ایمیل صحیح وارد کنید", |
|||
url: "لطفا آدرس صحیح وارد کنید.", |
|||
date: "لطفا یک تاریخ صحیح وارد کنید", |
|||
dateFA: "لطفا یک تاریخ صحیح وارد کنید", |
|||
dateISO: "لطفا تاریخ صحیح وارد کنید (ISO).", |
|||
number: "لطفا عدد صحیح وارد کنید.", |
|||
digits: "لطفا تنها رقم وارد کنید", |
|||
creditcard: "لطفا کریدیت کارت صحیح وارد کنید.", |
|||
equalTo: "لطفا مقدار برابری وارد کنید", |
|||
extension: "لطفا مقداری وارد کنید که ", |
|||
maxlength: $.validator.format( "لطفا بیشتر از {0} حرف وارد نکنید." ), |
|||
minlength: $.validator.format( "لطفا کمتر از {0} حرف وارد نکنید." ), |
|||
rangelength: $.validator.format( "لطفا مقداری بین {0} تا {1} حرف وارد کنید." ), |
|||
range: $.validator.format( "لطفا مقداری بین {0} تا {1} حرف وارد کنید." ), |
|||
max: $.validator.format( "لطفا مقداری کمتر از {0} وارد کنید." ), |
|||
min: $.validator.format( "لطفا مقداری بیشتر از {0} وارد کنید." ), |
|||
minWords: $.validator.format( "لطفا حداقل {0} کلمه وارد کنید." ), |
|||
maxWords: $.validator.format( "لطفا حداکثر {0} کلمه وارد کنید." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,33 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: FI (Finnish; suomi, suomen kieli) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Tämä kenttä on pakollinen.", |
|||
email: "Syötä oikea sähköpostiosoite.", |
|||
url: "Syötä oikea URL-osoite.", |
|||
date: "Syötä oikea päivämäärä.", |
|||
dateISO: "Syötä oikea päivämäärä muodossa VVVV-KK-PP.", |
|||
number: "Syötä luku.", |
|||
creditcard: "Syötä voimassa oleva luottokorttinumero.", |
|||
digits: "Syötä pelkästään numeroita.", |
|||
equalTo: "Syötä sama arvo uudestaan.", |
|||
maxlength: $.validator.format( "Voit syöttää enintään {0} merkkiä." ), |
|||
minlength: $.validator.format( "Vähintään {0} merkkiä." ), |
|||
rangelength: $.validator.format( "Syötä vähintään {0} ja enintään {1} merkkiä." ), |
|||
range: $.validator.format( "Syötä arvo väliltä {0}–{1}." ), |
|||
max: $.validator.format( "Syötä arvo, joka on enintään {0}." ), |
|||
min: $.validator.format( "Syötä arvo, joka on vähintään {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,63 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: FR (French; français) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Ce champ est obligatoire.", |
|||
remote: "Veuillez corriger ce champ.", |
|||
email: "Veuillez fournir une adresse électronique valide.", |
|||
url: "Veuillez fournir une adresse URL valide.", |
|||
date: "Veuillez fournir une date valide.", |
|||
dateISO: "Veuillez fournir une date valide (ISO).", |
|||
number: "Veuillez fournir un numéro valide.", |
|||
digits: "Veuillez fournir seulement des chiffres.", |
|||
creditcard: "Veuillez fournir un numéro de carte de crédit valide.", |
|||
equalTo: "Veuillez fournir encore la même valeur.", |
|||
notEqualTo: "Veuillez fournir une valeur différente, les valeurs ne doivent pas être identiques.", |
|||
extension: "Veuillez fournir une valeur avec une extension valide.", |
|||
maxlength: $.validator.format( "Veuillez fournir au plus {0} caractères." ), |
|||
minlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ), |
|||
rangelength: $.validator.format( "Veuillez fournir une valeur qui contient entre {0} et {1} caractères." ), |
|||
range: $.validator.format( "Veuillez fournir une valeur entre {0} et {1}." ), |
|||
max: $.validator.format( "Veuillez fournir une valeur inférieure ou égale à {0}." ), |
|||
min: $.validator.format( "Veuillez fournir une valeur supérieure ou égale à {0}." ), |
|||
step: $.validator.format( "Veuillez fournir une valeur multiple de {0}." ), |
|||
maxWords: $.validator.format( "Veuillez fournir au plus {0} mots." ), |
|||
minWords: $.validator.format( "Veuillez fournir au moins {0} mots." ), |
|||
rangeWords: $.validator.format( "Veuillez fournir entre {0} et {1} mots." ), |
|||
letterswithbasicpunc: "Veuillez fournir seulement des lettres et des signes de ponctuation.", |
|||
alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages.", |
|||
lettersonly: "Veuillez fournir seulement des lettres.", |
|||
nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.", |
|||
ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.", |
|||
integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.", |
|||
vinUS: "Veuillez fournir un numéro d'identification du véhicule (VIN).", |
|||
dateITA: "Veuillez fournir une date valide.", |
|||
time: "Veuillez fournir une heure valide entre 00:00 et 23:59.", |
|||
phoneUS: "Veuillez fournir un numéro de téléphone valide.", |
|||
phoneUK: "Veuillez fournir un numéro de téléphone valide.", |
|||
mobileUK: "Veuillez fournir un numéro de téléphone mobile valide.", |
|||
strippedminlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ), |
|||
email2: "Veuillez fournir une adresse électronique valide.", |
|||
url2: "Veuillez fournir une adresse URL valide.", |
|||
creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.", |
|||
ipv4: "Veuillez fournir une adresse IP v4 valide.", |
|||
ipv6: "Veuillez fournir une adresse IP v6 valide.", |
|||
require_from_group: "Veuillez fournir au moins {0} de ces champs.", |
|||
nifES: "Veuillez fournir un numéro NIF valide.", |
|||
nieES: "Veuillez fournir un numéro NIE valide.", |
|||
cifES: "Veuillez fournir un numéro CIF valide.", |
|||
postalCodeCA: "Veuillez fournir un code postal valide." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/** |
|||
* @author @tatocaster <kutaliatato@gmail.com> |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: GE (Georgian; ქართული) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "ეს ველი სავალდებულოა", |
|||
remote: "გთხოვთ შეასწოროთ.", |
|||
email: "გთხოვთ შეიყვანოთ სწორი ფორმატით.", |
|||
url: "გთხოვთ შეიყვანოთ სწორი ფორმატით.", |
|||
date: "გთხოვთ შეიყვანოთ სწორი თარიღი.", |
|||
dateISO: "გთხოვთ შეიყვანოთ სწორი ფორმატით (ISO).", |
|||
number: "გთხოვთ შეიყვანოთ რიცხვი.", |
|||
digits: "დაშვებულია მხოლოდ ციფრები.", |
|||
creditcard: "გთხოვთ შეიყვანოთ სწორი ფორმატის ბარათის კოდი.", |
|||
equalTo: "გთხოვთ შეიყვანოთ იგივე მნიშვნელობა.", |
|||
maxlength: $.validator.format( "გთხოვთ შეიყვანოთ არა უმეტეს {0} სიმბოლოსი." ), |
|||
minlength: $.validator.format( "შეიყვანეთ მინიმუმ {0} სიმბოლო." ), |
|||
rangelength: $.validator.format( "გთხოვთ შეიყვანოთ {0} -დან {1} -მდე რაოდენობის სიმბოლოები." ), |
|||
range: $.validator.format( "შეიყვანეთ {0} -სა {1} -ს შორის." ), |
|||
max: $.validator.format( "გთხოვთ შეიყვანოთ მნიშვნელობა ნაკლები ან ტოლი {0} -ს." ), |
|||
min: $.validator.format( "გთხოვთ შეიყვანოთ მნიშვნელობა მეტი ან ტოლი {0} -ს." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,40 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: GL (Galician; Galego) |
|||
*/ |
|||
( function( $ ) { |
|||
$.extend( $.validator.messages, { |
|||
required: "Este campo é obrigatorio.", |
|||
remote: "Por favor, cubre este campo.", |
|||
email: "Por favor, escribe unha dirección de correo válida.", |
|||
url: "Por favor, escribe unha URL válida.", |
|||
date: "Por favor, escribe unha data válida.", |
|||
dateISO: "Por favor, escribe unha data (ISO) válida.", |
|||
number: "Por favor, escribe un número válido.", |
|||
digits: "Por favor, escribe só díxitos.", |
|||
creditcard: "Por favor, escribe un número de tarxeta válido.", |
|||
equalTo: "Por favor, escribe o mesmo valor de novo.", |
|||
extension: "Por favor, escribe un valor cunha extensión aceptada.", |
|||
maxlength: $.validator.format( "Por favor, non escribas máis de {0} caracteres." ), |
|||
minlength: $.validator.format( "Por favor, non escribas menos de {0} caracteres." ), |
|||
rangelength: $.validator.format( "Por favor, escribe un valor entre {0} e {1} caracteres." ), |
|||
range: $.validator.format( "Por favor, escribe un valor entre {0} e {1}." ), |
|||
max: $.validator.format( "Por favor, escribe un valor menor ou igual a {0}." ), |
|||
min: $.validator.format( "Por favor, escribe un valor maior ou igual a {0}." ), |
|||
nifES: "Por favor, escribe un NIF válido.", |
|||
nieES: "Por favor, escribe un NIE válido.", |
|||
cifES: "Por favor, escribe un CIF válido." |
|||
} ); |
|||
}( jQuery ) ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: HE (Hebrew; עברית) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "השדה הזה הינו שדה חובה", |
|||
remote: "נא לתקן שדה זה", |
|||
email: "נא למלא כתובת דוא\"ל חוקית", |
|||
url: "נא למלא כתובת אינטרנט חוקית", |
|||
date: "נא למלא תאריך חוקי", |
|||
dateISO: "נא למלא תאריך חוקי (ISO)", |
|||
number: "נא למלא מספר", |
|||
digits: "נא למלא רק מספרים", |
|||
creditcard: "נא למלא מספר כרטיס אשראי חוקי", |
|||
equalTo: "נא למלא את אותו ערך שוב", |
|||
extension: "נא למלא ערך עם סיומת חוקית", |
|||
maxlength: $.validator.format( ".נא לא למלא יותר מ- {0} תווים" ), |
|||
minlength: $.validator.format( "נא למלא לפחות {0} תווים" ), |
|||
rangelength: $.validator.format( "נא למלא ערך בין {0} ל- {1} תווים" ), |
|||
range: $.validator.format( "נא למלא ערך בין {0} ל- {1}" ), |
|||
max: $.validator.format( "נא למלא ערך קטן או שווה ל- {0}" ), |
|||
min: $.validator.format( "נא למלא ערך גדול או שווה ל- {0}" ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: HR (Croatia; hrvatski jezik) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Ovo polje je obavezno.", |
|||
remote: "Ovo polje treba popraviti.", |
|||
email: "Unesite ispravnu e-mail adresu.", |
|||
url: "Unesite ispravan URL.", |
|||
date: "Unesite ispravan datum.", |
|||
dateISO: "Unesite ispravan datum (ISO).", |
|||
number: "Unesite ispravan broj.", |
|||
digits: "Unesite samo brojeve.", |
|||
creditcard: "Unesite ispravan broj kreditne kartice.", |
|||
equalTo: "Unesite ponovo istu vrijednost.", |
|||
extension: "Unesite vrijednost sa ispravnom ekstenzijom.", |
|||
maxlength: $.validator.format( "Maksimalni broj znakova je {0} ." ), |
|||
minlength: $.validator.format( "Minimalni broj znakova je {0} ." ), |
|||
rangelength: $.validator.format( "Unesite vrijednost između {0} i {1} znakova." ), |
|||
range: $.validator.format( "Unesite vrijednost između {0} i {1}." ), |
|||
max: $.validator.format( "Unesite vrijednost manju ili jednaku {0}." ), |
|||
min: $.validator.format( "Unesite vrijednost veću ili jednaku {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: HU (Hungarian; Magyar) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Kötelező megadni.", |
|||
maxlength: $.validator.format( "Legfeljebb {0} karakter hosszú legyen." ), |
|||
minlength: $.validator.format( "Legalább {0} karakter hosszú legyen." ), |
|||
rangelength: $.validator.format( "Legalább {0} és legfeljebb {1} karakter hosszú legyen." ), |
|||
email: "Érvényes e-mail címnek kell lennie.", |
|||
url: "Érvényes URL-nek kell lennie.", |
|||
date: "Dátumnak kell lennie.", |
|||
number: "Számnak kell lennie.", |
|||
digits: "Csak számjegyek lehetnek.", |
|||
equalTo: "Meg kell egyeznie a két értéknek.", |
|||
range: $.validator.format( "{0} és {1} közé kell esnie." ), |
|||
max: $.validator.format( "Nem lehet nagyobb, mint {0}." ), |
|||
min: $.validator.format( "Nem lehet kisebb, mint {0}." ), |
|||
creditcard: "Érvényes hitelkártyaszámnak kell lennie.", |
|||
remote: "Kérem javítsa ki ezt a mezőt.", |
|||
dateISO: "Kérem írjon be egy érvényes dátumot (ISO).", |
|||
step: $.validator.format( "A {0} egyik többszörösét adja meg." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: HY_AM (Armenian; հայերեն լեզու) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Պարտադիր լրացման դաշտ", |
|||
remote: "Ներմուծեք ճիշտ արժեքը", |
|||
email: "Ներմուծեք վավեր էլեկտրոնային փոստի հասցե", |
|||
url: "Ներմուծեք վավեր URL", |
|||
date: "Ներմուծեք վավեր ամսաթիվ", |
|||
dateISO: "Ներմուծեք ISO ֆորմատով վավեր ամսաթիվ։", |
|||
number: "Ներմուծեք թիվ", |
|||
digits: "Ներմուծեք միայն թվեր", |
|||
creditcard: "Ներմուծեք ճիշտ բանկային քարտի համար", |
|||
equalTo: "Ներմուծեք միևնուն արժեքը ևս մեկ անգամ", |
|||
extension: "Ընտրեք ճիշտ ընդլանումով ֆայլ", |
|||
maxlength: $.validator.format( "Ներմուծեք ոչ ավել քան {0} նիշ" ), |
|||
minlength: $.validator.format( "Ներմուծեք ոչ պակաս քան {0} նիշ" ), |
|||
rangelength: $.validator.format( "Ներմուծեք {0}֊ից {1} երկարությամբ արժեք" ), |
|||
range: $.validator.format( "Ներմուծեք թիվ {0}֊ից {1} միջակայքում" ), |
|||
max: $.validator.format( "Ներմուծեք թիվ, որը փոքր կամ հավասար է {0}֊ին" ), |
|||
min: $.validator.format( "Ներմուծեք թիվ, որը մեծ կամ հավասար է {0}֊ին" ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,34 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: ID (Indonesia; Indonesian) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Kolom ini diperlukan.", |
|||
remote: "Harap benarkan kolom ini.", |
|||
email: "Silakan masukkan format email yang benar.", |
|||
url: "Silakan masukkan format URL yang benar.", |
|||
date: "Silakan masukkan format tanggal yang benar.", |
|||
dateISO: "Silakan masukkan format tanggal(ISO) yang benar.", |
|||
number: "Silakan masukkan angka yang benar.", |
|||
digits: "Harap masukan angka saja.", |
|||
creditcard: "Harap masukkan format kartu kredit yang benar.", |
|||
equalTo: "Harap masukkan nilai yg sama dengan sebelumnya.", |
|||
maxlength: $.validator.format( "Input dibatasi hanya {0} karakter." ), |
|||
minlength: $.validator.format( "Input tidak kurang dari {0} karakter." ), |
|||
rangelength: $.validator.format( "Panjang karakter yg diizinkan antara {0} dan {1} karakter." ), |
|||
range: $.validator.format( "Harap masukkan nilai antara {0} dan {1}." ), |
|||
max: $.validator.format( "Harap masukkan nilai lebih kecil atau sama dengan {0}." ), |
|||
min: $.validator.format( "Harap masukkan nilai lebih besar atau sama dengan {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,33 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: IS (Icelandic; íslenska) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Þessi reitur er nauðsynlegur.", |
|||
remote: "Lagaðu þennan reit.", |
|||
maxlength: $.validator.format( "Sláðu inn mest {0} stafi." ), |
|||
minlength: $.validator.format( "Sláðu inn minnst {0} stafi." ), |
|||
rangelength: $.validator.format( "Sláðu inn minnst {0} og mest {1} stafi." ), |
|||
email: "Sláðu inn gilt netfang.", |
|||
url: "Sláðu inn gilda vefslóð.", |
|||
date: "Sláðu inn gilda dagsetningu.", |
|||
number: "Sláðu inn tölu.", |
|||
digits: "Sláðu inn tölustafi eingöngu.", |
|||
equalTo: "Sláðu sama gildi inn aftur.", |
|||
range: $.validator.format( "Sláðu inn gildi milli {0} og {1}." ), |
|||
max: $.validator.format( "Sláðu inn gildi sem er minna en eða jafnt og {0}." ), |
|||
min: $.validator.format( "Sláðu inn gildi sem er stærra en eða jafnt og {0}." ), |
|||
creditcard: "Sláðu inn gilt greiðslukortanúmer." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,39 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: IT (Italian; Italiano) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Campo obbligatorio", |
|||
remote: "Controlla questo campo", |
|||
email: "Inserisci un indirizzo email valido", |
|||
url: "Inserisci un indirizzo web valido", |
|||
date: "Inserisci una data valida", |
|||
dateISO: "Inserisci una data valida (ISO)", |
|||
number: "Inserisci un numero valido", |
|||
digits: "Inserisci solo numeri", |
|||
creditcard: "Inserisci un numero di carta di credito valido", |
|||
equalTo: "Il valore non corrisponde", |
|||
extension: "Inserisci un valore con un'estensione valida", |
|||
maxlength: $.validator.format( "Non inserire più di {0} caratteri" ), |
|||
minlength: $.validator.format( "Inserisci almeno {0} caratteri" ), |
|||
rangelength: $.validator.format( "Inserisci un valore compreso tra {0} e {1} caratteri" ), |
|||
range: $.validator.format( "Inserisci un valore compreso tra {0} e {1}" ), |
|||
max: $.validator.format( "Inserisci un valore minore o uguale a {0}" ), |
|||
min: $.validator.format( "Inserisci un valore maggiore o uguale a {0}" ), |
|||
nifES: "Inserisci un NIF valido", |
|||
nieES: "Inserisci un NIE valido", |
|||
cifES: "Inserisci un CIF valido", |
|||
currency: "Inserisci una valuta valida" |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,36 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: JA (Japanese; 日本語) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "このフィールドは必須です。", |
|||
remote: "このフィールドを修正してください。", |
|||
email: "有効なEメールアドレスを入力してください。", |
|||
url: "有効なURLを入力してください。", |
|||
date: "有効な日付を入力してください。", |
|||
dateISO: "有効な日付(ISO)を入力してください。", |
|||
number: "有効な数字を入力してください。", |
|||
digits: "数字のみを入力してください。", |
|||
creditcard: "有効なクレジットカード番号を入力してください。", |
|||
equalTo: "同じ値をもう一度入力してください。", |
|||
extension: "有効な拡張子を含む値を入力してください。", |
|||
maxlength: $.validator.format( "{0} 文字以内で入力してください。" ), |
|||
minlength: $.validator.format( "{0} 文字以上で入力してください。" ), |
|||
rangelength: $.validator.format( "{0} 文字から {1} 文字までの値を入力してください。" ), |
|||
range: $.validator.format( "{0} から {1} までの値を入力してください。" ), |
|||
step: $.validator.format( "{0} の倍数を入力してください。" ), |
|||
max: $.validator.format( "{0} 以下の値を入力してください。" ), |
|||
min: $.validator.format( "{0} 以上の値を入力してください。" ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: KA (Georgian; ქართული) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "ამ ველის შევსება აუცილებელია.", |
|||
remote: "გთხოვთ მიუთითოთ სწორი მნიშვნელობა.", |
|||
email: "გთხოვთ მიუთითოთ ელ-ფოსტის კორექტული მისამართი.", |
|||
url: "გთხოვთ მიუთითოთ კორექტული URL.", |
|||
date: "გთხოვთ მიუთითოთ კორექტული თარიღი.", |
|||
dateISO: "გთხოვთ მიუთითოთ კორექტული თარიღი ISO ფორმატში.", |
|||
number: "გთხოვთ მიუთითოთ ციფრი.", |
|||
digits: "გთხოვთ მიუთითოთ მხოლოდ ციფრები.", |
|||
creditcard: "გთხოვთ მიუთითოთ საკრედიტო ბარათის კორექტული ნომერი.", |
|||
equalTo: "გთხოვთ მიუთითოთ ასეთივე მნიშვნელობა კიდევ ერთხელ.", |
|||
extension: "გთხოვთ აირჩიოთ ფაილი კორექტული გაფართოებით.", |
|||
maxlength: $.validator.format( "დასაშვებია არაუმეტეს {0} სიმბოლო." ), |
|||
minlength: $.validator.format( "აუცილებელია შეიყვანოთ მინიმუმ {0} სიმბოლო." ), |
|||
rangelength: $.validator.format( "ტექსტში სიმბოლოების რაოდენობა უნდა იყოს {0}-დან {1}-მდე." ), |
|||
range: $.validator.format( "გთხოვთ შეიყვანოთ ციფრი {0}-დან {1}-მდე." ), |
|||
max: $.validator.format( "გთხოვთ შეიყვანოთ ციფრი რომელიც ნაკლებია ან უდრის {0}-ს." ), |
|||
min: $.validator.format( "გთხოვთ შეიყვანოთ ციფრი რომელიც მეტია ან უდრის {0}-ს." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: KK (Kazakh; қазақ тілі) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Бұл өрісті міндетті түрде толтырыңыз.", |
|||
remote: "Дұрыс мағына енгізуіңізді сұраймыз.", |
|||
email: "Нақты электронды поштаңызды енгізуіңізді сұраймыз.", |
|||
url: "Нақты URL-ды енгізуіңізді сұраймыз.", |
|||
date: "Нақты URL-ды енгізуіңізді сұраймыз.", |
|||
dateISO: "Нақты ISO форматымен сәйкес датасын енгізуіңізді сұраймыз.", |
|||
number: "Күнді енгізуіңізді сұраймыз.", |
|||
digits: "Тек қана сандарды енгізуіңізді сұраймыз.", |
|||
creditcard: "Несие картасының нөмірін дұрыс енгізуіңізді сұраймыз.", |
|||
equalTo: "Осы мәнді қайта енгізуіңізді сұраймыз.", |
|||
extension: "Файлдың кеңейтуін дұрыс таңдаңыз.", |
|||
maxlength: $.validator.format( "Ұзындығы {0} символдан көр болмасын." ), |
|||
minlength: $.validator.format( "Ұзындығы {0} символдан аз болмасын." ), |
|||
rangelength: $.validator.format( "Ұзындығы {0}-{1} дейін мән енгізуіңізді сұраймыз." ), |
|||
range: $.validator.format( "Пожалуйста, введите число от {0} до {1}. - {0} - {1} санын енгізуіңізді сұраймыз." ), |
|||
max: $.validator.format( "{0} аз немесе тең санын енгізуіңіді сұраймыз." ), |
|||
min: $.validator.format( "{0} көп немесе тең санын енгізуіңізді сұраймыз." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: KO (Korean; 한국어) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "필수 항목입니다.", |
|||
remote: "항목을 수정하세요.", |
|||
email: "유효하지 않은 E-Mail주소입니다.", |
|||
url: "유효하지 않은 URL입니다.", |
|||
date: "올바른 날짜를 입력하세요.", |
|||
dateISO: "올바른 날짜(ISO)를 입력하세요.", |
|||
number: "유효한 숫자가 아닙니다.", |
|||
digits: "숫자만 입력 가능합니다.", |
|||
creditcard: "신용카드 번호가 바르지 않습니다.", |
|||
equalTo: "같은 값을 다시 입력하세요.", |
|||
extension: "올바른 확장자가 아닙니다.", |
|||
maxlength: $.validator.format( "{0}자를 넘을 수 없습니다. " ), |
|||
minlength: $.validator.format( "{0}자 이상 입력하세요." ), |
|||
rangelength: $.validator.format( "문자 길이가 {0} 에서 {1} 사이의 값을 입력하세요." ), |
|||
range: $.validator.format( "{0} 에서 {1} 사이의 값을 입력하세요." ), |
|||
max: $.validator.format( "{0} 이하의 값을 입력하세요." ), |
|||
min: $.validator.format( "{0} 이상의 값을 입력하세요." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: LT (Lithuanian; lietuvių kalba) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Šis laukas yra privalomas.", |
|||
remote: "Prašau pataisyti šį lauką.", |
|||
email: "Prašau įvesti teisingą elektroninio pašto adresą.", |
|||
url: "Prašau įvesti teisingą URL.", |
|||
date: "Prašau įvesti teisingą datą.", |
|||
dateISO: "Prašau įvesti teisingą datą (ISO).", |
|||
number: "Prašau įvesti teisingą skaičių.", |
|||
digits: "Prašau naudoti tik skaitmenis.", |
|||
creditcard: "Prašau įvesti teisingą kreditinės kortelės numerį.", |
|||
equalTo: "Prašau įvestį tą pačią reikšmę dar kartą.", |
|||
extension: "Prašau įvesti reikšmę su teisingu plėtiniu.", |
|||
maxlength: $.validator.format( "Prašau įvesti ne daugiau kaip {0} simbolių." ), |
|||
minlength: $.validator.format( "Prašau įvesti bent {0} simbolius." ), |
|||
rangelength: $.validator.format( "Prašau įvesti reikšmes, kurių ilgis nuo {0} iki {1} simbolių." ), |
|||
range: $.validator.format( "Prašau įvesti reikšmę intervale nuo {0} iki {1}." ), |
|||
max: $.validator.format( "Prašau įvesti reikšmę mažesnę arba lygią {0}." ), |
|||
min: $.validator.format( "Prašau įvesti reikšmę didesnę arba lygią {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: LV (Latvian; latviešu valoda) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Šis lauks ir obligāts.", |
|||
remote: "Lūdzu, pārbaudiet šo lauku.", |
|||
email: "Lūdzu, ievadiet derīgu e-pasta adresi.", |
|||
url: "Lūdzu, ievadiet derīgu URL adresi.", |
|||
date: "Lūdzu, ievadiet derīgu datumu.", |
|||
dateISO: "Lūdzu, ievadiet derīgu datumu (ISO).", |
|||
number: "Lūdzu, ievadiet derīgu numuru.", |
|||
digits: "Lūdzu, ievadiet tikai ciparus.", |
|||
creditcard: "Lūdzu, ievadiet derīgu kredītkartes numuru.", |
|||
equalTo: "Lūdzu, ievadiet to pašu vēlreiz.", |
|||
extension: "Lūdzu, ievadiet vērtību ar derīgu paplašinājumu.", |
|||
maxlength: $.validator.format( "Lūdzu, ievadiet ne vairāk kā {0} rakstzīmes." ), |
|||
minlength: $.validator.format( "Lūdzu, ievadiet vismaz {0} rakstzīmes." ), |
|||
rangelength: $.validator.format( "Lūdzu ievadiet {0} līdz {1} rakstzīmes." ), |
|||
range: $.validator.format( "Lūdzu, ievadiet skaitli no {0} līdz {1}." ), |
|||
max: $.validator.format( "Lūdzu, ievadiet skaitli, kurš ir mazāks vai vienāds ar {0}." ), |
|||
min: $.validator.format( "Lūdzu, ievadiet skaitli, kurš ir lielāks vai vienāds ar {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: MK (Macedonian; македонски јазик) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Полето е задолжително.", |
|||
remote: "Поправете го ова поле", |
|||
email: "Внесете правилна e-mail адреса", |
|||
url: "Внесете правилен URL.", |
|||
date: "Внесете правилен датум", |
|||
dateISO: "Внесете правилен датум (ISO).", |
|||
number: "Внесете правилен број.", |
|||
digits: "Внесете само бројки.", |
|||
creditcard: "Внесете правилен број на кредитната картичка.", |
|||
equalTo: "Внесете ја истата вредност повторно.", |
|||
extension: "Внесете вредност со соодветна екстензија.", |
|||
maxlength: $.validator.format( "Внесете максимално {0} знаци." ), |
|||
minlength: $.validator.format( "Внесете барем {0} знаци." ), |
|||
rangelength: $.validator.format( "Внесете вредност со должина помеѓу {0} и {1} знаци." ), |
|||
range: $.validator.format( "Внесете вредност помеѓу {0} и {1}." ), |
|||
max: $.validator.format( "Внесете вредност помала или еднаква на {0}." ), |
|||
min: $.validator.format( "Внесете вредност поголема или еднаква на {0}" ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: MY (Malay; Melayu) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Medan ini diperlukan.", |
|||
remote: "Sila betulkan medan ini.", |
|||
email: "Sila masukkan alamat emel yang betul.", |
|||
url: "Sila masukkan URL yang betul.", |
|||
date: "Sila masukkan tarikh yang betul.", |
|||
dateISO: "Sila masukkan tarikh(ISO) yang betul.", |
|||
number: "Sila masukkan nombor yang betul.", |
|||
digits: "Sila masukkan nilai digit sahaja.", |
|||
creditcard: "Sila masukkan nombor kredit kad yang betul.", |
|||
equalTo: "Sila masukkan nilai yang sama semula.", |
|||
extension: "Sila masukkan nilai yang telah diterima.", |
|||
maxlength: $.validator.format( "Sila masukkan tidak lebih dari {0} aksara." ), |
|||
minlength: $.validator.format( "Sila masukkan sekurang-kurangnya {0} aksara." ), |
|||
rangelength: $.validator.format( "Sila masukkan antara {0} dan {1} panjang aksara." ), |
|||
range: $.validator.format( "Sila masukkan nilai antara {0} dan {1} aksara." ), |
|||
max: $.validator.format( "Sila masukkan nilai yang kurang atau sama dengan {0}." ), |
|||
min: $.validator.format( "Sila masukkan nilai yang lebih atau sama dengan {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,46 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: NL (Dutch; Nederlands, Vlaams) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Dit is een verplicht veld.", |
|||
remote: "Controleer dit veld.", |
|||
email: "Vul hier een geldig e-mailadres in.", |
|||
url: "Vul hier een geldige URL in.", |
|||
date: "Vul hier een geldige datum in.", |
|||
dateISO: "Vul hier een geldige datum in (ISO-formaat).", |
|||
number: "Vul hier een geldig getal in.", |
|||
digits: "Vul hier alleen getallen in.", |
|||
creditcard: "Vul hier een geldig creditcardnummer in.", |
|||
equalTo: "Vul hier dezelfde waarde in.", |
|||
extension: "Vul hier een waarde in met een geldige extensie.", |
|||
maxlength: $.validator.format( "Vul hier maximaal {0} tekens in." ), |
|||
minlength: $.validator.format( "Vul hier minimaal {0} tekens in." ), |
|||
rangelength: $.validator.format( "Vul hier een waarde in van minimaal {0} en maximaal {1} tekens." ), |
|||
range: $.validator.format( "Vul hier een waarde in van minimaal {0} en maximaal {1}." ), |
|||
max: $.validator.format( "Vul hier een waarde in kleiner dan of gelijk aan {0}." ), |
|||
min: $.validator.format( "Vul hier een waarde in groter dan of gelijk aan {0}." ), |
|||
step: $.validator.format( "Vul hier een veelvoud van {0} in." ), |
|||
|
|||
// For validations in additional-methods.js
|
|||
iban: "Vul hier een geldig IBAN in.", |
|||
dateNL: "Vul hier een geldige datum in.", |
|||
phoneNL: "Vul hier een geldig Nederlands telefoonnummer in.", |
|||
mobileNL: "Vul hier een geldig Nederlands mobiel telefoonnummer in.", |
|||
postalcodeNL: "Vul hier een geldige postcode in.", |
|||
bankaccountNL: "Vul hier een geldig bankrekeningnummer in.", |
|||
giroaccountNL: "Vul hier een geldig gironummer in.", |
|||
bankorgiroaccountNL: "Vul hier een geldig bank- of gironummer in." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,36 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: NO (Norwegian; Norsk) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Dette feltet er obligatorisk.", |
|||
maxlength: $.validator.format( "Maksimalt {0} tegn." ), |
|||
minlength: $.validator.format( "Minimum {0} tegn." ), |
|||
rangelength: $.validator.format( "Angi minimum {0} og maksimum {1} tegn." ), |
|||
email: "Oppgi en gyldig epostadresse.", |
|||
url: "Angi en gyldig URL.", |
|||
date: "Angi en gyldig dato.", |
|||
dateISO: "Angi en gyldig dato (&ARING;&ARING;&ARING;&ARING;-MM-DD).", |
|||
dateSE: "Angi en gyldig dato.", |
|||
number: "Angi et gyldig nummer.", |
|||
numberSE: "Angi et gyldig nummer.", |
|||
digits: "Skriv kun tall.", |
|||
equalTo: "Skriv samme verdi igjen.", |
|||
range: $.validator.format( "Angi en verdi mellom {0} og {1}." ), |
|||
max: $.validator.format( "Angi en verdi som er mindre eller lik {0}." ), |
|||
min: $.validator.format( "Angi en verdi som er større eller lik {0}." ), |
|||
step: $.validator.format( "Angi en verdi ganger {0}." ), |
|||
creditcard: "Angi et gyldig kredittkortnummer." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,37 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: PL (Polish; język polski, polszczyzna) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "To pole jest wymagane.", |
|||
remote: "Proszę o wypełnienie tego pola.", |
|||
email: "Proszę o podanie prawidłowego adresu email.", |
|||
url: "Proszę o podanie prawidłowego URL.", |
|||
date: "Proszę o podanie prawidłowej daty.", |
|||
dateISO: "Proszę o podanie prawidłowej daty (ISO).", |
|||
number: "Proszę o podanie prawidłowej liczby.", |
|||
digits: "Proszę o podanie samych cyfr.", |
|||
creditcard: "Proszę o podanie prawidłowej karty kredytowej.", |
|||
equalTo: "Proszę o podanie tej samej wartości ponownie.", |
|||
extension: "Proszę o podanie wartości z prawidłowym rozszerzeniem.", |
|||
nipPL: "Proszę o podanie prawidłowego numeru NIP.", |
|||
maxlength: $.validator.format( "Proszę o podanie nie więcej niż {0} znaków." ), |
|||
minlength: $.validator.format( "Proszę o podanie przynajmniej {0} znaków." ), |
|||
rangelength: $.validator.format( "Proszę o podanie wartości o długości od {0} do {1} znaków." ), |
|||
range: $.validator.format( "Proszę o podanie wartości z przedziału od {0} do {1}." ), |
|||
max: $.validator.format( "Proszę o podanie wartości mniejszej bądź równej {0}." ), |
|||
min: $.validator.format( "Proszę o podanie wartości większej bądź równej {0}." ), |
|||
pattern: $.validator.format( "Pole zawiera niedozwolone znaki." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,88 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: PT (Portuguese; português) |
|||
* Region: BR (Brazil) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
|
|||
// Core
|
|||
required: "Este campo é requerido.", |
|||
remote: "Por favor, corrija este campo.", |
|||
email: "Por favor, forneça um endereço de email válido.", |
|||
url: "Por favor, forneça uma URL válida.", |
|||
date: "Por favor, forneça uma data válida.", |
|||
dateISO: "Por favor, forneça uma data válida (ISO).", |
|||
number: "Por favor, forneça um número válido.", |
|||
digits: "Por favor, forneça somente dígitos.", |
|||
creditcard: "Por favor, forneça um cartão de crédito válido.", |
|||
equalTo: "Por favor, forneça o mesmo valor novamente.", |
|||
maxlength: $.validator.format( "Por favor, forneça não mais que {0} caracteres." ), |
|||
minlength: $.validator.format( "Por favor, forneça ao menos {0} caracteres." ), |
|||
rangelength: $.validator.format( "Por favor, forneça um valor entre {0} e {1} caracteres de comprimento." ), |
|||
range: $.validator.format( "Por favor, forneça um valor entre {0} e {1}." ), |
|||
max: $.validator.format( "Por favor, forneça um valor menor ou igual a {0}." ), |
|||
min: $.validator.format( "Por favor, forneça um valor maior ou igual a {0}." ), |
|||
step: $.validator.format( "Por favor, forneça um valor m´tiplo de {0}." ), |
|||
|
|||
// Metodos Adicionais
|
|||
maxWords: $.validator.format( "Por favor, forneça com {0} palavras ou menos." ), |
|||
minWords: $.validator.format( "Por favor, forneça pelo menos {0} palavras." ), |
|||
rangeWords: $.validator.format( "Por favor, forneça entre {0} e {1} palavras." ), |
|||
accept: "Por favor, forneça um tipo válido.", |
|||
alphanumeric: "Por favor, forneça somente com letras, números e sublinhados.", |
|||
bankaccountNL: "Por favor, forneça com um número de conta bancária válida.", |
|||
bankorgiroaccountNL: "Por favor, forneça um banco válido ou número de conta.", |
|||
bic: "Por favor, forneça um código BIC válido.", |
|||
cifES: "Por favor, forneça um código CIF válido.", |
|||
creditcardtypes: "Por favor, forneça um número de cartão de crédito válido.", |
|||
currency: "Por favor, forneça uma moeda válida.", |
|||
dateFA: "Por favor, forneça uma data correta.", |
|||
dateITA: "Por favor, forneça uma data correta.", |
|||
dateNL: "Por favor, forneça uma data correta.", |
|||
extension: "Por favor, forneça um valor com uma extensão válida.", |
|||
giroaccountNL: "Por favor, forneça um número de conta corrente válido.", |
|||
iban: "Por favor, forneça um código IBAN válido.", |
|||
integer: "Por favor, forneça um número não decimal.", |
|||
ipv4: "Por favor, forneça um IPv4 válido.", |
|||
ipv6: "Por favor, forneça um IPv6 válido.", |
|||
lettersonly: "Por favor, forneça apenas com letras.", |
|||
letterswithbasicpunc: "Por favor, forneça apenas letras ou pontuações.", |
|||
mobileNL: "Por favor, forneceça um número válido de telefone.", |
|||
mobileUK: "Por favor, forneceça um número válido de telefone.", |
|||
nieES: "Por favor, forneça um NIE válido.", |
|||
nifES: "Por favor, forneça um NIF válido.", |
|||
nowhitespace: "Por favor, não utilize espaços em branco.", |
|||
pattern: "O formato fornenecido é inválido.", |
|||
phoneNL: "Por favor, forneceça um número de telefone válido.", |
|||
phoneUK: "Por favor, forneceça um número de telefone válido.", |
|||
phoneUS: "Por favor, forneceça um número de telefone válido.", |
|||
phonesUK: "Por favor, forneceça um número de telefone válido.", |
|||
postalCodeCA: "Por favor, forneceça um número de código postal válido.", |
|||
postalcodeIT: "Por favor, forneceça um número de código postal válido.", |
|||
postalcodeNL: "Por favor, forneceça um número de código postal válido.", |
|||
postcodeUK: "Por favor, forneceça um número de código postal válido.", |
|||
postalcodeBR: "Por favor, forneça um CEP válido.", |
|||
require_from_group: $.validator.format( "Por favor, forneça pelo menos {0} destes campos." ), |
|||
skip_or_fill_minimum: $.validator.format( "Por favor, optar entre ignorar esses campos ou preencher pelo menos {0} deles." ), |
|||
stateUS: "Por favor, forneça um estado válido.", |
|||
strippedminlength: $.validator.format( "Por favor, forneça pelo menos {0} caracteres." ), |
|||
time: "Por favor, forneça um horário válido, no intervado de 00:00 e 23:59.", |
|||
time12h: "Por favor, forneça um horário válido, no intervado de 01:00 e 12:59 am/pm.", |
|||
url2: "Por favor, forneceça uma URL válida.", |
|||
vinUS: "O número de identificação de veículo informada (VIN) é inválido.", |
|||
zipcodeUS: "Por favor, forneceça um código postal americano válido.", |
|||
ziprange: "O código postal deve estar entre 902xx-xxxx e 905xx-xxxx", |
|||
cpfBR: "Por favor, forneça um CPF válido." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,39 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: PT (Portuguese; português) |
|||
* Region: PT (Portugal) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Campo de preenchimento obrigatório.", |
|||
remote: "Por favor, corrija este campo.", |
|||
email: "Por favor, introduza um endereço eletrónico válido.", |
|||
url: "Por favor, introduza um URL válido.", |
|||
date: "Por favor, introduza uma data válida.", |
|||
dateISO: "Por favor, introduza uma data válida (ISO).", |
|||
number: "Por favor, introduza um número válido.", |
|||
digits: "Por favor, introduza apenas dígitos.", |
|||
creditcard: "Por favor, introduza um número de cartão de crédito válido.", |
|||
equalTo: "Por favor, introduza de novo o mesmo valor.", |
|||
extension: "Por favor, introduza um ficheiro com uma extensão válida.", |
|||
maxlength: $.validator.format( "Por favor, não introduza mais do que {0} caracteres." ), |
|||
minlength: $.validator.format( "Por favor, introduza pelo menos {0} caracteres." ), |
|||
rangelength: $.validator.format( "Por favor, introduza entre {0} e {1} caracteres." ), |
|||
range: $.validator.format( "Por favor, introduza um valor entre {0} e {1}." ), |
|||
max: $.validator.format( "Por favor, introduza um valor menor ou igual a {0}." ), |
|||
min: $.validator.format( "Por favor, introduza um valor maior ou igual a {0}." ), |
|||
nifES: "Por favor, introduza um NIF válido.", |
|||
nieES: "Por favor, introduza um NIE válido.", |
|||
cifES: "Por favor, introduza um CIF válido." |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: RO (Romanian, limba română) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Acest câmp este obligatoriu.", |
|||
remote: "Te rugăm să completezi acest câmp.", |
|||
email: "Te rugăm să introduci o adresă de email validă", |
|||
url: "Te rugăm sa introduci o adresă URL validă.", |
|||
date: "Te rugăm să introduci o dată corectă.", |
|||
dateISO: "Te rugăm să introduci o dată (ISO) corectă.", |
|||
number: "Te rugăm să introduci un număr întreg valid.", |
|||
digits: "Te rugăm să introduci doar cifre.", |
|||
creditcard: "Te rugăm să introduci un numar de carte de credit valid.", |
|||
equalTo: "Te rugăm să reintroduci valoarea.", |
|||
extension: "Te rugăm să introduci o valoare cu o extensie validă.", |
|||
maxlength: $.validator.format( "Te rugăm să nu introduci mai mult de {0} caractere." ), |
|||
minlength: $.validator.format( "Te rugăm să introduci cel puțin {0} caractere." ), |
|||
rangelength: $.validator.format( "Te rugăm să introduci o valoare între {0} și {1} caractere." ), |
|||
range: $.validator.format( "Te rugăm să introduci o valoare între {0} și {1}." ), |
|||
max: $.validator.format( "Te rugăm să introduci o valoare egal sau mai mică decât {0}." ), |
|||
min: $.validator.format( "Te rugăm să introduci o valoare egal sau mai mare decât {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: RU (Russian; русский язык) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "Это поле необходимо заполнить.", |
|||
remote: "Пожалуйста, введите правильное значение.", |
|||
email: "Пожалуйста, введите корректный адрес электронной почты.", |
|||
url: "Пожалуйста, введите корректный URL.", |
|||
date: "Пожалуйста, введите корректную дату.", |
|||
dateISO: "Пожалуйста, введите корректную дату в формате ISO.", |
|||
number: "Пожалуйста, введите число.", |
|||
digits: "Пожалуйста, вводите только цифры.", |
|||
creditcard: "Пожалуйста, введите правильный номер кредитной карты.", |
|||
equalTo: "Пожалуйста, введите такое же значение ещё раз.", |
|||
extension: "Пожалуйста, выберите файл с правильным расширением.", |
|||
maxlength: $.validator.format( "Пожалуйста, введите не больше {0} символов." ), |
|||
minlength: $.validator.format( "Пожалуйста, введите не меньше {0} символов." ), |
|||
rangelength: $.validator.format( "Пожалуйста, введите значение длиной от {0} до {1} символов." ), |
|||
range: $.validator.format( "Пожалуйста, введите число от {0} до {1}." ), |
|||
max: $.validator.format( "Пожалуйста, введите число, меньшее или равное {0}." ), |
|||
min: $.validator.format( "Пожалуйста, введите число, большее или равное {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: SD (Sindhi; سنڌي) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "هنن جاين جي ضرورت آهي", |
|||
remote: "هنن جاين جي ضرورت آهي", |
|||
email: "لکيل اي ميل غلط آهي", |
|||
url: "لکيل ايڊريس غلط آهي", |
|||
date: "لکيل تاريخ غلط آهي", |
|||
dateISO: "جي معيار جي مطابق نه آهي (ISO) لکيل تاريخ", |
|||
number: "لکيل انگ صحيح ناهي", |
|||
digits: "رڳو انگ داخل ڪري سگهجي ٿو", |
|||
creditcard: "لکيل ڪارڊ نمبر صحيح نه آهي", |
|||
equalTo: "داخل ٿيل ڀيٽ صحيح نه آهي", |
|||
extension: "لکيل غلط آهي", |
|||
maxlength: $.validator.format( "وڌ کان وڌ {0} جي داخلا ڪري سگهجي ٿي" ), |
|||
minlength: $.validator.format( "گهٽ ۾ گهٽ {0} جي داخلا ڪرڻ ضروري آهي" ), |
|||
rangelength: $.validator.format( "داخلا جو {0} ۽ {1}جي وچ ۾ هجڻ ضروري آهي" ), |
|||
range: $.validator.format( "داخلا جو {0} ۽ {1}جي وچ ۾ هجڻ ضروري آهي" ), |
|||
max: $.validator.format( "وڌ کان وڌ {0} جي داخلا ڪري سگهجي ٿي" ), |
|||
min: $.validator.format( "گهٽ ۾ گهٽ {0} جي داخلا ڪرڻ ضروري آهي" ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
@ -0,0 +1,35 @@ |
|||
(function( factory ) { |
|||
if ( typeof define === "function" && define.amd ) { |
|||
define( ["jquery", "../jquery.validate"], factory ); |
|||
} else if (typeof module === "object" && module.exports) { |
|||
module.exports = factory( require( "jquery" ) ); |
|||
} else { |
|||
factory( jQuery ); |
|||
} |
|||
}(function( $ ) { |
|||
|
|||
/* |
|||
* Translated default messages for the jQuery validation plugin. |
|||
* Locale: SI (Slovenian) |
|||
*/ |
|||
$.extend( $.validator.messages, { |
|||
required: "To polje je obvezno.", |
|||
remote: "Vpis v tem polju ni v pravi obliki.", |
|||
email: "Prosimo, vnesite pravi email naslov.", |
|||
url: "Prosimo, vnesite pravi URL.", |
|||
date: "Prosimo, vnesite pravi datum.", |
|||
dateISO: "Prosimo, vnesite pravi datum (ISO).", |
|||
number: "Prosimo, vnesite pravo številko.", |
|||
digits: "Prosimo, vnesite samo številke.", |
|||
creditcard: "Prosimo, vnesite pravo številko kreditne kartice.", |
|||
equalTo: "Prosimo, ponovno vnesite enako vsebino.", |
|||
extension: "Prosimo, vnesite vsebino z pravo končnico.", |
|||
maxlength: $.validator.format( "Prosimo, da ne vnašate več kot {0} znakov." ), |
|||
minlength: $.validator.format( "Prosimo, vnesite vsaj {0} znakov." ), |
|||
rangelength: $.validator.format( "Prosimo, vnesite od {0} do {1} znakov." ), |
|||
range: $.validator.format( "Prosimo, vnesite vrednost med {0} in {1}." ), |
|||
max: $.validator.format( "Prosimo, vnesite vrednost manjšo ali enako {0}." ), |
|||
min: $.validator.format( "Prosimo, vnesite vrednost večjo ali enako {0}." ) |
|||
} ); |
|||
return $; |
|||
})); |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue